:root{--chip-bg:#ffffffe6;--chip-fg:#3d6b3d;--accent:#ff8c6b;--accent-fg:#fff;--bar-bg:#fffa;--bar-fill:#ff8c6b;--bar-low:#e05656;--chip-border:transparent}body[data-night=true]{--chip-bg:#ffffff1a;--chip-fg:#fff;--accent:#7df9ff;--accent-fg:#0f1630;--bar-bg:#fff2;--bar-fill:linear-gradient(90deg, #7df9ff, #ff5fa2);--bar-low:#ff5fa2;--chip-border:#7df9ff55}html,body{-webkit-user-select:none;user-select:none;background:#bfe3f5;height:100%;margin:0;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;overflow:hidden}#app{touch-action:none;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#hud button{pointer-events:auto;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hud-top{top:max(12px, env(safe-area-inset-top));justify-content:space-between;align-items:flex-start;display:flex;position:absolute;left:16px;right:16px}.chip{background:var(--chip-bg);color:var(--chip-fg);border:1px solid var(--chip-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;padding:8px 12px;font-size:14px;font-weight:700}.hud-right{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.chip.mute{justify-content:center;align-items:center;width:40px;height:36px;padding:0;display:inline-flex}.hud-left{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.online{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141c188c;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.online:before{content:"";background:#4ade80;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #4ade80}.nametag{color:#fff;white-space:nowrap;pointer-events:none;will-change:transform;background:#141c1899;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;transition:opacity .2s;position:fixed;top:0;left:0}body.pre-enter .nametag{visibility:hidden}.nametag.mine{background:#ff7a2fe6}.hud-bottom{left:16px;right:16px;bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.phase{background:var(--accent);color:var(--accent-fg);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800}.modes,.items{gap:6px;display:flex}.modes{flex-wrap:wrap;justify-content:center}.mode,.item{border:1px solid var(--chip-border);background:var(--chip-bg);min-height:44px;color:var(--chip-fg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:0 12px;font-size:14px;font-weight:700}.mode.on{background:var(--accent);color:var(--accent-fg)}.mode.pause{justify-content:center;align-items:center;width:44px;padding:0;display:inline-flex}.item:disabled,.item.empty{opacity:.5}.item:disabled{cursor:default}.bar{background:var(--bar-bg);border-radius:999px;width:min(360px,100%);height:10px;overflow:hidden}.bar i{background:var(--bar-fill);height:100%;transition:width .2s linear;display:block}.bar.low i{background:var(--bar-low)}.toast{color:#fff;opacity:0;white-space:nowrap;background:#000000b3;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .2s,transform .2s;position:absolute;top:25%;left:50%;transform:translate(-50%,-8px)}.toast.show{opacity:1;transform:translate(-50%)}.stick{left:20px;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 160px);pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;-webkit-touch-callout:none;background:#1f2a2280;border:1.5px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:112px;height:112px;display:none;position:absolute}@media (pointer:coarse){.stick{display:flex}}.stick-knob{background:#e2a03f;border-radius:50%;width:46px;height:46px;transition:transform .12s ease-out;box-shadow:0 3px 10px #00000059,inset 0 -3px #00000026}.stick.active .stick-knob{background:#f0b04d;transition:none}.stick-label{color:#ffffffd9;text-shadow:0 1px 4px #00000080;font-size:12px;font-weight:700;position:absolute;bottom:-22px}.hint{color:#fffaf0;text-align:center;white-space:nowrap;opacity:0;background:#1f2a22d9;border-radius:14px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .3s,transform .3s;position:absolute;top:20%;left:50%;transform:translate(-50%,-6px)}.hint.show{opacity:1;transform:translate(-50%)}body.pre-enter #hud{visibility:hidden}.intro{z-index:10;padding:0 24px calc(max(32px, env(safe-area-inset-bottom)) + 40px);color:#fffaf0;text-align:center;background:linear-gradient(#0000 0%,#0d1a1f10 25%,#0d1a1f80 55%,#0d1a1fcc 100%);justify-content:center;align-items:flex-end;transition:opacity .7s ease-out;display:flex;position:fixed;inset:0}.intro.leaving{opacity:0;pointer-events:none}.intro-inner{max-width:360px}.intro-eyebrow{letter-spacing:.35em;opacity:.85;margin:0 0 12px;font-size:12px}.intro-title{text-shadow:0 2px 12px #00000059;margin:0 0 12px;font-size:30px;font-weight:800;line-height:1.3}.intro-sub{opacity:.92;margin:0 0 28px;font-size:15px;line-height:1.6}.intro-enter{color:#2b3a2e;min-height:52px;font:inherit;cursor:pointer;touch-action:manipulation;background:#fff4dc;border:0;border-radius:999px;padding:0 32px;font-size:17px;font-weight:800;transition:transform .15s ease-out;box-shadow:0 6px 24px #0000004d}.intro-enter:active{transform:scale(.97)}.intro-hint{opacity:.7;margin:16px 0 0;font-size:12px}.crew-open{pointer-events:auto;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.nametag .crew-pill[hidden]{display:none}.nametag .crew-pill{background:var(--crew);color:#fff;border-radius:6px;margin-right:6px;padding:0 6px;font-size:11px;display:inline-block}.sheet{z-index:20;opacity:0;pointer-events:none;background:#0006;justify-content:center;align-items:flex-end;transition:opacity .2s;display:flex;position:fixed;inset:0}.sheet.open{opacity:1;pointer-events:auto}.sheet-panel{color:#23302a;width:100%;max-width:480px;max-height:78vh;padding:16px 16px max(20px, env(safe-area-inset-bottom));background:#fbfaf5;border-radius:18px 18px 0 0;transition:transform .2s;overflow:auto;transform:translateY(20px)}.sheet.open .sheet-panel{transform:none}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheet-head h2{margin:0;font-size:18px}.sheet-close{color:#23302a;font:inherit;cursor:pointer;background:#eef0ea;border:0;border-radius:10px;padding:8px 12px;font-weight:700}.sheet-body h3{color:#55635b;margin:16px 0 8px;font-size:14px}.sheet-note{color:#55635b;margin:8px 0;font-size:14px}.sheet-msg{color:#d23c4b;min-height:18px;margin:6px 0 0;font-size:13px}.crew-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.crew-card{border:1px solid #e3e6dd;border-left:6px solid var(--crew);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.crew-card.mine{flex-wrap:wrap;justify-content:flex-start}.crew-info{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.crew-info small{color:#6b7a71;width:100%;padding-left:18px}.crew-dot{background:var(--crew);border-radius:50%;flex:none;width:10px;height:10px}.crew-stats{color:#55635b;gap:12px;width:100%;padding-left:18px;font-size:13px;display:flex}.crew-btn{color:#fff;font:inherit;cursor:pointer;background:#2f7a4f;border:0;border-radius:10px;flex:none;min-height:40px;padding:10px 14px;font-weight:700}.crew-btn.ghost{color:#8a3a3a;background:#eef0ea;margin-left:auto}.crew-form{gap:10px;margin-top:4px;display:grid}.crew-form input{font:inherit;color:#23302a;background:#fff;border:1px solid #cfd6c8;border-radius:10px;padding:10px 12px;font-size:16px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:32px;height:32px}.swatch[aria-pressed=true]{border-color:#23302a}.hud-row{gap:6px;display:flex}.tabs{background:#eef0ea;border-radius:12px;gap:4px;margin:4px 0 8px;padding:4px;display:flex}.tab{color:#55635b;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:9px 0;font-weight:700}.tab[aria-selected=true]{color:#23302a;background:#fff;box-shadow:0 1px 3px #0002}.rank-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.rank-row{background:#fff;border:1px solid #e3e6dd;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.rank-row.me{background:#fff6ec;border-color:#ff9a2f}.rank-no{color:#55635b;background:#eef0ea;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid}.rank-no.top1{color:#5a4300;background:#ffd23f}.rank-no.top2{color:#3d4650;background:#d9dee3}.rank-no.top3{color:#5a3010;background:#f0b27a}.rank-who{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.rank-who strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-who small{color:#6b7a71}.rank-crew{background:var(--crew);border-radius:6px;padding:0 6px;font-size:11px;color:#fff!important}.rank-km{color:#2f7a4f;flex:none;font-weight:800}.crew-dot{background:var(--crew)}@media (width>=640px){.sheet{align-items:center}.sheet-panel{border-radius:18px;max-height:80vh}}.nametag.peer{pointer-events:auto;cursor:pointer;padding:5px 11px}.nametag.peer:after{content:" 👏";opacity:.8;font-size:10px}.cheer-pick{z-index:15;background:#fbfaf5;border-radius:999px;gap:4px;padding:6px;display:flex;position:fixed;top:0;left:0;box-shadow:0 6px 20px #0003}.cheer-pick[hidden]{display:none}.cheer-pick button{cursor:pointer;background:#eef0ea;border:0;border-radius:50%;width:44px;height:44px;font-size:22px;line-height:1}.cheer-pick button:active{transform:scale(.9)}.cheer-float{z-index:12;pointer-events:none;filter:drop-shadow(0 2px 4px #0005);will-change:transform, opacity;font-size:34px;position:fixed;top:0;left:0}body.pre-enter .cheer-pick,body.pre-enter .cheer-float{visibility:hidden}.fb-chips{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.fb-chip{color:#23302a;font:inherit;cursor:pointer;background:#eef0ea;border:0;border-radius:999px;padding:7px 12px;font-size:13px}.fb-input{box-sizing:border-box;width:100%;font:inherit;resize:none;color:#23302a;background:#fff;border:1px solid #d9ddd2;border-radius:12px;padding:10px 12px;font-size:15px}.fb-foot{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.fb-count{color:#7a857d}
