:root{--bg:#1b2232;--ink:#0e121b;--text:#f4f1ea;--muted:#a9b1c3;--yellow:#ffd23f;--green:#3ddc97;--pink:#ff5d73}*{box-sizing:border-box;margin:0}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,system-ui,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}body{overscroll-behavior:none;overflow:hidden}.stage{width:100vw;height:100vh;place-items:center;height:100dvh;display:grid;position:relative}#game{width:100vw;height:100vh;touch-action:none;visibility:hidden;outline:none;height:100dvh;display:block;position:fixed;top:0;bottom:0;left:0;right:0}body.is-playing #game{visibility:visible}.screen{width:min(100vw,560px);height:100vh;text-align:center;background:linear-gradient(#0b0f1c00 0%,#0b0f1c73 38%,#0b0f1cb8 100%);flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100dvh;margin:auto;padding:28px 22px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.screen h1,.screen h2,.screen .desc,.screen .tagline{text-shadow:0 2px 14px #000000bf}@media (min-width:560px){.screen{border-radius:22px}}.screen[hidden],.nowebgl[hidden]{display:none}.kicker{letter-spacing:.12em;color:var(--muted);font-size:14px}h1{letter-spacing:-.03em;font-size:clamp(38px,10vw,54px);font-weight:900;line-height:1.12}h2{color:var(--yellow);font-size:clamp(32px,8.5vw,44px);font-weight:900}.tagline{color:var(--yellow);font-size:20px;font-weight:700}.desc{color:#d6dae4;max-width:30em;font-size:16.5px;line-height:1.7}.btn{width:min(100%,340px);min-height:54px;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:14px;font-size:18px;font-weight:800}.btn--main{background:var(--yellow);color:var(--ink);box-shadow:0 6px #c49a12}.btn--main:active{transform:translateY(3px);box-shadow:0 3px #c49a12}.btn--ghost{color:var(--text);background:0 0;border-color:#ffffff4d}.btn--text{color:var(--muted);background:0 0;border:0;min-height:44px;font-size:16px;text-decoration:underline}.btn:focus-visible{outline:3px solid var(--green);outline-offset:3px}input:focus-visible{outline:3px solid var(--green);outline-offset:3px}.today{color:var(--green);font-size:15px}.toggles{color:#d6dae4;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:15.5px;display:flex}.toggles input{vertical-align:-4px;width:20px;height:20px;accent-color:var(--yellow);margin-right:4px}.foot{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.6}.foot a{color:var(--text)}.care{color:#d6dae4}.nums{grid-template-columns:1fr 1fr;gap:12px;width:min(100%,340px);display:grid}.nums div{background:#00000040;border-radius:12px;padding:12px}.nums dt{color:var(--muted);font-size:14px}.nums dd{font-size:28px;font-weight:900}.grid{letter-spacing:2px;font-family:inherit;font-size:26px;line-height:1.25}.nowebgl{text-align:center;font-size:18px;position:absolute;top:auto;bottom:40%;left:20px;right:20px}.toast{opacity:0;color:#fff;pointer-events:none;background:#0e121b;border-radius:12px;max-width:90vw;padding:12px 18px;font-size:15px;transition:all .25s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.toast.is-show{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.toast{transition:none}}.backdrop{width:100vw;height:100vh;z-index:0;height:100dvh;position:fixed;top:0;bottom:0;left:0;right:0}#game{z-index:1}.screen,.intro,.nowebgl{z-index:3}.intro{cursor:pointer;z-index:5;background:radial-gradient(at 50% 55%,#0b0f1c8c,#0b0f1c26 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .45s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.intro[hidden]{display:none}.intro.is-out{opacity:0}.intro__line{letter-spacing:-.02em;color:#f4f1ea;opacity:0;filter:blur(6px);text-shadow:0 4px 30px #0009;font-size:clamp(34px,9vw,60px);font-weight:900;transition:opacity 1s,transform 1s,filter 1s;transform:translateY(14px)}.intro__line--2{color:var(--yellow)}.intro__line.is-in{opacity:1;filter:none;transform:none}.intro__skip{bottom:max(28px, env(safe-area-inset-bottom));color:var(--muted);font-size:14px;position:absolute}.intro.is-calm,.intro.is-calm .intro__line{filter:none;transition:none;transform:none}.record{letter-spacing:.04em;color:#d6dae4;font-size:17px}.weak{color:var(--pink);font-size:16px;font-weight:700}.weak[hidden]{display:none}.sheet{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05070df5;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.sheet[hidden]{display:none}.sheet__box{text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(100%,420px);max-height:100%;display:flex;overflow-y:auto}.sheet__box p{font-size:17px;line-height:1.6}.sheet__box img{border-radius:12px;width:100%}.sheet__box textarea{width:100%;font:inherit;color:#f4f1ea;background:#0e121b;border:1px solid #ffffff40;border-radius:12px;padding:12px;font-size:16px}.sheet__box [hidden]{display:none}.challenge{color:#e6f7fd;background:#4cc9f01a;border:2px dashed #4cc9f0b3;border-radius:12px;width:min(100%,340px);padding:12px 14px;font-size:16px;line-height:1.55}.challenge[hidden],.vs[hidden]{display:none}.vs{color:var(--cyan,#4cc9f0);font-size:18px;font-weight:800}body.is-playing .backdrop{display:none}.screen--clear{background:#080b14e6}.howto{color:#d6dae4;text-align:left;width:min(100%,340px);font-size:14.5px;line-height:1.6}.howto summary{cursor:pointer;text-align:center;color:var(--muted)}.howto p{margin-top:6px}.chapters{flex-direction:column;gap:10px;width:min(100%,380px);padding:0;list-style:none;display:flex}.chapters button{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:#0e121bbf;border:1px solid #ffffff2e;border-radius:14px;grid-template-columns:1fr auto;gap:2px 10px;padding:14px 16px;display:grid}.chapters button:disabled{opacity:.45;cursor:not-allowed}.chapters b{font-size:17px}.chapters small{color:var(--muted);grid-column:1;font-size:13.5px}.chapters i{color:var(--yellow);grid-area:1/2/span 2;align-self:center;font-size:26px;font-style:normal;font-weight:900}.loadbar{background:#ffffff26;border-radius:3px;width:min(80%,280px);height:6px;overflow:hidden}.loadbar span{background:var(--yellow);width:0;height:100%;transition:width .2s;display:block}.hint{color:var(--muted);font-size:14px}.hud{z-index:2;pointer-events:none;font-weight:800;position:fixed;top:0;bottom:0;left:0;right:0}.hud[hidden]{display:none}.hud__top{top:max(10px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));text-shadow:0 2px 6px #000c;align-items:center;gap:14px;font-size:16px;display:flex;position:absolute}.hud__ch{color:#d6dae4;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.hud__time{font-variant-numeric:tabular-nums;color:#d6dae4}.hud__pause{pointer-events:auto;color:#fff;width:44px;height:44px;font:inherit;cursor:pointer;background:#0e121b99;border:1px solid #ffffff4d;border-radius:12px;font-size:16px}.gauge{top:calc(max(10px, env(safe-area-inset-top)) + 52px);left:max(12px, env(safe-area-inset-left));background:#00000073;border:1px solid #ffffff40;border-radius:6px;width:150px;height:12px;position:absolute;overflow:hidden}.gauge span{transform-origin:0;background:linear-gradient(90deg,#4cc9f0,#3ddc97);width:100%;height:100%;display:block}.gauge em{color:#a9dff0;white-space:nowrap;text-shadow:0 1px 4px #000;font-size:12px;font-style:normal;position:absolute;top:-3px;left:158px}.banner{text-align:center;opacity:0;width:92vw;transition:opacity .2s;position:absolute;top:24%;left:50%;transform:translate(-50%)}.banner.is-show{opacity:1}.banner b{color:var(--yellow);text-shadow:0 4px 24px #000c;letter-spacing:-.02em;font-size:clamp(30px,7vw,56px);font-weight:900;display:block}.banner span{color:#fff;text-shadow:0 2px 10px #000000e6;margin-top:6px;font-size:clamp(17px,3.6vw,24px);display:block}.rotate{text-align:center;color:var(--muted);font-size:13px;display:none;position:absolute;top:96px;left:0;right:0}@media (orientation:portrait) and (pointer:coarse){.rotate{display:block}}.pad{padding:0 max(14px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute;bottom:0;left:0;right:0}@media (pointer:coarse){.pad{display:flex}}body.force-pad .pad{display:flex}.pad>div{pointer-events:auto;touch-action:none;gap:12px;display:flex}.pad__r{align-items:flex-end}.pad button{-webkit-touch-callout:none;color:#fff;width:76px;height:76px;font:inherit;-webkit-user-select:none;user-select:none;touch-action:none;background:#0e121b73;border:2px solid #ffffff59;border-radius:50%;font-size:22px;font-weight:900}.pad .pad__jump{background:#ffd23f47;border-color:#ffd23fb3;width:92px;height:92px;font-size:18px}.pad .pad__slow{background:#4cc9f038;border-color:#4cc9f099;width:64px;height:64px;font-size:14px}.pad button.is-down{background:#ffffff59;transform:scale(.94)}.grade{color:var(--yellow);text-shadow:0 4px 24px #ffd23f59;font-size:64px;font-weight:900;line-height:1}.nums--3{grid-template-columns:1fr 1fr 1fr;width:min(100%,380px)}.nums--3 dd{font-size:20px}.hintbar{left:50%;top:calc(max(10px, env(safe-area-inset-top)) + 78px);color:#fff;text-align:center;opacity:0;background:#080b14b8;border:1px solid #ffd23f73;border-radius:12px;max-width:92vw;padding:9px 16px;font-size:15.5px;font-weight:700;transition:opacity .3s;position:absolute;transform:translate(-50%)}.hintbar.is-show{opacity:1}body.has-hint .rotate{visibility:hidden}body.is-cinema #game{visibility:visible}body.is-cinema .backdrop{display:none}body.is-cinema #screen-ending{background:linear-gradient(#080b1400 0%,#080b148c 45%,#080b14d9 100%)}.screen--story{padding-bottom:max(28px, env(safe-area-inset-bottom));background:linear-gradient(#080b1400 0%,#080b1440 30%,#080b14e0 70%,#080b14f2 100%);justify-content:flex-end;gap:12px}.story{text-align:left;flex-direction:column;gap:10px;max-width:32em;display:flex}.story p{color:#eef0f5;text-shadow:0 2px 10px #000c;opacity:0;font-size:16.5px;line-height:1.7;animation:.7s forwards line-in;transform:translateY(8px)}@keyframes line-in{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.story p,.story__q,.story__opts{opacity:1;animation:none;transform:none}}body.is-calm-ui .story p,body.is-calm-ui .story__q,body.is-calm-ui .story__opts{opacity:1;animation:none;transform:none}.story__q,.story__opts{opacity:0;animation:.6s forwards line-in}.story__q{color:var(--yellow);min-height:1em;font-size:19px;font-weight:900}.story__opts{flex-direction:column;gap:10px;width:min(100%,380px);display:flex}.story__opts .btn{height:auto;padding:12px 14px;line-height:1.35}.story__opts .btn small{opacity:.8;margin-top:3px;font-size:13.5px;font-weight:600;display:block}.nums--4{grid-template-columns:repeat(4,1fr);gap:8px;width:min(100%,420px)}.nums--4 dd{font-size:18px}.nums--4 div{padding:10px 6px}.endings button{cursor:default}.endings .is-locked b{color:var(--muted)}.chapters .part{letter-spacing:.14em;color:var(--muted);text-align:left;margin-top:8px;font-size:13px}.pad .pad__attack{visibility:hidden;pointer-events:none;background:#ff785047;border-color:#ffa05acc;width:70px;height:70px;font-size:15px}body.has-power .pad .pad__attack{visibility:visible;pointer-events:auto}.hud__kills[hidden]{display:none}@media (orientation:portrait){.pad .pad__r{grid-template-rows:auto auto;grid-template-columns:auto auto;place-items:end center;gap:10px;display:grid}.pad .pad__jump{grid-area:1/2/span 2;align-self:end}.pad .pad__slow{grid-area:1/1}.pad .pad__attack{grid-area:2/1}}@media (orientation:portrait) and (max-width:370px){.pad .pad__jump{width:84px;height:84px}}body.has-banner .hintbar{opacity:0}.stick{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:52vw;height:62%;position:fixed;bottom:0;left:0}.stick__base{left:calc(max(14px, env(safe-area-inset-left)) + 62px);top:calc(100% - max(16px, env(safe-area-inset-bottom)) - 62px);opacity:.75;pointer-events:none;background:radial-gradient(circle,#0e121b40,#0e121b80);border:2px solid #ffffff4d;border-radius:50%;width:124px;height:124px;margin:-62px 0 0 -62px;transition:opacity .15s;position:absolute}.stick.is-active .stick__base{opacity:1;transition:none}.stick__knob{background:#ffffff52;border:2px solid #fff9;border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%;box-shadow:0 2px 10px #0006}.stick__arrow{color:#ffffff8c;font-size:15px;position:absolute;top:50%;transform:translateY(-50%)}.stick__arrow--l{left:9px}.stick__arrow--r{right:9px}.stick[data-dir="-1"] .stick__arrow--l,.stick[data-dir="1"] .stick__arrow--r{color:var(--yellow)}.pad{pointer-events:none}.pad .pad__r{z-index:1;margin-left:auto;position:relative}
