
@font-face{font-family:"Baloo";src:url(fonts/baloo-arabic.woff2) format("woff2");font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"Baloo";src:url(fonts/baloo-latin.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF}
:root{--bg:#DFF1FF;--bg2:#0F1F4A;--nv:#0F1F4A;--nv2:#1E2A5E;--vi:#22D3EE;--vi2:#67E8F9;--li:#FB923C;--or:#F97316;--go:#FB923C;--tx:#fff;--mu:#3A4766;--card:rgba(255,255,255,.07);--bd:rgba(34,211,238,.38);--fs:22px;--ok:#3ee08f;--bad:#ff6b8a}
body.age-k{--fs:26px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{font-family:"Baloo","Segoe UI",Tahoma,Arial,sans-serif;font-size:var(--fs);line-height:1.45;color:var(--tx);background:var(--bg) url(img/ui/bg_home.webp?v=1793375565) center top/cover fixed;min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(11,26,58,.35),rgba(11,26,58,.82) 55%,rgba(11,26,58,.95));z-index:-1}
button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}
input{font:inherit}
img{max-width:100%}
.wrap{max-width:560px;margin:0 auto;padding:14px 14px 30px}
.hide{display:none!important}
h1,h2,h3{margin:.2em 0;line-height:1.3;font-weight:800}
h1{font-size:calc(var(--fs)*1.5)} h2{font-size:calc(var(--fs)*1.25)} h3{font-size:calc(var(--fs)*1.08)}
p{margin:.35em 0}
.mu{color:var(--mu)}
.glass{background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border:1px solid var(--bd);border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;padding:8px 22px;border-radius:18px;font-weight:800;background:linear-gradient(135deg,#13285E,#0B1A3A);box-shadow:0 6px 0 #0B1A3A,0 10px 24px rgba(15,31,74,.35);transition:transform .12s}
.btn:active{transform:translateY(3px);box-shadow:0 3px 0 #0B1A3A}
.btn.lime{background:linear-gradient(135deg,#FDBA74,#F97316);color:#0F1F4A;box-shadow:0 6px 0 #C2410C,0 10px 24px rgba(251,146,60,.35)}
.btn.gold{background:linear-gradient(135deg,#FDBA74,#F97316);color:#2a1a00;box-shadow:0 6px 0 #C2410C}
.btn.ghost{background:rgba(255,255,255,.08);box-shadow:none;border:1px solid var(--bd)}
.btn.wide{width:100%}
.btn[disabled]{opacity:.45}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>.btn{flex:1 1 140px}
/* start */
.brand{display:flex;align-items:center;gap:10px;justify-content:center;text-align:center}
.brand h1{background:linear-gradient(90deg,#fff,#67E8F9 40%,var(--li));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:calc(var(--fs)*1.6)}
.hero{position:relative;text-align:center;padding:6px 0 0}
.hero img.masc{width:min(230px,58vw);filter:drop-shadow(0 18px 30px rgba(34,211,238,.6));animation:bob 3.2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.field{margin:12px 0}
.field label{display:block;font-weight:800;margin-bottom:6px}
.inp{width:100%;min-height:60px;border-radius:16px;border:2px solid var(--bd);background:rgba(11,26,58,.6);color:#fff;padding:8px 16px;font-size:var(--fs)}
.inp:focus{outline:none;border-color:var(--li)}
.ages{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.age{padding:8px 4px 10px;border-radius:20px;text-align:center;background:var(--card);border:2px solid var(--bd);transition:.15s}
.age img{width:100%;max-width:110px;aspect-ratio:1;object-fit:contain;display:block;margin:0 auto}
.age b{display:block;font-size:var(--fs);line-height:1.2}
.age small{display:block;font-size:var(--fs);color:var(--mu);line-height:1.2;direction:ltr}
.age.on,.gen.on{border-color:var(--li);background:rgba(251,146,60,.13);box-shadow:0 0 0 3px rgba(251,146,60,.25)}
.gens{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gen{min-height:60px;border-radius:18px;background:var(--card);border:2px solid var(--bd);font-weight:800}
/* home */
.top{display:flex;align-items:center;gap:10px}
.top .masc{width:84px;flex:none;filter:drop-shadow(0 8px 14px rgba(34,211,238,.6))}
.top .hi{flex:1;min-width:0}
.top .hi h2{word-break:break-word}
.icob{width:56px;height:56px;border-radius:16px;background:var(--card);border:1px solid var(--bd);font-size:28px;flex:none}
.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.qc{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 8px 12px;border-radius:22px;min-height:150px;position:relative;overflow:hidden}
.qc img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.4))}
.qc b{font-size:var(--fs);line-height:1.25}
.qc.big{grid-column:1/-1;flex-direction:row;text-align:right;gap:12px;min-height:0;padding:14px;background:linear-gradient(135deg,rgba(251,146,60,.22),rgba(34,211,238,.3));border-color:rgba(251,146,60,.5)}
.qc.big img{width:96px;height:96px}
.qc .tag{font-size:var(--fs);color:var(--li);font-weight:800}
.track{margin:18px 0 6px;display:flex;align-items:center;gap:10px}
.track img{width:62px;height:62px;object-fit:contain}
.track h2{flex:1}
.exs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ex{display:flex;flex-direction:column;align-items:center;padding:10px 6px 12px;border-radius:22px;text-align:center;min-height:170px;transition:transform .12s}
.ex:active{transform:scale(.97)}
.ex img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.ex b{font-size:var(--fs);line-height:1.25;word-break:break-word}
.lvchip{margin-top:6px;padding:0 12px;border-radius:999px;background:rgba(251,146,60,.16);color:var(--li);font-weight:800;font-size:var(--fs);line-height:1.6}
.foot{margin-top:26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--mu)}
.foot img{height:64px;background:#fff;border-radius:14px;padding:6px 10px}
/* sheet */
.ov{position:fixed;inset:0;background:rgba(11,26,58,.72);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
.sheet{width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:28px 28px 0 0;padding:18px 16px 22px;background:linear-gradient(180deg,#13285E,#0B1A3A);border:1px solid var(--bd);animation:up .25s}
@keyframes up{from{transform:translateY(40px);opacity:0}}
@keyframes fade{from{opacity:0}}
.lvgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}
.lvb{min-height:60px;border-radius:16px;background:var(--card);border:2px solid var(--bd);font-weight:800;position:relative}
.lvb.cur{border-color:var(--li);background:rgba(251,146,60,.18)}
.lvb.rec:after{content:"★";position:absolute;top:-10px;left:-4px;color:var(--go);font-size:22px}
.lvdesc{min-height:2.8em}
/* game */
.gh{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:5;padding:8px 0;background:linear-gradient(180deg,rgba(11,26,58,.95),rgba(11,26,58,.7))}
.gh .t{flex:1;min-width:0;font-weight:800;line-height:1.2;word-break:break-word}
.gh .lvsw{display:flex;align-items:center;gap:4px}
.sq{width:48px;height:48px;border-radius:14px;background:var(--card);border:1px solid var(--bd);font-weight:800;font-size:var(--fs);flex:none;display:inline-flex;align-items:center;justify-content:center}
.lvn{min-width:48px;text-align:center;font-weight:800;color:var(--li)}
.prog{height:12px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden;margin:4px 0 2px}
.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--vi),var(--li));border-radius:9px;transition:width .4s}
.rinfo{display:flex;justify-content:space-between;color:var(--mu);gap:8px;flex-wrap:wrap}
.stage{margin-top:8px;padding:14px 10px;min-height:440px;border-radius:26px;position:relative}
.q{text-align:center;font-weight:800;margin:0 0 10px;min-height:1.4em}
.sub{text-align:center;color:var(--mu)}
.grid{display:grid;gap:8px;margin:0 auto;max-width:440px}
.tile{aspect-ratio:1;border-radius:16px;background:rgba(255,255,255,.08);border:2px solid rgba(34,211,238,.22);display:flex;align-items:center;justify-content:center;position:relative;transition:transform .12s,background .15s,border-color .15s;overflow:hidden}
.tile img{width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}
.tile.lit{background:radial-gradient(circle,#FFE6CC,var(--li));border-color:#fff;box-shadow:0 0 24px var(--li);transform:scale(1.05)}
.tile.sel{border-color:var(--li);background:rgba(251,146,60,.2)}
.tile.good{border-color:var(--ok);background:rgba(62,224,143,.25)}
.tile.badt{border-color:var(--bad);background:rgba(255,107,138,.22)}
.tile.blank{background:rgba(255,255,255,.03);border-style:dashed}
.tile .num{position:absolute;top:3px;right:4px;min-width:36px;height:36px;border-radius:12px;background:var(--vi);color:#fff;font-weight:800;font-size:var(--fs);line-height:36px;text-align:center}
.tile .lab{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:var(--fs);font-weight:800;line-height:1.1;text-shadow:0 2px 4px #000}
.wtile{aspect-ratio:auto;min-height:64px;padding:6px 8px;font-weight:800;font-size:var(--fs);line-height:1.2;text-align:center;word-break:break-word}
.big1{width:min(240px,62vw);aspect-ratio:1;margin:10px auto;border-radius:30px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(34,211,238,.35),rgba(255,255,255,.05));border:2px solid var(--bd);position:relative}
.big1 img{width:82%;height:82%;object-fit:contain;animation:pop .3s}
@keyframes pop{from{transform:scale(.6);opacity:0}}
.big1.pcard{transition:background .2s}
.slots{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0;min-height:64px;direction:rtl}
.slot{width:58px;height:58px;border-radius:14px;border:2px dashed var(--bd);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:26px;background:rgba(255,255,255,.04)}
.slot img{width:86%;height:86%;object-fit:contain}
.slot.f{border-style:solid;border-color:var(--vi2);background:rgba(34,211,238,.2)}
.keys{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:420px;margin:8px auto;direction:ltr}
.key{min-height:62px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid var(--bd);font-weight:800;font-size:28px}
.key:active{background:var(--vi)}
.key.del{background:rgba(255,107,138,.25)}
.cbtn{min-height:62px;border-radius:16px;border:3px solid rgba(255,255,255,.5)}
.pads{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:380px;margin:10px auto}
.pad{aspect-ratio:1.25;border-radius:26px;border:3px solid rgba(255,255,255,.25);opacity:.75;transition:.1s;display:flex;align-items:center;justify-content:center}
.pad svg{width:46%;height:46%}
.pad.lit{opacity:1;transform:scale(1.06);box-shadow:0 0 34px currentColor;border-color:#fff}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:440px;margin:10px auto}
.opt{min-height:64px;border-radius:18px;background:var(--card);border:2px solid var(--bd);font-weight:800;padding:6px 10px;line-height:1.25;word-break:break-word;display:flex;align-items:center;justify-content:center;gap:6px}
.opt img{width:76px;height:76px;object-fit:contain}
.opt.good{border-color:var(--ok);background:rgba(62,224,143,.25)}
.opt.badt{border-color:var(--bad);background:rgba(255,107,138,.22)}
.opt.sel{border-color:var(--li);background:rgba(251,146,60,.2)}
.ctr{text-align:center;margin-top:12px}
.timer{height:10px;border-radius:8px;background:rgba(255,255,255,.1);overflow:hidden;margin:6px 0}
.timer i{display:block;height:100%;background:linear-gradient(90deg,var(--go),#ff8a3d);width:100%}
.count{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;border:4px solid var(--li);font-weight:800;font-size:28px;color:var(--li)}
.wave{display:flex;gap:6px;align-items:center;justify-content:center;height:90px}
.wave i{width:10px;border-radius:6px;background:linear-gradient(180deg,var(--li),var(--vi));height:20px;animation:wv .9s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.1s}.wave i:nth-child(3){animation-delay:.2s}.wave i:nth-child(4){animation-delay:.3s}.wave i:nth-child(5){animation-delay:.4s}.wave i:nth-child(6){animation-delay:.5s}.wave i:nth-child(7){animation-delay:.6s}
@keyframes wv{0%,100%{height:16px}50%{height:80px}}
.wave.off i{animation:none;height:12px;opacity:.4}
.nb{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:300px;margin:6px auto}
.nb .tile{aspect-ratio:1}
.nbb{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:440px;margin:12px auto}
.nbb .btn{min-height:72px}
.nbb .btn.hit{background:linear-gradient(135deg,#FDBA74,#F97316);color:#0F1F4A}
/* feedback */
.fb{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;width:min(520px,94vw);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:24px;background:linear-gradient(135deg,#13285E,#0B1A3A);border:2px solid var(--li);box-shadow:0 14px 40px rgba(0,0,0,.5);animation:up .25s}
.fb img{width:74px;height:74px;object-fit:contain;flex:none}
.fb b{font-size:calc(var(--fs)*1.05);line-height:1.3}
.fb.no{border-color:#ff9db3}
.conf{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}
.conf i{position:absolute;top:-20px;width:10px;height:16px;border-radius:3px;animation:fall 1.6s ease-in forwards}
@keyframes fall{to{transform:translateY(110vh) rotate(720deg);opacity:.7}}
/* results */
.res{text-align:center}
.res img.masc{width:170px;filter:drop-shadow(0 12px 22px rgba(34,211,238,.6))}
.stars{font-size:46px;letter-spacing:6px;color:var(--go);text-shadow:0 0 18px rgba(251,146,60,.6)}
.pct{font-size:calc(var(--fs)*2.4);font-weight:800;color:var(--li);line-height:1.1}
.bars{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.bar .lb{display:flex;justify-content:space-between;gap:8px;font-weight:800}
.bar .tr{height:22px;border-radius:12px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:4px;position:relative}
.bar .tr i{display:block;height:100%;border-radius:12px;transition:width .8s}
.bar .tr i.pre{background:linear-gradient(90deg,#67E8F9,#22D3EE)}
.bar .tr i.post{background:linear-gradient(90deg,var(--vi),var(--li))}
.leg{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.leg span:before{content:"";display:inline-block;width:18px;height:18px;border-radius:5px;margin-left:6px;vertical-align:-3px;background:var(--c)}
.kpi{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.kpi div{padding:10px;border-radius:18px;text-align:center}
.kpi b{display:block;font-size:calc(var(--fs)*1.6);color:var(--li);line-height:1.2}
.card{padding:14px;margin:12px 0}
.chart svg{width:100%;height:auto;display:block}
.hist{list-style:none;padding:0;margin:0}
.hist li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}
.lvtab{display:grid;grid-template-columns:1fr auto;gap:4px 10px}
/* certificate */
.cert{background:linear-gradient(135deg,#FFFFFF,#F3FAFF);color:#0F1F4A;border-radius:20px;padding:22px 16px;text-align:center;border:10px double #F97316;position:relative}
.cert h1{color:#EA580C;font-size:calc(var(--fs)*1.5)}
.cert .nm{font-size:calc(var(--fs)*1.6);font-weight:800;color:#0F1F4A;border-bottom:2px dashed #F97316;display:inline-block;padding:0 18px}
.cert img.tr{width:120px}
.cert .lg{height:60px;margin-top:8px}
.cert table{margin:10px auto;border-collapse:collapse}
.cert td{padding:4px 12px;border-bottom:1px solid #CFE9FB}
.daytm{font-weight:800;color:var(--go)}
@media print{body{background:#fff!important}body:before{display:none}body *{visibility:hidden}#printArea,#printArea *{visibility:visible}#printArea{position:absolute;left:0;top:0;width:100%}.noprint{display:none!important}}
.fatal{padding:30px;text-align:center}
@media (max-width:380px){.wrap{padding:10px 10px 24px}.ex{min-height:160px}.ex img{width:76px;height:76px}.keys{gap:6px}.key{min-height:58px}}

body.age-k:before{background:linear-gradient(180deg,rgba(15,31,74,.25),rgba(15,31,74,.78) 55%,rgba(11,26,58,.94))}
body.age-k .ex{border-width:2px;border-color:rgba(251,146,60,.35);background:linear-gradient(160deg,rgba(34,211,238,.28),rgba(255,255,255,.06))}
body.age-k .track h2{color:#FDBA74}
body.age-a .ex img,body.age-t .ex img{filter:drop-shadow(0 6px 14px rgba(34,211,238,.55))}

/* ===== THEME v2 (Oct 30): sky-blue page · navy cards · orange accents · cyan tags — same palette as her maths lab ===== */
html{background:#DFF1FF}
body{color:#0B1A3A;--mu:#3A4766;background:url(img/ui/doodles.svg) 0 0/420px 420px repeat,linear-gradient(175deg,#EAF6FF 0%,#DFF1FF 45%,#CFE9FB 100%) fixed;background-color:#DFF1FF}
body:before{background:radial-gradient(60% 40% at 100% 0%,rgba(251,146,60,.13),transparent 70%),radial-gradient(55% 45% at 0% 35%,rgba(34,211,238,.14),transparent 70%)}
:focus-visible{outline:3px solid #22D3EE;outline-offset:2px}
/* navy cards: white text, thin orange glow */
.glass,.sheet,.fb{background:linear-gradient(160deg,#1E2A5E 0%,#13285E 35%,#0F1F4A 70%,#0B1A3A 100%);border:1.5px solid rgba(251,146,60,.55);box-shadow:0 0 0 1px rgba(251,146,60,.10),0 0 14px rgba(251,146,60,.20),0 10px 24px rgba(11,26,58,.22);color:#fff;--mu:#CFE0F7;--tx:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.glass .glass{box-shadow:0 0 10px rgba(251,146,60,.16)}
.glass h2,.sheet h2,.glass h1{color:#FB923C}
.glass h3,.sheet h3{color:#fff}
/* page headings: orange headline, navy subtitles */
.brand h1{background:linear-gradient(180deg,#FB923C 0%,#F97316 45%,#EA580C 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 .6px #0B1A3A) drop-shadow(0 2px 0 rgba(11,26,58,.18))}
.top .hi h2{color:#0B1A3A}
.track{padding-bottom:8px;background:linear-gradient(90deg,transparent,#22D3EE 18%,#0F1F4A 50%,#22D3EE 82%,transparent) center bottom/100% 2px no-repeat}
.track h2,body.age-k .track h2{color:#D9560B;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.hero img.masc,.top .masc,.res img.masc{filter:drop-shadow(0 12px 18px rgba(15,31,74,.35))}
.glass .res img.masc,.stage .res img.masc{filter:drop-shadow(0 10px 18px rgba(251,146,60,.35))}
/* buttons */
.btn{color:#fff;border-radius:999px;background:linear-gradient(135deg,#13285E 0%,#0F1F4A 55%,#0B1A3A 100%);border:1.5px solid rgba(34,211,238,.75);box-shadow:0 0 0 1px rgba(34,211,238,.18),0 0 12px rgba(34,211,238,.35),0 6px 14px rgba(11,26,58,.25)}
.btn:active{transform:translateY(2px);box-shadow:0 0 8px rgba(34,211,238,.3)}
.btn.lime,.btn.gold,.nbb .btn.hit{color:#0B1A3A;border:0;background:linear-gradient(135deg,#FDBA74 0%,#FB923C 50%,#F97316 100%);box-shadow:0 5px 0 #C2410C,0 10px 22px rgba(249,115,22,.35)}
.btn.lime:active,.btn.gold:active{transform:translateY(3px);box-shadow:0 2px 0 #C2410C}
.btn.ghost{color:#0B1A3A;background:#F3FAFF;border:1.5px solid rgba(14,165,233,.7);box-shadow:none}
.glass .btn.ghost,.sheet .btn.ghost{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(34,211,238,.6)}
/* start */
.inp{background:#F3FAFF;color:#0B1A3A;border:2px solid rgba(34,211,238,.6)}
.inp::placeholder{color:#64748B}
.inp:focus{border-color:#FB923C;box-shadow:0 0 0 4px rgba(251,146,60,.25)}
.age.on,.gen.on{border-color:#FB923C;background:rgba(251,146,60,.16);box-shadow:0 0 0 3px rgba(251,146,60,.28)}
/* home */
.icob{background:linear-gradient(135deg,#13285E,#0B1A3A);border:1.5px solid rgba(34,211,238,.7);box-shadow:0 0 10px rgba(34,211,238,.3)}
.qc.big{background:radial-gradient(120% 140% at 100% 0%,#1A3478 0%,#0F1F4A 55%,#0B1A3A 100%);border:2px solid rgba(251,146,60,.9);box-shadow:0 0 0 1px rgba(251,146,60,.35),0 0 22px rgba(251,146,60,.35),0 14px 30px rgba(11,26,58,.3)}
.qc .tag{color:#67E8F9}
.qc img,.ex img{filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
body.age-a .ex img,body.age-t .ex img{filter:drop-shadow(0 6px 14px rgba(34,211,238,.35))}
.lvchip{background:#22D3EE;color:#0B1A3A}
.foot{color:#3A4766}
.foot img{box-shadow:0 4px 14px rgba(15,31,74,.15)}
/* sheet */
.ov{background:rgba(11,26,58,.55)}
.sheet{border-bottom:0}
.lvb.cur{border-color:#FB923C;background:rgba(251,146,60,.22)}
.lvb.rec:after{color:#FB923C}
/* game */
.gh{background:linear-gradient(180deg,rgba(223,241,255,.97),rgba(223,241,255,.86));color:#0B1A3A}
.sq{background:linear-gradient(135deg,#13285E,#0B1A3A);color:#fff;border:1.5px solid rgba(34,211,238,.7)}
.lvn{color:#C2410C}
.prog{background:rgba(15,31,74,.12)}
.prog i{background:linear-gradient(90deg,#22D3EE,#FB923C)}
.daytm{color:#C2410C}
.tile{background:rgba(255,255,255,.08);border-color:rgba(34,211,238,.28)}
.tile.lit{background:radial-gradient(circle,#FFE6CC,#FB923C);border-color:#fff;box-shadow:0 0 24px #FB923C}
.tile.sel,.opt.sel{border-color:#FB923C;background:rgba(251,146,60,.22)}
.tile .num{background:#FB923C;color:#0B1A3A}
.big1{background:radial-gradient(circle,rgba(34,211,238,.28),rgba(255,255,255,.04))}
.slot.f{border-color:#22D3EE;background:rgba(34,211,238,.16)}
.key{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border-color:rgba(34,211,238,.4)}
.key:active{background:#FB923C;color:#0B1A3A}
.count{border-color:#FB923C;color:#FB923C}
.timer i{background:linear-gradient(90deg,#FDBA74,#F97316)}
.wave i{background:linear-gradient(180deg,#FB923C,#22D3EE)}
.fb{border:2px solid #FB923C;box-shadow:0 0 18px rgba(251,146,60,.35),0 14px 40px rgba(11,26,58,.45)}
.fb.no{border-color:#ff9db3}
/* results & progress */
.stars{color:#FB923C;text-shadow:0 0 16px rgba(251,146,60,.5)}
.pct,.kpi b{color:#FB923C}
.bar .tr{background:rgba(255,255,255,.1)}
.bar .tr i.pre{background:linear-gradient(90deg,#67E8F9,#22D3EE)}
.bar .tr i.post{background:linear-gradient(90deg,#FDBA74,#F97316)}
.hist li{border-bottom-color:rgba(34,211,238,.18)}
/* certificate */
.cert{background:linear-gradient(160deg,#FFFFFF 0%,#F3FAFF 55%,#E3F2FF 100%);color:#0B1A3A;border:10px double #F97316;box-shadow:0 0 0 2px #0F1F4A inset}
.cert h1{color:#EA580C}
.cert .nm{color:#0F1F4A;border-bottom-color:#22D3EE}
.cert td{border-bottom-color:#CFE9FB}
/* kids: a touch warmer */
body.age-k:before{background:radial-gradient(60% 40% at 100% 0%,rgba(251,146,60,.18),transparent 70%),radial-gradient(55% 45% at 0% 35%,rgba(34,211,238,.18),transparent 70%)}
body.age-k .ex{border-width:2px;border-color:rgba(251,146,60,.7);background:radial-gradient(120% 120% at 100% 0%,#1A3478 0%,#0F1F4A 60%,#0B1A3A 100%)}
.key.del{background:rgba(251,146,60,.16);border-color:rgba(251,146,60,.55)}
@media print{.cert{box-shadow:none}}

/* ===== THEME v3 (Oct 30, evening): her maths-lab look — sky page, navy tiles with cyan glow, orange buttons, El Messiri titles. No lilac, no gold. ===== */
@font-face{font-family:"El Messiri";src:url(fonts/ElMessiri-700-arabic.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"El Messiri";src:url(fonts/ElMessiri-700-latin.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
:root{--go:#FB923C;--card-shadow:0 0 0 1px rgba(34,211,238,.18),0 10px 24px rgba(11,26,58,.22)}
h1,h2,h3,.brand h1,.q,.pct,.cert .nm{font-family:"El Messiri","Baloo","Segoe UI",Tahoma,sans-serif;font-weight:700;letter-spacing:0}
@keyframes dkGlow{0%,100%{opacity:.82;text-shadow:0 0 2px rgba(34,211,238,.2)}50%{opacity:1;text-shadow:0 0 10px rgba(34,211,238,.95),0 0 22px rgba(34,211,238,.55)}}
@keyframes dkGlowImg{0%,100%{filter:drop-shadow(0 0 1px rgba(34,211,238,.25)) brightness(1)}50%{filter:drop-shadow(0 0 6px rgba(34,211,238,1)) drop-shadow(0 0 14px rgba(34,211,238,.6)) brightness(1.12)}}
@keyframes dkTile{0%,100%{box-shadow:var(--card-shadow),0 0 0 rgba(34,211,238,0)}50%{box-shadow:var(--card-shadow),0 0 0 1px rgba(34,211,238,.55),0 0 18px rgba(34,211,238,.6)}}
/* page title: orange headline with a soft cyan breathing glow */
.brand h1{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#0F1F4A;filter:none;animation:dkGlow 3.4s ease-in-out infinite}
#boot h1{color:#0F1F4A;animation:dkGlow 3.4s ease-in-out infinite}
.top .hi h2{color:#0F1F4A}
.track h2,body.age-k .track h2{color:#0F1F4A;text-shadow:none;animation:dkGlow 3.4s ease-in-out infinite}
.track:nth-of-type(2n) h2{animation-delay:-1.1s}
.track img{animation:dkGlowImg 3.4s ease-in-out infinite}
.track{background:linear-gradient(90deg,transparent,#22D3EE 15%,#FB923C 50%,#22D3EE 85%,transparent) center bottom/100% 3px no-repeat}
/* navy cards like the lab tiles: cyan border + soft glow */
.glass,.sheet,.fb{background:linear-gradient(160deg,#1E2A5E 0%,#13285E 38%,#0F1F4A 72%,#0B1A3A 100%);border:1.5px solid rgba(34,211,238,.7);box-shadow:var(--card-shadow),0 0 12px rgba(34,211,238,.28);border-radius:24px}
.glass .glass{box-shadow:0 0 10px rgba(34,211,238,.2)}
.glass h2,.sheet h2,.glass h1{color:#fff;animation:dkGlow 3.4s ease-in-out infinite}
.glass h3,.sheet h3{color:#FDBA74}
.ex,.qc{border-radius:22px}
.ex b,.qc b{color:#fff}
.ex{animation:dkTile 3.4s ease-in-out infinite}
.ex:nth-child(2n){animation-delay:-.9s}.ex:nth-child(3n){animation-delay:-1.8s}.ex:nth-child(5n){animation-delay:-2.6s}
body.age-k .ex{border-color:rgba(34,211,238,.75);background:radial-gradient(120% 120% at 100% 0%,#1A3478 0%,#0F1F4A 60%,#0B1A3A 100%)}
.ex:after,.qc:after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:4px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#22D3EE,#FB923C)}
.ex{position:relative;overflow:hidden}
.qc.big{border:2px solid rgba(251,146,60,.9);box-shadow:0 0 0 1px rgba(251,146,60,.3),0 0 20px rgba(251,146,60,.35),0 14px 30px rgba(11,26,58,.3)}
.qc.big b{animation:dkGlow 3.4s ease-in-out infinite}
.lvchip{background:linear-gradient(135deg,#FDBA74,#F97316);color:#0B1A3A}
.qc .tag{color:#67E8F9}
/* buttons: orange gradient like the lab */
.btn{border-radius:999px}
.btn.lime,.btn.gold,.nbb .btn.hit{background:linear-gradient(135deg,#FB923C 0%,#F97316 100%);color:#fff;text-shadow:0 1px 1px rgba(194,65,12,.6);box-shadow:0 5px 0 #C2410C,0 10px 22px rgba(249,115,22,.35)}
/* white rounded cards on the sky page (start screen form, game header) */
.gh{border-bottom:2px solid rgba(34,211,238,.35)}
.lvn{color:#EA580C}
/* stars & level marks: orange (no gold) */
.stars{color:#FB923C;text-shadow:0 0 14px rgba(251,146,60,.55)}
.lvb.rec:after{color:#FB923C}
.daytm{color:#EA580C}
/* institute footer */
.foot{color:#0F1F4A;font-weight:700}
.foot img{background:#fff;border:1.5px solid rgba(34,211,238,.6);box-shadow:0 0 12px rgba(34,211,238,.3)}
/* feedback popup */
.fb{border:2px solid #22D3EE}
.fb.no{border-color:#FB923C}
@media (prefers-reduced-motion:reduce){.brand h1,#boot h1,.track h2,.track img,.glass h2,.sheet h2,.glass h1,.ex,.qc.big b{animation:none!important}}

/* ---- QA fix pass 2026-10-30 ---- */
/* AA contrast: dark text on orange buttons (was white, ~2.8:1) */
.btn.lime,.btn.gold{color:#0B1A3A!important;text-shadow:none!important}
/* one answer per question: options locked while the answer is shown */
#stage.busy .opt,#stage.busy .tile,#stage.busy button.slot{pointer-events:none}
/* counted objects shown as many times as the story says */
.big1 .multi{width:92%;height:92%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px}
.big1 .multi img{object-fit:contain;animation:pop .3s}
/* profile picker */
.who{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}
.who .btn{min-width:42%}
.who small{opacity:.75;font-weight:600}
/* grown-up long-press */
.holdB{position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}
.holdB .hf{position:absolute;top:0;bottom:0;right:0;width:0;background:rgba(11,26,58,.28);transition:width .05s linear;pointer-events:none}
.holdB .hl{position:relative;pointer-events:none}
/* no-sound prompt */
.nsb{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9000;background:#0B1A3A;color:#fff;border:3px solid #FB923C;border-radius:999px;padding:12px 22px;font:inherit;font-weight:800;font-size:19px;box-shadow:0 8px 24px rgba(11,26,58,.45);animation:nsp 1.4s ease-in-out infinite;cursor:pointer;white-space:nowrap}
@keyframes nsp{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.06)}}
.fatal .btn{margin-top:14px}

/* landscape phone: compact game chrome (play area is scaled to fit by script) */
@media (orientation:landscape) and (max-height:600px){
 #scr-game .wrap{padding-top:4px;padding-bottom:4px}
 #scr-game .gh{margin-bottom:4px}
 #scr-game .prog{margin:4px 0}
 #scr-game .rinfo{margin:2px 0}
 #scr-game .stage{padding-top:8px;padding-bottom:8px}
 #scr-game .q{margin-bottom:6px}
}
@media (orientation:landscape) and (max-height:600px){#scr-game .stage{min-height:0!important}}
