/* Kongu Brilliance — video-style animated explainer */
@property --a{syntax:'<number>';inherits:true;initial-value:0}
#kbp{--gold:#F5C842;--gold2:#FFE3A0;--teal:#2EE6B0;--sky:#6CB8FF;--coral:#FF7A7A;--ink:#04060D;--line:rgba(255,255,255,.1);
  position:relative;height:100vh;min-height:640px;overflow:hidden;background:var(--ink);color:#fff;font-family:'Source Sans 3',system-ui,sans-serif;perspective:1400px;-webkit-font-smoothing:antialiased}
#kbp *{box-sizing:border-box}
/* glass panels */
#kbp .pn{position:relative;background:linear-gradient(155deg,rgba(255,255,255,.075),rgba(255,255,255,.02) 60%);border:1px solid var(--line);border-radius:18px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08)}
#kbp .pn::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(255,255,255,.22),transparent 40%,transparent 70%,rgba(245,200,66,.18));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
#kbp .lab{font:600 10px 'JetBrains Mono',monospace;letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,.45)}
#kbp .bar{height:6px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden}
#kbp .bar b{display:block;height:100%;border-radius:6px;width:calc(var(--w) * var(--a))}
#kbp .chip{display:inline-flex;font-size:12px;padding:5px 11px;border-radius:20px;margin:4px 4px 0 0;border:1px solid}
#kbp .chip.w{color:#ffadad;border-color:rgba(255,122,122,.3);background:rgba(255,122,122,.06)}
#kbp .chip.s{color:#9ff5d6;border-color:rgba(46,230,176,.3);background:rgba(46,230,176,.06)}
#kbp .rec{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.035);margin-top:8px;font-size:13.5px;
  opacity:clamp(0,calc(var(--a)*4 - var(--k)*.6),1);transform:translateX(calc((1 - clamp(0,calc(var(--a)*4 - var(--k)*.6),1))*18px))}
