:root{--navy:#10204a;--glass:#101c426b;--glass-strong:#0e183abd;--line:#e8f0ff38;--snow:#f6f9ff;--snow-dim:#f0f5ffc7;--gold:#ffc977;--gold-deep:#f0a94a;--font:"Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--snow);font-family:var(--font);-webkit-tap-highlight-color:transparent;background:#c9d8ee;margin:0;overflow:hidden}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.stage{position:fixed;inset:0}.stage canvas{touch-action:none;cursor:pointer;width:100%;height:100%;display:block}.fade{opacity:0;pointer-events:none;z-index:8;background:#f4f7fb;transition:opacity .6s;position:fixed;inset:0}.fade.on{opacity:1}.top{z-index:5;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 30px max(16px, env(safe-area-inset-left));pointer-events:none;background:linear-gradient(#0a143461,#0a143400);justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:fixed;top:0;left:0;right:0}.top>*{pointer-events:auto}.title{min-width:0}.title h1{letter-spacing:.02em;text-shadow:0 1px 10px #060e2873;margin:0;font-size:19px;font-weight:700}.title .sub{color:var(--snow-dim);text-shadow:0 1px 8px #060e2880;word-break:keep-all;max-height:3em;margin:3px 0 0;font-size:12.5px;line-height:1.4;transition:opacity 1.2s,max-height 1.2s;overflow:hidden}.title .sub.quiet{opacity:0;visibility:hidden;pointer-events:none;max-height:0;margin:0;transition:opacity 1.2s,max-height 1.2s,margin 1.2s,visibility 0s linear 1.2s}.clockline{z-index:1;color:var(--snow-dim);text-shadow:0 1px 6px #060e288c;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:6px 0 0;font-size:12px;display:flex;position:relative}.ver{color:var(--snow-dim);border:1px solid var(--line);white-space:nowrap;background:#101c4247;border-radius:999px;padding:2px 8px;font-size:11.5px;text-decoration:none}.ver b{color:var(--gold);font-weight:700}.ver:hover{color:var(--snow)}.top-actions{flex-shrink:0;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 13px 0 11px;font-size:13.5px;transition:background .2s;display:inline-flex}.chip:hover{background:var(--glass-strong)}.chip svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}#soundBtn .wave{display:none}#soundBtn[aria-pressed=true] .wave{display:inline}#soundBtn[aria-pressed=true] .mute{display:none}#soundBtn[aria-pressed=true]{border-color:#ffc97799}.hint{z-index:4;left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 116px);background:var(--glass-strong);color:var(--snow);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;max-width:calc(100vw - 24px);margin:0;padding:8px 15px;font-size:12.5px;transition:opacity .8s;position:fixed;overflow:hidden;transform:translate(-50%)}.hint.gone{opacity:0}.toast{z-index:6;left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 30vh);background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;opacity:0;pointer-events:none;word-break:keep-all;border-radius:16px;width:max-content;max-width:min(88vw,420px);padding:12px 18px;font-size:15px;line-height:1.55;transition:opacity .5s,transform .5s;position:fixed;transform:translate(-50%,8px)}.toast.show{opacity:1;transform:translate(-50%)}.toast small{color:var(--gold);letter-spacing:.02em;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:inline-flex}.toast small i{color:#10204a;background:var(--gold);border-radius:999px;padding:1px 7px;font-size:11px;font-style:normal}.toast .tl{display:block}.caption{z-index:6;left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 76px);background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:6px 6px 6px 16px;font-size:14px;animation:.6s both fw-in;display:flex;position:fixed;transform:translate(-50%)}.caption button{cursor:pointer;background:#f0f5ff29;border:0;border-radius:999px;min-height:40px;padding:0 16px;font-weight:600}.caption button:hover{background:#f0f5ff42}.pill{z-index:5;left:50%;bottom:max(16px, env(safe-area-inset-bottom));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;gap:4px;width:max-content;max-width:calc(100vw - 24px);padding:5px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0a183c40}.pill button{cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;min-height:48px;padding:0 17px 0 14px;font-size:15px;font-weight:600;transition:background .25s,color .25s;display:inline-flex}.pill button:hover{background:#f0f5ff1a}.pill button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.pill button[aria-pressed=true]{background:linear-gradient(180deg, var(--gold), var(--gold-deep));color:#23180a}.pill button[data-act=foot][aria-pressed=true]{color:#10204a;background:linear-gradient(#f6f9ff,#cfe0ff);box-shadow:inset 0 0 0 2px #ffffff59}.info{z-index:9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08102a73;place-items:center;padding:18px;animation:.4s both fw-in;display:grid;position:fixed;inset:0}.info-card{word-break:keep-all;border:1px solid var(--line);background:linear-gradient(#16285cf5,#0e1a3ef7);border-radius:20px;width:min(440px,100%);max-height:calc(100dvh - 36px);padding:24px 22px 18px;font-size:14.5px;line-height:1.62;position:relative;overflow:auto;box-shadow:0 24px 60px #040a1e73}.info-card h2{margin:0 0 8px;font-size:19px}.info-card h3{color:var(--gold);letter-spacing:.02em;margin:16px 0 6px;font-size:14px}.info-card p{color:var(--snow-dim);margin:0 0 8px}.info-card ul{color:var(--snow-dim);margin:0;padding-left:18px}.info-card li{margin:4px 0}.info-card .people{padding:0;list-style:none}.info-card .people b{min-width:7.5em;color:var(--snow);font-weight:600;display:inline-block}.info-card .people b:after{content:"늘 여기 있어요";color:#10204a;background:var(--gold);vertical-align:1px;border-radius:999px;margin:0 8px 0 6px;padding:0 6px;font-size:10.5px;font-weight:600;display:inline-block}.info-card kbd{border:1px solid var(--line);text-align:center;background:#ffffff14;border-radius:5px;min-width:1.5em;padding:0 5px;font-family:inherit;font-size:12px;display:inline-block}.info-close{cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:10px;right:10px}.info-close:hover{background:#ffffff1a}.info-close svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.ver-line{border-top:1px solid var(--line);text-align:right;padding-top:12px;margin-top:14px!important}.loading{z-index:10;background:linear-gradient(#1b3fa8 0%,#4f78cc 38%,#8fb4e8 58%,#dfe8f6 78%,#f4f7fb 100%);place-items:center;transition:opacity 1s,visibility 1s;display:grid;position:fixed;inset:0}.loading.done{opacity:0;visibility:hidden}.ld-flake{width:120px;height:120px;position:absolute;top:22%;left:50%;transform:translate(-50%)}.ld-card{text-align:center;max-width:420px;margin-top:10vh;padding:0 24px;position:relative}.ld-title{letter-spacing:.06em;text-shadow:0 2px 16px #0a184666;margin:0 0 6px;font-size:26px;font-weight:700}.ld-sub{color:#ffffffe6;text-shadow:0 1px 10px #0a184666;margin:0 0 16px;font-size:14px}.ld-line{color:#1d2f63;word-break:keep-all;margin:0 0 20px;font-size:14px;line-height:1.6}.ld-bar{background:#10204a26;border-radius:3px;width:180px;height:3px;margin:0 auto 20px;overflow:hidden}.ld-bar i{background:#1b3fa8;border-radius:3px;width:0;height:100%;transition:width .3s;display:block}.ld-enter{cursor:pointer;color:#f6f9ff;letter-spacing:.04em;background:#10204a;border:0;border-radius:999px;min-width:168px;min-height:50px;padding:0 26px;font-size:16px;font-weight:700;transition:transform .2s,opacity .3s;box-shadow:0 10px 26px #10204a4d}.ld-enter:disabled{opacity:.55;cursor:default;font-weight:500}.ld-enter:not(:disabled):hover{transform:translateY(-1px)}.farewell{z-index:9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08102a80;place-items:center;padding:24px;animation:.6s both fw-in;display:grid;position:fixed;inset:0}.fw-card{text-align:center;border:1px solid var(--line);background:linear-gradient(#1b3fa8f2,#10204af7);border-radius:22px;width:min(360px,100%);padding:30px 26px 22px;box-shadow:0 24px 60px #040a1e73}.fw-mark{fill:none;width:64px;height:40px;stroke:var(--snow);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}.fw-text{word-break:keep-all;margin:0 0 22px;font-size:16px;line-height:1.75}.fw-actions{flex-direction:column;gap:6px;display:flex}.fw-stay{background:linear-gradient(180deg, var(--gold), var(--gold-deep));color:#23180a;cursor:pointer;border:0;border-radius:999px;min-height:48px;margin-bottom:4px;font-weight:700}.fw-leave{min-height:40px;color:var(--snow-dim);border-radius:999px;justify-content:center;align-items:center;font-size:14px;text-decoration:none;display:inline-flex}.fw-leave:hover{color:var(--snow)}@keyframes fw-in{0%{opacity:0}to{opacity:1}}.noscript{text-align:center;z-index:11;color:#10204a;position:fixed;inset:auto 0 40%}@media (width<=440px){.title h1{font-size:17px}.title .sub{max-width:19.5em;font-size:11.5px}.chip span{display:none}.chip{justify-content:center;min-width:40px;padding:0 10px}.pill button{gap:6px;padding:0 13px 0 11px;font-size:14.5px}.caption{padding-left:14px;font-size:13px}}@media (width>=900px){.title h1{font-size:21px}.title .sub{font-size:13.5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
