:root{
  color-scheme:dark;
  --bg:#080b16;--panel:#11172a;--panel2:#151d35;--ink:#f6f8ff;--muted:#9ea9c7;
  --lime:#d8ff5b;--cyan:#66e7ff;--violet:#9c8cff;--red:#ff6d7e;--line:rgba(255,255,255,.11);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif}
button{font:inherit}
body{min-height:100dvh;overflow:hidden}
.app{min-height:100dvh;display:grid;place-items:center;background:
 radial-gradient(circle at 75% 18%,rgba(102,231,255,.12),transparent 28%),
 radial-gradient(circle at 15% 85%,rgba(156,140,255,.16),transparent 34%),
 linear-gradient(160deg,#080b16,#0b1020 56%,#080b16)}
.shell{width:min(100%,470px);height:100dvh;min-height:560px;max-height:920px;position:relative;display:flex;flex-direction:column;padding:max(14px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));overflow:hidden}
.top{height:42px;display:flex;align-items:center;justify-content:space-between;padding-left:54px;flex:0 0 auto}
.brand{font-size:12px;letter-spacing:.18em;color:var(--muted);font-weight:800}.round{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.progress{height:3px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;flex:0 0 auto}.progress i{display:block;height:100%;width:var(--p,0%);background:linear-gradient(90deg,var(--violet),var(--cyan),var(--lime));transition:width .28s ease}
.screen{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px 0 0;animation:in .2s ease}
@keyframes in{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes drain{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:900;color:var(--cyan);margin-bottom:7px}.title{font-size:clamp(28px,7.5vw,38px);line-height:1.08;letter-spacing:-.04em;margin:0}.lead{font-size:14px;line-height:1.65;color:var(--muted);margin:11px 0 0}.lead b{color:var(--ink)}
.hero{justify-content:center;padding-top:0}.hero .title{font-size:clamp(42px,12vw,62px)}.heroMark{height:210px;position:relative;margin:10px 0 2px;display:grid;place-items:center}.stairsHero{width:200px;height:180px;position:relative;filter:drop-shadow(0 20px 35px rgba(0,0,0,.35))}.stairsHero span{position:absolute;left:50%;height:20px;border:1px solid rgba(255,255,255,.12);border-radius:7px 7px 3px 3px;background:linear-gradient(90deg,rgba(156,140,255,.25),rgba(102,231,255,.12));transform:translateX(-50%)}.stairsHero span:nth-child(1){bottom:8px;width:190px}.stairsHero span:nth-child(2){bottom:32px;width:164px}.stairsHero span:nth-child(3){bottom:56px;width:140px}.stairsHero span:nth-child(4){bottom:80px;width:116px}.stairsHero span:nth-child(5){bottom:104px;width:92px}.stairsHero span:nth-child(6){bottom:128px;width:68px}.stairsHero span:nth-child(7){bottom:152px;width:44px;background:rgba(216,255,91,.25);box-shadow:0 0 30px rgba(216,255,91,.15)}.stairsHero:after{content:"↕";position:absolute;right:-20px;top:45px;font-size:40px;color:var(--lime);font-weight:900}
.heroRule{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:3px 0 16px}.heroRule div{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;padding:10px 7px;text-align:center}.heroRule strong{display:block;font-size:15px}.heroRule small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.btn{border:0;border-radius:17px;min-height:54px;padding:0 18px;font-weight:900;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active{transform:scale(.98)}.primary{background:var(--lime);color:#12180a;box-shadow:0 12px 34px rgba(216,255,91,.13)}.ghost{background:rgba(255,255,255,.06);color:var(--ink);border:1px solid var(--line)}.actions{display:grid;gap:9px;margin-top:auto;padding-top:12px}
.hud{display:flex;gap:8px;align-items:center;margin-bottom:10px}.tag,.stress{font-size:12px;font-weight:850;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.05)}.stress{margin-left:auto}.stress.hot{color:#ffd2d7;border-color:rgba(255,109,126,.35);background:rgba(255,109,126,.09)}
.question{font-size:clamp(21px,5.8vw,28px);line-height:1.25;letter-spacing:-.025em;margin:0;min-height:3.75em;display:flex;align-items:center}.hint{font-size:12px;color:var(--muted);margin:5px 0 8px}
.gameArea{flex:1;min-height:0;display:grid;grid-template-columns:82px 1fr;gap:10px}.ladder{min-height:0;display:flex;flex-direction:column-reverse;justify-content:stretch;gap:4px;padding-bottom:2px}.step{flex:1;min-height:0;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035);display:flex;align-items:center;gap:5px;padding:4px 6px;color:var(--muted);font-size:12px;transition:.22s ease}.step b{font-size:13px;color:var(--ink);min-width:15px}.step.active{background:rgba(102,231,255,.14);border-color:rgba(102,231,255,.58);color:#dff9ff;transform:translateX(5px);box-shadow:0 0 22px rgba(102,231,255,.12)}.step.target{border-color:rgba(216,255,91,.65);box-shadow:inset 0 0 0 1px rgba(216,255,91,.16)}
.choiceWrap{min-height:0;display:flex;flex-direction:column;gap:8px}.choice{flex:1;min-height:0;width:100%;text-align:left;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.035));color:var(--ink);padding:10px 11px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;cursor:pointer;touch-action:manipulation}.choice:active{transform:scale(.985);border-color:rgba(102,231,255,.5)}.tier{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(156,140,255,.16);color:#ded8ff;font-weight:950}.choiceText{font-size:13px;line-height:1.38;font-weight:750}.choice[disabled]{opacity:.45;cursor:default}.choice.picked{opacity:1;border-color:rgba(102,231,255,.62);background:rgba(102,231,255,.09)}
.timer{height:5px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden;margin:0 0 8px}.timer i{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--cyan),var(--lime));animation:drain var(--seconds,6s) linear forwards}.timer.hot i{background:linear-gradient(90deg,#ffb36b,var(--red))}
.feedback{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:20px;padding:14px}.verdict{display:flex;align-items:center;gap:10px}.verdictMark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:22px;font-weight:950;background:rgba(216,255,91,.12);color:var(--lime)}.verdict.bad .verdictMark{background:rgba(255,109,126,.12);color:#ff9eaa}.verdict small{display:block;color:var(--muted);font-size:12px}.verdict strong{display:block;font-size:18px}.answerLine{margin:12px 0 8px;padding:11px;border-radius:14px;background:rgba(0,0,0,.18);font-size:13px;line-height:1.45}.explain{font-size:13px;line-height:1.55;color:#d5d9e9;margin:0}.skill{margin-top:auto;border-top:1px solid var(--line);padding-top:10px;display:flex;gap:9px;align-items:center}.skillIcon{width:36px;height:36px;border-radius:12px;background:rgba(156,140,255,.15);display:grid;place-items:center;font-size:18px}.skill span{font-size:12px;color:var(--muted);display:block}.skill b{font-size:13px}
.resultHero{display:flex;align-items:flex-end;gap:14px;margin:7px 0 10px}.scoreRing{--score:0;width:105px;height:105px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--lime) calc(var(--score)*1%),rgba(255,255,255,.08) 0);position:relative}.scoreRing:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#0d1222}.scoreRing div{z-index:1;text-align:center}.scoreRing strong{display:block;font-size:31px;line-height:1}.scoreRing span{font-size:12px;color:var(--muted)}.resultCopy{flex:1}.resultCopy small{color:var(--muted);font-size:12px}.resultCopy h2{font-size:22px;line-height:1.15;margin:4px 0 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.stat{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:14px;padding:9px 6px;text-align:center}.stat strong{display:block;font-size:19px}.stat span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.drill{margin-top:9px;border:1px solid rgba(102,231,255,.2);background:rgba(102,231,255,.06);border-radius:16px;padding:11px}.drill small{color:var(--cyan);font-weight:900;letter-spacing:.1em}.drill strong{display:block;font-size:16px;margin-top:3px}.drill p{font-size:12px;color:var(--muted);line-height:1.45;margin:5px 0 0}.micro{font-size:12px;line-height:1.45;color:var(--muted);text-align:center;margin:8px 8px 0}
@media (max-height:690px){.shell{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.top{height:34px}.screen{padding-top:8px}.title{font-size:27px}.lead{margin-top:7px;font-size:12px}.heroMark{height:155px}.stairsHero{transform:scale(.8)}.heroRule{margin-bottom:9px}.question{font-size:19px;min-height:3.25em}.choiceText{font-size:12px}.step{font-size:12px}.feedback{padding:11px}.explain{font-size:12px}.resultHero{margin:3px 0 6px}.scoreRing{width:88px;height:88px}.scoreRing strong{font-size:26px}.actions{padding-top:8px}.btn{min-height:48px}}
@media (min-height:820px){.screen{padding-top:18px}.question{margin-top:4px}.gameArea{gap:12px}.choice{padding:12px}.choiceText{font-size:14px}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