#kbp .rec svg{color:var(--gold);flex-shrink:0;font-size:16px}
#kbp .rec em{font-style:normal;margin-left:auto;font:600 9px 'JetBrains Mono',monospace;letter-spacing:1px;text-transform:uppercase;color:var(--gold);padding:3px 7px;border-radius:6px;background:rgba(245,200,66,.1)}
/* 01 dash */
#kbp .dash{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
#kbp .dash .pn{padding:20px}#kbp .dash .pn:last-child{grid-column:span 2}
#kbp .tp{display:flex;justify-content:space-between;font-size:13.5px;margin:12px 0 6px;color:rgba(255,255,255,.85)}
#kbp .ring{--v:calc(var(--a) * var(--pc));width:126px;height:126px;border-radius:50%;margin:14px auto 6px;background:conic-gradient(var(--c) calc(var(--v)*1%),rgba(255,255,255,.07) 0);display:grid;place-items:center;position:relative;filter:drop-shadow(0 0 18px rgba(46,230,176,.25))}
#kbp .ring::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#0a0e1a}
#kbp .ring span{position:relative;z-index:1;font:800 30px 'Source Sans 3',sans-serif;letter-spacing:-1px}
#kbp .ring small{font-size:15px;opacity:.6}
#kbp .spark{height:60px;display:flex;align-items:flex-end;gap:6px;margin-top:12px}
#kbp .spark b{flex:1;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,var(--sky),rgba(108,184,255,.15));height:calc(var(--h) * var(--a))}
/* 02 generator */
#kbp .gen{display:grid;grid-template-columns:230px 1fr;gap:14px}
#kbp .gen .ctrl{padding:18px}
#kbp .sel{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin:7px 0 14px;font-size:13.5px;background:rgba(0,0,0,.25)}
#kbp .dif{display:flex;gap:5px;margin:7px 0 16px}
#kbp .dif span{flex:1;text-align:center;padding:7px 0;border-radius:8px;font-size:12px;border:1px solid var(--line);color:rgba(255,255,255,.7)}
#kbp .dif span.on{background:rgba(245,200,66,.14);border-color:rgba(245,200,66,.5);color:var(--gold2);font-weight:700}
#kbp .gbtn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:11px;background:linear-gradient(135deg,#FFE3A0,#F5C842 55%,#E3A21F);color:#15110a;font-weight:800;box-shadow:0 0 calc(var(--a)*30px) rgba(245,200,66,.35)}
#kbp .outs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#kbp .doc{padding:15px;overflow:hidden;--o:clamp(0,calc(var(--a)*7 - var(--k)*.9),1);opacity:var(--o);transform:translateZ(calc((1 - var(--o))*-200px)) translateY(calc((1 - var(--o))*20px))}
#kbp .doc .ic{font-size:22px;color:var(--gold);margin-bottom:10px;display:block}
#kbp .doc b{display:block;font-size:14.5px;margin-bottom:8px}
#kbp .doc .ln{height:4px;border-radius:4px;background:rgba(255,255,255,.1);margin-top:6px}
#kbp .doc .tag{position:absolute;top:13px;right:12px;font:600 9px 'JetBrains Mono',monospace;letter-spacing:1px;text-transform:uppercase;padding:3px 7px;border-radius:6px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.6)}
/* 03 test */
#kbp .tt{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:center}
#kbp .tab{border-radius:24px;background:#0a0e1a;border:8px solid #161b2c;box-shadow:0 50px 90px -30px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.08);padding:18px}
#kbp .ans{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.035);margin-top:8px;font-size:13px;color:rgba(255,255,255,.85)}
#kbp .ans .mk{margin-left:auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0;transform:scale(clamp(0,calc(var(--a)*6 - var(--k)),1))}
#kbp .ok{background:rgba(46,230,176,.18);color:var(--teal)}#kbp .no{background:rgba(255,122,122,.18);color:var(--coral)}
#kbp .ans.hintl{border:1px dashed rgba(245,200,66,.4);color:var(--gold2);opacity:clamp(0,calc(var(--a)*6 - 4.5),1)}
#kbp .mets{display:grid;grid-template-columns:1fr;gap:10px}
#kbp .met{padding:14px 16px;--o:clamp(0,calc(var(--a)*6 - var(--k)),1);opacity:var(--o);transform:translateX(calc((1 - var(--o))*24px)) translateZ(calc(var(--o)*30px))}
#kbp .met .v{font:800 26px 'Source Sans 3',sans-serif;letter-spacing:-.5px;margin-top:4px}#kbp .met .v.sm{font-size:16px;letter-spacing:0}
/* 04 personalised */
#kbp .pers{display:grid;grid-template-columns:1fr 70px 1fr;gap:12px;align-items:center}
#kbp .who{padding:16px}
#kbp .av{display:flex;gap:10px;align-items:center;margin-bottom:10px;font-size:14px}
#kbp .av i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;color:#111;flex-shrink:0}
#kbp .pq{padding:9px 11px;border-radius:9px;background:rgba(255,255,255,.035);margin-top:7px;font-size:13px;border-left:2px solid;opacity:clamp(0,calc(var(--a)*5 - var(--k)),1)}
#kbp .core{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:var(--teal);background:radial-gradient(circle,rgba(46,230,176,.2),transparent 70%);border:1px solid rgba(46,230,176,.4);box-shadow:0 0 50px rgba(46,230,176,.25);position:relative}
#kbp .core::before,#kbp .core::after{content:"";position:absolute;top:50%;height:1px;width:40px;background:linear-gradient(90deg,var(--gold),transparent)}
#kbp .core::before{right:100%;transform:scaleX(-1)}#kbp .core::after{left:100%;background:linear-gradient(90deg,var(--teal),transparent)}
/* 05 classroom */
#kbp .board{position:relative;aspect-ratio:2.4;border-radius:14px;background:linear-gradient(160deg,#0e2424,#081618);border:6px solid #1b2232;box-shadow:0 40px 80px -30px rgba(0,0,0,.9),inset 0 0 60px rgba(46,230,176,.06);overflow:hidden}
#kbp .board svg{position:absolute;inset:0;width:100%;height:100%}
#kbp .draw{stroke-dasharray:1000;stroke-dashoffset:calc(1000 - var(--a)*1000)}
#kbp .aitag{position:absolute;padding:6px 10px;border-radius:8px;font:600 11px 'JetBrains Mono',monospace;background:rgba(46,230,176,.1);border:1px solid rgba(46,230,176,.35);color:#9ff5d6;opacity:clamp(0,calc(var(--a)*4 - var(--k)),1)}
#kbp .roster{display:flex;align-items:center;gap:14px;margin-top:14px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);flex-wrap:wrap}
#kbp .avs{display:flex;flex:1}
#kbp .avs i{width:30px;height:30px;border-radius:50%;margin-left:-7px;display:grid;place-items:center;font:700 10px 'Source Sans 3',sans-serif;font-style:normal;color:#0a0e1a;border:2px solid #0a0e1a;background:linear-gradient(135deg,#FFE3A0,#F5C842)}
#kbp .avs i:nth-child(3n+2){background:linear-gradient(135deg,#bff8e6,#2EE6B0)}#kbp .avs i:nth-child(3n){background:linear-gradient(135deg,#cfe6ff,#6CB8FF)}
#kbp .avs i:first-child{margin-left:0}
/* 06 parent */
#kbp .par{display:flex;justify-content:center}
#kbp .phone{width:290px;border-radius:40px;background:#0a0e1a;border:9px solid #161b2c;box-shadow:0 60px 100px -30px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.08);padding:34px 16px 18px;position:relative}
#kbp .phone::before{content:"";position:absolute;top:11px;left:50%;width:78px;height:18px;margin-left:-39px;border-radius:10px;background:#000}
#kbp .ln2{height:110px;margin-top:12px}#kbp .ln2 svg{width:100%;height:100%}
#kbp .ln2 .draw{stroke-dasharray:400;stroke-dashoffset:calc(400 - var(--a)*400)}#kbp .ln2 .area{opacity:var(--a)}

