html,body{background:#05070d;height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}html,body,#app{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}#app canvas{touch-action:none;width:100%;height:100%;display:block}.webgl-error{box-sizing:border-box;color:#e8ecf5;text-align:center;word-break:keep-all;overflow-wrap:anywhere;width:max-content;max-width:min(90vw,480px);padding:20px 24px;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:16px;line-height:1.5;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.webgl-error__title{margin:0 0 12px;font-size:22px}.webgl-error__message{margin:0}.boost-button{left:calc(20px + env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));z-index:10;box-sizing:border-box;color:#e8ecf5;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#ffffff24;border:2px solid #ffffff73;border-radius:50%;width:84px;height:84px;padding:0;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:15px;font-weight:700;position:fixed}.boost-button[hidden]{display:none}.boost-button[aria-pressed=true]{background:#ffaa3c73}@media (width<=359.98px),(height<=359.98px){.boost-button{width:72px;height:72px}}.fps-overlay{top:calc(max(12px, env(safe-area-inset-top)) + 56px);z-index:15;box-sizing:border-box;color:#e8ecf5;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0a0e1c99;border-radius:8px;max-width:calc(100vw - 24px);padding:4px 8px;font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.screen,.hud{--ink:#e8ecf5;--ink-dim:#aab3c8;--accent:#39d98a;--accent-ink:#05210f;--gold:#ffd166;color:var(--ink);-webkit-font-smoothing:antialiased;word-break:keep-all;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}.screen{z-index:20;box-sizing:border-box;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;animation:.2s ease-out both screen-in;display:flex;position:fixed;inset:0}.screen[hidden]{display:none}@media (width<=539px){.screen{padding-top:calc(max(12px, env(safe-area-inset-top)) + 52px)}}.screen.is-leaving{pointer-events:none;animation:.2s ease-in both screen-out}.screen--result{background:radial-gradient(#05070d26,#05070d99)}.screen--title{background:radial-gradient(#05070d00 30%,#05070d8c)}@keyframes screen-in{0%{opacity:0}to{opacity:1}}@keyframes screen-out{0%{opacity:1}to{opacity:0}}.panel{box-sizing:border-box;background:#0a0e1cd6;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;gap:14px;width:min(92vw,420px);max-height:100%;padding:24px;animation:.26s cubic-bezier(.2,.9,.3,1.2) both panel-in;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff0f}@keyframes panel-in{0%{transform:translateY(12px)scale(.97)}to{transform:none}}.title-mark{justify-content:center;gap:4px;height:22px;display:flex}.title-mark span{background:var(--accent);border-radius:50%;width:14px;height:14px;animation:1.6s ease-in-out infinite mark-wave;box-shadow:0 0 10px #39d98a99}.title-mark span:first-child{width:18px;height:18px;animation-delay:0s}.title-mark span:nth-child(2){background:#2fc57b;animation-delay:-.15s}.title-mark span:nth-child(3){background:#4da3ff;animation-delay:-.3s;box-shadow:0 0 10px #4da3ff99}.title-mark span:nth-child(4){background:#ffd23d;animation-delay:-.45s;box-shadow:0 0 10px #ffd23d99}.title-mark span:nth-child(5){background:#ff6b3d;animation-delay:-.6s;box-shadow:0 0 10px #ff6b3d99}.title-mark span:nth-child(6){background:#c266ff;animation-delay:-.75s;box-shadow:0 0 10px #c266ff99}@keyframes mark-wave{0%,to{transform:translateY(2px)}50%{transform:translateY(-4px)}}.title-heading{text-align:center;letter-spacing:-.02em;background:linear-gradient(100deg,#6dffb5 0%,#39d98a 40%,#7cc4ff 100%);color:#0000;text-shadow:none;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(28px,8vw,48px);font-weight:800;line-height:1.1}.howto{color:var(--ink);flex-direction:column;gap:6px;margin:0;padding:0;font-size:15px;line-height:1.4;list-style:none;display:flex}.howto li{padding-left:18px;position:relative}.howto li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:.5em;left:2px}.best-row{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:baseline;padding:10px 14px;display:flex}.best-label{color:var(--ink-dim);font-size:15px}.best-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.btn-primary{box-sizing:border-box;background:var(--accent);width:100%;min-height:52px;color:var(--accent-ink);font:inherit;cursor:pointer;border:0;border-radius:14px;margin-top:2px;padding:0 20px;font-size:18px;font-weight:700;transition:transform .12s,box-shadow .12s,background-color .12s;box-shadow:0 8px 22px #39d98a59,inset 0 -2px #0000001f}.btn-primary:hover{background:#4ae69a;box-shadow:0 10px 28px #39d98a73,inset 0 -2px #0000001f}.btn-primary:active{transform:translateY(1px)scale(.99)}.btn-primary:focus{outline:none}.btn-primary:focus-visible{outline-offset:3px;outline:3px solid #ffffff80}.result-heading{text-align:center;letter-spacing:-.01em;margin:0;font-size:30px;font-weight:800}.result-cause{text-align:center;color:#ffb3a1;margin:-6px 0 0;font-size:16px}.stats{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;margin:0;display:flex;overflow:hidden}.stat{grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:8px 14px;display:grid}.stat+.stat{border-top:1px solid #ffffff0f}.stat dt{color:var(--ink-dim);white-space:nowrap;font-size:15px}.stat dd{font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;margin:0;font-size:22px;font-weight:700;display:flex}.stat--main dd{color:#6dffb5;font-size:26px}.stat-sep{color:var(--ink-dim);white-space:pre;font-weight:500}.badge{background:var(--gold);color:#2a1e00;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;line-height:1.3;display:inline-block;box-shadow:0 0 14px #ffd16680}.badge[hidden]{display:none}.hud{z-index:10;box-sizing:border-box;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));pointer-events:none;-webkit-user-select:none;user-select:none;gap:8px;display:flex;position:fixed;top:0;left:0}.hud[hidden]{display:none}.hud-pill{background:#0a0e1c8c;border:1px solid #ffffff14;border-radius:999px;align-items:baseline;gap:8px;padding:6px 14px;display:flex}.hud-label{color:var(--ink-dim);font-size:13px}.hud-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}@media (width<=360px),(height<=480px){.panel{gap:10px;padding:16px}}@media (width<=360px){.hud-value{font-size:16px}.hud-pill{padding:5px 11px}.howto{font-size:14px}}@media (height<=480px){.title-mark{display:none}.title-heading{font-size:30px}.howto{gap:3px;font-size:14px}.best-row{padding:6px 12px}.result-heading{font-size:24px}.stat{padding:4px 14px}.stat dd{font-size:18px}.stat--main dd{font-size:20px}}@media (height<=480px) and (width>=600px){.panel--result{width:min(92vw,560px)}.panel--result .stats{grid-template-columns:1fr 1fr;display:grid}.panel--result .stat--main{grid-column:1/-1}.panel--result .stat+.stat{border-top:1px solid #ffffff0f}}@media (prefers-reduced-motion:reduce){.screen,.screen.is-leaving,.panel,.title-mark span{animation:none}.btn-primary{transition:none}}.lb{--ink:#e8ecf5;--ink-dim:#aab3c8;--gold:#ffd166;top:calc(max(12px, env(safe-area-inset-top)) + 52px);right:max(12px, env(safe-area-inset-right));z-index:10;box-sizing:border-box;width:220px;color:var(--ink);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #0000008c;-webkit-font-smoothing:antialiased;pointer-events:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#18203a9e,#0a0e1c8c);border:1px solid #ffffff1f;border-radius:12px;padding:6px 8px 8px;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:14px;position:fixed;box-shadow:0 12px 32px #00000059,inset 0 1px #ffffff14}.lb[hidden],.lb [hidden]{display:none}.lb-head{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:24px;margin-bottom:4px;padding:0 0 0 6px;display:flex}.lb.is-collapsed .lb-head{margin-bottom:2px}.lb-title{letter-spacing:.08em;color:var(--ink-dim);font-size:12px;font-weight:700}.lb-toggle{box-sizing:border-box;width:32px;height:32px;color:var(--ink-dim);font:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;margin:-4px -6px -4px 0;padding:0;font-size:11px;line-height:1}@media (hover:hover){.lb-toggle:hover{color:var(--ink);background:#ffffff14}}@media (pointer:coarse){.lb-toggle{width:44px;height:44px;margin:-10px -8px -10px 0}}.lb-summary{color:var(--gold);white-space:nowrap;background:#ffd16638;border-radius:6px;padding:3px 6px;font-weight:700}.lb-list{margin:0;padding:0;list-style:none}.lb-list--self{border-top:1px dashed #fff3;margin-top:4px;padding-top:4px}.lb-row{border-radius:6px;grid-template-columns:22px 8px minmax(0,1fr) auto;align-items:center;column-gap:7px;height:22px;padding:0 6px;display:grid}.lb-rank{text-align:right;color:var(--ink-dim);font-weight:600}.lb-row.is-podium .lb-rank{color:var(--ink);font-weight:800}.lb-dot{border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 1px #05070d80}.lb-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lb-length{text-align:right;min-width:5ch;font-weight:700}.lb-row[data-self=true]{color:var(--gold);background:#ffd16638;font-weight:700}.lb-row[data-self=true] .lb-rank{color:var(--gold)}.lb.is-compact{width:150px;padding:4px 6px 6px;font-size:12px}.lb.is-compact .lb-head{height:22px;padding-left:4px}.lb.is-compact .lb-row{border-radius:5px;grid-template-columns:16px 8px minmax(0,1fr) auto;column-gap:5px;height:18px;padding:0 4px}.lb.is-compact .lb-dot{width:8px;height:8px}.lb.is-compact .lb-length{min-width:4ch}.minimap{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:10;pointer-events:none;border-radius:50%;display:block;position:fixed;box-shadow:0 0 0 1px #ffffff24,0 10px 28px #0006}#app .minimap[hidden]{display:none}.nick{flex-direction:column;gap:6px;display:flex}.nick-label{color:var(--ink-dim);font-size:14px}.nick-row{align-items:center;display:flex;position:relative}.nick-bead{pointer-events:none;background:radial-gradient(circle at 35% 30%,#b8ffd9 0%,#39d98a 45%,#1f8f5a 100%);border-radius:50%;width:26px;height:26px;position:absolute;left:12px;box-shadow:0 0 12px #39d98a73}.nick-bead:before,.nick-bead:after{content:"";background:radial-gradient(circle at 65%,#111 0 2px,#fff 2.5px);border-radius:50%;width:7px;height:7px;position:absolute;top:6px}.nick-bead:before{left:8px}.nick-bead:after{left:15px}.nick-input{box-sizing:border-box;width:100%;min-height:52px;color:var(--ink);font:inherit;letter-spacing:.01em;caret-color:var(--accent);-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;touch-action:manipulation;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;padding:0 16px 0 50px;font-size:18px;font-weight:600;transition:border-color .12s,background-color .12s,box-shadow .12s}.nick-input::placeholder{color:#aab3c899;font-weight:400}.nick-input:focus{border-color:var(--accent);background:#39d98a14;outline:none;box-shadow:0 0 0 3px #39d98a38}.nick-input[aria-invalid=true],.nick-input[aria-invalid=true]:focus{border-color:#ff8fa3;box-shadow:0 0 0 3px #ff8fa32e}.nick-input:read-only{opacity:.7}.nick-error{color:#ffb3a1;margin:0;padding-left:16px;font-size:14px;line-height:1.4}.nick-error[hidden]{display:none}.ai-note{text-align:center;color:var(--ink-dim);margin:-4px 0 0;font-size:13px;line-height:1.45}.gpu-hint{border-left:3px solid var(--gold);color:#f1e3bd;background:#ffd16612;border-radius:2px 10px 10px 2px;align-items:center;gap:6px;margin:-2px 0 0;padding:4px 4px 4px 12px;font-size:13px;line-height:1.4;display:flex}.gpu-hint[hidden]{display:none}.gpu-hint-text{overflow-wrap:anywhere;flex:1;min-width:0}.gpu-hint-close{width:32px;height:32px;color:var(--ink-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:20px;line-height:1;transition:background-color .12s,color .12s;display:grid}.gpu-hint-close:hover{color:var(--ink);background:#ffd16624}.gpu-hint-close:focus{outline:none}.gpu-hint-close:focus-visible{outline:2px solid var(--gold);outline-offset:1px}@media (pointer:coarse){.gpu-hint-close{width:40px;height:40px}}.btn-primary:disabled,.btn-primary.is-busy{cursor:progress;opacity:.75;box-shadow:none;transform:none}.btn-secondary{box-sizing:border-box;color:#6dffb5;width:100%;min-height:48px;font:inherit;cursor:pointer;background:0 0;border:1px solid #39d98a8c;border-radius:14px;padding:0 20px;font-size:16px;font-weight:700;transition:background-color .12s}.btn-secondary:hover{background:#39d98a1a}.btn-secondary:focus{outline:none}.btn-secondary:focus-visible{outline-offset:3px;outline:3px solid #ffffff80}.btn-secondary[hidden]{display:none}.notice{top:max(12px, env(safe-area-inset-top));z-index:30;box-sizing:border-box;color:#e8ecf5;text-align:center;word-break:keep-all;overflow-wrap:anywhere;pointer-events:none;background:#0a0e1ceb;border:1px solid #ffd16659;border-radius:14px;max-width:min(92vw,480px);margin:0;padding:10px 18px;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:15px;line-height:1.4;animation:.22s ease-out both notice-in;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0006}.notice[hidden]{display:none}@media (width<=599px),(height<=499px){.notice{top:calc(max(12px, env(safe-area-inset-top)) + 56px);left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));max-width:none;animation-name:notice-in-narrow;transform:none}.lb:not([hidden])~.notice{right:calc(max(12px, env(safe-area-inset-right)) + 158px);text-align:start;padding:8px 12px;font-size:14px}}@keyframes notice-in-narrow{0%{opacity:0}to{opacity:1}}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (height<=480px){.nick-input{min-height:44px}.ai-note,.gpu-hint{font-size:12px}}@media (prefers-reduced-motion:reduce){.notice{animation:none}.nick-input,.btn-secondary,.gpu-hint-close{transition:none}}.mute-button{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:30;box-sizing:border-box;color:#e8ecf5;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#0a0e1c8c;border:1px solid #ffffff24;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin:0;padding:0;display:flex;position:fixed}.mute-button:hover{background:#ffffff1f}.mute-button[aria-pressed=true]{color:#aab3c8}.mute-button .mute-x,.mute-button[aria-pressed=true] .mute-waves{display:none}.mute-button[aria-pressed=true] .mute-x{display:inline}
