@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Jua&display=swap";@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";.game-layout.catan-layout .game-stage.game-stage{background:linear-gradient(#04121e6b,#04121e94),url(/assets/games/catan/bg.webp) 50%/cover no-repeat}.cant-stop-layout .cant-stop-board.cant-stop-board{background:linear-gradient(#020a142e,#020a1466),url(/assets/games/cant-stop/bg.webp) 50%/cover}.game-layout.incan-layout .game-stage.game-stage{background:linear-gradient(#060a0880,#060a08a8),url(/assets/games/incan-gold/bg.webp) 50%/cover no-repeat}.game-cutin{z-index:60;pointer-events:none;color:#fff;background:linear-gradient(135deg,#280c14f0,#120a1ef0);border:1px solid #ffffff38;border-radius:20px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:10px 24px 10px 10px;animation:1.8s cubic-bezier(.2,1.2,.3,1) forwards game-cutin;display:flex;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 50px #0000008c}.game-cutin.tone-gold{background:linear-gradient(135deg,#362608f0,#0e1e1cf0)}.game-cutin-art{object-fit:cover;border:2px solid #ffffff80;border-radius:14px;flex:none;width:112px;height:112px}.game-cutin-text{flex-direction:column;gap:4px;min-width:0;display:flex}.game-cutin-text b{color:#ffb4c2;text-shadow:0 2px 12px #0009;font-size:28px;font-weight:900;line-height:1.1}.game-cutin.tone-gold .game-cutin-text b{color:#ffd77a}.game-cutin-text span{opacity:.9;font-size:13px}@keyframes game-cutin{0%{opacity:0;transform:translate(-30%,-50%)scale(.9)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-62%,-50%)scale(.98)}}@media (width<=560px){.game-cutin{gap:10px;padding:8px 16px 8px 8px}.game-cutin-art{width:76px;height:76px}.game-cutin-text b{font-size:21px}}.liar-layout .game-stage{align-items:stretch}.liar-board{--liar-card-ink:var(--color-ink);align-self:center;gap:var(--space-sm);width:min(760px,100%);min-width:0;color:var(--color-ink);font-family:var(--font-body);scroll-margin-top:calc(var(--room-topbar-h) + var(--space-xs));display:grid}.liar-prompt{scroll-margin:calc(var(--room-topbar-h) + var(--space-xs)) 0 var(--space-md)}.liar-board h3,.liar-board h4{margin:0}.liar-board h4{font-size:var(--text-sm);color:var(--color-muted);font-weight:600}.liar-prompt-top{justify-content:space-between;align-items:flex-start;gap:var(--space-xs);display:flex}.liar-timer{min-height:30px;padding:0 var(--space-sm);border-radius:var(--radius-pill);background:var(--color-paper-2);box-shadow:inset 0 0 0 1px var(--color-rule);font-family:var(--font-display);font-weight:400;font-size:var(--text-md);font-variant-numeric:tabular-nums;flex:none;align-items:center;display:inline-flex}.liar-timer.is-urgent{background:var(--color-error-soft);color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error);animation:liar-pulse .9s var(--ease-snap) infinite}.liar-word-card{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-card);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), 0 6px 0 0 var(--color-edge), var(--shadow-card);text-align:center;min-width:0;animation:liar-deal var(--dur-long) var(--ease-out);place-items:center;display:grid;position:relative}.liar-word-card:before{content:"";border-radius:calc(var(--radius-card) - 8px);border:2px dashed var(--color-rule);pointer-events:none;position:absolute;inset:8px}.liar-word-card.is-big{padding:var(--space-xl) var(--space-lg)}.liar-word-card.is-liar{background:var(--grain), var(--color-accent-3-soft);box-shadow:inset 0 0 0 1px var(--color-accent-3), 0 6px 0 0 var(--color-accent-3-deep), var(--shadow-card)}.liar-word-card.is-liar:before{border-color:var(--color-accent-3)}.liar-word-face{gap:var(--space-2xs);justify-items:center;min-width:0;max-width:100%;display:grid}.liar-word-topic{font-size:var(--text-sm);color:var(--color-muted)}.liar-word-topic b{color:var(--color-ink)}.liar-word{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);color:var(--liar-card-ink);overflow-wrap:anywhere;line-height:1.15}.liar-word-card.is-big .liar-word{font-size:var(--text-3xl)}.liar-word-card.is-liar .liar-word{color:var(--color-accent-3-deep)}.liar-word-card.is-hidden .liar-word{color:var(--color-muted)}.liar-word-sub{font-size:var(--text-xs);color:var(--color-muted)}.liar-word-count{font-size:var(--text-xs);color:var(--color-accent-3-deep);font-weight:700}.liar-hide-toggle{min-height:28px;padding:0 var(--space-xs);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink-2);font:inherit;font-size:var(--text-xs);cursor:pointer;border:0;position:absolute;top:12px;right:12px}.liar-hide-toggle:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.liar-prompt{gap:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-sheet);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);display:grid}.liar-prompt h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);line-height:1.25}.liar-prompt p{font-size:var(--text-sm);color:var(--color-ink-2);margin:0;line-height:1.5}.liar-prompt.is-mine{box-shadow:inset 0 0 0 2px var(--color-accent-deep);background:var(--grain), var(--color-card)}.liar-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.liar-actions .primary-button,.liar-actions .secondary-button{min-height:44px}.liar-wait,.liar-note{font-size:var(--text-xs);color:var(--color-muted);margin:0}.liar-hint-form{gap:var(--space-xs);display:grid}.liar-input{width:100%;min-height:46px;padding:0 var(--space-sm);border-radius:var(--radius-input);background:var(--color-paper);box-shadow:inset 0 0 0 1px var(--color-rule);color:var(--color-ink);font:inherit;font-size:var(--text-md);border:0}.liar-input:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.liar-choices{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.liar-choices .secondary-button{min-height:44px;padding:0 var(--space-xs)}.liar-vote-grid{gap:var(--space-xs);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.liar-vote-target{justify-items:center;gap:var(--space-3xs);padding:var(--space-sm) var(--space-2xs);border-radius:var(--radius-sheet);background:var(--color-card);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-rule), 0 4px 0 0 var(--color-edge);font:inherit;cursor:pointer;transition:translate var(--dur-micro) var(--ease-snap), background-color var(--dur-short) var(--ease-snap);border:0;min-width:0;display:grid}.liar-vote-target b{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.liar-vote-target b em{color:var(--color-muted);font-style:normal;font-weight:500}.liar-vote-target small{font-size:var(--text-2xs);color:var(--color-muted)}.liar-vote-target:hover:not(:disabled){translate:0 -2px}.liar-vote-target:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.liar-vote-target.is-selected{background:var(--color-accent);box-shadow:inset 0 0 0 2px var(--color-accent-deep), 0 4px 0 0 var(--color-accent-deep)}.liar-vote-target.is-selected small{color:var(--color-accent-ink);font-weight:700}.liar-vote-target:disabled{background:var(--color-paper-3);color:var(--color-muted);cursor:not-allowed;box-shadow:inset 0 0 0 1px var(--color-rule)}.liar-hints,.liar-scores,.liar-log{gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sheet);background:var(--color-paper-2);display:grid}.liar-hints ol,.liar-scores ul,.liar-log ol{gap:var(--space-2xs);margin:0;padding:0;list-style:none;display:grid}.liar-hint-row{gap:var(--space-xs);padding:var(--space-xs);border-radius:var(--radius-chip);background:var(--color-card);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.liar-hint-row.is-speaking{box-shadow:inset 0 0 0 2px var(--color-accent-deep);background:var(--grain), var(--color-card)}.liar-hint-row.is-me b{color:var(--color-accent-2)}.liar-hint-copy{gap:var(--space-3xs);min-width:0;display:grid}.liar-hint-copy b{font-size:var(--text-sm);gap:var(--space-2xs);align-items:center;display:flex}.liar-speaking-tag{font-style:normal;font-size:var(--text-2xs);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);padding:1px 6px}.liar-hint-text{font-size:var(--text-sm);overflow-wrap:anywhere;line-height:1.45}.liar-hint-text i{font-style:normal;font-size:var(--text-2xs);color:var(--color-muted);margin-right:var(--space-2xs)}.liar-hint-text.is-muted,.liar-hint-empty{color:var(--color-muted);font-size:var(--text-xs)}.liar-result{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-card);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-card);animation:liar-deal var(--dur-long) var(--ease-out);display:grid}.liar-result header{gap:var(--space-3xs);text-align:center;display:grid}.liar-result header small{color:var(--color-muted);font-size:var(--text-xs)}.liar-result header h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl)}.liar-result header p{font-size:var(--text-sm);color:var(--color-ink-2);margin:0}.liar-result.outcome-liarCaught header h3{color:var(--color-mint-deep)}.liar-result.outcome-liarEscaped header h3,.liar-result.outcome-liarGuessed header h3{color:var(--color-accent-3-deep)}.liar-result-facts{gap:var(--space-xs);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:0;display:grid}.liar-result-facts div{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-chip);background:var(--color-paper-2);min-width:0}.liar-result-facts dt{font-size:var(--text-2xs);color:var(--color-muted)}.liar-result-facts dd{font-family:var(--font-display);font-size:var(--text-lg);overflow-wrap:anywhere;margin:0}.liar-result-facts dd.is-correct{color:var(--color-mint-deep)}.liar-result-facts dd.is-wrong{color:var(--color-error)}.liar-result-votes small{font-size:var(--text-xs);color:var(--color-muted)}.liar-result-votes ul{margin:var(--space-2xs) 0 0;gap:var(--space-3xs);padding:0;list-style:none;display:grid}.liar-result-votes li{font-size:var(--text-sm);overflow-wrap:anywhere}.liar-result-votes li.is-liar b{color:var(--color-accent-3-deep)}.liar-result-votes li span{color:var(--color-muted);font-size:var(--text-xs);margin-left:var(--space-2xs)}.liar-result-points{gap:var(--space-2xs);flex-wrap:wrap;margin:0;display:flex}.liar-result-points span{padding:2px var(--space-xs);border-radius:var(--radius-pill);background:var(--color-mint-soft);color:var(--color-mint-deep);font-size:var(--text-xs);font-weight:700}.liar-result-points span.is-me{background:var(--color-mint);color:var(--color-ink)}.liar-scores ul{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.liar-scores li{gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-chip);background:var(--color-card);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.liar-scores li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.liar-scores li b{font-variant-numeric:tabular-nums}.liar-scores li.is-me{box-shadow:inset 0 0 0 2px var(--color-accent-2)}.liar-scores li.is-left{background:var(--color-paper-3);color:var(--color-muted)}.liar-log li{font-size:var(--text-xs);color:var(--color-ink-2);line-height:1.45}.liar-log li:first-child{color:var(--color-ink);font-weight:600}.liar-side-info{color:var(--color-muted)}.liar-side-info.is-speaking{color:var(--color-accent-deep);font-weight:700}.liar-options{gap:var(--space-sm);border:0;min-width:0;margin:0;padding:0;display:grid}.liar-options legend{margin-bottom:var(--space-xs);font-weight:700}.liar-options-grid{gap:var(--space-xs) var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.liar-options-grid select{width:100%;min-width:0}.liar-options-toggles{gap:var(--space-2xs);display:grid}.liar-check{gap:var(--space-xs);font-size:var(--text-sm);align-items:flex-start;display:flex}.liar-check small{color:var(--color-muted)}.liar-final{gap:var(--space-sm);text-align:left;display:grid}.liar-final-ranking{gap:var(--space-2xs);margin:0;padding:0;list-style:none;display:grid}.liar-final-ranking li{gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-chip);background:var(--color-paper-2);grid-template-columns:3em auto minmax(0,1fr) auto;align-items:center;display:grid}.liar-final-ranking li b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.liar-final-ranking li.is-winner{background:var(--grain), var(--color-accent);color:var(--color-accent-ink)}.liar-final-ranking li.is-me b{text-underline-offset:3px;text-decoration:underline}.liar-final-ranking li.is-left{color:var(--color-muted);background:var(--color-paper-3)}.liar-final-rank{font-family:var(--font-display)}.liar-final-score{font-variant-numeric:tabular-nums;font-weight:700}.liar-history summary{cursor:pointer;font-size:var(--text-sm)}.liar-history ul{margin:var(--space-2xs) 0 0;padding-left:var(--space-md);font-size:var(--text-xs);color:var(--color-ink-2);gap:var(--space-3xs);display:grid}@keyframes liar-deal{0%{opacity:0;transform:translateY(8px)rotate(-1.5deg)}to{opacity:1;transform:none}}@keyframes liar-pulse{50%{transform:scale(1.06)}}@media (width<=480px){.liar-word-card.is-big{padding:var(--space-lg) var(--space-md)}.liar-word-card.is-big .liar-word{font-size:var(--text-2xl)}.liar-prompt{padding:var(--space-sm)}.liar-prompt h3{font-size:var(--text-lg)}.liar-actions>*{flex:auto}.liar-options-grid{grid-template-columns:minmax(0,1fr)}.liar-scores ul,.liar-vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mafia-board{--mafia-night:#0b1030;--mafia-ink:#eef1ff;--mafia-dim:#dee4ffad;--mafia-accent:var(--rose,#ff5d8f);--mafia-gold:var(--gold,#ffc857);--mafia-town:var(--cyan,#38e6d0);--mafia-panel:#0a0e26b8;isolation:isolate;width:min(1040px,100%);color:var(--mafia-ink);border:1px solid #b4beff29;border-radius:22px;flex:none;gap:12px;min-height:0;padding:14px;display:grid;position:relative;overflow:hidden}.mafia-board .glass-card,.mafia-board .mafia-hero,.mafia-board .mafia-me,.mafia-board .mafia-log{background:var(--mafia-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #bec8ff29;border-radius:18px}.mafia-sky{z-index:-1;pointer-events:none;position:absolute;inset:0}.mafia-sky i{background-position:50%;background-size:cover;transition:opacity 1.2s;position:absolute;inset:0}.mafia-sky-night{opacity:1;background-image:linear-gradient(#080a2059,#080a20d1),url(/assets/games/mafia/bg-night.webp),radial-gradient(circle at 78% 18%,#3b3f8f 0,#0000 38%),linear-gradient(#121649 0%,#090b25 60%,#05060f 100%)}.mafia-sky-day{opacity:0;background-image:linear-gradient(#141e3c26,#0e142cb3),url(/assets/games/mafia/bg-day.webp),radial-gradient(circle at 20% 15%,#ffe2a8 0,#0000 35%),linear-gradient(#6fa8e8 0%,#3c6fb3 55%,#1c2e57 100%)}.mafia-board:is(.phase-day,.phase-vote,.phase-defense,.phase-verdict) .mafia-sky-day{opacity:1}.mafia-board:is(.phase-day,.phase-vote,.phase-defense,.phase-verdict) .mafia-sky-night{opacity:0}.mafia-moon,.mafia-sun{border-radius:50%;width:74px;height:74px;transition:transform 1.4s cubic-bezier(.5,0,.3,1),opacity 1s;position:absolute;top:18px;right:26px}.mafia-moon{background:radial-gradient(circle at 35% 35%,#fffbe8,#ffe9a3 55%,#d8b866);box-shadow:0 0 40px 10px #ffe6a040}.mafia-moon:after{content:"";background:#0c0e2eeb;border-radius:50%;position:absolute;inset:-4px -14px 10px 18px}.mafia-sun{opacity:0;background:radial-gradient(circle,#fff3c4,#ffc857 60%,#ff9f43);transform:translateY(140px);box-shadow:0 0 60px 16px #ffc85759}.mafia-board:is(.phase-day,.phase-vote,.phase-defense,.phase-verdict) .mafia-moon{opacity:0;transform:translateY(140px)}.mafia-board:is(.phase-day,.phase-vote,.phase-defense,.phase-verdict) .mafia-sun{opacity:1;transform:none}.mafia-board.flash-kill:after,.mafia-board.flash-execution:after,.mafia-board.flash-saved:after{content:"";z-index:5;pointer-events:none;animation:1.3s ease-out forwards mafia-flash;position:absolute;inset:0}.mafia-board.flash-kill:after{background:radial-gradient(circle,#ff285073,#78001e33)}.mafia-board.flash-execution:after{background:radial-gradient(circle,#ffaa3c66,#501e0033)}.mafia-board.flash-saved:after{background:radial-gradient(circle,#50ffc861,#0000 70%)}@keyframes mafia-flash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.mafia-hero{gap:8px;padding:16px 18px;display:grid}.mafia-hero-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.mafia-phase-chip{letter-spacing:.04em;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800}.mafia-board.phase-night .mafia-phase-chip{background:#5a50dc59}.mafia-board.phase-finished .mafia-phase-chip{background:#ffc8574d}.mafia-timer{font-variant-numeric:tabular-nums;background:#0000004d;border-radius:999px;padding:4px 10px;font-weight:800}.mafia-timer.is-urgent{color:#ffd2dc;background:#ff3c6459;animation:1s ease-in-out infinite mafia-pulse}@keyframes mafia-pulse{50%{transform:scale(1.07)}}.mafia-hero h3{margin:0;font-size:clamp(19px,3.2vw,26px);font-weight:800;line-height:1.25}.mafia-hero p{color:var(--mafia-dim);margin:0;font-size:14px;line-height:1.5}.mafia-turn-people{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mafia-turn-people small{color:var(--mafia-dim);font-size:12px}.mafia-turn-people>div{flex-wrap:wrap;gap:4px;display:flex}.mafia-turn-avatar{opacity:.45;filter:grayscale(.6);transition:opacity .3s,filter .3s,transform .3s;position:relative}.mafia-turn-avatar.is-done{opacity:1;filter:none;transform:translateY(-2px)}.mafia-turn-avatar em{color:#04201b;background:var(--mafia-town);border-radius:50%;place-items:center;width:15px;height:15px;font-size:10px;font-style:normal;display:grid;position:absolute;bottom:-3px;right:-3px}.mafia-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.mafia-button{min-height:44px;color:var(--mafia-ink);cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:12px;padding:0 16px;font-size:15px;font-weight:800;transition:transform .15s,background .2s,border-color .2s}.mafia-button:hover{background:#ffffff24;transform:translateY(-1px)}.mafia-button.is-on{border-color:var(--mafia-town);background:#38e6d038}.mafia-button.is-execute.is-on{border-color:var(--mafia-accent);background:#ff5d8f4d}.mafia-actions.verdict .mafia-button{flex:140px}.mafia-wait{color:var(--mafia-dim);font-size:13px}.mafia-main{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:12px;display:grid}.mafia-me{text-align:center;justify-items:center;gap:10px;padding:14px;display:grid}.mafia-me-copy{gap:4px;display:grid}.mafia-me-copy small{color:var(--mafia-dim);font-size:12px}.mafia-me-copy b{font-size:20px}.mafia-me-copy p{color:var(--mafia-dim);margin:0;font-size:13px;line-height:1.45}.mafia-team-note{color:#ffd6e2!important}.mafia-spectator-note{color:#ffb3c6;background:#ff3c6429;border-radius:8px;padding:4px 8px;font-size:13px}.mafia-investigations{text-align:left;gap:4px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.mafia-investigations li{background:#38e6d01f;border-radius:8px;padding:6px 8px}.mafia-investigations li.is-mafia{background:#ff5d8f33}.mafia-players{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.mafia-seat{color:var(--mafia-ink);font:inherit;cursor:default;background:#0c102ca8;border:1px solid #c8d2ff29;border-radius:16px;justify-items:center;gap:4px;min-width:0;padding:12px 6px 10px;transition:transform .2s,border-color .2s,box-shadow .2s,opacity .4s,filter .4s;display:grid;position:relative}.mafia-seat b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;overflow:hidden}.mafia-seat b em{color:var(--mafia-town);margin-left:2px;font-size:11px;font-style:normal}.mafia-seat small{color:var(--mafia-dim);font-size:12px}.mafia-seat:disabled{opacity:1}.mafia-seat.is-selectable{cursor:pointer;border-color:#fff6;animation:2.2s ease-in-out infinite mafia-breathe}.mafia-seat.is-selectable:hover{transform:translateY(-3px);box-shadow:0 10px 26px #00000059}.mafia-board.phase-night .mafia-seat.is-selectable{border-color:#ff6e9699}.mafia-seat.is-selected{border-color:var(--mafia-gold);animation:none;box-shadow:0 0 0 2px #ffc8578c,0 10px 30px #ffc8572e}.mafia-seat.is-me{background:#283c788c}.mafia-seat.is-nominee{border-color:var(--mafia-accent);animation:1.8s ease-in-out infinite mafia-spotlight;box-shadow:0 0 0 2px #ff5d8f80}.mafia-seat.is-dead{background:#0c102ccc}.mafia-seat.is-dead .mafia-seat-avatar{filter:grayscale()brightness(.6);opacity:.75}.mafia-seat.is-dead b{color:var(--mafia-dim);text-decoration:line-through;text-decoration-thickness:1px}.mafia-board:is(.phase-day,.phase-vote,.phase-defense,.phase-verdict) .mafia-seat:not(.is-me){background:#0c102cc2}.mafia-seat.is-gone{border-style:dashed}@keyframes mafia-breathe{50%{box-shadow:0 0 0 3px #ffffff14}}@keyframes mafia-spotlight{50%{box-shadow:0 0 0 4px #ff5d8f40,0 0 34px #ff5d8f59}}.mafia-seat-avatar{display:inline-grid;position:relative}.mafia-seat-skull{color:#ff6b8f;text-shadow:0 0 6px #000;place-items:center;font-size:26px;font-style:normal;font-weight:900;animation:.45s cubic-bezier(.2,1.6,.4,1) mafia-stamp;display:grid;position:absolute;inset:0}@keyframes mafia-stamp{0%{opacity:0;transform:scale(2.2)}}.mafia-vote-count,.mafia-pick-mark,.mafia-selected-mark{border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800;position:absolute}.mafia-vote-count{color:#2a0612;background:var(--mafia-accent);animation:.3s ease-out mafia-stamp;top:6px;right:6px}.mafia-pick-mark{background:#ff3c6459;top:6px;left:6px}.mafia-selected-mark{color:#2b1b00;background:var(--mafia-gold);bottom:-8px}.mafia-known-role{font-weight:800}.mafia-known-role.role-mafia{color:#ff7da1}.mafia-known-role:not(.role-mafia){color:#7ff0de}.mafia-log{padding:12px 16px}.mafia-log h4{color:var(--mafia-dim);margin:0 0 6px;font-size:13px}.mafia-log ol{gap:4px;max-height:190px;margin:0;padding:0;font-size:14px;list-style:none;display:grid;overflow-y:auto}.mafia-log li{background:#ffffff0a;border-radius:8px;padding:5px 8px;animation:.35s ease-out mafia-rise}.mafia-log li.kind-kill,.mafia-log li.kind-execution{background:#ff3c642e}.mafia-log li.kind-saved,.mafia-log li.kind-armor,.mafia-log li.kind-protect{background:#38e6d026}.mafia-log li.kind-article{background:#ffc8572e}.mafia-log li.kind-gameOver{background:#ffc85747;font-weight:800}.mafia-log li.is-private{border-left:3px solid #b48cff}.mafia-private-tag{background:#b48cff59;border-radius:6px;margin-right:6px;padding:1px 6px;font-size:10px;font-weight:800}@keyframes mafia-rise{0%{opacity:0;transform:translateY(6px)}}.mafia-card{--w:130px;width:var(--w);aspect-ratio:3/4;perspective:900px}.mafia-card.size-sm{--w:80px}.mafia-card.size-lg{--w:min(210px, 52vw)}.mafia-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,1.3,.5,1);position:relative}.mafia-card.is-revealed .mafia-card-inner{transform:rotateY(180deg)}.mafia-reveal-overlay .mafia-card.is-revealed .mafia-card-inner{animation:1.1s cubic-bezier(.3,1.2,.5,1) both mafia-flip-in}@keyframes mafia-flip-in{0%{transform:rotateY(0)scale(.85)}to{transform:rotateY(180deg)scale(1)}}.mafia-card-face{backface-visibility:hidden;border:2px solid #ffdca08c;border-radius:14px;position:absolute;inset:0;overflow:hidden;box-shadow:0 12px 30px #00000073}.mafia-card-back{background:linear-gradient(145deg,#2a1f63,#12103a)}.mafia-card-front{background:linear-gradient(160deg,#3c3f86,#191b46);display:grid;transform:rotateY(180deg)}.mafia-card.team-mafia .mafia-card-front{background:linear-gradient(160deg,#7a1f45,#2a0b22);border-color:#ff78a0b3}.mafia-card-front>b{text-align:center;background:linear-gradient(#0000,#000000bf);padding:18px 6px 6px;font-size:15px;position:absolute;bottom:0;left:0;right:0}.mafia-role-art{place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.mafia-role-art img{object-fit:cover;width:100%;height:100%;display:block}.mafia-role-fallback{font-size:calc(var(--w,130px) * .42);filter:drop-shadow(0 4px 10px #00000080);line-height:1}.mafia-card-back-art{background:repeating-linear-gradient(45deg,#ffd78c14 0 8px,#0000 8px 16px),radial-gradient(circle,#ffd2782e,#0000 65%)}.mafia-reveal-overlay{z-index:8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040514c7;place-items:center;padding:16px;animation:.4s ease-out mafia-fade;display:grid;position:absolute;inset:0}.mafia-reveal-panel{text-align:center;justify-items:center;gap:10px;max-width:360px;display:grid}.mafia-reveal-panel small{color:var(--mafia-dim);letter-spacing:.1em}.mafia-reveal-panel h3{margin:4px 0 0;font-size:26px}.mafia-reveal-panel p{color:var(--mafia-dim);margin:0;font-size:14px;line-height:1.5}.mafia-reveal-panel .primary-button{width:100%;margin-top:4px}.mafia-phase-banner{z-index:7;pointer-events:none;background:radial-gradient(circle,#050616bf,#05061633 70%);place-content:center;justify-items:center;gap:6px;animation:1.8s ease-in-out forwards mafia-banner;display:grid;position:absolute;inset:0}.mafia-phase-banner span{font-size:54px;animation:.6s ease-out mafia-stamp}.mafia-phase-banner b{text-shadow:0 4px 24px #000000b3;font-size:clamp(24px,6vw,38px)}@keyframes mafia-banner{0%{opacity:0}15%,75%{opacity:1}to{opacity:0}}@keyframes mafia-fade{0%{opacity:0}}.mafia-side-info{color:var(--muted,#8292a9);font-size:12px;display:block}.mafia-side-info.is-dead{color:var(--color-muted,#8a8fa0)}.mafia-side-dead{color:var(--color-muted,#8a8fa0);opacity:.8;pointer-events:none;align-items:center;margin-left:4px;display:inline-flex}.mafia-side-dead svg{width:14px;height:14px}.mafia-result{width:100%;margin:6px 0 12px}.mafia-result-team{text-align:center;margin:0 0 8px;font-weight:800}.mafia-result ul{gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.mafia-result li{text-align:left;background:#8080a014;border:1px solid #8080a038;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;font-size:14px;display:flex}.mafia-result li.is-winner{background:#ffc85729;border-color:#e6aa288c}.mafia-result li.is-me{box-shadow:inset 3px 0 #e6aa28e6}.mafia-result-name{flex:1;min-width:0;display:grid}.mafia-result-name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mafia-result li.is-dead .mafia-result-name b{opacity:.75;text-decoration:line-through;text-decoration-thickness:1px}.mafia-result-role{color:#0d3b35;background:#38e6d059;border-radius:999px;align-items:center;gap:4px;width:fit-content;padding:1px 8px;font-size:12px;font-weight:800;display:inline-flex}.mafia-result-role.team-mafia{color:#5a0c26;background:#ff5d8f59}.mafia-result li>small{opacity:.7;white-space:nowrap;font-size:12px}.mafia-options{border:1px solid var(--line,#9fbee121);border-radius:14px;gap:10px;min-width:0;margin:0;padding:10px 12px 12px;display:grid}.mafia-options legend{padding:0 6px;font-size:13px;font-weight:800}.mafia-options-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.mafia-options-toggles{flex-wrap:wrap;gap:6px 14px;display:flex}.mafia-check{align-items:center;gap:6px;font-size:14px;flex-direction:row!important;display:inline-flex!important}.mafia-check input{width:18px;height:18px;accent-color:var(--cyan,#38e6d0)}.mafia-check small{color:var(--muted,#8292a9)}.mafia-composition summary{cursor:pointer;color:var(--muted,#8292a9);font-size:13px}.mafia-composition table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}.mafia-composition th{text-align:left;white-space:nowrap;padding:3px 8px 3px 0}.mafia-composition td{color:var(--muted,#8292a9);padding:3px 0}@media (width<=760px){.mafia-main{grid-template-columns:1fr}.mafia-me{text-align:left;justify-items:stretch}.mafia-me-secret{text-align:left;grid-template-columns:84px minmax(0,1fr);place-items:center start}.mafia-me .mafia-card{--w:84px}.mafia-players{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mafia-seat{padding:10px 4px 9px}}@media (width<=900px){.game-layout.mafia-layout .room-sidebar{display:flex}}@media (width<=600px){.mafia-board{border-radius:16px;gap:8px;padding:8px}.mafia-hero{padding:12px}.mafia-moon,.mafia-sun{width:48px;height:48px;top:12px;right:14px}.mafia-button{flex:auto}}@media (prefers-reduced-motion:reduce){.mafia-board *,.mafia-board :after,.mafia-board:after{transition:none!important;animation:none!important}}.turn-stone.mafia-phase-mark.is-night{background:0 0;transform:rotate(-18deg);box-shadow:inset 9px -5px #f3d98b}.turn-stone.mafia-phase-mark.is-day{box-shadow:0 0 0 4px oklch(82.0816% .147003 80.7357/.28), var(--shadow-token);background:radial-gradient(circle at 40% 35%,#fff2b8,#f5b942 70%)}.mafia-me-secret{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;border-radius:12px;justify-items:center;gap:10px;width:100%;display:grid}.mafia-me.is-hidden .mafia-me-secret{cursor:pointer}.mafia-me-secret:focus-visible{outline:2px solid var(--mafia-town,#38e6d0);outline-offset:2px}.mafia-secret{transition:filter .25s,opacity .25s}.mafia-secret-card{display:inline-grid}:root[data-mafia-hide-role=on] .mafia-secret{filter:blur(9px)saturate(.4);opacity:.85;pointer-events:none}:root[data-mafia-hide-role=on] .mafia-seat .mafia-secret,:root[data-mafia-hide-role=on] .mafia-side-info .mafia-secret,:root[data-mafia-hide-role=on] .mafia-log .mafia-secret{filter:blur(5px)}.mafia-hide-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;width:100%;display:flex}.mafia-hide-bar small{color:var(--mafia-dim);font-size:11px}.mafia-hide-toggle{min-height:32px;font-size:13px}.mafia-hero p.mafia-role-mix{color:var(--mafia-dim);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:6px;font-size:12px;display:flex}.mafia-rule-chip{color:#ffd98a;background:#ffc85729;border:1px solid #ffc85759;border-radius:999px;padding:2px 8px;font-size:11px}.mafia-seat[data-blocked=true]{border-style:dashed;border-color:#ff8ca073}.mafia-seat[data-blocked=true] .mafia-seat-avatar{opacity:.55}.mafia-seat-reason{color:#ffc2cf;background:#ff3c6429;border-radius:8px;max-width:100%;padding:2px 6px;font-size:11px;line-height:1.25}.playing-card{--pc-w:64px;--pc-red:#d8344f;--pc-black:#1b2333;--pc-paper:#fffdf8;width:var(--pc-w);aspect-ratio:5/7;border-radius:calc(var(--pc-w)*.09);color:inherit;font:inherit;vertical-align:top;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;padding:0;line-height:0;transition:transform .16s,box-shadow .16s;display:inline-block;position:relative;box-shadow:0 6px 16px #00000059,0 0 0 1px #00000040}.playing-card.size-xs{--pc-w:34px}.playing-card.size-sm{--pc-w:48px}.playing-card.size-md{--pc-w:64px}.playing-card.size-lg{--pc-w:96px}@media (width<=480px){.playing-card.size-md{--pc-w:56px}.playing-card.size-lg{--pc-w:80px}}.playing-card.clickable{cursor:pointer}.playing-card.clickable:not(:disabled):hover{transform:translateY(-6px)}.playing-card:focus-visible{outline-offset:2px;outline:3px solid #38e6d0}.playing-card.selected{transform:translateY(-12px);box-shadow:0 10px 22px #0006,0 0 0 3px #ffc857}.playing-card.playable{box-shadow:0 6px 16px #00000059,0 0 0 2px #38e6d0d9}.playing-card.disabled,.playing-card:disabled{cursor:default;filter:saturate(.75)brightness(.85)}.pc-svg{border-radius:inherit;width:100%;height:100%;display:block}.pc-paper{fill:var(--pc-paper);stroke:#141e322e;stroke-width:1.5px}.playing-card.red .pc-svg{fill:var(--pc-red)}.playing-card.black .pc-svg{fill:var(--pc-black)}.pc-index{letter-spacing:-.04em;font:800 19px/1 Manrope,Noto Sans KR,sans-serif}.pc-index-suit{font:700 15px/1 Segoe UI Symbol,Noto Sans Symbols,Noto Sans KR,sans-serif}.pc-pip{font:400 22px/1 Segoe UI Symbol,Noto Sans Symbols,Noto Sans KR,sans-serif}.pc-pip-ace{font-size:54px}.pc-face-frame{fill:none;stroke:currentColor;stroke-width:0}.playing-card.red .pc-face-frame{stroke:var(--pc-red);stroke-width:2px}.playing-card.black .pc-face-frame{stroke:var(--pc-black);stroke-width:2px}.playing-card.red .pc-face-inner{fill:#d8344f14}.playing-card.black .pc-face-inner{fill:#1b233312}.pc-face-rank{font:900 40px/1 Manrope,Noto Sans KR,sans-serif}.pc-face-suit{font:400 26px/1 Segoe UI Symbol,Noto Sans Symbols,sans-serif}.pc-face-title{letter-spacing:.18em;font:800 7px/1 Manrope,sans-serif}.playing-card.joker-mono .pc-svg{fill:#1b2333}.playing-card.joker-color .pc-svg{fill:#c23a8a}.pc-joker-letters{font:900 12px/1 Manrope,sans-serif}.pc-joker-frame{fill:#f1ece2;stroke:currentColor;stroke-width:1.5px}.playing-card.joker-color .pc-joker-frame{fill:#fff1f6}.pc-joker-star{font:400 46px/1 Segoe UI Symbol,Noto Sans Symbols,sans-serif}.playing-card.joker-color .pc-joker-star{fill:#ff9f1c}.pc-joker-word{letter-spacing:.12em;font:900 11px/1 Manrope,sans-serif}.playing-card.face-down{background:#253a74}.pc-back{border-radius:inherit;box-shadow:inset 0 0 0 calc(var(--pc-w)*.06) #f6efe1,inset 0 0 0 calc(var(--pc-w)*.075) #00000026;background:radial-gradient(circle,#ffc8578c 0 9%,#0000 10%),repeating-linear-gradient(45deg,#ffffff24 0 3px,#0000 3px 9px),repeating-linear-gradient(-45deg,#ffffff24 0 3px,#0000 3px 9px),linear-gradient(160deg,#3550a8,#1c2a5a);position:absolute;inset:0;overflow:hidden}.pc-back img{object-fit:cover;width:100%;height:100%;display:block}.pc-back:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 calc(var(--pc-w)*.06) #f6efe1,inset 0 0 0 calc(var(--pc-w)*.075) #00000026;position:absolute;inset:0}.card-fan{align-items:flex-end;padding-top:14px;display:flex}.card-fan>.playing-card+.playing-card{margin-left:calc(var(--pc-w)*var(--card-overlap,.45)*-1)}.old-maid-layout .game-stage{align-items:stretch;padding:14px 18px;overflow-y:auto}.old-maid-layout .turn-banner{align-self:center;width:min(860px,100%)}.old-maid-shell{--om-felt:#123c3a;--om-felt-2:#0b2423;--om-accent:var(--gold,#ffc857);--om-cyan:var(--cyan,#38e6d0);--om-text:#f3f6ff;--om-muted:#a9b8cc;color:var(--om-text);border:1px solid var(--line,#9fbee121);background:url(/assets/games/old-maid/table.webp) center/cover no-repeat,radial-gradient(ellipse at 50% 38%,#ffc85714,transparent 55%),repeating-linear-gradient(135deg,#ffffff05 0 2px,transparent 2px 6px),linear-gradient(180deg,var(--om-felt),var(--om-felt-2));border-radius:22px;flex-direction:column;align-self:center;gap:12px;width:min(860px,100%);padding:14px;display:flex;box-shadow:inset 0 0 60px #00000073,0 18px 40px #00000059}.old-maid-shell button{font:inherit}.old-maid-seats{scrollbar-width:thin;gap:8px;margin:0;padding:2px 2px 6px;list-style:none;display:flex;overflow-x:auto}.old-maid-seat{background:#050c168c;border:1px solid #ffffff12;border-radius:14px;flex:1 0 92px;justify-items:center;gap:2px;max-width:150px;padding:8px 6px 6px;transition:transform .2s,border-color .2s,background .2s;display:grid;position:relative}.old-maid-seat b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.old-maid-seat small{color:var(--om-muted);font-size:10px}.old-maid-seat-avatar{display:inline-flex;position:relative}.old-maid-offline{color:#ff8fa3;background:#2a1220;border-radius:50%;width:16px;height:16px;padding:2px;position:absolute;bottom:-4px;right:-6px}.old-maid-seat.is-me{background:#38e6d012}.old-maid-seat.is-current{border-color:var(--om-accent);background:#ffc8571f;animation:1.6s ease-in-out infinite old-maid-glow;transform:translateY(-2px)}.old-maid-seat.is-current small{color:var(--om-accent);font-weight:800}.old-maid-seat.is-target{border-color:#38e6d08c}.old-maid-seat.is-target small{color:var(--om-cyan);font-weight:700}.old-maid-seat.is-out{opacity:.62}.old-maid-seat.is-out small{color:#9ff0b8}.old-maid-seat.is-loser{background:#ff507824;border-color:#ff6b8b}.old-maid-seat.is-loser small{color:#ff8fa3;font-weight:800}.old-maid-mini-fan{height:16px;margin-top:2px;display:flex}.old-maid-mini-fan i{width:11px;height:16px;transform:rotate(calc((var(--i) - 3) * 5deg));transform-origin:bottom;background:linear-gradient(160deg,#3550a8,#1c2a5a);border-radius:2px;margin-left:-5px;box-shadow:inset 0 0 0 1.5px #f6efe1}.old-maid-mini-fan i:first-child{margin-left:0}.old-maid-seat.is-shuffling .old-maid-mini-fan i{animation:.6s ease-in-out old-maid-wiggle}@keyframes old-maid-glow{0%,to{box-shadow:0 0 #ffc85700}50%{box-shadow:0 0 18px 2px #ffc85759}}.old-maid-prompt{background:#0309129e;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:10px;padding:11px 14px;font-size:14px;font-weight:700;line-height:1.35;display:flex}.old-maid-prompt svg{width:18px;height:18px;color:var(--om-muted);flex:none}.old-maid-prompt span{flex:1}.old-maid-prompt.is-mine{background:linear-gradient(90deg,#ffc85729,#0309129e);border-color:#ffc85799;animation:.35s ease-out old-maid-pop}.old-maid-prompt.is-mine svg{color:var(--om-accent)}.old-maid-prompt em{font-variant-numeric:tabular-nums;background:#ffffff14;border-radius:999px;padding:3px 9px;font-size:13px;font-style:normal}.old-maid-prompt em.is-hurry{color:#fff;background:#ff5a7a;animation:.9s ease-in-out infinite old-maid-pulse}.old-maid-note{color:var(--om-muted);margin:0;padding:0 4px;font-size:11px}.old-maid-target{background:#00000038;border:1px dashed #ffffff1f;border-radius:16px;padding:10px 12px 12px}.old-maid-target header,.old-maid-hand header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;font-weight:800;display:flex}.old-maid-target header small,.old-maid-hand header small{color:var(--om-muted);font-weight:600}.old-maid-target.is-pickable{background:#ffc85712;border:1px solid #ffc85799}.old-maid-backs{flex-wrap:wrap;justify-content:center;row-gap:8px;padding:6px 0 2px 14px;display:flex}.old-maid-backs .playing-card{animation:.35s ease-out backwards old-maid-deal;animation-delay:calc(var(--i) * 18ms);margin-left:-14px}.old-maid-target.is-pickable .old-maid-back:hover,.old-maid-target.is-pickable .old-maid-back:focus-visible{z-index:2;box-shadow:0 12px 24px #00000080,0 0 0 3px var(--om-accent);transform:translateY(-12px)rotate(-2deg)}.old-maid-target.is-pickable .old-maid-back{box-shadow:0 6px 16px #00000059,0 0 0 2px #ffc8578c}.old-maid-backs.is-shuffling .playing-card{animation:.6s ease-in-out old-maid-wiggle}.old-maid-center{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:stretch;gap:10px;display:grid}.old-maid-pile{background:#0003;border-radius:14px;flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:92px;padding:10px 10px 22px;display:flex;position:relative}.old-maid-pair{animation:.5s ease-out backwards old-maid-settle;display:inline-flex}.old-maid-pair .playing-card+.playing-card{margin-left:-14px;transform:rotate(8deg)}.old-maid-pair.is-fresh{animation:.7s cubic-bezier(.2,.9,.3,1.3) backwards old-maid-discard}.old-maid-pile-empty{color:var(--om-muted);margin:auto;font-size:11px}.old-maid-pile-count{color:var(--om-muted);font-size:10px;position:absolute;bottom:5px;left:10px}.old-maid-flash{background:#0309128c;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;animation:.35s ease-out old-maid-pop;display:flex}.old-maid-flash p{margin:0;font-size:12px;line-height:1.45}.old-maid-flash.tone-pair{border-color:#38e6d073}.old-maid-flash.tone-joker{background:linear-gradient(90deg,#ff507833,#0309128c);border-color:#ff6b8b}.old-maid-flash.tone-escape{border-color:#9ff0b880}.old-maid-flash-card{animation:.55s ease-out old-maid-flip}.old-maid-flash.tone-joker .old-maid-flash-card{animation:.55s ease-out old-maid-flip,.5s ease-in-out .55s old-maid-shake}.old-maid-hand{background:#050c1680;border:1px solid #38e6d02e;border-radius:16px;padding:10px 12px 12px}.old-maid-hand-tools{gap:6px;display:flex}.old-maid-hand-tools .secondary-button{color:var(--om-text);cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:10px;align-items:center;gap:5px;min-height:34px;padding:0 10px;font-size:11px;display:inline-flex}.old-maid-hand-tools .secondary-button:disabled{opacity:.45;cursor:default}.old-maid-hand-tools svg{width:14px;height:14px}.old-maid-my-cards{flex-wrap:wrap;justify-content:center;row-gap:10px;min-height:96px;padding:12px 0 2px 22px;display:flex}.old-maid-my-cards .playing-card{animation:.4s ease-out backwards old-maid-deal;animation-delay:calc(var(--i) * 22ms);margin-left:-22px}.old-maid-my-cards .playing-card.is-new{box-shadow:0 0 0 3px var(--om-cyan),0 10px 24px #00000073;z-index:2;animation:1.1s ease-out old-maid-arrive}.old-maid-my-cards .playing-card.is-joker{box-shadow:0 6px 16px #00000059,0 0 0 2px #ff6b8bb3}.old-maid-my-cards .playing-card.selected{z-index:3}.old-maid-my-cards.is-shuffling .playing-card{animation:.6s ease-in-out old-maid-wiggle}.old-maid-escaped{color:#9ff0b8;margin:auto;font-weight:800}.old-maid-discard-bar{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:12px;display:flex}.old-maid-discard-bar .primary-button{color:#041412;cursor:pointer;background:linear-gradient(135deg,#52f5df,#21cdbd);border:0;border-radius:12px;min-height:38px;padding:0 16px;font-weight:800}.old-maid-discard-bar .primary-button:disabled{opacity:.55;filter:grayscale(.6);cursor:default;transform:none}.old-maid-player-info{opacity:.75;font-size:10px;display:block}.old-maid-turn-dot{background:var(--gold,#ffc857);width:10px;height:10px;box-shadow:0 0 10px var(--gold,#ffc857);border-radius:50%;animation:1.2s ease-in-out infinite old-maid-pulse}.old-maid-joker-badge{font-size:16px}.old-maid-badge{color:var(--gold,#ffc857);background:#ffc8571f;border-radius:999px;padding:3px 8px;font-size:11px}.old-maid-options{gap:12px;display:grid}.old-maid-result ol{text-align:left;gap:6px;margin:14px 0;padding:0;list-style:none;display:grid}.old-maid-result li{background:#ffffff0d;border-radius:12px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.old-maid-result li b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.old-maid-result li small{opacity:.7}.old-maid-result li.is-me{outline:1px solid #38e6d066}.old-maid-result li.is-loser{background:#ff507824}.old-maid-rank{min-width:34px;color:var(--gold,#ffc857);font-weight:900}.old-maid-result li.is-loser .old-maid-rank{color:#ff8fa3}.old-maid-result-cards{display:inline-flex}@keyframes old-maid-pop{0%{opacity:.4;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes old-maid-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes old-maid-deal{0%{opacity:0;transform:translateY(-26px)rotate(-8deg)}to{opacity:1}}@keyframes old-maid-arrive{0%{opacity:0;transform:translateY(-60px)scale(1.15)rotate(-6deg)}35%{opacity:1}to{transform:none}}@keyframes old-maid-discard{0%{opacity:0;transform:translateY(40px)scale(1.4)}to{opacity:1;transform:none}}@keyframes old-maid-settle{0%{opacity:0}to{opacity:1}}@keyframes old-maid-flip{0%{transform:rotateY(90deg)}to{transform:none}}@keyframes old-maid-shake{0%,to{transform:none}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes old-maid-wiggle{0%,to{transform:none}25%{transform:translate(-5px)rotate(-4deg)}75%{transform:translate(5px)rotate(4deg)}}@media (prefers-reduced-motion:reduce){.old-maid-shell *{transition:none!important;animation:none!important}}@media (width>=901px){.old-maid-backs{padding-left:24px}.old-maid-backs .playing-card{--pc-w:64px;margin-left:-24px}}@media (width<=600px){.old-maid-layout .game-stage{padding:10px 8px}.old-maid-shell{border-radius:16px;gap:10px;padding:10px}.old-maid-seats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:2px 0 4px;display:grid;overflow:visible}.old-maid-seats[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.old-maid-seat{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar name""avatar status""fan fan";justify-items:start;gap:1px 6px;min-width:0;max-width:none;padding:6px 4px}.old-maid-seat .old-maid-seat-avatar{grid-area:avatar;align-self:center}.old-maid-seat b{grid-area:name}.old-maid-seat small{grid-area:status}.old-maid-seat .old-maid-mini-fan{grid-area:fan;justify-self:center;height:12px}.old-maid-seat .old-maid-mini-fan i{width:8px;height:12px;margin-left:-4px}.old-maid-seat.is-current{transform:none}.old-maid-prompt{padding:9px 11px;font-size:13px}.old-maid-center{grid-template-columns:1fr}.old-maid-pile{min-height:70px}.old-maid-backs{padding-left:18px}.old-maid-backs .playing-card{margin-left:-18px}.old-maid-my-cards{padding-left:26px}.old-maid-my-cards .playing-card{margin-left:-26px}.old-maid-hand header{flex-wrap:wrap}}.old-maid-result-joker{align-items:center;gap:8px;margin:10px 0 0;font-size:13px;display:flex}@media (width<=640px){.old-maid-pile{flex-wrap:nowrap;align-items:center;gap:8px;min-height:0;padding:6px 10px}.old-maid-pile .old-maid-pair:not(:last-of-type){display:none}.old-maid-pile .old-maid-pile-count{margin-left:auto;font-size:12px;position:static}.old-maid-pile .old-maid-pile-empty{margin:0;font-size:12px}}.one-card-layout .game-stage{align-items:stretch;overflow-y:auto}.one-card-layout .turn-banner{align-self:center}.one-card-board{--oc-ink:var(--color-ink,#1f2436);--oc-muted:var(--color-muted,#5f6475);--oc-card:var(--color-card,#fdfbf6);--oc-paper:var(--color-paper-2,#f2efe6);--oc-rule:var(--color-rule,#ddd7c8);--oc-gold:var(--color-accent,#f5cf55);--oc-gold-deep:var(--color-accent-deep,#c79a2a);--oc-sakura:var(--color-accent-3,#ec87ad);--oc-sakura-deep:var(--color-accent-3-deep,#c23d57);--oc-sakura-soft:var(--color-accent-3-soft,#fbe9ef);--oc-mint:var(--color-mint,#8fdcb4);--oc-mint-deep:var(--color-mint-deep,#2f7a57);--oc-mint-soft:var(--color-mint-soft,#e4f6ec);--oc-blue:var(--color-accent-2,#3a62b8);--oc-felt:var(--color-felt,#2f7a5e);--oc-felt-deep:var(--color-felt-deep,#1f5643);--oc-night:var(--color-night,#24253f);--oc-on-night:var(--color-on-night,#f4f1e8);--oc-display:var(--font-display,"Jua","Pretendard",sans-serif);width:min(780px,100%);min-height:0;color:var(--oc-ink);flex-direction:column;flex:1 0 auto;gap:10px;margin:0 auto;display:flex}.one-card-seats{scrollbar-width:thin;gap:8px;padding:3px 2px 5px;display:flex;overflow-x:auto}.one-card-seat{border-radius:var(--radius-stock,16px);border:1px solid var(--oc-rule);background:var(--oc-card);min-width:112px;box-shadow:var(--shadow-card,0 6px 16px #00000014);flex:1 0 auto;align-items:center;gap:8px;padding:7px 12px 7px 7px;transition:border-color .2s,background .2s,transform .2s;display:flex;position:relative}.one-card-seat.me{background:color-mix(in oklch,var(--oc-blue) 7%,var(--oc-card))}.one-card-seat.current{border-color:var(--oc-gold-deep);background:color-mix(in oklch,var(--oc-gold) 32%,var(--oc-card));box-shadow:0 0 0 2px color-mix(in oklch,var(--oc-gold) 70%,transparent),var(--shadow-lift,0 10px 24px #00000024);transform:translateY(-1px)}.one-card-seat.current .player-avatar{animation:1.4s ease-in-out infinite one-card-pulse}.one-card-seat.offline{opacity:.55}.one-card-seat.winner{border-color:var(--oc-mint-deep)}.one-card-seat-text{flex-direction:column;gap:2px;min-width:0;display:flex}.one-card-seat-text b{white-space:nowrap;text-overflow:ellipsis;max-width:110px;color:var(--oc-ink);font-size:12px;overflow:hidden}.one-card-seat-text small{color:var(--oc-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:5px;font-size:11px;display:flex}.one-card-mini-back{background:linear-gradient(160deg,#3550a8,#1c2a5a);border-radius:2px;width:9px;height:13px;display:inline-block;box-shadow:inset 0 0 0 1.5px #f6efe1}.one-card-tag{border-radius:999px;padding:1px 6px;font-size:9px;font-style:normal;font-weight:800}.one-card-tag.warn{background:var(--oc-sakura-soft);color:var(--oc-sakura-deep);animation:1s steps(2,end) infinite one-card-blink}.one-card-tag.safe{background:var(--oc-mint-soft);color:var(--oc-mint-deep)}.one-card-tag.off{background:var(--oc-paper);color:var(--oc-muted)}.one-card-turn-dot{background:var(--oc-gold-deep);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklch,var(--oc-gold) 50%,transparent);border-radius:50%;position:absolute;top:6px;right:7px}.one-card-seat-arrow{color:var(--oc-muted);z-index:1;font-size:14px;font-weight:800;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.one-card-prompt{border-radius:var(--radius-input,14px);text-align:center;border:1px solid var(--oc-rule);background:var(--oc-card);color:var(--oc-ink);box-shadow:var(--shadow-card,0 6px 16px #0000000f);padding:10px 14px;font-size:14px;font-weight:700}.one-card-prompt.tone-mine{border-color:var(--oc-mint-deep);background:var(--oc-mint-soft);color:var(--oc-ink)}.one-card-prompt.tone-attack{border-color:var(--oc-sakura-deep);background:var(--oc-sakura-soft);color:var(--oc-sakura-deep);animation:.45s one-card-shake}.one-card-prompt.tone-done{border-color:var(--oc-gold-deep);background:color-mix(in oklch,var(--oc-gold) 30%,var(--oc-card))}.one-card-prompt.tone-wait{color:var(--oc-ink)}.one-card-table{border-radius:var(--radius-card,24px);min-height:210px;color:var(--oc-on-night);background:linear-gradient(#0a1e1852,#0a1e1852),url(/assets/games/one-card/table.webp) center/cover no-repeat,radial-gradient(ellipse at 50% 38%,color-mix(in oklch,var(--oc-felt) 80%,white) 0,var(--oc-felt) 48%,var(--oc-felt-deep) 100%);box-shadow:inset 0 0 0 5px color-mix(in oklch,var(--color-wood,#b98a52) 90%,black),inset 0 0 0 6px #00000040,inset 0 0 60px #00000059,var(--shadow-lift,0 14px 34px #0003);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 16px;display:grid;position:relative;overflow:hidden}.one-card-board.is-attack .one-card-table{box-shadow:inset 0 0 0 5px var(--oc-sakura-deep),inset 0 0 70px #c81e4652,var(--shadow-lift,0 14px 34px #0003)}.one-card-pile{flex-direction:column;align-items:center;gap:6px;display:flex}.one-card-pile>small{color:var(--oc-on-night);opacity:.85;font-size:11px;font-weight:700}.one-card-deck{cursor:default;isolation:isolate;background:0 0;border:0;border-radius:10px;padding:0;position:relative}.one-card-deck:before,.one-card-deck:after{content:"";z-index:-1;background:#1c2a5a;border-radius:9px;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #f6efe1}.one-card-deck:before{transform:translate(4px,4px)}.one-card-deck:after{transform:translate(2px,2px)}.one-card-deck.ready{cursor:pointer}.one-card-deck.ready .playing-card{box-shadow:0 0 0 3px var(--oc-mint),0 8px 20px #0006;animation:1.6s ease-in-out infinite one-card-bob}.one-card-deck-count{min-width:30px;height:24px;font:800 12px/24px var(--font-body,sans-serif);background:var(--oc-night);color:var(--oc-on-night);font-variant-numeric:tabular-nums;border:1px solid #ffffff4d;border-radius:999px;place-items:center;padding:0 7px;display:grid;position:absolute;bottom:-8px;right:-8px}.one-card-center{flex-direction:column;align-items:center;gap:12px;min-width:0;display:flex}.one-card-discard{width:96px;height:134px;position:relative}.one-card-discard-card{transform:rotate(var(--tilt,0deg)) translate(calc(var(--depth,0)*-3px),calc(var(--depth,0)*2px));opacity:calc(1 - var(--depth,0)*.12);top:0;left:0;position:absolute!important}.one-card-discard-card.top{animation:one-card-fly .38s var(--ease-spring,cubic-bezier(.2,.9,.25,1.15))}.one-card-status-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.one-card-chip{color:var(--oc-on-night);white-space:nowrap;background:#0a141e73;border:1px solid #ffffff38;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.one-card-chip.suit{background:var(--oc-card);color:var(--oc-ink);border-color:#0000}.one-card-chip.suit.hearts,.one-card-chip.suit.diamonds{color:#d8344f}.one-card-chip.suit.any{background:var(--oc-gold);color:var(--oc-ink)}.one-card-chip.attack{background:var(--oc-sakura-deep);color:#fff;border-color:#0000;animation:.9s ease-in-out infinite one-card-throb}.one-card-chip.extra{background:var(--oc-gold);color:var(--oc-ink);border-color:#0000}.one-card-actions{flex-direction:column;align-items:stretch;gap:10px;min-width:116px;display:flex}.one-card-draw-button,.one-card-call-button{border-radius:var(--radius-input,14px);min-height:46px;font:400 16px/1.1 var(--oc-display);color:var(--oc-on-night);cursor:pointer;transition:transform var(--dur-micro,.12s),background .2s,opacity .2s;background:#0a141e61;border:1px solid #ffffff47;padding:8px 14px}.one-card-draw-button:not(:disabled){background:var(--oc-mint);color:var(--oc-ink);box-shadow:var(--shadow-press,0 6px 10px #00000040);border-color:#0000}.one-card-board.is-attack .one-card-draw-button:not(:disabled){background:var(--oc-sakura);color:var(--oc-ink)}.one-card-draw-button:disabled,.one-card-call-button:disabled{opacity:.55;cursor:default}.one-card-call-button{flex-direction:column;align-items:center;gap:3px;font-size:19px;display:flex}.one-card-call-button small{font:700 10px/1.2 var(--font-body,sans-serif);opacity:.85}.one-card-call-button.armed{opacity:1;background:linear-gradient(135deg,var(--oc-gold),var(--oc-sakura));color:var(--oc-ink);border-color:#0000;animation:1.1s ease-out infinite one-card-ring}.one-card-draw-button:not(:disabled):active,.one-card-call-button:not(:disabled):active{transform:scale(.96)}.one-card-banner{z-index:3;pointer-events:none;background:color-mix(in oklch,var(--oc-night) 92%,transparent);box-shadow:var(--shadow-modal,0 18px 40px #00000080);text-align:center;min-width:180px;color:var(--oc-on-night);border:1px solid #fff3;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:14px 26px;animation:1.3s forwards one-card-banner;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.one-card-banner b{font:400 30px/1.1 var(--oc-display);letter-spacing:var(--tracking-display,-.01em)}.one-card-banner span{opacity:.85;font-size:12px}.one-card-banner.tone-attack b{color:#ff9fb6}.one-card-banner.tone-call{background:linear-gradient(135deg,var(--oc-gold),var(--oc-sakura));color:var(--oc-ink);border-color:#0000;animation-duration:1.7s}.one-card-banner.tone-call b{font-size:40px}.one-card-banner.tone-call span{opacity:1;font-weight:700}.one-card-banner.tone-penalty b{color:#ffb4c7}.one-card-banner.tone-effect b{color:var(--oc-gold)}.one-card-banner.tone-win b{color:var(--oc-mint)}.one-card-banner.with-art{flex-direction:row;gap:12px;padding:10px 22px 10px 10px}.one-card-banner.with-art img{object-fit:cover;border-radius:14px;width:92px;height:92px}.one-card-suit-picker{border-radius:var(--radius-sheet,20px);border:1px solid var(--oc-gold-deep);background:var(--oc-card);box-shadow:var(--shadow-lift,0 14px 30px #00000029);flex-direction:column;align-items:center;gap:10px;padding:14px;animation:.2s one-card-pop;display:flex}.one-card-suit-picker p{margin:0;font-size:14px;font-weight:700}.one-card-suit-picker>div{grid-template-columns:repeat(4,minmax(64px,1fr));gap:8px;width:100%;display:grid}.one-card-suit{border:1px solid var(--oc-rule);color:#1b2333;cursor:pointer;min-height:64px;transition:transform var(--dur-micro,.12s);background:#fffdf8;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.one-card-suit b{font-size:28px;line-height:1}.one-card-suit span{font-size:11px;font-weight:700}.one-card-suit.hearts,.one-card-suit.diamonds{color:#d8344f}.one-card-suit:hover{transform:translateY(-2px)}.one-card-cancel{color:var(--oc-muted);cursor:pointer;background:0 0;border:0;font-size:12px}.one-card-hand-area{border-radius:var(--radius-card,24px);border:1px solid var(--oc-rule);background:var(--oc-paper);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex;box-shadow:inset 0 1px #fff9}.one-card-board.is-my-turn .one-card-hand-area{border-color:var(--oc-mint-deep);box-shadow:0 0 0 2px color-mix(in oklch,var(--oc-mint) 60%,transparent)}.one-card-hand-head{min-height:38px;color:var(--oc-ink);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.one-card-hand-head b{font-variant-numeric:tabular-nums}.one-card-hand-head small{color:var(--oc-muted);font-size:12px}.one-card-play-button{min-height:38px;padding:0 14px;font-size:13px}.one-card-hand-scroll{scrollbar-width:thin;padding:4px 4px 2px;overflow:auto visible}.one-card-hand{justify-content:center;min-width:min-content;padding-top:16px}.one-card-hand .playing-card:disabled:not(.dim){filter:none;cursor:default}.one-card-hand .playing-card.selected,.one-card-hand .playing-card.clickable:not(:disabled):hover{z-index:2}.one-card-hand .playing-card.dim{filter:saturate(.4)brightness(.72)}.one-card-hand .playing-card.playable{box-shadow:0 6px 14px #00000038,0 0 0 3px var(--oc-mint-deep)}.one-card-hand .playing-card.playable:not(.selected){transform:translateY(-4px)}.one-card-hand .playing-card.selected{box-shadow:0 10px 22px #00000047,0 0 0 3px var(--oc-gold-deep)}.one-card-hand .playing-card.one-card-new{animation:one-card-arrive .55s var(--ease-spring,cubic-bezier(.2,.9,.3,1.2))}.one-card-spectator{text-align:center;color:var(--oc-muted);margin:0;font-size:13px}.one-card-log{color:var(--oc-muted);flex-direction:column;gap:3px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.one-card-log li{background:color-mix(in oklch,var(--oc-card) 70%,transparent);border-radius:10px;gap:6px;padding:5px 10px;display:flex}.one-card-log li:first-child{color:var(--oc-ink);background:var(--oc-card);box-shadow:var(--shadow-card,0 4px 10px #0000000d)}.one-card-log b{color:var(--oc-ink);white-space:nowrap}.one-card-log .log-penalty,.one-card-log .log-attack-draw{color:var(--oc-sakura-deep)}.one-card-side-turn{background:var(--color-accent-deep,#c79a2a);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in oklch,var(--color-accent,#f5cf55) 55%,transparent);border-radius:50%;display:inline-block}.one-card-options{flex-direction:column;gap:8px;display:flex}.one-card-options-note{color:var(--color-muted,#5f6475);margin:0;font-size:12px;line-height:1.55}.one-card-result{max-height:46vh;color:var(--color-ink,#1f2436);flex-direction:column;gap:6px;margin-top:8px;display:flex;overflow-y:auto}.one-card-result-note{color:var(--color-accent-3-deep,#c23d57);margin:0 0 4px;font-size:12px}.one-card-result-row{background:var(--color-card,#fdfbf6);border:1px solid var(--color-rule,#ddd7c8);border-radius:12px;grid-template-columns:36px auto 1fr auto;grid-template-areas:"rank avatar name left""hand hand hand hand";align-items:center;gap:4px 8px;padding:8px 10px;display:grid}.one-card-result-row.winner{border-color:var(--color-accent-deep,#c79a2a);background:color-mix(in oklch,var(--color-accent,#f5cf55) 22%,var(--color-card,#fdfbf6))}.one-card-result-row.me b{color:var(--color-accent-2,#3a62b8)}.one-card-result-rank{font:400 15px/1 var(--font-display,sans-serif);grid-area:rank}.one-card-result-row .player-avatar{grid-area:avatar}.one-card-result-row b{text-overflow:ellipsis;white-space:nowrap;grid-area:name;font-size:13px;overflow:hidden}.one-card-result-row small{color:var(--color-muted,#5f6475);grid-area:left;font-size:11px}.one-card-result-hand{flex-wrap:wrap;grid-area:hand;align-items:center;gap:3px;display:flex}.one-card-result-hand:empty{display:none}.one-card-result-hand em{color:var(--color-muted,#5f6475);font-size:11px;font-style:normal}@keyframes one-card-fly{0%{opacity:0;transform:translateY(-60px)rotate(-18deg)scale(1.15)}to{transform:rotate(var(--tilt,0deg));opacity:1}}@keyframes one-card-arrive{0%{opacity:0;transform:translateY(-40px)scale(.85)}to{opacity:1;transform:none}}@keyframes one-card-pulse{0%,to{box-shadow:0 0 #c79a2a99}50%{box-shadow:0 0 0 5px #c79a2a00}}@keyframes one-card-ring{0%{box-shadow:0 0 #ec87adb3}to{box-shadow:0 0 0 14px #ec87ad00}}@keyframes one-card-throb{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes one-card-blink{50%{opacity:.45}}@keyframes one-card-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes one-card-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes one-card-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes one-card-banner{0%{opacity:0;transform:translate(-50%,-40%)scale(.7)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}25%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-58%)}}@media (prefers-reduced-motion:reduce){.one-card-board *{animation:none!important}}@media (width<=640px){.one-card-board{gap:8px}.one-card-seat{gap:6px;min-width:96px;padding:6px 10px 6px 6px}.one-card-seat-text b{max-width:76px;font-size:11px}.one-card-prompt{padding:9px 10px;font-size:13px}.one-card-table{grid-template-columns:1fr 1fr;grid-template-areas:"pile center""actions actions";gap:12px;min-height:0;padding:16px 14px}.one-card-pile{grid-area:pile}.one-card-center{grid-area:center}.one-card-actions{flex-direction:row;grid-area:actions}.one-card-actions>button{flex:1}.one-card-discard{width:80px;height:112px}.one-card-hand-area{padding:8px 8px 10px}.one-card-suit-picker>div{grid-template-columns:repeat(4,1fr)}}.one-card-board,.one-card-prompt{scroll-margin-top:12px}@media (width<=900px){.one-card-board,.one-card-prompt{scroll-margin-top:calc(var(--room-topbar-h,64px) + 8px)}}@media (width>=901px){.one-card-hand .playing-card{--pc-w:84px}}@media (width<=640px){.one-card-hand:has(>.playing-card:nth-child(8)){--oc-card-w:60px;--oc-row-overlap:.3;--oc-per-row:4;min-width:0;padding-top:10px;padding-left:calc(var(--oc-card-w) * var(--oc-row-overlap));width:calc(var(--oc-card-w) * (1 + (var(--oc-per-row) - 1) * (1 - var(--oc-row-overlap))) + var(--oc-card-w) * var(--oc-row-overlap));flex-wrap:wrap;justify-content:center;row-gap:10px;max-width:100%;margin:0 auto}.one-card-hand:has(>.playing-card:nth-child(9)){--oc-per-row:5}.one-card-hand:has(>.playing-card:nth-child(11)){--oc-per-row:6}.one-card-hand:has(>.playing-card:nth-child(13)){--oc-per-row:7}.one-card-hand:has(>.playing-card:nth-child(8))>.playing-card{--pc-w:var(--oc-card-w);margin-left:calc(var(--oc-card-w) * var(--oc-row-overlap) * -1)}}.one-card-seat.bankrupt{opacity:.5;filter:grayscale(.8);border-style:dashed}.one-card-tag.bust{color:#fff;background:#3b3f4f}.one-card-result-row.bankrupt{opacity:.7}.one-card-result-row.bankrupt small{color:#b4233a;font-weight:700}.one-card-seat.left .one-card-tag.bust{background:var(--oc-paper);color:var(--oc-muted);border:1px solid var(--oc-rule)}@media (width<=640px){.one-card-seats{--oc-seat-cols:2;grid-template-columns:repeat(var(--oc-seat-cols),minmax(0,1fr));gap:6px;padding:2px 0 4px;display:grid;overflow:visible}.one-card-seats:has(>:nth-child(3)){--oc-seat-cols:3}.one-card-seats:has(>:nth-child(4)){--oc-seat-cols:2}.one-card-seats:has(>:nth-child(5)){--oc-seat-cols:3}.one-card-seat{gap:6px;min-width:0;padding:5px 8px 5px 5px}.one-card-seat-text b{max-width:100%}.one-card-seat-arrow{display:none}.one-card-seat .player-avatar{flex:none}.one-card-hand:has(>.playing-card:nth-child(7)):not(:has(>.playing-card:nth-child(8)))>.playing-card+.playing-card{margin-left:calc(var(--pc-w) * -.35)}.one-card-hand:has(>.playing-card:nth-child(15)){--oc-per-row:6;--oc-card-w:60px;--oc-row-overlap:.3}.one-card-hand:has(>.playing-card:nth-child(19)){--oc-per-row:7;--oc-card-w:60px;--oc-row-overlap:.35}.one-card-hand:has(>.playing-card:nth-child(22)){--oc-per-row:8;--oc-card-w:56px;--oc-row-overlap:.36}.one-card-banner{min-width:0;max-width:calc(100% - 24px);padding:8px 16px;animation:1s forwards one-card-banner-low;top:auto;bottom:10px}.one-card-banner b{font-size:24px}.one-card-banner.tone-call{animation-duration:1.3s}.one-card-banner.tone-call b{font-size:28px}.one-card-banner.with-art img{border-radius:10px;width:56px;height:56px}}@keyframes one-card-banner-low{0%{opacity:0;transform:translate(-50%,30%)scale(.8)}15%{opacity:1;transform:translate(-50%)scale(1.04)}25%{transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-10%)}}.yut-layout .game-stage{overflow:auto}.yut-root{--yut-ink:var(--color-ink,#22263a);--yut-muted:var(--color-muted,#646a80);--yut-paper:var(--color-card,#fdfbf6);--yut-paper-2:var(--color-paper-2,#f1ece0);--yut-rule:var(--color-rule,#e2dccd);--yut-wood:var(--color-wood,#c9a273);--yut-wood-deep:var(--color-wood-deep,#8a5f38);--yut-wood-line:var(--color-wood-line,#4b3420);--yut-accent:var(--color-accent,#f6cf55);--yut-accent-deep:var(--color-accent-deep,#c99a1c);--yut-focus:var(--color-accent-2,#2f5fc0);--yut-sakura:var(--color-accent-3,#e57aa0);--yut-mint:var(--color-mint-deep,#2f8a63);--yut-red:var(--color-seat-1,#d9483b);--yut-blue:var(--color-seat-2,#3a6fd0);--yut-green:var(--color-seat-3,#3a9a6e);--yut-yellow:var(--color-seat-4,#f0c43a);--yut-radius:var(--radius-sheet,20px);--yut-shadow:var(--shadow-card,0 12px 28px -14px #1418284d);width:min(1120px,100%);color:var(--yut-ink);font-family:var(--font-body,sans-serif);gap:10px;margin:0 auto;display:grid;position:relative}.yut-root h3{font:400 var(--text-md,1rem) / 1.2 var(--font-display,sans-serif);justify-content:space-between;align-items:baseline;margin:0 0 8px;display:flex}.yut-root h3 small{font:600 var(--text-xs,.75rem) var(--font-body,sans-serif);color:var(--yut-muted)}.color-red{--seat:var(--yut-red,#d9483b)}.color-blue{--seat:var(--yut-blue,#3a6fd0)}.color-green{--seat:var(--yut-green,#3a9a6e)}.color-yellow{--seat:var(--yut-yellow,#f0c43a)}.yut-turn-strip{scrollbar-width:none;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.yut-turn-chip{border-radius:var(--radius-pill,999px);background:var(--yut-paper);border:2px solid var(--yut-rule);min-width:0;box-shadow:var(--yut-shadow);transition:transform var(--dur-short,.22s) var(--ease-out,ease-out), border-color var(--dur-short,.22s);flex:1 0 auto;align-items:center;gap:8px;padding:6px 10px 6px 6px;display:flex}.yut-turn-chip>span:last-child{min-width:0;display:grid}.yut-turn-chip b{font-size:var(--text-sm,.875rem);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.yut-turn-chip small{font-size:var(--text-2xs,.6875rem);color:var(--yut-muted);white-space:nowrap}.yut-turn-chip .player-avatar{box-shadow:0 0 0 3px var(--seat)}.yut-turn-chip.is-current{border-color:var(--seat);background:color-mix(in oklch, var(--seat) 12%, var(--yut-paper));transform:translateY(-2px)}.yut-turn-chip.is-left{opacity:.45}.yut-prompt{border-radius:var(--radius-input,14px);font-weight:700;font-size:var(--text-md,1rem);text-align:center;background:var(--yut-paper-2);border:1px solid var(--yut-rule);margin:0;padding:10px 16px}.yut-prompt.tone-act{background:color-mix(in oklch, var(--yut-accent) 45%, var(--yut-paper));border-color:var(--yut-accent-deep);animation:yut-prompt-in var(--dur-long,.42s) var(--ease-spring,ease-out)}.yut-prompt.tone-win{background:color-mix(in oklch, var(--yut-sakura) 30%, var(--yut-paper));border-color:var(--yut-sakura)}@keyframes yut-prompt-in{0%{opacity:.4;transform:scale(.97)}}.yut-main{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:12px;display:grid}.yut-board-column{justify-items:center;gap:10px;display:grid}.yut-board{aspect-ratio:1;border:3px solid var(--yut-wood-deep);width:min(100%,640px,100vh - 250px);min-width:280px;box-shadow:var(--shadow-lift,0 22px 40px -18px #14182866), inset 0 0 0 6px #ffffff59;touch-action:manipulation;background:radial-gradient(circle,#ffffff8c,#0000 60%),repeating-linear-gradient(115deg,#78502809 0 3px,#0000 3px 9px),linear-gradient(145deg,#f3e3c3,#e5cb9b);border-radius:28px;position:relative;overflow:hidden}.yut-board-art{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.yut-board-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.yut-board-lines rect,.yut-board-lines line{fill:none;stroke:var(--yut-wood-line);stroke-width:.7px;stroke-linecap:round;opacity:.55}.yut-station{z-index:1;aspect-ratio:1;border:2px solid var(--yut-wood-line);cursor:default;background:radial-gradient(circle at 35% 30%,#fffaf0,#ead6ad);border-radius:50%;place-items:center;width:5.4%;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 4px #3c281440}.yut-station:disabled{opacity:1;cursor:default}.yut-station.is-big{background:radial-gradient(circle at 35% 30%,#fffaf0,#e2c48f);border-width:3px;width:8.4%}.yut-station.is-big:after{content:"";border:1.5px solid #4b342073;border-radius:50%;position:absolute;inset:22%}.yut-station.is-start{background:radial-gradient(circle at 35% 30%,#fff6e8,#f0b9a4)}.yut-start-label{pointer-events:none;font:400 clamp(9px, 1.8vw, 12px) var(--font-display,sans-serif);color:var(--yut-wood-line);white-space:nowrap;z-index:2;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.yut-station.is-destination{outline:3px dashed var(--yut-focus);outline-offset:3px;animation:1s ease-in-out infinite yut-pulse}.yut-station.is-placeable{cursor:pointer;border-color:var(--yut-sakura);background:radial-gradient(circle at 35% 30%,#fff,#f8d3df);animation:1.2s ease-in-out infinite yut-pulse}.yut-trap{color:var(--seat);text-shadow:0 0 3px #fff;font-size:clamp(10px,2.2vw,16px);font-weight:900}@keyframes yut-pulse{50%{transform:translate(-50%,-50%)scale(1.12)}}.yut-stack{z-index:3;cursor:default;width:8.6%;transition:left var(--dur-short,.22s) var(--ease-out,ease-out), top var(--dur-short,.22s) var(--ease-out,ease-out);animation:yut-land var(--dur-long,.42s) var(--ease-spring,ease-out);background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-55%)}.yut-stack.is-movable,.yut-stack.is-targetable{cursor:pointer;z-index:4}.yut-stack.is-movable .yut-token{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--yut-focus), 0 6px 14px #00000059;animation:.9s ease-in-out infinite yut-bob}.yut-stack.is-targetable .yut-token{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--yut-sakura), 0 6px 14px #00000059;animation:.9s ease-in-out infinite yut-bob}.yut-stack.is-picked .yut-token{box-shadow:0 0 0 3px #fff, 0 0 0 7px var(--yut-accent-deep)}@keyframes yut-bob{50%{transform:translateY(-10%)}}@keyframes yut-land{0%{opacity:0;transform:translate(-50%,-110%)scale(.7)}}.yut-anim-token{z-index:6;pointer-events:none;filter:drop-shadow(0 10px 8px #28140059);width:9.4%;transition:left .16s linear,top .16s linear;position:absolute;transform:translate(-50%,-62%)}.yut-token{aspect-ratio:1;background:radial-gradient(circle at 34% 28%, color-mix(in oklch, var(--seat) 35%, #fff), var(--seat) 55%, color-mix(in oklch, var(--seat) 70%, #000));vertical-align:middle;border:2px solid #fff;border-radius:50%;width:100%;display:inline-block;position:relative;box-shadow:0 4px 10px #0000004d}.yut-token img{object-fit:contain;width:112%;height:112%;position:absolute;inset:-6%}.yut-token.is-ghost{opacity:.25}.yut-token-count{border-radius:var(--radius-pill,999px);background:var(--yut-ink);color:#fff;min-width:52%;font:700 clamp(9px, 1.7vw, 12px) / 1.3 var(--font-body,sans-serif);text-align:center;z-index:2;padding:1px 4px;position:absolute;top:-22%;right:-22%}.yut-goal-hint{border-radius:var(--radius-pill,999px);background:var(--yut-focus);color:#fff;font-weight:700;font-size:var(--text-xs,.75rem);z-index:5;padding:3px 9px;animation:1s ease-in-out infinite yut-pulse-plain;position:absolute;bottom:1%;right:3%}@keyframes yut-pulse-plain{50%{opacity:.6}}.yut-flash{z-index:8;border-radius:var(--radius-input,14px);background:color-mix(in oklch, var(--yut-ink) 88%, transparent);color:#fff;font:400 var(--text-lg,1.2rem) var(--font-display,sans-serif);white-space:nowrap;text-overflow:ellipsis;max-width:92%;animation:yut-flash 2.4s var(--ease-out,ease-out) forwards;pointer-events:none;padding:10px 18px;position:absolute;top:38%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes yut-flash{0%{opacity:0;transform:translate(-50%,-30%)scale(.9)}12%,80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-60%)}}.yut-homes{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;width:min(100%,640px);display:grid}.yut-home{border-radius:var(--radius-stock,16px);background:var(--yut-paper);border:2px solid color-mix(in oklch, var(--seat) 35%, var(--yut-rule));grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:8px 10px;display:grid}.yut-home.is-gone{opacity:.55;filter:grayscale(.7)}.yut-home-gone{color:var(--yut-muted);font-size:var(--text-xs,.75rem)}.yut-home.is-mine{border-color:var(--seat)}.yut-home-name{font-weight:700;font-size:var(--text-sm,.875rem);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.yut-home-goal{font-size:var(--text-xs,.75rem);color:var(--yut-muted)}.yut-home-goal b{color:var(--yut-ink);font-size:var(--text-md,1rem)}.yut-home-pieces{border-radius:var(--radius-chip,10px);border:1px dashed var(--yut-rule);background:var(--yut-paper-2);min-height:34px;color:var(--yut-muted);grid-column:1/-1;align-items:center;gap:4px;padding:3px 6px;display:flex}.yut-home-pieces .yut-token{width:26px}.yut-home-pieces.is-movable{cursor:pointer;border:2px solid var(--yut-focus);background:color-mix(in oklch, var(--yut-focus) 10%, var(--yut-paper))}.yut-home-pieces.is-movable .yut-token:first-child{animation:.9s ease-in-out infinite yut-bob}.yut-home-pieces:disabled{cursor:default;opacity:1}.yut-controls{gap:10px;display:grid}.yut-controls>section{border-radius:var(--yut-radius);background:var(--yut-paper);border:1px solid var(--yut-rule);box-shadow:var(--yut-shadow);padding:12px}.yut-throw-panel{justify-items:center;gap:10px;display:grid}.yut-sticks{perspective:400px;justify-content:center;align-items:center;gap:10px;min-height:116px;padding:8px 12px 4px;display:flex}.yut-stick{width:22px;height:104px;transition:transform var(--dur-short,.22s);border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 5px 10px #3c230a4d}.yut-stick.is-flat{border:2px solid var(--yut-wood-deep);background:repeating-linear-gradient(45deg,#0000 0 9px,#4b34208c 9px 11px,#0000 11px 20px),repeating-linear-gradient(-45deg,#0000 0 9px,#4b34208c 9px 11px,#0000 11px 20px),linear-gradient(90deg,#f4dfb5,#fbecd0,#f4dfb5)}.yut-stick.is-round{background:linear-gradient(90deg,#6e4421,#b07a45 45%,#7a4c26);border:2px solid #4b2e14}.yut-stick img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.yut-stick-mark{z-index:1;font-style:normal;font:400 11px var(--font-display,sans-serif);color:#fff;background:var(--yut-red);border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:relative}.yut-stick.is-tumbling{animation:yut-tumble .65s var(--ease-out,ease-out) both}@keyframes yut-tumble{0%{transform:translateY(-60px)rotate(-40deg)rotateY(0)}35%{transform:translateY(-80px)rotate(160deg)rotateY(540deg)}70%{transform:translateY(8px)rotate(350deg)rotateY(900deg)}to{transform:translateY(0)rotate(360deg)rotateY(1080deg)}}.yut-throw-result{justify-items:center;min-height:52px;display:grid}.yut-throw-result b{font:400 var(--text-3xl,2rem) / 1 var(--font-display,sans-serif);animation:yut-pop var(--dur-long,.42s) var(--ease-spring,ease-out)}.yut-throw-result b.result-yut,.yut-throw-result b.result-mo{color:var(--yut-sakura)}.yut-throw-result b.result-backdo,.yut-throw-result b.result-nak{color:var(--yut-focus)}.yut-throw-result small{color:var(--yut-muted);font-size:var(--text-xs,.75rem)}@keyframes yut-pop{0%{opacity:0;transform:scale(.3)}}.yut-btn{border-radius:var(--radius-input,14px);border:2px solid var(--yut-ink);background:var(--yut-paper);min-height:44px;color:var(--yut-ink);font:700 var(--text-sm,.875rem) var(--font-body,sans-serif);cursor:pointer;transition:transform var(--dur-micro,.12s), box-shadow var(--dur-micro,.12s);padding:0 18px}.yut-btn:not(:disabled):hover{transform:translateY(-1px)}.yut-btn:disabled{cursor:not-allowed;opacity:.55}.yut-btn.ghost{border-color:var(--yut-rule);width:100%;margin-top:8px}.yut-btn.accent{background:var(--yut-sakura);border-color:var(--yut-sakura);color:#fff}.yut-throw-button{width:100%;min-height:54px;font:400 var(--text-lg,1.2rem) var(--font-display,sans-serif);background:var(--yut-accent);border-color:var(--yut-accent-deep);box-shadow:0 4px 0 var(--yut-accent-deep)}.yut-throw-button:not(:disabled){animation:1.4s ease-in-out infinite yut-glow}.yut-throw-button:not(:disabled):active{box-shadow:0 1px 0 var(--yut-accent-deep);transform:translateY(3px)}@keyframes yut-glow{50%{box-shadow:0 4px 0 var(--yut-accent-deep), 0 0 0 6px color-mix(in oklch, var(--yut-accent) 45%, transparent)}}.yut-result-chips{flex-wrap:wrap;gap:8px;display:flex}.yut-result-chips>small,.yut-empty{color:var(--yut-muted);font-size:var(--text-xs,.75rem)}.yut-result-chip{border-radius:var(--radius-input,14px);border:2px solid var(--yut-rule);background:var(--yut-paper-2);min-width:58px;min-height:52px;color:var(--yut-ink);font:400 var(--text-xl,1.44rem) / 1 var(--font-display,sans-serif);cursor:pointer;animation:yut-pop var(--dur-long,.42s) var(--ease-spring,ease-out);place-items:center;padding:4px 10px;display:grid}.yut-result-chip small{font:600 var(--text-2xs,.6875rem) var(--font-body,sans-serif);color:var(--yut-muted)}.yut-result-chip.result-yut,.yut-result-chip.result-mo{border-color:color-mix(in oklch, var(--yut-sakura) 60%, var(--yut-rule))}.yut-result-chip.result-backdo{border-color:color-mix(in oklch, var(--yut-focus) 50%, var(--yut-rule))}.yut-result-chip.is-selected{background:var(--yut-ink);color:#fff;border-color:var(--yut-ink);transform:translateY(-2px)}.yut-result-chip.is-selected small{color:#ffffffbf}.yut-result-chip:disabled{cursor:default;opacity:.7}.yut-hand-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.yut-hand-cards>.yut-empty,.yut-hand-cards>.yut-btn{grid-column:1/-1}.yut-aug-card{border-radius:var(--radius-stock,16px);border:2px solid var(--yut-rule);background:var(--yut-paper);color:var(--yut-ink);text-align:left;font-family:var(--font-body,sans-serif);transition:transform var(--dur-short,.22s) var(--ease-out,ease-out), border-color var(--dur-short,.22s);grid-template-rows:auto 1fr;padding:0;display:grid;position:relative;overflow:hidden}button.yut-aug-card{cursor:pointer}button.yut-aug-card:not(:disabled):hover{border-color:var(--yut-accent-deep);transform:translateY(-3px)}button.yut-aug-card:disabled{cursor:default;opacity:.72}.yut-aug-card.is-active{border-color:var(--yut-sakura);box-shadow:0 0 0 3px color-mix(in oklch, var(--yut-sakura) 45%, transparent);transform:translateY(-3px)}.yut-aug-art{aspect-ratio:3/4;background:linear-gradient(160deg,#ffe7a8,#f7b8c8 55%,#b8c9f5);place-items:center;display:grid;position:relative;overflow:hidden}.yut-aug-card.kind-move .yut-aug-art{background:linear-gradient(160deg,#c8f0dc,#9fd2f0 60%,#c9b8f5)}.yut-aug-card.kind-passive .yut-aug-art{background:linear-gradient(160deg,#e6dcff,#b8c9f5 55%,#f5d6e8)}.yut-aug-card.kind-throw .yut-aug-art{background:linear-gradient(160deg,#ffe0bd,#ffc69c 55%,#f7b8c8)}.yut-aug-art img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.yut-aug-glyph{color:#ffffffeb;text-shadow:0 3px 10px #3c1e5059;font-size:clamp(26px,5vw,44px)}.yut-aug-kind{z-index:1;border-radius:var(--radius-pill,999px);font:700 var(--text-2xs,.6875rem) var(--font-body,sans-serif);color:var(--yut-ink);background:#ffffffe6;padding:2px 7px;font-style:normal;position:absolute;top:6px;left:6px}.yut-aug-charges{z-index:1;border-radius:var(--radius-pill,999px);background:var(--yut-ink);color:#fff;font-size:var(--text-2xs,.6875rem);padding:2px 7px;position:absolute;top:6px;right:6px}.yut-aug-text{gap:3px;padding:7px 8px 9px;display:grid}.yut-aug-text strong{font:400 var(--text-sm,.875rem) / 1.2 var(--font-display,sans-serif)}.yut-aug-text small{font-size:var(--text-xs,.75rem);color:var(--yut-ink-2,var(--yut-muted));line-height:1.45}.yut-aug-text i{font-style:normal;font-size:var(--text-2xs,.6875rem);color:var(--yut-muted)}.yut-aug-card.size-lg .yut-aug-art{aspect-ratio:4/5}.yut-offer-layer{z-index:30;border-radius:var(--yut-radius);background:var(--color-scrim,#14182880);animation:yut-fade var(--dur-short,.22s) ease-out;place-items:start center;padding:12px;display:grid;position:absolute;inset:0}@keyframes yut-fade{0%{opacity:0}}.yut-offer-sheet{border-radius:var(--radius-card,24px);background:var(--yut-paper);width:min(760px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-modal,0 40px 80px -24px #14182873);text-align:center;padding:20px;scroll-margin-top:132px;position:sticky;top:8px;overflow:auto}.yut-offer-sheet h3{font-size:var(--text-xl,1.44rem);justify-content:center}.yut-offer-sheet p{color:var(--yut-muted);font-size:var(--text-sm,.875rem);margin:0 0 14px}.yut-offer-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.yut-offer-cards .yut-aug-card{animation:yut-deal var(--dur-long,.42s) var(--ease-spring,ease-out) both}.yut-offer-cards .yut-aug-card:nth-child(2){animation-delay:80ms}.yut-offer-cards .yut-aug-card:nth-child(3){animation-delay:.16s}@keyframes yut-deal{0%{opacity:0;transform:translateY(30px)rotate(-4deg)}}.yut-log ol{gap:4px;max-height:190px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.yut-log li{font-size:var(--text-xs,.75rem);border-left:3px solid var(--yut-rule);padding:3px 8px;line-height:1.45}.yut-log li b{font-weight:700}.yut-log li.tone-capture{border-color:var(--yut-red)}.yut-log li.tone-goal{border-color:var(--yut-mint)}.yut-log li.tone-augment{border-color:var(--yut-sakura)}.yut-log li.tone-turn{border-color:var(--yut-focus)}.turn-stone.yut-stone{background:var(--seat);border:2px solid #fff}.yut-badge-token.yut-token{border-width:1px;width:14px}.yut-player-info{color:var(--color-muted,#646a80)}.yut-options{gap:8px;display:grid}.yut-options .yut-option-toggle,.yut-options .yut-option-select{border-radius:var(--radius-input,14px);border:1px solid var(--color-rule,#e2dccd);background:var(--color-card,#fdfbf6);cursor:pointer;align-items:center;gap:10px;margin:0;padding:8px 10px;display:flex}.yut-options .yut-option-select{justify-content:space-between}.yut-options .yut-option-toggle input{flex:none}.yut-options .yut-option-select select{flex:none;width:auto;min-width:96px}.yut-option-toggle input{width:20px;height:20px;accent-color:var(--color-accent-2,#2f5fc0)}.yut-option-toggle span,.yut-option-select span{gap:2px;display:grid}.yut-option-toggle b,.yut-option-select b{font-size:var(--text-sm,.875rem)}.yut-option-toggle small,.yut-option-select small{font-size:var(--text-xs,.75rem);color:var(--color-muted,#646a80)}.yut-option-select select{border-radius:var(--radius-chip,10px);min-height:36px;padding:0 8px}.yut-result{text-align:left;gap:8px;display:grid}.yut-result-row{border-radius:var(--radius-stock,16px);background:var(--color-paper-2,#f1ece0);border:2px solid #0000;grid-template-columns:24px 28px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.yut-result-row.is-winner{border-color:var(--seat);background:color-mix(in oklch, var(--seat) 12%, var(--color-card,#fdfbf6))}.yut-result-rank{font:400 var(--text-lg,1.2rem) var(--font-display,sans-serif)}.yut-result-row .yut-token{width:26px}.yut-result-name{min-width:0;display:grid}.yut-result-name small{font-size:var(--text-xs,.75rem);color:var(--color-muted,#646a80)}.yut-result-stat{font-size:var(--text-xs,.75rem);white-space:nowrap}.yut-result-augments{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.yut-result-augments .yut-aug-card{width:76px}.yut-result-augments .yut-aug-art{aspect-ratio:1}.yut-result-augments .yut-aug-art img{object-position:50% 14%}.yut-result-augments .yut-aug-kind{display:none}.yut-result-augments .yut-aug-glyph{font-size:20px}@media (width<=960px){.yut-main{grid-template-columns:1fr}.yut-board{width:min(100%,600px)}.yut-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.yut-throw-panel,.yut-results{grid-column:span 1}}@media (width<=640px){.yut-root{gap:8px}.yut-turn-chip{flex:none;padding:4px 8px 4px 4px}.yut-turn-chip small{display:none}.yut-prompt{font-size:var(--text-sm,.875rem);padding:8px 10px}.yut-board{border-radius:20px;width:100%;min-width:0}.yut-controls{grid-template-columns:1fr}.yut-homes{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.yut-home{gap:2px 6px;padding:5px 7px}.yut-home-name{font-size:var(--text-xs,.75rem)}.yut-home-pieces{gap:2px;min-height:26px;padding:2px 4px}.yut-home-pieces .yut-token{width:18px}.yut-throw-panel{grid-template-columns:auto 1fr;align-items:center}.yut-sticks{gap:6px;min-height:80px;padding:4px}.yut-stick{width:16px;height:74px}.yut-throw-button{grid-column:1/-1}.yut-offer-cards{grid-template-columns:1fr}.yut-offer-cards .yut-aug-card{grid-template-rows:none;grid-template-columns:96px 1fr}.yut-offer-cards .yut-aug-card .yut-aug-art{aspect-ratio:auto;min-height:104px}.yut-offer-cards .yut-aug-card .yut-aug-art img{object-position:50% 16%}.yut-offer-cards .yut-aug-card .yut-aug-kind{top:auto;bottom:6px}.yut-result-row{grid-template-columns:18px 22px minmax(0,1fr) auto auto;gap:6px;padding:8px}}@media (prefers-reduced-motion:reduce){.yut-root *,.yut-offer-layer *{transition-duration:1ms!important;animation-duration:1ms!important}}.yut-offer-bonus{font-weight:700;font-size:var(--text-xs,.75rem)!important;color:var(--color-accent-ink,#8a4b00)!important;margin:-6px 0 12px!important}.yut-offer-cards.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}.yut-offer-cards .yut-aug-card:nth-child(4){animation-delay:.24s}@media (width<=960px){.yut-offer-cards.is-four{grid-template-columns:1fr}}.yut-stack.is-blocked{opacity:.45;filter:grayscale(.6);cursor:not-allowed}.yut-result-used{grid-column:1/-1;gap:4px;display:grid}.yut-result-used-row{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.yut-result-used-row>small{font-size:var(--text-xs,.75rem);color:var(--color-muted,#646a80);margin-right:2px}.yut-used-chip{font-size:var(--text-xs,.75rem);background:var(--color-card,#fdfbf6);border:1px solid color-mix(in oklch, var(--seat,#b33) 40%, transparent);border-radius:999px;padding:2px 8px;font-weight:700}.yut-used-chip.kind-passive{border-style:dashed}.yut-used-none{font-style:normal;font-size:var(--text-xs,.75rem);color:var(--color-muted,#646a80)}.yut-result-held-label{font-size:var(--text-xs,.75rem);color:var(--color-muted,#5f6475);flex-basis:100%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.728rem;--text-3xl:2.074rem;--text-display-s:1.44rem;--text-display:2.074rem;--text-section:1.44rem;--text-title:1.125rem;--text-lead:1.0625rem;--text-hero:clamp(2.5rem, 1.55rem + 3.2vw, 4.25rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-snap:cubic-bezier(.22, 1, .36, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--container:1280px;--gutter:40px;--gap-columns:24px;--section-gap-s:48px;--section-gap:64px;--section-gap-l:96px;--room-topbar-h:64px;--room-sidebar-w:320px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(97% .012 90);--color-paper-2:oklch(94.5% .018 90);--color-paper-3:oklch(91% .022 88);--color-ink:oklch(22% .03 268);--color-ink-2:oklch(31% .03 268);--color-muted:oklch(47% .02 268);--color-rule:oklch(87% .016 90);--color-card:oklch(98.8% .007 90);--color-edge:oklch(83% .04 84);--color-fringe:oklch(99.2% .006 90);--color-accent:oklch(86% .15 88);--color-accent-deep:oklch(70% .15 78);--color-accent-ink:oklch(22% .03 268);--color-accent-2:oklch(50% .16 255);--color-accent-2-soft:oklch(92% .04 250);--color-accent-3:oklch(72% .15 355);--color-accent-3-deep:oklch(55% .18 10);--color-accent-3-soft:oklch(94% .035 355);--color-mint:oklch(84% .12 160);--color-mint-deep:oklch(48% .11 160);--color-mint-soft:oklch(94% .04 160);--color-focus:oklch(50% .16 255);--color-error:oklch(52% .19 27);--color-error-soft:oklch(94% .04 27);--color-success:oklch(48% .11 160);--color-kraft:oklch(63% .085 62);--color-sand:oklch(77% .1 76);--color-sugar:oklch(89% .035 236);--color-hill-1:oklch(94.5% .03 118);--color-hill-2:oklch(91.5% .045 135);--color-wood:oklch(74% .09 68);--color-wood-deep:oklch(52% .09 55);--color-wood-line:oklch(30% .05 50);--color-stone-black:oklch(22% .01 268);--color-stone-black-hi:oklch(42% .01 268);--color-stone-white:oklch(97% .008 90);--color-stone-white-lo:oklch(82% .01 90);--color-felt:oklch(48% .09 160);--color-felt-deep:oklch(36% .07 162);--color-night:oklch(24% .05 275);--color-night-2:oklch(31% .06 275);--color-on-night:oklch(95% .015 90);--color-die:oklch(99% .004 90);--color-pip:oklch(22% .03 268);--color-pip-hold:oklch(55% .18 10);--color-seat-1:oklch(62% .19 25);--color-seat-2:oklch(55% .16 255);--color-seat-3:oklch(58% .13 160);--color-seat-4:oklch(80% .15 88);--color-seat-5:oklch(58% .16 310);--color-seat-6:oklch(62% .1 55);--color-seat-7:oklch(60% .1 210);--color-seat-8:oklch(50% .02 268);--font-display:"Jua", "Pretendard Variable", Pretendard, ui-rounded, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-body:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-legacy:Manrope, "Noto Sans KR", sans-serif;--radius-card:24px;--radius-sheet:20px;--radius-stock:16px;--radius-input:14px;--radius-chip:10px;--radius-pill:999px;--rule-hair:1px;--shadow-card:0 1px 2px oklch(22% .03 268/.06), 0 12px 28px -14px oklch(22% .03 268/.22);--shadow-lift:0 2px 4px oklch(22% .03 268/.08), 0 22px 40px -18px oklch(22% .03 268/.32);--shadow-modal:0 4px 10px oklch(22% .03 268/.1), 0 40px 80px -24px oklch(22% .03 268/.45);--shadow-paper:drop-shadow(0 0 .6px oklch(22% .03 268/.32)) drop-shadow(1.5px 2.5px 1.5px oklch(22% .03 268/.1)) drop-shadow(6px 14px 16px oklch(22% .03 268/.13));--shadow-press:2px 8px 10px -3px oklch(22% .03 268/.3);--shadow-stone:1px 2px 3px oklch(22% .03 268/.5);--shadow-stone-light:1px 2px 3px oklch(22% .03 268/.4);--shadow-token:0 2px 3px oklch(22% .03 268/.3);--color-stone-ghost-black:oklch(22% .01 268/.45);--color-stone-ghost-white:oklch(97% .008 90/.7);--color-scrim:oklch(22% .03 268/.5);--tracking-display:-.01em;--display-weight:400;--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .2  0 0 0 0 .18  0 0 0 0 .12  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--fibre:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='420' height='420'><filter id='f'><feTurbulence type='turbulence' baseFrequency='.012 .09' numOctaves='2' seed='7' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3  0 0 0 0 .26  0 0 0 0 .16  0 0 0 .045 0'/></filter><rect width='100%' height='100%' filter='url(%23f)'/></svg>")}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:calc(var(--room-topbar-h) + var(--space-sm))}body{word-break:keep-all;overflow-wrap:break-word;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-ink);font-synthesis:none;min-width:320px;margin:0;line-height:1.55}::selection{background:color-mix(in oklab, var(--color-accent) 22%, transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p,li,small{text-wrap:pretty}p{margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{flex:none}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:var(--grain), var(--color-paper-3);position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (width<=60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (width<=40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]>img{filter:saturate(1.06)brightness(1.04)}:root{--bg:#050b14;--panel:#0d192ac2;--line:#9fbee121;--muted:#8292a9;--cyan:#38e6d0;--gold:#ffc857;--rose:#ff5d8f;--blue:#488dff}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage{color:#eaf2ff;font-family:var(--font-legacy);background:radial-gradient(circle at 42% 35%,#1a444847,#0000 36%),#050b14}:where(.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage) :is(h1,h2,h3,h4,h5,p){margin:revert;max-width:none;font-family:inherit;font-weight:revert;letter-spacing:normal;text-wrap:wrap;line-height:normal}:where(.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage){word-break:normal}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage>*{flex-shrink:0}:where(.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage) img{display:revert;height:revert}:where(.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage) button{cursor:pointer;color:inherit}:where(.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage) button:disabled{cursor:not-allowed;opacity:.5}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .glass-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);color:#eaf2ff;background:linear-gradient(145deg,#132338d4,#08121fbf);box-shadow:0 22px 60px #00000047,inset 0 1px #ffffff0a}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .primary-button{color:#041412;background:linear-gradient(135deg,#52f5df,#21cdbd);border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 20px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;translate:none;box-shadow:0 8px 28px #38e6d033}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 34px #38e6d057}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .avatar{color:#021413;background:linear-gradient(145deg,#3ddac8,#258c9f);border-radius:11px;place-items:center;width:35px;height:35px;font-weight:800;display:grid}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .avatar.color-1{background:linear-gradient(145deg,#ffba57,#d56c43)}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .avatar.color-2{background:linear-gradient(145deg,#9d78ff,#6443bd)}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .avatar.color-3{background:linear-gradient(145deg,#ff76a5,#a8366a)}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .avatar.color-4{background:linear-gradient(145deg,#7fd36b,#3f8f4a)}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .avatar.color-5{background:linear-gradient(145deg,#6fb7ff,#3c63c8)}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .avatar.color-6{background:linear-gradient(145deg,#ffd76b,#c79a1f)}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .avatar.color-7{background:linear-gradient(145deg,#c7cfdc,#7c879a)}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .game-stage .badge{letter-spacing:.13em;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:800}.cant-stop-layout .game-stage{padding:14px 18px}.cant-stop-layout .turn-banner{width:min(980px,100%)}.cant-stop-shell{flex:1;grid-template-columns:minmax(0,1fr) 245px;gap:12px;width:min(980px,100%);min-height:0;display:grid}.cant-stop-board{background:linear-gradient(#020a142e,#020a1461),url(/assets/games/cant-stop/mountain-board-bg.png) 50%/cover;border:1px solid #49dce633;border-radius:19px;min-height:480px;position:relative;overflow:hidden;box-shadow:0 25px 60px #00000080,inset 0 0 70px #01081180}.cant-stop-board:after{content:"";pointer-events:none;background:linear-gradient(90deg,#02081061,#0000 15% 85%,#02081061);position:absolute;inset:0}.mountain-heading{z-index:2;text-shadow:0 2px 10px #000;grid-template-columns:auto auto;align-items:center;gap:1px 7px;display:grid;position:absolute;top:16px;left:19px}.mountain-heading svg{width:20px;color:var(--gold);grid-row:1/3}.mountain-heading span{letter-spacing:.18em;color:var(--cyan);font-size:8px;font-weight:800}.mountain-heading b{font-size:10px}.mountain-tracks{z-index:1;justify-content:center;align-items:end;gap:clamp(2px,.5vw,7px);display:flex;position:absolute;inset:58px 18px 18px}.mountain-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;max-width:55px;height:100%;display:flex;position:relative}.summit{flex:none;justify-content:center;align-items:center;height:32px;display:flex;position:relative}.summit svg{color:#ffc857bf;filter:drop-shadow(0 0 7px #ffc85766);width:25px;height:25px;position:absolute}.summit span{z-index:1;color:#0b1320;margin-top:5px;font-size:9px;font-weight:900}.route{height:calc(var(--height) / 13 * 82%);grid-template-rows:repeat(var(--height),1fr);background:linear-gradient(90deg,#0000,#05101c6e 22% 78%,#0000);border-top:1px solid #ffffff24;border-radius:22px 22px 9px 9px;align-items:center;width:100%;min-height:92px;padding:2px 0 5px;display:grid}.route-step{place-items:center;min-height:0;display:grid;position:relative}.route-step>i{background:#bbe7ef33;border:1px solid #c0eef36b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #42e1e52e}.route-markers{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.climber,.runner{border:2px solid #ffffffbf;border-radius:50%;place-items:center;width:17px;height:17px;font-size:7px;font-weight:900;animation:.28s cubic-bezier(.2,1.6,.3,1) climb-in;display:grid;box-shadow:0 2px 7px #000}.climber.player-0,.claim-ribbon.player-0{color:#031514;background:#31dfcc}.climber.player-1,.claim-ribbon.player-1{color:#201003;background:#ffb857}.climber.player-2,.claim-ribbon.player-2{color:#10052b;background:#9879ff}.climber.player-3,.claim-ribbon.player-3{color:#260511;background:#f69}.route-markers .climber+.climber{margin-left:-7px}.runner{width:21px;height:21px;box-shadow:0 0 0 3px #38e6d040,0 0 18px var(--cyan);background:#ffffff1a;border-color:#fff;position:absolute}.runner b{background:#fff;border-radius:5px 5px 2px 2px;width:6px;height:9px}.claim-ribbon{z-index:3;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:0;right:0;box-shadow:0 0 16px}.claim-ribbon svg{width:14px}.mountain-column.claimed .route{opacity:.48}@keyframes climb-in{0%{opacity:0;transform:translateY(15px)scale(.5)}}.cant-stop-controls{border-radius:17px;flex-direction:column;min-height:0;padding:15px;display:flex}.expedition-status{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:13px;display:flex}.expedition-status .avatar{border-radius:50%}.expedition-status div{display:grid}.expedition-status small{letter-spacing:.13em;color:var(--cyan);font-size:7px}.expedition-status b{margin-top:3px;font-size:11px}.dice-tray{justify-content:center;gap:6px;padding:17px 0;display:flex}.die{color:#08111d;background:#f2f3ed;border-radius:9px;place-items:center;width:41px;height:41px;font-size:37px;line-height:1;display:grid;box-shadow:inset -3px -4px 6px #b8b9b3,0 7px 15px #0000004d}.die.ghost{color:#4c6075;box-shadow:none;background:#ffffff0a;border:1px dashed #405268;font-size:16px}.die.rolled{animation:.45s cubic-bezier(.2,1.5,.4,1) both dice-pop}@keyframes dice-pop{0%{opacity:0;transform:rotate(120deg)scale(.3)}}.pairing-options{gap:7px;display:grid}.pairing-options>small{color:#71849a;text-align:center;margin-bottom:2px;font-size:8px}.pairing-options button{border:1px solid var(--line);background:#ffffff0a;border-radius:10px;align-items:center;gap:5px;min-height:45px;padding:6px 9px;transition:all .18s;display:flex}.pairing-options button:hover{border-color:var(--cyan);background:#38e6d014;transform:translate(-2px)}.pairing-options button span{color:#08111d;background:#e8ece8;border-radius:8px;place-items:center;width:26px;height:26px;font-weight:900;display:grid}.pairing-options button i{color:#72849a;font-style:normal}.pairing-options button em{color:var(--cyan);margin-left:auto;font-size:7px;font-style:normal}.push-actions{gap:8px;margin-top:auto;display:grid}.push-actions button{text-align:left;border-radius:11px;grid-template-columns:24px 1fr;align-items:center;min-height:51px;padding:8px 11px;font-size:10px;font-weight:800;display:grid}.push-actions button svg{grid-row:1/3;width:17px}.push-actions button small{opacity:.65;font-size:7px;font-weight:500}.bank-button{color:#dce8f6;border:1px solid var(--line);background:#ffffff0d}.roll-button{color:#051512;background:linear-gradient(135deg,#58f5df,#22bfaf);border:0;box-shadow:0 7px 22px #38e6d02e}.waiting-turn{text-align:center;color:#65788d;justify-content:center;align-items:center;gap:5px;margin-top:auto;padding:12px 4px;font-size:8px;display:flex}.waiting-turn svg{width:12px}.summit-winner{text-align:center;color:var(--gold);justify-items:center;gap:5px;margin:auto;font-size:10px;display:grid}.summit-winner svg{width:32px}.summit-winner b{font-size:16px}@media (width<=1050px){.cant-stop-shell{grid-template-columns:1fr}.cant-stop-controls{min-height:160px}.cant-stop-board{min-height:430px}.cant-stop-controls{grid-template-columns:1fr 1fr;gap:10px;display:grid}.expedition-status{border:0}.dice-tray{padding:5px}.pairing-options{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.pairing-options>small{grid-column:1/-1}.push-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.waiting-turn{grid-column:1/-1}}@media (width<=600px){.cant-stop-board{min-height:380px}.mountain-tracks{gap:0;inset:55px 5px 12px}.mountain-column{max-width:none}.route-step>i{width:5px;height:5px}.climber{width:13px;height:13px;font-size:6px}.runner{width:16px;height:16px}.cant-stop-controls{grid-template-columns:1fr}.dice-tray,.expedition-status{grid-column:1}.pairing-options,.push-actions{grid-template-columns:1fr}.cant-stop-layout .game-stage{padding:8px}}.incan-round-card{z-index:3;border:1px solid #ffc85773;border-radius:10px;width:72px;height:96px;position:absolute;top:12px;left:16px;overflow:hidden;box-shadow:0 8px 24px #000}.incan-round-card img{object-fit:cover;width:100%;height:100%}.incan-round-card span{color:var(--gold);text-align:center;background:#03080cd1;border-radius:6px;padding:3px;font-size:9px;font-weight:900;position:absolute;inset:auto 5px 5px}.incan-deck{width:65px;height:90px;padding:0;display:block;overflow:hidden}.incan-deck img{object-fit:cover;opacity:.82;width:100%;height:100%;position:absolute;inset:0}.incan-deck small,.incan-deck b{z-index:2;text-align:center;background:#02070ccc;position:absolute;left:6px;right:6px}.incan-deck small{bottom:20px}.incan-deck b{bottom:5px}.quest-card{justify-content:flex-end;padding:0;overflow:hidden;background:#101820!important}.quest-card-art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.quest-card-caption{z-index:2;text-shadow:0 1px 4px #000;background:linear-gradient(#0000,#02060af5 30%);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;width:100%;min-height:43px;padding:5px 6px;display:flex;position:relative}.quest-card-caption svg{width:15px!important;height:15px!important}.quest-card-caption b{color:#fff!important;font-size:13px!important}.quest-card-caption small{padding:2px 4px;font-size:7px!important}.action-art-button{justify-content:flex-start;min-height:72px;padding:0;overflow:hidden}.action-art-button>img{object-fit:cover;flex:none;width:62px;height:72px}.action-art-button>span{text-align:left;flex:1;grid-template-columns:20px 1fr;align-items:center;padding:8px;display:grid}.action-art-button>span small{text-align:left;grid-column:1/-1;margin:3px 0 0}.incan-spectating>img{object-fit:cover;border-radius:9px;width:100%;max-height:96px;margin-bottom:5px}.room-settings-modal .primary-button{width:100%}.settings-lock-note{color:var(--muted);background:#ffc8570f;border:1px solid #ffc85726;border-radius:9px;margin:0 0 14px;padding:9px 11px;font-size:10px}.incan-layout .game-stage{padding:14px 18px}.incan-layout .turn-banner{width:min(980px,100%)}.incan-shell{flex:1;grid-template-columns:minmax(0,1fr) 290px;gap:14px;width:min(980px,100%);min-height:0;display:grid}.incan-temple{background:linear-gradient(145deg,#100b05d9,#080603f2),radial-gradient(circle at 50% 20%,#ffc85726 0%,#0000 60%);border:1px solid #ffc85747;border-radius:19px;flex-direction:column;min-height:480px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 60px #0000008c,inset 0 0 70px #23140573}.incan-round{color:var(--gold);align-items:baseline;gap:6px;display:flex;position:absolute;top:16px;left:20px}.incan-round span{letter-spacing:.16em;color:#ffc857b3;font-size:9px;font-weight:800}.incan-round b{font-size:20px;font-weight:900}.incan-round i{color:var(--muted);font-size:11px;font-style:normal}.incan-deck{background:#ffffff0d;border:1px solid #ffc85733;border-radius:10px;align-items:center;gap:6px;padding:5px 10px;display:flex;position:absolute;top:16px;right:20px}.incan-deck small{color:#a49172;font-size:8px;font-weight:700}.incan-deck b{color:var(--gold);font-size:13px}.incan-path{flex-wrap:wrap;flex:1;place-content:center;gap:12px;margin-top:40px;padding:15px 0;display:flex;overflow-y:auto}.quest-card{text-align:center;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:110px;height:150px;padding:12px 8px;animation:.35s cubic-bezier(.18,1.35,.35,1) card-reveal;display:flex;position:relative;box-shadow:0 10px 25px #00000073}@keyframes card-reveal{0%{opacity:0;transform:scale(.6)translateY(20px)}}.quest-card.treasure{background:linear-gradient(145deg,#1f3044,#121e2c);border-color:#38e6d059}.quest-card.treasure svg{width:26px;height:26px;color:var(--cyan);filter:drop-shadow(0 0 8px #38e6d080)}.quest-card.treasure b{color:#fff;font-size:24px;font-weight:900}.quest-card.treasure small{color:var(--cyan);background:#38e6d01a;border-radius:6px;padding:2px 6px;font-size:9px;font-weight:700}.quest-card.artifact{background:linear-gradient(145deg,#44321f,#2c1e12);border-color:#ffc85773}.quest-card.artifact .artifact-icon{filter:drop-shadow(0 0 10px #ffc85780);font-size:32px}.quest-card.artifact b{color:var(--gold);font-size:15px}.quest-card.artifact small{color:#d6bc8b;font-size:8px;line-height:1.3}.quest-card.hazard{background:linear-gradient(145deg,#3a1622,#240c14);border-color:#ff5d8f66}.quest-card.hazard .hazard-icon{font-size:30px}.quest-card.hazard b{color:var(--rose);font-size:14px;font-weight:800}.quest-card.hazard small{color:#ff9bbb;font-size:9px;font-weight:800}.incan-bust{border:1px solid var(--rose);color:#fff;z-index:10;background:#500a19f0;border-radius:14px;align-items:center;gap:12px;padding:14px 24px;animation:.4s ease-in-out bust-shake;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 15px 40px #ff5d8f59}.incan-bust svg{width:24px;height:24px;color:var(--rose);flex-shrink:0}.incan-bust b{font-size:14px;display:block}.incan-bust span{color:#ffc4d4;font-size:11px}@keyframes bust-shake{0%,to{transform:translate(-50%)}25%{transform:translate(-53%)}75%{transform:translate(-47%)}}.incan-panel{border-radius:17px;flex-direction:column;gap:14px;min-height:0;padding:16px;display:flex}.incan-players{flex-direction:column;gap:8px;max-height:220px;padding-right:4px;display:flex;overflow-y:auto}.incan-player{border:1px solid var(--line);background:#ffffff09;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.incan-player.exploring{background:#38e6d00f;border-color:#38e6d04d}.incan-player.safe{opacity:.75}.incan-player .avatar{border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.incan-player div{flex-direction:column;flex:1;min-width:0;display:flex}.incan-player b{color:#fff;align-items:center;gap:6px;font-size:12px;display:flex}.incan-player small{color:var(--muted);font-size:9px}.player-artifact-badge{color:var(--gold);background:#ffc85726;border:1px solid #ffc85759;border-radius:6px;padding:1px 5px;font-size:9px}.incan-player em{color:var(--gold);align-items:center;gap:4px;font-size:12px;font-style:normal;font-weight:800;display:flex}.incan-player em svg{width:13px;height:13px;color:var(--gold)}.incan-player i{color:var(--cyan);background:#38e6d01f;border-radius:6px;padding:2px 6px;font-size:9px;font-style:normal}.incan-artifacts{background:#ffc8570d;border:1px solid #ffc85733;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:10px 12px;display:grid}.incan-artifacts span{color:#d1b88a;font-size:10px;font-weight:700}.incan-artifacts b{color:var(--gold);font-size:14px;font-weight:900}.incan-artifacts small{color:#9c8a68;grid-column:1/-1;font-size:8px}.incan-actions{flex-direction:column;gap:8px;margin-top:auto;display:flex}.incan-actions p{color:#a4b3c8;text-align:center;margin:0 0 4px;font-size:11px;font-weight:600}.explore-button,.escape-button,.next-round-btn{border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:10px 14px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;display:flex}.explore-button{color:#051412;background:linear-gradient(135deg,#ffc857,#e8a320);box-shadow:0 8px 24px #ffc85740}.explore-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px #ffc85761}.explore-button svg{width:18px;height:18px}.explore-button small,.escape-button small{opacity:.75;text-align:right;margin-left:auto;font-size:8px;font-weight:600;display:block}.escape-button{color:#eef6ff;border:1px solid var(--line);background:#ffffff12}.escape-button:hover:not(:disabled){background:#ffffff1f}.escape-button svg{width:18px;height:18px;color:var(--cyan)}.incan-round-end-section{flex-direction:column;gap:12px;margin-top:auto;display:flex}.round-summary-banner{border-radius:12px;align-items:flex-start;gap:12px;padding:14px;display:flex}.round-summary-banner.bust{color:#ffccd9;background:#ff5d8f1f;border:1px solid #ff5d8f4d}.round-summary-banner.safe{color:#c4fcf4;background:#38e6d01a;border:1px solid #38e6d04d}.round-summary-banner .summary-icon{flex-shrink:0;width:22px;height:22px;margin-top:2px}.round-summary-banner.bust .summary-icon{color:var(--rose)}.round-summary-banner.safe .summary-icon{color:var(--cyan)}.round-summary-banner h3{color:#fff;margin:0 0 4px;font-size:13px;font-weight:800}.round-summary-banner p{opacity:.88;margin:0;font-size:10px;line-height:1.5}.next-round-btn{color:#021413;background:linear-gradient(135deg,#38e6d0,#1ba695);width:100%;margin-top:4px;box-shadow:0 8px 24px #38e6d040}.next-round-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px #38e6d061}.incan-spectating{text-align:center;background:#ffffff08;border:1px dashed #ffffff26;border-radius:14px;flex-direction:column;gap:5px;margin-top:auto;padding:18px 12px;display:flex}@media (width<=600px){.bgm-local-controls,.bgm-control-row{grid-template-columns:1fr}.bgm-now-playing em{display:none}.room-bgm-modal{padding:28px 20px}}@media (width<=1050px){.incan-shell{grid-template-columns:1fr}.incan-temple{min-height:380px}}.catan-layout .game-stage{background:radial-gradient(circle at 40% 30%,#1d75822e,#0000 46%);align-items:stretch;padding:12px;overflow:auto}.catan-layout .turn-banner{width:100%;max-width:none}.catan-shell{grid-template-columns:minmax(560px,1.35fr) minmax(300px,.65fr);gap:14px;width:100%;min-height:0;display:grid}.catan-board-panel,.catan-controls{border:1px solid var(--line);background:linear-gradient(155deg,#0a1c23f0,#071118f5);border-radius:20px;box-shadow:0 18px 44px #00000047}.catan-board-panel{flex-direction:column;min-height:620px;display:flex;position:relative;overflow:hidden}.catan-board-panel:before{content:"";pointer-events:none;background:repeating-linear-gradient(115deg,#0000 0 26px,#ffffff03 27px 28px);position:absolute;inset:0}.catan-status{z-index:1;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;display:grid;position:relative}.catan-status div{background:#ffffff0b;border:1px solid #ffffff12;border-radius:11px;gap:3px;padding:9px 11px;display:grid}.catan-status small{letter-spacing:.12em;color:#7fa6af;font-size:8px}.catan-status b{color:#f5eee0;font-size:12px}.catan-map{flex:1;width:100%;min-height:500px}.catan-sea{fill:#126978;stroke:#2a93a0;stroke-width:3px;opacity:.68}.catan-hex{cursor:default}.catan-hex polygon:first-of-type{stroke:#f0d49a;stroke-width:2px;transition:filter .15s,opacity .15s}.catan-hex:hover polygon:first-of-type{filter:brightness(1.12)}.terrain-wood polygon:first-of-type{fill:#276341}.terrain-wool polygon:first-of-type{fill:#78a94b}.terrain-grain polygon:first-of-type{fill:#d4a63c}.terrain-brick polygon:first-of-type{fill:#aa523b}.terrain-ore polygon:first-of-type{fill:#697681}.terrain-desert polygon:first-of-type{fill:#cda86f}.terrain-name{fill:#ffffffd6;text-anchor:middle;pointer-events:none;text-shadow:0 1px 3px #000;font-size:10px;font-weight:800}.number-token circle{fill:#f6ebcd;stroke:#6e4f2a;stroke-width:2px}.number-token text{fill:#2b2118;text-anchor:middle;pointer-events:none;font-size:17px;font-weight:900}.number-token.hot text{fill:#c82e2e}.number-token.hot circle{stroke:#c82e2e}.catan-robber circle,.catan-robber path{fill:#172027;stroke:#e8d8b5;stroke-width:1.5px;pointer-events:none}.catan-port line{stroke:#f2cc7e;stroke-width:8px;opacity:.75}.catan-port text{fill:#211a10;text-anchor:middle;paint-order:stroke;stroke:#f2cc7e;stroke-width:5px;stroke-linejoin:round;font-size:8px;font-weight:900}.catan-edge,.catan-vertex{cursor:pointer}.edge-hit{stroke:#0000;stroke-width:15px}.road{stroke-width:8px;stroke-linecap:round;paint-order:stroke;stroke:#fff}.catan-edge .road{filter:drop-shadow(0 2px 2px #000000b3)}.vertex-hit{fill:#0000;stroke:#0000}.catan-vertex:hover .vertex-hit{fill:#ffffff40;stroke:#fff}.catan-vertex path{stroke:#31261b;stroke-width:2px;filter:drop-shadow(0 2px 2px #000000b3)}.catan-legend{color:#78939c;text-align:center;padding:8px 14px 12px;font-size:9px}.catan-controls{flex-direction:column;gap:10px;max-height:690px;padding:12px;display:flex;overflow:auto}.catan-score-list{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.catan-score-list>div{border:1px solid var(--line);background:#ffffff06;border-radius:10px;grid-template-columns:8px 1fr auto;align-items:center;gap:3px 7px;padding:8px;display:grid}.catan-score-list>div.active{background:#f1bd5212;border-color:#f1bd5280}.catan-score-list i{border-radius:5px;grid-row:1/3;width:8px;height:28px}.catan-score-list span,.catan-score-list b{font-size:10px}.catan-score-list small{color:#81939f;grid-column:2/4;font-size:8px}.catan-hand,.catan-action-card,.catan-trade-box,.catan-dev-cards{border:1px solid var(--line);background:#ffffff06;border-radius:12px;padding:10px}.catan-panel-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.catan-panel-title span{letter-spacing:.1em;color:#9eb2b9;font-size:10px}.catan-panel-title b{color:#f1bd52;font-size:12px}.resource-grid{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.resource-grid>div{background:#24343a;border-radius:8px;place-items:center;min-height:48px;padding:6px;display:grid}.resource-grid small{font-size:8px}.resource-grid b{font-size:17px}.resource-brick{border-bottom:3px solid #c75b43}.resource-wood{border-bottom:3px solid #3e8e57}.resource-wool{border-bottom:3px solid #98c55c}.resource-grain{border-bottom:3px solid #e1b744}.resource-ore{border-bottom:3px solid #8b9ba6}.catan-controls button,.catan-controls select,.catan-controls input{border:1px solid var(--line);color:#e9f2f0;background:#12242c;border-radius:8px;min-height:34px;padding:7px;font-size:10px}.catan-controls button{cursor:pointer;font-weight:800}.catan-controls button:hover:not(:disabled),.catan-controls button.selected{background:#e3b34e1f;border-color:#e3b34e}.catan-controls button:disabled{opacity:.4;cursor:not-allowed}.catan-primary{width:100%;color:#201406!important;background:linear-gradient(135deg,#eab94f,#d77c32)!important;border:0!important;min-height:42px!important}.catan-primary.end{background:linear-gradient(135deg,#40c9ae,#258d87)!important}.catan-build-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.catan-build-row small{color:#8fa5ac;font-size:7px}.discard-grid{grid-template-columns:repeat(5,1fr);gap:4px;margin:8px 0;display:grid}.discard-grid label{color:#9bb0b5;font-size:8px}.discard-grid input{width:100%;margin-top:3px}.catan-action-card{gap:6px;display:grid}.trade-selects,.trade-buttons{grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;display:grid}.trade-buttons{grid-template-columns:1fr 1fr;margin-top:6px}.catan-trade-box>select{width:100%;margin-top:6px}.trade-offer{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.trade-offer p{margin:0 0 6px;font-size:9px;line-height:1.45}.trade-offer button{margin-right:5px}.catan-dev-cards{flex-wrap:wrap;gap:5px;display:flex}.catan-dev-cards .catan-panel-title{width:100%}.catan-dev-cards span{color:#f1bd52;background:#f1bd521a;border-radius:7px;padding:7px;font-size:9px}.catan-bank{color:#718b93;text-align:center;font-size:8px;line-height:1.5}.catan-seat{color:#718b93;justify-content:center;align-items:center;gap:5px;display:flex}.catan-seat i{border-radius:50%;width:10px;height:10px}@media (width<=1200px){.catan-shell{grid-template-columns:minmax(510px,1fr) 300px}.catan-score-list{grid-template-columns:1fr}}@media (width<=900px){.catan-shell{grid-template-columns:1fr}.catan-board-panel{min-height:520px}.catan-controls{max-height:none}.catan-score-list{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.catan-layout .game-stage{padding:8px}.catan-shell{display:block}.catan-board-panel{min-height:430px}.catan-map{min-height:350px}.catan-status{grid-template-columns:1fr 1fr}.catan-status div:last-child{grid-column:1/3}.catan-controls{margin-top:10px}.catan-score-list{grid-template-columns:1fr 1fr}.resource-grid{grid-template-columns:repeat(5,minmax(48px,1fr));overflow-x:auto}}.catan-asset-tile,.catan-asset-number,.catan-asset-robber,.catan-asset-road,.catan-asset-building,.catan-asset-port image{pointer-events:none;-webkit-user-select:none;user-select:none}.catan-asset-tile{filter:drop-shadow(0 5px 5px #00000057)}.catan-hex .catan-asset-hex-outline{stroke:#f8da9e94;stroke-width:1.5px;pointer-events:all;fill:#0000!important}.catan-hex:hover .catan-asset-tile{filter:brightness(1.08)drop-shadow(0 6px 7px #0000006b)}.catan-asset-number{filter:drop-shadow(0 2px 2px #0000006b)}.catan-asset-robber{filter:drop-shadow(0 3px 3px #0000009e)}.catan-asset-road,.catan-asset-building{filter:drop-shadow(0 3px 2px #0000009e)}.catan-edge:hover .edge-hit{stroke:#ffffff38}.catan-asset-port circle{fill:#081a22eb;stroke:#f2cc7e;stroke-width:2px}.catan-asset-port text{fill:#f8dfaa;stroke:#13232a;stroke-width:3px;paint-order:stroke;pointer-events:none;font-size:8px}.resource-grid>div{grid-template-rows:auto auto;grid-template-columns:22px 1fr;place-items:center start;column-gap:4px}.resource-grid>div img{object-fit:contain;filter:drop-shadow(0 2px 2px #00000059);grid-row:1/3;width:22px;height:22px}.resource-grid>div small,.resource-grid>div b{justify-self:start}.catan-dev-cards button{text-align:left;align-items:center;gap:7px;display:flex}.catan-dev-cards button img{object-fit:cover;border-radius:4px;flex:none;width:28px;height:40px}.catan-dev-cards span img{object-fit:cover;vertical-align:middle;border-radius:4px;width:28px;height:40px;margin-right:6px}.catan-player-avatar{object-fit:cover;border:1px solid #f1bd526b;border-radius:50%;width:30px;height:30px}@media (width<=600px){.catan-asset-building{transform-box:fill-box;transform-origin:50%;transform:scale(.92)}.resource-grid>div img{width:20px;height:20px}}body{background:var(--fibre), var(--grain), var(--color-paper)}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{color:var(--color-ink)}.num,.move-counter,.room-count,.stat-cluster dd,.yahtzee-sheet-row b,.yahtzee-sheet-total strong,.result-stat b{font-variant-numeric:tabular-nums}.seat-1{--seat:var(--color-seat-1);--seat-ink:var(--color-fringe)}.seat-2{--seat:var(--color-seat-2);--seat-ink:var(--color-fringe)}.seat-3{--seat:var(--color-seat-3);--seat-ink:var(--color-fringe)}.seat-4{--seat:var(--color-seat-4);--seat-ink:var(--color-ink)}.seat-5{--seat:var(--color-seat-5);--seat-ink:var(--color-fringe)}.seat-6{--seat:var(--color-seat-6);--seat-ink:var(--color-fringe)}.brand{align-items:center;gap:var(--space-xs);color:var(--color-ink);display:flex}.brand-mark{border-radius:var(--radius-chip);width:40px;height:40px;color:var(--color-accent-ink);background:var(--grain), var(--color-accent);box-shadow:0 3px 0 0 var(--color-accent-deep);place-items:center;display:grid}.brand-mark svg{width:22px;height:22px}.brand-name{font-family:var(--font-display);font-size:var(--text-lg);line-height:1}.primary-button,.secondary-button,.ready-button{--edge:4px;min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-stock);justify-content:center;align-items:center;gap:var(--space-xs);font-family:var(--font-body);font-size:var(--text-md);white-space:nowrap;transition:translate var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap), background-color var(--dur-micro) var(--ease-snap), color var(--dur-micro) var(--ease-snap);border:0;font-weight:700;line-height:1.1;text-decoration:none;display:inline-flex}.primary-button svg,.secondary-button svg,.ready-button svg{width:18px;height:18px}.primary-button{color:var(--color-accent-ink);background:var(--grain), var(--color-accent);box-shadow:0 var(--edge) 0 0 var(--color-accent-deep), var(--shadow-press);transition-timing-function:var(--ease-spring)}.secondary-button,.ready-button{color:var(--color-ink);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), 0 var(--edge) 0 0 var(--color-edge)}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ready-button:hover:not(:disabled){--edge:6px;translate:0 -2px}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.ready-button:active:not(:disabled){--edge:1px;translate:0 3px}.primary-button:focus-visible,.secondary-button:focus-visible,.ready-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;transition:none}.primary-button:disabled,.secondary-button:disabled,.ready-button:disabled{color:var(--color-muted);background:var(--color-paper-3);box-shadow:inset 0 0 0 1px var(--color-rule);translate:none}.secondary-button.active{color:var(--color-fringe);background:var(--color-ink);box-shadow:0 var(--edge) 0 0 var(--color-ink-2)}.ready-button.active{color:var(--color-ink);background:var(--grain), var(--color-mint);box-shadow:0 var(--edge) 0 0 var(--color-mint-deep)}.icon-button,.back-button{color:var(--color-ink);background:0 0;border:0}.icon-button{border-radius:var(--radius-chip);background:var(--color-card);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--color-rule), 0 2px 0 0 var(--color-edge);transition:translate var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap), background-color var(--dur-micro) var(--ease-snap);place-items:center;display:grid}.icon-button svg{width:18px;height:18px}.icon-button:hover:not(:disabled){background:var(--color-paper-2);box-shadow:inset 0 0 0 1px var(--color-edge), 0 3px 0 0 var(--color-edge);translate:0 -1px}.icon-button:active:not(:disabled){box-shadow:inset 0 0 0 1px var(--color-edge);translate:0 2px}.icon-button:focus-visible,.back-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.icon-button:disabled{color:var(--color-muted);background:var(--color-paper-3);box-shadow:none}.icon-button.active,.icon-button[aria-pressed=true]{color:var(--color-fringe);background:var(--color-accent-2);box-shadow:0 2px 0 0 var(--color-ink-2)}.back-button{align-items:center;gap:var(--space-2xs);min-height:40px;padding:0 var(--space-sm) 0 var(--space-xs);border-radius:var(--radius-pill);transition:background-color var(--dur-micro) var(--ease-snap);font-weight:600;display:inline-flex}.back-button svg{width:18px;height:18px}.back-button:hover{background:var(--color-paper-3)}.back-button:active{background:var(--color-rule)}.field,.modal label{gap:var(--space-2xs);margin:0 0 var(--space-sm);font-size:var(--text-sm);color:var(--color-ink-2);font-weight:600;display:grid}.field-label{font-size:var(--text-sm);color:var(--color-ink-2);font-weight:600}.field input,.modal input:not([type=range]):not([type=file]):not([type=checkbox]):not([type=radio]),.modal select,.join-code input,.search input,.chat-form input{width:100%;min-height:44px;padding:0 var(--space-sm);border:1px solid var(--color-edge);border-radius:var(--radius-input);font-family:var(--font-body);font-size:var(--text-md);color:var(--color-ink);background:var(--color-card);transition:border-color var(--dur-micro) var(--ease-snap);font-weight:500}.field input::placeholder,.modal input::placeholder,.join-code input::placeholder,.search input::placeholder,.chat-form input::placeholder{color:var(--color-muted)}.field input:hover,.modal input:hover,.modal select:hover,.join-code input:hover,.search input:hover{border-color:var(--color-muted)}.field input:focus-visible,.modal input:focus-visible,.modal select:focus-visible,.join-code input:focus-visible,.search input:focus-visible,.chat-form input:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-accent-2-soft);outline:none}.field input:disabled,.modal input:disabled,.modal select:disabled,.chat-form input:disabled{color:var(--color-muted);background:var(--color-paper-3);cursor:not-allowed}.modal select{appearance:none;padding-right:var(--space-xl);background:var(--color-card) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23333a52' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center;cursor:pointer}.form-row{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.game-options-form{gap:var(--space-2xs);display:grid}.game-options-form input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent-2)}.badge{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-ink);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);font-weight:700;display:inline-flex}.badge svg{width:13px;height:13px}.badge.soon{color:var(--color-ink);background:var(--color-accent-3-soft);box-shadow:inset 0 0 0 1px var(--color-accent-3)}.tags{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tags li{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-ink-2);background:var(--color-paper-2);font-weight:600}.toast{z-index:var(--z-toast);left:50%;bottom:var(--space-lg);align-items:center;gap:var(--space-xs);max-width:calc(100% - 32px);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-stock);font-size:var(--text-sm);color:var(--color-ink);background:var(--grain), var(--color-error-soft);box-shadow:inset 0 0 0 1px var(--color-error), var(--shadow-lift);animation:toast-in var(--dur-short) var(--ease-snap);font-weight:600;display:flex;position:fixed;translate:-50%}.toast svg{width:18px;height:18px;color:var(--color-error)}@keyframes toast-in{0%{opacity:0;translate:-50% 8px}}.player-avatar{line-height:1;font-family:var(--font-display);color:var(--color-fringe);background:var(--seat,var(--color-seat-8));box-shadow:inset 0 0 0 2px var(--color-card), 0 0 0 1px var(--color-edge);text-transform:uppercase;border-radius:30%;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.player-avatar.color-0{--seat:var(--color-seat-1)}.player-avatar.color-1{--seat:var(--color-seat-2)}.player-avatar.color-2{--seat:var(--color-seat-3)}.player-avatar.color-3{--seat:var(--color-seat-6)}.player-avatar.color-4{--seat:var(--color-seat-5)}.player-avatar.color-5{--seat:var(--color-seat-7)}.player-avatar.color-6{--seat:var(--color-accent-deep)}.player-avatar.color-7{--seat:var(--color-seat-8)}.player-avatar.size-xs{width:24px;height:24px;font-size:var(--text-2xs)}.player-avatar.size-sm{width:32px;height:32px;font-size:var(--text-xs)}.player-avatar.size-md{width:40px;height:40px;font-size:var(--text-sm)}.player-avatar.size-lg{width:64px;height:64px;font-size:var(--text-xl)}.player-avatar.size-xl{width:112px;height:112px;font-size:var(--text-3xl);border-radius:var(--radius-card);box-shadow:inset 0 0 0 3px var(--color-card), 0 0 0 1px var(--color-edge), var(--shadow-card)}.welcome-shell{min-height:100dvh;display:flex}.welcome-grid{width:100%;max-width:var(--container);padding:var(--space-lg) var(--gutter);gap:var(--space-xl);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;margin:0 auto;display:grid}.welcome-intro{gap:var(--space-md);flex-direction:column;min-width:0;min-height:min(720px,100dvh - 48px);display:flex}.welcome-intro .brand{margin-bottom:var(--space-xs)}.welcome-intro h1{font-size:var(--text-hero);max-width:12ch;line-height:1.04}.welcome-lead{max-width:34ch;font-size:var(--text-lead);color:var(--color-ink-2);line-height:1.55}.game-shelf{margin:var(--space-xs) 0 0;padding:var(--space-lg);align-content:center;gap:var(--space-md) var(--space-sm);border-radius:var(--radius-card);background:var(--fibre), var(--grain), var(--color-kraft);flex:1;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;display:grid}.game-shelf-box{align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-2xs) var(--space-sm);border-radius:var(--radius-stock);background:var(--grain), var(--seat);box-shadow:0 5px 0 0 oklch(from var(--seat) calc(l - .16) c h);flex-direction:column;display:flex}.game-shelf-box:nth-child(odd){rotate:-2deg}.game-shelf-box:nth-child(3n){rotate:1.5deg}.game-shelf-box .game-emblem{width:100%;height:auto}.game-shelf-box span{font-family:var(--font-display);font-size:var(--text-sm);text-align:center;color:var(--seat-ink);overflow-wrap:anywhere;line-height:1.2}.join-card{padding:var(--space-lg);border-radius:var(--radius-card);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-lift);position:relative}.join-head{margin-bottom:var(--space-md)}.join-head h2{font-size:var(--text-2xl)}.join-head p{margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--color-muted)}.join-submit{width:100%;min-height:52px;margin-top:var(--space-2xs);font-size:var(--text-lg)}.join-foot{justify-content:space-between;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.server-state{align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--color-mint-deep);font-weight:600;display:inline-flex}.server-state.offline{color:var(--color-muted)}.server-state svg{width:16px;height:16px}.join-facts{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.join-facts li{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-ink-2);background:var(--color-paper-2);font-weight:600}.app-shell{width:100%;max-width:var(--container);padding:0 var(--gutter) var(--space-xl);min-height:100dvh;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-rule);min-height:72px;display:flex}.user-chip{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-md) var(--space-2xs) var(--space-2xs);border-radius:var(--radius-pill);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);display:flex}.user-chip>div{line-height:1.2;display:grid}.user-chip b{font-size:var(--text-sm);font-weight:700}.user-chip small{font-size:var(--text-xs);color:var(--color-mint-deep);font-weight:600}.lobby-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);padding:var(--space-xl) 0 var(--space-lg);display:flex}.lobby-hero h1{font-size:var(--text-3xl);line-height:1.12}.stat-cluster{gap:var(--space-xs);margin:0;display:flex}.stat-cluster>div{min-width:128px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-stock);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule)}.stat-cluster dt{align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted);font-weight:600;display:flex}.stat-cluster dt svg{width:14px;height:14px}.stat-cluster dd{margin:var(--space-2xs) 0 0;font-size:var(--text-sm);color:var(--color-ink-2)}.stat-cluster dd b{font-variant-numeric:tabular-nums;font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-ink);margin-right:var(--space-3xs);font-weight:400}.section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.section-heading h2{font-size:var(--text-section)}.catalog-heading{align-items:baseline}.catalog-subtitle{font-size:var(--text-sm);color:var(--color-muted);max-width:60ch}.game-catalog-section{padding-bottom:var(--section-gap-s)}.game-catalog-grid{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.game-catalog-grid .game-thumb{aspect-ratio:3/2}.game-catalog-card{padding:var(--space-xs);border-radius:var(--radius-card);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-card);transition:translate var(--dur-short) var(--ease-snap), box-shadow var(--dur-short) var(--ease-snap);flex-direction:column;display:flex;position:relative}.game-catalog-card:not(.coming-soon):hover{box-shadow:inset 0 0 0 1px var(--color-edge), var(--shadow-lift);translate:0 -3px}.game-catalog-card .badge{z-index:2;top:var(--space-md);left:var(--space-md);position:absolute}.game-catalog-card.coming-soon .game-thumb{filter:saturate(.45)}.game-thumb{aspect-ratio:4/3;border-radius:var(--radius-sheet);background:var(--fibre), var(--grain), var(--seat,var(--color-paper-3));place-items:center;display:grid}.game-thumb .game-emblem{width:70%;height:auto;max-height:86%}.room-game-icon .game-emblem{width:86%}.game-emblem{filter:drop-shadow(0 3px 0 oklch(from var(--seat,var(--color-kraft)) calc(l - .18) c h));overflow:visible}.emblem-paper{fill:var(--color-card)}.emblem-ink{fill:var(--color-ink)}.emblem-line{stroke:var(--color-ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;fill:none}.emblem-paper.emblem-line{fill:var(--color-card)}.emblem-ink.emblem-line{fill:var(--color-ink)}.catalog-body{gap:var(--space-2xs);padding:var(--space-sm) var(--space-xs) var(--space-md);flex-direction:column;flex:1;display:flex}.catalog-body h3{font-size:var(--text-xl)}.catalog-latin{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.catalog-body p{margin:var(--space-2xs) 0 var(--space-xs);font-size:var(--text-sm);color:var(--color-ink-2);flex:1;line-height:1.55}.catalog-btn{width:100%;margin:0 0 var(--space-2xs)}.game-catalog-card:not(.coming-soon):hover .catalog-btn:not(:disabled){box-shadow:inset 0 0 0 2px var(--color-accent-deep), 0 var(--edge) 0 0 var(--color-accent-deep)}.room-section{padding-top:var(--space-lg);border-top:1px solid var(--color-rule)}.room-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.join-code{align-items:center;gap:var(--space-xs);display:flex}.join-code input{font-variant-numeric:tabular-nums;text-transform:uppercase;width:120px}.room-toolbar{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.game-filter-bar{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.filter-btn{min-height:36px;padding:0 var(--space-sm);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-ink-2);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);transition:background-color var(--dur-micro) var(--ease-snap), color var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap);border:0;font-weight:600}.filter-btn:hover{background:var(--color-paper-3)}.filter-btn:active{background:var(--color-rule)}.filter-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.filter-btn.active{color:var(--color-fringe);background:var(--color-ink);box-shadow:none}.search{flex:0 280px;align-items:center;min-width:200px;display:flex;position:relative}.search svg{left:var(--space-sm);width:16px;height:16px;color:var(--color-muted);pointer-events:none;position:absolute}.search input{padding-left:var(--space-xl)}.room-grid{gap:var(--space-xs);display:grid}.room-card{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-xs) var(--space-md) var(--space-xs) var(--space-xs);border-radius:var(--radius-sheet);text-align:left;background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);transition:translate var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap), background-color var(--dur-micro) var(--ease-snap);border:0;grid-template-columns:72px minmax(0,1fr) auto auto;display:grid}.room-card:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--color-edge), var(--shadow-card);translate:0 -2px}.room-card:active:not(:disabled){box-shadow:inset 0 0 0 1px var(--color-edge);translate:0 1px}.room-card:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.room-card:disabled{cursor:not-allowed;color:var(--color-muted);background:var(--color-paper-2)}.room-game-icon{aspect-ratio:4/3;border-radius:var(--radius-chip);width:72px}.room-game-icon .game-thumb-name{font-size:var(--text-sm);padding:var(--space-2xs)}.room-info{gap:var(--space-3xs);min-width:0;display:grid}.room-state{padding:0 var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-ink);background:var(--color-mint-soft);justify-self:start;font-weight:700}.room-card.status-playing .room-state{background:var(--color-accent-3-soft)}.room-card.status-finished .room-state{background:var(--color-paper-3);color:var(--color-muted)}.room-name{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.room-game{gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-muted);flex-wrap:wrap;display:flex}.room-count{align-items:baseline;gap:var(--space-3xs);font-size:var(--text-sm);color:var(--color-muted);display:flex}.room-count svg{width:16px;height:16px;margin-right:var(--space-2xs);align-self:center}.room-count b{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);font-weight:400}.room-arrow{width:20px;height:20px;color:var(--color-muted)}.empty-state{justify-items:center;gap:var(--space-xs);padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-card);text-align:center;background:var(--grain), var(--color-paper-2);box-shadow:inset 0 0 0 1px var(--color-rule);display:grid}.empty-state svg{width:32px;height:32px;color:var(--color-muted)}.empty-state h3{font-size:var(--text-lg)}.empty-state p{font-size:var(--text-sm);color:var(--color-muted)}.site-footer{justify-content:space-between;align-items:baseline;gap:var(--space-xs);margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--color-rule);font-size:var(--text-sm);color:var(--color-muted);flex-wrap:wrap;display:flex}.site-footer .brand-name{font-size:var(--text-md);color:var(--color-ink-2)}.modal-backdrop,.result-backdrop{z-index:var(--z-modal);padding:var(--space-md);background:var(--color-scrim);animation:fade-in var(--dur-short) var(--ease-snap);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{width:min(460px,100%);max-height:calc(100dvh - 32px);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-modal);animation:rise-in var(--dur-long) var(--ease-snap);position:relative;overflow-y:auto}.modal h2{font-size:var(--text-2xl);margin:0 var(--space-2xl) var(--space-md) 0}.modal>.primary-button{width:100%;margin-top:var(--space-xs);min-height:48px}.modal-close{top:var(--space-md);right:var(--space-md);position:absolute}.settings-lock-note{margin:var(--space-xs) 0;font-size:var(--text-sm);color:var(--color-muted)}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;translate:0 12px}}.room-bgm-modal{width:min(560px,100%)}.bgm-now-playing{align-items:center;gap:var(--space-sm);padding:var(--space-sm);margin-bottom:var(--space-md);border-radius:var(--radius-stock);background:var(--color-paper-2);display:flex}.bgm-now-playing>span{border-radius:var(--radius-chip);width:44px;height:44px;color:var(--color-accent-ink);background:var(--grain), var(--color-accent);place-items:center;display:grid}.bgm-now-playing svg{width:20px;height:20px}.bgm-now-playing>div{flex:1;min-width:0;display:grid}.bgm-now-playing small{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.bgm-now-playing b{font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bgm-now-playing em{font-style:normal;font-size:var(--text-xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-paper-3);font-weight:700}.bgm-now-playing em.is-playing{background:var(--color-mint-soft);color:var(--color-mint-deep)}.bgm-local-controls{align-items:end;gap:var(--space-sm);margin-bottom:var(--space-md);grid-template-columns:minmax(0,190px) minmax(0,1fr);display:grid}.bgm-local-controls label{margin:0}.bgm-local-controls label b{float:right;font-variant-numeric:tabular-nums}.sfx-local-controls{padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.room-bgm-modal input[type=range]{width:100%;height:24px;margin:var(--space-2xs) 0 0;accent-color:var(--color-accent-2);background:0 0}.bgm-host-controls{padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.bgm-control-row{gap:var(--space-xs);margin-bottom:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bgm-control-row .secondary-button{padding:0 var(--space-xs);font-size:var(--text-sm);white-space:normal}.bgm-file-picker>span{float:right;color:var(--color-muted);font-weight:500}.room-bgm-modal input[type=file]{width:100%;padding:var(--space-xs);border:1px dashed var(--color-edge);border-radius:var(--radius-input);font-size:var(--text-sm);background:var(--color-paper)}.room-bgm-modal input[type=file]::file-selector-button{margin-right:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-chip);color:var(--color-fringe);background:var(--color-ink);cursor:pointer;border:0;font-weight:700}.room-bgm-modal .primary-button{width:100%}.room-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.room-topbar{min-height:var(--room-topbar-h);align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--color-rule);background:var(--grain), var(--color-paper-2);z-index:var(--z-sticky);flex:none;grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.room-title{min-width:0;line-height:1.25;display:grid}.room-title b{font-family:var(--font-display);font-size:var(--text-xl);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.room-title small{font-size:var(--text-xs);color:var(--color-muted)}.room-title small span{color:var(--color-ink-2);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;font-weight:700}.room-meta{justify-content:flex-end;align-items:center;gap:var(--space-2xs);flex-wrap:wrap;display:flex}.room-meta>span{align-items:center;gap:var(--space-2xs);min-height:32px;padding:0 var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-ink-2);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);font-variant-numeric:tabular-nums;font-weight:600;display:inline-flex}.room-meta>span svg{width:15px;height:15px;color:var(--color-muted)}.room-meta .room-deadline{color:var(--color-ink);background:var(--color-accent);box-shadow:none}.room-meta .room-deadline svg{color:var(--color-ink)}.game-layout{grid-template-columns:minmax(0, 1fr) var(--room-sidebar-w);flex:1;min-height:0;display:grid}.game-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr) 0}.game-layout.sidebar-collapsed .room-sidebar{visibility:hidden}.game-stage{min-height:0;padding:var(--space-md) var(--space-lg);flex-direction:column;align-items:center;display:flex;position:relative;overflow-y:auto}.sidebar-toggle{z-index:var(--z-raised);top:var(--space-md);right:var(--space-md);border-radius:var(--radius-chip);width:40px;height:40px;color:var(--color-ink);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), 0 2px 0 0 var(--color-edge);transition:translate var(--dur-micro) var(--ease-snap), background-color var(--dur-micro) var(--ease-snap);border:0;place-items:center;display:grid;position:absolute}.sidebar-toggle svg{width:18px;height:18px}.sidebar-toggle:hover{background:var(--color-paper-2);translate:0 -1px}.sidebar-toggle:active{translate:0 2px}.sidebar-toggle:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.turn-banner{align-items:center;gap:var(--space-sm);width:min(640px,100%);margin:0 auto var(--space-md);padding:var(--space-xs) var(--space-md) var(--space-xs) var(--space-xs);border-radius:var(--radius-pill);color:var(--color-ink);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-card);display:flex}.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .turn-banner{width:calc(100% - 56px);max-width:none;margin-left:0}.turn-avatar{flex:none}.turn-banner>div:first-of-type{flex:1;min-width:0}.turn-banner small{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.turn-banner h2{font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;max-width:none;color:var(--color-ink);margin:0;line-height:1.2;overflow:hidden}.move-counter{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);justify-items:end;margin-left:auto;line-height:1;display:grid}.move-counter small{margin-top:var(--space-3xs);font-family:var(--font-body);font-size:var(--text-xs)}.turn-stone,.player-stone{background:radial-gradient(circle at 35% 30%, var(--color-stone-black-hi), var(--color-stone-black) 62%);width:32px;height:32px;box-shadow:var(--shadow-token);border-radius:50%;flex:none}.turn-stone.white,.player-stone.white{background:radial-gradient(circle at 35% 30%, var(--color-stone-white), var(--color-stone-white-lo) 80%);box-shadow:inset 0 0 0 1px var(--color-edge), var(--shadow-token)}.player-stone{width:18px;height:18px}.waiting-board{justify-items:center;gap:var(--space-xs);width:min(560px,100%);padding:var(--space-xs) var(--space-xs) var(--space-lg);border-radius:var(--radius-card);text-align:center;background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-lift);margin:auto;display:grid}.board-orbit{aspect-ratio:16/9;width:100%;margin-bottom:var(--space-sm)}.waiting-board h2{font-size:var(--text-2xl)}.waiting-board p{max-width:46ch;margin-bottom:var(--space-sm);font-size:var(--text-sm);color:var(--color-muted)}.waiting-board .primary-button,.waiting-board .ready-button{min-width:200px;min-height:52px;font-size:var(--text-lg)}.reaction-bar{z-index:var(--z-raised);justify-content:center;align-items:center;gap:var(--space-2xs);margin-top:var(--space-md);padding-bottom:var(--space-xs);flex-wrap:wrap;flex-shrink:0;display:flex;position:relative}.reaction-bar button svg{width:20px;height:20px}.reaction-bar>span{margin-right:var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.reaction-bar button{border-radius:var(--radius-chip);width:40px;height:40px;font-size:var(--text-lg);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), 0 2px 0 0 var(--color-edge);transition:translate var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap);border:0;place-items:center;display:grid}.reaction-bar button:hover{box-shadow:inset 0 0 0 1px var(--color-edge), 0 4px 0 0 var(--color-edge);translate:0 -2px}.reaction-bar button:active{box-shadow:inset 0 0 0 1px var(--color-edge);translate:0 2px}.reaction-bar button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.reaction-layer{z-index:var(--z-toast);pointer-events:none;position:fixed;inset:0}.reaction-layer>div{justify-items:center;gap:var(--space-2xs);animation:reaction-fly 2.2s var(--ease-out) forwards;display:grid;position:absolute;bottom:18%;left:50%;translate:-50%}.reaction-layer b{font-size:3rem;line-height:1}.reaction-layer .reaction-icon{color:var(--color-accent-3-deep);filter:drop-shadow(0 3px 0 var(--color-card)) drop-shadow(0 6px 10px oklch(from var(--color-ink) l c h / .25));place-items:center;display:grid}.reaction-layer .reaction-icon svg{stroke-width:2.4px;width:52px;height:52px}.reaction-layer span{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-fringe);background:var(--color-ink);font-weight:700}.reaction-layer>div:nth-child(3n+2){left:38%}.reaction-layer>div:nth-child(3n){left:62%}@keyframes reaction-fly{0%{opacity:0;transform:translateY(24px)}15%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-160px)}}.room-sidebar{border-left:1px solid var(--color-rule);background:var(--grain), var(--color-paper-2);flex-direction:column;min-height:0;display:flex}.side-section{padding:var(--space-md)}.side-section.players{border-bottom:1px solid var(--color-rule);max-height:46%;overflow-y:auto}.side-title{justify-content:space-between;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm);display:flex}.side-title h3{align-items:center;gap:var(--space-2xs);font-size:var(--text-lg);display:flex}.side-title h3 svg{width:18px;height:18px}.side-title .count{min-width:28px;padding:0 var(--space-xs);border-radius:var(--radius-pill);text-align:center;font-size:var(--text-sm);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);font-weight:700}.player-row{align-items:center;gap:var(--space-xs);padding:var(--space-xs);margin:0 calc(var(--space-xs) * -1);border-radius:var(--radius-stock);transition:background-color var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.player-row>div{min-width:0;line-height:1.3;display:grid}.player-row b{align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);font-weight:700;display:flex;overflow:hidden}.player-row b em{font-style:normal;font-size:var(--text-2xs);padding:0 var(--space-2xs);border-radius:var(--radius-pill);color:var(--color-fringe);background:var(--color-accent-2);font-weight:700}.player-row small{font-size:var(--text-xs);color:var(--color-muted)}.player-row small.is-host{color:var(--color-accent-deep);font-weight:700}.player-row small.is-ready{color:var(--color-mint-deep);font-weight:700}.player-row .crown{width:18px;height:18px;color:var(--color-accent-deep)}.player-row[role=button]{cursor:pointer}.player-row[role=button]:hover{background:var(--color-card)}.player-row[role=button]:active{background:var(--color-paper-3)}.player-row[role=button]:focus-visible{outline:3px solid var(--color-focus);outline-offset:0;transition:none}.player-row.selected{background:var(--color-card);box-shadow:inset 0 0 0 2px var(--color-accent-2)}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-channel-tabs{gap:var(--space-2xs);margin-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.chat-channel-tabs button{min-height:32px;padding:0 var(--space-sm);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-ink-2);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);transition:background-color var(--dur-micro) var(--ease-snap);border:0;font-weight:600}.chat-channel-tabs button:hover{background:var(--color-paper-3)}.chat-channel-tabs button:active{background:var(--color-rule)}.chat-channel-tabs button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.chat-channel-tabs button.active{color:var(--color-fringe);background:var(--color-ink);box-shadow:none}.chat-feed{min-height:120px;padding-right:var(--space-2xs);flex:1;overflow-y:auto}.chat-empty{margin-top:var(--space-xl);text-align:center;font-size:var(--text-sm);color:var(--color-muted)}.chat-message{gap:var(--space-3xs);margin:0 0 var(--space-sm);display:grid}.chat-message.with-avatar{align-items:start;column-gap:var(--space-xs);grid-template-columns:auto minmax(0,1fr)}.chat-message.with-avatar>.player-avatar{grid-row:span 2}.chat-message b{font-size:var(--text-xs);color:var(--color-ink-2);font-weight:700}.chat-message span{max-width:100%;padding:var(--space-2xs) var(--space-sm);border-radius:4px var(--radius-stock) var(--radius-stock) var(--radius-stock);font-size:var(--text-sm);overflow-wrap:anywhere;background:var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule);justify-self:start;line-height:1.5}.chat-message[data-channel]:not([data-channel=all]) b:after{content:attr(data-channel-label);margin-left:var(--space-2xs);padding:0 var(--space-2xs);border-radius:var(--radius-pill);color:var(--color-ink);background:var(--color-accent-3-soft);font-weight:600}.chat-form{gap:var(--space-2xs);margin-top:var(--space-xs);display:flex}.chat-form button{border-radius:var(--radius-input);width:44px;height:44px;color:var(--color-accent-ink);background:var(--grain), var(--color-accent);box-shadow:0 3px 0 0 var(--color-accent-deep);transition:translate var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap);border:0;flex:none;place-items:center;display:grid}.chat-form button svg{width:18px;height:18px}.chat-form button:hover:not(:disabled){box-shadow:0 4px 0 0 var(--color-accent-deep);translate:0 -1px}.chat-form button:active:not(:disabled){box-shadow:0 1px 0 0 var(--color-accent-deep);translate:0 2px}.chat-form button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.chat-form button:disabled{color:var(--color-muted);background:var(--color-paper-3);box-shadow:none}.game-layout.stage-night .game-stage{color:var(--color-on-night);background:var(--grain), var(--color-night)}.game-layout.stage-felt .game-stage{color:var(--color-on-night);background:var(--fibre), var(--grain), var(--color-felt)}.result-modal{width:min(440px,100%);max-height:calc(100dvh - 2 * var(--space-md));overscroll-behavior:contain;scrollbar-width:thin;justify-items:center;gap:var(--space-xs);padding:var(--space-xl) var(--space-lg) var(--space-lg);border-radius:var(--radius-card);text-align:center;background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-modal);animation:rise-in var(--dur-long) var(--ease-snap);display:grid;position:relative;overflow-y:auto}.result-modal.is-winner{background:var(--fibre), var(--grain), var(--color-card);box-shadow:inset 0 0 0 3px var(--color-accent), var(--shadow-modal)}.result-trophy{width:72px;height:72px;color:var(--color-ink-2);background:var(--color-paper-3);border-radius:50%;place-items:center;display:grid}.result-trophy.mine{color:var(--color-accent-ink);background:var(--grain), var(--color-accent);box-shadow:0 4px 0 0 var(--color-accent-deep)}.result-trophy svg{width:34px;height:34px}.result-modal h2{font-size:var(--text-3xl);margin-top:var(--space-xs)}.result-modal>p{justify-content:center;align-items:center;gap:var(--space-2xs);font-size:var(--text-md);color:var(--color-ink-2);flex-wrap:wrap;display:flex}.result-modal>p svg{width:18px;height:18px;color:var(--color-accent-deep)}.result-winner-avatars{justify-content:center;gap:var(--space-xs);margin:var(--space-xs) 0;flex-wrap:wrap;display:flex}.result-stat{gap:var(--space-3xs);width:100%;padding:var(--space-sm);border-radius:var(--radius-stock);background:var(--color-paper-2);display:grid}.result-stat span{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.result-stat b{font-variant-numeric:tabular-nums;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400}.result-primary{width:100%;min-height:52px;margin-top:var(--space-xs);font-size:var(--text-lg)}.result-leave{align-items:center;gap:var(--space-2xs);min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-pill);color:var(--color-accent-2);transition:background-color var(--dur-micro) var(--ease-snap);background:0 0;border:0;font-weight:600;display:inline-flex}.result-leave svg{width:17px;height:17px}.result-leave:hover{background:var(--color-accent-2-soft)}.result-leave:active{background:var(--color-sugar)}.result-leave:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.result-modal>small{font-size:var(--text-xs);color:var(--color-muted)}.omok-frame{width:min(100%, 640px, calc(100dvh - var(--room-topbar-h) - 210px));gap:var(--space-sm);min-width:min(100%,300px);margin:0 auto;display:grid}.omok-board{--line:var(--color-wood-line);--omok-pad:clamp(10px, 3.2%, 22px);aspect-ratio:1;padding:var(--omok-pad);grid-template-columns:repeat(var(--size), minmax(0, 1fr));grid-template-rows:repeat(var(--size), minmax(0, 1fr));border-radius:var(--radius-sheet);background:url(/assets/games/omok/board.webp) center / cover, var(--fibre), var(--grain), var(--color-wood);box-shadow:inset 0 0 0 1px oklch(from var(--color-wood-deep) l c h / .6), 0 6px 0 0 var(--color-wood-deep), var(--shadow-lift);display:grid;position:relative}.omok-board:before{content:"";inset:calc(var(--omok-pad) + (100% - 2 * var(--omok-pad)) / var(--size) / 2);pointer-events:none;border:1.5px solid var(--line);background:linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / calc(100% / (var(--size) - 1)) 100%, linear-gradient(180deg, var(--line) 1px, transparent 1px) 0 0 / 100% calc(100% / (var(--size) - 1));opacity:.78;position:absolute}.intersection{z-index:1;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.intersection:not(:disabled){cursor:pointer}.intersection:disabled{cursor:default}.intersection.star:before{content:"";aspect-ratio:1;background:var(--line);border-radius:50%;width:18%;position:absolute}.intersection span{z-index:1;aspect-ratio:1;width:88%;transition:background-color var(--dur-micro) var(--ease-snap), translate var(--dur-short) var(--ease-snap);background:0 0;border-radius:50%;position:relative;translate:0 -3px}.intersection.black span{background:url(/assets/games/omok/stone-black.webp) center / 108%, radial-gradient(circle at 34% 30%, var(--color-stone-black-hi), var(--color-stone-black) 64%);box-shadow:var(--shadow-stone);translate:0}.intersection.white span{background:url(/assets/games/omok/stone-white.webp) center / 108%, radial-gradient(circle at 34% 30%, var(--color-stone-white), var(--color-stone-white-lo) 82%);box-shadow:var(--shadow-stone-light);translate:0}.omok-frame.my-turn.my-black .intersection:not(:disabled):hover span{background:var(--color-stone-ghost-black);translate:0}.omok-frame.my-turn.my-white .intersection:not(:disabled):hover span{background:var(--color-stone-ghost-white);translate:0}.intersection:focus-visible{outline:3px solid var(--color-focus);outline-offset:-2px;border-radius:50%;transition:none}.intersection.last span:after{content:"";background:var(--color-accent-3);border-radius:50%;position:absolute;inset:36%}.intersection.winning span{box-shadow:0 0 0 3px var(--color-accent), var(--shadow-stone)}.omok-frame.my-turn .omok-board{box-shadow:inset 0 0 0 1px oklch(from var(--color-wood-deep) l c h / .6), 0 6px 0 0 var(--color-wood-deep), 0 0 0 4px var(--color-accent), var(--shadow-lift)}.omok-caption{text-align:center;font-size:var(--text-sm);color:var(--color-ink-2);font-weight:600}.yahtzee-layout .game-stage{padding:var(--space-md);align-items:stretch}.yahtzee-layout .turn-banner{width:calc(100% - 56px);max-width:1040px;margin-left:0}.yahtzee-shell{width:100%;max-width:1040px;margin:0 auto}.yahtzee-main{gap:var(--space-md);grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);grid-template-areas:"sheet deck";align-items:start;display:grid}.yahtzee-sheet{padding:var(--space-md);border-radius:var(--radius-card);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-card);grid-area:sheet}.yahtzee-sheet-head{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.yahtzee-sheet-head>div:first-child{display:grid}.yahtzee-sheet-head b{font-size:var(--text-lg)}.yahtzee-sheet-head span{font-size:var(--text-xs);color:var(--color-muted)}.yahtzee-sheet-total{align-items:baseline;gap:var(--space-3xs);display:flex}.yahtzee-sheet-total strong{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;line-height:1}.yahtzee-sheet-total small{font-size:var(--text-sm);color:var(--color-muted)}.yahtzee-mobile-player-picker{gap:var(--space-2xs);margin-bottom:var(--space-sm);display:none;overflow-x:auto}.yahtzee-mobile-player-picker button{align-items:center;gap:var(--space-xs);min-height:36px;padding:0 var(--space-sm);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-ink-2);background:var(--color-paper-2);transition:background-color var(--dur-micro) var(--ease-snap);border:0;flex:none;font-weight:600;display:inline-flex}.yahtzee-mobile-player-picker button:hover{background:var(--color-paper-3)}.yahtzee-mobile-player-picker button:active{background:var(--color-rule)}.yahtzee-mobile-player-picker button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.yahtzee-mobile-player-picker button.selected{color:var(--color-fringe);background:var(--color-ink)}.yahtzee-sheet-sections{gap:var(--space-md);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.yahtzee-sheet-section-head{margin-bottom:var(--space-2xs);justify-content:space-between;align-items:baseline;display:flex}.yahtzee-sheet-section-head b{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400}.yahtzee-sheet-section-head span{font-size:var(--text-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}.yahtzee-sheet-section-head strong{color:var(--color-ink)}.yahtzee-bonus-pill{margin:0 0 var(--space-xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-chip);font-size:var(--text-xs);color:var(--color-ink-2);background:var(--color-paper-2);font-weight:600}.yahtzee-bonus-pill.ready{color:var(--color-ink);background:var(--color-mint-soft)}.yahtzee-sheet-grid{gap:var(--space-3xs);display:grid}.yahtzee-sheet-row{align-items:center;gap:var(--space-xs);min-height:40px;padding:0 var(--space-xs) 0 var(--space-sm);border-radius:var(--radius-chip);text-align:left;font-size:var(--text-sm);color:var(--color-ink);background:var(--color-paper);box-shadow:inset 0 0 0 1px var(--color-rule);transition:background-color var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap), translate var(--dur-micro) var(--ease-snap);border:0;grid-template-columns:minmax(0,1fr) 44px 40px;display:grid}.yahtzee-sheet-row span{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.yahtzee-sheet-row b{font-family:var(--font-display);font-size:var(--text-lg);justify-self:end;font-weight:400}.yahtzee-sheet-row small{font-size:var(--text-2xs);color:var(--color-muted);justify-self:end;font-weight:700}.yahtzee-sheet-row.open b{color:var(--color-muted)}.yahtzee-sheet-row.used{background:var(--color-paper-2);box-shadow:none}.yahtzee-sheet-row.used small{color:var(--color-mint-deep)}.yahtzee-sheet-row.open:not(:disabled){background:var(--color-card);box-shadow:inset 0 0 0 2px var(--color-accent)}.yahtzee-sheet-row.open:not(:disabled) b{color:var(--color-ink)}.yahtzee-sheet-row.open:not(:disabled) small{color:var(--color-accent-ink);padding:0 var(--space-2xs);border-radius:var(--radius-pill);background:var(--color-accent)}.yahtzee-sheet-row:not(:disabled):hover{box-shadow:inset 0 0 0 2px var(--color-accent-deep), 0 3px 0 0 var(--color-accent-deep);translate:0 -1px}.yahtzee-sheet-row:not(:disabled):active{box-shadow:inset 0 0 0 2px var(--color-accent-deep);translate:0 1px}.yahtzee-sheet-row:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;transition:none}.yahtzee-sheet-row:disabled{cursor:default}.yahtzee-control-deck{top:var(--space-md);gap:var(--space-md);padding:var(--space-lg) var(--space-md);border-radius:var(--radius-card);color:var(--color-on-night);background:url(/assets/games/yahtzee/table.webp) center / cover, var(--fibre), var(--grain), var(--color-felt);box-shadow:inset 0 0 0 6px var(--color-felt-deep), inset 0 0 0 7px oklch(from var(--color-felt-deep) calc(l - .08) c h), var(--shadow-lift);grid-area:deck;display:grid;position:sticky}.yahtzee-dice-row{gap:var(--space-xs);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.yahtzee-die{aspect-ratio:1;gap:var(--space-2xs);min-width:0;color:inherit;background:0 0;border:0;grid-template-rows:minmax(0,1fr) auto;padding:0;display:grid}.die-face{aspect-ratio:1;background:var(--color-die);box-shadow:inset -3px -4px 0 0 var(--color-stone-white-lo), 0 4px 0 0 oklch(from var(--color-felt-deep) calc(l - .1) c h);transition:translate var(--dur-short) var(--ease-snap), box-shadow var(--dur-short) var(--ease-snap), background-color var(--dur-micro) var(--ease-snap);border-radius:22%;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:16%;display:grid;position:relative}.pip{aspect-ratio:1;background:var(--color-pip);border-radius:50%;place-self:center;width:70%}.pip.p1{grid-area:1/1}.pip.p3{grid-area:1/3}.pip.p4{grid-area:2/1}.pip.p5{grid-area:2/2}.pip.p6{grid-area:2/3}.pip.p7{grid-area:3/1}.pip.p9{grid-area:3/3}.yahtzee-die[data-face="1"] .pip{background:var(--color-pip-hold);width:90%}.die-wait{font-style:normal;font-family:var(--font-display);color:var(--color-muted);grid-area:1/1/4/4;place-self:center;font-size:1.6rem}.yahtzee-die small{min-height:20px;padding:0 var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-on-night);justify-self:center;font-weight:700;line-height:20px}.yahtzee-die.empty .die-face{background:oklch(from var(--color-die) l c h / .35);box-shadow:inset 0 0 0 2px oklch(from var(--color-die) l c h / .6)}.yahtzee-die:not(:disabled){cursor:pointer}.yahtzee-die:not(:disabled):hover .die-face{box-shadow:inset -3px -4px 0 0 var(--color-stone-white-lo), 0 7px 0 0 oklch(from var(--color-felt-deep) calc(l - .1) c h);translate:0 -3px}.yahtzee-die:not(:disabled):active .die-face{box-shadow:inset -3px -4px 0 0 var(--color-stone-white-lo), 0 1px 0 0 oklch(from var(--color-felt-deep) calc(l - .1) c h);translate:0 2px}.yahtzee-die:focus-visible{outline:none}.yahtzee-die:focus-visible .die-face{outline:3px solid var(--color-accent);outline-offset:3px}.yahtzee-die:disabled{cursor:default}.yahtzee-die.held .die-face{background:var(--color-accent);box-shadow:inset -3px -4px 0 0 var(--color-accent-deep), 0 0 0 3px var(--color-ink);translate:0 -6px}.yahtzee-die.held small{color:var(--color-ink);background:var(--color-accent)}.yahtzee-actions{gap:var(--space-xs);text-align:center;justify-items:stretch;display:grid}.yahtzee-roll-button{min-height:52px;font-size:var(--text-lg)}.yahtzee-roll-button .roll-left{padding:0 var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-sm);font-variant-numeric:tabular-nums;background:oklch(from var(--color-accent-deep) l c h / .35)}.yahtzee-roll-button:disabled .roll-left{background:var(--color-rule)}.yahtzee-actions p{font-size:var(--text-sm);color:var(--color-on-night)}.yahtzee-result-board{gap:var(--space-3xs);width:100%;display:grid}.yahtzee-result-row{align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-chip);background:var(--color-paper-2);text-align:left;grid-template-columns:minmax(0,1fr) auto auto;display:grid}.yahtzee-result-row span{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.yahtzee-result-row b{font-family:var(--font-display);font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:400}.yahtzee-result-row small{font-size:var(--text-xs);color:var(--color-muted)}@media (width<=1100px){.yahtzee-main{grid-template-columns:minmax(0,1fr);grid-template-areas:"deck""sheet"}.yahtzee-control-deck{position:static}}@media (width<=900px){.welcome-grid{gap:var(--space-lg);padding-top:var(--space-md);grid-template-columns:minmax(0,1fr);align-items:start}.welcome-intro{min-height:0}.game-shelf{flex:none;grid-template-columns:repeat(5,minmax(0,1fr))}.lobby-hero{padding-top:var(--space-lg);flex-direction:column;align-items:flex-start}.game-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-catalog-grid .game-thumb{aspect-ratio:4/3}.game-catalog-card:last-child:nth-child(odd){grid-column:1/-1}.game-catalog-card:last-child:nth-child(odd) .game-thumb{aspect-ratio:2}.room-shell{height:auto;min-height:100dvh;overflow:visible}.room-topbar{gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);grid-template-columns:auto minmax(132px,1fr) minmax(0,max-content);min-height:0;position:sticky;top:0}.back-button{justify-content:center;width:40px;padding:0}.back-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.room-title b{font-size:var(--text-lg)}.room-title small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-meta{overscroll-behavior-x:contain;scrollbar-width:none;min-width:0;padding:var(--space-2xs);flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.room-meta::-webkit-scrollbar{display:none}.room-meta>*{flex:none}.game-layout,.game-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.game-layout.sidebar-collapsed .room-sidebar{visibility:visible}.game-stage{padding:var(--space-sm);overflow:visible}.sidebar-toggle{display:none}.turn-banner,.game-layout:is(.catan-layout,.cant-stop-layout,.incan-layout) .turn-banner,.yahtzee-layout .turn-banner{width:100%;padding-right:var(--space-md)}.room-sidebar{border-left:0;border-top:1px solid var(--color-rule)}.side-section.players{max-height:none}.chat-feed{max-height:320px}.omok-frame{width:min(100%,640px)}.yahtzee-mobile-player-picker{display:flex}}@media (width<=600px){.welcome-grid{gap:var(--space-sm);padding-top:var(--space-sm);padding-bottom:var(--space-lg)}.welcome-intro{display:contents}.welcome-intro .brand{margin-bottom:0}.welcome-intro h1{font-size:var(--text-3xl)}.welcome-lead{font-size:var(--text-sm)}.join-card{margin-top:var(--space-2xs)}.game-shelf{margin-top:var(--space-md);padding:var(--space-sm);gap:var(--space-xs);order:1;grid-template-columns:repeat(5,minmax(0,1fr))}.game-shelf-box{padding:var(--space-2xs)}.game-shelf-box span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.join-head{margin-bottom:var(--space-sm)}}@media (width<=640px){.game-catalog-grid{gap:var(--space-sm)}.game-catalog-card{padding:var(--space-2xs);border-radius:var(--radius-sheet)}.game-thumb{border-radius:var(--radius-stock)}.catalog-body{padding:var(--space-xs) var(--space-2xs) var(--space-sm)}.catalog-body h3{font-size:var(--text-lg)}.catalog-body p{font-size:var(--text-xs)}.catalog-btn{min-height:40px;padding:0 var(--space-xs);font-size:var(--text-sm);white-space:normal}.game-catalog-card .badge{top:var(--space-xs);left:var(--space-xs)}.room-actions{width:100%}.join-code{flex:auto}.join-code input{flex:1;width:auto;min-width:0}.room-toolbar{flex-direction:column;align-items:stretch}.game-filter-bar{padding-bottom:var(--space-2xs);flex-wrap:nowrap;overflow-x:auto}.filter-btn{flex:none}.search{flex:none;width:100%;min-width:0}.room-toolbar>*{min-width:0;max-width:100%}.room-card{gap:var(--space-sm);grid-template-columns:56px minmax(0,1fr) auto}.room-game-icon{width:56px}.room-arrow{display:none}.stat-cluster{width:100%}.stat-cluster>div{flex:1;min-width:0}.join-card{padding:var(--space-md)}.player-avatar.size-xl{width:88px;height:88px}.bgm-local-controls,.bgm-control-row,.form-row,.yahtzee-sheet-sections{grid-template-columns:minmax(0,1fr)}.yahtzee-control-deck{padding:var(--space-md) var(--space-sm)}.yahtzee-dice-row{gap:var(--space-2xs)}.modal{padding:var(--space-md)}.result-modal{padding:var(--space-lg) var(--space-md) var(--space-md)}}@media (prefers-reduced-motion:reduce){.reaction-layer>div{opacity:1;animation:none}.game-shelf-box{rotate:none}}.toast.toast-info{background:var(--grain), var(--color-mint-soft);box-shadow:inset 0 0 0 1px var(--color-mint-deep), var(--shadow-lift)}.toast.toast-info svg{color:var(--color-mint-deep)}.room-shell~.toast,.room-shell+.toast{bottom:calc(var(--space-lg) + 56px + env(safe-area-inset-bottom,0px))}.invite-banner{align-items:center;gap:var(--space-xs);margin:0 0 var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-input);font-size:var(--text-sm);color:var(--color-ink);background:var(--color-accent-2-soft);box-shadow:inset 0 0 0 1px var(--color-accent-2);display:flex}.invite-banner svg{width:18px;height:18px;color:var(--color-accent-2);flex:none}.invite-banner b{font-variant-numeric:tabular-nums;letter-spacing:.04em}.remember-toggle{align-items:flex-start;gap:var(--space-xs);margin:calc(-1 * var(--space-2xs)) 0 var(--space-sm);font-size:var(--text-sm);color:var(--color-ink-2);cursor:pointer;font-weight:600;display:flex}.remember-toggle input{width:20px;height:20px;accent-color:var(--color-accent-2);flex:none;margin:1px 0 0}.remember-toggle input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.remember-toggle small{font-size:var(--text-xs);color:var(--color-muted);font-weight:400;display:block}.room-topbar{grid-template-columns:auto minmax(0,1fr) auto auto}.room-menu{flex:none}.room-meta .room-deadline.is-urgent{background:var(--color-accent-3);color:var(--color-fringe)}.room-meta .room-deadline.is-urgent svg{color:var(--color-fringe)}.action-menu{display:inline-flex;position:relative}.action-menu-list{z-index:var(--z-dropdown);gap:var(--space-3xs);min-width:220px;max-width:min(320px,100vw - 16px);padding:var(--space-2xs);border-radius:var(--radius-stock);background:var(--grain), var(--color-card);box-shadow:inset 0 0 0 1px var(--color-rule), var(--shadow-lift);animation:fade-in var(--dur-micro) var(--ease-snap);display:grid;position:fixed}.room-topbar .action-menu-list{z-index:calc(var(--z-sticky) + 1)}.action-menu-item{align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-sm);border-radius:var(--radius-chip);text-align:left;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-snap), color var(--dur-micro) var(--ease-snap);background:0 0;border:0;font-weight:600;display:flex}.action-menu-item svg{width:16px;height:16px;color:var(--color-muted);flex:none}.action-menu-item:hover:not([aria-disabled=true]){background:var(--color-paper-2)}.action-menu-item:active:not([aria-disabled=true]){background:var(--color-paper-3)}.action-menu-item:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;transition:none}.action-menu-item[aria-disabled=true]{color:var(--color-muted);background:var(--color-paper-3);cursor:not-allowed}.action-menu-item[role=menuitemcheckbox]:after{content:"끔";padding:0 var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-ink-2);background:var(--color-paper-3);margin-left:auto}.action-menu-item[aria-checked=true]:after{content:"켬";color:var(--color-ink);background:var(--color-mint)}.action-menu-item.danger{color:var(--color-error)}.action-menu-item.danger.armed{color:var(--color-fringe);background:var(--color-error)}.action-menu-info{align-items:center;gap:var(--space-2xs);min-height:40px;padding:0 var(--space-sm);font-size:var(--text-sm);color:var(--color-muted);border-bottom:1px solid var(--color-rule);font-variant-numeric:tabular-nums;display:flex}.action-menu-info b{color:var(--color-ink)}.player-row{grid-template-columns:auto minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:column}.player-row .player-menu .icon-button{width:36px;height:36px}.player-row.is-offline>.player-avatar{opacity:.55;filter:grayscale(.6)}.afk-badge{padding:0 var(--space-2xs);border-radius:var(--radius-pill);font-size:var(--text-2xs);color:var(--color-ink);background:var(--color-accent-3-soft);box-shadow:inset 0 0 0 1px var(--color-accent-3);flex:none;font-weight:700}.room-option-chips{justify-content:center;gap:var(--space-2xs);margin:0 0 var(--space-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.room-option-chips li{min-height:28px;padding:0 var(--space-sm);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-ink-2);background:var(--color-paper-2);box-shadow:inset 0 0 0 1px var(--color-rule);font-variant-numeric:tabular-nums;align-items:center;font-weight:600;display:inline-flex}.waiting-actions{justify-content:center;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.waiting-board .invite-button{min-height:52px}.sheet-backdrop{z-index:var(--z-modal);background:var(--color-scrim);animation:fade-in var(--dur-short) var(--ease-snap);justify-content:flex-end;display:flex;position:fixed;inset:0}.rules-sheet{background:var(--grain), var(--color-card);width:min(440px,100%);height:100%;box-shadow:inset 1px 0 0 var(--color-rule), var(--shadow-modal);animation:sheet-in-side var(--dur-long) var(--ease-snap);outline:none;flex-direction:column;display:flex}.rules-sheet-head{align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--color-rule);flex:none;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.rules-sheet-head h2{font-size:var(--text-xl);margin:0}.rules-sheet-head small{font-size:var(--text-xs);color:var(--color-muted)}.rules-sheet-icon{border-radius:var(--radius-chip);width:40px;height:40px;color:var(--color-accent-ink);background:var(--color-accent);place-items:center;display:grid}.rules-sheet-icon svg{width:20px;height:20px}.rules-sheet-body{overscroll-behavior:contain;min-height:0;padding:var(--space-md) var(--space-md) var(--space-xl);flex:1;overflow-y:auto}.rules-section+.rules-section{margin-top:var(--space-lg)}.rules-section h3{margin:0 0 var(--space-xs);font-size:var(--text-lg)}.rules-section .room-option-chips{justify-content:flex-start}.rules-bullets{gap:var(--space-2xs);padding-left:var(--space-md);font-size:var(--text-sm);color:var(--color-ink-2);margin:0;line-height:1.55;display:grid}.rules-bullets b{color:var(--color-ink)}.rules-description{font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.6}.rules-table-wrap{border-radius:var(--radius-chip);box-shadow:inset 0 0 0 1px var(--color-rule);overflow-x:auto}.rules-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:1.45}.rules-table caption{padding:var(--space-xs) var(--space-sm) 0;text-align:left;font-size:var(--text-xs);color:var(--color-muted)}.rules-table th,.rules-table td{padding:var(--space-xs) var(--space-sm);text-align:left;vertical-align:top;border-top:1px solid var(--color-rule)}.rules-table thead th{font-size:var(--text-xs);color:var(--color-muted);background:var(--color-paper-2);border-top:0;font-weight:700}.rules-table tbody th{white-space:nowrap;color:var(--color-ink);font-weight:700}.rules-table td{color:var(--color-ink-2)}.rules-table .is-mine{background:var(--color-accent-2-soft)}@keyframes sheet-in-side{0%{opacity:0;translate:24px}}@keyframes sheet-in-up{0%{opacity:0;translate:0 32px}}.chat-fab{z-index:var(--z-sticky);right:var(--space-md);bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));width:52px;height:52px;color:var(--color-fringe);background:var(--color-ink);box-shadow:0 3px 0 0 var(--color-ink-2), var(--shadow-lift);transition:translate var(--dur-micro) var(--ease-snap), box-shadow var(--dur-micro) var(--ease-snap);border:0;border-radius:50%;place-items:center;display:grid;position:fixed}.chat-fab svg{width:22px;height:22px}.chat-fab:active{box-shadow:0 1px 0 0 var(--color-ink-2);translate:0 2px}.chat-fab:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;transition:none}.chat-fab-badge{min-width:22px;height:22px;padding:0 var(--space-2xs);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-fringe);background:var(--color-accent-3-deep);box-shadow:0 0 0 2px var(--color-card);font-variant-numeric:tabular-nums;place-items:center;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.chat-sheet{z-index:var(--z-sticky);height:min(50dvh,420px);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;color:var(--color-ink);background:var(--grain), var(--color-paper-2);box-shadow:inset 0 1px 0 var(--color-rule), var(--shadow-modal);animation:sheet-in-up var(--dur-short) var(--ease-snap);outline:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.chat-sheet:before{content:"";border-radius:var(--radius-pill);background:var(--color-edge);width:40px;height:4px;position:absolute;top:6px;left:50%;translate:-50%}.chat-sheet>.side-section.chat{min-height:0;padding-top:var(--space-md);flex:1}.chat-sheet .chat-feed{max-height:none}.chat-sheet-close{top:var(--space-sm);right:var(--space-sm);z-index:var(--z-raised);width:36px;height:36px;position:absolute}.game-layout.chat-folded{padding-bottom:72px}@media (width<=900px){.room-topbar{grid-template-columns:auto minmax(120px,1fr) minmax(0,max-content) auto}}@media (width<=640px){.sheet-backdrop{justify-content:stretch;align-items:flex-end}.rules-sheet{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;width:100%;height:auto;max-height:86dvh;box-shadow:inset 0 1px 0 var(--color-rule), var(--shadow-modal);padding-bottom:env(safe-area-inset-bottom,0px);animation-name:sheet-in-up}.rules-sheet-head{padding:var(--space-sm) var(--space-md)}.game-layout.has-own-turn-strip .turn-banner,.room-meta .music-button,.room-shell.is-playing .room-meta>span:not(.room-deadline){display:none}.waiting-actions{width:100%;padding:0 var(--space-sm);flex-direction:column;align-items:stretch}.waiting-actions>button{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.rules-sheet,.chat-sheet,.action-menu-list{animation:none}}.yut-help-catalog{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.yut-help-catalog li{align-items:start;gap:var(--space-sm);padding:var(--space-xs);border-radius:var(--radius-chip);background:var(--color-paper);box-shadow:inset 0 0 0 1px var(--color-rule);grid-template-columns:56px minmax(0,1fr);display:grid}.yut-help-thumb{aspect-ratio:3/4;border-radius:var(--radius-chip);background:var(--color-paper-3);place-items:center;width:56px;display:grid;overflow:hidden}.yut-help-thumb img{object-fit:cover;width:100%;height:100%}.yut-help-glyph{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink-2)}.yut-help-text{gap:var(--space-3xs);min-width:0;font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.45;display:grid}.yut-help-text b{color:var(--color-ink)}.yut-help-text small{font-size:var(--text-xs);color:var(--color-muted)}