#kbp #kbp3d{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#kbp .kbp-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 45%,transparent,rgba(4,6,13,.75) 100%),linear-gradient(to bottom,rgba(4,6,13,.4),transparent 25%,transparent 70%,rgba(4,6,13,.9))}
#kbp .sc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:108px 5vw 92px;opacity:0;visibility:hidden;transform-style:preserve-3d;will-change:transform,opacity}
#kbp .cap{text-align:center;max-width:1000px}
#kbp .kick{display:inline-flex;align-items:center;gap:8px;font:600 12px 'JetBrains Mono',monospace;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal);padding:7px 14px;border:1px solid rgba(46,230,176,.3);border-radius:30px;background:rgba(46,230,176,.06);margin-bottom:14px}
#kbp .t{font-family:'Source Sans 3',system-ui,sans-serif;font-weight:800;font-size:clamp(28px,4.2vw,58px);line-height:1.04;letter-spacing:-.03em;margin:0;text-shadow:none!important}
#kbp .t.big{font-size:clamp(38px,6vw,86px)}
#kbp .gd{background:linear-gradient(100deg,#FFF1C9,#F5C842 45%,#D8901A);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none!important}
#kbp .tl{background:linear-gradient(100deg,#D8FFF1,#2EE6B0 50%,#6CB8FF);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none!important}
#kbp .vis{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:18px 0;transform-style:preserve-3d}
#kbp .vis>*{transform:rotateX(calc((1 - var(--a))*18deg)) translateZ(calc((1 - var(--a))*-120px));opacity:calc(.2 + var(--a))}
/* subtitle caption: the explanation */
#kbp .sub{max-width:860px;text-align:center;font-size:clamp(16px,1.6vw,22px);line-height:1.45;color:rgba(255,255,255,.88);padding:14px 22px;border-radius:14px;background:rgba(4,6,13,.72);border:1px solid rgba(255,255,255,.08);
  opacity:clamp(0,calc(var(--a)*3 - .6),1);transform:translateY(calc((1 - clamp(0,calc(var(--a)*3 - .6),1))*14px))}
