.donate-btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,#ff5f7e,#e0306a);font-size:18px;line-height:1;cursor:pointer;box-shadow:0 3px 10px #e0306a59;transition:transform .15s ease,filter .15s ease;animation:donate-beat 2.8s ease-in-out infinite}.donate-btn:hover{transform:translateY(-1px) scale(1.08);filter:brightness(1.1);animation:none}@keyframes donate-beat{0%,70%,to{transform:scale(1)}76%{transform:scale(1.12)}82%{transform:scale(1)}88%{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.donate-btn{animation:none}}@media(max-width:480px){.donate-btn{display:none}}.donate-card{display:flex;align-items:center;gap:12px;width:100%;max-width:460px;margin-top:12px;padding:12px 14px 12px 12px;border:0;border-radius:var(--r-lg);background:linear-gradient(120deg,#ff5f7e,#c42a74);color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 8px 24px #e0306a59;transition:transform .15s ease,filter .15s ease;animation:rise .4s cubic-bezier(.2,1,.3,1) .5s both}.donate-card:hover{transform:translateY(-2px);filter:brightness(1.06)}.donate-card-ico{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:14px;background:#ffffff2e;font-size:24px}.donate-card-txt{display:grid;flex:1;min-width:0;line-height:1.3}.donate-card-txt b{font-family:var(--display);font-size:15px}.donate-card-txt span{font-size:13px;opacity:.85}.donate-card-go{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#fff;color:#c42a74;font-weight:800}.donate-sheet{gap:16px}.donate-head{display:flex;gap:14px;align-items:flex-start}.donate-head h2{margin:0;font-size:22px}.donate-head p{margin:4px 0 0;font-size:14px;color:var(--muted);line-height:1.45}.donate-heart{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#ff5f7e,#e0306a);font-size:30px;transform:rotate(-6deg)}.donate-list{display:grid;gap:10px}.donate-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;color:#fff;text-decoration:none;transition:transform .15s ease,filter .15s ease}.donate-opt:hover{transform:translateY(-2px);filter:brightness(1.08)}.donate-mono{background:linear-gradient(120deg,#1f1f1f,#3a3a3a);box-shadow:inset 0 0 0 1px #ffffff1f}.donate-kofi{background:linear-gradient(120deg,#29abe0,#1b7fd1)}.donate-ico{font-size:26px;flex-shrink:0}.donate-txt{display:grid;gap:2px;flex:1;min-width:0}.donate-txt b{font-size:16px}.donate-txt span{font-size:13px;opacity:.8}.donate-go{font-size:20px;opacity:.8}.open-rooms{margin:0 0 36px}.open-rooms h2{font-size:28px}.open-rooms .count{font-size:16px;color:var(--muted);font-family:var(--body);font-weight:700;vertical-align:middle}.or-empty{margin:0}.or-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.or-room{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px 10px 10px;border:0;border-radius:var(--r-md);background:var(--ink-2);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,filter .15s ease}.or-room:hover{transform:translateY(-2px);filter:brightness(1.1)}.or-glyph{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:14px;background:var(--g);color:var(--gi);font-size:24px}.or-main{flex:1;min-width:0;display:grid;line-height:1.3}.or-main b,.or-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.or-side{display:grid;justify-items:end;gap:2px}.or-count{font-family:var(--display);font-size:16px}.or-phase{font-size:12px;font-weight:700;color:var(--muted)}.or-phase.is-wait{color:#3ddc97}.quick-btn{margin-top:10px}.pub-switch{display:flex;align-items:center;gap:12px;width:100%;max-width:420px;margin-top:12px;padding:10px 14px;border:0;border-radius:var(--r-md);background:var(--ink-2);color:inherit;font:inherit;text-align:left;cursor:pointer}.pub-switch[disabled]{cursor:default}.pub-switch .pub-text{flex:1;display:grid;line-height:1.3}.pub-switch .pub-text span{font-size:13px;color:var(--muted)}.pub-toggle{position:relative;flex-shrink:0;width:44px;height:26px;border-radius:13px;background:var(--line);transition:background .2s ease}.pub-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s ease}.pub-switch.is-on .pub-toggle{background:#3ddc97}.pub-switch.is-on .pub-toggle:after{transform:translate(18px)}.game.is-pointed{animation:pointed .8s ease-in-out 3}@keyframes pointed{50%{transform:translateY(-6px) scale(1.03);box-shadow:0 0 0 4px var(--tile),0 16px 40px #0006}}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/unbounded-cyrillic-700-normal-BnWDpkfm.woff2) format("woff2"),url(/assets/unbounded-cyrillic-700-normal-BKv7sql3.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/unbounded-latin-700-normal-CaoNriVp.woff2) format("woff2"),url(/assets/unbounded-latin-700-normal-CZtriu5h.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/unbounded-latin-ext-700-normal-BLzWLLjG.woff2) format("woff2"),url(/assets/unbounded-latin-ext-700-normal-C5zWdd_U.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/unbounded-cyrillic-800-normal--HlTIRd4.woff2) format("woff2"),url(/assets/unbounded-cyrillic-800-normal-DbsDaRyD.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/unbounded-latin-800-normal-CN2Hxyoo.woff2) format("woff2"),url(/assets/unbounded-latin-800-normal-Cjred_zf.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/unbounded-latin-ext-800-normal-18_tL4n1.woff2) format("woff2"),url(/assets/unbounded-latin-ext-800-normal-qEXaCaVG.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2) format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-ext-400-normal-CMDvPJRp.woff2) format("woff2"),url(/assets/manrope-latin-ext-400-normal-C-X6QNXX.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2) format("woff2"),url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-ext-600-normal-_gBojHdJ.woff2) format("woff2"),url(/assets/manrope-latin-ext-600-normal-u5Pl7hTU.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2) format("woff2"),url(/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-ext-700-normal-DYOwVNan.woff2) format("woff2"),url(/assets/manrope-latin-ext-700-normal-eVCcYqtJ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-cyrillic-800-normal-AvdZ5mAV.woff2) format("woff2"),url(/assets/manrope-cyrillic-800-normal-BuEMjQU-.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-ext-800-normal-DdFx7KEb.woff2) format("woff2"),url(/assets/manrope-latin-ext-800-normal-BQAQsuQc.woff) format("woff")}:root{--ink: #1a1230;--ink-2: #231945;--ink-3: #2e2257;--line: #3b2e66;--text: #f6f0ff;--muted: #a898cf;--tile: #ffd84d;--tile-edge: #c99f17;--tile-ink: #2b2100;--danger: #ff6b5b;--display: "Unbounded", "Manrope", system-ui, sans-serif;--body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--gutter: 16px;--wrap: 1080px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--ink);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}:focus-visible{outline:3px solid var(--tile);outline-offset:3px}h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;margin:0}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{min-height:100dvh;display:flex;flex-direction:column}.page>main{flex:1;width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:var(--wrap);margin:0 auto;padding:max(14px,env(safe-area-inset-top)) var(--gutter) 14px}.topbar-right{display:flex;align-items:center;gap:8px}.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.logo-word{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.03em}.logo-mark{display:inline-flex;align-items:flex-end;height:26px}.logo-mark i{display:block;width:11px;height:22px;border-radius:3px;margin-right:-2px}.logo-mark i:nth-child(1){background:#ff6b5b;transform:rotate(-10deg)}.logo-mark i:nth-child(2){background:var(--tile);height:26px}.logo-mark i:nth-child(3){background:#4da8ff;transform:rotate(10deg)}.lang{display:inline-flex;padding:3px;border-radius:999px;background:var(--ink-2)}.lang button{border:0;background:none;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700;color:var(--muted)}.lang button.is-on{background:var(--ink-3);color:var(--text)}.lang-pick{position:relative}.lang-btn{display:inline-flex;align-items:center;gap:3px;height:38px;padding:0 10px 0 12px;border:0;border-radius:999px;background:var(--ink-2);color:var(--text);font-size:13px;font-weight:800;letter-spacing:.04em;transition:background-color .2s ease}.lang-btn:hover,.lang-btn.is-on{background:var(--ink-3)}.lang-caret{font-size:10px;color:var(--muted);transition:transform .2s ease}.lang-btn.is-on .lang-caret{transform:rotate(180deg)}.lang-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:200px;padding:6px;border-radius:var(--r-md);background:var(--ink-2);box-shadow:0 0 0 1px var(--line),0 18px 40px #00000073;display:grid;gap:2px;animation:theme-pop .22s cubic-bezier(.2,1.3,.4,1) both;transform-origin:top right}.lang-pop button{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:10px;background:none;color:var(--text);font-size:15px;text-align:left}.lang-pop button b{font-size:12px;color:var(--muted);letter-spacing:.04em}.lang-pop button:hover{background:var(--ink-3)}.lang-pop button.is-on{background:var(--ink-3);font-weight:700}.lang-pop button i{font-style:normal;color:var(--tile)}.me-chip{display:inline-flex;align-items:center;gap:8px;max-width:160px;border:0;background:var(--ink-2);border-radius:999px;padding:4px 12px 4px 4px;font-size:14px}.me-chip span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink-3);font-size:17px}.me-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}@media(max-width:420px){.me-chip b{display:none}.me-chip{padding-right:4px}}.btn-back{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:8px 8px 8px 0;font-weight:700;color:var(--muted)}.btn-back:hover{color:var(--text)}.foot{text-align:center;font-size:13px;padding:40px var(--gutter) max(24px,env(safe-area-inset-bottom))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border-radius:var(--r-md);border:0;font-weight:800;font-size:16px;text-decoration:none;transition:transform .12s ease,background-color .15s ease,box-shadow .12s ease}.btn:active:not(:disabled){transform:translateY(2px)}.btn-primary{background:var(--tile);color:var(--tile-ink);box-shadow:0 4px 0 var(--tile-edge)}.btn-primary:active:not(:disabled){box-shadow:0 2px 0 var(--tile-edge)}.btn-primary:disabled{background:var(--ink-3);color:var(--muted);box-shadow:0 4px #241a47}.btn-ghost{background:var(--ink-2);color:var(--text);box-shadow:inset 0 0 0 2px var(--line)}.btn-ghost:hover:not(:disabled){background:var(--ink-3)}.btn-block{width:100%}.btn-big{min-height:60px;font-size:18px}.field{width:100%;min-height:54px;padding:0 16px;border-radius:var(--r-md);border:2px solid var(--line);background:var(--ink);font-size:18px;font-weight:600}.field:focus{outline:none;border-color:var(--tile)}.form-error{color:var(--danger);font-weight:600;margin:12px 0 0}.tiles{display:inline-flex;gap:10px;position:relative}.tile{--rot: 0deg;display:grid;place-items:center;width:64px;height:72px;border-radius:12px;background:var(--tile);color:var(--tile-ink);box-shadow:0 6px 0 var(--tile-edge),0 10px 18px #08041473;font-family:var(--display);font-weight:800;font-size:36px;line-height:1;transform:rotate(var(--rot))}.tiles .tile:nth-child(4n+1){--rot: -4deg}.tiles .tile:nth-child(4n+2){--rot: 2deg}.tiles .tile:nth-child(4n+3){--rot: -1.5deg}.tiles .tile:nth-child(4n+4){--rot: 3.5deg}.tiles-lg .tile{width:clamp(58px,18vw,84px);height:clamp(66px,20vw,96px);font-size:clamp(32px,10vw,48px);border-radius:14px;animation:tile-drop .55s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--i) * 70ms)}.tiles-md .tile{width:52px;height:58px;font-size:28px}@keyframes tile-drop{0%{opacity:0;transform:translateY(-28px) rotate(calc(var(--rot) * -3))}}.tiles-input{cursor:text}.tiles-native{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;font-size:16px;caret-color:transparent}.tiles-input .tile{width:56px;height:62px;font-size:30px;transition:transform .18s cubic-bezier(.2,1.4,.4,1),background-color .15s ease,box-shadow .15s ease}.tiles-input .tile.is-empty{background:var(--ink);box-shadow:inset 0 0 0 2px var(--line);transform:none}.tiles-input.is-focused .tile.is-empty{box-shadow:inset 0 0 0 2px #574a8a}.tiles-input .tile.is-caret{box-shadow:inset 0 0 0 3px var(--tile)}.tiles-input .tile.is-caret:after{content:"";width:3px;height:28px;border-radius:2px;background:var(--tile);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero{display:grid;gap:28px;padding:28px 0 48px}.hero-title{font-size:clamp(30px,7.6vw,50px);line-height:1.08;max-width:17ch;font-weight:800}.hero-lead{margin:-8px 0 0;color:var(--muted);font-size:18px;max-width:44ch}.entry{background:var(--ink-2);border-radius:var(--r-lg);padding:22px;max-width:460px}.entry-join{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.entry-join .btn{flex:1;min-width:120px}.entry-or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:14px}.entry-or:before,.entry-or:after{content:"";flex:1;height:2px;background:var(--line);border-radius:1px}@media(min-width:880px){.hero{grid-template-columns:1.15fr 1fr;grid-template-rows:auto 1fr;align-items:start;column-gap:48px;padding:56px 0 72px}.hero-title{grid-column:1}.hero-lead{grid-column:1;margin:0}.entry{grid-column:2;grid-row:1 / span 2;justify-self:end;width:100%;margin-top:8px}}.catalog-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.catalog-head h2{font-size:28px}.chips{display:flex;gap:6px;overflow-x:auto}.chip{border:0;border-radius:999px;padding:8px 14px;background:var(--ink-2);color:var(--muted);font-weight:700;font-size:14px;white-space:nowrap}.chip.is-on{background:var(--text);color:var(--ink)}.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.game{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;padding:88px 18px 18px;border:0;border-radius:var(--r-lg);background:var(--g);color:var(--gi);text-align:left;overflow:hidden;transition:transform .18s ease}.game:hover:not(:disabled){transform:translateY(-3px) rotate(-.6deg)}.game-glyph{position:absolute;top:-6px;right:-8px;font-size:80px;line-height:1;transform:rotate(12deg);filter:saturate(1.1)}.game-body{position:relative;display:flex;flex-direction:column;gap:6px}.game-name{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1.15}.game-pitch{font-size:14px;line-height:1.4;opacity:.82;max-width:34ch}.game-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.game-meta>span{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:#0000001f}.game-meta .game-solo{background:#ffffff73}.game-status{position:absolute;top:14px;left:14px;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px}.status-next{background:var(--gi);color:var(--g)}.status-soon{box-shadow:inset 0 0 0 2px currentColor;opacity:.7}@media(max-width:559px){.shelf{grid-template-columns:1fr 1fr;gap:10px}.shelf .game{min-height:168px;padding:70px 14px 14px;border-radius:var(--r-md)}.shelf .game:not(.is-featured) .game-pitch{display:none}.shelf .game:not(.is-featured) .game-glyph{font-size:60px}.shelf .game:not(.is-featured) .game-name{font-size:17px}.shelf .game:not(.is-featured) .game-status{top:10px;left:10px;font-size:11px;padding:2px 8px}.shelf .game.is-featured{grid-column:1 / -1;min-height:0;padding-top:22px;padding-right:110px}}.game-compact{min-height:132px;min-width:148px;padding:62px 14px 14px;border-radius:var(--r-md)}.game-compact .game-glyph{font-size:58px;top:-2px;right:-6px}.game-compact .game-name{font-size:16px}.game-compact .game-status{top:10px;left:10px;font-size:11px;padding:2px 8px}.game.is-selected{box-shadow:0 0 0 3px var(--ink),0 0 0 6px var(--tile)}.game.is-selected:after{content:"";position:absolute;right:10px;bottom:10px;width:26px;height:26px;border-radius:50%;background:var(--tile) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%232b2100' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat}.page-lobby>main{padding-bottom:150px}.lobby{display:grid;gap:32px;align-content:start}.lobby>*{min-width:0}.lobby h2{font-size:20px;margin-bottom:14px;display:flex;align-items:baseline;gap:10px}.lobby-code{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 0 4px}.lobby-label{margin:0 0 14px;font-weight:700;color:var(--muted)}.lobby-code .muted{margin:22px 0 16px;font-size:15px}.lobby-share{display:flex;gap:10px;width:100%;max-width:420px}.lobby-share .btn{flex:1;padding:0 12px}.count{font-family:var(--body);font-size:15px;font-weight:700;color:var(--muted)}.roster{list-style:none;margin:0;padding:0;display:grid;gap:8px}.row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--ink-2)}.row.is-menu{position:relative;z-index:30}.row.is-me{box-shadow:inset 0 0 0 2px var(--line)}.row.is-off .row-name b{color:var(--muted)}.row-name{flex:1;min-width:0;display:flex;flex-direction:column}.row-name b{font-weight:800;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:12px;font-weight:700;color:var(--muted)}.tag-host{color:var(--tile)}.tag-off{color:var(--danger)}.avatar{display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--c);line-height:1}.avatar.is-dim{filter:grayscale(.9);opacity:.5}.row-menu{position:relative}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:none;color:var(--muted)}.icon-btn:hover,.icon-btn[aria-expanded=true]{background:var(--ink-3);color:var(--text)}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:190px;padding:6px;border-radius:var(--r-md);background:var(--ink-3);box-shadow:0 14px 40px #06031099;display:grid}.menu button{border:0;background:none;text-align:left;padding:11px 12px;border-radius:var(--r-sm);font-weight:700}.menu button:hover{background:var(--line)}.menu .danger{color:var(--danger)}.picker{display:grid;grid-auto-flow:column;grid-auto-columns:152px;gap:12px;overflow-x:auto;padding:8px 8px 14px;margin:-8px calc(-1 * var(--gutter)) 0;padding-left:var(--gutter);scroll-padding-left:var(--gutter);scroll-snap-type:x proximity}.picker .game{scroll-snap-align:start}.picked .game{width:100%;max-width:420px}.empty-note{padding:22px;border-radius:var(--r-md);border:2px dashed var(--line);margin:0;text-align:center}@media(min-width:880px){.lobby{grid-template-columns:1fr 1fr;column-gap:48px;padding-top:24px}.lobby-code{grid-column:1 / -1}.picker{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));overflow:visible;margin:-8px -8px 0;padding:8px}}.dock{position:fixed;left:0;right:0;bottom:0;z-index:10;padding:14px var(--gutter) max(14px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ink) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -1px 0 var(--line)}.dock>*{max-width:520px;margin-left:auto;margin-right:auto}.dock>.btn{display:flex}.dock-note{margin:10px auto 0;text-align:center;font-size:14px;color:var(--muted)}.dock-wait{margin:8px auto;text-align:center;font-weight:700;color:var(--muted)}.dots{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.dots i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:dot 1.2s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,60%,to{transform:none;opacity:.4}30%{transform:translateY(-4px);opacity:1}}.banner{position:sticky;top:0;z-index:30;text-align:center;padding:10px var(--gutter);background:var(--tile);color:var(--tile-ink);font-weight:800;font-size:14px}.state-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding-top:8vh!important;padding-bottom:12vh!important}.state-screen h1{font-size:clamp(22px,5vw,30px);max-width:20ch;margin-top:14px}.state-screen p{margin:0}.state-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}.pulse{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#080414a8;animation:fade .18s ease both}.sheet{width:100%;max-width:480px;padding:12px 20px max(20px,env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--ink-2);display:grid;gap:18px;animation:rise .26s cubic-bezier(.2,1,.3,1) both}.sheet-grip{justify-self:center;width:40px;height:5px;border-radius:3px;background:var(--line)}.profile-preview{display:flex;align-items:center;gap:14px}.profile-preview h2{font-size:22px}.profile-preview p{margin:2px 0 0;font-size:14px}.profile-preview-avatar{display:grid;place-items:center;flex-shrink:0;width:64px;height:64px;border-radius:18px;background:var(--tile);font-size:36px;box-shadow:0 5px 0 var(--tile-edge);transform:rotate(-4deg)}.avatar-grid{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.avatar-grid legend{font-size:14px;font-weight:700;margin-bottom:8px;padding:0}.avatar-pick{aspect-ratio:1;border:0;border-radius:12px;background:var(--ink);font-size:24px;line-height:1;transition:transform .12s ease}.avatar-pick.is-on{background:var(--ink-3);box-shadow:inset 0 0 0 2px var(--tile);transform:scale(1.06)}@media(min-width:640px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--r-lg);padding:24px}.sheet-grip{display:none}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px);opacity:0}}.toasts{position:fixed;left:0;right:0;bottom:calc(120px + env(safe-area-inset-bottom));z-index:60;display:grid;justify-items:center;gap:8px;pointer-events:none;padding:0 var(--gutter)}.toast{padding:12px 18px;border-radius:999px;background:var(--text);color:var(--ink);font-weight:700;font-size:15px;box-shadow:0 10px 30px #06031080;animation:rise .22s ease both;max-width:100%;overflow-wrap:anywhere}.link-btn{border:0;background:none;padding:6px 0;font-weight:700;font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:var(--text)}.row-score{font-family:var(--display);font-weight:800;font-size:20px;color:var(--tile);min-width:28px;text-align:right}.opts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px!important}.opts .muted{width:100%;text-align:center;margin-bottom:2px}.opts{justify-content:center}.dock-row{display:flex;gap:10px}.dock-row .btn{flex:1;padding:0 12px}.small{font-size:14px}.faint{opacity:.6}.note{margin:0;padding:10px 14px;border-radius:12px;background:var(--ink-2);color:var(--muted);text-align:center}.btn-sm{min-height:38px;padding:0 14px;font-size:14px;border-radius:12px}.pchip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 12px 4px 4px;border:0;border-radius:999px;background:var(--ink-2);font-weight:700;font-size:15px}@media(hover:hover){button.pchip:hover{background:var(--ink-3)}}.pchip.is-on,button.pchip.is-on:hover{background:var(--tile);color:var(--tile-ink)}.pchip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pchip-note{font-size:12px;opacity:.7}.game-screen{max-width:760px!important;padding-bottom:190px!important}.game-bar{display:flex;align-items:center;gap:12px;margin:4px 0 18px}.game-bar-name{padding:6px 14px;border-radius:999px;background:var(--g);color:var(--gi);font-family:var(--display);font-weight:700;font-size:15px}.game-bar-code{font-family:var(--display);font-weight:700;letter-spacing:.08em;color:var(--muted);margin-right:auto}.g-title{font-size:26px;margin-bottom:16px}.g-h2{font-size:18px;margin:0 0 10px}.g-h2-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:10px}.g-h2-row .g-h2{margin:0}.g-spy,.g-agents{display:grid;gap:22px}.timer{font-family:var(--display);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.timer-lg{font-size:56px;line-height:1}.timer.is-hidden{visibility:hidden}.timer.is-urgent{color:var(--danger);animation:pulse 1s ease-in-out infinite}.g-status{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.secret{width:100%;min-height:250px;border:0;border-radius:var(--r-lg);padding:22px;background:var(--g);color:var(--gi);display:grid;place-items:center;text-align:center;box-shadow:0 8px #00000040;transition:transform .25s cubic-bezier(.2,1.2,.4,1),background-color .2s ease}.secret:active{transform:scale(.98)}.secret.is-shown{background:var(--text);color:var(--ink)}.secret.is-shown.is-spy{background:#2a1d4f;color:var(--text);box-shadow:inset 0 0 0 3px var(--g),0 8px #00000040}.secret-back,.secret-front{display:grid;justify-items:center;gap:8px}.secret-label{font-weight:800}.secret-q{font-family:var(--display);font-weight:800;font-size:96px;line-height:1;transform:rotate(-6deg)}.secret-back .muted{color:inherit;opacity:.75}.secret-emoji{font-size:64px;line-height:1}.secret-title{font-family:var(--display);font-size:clamp(26px,7vw,36px);line-height:1.1;letter-spacing:-.02em}.secret-role{font-size:17px}.secret-hint{font-size:14px;opacity:.75;max-width:34ch}.table-players,.vote-grid{display:flex;flex-wrap:wrap;gap:8px}.vote{padding:18px;border-radius:var(--r-lg);background:var(--ink-2);box-shadow:inset 0 0 0 2px var(--g);display:grid;gap:12px}.vote p{margin:0}.vote .g-h2{font-size:24px;margin:0}.caught{text-align:center;padding:20px;border-radius:var(--r-lg);background:var(--g);color:var(--gi)}.caught h2{font-size:22px}.caught .muted{color:inherit;opacity:.8;margin:8px 0 0}.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.loc{display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 12px;border:0;border-radius:12px;background:var(--ink-2);font-weight:700;font-size:14px;line-height:1.2;text-align:left;transition:opacity .15s ease}.loc span{font-size:18px}.loc.is-crossed{opacity:.32;text-decoration:line-through}.loc-grid.is-guessing .loc{box-shadow:inset 0 0 0 2px var(--g);opacity:1;text-decoration:none}.loc-grid.is-guessing .loc:hover{background:var(--g);color:var(--gi)}.verdict{text-align:center;padding:26px 20px;border-radius:var(--r-lg);display:grid;justify-items:center;gap:8px}.verdict h1{font-size:clamp(26px,7vw,36px)}.verdict p{margin:0;opacity:.85;font-weight:600}.verdict-glyph{font-size:64px;line-height:1}.verdict.is-spy{background:#ff6b5b;color:#2a0c08}.verdict.is-civ{background:#3ddc97;color:#05301d}.reveal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reveal-card{padding:14px;border-radius:var(--r-md);background:var(--ink-2);display:grid;gap:8px;align-content:start}.reveal-card p{margin:0}.reveal-loc{font-family:var(--display);font-size:18px;line-height:1.2}.role-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.role-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.role-spy{font-weight:800;color:#ff6b5b}.tally{margin-left:auto;font-weight:800;color:var(--muted)}.g-agents{--red: #ff6b5b;--blue: #4da8ff;--paper: #f3ecdd}.team-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-col{--tc: var(--red);padding:14px;border-radius:var(--r-lg);background:var(--ink-2);box-shadow:inset 0 6px 0 var(--tc);display:grid;gap:12px;align-content:start}.team-blue{--tc: var(--blue)}.team-col h2{font-size:20px;color:var(--tc);margin-top:6px}.cap-slot{display:grid;gap:6px;justify-items:start;padding-bottom:12px;border-bottom:2px solid var(--line)}.team-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;min-height:34px}.team-col .pchip{background:var(--ink-3);font-size:14px}.btn-team{padding:0 10px;min-height:44px;font-size:15px;background:var(--tc);color:#12091f}.score-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px}.score-side{--tc: var(--red);display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--r-md);background:var(--ink-2);color:var(--muted);font-size:13px;font-weight:700;transition:background-color .2s ease,color .2s ease}.side-blue{--tc: var(--blue);flex-direction:row-reverse;text-align:right}.score-side b{font-family:var(--display);font-size:30px;line-height:1;color:var(--tc)}.score-side.is-turn{background:var(--tc);color:#12091f}.score-side.is-turn b{color:#12091f}.clue-bar{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-height:52px;justify-content:center}.clue{display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 18px;border-radius:999px;background:var(--red);color:#12091f}.clue-blue{background:var(--blue)}.clue b{font-family:var(--display);font-size:22px;letter-spacing:-.01em;text-transform:uppercase}.clue i{font-style:normal;display:grid;place-items:center;min-width:36px;height:36px;border-radius:50%;background:#12091f;color:var(--text);font-family:var(--display);font-weight:800}.clue-sm{padding:3px 3px 3px 12px;gap:6px}.clue-sm b{font-size:14px}.clue-sm i{min-width:24px;height:24px;font-size:12px}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.card{position:relative;min-height:62px;padding:6px 3px;border:0;border-radius:10px;background:var(--paper);color:#2a2236;display:grid;place-items:center;box-shadow:0 3px #c8bb9e;font-weight:800;font-size:clamp(10.5px,2.9vw,15px);line-height:1.1;text-align:center;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;transition:transform .12s ease,box-shadow .12s ease,background-color .25s ease}.card:disabled,.card[aria-disabled=true]{cursor:default}.card:not(:disabled):not([aria-disabled=true]):active{transform:translateY(2px);box-shadow:0 1px #c8bb9e}.card.is-picked{box-shadow:0 0 0 3px var(--tile),0 3px #c8bb9e;transform:translateY(-2px)}.board.is-key .card.c-red:not(.is-open){background:#f8d6d1;box-shadow:inset 0 -6px 0 var(--red)}.board.is-key .card.c-blue:not(.is-open){background:#d4e6fa;box-shadow:inset 0 -6px 0 var(--blue)}.board.is-key .card.c-neutral:not(.is-open){box-shadow:inset 0 -6px #c8bb9e}.board.is-key .card.c-black:not(.is-open){background:#3a3150;color:var(--text);box-shadow:inset 0 -6px #0d0a16}.card.is-open{box-shadow:none}.card.is-open.c-red{background:var(--red);color:#2a0c0899}.card.is-open.c-blue{background:var(--blue);color:#06213d99}.card.is-open.c-neutral{background:#8f8470;color:#ffffff8c}.card.is-open.c-black{background:#0d0a16;color:#ffffff80}.card.is-open.c-black:before{content:"☠";position:absolute;top:2px;right:5px;font-size:13px;color:#ff6b5b}.card-marks{position:absolute;top:-6px;right:-4px;display:flex}.card-marks .avatar{font-size:10px!important;margin-left:-6px;box-shadow:0 0 0 2px var(--ink)}.verdict-red{background:var(--red);color:#2a0c08}.verdict-blue{background:var(--blue);color:#06213d}.clue-log ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.clue-log li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.clue-form{display:grid;gap:10px;width:100%;max-width:460px}.score-label{display:grid;line-height:1.2;font-size:15px}.score-label small{font-size:12px;font-weight:600;opacity:.75}.count-row{display:flex;justify-content:space-between;gap:4px}.count-btn{flex:1;height:42px;border:0;border-radius:12px;background:var(--ink-2);font-family:var(--display);font-weight:700;font-size:16px}.count-btn.is-on{background:var(--tile);color:var(--tile-ink)}.confirm{gap:20px}.confirm h2{font-size:22px;text-align:center}@media(min-width:640px){.board{gap:10px}.card{min-height:84px;border-radius:14px}}.g-bomb{display:grid;gap:22px}.center{text-align:center;margin:0}.topic{display:grid;justify-items:center;gap:4px;padding:18px;border-radius:var(--r-lg);background:var(--g);color:var(--gi);text-align:center}.topic .muted{color:inherit;opacity:.7;font-weight:700;font-size:14px}.topic b{font-family:var(--display);font-size:clamp(24px,6.5vw,34px);line-height:1.1;letter-spacing:-.02em}.topic .link-btn{color:inherit;opacity:.75}.bomb-stage{display:grid;justify-items:center;gap:10px;text-align:center}.bomb-stage h1{font-size:clamp(22px,6vw,30px)}.bomb-stage p{margin:0}.bomb{position:relative;width:140px;height:140px;display:grid;place-items:center}.bomb-body{font-size:110px;line-height:1;animation:wobble 1.6s ease-in-out infinite}.bomb-spark{position:absolute;top:14px;right:22px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#fff 0,#fff 25%,#ffd84d 45%,#ff9f4300 70%);animation:spark .35s ease-in-out infinite alternate}.g-bomb.is-holding .bomb-body{animation-duration:.45s}.g-bomb.is-holding .bomb-stage{padding:18px;border-radius:var(--r-lg);box-shadow:inset 0 0 0 3px var(--g);background:#ff9f4314}.bomb-yours{color:var(--g)}.bomb-holder{display:grid;justify-items:center;gap:10px}@keyframes wobble{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg) scale(1.04)}}@keyframes spark{to{transform:scale(1.8);opacity:.6}}.ring{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 16px}.ring-seat{display:grid;justify-items:center;gap:4px;width:64px;font-size:13px;font-weight:700;color:var(--muted);text-align:center}.ring-seat span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ring-seat.is-hot{color:var(--g)}.ring-seat.is-hot .avatar{box-shadow:0 0 0 3px var(--ink),0 0 0 6px var(--g)}.bomb-form{display:flex;gap:8px}.bomb-form .field{flex:1;min-width:0;min-height:60px;font-size:20px;border-color:var(--g)}.bomb-form .btn-huge{min-height:60px;font-size:18px;padding:0 18px}.bomb-form .btn-huge:disabled{opacity:.5}.word-feed{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.word-feed li{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--ink-2)}.word-feed li b{font-size:16px}.word-feed li.is-new{background:var(--g);color:var(--gi);animation:rise .25s ease both}.word-feed li.is-new .muted{color:inherit;opacity:.7}.btn-huge{min-height:84px;flex-direction:column;gap:2px;font-size:24px;font-family:var(--display);background:var(--g);color:var(--gi);box-shadow:0 6px #c06a12}.btn-huge small{font-family:var(--body);font-size:14px;font-weight:700;opacity:.75}.boom{display:grid;justify-items:center;gap:6px;padding:26px 20px;border-radius:var(--r-lg);background:var(--g);color:var(--gi);text-align:center;animation:boom .5s cubic-bezier(.2,1.6,.4,1) both}.boom h1{font-size:44px}.boom p{margin:0;font-weight:700}.boom-topic{opacity:.7;font-size:14px}.boom-glyph{font-size:80px;line-height:1}@keyframes boom{0%{transform:scale(.6);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.g-mg,.g-four,.g-who{display:grid;gap:22px}.link-btn.danger{color:var(--danger)}.mg-board{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:4px;aspect-ratio:1;width:100%;max-width:560px;margin:0 auto}.mg-cell{position:relative;border:0;border-radius:8px;padding:0;background:var(--ink-2);box-shadow:inset 0 4px 0 var(--grp),inset 0 0 0 2px var(--own);display:grid;place-items:center;min-width:0;overflow:hidden;transition:transform .15s ease}.mg-cell:not(.mg-prop){background:var(--ink-3)}.mg-cell.is-focus{outline:2px solid var(--tile);outline-offset:1px;z-index:1}.mg-cell.is-turn{transform:scale(1.06)}.mg-emoji{font-size:clamp(14px,4.4vw,26px);line-height:1}.mg-pips{position:absolute;top:5px;right:4px;font-size:8px;letter-spacing:1px;color:var(--tile)}.mg-tokens{position:absolute;bottom:3px;left:3px;right:3px;display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.mg-tokens i{width:clamp(7px,2vw,11px);height:clamp(7px,2vw,11px);border-radius:50%;box-shadow:0 0 0 1.5px var(--ink)}.mg-center{grid-row:2 / 7;grid-column:2 / 7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:6px;text-align:center;min-width:0}.mg-dice{margin:0;font-size:clamp(34px,11vw,60px);line-height:1;letter-spacing:4px}.mg-info{display:grid;gap:2px;padding:10px 12px;border-radius:var(--r-md);background:var(--ink-2);box-shadow:inset 0 4px 0 var(--grp);max-width:100%}.mg-info b{font-family:var(--display);font-size:clamp(13px,3.6vw,17px)}.mg-news{margin:0;padding:8px 10px;border-radius:var(--r-sm);background:var(--tile);color:var(--tile-ink);font-weight:700;font-size:clamp(11px,3vw,14px);line-height:1.3}.mg-seats,.mg-lots,.mg-log,.mg-rank{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mg-seats li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-md);background:var(--ink-2)}.mg-seats li.is-turn{box-shadow:inset 0 0 0 2px var(--tile)}.mg-seats li.is-out{opacity:.45}.mg-seat-name{display:grid;flex:1;min-width:0;line-height:1.25}.mg-cash{font-family:var(--display);font-variant-numeric:tabular-nums}.mg-lots li{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;border-radius:var(--r-md);background:var(--ink-2);box-shadow:inset 4px 0 0 var(--grp)}.mg-lot-name{flex:1;min-width:0;display:grid;text-align:left;border:0;background:none;padding:0;line-height:1.3}.mg-log li{font-size:14px;color:var(--muted)}.mg-log li:first-child{color:var(--text);font-weight:700}.mg-rank li{display:flex;align-items:center;gap:10px;justify-content:space-between}.mg-place{font-family:var(--display);font-weight:800;width:24px}.mg-rank li .pchip{flex:1}.g-mg .verdict{background:#ffc93c;color:#2e2200}.four-seats{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.four-seat{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--ink-2)}.four-seat.is-turn{box-shadow:inset 0 0 0 2px var(--tile)}.four-bot{font-size:22px;line-height:1}.four-board{display:grid;gap:6px;padding:10px;border-radius:var(--r-lg);background:#3550c9;box-shadow:0 8px #22348a;width:100%;max-width:460px;margin:0 auto}.four-col{display:grid;gap:6px;border:0;padding:0;background:none;border-radius:999px}.four-board.is-mine .four-col:not(:disabled):hover,.four-board.is-mine .four-col:not(:disabled):focus-visible{background:#ffffff24}.four-hole{aspect-ratio:1;border-radius:50%;background:var(--ink);display:grid;place-items:center;box-shadow:inset 0 3px #00000059}.disc{display:block;width:100%;height:100%;border-radius:50%;box-shadow:inset 0 -4px #00000038}.four-seat .disc{width:18px;height:18px}.disc-1{background:#ff5b6e}.disc-2{background:#ffd84d}.four-hole.is-last .disc{animation:drop .35s cubic-bezier(.3,1.4,.5,1)}.four-hole.is-win .disc{box-shadow:0 0 0 3px #fff,inset 0 -4px #00000038}@keyframes drop{0%{transform:translateY(-240%)}}.who-last{margin:0;text-align:center;font-weight:700;color:var(--muted)}.who-last.is-right{color:#3ddc97}.who-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.who-card{display:grid;justify-items:center;align-content:start;gap:4px;padding:14px 10px;border-radius:var(--r-lg);background:#ff7ac6;color:#3a0626;text-align:center;box-shadow:0 6px #00000040}.who-card .muted{color:inherit;opacity:.7}.who-card.is-me{background:var(--ink-3);color:var(--text)}.who-card.is-turn{outline:3px solid var(--tile);outline-offset:2px}.who-card.is-done{opacity:.75}.who-face{font-size:44px;line-height:1.1}.who-name{font-family:var(--display);font-size:15px;line-height:1.2}.who-owner{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700}@media(prefers-reduced-motion:reduce){.four-hole.is-last .disc{animation:none}.mg-cell{transition:none}}.g-ex,.g-qz,.g-mf{display:grid;gap:22px}.g-ex{--red: #ff6b5b;--blue: #4da8ff}.ex-score{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.ex-side{--tc: var(--red);display:inline-flex;align-items:center;gap:10px;padding:6px 14px;border-radius:999px;background:var(--ink-2);box-shadow:inset 0 0 0 2px transparent;font-weight:700}.ex-side b{font-family:var(--display);color:var(--tc);font-size:20px}.ex-side.team-blue,.ex-word.team-blue{--tc: var(--blue)}.ex-side.is-turn{box-shadow:inset 0 0 0 2px var(--tc)}.ex-stage{display:grid;justify-items:center;gap:10px;text-align:center}.ex-stage h1{font-size:clamp(22px,6vw,30px)}.ex-word{--tc: var(--red);margin:0;padding:26px 22px;min-width:min(100%,320px);border-radius:var(--r-lg);background:var(--tc);color:#12091f;font-family:var(--display);font-weight:800;font-size:clamp(30px,9vw,46px);line-height:1.1;box-shadow:0 8px #00000040;overflow-wrap:anywhere}.ex-shout{margin:0;font-family:var(--display);font-size:22px;color:var(--tile)}.ex-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ex-item{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:0;border-radius:999px;background:var(--ink-2)}.ex-item.is-ok span:first-child{color:#3ddc97}.ex-item.is-no span:first-child{color:var(--danger)}.ex-item:disabled{cursor:default}.qz-question{text-align:center;font-size:clamp(20px,5.6vw,28px);line-height:1.25}.qz-options{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:560px){.qz-options{grid-template-columns:1fr 1fr}}.qz-opt{--qc: #4da8ff;position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;border:0;border-radius:var(--r-md);background:var(--qc);color:#12091f;text-align:left;font-weight:700;font-size:17px;box-shadow:0 5px #00000047;transition:transform .12s ease,opacity .2s ease}.qz-opt-1{--qc: #ff9f43}.qz-opt-2{--qc: #3ddc97}.qz-opt-3{--qc: #ff7ac6}.qz-opt:not(:disabled):active{transform:translateY(3px)}.qz-opt:disabled{cursor:default}.qz-opt.is-picked{outline:3px solid #fff;outline-offset:2px}.qz-opt.is-dim{opacity:.35}.qz-opt.is-wrong{opacity:.55}.qz-opt.is-wrong .qz-text{text-decoration:line-through}.qz-opt.is-right{outline:3px solid #fff;outline-offset:2px}.qz-letter{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#0000002e;font-family:var(--display)}.qz-text{flex:1}.qz-who{display:flex;gap:2px;font-style:normal}.qz-who i{font-style:normal}.qz-note{margin:0;font-weight:700;color:var(--muted);min-height:1.5em}.qz-note.is-right{color:#3ddc97}.qz-table{list-style:none;margin:0;padding:0;display:grid;gap:8px}.qz-table li{display:flex;align-items:center;gap:10px}.qz-table li .pchip{flex:1}.qz-verdict{background:#2fd3d3;color:#022d2d}.mf-card{width:100%;min-height:260px;border:0;border-radius:var(--r-lg);padding:22px;background:var(--ink-3);display:grid;place-items:center;align-content:center;gap:8px;text-align:center;box-shadow:0 8px #00000040}.mf-card.role-mafia{background:#3b0d1a;box-shadow:inset 0 0 0 3px var(--danger),0 8px #00000040}.mf-card.role-doctor,.mf-card.role-detective,.mf-card.role-town{background:#9b7bff;color:#170a3d}.mf-card.role-doctor .muted,.mf-card.role-detective .muted,.mf-card.role-town .muted{color:inherit;opacity:.7}.mf-card-emoji{font-size:64px;line-height:1}.mf-card-role{font-family:var(--display);font-size:30px}.mf-roster{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mf-seat{width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;border:0;border-radius:var(--r-md);background:var(--ink-2);text-align:left}.mf-seat:disabled{cursor:default}.mf-seat.is-on{box-shadow:inset 0 0 0 2px var(--tile)}.mf-seat.is-dead{opacity:.5}.mf-seat-name{flex:1;display:grid;line-height:1.25;min-width:0}.mf-sleep{display:grid;justify-items:center;gap:14px;padding:40px 10px;text-align:center}.g-mf.is-night .g-status b{font-family:var(--display);font-size:22px}.mf-news{display:grid;justify-items:center;gap:10px;text-align:center;padding:18px 10px}.mf-news h1{font-size:clamp(22px,6vw,30px)}.mf-verdict-town{background:#ffd84d;color:#332800}.mf-verdict-mafia{background:#3b0d1a;color:#ffd3dc}.pchip.is-bad{box-shadow:inset 0 0 0 2px var(--danger)}.btn.is-on{box-shadow:inset 0 0 0 2px var(--tile)}.g-dr,.g-bs{display:grid;gap:18px}.dr-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dr-head b{font-family:var(--display);font-size:clamp(16px,4.6vw,22px)}.dr-mask{margin:0;text-align:center;font-family:var(--display);font-size:24px;letter-spacing:.3em}.dr-canvas{display:block;width:100%;max-width:560px;aspect-ratio:1;margin:0 auto;border-radius:var(--r-lg);background:#fff;box-shadow:0 8px #00000040;touch-action:none}.dr-canvas.is-mine{cursor:crosshair;box-shadow:0 0 0 3px var(--tile),0 8px #00000040}.dr-tools{display:grid;gap:10px;justify-items:center}.dr-palette{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.dr-swatch{width:34px;height:34px;border:0;border-radius:50%;box-shadow:inset 0 0 0 2px #0003}.dr-swatch.is-on,.dr-width.is-on{outline:3px solid var(--tile);outline-offset:2px}.dr-width{width:40px;height:40px;border:0;border-radius:50%;background:var(--ink-2);display:grid;place-items:center}.dr-width i{display:block;border-radius:50%;background:var(--text)}.dr-choices{display:grid;gap:10px;width:min(100%,360px)}.dr-feed{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dr-feed li{display:flex;align-items:center;gap:8px;color:var(--muted)}.dr-feed li.is-ok{color:#3ddc97}.dr-verdict{background:#ffd84d;color:#332800}.bs-h2{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.bs-grid{display:grid;gap:2px;padding:6px;border-radius:var(--r-md);background:#1d3a5c;width:100%;max-width:440px;margin:0 auto}.bs-grid.is-target{box-shadow:0 0 0 3px var(--tile)}.bs-cell{aspect-ratio:1;border:0;border-radius:3px;padding:0;background:#2b5683;display:grid;place-items:center;min-width:0}.bs-cell:disabled{cursor:default}.bs-grid.is-target .bs-cell:not(:disabled):hover{background:#3d73ab}.bs-cell.is-ship{background:#a8b8c8}.bs-cell.is-hit{background:#ff9f43}.bs-cell.is-sunk{background:#ff5b6e}.bs-cell.is-miss{background:#22476d}.bs-cell.is-last{outline:2px solid #fff;outline-offset:-1px}.bs-dot{width:22%;height:22%;border-radius:50%;background:#8fb3d6}.bs-x{font-style:normal;font-weight:800;font-size:clamp(9px,2.6vw,16px);line-height:1;color:#2a0c08}.g-lk{display:grid;gap:20px}.lk-card{display:grid;gap:6px;padding:22px 20px;border-radius:var(--r-lg);background:#ff6b5b;color:#2a0c08;text-align:center;box-shadow:0 8px #00000040}.lk-card span{font-weight:700;opacity:.8}.lk-card b{font-family:var(--display);font-size:clamp(20px,5.6vw,28px);line-height:1.2}.lk-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.lk-person{width:100%;display:grid;justify-items:center;gap:6px;padding:14px 8px;border:0;border-radius:var(--r-lg);background:var(--ink-2)}.lk-person:disabled{cursor:default}.lk-person.is-on{box-shadow:inset 0 0 0 3px var(--tile)}.lk-person.is-top{background:var(--ink-3);box-shadow:inset 0 0 0 3px #ff6b5b}.lk-bar{width:100%;display:flex;align-items:center;gap:6px}.lk-bar i{display:block;height:8px;min-width:2px;border-radius:4px;background:#ff6b5b}.lk-winners{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.lk-winner{display:grid;justify-items:center;gap:6px}.lk-winner b{font-family:var(--display);font-size:20px}.lk-titles{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lk-titles li{display:grid;gap:6px;padding:12px 14px;border-radius:var(--r-md);background:var(--ink-2)}.lk-titles .lk-winners{justify-content:flex-start}.lk-verdict{background:#ff6b5b;color:#2a0c08}.pchip.is-dim{opacity:.5}.g-sy,.g-tl,.g-ck{display:grid;gap:20px}.sy-card{padding:26px 20px;border-radius:var(--r-lg);background:#b8f25c;color:#1c2a05;text-align:center;box-shadow:0 8px #00000040}.sy-card b{font-family:var(--display);font-size:clamp(22px,6vw,30px);line-height:1.2}.sy-groups{list-style:none;margin:0;padding:0;display:grid;gap:10px}.sy-groups li{display:grid;gap:8px;padding:12px 14px;border-radius:var(--r-lg);background:var(--ink-2)}.sy-groups li.is-match{box-shadow:inset 0 0 0 3px #b8f25c}.sy-answer{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.sy-answer b{font-size:18px;overflow-wrap:anywhere}.sy-gain{flex:none;font-weight:800;color:#b8f25c}.sy-groups li:not(.is-match) .sy-gain{color:inherit;opacity:.6;font-weight:500;font-size:13px}.tl-form{display:grid;gap:12px}.tl-input{display:grid;gap:6px;justify-items:end}.tl-input textarea{width:100%;resize:none;font:inherit}.tl-input.is-lie textarea{box-shadow:inset 0 0 0 2px #ffb86b}.tl-author{display:grid;justify-items:center;gap:6px;text-align:center}.tl-author h1{margin:0;font-family:var(--display)}.tl-author p{margin:0}.tl-lines{list-style:none;margin:0;padding:0;display:grid;gap:10px}.tl-line{width:100%;display:grid;gap:8px;padding:16px;border:0;border-radius:var(--r-lg);background:var(--ink-2);color:inherit;font:inherit;font-size:17px;text-align:left;line-height:1.35}.tl-line:disabled{cursor:default}.tl-line.is-on{box-shadow:inset 0 0 0 3px var(--tile)}.tl-line.is-lie{background:#ffb86b;color:#2e1702}.tl-line.is-truth{opacity:.75}.tl-tag{font-size:13px;text-transform:uppercase;letter-spacing:.06em}.tl-voters{display:flex;flex-wrap:wrap;gap:4px}.ck-board{display:grid;grid-template-columns:repeat(8,1fr);width:100%;max-width:480px;margin:0 auto;aspect-ratio:1;border-radius:10px;overflow:hidden;box-shadow:0 0 0 6px #6b4524,0 10px 0 6px #0000004d}.ck-cell{position:relative;display:grid;place-items:center;padding:0;border:0;border-radius:0;background:#8b5a32;aspect-ratio:1}.ck-cell.is-light{background:#ecd6b0}.ck-cell:disabled{cursor:default}.ck-cell.is-last{background:#a3703f}.ck-cell.is-movable .ck-piece{box-shadow:0 0 0 3px #ffd84d,0 3px #00000059}.ck-cell.is-sel{background:#b3863c}.ck-cell.is-sel .ck-piece{transform:scale(1.08);box-shadow:0 0 0 3px #3ddc97,0 4px #00000059}.ck-cell.is-target:after{content:"";width:34%;height:34%;border-radius:50%;background:#3ddc97;opacity:.85}.ck-piece{width:78%;height:78%;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:clamp(14px,4.5vw,24px);line-height:1;box-shadow:0 3px #00000059;transition:transform .12s}.ck-piece.is-w{background:radial-gradient(circle at 35% 30%,#fff,#e6ddd0 70%);color:#b0802c}.ck-piece.is-b{background:radial-gradient(circle at 35% 30%,#4a4258,#17121f 70%);color:#ffd84d}.ck-ghost{width:40%;height:40%;border-radius:50%;border:2px dashed rgba(255,255,255,.45)}.ck-dot{width:14px;height:14px;border-radius:50%;flex:none}.ck-dot.is-w{background:#f4efe6}.ck-dot.is-b{background:#17121f;box-shadow:inset 0 0 0 2px #6b6280}.ck-must{color:#ffd84d;font-weight:700;margin:0}.ck-rules summary{cursor:pointer;text-align:center}.sy-verdict,.tl-verdict{text-align:center}.g-note{margin:0;min-height:1.4em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.emote-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;overflow:hidden}.emote{position:absolute;left:0;top:0;font-size:40px;line-height:1;will-change:transform,opacity;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}.emote.is-for-me{font-size:48px}.emote-from{position:absolute;right:-10px;bottom:-6px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--c);font-size:13px;box-shadow:0 0 0 2px var(--ink, #1a1230)}.emote-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.emote-dock{position:fixed;right:max(14px,env(safe-area-inset-right));z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:10px;transition:bottom .25s ease}.emote-fab{width:46px;height:46px;opacity:.85;border:0;border-radius:50%;background:var(--ink-3, #2c2350);color:inherit;font-size:23px;box-shadow:0 6px 18px #0006,inset 0 0 0 2px #ffffff14;transition:transform .2s cubic-bezier(.3,1.6,.5,1)}.emote-fab:active{transform:scale(.9)}.emote-fab:hover,.emote-fab.is-open{opacity:1}.emote-fab.is-open{transform:rotate(90deg);font-size:20px}.emote-panel{width:min(320px,calc(100vw - 28px));padding:12px;border-radius:var(--r-lg);background:#241b42f5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 16px 40px #00000080,inset 0 0 0 1px var(--line);transform-origin:bottom right;animation:pop-in .22s cubic-bezier(.3,1.4,.5,1)}.emote-targets{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--line);scrollbar-width:none}.emote-target{flex:none;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border:0;border-radius:999px;background:var(--ink-2);color:inherit;font:inherit;font-size:14px;font-weight:700}.emote-target:first-child{padding:4px 12px}.emote-target.is-on{background:var(--tile);color:var(--ink, #1a1230)}.emote-target span:last-child{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emote-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.emote-btn{aspect-ratio:1;border:0;border-radius:14px;background:transparent;font-size:30px;transition:transform .15s,background .15s}.emote-btn:hover{background:var(--ink-2)}.emote-btn:active{transform:scale(.82)}@keyframes pop-in{0%{opacity:0;transform:scale(.6) translateY(10px)}to{opacity:1;transform:none}}.mg-board{position:relative}.mg-pawns{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.mg-pawn{position:absolute;width:clamp(16px,4.6vw,26px);height:clamp(16px,4.6vw,26px);display:grid;place-items:center;border-radius:50%;font-style:normal;font-size:clamp(10px,2.8vw,15px);line-height:1;transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--ink),0 3px 6px #00000073;transition:left .3s ease,top .3s ease}.mg-pawn.is-turn{z-index:1;box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--tile),0 3px 6px #00000073}.mg-dice{animation:dice-roll .6s cubic-bezier(.2,1.3,.4,1) both}@keyframes dice-roll{0%{transform:rotate(-200deg) scale(.3);opacity:0}60%{transform:rotate(15deg) scale(1.15);opacity:1}}.game-screen{animation:fade .3s ease both}.verdict{animation:verdict-in .55s cubic-bezier(.2,1.4,.4,1) both}.verdict-glyph{display:inline-block;animation:glyph-bounce .9s .2s cubic-bezier(.3,1.6,.5,1) both}@keyframes verdict-in{0%{transform:scale(.8) translateY(20px);opacity:0}}@keyframes glyph-bounce{0%{transform:scale(0) rotate(-30deg)}60%{transform:scale(1.25) rotate(8deg)}to{transform:none}}.ex-stage,.lk-card,.sy-card,.tl-author,.mf-news,.dr-choices{animation:card-in .45s cubic-bezier(.2,1.2,.4,1) both}@keyframes card-in{0%{transform:translateY(18px) scale(.96);opacity:0}}.qz-table li,.sy-groups li,.tl-lines li,.lk-grid li,.lk-titles li,.mf-roster li,.roster .row{animation:rise-soft .4s cubic-bezier(.2,1,.3,1) both}.qz-table li:nth-child(2),.sy-groups li:nth-child(2),.tl-lines li:nth-child(2),.lk-grid li:nth-child(2),.lk-titles li:nth-child(2),.mf-roster li:nth-child(2),.roster .row:nth-child(2){animation-delay:.05s}.qz-table li:nth-child(3),.sy-groups li:nth-child(3),.tl-lines li:nth-child(3),.lk-grid li:nth-child(3),.lk-titles li:nth-child(3),.mf-roster li:nth-child(3),.roster .row:nth-child(3){animation-delay:.1s}.qz-table li:nth-child(n+4),.sy-groups li:nth-child(n+4),.tl-lines li:nth-child(n+4),.lk-grid li:nth-child(n+4),.lk-titles li:nth-child(n+4),.mf-roster li:nth-child(n+4),.roster .row:nth-child(n+4){animation-delay:.15s}@keyframes rise-soft{0%{transform:translateY(12px);opacity:0}}.pchip{animation:chip-in .3s cubic-bezier(.3,1.5,.5,1) both}@keyframes chip-in{0%{transform:scale(.7);opacity:0}}.lk-person,.tl-line,.qz-opt,.mf-seat,.emote-target{transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.lk-person:active:not(:disabled),.tl-line:active:not(:disabled),.qz-opt:active:not(:disabled),.mf-seat:active:not(:disabled){transform:scale(.96)}.lk-person.is-on,.tl-line.is-on{transform:scale(1.02)}.tl-line.is-lie,.lk-person.is-top{animation:reveal-pop .5s cubic-bezier(.3,1.6,.5,1)}@keyframes reveal-pop{40%{transform:scale(1.06)}}.lk-bar i{transition:width .7s cubic-bezier(.2,1,.3,1);animation:bar-grow .8s cubic-bezier(.2,1,.3,1) both;transform-origin:left}@keyframes bar-grow{0%{transform:scaleX(0)}}.qz-note{animation:card-in .4s cubic-bezier(.2,1.4,.4,1) both}.four-hole.is-last .disc{animation:drop-col .5s cubic-bezier(.5,0,.75,0) both,land .35s .5s cubic-bezier(.3,1.6,.5,1)}@keyframes drop-col{0%{transform:translateY(calc(var(--fall, 3) * -118%))}}@keyframes land{30%{transform:scaleY(.82) scaleX(1.1)}}.bs-cell.is-last .bs-dot{animation:splash .5s cubic-bezier(.2,1.4,.4,1)}.bs-cell.is-last .bs-x{display:inline-block;animation:bang .55s cubic-bezier(.2,1.8,.4,1)}.bs-cell.is-sunk{transition:background-color .4s ease}@keyframes splash{0%{transform:scale(3);opacity:0}}@keyframes bang{0%{transform:scale(0) rotate(-90deg)}60%{transform:scale(1.6) rotate(10deg)}}.ck-piece.is-dying{animation:die .5s var(--die-delay, .3s) ease forwards}@keyframes die{to{transform:scale(.2);opacity:0}}.ck-cell.is-target:after{animation:target-pulse 1.2s ease-in-out infinite}@keyframes target-pulse{50%{transform:scale(1.3);opacity:.55}}.dr-feed li{animation:rise-soft .3s ease both}.timer.is-urgent{display:inline-block}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important}}.chat{display:grid;gap:10px}.chat-hint{margin:0;padding:10px 12px;border-radius:var(--r-md);background:var(--ink-2);color:var(--muted);font-size:13px;line-height:1.35}.chat-list{list-style:none;margin:0;padding:10px;display:flex;flex-direction:column;gap:6px;height:260px;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--r-lg);background:var(--ink-2)}.chat-empty{margin:auto;text-align:center;font-size:14px}.chat-msg{display:flex;align-items:flex-end;gap:8px;max-width:88%;animation:msg-in .28s cubic-bezier(.2,1.3,.4,1) both}.chat-msg.is-cont{margin-top:-3px}.chat-msg.is-mine{align-self:flex-end;flex-direction:row-reverse}.chat-ava{flex:none;width:30px}.chat-bubble{display:grid;gap:2px;padding:7px 11px 6px;border-radius:16px 16px 16px 4px;background:var(--ink-3);min-width:0}.chat-msg.is-mine .chat-bubble{border-radius:16px 16px 4px;background:var(--tile);color:var(--tile-ink)}.chat-msg.tag-ok .chat-bubble{background:#3ddc97;color:#062b1b}.chat-msg.tag-night .chat-bubble{background:#2b1d4e;box-shadow:inset 0 0 0 1.5px #9b7bff;color:var(--text)}.chat-name{font-size:13px}.chat-text{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.35}.chat-meta{justify-self:end;display:flex;gap:6px;font-size:11px;opacity:.6}.chat-tag{font-weight:800}.chat-form{display:flex;gap:8px}.chat-form .field{min-height:48px;font-size:16px}.chat-form .btn{min-height:48px;padding:0 18px;font-size:18px}@keyframes msg-in{0%{transform:translateY(10px) scale(.96);opacity:0}}.chat-fab{position:relative}.chat-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:10px;background:var(--danger);color:#fff;font-size:12px;font-weight:800;animation:chip-in .3s cubic-bezier(.3,1.6,.5,1)}.chat-corner{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.chat-pop{position:absolute;right:0;bottom:calc(100% + 10px);width:min(340px,calc(100vw - 28px));padding:8px 10px 10px;border-radius:var(--r-lg);background:#1e163af7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 16px 40px #00000080,inset 0 0 0 1px var(--line);transform-origin:bottom right;animation:pop-in .22s cubic-bezier(.3,1.4,.5,1)}.chat-pop header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px}.chat-pop .chat{gap:6px}.chat-pop .chat-form .field,.chat-pop .chat-form .btn{min-height:42px}.chat-pop .chat-bubble{padding:5px 10px 4px;font-size:14px}.chat-pop .icon-btn{width:32px;height:32px}.chat-pop .chat-list{height:clamp(110px,20vh,180px);padding:6px}@media(min-width:700px){.chat-pop .chat-list{height:min(40vh,340px)}}.chat-pop .chat-hint{padding:8px 10px;font-size:12px}.chat-pop .chat-msg{max-width:92%}.chat-peek{position:absolute;right:calc(100% + 10px);top:50%;max-width:min(260px,calc(100vw - 90px));display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:0;border-radius:999px;background:color-mix(in srgb,var(--ink-3) 97%,transparent);color:var(--text);font:inherit;font-size:14px;text-align:left;box-shadow:0 8px 24px #00000073;transform:translateY(-50%);animation:peek-in .35s cubic-bezier(.2,1.4,.4,1) both}.chat-peek span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes peek-in{0%{transform:translate(20px,-50%);opacity:0}}.chat-emoji-btn{flex:none;width:42px;border:0;border-radius:var(--r-md);background:var(--ink-2);font-size:22px;transition:transform .15s,background-color .15s}.chat-emoji-btn.is-on{background:var(--ink-3);box-shadow:inset 0 0 0 2px var(--tile)}.chat-emoji-btn:active{transform:scale(.88)}.chat-emoji{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px;max-height:128px;overflow-y:auto;padding:6px;border-radius:var(--r-md);background:var(--ink-2);animation:pop-in .2s cubic-bezier(.3,1.4,.5,1)}.chat-emoji button{aspect-ratio:1;border:0;border-radius:10px;background:transparent;font-size:22px;transition:transform .12s,background-color .12s}.chat-emoji button:hover{background:var(--ink-3)}.chat-emoji button:active{transform:scale(.8)}.chat-msg.is-emoji .chat-bubble{background:transparent;box-shadow:none;padding:0 4px}.chat-msg.is-emoji .chat-text{font-size:34px;line-height:1.15}.chat-msg.is-emoji.is-mine .chat-bubble{color:var(--text)}.chat-msg.is-emoji .chat-text{animation:glyph-bounce .6s cubic-bezier(.3,1.6,.5,1) both}.chat-msg.is-emoji .chat-text{display:inline-block}.install{position:relative;display:flex;align-items:center;gap:12px;max-width:460px;margin-top:14px;padding:12px 40px 12px 12px;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--ink-2),var(--ink-3));border:1px solid var(--line);animation:rise .4s cubic-bezier(.2,1,.3,1) .3s both}.install-icon img{display:block;border-radius:12px;box-shadow:0 6px 16px #00000059}.install-text{flex:1;min-width:0;display:grid;line-height:1.3}.install-text b{font-size:14px}.install-text span{font-size:12.5px}.install .btn{flex:none}.install-x{position:absolute;top:4px;right:4px;width:32px;height:32px;border:0;border-radius:50%;background:none;color:var(--muted);font-size:20px;line-height:1}.install-x:hover{color:var(--text)}.install-sheet h2{margin:0;font-size:20px}.install-steps{margin:0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:step}.install-steps li{display:flex;align-items:center;gap:12px;font-weight:600}.install-glyph{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--ink-3);color:#4da8ff}.install-glyph img{border-radius:6px}.offline-bar{position:sticky;top:0;z-index:60;padding:max(8px,env(safe-area-inset-top)) var(--gutter) 8px;background:var(--danger);color:#2a0a06;font-size:13px;font-weight:700;text-align:center;animation:fade .2s ease both}@media(display-mode:standalone){html,body{overscroll-behavior-y:none}.btn,.chip,button{-webkit-user-select:none;user-select:none}}.g-es{display:grid;gap:18px}.es-card{display:grid;gap:6px;justify-items:center;padding:24px 20px 20px;border-radius:var(--r-lg);background:#5ce1e6;color:#062a2c;text-align:center;box-shadow:0 8px #00000040}.es-card b{font-family:var(--display);font-size:clamp(19px,5.2vw,26px);line-height:1.25}.es-unit{font-size:13px;font-weight:700;opacity:.7}.es-answer{display:grid;place-items:center;min-width:120px;min-height:64px;margin-top:4px;padding:6px 18px;border-radius:var(--r-md);background:#062a2c1f;font-family:var(--display);font-size:clamp(28px,9vw,40px);font-variant-numeric:tabular-nums;line-height:1;transition:background-color .3s ease,transform .3s ease}.es-answer small{font-size:.45em}.es-answer.is-on{background:#062a2c;color:#5ce1e6;animation:es-pop .5s cubic-bezier(.2,1.4,.4,1) both}@keyframes es-pop{0%{transform:scale(.7)}}.es-field{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.es-scale{position:relative;height:108px;border-radius:var(--r-lg);background:linear-gradient(90deg,#ff6b5b2e,#5ce1e647 50%,#ff6b5b2e);overflow:hidden}.es-scale-mid{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#5ce1e6;box-shadow:0 0 12px #5ce1e6}.es-scale-lo,.es-scale-hi{position:absolute;bottom:6px;font-size:11px;font-weight:700;color:var(--muted)}.es-scale-lo{left:10px}.es-scale-hi{right:10px}.es-dot{position:absolute;transform:translate(-50%);animation:es-land .55s cubic-bezier(.2,1.3,.4,1) both}@keyframes es-land{0%{opacity:0;transform:translate(-50%,-40px) scale(.6)}}.es-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}.es-rows li{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:var(--r-md);background:var(--ink-2);animation:rise .4s cubic-bezier(.2,1,.3,1) both}.es-rows li.is-best{box-shadow:inset 0 0 0 3px #5ce1e6}.es-rows .pchip{min-width:0;flex:1}.es-guess{display:grid;justify-items:end;line-height:1.15;font-variant-numeric:tabular-nums}.es-guess small{color:var(--muted);font-weight:700}.es-gain{flex:none;min-width:46px;text-align:right;font-weight:800;color:#5ce1e6}.g-fl{display:grid;gap:18px}.fl-board{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:100%;max-width:480px;margin:0 auto;padding:2px;aspect-ratio:1;border-radius:12px;background:#1f6b43;box-shadow:0 0 0 6px #4a2e17,0 10px 0 6px #0000004d;perspective:600px}.fl-cell{position:relative;display:grid;place-items:center;border:0;padding:0;border-radius:3px;background:#2f8a58}.fl-cell:disabled{cursor:default}.fl-cell.is-move:after{content:"";width:28%;height:28%;border-radius:50%;background:#ffffff59;animation:fl-hint 1.2s ease-in-out infinite alternate}.fl-cell.is-move:hover:after,.fl-cell.is-move:focus-visible:after{background:#ffffffb3}@keyframes fl-hint{to{transform:scale(1.35);opacity:.6}}.fl-cell.is-last{background:#3aa36a}.fl-disc{width:82%;height:82%;border-radius:50%;transform-style:preserve-3d;box-shadow:inset 0 -3px #00000040,0 3px 4px #00000059}.fl-disc.is-d{--now: radial-gradient(circle at 35% 30%, #4a4a58, #15151c 70%);background:var(--now)}.fl-disc.is-l{--now: radial-gradient(circle at 35% 30%, #ffffff, #d9d4c7 70%);background:var(--now)}.fl-disc.is-placed{animation:fl-place .35s cubic-bezier(.2,1.4,.4,1) both}@keyframes fl-place{0%{transform:scale(.3) translateY(-30%);opacity:0}}.fl-disc.is-flipping{animation:fl-turn .5s cubic-bezier(.4,0,.2,1) var(--flip-delay, 0s) both}.fl-disc.is-d.is-flipping{--was: radial-gradient(circle at 35% 30%, #ffffff, #d9d4c7 70%)}.fl-disc.is-l.is-flipping{--was: radial-gradient(circle at 35% 30%, #4a4a58, #15151c 70%)}@keyframes fl-turn{0%{transform:rotateY(0);background:var(--was)}49.9%{background:var(--was)}50%{transform:rotateY(90deg) scale(1.08);background:var(--now)}to{transform:rotateY(180deg);background:var(--now)}}.fl-mini{display:inline-block;width:14px;height:14px;border-radius:50%;flex:none}.fl-mini.is-d{background:#15151c;box-shadow:0 0 0 2px #6b6b7a}.fl-mini.is-l{background:#f2efe6}.fl-count{font-family:var(--display);font-size:15px}.fl-passnote{color:#ffd84d;font-weight:700}.test-badge{padding:3px 8px;border-radius:8px;background:#ffd84d;color:#2b2100;font-size:11px;font-weight:800;letter-spacing:.06em}.test-add{margin-top:10px;border:2px dashed #ffd84d;color:#ffd84d}.g-agents{--red: #ff3b4e;--red-2: #c81d33;--blue: #2e8bff;--blue-2: #1557c9;--paper: #fbf3e2;--paper-2: #efe2c6;--rail: 40px}.ag-play{padding-inline:calc(var(--rail) - var(--gutter) + 6px)}.ag-rail{--tc: var(--red);--tc2: var(--red-2);position:fixed;top:50%;z-index:15;width:var(--rail);max-height:72vh;overflow:hidden auto;scrollbar-width:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0;transform:translateY(-50%);background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 32%,var(--ink)),color-mix(in srgb,var(--tc) 14%,var(--ink)));box-shadow:0 0 0 1px color-mix(in srgb,var(--tc) 55%,transparent);transition:box-shadow .35s ease,width .3s ease}.rail-red{left:0;border-radius:0 18px 18px 0}.rail-blue{--tc: var(--blue);--tc2: var(--blue-2);right:0;border-radius:18px 0 0 18px}.ag-rail.is-turn{box-shadow:0 0 0 2px var(--tc),0 0 22px color-mix(in srgb,var(--tc) 70%,transparent);animation:rail-glow 1.8s ease-in-out infinite alternate}@keyframes rail-glow{to{box-shadow:0 0 0 2px var(--tc),0 0 34px color-mix(in srgb,var(--tc) 90%,transparent)}}.ag-rail.is-win{box-shadow:0 0 0 3px #ffd84d,0 0 26px #ffd84db3}.rail-left{font-family:var(--display);font-size:22px;line-height:1;color:#fff;text-shadow:0 2px 0 var(--tc2)}.rail-p{position:relative;display:grid;justify-items:center}.rail-p.is-me .avatar{box-shadow:0 0 0 2px #fff}.rail-cap{position:absolute;top:-9px;font-size:13px;font-style:normal;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.rail-p.is-voted:after{content:"✓";position:absolute;right:-5px;bottom:-3px;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#3ddc97;color:#062014;font-size:11px;font-weight:900;animation:es-pop .3s cubic-bezier(.2,1.4,.4,1) both}.rail-name{display:none}@media(min-width:760px){.g-agents{--rail: 132px}.ag-rail{align-items:stretch;padding:12px 10px}.rail-left{text-align:center;font-size:30px}.rail-p{grid-template-columns:auto 1fr;align-items:center;gap:8px;justify-items:start}.rail-name{display:block;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.rail-cap{left:14px}}.ag-play .board{gap:5px;padding:6px;border-radius:16px;background:linear-gradient(180deg,var(--ink-3),var(--ink-2));box-shadow:inset 0 2px #ffffff0f,0 10px 24px #00000059}.ag-play .card{min-height:58px;border-radius:10px;background:linear-gradient(180deg,var(--paper),var(--paper-2));color:#2a2236;box-shadow:inset 0 1px #fff,0 3px #bfae88;font-size:clamp(10px,2.75vw,15px);letter-spacing:-.01em;overflow:hidden;animation:card-deal .45s cubic-bezier(.2,1.2,.4,1) var(--deal, 0s) both}@keyframes card-deal{0%{opacity:0;transform:translateY(-14px) rotate(-6deg) scale(.85)}}.ag-play .card-word{position:relative;z-index:1}.ag-play .board.is-voting .card:not(:disabled):not([aria-disabled=true]):hover{transform:translateY(-2px);box-shadow:inset 0 1px #fff,0 5px #bfae88}.ag-play .card.is-picked{box-shadow:0 0 0 3px #ffd84d,0 4px #bfae88;transform:translateY(-2px)}.ag-play .card.is-lead:not(.is-picked){box-shadow:0 0 0 2px #ffd84d8c,0 3px #bfae88}.ag-play .board.is-key .card.c-red:not(.is-open){background:linear-gradient(180deg,#ffe1e4,#ffc4ca);box-shadow:inset 0 -5px 0 var(--red),0 3px #d9a2a8}.ag-play .board.is-key .card.c-blue:not(.is-open){background:linear-gradient(180deg,#e0eeff,#c3dcff);box-shadow:inset 0 -5px 0 var(--blue),0 3px #9fbbe0}.ag-play .board.is-key .card.c-neutral:not(.is-open){background:linear-gradient(180deg,#f1efea,#dcd8cf);box-shadow:inset 0 -5px #a39e94,0 3px #b8b3a8}.ag-play .board.is-key .card.c-black:not(.is-open){background:linear-gradient(180deg,#3a3150,#241d36);color:#fff;box-shadow:inset 0 -5px #000,0 3px #000}.ag-play .card.is-open{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}.ag-play .card.is-open.c-red{background:linear-gradient(180deg,#ff5a6b,var(--red-2));box-shadow:inset 0 1px #ffffff59,0 3px #8f1022}.ag-play .card.is-open.c-blue{background:linear-gradient(180deg,#4f9fff,var(--blue-2));box-shadow:inset 0 1px #ffffff59,0 3px #0d3a8c}.ag-play .card.is-open.c-neutral{background:linear-gradient(180deg,#a7adb8,#7d8490);box-shadow:inset 0 1px #ffffff4d,0 3px #5a606b}.ag-play .card.is-open.c-black{background:radial-gradient(circle at 50% 30%,#3a3150,#07050c 75%);box-shadow:0 0 0 2px #ff3b4e,0 3px #000}.card-charge{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 35%,transparent),color-mix(in srgb,var(--tc) 75%,transparent));animation:charge 1.4s cubic-bezier(.45,0,.55,1) both}.charge-red{--tc: var(--red)}.charge-blue{--tc: var(--blue)}.card-charge:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 10px #fff}@keyframes charge{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ag-play .card.is-charging{transform:scale(1.06);z-index:2;box-shadow:0 0 0 3px #fff,0 8px 18px #00000073;animation:none}.ag-play .card.is-revealed{animation:card-flip .6s cubic-bezier(.3,1.3,.5,1) both}.ag-play .card.is-revealed.c-black{animation:card-flip .6s cubic-bezier(.3,1.3,.5,1) both,card-shake .45s ease .55s}@keyframes card-flip{0%{transform:perspective(400px) rotateX(90deg) scale(1.08);filter:brightness(1.8)}60%{transform:perspective(400px) rotateX(-12deg) scale(1.05)}to{transform:none;filter:none}}@keyframes card-shake{20%,60%{transform:translate(-4px) rotate(-2deg)}40%,80%{transform:translate(4px) rotate(2deg)}}.ag-play .card-marks{top:auto;bottom:2px;right:3px;align-items:center;z-index:2}.card-votes{margin-left:3px;padding:0 4px;border-radius:6px;background:var(--ink-2);color:#ffd84d;font-size:10px;line-height:15px}.ag-hint.is-opening{color:#ffd84d;font-weight:700}.ag-hint{text-align:center}.clue-in{animation:es-pop .45s cubic-bezier(.2,1.4,.4,1) both}.ag-play .clue{background:linear-gradient(180deg,#ff5a6b,var(--red-2));color:#fff}.ag-play .clue-blue{background:linear-gradient(180deg,#4f9fff,var(--blue-2))}.clue-opened{display:flex;flex-wrap:wrap;gap:4px}.chiplet{padding:1px 7px;border-radius:6px;font-size:12px;font-weight:700;color:#fff;background:#7d8490}.chiplet.c-red{background:var(--red-2)}.chiplet.c-blue{background:var(--blue-2)}.chiplet.c-black{background:#07050c;box-shadow:0 0 0 1px #ff3b4e}@media(prefers-reduced-motion:reduce){.ag-rail.is-turn{animation:none}}.ag-play .card.is-open:not(.is-revealed){animation:none}.ag-hint{white-space:normal;overflow:visible;text-overflow:clip;min-height:2.8em;line-height:1.4;display:flex;align-items:center;justify-content:center}.ag-play .card.is-charging .card-marks{display:none}.card-votes{white-space:nowrap}@media(min-width:760px){.game-screen:has(.ag-play){max-width:1320px!important}.ag-play .board{width:100%;max-width:1000px;margin-inline:auto;gap:10px;padding:12px;border-radius:22px}.ag-play .card{min-height:clamp(80px,11vh,124px);border-radius:14px;font-size:clamp(15px,1.65vw,24px);box-shadow:inset 0 1px #fff,0 5px #bfae88}.ag-play .board.is-voting .card:not(:disabled):not([aria-disabled=true]):hover{transform:translateY(-3px);box-shadow:inset 0 1px #fff,0 8px #bfae88}.ag-play .card-marks{bottom:6px;right:8px}.ag-play .card-votes{font-size:13px;line-height:19px;padding:0 6px}.ag-play .clue-log{max-width:1000px;width:100%;margin-inline:auto}}.ag-play .board.shake-neutral{animation:board-nudge .45s ease}.ag-play .board.shake-enemy{animation:board-shake .5s ease}.ag-play .board.shake-black{animation:board-shake .6s ease 2}@keyframes board-nudge{30%{transform:translateY(4px)}60%{transform:translateY(-2px)}}@keyframes board-shake{15%,55%{transform:translate(-8px) rotate(-.6deg)}35%,75%{transform:translate(8px) rotate(.6deg)}}.ag-fx{--fx: #fff;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;overflow:hidden}.ag-fx.fx-c-red{--fx: var(--red)}.ag-fx.fx-c-blue{--fx: var(--blue)}.ag-fx.fx-c-neutral{--fx: #d8ccb0}.ag-fx.fx-c-black{--fx: #000}.fx-edge{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;box-shadow:inset 0 0 90px 18px var(--fx);animation:fx-edge 1.5s ease .2s both}.fx-good .fx-edge{box-shadow:inset 0 0 110px 26px var(--fx),inset 0 0 0 4px var(--fx)}.fx-neutral .fx-edge{box-shadow:inset 0 0 70px 6px #d8ccb08c}.fx-enemy .fx-edge{box-shadow:inset 0 0 120px 30px var(--fx),inset 0 0 0 6px var(--fx);animation:fx-edge-flash 1.1s ease .2s both}.fx-black .fx-edge{background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.85) 100%);box-shadow:inset 0 0 160px 60px #000,inset 0 0 0 6px #ff3b4e;animation:fx-edge 1.7s ease .15s both}@keyframes fx-edge{25%{opacity:1}to{opacity:0}}@keyframes fx-edge-flash{10%,40%{opacity:1}25%{opacity:.35}to{opacity:0}}.fx-ring{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:4px solid var(--fx);box-shadow:0 0 18px var(--fx);opacity:0;animation:fx-ring .8s ease-out .28s both}@keyframes fx-ring{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(7)}}.fx-burst{position:absolute;width:0;height:0}.fx-burst i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:2px;background:var(--fx);opacity:0;animation:fx-piece .95s cubic-bezier(.15,.7,.3,1) both}.fx-good .fx-burst i.fx-alt{background:#ffd84d;border-radius:50%}.fx-neutral .fx-burst i{border-radius:50%;width:14px;height:14px;background:#d8ccb0b3;filter:blur(1px)}.fx-enemy .fx-burst i{width:6px;height:14px;border-radius:1px}.fx-black .fx-burst i{background:#0b0812;box-shadow:0 0 0 1px #ff3b4e}.fx-black .fx-burst i.fx-alt{background:#ff3b4e;box-shadow:none}@keyframes fx-piece{0%{opacity:1;transform:translate(0) rotate(0) scale(var(--s))}70%{opacity:1}to{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 40px)) rotate(var(--r)) scale(var(--s))}}.fx-mark{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-family:var(--display);font-size:44px;line-height:1;color:#fff;text-shadow:0 0 14px var(--fx),0 3px 0 rgba(0,0,0,.35);opacity:0;animation:fx-mark 1.3s cubic-bezier(.2,1.4,.4,1) .3s both}.fx-neutral .fx-mark{color:#d8ccb0;text-shadow:none;font-size:34px}.fx-enemy .fx-mark{color:var(--fx);text-shadow:0 0 10px #fff,0 3px 0 rgba(0,0,0,.35)}.fx-black .fx-mark{font-size:64px;text-shadow:0 0 24px #ff3b4e}@keyframes fx-mark{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}25%{opacity:1;transform:translate(-50%,-80%) scale(1.15)}70%{opacity:1;transform:translate(-50%,-110%) scale(1)}to{opacity:0;transform:translate(-50%,-150%) scale(.9)}}@media(prefers-reduced-motion:reduce){.fx-mark,.fx-ring,.fx-burst i{display:none}}html,body{transition:background-color .35s ease}.theme{position:relative}.theme-btn{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--ink-2);font-size:18px;transition:transform .15s ease,background-color .2s ease}.theme-btn:hover,.theme-btn.is-on{background:var(--ink-3);transform:rotate(-12deg)}.theme-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(290px,calc(100vw - 24px));padding:14px;border-radius:var(--r-md);background:var(--ink-2);box-shadow:0 0 0 1px var(--line),0 18px 40px #00000073;display:grid;gap:12px;animation:theme-pop .22s cubic-bezier(.2,1.3,.4,1) both;transform-origin:top right}@keyframes theme-pop{0%{opacity:0;transform:translateY(-6px) scale(.94)}}.theme-h{font-family:var(--display);font-size:15px}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.theme-sw{position:relative;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:12px;background:var(--ink);font-size:13px;font-weight:700;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .15s ease,transform .15s ease}.theme-sw:hover{transform:translateY(-1px)}.theme-sw.is-on{box-shadow:inset 0 0 0 2px var(--tile)}.theme-dot{flex:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--b, var(--a)) 0%,var(--a) 75%);box-shadow:0 0 0 2px #ffffff2e}.theme-custom .theme-dot{background:conic-gradient(from 0deg,#ff5b6e,#ffd84d,#3ddc97,#4da8ff,#9b7bff,#ff5b6e);box-shadow:0 0 0 2px var(--a)}.theme-custom input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.theme-depth{display:grid;gap:4px;font-size:12px;color:var(--muted)}.theme-depth input{width:100%;accent-color:var(--tile)}.theme-reset{justify-self:start;padding:0;border:0;background:none;color:var(--muted);font-size:13px;text-decoration:underline}@media(max-width:420px){.theme-btn{width:34px;height:34px;font-size:16px}}.ag-status{display:flex;align-items:center;justify-content:center;gap:10px}.ag-status .ag-hint{max-width:100%}.ag-timer .timer{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--tc);color:#fff;font-size:15px;box-shadow:0 2px 0 var(--tc2)}.ag-timer.timer-red,.ag-clock.clock-red{--tc: var(--red);--tc2: var(--red-2)}.ag-timer.timer-blue,.ag-clock.clock-blue{--tc: var(--blue);--tc2: var(--blue-2)}.ag-timer .timer.is-urgent{background:#ffd84d;color:#2b2100;box-shadow:0 2px #c99f17;animation:ag-tick 1s ease infinite}@keyframes ag-tick{50%{transform:scale(1.08)}}.ag-play .board{position:relative}.ag-clock{position:absolute;top:1px;left:14px;right:14px;height:3px;border-radius:3px;background:var(--tc);box-shadow:0 0 8px var(--tc);transform-origin:left center;transform:scaleX(var(--p));transition:transform .25s linear}.ag-clock.is-urgent{background:#ffd84d;box-shadow:0 0 10px #ffd84d}@media(prefers-reduced-motion:reduce){.ag-timer .timer.is-urgent{animation:none}}@media(min-width:760px){.ag-play.g-agents{gap:12px}.ag-play .clue-bar{min-height:48px}.ag-play .clue-form{grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;max-width:900px}.ag-play .clue-form .count-row{gap:4px}.ag-play .clue-form .count-btn{min-width:42px}.ag-play .clue-form .btn{width:auto;padding-inline:22px}.ag-play .ag-hint{min-height:1.6em}.ag-clock{top:4px;height:4px}.ag-play .card{min-height:clamp(52px,calc((100dvh - var(--ag-above, 300px) - 124px) / 5 - 10px),124px)}}.die{--die: 44px;display:inline-grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:var(--die);height:var(--die);padding:calc(var(--die) * .14);gap:calc(var(--die) * .04);border-radius:calc(var(--die) * .22);background:linear-gradient(160deg,#fffdf7,#efe6d3);box-shadow:inset 0 calc(var(--die) * -.06) 0 #0000001f,0 calc(var(--die) * .06) 0 #00000059;flex:none}.die i{border-radius:50%;place-self:center;width:78%;height:78%}.die i.on{background:#2a1d3d}.die.is-blank{background:linear-gradient(160deg,#5a4a86,#3e3166)}.die.is-hit{background:linear-gradient(160deg,#fff3a8,#ffd84d);box-shadow:0 0 0 3px #ffd84d,0 calc(var(--die) * .06) 0 #00000059}.die.is-joker{background:linear-gradient(160deg,#ffd1e6,#ff8fc2)}.die.is-joker i.on{background:#4a0a2a}.die.is-dim{opacity:.38}.die.is-rolling{animation:die-roll .45s cubic-bezier(.3,.7,.3,1)}@keyframes die-roll{0%{transform:rotate(0) scale(1)}30%{transform:rotate(-160deg) scale(.75) translateY(-10px)}70%{transform:rotate(40deg) scale(1.08)}to{transform:rotate(0) scale(1)}}.g-lr,.g-dc,.g-bx{display:grid;gap:18px}.lr-seats{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lr-seat{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-md);background:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line);transition:background .25s,box-shadow .25s,opacity .25s}.lr-seat.is-turn{background:color-mix(in srgb,var(--g) 22%,var(--ink-2));box-shadow:inset 0 0 0 2px var(--g)}.lr-seat.is-out{opacity:.45}.lr-seat.is-loser{box-shadow:inset 0 0 0 2px var(--danger);animation:lr-shake .5s .6s both}@keyframes lr-shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.lr-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lr-cups{display:flex;gap:4px}.lr-cups i{width:14px;height:14px;border-radius:4px;background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,transform .3s}.lr-cups i.on{background:var(--g);box-shadow:none}.lr-open{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.lr-pop{animation:lr-pop .35s cubic-bezier(.2,1.4,.4,1) both}.lr-open .lr-pop:nth-child(2){animation-delay:.05s}.lr-open .lr-pop:nth-child(3){animation-delay:.1s}.lr-open .lr-pop:nth-child(4){animation-delay:.15s}.lr-open .lr-pop:nth-child(5){animation-delay:.2s}@keyframes lr-pop{0%{transform:scale(.3) rotate(-30deg);opacity:0}}.lr-pop.is-lost{outline:3px solid var(--danger);outline-offset:1px}.lr-bid{display:grid;justify-items:center;gap:6px;padding:18px;border-radius:var(--r-lg);background:var(--g);color:var(--gi);text-align:center}.lr-bid .muted{color:color-mix(in srgb,var(--gi) 70%,transparent)}.lr-bid-what{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-size:40px;font-weight:800;animation:lr-pop .35s cubic-bezier(.2,1.4,.4,1) both}.lr-bid.is-true{background:#3ddc97;color:#05301d}.lr-bid.is-false{background:#ff6b5b;color:#2a0c08}.lr-result p{margin:2px 0}.lr-loser{font-weight:800}.lr-mine{display:grid;gap:8px}.lr-mine p{margin:0}.lr-mydice{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.lr-roll{animation:die-roll .5s cubic-bezier(.3,.7,.3,1) both}.lr-mydice .lr-roll:nth-child(2){animation-delay:.04s}.lr-mydice .lr-roll:nth-child(3){animation-delay:.08s}.lr-mydice .lr-roll:nth-child(4){animation-delay:.12s}.lr-mydice .lr-roll:nth-child(5){animation-delay:.16s}.lr-history summary{cursor:pointer;text-align:center}.lr-history ol{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:4px}.lr-history li{display:flex;justify-content:space-between;padding:4px 10px;border-radius:var(--r-sm);background:var(--ink-2)}.lr-picker{display:grid;gap:10px}.lr-pick-row{display:flex;align-items:center;justify-content:center;gap:10px}.lr-qty{min-width:2ch;text-align:center;font-family:var(--display);font-size:26px}.lr-faces{gap:8px}.lr-face{border:0;padding:4px;border-radius:12px;background:transparent;box-shadow:inset 0 0 0 2px transparent;transition:transform .15s,box-shadow .15s}.lr-face.is-on{box-shadow:inset 0 0 0 3px var(--tile);transform:translateY(-3px)}.lr-call{color:var(--danger);font-weight:800}.lr-verdict,.dc-verdict{text-align:center}.dc-tray{display:flex;justify-content:center;gap:8px;padding:16px 8px 10px;border-radius:var(--r-lg);background:radial-gradient(circle at 50% 30%,#2f7a4f,#1c4d31);box-shadow:inset 0 0 0 4px #4a2e17,inset 0 6px 18px #0006;transition:opacity .25s}.dc-tray.is-done{opacity:.6}.dc-die{display:grid;justify-items:center;gap:4px;border:0;padding:0;background:none;transition:transform .2s cubic-bezier(.2,1.4,.4,1)}.dc-die:disabled{cursor:default}.dc-die.is-held{transform:translateY(-8px)}.dc-die.is-held .die{box-shadow:0 0 0 3px var(--tile),0 6px #00000059}.dc-held{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--tile);min-height:1.3em}.dc-sheet{display:grid;gap:6px}.dc-sheet ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}.dc-line{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:42px;padding:0 12px;border-radius:var(--r-sm);background:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line);font-size:14px}.dc-line.is-done{background:var(--ink-3);box-shadow:none}.dc-line.is-done span{color:var(--muted)}.dc-line.is-open{padding:0;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--g) 60%,transparent)}.dc-line.is-best{box-shadow:inset 0 0 0 2px var(--tile)}.dc-pick{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:42px;padding:0 12px;border:0;border-radius:var(--r-sm);background:none;text-align:left;font-size:14px}.dc-pick:hover{background:color-mix(in srgb,var(--g) 18%,transparent)}.dc-pick b{color:var(--tile)}.dc-pick small{color:var(--muted);font-weight:600}.dc-sub,.dc-total{display:flex;justify-content:space-between;padding:6px 12px;font-size:13px;color:var(--muted)}.dc-sub .is-on{color:#3ddc97;font-weight:800}.dc-total{font-size:18px;color:var(--text);border-radius:var(--r-sm);background:color-mix(in srgb,var(--g) 22%,var(--ink-2))}.dc-total b{font-family:var(--display)}.dc-others{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dc-others li{display:flex;align-items:center;gap:8px}.dc-others li .pchip{flex:1;min-width:0}.dc-mini{display:flex;gap:3px}.bx-seats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.bx-seat{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--ink-2);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--seat) 35%,transparent);transition:box-shadow .25s,transform .25s;font-size:14px}.bx-seat.is-turn{box-shadow:inset 0 0 0 3px var(--seat);transform:translateY(-2px)}.bx-seat.is-win{background:color-mix(in srgb,var(--seat) 30%,var(--ink-2));box-shadow:inset 0 0 0 3px var(--seat)}.bx-count{min-width:1.6em;padding:0 6px;border-radius:999px;background:var(--seat);color:#1a1230;font-weight:800;text-align:center}.bx-board{width:100%;max-width:520px;margin:0 auto;padding:6px;border-radius:var(--r-lg);background:linear-gradient(rgba(120,160,255,.07) 1px,transparent 1px) 0 0 / 14px 14px,linear-gradient(90deg,rgba(120,160,255,.07) 1px,transparent 1px) 0 0 / 14px 14px,#f5f1e6;box-shadow:0 8px #0000004d}.bx-board svg{display:block;width:100%;height:auto;touch-action:manipulation}.bx-dot{fill:#2a1d3d}.bx-ghost{stroke:#2a1d3d1f;stroke-width:6;stroke-linecap:round;stroke-dasharray:2 12}.bx-hit{stroke:transparent;stroke-width:40;stroke-linecap:round;cursor:pointer;outline:none}.bx-board.is-mine .bx-free:hover .bx-ghost,.bx-board.is-mine .bx-free:focus-within .bx-ghost{stroke:color-mix(in srgb,var(--g) 80%,#2a1d3d);stroke-dasharray:none;stroke-width:10}.bx-board.is-mine .bx-ghost{stroke:#2a1d3d40}.bx-line{stroke:color-mix(in srgb,var(--seat) 70%,#2a1d3d);stroke-width:11;stroke-linecap:round;stroke-dasharray:100;animation:bx-draw .3s ease-out both}.bx-line.is-last{stroke-width:14;filter:drop-shadow(0 0 6px var(--seat))}@keyframes bx-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.bx-box rect{fill:color-mix(in srgb,var(--seat) 55%,#f5f1e6)}.bx-box text{font-size:40px}.bx-box.is-new{animation:bx-pop .45s cubic-bezier(.2,1.5,.4,1) both}@keyframes bx-pop{0%{transform:scale(.2);opacity:0}}.howto-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:999px;background:var(--ink-3);color:var(--text);font-weight:700;font-size:14px;box-shadow:inset 0 0 0 1px var(--line);transition:background .2s,transform .15s}.howto-btn:hover{background:var(--line)}.howto-btn:active{transform:scale(.95)}.howto{max-height:88vh;overflow-y:auto;gap:14px}.howto-head{display:flex;align-items:center;gap:14px}.howto-head p{margin:0}.howto-glyph{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--g);font-size:30px;flex:none;animation:howto-bob 2.4s ease-in-out infinite}@keyframes howto-bob{50%{transform:translateY(-4px) rotate(-4deg)}}.howto-goal{margin:0;padding:12px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--g) 18%,var(--ink-3));box-shadow:inset 3px 0 0 var(--g)}.howto-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.howto-steps li{display:flex;gap:12px;align-items:flex-start;line-height:1.4;animation:rise-soft .4s cubic-bezier(.2,1,.3,1) both;animation-delay:calc(.08s + var(--i) * .07s)}.howto-num{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--ink-3);font-size:18px;flex:none}.howto-tip{margin:0;padding:10px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--tile) 14%,var(--ink-3));font-size:14px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:80}.verdict.is-celebrating .verdict-glyph{display:inline-block;animation:verdict-jump .9s cubic-bezier(.2,1.6,.4,1) both}@keyframes verdict-jump{0%{transform:scale(.2) rotate(-25deg);opacity:0}60%{transform:scale(1.25) rotate(8deg);opacity:1}to{transform:none}}:where(.game-screen>:last-child>*){animation:rise-soft .45s cubic-bezier(.2,1,.3,1) both}:where(.game-screen>:last-child>:nth-child(2)){animation-delay:.05s}:where(.game-screen>:last-child>:nth-child(3)){animation-delay:.1s}:where(.game-screen>:last-child>:nth-child(4)){animation-delay:.15s}:where(.game-screen>:last-child>:nth-child(5)){animation-delay:.2s}.game-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.game-bg span{position:absolute;left:calc(4% + var(--i) * 11%);top:110%;font-size:calc(26px + var(--i) * 3px);opacity:.07;filter:grayscale(.3);animation:game-drift calc(22s + var(--i) * 3s) linear infinite;animation-delay:calc(var(--i) * -4.3s)}@keyframes game-drift{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-130vh) rotate(200deg)}}.howto-btn.is-compact{width:38px;height:38px;padding:0;justify-content:center;font-size:18px;flex:none}.game-bar-name,.game-bar .link-btn{white-space:nowrap}.lobby-game-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.lobby-game-head h2{margin:0}html[data-bg],html[data-bg] body{background-color:var(--ink)}html[data-bg] body{background:transparent}html[data-bg] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--ink) var(--bg-dim, 58%),transparent),color-mix(in srgb,var(--ink) calc(var(--bg-dim, 58%) + 12%),transparent)),var(--bg-img) center bottom / cover no-repeat,var(--ink)}.season-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}body:has(.game-bg) .season-fx{display:none}.season-fx i{position:absolute;top:-40px;left:var(--x);font-style:normal;animation:fx-fall var(--d) linear infinite;animation-delay:var(--delay);will-change:transform}.season-fx i span{display:block;font-size:var(--size);line-height:1;animation:fx-sway calc(var(--d) / 3) ease-in-out infinite alternate;animation-delay:var(--delay)}.season-fx.is-winter i span{color:#eaf4ff;opacity:.75;text-shadow:0 0 6px rgba(200,230,255,.6)}.season-fx.is-spring i span,.season-fx.is-autumn i span{opacity:.8}.season-fx.is-summer i{top:auto;bottom:-40px;animation-name:fx-rise}.season-fx.is-summer i span{color:#ffe48a;opacity:.7;text-shadow:0 0 10px #ffd84d}@keyframes fx-fall{0%{transform:translateZ(0) rotate(0)}to{transform:translate3d(0,calc(100vh + 80px),0) rotate(300deg)}}@keyframes fx-rise{0%{transform:translateZ(0);opacity:0}15%{opacity:1}to{transform:translate3d(0,calc(-100vh - 80px),0);opacity:0}}@keyframes fx-sway{0%{transform:translate(calc(var(--sway) * -.5))}to{transform:translate(calc(var(--sway) * .5))}}@media(prefers-reduced-motion:reduce){.season-fx{display:none}}.theme-pop{width:min(330px,calc(100vw - 24px));max-height:min(78vh,640px);overflow-y:auto;overscroll-behavior:contain;gap:10px}.theme-seasons{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.theme-season{display:grid;justify-items:center;gap:2px;padding:7px 2px 6px;border:0;border-radius:12px;background:var(--ink);font-size:11px;font-weight:700;box-shadow:inset 0 0 0 1.5px transparent;transition:transform .15s ease,box-shadow .15s ease}.theme-season span{font-size:20px;line-height:1.1}.theme-season:hover{transform:translateY(-1px)}.theme-season.is-on{box-shadow:inset 0 0 0 2px var(--a, var(--tile))}.theme-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.theme-check input{width:18px;height:18px;accent-color:var(--tile)}.theme-pics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.theme-pic{position:relative;aspect-ratio:16 / 10;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);transition:transform .15s ease}.theme-pic img{display:block;width:100%;height:100%;object-fit:cover}.theme-pic span{display:grid;place-items:center;height:100%;font-size:18px;color:var(--muted)}.theme-pic:hover{transform:translateY(-1px)}.theme-pic.is-on:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 2.5px var(--tile)}.theme-pic.is-add{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);border:1.5px dashed transparent}.chat-form .chat-emoji-btn{min-height:42px;padding:0;font-size:20px}.chat-pop .chat-form{gap:6px}.chat-pop .chat-form .chat-emoji-btn{width:38px}.chat-gif-btn{font-size:11px!important;font-weight:800;letter-spacing:.02em;color:var(--text)}.chat-pop .chat-emoji{max-height:150px}.chat-msg.is-gif .chat-bubble{padding:4px;background:var(--ink-2)}.chat-msg.is-gif.is-mine .chat-bubble{background:var(--ink-3)}.chat-gif{display:block;width:auto;max-width:100%;height:auto;max-height:160px;min-height:60px;min-width:80px;border-radius:10px;background:var(--ink)}.chat-msg.is-gif .chat-meta{padding:2px 4px 0}.gif-picker{display:grid;gap:8px;animation:pop-in .2s cubic-bezier(.3,1.4,.5,1)}.gif-search,.gif-tools .field{min-height:40px!important;font-size:15px}.gif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--r-sm)}.gif-picker:not(.is-compact) .gif-grid{max-height:300px}.gif-grid[aria-busy=true]{opacity:.6}.gif-recent{display:flex;gap:4px;overflow-x:auto}.gif-recent .gif-cell{flex:none;width:64px}.gif-cell{aspect-ratio:1;padding:0;border:0;border-radius:8px;overflow:hidden;background:var(--ink-2);transition:transform .12s ease}.gif-cell:active{transform:scale(.92)}.gif-cell img{display:block;width:100%;height:100%;object-fit:cover}.gif-empty{grid-column:1 / -1;margin:0;padding:10px 6px;font-size:13px;text-align:center}.gif-tools{display:flex;gap:6px}.gif-tools .field{flex:1;min-width:0}.gif-tools .btn{min-height:40px;padding:0 14px}.gif-credit{justify-self:end;font-size:10px;color:var(--muted);letter-spacing:.04em}.emote-tabs{display:flex;gap:4px;padding:3px;margin-bottom:8px;border-radius:999px;background:var(--ink)}.emote-tabs button{flex:1;padding:6px 10px;border:0;border-radius:999px;background:transparent;font-size:13px;font-weight:700;color:var(--muted)}.emote-tabs button.is-on{background:var(--ink-3);color:var(--text)}.emote-panel .gif-picker{width:min(300px,calc(100vw - 48px))}.emote.is-gif{font-size:0}.emote.is-gif img{display:block;width:auto;height:130px;max-width:220px;border-radius:14px;box-shadow:0 10px 30px #00000080,0 0 0 3px #ffffffe6;object-fit:cover}.emote.is-gif.is-for-me img{height:170px;max-width:280px}.emote.is-gif .emote-from{font-size:16px}.discord-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#5865f2;color:#fff;text-decoration:none;transition:transform .15s ease,filter .15s ease}.discord-btn:hover{transform:translateY(-1px) rotate(-8deg);filter:brightness(1.1)}@media(max-width:420px){.discord-btn{width:34px;height:34px}}@media(max-width:359px){.discord-btn{display:none}}.discord-card{display:flex;align-items:center;gap:12px;max-width:460px;margin-top:12px;padding:12px 14px 12px 12px;border-radius:var(--r-lg);background:linear-gradient(120deg,#5865f2,#7b5cf0);color:#fff;text-decoration:none;box-shadow:0 8px 24px #5865f259;transition:transform .15s ease,box-shadow .15s ease;animation:rise .4s cubic-bezier(.2,1,.3,1) .4s both}.discord-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #5865f273}.discord-card-ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#ffffff29}.discord-card-txt{flex:1;min-width:0;display:grid;line-height:1.3}.discord-card-txt b{font-family:var(--display);font-size:15px}.discord-card-txt span{font-size:13px;opacity:.9}.discord-card-go{flex:none;padding:7px 12px;border-radius:999px;background:#fff;color:#4752c4;font-size:13px;font-weight:800;white-space:nowrap}@media(max-width:420px){.discord-card-go{padding:7px 10px;font-size:0}.discord-card-go:after{content:"→";font-size:16px}}.page-loading{min-height:100dvh}.rail-clues,.clue-strip{list-style:none;margin:0;padding:0}.clue-hits{display:inline-flex;gap:3px;margin-inline:2px 4px}.clue-hits .hit{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px #12091f8c}.hit.c-red{background:var(--red)}.hit.c-blue{background:var(--blue)}.hit.c-neutral{background:#e8dcc0}.hit.c-black{background:#111;box-shadow:0 0 0 1.5px #fff}.clue-strip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0 6px;margin-bottom:4px}.clue-strip .clue{flex:none}.rail-clues{display:none}@media(min-width:760px){.clue-strip{display:none}.ag-rail{max-height:86vh}.rail-clues{display:grid;gap:6px;margin-top:6px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--tc) 45%,transparent)}.rail-clues .clue{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 6px;padding:6px 6px 6px 10px;border-radius:12px}.rail-clues .clue b{font-size:15px;line-height:1.15;overflow-wrap:anywhere}.rail-clues .clue i{min-width:24px;height:24px}.rail-clues .clue-hits{grid-column:1 / -1;margin:0}.ag-rail{top:128px;transform:none;max-height:calc(100dvh - 368px);min-height:0}.rail-red{max-height:calc(100dvh - 152px)}}@media(min-width:1200px){.g-agents{--rail: 158px}.rail-name{max-width:104px}}.card-bookmarks{position:absolute;top:0;left:8px;display:flex;gap:3px;pointer-events:none}.card-bookmark{width:15px;height:21px;filter:drop-shadow(0 2px 1px rgba(0,0,0,.35));animation:bm-drop .25s cubic-bezier(.2,1.4,.4,1) both}.bm-red{fill:var(--red)}.bm-blue{fill:var(--blue)}@keyframes bm-drop{0%{transform:translateY(-10px);opacity:0}}@media(min-width:760px){.card-bookmark{width:18px;height:25px}}.ag-play .card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.emote-panel{max-height:calc(100dvh - 110px);overflow-y:auto;scrollbar-width:thin}.emote-targets{flex-wrap:wrap;overflow:visible}@media(max-height:760px){.emote-panel{width:min(360px,calc(100vw - 28px))}.emote-grid{grid-template-columns:repeat(6,1fr)}.emote-btn{font-size:24px}}.rail-clues .clue b{font-family:inherit;text-transform:none;letter-spacing:0;font-weight:800;overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto}@media(min-width:760px)and (max-height:760px){.ag-play .clue-bar{min-height:0;gap:2px}.ag-play .clue-bar .clue b{font-size:18px}.ag-play .clue-bar .clue i{min-width:28px;height:28px}.ag-play .ag-hint{min-height:0;margin-block:2px}.ag-play .board{gap:6px;padding:8px}.ag-play .card{min-height:clamp(30px,calc((100dvh - var(--ag-above, 300px) - 104px) / 5 - 7px),124px);font-size:clamp(13px,1.4vw,20px);box-shadow:inset 0 1px #fff,0 3px #bfae88}}@media(max-width:759px){.g-agents{--rail: 32px}.ag-rail{gap:4px;padding:8px 0}.ag-rail .avatar{transform:scale(.82);margin:-3px 0}.ag-rail .rail-left{font-size:19px}.ag-play .clue-bar:has(>.ag-wait-top:only-child){display:none}.ag-play .clue-bar,.ag-play .ag-hint{min-height:0}.ag-play .board{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:3px}.ag-play .ag-status{flex-wrap:wrap;gap:4px 8px;max-width:100%}.ag-play .clue-bar .clue b{font-size:20px}.ag-play .clue-bar .clue i{min-width:30px;height:30px}.ag-play .card{padding:4px 2px;min-width:0;font-size:clamp(12.5px,3.75vw,18px);letter-spacing:-.02em;line-height:1.05;overflow-wrap:break-word;min-height:clamp(40px,calc((100dvh - var(--ag-above, 260px) - 96px) / 5 - 4px),84px)}.ag-play .ag-hint{font-size:12px;line-height:1.3}body:has(.ag-play) .dock>*{margin-left:0;margin-right:0;width:auto;max-width:calc(100% - 152px)}body:has(.ag-play) .dock-wait{font-size:14px;text-align:left}.ag-play .clue-strip{margin-bottom:0}body:has(.ag-play) .emote-dock{bottom:max(14px,env(safe-area-inset-bottom))!important;flex-direction:row;align-items:center;gap:6px}body:has(.ag-play) .emote-fab,body:has(.ag-play) .voice-fab,body:has(.ag-play) .chat-fab{width:44px;height:44px}body:has(.ag-play) .emote-dock>.emote-panel,body:has(.ag-play) .chat-pop,body:has(.ag-play) .voice-pop{position:absolute;right:0;bottom:calc(100% + 10px)}body:has(.ag-play) .chat-corner,body:has(.ag-play) .voice-corner{position:static}}.sound{position:relative}.sound-pop{width:220px;padding:12px;gap:12px}.sound-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;font-size:14px}.sound-vol input{flex:1;accent-color:var(--tile)}.sound-toggle{width:20px;height:20px;accent-color:var(--tile)}@media(max-width:380px){.topbar-right .sound-btn{width:34px;height:34px;font-size:16px}}
