*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--felt: #0d3b24;--felt-light: #14522f;--felt-deep: #072418;--wood: #5b3a1e;--wood-dark: #3e2712;--wood-light: #7a4f28;--cream: #f5efe0;--cream-dim: #e6d9bd;--ink: #22201b;--accent: #e8a33d;--accent-bright: #f2b34f;--accent-deep: #8a5a12;--danger: #c0392b;--panel: rgba(8, 26, 17, .42);--panel-line: rgba(245, 239, 224, .14);--radius: 14px;--sa-t: env(safe-area-inset-top, 0px);--sa-r: env(safe-area-inset-right, 0px);--sa-b: env(safe-area-inset-bottom, 0px);--sa-l: env(safe-area-inset-left, 0px);--corner: 48px;--corner-inset: 10px;--strip-clear-l: max(62px, calc(var(--sa-l) + 54px));--strip-clear-r: max(62px, calc(var(--sa-r) + 54px))}html,body{height:100vh;height:100dvh;overscroll-behavior:none;touch-action:manipulation}:root[data-vvh]{height:var(--vvh)}:root[data-vvh] body{height:100%}body{background:repeating-linear-gradient(45deg,rgba(245,239,224,.014) 0 2px,transparent 2px 14px),radial-gradient(circle at 50% 26%,var(--felt-light),var(--felt) 62%,#072418 100%);color:var(--cream);font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-user-select:none;user-select:none}#app{height:100%;display:flex;flex-direction:column;overflow-x:clip}.screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}.screen.scroll{justify-content:flex-start;overflow-y:auto;padding-top:max(68px,calc(var(--sa-t) + 58px))}h2{font-size:1.7rem;letter-spacing:.01em;text-shadow:0 2px 0 rgba(0,0,0,.35)}.screen.menu{position:relative;overflow-x:clip;overflow-y:auto;justify-content:safe center}.menu-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(52% 30% at 70% 62%,rgba(232,163,61,.14),transparent 70%),linear-gradient(to bottom,#04100a,#0a2416 40%,#1b3a20 58%,#3a2c14 64%,#0b2416 67%,#071c11)}.menu-bg svg{position:absolute;left:-3%;top:-3%;width:106%;height:106%;display:block;transition:transform .7s cubic-bezier(.22,.61,.36,1)}.menu-bg .bg-far{transform:translate3d(calc(var(--par-x, 0) * -4px),calc(var(--par-y, 0) * -2px),0)}.menu-bg .bg-mid{transform:translate3d(calc(var(--par-x, 0) * -9px),calc(var(--par-y, 0) * -4px),0)}.menu-bg .bg-near{transform:translate3d(calc(var(--par-x, 0) * -16px),calc(var(--par-y, 0) * -7px),0)}.menu-bg .fly{animation:bg-fly 5.5s ease-in-out infinite}@keyframes bg-fly{0%,to{opacity:.15}50%{opacity:.9}}@media(prefers-reduced-motion:reduce){.menu-bg .fly{animation:none}}.menu-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(92% 72% at 50% 42%,transparent 42%,rgba(4,14,9,.55) 100%)}.logo-block{display:flex;flex-direction:column;align-items:center;gap:4px}.beaver-mark svg{display:block;filter:drop-shadow(0 6px 6px rgba(0,0,0,.4))}h1.logo{display:flex;flex-direction:column;line-height:.95;text-transform:uppercase;letter-spacing:.06em;text-indent:.06em;font-weight:900}.logo-top{font-size:clamp(1.5rem,6.5vw,2.2rem);color:var(--cream);text-shadow:0 2px 0 rgba(0,0,0,.35)}.logo-bottom{font-size:clamp(2.2rem,10vw,3.4rem);color:var(--accent);text-shadow:0 3px 0 rgba(0,0,0,.45)}.logo .beaver{display:block;font-size:clamp(3rem,14vw,5rem);filter:drop-shadow(0 4px 4px rgba(0,0,0,.4))}button.bb{font:inherit;font-size:1.05rem;font-weight:700;color:var(--ink);background:linear-gradient(var(--cream),var(--cream-dim));border:none;border-radius:var(--radius);padding:12px 26px;min-width:220px;min-height:48px;cursor:pointer;box-shadow:0 4px #00000059,0 8px 16px #0000002e;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease}@media(hover:hover){button.bb:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 5px #00000059,0 10px 18px #0003}}button.bb:active:not(:disabled){transform:translateY(3px) scale(1.02,.92);box-shadow:0 1px #00000059}button.bb.primary{background:linear-gradient(var(--accent-bright),var(--accent));box-shadow:0 4px 0 var(--accent-deep),0 8px 16px #00000038}@media(hover:hover){button.bb.primary:hover:not(:disabled){box-shadow:0 5px 0 var(--accent-deep),0 10px 18px #0000003d}}button.bb.small{min-width:0;padding:10px 18px;font-size:.95rem;min-height:48px}button.bb:disabled{opacity:.45;cursor:default}button.bb.ghost{min-width:0;padding:8px 14px;background:transparent;color:var(--cream);box-shadow:none;border:1px solid rgba(245,239,224,.35)}button.bb.danger{background:linear-gradient(#d95445,var(--danger));color:var(--cream);box-shadow:0 4px #6e1f15,0 8px 16px #00000038}.menu-list{display:flex;flex-direction:column;align-items:center;gap:12px}button.bb.menu-btn{width:min(80vw,300px)}.menu-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:8px;padding:0 6px;border-radius:11px;background:var(--accent, #e8a33d);color:#22201b;font-size:.85rem;font-weight:800;line-height:1;vertical-align:middle;box-shadow:0 1px #0000004d}button.bb.back-btn{position:fixed;top:max(10px,var(--sa-t));left:max(10px,var(--sa-l));z-index:15;width:48px;min-width:48px;height:48px;min-height:48px;padding:0 0 4px;border-radius:50%;font-size:30px;line-height:1;color:var(--cream);background:#081a118c;border:2px solid rgba(245,239,224,.3);box-shadow:none;opacity:.85}button.bb.back-btn:active:not(:disabled){transform:scale(.9)}.row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}.field{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.field input,input[type=text]{font:inherit;padding:11px 14px;border-radius:12px;border:2px solid transparent;background:var(--cream);color:var(--ink);width:220px;min-height:48px}.field input:focus,input[type=text]:focus{outline:none;border-color:var(--accent)}#table-root{position:relative;flex:1;display:flex;flex-direction:column}#table-root.with-fs{--strip-clear-r: max(118px, calc(var(--sa-r) + 110px))}#pixi-host{flex:1;position:relative}#pixi-host canvas{position:absolute;top:0;right:0;bottom:0;left:0}#hud{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:8px;align-items:center;padding:10px calc(14px + var(--sa-r)) calc(14px + var(--sa-b)) calc(14px + var(--sa-l));pointer-events:none}#hud .row{pointer-events:auto}#hint{font-size:.95rem;background:#00000073;padding:6px 14px;border-radius:999px;max-width:92vw}#hint:empty{display:none}#hint.guide{font-size:1.08rem;font-weight:600;color:var(--cream);background:#081a11b8;border:1px solid rgba(232,163,61,.7);padding:8px 18px}button.bb.tutorial-skip{position:absolute;top:max(10px,var(--sa-t));left:max(10px,var(--sa-l));z-index:15;opacity:.85;min-height:44px;background:#081a118c;color:var(--cream);border:1px solid rgba(245,239,224,.35);box-shadow:none}.giveup-btn{position:absolute;top:max(8px,var(--sa-t));left:max(8px,var(--sa-l));height:48px;min-width:48px;padding:0 10px;border-radius:24px;border:2px solid rgba(245,239,224,.3);background:#081a118c;color:var(--cream);font-size:20px;line-height:1;cursor:pointer;z-index:15;opacity:.8;white-space:nowrap;transition:transform .08s ease,opacity .25s ease,border-color .25s ease,background .25s ease}.giveup-btn:active{transform:scale(.92)}.giveup-btn.armed{opacity:1;font-size:16px;font-weight:700;border-color:#e0512df2;background:#60180cb3}.giveup-btn.hidden{display:none}.emote-dock{position:absolute;left:max(10px,var(--sa-l));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:10;pointer-events:none;opacity:1;transition:opacity .18s ease}@media(orientation:portrait){.emote-dock{top:auto;transform:none;bottom:calc(var(--sa-b) + 128px);flex-direction:row}}.emote-dock.yielded{opacity:0;pointer-events:none}.emote-dock.yielded .emote-btn{pointer-events:none}.emote-btn{pointer-events:auto;width:48px;height:48px;padding:0;border-radius:50%;border:2px solid rgba(232,163,61,.45);background:#081a118c;font-size:22px;line-height:1;cursor:pointer;transition:transform .08s ease,opacity .25s ease,border-color .25s ease}.emote-btn:active{transform:scale(.88)}.emote-btn.cool{opacity:.3;border-color:#e8a33d26;pointer-events:none}.emote-name{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:4px 10px;border-radius:12px;background:#081a11b8;border:1px solid rgba(232,163,61,.35);color:#f3e4c2;font-size:13px;white-space:nowrap;opacity:0;transition:opacity .18s ease;pointer-events:none}.emote-name.shown{opacity:1}@media(orientation:portrait){.emote-name{left:0;top:auto;bottom:calc(100% + 8px);transform:none}}.mute-btn,.fs-btn{position:fixed;top:max(10px,var(--sa-t));right:max(10px,var(--sa-r));width:48px;height:48px;padding:0;border-radius:50%;border:2px solid rgba(232,163,61,.45);background:#081a118c;font-size:20px;line-height:1;cursor:pointer;z-index:30;transition:transform .08s ease,opacity .25s ease,border-color .25s ease}.fs-btn{right:calc(max(10px,var(--sa-r)) + 56px);color:var(--cream);font-size:22px}.fs-btn.corner{right:max(10px,var(--sa-r))}.mute-btn:active,.fs-btn:active{transform:scale(.88)}.mute-btn.muted{opacity:.55;border-color:#e8a33d33}#toasts{position:absolute;top:max(10px,var(--sa-t));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;width:max-content;max-width:92vw}#top-stack{position:absolute;top:max(8px,var(--sa-t));left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:8}@media(orientation:portrait)and (max-width:560px){#top-stack{top:calc(max(10px,var(--sa-t)) + 56px);--strip-clear-l: calc(var(--sa-l) + 8px);--strip-clear-r: calc(var(--sa-r) + 8px)}}#top-stack #toasts{position:static;transform:none}.score-strip{align-self:stretch;margin:0 var(--strip-clear-r) 0 var(--strip-clear-l);display:flex;flex-wrap:wrap;justify-content:center;gap:4px 6px;pointer-events:none}.ss-seat{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px 0 4px;border-radius:999px;background:#081a1180;border:1px solid rgba(245,239,224,.14);color:var(--cream);font-size:.82rem;line-height:1;white-space:nowrap;transition:background .3s ease,border-color .3s ease,transform .3s ease,opacity .3s ease}.ss-seat.active{background:#081a11bd;border-color:#e8a33dbf;transform:translateY(1px) scale(1.04)}.ss-seat.out{opacity:.45}.ss-seat.win{border-color:#ffd98ff2;background:#3c2c0cbf}.ss-seat.flash{animation:ss-flash .9s ease-out}@keyframes ss-flash{0%{background:#e8a33dbf}to{background:#081a1180}}.ss-face{width:22px;height:22px;border-radius:50%;object-fit:cover;background:#f5efe01f;flex:none}.ss-face.glyph{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.ss-name{max-width:7ch;overflow:hidden;text-overflow:ellipsis;opacity:.85}.ss-total{font-weight:700;font-variant-numeric:tabular-nums;min-width:2ch;text-align:right;font-size:.95rem}.ss-dots{display:inline-flex;gap:3px;margin-left:2px}.ss-dot{width:6px;height:6px;border-radius:50%;border:1px solid rgba(245,239,224,.4);background:transparent;flex:none}.ss-dot.done{background:var(--cream);border-color:var(--cream)}.ss-dot.now{border-color:#e8a33df2;animation:ss-pulse 1.6s ease-in-out infinite}@keyframes ss-pulse{0%,to{box-shadow:0 0 #e8a33d8c}50%{box-shadow:0 0 0 3px #e8a33d00}}@media(max-width:480px){.ss-seat{padding:0 8px 0 3px;gap:4px;font-size:.76rem}.ss-name{max-width:5ch}}@media(orientation:landscape)and (max-height:480px){#top-stack{top:max(4px,var(--sa-t));gap:3px}.score-strip{flex-wrap:nowrap;gap:0 4px}.ss-seat{height:24px;padding:0 8px 0 3px;gap:4px;font-size:.72rem}.ss-face{width:18px;height:18px}.ss-total{font-size:.85rem}.ss-dot{width:5px;height:5px}.toast{font-size:.8rem;padding:4px 12px}#hud{left:auto;right:calc(8px + var(--sa-r));bottom:calc(8px + var(--sa-b));max-width:min(180px,calc(22vw - var(--sa-r)));align-items:stretch;gap:6px;padding:0}#hint{font-size:.78rem;padding:5px 10px;border-radius:12px;max-width:100%}#hint.guide{font-size:.85rem;padding:6px 10px}#hud .row{flex-wrap:nowrap;gap:6px}#hud button.bb.small{min-height:44px;padding:8px 10px;font-size:.8rem}.emote-dock{gap:8px}.emote-btn{width:44px;height:44px;font-size:20px}}.toast{background:#0009;color:var(--cream);padding:6px 14px;border-radius:999px;font-size:.9rem;animation:toast-in .18s ease-out,toast-out .4s ease-in 2.6s forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes toast-out{to{opacity:0}}.toast.banner{font-size:1.25rem;font-weight:700;background:#c0392bd9;padding:10px 22px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#081a11f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;z-index:20}.overlay h2{font-size:1.6rem}.overlay.conn{background:#081a1199}.overlay.finale-end{background:linear-gradient(to bottom,#081a1100 40%,#081a118c);justify-content:flex-end;padding:16px 12px calc(20px + var(--sa-b));overflow-y:auto}.podium{width:min(92vw,420px);background:#081a11e6;border:1px solid rgba(232,163,61,.35);border-radius:16px;padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 30px #00000073}.podium-title{font-size:clamp(1rem,4.2vw,1.35rem);line-height:1.25;margin:0;overflow-wrap:anywhere}.podium-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.podium-row{display:flex;align-items:center;gap:10px;padding:4px 8px;border-radius:10px}.podium-row.win{background:#e8a33d2e;color:var(--accent)}.podium-row.pop{opacity:.85}.podium-row .rank{flex:0 0 1.7em;text-align:center;font-size:clamp(1rem,4vw,1.25rem)}.podium-row .who{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:clamp(1.05rem,4.5vw,1.35rem);font-weight:600}.podium-row .pts{flex:0 0 auto;min-width:2.4em;text-align:right;font-size:clamp(1.7rem,7.5vw,2.4rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.01em}.podium .row{margin-top:4px}.overlay .subtle{opacity:.75;font-size:.95rem}.cards-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.mini-card{width:64px;height:90px;border-radius:8px;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:700;box-shadow:0 3px 6px #0006}.mini-card.special{background:#d8ecf7;font-size:.8rem;letter-spacing:.04em}.mini-card.back{background:repeating-linear-gradient(45deg,#6b4423,#6b4423 8px,#5b3a1e 8px,#5b3a1e 16px);color:transparent}table.scores{border-collapse:collapse;min-width:260px}table.scores td,table.scores th{padding:6px 14px;border-bottom:1px solid rgba(255,255,255,.15)}table.scores .lead{color:var(--accent);font-weight:700}.account{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:6px;min-height:0}.account .gsi-slot{min-height:44px;display:flex;justify-content:center}.native-signin-col{display:flex;flex-direction:column;align-items:center;gap:8px}.account .account-who{display:inline-flex;align-items:center;gap:8px;font-weight:600}.account .account-who .chip-portrait{width:32px;height:32px}.account .account-name{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account .guest-line{font-size:.85rem;max-width:min(92vw,420px)}.privacy-link{font-size:.8rem;color:var(--cream-dim);opacity:.6;text-decoration:underline;margin-top:4px}.howto .howto-privacy a{color:var(--accent)}.offer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;max-width:min(92vw,520px);padding:10px 16px;border-radius:12px;background:#e8a33d29;border:1px solid rgba(232,163,61,.45)}.offer .offer-text{font-size:.95rem}.subtle{opacity:.75;font-size:.95rem}.room-code{font-size:2.6rem;font-weight:800;letter-spacing:.35em;text-indent:.35em;color:var(--accent);background:#0000004d;border:1px solid var(--panel-line);border-radius:var(--radius);padding:10px 18px;-webkit-user-select:text;user-select:text}.lobby-list{display:flex;flex-direction:column;gap:8px;min-width:min(320px,88vw)}.lobby-seat{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--panel-line);border-radius:12px;padding:10px 14px}.lobby-seat .who{font-weight:600}.lobby-seat .tag{opacity:.65;font-size:.85rem}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#8f8f8f;margin-right:8px}.dot.on{background:#57c97b}.setup-label{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.9}.char-grid{display:grid;grid-template-columns:repeat(3,minmax(84px,108px));gap:10px;justify-content:center}button.char-card{font:inherit;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;background:var(--panel);color:var(--cream);border:2px solid var(--panel-line);border-radius:12px;cursor:pointer;transition:transform .06s ease,border-color .06s ease}@media(hover:hover){button.char-card:hover:not(:disabled){transform:translateY(-1px)}}button.char-card:active:not(:disabled){transform:scale(1.03,.94)}button.char-card img{width:72px;height:72px;border-radius:10px;max-width:100%;pointer-events:none}button.char-card .char-name{font-size:.85rem;font-weight:600}button.char-card.sel{border-color:var(--accent);background:#e8a33d2e}button.char-card:disabled{opacity:.35;cursor:default}button.char-card.mini{padding:4px;border-radius:10px}button.char-card.mini img{width:40px;height:40px;border-radius:8px}button.char-card.mini .char-name{font-size:.7rem}.bot-rows{display:flex;flex-direction:column;gap:12px}.bot-row{display:flex;flex-direction:column;align-items:center;gap:6px}.row.minis{gap:6px}.stepper{display:flex;align-items:center;gap:14px}.stepper-val{font-size:1.4rem;font-weight:700;min-width:2ch;text-align:center}.config-panel{display:flex;flex-direction:column;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--radius);padding:14px 18px;min-width:min(320px,88vw)}.cfg-row{display:flex;flex-direction:column;align-items:center;gap:6px}.settings-sec{width:min(460px,100%);background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--radius);padding:14px 18px 16px;display:flex;flex-direction:column;gap:12px}.settings-sec h3{color:var(--accent);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;text-align:left}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:12px 14px;flex-wrap:wrap}.settings-row .who{display:inline-flex;align-items:center;gap:8px;font-weight:600;min-width:0}.settings-label{font-weight:600;text-align:left}.settings-sec .subtle{text-align:left;font-size:.88rem}.settings-sec .field input{width:min(200px,46vw)}.vol-wrap{display:inline-flex;align-items:center;gap:10px}input[type=range]{accent-color:var(--accent);width:min(190px,42vw);height:48px;cursor:pointer}.vol-val{min-width:4ch;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.name-note.bad{color:#ffab98;opacity:1}.howto{width:min(720px,100%);text-align:left;display:flex;flex-direction:column;gap:18px;padding-bottom:24px;line-height:1.45}.howto h2{text-align:center;font-size:1.9rem}.howto-lead{text-align:center;opacity:.85;font-size:1.05rem}.howto-sec{background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--radius);padding:14px 18px 16px;display:flex;flex-direction:column;gap:10px}.howto-sec h3{color:var(--accent);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase}.howto-list{margin:0;padding-left:1.15em;display:flex;flex-direction:column;gap:5px;font-size:.97rem}.howto-list li::marker{color:var(--accent)}.howto-cards{display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:center;align-items:flex-end}.howto-cards.hand{gap:10px 14px}.howto-cap{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;opacity:.9}.howto-card{border-radius:6px;box-shadow:0 3px 6px #00000073;display:block}.howto-special{display:flex;gap:14px;align-items:center;font-size:.97rem}.howto-special .howto-card{flex:none}.howto-diagram{width:100%;overflow-x:auto}.howto-diagram svg{display:block;width:100%;max-width:640px;height:auto;margin:0 auto}.howto-figure{display:flex;flex-direction:column;gap:8px}.howto-legend{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:4px;font-size:.92rem;opacity:.95}.howto-legend li::marker{color:var(--accent);font-weight:700}.howto>button.bb{align-self:center}.lobby-seat button.bb.ghost{padding:4px 10px;min-height:40px}.lobby-seat .who{display:inline-flex;align-items:center;gap:8px;min-width:0}.lobby-seat .who .dot{margin-right:0}.chip-portrait{width:28px;height:28px;border-radius:8px;background:#00000059;flex:none;pointer-events:none}.chip-portrait.fallback{display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;opacity:.8}.picker-strip{display:flex;flex-direction:column;align-items:center;gap:6px;background:#0000002e;border:1px solid var(--panel-line);border-radius:12px;padding:10px 12px;min-width:min(320px,88vw)}.friends-panel{flex:none;max-height:40vh;overflow-y:auto}.friends-panel>.subtle{text-align:center;padding:6px 2px}.friends-panel button.bb:disabled{opacity:.55;cursor:default}.tabs{gap:8px}.menu-panel{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:min(320px,88vw)}.browse{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(460px,100%)}.browse-list{width:100%;max-height:46vh;overflow-y:auto}.lobby-seat.browse-row{flex-wrap:wrap;row-gap:6px}.browse-row .who .chips{display:inline-flex;gap:2px}.browse-row .who .seats{font-variant-numeric:tabular-nums;opacity:.85}.browse-row .who .host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browse-row .tag{white-space:nowrap}.invites{display:flex;flex-direction:column;gap:8px;min-width:0}.invites:empty{display:none}.invite-row{display:flex;align-items:center;gap:10px;background:#e8a33d29;border:1px solid rgba(232,163,61,.45);border-radius:12px;padding:8px 12px}.invite-row .invite-text{flex:1;min-width:0;font-size:.95rem}.invite-row .invite-text b{letter-spacing:.15em}.invite-row button.bb.ghost{padding:4px 10px;min-height:40px}button.char-card.locked{opacity:.4;filter:grayscale(.7)}button.char-card .lock-cap{font-size:.7rem;opacity:.9;letter-spacing:.02em}.campaign-cols{display:grid;grid-template-columns:minmax(150px,240px) minmax(440px,470px) minmax(180px,300px);gap:16px;align-items:start;justify-content:center;width:100%;max-width:1120px;text-align:left}.ccol{display:flex;flex-direction:column;gap:10px;min-width:0}.ccol-trail{align-items:center;gap:0}.ccol-head{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 4px;border-bottom:1px solid var(--panel-line);color:var(--accent);text-align:left}.ccol-title{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.ccol-sub{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cream);opacity:.7;font-size:.8rem;font-weight:600}.campaign-mtabs{position:fixed;left:0;right:0;bottom:0;display:flex;gap:6px;padding:6px calc(8px + var(--sa-r)) calc(6px + var(--sa-b)) calc(8px + var(--sa-l));background:#06160ef5;border-top:1px solid var(--panel-line);z-index:20}button.mtab{font:inherit;flex:1;min-width:0;min-height:48px;padding:4px 6px;border:2px solid transparent;border-radius:12px;background:none;color:var(--cream);opacity:.75;font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer}button.mtab.on{border-color:#e8a33d8c;background:#e8a33d24;color:var(--accent);opacity:1}@media(min-width:900px){.campaign-mtabs{display:none}}@media(max-width:899px){.campaign-cols{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:520px}.screen.scroll.campaign{padding-left:12px;padding-right:12px;padding-bottom:calc(72px + var(--sa-b))}.ccol-head,.campaign-cols[data-mtab=levels] .ccol-beavers,.campaign-cols[data-mtab=levels] .ccol-board,.campaign-cols[data-mtab=beaver] .ccol-trail,.campaign-cols[data-mtab=beaver] .ccol-board,.campaign-cols[data-mtab=board] .ccol-trail,.campaign-cols[data-mtab=board] .ccol-beavers{display:none}.level-strip{bottom:calc(66px + var(--sa-b))}.beaver-sec.bsec-wardrobe{order:-1}}.campaign-trail{container-type:inline-size;position:relative;width:min(440px,100%);aspect-ratio:440 / 2684;flex:none}.campaign-trail>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.campaign-trail .leg{fill:none;stroke:#f5efe038;stroke-width:5;stroke-linecap:round;stroke-dasharray:.5 14}.campaign-trail .leg.side{stroke-width:3.5;stroke-dasharray:7 10;stroke-opacity:.75}.campaign-trail .leg.walked{stroke:#e8a33dbf}.campaign-trail .leg.c2{stroke:#54cdc442}.campaign-trail .leg.c2.walked{stroke:#54cdc4cc}.campaign-trail .leg.sp{stroke:#bd86ff47}.campaign-trail .leg.sp.walked{stroke:#bd86ffcc}.campaign-trail .leg.gated{stroke-opacity:.45}.trail-node,.trail-cap,.trail-best,.trail-here,.trail-goal,.trail-tease{position:absolute;transform:translate(-50%,-50%)}button.trail-node{font:inherit;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--panel);color:var(--cream);border:3px solid var(--panel-line);cursor:pointer;transition:transform .06s ease,border-color .06s ease,box-shadow .06s ease;z-index:1}button.trail-node .tn-face{font-size:1.25rem;font-weight:700;line-height:1}@media(hover:hover){button.trail-node:hover{transform:translate(-50%,-50%) scale(1.07)}}button.trail-node:active{transform:translate(-50%,-50%) scale(.94)}button.trail-node.won{background:#57c97b33;border-color:#57c97b8c}button.trail-node.open{background:#e8a33d38;border-color:#e8a33db3}button.trail-node.open.c2{background:#54cdc42e;border-color:#54cdc4b3}button.trail-node.open.sp{background:#bd86ff29;border-color:#bd86ffb3}button.trail-node.side{border-radius:30%}button.trail-node.locked{opacity:.4;filter:grayscale(.6)}button.trail-node.gated{opacity:.6;border-style:dashed;border-color:#bd86ff80;background:#bd86ff14}button.trail-node.sel{border-color:var(--accent);box-shadow:0 0 0 3px #e8a33d59}button.trail-node.here{animation:trail-pulse 2s ease-in-out infinite}@keyframes trail-pulse{0%,to{box-shadow:0 0 #e8a33d8c}50%{box-shadow:0 0 0 9px #e8a33d00}}@media(prefers-reduced-motion:reduce){button.trail-node.here{animation:none;box-shadow:0 0 0 4px #e8a33d59}}.trail-cap{font-size:2.6cqw;font-weight:600;line-height:1.1;opacity:.85;width:20.9cqw;text-align:center;pointer-events:none}.trail-cap.locked{opacity:.4}.trail-deck{position:absolute;transform:translate(-50%,-50%);font-size:2cqw;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:.5cqw 1.6cqw;border-radius:999px;background:#081a11e6;border:1px solid var(--panel-line);color:var(--cream);pointer-events:none;z-index:2}.trail-deck.dk-crazy{border-color:#54cdc48c;color:#7fe0d8}.trail-deck.dk-mega{border-color:#bd86ff8c;color:#cda6ff}.trail-chapter{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:2.2cqw;padding:1.2cqw 4.5cqw;border-radius:999px;background:#081a11d1;border:1px solid var(--panel-line);white-space:nowrap;pointer-events:none;z-index:1}.trail-chapter .tc-title{font-size:3.4cqw;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.trail-chapter .tc-sub{font-size:2.6cqw;font-weight:600;opacity:.8}.trail-chapter.c2{border-color:#54cdc480;color:#7fe0d8}.trail-chapter.sp{border-color:#bd86ff80;color:#cda6ff}.trail-best{font-size:2.7cqw;font-weight:700;font-variant-numeric:tabular-nums;color:#57c97b;background:#57c97b24;border:1px solid rgba(87,201,123,.4);border-radius:999px;padding:.2cqw 1.8cqw;pointer-events:none}.trail-here{font-size:2.6cqw;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);white-space:nowrap;pointer-events:none;animation:trail-here-bob 2s ease-in-out infinite}@keyframes trail-here-bob{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 4px))}}@media(prefers-reduced-motion:reduce){.trail-here{animation:none}}.trail-goal{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--panel);border:3px dashed var(--panel-line);opacity:.5;filter:grayscale(.8)}.trail-goal.lit{opacity:1;filter:none;border:3px solid var(--accent);background:#e8a33d38;box-shadow:0 0 18px #e8a33d59}.trail-tease{display:flex;align-items:center;gap:1.4cqw;width:22.7cqw;padding:1.1cqw 1.6cqw;border-radius:2.3cqw;background:#0000006b;border:1px solid var(--panel-line);font-size:2.4cqw;line-height:1.2;text-align:left;pointer-events:none;z-index:1}.trail-tease.right{transform:translate(10cqw,-50%)}.trail-tease.left{transform:translate(calc(-100% - 10cqw),-50%)}.trail-tease img{width:5.9cqw;height:5.9cqw;border-radius:1.6cqw;flex:none;background:#f5efe024;filter:brightness(0) opacity(.85)}.paywall-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#081a11b3;display:flex;align-items:center;justify-content:center;padding:20px 16px calc(20px + var(--sa-b, 0px));z-index:30}.paywall{width:min(92vw,400px);max-height:86dvh;overflow-y:auto;background:#0a1e14f7;border:1px solid rgba(189,134,255,.45);border-radius:16px;padding:18px 20px 16px;display:flex;flex-direction:column;gap:12px;text-align:left;box-shadow:0 10px 30px #00000073}.paywall h3{margin:0;font-size:1.25rem;color:#cda6ff}.paywall-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:.95rem;line-height:1.35}.paywall-lines li:before{content:"· ";color:#cda6ff}.paywall-note{font-size:.9rem;opacity:.75}.paywall-signin{display:flex;justify-content:center;min-height:44px}.paywall button.bb.paywall-close{align-self:flex-end}.beaver-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.beaver-grid button.char-card img{width:100%;max-width:72px;height:auto;aspect-ratio:1}.beaver-body,.beaver-sec{display:flex;flex-direction:column;gap:10px}.beaver-body .setup-label{margin:2px 0 0}.wardrobe{display:flex;flex-direction:column;gap:8px}.wear-preview{width:108px;height:108px;align-self:center;border-radius:12px;background:var(--panel);border:2px solid var(--panel-line)}.wear-kind{font-size:.8rem;opacity:.85}.wear-rack{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}button.wear-chip{font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:var(--panel);color:var(--cream);border:2px solid var(--panel-line);border-radius:10px;cursor:pointer;transition:transform .06s ease,border-color .06s ease}@media(hover:hover){button.wear-chip:hover:not(:disabled){transform:translateY(-1px)}}button.wear-chip img{width:44px;height:44px;border-radius:8px;pointer-events:none}button.wear-chip .wear-name{font-size:.72rem;font-weight:600}button.wear-chip.sel{border-color:var(--accent);background:#e8a33d2e}button.wear-chip:disabled{cursor:default}button.wear-chip.locked{opacity:.45}button.wear-chip .wear-cap{font-size:.62rem;line-height:1.25;opacity:.9}.level-strip{position:sticky;bottom:6px;z-index:3;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;width:min(440px,100%);margin-top:4px;padding:10px 14px;background:#06160ef0;border:1px solid var(--panel-line);border-radius:var(--radius);box-shadow:0 10px 26px #00000073;text-align:left}.ls-main{min-width:0}.ls-title{font-size:1rem;font-weight:700}.ls-flavor{display:none;font-style:italic;font-size:.82rem;opacity:.75}@media(min-width:760px){.ls-flavor{display:block}}.ls-facts{font-size:.78rem;opacity:.8}.ls-crew{display:flex;gap:8px}.ls-seat{display:flex;flex-direction:column;align-items:center;gap:2px;width:42px;font-size:.62rem;font-weight:600;line-height:1.1;text-align:center}.ls-seat img{width:36px;height:36px;border-radius:8px;pointer-events:none}.ls-hint{grid-column:1 / -1;font-size:.84rem;font-weight:700;color:var(--accent)}.ls-hint.deny{color:#ef9a86}@media(max-width:380px){.ls-seat{width:34px;font-size:.58rem}.ls-seat img{width:30px;height:30px}}.badge{background:#e8a33d33;border:1px solid var(--accent);border-radius:999px;padding:6px 16px;font-weight:600}.clb{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;text-align:left}.clb-rows{display:flex;flex-direction:column;width:100%;max-width:420px;background:#00000040;border:1px solid var(--panel-line);border-radius:10px;overflow:visible}.clb-unlisted{width:100%;max-width:420px;opacity:.9}.clb-row{position:relative;display:grid;grid-template-columns:2.4em 1fr auto;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid rgba(255,255,255,.12);font-size:.92rem;cursor:pointer}.clb-row:last-child{border-bottom:none}.clb-row:hover{background:#ffffff0f}.clb-row.me{color:var(--accent);font-weight:700}.clb-rank{opacity:.7}.clb-who{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clb-margin,.clb-total{font-variant-numeric:tabular-nums;font-weight:600}.clb-pop{display:none;position:absolute;right:8px;top:calc(100% - 4px);z-index:5;min-width:200px;padding:8px 12px;background:#140e0af5;border:1px solid rgba(255,255,255,.18);border-radius:10px;box-shadow:0 8px 24px #00000080;color:var(--cream);font-weight:400}.clb-row.open .clb-pop{display:block}.clb-pop-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:3px 0}.clb-pop-row.me{color:var(--accent);font-weight:700}.clb-rounds{margin-top:4px;font-size:.8rem}.lb-board{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:80px}table.lb-table{border-collapse:collapse;min-width:min(420px,92vw);background:#00000040;border-radius:10px}table.lb-table td,table.lb-table th{padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.12);font-size:.92rem}table.lb-table th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7}table.lb-table .who{display:inline-flex;align-items:center;gap:8px}table.lb-table tr.me td{color:var(--accent);font-weight:700}.lb-avatar{width:24px;height:24px;border-radius:6px;display:inline-block}.reveal{position:relative;flex:1;min-height:0;overflow:hidden;cursor:pointer}.reveal .reveal-host{position:absolute;top:0;right:0;bottom:0;left:0}.reveal .reveal-host canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.reveal-cap{position:absolute;left:0;right:0;bottom:14%;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}.reveal-cap.on{opacity:1;transform:none}.reveal-cap h2{font-size:clamp(1.7rem,6vw,2.8rem);text-shadow:0 3px 0 rgba(0,0,0,.45)}.reveal button.bb.skip{position:absolute;top:12px;right:12px;z-index:2}