#kbp .sub b{color:var(--gold2);font-weight:700}
/* notebook */
#kbp .nb{width:min(520px,88vw);aspect-ratio:1.55;background:#fbf8ef;border-radius:10px 14px 14px 10px;position:relative;color:#1d2240;padding:24px 26px 18px 60px;overflow:hidden;
  background-image:repeating-linear-gradient(#fbf8ef 0 29px,#cfdcf0 29px 30px);box-shadow:0 40px 90px rgba(0,0,0,.7),-7px 0 0 #d9d3c2}
#kbp .nb::before{content:"";position:absolute;left:42px;top:0;bottom:0;width:2px;background:#f08a8a}
#kbp .nb .q{font:600 clamp(14px,1.8vw,18px)/30px 'Lora',serif}
#kbp .nb .hw{font:italic clamp(13px,1.6vw,16px)/30px 'Lora',serif;color:#2c47b8}
#kbp .nb .hw s{color:#d33}
#kbp .nb .ok2{color:#0a8a63;opacity:clamp(0,calc(var(--a)*5 - var(--k)),1)}
#kbp .scan{position:absolute;left:0;right:0;height:30%;top:calc(var(--a)*110% - 30%);background:linear-gradient(180deg,transparent,rgba(46,230,176,.3),transparent);mix-blend-mode:multiply}
/* layouts */
#kbp .dash{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;width:min(820px,92vw)}#kbp .dash .pn{padding:18px}
#kbp .outs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(820px,92vw)}
#kbp .tt{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;width:min(860px,92vw);align-items:center}
#kbp .pers{display:grid;grid-template-columns:1fr 64px 1fr;gap:14px;width:min(860px,92vw);align-items:center}
#kbp .core{font:800 16px 'JetBrains Mono',monospace}
#kbp .cls{width:min(760px,92vw)}
#kbp .par .phone{width:260px}
/* final */
#kbp .fin{justify-content:center}
#kbp .fin .cap{max-width:1100px}
#kbp .lead{font-size:clamp(17px,1.6vw,22px);color:rgba(255,255,255,.72);margin:16px 0 0}
#kbp .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
#kbp .cta{display:inline-flex;align-items:center;padding:15px 30px;border-radius:999px;font-weight:800;font-size:16px;text-decoration:none;transition:transform .2s}
#kbp .cta:hover{transform:translateY(-2px)}
#kbp .cta.p{background:linear-gradient(135deg,#FFE3A0,#F5C842 50%,#E3A21F);color:#15110a;box-shadow:0 10px 40px -8px rgba(245,200,66,.6)}
#kbp .cta.s{border:1px solid rgba(46,230,176,.45);color:var(--teal);background:rgba(46,230,176,.06)}
#kbp .facts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}
#kbp .facts span{font-size:14px;padding:8px 15px;border-radius:20px;border:1px solid var(--line);color:rgba(255,255,255,.8);background:rgba(255,255,255,.03)}
/* player UI */
#kbp .kbp-ui{position:absolute;left:5vw;right:5vw;bottom:22px;display:flex;align-items:center;gap:14px;z-index:5}
#kbp .kbp-pp{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:12px;cursor:pointer}
#kbp .kbp-ch{flex:1;display:flex;gap:6px}
#kbp .kbp-ch button{flex:1;background:none;border:0;padding:0;cursor:pointer;text-align:left;color:rgba(255,255,255,.5);font:600 11px 'Source Sans 3',sans-serif;letter-spacing:.3px}
#kbp .kbp-ch button i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden;margin-bottom:7px}
#kbp .kbp-ch button i b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--gold))}
#kbp .kbp-ch button.on{color:#fff}
@media(max-width:820px){
 #kbp{height:100svh;min-height:680px}
 #kbp .sc{padding:92px 16px 84px}
 #kbp .dash{grid-template-columns:1fr}#kbp .dash .pn:nth-child(2){display:none}
 #kbp .outs{grid-template-columns:1fr 1fr}
 #kbp .tt{grid-template-columns:1fr}#kbp .mets{display:none}
 #kbp .pers{grid-template-columns:1fr}#kbp .core{margin:0 auto;width:48px;height:48px}#kbp .core::before,#kbp .core::after{display:none}
 #kbp .kbp-ch button span{display:none}
 #kbp .sub{font-size:15.5px;padding:12px 14px}
 #kbp .par .phone{width:220px}
}
@media(max-height:760px) and (min-width:821px){#kbp .t{font-size:clamp(26px,3.4vw,44px)}#kbp .sc{padding-top:96px}}
#kbp .dash .pn:last-child{grid-column:auto}#kbp .outs .doc{padding:14px}#kbp .doc .ic{font-size:20px;color:var(--gold);margin-bottom:8px}
@media(max-width:820px){
 #kbp .sc .cap{order:0}#kbp .sc .sub{order:1;margin-top:12px}#kbp .sc .vis{order:2;align-items:flex-start;padding-top:16px}
 #kbp .kbp-ui{left:16px;right:78px;bottom:18px}
 #kbp .fin .cap{margin-top:-20px}
}
#kbp .kbp-snd{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(245,200,66,.55);background:rgba(245,200,66,.12);color:#FFE3A0;font:700 13px 'Source Sans 3',sans-serif;cursor:pointer;animation:kbpPulse 2.2s infinite}
#kbp .kbp-snd.on{animation:none;border-color:rgba(46,230,176,.5);background:rgba(46,230,176,.1);color:#9ff5d6}
#kbp .kbp-snd .ic{font-size:15px}
@keyframes kbpPulse{50%{box-shadow:0 0 0 8px rgba(245,200,66,0)}0%{box-shadow:0 0 0 0 rgba(245,200,66,.45)}}
@media(max-width:820px){#kbp .kbp-snd .tx{display:none}#kbp .kbp-snd{padding:0 12px}}
