:root{color-scheme:dark;--night: #15192b;--night-soft: #252844;--paper: #f4e8c8;--paper-bright: #fff8e6;--ink: #181923;--cobalt: #3156b8;--red: #e54832;--mint: #86e8c6;--amber: #ffc857;--violet: #8274a6;--safe-top: max(15px, env(safe-area-inset-top));--safe-right: max(15px, env(safe-area-inset-right));--safe-bottom: max(15px, env(safe-area-inset-bottom));--safe-left: max(15px, env(safe-area-inset-left));--display: "Arial Black", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--body: "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--utility: "SFMono-Regular", "Roboto Mono", Menlo, Consolas, monospace;font-family:var(--body);font-synthesis:none}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}html{background:var(--night);text-size-adjust:100%;-webkit-text-size-adjust:100%}body{min-width:300px;background:var(--night);color:var(--paper-bright);overscroll-behavior:none;-webkit-user-select:none;user-select:none}button,kbd,output{font:inherit}button{color:inherit}#app{position:relative;isolation:isolate;background:linear-gradient(180deg,#70628e 0%,#2d3155 37%,var(--night) 100%)}#scene{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;outline:none;touch-action:none}#scene:focus-visible{box-shadow:inset 0 0 0 4px var(--amber)}.screen-texture{position:fixed;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgb(49 86 184 / 8%),transparent 13%,transparent 86%,rgb(229 72 50 / 7%)),repeating-linear-gradient(0deg,transparent 0 3px,rgb(244 232 200 / 3%) 4px 4px);box-shadow:inset 0 0 130px #0a0b1694,inset 0 0 0 1px #f4e8c826;mix-blend-mode:screen}.screen-texture:after{position:absolute;top:0;bottom:0;left:49.8%;width:1px;content:"";background:#ffffff17}.speed-lines{position:fixed;z-index:3;inset:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease}.speed-lines i{position:absolute;top:-20vh;width:2px;height:28vh;background:linear-gradient(transparent,var(--amber));transform:rotate(18deg);animation:line-rush .65s linear infinite}.speed-lines i:nth-child(1){left:8%;animation-delay:-.1s}.speed-lines i:nth-child(2){left:24%;animation-delay:-.42s}.speed-lines i:nth-child(3){left:41%;animation-delay:-.24s}.speed-lines i:nth-child(4){left:62%;animation-delay:-.51s}.speed-lines i:nth-child(5){left:78%;animation-delay:-.18s}.speed-lines i:nth-child(6){left:94%;animation-delay:-.36s}#app.is-boosting .speed-lines,#app.is-fever .speed-lines{opacity:.72}@keyframes line-rush{to{transform:translate3d(18vw,145vh,0) rotate(18deg)}}[data-game-ui]{position:fixed;z-index:5}.brand{top:var(--safe-top);left:var(--safe-left);pointer-events:none;filter:drop-shadow(0 7px 18px rgb(10 11 22 / 42%))}.brand p,.brand h1,.brand small{margin:0}.brand p{display:flex;align-items:center;gap:8px;color:#f4e8c8c7;font:800 10px/1 var(--utility);letter-spacing:.06em}.brand p span{display:inline-block;padding:6px 8px 5px;border:1px solid var(--ink);background:var(--amber);color:var(--ink);box-shadow:3px 3px 0 var(--red);transform:rotate(-2deg)}.brand h1{margin-top:12px;color:var(--paper-bright);font:900 clamp(35px,5.2vw,72px)/.78 var(--display);letter-spacing:-.09em;text-shadow:4px 4px 0 var(--cobalt)}.brand small{display:block;margin-top:13px;color:var(--mint);font:900 11px/1 var(--utility);letter-spacing:.08em}.hud{top:var(--safe-top);right:var(--safe-right);width:min(420px,42vw);border:1px solid rgb(244 232 200 / 52%);background:#15192bc7;box-shadow:7px 7px #0a0b1657;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.hud__timer{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 13px 12px;overflow:hidden;border-bottom:1px solid rgb(244 232 200 / 19%)}.hud__timer span,.hud dt{color:#f4e8c8ab;font:800 9px/1 var(--utility);letter-spacing:.1em}.hud__timer output{color:var(--amber);font:900 27px/.82 var(--display)}.hud__timer i{position:absolute;bottom:0;left:0;width:100%;height:4px;background:var(--mint);transform-origin:left center;transform:scaleX(1)}.hud dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0}.hud dl div{padding:10px 12px;border-right:1px solid rgb(244 232 200 / 16%)}.hud dl div:last-child{border-right:0}.hud dt,.hud dd{margin:0}.hud dd{margin-top:5px;color:var(--paper-bright);font:900 clamp(14px,1.8vw,20px)/1 var(--utility)}.hud .brain-stat dd{color:var(--red)}.brain-meter{height:4px;overflow:hidden;background:#ffffff14}.brain-meter i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.situation{top:17%;left:50%;width:min(570px,62vw);text-align:center;pointer-events:none;transform:translate(-50%);filter:drop-shadow(0 6px 18px rgb(10 11 22 / 72%))}.situation p,.situation h2,.situation span{margin:0}.situation p{display:inline-block;padding:5px 9px;background:var(--red);color:var(--paper-bright);font:900 10px/1 var(--utility);letter-spacing:.12em;transform:rotate(-1deg)}.situation h2{margin-top:9px;color:var(--paper-bright);font:900 clamp(22px,3.5vw,43px)/1 var(--display);letter-spacing:-.055em;text-shadow:3px 3px 0 var(--ink)}.situation span{display:block;margin-top:8px;color:var(--mint);font:800 11px/1.35 var(--body)}.lane-labels{right:13%;bottom:19%;left:13%;display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;opacity:0;pointer-events:none;transition:opacity .18s ease}#app[data-phase=playing] .lane-labels{opacity:.95}.lane-labels span{padding:5px 8px;border:1px solid rgb(244 232 200 / 44%);background:#15192bbd;color:var(--paper-bright);font:900 clamp(10px,1.3vw,14px)/1 var(--body);text-align:center;box-shadow:3px 3px #0a0b1647}.feedback{position:fixed;z-index:8;top:39%;left:50%;display:grid;justify-items:center;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.76) rotate(-4deg)}.feedback strong{padding:9px 15px 8px;background:var(--mint);color:var(--ink);font:900 clamp(28px,5vw,64px)/.9 var(--display);letter-spacing:-.08em;box-shadow:7px 7px 0 var(--cobalt)}.feedback span{margin-top:10px;padding:4px 9px;background:var(--night);color:var(--amber);font:900 14px/1 var(--utility)}.feedback.is-visible{animation:feedback-pop .95s cubic-bezier(.2,.9,.2,1) both}.feedback.is-wrong strong{background:var(--red);color:var(--paper-bright);box-shadow:7px 7px 0 var(--amber)}@keyframes feedback-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(-7deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(2deg)}70%{opacity:1;transform:translate(-50%,-58%) scale(1) rotate(-1deg)}to{opacity:0;transform:translate(-50%,-85%) scale(.93) rotate(-1deg)}}.touch-controls{right:var(--safe-right);bottom:var(--safe-bottom);left:var(--safe-left);display:grid;grid-template-columns:minmax(86px,136px) 1fr minmax(86px,136px);align-items:end;gap:14px;pointer-events:none}.touch-controls button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:10px 14px;border:1px solid rgb(244 232 200 / 55%);border-radius:0;background:#15192bc4;color:var(--paper-bright);cursor:pointer;pointer-events:auto;box-shadow:5px 5px #0a0b165c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.touch-controls button:hover,.touch-controls button:focus-visible{border-color:var(--amber);outline:2px solid var(--amber);outline-offset:2px}.touch-controls button:active{transform:translate(3px,3px);box-shadow:2px 2px #0a0b165c}.touch-controls button span{color:var(--amber);font:900 25px/1 var(--utility)}.touch-controls button small{font:800 11px/1 var(--body)}.touch-controls p{align-self:center;justify-self:center;margin:0;color:#f4e8c8a6;font:700 10px/1 var(--utility);text-align:center}.touch-controls p span{margin-left:8px}kbd{display:inline-block;min-width:20px;margin:0 2px;padding:3px 5px;border:1px solid currentColor;background:#f4e8c814;font:800 9px/1 var(--utility);text-align:center}.overlay-card{position:fixed;z-index:10;top:50%;left:50%;width:min(680px,calc(100vw - 34px));max-height:calc(100vh - 34px);padding:clamp(25px,5vw,48px);overflow:auto;border:2px solid var(--ink);background:linear-gradient(rgb(24 25 35 / 4%) 1px,transparent 1px) 0 0 / 100% 28px,var(--paper);color:var(--ink);box-shadow:0 0 0 5px var(--paper),14px 14px #0a0b168f;transform:translate(-50%,-50%) rotate(-.45deg)}.overlay-card:after{position:absolute;right:18px;bottom:16px;width:70px;height:70px;border:5px double rgb(229 72 50 / 32%);border-radius:50%;content:"008";color:#e548325c;font:900 16px/70px var(--utility);text-align:center;transform:rotate(-17deg)}.case-label{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:5px 9px;border:1px solid var(--ink);font:800 10px/1 var(--utility);letter-spacing:.03em}.case-label span{padding:3px 5px;background:var(--red);color:var(--paper-bright)}.overlay-card__eyebrow{margin:26px 0 0;color:var(--cobalt);font:900 11px/1 var(--utility);letter-spacing:.13em}.overlay-card h2{margin:11px 0 0;font:900 clamp(42px,8vw,82px)/.92 var(--display);letter-spacing:-.095em}.overlay-card h2 em{color:var(--red);font-style:normal}.intro-card__copy,.result-card>p:not(.overlay-card__eyebrow){max-width:535px;margin:24px 0 0;font-size:clamp(14px,2vw,17px);font-weight:650;line-height:1.65}.chain-preview,.result-chain{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:22px;font:900 12px/1 var(--utility)}.chain-preview span,.chain-preview b,.result-chain{padding:7px 9px;border:1px solid var(--ink);background:var(--paper-bright)}.chain-preview b{background:var(--amber)}.chain-preview i{color:var(--red);font-style:normal}.overlay-card button{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(100%,410px);margin-top:27px;padding:16px 18px;border:2px solid var(--ink);border-radius:0;background:var(--cobalt);color:var(--paper-bright);cursor:pointer;font-weight:900;box-shadow:6px 6px 0 var(--ink)}.overlay-card button:hover,.overlay-card button:focus-visible{background:var(--red);outline:3px solid var(--amber);outline-offset:3px}.overlay-card button:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--ink)}.result-card{display:none}.result-card h2{color:var(--red)}.result-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:24px 0 0;background:var(--ink);border:1px solid var(--ink)}.result-card dl div{padding:13px;background:var(--paper-bright)}.result-card dt,.result-card dd{margin:0}.result-card dt{color:#1819239e;font:800 9px/1 var(--utility);letter-spacing:.08em}.result-card dd{margin-top:7px;font:900 21px/1 var(--utility)}#app[data-phase=ready] [data-game-ui]:not(.brand),#app[data-phase=result] [data-game-ui],#app[data-phase=ready] .feedback{visibility:hidden}#app[data-phase=playing] .intro-card,#app[data-phase=result] .intro-card{display:none}#app[data-phase=result] .result-card{display:block;animation:card-arrive .36s cubic-bezier(.18,.85,.3,1.12) both}#app.is-fever .hud,#app.is-fever .situation p{border-color:var(--amber);box-shadow:0 0 34px #ffc85752}#app.is-danger .hud{border-color:var(--red);animation:danger-pulse .48s steps(2,end) infinite}#app.is-wrong{animation:wrong-jolt .26s linear}@keyframes card-arrive{0%{opacity:0;transform:translate(-50%,-46%) rotate(-3deg) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) rotate(-.45deg) scale(1)}}@keyframes danger-pulse{50%{box-shadow:0 0 35px #e5483273}}@keyframes wrong-jolt{25%{transform:translate(-5px)}50%{transform:translate(7px)}75%{transform:translate(-3px)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.brand h1{font-size:37px}.brand small{display:none}.hud{width:min(54vw,330px)}.hud__timer{padding:8px 9px 10px}.hud__timer span{display:none}.hud dl div{padding:8px}.hud dt{font-size:8px}.hud dd{font-size:12px}.situation{top:20%;width:88vw}.situation h2{font-size:25px}.situation span{font-size:10px}.lane-labels{right:4%;bottom:23%;left:4%;gap:2vw}.touch-controls{grid-template-columns:1fr 1fr}.touch-controls p{display:none}.touch-controls button{min-height:55px}.overlay-card{padding:27px 22px 25px}.overlay-card h2{font-size:clamp(41px,13vw,62px)}.case-label{font-size:8px}.chain-preview{gap:5px}.chain-preview span,.chain-preview b{padding:6px}}@media(max-height:670px){.situation{top:14%}.overlay-card{padding-top:22px;padding-bottom:22px}.overlay-card__eyebrow{margin-top:18px}.overlay-card h2{font-size:clamp(38px,8vh,63px)}.intro-card__copy,.result-card>p:not(.overlay-card__eyebrow),.chain-preview,.result-chain,.result-card dl,.overlay-card button{margin-top:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
