@font-face{font-family:Zilla Slab;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/zilla-slab-latin-500-normal-CzZRcrUb.woff2) format("woff2"),url(/assets/zilla-slab-latin-500-normal-B8-aa0aC.woff) format("woff")}@font-face{font-family:Zilla Slab;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/zilla-slab-latin-600-normal-BRgn6X7z.woff2) format("woff2"),url(/assets/zilla-slab-latin-600-normal-iLPAhCz6.woff) format("woff")}@font-face{font-family:Zilla Slab;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/zilla-slab-latin-700-normal-CEKI1vVu.woff2) format("woff2"),url(/assets/zilla-slab-latin-700-normal-C8aaVMsA.woff) format("woff")}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-400-normal-CwRJVcUA.woff2) format("woff2"),url(/assets/lexend-latin-400-normal-CHypAkT3.woff) format("woff")}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-500-normal-Dl-X5nog.woff2) format("woff2"),url(/assets/lexend-latin-500-normal-D9x1QWTH.woff) format("woff")}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-700-normal-DqO8md6r.woff2) format("woff2"),url(/assets/lexend-latin-700-normal-DVyJlN8t.woff) format("woff")}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;height:100dvh;overflow:hidden}body{font-family:var(--font);color:var(--ink);background:var(--app-bg);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input,select{font:inherit;color:inherit}h1,h2,h3{font-weight:var(--heading-weight)}.muted{color:var(--ink-soft)}.small{font-size:12px}.screen{position:fixed;inset:0;height:100%;height:100dvh}.btn{appearance:none;border:1.5px solid var(--btn-edge);background:var(--btn);color:var(--ink);border-radius:var(--radius-btn);padding:9px 16px;font-weight:600;cursor:pointer;box-shadow:var(--btn-shadow);transition:transform .06s ease,background .15s ease;touch-action:manipulation}.btn:hover:not(:disabled){background:var(--btn-hover)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.buy-item:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary-edge);border-radius:var(--radius-primary)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.ghost{background:transparent;box-shadow:none}.btn.small{padding:6px 11px;font-size:13px}.btn.big{padding:14px 22px;font-size:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.btn.big small{font-weight:500;font-size:12px;opacity:.85}.btn.on{background:var(--on-bg);border-color:var(--on-edge)}.menu-screen,.setup-screen{overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:max(24px,env(safe-area-inset-top)) 16px 32px}.menu-card,.setup-card{width:min(680px,100%);background:var(--panel);border:var(--panel-frame-w) solid var(--panel-frame);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:28px clamp(16px,4vw,36px);margin:auto 0}.logo{margin:0;font-size:clamp(40px,9vw,64px);letter-spacing:-.02em;line-height:1}.logo span{color:var(--accent)}.tagline{margin:8px 0 24px;color:var(--ink-soft)}.menu-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.saves h2,.menu-settings h2,.menu-style h2{font-size:15px;margin:28px 0 8px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.menu-style h2:first-child{margin-top:16px}.saves ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.saves li{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--panel-2);border-radius:var(--radius-btn);padding:10px 12px}.sync-line{margin:0 0 8px;font-size:13px;color:var(--ink-soft)}.sync-line .link{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.sync-notice{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translate(-50%);z-index:60;padding:8px 14px;border-radius:999px;background:var(--panel);color:var(--ink);font-size:14px;box-shadow:0 2px 10px #0000004d;pointer-events:none}.save-main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;overflow-wrap:anywhere;font-size:13px}.save-main strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-actions{display:flex;gap:4px;flex-shrink:0}.error{color:var(--danger);background:var(--danger-bg);border-radius:8px;padding:8px 12px;font-size:14px}.setup-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.setup-head h1{margin:0;font-size:28px}.setup-card section{margin:18px 0}.setup-card h2{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin:0 0 8px}.seat-list{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:6px}.seat-row{display:grid;grid-template-columns:36px 1fr minmax(150px,auto) auto;gap:8px;align-items:center}.style-btn{appearance:none;width:36px;height:36px;padding:0;display:grid;place-items:center;border:1.5px solid var(--line);border-radius:10px;background:var(--input-bg);cursor:pointer}.style-btn.on,.style-btn:hover{border-color:var(--accent)}.style-btn:focus-visible,.style-swatch:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.style-palette{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:var(--radius-btn);background:var(--panel-2)}.style-swatch{appearance:none;width:42px;height:42px;padding:0;display:grid;place-items:center;border:2px solid transparent;border-radius:10px;background:var(--input-bg);cursor:pointer}.style-swatch.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.style-swatch:disabled{cursor:not-allowed;opacity:.3}.seat-row input,.seat-row select,.row input[type=number]{border:1.5px solid var(--line);border-radius:8px;padding:7px 9px;background:var(--input-bg);color:var(--ink);min-width:0}.row{display:flex;gap:8px;align-items:center}.row.center{justify-content:center;flex-wrap:wrap}.row input[type=range]{flex:1;accent-color:var(--accent)}.row input[type=number]{width:140px}.pill{background:var(--panel-2);border-radius:999px;padding:3px 10px;font-size:13px;white-space:nowrap}.hint{font-size:12px;color:var(--gold);margin:4px 0 0}.choice-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.choice{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;background:var(--input-bg);font-size:13px}.choice input{position:absolute;opacity:0;pointer-events:none}.choice strong{font-size:15px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.tag{font-size:11px;font-weight:600;color:var(--ink-soft);background:var(--panel-2);border-radius:999px;padding:1px 8px;white-space:nowrap}.choice.on{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--select-bg)}.choice:focus-within{outline:3px solid var(--focus)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.toggle input[type=checkbox]{flex:0 0 auto;box-sizing:border-box;width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}.toggle.locked{cursor:default}.toggle span.toggle-text,.toggle>span{display:flex;flex-direction:column;min-width:0}.toggle strong{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.toggle small{color:var(--ink-soft)}.toggle-with-input{display:flex;flex-direction:column;gap:8px}.fog-sight{display:flex;flex-direction:column;gap:6px;margin-left:30px}.fog-sight-field{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toggle-with-input .row input{width:80px;margin-left:30px}.follow-default{margin-top:6px}.setup-foot{display:flex;justify-content:flex-end;margin-top:8px}.game-screen{user-select:none;-webkit-user-select:none}.board-host{position:absolute;inset:0}.loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--loading-ink);font-weight:600;pointer-events:none}.hud-top{position:absolute;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;display:flex;gap:10px;align-items:flex-start;pointer-events:none}.hud-top>*{pointer-events:auto}.turn-box,.players,.action-row,.menu-btn{background:var(--hud-bg);border:2px solid var(--panel-frame);border-radius:var(--radius);box-shadow:var(--shadow)}.turn-box{padding:6px 10px;min-width:0;flex:1 1 0}.turn-line{font-size:11px;white-space:nowrap;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.turn-line .sep{margin:0 4px}.whose{display:flex;align-items:center;gap:6px;min-width:0;font-weight:700;font-size:15px;white-space:nowrap}.whose .player-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.online-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.whose .thinking,.whose .your{font-weight:500;font-size:13px;color:var(--ink-soft)}.whose .thinking:after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--accent);animation:blink .9s infinite alternate}@keyframes blink{0%{opacity:.2}to{opacity:1}}.player-name{display:inline-flex;align-items:center;gap:6px}.players{list-style:none;margin:0;padding:5px;display:flex;gap:2px;flex-wrap:wrap;flex:0 1 auto;min-width:0}.players li{display:flex;align-items:center;gap:5px;padding:4px 8px;border-radius:8px;font-size:13px;border:1.5px solid transparent}.players li.current{background:var(--select-bg);border-color:var(--accent)}.players li.dead{opacity:.45;text-decoration:line-through}.players .phex{font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums;color:var(--ink-soft);font-size:12px}.btn.menu-btn{align-self:stretch;background:var(--hud-bg)}.hud-card{display:flex;align-items:stretch;gap:8px;min-width:0;background:var(--hud-bg);border:2px solid var(--panel-frame);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px 6px 6px 10px}.layout-sheet .hud-card{flex:1 1 auto}.hud-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.hud-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.lap-label{flex:0 0 auto;font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums;font-size:12px;font-weight:600;color:var(--ink-soft);white-space:nowrap}.hud-card .players{flex:0 0 auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:0;background:none;border:0;border-radius:0;box-shadow:none}.hud-card .players::-webkit-scrollbar{display:none}.hud-card .players li{flex:0 0 auto;padding:2px 6px;gap:4px}.hud-card .menu-btn{flex:0 0 auto;align-self:center;width:40px;height:40px;min-height:40px;border:0;box-shadow:none}.action-row{position:absolute;right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:5px;padding:5px}.action-row .btn{min-height:40px;padding-top:0;padding-bottom:0}.action-row .btn.primary{min-width:150px;font-size:15px;white-space:nowrap}.btn.icon-btn{width:40px;padding-left:0;padding-right:0;font-size:20px;line-height:1}.float-row{position:absolute;left:10px;right:10px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 62px);display:flex;justify-content:space-between;align-items:flex-end;gap:8px;pointer-events:none}.float-row>*{pointer-events:auto}.map-tools{display:flex;gap:8px}.btn.round-btn{width:44px;height:44px;padding:0;border-radius:50%;font-size:20px;line-height:1;background:var(--hud-bg);border:2px solid var(--panel-frame);box-shadow:var(--shadow)}.float-chip{appearance:none;font:inherit;font-size:13px;font-weight:700;color:var(--ink);background:var(--hud-bg);border:2px solid var(--accent);border-radius:999px;box-shadow:var(--shadow);padding:6px 12px;cursor:pointer;touch-action:manipulation}.float-chip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.undo-note{position:absolute;right:10px;top:calc(var(--layout-top-h, 64px) + 2px);max-width:calc(100% - 20px);margin:0;font-size:12px;background:var(--hud-bg);padding:4px 10px;border-radius:8px;z-index:4}.province-panel{position:absolute;left:10px;top:calc(max(10px,env(safe-area-inset-top)) + 70px);width:290px;max-height:calc(100% - 170px);overflow:auto;background:var(--panel);border:var(--panel-frame-w) solid var(--panel-frame);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;z-index:5}.province-panel header{display:flex;align-items:center;gap:8px}.province-panel h3{margin:0;font-size:17px}.province-panel .legend-btn{margin-left:auto;min-width:30px;font-weight:800}.province-panel .close{font-size:18px;line-height:1}.ledger{margin:10px 0;display:grid;gap:2px;font-size:14px}.ledger div{display:flex;justify-content:space-between;padding:3px 2px}.ledger dt{color:var(--ink-soft)}.ledger dd{margin:0;font-family:var(--font-num);font-weight:700;font-variant-numeric:lining-nums tabular-nums}.ledger .gold{color:var(--gold);font-size:18px}.ledger .net{border-top:1px solid var(--line);margin-top:2px;padding-top:5px}.ledger .neg{color:var(--danger)}.ledger .pos{color:var(--ok)}.warning{background:var(--danger-bg);border:1.5px solid var(--danger-edge);color:var(--danger-ink);border-radius:var(--radius-btn);padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-size:13px;margin-bottom:10px}.warning strong{font-size:14px}.buy-menu{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.buy-item{position:relative;appearance:none;border:1.5px solid var(--btn-edge);border-radius:var(--radius-btn);background:var(--btn);color:var(--ink);box-shadow:var(--btn-shadow);padding:6px 6px 6px 48px;min-height:52px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:center}.buy-item .piece-icon{position:absolute;left:5px;top:50%;transform:translateY(-50%)}.buy-item .bl{font-weight:700;font-size:13px}.buy-item .bp{font-size:13px;color:var(--gold);font-weight:700;font-variant-numeric:lining-nums tabular-nums}.buy-item .bp:before{content:"● ";font-size:9px;vertical-align:2px}.buy-item .bu{display:block;min-height:1.2em;font-size:11px;line-height:1.2}.buy-item .why{font-size:11px;color:var(--danger);line-height:1.2}.buy-item kbd{position:absolute;right:5px;top:4px;font-size:10px;color:var(--ink-soft);font-family:inherit}.buy-item.on{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--select-bg)}.buy-item.off{cursor:not-allowed;background:var(--panel-2);box-shadow:none}.buy-item.off .piece-icon{filter:grayscale(.9);opacity:.55}.buy-hint{position:absolute;left:50%;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 64px);transform:translate(-50%);background:var(--tip-bg);color:var(--tip-ink);padding:6px 14px 6px 8px;border-radius:999px;display:flex;gap:8px;align-items:center;font-size:14px;pointer-events:none;white-space:nowrap}.tooltip{position:absolute;max-width:260px;background:var(--tip-bg);color:var(--tip-ink);font-size:13px;padding:6px 10px;border-radius:8px;pointer-events:none;z-index:30;box-shadow:var(--shadow)}.toast{position:absolute;top:80px;left:50%;transform:translate(-50%);background:var(--tip-bg);color:var(--tip-ink);padding:8px 16px;border-radius:10px;font-size:14px;z-index:40;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}}.curtain{position:absolute;inset:0;z-index:50;background:var(--curtain);display:grid;place-items:center;padding:16px}.curtain.soft{background:var(--curtain-soft);backdrop-filter:blur(2px)}.curtain-card{background:var(--panel);border:var(--panel-frame-w) solid var(--panel-frame);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:28px 26px;max-width:440px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.curtain-card h2{margin:0;font-size:26px}.curtain-card p{margin:0}.curtain-card .btn{margin-top:10px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:700}.standings{list-style:none;padding:0;margin:10px 0;width:100%;display:grid;gap:4px}.standings li{display:flex;justify-content:space-between;background:var(--panel-2);border-radius:8px;padding:6px 10px;font-size:14px}.theme-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.theme-card{appearance:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 6px 8px;border:1.5px solid var(--btn-edge);border-radius:var(--radius-btn);background:var(--btn);color:var(--ink);cursor:pointer;font-size:13px;font-weight:600;touch-action:manipulation}.theme-card:hover{background:var(--btn-hover)}.theme-card.on{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--select-bg)}.theme-card:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.theme-preview{position:relative;width:100%;height:64px;border-radius:calc(var(--radius-btn) - 3px);overflow:hidden}.theme-tile{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.theme-preview .piece-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-62%)}.menu-style{margin-top:4px}@media(max-width:640px){.players .pname{display:none}.seat-row{grid-template-columns:36px 1fr}.seat-row select{grid-column:2}.seat-row>.btn{grid-column:2;justify-self:start}.buy-hint{white-space:normal;width:max-content;max-width:calc(100% - 20px)}.menu-screen,.setup-screen{padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.menu-card,.setup-card{padding:22px 16px}.menu-actions{grid-template-columns:1fr}.saves li{flex-wrap:wrap;row-gap:8px}.save-main{flex:1 1 180px}.save-actions{margin-left:auto}.setup-head h1{font-size:24px}.choice-cards,.grid2{grid-template-columns:1fr}.row input[type=number]{width:auto;flex:1}.setup-foot .btn{width:100%}}.bottom-dock{display:contents}.layout-sheet .bottom-dock{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:0 max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));pointer-events:none;z-index:6}.layout-sheet .bottom-dock>*{pointer-events:auto}.layout-sheet .float-row{position:static}.layout-sheet .action-row{position:static;align-self:stretch;background:none;border:0;box-shadow:none;padding:0}.layout-sheet .action-row .btn.primary{flex:1;min-width:0}.action-card{background:var(--panel);border:var(--panel-frame-w) solid var(--panel-frame);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px 10px}.sheet-actions{position:sticky;bottom:0;margin:8px -10px 0;padding:8px 10px;border-top:1px solid var(--line);background:var(--panel)}.next-btn{position:relative;gap:6px;display:inline-flex;align-items:center}.next-btn .badge{background:var(--accent);color:var(--primary-ink);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;white-space:nowrap}.layout-sheet .zoom-btn{display:none}.province-sheet{background:var(--panel);border:var(--panel-frame-w) solid var(--panel-frame);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px 10px 0;max-height:52dvh;overflow-y:auto;overscroll-behavior:contain}.province-sheet.placing{padding:6px 8px 0}.province-sheet.placing .sheet-actions{margin:6px -8px 0;padding:8px}.sheet-alert{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;background:var(--danger-bg);border:1.5px solid var(--danger-edge);color:var(--danger-ink);border-radius:var(--radius-btn);padding:4px 8px;margin-top:6px;font-size:12px}.sheet-alert strong{font-size:13px}.sheet-summary{display:flex;align-items:center;gap:8px;height:44px;min-width:0}.stats{flex:0 0 auto;display:grid;grid-auto-flow:column;grid-auto-columns:46px;gap:4px}button.stats{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center}.stats-caret{font-size:12px;color:var(--ink-soft);align-self:center}.sheet-count{margin-left:6px;font-weight:500;color:var(--ink-soft)}.btn.sheet-step{min-width:32px;min-height:32px;width:32px;padding:0;color:var(--ink-soft)}.sheet-summary .emblem{flex:0 0 auto}.stat{display:flex;flex-direction:column;min-width:0;line-height:1.1}.stat-l{font-size:9px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);font-weight:600;white-space:nowrap}.stat-v{font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums;font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-name{flex:1 1 0;min-width:0;font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-name.bankrupt{color:var(--danger)}.stat-v.gold{color:var(--gold)}.stat-v.neg{color:var(--danger)}.stat-v.pos{color:var(--ok)}.sheet-summary .btn{flex:0 0 auto}.btn.sheet-chevron{font-size:14px;line-height:1;min-width:32px;min-height:32px;width:32px;padding:0;color:var(--ink-soft)}.ledger.compact{grid-template-columns:1fr 1fr;column-gap:16px;margin:8px 0 0;font-size:13px}.ledger.compact .net{border-top:none;margin-top:0;padding-top:3px}.sheet-buy{height:68px;margin-top:8px;display:flex;align-items:center}.expanded .sheet-buy{height:80px}.sheet-buy>*{flex:1 1 auto;min-width:0}.sheet-buy>.sheet-legend{flex:0 0 auto}.buy-chips{display:flex;gap:6px;overflow-x:auto;height:100%;align-items:stretch;margin:0 -10px;padding:2px 10px;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain}.buy-chips::-webkit-scrollbar{display:none}.buy-chip{position:relative;flex:0 0 auto;scroll-snap-align:start;appearance:none;width:58px;height:100%;padding:3px 2px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1.5px solid var(--btn-edge);border-radius:var(--radius-btn);background:var(--btn);color:var(--ink);box-shadow:var(--btn-shadow);cursor:pointer;touch-action:manipulation}.buy-chip .cp{font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums;font-size:12px;font-weight:700;color:var(--gold);line-height:1}.buy-chip .cl{font-size:10px;line-height:1.1;text-align:center}.buy-chip .cu,.buy-item .bu{color:var(--danger);font-weight:600}.buy-chip .cu{display:block;min-height:1.1em;font-size:10px;line-height:1.1;white-space:nowrap}.legend-chip{width:64px}.legend-chip .legend-q{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--btn-edge);font-weight:800;color:var(--ink-soft)}.buy-chip.on{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--select-bg)}.buy-chip.off{cursor:not-allowed;background:var(--panel-2);box-shadow:none;border-style:dashed}.buy-chip.off .piece-icon{filter:grayscale(.9);opacity:.5}.buy-chip.off .cp{color:var(--ink-soft)}.buy-chip:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.placing-bar{display:flex;align-items:center;gap:8px;font-size:14px}.placing-text{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}.layout-sheet .toast{top:auto;bottom:calc(var(--layout-dock-h, 80px) + 8px);max-width:calc(100% - 24px);width:max-content;text-align:center}.layout-sheet .hud-top{flex-wrap:wrap;align-items:stretch;gap:6px;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}.layout-sheet .players{order:3;flex:1 1 100%;flex-wrap:nowrap;justify-content:space-around;overflow-x:auto;scrollbar-width:none}.layout-sheet .turn-box{flex:1 1 0;min-width:0}.layout-sheet .hud-card .players{max-width:100%}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.legend-backdrop{position:absolute;inset:0;z-index:60;background:var(--curtain-soft);display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.legend-card{background:var(--panel);border:var(--panel-frame-w) solid var(--panel-frame);border-radius:var(--radius-card);box-shadow:var(--shadow);width:min(560px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden;outline:none}.legend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 14px 8px 16px;border-bottom:1px solid var(--line)}.legend-head h2{margin:0;font-size:22px}.legend-head .eyebrow{margin:0}.legend-head .btn{font-size:18px;line-height:1;min-width:36px;min-height:36px}.legend-body{overflow:auto;padding:8px 16px 16px;overscroll-behavior:contain}.legend-rules{margin:4px 0 10px;padding-left:18px;font-size:13px;color:var(--ink-soft);display:grid;gap:3px}.legend-sub{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:14px 0 6px}.legend-rows{list-style:none;margin:0;padding:0;display:grid;gap:6px}.legend-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:6px 8px;border-radius:var(--radius-btn);background:var(--panel-2)}.legend-main{display:flex;flex-direction:column;min-width:0}.legend-main strong{font-size:15px}.legend-main small{font-size:12px;color:var(--ink-soft);line-height:1.3}.legend-stats{margin:0;display:grid;gap:1px;font-size:12px;text-align:right;white-space:nowrap}.legend-stats div{display:flex;gap:6px;justify-content:flex-end}.legend-stats dt{color:var(--ink-soft)}.legend-stats dd{margin:0;font-weight:700;font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums}.legend-stats .gold{color:var(--gold)}.legend-stats .neg{color:var(--danger)}.muted-rows .legend-row{opacity:.6}@media(max-width:420px){.legend-row{grid-template-columns:32px minmax(0,1fr)}.legend-stats{grid-column:2;display:flex;flex-wrap:wrap;gap:2px 12px;text-align:left}.legend-stats div{justify-content:flex-start}}.handover{display:flex;flex-direction:column;gap:6px}.handover>small{font-size:12px}.handover-levels{display:flex;gap:6px}.handover-levels .btn{flex:1}.takeover-banner{position:absolute;left:50%;transform:translate(-50%);top:calc(var(--layout-top-h, 64px) + 4px);z-index:55;width:min(560px,calc(100% - 20px));display:flex;flex-direction:column;gap:6px}.takeover-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;background:var(--hud-bg);border:2px solid var(--accent);border-radius:var(--radius-btn);box-shadow:var(--shadow);padding:6px 8px 6px 10px}.takeover-text{display:flex;flex-direction:column;flex:1 1 160px;min-width:0;font-size:13px;line-height:1.25}.takeover-text small{color:var(--ink-soft)}.takeover-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.end-scrim{position:absolute;inset:0;z-index:5;background:color-mix(in srgb,var(--ink) 18%,transparent);pointer-events:none}.end-sheet{position:absolute;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:min(360px,calc(100% - 20px));background:var(--panel);border:var(--panel-frame-w) solid var(--panel-frame);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;z-index:25;display:flex;flex-direction:column;gap:8px}.layout-sheet .end-sheet{position:static;width:auto}.end-sheet:focus{outline:none}.end-sheet:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.end-title{margin:0;font-weight:700;font-size:17px}.end-sub{margin:-4px 0 0;font-size:13px;color:var(--ink-soft)}.end-row{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--panel-2);border-radius:var(--radius-btn)}.end-text{flex:1;min-width:0}.end-optout{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft);cursor:pointer}.end-optout input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.end-actions{display:flex;gap:8px}.end-actions .btn{flex:1;min-height:44px}.menu-scrim{position:absolute;inset:0;z-index:19}.layout-sheet .menu-scrim{background:color-mix(in srgb,var(--ink) 32%,transparent)}.menu-sheet{position:absolute;top:calc(var(--layout-top-h, 64px) + 4px);left:10px;width:340px;max-width:calc(100% - 20px);max-height:calc(100% - var(--layout-top-h, 64px) - 16px);z-index:20;display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--panel);border:var(--panel-frame-w) solid var(--panel-frame);border-radius:var(--radius);box-shadow:var(--shadow)}.layout-sheet .menu-sheet{top:auto;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:min(86dvh,calc(100% - 16px))}.menu-sheet:focus{outline:none}.menu-head{display:flex;align-items:center;gap:8px;min-height:40px}.menu-head h2{flex:1;margin:0;font-size:17px}.menu-close,.menu-back{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:var(--radius-btn);background:transparent;color:var(--ink-soft);cursor:pointer}.menu-close:hover,.menu-back:hover{background:var(--select-bg)}.menu-close:focus-visible,.menu-back:focus-visible{outline:3px solid var(--focus)}.menu-close svg,.menu-back svg{width:20px;height:20px}.menu-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.menu-danger{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:6px 8px;border:0;border-radius:var(--radius-btn);background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}.menu-item:hover:not(:disabled){background:var(--select-bg)}.menu-item:focus-visible{outline:3px solid var(--focus);outline-offset:-2px}.menu-item:disabled{opacity:.45;cursor:default}.menu-item-icon{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--panel-2)}.menu-item-icon svg{width:20px;height:20px}.menu-item.danger{color:var(--danger)}.menu-item.danger .menu-item-icon{background:var(--danger-bg);color:var(--danger-ink)}.menu-item-text{flex:1;min-width:0;display:flex;flex-direction:column}.menu-item-text small{font-weight:400;font-size:12px;color:var(--ink-soft)}.menu-chevron{flex:0 0 auto;width:18px;height:18px;color:var(--ink-soft)}.menu-scroll{display:flex;flex-direction:column;gap:6px;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 2px 2px}.menu-scroll .eyebrow{margin:8px 0 0}.menu-group{display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--panel-2);border-radius:var(--radius-btn)}.menu-group .toggle small{display:none}.menu-note{margin:0;font-size:12px}.menu-label{font-size:12px;font-weight:600;color:var(--ink-soft)}.volume-row{display:flex;align-items:center;gap:10px}.volume-row .menu-label{flex:0 0 104px}.volume-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.menu-group .seg button:disabled{opacity:.5;cursor:default}.menu-keys{margin:8px 0 0}.handover-open{display:flex;flex-direction:column;gap:6px;padding:0 8px 6px 56px}.gate-keep{display:contents}.gate-keep[hidden]{display:none}.site-links{display:flex;gap:16px;margin:24px 0 0;font-size:13px;color:var(--ink-soft)}.site-links a{color:inherit;text-decoration:underline}.online-card{display:flex;flex-direction:column;gap:14px}.online-card h1{margin:0;font-size:28px}.online-card p{margin:0}.name-card{width:min(460px,100%)}.note{color:var(--ink-soft)}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-weight:600}.field small{color:var(--ink-soft)}.field input,.join-row input,.invite-link input,.server-form input,.field select{border:1.5px solid var(--line);border-radius:var(--radius-btn);background:var(--input-bg);padding:10px 12px;font-size:16px;min-width:0}.field.inline{flex-direction:row;align-items:center;flex-wrap:wrap;margin-top:10px}.field.inline>span{font-weight:500;color:var(--ink-soft)}.server-line{font-size:12px;color:var(--ink-soft);text-align:center;margin:18px 0 0;overflow-wrap:anywhere}.online-card .server-line{margin-top:4px}.btn.danger{color:var(--danger)}.server-setting{margin-top:14px;display:flex;flex-direction:column;gap:8px}.server-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.server-row>span{display:flex;flex-direction:column;min-width:0}.server-row small{color:var(--ink-soft);font-size:12px;overflow-wrap:anywhere}.server-form{display:flex;flex-direction:column;gap:8px}.setup-head .who{margin-left:auto;border:1.5px solid var(--line);border-radius:var(--radius-btn);background:transparent;padding:6px 10px;font:inherit;cursor:pointer;font-weight:600;color:var(--ink-soft);max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 4px}.join-row{display:flex;gap:8px;margin:10px 0}.join-row input{flex:1;text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-num)}.sync-note{margin:8px 0 0}.game-group{margin:18px 0}.game-group h2{display:flex;align-items:center;gap:8px}.game-group .count{font-size:12px;line-height:1;min-width:20px;text-align:center;padding:4px 6px;border-radius:999px;background:var(--panel-2);color:var(--ink);letter-spacing:0}.game-group .count.hot{background:var(--accent);color:var(--primary-ink)}.game-group ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.game-group>p{margin:0}.game-row .row-main{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:var(--panel-2);border:1.5px solid transparent;border-radius:var(--radius-btn);padding:10px 12px;cursor:pointer}.game-row .row-main:hover{border-color:var(--line)}.game-row .row-main:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.game-row.your-turn .row-main{background:var(--select-bg);border-color:var(--accent)}.row-text{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;font-size:13px}.row-text strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-deadline{font-family:var(--font-num);font-size:13px;color:var(--ink-soft);white-space:nowrap}.row-deadline.soon{color:var(--danger);font-weight:700}.badge{font-size:12px;font-weight:700;background:var(--primary);color:var(--primary-ink);border-radius:999px;padding:4px 10px}.empty{color:var(--ink-soft);text-align:center;margin:24px 0}.settings-fields{border:0;margin:0;padding:0;min-width:0}.pace-cards{grid-template-columns:repeat(3,1fr)}.seat-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-seat{grid-template-columns:26px 1fr auto auto}.lobby-seat.open .seat-name{font-weight:500}.seat-status{display:flex;justify-content:flex-end}.tag.ok{color:var(--ok);background:var(--select-bg)}.tag.wait{font-style:italic}.invite{background:var(--panel-2);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.invite .eyebrow{margin:0}.invite-code{font-family:var(--font-num);font-size:30px;font-weight:700;letter-spacing:.14em;text-align:center;user-select:all}.invite-link{display:flex}.invite-link input{flex:1;font-size:14px;color:var(--ink-soft)}.invite-actions{justify-content:center;flex-wrap:wrap}.rules-list{margin:0 0 10px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.rules-list li{font-size:13px;background:var(--panel-2);border-radius:999px;padding:3px 10px}.lobby-foot{flex-direction:column;align-items:stretch;gap:8px}.start-note{text-align:center;margin:0}.online-line{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.conn-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px var(--hud-bg)}.conn-pill.reconnecting .conn-dot,.conn-pill.connecting .conn-dot{background:var(--gold);animation:blink .7s infinite alternate}.conn-pill.offline .conn-dot,.conn-pill.failed .conn-dot{background:var(--danger)}.conn-pill.offline,.conn-pill.failed{color:var(--danger)}.countdown{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-num);font-weight:700;font-size:13px;color:var(--ink-soft)}.countdown.mine{color:var(--ink)}.countdown.urgent{color:var(--danger);animation:blink .5s infinite alternate}.pace-note{font-size:12px;color:var(--ink-soft);font-style:italic}.presence-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ink-soft);background:transparent;flex-shrink:0;margin-left:-2px}.presence-dot.on{border-color:var(--ok);background:var(--ok)}.net-banner{position:absolute;left:50%;top:var(--layout-top-h, 96px);white-space:nowrap;transform:translate(-50%);z-index:7;display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);background:var(--tip-bg);color:var(--tip-ink);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;box-shadow:var(--shadow)}.net-spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .9s linear infinite;flex-shrink:0}.net-banner.offline .net-spinner{animation:none;border-right-color:currentColor;opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}.out-banner{position:absolute;left:50%;top:var(--layout-top-h, 96px);white-space:nowrap;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:12px;background:var(--hud-bg);border:2px solid var(--panel-frame);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px 8px 8px 14px;font-weight:600;max-width:calc(100% - 24px)}@media(max-width:640px){.home-actions{grid-template-columns:1fr}.pace-cards{grid-template-columns:1fr 1fr}.lobby-seat{grid-template-columns:26px 1fr auto}.lobby-seat select{grid-column:2}.lobby-seat .seat-status{grid-column:3;grid-row:1}.lobby-seat button{grid-column:2}.invite-code{font-size:26px}.net-banner,.out-banner{font-size:13px}.seat-row.compact{grid-template-columns:26px 1fr auto}.seat-row.compact select,.seat-row.compact button{grid-column:auto}}.seg{display:flex;border:1.5px solid var(--line);border-radius:var(--radius-btn);overflow:hidden}.seg button{flex:1;border:0;background:transparent;padding:9px 6px;font:inherit;font-weight:600;color:var(--ink-soft);cursor:pointer}.seg button+button{border-left:1.5px solid var(--line)}.seg button.on{background:var(--input-bg);color:var(--ink)}.seg button:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.link-btn{align-self:flex-start}.code-input,.link-code strong{font-family:var(--font-num);letter-spacing:.12em;text-transform:uppercase}.account-section{border-top:1.5px solid var(--line);padding:16px 0 4px;display:flex;flex-direction:column;gap:10px}.account-section h2{margin:0;font-size:18px}.account-section p{margin:0}.inline-form{display:flex;align-items:flex-end;gap:8px}.inline-form .field{flex:1;min-width:0}.stack-form{display:flex;flex-direction:column;gap:10px}.stack-form .btn{align-self:flex-start}.link-code{display:flex;flex-direction:column;gap:4px}.link-code strong{font-size:28px}.recovery-codes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.recovery-codes code{font-family:var(--font-num);letter-spacing:.08em;font-size:16px}.device-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.device-list li{display:flex;align-items:center;justify-content:space-between;gap:10px}.device-list li>span{display:flex;flex-direction:column;min-width:0}.ok-note{color:var(--ink-soft);font-weight:600}.note.warn{color:var(--danger)}.danger-zone{margin-top:10px}.danger-zone summary{cursor:pointer;color:var(--danger);font-weight:600;padding:6px 0}.danger-zone[open]{display:flex;flex-direction:column;gap:10px}
