:root{--bg:#02040b;--glass:#080e1e94;--glass-strong:#060a18d1;--line:#8cc8ff29;--text:#e8f1ff;--muted:#8ea3c7;--cyan:#5ef0ff;--violet:#9d7bff;--emerald:#3dffb4;--miss:#ff5c9a;--display:"Unbounded", "Manrope", sans-serif;--ui:"Manrope", "Noto Sans", system-ui, sans-serif;--ipa:"Noto Sans", "Manrope", sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--ui);margin:0;overflow:hidden}body{-webkit-font-smoothing:antialiased}#gl{width:100vw;height:100vh;display:block;position:fixed;inset:0}.hidden{display:none!important}button{font:inherit;color:inherit;cursor:pointer}.btn{letter-spacing:.01em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#5ef0ff38,#9d7bff38);border:1px solid #5ef0ff73;border-radius:14px;padding:12px 20px;font-weight:700;transition:transform .15s,box-shadow .2s,background .2s;box-shadow:0 0 24px #5ef0ff26,inset 0 0 12px #5ef0ff14}.btn:hover{transform:translateY(-1px);box-shadow:0 0 34px #5ef0ff59}.btn.big{padding:16px 28px;font-size:18px}.btn.ghost{border-color:var(--line);box-shadow:none;background:#0a122480}.btn.ghost:hover{border-color:#5ef0ff80}.btn.small{padding:8px 14px;font-size:13px}.icon-btn{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;width:40px;height:40px;font-size:18px}#hud{pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}#top{top:max(14px, env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;left:16px;right:16px}#top>*{pointer-events:auto}.chapter-pill{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;align-items:center;gap:12px;padding:10px 16px 10px 10px;display:flex}#chapter-num{font-family:var(--display);background:linear-gradient(135deg,#5ef0ff40,#9d7bff40);border-radius:10px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}#chapter-title{font-family:var(--display);letter-spacing:.02em;font-size:13px;font-weight:600}.bar{background:#ffffff14;border-radius:4px;width:160px;height:4px;margin-top:6px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--cyan), var(--violet));width:0;height:100%;transition:width .6s;display:block}.stats{align-items:center;gap:10px;display:flex}.stat{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;align-items:baseline;gap:6px;padding:8px 12px;display:flex}.stat b{font-family:var(--display);color:var(--cyan);font-size:18px}.stat span{color:var(--muted);font-size:12px}.stat em{font-style:normal}.streak b{color:var(--emerald)}.streak.hot{border-color:#3dffb480;box-shadow:0 0 22px #3dffb459}.energy{width:44px;height:44px;position:relative}.energy svg{width:44px;height:44px;transform:rotate(-90deg)}.energy circle{fill:none;stroke-width:4px}.energy .track{stroke:#ffffff14}.energy .fill{stroke:var(--cyan);stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:45px;filter:drop-shadow(0 0 6px #5ef0ff99);transition:stroke-dashoffset .6s,stroke .4s}.energy span{place-items:center;font-size:11px;font-weight:800;display:grid;position:absolute;inset:0}#subtitle{text-align:center;cursor:pointer;width:min(760px,100vw - 32px);animation:.5s both rise;position:absolute;bottom:max(15vh,120px);left:50%;transform:translate(-50%)}#subtitle .who{font-family:var(--display);letter-spacing:.25em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px;font-size:11px}#subtitle .en{font-family:var(--display);text-shadow:0 0 24px #5ef0ff59;font-size:clamp(18px,2.6vw,28px);font-weight:600;line-height:1.3}#subtitle .ru{color:#c9d7f2;text-shadow:0 2px 12px #000c;margin-top:8px;font-size:clamp(15px,1.8vw,19px);line-height:1.5}#subtitle .en:empty{display:none}#subtitle.narrator .ru{color:var(--text);font-size:clamp(17px,2.2vw,23px);font-weight:500}.skip-hint{color:var(--muted);opacity:.6;margin-top:12px;font-size:11px}#card{left:50%;bottom:max(18px, env(safe-area-inset-bottom));background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;width:min(640px,100vw - 32px);padding:18px 20px 16px;animation:.45s cubic-bezier(.2,.8,.2,1) both rise;position:absolute;transform:translate(-50%);box-shadow:0 20px 60px #00000080,0 0 40px #5ef0ff0f}.card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.kind{font-family:var(--display);letter-spacing:.25em;color:var(--cyan);border:1px solid #5ef0ff4d;border-radius:8px;padding:4px 8px;font-size:10px}.kind.recall{color:var(--violet);border-color:#9d7bff66}.kind.sprint{color:var(--emerald);border-color:#3dffb466}.hint{color:var(--muted);text-align:right;font-size:12px}#card .main{font-family:var(--display);margin:12px 0 2px;font-size:clamp(24px,4vw,40px);font-weight:700;line-height:1.15}#card .main .w{transition:color .3s}#card .ipa{font-family:var(--ipa);color:#a9c4ff;font-size:16px}#card .ru{color:var(--muted);margin-top:4px;font-size:15px}#card .ipa:empty,#card .ru:empty{display:none}#options{gap:8px;margin-top:12px;display:grid}#options:empty{display:none}.option{border:1px solid var(--line);background:#5ef0ff0d;border-radius:12px;padding:10px 14px}.option b{font-family:var(--display);font-size:16px;font-weight:600;display:block}.option span{color:var(--muted);font-size:13px}.option.chosen{border-color:var(--emerald);background:#3dffb41a}#sprint-bar{background:#ffffff14;border-radius:6px;height:6px;margin-top:12px;overflow:hidden}#sprint-bar i{background:linear-gradient(90deg, var(--emerald), var(--cyan));transform-origin:0;width:100%;height:100%;display:block}.listen-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.mic{border:1px solid var(--line);background:#00000040;border-radius:14px;align-items:center;gap:10px;padding:6px 12px 6px 6px;transition:border-color .3s,box-shadow .3s;display:flex}.mic.on{border-color:#5ef0ff99;box-shadow:0 0 24px #5ef0ff40}.mic canvas{width:120px;height:24px}#mic-label{color:var(--muted);font-size:12px}.actions{gap:8px;display:flex}.actions .btn{padding:8px 12px;font-size:13px}#text-input{gap:8px;margin-top:12px;display:flex}#text-input input{color:var(--text);font:600 16px var(--ui);background:#00000059;border:1px solid #5ef0ff66;border-radius:12px;outline:none;flex:1;padding:12px 14px}#interim{min-height:0;color:var(--muted);margin-top:6px;font-size:13px;font-style:italic}#interim:empty{display:none}#result{text-align:center;pointer-events:none;width:min(520px,100vw - 32px);animation:.45s cubic-bezier(.2,1.4,.3,1) both pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-62%)}#result .grade{font-family:var(--display);letter-spacing:.04em;background:linear-gradient(90deg, var(--cyan), var(--emerald));color:#0000;filter:drop-shadow(0 0 22px #5ef0ff80);-webkit-background-clip:text;background-clip:text;font-size:clamp(36px,7vw,64px);font-weight:800}#result.miss .grade{background:linear-gradient(90deg, var(--miss), var(--violet));filter:drop-shadow(0 0 22px #ff5c9a66);-webkit-background-clip:text;background-clip:text}#result.good .grade{background:linear-gradient(90deg, #8fb8ff, var(--violet));-webkit-background-clip:text;background-clip:text}.meters{justify-content:center;gap:22px;margin-top:6px;display:flex}.meters div{flex-direction:column;display:flex}.meters b{font-family:var(--display);font-size:18px}.meters span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px}#res-words{font-family:var(--display);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;font-size:18px;display:flex}.wd{border-radius:8px;padding:2px 8px}.wd.ok{color:var(--emerald);background:#3dffb414}.wd.mid{color:#a9c4ff;background:#8cb4ff1a}.wd.bad{color:var(--miss);background:#ff5c9a1a;-webkit-text-decoration:underline wavy #ff5c9a99;text-decoration:underline wavy #ff5c9a99}.wd small{font-family:var(--ui);color:var(--muted);font-size:10px;display:block}.tips{text-align:left;gap:8px;margin:14px auto 0;padding:0;list-style:none;display:grid}.tips li{background:var(--glass-strong);border:1px solid var(--line);border-left:3px solid var(--violet);border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.45}.tips li code{font-family:var(--ipa);color:#a9c4ff;margin-left:6px;font-size:13px}.tips li.good{border-left-color:var(--emerald)}#titlecard{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}#titlecard .num{font-family:var(--display);letter-spacing:.5em;color:var(--cyan);font-size:12px}#titlecard h1{font-family:var(--display);letter-spacing:.02em;background:linear-gradient(#fff,#9fd8ff 60%,#8a7bff);color:#0000;filter:drop-shadow(0 0 40px #5ef0ff59);-webkit-background-clip:text;background-clip:text;margin:10px 0 0;font-size:clamp(40px,9vw,110px);font-weight:800}#titlecard h2{font-family:var(--display);color:#c8d8ff;margin:6px 0 0;font-size:clamp(16px,2.5vw,24px);font-weight:400}#titlecard p{color:var(--muted);margin-top:18px;font-size:16px}#titlecard.show>*{animation:4.2s both tc}#titlecard.show h1{animation-delay:.15s}#titlecard.show h2{animation-delay:.35s}#titlecard.show p{animation-delay:.6s}#toast{background:var(--glass-strong);border:1px solid var(--line);text-align:center;border-radius:12px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:14px;animation:.3s both rise;position:absolute;top:80px;left:50%;transform:translate(-50%)}.screen{z-index:10;background:radial-gradient(#02040b59,#02040bd9);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.start-inner{text-align:center;max-width:720px;animation:1s both rise}.logo{font-family:var(--display);letter-spacing:.12em;background:linear-gradient(#fff,#8ee9ff 55%,#8a6dff);color:#0000;filter:drop-shadow(0 0 50px #5ef0ff66);-webkit-background-clip:text;background-clip:text;font-size:clamp(64px,16vw,150px);font-weight:800;line-height:1}.logo.small{font-size:34px}.sub{font-family:var(--display);letter-spacing:.6em;color:var(--cyan);text-transform:uppercase;margin-top:6px;font-size:13px}.pitch{color:#c9d7f2;max-width:600px;margin:26px auto 18px;font-size:17px;line-height:1.6}.features{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:26px;display:flex}.features span{border:1px solid var(--line);color:var(--muted);background:#0a122466;border-radius:999px;padding:6px 12px;font-size:12px}.buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.continue{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.note{color:var(--muted);margin-top:22px;font-size:12px}.loading{background:#ffffff14;border-radius:3px;width:220px;height:3px;margin:18px auto 0;overflow:hidden}.loading i{background:linear-gradient(90deg, var(--cyan), var(--violet));width:0;height:100%;transition:width .3s;display:block}.panel{background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;gap:14px;width:min(460px,100%);padding:24px;display:grid}.panel.wide{text-align:center;width:min(720px,100%)}.panel h3{font-family:var(--display);margin:0}.panel label{color:#c9d7f2;gap:6px;font-size:14px;display:grid}.panel label:has(input[type=checkbox]){align-items:center;gap:10px;display:flex}.panel select,.panel input[type=range]{width:100%}.panel select{color:var(--text);border:1px solid var(--line);font:inherit;background:#0006;border-radius:10px;padding:8px}.chapters{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.chapters button{border:1px solid var(--line);background:#0a122480;border-radius:10px;padding:8px;font-size:12px}.chapters button:disabled{opacity:.35;cursor:default}.small{color:var(--muted);font-size:12px}.final-stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.final-stats div{border:1px solid var(--line);background:#5ef0ff0d;border-radius:14px;padding:14px 8px}.final-stats b{font-family:var(--display);color:var(--cyan);font-size:26px;display:block}.final-stats span{color:var(--muted);font-size:12px}#final h2{font-family:var(--display);margin:0}#final h4{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:8px 0 0;font-size:13px;font-weight:600}#final-sounds{text-align:left;gap:6px;margin:0;padding:0;list-style:none;display:grid}#final-sounds li{background:#9d7bff14;border-radius:10px;padding:8px 12px;font-size:14px}.chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.chips span{border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:13px}.credits{color:var(--muted);font-size:11px;line-height:1.6}@keyframes rise{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.start-inner{animation-name:fadein}@keyframes fadein{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-62%)scale(.8)}to{opacity:1;transform:translate(-50%,-62%)scale(1)}}@keyframes tc{0%{opacity:0;letter-spacing:.3em;transform:translateY(14px)}18%{opacity:1;transform:none}80%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@media (max-width:720px){.bar{width:90px}#chapter-title{font-size:11px}.stat span{display:none}.stat{padding:6px 10px}.actions .btn span{display:none}#card{border-radius:18px;padding:14px 14px 12px}#card .main{font-size:26px}.mic canvas{width:80px}#result{top:38%}.final-stats{grid-template-columns:repeat(2,1fr)}#subtitle{bottom:34vh}}#items{pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:74px;right:16px}.item{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #5ef0ff59;border-radius:12px;align-items:center;gap:8px;padding:6px 10px;animation:.6s both fadein;display:flex;box-shadow:0 0 18px #5ef0ff26}.item span{font-size:16px}.item em{color:#c9d7f2;font-size:12px;font-style:normal}#problem{background:var(--glass-strong);border:1px solid var(--line);border-left:3px solid var(--violet);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;gap:8px;width:min(330px,100vw - 32px);padding:12px 14px;animation:.5s both fadein;display:grid;position:absolute;top:76px;left:16px}.pb-row{color:#c9d7f2;align-items:flex-start;gap:10px;font-size:13px;line-height:1.4;display:flex}.pb-row small{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10px;display:block}.pb-row b{font-family:var(--display);color:var(--text);font-size:14px;font-weight:600}.pb-ic{width:22px;height:22px;color:var(--violet);background:#9d7bff2e;border-radius:7px;flex:none;place-items:center;font-size:12px;display:grid}.pb-row:nth-child(3) .pb-ic{color:var(--cyan);background:#5ef0ff26}.pb-done{font-family:var(--display);color:var(--emerald);font-size:13px;display:none}#problem.solved{border-left-color:var(--emerald)}#problem.solved .pb-done{display:block}#walkhint{left:50%;bottom:max(26px, env(safe-area-inset-bottom));text-align:center;pointer-events:none;animation:.5s both rise;position:absolute;transform:translate(-50%)}#walk-text{font-family:var(--display);text-shadow:0 0 18px #5ef0ff80;margin-top:8px;font-size:16px}.keys{color:var(--muted);justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}kbd{font-family:var(--display);min-width:26px;color:var(--cyan);background:#0a122499;border:1px solid #5ef0ff66;border-radius:8px;padding:5px 7px;font-size:11px}#joystick{left:22px;bottom:max(90px, calc(env(safe-area-inset-bottom) + 80px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;background:radial-gradient(circle,#5ef0ff1f,#0a122466);border:1px solid #5ef0ff59;border-radius:50%;width:130px;height:130px;position:absolute}#stick{background:linear-gradient(135deg,#5ef0ff99,#9d7bff99);border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%;box-shadow:0 0 20px #5ef0ff66}#subtitle.think .en{color:#cfe9ff;font-style:italic}#subtitle.think .who:before{content:"◌ "}#card .main.small{font-size:clamp(17px,2.4vw,22px);font-weight:600;line-height:1.35}.kind.fork{color:var(--emerald);border-color:#3dffb466}.kind.act{color:#8fb8ff;border-color:#8fb8ff66}.kind.riddle{color:var(--violet);border-color:#9d7bff66}@media (max-width:720px){#problem{padding:10px 12px;font-size:12px;top:70px}#walkhint .keys{display:none}#walkhint{text-align:right;max-width:55vw;bottom:40px;left:auto;right:16px;transform:none}}#walkhint{bottom:max(18px, env(safe-area-inset-bottom));pointer-events:auto;background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px;width:min(680px,100vw - 32px);padding:14px 16px}.walk-head{justify-content:center;align-items:center;gap:10px;display:flex}.walk-ic{background:#5ef0ff26;border:1px solid #5ef0ff66;border-radius:10px;place-items:center;width:30px;height:30px;animation:1.6s ease-in-out infinite micPulse;display:grid}@keyframes micPulse{50%{box-shadow:0 0 22px #5ef0ff8c}}#walk-text{margin-top:0;font-size:15px}#cmd-chips{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.chip{border:1px solid var(--line);background:#0a12248c;border-radius:999px;align-items:baseline;gap:6px;padding:6px 11px;font-size:13px;transition:transform .2s,border-color .2s,background .2s;display:flex}.chip b{font-family:var(--display);color:var(--text);font-size:12px;font-weight:600}.chip span{color:var(--muted);font-size:11px}.chip.poi{background:#3dffb41a;border-color:#3dffb48c}.chip.poi b{color:var(--emerald)}.chip.hit{border-color:var(--cyan);background:#5ef0ff40;transform:scale(1.08)}#heard{min-height:18px;color:var(--muted);text-align:center;margin-top:8px;font-size:13px;font-style:italic}#heard.miss{color:var(--miss)}#cmd-input{gap:8px;margin-top:10px;display:flex}#cmd-input input{color:var(--text);font:600 15px var(--ui);background:#00000059;border:1px solid #5ef0ff66;border-radius:12px;outline:none;flex:1;padding:10px 12px}@media (max-width:720px){#walkhint{text-align:center;max-width:none;bottom:12px;left:50%;right:auto;transform:translate(-50%)}.chip span{display:none}}
