:root{--bg:#000;--glass:#0c0d10b8;--text:#f4f3ef;--muted:#9a9c9f;--border:#fff4d62e;--accent:#ffd98a;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-tap-highlight-color:transparent;font-family:Pretendard,Noto Sans KR,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;margin:0;overflow:hidden}body{width:100%;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,.scrub:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{height:100dvh;position:fixed;inset:0}.view{background:var(--bg);touch-action:none;cursor:grab;position:absolute;inset:0}.view:active{cursor:grabbing}.view canvas{display:block}.icon-btn{border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding:0;font-size:20px;line-height:1;display:grid}.icon-btn.sm{width:36px;height:36px;font-size:18px}.pill-btn{border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;border-radius:999px;height:44px;padding:0 13px;font-size:13px;font-weight:700}.pill-btn[aria-pressed=true]{background:var(--text);color:#000;border-color:var(--text)}.labels3d{pointer-events:none;position:absolute;inset:0;overflow:hidden}.lbl3d{white-space:nowrap;color:var(--muted);will-change:transform;text-shadow:0 1px 3px #000,0 0 6px #000;font-size:12px;font-weight:600;position:absolute;top:0;left:0}.lbl3d.on{color:var(--accent);font-weight:800}.hud{z-index:6;padding:calc(var(--safe-t) + 14px) max(16px, env(safe-area-inset-right,0px)) 0 max(16px, env(safe-area-inset-left,0px));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.hud-main{white-space:nowrap;font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;min-width:0;display:flex}#hud-t{letter-spacing:-.02em;text-shadow:0 0 14px #000,0 0 4px #000;font-size:34px;font-weight:800;line-height:1.1}.hud-name{text-shadow:0 0 8px #000,0 0 3px #000;font-size:13px;font-weight:700}.hud-env{color:var(--muted);text-shadow:0 0 8px #000,0 0 3px #000;font-size:12px;font-weight:500}.hud-env b{color:var(--accent);font-weight:700}.hud-right{pointer-events:auto;flex:none;gap:6px;display:flex}@media (width>=900px){#hud-t{font-size:46px}.hud{padding-top:22px;padding-left:28px;padding-right:28px}}.toast{z-index:7;text-align:center;pointer-events:none;text-shadow:0 0 16px #000,0 0 5px #000;width:fit-content;max-width:calc(100% - 32px);margin:0 auto;animation:3.6s both toast;position:absolute;top:42%;left:16px;right:16px}.toast strong{letter-spacing:-.03em;font-size:30px;font-weight:900;display:block}.toast span{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}@keyframes toast{0%{opacity:0;transform:translateY(8px)}10%,75%{opacity:1;transform:none}to{opacity:0}}.dock{z-index:6;padding:22px max(16px, env(safe-area-inset-right,0px)) calc(var(--safe-b) + 12px) max(16px, env(safe-area-inset-left,0px));background:linear-gradient(#0000,#000000d1);flex-direction:column;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.dock-row{align-items:center;gap:8px;width:min(100%,640px);margin:0 auto;display:flex}.scrub{touch-action:none;cursor:pointer;flex:1;align-items:center;min-width:0;height:36px;display:grid}.scrub-track{background:#fff3;border-radius:2px;height:3px;position:relative}#scrub-fill{background:var(--accent);border-radius:2px;width:0;position:absolute;top:0;bottom:0;left:0}#scrub-ticks i{background:#ffffff8c;border-radius:1px;width:2px;height:9px;margin-left:-1px;position:absolute;top:-3px}#scrub-ticks s{background:#ffd98a38;border-radius:3px;height:7px;position:absolute;top:-2px}#scrub-ticks i.big{background:#fff;height:13px;top:-5px}#scrub-knob{background:var(--accent);border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;box-shadow:0 0 12px #ffd98ab3}.speeds{gap:3px}.speeds button{border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:10px;flex:1;min-width:0;height:40px;padding:0;font-size:11.5px;font-weight:700}.speeds button.on{background:var(--text);color:#000;border-color:var(--text)}.speeds button.held{border-color:var(--accent);color:var(--accent)}.speeds button.pause{flex:0 0 40px;font-size:14px}.title-card{z-index:20;display:grid;position:absolute;inset:0;overflow-y:auto}.title-card.out{pointer-events:none;animation:.7s both fade-out}@keyframes fade-out{to{opacity:0}}.title-card.intro-mode{text-align:left;padding:calc(var(--safe-t) + 28px) 28px calc(var(--safe-b) + 28px);background:linear-gradient(#0000008c,#00000059 40%,#000000e6);grid-template-columns:minmax(0,1fr);place-items:stretch stretch}.intro{word-break:keep-all;flex-direction:column;justify-content:space-between;gap:20px;width:min(100%,520px);min-width:0;height:100%;margin:0 auto;display:flex}.intro-top{margin-top:7vh}.intro-kicker{color:var(--accent);font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:600}.intro-title{letter-spacing:-.05em;text-shadow:0 2px 30px #0009;text-wrap:balance;margin:10px 0 0;font-size:clamp(44px,13vw,80px);font-weight:900;line-height:1.04}.intro-lead{color:#d9d8d3;text-shadow:0 0 10px #000;margin:18px 0 0;font-size:16px;line-height:1.7}.intro-main{white-space:nowrap;background:var(--text);color:#000;border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:20px 22px;font-size:17px;font-weight:700;display:flex;box-shadow:0 0 28px #ffd98a59}.intro-sub{opacity:.6;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.intro-links{justify-content:space-between;margin-top:6px;display:flex}.intro-links button{background:0 0;border:0;padding:14px 4px;font-size:15px;font-weight:600}.intro-note{color:#a5a6a8;margin:10px 0 0;font-size:12px;line-height:1.5}.end{text-align:center;word-break:keep-all;place-self:center;width:min(100%,520px);min-width:0;padding:28px}.title-card.end-mode{pointer-events:none;background:linear-gradient(#0000 42%,#0009 66%,#000000eb);animation:1.2s 4s both card-in}@keyframes card-in{0%{opacity:0}}.title-card.end-mode .end{pointer-events:auto;padding-bottom:calc(var(--safe-b) + 20px);align-self:end}.end .end-t{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(34px,9vw,56px);font-weight:900}.end p{color:#d9d8d3;margin:8px 0 0;font-size:14px;line-height:1.7}.end .end-btns{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.end .series{justify-content:flex-start;margin-top:6px}.end .series-more{color:var(--muted);margin:16px 0 4px;font-size:12px}.sheet-backdrop{z-index:30;background:#00000080;position:absolute;inset:0}.sheet{z-index:31;border:1px solid var(--border);background:#0c0d10;border-bottom:0;border-radius:18px 18px 0 0;flex-direction:column;max-height:82%;animation:.3s both sheet-in;display:flex;position:absolute;bottom:0;left:0;right:0}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}@media (width>=900px){.sheet{border:0;border-left:1px solid var(--border);border-radius:0;width:400px;max-height:none;top:0;bottom:0;left:auto}}.sheet-head{justify-content:space-between;align-items:center;padding:12px 12px 4px 18px;display:flex}.sheet-head strong{font-size:18px}.sheet-body{padding:6px 18px calc(18px + var(--safe-b));word-break:keep-all;overflow-y:auto}.sheet-body h2{color:var(--accent);margin:18px 0 4px;font-size:13px}.sheet-body p{color:#c9c9c6;margin:0;font-size:13px;line-height:1.65}.sheet-opt{align-items:flex-start;gap:10px;padding:10px 0;font-size:14px;font-weight:700;display:flex}.sheet-opt input{width:18px;height:18px;accent-color:var(--accent);margin:2px 0 0}.sheet-opt small{color:var(--muted);font-size:12px;font-weight:500;display:block}.sheet-btn{border:1px solid var(--border);text-align:left;background:0 0;border-radius:12px;width:100%;padding:12px 14px;font-size:14px;font-weight:700}.sheet-series{margin-top:20px}.sheet-series p{color:var(--muted);margin:0 0 6px;font-size:11.5px}.series{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;gap:14px;min-width:0;max-width:100%;padding:2px 0 4px;display:flex;overflow-x:auto}.series::-webkit-scrollbar{display:none}.series-item{scroll-snap-align:start;width:66px;color:inherit;opacity:.72;text-align:center;word-break:keep-all;flex-direction:column;flex:none;align-items:center;gap:6px;font-size:11px;line-height:1.3;text-decoration:none;display:flex}.series-item.on{opacity:1;font-weight:700}.series-ring{box-sizing:border-box;border:2px solid #80808059;border-radius:50%;place-items:center;width:58px;height:58px;padding:3px;display:grid}.series-item.on .series-ring{border-color:currentColor}.series-ring img{border-radius:50%;width:100%;height:100%;display:block}.series-item.soon .series-ring{border-style:dashed;font-size:22px;font-weight:400}.series-item.soon{opacity:.45}a.series-item:hover,a.series-item:focus-visible{opacity:1}.series.small{gap:10px}.series.small .series-item{width:56px;font-size:10.5px}.series.small .series-ring{width:44px;height:44px;padding:2px}#app:has(.title-card:not([hidden]):not(.out)) :is(.hud,.dock,.toast){visibility:hidden}#app:has(.title-card.intro-mode:not([hidden]):not(.out)) .labels3d{visibility:hidden}.labels3d.ov .lbl3d:not(.lbl-map),.labels3d:not(.ov) .lbl-map{display:none}.lbl-map{color:#c9c9c6;font-size:11.5px}.lbl-map.dim{color:#77797c;font-size:10.5px}@media (prefers-reduced-motion:reduce){.title-card,.sheet,.toast{animation-duration:10ms}}.sheet-body .sheet-credit{color:#8b8d90;margin-top:18px;font-size:11px}.lbl3d.ring:before{content:"";box-sizing:border-box;border:1.5px solid var(--accent);opacity:.8;border-radius:50%;width:14px;height:14px;position:absolute;top:-21px;left:calc(50% - 7px)}.intro-lang{color:var(--accent);margin-left:6px;font-weight:700;text-decoration:none}
