@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-vietnamese-400-normal-65jA92mZ.woff2)format("woff2"),url(/assets/patrick-hand-vietnamese-400-normal-CZjY324Y.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-400-normal-B7HHA2Vw.woff2)format("woff2"),url(/assets/patrick-hand-latin-400-normal-Df9_VoRQ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-ink:#1e1a17;--color-paper:#f4ebd9;--color-panel:#fff8e8;--color-on-primary:#fffdf7;--color-primary:#b23a2e;--color-line-muted:#6b6258;--color-text-default:#1e1a17;--color-text-muted:#6b6258;--color-text-on-primary:#fffdf7;--color-surface-app:#f4ebd9;--color-surface-dock:#fff8e8;--color-surface-note:#f4ebd9;--color-surface-dice:#fffdf7;--color-surface-button-primary:#b23a2e;--color-surface-button-secondary:transparent;--color-group-g01-fill:#e9a5b5;--color-group-g02-fill:#8fbf7f;--color-group-g03-fill:#5f9fd0;--color-group-g04-fill:#e8c65a;--color-group-g05-fill:#c4553d;--color-group-g06-fill:#b197c9;--color-group-g07-fill:#b0ada6;--color-group-g08-fill:#80d8ca;--color-group-g09-fill:#ec9446;--color-group-g10-fill:#b08a66;--color-group-icon:#1e1a17;--color-player-trau:#2f5fa8;--color-player-ga:#c8341f;--color-player-lon:#d9569a;--color-player-ca:#e07b1a;--color-player-non:#2e8b57;--color-player-den:#6b3fa0;--color-player-stroke:#1e1a17;--color-scene-table:#7a5236;--color-scene-table-grain:#684530;--color-scene-token-base:#a97c50;--color-scene-roof:#8a3a22;--color-scene-pavilion-trim:#e2a93b;--color-player-scene-ca:#c8650f;--font-family-ui:"Be Vietnam Pro", system-ui, sans-serif;--font-family-display:"Patrick Hand", system-ui, sans-serif;--font-letter-spacing-code:.12em;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--font-display-weight:400;--font-line-height-compact:1.25;--font-size-caption:12px;--font-size-body:14px;--font-size-body-strong:16px;--font-size-display-s:22px;--font-size-display-m:24px;--font-size-display-l:28px;--font-size-display-xl:30px;--font-size-code:32px;--font-size-scene-only-cell-label:7px;--font-size-scene-only-dice:13px;--font-size-scene-only-board-title:22px;--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--radius-none:0px;--radius-panel:12px;--radius-drawer:14px;--shadow-none:none;--border-hairline:1px solid #1e1a17;--border-note:2px solid #1e1a17;--border-strong:3px solid #1e1a17;--border-heavy:4px solid #1e1a17;--border-active-player:3px solid #b23a2e;--border-cell-thin:.5px solid #6b6258;--size-touch-min:44px;--size-header:48px;--size-side-column:440px;--size-button-primary-portrait:64px;--size-button-primary-landscape:52px;--size-button-secondary:48px;--size-player-row-landscape:36px;--size-token-dock:24px;--size-token-landscape:20px;--size-token-board:18px;--size-group-icon-board:12px;--size-group-icon-legend:20px;--size-group-swatch-legend:32px;--size-owner-flag:7px;--size-house-marker:8px;--size-dice:22px;--size-hud-column-landscape:300px;--size-side-panel-laptop:320px;--size-dock-laptop:420px;--size-tile-card-max:300px}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-surface-app);color:var(--color-text-default);font-family:var(--font-family-ui);font-size:var(--font-size-body);line-height:var(--font-line-height-compact);margin:0}#root{flex-direction:column;min-height:100dvh;display:flex}button,input,select{font:inherit;color:inherit}:focus-visible{outline:var(--border-strong);outline-color:var(--color-primary);outline-offset:var(--space-2xs)}.page{width:100%;max-width:480px;padding:var(--space-lg);gap:var(--space-md);flex-direction:column;margin:0 auto;display:flex}.display{font-family:var(--font-family-display);font-weight:var(--font-display-weight);font-size:var(--font-size-display-l);margin:0}.room-code{margin-top:var(--space-xs);font-family:var(--font-family-ui);font-weight:var(--font-weight-bold);font-size:var(--font-size-code);line-height:var(--font-line-height-compact);letter-spacing:var(--font-letter-spacing-code);font-variant-numeric:tabular-nums;text-transform:uppercase;display:block}.room-code--inline{font-size:inherit;line-height:inherit;margin-top:0;display:inline}.display--xl{font-size:var(--font-size-display-xl)}.note{color:var(--color-text-muted);font-size:var(--font-size-caption);margin:0}.error{border:var(--border-note);border-color:var(--color-primary);background:var(--color-surface-dock);padding:var(--space-sm);margin:0}.row{gap:var(--space-sm);align-items:stretch;display:flex}.row>.field{flex:1;min-width:0}.field-label{font-weight:var(--font-weight-semibold)}.field{min-height:var(--size-touch-min);padding:var(--space-sm);border:var(--border-note);border-radius:var(--radius-none);background:var(--color-surface-dock);font-size:var(--font-size-body-strong);width:100%}.field--code{font-weight:var(--font-weight-bold);font-size:var(--font-size-display-s);letter-spacing:var(--font-letter-spacing-code);font-variant-numeric:tabular-nums;text-transform:uppercase}.field--link{font-size:var(--font-size-caption)}.btn{min-height:var(--size-button-secondary);padding:var(--space-sm) var(--space-lg);border:var(--border-strong);border-radius:var(--radius-none);box-shadow:var(--shadow-none);background:var(--color-surface-button-secondary);font-weight:var(--font-weight-semibold);cursor:pointer}.btn--primary{min-height:var(--size-button-primary-portrait);background:var(--color-surface-button-primary);width:100%;color:var(--color-text-on-primary);font-family:var(--font-family-display);font-size:var(--font-size-display-s);font-weight:var(--font-display-weight)}.btn--link{min-height:var(--size-touch-min);border:none;text-decoration:underline}.btn--small{min-height:var(--size-touch-min);width:auto;padding:var(--space-xs) var(--space-md);font-family:var(--font-family-ui);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.btn:disabled{cursor:not-allowed;background:var(--color-surface-note);color:var(--color-text-muted);border-color:var(--color-line-muted)}.banner,.notice{padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-surface-dock);gap:var(--space-sm);font-weight:var(--font-weight-semibold);justify-content:space-between;align-items:center;margin:0;display:flex}.banner{z-index:30;padding-top:max(var(--space-sm), env(safe-area-inset-top));position:fixed;top:0;left:0;right:0}.banner--error .btn{color:var(--color-surface-dock);border-color:var(--color-surface-dock)}.notice{background:var(--color-surface-dock);color:var(--color-text-default);border-bottom:var(--border-note)}.seats{gap:var(--space-sm);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.seat{border:var(--border-note);background:var(--color-surface-dock);padding:var(--space-sm);column-gap:var(--space-sm);min-height:var(--size-header);grid-template-columns:auto 1fr;display:grid}.seat--me{border:var(--border-active-player)}.seat__badge{width:var(--size-button-secondary);height:var(--size-button-secondary);border:var(--border-note);font-family:var(--font-family-display);font-size:var(--font-size-display-m);grid-row:span 3;place-items:center;display:grid}.seat__no,.seat__state,.seat__empty{font-size:var(--font-size-caption);color:var(--color-text-muted)}.seat__name{font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat[data-ready=true] .seat__state{color:var(--color-text-default);font-weight:var(--font-weight-bold)}.seat{position:relative}.seat:has(.seat__remove){padding-right:calc(var(--size-touch-min) + var(--space-xs))}.seat__tag{align-items:center;gap:var(--space-xs);margin-left:var(--space-xs);padding:0 var(--space-xs);border:var(--border-note);color:var(--color-ink);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);vertical-align:middle;border-radius:0;display:inline-flex}.seat__remove{top:50%;right:var(--space-xs);width:var(--size-touch-min);height:var(--size-touch-min);min-height:var(--size-touch-min);font-size:var(--font-size-body);padding:0;position:absolute;transform:translateY(-50%)}.lobby__bots{align-items:flex-start;gap:var(--space-sm);flex-direction:column;display:flex}.lobby__bots .btn>span[aria-hidden]{font-size:var(--size-group-icon-legend)}.bot-icon{width:var(--size-group-icon-board);height:var(--size-group-icon-board);margin-right:var(--space-xs);vertical-align:-1px;flex:none}.seat__tag .bot-icon{margin-right:0}.lobby__config{gap:var(--space-sm);flex-direction:column;display:flex}.lobby__config .row{flex-wrap:wrap}.chip{border:var(--border-note);background:var(--color-surface-dock);flex:1}.chip--on{background:var(--color-ink);color:var(--color-panel)}.stepper{align-items:center}.stepper .btn{width:var(--size-touch-min);padding:0}.stepper__value{min-width:var(--size-button-secondary);text-align:center;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.dock{gap:var(--space-sm);background:var(--color-surface-dock);border-top:var(--border-heavy);padding:var(--space-md);flex-direction:column;display:flex}.page .dock{margin:0 calc(-1 * var(--space-lg)) calc(-1 * var(--space-lg))}.dock__note,.dock__offer{text-align:center;margin:0}.dock__offer{font-size:var(--font-size-body-strong)}.dock__caption{font-size:var(--font-size-caption);color:var(--color-text-muted)}.game{flex:1;min-height:0;position:relative;overflow:hidden}.game__stage{z-index:0;background:var(--color-surface-app);height:min(60%,130vw);position:absolute;top:0;left:0;right:0;overflow:hidden}.safe-area-probe{visibility:hidden;pointer-events:none;width:0;height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;top:0;left:0}.board-host{top:var(--inset-top,0px);right:var(--inset-right,0px);bottom:var(--inset-bottom,0px);left:var(--inset-left,0px);place-items:center;display:grid;position:absolute;container-type:size}.board{--board-size:calc(min(100cqw, 100cqh) - 2 * var(--space-xs));width:var(--board-size);height:var(--board-size);border:var(--border-strong);background:var(--color-surface-dock);grid-template-rows:1.6fr repeat(9,1fr) 1.6fr;grid-template-columns:1.6fr repeat(9,1fr) 1.6fr;display:grid;container:board/size}.tile{border:var(--border-cell-thin);border-radius:var(--radius-none);background:var(--color-surface-dock);cursor:pointer;flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.tile[data-edge=top]{flex-direction:column-reverse}.tile[data-edge=right]{flex-direction:row}.tile[data-edge=left]{flex-direction:row-reverse}.tile--selected{outline:var(--border-strong);outline-offset:calc(-1 * var(--space-xs));z-index:1}.tile__band{border:0 solid var(--color-ink);flex:0 0 28%;align-items:center;display:flex}.tile[data-edge=bottom] .tile__band{border-bottom-width:1px}.tile[data-edge=top] .tile__band{border-top-width:1px}.tile[data-edge=right] .tile__band{border-right-width:1px}.tile[data-edge=left] .tile__band{border-left-width:1px}.tile__body{flex-direction:column;flex:1;justify-content:space-between;align-items:center;min-width:0;min-height:0;display:flex}.art-icon{color:var(--color-group-icon);display:block}.tile__mark{width:min(var(--size-group-icon-legend) - var(--space-xs), 4.1cqw);height:min(var(--size-group-icon-legend) - var(--space-xs), 4.1cqw);margin-top:var(--space-2xs);flex:none}.tile__iconhalf{justify-content:center;align-items:center;width:50%;height:100%;display:flex}.tile__icon{height:min(var(--size-group-icon-board), 60%);aspect-ratio:1;width:auto}.tile[data-edge=right] .tile__band,.tile[data-edge=left] .tile__band{flex-direction:column;justify-content:flex-end}.tile[data-edge=right] .tile__iconhalf,.tile[data-edge=left] .tile__iconhalf{width:100%;height:50%}.tile[data-edge=right] .tile__icon,.tile[data-edge=left] .tile__icon{width:min(var(--size-group-icon-board), 60%);height:auto}.tile__label{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-compact);text-align:center;-webkit-line-clamp:2;line-clamp:2;padding:var(--space-2xs) var(--space-2xs) 0;-webkit-box-orient:vertical;display:none;overflow:hidden}@container board (width>=537px){.tile__label{display:-webkit-box}}.tile[data-kind=card]:after{content:"";inset:var(--space-2xs);border:var(--border-note);pointer-events:none;border-style:dashed;position:absolute}.tile[data-kind=card] .tile__mark{color:var(--color-ink)}.tile[data-index="3"] .tile__mark,.tile[data-index="15"] .tile__mark,.tile[data-index="23"] .tile__mark,.tile[data-index="37"] .tile__mark{color:var(--color-panel);background:var(--color-ink)}.tile__foot{padding:0 var(--space-2xs) var(--space-2xs);font-size:var(--font-size-caption);line-height:var(--font-line-height-compact);text-align:center;white-space:nowrap;text-overflow:clip;margin-top:auto;overflow:hidden}.tile__foot--buy{font-weight:var(--font-weight-bold);color:var(--color-ink)}.tile__foot--card,.tile__foot--other{color:var(--color-text-muted)}@container board (width<=536.98px){.tile__foot-unit,.tile__foot--card,.tile__foot--other{display:none}.tile__foot{padding:0 0 var(--space-2xs)}}.board__legend{gap:var(--space-2xs);font-size:var(--font-size-caption);text-align:left;margin:0;padding:0;list-style:none;display:grid}.board__legend li{align-items:center;gap:var(--space-xs);display:flex}.board__legend-swatch{width:var(--size-group-icon-legend);height:var(--size-group-icon-legend);border:var(--border-cell-thin);background:var(--color-surface-dock);flex:none}.board__legend-swatch--buy{border-bottom:var(--border-note)}.board__legend-swatch--card{border:var(--border-note);border-style:dashed}.tile__flag{width:var(--size-owner-flag);height:var(--size-owner-flag);border:var(--border-hairline);top:var(--space-2xs);right:var(--space-2xs);position:absolute}.tile[data-edge=bottom] .tile__flag{top:auto;bottom:var(--space-2xs)}.tile[data-edge=left] .tile__flag{right:auto;left:var(--space-2xs)}.tile__tokens{flex-wrap:wrap;justify-content:center;gap:1px;padding-bottom:1px;display:flex}.token{width:clamp(9px, 2.95cqw, var(--size-token-board));height:clamp(9px, 2.95cqw, var(--size-token-board));flex:none;display:inline-block}.token--current{outline:var(--border-note);outline-color:var(--color-primary);outline-offset:1px}.token-icon{width:100%;height:100%;display:block;overflow:visible}.token-icon path{stroke:var(--color-player-stroke);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.token--dock{width:var(--size-token-dock);height:var(--size-token-dock)}.token--card{width:var(--size-token-landscape);height:var(--size-token-landscape)}.board__center{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm);text-align:center;background:var(--color-surface-app);flex-direction:column;grid-area:2/2/11/11;display:flex;overflow:auto}.board__line{font-weight:var(--font-weight-semibold);margin:0}.dice{gap:var(--space-sm);display:flex}.die{width:calc(var(--size-dice) * 2);height:calc(var(--size-dice) * 2);border:var(--border-strong);background:var(--color-surface-dice);font-family:var(--font-family-display);font-size:var(--font-size-display-m);place-items:center;display:grid}.tilecard{gap:var(--space-2xs);border:var(--border-note);background:var(--color-panel);width:100%;padding:var(--space-md);font-size:var(--font-size-body);text-align:left;flex-direction:column;display:flex}.tilecard__head{align-items:center;gap:var(--space-sm);display:flex}.tilecard__icon{width:var(--size-group-icon-legend);height:var(--size-group-icon-legend);border:var(--border-hairline);background:var(--color-paper);flex:none;padding:1px}.tilecard__name{min-width:0;font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.tilecard__close{width:var(--size-touch-min);height:var(--size-touch-min);margin:calc(-1 * var(--space-sm)) calc(-1 * var(--space-sm)) calc(-1 * var(--space-sm)) 0;font-size:var(--font-size-display-s);cursor:pointer;background:0 0;border:none;flex:none;line-height:1}.tilecard__reason{padding:var(--space-xs) var(--space-sm);background:var(--color-surface-note);border:var(--border-note);margin:0}.tilecard__kind{font-size:var(--font-size-caption);color:var(--color-text-muted)}.tilecard__owner{align-items:center;gap:var(--space-xs);display:flex}.tilecard__owner--none{color:var(--color-text-muted)}.tilecard--float{z-index:1;left:var(--space-lg);right:var(--space-lg);bottom:calc(var(--hud-h,0px) + var(--space-sm));width:auto;position:absolute}.cardpopup{border:var(--border-strong);background:var(--color-panel);color:var(--color-ink);text-align:left;cursor:pointer;flex-direction:column;display:flex}.cardpopup--board{z-index:2;top:calc(var(--inset-top,0px) + 50%);width:min(320px , calc(100% - 2 * var(--space-lg)));position:absolute;left:50%;transform:translate(-50%,-50%)}.cardpopup__band{align-items:center;gap:var(--space-sm);height:var(--size-touch-min);padding-left:var(--space-sm);display:flex}.cardpopup--road .cardpopup__band{background:var(--color-ink);color:var(--color-panel)}.cardpopup--village .cardpopup__band{background:var(--color-paper);color:var(--color-ink);border-bottom:var(--border-note)}.cardpopup__icon{width:20px;height:20px}.cardpopup__deck{font-weight:var(--font-weight-semibold);flex:1}.cardpopup__close{width:var(--size-touch-min);height:var(--size-touch-min);color:inherit;font-size:var(--font-size-display-s);cursor:pointer;background:0 0;border:none;flex:none;line-height:1}.cardpopup__body{gap:var(--space-2xs);padding:var(--space-md);flex-direction:column;display:flex}.cardpopup__body p{margin:0}.cardpopup__title{font-family:var(--font-family-display);font-size:var(--font-size-display-s)}.cardpopup__text{font-size:var(--font-size-body);-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cardpopup__result{font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold)}.cardpopup__who{align-items:center;gap:var(--space-xs);font-size:var(--font-size-caption);color:var(--color-text-muted);display:flex}.cardpopup__token{width:20px;height:20px}.loading{z-index:1;top:var(--inset-top,0px);right:var(--inset-right,0px);bottom:var(--inset-bottom,0px);left:var(--inset-left,0px);justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-paper);text-align:center;flex-direction:column;display:flex;position:absolute}.loading__title{font-family:var(--font-family-display);font-weight:var(--font-display-weight);font-size:var(--font-size-display-s);margin:0}.loading__bar{display:flex}.loading__step{width:calc(6 * var(--space-sm));height:var(--space-sm);border:var(--border-hairline)}.loading__step+.loading__step{border-left:none}.loading__step--done{background:var(--color-primary)}.loading__text{font-size:var(--font-size-body);color:var(--color-text-muted);margin:0}.board-notice{z-index:3;top:calc(var(--space-sm) + var(--inset-top,0px));left:calc(var(--space-sm) + var(--inset-left,0px));right:calc(var(--space-sm) + var(--inset-right,0px));align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface-note);border:var(--border-note);font-size:var(--font-size-body);flex-wrap:wrap;display:flex;position:absolute}.board-notice__text{flex:12em;margin:0}.board-notice__actions{gap:var(--space-sm);display:flex}.game--drawer .board-notice{gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-caption);top:15%;left:15%;right:15%}.game--side .board-notice{margin:0 var(--space-sm);flex:none;position:static}.float-btn{z-index:2;top:calc(var(--space-sm) + var(--inset-top,0px));min-width:var(--size-touch-min);height:var(--size-touch-min);padding:0 var(--space-md);border:var(--border-note);border-radius:var(--radius-none);background:var(--color-panel);color:var(--color-ink);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;place-items:center;display:grid;position:absolute}.float-btn--reset{right:calc(var(--space-sm) + var(--inset-right,0px));padding:0}.float-btn--chat{right:calc(var(--space-sm) + var(--inset-right,0px) + var(--size-touch-min) + var(--space-xs));padding:0}.float-btn--chat-corner{right:calc(var(--space-sm) + var(--inset-right,0px))}.board-chat{z-index:3;top:calc(var(--space-sm) + var(--inset-top,0px) + var(--size-touch-min) + var(--space-xs));right:calc(var(--space-sm) + var(--inset-right,0px));width:min(var(--size-side-column), calc(100% - 2 * var(--space-sm)));height:min(400px, calc(100% - var(--inset-top,0px) - var(--size-touch-min) - 2 * var(--space-sm)));gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-panel);border:var(--border-strong);border-radius:var(--radius-panel);flex-direction:column;display:flex;position:absolute}.board-chat .chat{flex:1;min-height:0}.board-chat .chat__body{flex:1}.board-chat .chat__list{flex:1;height:auto;min-height:0}.board-chat__close{min-width:var(--size-touch-min)}.game--drawer .board-chat{border-width:0;border-top:var(--border-strong);border-radius:var(--radius-drawer) var(--radius-drawer) 0 0;width:auto;height:70%;inset:auto 0 0}.float-btn--skip{left:calc(var(--space-sm) + var(--inset-left,0px))}.hud{z-index:2;background:var(--color-surface-dock);border-top:var(--border-heavy);flex-direction:column;max-height:calc(100% - 160px);display:flex;position:absolute;bottom:0;left:0;right:0}.hud__panel{flex-direction:column;flex:0 auto;min-height:0;display:flex}.hud__top{align-items:center;gap:var(--space-sm);padding:0 0 0 var(--space-md);background:var(--color-surface-note);min-height:var(--size-touch-min);font-weight:var(--font-weight-semibold);flex:none;display:flex;position:relative}.hud__round{flex-direction:column;line-height:1.25;display:flex}.hud__round-sub{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.timer{font-family:var(--font-family-display);font-size:var(--font-size-display-s);text-align:right;min-width:4ch;margin-left:auto}.hud__top>:last-child:not(.menu){margin-right:var(--space-md)}.hud__round-sub--peak{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.timer--low{color:var(--color-primary)}.timer--paused{color:var(--color-text-muted);font-size:var(--font-size-body)}.players{min-height:0;padding:var(--space-xs) var(--space-sm);gap:var(--space-xs);flex:0 auto;margin:0;list-style:none;display:flex;overflow-y:auto}.player{column-gap:var(--space-xs);padding:var(--space-xs);border:var(--border-hairline);flex:1 1 0;grid-template-columns:auto 1fr;align-items:center;min-width:0;display:grid}.player--me{border:var(--border-note)}.player--current{border:var(--border-active-player)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.player__name{font-size:var(--font-size-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player__cash{font-weight:var(--font-weight-bold);white-space:nowrap;grid-column:2}.player__state{font-size:var(--font-size-caption);color:var(--color-text-muted);white-space:nowrap;grid-column:2}.player--out .player__cash,.player--out .player__name{color:var(--color-text-muted)}.hud__away{margin:0 var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--color-surface-note);border:var(--border-note);font-size:var(--font-size-body);color:var(--color-ink);flex:none}.hud__line{padding:var(--space-xs) var(--space-md);text-overflow:ellipsis;white-space:nowrap;flex:none;margin:0;overflow:hidden}.hud__log{padding:0 var(--space-md);flex:none}.hud__log-toggle{width:auto;font-size:var(--font-size-caption);padding:0}.hud__log-list{max-height:10rem;font-size:var(--font-size-caption);margin:0;padding:0;list-style:none;overflow-y:auto}.hud__log-list li{padding:var(--space-2xs) 0;border-bottom:var(--border-note);overflow-wrap:anywhere}.hud__log-note{font-size:var(--font-size-caption);color:var(--color-text-muted)}.hud__log-empty{font-style:italic}.hud .dock{padding-bottom:max(var(--space-md), env(safe-area-inset-bottom));flex:none}.menu__button{width:var(--size-touch-min);height:var(--size-touch-min);color:var(--color-ink);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.menu__panel{z-index:5;width:min(280px, calc(100vw - 2 * var(--space-lg)));max-height:calc(100dvh - var(--size-touch-min) - 2 * var(--space-lg));overscroll-behavior:contain;background:var(--color-panel);border:var(--border-strong);flex-direction:column;display:flex;position:absolute;top:100%;right:0;overflow-y:auto}.menu__row{min-height:var(--size-button-secondary);align-items:center;gap:var(--space-sm);width:100%;padding:0 var(--space-md);border:none;border-top:var(--border-hairline);border-radius:var(--radius-none);color:var(--color-ink);font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;background:0 0;margin:0;display:flex}.menu__row:first-child{border-top:none}.menu__row--disabled,.menu__row--static{color:var(--color-text-muted)}.menu__row--disabled{cursor:not-allowed}.menu__row--static{cursor:default;font-size:var(--font-size-body)}.menu__icon{flex:none}.menu__check{text-align:center;flex:none;width:20px}.menu__state{color:var(--color-text-muted);font-weight:var(--font-weight-regular);margin-left:auto}.standings{border-collapse:collapse;background:var(--color-surface-dock);width:100%}.standings th,.standings td{border:var(--border-hairline);padding:var(--space-xs) var(--space-sm);text-align:left}.standings td:nth-child(n+3){text-align:right}.standings__me{font-weight:var(--font-weight-bold)}.standings__out{color:var(--color-text-muted);font-weight:var(--font-weight-regular)}@media (orientation:landscape) and (height<=520px){.game{--hud-w:calc(clamp(240px, 34vw, var(--size-hud-column-landscape)) + env(safe-area-inset-right))}.game__stage{bottom:0;right:var(--hud-w);height:auto}.hud{width:var(--hud-w);border-top:none;border-left:var(--border-heavy);max-height:none;padding-right:env(safe-area-inset-right);top:0;left:auto}.players{grid-template-columns:1fr;display:grid}.player{min-height:var(--size-player-row-landscape);padding:0 var(--space-xs);grid-template-columns:auto 1fr auto}.player__cash,.player__state{grid-column:auto}.token--dock{width:var(--size-token-landscape);height:var(--size-token-landscape)}.btn--primary{min-height:var(--size-button-primary-landscape)}.menu__panel{top:0;bottom:auto;right:100%}.tilecard--float{left:auto;right:calc(var(--hud-w) + var(--space-lg));bottom:var(--space-lg);width:min(var(--size-tile-card-max), calc(100% - var(--hud-w) - 2 * var(--space-lg)))}}@media (width>=900px) and (height>=521px){.game__stage{height:auto;bottom:0}.hud{pointer-events:none;background:0 0;border-top:none;max-height:none;top:0}.hud__panel{top:var(--space-lg);right:var(--space-lg);bottom:var(--space-lg);width:var(--size-side-panel-laptop);pointer-events:auto;background:var(--color-panel);border:var(--border-strong);position:absolute}.hud .dock{bottom:var(--space-lg);left:var(--space-lg);right:calc(var(--size-side-panel-laptop) + 2 * var(--space-lg));width:min(var(--size-dock-laptop), calc(100% - var(--size-side-panel-laptop) - 3 * var(--space-lg)));pointer-events:auto;border:var(--border-heavy);margin:0 auto;position:absolute}.players{grid-template-columns:1fr;display:grid}.player__name{font-size:var(--font-size-body)}.menu__panel{top:100%;bottom:auto}.tilecard--float{top:var(--space-lg);left:auto;right:calc(var(--size-side-panel-laptop) + 2 * var(--space-lg));width:var(--size-tile-card-max);bottom:auto}}.debt{gap:var(--space-xs);flex-direction:column;min-height:0;display:flex}.debt__title,.debt__reason,.debt__progress{margin:0}.debt__title{font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold)}.debt__bar{height:var(--space-sm);border:var(--border-hairline)}.debt__bar-fill{background:var(--color-primary);height:100%}.debt__list{max-height:calc(3 * var(--size-button-secondary));margin:0;padding:0;list-style:none;overflow-y:auto}.debt__row{align-items:center;gap:var(--space-sm);min-height:var(--size-button-secondary);border-bottom:var(--border-hairline);display:flex}.debt__swatch{width:var(--size-group-icon-legend);height:var(--size-group-icon-legend);flex:none}.debt__name{flex:1;min-width:0}.debt__note{text-align:right}.player__icon{vertical-align:-1px;margin-right:var(--space-xs)}.scrim{z-index:20;background:#1e1a1773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm{width:min(320px,100vw - 32px);padding:var(--space-lg);background:var(--color-panel);border:var(--border-strong)}.confirm__title{margin:0 0 var(--space-sm);font-family:var(--font-family-display);font-size:var(--font-size-display-s)}.confirm__body{margin:0 0 var(--space-md);font-size:var(--font-size-body)}.confirm__actions{gap:var(--space-sm);flex-direction:column;display:flex}.confirm__actions .btn{min-height:var(--size-button-secondary)}@media (width>=900px) and (height>=521px){.confirm__actions{flex-direction:row}}.chat{--chat-list-h:240px;gap:var(--space-xs);flex-direction:column;display:flex}.chat__list{padding:var(--space-xs) var(--space-sm);height:var(--chat-list-h);border:var(--border-note);background:var(--color-surface-dock);margin:0;list-style:none;overflow-y:auto}.chat__body{flex-direction:column;min-height:0;display:flex;position:relative}.chat__new{bottom:var(--space-xs);min-height:var(--size-touch-min);position:absolute;left:50%;transform:translate(-50%)}.chat__list{overscroll-behavior:contain}.chat__empty{min-height:var(--size-touch-min);align-items:center;display:flex}.chat__msg{padding:var(--space-2xs) 0;flex-direction:column;display:flex}.chat__name{font-weight:var(--font-weight-semibold);color:var(--color-ink)}.chat__time{font-size:var(--font-size-caption);color:var(--color-text-muted)}.chat__text{font-size:var(--font-size-body);white-space:pre-wrap;overflow-wrap:anywhere}.chat__input{min-height:var(--size-touch-min);font-size:var(--font-size-body)}.lobby .dock--lobby{margin-bottom:0}.lobby__chat{gap:var(--space-sm);flex-direction:column;display:flex}.lobby__chat h2{margin:0}.chat-btn{min-width:var(--size-touch-min);padding:var(--space-xs);place-items:center;display:inline-grid;position:relative}.chat-btn__badge{top:calc(-1 * var(--space-2xs));right:calc(-1 * var(--space-2xs));min-width:var(--space-lg);padding:0 var(--space-2xs);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-compact);position:absolute}.gamechat{display:none}.gamechat--open{z-index:4;top:0;left:0;right:0;bottom:var(--hud-h,50%);gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-panel);border-bottom:var(--border-strong);flex-direction:column;display:flex;position:fixed}.gamechat--open .chat{flex:1;min-height:0}.gamechat--open .chat__body{flex:1}.gamechat--open .chat__list{flex:1;height:auto}.gamechat__head{align-items:center;gap:var(--space-sm);display:flex}.gamechat__title{font-weight:var(--font-weight-semibold);flex:1}.gamechat__collapse{display:none}.gamechat__close{min-width:var(--size-touch-min)}@media (orientation:landscape) and (height<=520px){.gamechat--open{bottom:0;right:var(--size-hud-column-landscape);border-right:var(--border-strong);border-bottom:none}}@media (width>=900px) and (height>=521px){.lobby:has(.lobby__chat){max-width:calc(480px + var(--size-side-panel-laptop) + var(--space-lg));grid-template-columns:minmax(0, 1fr) var(--size-side-panel-laptop);column-gap:var(--space-lg);align-content:start;display:grid}.lobby:has(.lobby__chat)>*{grid-column:1}.lobby>.lobby__chat{grid-area:1/2/span 20;align-self:start}.chat-btn,.gamechat__close{display:none}.gamechat,.gamechat--open{padding:var(--space-xs) var(--space-md) var(--space-sm);border:none;border-top:var(--border-note);background:0 0;flex-direction:column;flex:none;display:flex;position:static}.gamechat__collapse{gap:var(--space-xs);align-items:center;width:auto;padding:0;display:inline-flex;position:relative}.gamechat__collapse .chat-btn__badge{position:static}.gamechat--open .chat__list{height:var(--chat-list-h);flex:none}}.game--side{--side-w:var(--size-side-column);grid-template-columns:minmax(0, 1fr) var(--side-w);grid-template-rows:minmax(0,1fr);display:grid}.game--side .game__stage{grid-area:1/1;width:auto;height:auto;position:relative;inset:auto}.game--side .hud{gap:var(--space-sm);width:auto;min-height:0;max-height:none;padding:0 0 var(--space-sm);padding-right:env(safe-area-inset-right);pointer-events:auto;background:var(--color-surface-dock);border-top:none;border-left:var(--border-heavy);flex-direction:column;grid-area:1/2;display:flex;position:relative;inset:auto;overflow-y:auto}.game--side .hud__panel{background:0 0;border:none;flex:none;width:auto;position:static}.game--side .players{grid-template-columns:1fr 1fr;display:grid;overflow:visible}.game--side .player{min-height:0;padding:var(--space-xs);grid-template-columns:auto 1fr}.game--side .player__cash,.game--side .player__state{grid-column:2}.game--side .hud .dock{width:auto;max-height:50%;margin:0 var(--space-sm);padding:var(--space-md);background:var(--color-panel);border:var(--border-strong);border-radius:var(--radius-panel);flex:none;position:static;overflow-y:auto}.game--side .cardpopup--dock{border:none}.sidetabs{min-height:0;margin:0 var(--space-sm);background:var(--color-panel);border:var(--border-strong);border-radius:var(--radius-panel);flex-direction:column;flex:1;display:flex;overflow:hidden}.sidetabs__list{border-bottom:var(--border-hairline);flex:none;display:flex}.sidetabs__tab{min-height:var(--size-touch-min);justify-content:center;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);border:none;border-bottom:var(--border-strong);border-radius:var(--radius-none);color:var(--color-text-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border-bottom-color:#0000;flex:1;margin:0;display:inline-flex}.sidetabs__tab[aria-selected=true]{color:var(--color-ink);border-bottom-color:var(--color-ink)}.sidetabs__badge{min-width:var(--space-lg);padding:0 var(--space-2xs);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-compact);text-align:center}.sidetabs__panel{min-height:0;padding:var(--space-sm) var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidetabs__panel .hud__log-list{max-height:none;font-size:var(--font-size-body);overflow:visible}.sidetabs__panel .chat{flex:1;min-height:0}.sidetabs__panel .chat__list{flex:1;height:auto}.sidetabs__panel .tilecard--panel{border:none;width:auto;position:static}.sidetabs__hint{color:var(--color-text-muted);margin:0}@media (orientation:landscape) and (height<=520px){.game--side{--side-w:calc(min(var(--size-side-column), 50vw) + env(safe-area-inset-right))}}.game--drawer{--drawer-low:calc(var(--size-touch-min) * 3);grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0, 100vw) auto minmax(var(--drawer-low), 1fr);background:var(--color-surface-dock);display:grid}.game--drawer .hud{display:contents}.game--drawer .hud__panel{padding-top:env(safe-area-inset-top);border-bottom:var(--border-hairline);grid-area:1/1}.game--drawer .game__stage{grid-area:2/1;width:auto;height:auto;position:relative;inset:auto}.game--drawer .hud .dock{max-height:40vh;margin:var(--space-sm) var(--space-sm) 0;padding:var(--space-md);background:var(--color-panel);border:var(--border-strong);border-radius:var(--radius-panel);grid-area:3/1;overflow-y:auto}.game--drawer .cardpopup--dock{border:none}.drawer{z-index:3;min-height:0;margin-top:var(--space-sm);padding-bottom:env(safe-area-inset-bottom);background:var(--color-panel);border-top:var(--border-strong);border-radius:var(--radius-drawer) var(--radius-drawer) 0 0;flex-direction:column;grid-area:4/1;display:flex;overflow:hidden}.drawer--open{grid-row:2/-1;margin-top:0}.drawer--open.drawer--capped{grid-row:2}.game--drawer.game--drawer-capped{grid-template-rows:auto minmax(0,1fr) auto 0}.game--drawer-capped .hud .dock{margin-bottom:calc(var(--space-sm) + env(safe-area-inset-bottom))}.drawer__handle{width:100%;min-height:var(--size-touch-min);border-radius:var(--radius-none);cursor:grab;touch-action:none;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.drawer__grip{background:var(--color-text-muted);border-radius:2px;width:36px;height:4px}.drawer .sidetabs{border-radius:var(--radius-none);border:none;margin:0}.buy{gap:var(--space-xs);flex-direction:column;display:flex}.buy__head{align-items:center;gap:var(--space-sm);display:flex}.buy__swatch{width:var(--size-group-icon-legend);height:var(--size-group-icon-legend);border:var(--border-hairline);background:var(--color-surface-dock);flex:none}.buy__title{min-width:0;font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold);flex:1}.buy__seconds{font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;flex:none}.buy__seconds.timer--low{font-weight:var(--font-weight-bold)}.buy__caption{margin:0}.buy__bar{height:var(--space-sm);border:var(--border-hairline)}.buy__bar-fill{background:var(--color-primary);height:100%}.dock__row{gap:var(--space-sm);margin-top:var(--space-xs);display:flex}.dock__row .btn--secondary{flex:1 1 0}.dock__row .btn--primary{flex:2 1 0;width:auto}.game--drawer .dock__row .btn{min-height:var(--size-button-primary-landscape);height:var(--size-button-primary-landscape);padding-block:0}.game--side .dock__row .btn{min-height:var(--size-button-secondary);height:var(--size-button-secondary);padding-block:0}.game--side{flex:none;height:100dvh;overflow:hidden}.game--side .hud{overflow:hidden}.game--side .board{--board-size:calc(min(100cqw, 100cqh) - 2 * var(--space-sm))}.game--side .sidetabs{min-height:calc(var(--size-touch-min) + 2 * var(--space-xs));flex-grow:1;flex-shrink:0}@media (orientation:landscape) and (height<=400px){.game--side .hud{overflow-y:auto}}.player{position:relative}.player__hit{cursor:pointer;background:0 0;border:none;margin:0;padding:0;position:absolute;inset:0}.player__hit:focus-visible{outline:var(--border-strong)}.assets{gap:var(--space-sm);flex-direction:column;display:flex}.assets__chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.assets__chip{min-height:var(--size-touch-min);align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-panel);color:var(--color-ink);font-size:var(--font-size-body);cursor:pointer;margin:0;display:inline-flex}.assets__chip[aria-pressed=true]{border:var(--border-active-player);font-weight:var(--font-weight-semibold)}.assets__sum{gap:var(--space-lg);margin:0;display:flex}.assets__sum dt{color:var(--color-text-muted);font-size:var(--font-size-caption)}.assets__sum dd{font-weight:var(--font-weight-bold);margin:0}.assets__group-title{align-items:center;gap:var(--space-xs);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin:0;display:flex}.assets__swatch{width:var(--space-lg);height:var(--space-lg);border:var(--border-hairline)}.assets__full{color:var(--color-primary);font-size:var(--font-size-caption)}.assets__list{margin:0;padding:0;list-style:none}.assets__row{justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) 0;border-bottom:var(--border-hairline);display:flex}.assets__level{color:var(--color-text-muted)}.turn-intro{z-index:20;cursor:pointer;background:#1e1a1773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.turn-intro__card{width:min(340px,100vw - 32px);padding:var(--space-lg);background:var(--color-panel);border:var(--border-strong);color:var(--color-text-default)}.turn-intro__title{margin:0 0 var(--space-md);font-family:var(--font-family-display);font-size:var(--font-size-display-s)}.turn-intro__chips{justify-content:center;gap:var(--space-sm);padding:var(--space-md) 0;margin:0;list-style:none;display:flex}.turn-intro__chip{animation:.3s ease-in-out infinite alternate turn-intro-bob}.turn-intro__list{gap:var(--space-xs);font-size:var(--font-size-body);margin:0;padding:0;list-style:none;display:grid}.turn-intro__row{align-items:center;gap:var(--space-sm);display:flex}.turn-intro__note{margin:var(--space-md) 0 0;font-size:var(--font-size-caption);color:var(--color-text-muted)}.turn-intro__skip{min-height:var(--size-touch-min);margin-top:var(--space-sm)}@keyframes turn-intro-bob{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--space-xs)))}}@media (prefers-reduced-motion:reduce){.turn-intro__chip{animation:none}}@media (pointer:coarse){input:not(.field--code),textarea,select{font-size:max(16px, var(--font-size-body-strong))}}.lobby{width:100%;max-width:calc(var(--size-tile-card-max) * 4 + var(--space-lg) * 5);padding:var(--space-lg) var(--space-lg) 0;gap:var(--space-md);flex-direction:column;flex:1;margin:0 auto;display:flex}.lobby-header{align-items:center;gap:var(--space-md);display:flex}.lobby-header__text{gap:var(--space-2xs);flex-direction:column;min-width:0;display:flex}.lobby-brand{font-family:var(--font-family-display);font-weight:var(--font-display-weight);font-size:var(--font-size-display-m);margin:0;line-height:1}.lobby-greet{color:var(--color-text-muted);font-size:var(--font-size-body);margin:0}.lobby-name{gap:var(--space-xs);max-width:var(--size-dock-laptop);flex-direction:column;display:flex}.lobby-name .field,.lobby-join__code{font-size:max(16px, var(--font-size-body-strong))}.lobby-title{margin:var(--space-sm) 0 0;font-family:var(--font-family-display);font-weight:var(--font-display-weight);font-size:var(--font-size-display-xl);line-height:var(--font-line-height-compact)}.lobby-filters{gap:var(--space-sm);flex-wrap:wrap;display:flex}.lobby-filter{min-height:var(--size-touch-min);padding:0 var(--space-lg);border:var(--border-note);border-radius:var(--size-touch-min);background:var(--color-surface-dice);color:var(--color-text-default);font-weight:var(--font-weight-semibold);cursor:pointer}.lobby-filter[aria-pressed=true]{background:var(--color-ink);color:var(--color-text-on-primary)}.lobby-shelf{margin:0 calc(-1 * var(--space-lg));padding:var(--space-xs) var(--space-lg) var(--space-md);gap:var(--space-lg);scroll-snap-type:x mandatory;scroll-padding:0 var(--space-lg);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;list-style:none;display:flex;overflow-x:auto}.lobby-card{flex:0 0 min(var(--size-tile-card-max), 82vw);scroll-snap-align:start;background:var(--color-panel);border:var(--border-note);border-radius:var(--radius-panel);flex-direction:column;display:flex;overflow:hidden}.lobby-card__art{aspect-ratio:286/270;background:var(--color-surface-note);border-bottom:var(--border-note);justify-content:center;align-items:center;display:flex;position:relative}.lobby-card--playable .lobby-card__art .game-art{width:100%;height:auto}.lobby-card--soon .lobby-card__art .game-art{width:50%;height:auto}.lobby-card__body{gap:var(--space-xs);padding:var(--space-md) var(--space-lg) var(--space-lg);flex-direction:column;flex:1;display:flex}.lobby-card__name{font-family:var(--font-family-display);font-weight:var(--font-display-weight);font-size:var(--font-size-display-l);margin:0;line-height:1}.lobby-card__tagline{color:var(--color-text-muted);font-size:var(--font-size-body);margin:0}.lobby-card__play{min-height:var(--size-button-secondary);border-radius:var(--radius-panel);margin-top:auto}.lobby-badge{padding:var(--space-xs) var(--space-md);border:var(--border-hairline);border-radius:var(--size-touch-min);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);align-self:flex-start}.lobby-badge--live{left:var(--space-md);top:var(--space-md);background:var(--color-ink);color:var(--color-text-on-primary);position:absolute}.lobby-badge--soon{background:var(--color-group-g04-fill);color:var(--color-text-default);margin-top:auto}.lobby-join{margin:auto calc(-1 * var(--space-lg)) 0;padding:var(--space-md) var(--space-lg) calc(var(--space-md) + env(safe-area-inset-bottom));gap:var(--space-sm);background:var(--color-panel);border-top:var(--border-note);flex-wrap:wrap;align-items:stretch;display:flex;position:sticky;bottom:0}.lobby-join__error{flex:1 0 100%}.lobby-join__code{min-width:0;min-height:var(--size-button-secondary);border-radius:var(--radius-panel);letter-spacing:var(--font-letter-spacing-code);flex:1}.lobby-join__go{min-height:var(--size-button-secondary);border:var(--border-note);border-radius:var(--radius-panel);background:var(--color-ink);color:var(--color-text-on-primary);font-family:var(--font-family-display);font-size:var(--font-size-body-strong)}@media (width>=900px){.lobby-shelf{scroll-snap-type:none;padding:var(--space-xs) 0 var(--space-md);flex-wrap:wrap;margin:0;overflow-x:visible}.lobby-card{flex-basis:var(--size-tile-card-max)}.lobby-join{margin:var(--space-sm) 0 var(--space-lg);max-width:var(--size-dock-laptop);border:var(--border-note);border-radius:var(--radius-panel);position:static}}@media (prefers-reduced-motion:reduce){.lobby-shelf{scroll-behavior:auto}}
