.cave-talk-hint{z-index:4;left:50%;bottom:max(184px, calc(env(safe-area-inset-bottom) + 172px));color:#fff6ec;white-space:nowrap;pointer-events:none;background:#080e14bf;border:1px solid #6fd3ffb3;border-radius:999px;align-items:center;gap:8px;margin:0;padding:7px 14px;font-size:.9375rem;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.cave-talk-hint kbd,.talk-btn kbd{border:1px solid #fff9;border-radius:5px;padding:1px 7px;font:700 .8125rem/1.3 Be Vietnam Pro,system-ui,sans-serif}.cave-talk-hint strong{color:#a8e4ff;text-overflow:ellipsis;max-width:220px;overflow:hidden}.cave-talk{z-index:5;right:calc(max(16px, env(safe-area-inset-right)) + 84px);bottom:max(80px, calc(env(safe-area-inset-bottom) + 68px));color:#fff6ec;cursor:pointer;touch-action:manipulation;background:#2b7fd8;border:0;border-radius:50%;align-content:center;place-items:center;width:72px;height:72px;padding:0 4px;display:grid;position:absolute;box-shadow:0 0 0 2px #fff6ec,0 0 16px 2px #6fd3ff99}.cave-talk:active{transform:scale(.92)}.cave-talk-icon{font-size:1.5rem;line-height:1}.cave-talk-label{text-overflow:ellipsis;white-space:nowrap;max-width:64px;font:700 .6875rem/1.3 Be Vietnam Pro,system-ui,sans-serif;overflow:hidden}.cave-talk[data-wait]{background:#140c099e;box-shadow:0 0 0 2px #fff6ec47}.cave-talk.is-duel{bottom:max(164px, calc(env(safe-area-inset-bottom) + 152px));background:#c8102e;box-shadow:0 0 0 2px #fff6ec,0 0 16px 2px #ff5c708c}.cave-talk-who{color:#fff6ecbf;font-weight:500}.cave-talk-act{border-left:1px solid #fff6ec33;align-items:center;gap:6px;padding-left:12px;display:inline-flex}@media (width<=640px){.cave-talk{bottom:max(116px, calc(env(safe-area-inset-bottom) + 104px))}.cave-talk.is-duel{bottom:max(200px, calc(env(safe-area-inset-bottom) + 188px))}}.talk-btn{appearance:none;color:#fff6ec;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:#f3e7d824;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font:700 .9375rem/1.2 Be Vietnam Pro,system-ui,sans-serif;display:inline-flex}.talk-btn:hover{background:#f3e7d838}.talk-btn:focus-visible,.talk-form input:focus-visible{outline:2px solid var(--hm-torch);outline-offset:2px}.talk-btn.is-ok{color:#07150c;background:#3fb36b}.talk-btn.is-ok kbd{border-color:#07150c80}.talk-btn.is-danger{background:#c8102e}.talk-btn:disabled{opacity:.45;cursor:default}.talk-bar{background:#f3e7d826;border-radius:3px;height:3px;display:block;overflow:hidden}.talk-bar i{transform-origin:0;background:#f3e7d8;height:100%;animation:linear forwards talk-countdown;display:block}@keyframes talk-countdown{to{transform:scaleX(0)}}.talk-asking{z-index:6;left:50%;bottom:max(184px, calc(env(safe-area-inset-bottom) + 172px));color:#fff6ec;background:#0c0806c7;border:1px solid #f3e7d82e;border-radius:14px;gap:8px;width:min(480px,100vw - 32px);padding:10px 14px 12px;display:grid;position:absolute;transform:translate(-50%)}.talk-asking-row{justify-content:space-between;align-items:center;gap:12px;font-size:.9375rem;display:flex}.talk-invite{z-index:8;left:50%;top:max(84px, calc(env(safe-area-inset-top) + 72px));color:#fff6ec;background:#140d0ae6;border:1px solid #f3e7d840;border-radius:16px;gap:10px;width:min(420px,100vw - 32px);padding:14px 16px 12px;animation:.22s ease-out talk-in;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 12px 36px #00000080}.talk-invite-who{align-items:center;gap:12px;display:flex}.talk-invite-who strong{font-size:1.0625rem}.talk-invite-who p{color:#f3e7d8b8;margin:2px 0 0;font-size:.8125rem}.talk-invite-acts{gap:8px;display:flex}.talk-invite-acts .talk-btn{flex:1}.talk-face{background:#f1c9a5;border:3px solid #c8102e;border-radius:50%;flex:none;width:40px;height:40px}.talk-toast{z-index:7;left:50%;bottom:max(240px, calc(env(safe-area-inset-bottom) + 228px));color:#fff6ec;pointer-events:none;background:#0c0806d1;border:1px solid #f3e7d82e;border-radius:999px;max-width:calc(100vw - 32px);margin:0;padding:8px 16px;font-size:.9375rem;font-weight:600;position:absolute;transform:translate(-50%)}@media (width<=640px){.talk-asking,.talk-toast{bottom:max(370px, calc(env(safe-area-inset-bottom) + 358px))}}.talk-overlay{z-index:1000;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);color:#fff6ec;background:#0a0604d1;place-items:center;font-family:Be Vietnam Pro,system-ui,sans-serif;animation:.18s ease-out talk-fade;display:grid;position:fixed;inset:0}.talk-box{background:#18100cf7;border:1px solid #f3e7d833;border-radius:20px;grid-template-rows:auto auto 1fr auto;gap:10px;width:min(680px,100%);height:min(760px,100%);min-height:0;padding:16px 18px;display:grid}.talk-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.talk-who{align-items:center;gap:12px;min-width:0;display:flex}.talk-who strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.125rem;display:block;overflow:hidden}.talk-who span{color:#f3e7d8b3;font-size:.8125rem}.talk-state{text-align:center;color:#f3e7d8b3;border-block:1px solid #f3e7d824;margin:0;padding:6px 0;font-size:.8125rem}.talk-msgs{overscroll-behavior:contain;flex-direction:column;gap:6px;min-height:0;margin:0;padding:4px 2px;list-style:none;display:flex;overflow-y:auto}.talk-msgs>:first-child{margin-top:auto}.talk-msg{overflow-wrap:anywhere;white-space:pre-wrap;background:#f3e7d81f;border-radius:16px;align-self:flex-start;max-width:78%;padding:7px 12px;line-height:1.4}.talk-msg.is-mine{background:#c8102e;align-self:flex-end}.talk-msg.is-pending{opacity:.7}.talk-msg.is-failed{opacity:.55}.talk-fail{font-size:.8125rem}.talk-sys{text-align:center;color:#f3e7d899;align-self:center;font-size:.8125rem}.talk-form{gap:8px;display:flex}.talk-form input{color:#fff6ec;background:#00000073;border:1px solid #f3e7d833;border-radius:12px;flex:1;min-width:0;padding:10px 14px;font:400 1rem/1.3 Be Vietnam Pro,system-ui,sans-serif}.talk-form input::placeholder{color:#f3e7d880}.talk-btn.is-send{background:#c8102e}.talk-close{justify-self:center;padding:10px 22px}.talk-confirm-dim{background:#00000080;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.talk-confirm-dim.is-fixed{z-index:1000;position:fixed}.talk-confirm{text-align:center;background:#2a1d16;border:1px solid #f3e7d84d;border-radius:16px;gap:10px;width:min(380px,100%);padding:18px 18px 16px;display:grid;box-shadow:0 16px 48px #000000b3}.talk-confirm strong{font-size:1.125rem}.talk-confirm p{color:#f3e7d8b8;margin:0;font-size:.875rem}.talk-confirm-acts{gap:8px;margin-top:4px;display:flex}.talk-confirm-acts .talk-btn{flex:1}@media (width<=640px){.talk-overlay{padding:0}.talk-box{width:100%;height:100%;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));border:0;border-radius:0}}@keyframes talk-fade{0%{opacity:0}}@keyframes talk-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media (prefers-reduced-motion:reduce){.talk-overlay,.talk-invite{animation:none}.talk-bar i{animation-name:none}}.challenge{z-index:9;left:50%;bottom:max(232px, calc(env(safe-area-inset-bottom) + 220px));width:min(460px,100vw - 32px);color:var(--hm-chalk);background:linear-gradient(180deg, var(--hm-enamel-hi), var(--hm-enamel));box-shadow:inset 0 0 0 2px var(--hm-gilt), inset 0 0 0 5px var(--hm-enamel), inset 0 0 0 6px #ecd08c73, var(--hm-drop);border-radius:12px;gap:8px;padding:10px 12px;animation:.18s ease-out challenge-in;display:grid;position:absolute;transform:translate(-50%)}.challenge.is-sheet{z-index:60;left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));border-radius:16px;width:auto;padding:14px;animation-name:challenge-up;position:fixed;transform:none}@keyframes challenge-in{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes challenge-up{0%{opacity:0;transform:translateY(40px)}}.challenge-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.challenge-head strong{font:900 1rem/1.2 var(--hm-f-carve);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.challenge-head small{color:var(--hm-gilt-hi);font-size:.75rem;font-weight:600}.challenge-games{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.is-sheet .challenge-games{grid-template-columns:minmax(0,1fr)}.challenge-game{appearance:none;text-align:left;color:var(--hm-chalk);font:inherit;cursor:pointer;background:var(--hm-grain), linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-deep));background-blend-mode:overlay, normal;touch-action:manipulation;border:0;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 8px;padding:9px 10px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ecd08c59}.is-sheet .challenge-game{padding:13px 12px}.challenge-game:hover,.challenge-game.is-last{box-shadow:inset 0 0 0 2px var(--hm-gilt-hi)}.challenge-game:focus-visible,.challenge-close:focus-visible{outline:2px solid var(--hm-torch);outline-offset:2px}.challenge-game:active{transform:scale(.97)}.challenge-game kbd{position:absolute;top:-8px;left:-6px}.challenge-icon{grid-row:span 2;font-size:1.5rem;line-height:1}.challenge-game b{font:800 .875rem/1.2 var(--hm-f-carve)}.challenge-game small{color:var(--hm-chalk-dim);font-size:.6875rem;line-height:1.3}.challenge-foot{text-align:center;color:#efe9ddd1;margin:0;font-size:.75rem}.challenge-close{justify-self:center}@media (prefers-reduced-motion:reduce){.challenge{animation:none}}.voice-prompt{border-color:#f2c14ebf}.voice-hud{z-index:3;pointer-events:none;color:#fff6ec;font-family:Be Vietnam Pro,system-ui,sans-serif;position:absolute;inset:0}.voice-hud>*{pointer-events:auto}.voice-top{top:max(12px, env(safe-area-inset-top));pointer-events:none;align-items:center;gap:8px;max-width:calc(100vw - 32px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.voice-top>*{pointer-events:auto}.voice-title{white-space:nowrap;background:#0e0a08b3;border:1px solid #f2c14e73;border-radius:999px;padding:5px 12px;font-size:.875rem;font-weight:700}.voice-chip{white-space:nowrap;background:#0e0a08b3;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.voice-err{text-overflow:ellipsis;white-space:nowrap;color:#f3e7d899;max-width:220px;font-size:.6875rem;font-weight:400;overflow:hidden}.voice-chip.is-bad{border-color:#ef5a4c}.voice-chip i{background:#4cc38a;border-radius:50%;width:8px;height:8px}.voice-chip i.is-warn{background:#e8b04a;animation:1s infinite voice-blink}.voice-chip i.is-bad{background:#ef5a4c}@keyframes voice-blink{50%{opacity:.25}}.voice-speaking{left:max(12px, env(safe-area-inset-left));background:#0e0a08a8;border:1px solid #ffffff1a;border-radius:12px;width:220px;max-width:46vw;padding:8px 10px;font-size:.8125rem;position:absolute;top:110px}.voice-speaking-h{letter-spacing:.04em;text-transform:uppercase;color:#f3e7d8a6;margin-bottom:4px;font-size:.6875rem;font-weight:700}.voice-row{align-items:center;gap:8px;min-width:0;padding:2px 0;display:flex}.voice-row.is-out{color:#f3e7d873}.voice-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.voice-dim{color:#f3e7d880;margin-top:2px;font-size:.75rem}.voice-bars{flex:none;align-items:flex-end;gap:2px;height:12px;display:inline-flex}.voice-bars b{background:#4cc38a;border-radius:1px;width:3px}.voice-bars.is-muted b{background:#f3e7d859}.voice-onair{left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 66px);white-space:nowrap;background:#da291c;border-radius:999px;padding:4px 12px;font-size:.8125rem;font-weight:700;position:absolute;transform:translate(-50%)}.voice-bar{left:50%;bottom:max(16px, env(safe-area-inset-bottom));background:#0e0a08db;border:1px solid #ffffff1f;border-radius:16px;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:8px;display:flex;position:absolute;transform:translate(-50%)}.voice-btn{appearance:none;color:inherit;white-space:nowrap;cursor:pointer;background:#f3e7d81f;border:1px solid #ffffff14;border-radius:11px;justify-content:center;align-items:center;gap:4px;padding:8px 12px;font:600 .8125rem/1.2 Be Vietnam Pro,system-ui,sans-serif;display:inline-flex}.voice-btn:hover{background:#f3e7d833}.voice-btn:focus-visible{outline:2px solid var(--hm-torch,#f2c14e);outline-offset:2px}.voice-btn:disabled{opacity:.5;cursor:default}.voice-btn.is-static{cursor:default}.voice-btn.is-static:hover{background:#f3e7d81f}.voice-btn.is-red{color:#fff;background:#c8102e;border-color:#c8102e}.voice-btn.is-small{padding:2px 9px;font-size:.75rem}.voice-ptt{-webkit-user-select:none;user-select:none;touch-action:none;background:#3b2a20;border-color:#6b4a35;min-width:150px}.voice-ptt.is-on{color:#fff;background:#da291c;border-color:#da291c;box-shadow:0 0 0 4px #da291c4d}.voice-ptt.is-off{color:#ffb4a8;background:#4a1d1a;border-color:#8a2a22}.voice-ptt.is-denied{color:#f3e7d899}.voice-toast{z-index:8;left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 44px);color:#fff6ec;text-align:center;background:#2a1d16;border:1px solid #f3e7d840;border-radius:10px;max-width:calc(100vw - 32px);padding:6px 12px;font-size:.8125rem;position:absolute;transform:translate(-50%)}.voice-rejoin{text-align:center;background:#0e0a08db;border:1px solid #f2c14e;border-radius:16px;justify-items:center;gap:10px;max-width:calc(100vw - 48px);padding:16px 18px;display:grid;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.voice-mic-help{z-index:9;background:#2a1d16;border:1px solid #f2c14e;border-radius:16px;gap:8px;width:min(420px,100vw - 32px);max-height:calc(100% - 180px);padding:16px 18px;display:grid;position:absolute;top:46%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 16px 48px #0009}.voice-mic-help strong{font-size:1.0625rem}.voice-mic-help p{margin:0}.voice-mic-help ol{gap:6px;margin:0;padding-left:1.2em;font-size:.875rem;line-height:1.45;display:grid}.voice-mic-help-acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.voice-grid{z-index:-1;padding:calc(max(12px, env(safe-area-inset-top)) + 100px) 16px 96px;background:radial-gradient(120% 90% at 50% 0,#2b2019 0%,#140f0c 70%);grid-template-columns:repeat(auto-fill,minmax(116px,1fr));align-content:start;gap:10px;display:grid;position:absolute;inset:0;overflow:auto}.voice-hud.is-grid .voice-speaking{display:none}.voice-tile{aspect-ratio:4/3;background:#221a15;border:2px solid #33291f;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.voice-tile.is-talk{border-color:#4cc38a;box-shadow:0 0 0 3px #4cc38a40}.voice-av{color:#fff;background:#da291c;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.voice-tile-name{text-overflow:ellipsis;white-space:nowrap;max-width:92%;font-size:.8125rem;overflow:hidden}.voice-paused{text-align:center;color:#f3e7d873;grid-column:1/-1;font-size:.75rem}@media (width>=900px){.voice-grid{padding-right:330px}}@media (width<=640px){.voice-bar{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));justify-content:center;gap:6px;padding:6px;transform:none}.voice-btn-txt{display:none}.voice-ptt{right:max(12px, env(safe-area-inset-right));bottom:calc(max(16px, env(safe-area-inset-bottom)) + 76px);border-radius:50%;width:72px;min-width:0;height:72px;font-size:1.5rem;position:fixed}.voice-top{top:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 66px);left:max(12px, env(safe-area-inset-left));flex-wrap:wrap;max-width:none;right:96px;transform:none}.voice-title,.voice-chip{font-size:.75rem}.voice-speaking{top:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 132px);left:max(12px, env(safe-area-inset-left));width:auto;max-width:none;padding:6px 9px;right:96px}.voice-toast{top:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 224px);left:max(12px, env(safe-area-inset-left));max-width:none;right:96px;transform:none}.voice-onair{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 156px);left:auto;right:max(12px, env(safe-area-inset-right));transform:none}.voice-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:230px}}@media (prefers-reduced-motion:reduce){.voice-chip i.is-warn{animation:none}}.cave[data-activity=voice] .cave-bar-left{z-index:4}.voice-btn.is-active{background:#f2c14e47;border-color:#f2c14e99}.voice-icon-btn{appearance:none;width:32px;height:32px;color:inherit;cursor:pointer;background:#f3e7d81a;border:1px solid #ffffff1a;border-radius:9px;flex:none;place-items:center;font-size:.9375rem;line-height:1;display:inline-grid}.voice-icon-btn:hover{background:#f3e7d833}.voice-icon-btn:focus-visible{outline:2px solid var(--hm-torch,#f2c14e);outline-offset:1px}.voice-icon-btn:disabled{opacity:.35;cursor:default}.voice-icon-btn.is-on{background:#c8102e59;border-color:#c8102eb3}.voice-row .voice-icon-btn{width:26px;height:26px;margin-left:auto;font-size:.8125rem}.voice-people{z-index:7;right:max(12px, env(safe-area-inset-right));bottom:calc(max(16px, env(safe-area-inset-bottom)) + 70px);background:#2a1d16;border:1px solid #f2c14e8c;border-radius:16px;flex-direction:column;width:min(340px,100vw - 24px);max-height:min(60vh,100% - 200px);display:flex;position:absolute;overflow:hidden;box-shadow:0 16px 48px #0000008c}.voice-people-h{justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 4px 14px;font-size:.9375rem;display:flex}.voice-people-note{border-bottom:1px solid #ffffff14;margin:0;padding:0 14px 8px;line-height:1.4}.voice-people-list{overscroll-behavior:contain;margin:0;padding:6px 8px 10px;list-style:none;overflow-y:auto}.voice-person{border-radius:10px;align-items:center;gap:8px;min-width:0;padding:5px 6px;font-size:.875rem;display:flex}.voice-person:hover{background:#f3e7d80f}.voice-person .voice-name{flex:1}.voice-person.is-muted .voice-name{opacity:.55;-webkit-text-decoration:line-through #f3e7d859;text-decoration:line-through #f3e7d859}.voice-av.is-small{flex:none;width:28px;height:28px;font-size:.6875rem}.voice-mic{white-space:nowrap;color:#b5a491;background:#f3e7d80f;border-radius:999px;flex:none;align-items:center;gap:4px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.voice-mic.is-talk{color:#8fe388;background:#4cc38a29}.voice-mic.is-off{color:#ff8a7a;background:#c8102e2e}.voice-mic-ic{display:inline-block;position:relative}.voice-mic.is-off .voice-mic-ic:after{content:"";background:#ff5a48;border-radius:1px;height:2px;position:absolute;top:50%;left:-2px;right:-2px;transform:rotate(-45deg)}.voice-mic.is-none{color:#d9c8b4}.voice-mic.is-wait{opacity:.75}.voice-tile{position:relative}.voice-tile.is-off .voice-av{opacity:.55}.voice-tile-mic{position:absolute;top:6px;right:6px}.voice-votes{font-variant-numeric:tabular-nums;background:#c8102e4d;border-radius:999px;flex:none;padding:1px 7px;font-weight:700}@media (width<=640px){.voice-people{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));width:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 62px);z-index:9;max-height:min(58vh,100% - 150px)}.voice-icon-btn{width:38px;height:38px}}.voice-vote{z-index:70;left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 64px);background:var(--hm-grain), linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-deep));background-blend-mode:overlay, normal;border:1px solid var(--hm-red);width:min(420px,100vw - 32px);box-shadow:var(--hm-drop);color:var(--hm-chalk);border-radius:12px;gap:8px;padding:14px 16px;font-size:.875rem;line-height:1.45;display:grid;position:fixed;transform:translate(-50%)}.voice-vote strong{font-size:.95rem}.voice-vote p{color:var(--hm-chalk-dim);margin:0}.voice-vote-acts{justify-content:flex-end;gap:8px;display:flex}.tug-toast{z-index:8;left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 44px);background:var(--hm-slab-solid);border:1px solid color-mix(in srgb, var(--hm-chalk) 25%, transparent);max-width:calc(100vw - 32px);color:var(--hm-chalk);pointer-events:none;border-radius:10px;padding:6px 12px;font-size:.8125rem;position:absolute;transform:translate(-50%)}.tug-pill{z-index:7;left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 48px);border:1px solid color-mix(in srgb, var(--hm-gilt-hi) 70%, transparent);background:color-mix(in srgb, var(--hm-night) 85%, transparent);box-shadow:0 6px 18px -8px var(--hm-shade);color:var(--hm-chalk);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 4px 4px 12px;font-size:.8125rem;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.tug-pill b{font-family:var(--hm-f-carve);color:var(--hm-gilt-hi)}.tug-pill small{color:color-mix(in srgb, var(--hm-chalk) 60%, transparent)}.tug-pill-key kbd{margin-right:3px}.tug-pill-x{appearance:none;background:color-mix(in srgb, var(--hm-chalk) 10%, transparent);width:26px;height:26px;color:var(--hm-chalk);cursor:pointer;border:0;border-radius:50%;font-size:.75rem}.tug-pill-x:focus-visible{outline:2px solid var(--hm-torch)}@media (width<=700px){.tug-pill{top:calc(max(12px, env(safe-area-inset-top)) + 96px)}.tug-toast{top:auto;bottom:calc(env(safe-area-inset-bottom) + 210px)}}.cave[data-activity=tug] .cave-bar,.cave[data-activity=tug] .cave-chat{display:none}body:has(.cave[data-activity=tug]) .fps-badge{display:none}.tug{z-index:900;pointer-events:none;color:var(--hm-chalk);font-family:var(--hm-f-body);-webkit-user-select:none;user-select:none;position:fixed;inset:0;container-type:inline-size}.tug>*{pointer-events:auto}.tug-top{padding:max(10px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));background:linear-gradient(180deg, color-mix(in srgb, var(--hm-night) 85%, transparent), color-mix(in srgb, var(--hm-night) 50%, transparent) 70%, transparent);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px 10px;display:grid;position:absolute;top:0;left:0;right:0}.tug-team{gap:1px;min-width:0;display:grid}.tug-team b{font:900 clamp(.9rem, 2.4cqi, 1.15rem) / 1.1 var(--hm-f-carve)}.tug-team b small{font:600 .7rem var(--hm-f-body);color:var(--hm-gilt-hi)}.tug-team>small{color:color-mix(in srgb, var(--hm-chalk) 72%, transparent);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.66rem,1.6cqi,.8rem);overflow:hidden}.tug-team .is-out{opacity:.6;text-decoration:line-through}.tug-team.is-red b{color:var(--hm-team-red)}.tug-team.is-white{text-align:right}.tug-team.is-white b{color:var(--hm-team-white)}.tug-timer{font:900 clamp(1.4rem, 4.4cqi, 2.2rem) / 1 var(--hm-f-carve);font-variant-numeric:tabular-nums;background:linear-gradient(180deg, var(--hm-enamel-hi), var(--hm-enamel));border:2px solid var(--hm-gilt);text-align:center;border-top:0;border-radius:0 0 9px 9px;min-width:3.6em;padding:3px 14px 5px}.tug-timer small{font:700 .58rem var(--hm-f-body);color:var(--hm-gilt-hi);letter-spacing:.04em;display:block}.tug-timer.is-sprint{border-color:var(--hm-bad);animation:.45s ease-in-out infinite alternate tug-thump}@keyframes tug-thump{to{transform:scale(1.07)}}.tug-bar{border:2px solid color-mix(in srgb, var(--hm-gilt-hi) 55%, transparent);background:linear-gradient(90deg, var(--hm-red) 0 8%, var(--hm-slab-hi) 8% 92%, var(--hm-team-white) 92%);border-radius:99px;grid-column:1/-1;height:14px;position:relative}.tug-bar:after{content:"";background:color-mix(in srgb, var(--hm-chalk) 60%, transparent);width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px;left:50%}.tug-bar i{background:linear-gradient(135deg, var(--hm-chalk) 0 50%, var(--hm-red) 50%);border:2px solid var(--hm-gilt-hi);width:18px;height:18px;box-shadow:0 0 10px color-mix(in srgb, var(--hm-shade) 60%, transparent);z-index:1;border-radius:3px;margin:-9px 0 0 -9px;position:absolute;top:50%;left:50%;transform:rotate(45deg)}.tug-count{font:900 clamp(2.4rem, 10cqi, 5rem) / 1 var(--hm-f-carve);color:var(--hm-gilt-hi);text-shadow:0 4px 0 color-mix(in srgb, var(--hm-shade) 55%, transparent);pointer-events:none;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.tug-count.is-go{color:var(--hm-bad)}.tug-ctrl{padding:18px max(16px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--hm-night) 88%, transparent) 35%);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid;position:absolute;bottom:0;left:0;right:0}.tug-meter-box{justify-self:center;gap:5px;width:100%;min-width:0;max-width:760px;display:grid}.tug-meter-top{align-items:center;gap:8px;font-size:clamp(.7rem,1.8cqi,.85rem);font-weight:700;display:flex}.tug-combo{color:var(--hm-gilt-hi)}.tug-mate{color:color-mix(in srgb, var(--hm-chalk) 65%, transparent);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-left:auto;overflow:hidden}.tug-meter{background:var(--hm-slab-solid);height:clamp(28px,5.5cqi,40px);box-shadow:inset 0 0 0 2px var(--hm-gilt), inset 0 4px 10px color-mix(in srgb, var(--hm-shade) 60%, transparent);border-radius:10px;position:relative;overflow:hidden}.tug-meter.is-slip{filter:grayscale()brightness(.6)}.tug-zone{background:color-mix(in srgb, var(--hm-ok) 55%, transparent);box-shadow:inset 0 0 0 2px var(--hm-ok);transition:left .18s ease-out;position:absolute;top:0;bottom:0}.tug-zone b{background:color-mix(in srgb, var(--hm-perfect) 88%, transparent);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tug-needle{background:var(--hm-chalk);width:5px;box-shadow:0 0 10px var(--hm-chalk);border-radius:3px;margin-left:-2.5px;position:absolute;top:-3px;bottom:-3px}.tug-fb{text-align:center;min-height:1.3em;font:900 clamp(.85rem, 2.2cqi, 1.05rem) var(--hm-f-carve);margin:0}.tug-fb.is-perfect{color:var(--hm-perfect)}.tug-fb.is-good{color:var(--hm-ok)}.tug-fb.is-miss,.tug-fb.is-warn{color:var(--hm-bad)}.tug-fb.is-sync{color:var(--hm-torch)}.tug-pull{appearance:none;cursor:pointer;color:var(--hm-chalk);font:900 clamp(1rem, 2.8cqi, 1.35rem) / 1 var(--hm-f-carve);aspect-ratio:1;background:radial-gradient(circle at 50% 35%, var(--hm-red-hi), var(--hm-red-deep) 70%);width:clamp(88px,12cqi,120px);box-shadow:inset 0 0 0 3px var(--hm-gilt), 0 5px 0 var(--hm-enamel-deep), 0 8px 20px color-mix(in srgb, var(--hm-shade) 50%, transparent);touch-action:manipulation;border:0;border-radius:50%;place-content:center;gap:4px;display:grid}.tug-pull small{font:700 .62rem var(--hm-f-body);color:var(--hm-gilt-hi)}.tug-pull:active{box-shadow:inset 0 0 0 3px var(--hm-gilt-hi), 0 2px 0 var(--hm-enamel-deep);transform:translateY(3px)}.tug-pull:focus-visible{outline:3px solid var(--hm-torch);outline-offset:3px}.tug-mute{align-self:end}.tug.is-touch .tug-ctrl{grid-template-columns:minmax(0,1fr) auto}.tug.is-touch .tug-pull{width:120px;font-size:1.4rem}@container (width<=520px){.tug-ctrl{grid-template-columns:minmax(0,1fr) auto}.tug-meter-box{grid-column:1/-1}.tug-pull{justify-self:center}}.tug-card-wrap{background:color-mix(in srgb, var(--hm-night) 45%, transparent);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow:auto}.tug-card{text-align:center;background:linear-gradient(180deg, var(--hm-enamel-hi), var(--hm-enamel));width:min(560px,100%);box-shadow:inset 0 0 0 2px var(--hm-gilt), inset 0 0 0 5px var(--hm-enamel), inset 0 0 0 6px var(--hm-gilt), 0 14px 40px color-mix(in srgb, var(--hm-shade) 60%, transparent);border-radius:14px;justify-items:center;gap:10px;padding:16px;display:grid}.tug-card h2{font:900 clamp(1.1rem, 3.6cqi, 1.6rem) / 1.15 var(--hm-f-carve);text-wrap:balance;margin:0}.tug-card p{color:var(--hm-chalk);margin:0;font-size:.875rem;line-height:1.45}.tug-card .tug-small{color:var(--hm-gilt-hi);font-size:.75rem}.tug-call-n{font:900 clamp(2.4rem, 9cqi, 3.6rem) / 1 var(--hm-f-carve)!important;color:var(--hm-gilt-hi)!important}.tug-red{color:var(--hm-team-red)}.tug-white{color:var(--hm-team-white)}.tug-btn{appearance:none;font:800 .9rem var(--hm-f-body);color:var(--hm-chalk);cursor:pointer;background:linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-solid));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hm-gilt-hi) 45%, transparent), 0 3px 0 var(--hm-ink);border:0;border-radius:9px;padding:9px 14px}.tug-btn.is-ghost{background:color-mix(in srgb, var(--hm-shade) 25%, transparent)}.tug-btn:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}.tug-stats-wrap{width:100%;overflow-x:auto}.tug-stats{border-collapse:collapse;width:100%;font-size:.78rem}.tug-stats th,.tug-stats td{text-align:right;border-bottom:1px solid color-mix(in srgb, var(--hm-gilt-hi) 20%, transparent);white-space:nowrap;padding:5px 6px}.tug-stats th:first-child,.tug-stats td:first-child{text-align:left;white-space:normal}.tug-stats thead th{color:var(--hm-gilt-hi);font-weight:700}.tug-stats tr.is-me td{color:var(--hm-gilt-hi);font-weight:800}.tug-stats .is-plus{color:var(--hm-ok);font-weight:900}.tug-out{color:var(--hm-team-red)}.tug-gain{background:color-mix(in srgb, var(--hm-shade) 30%, transparent);border-radius:9px;padding:7px 10px}@container (width<=520px){.tug-stats{font-size:.7rem}.tug-stats th,.tug-stats td{padding:4px 3px}}@media (prefers-reduced-motion:reduce){.tug-timer.is-sprint{animation:none}.tug-zone{transition:none}}.ball-toast{z-index:8;left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 84px);background:var(--hm-slab-solid);border:1px solid color-mix(in srgb, var(--hm-chalk) 25%, transparent);max-width:calc(100vw - 32px);color:var(--hm-chalk);pointer-events:none;border-radius:10px;padding:6px 12px;font-size:.8125rem;position:absolute;transform:translate(-50%)}.ball-pill{top:calc(max(12px, env(safe-area-inset-top)) + 88px)}@media (width<=700px){.ball-pill{top:calc(max(12px, env(safe-area-inset-top)) + 136px)}.ball-toast{top:auto;bottom:calc(env(safe-area-inset-bottom) + 250px)}}.ball{z-index:900;background:var(--hm-night);color:var(--hm-chalk);font-family:var(--hm-f-body);-webkit-user-select:none;user-select:none;touch-action:none;position:fixed;inset:0;overflow:hidden;container-type:inline-size}.ball-canvas{inset:0;position:absolute!important}.ball-tags{pointer-events:none;position:absolute;inset:0}.ball-tag{border-bottom:3px solid var(--c);background:color-mix(in srgb, var(--hm-night) 55%, transparent);font:800 clamp(.62rem, 1.4cqi, .78rem) var(--hm-f-body);white-space:nowrap;text-shadow:0 1px 2px var(--hm-shade);will-change:transform;border-radius:6px;padding:1px 6px;position:absolute;top:0;left:0}.ball-tag.is-me{color:var(--hm-gilt-hi)}.ball-tag.is-hold{background:color-mix(in srgb, var(--hm-enamel) 85%, transparent);box-shadow:0 0 0 1px var(--hm-gilt)}.ball-tag.is-out{display:none}.ball-top{padding:0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));pointer-events:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:8px;display:grid;position:absolute;top:0;left:0;right:0}.ball-timer{min-width:3.6em;padding:calc(env(safe-area-inset-top) + 4px) 16px 6px;border:2px solid var(--hm-gilt);background:linear-gradient(180deg, var(--hm-enamel-hi), var(--hm-enamel));text-align:center;font:900 clamp(1.4rem, 4.6cqi, 2.2rem) / 1 var(--hm-f-carve);font-variant-numeric:tabular-nums;border-top:0;border-radius:0 0 10px 10px;grid-column:2}.ball-timer small{font:700 .6rem var(--hm-f-body);color:var(--hm-gilt-hi);letter-spacing:.04em;display:block}.ball-timer.is-double{border-color:var(--hm-bad);animation:.45s ease-in-out infinite alternate ball-thump}@keyframes ball-thump{to{transform:scale(1.07)}}.ball-board{margin:calc(env(safe-area-inset-top) + 8px) 0 0;background:color-mix(in srgb, var(--hm-shade) 55%, transparent);min-width:clamp(130px,22cqi,190px);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hm-gilt-hi) 22%, transparent);border-radius:10px;grid-column:3;justify-self:end;gap:3px;padding:6px 8px;font-size:clamp(.66rem,1.5cqi,.8rem);list-style:none;display:grid}.ball-board li{border-left:3px solid var(--c);grid-template-columns:1.2em minmax(0,1fr) auto;align-items:center;gap:5px;padding-left:4px;display:grid}.ball-board li span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.ball-board li b{font:900 1em var(--hm-f-carve);font-variant-numeric:tabular-nums}.ball-board li.is-me span:nth-child(2){text-underline-offset:2px;text-decoration:underline}.ball-board li.is-hold{color:var(--hm-gilt-hi)}.ball-board li.is-out{opacity:.45;text-decoration:line-through}.ball-banner{text-align:center;width:90%;font:900 clamp(2rem, 9cqi, 4rem) / 1.05 var(--hm-f-carve);color:var(--hm-gilt-hi);text-shadow:0 4px 0 color-mix(in srgb, var(--hm-shade) 55%, transparent);pointer-events:none;animation:.3s cubic-bezier(.2,1.6,.4,1) ball-pop;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.ball-banner.is-go,.ball-banner.is-steal{font-size:clamp(1.4rem,6cqi,2.8rem)}.ball-banner.is-steal{color:var(--hm-bad)}.ball-banner small{font:700 clamp(.75rem, 2cqi, .95rem) var(--hm-f-body);color:var(--hm-chalk);text-shadow:0 2px 4px var(--hm-shade);margin-top:4px;display:block}@keyframes ball-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}}.ball-warn{background:color-mix(in srgb, var(--hm-red-deep) 85%, transparent);box-shadow:inset 0 0 0 1px var(--hm-bad);white-space:nowrap;pointer-events:none;border-radius:99px;margin:0;padding:6px 14px;font-weight:800;position:absolute;top:62%;left:50%;transform:translate(-50%)}.ball-hint{left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);background:color-mix(in srgb, var(--hm-shade) 50%, transparent);color:var(--hm-chalk-dim);white-space:nowrap;pointer-events:none;border-radius:99px;margin:0;padding:4px 10px;font-size:clamp(.68rem,1.6cqi,.82rem);position:absolute;transform:translate(-50%)}.ball-mute{left:max(12px, env(safe-area-inset-left));top:calc(env(safe-area-inset-top) + 10px);appearance:none;font:700 .78rem var(--hm-f-body);color:var(--hm-chalk);cursor:pointer;background:color-mix(in srgb, var(--hm-shade) 50%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hm-gilt-hi) 30%, transparent);border:0;border-radius:9px;padding:6px 10px;position:absolute}.ball-mute:focus-visible,.ball-dash:focus-visible,.ball-btn:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}.ball-stick{left:max(20px, env(safe-area-inset-left));bottom:calc(env(safe-area-inset-bottom) + 24px);background:color-mix(in srgb, var(--hm-shade) 35%, transparent);width:128px;height:128px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--hm-gilt-hi) 35%, transparent);touch-action:none;border-radius:50%;position:absolute}.ball-stick i{background:color-mix(in srgb, var(--hm-gilt-hi) 55%, transparent);pointer-events:none;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%}.ball-dash{right:max(20px, env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 30px);aspect-ratio:1;appearance:none;cursor:pointer;width:96px;color:var(--hm-chalk);font:900 1.1rem / 1 var(--hm-f-carve);background:radial-gradient(circle at 50% 35%, var(--hm-red-hi), var(--hm-red-deep) 70%);box-shadow:inset 0 0 0 3px var(--hm-gilt), 0 4px 0 var(--hm-enamel-deep);touch-action:none;border:0;border-radius:50%;position:absolute}.ball-dash:after{content:"";background:conic-gradient(color-mix(in srgb, var(--hm-shade) 60%, transparent) var(--cd,0%), transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:0}.ball-card-wrap{background:color-mix(in srgb, var(--hm-night) 55%, transparent);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow:auto}.ball-card{text-align:center;background:linear-gradient(180deg, var(--hm-enamel-hi), var(--hm-enamel));width:min(560px,100%);box-shadow:inset 0 0 0 2px var(--hm-gilt), inset 0 0 0 5px var(--hm-enamel), inset 0 0 0 6px var(--hm-gilt), 0 14px 40px color-mix(in srgb, var(--hm-shade) 60%, transparent);border-radius:14px;justify-items:center;gap:10px;padding:16px;display:grid}.ball-card h2{font:900 clamp(1.1rem, 3.6cqi, 1.6rem) / 1.15 var(--hm-f-carve);text-wrap:balance;margin:0}.ball-card p{margin:0;font-size:.875rem;line-height:1.45}.ball-call-n{color:var(--hm-gilt-hi);font:900 clamp(2.4rem, 9cqi, 3.6rem) / 1 var(--hm-f-carve)!important}.ball-roster{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ball-roster li{border:2px solid var(--c);border-radius:99px;padding:2px 8px;font-size:.8rem;font-weight:700}.ball-btn{appearance:none;font:800 .9rem var(--hm-f-body);color:var(--hm-chalk);cursor:pointer;background:linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-solid));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hm-gilt-hi) 45%, transparent), 0 3px 0 var(--hm-ink);border:0;border-radius:9px;padding:9px 14px}.ball-btn.is-ghost{background:color-mix(in srgb, var(--hm-shade) 25%, transparent)}.ball-stats-wrap{width:100%;overflow-x:auto}.ball-stats{border-collapse:collapse;width:100%;font-size:.8rem}.ball-stats th,.ball-stats td{text-align:right;white-space:nowrap;border-bottom:1px solid color-mix(in srgb, var(--hm-gilt-hi) 20%, transparent);padding:5px 6px}.ball-stats th:first-child,.ball-stats td:first-child{text-align:left;white-space:normal}.ball-stats thead th{color:var(--hm-gilt-hi);font-weight:700}.ball-stats tr.is-me td{color:var(--hm-gilt-hi);font-weight:800}.ball-stats .is-plus{color:var(--hm-ok);font-weight:900}.ball-out{color:var(--hm-chalk-dim)}.ball-gain{color:var(--hm-gilt-hi);font-size:.8rem!important}@container (width<=640px){.ball-top{grid-template-columns:minmax(0,1fr);justify-items:center}.ball-timer{grid-column:1}.ball-board{grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:stretch;column-gap:8px;margin-top:6px}.ball-mute{top:calc(env(safe-area-inset-top) + 8px);padding:5px 8px}}@media (prefers-reduced-motion:reduce){.ball-timer.is-double,.ball-banner{animation:none}}.cave[data-activity=ball] .cave-bar,.cave[data-activity=ball] .cave-chat{display:none}body:has(.cave[data-activity=ball]) .fps-badge{display:none}.cave{color:#f3e7d8;background:#120b08;height:100dvh;font-family:Be Vietnam Pro,system-ui,sans-serif;position:relative;overflow:hidden}.cave-scene{isolation:isolate;touch-action:none;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.cave-bar{top:max(16px, env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;left:16px;right:16px}.cave-bar>*{pointer-events:auto}.cave-leave{appearance:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:inherit;cursor:pointer;background:#140d0a99;border:1px solid #f3e7d847;border-radius:6px 6px 18px;padding:10px 20px;font:600 .9375rem/1 Be Vietnam Pro,system-ui,sans-serif}.cave-leave:focus-visible{outline-offset:3px;outline:3px solid #da291c}.cave-bar-left{align-items:center;gap:8px;display:flex}.cave-sound{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140d0a99;border:1px solid #f3e7d847;border-radius:20px;align-items:center;gap:4px;height:40px;padding:0 12px 0 0;display:flex}.cave-sound-btn{appearance:none;width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.cave-sound-btn:hover{background:#f3e7d81f}.cave-sound[data-muted] .cave-sound-btn{color:#da291c}.cave-sound-btn:focus-visible,.cave-sound-range:focus-visible{outline-offset:2px;outline:3px solid #da291c}.cave-sound-range{appearance:none;cursor:pointer;touch-action:none;background:0 0;width:88px;height:20px;margin:0}.cave-sound-range::-webkit-slider-runnable-track{background:linear-gradient(to right, #da291c 0 var(--fill), #f3e7d840 var(--fill) 100%);border-radius:2px;height:4px}.cave-sound-range::-moz-range-track{background:#f3e7d840;border-radius:2px;height:4px}.cave-sound-range::-moz-range-progress{background:#da291c;border-radius:2px;height:4px}.cave-sound-range::-webkit-slider-thumb{-webkit-appearance:none;background:#f3e7d8;border:0;border-radius:50%;width:14px;height:14px;margin-top:-5px}.cave-sound-range::-moz-range-thumb{background:#f3e7d8;border:0;border-radius:50%;width:14px;height:14px}.cave-tv{align-items:center;gap:4px;height:40px;padding:0 10px 0 3px;display:flex;position:relative}.cave-tv-seg{border-radius:7px;gap:2px;height:32px;padding:2px;display:flex}.cave-tv-ch{appearance:none;font:700 .8125rem var(--hm-f-body);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:0 10px;display:flex}.cave-tv-ch:disabled{opacity:.45;cursor:not-allowed}.cave-tv-vol-btn{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:1rem;display:grid}.cave-tv-range{width:76px}.cave-tv-ch:focus-visible,.cave-tv-vol-btn:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}.cave-tv-pop{z-index:70;gap:8px;width:260px;padding:12px 14px 14px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.cave-tv-title{font:800 .9375rem var(--hm-f-carve);margin:0}.cave-tv-vol{align-items:center;gap:8px;display:flex}.cave-tv-pop .cave-tv-range{flex:1;width:auto}.cave-tv-pct{text-align:right;min-width:3.2em;font:600 .8125rem var(--hm-f-body);font-variant-numeric:tabular-nums}.cave-tv-note{margin:0;font-size:.75rem}@media (width<=900px){.cave-tv-inline{display:none}.cave-tv{padding-right:3px}}@media (width<=700px){.cave-tv-ch-label{display:none}.cave-tv-ch{padding:0 8px}}@media (width<=480px){.cave-bar{gap:10px}.cave-leave{white-space:nowrap;padding:10px 14px}.cave-room-extra{display:none}.cave-bar-left{gap:6px;min-width:0}.cave-sound{justify-content:center;width:40px;padding:0}.cave-sound-range{display:none}.cave-tv-pop .cave-sound-range{display:block}.cave-tv-pop{top:calc(env(safe-area-inset-top,0px) + 100px);width:auto;position:fixed;left:12px;right:12px}.cave-tv{gap:1px;padding:0 2px}.cave-tv-ch{justify-content:center;width:30px;padding:0}.cave-tv-vol-btn{width:28px}.cave-room-name{display:none}.cave-room{flex:none}.cave-room-meta{white-space:nowrap;font-size:.75rem}}@media (width<=420px){.cave-room-unit{display:none}.cave-room-meta:before{content:"👥 "}}@media (width<=360px){.cave-bar{gap:8px}.cave-leave{padding:10px 11px}.cave-room-meta{color:inherit;font-size:.8125rem;font-weight:600}}.board-video{pointer-events:none;background:#000;overflow:hidden}.board-video iframe{pointer-events:none;border:0;width:100%;height:100%;display:block}.board-video{position:relative}.board-video>:not(.board-score){transition:filter .6s;position:absolute;inset:0}.board-video[data-live]>:not(.board-score){filter:brightness(.3)saturate(.6)}.board-score{z-index:2;opacity:0;pointer-events:none;place-items:center;transition:opacity .6s;display:grid;position:absolute;inset:0}.board-score--on{opacity:1}.board-score-card{text-align:center;width:740px;color:var(--hm-chalk);border:5px solid var(--hm-gilt);outline-offset:-14px;background:linear-gradient(#7a1424eb,#460a16eb);outline:2px solid #ecd08ca6;padding:26px 34px 24px;transition:transform .6s;transform:translateY(14px)scale(.96);box-shadow:0 18px 60px #0009}.board-score--on .board-score-card{transform:none}.board-score-status{color:#fff6ec;background:var(--hm-red);border-radius:6px;padding:4px 18px;font:800 26px/1.3 Bitter,Georgia,serif;display:inline-block}.board-score-status--ht{background:#8a6a10}.board-score-comp{color:#efe9ddb3;margin-top:8px;font:600 20px/1.3 Be Vietnam Pro,system-ui,sans-serif}.board-score-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:14px;display:grid}.board-score-team{justify-items:center;gap:4px;min-width:0;display:grid}.board-score-logo{object-fit:contain;width:64px;height:64px}.board-score-logo[hidden]{display:none}.board-score-short{color:#fff6ec;font:900 64px/1 Bitter,Georgia,serif}.board-score-name{text-overflow:ellipsis;white-space:nowrap;color:#efe9ddcc;max-width:100%;font:600 20px/1.3 Be Vietnam Pro,system-ui,sans-serif;overflow:hidden}.board-score-num{color:var(--hm-gilt-hi,#ecd08c);white-space:nowrap;text-shadow:0 4px #00000059;font:900 110px/1 Bitter,Georgia,serif}.board-score-goals{grid-template-columns:1fr 1fr;gap:24px;margin-top:12px;display:grid}.board-score-goals-side{text-align:left;color:#efe9dde0;margin:0;padding:0;font:500 19px/1.45 Be Vietnam Pro,system-ui,sans-serif;list-style:none}.board-score-goals-side--away{text-align:right}.board-score-goals-side li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-score-goal{text-align:center;color:#fff6ec;opacity:0;background:#c8102ee6;place-content:center;transition:opacity .3s;display:grid;position:absolute;inset:0}.board-score-goal--on{opacity:1;animation:.76s step-end infinite board-goal-flash}.board-score-goal-big{font:900 150px/1 Bitter,Georgia,serif}.board-score-goal-who{margin-top:10px;font:700 40px/1.2 Be Vietnam Pro,system-ui,sans-serif}@keyframes board-goal-flash{50%{color:var(--hm-red);background:#fff6eceb}}@media (prefers-reduced-motion:reduce){.board-video>:not(.board-score),.board-score,.board-score-card{transition:none}.board-score-goal--on{animation:none}}.cave-room{text-align:right}.cave-room p{margin:0}.cave-room-name{font-size:1rem;font-weight:600}.cave-room-meta{color:#f3e7d8b3;font-size:.8125rem}.cave-help-btn{z-index:6;left:calc(max(12px, env(safe-area-inset-left)) + 36px);bottom:max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#f3e7d8e6;cursor:pointer;background:#140d0a9e;border:1px solid #f3e7d84d;border-radius:999px;height:28px;padding:0 11px;font:600 .8125rem Be Vietnam Pro,system-ui,sans-serif;position:absolute}.cave-help-btn:hover,.cave-help-btn[aria-expanded=true]{color:#fff6ec;background:#140d0ad9}.cave-help-btn:focus-visible,.cave-help-ok:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}.cave-help-card{z-index:7;left:max(12px, env(safe-area-inset-left));bottom:calc(max(12px, env(safe-area-inset-bottom)) + 38px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff6ec;background:#140c09e6;border:1px solid #f3e7d829;border-radius:14px;gap:12px;width:min(360px,100vw - 24px);padding:16px;display:grid;position:absolute;box-shadow:0 18px 40px -16px #000000d9}.cave-help-title{margin:0;font:800 1.0625rem/1.2 Bitter,Georgia,serif}.cave-help-list{grid-template-columns:max-content 1fr;align-items:center;gap:8px 12px;margin:0;display:grid}.cave-help-row{display:contents}.cave-help-row dt{justify-self:start}.cave-help-row dd{color:#f3e7d8e0;margin:0;font-size:.875rem;line-height:1.35}.cave-help-row kbd{white-space:nowrap;border:1px solid #f3e7d866;border-bottom-width:2px;border-radius:6px;padding:2px 8px;font:600 .8125rem/1.4 Be Vietnam Pro,system-ui,sans-serif;display:inline-block}.cave-help-ok{color:#fff;cursor:pointer;background:#c8102e;border:0;border-radius:8px;justify-self:end;padding:8px 16px;font:700 .875rem Be Vietnam Pro,system-ui,sans-serif}.cave-lock-hint{z-index:2;left:50%;bottom:max(16px, env(safe-area-inset-bottom));color:#f3e7d8cc;white-space:nowrap;pointer-events:none;background:#140d0a80;border-radius:999px;margin:0;padding:5px 12px;font-size:.8125rem;position:absolute;transform:translate(-50%)}.cave-credits{z-index:6;left:max(12px, env(safe-area-inset-left));bottom:max(12px, env(safe-area-inset-bottom));color:#f3e7d8cc;font-size:.75rem;line-height:1.5;position:absolute}.cave-credits summary{cursor:pointer;background:#140d0a99;border:1px solid #f3e7d840;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.875rem;list-style:none;display:grid}.cave-credits summary::-webkit-details-marker{display:none}.cave-credits summary:focus-visible{outline-offset:2px;outline:2px solid #ffd166}.cave-credits-body{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140d0ae6;border-radius:10px;width:min(420px,100vw - 32px);padding:10px 12px;position:absolute;bottom:34px;left:0}.cave-credits-title{font-weight:600}.cave-credits ul{margin:6px 0;padding-left:18px}.cave-credits p{margin:0}.cave-credits a{color:#f6c9a8}.cave-donate{left:max(12px, env(safe-area-inset-left));bottom:calc(max(12px, env(safe-area-inset-bottom)) + 34px)}.cave-stick{z-index:5;left:max(24px, env(safe-area-inset-left));bottom:max(104px, calc(env(safe-area-inset-bottom) + 88px));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;-webkit-user-select:none;user-select:none;background:#140d0a73;border:2px solid #f3e7d84d;border-radius:50%;width:132px;height:132px;position:absolute}.cave-stick-knob{pointer-events:none;background:#da291c;border:2px solid #fff6ecd9;border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%;box-shadow:0 4px 14px #00000073}.cave-ime{top:max(72px, calc(env(safe-area-inset-top) + 56px));color:#f3e7d8;text-align:center;pointer-events:none;background:#140d0ad9;border:1px solid #da291c99;border-radius:8px;width:min(500px,100% - 32px);margin:0;padding:10px 14px;font-size:.875rem;line-height:1.45;position:absolute;left:50%;transform:translate(-50%)}.cave-crosshair{pointer-events:none;border:2px solid #fff6ecd9;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #00000073,inset 0 0 0 1px #00000059}.cave-crosshair:after{content:"";background:#fff6ec;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #00000073}.cave-chat{z-index:4;top:max(68px, calc(env(safe-area-inset-top) + 52px));right:max(16px, env(safe-area-inset-right));background:linear-gradient(270deg,#140d0a61,#140d0a29 70%,#140d0a00);border-radius:12px;flex-direction:column;gap:8px;width:clamp(250px,23vw,340px);padding:8px 10px 10px;font-size:.8125rem;line-height:1.38;transition:background-color .2s;display:flex;position:absolute}.cave-chat:hover,.cave-chat:focus-within,.cave-chat.is-open{background-color:#140d0a59}.cave-chat.is-touch{top:max(96px, calc(env(safe-area-inset-top) + 80px));background:linear-gradient(270deg,#140d0ab8,#140d0a99 70%,#140d0a73);border-radius:10px;gap:4px;width:min(196px,100vw - 160px);padding:5px 7px 7px;font-size:.6875rem;line-height:1.35}.cave-chat.is-touch.is-open{z-index:7;left:max(16px, env(safe-area-inset-left));width:auto;font-size:.8125rem}.cave-chat.is-touch .cave-chat-title{display:none}.cave-chat.is-touch .cave-chat-head{justify-content:space-between}.cave-chat.is-touch .cave-chat-hide{padding:0 9px;font-size:.6875rem}.cave-chat.is-touch .cave-chat-msg{padding:1px 0}.cave-chat.is-touch .cave-chat-compose{padding:4px 9px;font-size:.75rem}.cave-chat.is-touch .cave-chat-notice{padding:4px 8px;font-size:.8125rem}.cave-chat.is-hidden{background:0 0;width:auto;padding:0}.cave-chat-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cave-chat-title{color:#f3e7d8bf;margin:0;font-size:.875rem;font-weight:600}.cave-chat-hide,.cave-chat-toggle{color:#f3e7d8;font:inherit;cursor:pointer;background:#140d0ab3;border:1px solid #f3e7d84d;border-radius:999px;font-size:.875rem;font-weight:600}.cave-chat-hide{padding:3px 12px}.cave-chat-toggle{align-items:center;gap:8px;padding:7px 14px;display:inline-flex}.cave-chat-badge{color:#fff6ec;text-align:center;font-variant-numeric:tabular-nums;background:#c8102e;border-radius:999px;min-width:1.5em;padding:0 6px;font-size:.8125rem}.cave-chat-log{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#f3e7d84d transparent;max-height:min(34dvh,300px);margin:0;padding:0 2px 0 0;list-style:none;overflow-y:auto}.cave-chat-log.is-overflow{-webkit-mask-image:linear-gradient(#0000,#000 48px);mask-image:linear-gradient(#0000,#000 48px)}.cave-chat.is-touch .cave-chat-log{max-height:16dvh}.cave-chat.is-touch .cave-chat-log.is-overflow{-webkit-mask-image:linear-gradient(#0000,#000 28px);mask-image:linear-gradient(#0000,#000 28px)}.cave-chat.is-touch.is-open .cave-chat-log{max-height:26dvh}.cave-chat-msg,.cave-chat-empty,.cave-feed-item{color:#f3e7d8;overflow-wrap:anywhere;text-shadow:-1px -1px #0009,1px -1px #0009,-1px 1px #0009,1px 1px #0009,0 1px 3px #000000e6,0 0 10px #0000008c;padding:2px 0;font-weight:500}.cave-feed{border-top:1px solid #c9a24e47;flex-direction:column;gap:2px;padding-top:5px;display:flex}.cave-feed-title{text-shadow:0 1px 2px #000000e6;margin:0;font-size:.6875rem;font-weight:700}.cave-feed-log{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#f3e7d84d transparent;max-height:16dvh;margin:0;padding:0 2px 0 0;list-style:none;overflow-y:auto}.cave-feed-log.is-compact{max-height:5.8em}.cave-feed-log.is-overflow{-webkit-mask-image:linear-gradient(#0000,#000 1.6em);mask-image:linear-gradient(#0000,#000 1.6em)}.cave-feed-item{padding:1px 0;font-size:.75rem}.cave-chat.is-touch.is-open .cave-feed-log{max-height:26dvh}.cave-chat-tabs{gap:2px;min-width:0;display:flex}.cave-chat-tab{font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:600;position:relative}.cave-chat-dot{border-radius:50%;width:6px;height:6px;position:absolute;top:1px;right:1px}.cave-chat-tab:focus-visible{outline-offset:1px;outline:2px solid #ffd166}.cave-chat-empty{color:#f3e7d899}.cave-chat-msg.is-pending{opacity:.65}.cave-chat-name{color:#f2b98c;font-weight:600}.cave-chat-failed{color:#ff9b8a;font-size:.8125rem}.cave-chat-notice{color:#fff6ec;background:#c8102ee6;border-radius:8px;margin:0;padding:5px 10px;font-size:.875rem}.cave-chat-compose{color:#f3e7d8a6;font:inherit;text-align:left;cursor:text;background:0 0;border:1px dashed #f3e7d84d;border-radius:999px;padding:8px 12px}.cave-chat-compose kbd{font:inherit;color:#fff6ec;border:1px solid #f3e7d866;border-bottom-width:2px;border-radius:5px;padding:0 6px;font-size:.8125rem;font-weight:600}.cave-chat-form{background:#140d0ae6;border:1px solid #ffd166;border-radius:999px;align-items:center;gap:6px;padding:4px 4px 4px 12px;display:flex}.cave-chat-input{color:#fff6ec;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;padding:4px 0;font-size:.875rem}.cave-chat-count{color:#f3e7d899;font-variant-numeric:tabular-nums;font-size:.8125rem}.cave-chat-send{color:#fff6ec;font:inherit;cursor:pointer;background:#c8102e;border:0;border-radius:999px;padding:7px 16px;font-weight:600}.cave-chat-hide:focus-visible,.cave-chat-toggle:focus-visible,.cave-chat-compose:focus-visible,.cave-chat-send:focus-visible{outline-offset:2px;outline:2px solid #ffd166}.cave-net{z-index:7;top:max(72px, calc(env(safe-area-inset-top) + 56px));color:#fff6ec;text-align:center;background:#c8102eeb;border-radius:999px;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:8px 16px;font-size:.9375rem;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.cave-reconnect{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a06048c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.cave-reconnect-box{text-align:center;background:#140d0ae0;border:1px solid #f3e7d838;border-radius:14px;flex-direction:column;align-items:center;gap:8px;max-width:320px;padding:22px 26px;display:flex}.cave-reconnect-box p{margin:0}.cave-reconnect-title{font-size:1.0625rem;font-weight:700}.cave-reconnect-sub{color:#f3e7d8bf;font-variant-numeric:tabular-nums;font-size:.9375rem;margin-bottom:8px!important}.cave-reconnect-spin{border:3px solid #f3e7d833;border-top-color:#da291c;border-radius:50%;width:30px;height:30px;margin-bottom:4px;animation:.9s linear infinite cave-reconnect-spin}@keyframes cave-reconnect-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cave-reconnect-spin{animation-duration:2.4s}}.goal-overlay{z-index:3;pointer-events:none;place-items:center;animation:9s linear forwards goal-out;display:grid;position:absolute;inset:0}.goal-vignette{opacity:.35;background:radial-gradient(#0000 45%,#da291c8c 100%);animation:.76s ease-in-out 6 alternate goal-pulse;position:absolute;inset:0}.goal-card{text-align:center;justify-items:center;gap:4px;padding:0 16px;display:grid;position:relative;transform:translateY(-14vh)}.goal-word{letter-spacing:-.02em;color:#fff;text-shadow:0 0 2px #7a0d06,0 6px #c8102e,0 10px 30px #0000008c;white-space:nowrap;margin:0;font:800 clamp(3rem,12vw,8rem)/1 Bitter,Georgia,serif;animation:.5s ease-in-out .6s 3 goal-shake}.goal-word span{animation:goal-pop .55s calc(var(--i) * 70ms) cubic-bezier(.2, 1.6, .4, 1) both;display:inline-block}.goal-who,.goal-score{color:#fff6ec;text-shadow:0 2px 10px #000000b3;margin:0;animation:.5s ease-out .55s both goal-rise}.goal-who{font-size:clamp(1rem,3.4vw,1.75rem);font-weight:600}.goal-score{color:var(--hm-gilt-hi);font:800 clamp(1.25rem,4vw,2.25rem)/1.2 Bitter,Georgia,serif}@keyframes goal-pop{0%{opacity:0;transform:translateY(40%)scale(.2)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes goal-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes goal-shake{0%,to{transform:none}25%{transform:translate(-6px)rotate(-1.5deg)}75%{transform:translate(6px)rotate(1.5deg)}}@keyframes goal-pulse{to{opacity:1}}@keyframes goal-out{0%,66%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.cave-chat{transition:none}.goal-word,.goal-word span,.goal-who,.goal-score,.goal-vignette{animation:none}}.cave-celebrate{z-index:5;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));appearance:none;color:#fff;cursor:pointer;touch-action:manipulation;background:#c8102e;border:0;border-radius:999px;padding:12px 20px;font:700 1rem Be Vietnam Pro,system-ui,sans-serif;transition:transform .12s;position:absolute;box-shadow:0 8px 22px -8px #000000b3}.cave-celebrate:hover{background:#da291c}.cave-celebrate:active{transform:scale(.95)}.cave-celebrate:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}.cave-celebrate-key{border:1px solid #ffffff8c;border-radius:5px;margin-left:8px;padding:1px 7px;font:700 .8125rem/1.3 Be Vietnam Pro,system-ui,sans-serif}.cave-poll{z-index:5;left:50%;bottom:max(64px, calc(env(safe-area-inset-bottom) + 52px));color:#fff6ec;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140c09db;border:1px solid #da291c8c;border-radius:14px;gap:10px;width:min(460px,100% - 32px);padding:14px 16px;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 14px 36px -14px #000c}.cave-poll-q{text-align:center;margin:0;font-size:1rem;font-weight:700;line-height:1.35}.cave-poll-options{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.cave-poll-option{appearance:none;white-space:nowrap;min-height:44px;color:inherit;cursor:pointer;touch-action:manipulation;background:#fff6ec14;border:1px solid #fff6ec40;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font:600 .9375rem Be Vietnam Pro,system-ui,sans-serif;display:inline-flex}.cave-poll-option:hover{background:#c8102e;border-color:#c8102e}.cave-poll-option:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}.cave-poll-option kbd{border:1px solid #ffffff80;border-radius:5px;padding:0 6px;font:700 .75rem/1.4 Be Vietnam Pro,system-ui,sans-serif}@media (width<=640px){.cave-poll{bottom:max(250px, calc(env(safe-area-inset-bottom) + 236px))}}.punched{z-index:3;pointer-events:none;place-items:center;animation:2.2s ease-in forwards punched-out;display:grid;position:absolute;inset:0}.punched-daze{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(#c8102e1f 35%,#c8102eb3 100%);animation:1s ease-out both punched-wobble;position:absolute;inset:0}.punched-text{color:#fff6ec;text-align:center;background:#140808b8;border-radius:12px;margin:0;padding:10px 18px;font-size:clamp(1.125rem,4vw,1.75rem);font-weight:600;animation:.35s cubic-bezier(.2,1.6,.4,1) both punched-pop;position:relative;transform:translateY(-16vh)}.punched-text strong{color:#ffb4a8}@keyframes punched-out{0%,55%{opacity:1}to{opacity:0}}@keyframes punched-wobble{0%{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transform:none}20%{transform:rotate(-1.2deg)scale(1.02)}45%{transform:rotate(1deg)scale(1.01)}to{-webkit-backdrop-filter:blur();backdrop-filter:blur();transform:none}}@keyframes punched-pop{0%{opacity:0;transform:translateY(-16vh)scale(.6)}to{opacity:1;transform:translateY(-16vh)}}@media (prefers-reduced-motion:reduce){.punched-daze,.punched-text{-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}}.cave-punch{z-index:5;right:max(16px, env(safe-area-inset-right));bottom:max(80px, calc(env(safe-area-inset-bottom) + 68px));color:#fff6ec;cursor:pointer;touch-action:manipulation;background:#140c099e;border:0;border-radius:50%;align-content:center;place-items:center;gap:0;width:72px;height:72px;padding:0 4px;transition:background .15s,box-shadow .15s;display:grid;position:absolute;box-shadow:0 0 0 2px #fff6ec47}.cave-punch-icon{opacity:.7;font-size:1.6rem;line-height:1}.cave-punch-label{text-overflow:ellipsis;white-space:nowrap;max-width:64px;font:700 .6875rem/1.3 Be Vietnam Pro,system-ui,sans-serif;overflow:hidden}.cave-punch[data-ready]{background:#c8102e;animation:.9s ease-in-out infinite alternate punch-ready;box-shadow:0 0 0 2px #fff6ec,0 0 18px 2px #ff3a24b3}.cave-punch[data-ready] .cave-punch-icon{opacity:1}.cave-punch:active{transform:scale(.92)}@keyframes punch-ready{to{box-shadow:0 0 0 2px #fff6ec,0 0 26px 6px #ff3a24d9}}.cave-punch-hint{z-index:4;left:50%;bottom:max(52px, calc(env(safe-area-inset-bottom) + 40px));color:#fff6ec;white-space:nowrap;pointer-events:none;background:#140808bf;border:1px solid #ff3a24b3;border-radius:999px;align-items:center;gap:8px;margin:0;padding:7px 14px;font-size:.9375rem;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.cave-punch-hint kbd{border:1px solid #fff9;border-radius:5px;padding:1px 7px;font:700 .8125rem/1.3 Be Vietnam Pro,system-ui,sans-serif}.cave-punch-hint strong{color:#ffb4a8;text-overflow:ellipsis;max-width:220px;overflow:hidden}@media (prefers-reduced-motion:reduce){.cave-punch[data-ready]{animation:none}}@media (width<=640px){.cave-punch{bottom:max(116px, calc(env(safe-area-inset-bottom) + 104px))}.cave-poll{bottom:max(250px, calc(env(safe-area-inset-bottom) + 238px))}}.punch-intro{z-index:5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff6ec;pointer-events:none;width:min(400px,100vw - 32px);animation:punch-intro-in .35s ease-out both, punch-intro-out .5s ease-in calc(var(--intro-ms) - .5s) forwards;background:#140a088c;border:1px solid #ff3a248c;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 8px 13px 14px;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 12px 30px -16px #000c}.punch-intro-icon{font-size:1.875rem;line-height:1}.punch-intro-body{gap:6px;display:grid}.punch-intro-title{margin:0;font:800 1.0625rem/1.25 Bitter,Georgia,serif}.punch-intro-text{color:#f3e7d8eb;margin:0;font-size:.8125rem;line-height:1.45}.punch-intro-red{color:#ff5a44}.punch-intro-text kbd{color:#fff;border:1px solid #f3e7d880;border-bottom-width:3px;border-radius:6px;padding:1px 8px;font:700 .95em/1.4 Be Vietnam Pro,system-ui,sans-serif}.punch-intro-close{pointer-events:auto;color:#fff6ec;cursor:pointer;background:#ffffff14;border:0;border-radius:50%;align-self:start;width:28px;height:28px;font-size:1.125rem;line-height:1}.punch-intro-close:hover{background:#ffffff2e}.punch-intro-close:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}.punch-intro-timer{transform-origin:0;width:100%;height:3px;animation:punch-intro-timer var(--intro-ms) linear forwards;background:#c8102e;position:absolute;bottom:0;left:0}@keyframes punch-intro-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}}@keyframes punch-intro-out{to{opacity:0}}@keyframes punch-intro-timer{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.punch-intro{animation:none}}@media (width<=640px){.punch-intro{grid-template-columns:1fr auto;gap:6px 10px;padding:10px 8px 12px 12px;top:41%}.punch-intro-icon{grid-column:1}.punch-intro-body{grid-area:2/1/auto/-1}.punch-intro-close{grid-area:1/2}}.cave-tele-wrap{display:flex;position:relative}.cave-tele{color:#fff;white-space:nowrap;background:linear-gradient(#2aabee,#1b8bc2);border-radius:20px;align-items:center;gap:7px;height:40px;padding:0 16px 0 13px;font:700 .9375rem Be Vietnam Pro,system-ui,sans-serif;text-decoration:none;transition:filter .15s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff40,0 6px 18px -6px #229ed9cc}.cave-tele:hover{filter:brightness(1.08)}.cave-tele:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}.cave-tele svg{flex:none}.cave-tele[data-attn]:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff8c 50%,#0000 65%);animation:9s ease-in-out 2s infinite tele-shine;position:absolute;inset:0;transform:translate(-120%)}.cave-tele[data-attn] svg{animation:9s ease-in-out 2s infinite tele-fly}@keyframes tele-shine{0%{transform:translate(-120%)}12%,to{transform:translate(120%)}}@keyframes tele-fly{0%,14%,to{transform:none}5%{transform:translate(2px,-3px)rotate(-12deg)}9%{transform:translate(-1px,1px)rotate(4deg)}}.cave-tele[data-nudge]{animation:1.1s ease-out 4 tele-pulse}@keyframes tele-pulse{0%{box-shadow:inset 0 0 0 1px #ffffff40,0 0 #2aabeed9}to{box-shadow:inset 0 0 0 1px #ffffff40,0 0 0 16px #2aabee00}}.cave-tele[data-touch]{justify-content:center;width:40px;padding:0}.cave-tele-nudge{z-index:60;color:#14212b;white-space:normal;background:#fff;border-radius:12px;align-items:flex-start;gap:8px;width:max-content;max-width:min(280px,100vw - 32px);padding:9px 8px 9px 12px;font-size:.8125rem;line-height:1.4;animation:.3s ease-out both tele-nudge-in;display:flex;position:fixed;top:64px;left:16px;box-shadow:0 12px 28px -12px #000c}.cave-tele-nudge b{color:#1b8bc2}.cave-tele-nudge:before{content:"";left:var(--arrow-x,16px);background:#fff;width:12px;height:12px;position:absolute;top:-6px;transform:rotate(45deg)}.cave-tele-nudge-close{color:#14212b;cursor:pointer;background:#14212b14;border:0;border-radius:50%;flex:none;width:22px;height:22px;font-size:.9375rem;line-height:1}@keyframes tele-nudge-in{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.cave-tele[data-nudge],.cave-tele[data-attn]:after,.cave-tele[data-attn] svg,.cave-tele-nudge{animation:none}.cave-tele[data-attn]:after{display:none}}.notice{z-index:8;color:#fff;text-align:center;pointer-events:none;width:min(580px,100%);animation:notice-in .3s ease-out both, notice-out .4s ease-in calc(var(--notice-ms) - .4s) forwards;background:linear-gradient(90deg,#0000 0%,#00000080 20% 80%,#0000 100%);justify-items:center;gap:2px;padding:16px 56px 18px;display:grid;position:absolute;top:24%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:linear-gradient(#0000 0%,#000 12% 88%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 12% 88%,#0000 100%)}.notice-main{text-shadow:0 1px 2px #000000e6,0 2px 12px #000c;margin:0;font-size:clamp(1.25rem,3.4vw,1.9rem);font-weight:600;line-height:1.3}.notice-main strong{font-weight:800}.notice-icon{vertical-align:.05em;width:1.4em;height:1.4em;text-shadow:none;background:#229ed9;border-radius:50%;place-items:center;margin-right:.4em;font-size:.85em;display:inline-grid}.notice-sub{color:#ffffffc7;text-shadow:0 1px 6px #000000bf;margin:0;font-size:clamp(.8125rem,2.2vw,.9375rem)}.notice[data-kind=room_join] .notice-icon{background:0 0;font-size:1.05em}.notice[data-wave] .notice-main{font-size:clamp(1.5rem,4.4vw,2.4rem)}.notice[data-wave] .notice-main strong{color:var(--hm-gilt-hi)}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,-30%)}}@keyframes notice-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.notice{animation:notice-out .4s ease-in calc(var(--notice-ms) - .4s) forwards}}@media (width<=640px){.notice{width:100%;padding:12px 28px 14px;top:31%}.notice-main{font-size:1.125rem}.notice[data-wave] .notice-main{font-size:1.4rem}}.cave[data-activity] .cave-celebrate,.cave[data-activity] .cave-poll,.cave[data-activity] .cave-punch,.cave[data-activity] .cave-punch-hint,.cave[data-activity] .cave-stick,.cave[data-activity] .cave-help-btn,.cave[data-activity] .cave-help-card,.cave[data-activity] .cave-lock-hint,.cave[data-activity] .cave-crosshair,.cave[data-activity] .cave-credits,.cave[data-activity] .cave-donate,.cave[data-activity] .punch-intro{display:none}.rage-prompt{z-index:6;left:50%;bottom:max(292px, calc(env(safe-area-inset-bottom) + 280px));color:#fff6ec;white-space:nowrap;background:#140d0ad1;border:1px solid #ecd08cb3;border-radius:999px;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);padding:6px 8px 6px 14px;font-size:.875rem;font-weight:600;display:flex;position:absolute;overflow:hidden;transform:translate(-50%);box-shadow:0 6px 18px -8px #000}.rage-prompt-title,.rage-prompt-sub{text-overflow:ellipsis;min-width:0;overflow:hidden}.rage-prompt-act{flex-shrink:0}.rage-prompt kbd{min-width:22px;height:22px;font:inherit;border:1px solid #f3e7d880;border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;font-size:.75rem;display:inline-grid}.rage-item kbd{min-width:26px;height:26px;font:inherit;border:1px solid #f3e7d880;border-bottom-width:3px;border-radius:6px;place-items:center;padding:0 6px;font-size:.875rem;display:inline-grid}.rage-prompt-sub{color:#f3e7d8a6;font-size:.75rem;font-weight:400}@media (width<=640px){.rage-prompt{bottom:max(284px, calc(env(safe-area-inset-bottom) + 272px))}.rage-prompt-sub,.cave-poll~.rage-prompt{display:none}}@media (height<=500px){.rage-prompt{bottom:max(16px, env(safe-area-inset-bottom))}.rage-prompt-sub{display:none}}.rage-enter{appearance:none;color:#fff;font:inherit;cursor:pointer;background:#c8102e;border:0;border-radius:999px;padding:5px 12px;font-weight:700}.rage-aim{z-index:3;cursor:none;touch-action:none;position:absolute;inset:0}.rage-cross{pointer-events:none;width:34px;height:34px;position:absolute;transform:translate(-50%,-50%)}.rage-cross:before,.rage-cross:after{content:"";background:#fff;position:absolute;box-shadow:0 0 4px #000}.rage-cross:before{width:2px;height:34px;top:0;left:16px}.rage-cross:after{width:34px;height:2px;top:16px;left:0}.rage-turn{z-index:6;color:#fff6ec;cursor:pointer;background:#140d0a99;border:1px solid #f3e7d859;border-radius:50%;width:52px;height:52px;font-size:1.25rem;position:absolute;top:46%}.rage-turn.is-prev{left:max(360px, calc(env(safe-area-inset-left) + 344px))}.rage-turn.is-next{right:max(360px, calc(env(safe-area-inset-right) + 344px))}.rage-turn:hover{background:#140d0ad9}.rage-turn:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}@media (width<=1100px){.rage-turn.is-prev{left:max(12px, env(safe-area-inset-left));top:56%}.rage-turn.is-next{right:max(12px, env(safe-area-inset-right));top:56%}}.rage-exit{z-index:6;top:max(96px, calc(env(safe-area-inset-top) + 88px));left:max(16px, env(safe-area-inset-left));color:#fff6ec;height:38px;font:inherit;cursor:pointer;background:#140d0abf;border:1px solid #f3e7d859;border-radius:10px;padding:0 14px;font-size:.9375rem;font-weight:700;position:absolute}.rage-disclaimer{z-index:5;top:max(144px, calc(env(safe-area-inset-top) + 136px));left:max(16px, env(safe-area-inset-left));color:#f3e7d8e0;pointer-events:none;background:#140d0aa6;border-radius:10px;max-width:min(340px,100vw - 32px);margin:0;padding:8px 12px;font-size:.8125rem;line-height:1.4;position:absolute}.rage-counter{z-index:5;bottom:max(150px, calc(env(safe-area-inset-bottom) + 138px));white-space:nowrap;pointer-events:none;background:#140d0ab3;border-radius:999px;margin:0;padding:7px 14px;font-size:.875rem;position:absolute;left:50%;transform:translate(-50%)}.rage-items{z-index:6;left:50%;bottom:max(52px, calc(env(safe-area-inset-bottom) + 40px));gap:8px;display:flex;position:absolute;transform:translate(-50%)}.rage-item{appearance:none;color:#f3e7d8;width:92px;font:inherit;cursor:pointer;background:#140d0ad1;border:2px solid #f3e7d833;border-radius:12px;justify-items:center;gap:3px;padding:8px 6px;font-size:.75rem;font-weight:600;display:grid}.rage-item-icon{font-size:1.75rem;line-height:1.1}.rage-item.is-on{border-color:var(--hm-gilt-hi);background:#3c1e0eeb}.rage-power{z-index:6;left:50%;bottom:max(20px, calc(env(safe-area-inset-bottom) + 10px));pointer-events:none;background:#140d0acc;border:1px solid #f3e7d84d;border-radius:999px;width:min(360px,100vw - 32px);height:12px;position:absolute;transform:translate(-50%)}.rage-power i{background:linear-gradient(90deg, var(--hm-gilt-hi), #c8102e);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.rage-power span{color:#f3e7d8bf;white-space:nowrap;font-size:.75rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.rage-power[data-on] span{visibility:hidden}.rage-picker{z-index:6;left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));background:#140d0ae6;border:1px solid #f3e7d833;border-radius:14px;width:min(330px,100vw - 32px);max-height:min(56dvh,460px);padding:12px;position:absolute;overflow-y:auto}.rage-picker-head{justify-content:space-between;align-items:center;display:flex}.rage-picker h2{margin:0;font-size:.9375rem}.rage-picker-head button{appearance:none;color:#f3e7d8;cursor:pointer;background:0 0;border:0;font-size:1.375rem}.rage-picker>p{color:#f3e7d8b3;margin:2px 0 8px;font-size:.75rem}.rage-slots{flex-wrap:wrap;gap:5px;margin-bottom:4px;display:flex}.rage-slot,.rage-chip{appearance:none;color:#f3e7d8;font:inherit;cursor:pointer;background:0 0;border:1px solid #f3e7d84d;border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:600}.rage-slot.is-on{border-color:var(--hm-gilt-hi);color:#ffe9a8}.rage-chip.is-on{color:#fff;background:#c8102e;border-color:#c8102e}.rage-group{letter-spacing:.02em;color:#f2b98c;margin:8px 0 4px;font-size:.6875rem;font-weight:700}.rage-chips{flex-wrap:wrap;gap:5px;display:flex}.rage-random{margin-top:10px}.rage-picker-toggle{z-index:6;left:max(14px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));color:#f3e7d8;font:inherit;background:#140d0ad9;border:1px solid #f3e7d84d;border-radius:999px;padding:9px 14px;font-size:.8125rem;font-weight:600;position:absolute}.rage-exit:focus-visible,.rage-item:focus-visible,.rage-slot:focus-visible,.rage-chip:focus-visible,.rage-enter:focus-visible,.rage-picker-toggle:focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}@media (width<=700px){.rage-items{bottom:max(56px, calc(env(safe-area-inset-bottom) + 44px));gap:6px}.rage-item{width:70px;font-size:.6875rem}.rage-item-icon{font-size:1.375rem}.cave[data-activity=rage] .cave-chat{display:none}.rage-exit{top:max(100px, calc(env(safe-area-inset-top) + 84px))}.rage-counter{bottom:auto;top:max(104px, calc(env(safe-area-inset-top) + 88px));font-size:.75rem;left:auto;right:14px;transform:none}.rage-disclaimer{top:max(150px, calc(env(safe-area-inset-top) + 134px));max-width:none;font-size:.75rem;right:16px}.rage-picker{max-height:48dvh}.rage-picker-toggle{bottom:max(156px, calc(env(safe-area-inset-bottom) + 144px))}}.cave :is(.cave-talk-hint,.cave-punch-hint,.rage-prompt,.talk-invite,.talk-asking,.challenge) kbd{background:linear-gradient(180deg, #f6e2a6, var(--hm-gilt) 62%, #a88438);min-width:1.8em;height:1.8em;color:var(--hm-ink);border:0;border-radius:6px;place-items:center;padding:0 .45em;font:900 .875rem/1 Be Vietnam Pro,system-ui,sans-serif;display:inline-grid;transform:translateY(-1px);box-shadow:0 3px #5e4719,inset 0 1px #fffae6bf,0 0 12px #ecd08c59}@media (width<=340px){.cave-bar,.cave-bar-left{gap:4px}.cave-leave{padding:10px 8px}.cave-sound{width:36px}.cave-tv-ch{width:26px}.cave-tv-vol-btn{width:24px}.cave-tele{width:36px}.cave-room-meta:before{content:none}}.duel-rank{z-index:4;left:max(16px, env(safe-area-inset-left));top:max(96px, calc(env(safe-area-inset-top) + 88px));border-radius:12px;gap:6px;width:clamp(250px,20vw,300px);padding:8px 10px 10px;font-size:.8125rem;line-height:1.35;display:grid;position:absolute}.duel-rank.is-collapsed{width:auto;padding:0}.duel-rank-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.duel-rank-title{margin:0;font-size:.9375rem;line-height:1.2}.duel-rank-sub{margin:2px 0 0;font-size:.6875rem}.duel-rank-board{gap:2px;display:grid}.duel-rank-board+.duel-rank-board{padding-top:6px}.duel-rank-board-title{justify-content:space-between;align-items:baseline;gap:6px;margin:0;font-size:.8125rem;display:flex}.duel-rank-board-title small{font-size:.625rem}.duel-rank-board-toggle{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.duel-rank-board-toggle small{opacity:.7}.duel-rank-board-toggle:focus-visible{outline:2px solid var(--hm-torch);outline-offset:2px;border-radius:4px}.duel-rank-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.duel-rank-row{border-radius:6px;grid-template-columns:1.6em minmax(0,1fr) auto;align-items:center;gap:6px;padding:2px 4px;display:grid}.duel-rank-pos{text-align:center;font-variant-numeric:tabular-nums}.duel-rank-name,.duel-rank-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.duel-rank-wins{font-variant-numeric:tabular-nums;white-space:nowrap}.duel-rank-empty{margin:0}.duel-rank-chip{cursor:pointer;max-width:min(360px,100vw - 32px);font:inherit;border-radius:999px;align-items:center;gap:0;padding:5px 12px 5px 10px;font-weight:700;display:inline-flex}.duel-rank-chip-wins{font-variant-numeric:tabular-nums}.duel-rank-seg{align-items:center;gap:5px;min-width:0;padding:0 6px;display:inline-flex}.duel-rank-seg .duel-rank-chip-name{max-width:10ch}.cave[data-activity] .duel-rank{display:none}.cave:has(.cave-chat.is-touch.is-open) .duel-rank{display:none}@media (width<=640px){.duel-rank{z-index:6;width:min(300px,100vw - 32px);font-size:.75rem}.duel-rank-sub{display:none}.duel-rank.is-collapsed{z-index:4}.duel-rank-chip{border-radius:12px;flex-direction:column;align-items:stretch;gap:2px;max-width:calc(100vw + -1*min(196px,100vw - 160px) - 40px);font-size:.75rem}.duel-rank-seg{-webkit-line-clamp:3;line-clamp:3;text-align:left;overflow-wrap:anywhere;-webkit-box-orient:vertical;padding:3px 6px;line-height:1.3;display:-webkit-box;overflow:hidden}.duel-rank-seg .duel-rank-chip-name{white-space:normal;max-width:none;margin:0 4px;display:inline;overflow:visible}.duel-rank-seg .duel-rank-chip-wins{display:inline-block}}.cave-sound,.cave-tv,.cave-help-btn,.cave-chat-toggle,.cave-chat-compose,.rage-exit,.rage-picker-toggle,.rage-counter,.cave-credits summary{color:var(--hm-chalk);background:var(--hm-grain), linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-deep));background-blend-mode:overlay, normal;border:1px solid #0000008c;border-radius:7px 5px 9px 6px;box-shadow:inset 0 1px #fff0dc24,0 6px 14px -8px #000000bf}.cave-sound[data-muted]{color:var(--hm-chalk-dim)}.cave-leave{color:var(--hm-ink);font-family:var(--hm-f-carve);background:var(--hm-grain), linear-gradient(180deg, var(--hm-limestone-hi), var(--hm-limestone) 55%, var(--hm-limestone-lo));background-blend-mode:multiply, normal;text-shadow:0 1px #ffffff80;border:0;border-radius:4px 4px 12px;font-weight:800;box-shadow:inset 0 1px #fff9,inset 0 -3px #503c2859,0 6px 14px -8px #000000b3}.cave-leave:hover{background:var(--hm-grain), linear-gradient(180deg, #f0e9db, var(--hm-limestone-hi) 55%, var(--hm-limestone))}.cave-sound-range{accent-color:var(--hm-gilt)}.cave-room{border:1px solid var(--hm-gilt);background:linear-gradient(180deg, var(--hm-enamel-hi), var(--hm-enamel-deep));box-shadow:inset 0 0 0 3px var(--hm-enamel-deep), inset 0 0 0 4px #ecd08c73, var(--hm-drop);text-align:right;border-radius:4px;padding:6px 12px 7px}.cave-room-name{font-family:var(--hm-f-carve);color:var(--hm-gilt-hi);text-shadow:0 1px #00000080;font-weight:900}.cave-room-meta{color:var(--hm-chalk)}.cave-room-num{font:900 1.05rem/1 var(--hm-f-carve);color:var(--hm-gilt-hi);font-variant-numeric:tabular-nums}.cave-help-card,.cave-poll,.cave-reconnect-box,.cave-ime,.rage-picker,.rage-disclaimer,.cave-credits-body,.talk-asking,.talk-toast,.punch-intro{color:var(--hm-chalk);background:var(--hm-grain), linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab) 45%, var(--hm-slab-deep));background-blend-mode:overlay, normal;box-shadow:inset 0 1px 0 #fff0dc1f, inset 0 -2px 0 #0000004d, var(--hm-drop);border:1px solid #0000008c;border-radius:10px 7px 12px 8px}.cave-talk-hint,.cave-punch-hint,.rage-prompt{color:var(--hm-chalk);background:var(--hm-grain), linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-deep));background-blend-mode:overlay, normal;box-shadow:inset 0 1px 0 #fff0dc24, 0 0 0 3px #00000040, var(--hm-drop);border:1px solid #ecd08c8c;border-radius:8px 5px 10px 6px}.cave-talk-hint strong,.cave-punch-hint strong{color:var(--hm-gilt-hi)}.cave-talk-hint.is-wait{color:var(--hm-chalk-dim);border-color:#efe9dd4d}.cave-talk-act{border-left-color:#ecd08c4d}.cave-talk-who{color:var(--hm-chalk-dim)}.cave-punch-hint{border-color:#e0234199}.cave :is(.cave-talk-hint,.cave-punch-hint,.rage-prompt,.talk-invite,.talk-asking,.cave-celebrate,.cave-poll,.challenge) kbd{background:linear-gradient(180deg, #f6e2a6, var(--hm-gilt) 62%, #a88438);color:var(--hm-ink);font-family:var(--hm-f-carve);border:0;font-weight:900;box-shadow:0 3px #5e4719,inset 0 1px #fffae6bf,0 0 12px #ecd08c59}.cave-help-card kbd{background:linear-gradient(180deg, var(--hm-limestone-hi), var(--hm-limestone-lo));color:var(--hm-ink);font-family:var(--hm-f-carve);border:0;border-radius:3px 3px 6px;font-weight:800;box-shadow:0 2px #00000080,inset 0 1px #ffffff8c}.cave-help-ok,.cave-help-ok:hover{background:linear-gradient(180deg, var(--hm-red-hi), var(--hm-red-deep));box-shadow:inset 0 0 0 1px var(--hm-gilt);font-family:var(--hm-f-carve)}.cave-chat-title{font-family:var(--hm-f-carve);color:var(--hm-gilt-hi);font-weight:800}.cave-chat-hide{color:var(--hm-chalk-dim)}.cave-chat-name{color:var(--hm-gilt-hi)}.cave-chat-name.is-self{color:#f3b48a}.cave-chat-msg,.cave-chat-empty{color:var(--hm-chalk)}.cave-chat-notice{color:var(--hm-chalk-dim)}.cave-feed-title{font-family:var(--hm-f-carve);color:#ecd08ccc}.cave-feed-item{color:#efe9ddd1}.cave-chat-tab{color:var(--hm-chalk-dim);text-shadow:0 1px 2px #000000e6}.cave-chat-tab[aria-selected=true]{color:var(--hm-gilt-hi);background:#00000073;box-shadow:inset 0 1px 2px #0009}.cave-chat-dot{background:var(--hm-red);box-shadow:0 0 0 1.5px var(--hm-gilt)}.cave-chat-form{background:#00000038;border:0;border-radius:6px;box-shadow:inset 0 2px 4px #0000008c,inset 0 -1px #fff0dc14}.cave-chat-input{color:var(--hm-chalk)}.cave-chat-input::placeholder{color:#efe9dd73}.cave-chat-send{background:linear-gradient(180deg, var(--hm-red-hi), var(--hm-red-deep));box-shadow:inset 0 0 0 1px var(--hm-gilt);color:#fff4e6;font-family:var(--hm-f-carve);border-radius:3px 3px 8px;font-weight:800}.cave-chat-badge{background:var(--hm-red);box-shadow:0 0 0 2px var(--hm-gilt)}.cave-help-title,.cave-poll-q,.cave-reconnect-title,.punch-intro-title,.cave-credits-title{font-family:var(--hm-f-carve);color:var(--hm-gilt-hi)}.cave-poll-option,.rage-chip{color:var(--hm-chalk);background:#00000040;border:1px solid #ecd08c59;border-radius:4px 4px 9px}.cave-poll-option:hover,.rage-chip:hover{border-color:var(--hm-gilt)}.rage-chip.is-on{background:var(--hm-enamel);border-color:var(--hm-gilt);color:var(--hm-gilt-hi)}.rage-item{color:var(--hm-chalk);background:var(--hm-grain), linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-deep));background-blend-mode:overlay, normal;border:2px solid #00000080;border-radius:8px 6px 10px 7px}.rage-item.is-on{border-color:var(--hm-gilt);box-shadow:0 0 14px #ecd08c66}.cave-reconnect-box{border-color:#ffb46073}.cave-reconnect-spin{border-color:#ffb46040;border-top-color:var(--hm-torch)}.cave-net{border:1px solid var(--hm-gilt);background:linear-gradient(180deg, var(--hm-enamel-hi), var(--hm-enamel-deep));color:var(--hm-chalk);border-radius:4px}.cave-ime{border-color:#ecd08c73}.punch-intro{border-color:#e023418c}.talk-invite,.talk-confirm{color:var(--hm-chalk);background:var(--hm-grain), radial-gradient(130% 100% at 28% 0%, var(--hm-enamel-hi), var(--hm-enamel) 46%, var(--hm-enamel-deep));background-blend-mode:soft-light, normal;border:2px solid var(--hm-gilt);box-shadow:inset 0 0 0 5px var(--hm-enamel-deep), inset 0 0 0 6px #ecd08c80, var(--hm-drop);border-radius:5px}.talk-invite-who strong,.talk-confirm strong{font-family:var(--hm-f-carve);color:var(--hm-gilt-hi)}.talk-invite-who p,.talk-confirm p{color:var(--hm-chalk-dim)}.talk-btn{color:var(--hm-chalk);font-family:var(--hm-f-body);background:#00000038;border:0;border-radius:3px 3px 9px;box-shadow:inset 0 0 0 1px #efe9dd59}.talk-btn.is-ok,.talk-btn.is-send{color:#fff4e6;background:linear-gradient(180deg, var(--hm-red-hi), var(--hm-red) 55%, var(--hm-red-deep));box-shadow:inset 0 0 0 1px var(--hm-gilt), 0 6px 14px -8px #5a000fbf;font-family:var(--hm-f-carve);font-weight:800}.talk-btn.is-danger{color:var(--hm-enamel-deep);background:linear-gradient(180deg, var(--hm-limestone-hi), var(--hm-limestone));font-weight:800;box-shadow:inset 0 -2px #503c2859}.talk-bar{background:#00000059}.talk-bar i{background:var(--hm-gilt)}.talk-box{color:var(--hm-chalk);background:var(--hm-grain), linear-gradient(180deg, #2e241d, var(--hm-slab-solid) 40%, #18120e);background-blend-mode:overlay, normal;box-shadow:inset 0 1px 0 #fff0dc1a, var(--hm-drop);border:1px solid #0009;border-radius:12px 8px 14px 9px}.talk-head{border:2px solid var(--hm-gilt);background:linear-gradient(180deg, var(--hm-enamel-hi), var(--hm-enamel-deep));box-shadow:inset 0 0 0 3px var(--hm-enamel-deep), inset 0 0 0 4px #ecd08c66;border-radius:5px;padding:10px 12px}.talk-who strong{font-family:var(--hm-f-carve);color:var(--hm-gilt-hi);font-weight:900}.talk-state{border-block-color:#ecd08c40}.talk-msg{background:#efe9dd1a}.talk-msg.is-mine{background:linear-gradient(180deg, var(--hm-red-hi), var(--hm-red-deep))}.talk-form input{background:#00000061;border:0;box-shadow:inset 0 2px 4px #0009,inset 0 -1px #fff0dc14}.talk-confirm{text-align:center}.cave-celebrate{color:#fff4e6;font-family:var(--hm-f-carve);background:var(--hm-grain), linear-gradient(180deg, var(--hm-red-hi), var(--hm-red) 55%, var(--hm-red-deep));background-blend-mode:soft-light, normal;box-shadow:inset 0 0 0 2px var(--hm-gilt), inset 0 0 0 3px #00000040, 0 10px 22px -10px #5a000fcc;border:0;border-radius:4px 4px 14px;font-weight:800}.notice{border-block:1px solid #ecd08c73}.notice-main strong{color:var(--hm-gilt-hi)}.notice[data-kind=duel_result]{border-block-color:var(--hm-gilt);background:linear-gradient(90deg,#0000,#7a1424eb 16% 84%,#0000)}.cave-punch,.cave-talk{color:var(--hm-chalk);background:var(--hm-grain), radial-gradient(circle at 38% 30%, #4a3d32, var(--hm-slab-solid) 70%);background-blend-mode:overlay, normal}.cave-talk{box-shadow:0 0 0 3px #3d7fb8,0 0 0 5px #00000073,0 8px 18px -8px #000c}.cave-talk.is-duel{box-shadow:0 0 0 3px var(--hm-red), 0 0 0 5px #00000073, 0 8px 18px -8px #000c}.cave-stick{background:var(--hm-grain), radial-gradient(circle, #2a221c8c, #18130fb3);background-blend-mode:overlay, normal;border-color:#ecd08c59}.cave-stick-knob{background:radial-gradient(circle at 38% 32%, var(--hm-red-hi), var(--hm-red-deep));border-color:var(--hm-gilt-hi)}.cave :is(button,input,summary,a):focus-visible{outline:3px solid var(--hm-torch);outline-offset:2px}@media (width<=640px){.cave-room{padding:4px 9px 5px}}.cave-chat-msg.is-system{border-left:3px solid var(--hm-gilt-hi);white-space:pre-wrap;background:#00000073;padding:2px 6px}.cave-chat-msg.is-system .cave-chat-name{color:var(--hm-gilt-hi)}.cave-tv-seg{background:#00000059;box-shadow:inset 0 1px 2px #0009}.cave-tv-ch{color:var(--hm-chalk-dim)}.cave-tv-ch:hover:not(:disabled,[aria-checked=true]){color:var(--hm-chalk);background:#fff0dc14}.cave-tv-ch[aria-checked=true]{color:#fff;background:linear-gradient(180deg, var(--hm-red-hi), var(--hm-red) 55%, var(--hm-red-deep));box-shadow:inset 0 0 0 1px var(--hm-gilt), 0 1px 3px #00000080}.cave-tv-vol-btn{color:inherit}.cave-tv[data-silent] .cave-tv-vol-btn{opacity:.7}.cave-tv-pop{color:var(--hm-chalk);background:var(--hm-grain), linear-gradient(180deg, #3a3029, var(--hm-slab-solid));background-blend-mode:overlay, normal;box-shadow:inset 0 1px 0 #fff0dc24, var(--hm-drop);border:1px solid #0009;border-radius:10px 8px 12px 9px}.cave-tv-title{color:var(--hm-gilt-hi)}.cave-tv-pct,.cave-tv-note{color:var(--hm-chalk-dim)}.duel-rank{color:var(--hm-chalk);background:linear-gradient(90deg,#140d0a9e,#140d0a61 70%,#140d0a1f)}.duel-rank.is-collapsed{background:0 0}.duel-rank-title{font-family:var(--hm-f-carve);color:var(--hm-gilt-hi);text-shadow:0 1px 2px #000000b3;font-weight:900}.duel-rank-sub,.duel-rank-empty,.duel-rank-wins small{color:var(--hm-chalk-dim)}.duel-rank-row{text-shadow:0 1px 2px #000000bf}.duel-rank-row.is-top{background:#ecd08c1f;box-shadow:inset 0 0 0 1px #ecd08c73}.duel-rank-board+.duel-rank-board{border-top:1px dashed #ecd08c40}.duel-rank-board-title{font-family:var(--hm-f-carve);color:var(--hm-chalk);text-shadow:0 1px 2px #000000b3;font-weight:800}.duel-rank-board-title small,.duel-rank-name small{font-family:var(--hm-f-body);color:var(--hm-chalk-dim);font-weight:500}.duel-rank-seg+.duel-rank-seg{border-left:1px solid #ecd08c4d}.duel-rank-row.is-top .duel-rank-name{color:var(--hm-gilt-hi);font-weight:800}.duel-rank-wins{font-family:var(--hm-f-carve);font-weight:800}.duel-rank-hide{color:var(--hm-chalk-dim);font:inherit;cursor:pointer;background:#140d0a80;border:1px solid #efe9dd40;border-radius:999px;flex:none;padding:2px 10px;font-size:.75rem}.duel-rank-chip{background:var(--hm-grain), linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-deep));background-blend-mode:overlay, normal;color:var(--hm-chalk);box-shadow:var(--hm-drop);border:1px solid #ecd08c8c}.duel-rank-chip-wins{background:var(--hm-gilt);color:var(--hm-ink);font-family:var(--hm-f-carve);border-radius:999px;padding:0 6px}.duel-rank-chip:focus-visible,.duel-rank-hide:focus-visible{outline:2px solid var(--hm-torch);outline-offset:2px}@media (width<=640px){.duel-rank:not(.is-collapsed){background:var(--hm-grain), linear-gradient(180deg, var(--hm-slab-hi), var(--hm-slab-deep));background-blend-mode:overlay, normal;box-shadow:var(--hm-drop);border:1px solid #ecd08c66}.duel-rank-seg+.duel-rank-seg{border-top:1px solid #ecd08c4d;border-left:0}}
