:root{--navy: #071027;--cyan: #46e6ff;--pink: #ff6fd0;--orange: #ff9a1f;--title-font: "Arial Black", "Segoe UI Black", "Roboto Black", Impact, system-ui, sans-serif;--text-font: "Segoe UI", "Trebuchet MS", system-ui, sans-serif}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:none;overflow:hidden;color:#fff;font-family:var(--text-font);-webkit-user-select:none;user-select:none}.screen.on{display:block;animation:screen-in .45s ease both}@keyframes screen-in{0%{opacity:0}}#splash{background:radial-gradient(circle at 50% 45%,#14264d,#02040c 70%)}#splash .card{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;animation:splash-card 2s ease both}#splash .name{font:italic 900 clamp(46px,11vmin,96px) var(--title-font);letter-spacing:.08em;background:linear-gradient(90deg,var(--cyan),#fff 45%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}#splash .sub{margin-top:.4em;font-size:clamp(15px,3vmin,24px);letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;color:#a9d8ff}@keyframes splash-card{0%{opacity:0;transform:scale(.94)}25%,75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.03)}}#title{background:#2a0808}#title .poster{position:absolute;top:-2%;right:-2%;bottom:-2%;left:-2%;width:104%;height:104%;object-fit:cover;object-position:46% 18%;animation:poster-drift 26s ease-in-out infinite alternate}@keyframes poster-drift{0%{transform:scale(1) translate(0)}to{transform:scale(1.07) translate(-1.2%,1%)}}#title .shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(7,4,18,.92) 0%,rgba(7,4,18,.35) 30%,transparent 52%)}#title .logo{display:none;position:absolute;top:0;left:0;right:0;padding:max(26px,env(safe-area-inset-top)) 14px 40px;text-align:center;background:linear-gradient(to bottom,#150a22 55%,transparent)}#title .logo b{display:block;font:italic 900 clamp(34px,12vw,64px) / 1 var(--title-font);background:linear-gradient(90deg,var(--cyan),#eafcff 40%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(70,230,255,.55))}#title .logo span{display:block;margin-top:8px;font:italic 900 clamp(14px,4.6vw,24px) var(--title-font);color:var(--cyan)}#title .logo em{font-style:inherit;color:var(--orange)}#title .poster.narrow{display:none;object-position:44% 40%}@media(max-aspect-ratio:5 / 4){#title .logo{display:block}#title .poster.wide{display:none}#title .poster.narrow{display:block}}#title .console{position:absolute;left:0;right:0;bottom:max(26px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 18px;padding:0 18px}.key{position:relative;border:0;padding:.72em 1.5em;font:italic 900 clamp(14px,2.4vmin,21px) var(--title-font);text-transform:uppercase;letter-spacing:.04em;color:#eafcff;background:linear-gradient(180deg,#0e1e42f0,#060c20f0);border-radius:14px;transform:skew(-9deg);box-shadow:0 0 0 2px var(--cyan),0 0 18px #46e6ff73,inset 0 0 14px #46e6ff2e;cursor:pointer;transition:transform .15s,box-shadow .15s}.key:hover,.key:focus-visible{outline:none;transform:skew(-9deg) translateY(-3px);box-shadow:0 0 0 2px #fff,0 0 26px #46e6ffcc,inset 0 0 14px #46e6ff4d}.key:active{transform:skew(-9deg) scale(.96)}.key.go{padding:.7em 2.3em;font-size:clamp(20px,4vmin,34px);color:#2a1200;background:linear-gradient(180deg,#ffd24a,var(--orange) 55%,#ff6a1a);box-shadow:0 0 0 3px #fff3c4,0 0 30px #ff9a1fd9;animation:go-pulse 1.6s ease-in-out infinite}@keyframes go-pulse{50%{box-shadow:0 0 0 3px #fff,0 0 52px #ffaa3c}}#title .console .break{flex-basis:100%;height:0}#title .author{position:absolute;left:16px;bottom:8px;font-size:12px;letter-spacing:.12em;color:#fff9}#update{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:none;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-radius:16px;background:#060e22db;box-shadow:0 0 0 1.5px var(--cyan),0 0 18px #46e6ff66;font:600 14px var(--text-font);color:#eafcff;white-space:nowrap;z-index:5}#update.on{display:flex}#update .key{font-size:13px;padding:.5em 1em}.gauge{position:relative;height:22px;max-width:520px;margin:0 0 10px;border-radius:11px;background:#ffffff1a;box-shadow:inset 0 0 0 1.5px #46e6ff80;overflow:hidden}.gauge i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#5dff7a);transition:width .6s ease}.gauge b{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;font:700 13px / 22px var(--text-font);color:#fff;text-shadow:0 1px 2px #000}.card.line{padding:12px 16px}.card.line h3{font-size:clamp(16px,2.6vmin,19px)}.card.line p{margin:0;font-size:clamp(13px,2vmin,15px);color:#b9d0f2}.round{position:fixed;width:46px;height:46px;border:0;border-radius:50%;display:none;place-items:center;font-size:20px;color:#fff;background:#060e22b3;box-shadow:0 0 0 1.5px #ffffffbf;cursor:pointer}.round.on{display:grid}#fullscreen{top:14px;right:14px}#to-menu{top:14px;left:14px}#sound{top:70px;left:14px;font-size:18px}#voice{top:126px;left:14px;font-size:20px}#voice.off{opacity:.45}#voice.off:after{content:"";position:absolute;width:30px;height:3px;border-radius:2px;background:#ff6b6b;transform:rotate(-45deg)}.page{background:linear-gradient(160deg,#0b1740,#060a1c 60%,#1c0a26)}.page .scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:78px clamp(16px,5vw,60px) 40px;-webkit-user-select:text;user-select:text}.page h1{margin:0 0 6px;font:italic 900 clamp(26px,5.2vmin,44px) var(--title-font);text-transform:uppercase;background:linear-gradient(90deg,var(--cyan),#fff 50%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.page .lead{margin:0 0 26px;max-width:60ch;font-size:clamp(15px,2.4vmin,19px);color:#b9d6ff}.page h2{margin:34px 0 14px;font:italic 900 clamp(18px,3.2vmin,26px) var(--title-font);text-transform:uppercase;color:var(--orange)}.page .back{position:fixed;top:14px;left:14px;z-index:2;font-size:clamp(13px,2vmin,16px);padding:.6em 1.2em}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:16px}.card{padding:18px 20px;border-radius:18px;background:#08122cd1;box-shadow:inset 0 0 0 1.5px var(--tone, var(--cyan)),0 0 18px -6px var(--tone, var(--cyan))}.card h3{margin:0 0 6px;font:700 clamp(19px,3vmin,23px) var(--text-font);color:var(--tone, var(--cyan))}.card .stars{float:right;font-size:18px;letter-spacing:2px;color:#ffd84d}.card p{margin:0 0 10px;font-size:clamp(14.5px,2.2vmin,17px);line-height:1.45;color:#e7f1ff}.card ul{margin:0;padding-left:1.1em;font-size:clamp(14px,2.1vmin,16px);line-height:1.5;color:#b9d0f2}.card .num{float:left;margin-right:12px;font:italic 900 40px / .9 var(--title-font);color:var(--orange)}.credits{margin-top:36px;font-size:13px;line-height:1.6;color:#ffffff8c}#title .key.story{padding:.7em 1.6em;font-size:clamp(17px,3.2vmin,28px);background:linear-gradient(180deg,#d79bff,#9b3cf0 55%,#6d1fc2);color:#fff;text-shadow:0 1px 2px rgba(40,0,70,.8);box-shadow:0 0 0 3px #f1d9ff,0 0 30px #b04dffd9}.page .card .emoji{display:block;font-size:36px;line-height:1;margin-bottom:6px}.page .card .listen{margin-top:8px;padding:6px 12px;border:0;border-radius:14px;background:#46e6ff26;color:#bdf4ff;font:600 14px var(--text-font);cursor:pointer}.page button.card.word{text-align:left;font:inherit;color:inherit;cursor:pointer;border:0}body.no-voice .listen{display:none}.gloss{color:#9ff3ff;border-bottom:2px dotted #46e6ff;cursor:pointer;pointer-events:auto}.gloss:hover{color:#fff;border-bottom-style:solid}#gloss-bubble{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);display:none;gap:14px;align-items:flex-start;width:min(520px,calc(100vw - 24px));padding:14px 16px;border-radius:18px;background:#041026f7;box-shadow:inset 0 0 0 2px #46e6ff,0 0 30px -6px #46e6ff;color:#eaf6ff;font-family:var(--text-font);z-index:60}#gloss-bubble.on{display:flex;animation:gloss-in .3s cubic-bezier(.2,1.3,.4,1) both}@keyframes gloss-in{0%{opacity:0;transform:translate(-50%,14px)}}#gloss-bubble .emoji{font-size:44px;line-height:1}#gloss-bubble .body{flex:1}#gloss-bubble b{display:block;margin-bottom:4px;font-size:20px;color:#fff}#gloss-bubble p{margin:0;font-size:16px;line-height:1.4;color:#d3e8ff}#gloss-bubble .close{border:0;background:none;color:#9fd8ff;font-size:20px;cursor:pointer}#briefing{position:fixed;top:0;right:0;bottom:0;left:0;display:none;pointer-events:none;color:#e6f6ff;font-family:var(--text-font);-webkit-user-select:none;user-select:none}#briefing.on{display:block}#briefing .console{position:absolute;left:0;right:0;bottom:0;padding:26px max(18px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:linear-gradient(to top,rgba(2,6,18,.9) 0%,rgba(2,6,18,.72) 60%,transparent 100%);pointer-events:none;animation:console-in .5s ease both}@keyframes console-in{0%{opacity:0;transform:translateY(14px)}}#briefing .head{display:flex;align-items:center;gap:8px;margin-bottom:4px;font:700 11px / 1 var(--text-font);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);opacity:.85}#briefing .led{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:led 1.1s ease-in-out infinite}@keyframes led{50%{opacity:.25}}#briefing .lines{max-width:720px;padding-right:130px;font:500 clamp(14px,2.4vmin,18px) / 1.3 "Consolas","Menlo","DejaVu Sans Mono",monospace;text-shadow:0 1px 2px #000}#briefing .line{display:flex;align-items:flex-start;gap:9px;padding:2px 0;animation:line-in .25s ease both}@keyframes line-in{0%{opacity:0;transform:translate(-6px)}}#briefing .line:nth-last-child(2){opacity:.6}#briefing .line:nth-last-child(3){opacity:.35}#briefing .line:nth-last-child(n+4){display:none}#briefing .icon{flex:0 0 15px;height:15px;margin-top:.18em;border-radius:50%;text-align:center;font-size:11px;line-height:15px}#briefing .line.running .icon{border:2px solid rgba(70,230,255,.25);border-top-color:var(--cyan);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#briefing .line.done .icon:before{content:"✓";color:#5dff7a;font-weight:700}#briefing .line.alert{color:#ffb14d;font-weight:700;animation:line-in .25s ease both,alert-blink .5s steps(2) 4}#briefing .line.alert .icon:before{content:"!";color:#ff5d3a;font-weight:900}@keyframes alert-blink{50%{color:#fff}}#briefing .line.running .text:after{content:"▮";margin-left:2px;color:var(--cyan);animation:led .7s steps(2) infinite}#briefing .checks{display:flex;flex-wrap:wrap;gap:6px 8px;padding:4px 0 2px 24px}#briefing .chip{padding:2px 9px;border-radius:10px;font:600 clamp(11px,1.9vmin,13px) var(--text-font);color:#9fc4ff;background:#46e6ff1f;box-shadow:inset 0 0 0 1px #46e6ff59;animation:line-in .25s ease both}#briefing .chip.ok:after{content:" ✓";color:#5dff7a}#briefing .chip.alert{color:#fff;background:#ff5a288c;box-shadow:inset 0 0 0 1px #ff5d3a,0 0 12px #ff5a28cc;animation:line-in .25s ease both,alert-blink .5s steps(2) 4}#briefing .chip.alert:after{content:" ⚠"}#briefing .caption{position:absolute;left:0;right:0;top:14%;padding:0 24px;text-align:center;font:italic 900 clamp(24px,5.6vmin,50px) / 1.1 var(--title-font);text-transform:uppercase;opacity:0}#briefing .caption.on{animation:caption-in .55s cubic-bezier(.2,1.4,.4,1) both}@keyframes caption-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}#briefing .caption .main,#briefing .caption .sub{display:block}#briefing .caption .sub{margin-top:.35em;font:700 clamp(15px,3vmin,26px) / 1.2 var(--text-font);font-style:normal;text-transform:none;color:#fff;text-shadow:0 0 12px rgba(0,0,0,.9),0 2px 2px #000}#briefing .caption.alert{color:#ffb14d;text-shadow:0 0 24px rgba(255,90,40,.9),0 2px 0 #4a0f00}#briefing .caption.alert .main:before{content:"⚠ "}#briefing .caption.size{top:7%;color:var(--cyan);text-shadow:0 0 18px rgba(70,230,255,.8),0 2px 0 #022}#briefing .caption.size .sub{font-family:Consolas,Menlo,DejaVu Sans Mono,monospace;font-size:clamp(30px,8vmin,72px);color:#fff;font-variant-numeric:tabular-nums}#briefing .caption.cheer{top:30%;padding:.3em 24px .45em;font-size:clamp(36px,10vmin,92px);color:#fff;text-shadow:0 0 10px #fff,0 0 28px var(--cyan),0 0 60px var(--orange),0 4px 0 #052a44;background:radial-gradient(ellipse at center,rgba(2,6,18,.82) 0%,rgba(2,6,18,.5) 55%,transparent 100%)}#briefing .caption.cheer .sub{color:var(--orange);font-size:clamp(17px,3.4vmin,30px)}#briefing .skip{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));pointer-events:auto;font-size:clamp(13px,2vmin,16px);padding:.6em 1.3em}@media(max-aspect-ratio:1 / 1){#briefing .lines{padding-right:0}#briefing .caption{top:9%}#briefing .caption.cheer{top:26%}#briefing .skip{bottom:auto;top:max(14px,env(safe-area-inset-top))}}#tour{position:fixed;top:0;right:0;bottom:0;left:0;display:none;pointer-events:none;color:#eaf6ff;font-family:var(--text-font);-webkit-user-select:none;user-select:none}#tour.on{display:block}#tour .card{--tone: var(--cyan);position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:min(380px,calc(100vw - 36px));padding:16px 20px 18px;border-radius:20px;background:#051022e6;box-shadow:inset 0 0 0 1.5px var(--tone),0 0 24px -6px var(--tone);pointer-events:auto}#tour .card.in{animation:tour-in .4s cubic-bezier(.2,1.2,.4,1) both}#tour .card.hidden{display:none}@keyframes tour-in{0%{opacity:0;transform:translateY(16px)}}#tour .path{font:700 12px / 1 var(--text-font);letter-spacing:.14em;text-transform:uppercase;color:var(--tone)}#tour .dots{display:flex;gap:5px;margin:10px 0 8px}#tour .dots span{flex:1;height:4px;border-radius:2px;background:#ffffff26}#tour .dots span.done{background:var(--tone);opacity:.6}#tour .dots span.now{background:var(--tone);box-shadow:0 0 8px var(--tone)}#tour .stop{margin:0 0 6px;font:700 clamp(22px,4vmin,30px) / 1.1 var(--text-font);color:#fff}#tour .text{margin:0 0 12px;font-size:clamp(15px,2.4vmin,18px);line-height:1.4;color:#d3e8ff}#tour .answers{display:flex;flex-direction:column;gap:10px;margin:4px 0 12px}#tour .answers:empty{display:none}#tour .answers .key{text-align:left;text-transform:none;letter-spacing:0;font-size:clamp(14px,2.3vmin,17px);padding:.6em 1.1em}#tour .answers .key.good{box-shadow:0 0 0 2px #5dff7a,0 0 18px #5dff7a99;color:#5dff7a}#tour .answers .key.bad{box-shadow:0 0 0 2px #ff5d3a,0 0 18px #ff5d3a99;color:#ff8a70}#tour .timer{height:3px;margin-bottom:14px;border-radius:2px;background:#ffffff1a;overflow:hidden}#tour .timer i{display:block;height:100%;width:100%;background:var(--tone);opacity:.7}#tour .buttons{display:flex;gap:14px;justify-content:flex-end;align-items:center}#tour .buttons .key{font-size:clamp(13px,2vmin,16px);padding:.6em 1.3em}#tour .buttons .key.go{font-size:clamp(14px,2.3vmin,18px);animation:none}@media(max-aspect-ratio:1 / 1){#tour .card{left:50%;transform:translate(-50%);width:calc(100vw - 24px)}@keyframes tour-in{0%{opacity:0;transform:translate(-50%,16px)}to{transform:translate(-50%)}}}#story{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;padding:16px;background:#0206128c;color:#eaf6ff;font-family:var(--text-font);z-index:30;-webkit-user-select:none;user-select:none}#story.on{display:flex}#story .card{width:min(560px,100%);max-height:100%;overflow-y:auto;padding:18px 22px 20px;border-radius:22px;background:#050e20f2;box-shadow:inset 0 0 0 2px #b04dff,0 0 36px -8px #b04dff}#story .card.in{animation:story-in .4s cubic-bezier(.2,1.2,.4,1) both}@keyframes story-in{0%{opacity:0;transform:translateY(16px) scale(.97)}}#story .head{display:flex;justify-content:space-between;font:700 12px / 1 var(--text-font);letter-spacing:.14em;text-transform:uppercase;color:#d9a8ff}#story .vitals{display:flex;align-items:center;gap:12px;margin:12px 0 10px}#story .face{font-size:42px;line-height:1}#story .thermo{flex:1;height:14px;border-radius:7px;background:#ffffff1f;overflow:hidden}#story .thermo i{display:block;height:100%;border-radius:7px;transition:width 1.2s ease,background 1.2s ease}#story .temp{min-width:82px;text-align:right;font:700 20px / 1 var(--text-font);font-variant-numeric:tabular-nums}#story .steps{display:flex;gap:6px;margin-bottom:10px}#story .steps span{flex:1;padding:3px 0;border-radius:8px;text-align:center;font:700 13px / 1.2 var(--text-font);color:#ffffff80;background:#ffffff14}#story .steps span.done{color:#0a1a10;background:#5dff7a}#story .steps span.now{color:#fff;background:#b04dff;box-shadow:0 0 10px #b04dff}#story .title{margin:4px 0 6px;font:700 clamp(22px,4.4vmin,30px) / 1.15 var(--text-font);color:#fff}#story .text{margin:0 0 14px;font-size:clamp(15px,2.5vmin,18px);line-height:1.45;color:#d3e8ff}#story .answers{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}#story .answers:empty{display:none}#story .answers .key{text-align:left;text-transform:none;letter-spacing:0;font-size:clamp(14px,2.4vmin,17px);padding:.6em 1.1em}#story .answers .key.good{box-shadow:0 0 0 2px #5dff7a,0 0 18px #5dff7a99;color:#5dff7a}#story .answers .key.bad{box-shadow:0 0 0 2px #ff5d3a,0 0 18px #ff5d3a99;color:#ff8a70}#story .buttons{display:flex;gap:14px;justify-content:flex-end;align-items:center;flex-wrap:wrap}#story .buttons .key{font-size:clamp(13px,2vmin,16px);padding:.6em 1.3em}#story .buttons .key.go{font-size:clamp(15px,2.4vmin,19px);animation:none}
