:root .game{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"players" "bank" "board" "tray"}.game>.bank-slot{grid-area:bank;min-width:0;z-index:3;background:var(--paper);border-bottom:1px solid var(--line);padding:3px calc(8px + var(--sar)) 4px calc(8px + var(--sal))}.bank-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px 8px;color:var(--ink);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;min-height:24px}.bank-l{display:inline-flex;align-items:center;gap:4px;color:var(--ink-soft);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-right:2px}.bank-ico{flex:none}.bank-chip{display:inline-flex;align-items:center;gap:3px;min-height:22px}.bank-chip i{width:11px;height:15px;border-radius:2.5px;background:var(--rc);box-shadow:inset 0 0 0 1px #0000004d;flex:none}.bank-chip.deck i{box-shadow:2px -2px 0 -.5px color-mix(in srgb,var(--rc) 50%,#fff),inset 0 0 0 1px #0000004d}.bank-chip b{min-width:2ch;font-weight:800}.bank-chip.low b{color:#b0451c}.bank-chip.out{opacity:.55}.bank-chip.out b{color:var(--danger)}.bank-sep{width:1px;height:16px;background:var(--line)}@media (max-width: 899px){.bank-row.ck{gap:2px 4px;font-size:12px}.bank-row.ck .bank-l span{display:none}.bank-row.ck .bank-chip{gap:2px}.bank-row.ck .bank-chip i{width:9px;height:13px}.bank-row.ck .bank-chip b{min-width:1.5ch}.bank-row.ck .bank-sep{display:none}}@media (min-width: 900px),(orientation: landscape) and (min-width: 700px) and (max-height: 600px){:root .game{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"board players" "board bank" "board log" "tray log"}.game>.bank-slot{border-left:1px solid var(--line);padding:6px calc(10px + var(--sar)) 6px 10px}.bank-row{justify-content:flex-start;font-size:14px}}:root .game .build-btn .bl,:root .game .pp-vp small,:root .game .imp-mini,:root .game .dot-badge,:root .game .count-badge,:root .game .track-btn small,:root .game .pp-badge{font-size:12px}.skin-toggle{margin-bottom:8px}:root[data-skin=minimal]{--paper: #f2f3f5;--paper-2: #ffffff;--paper-3: #e6e8ec;--ink: #1b2027;--ink-soft: #545e69;--ink-faint: #98a1ab;--accent: #c8501f;--accent-ink: #ffffff;--line: rgba(20, 26, 34, .13);--shadow: 0 1px 2px rgba(16, 24, 40, .1), 0 0 0 1px rgba(16, 24, 40, .05);--shadow-lg: 0 10px 30px rgba(16, 24, 40, .2);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}:root[data-skin=minimal] body{background:var(--paper);background-image:none}:root[data-skin=minimal] .board-wrap{background:#1f6fb5!important}:root[data-skin=minimal] .btn{box-shadow:none}:root[data-skin=minimal] .icon-btn{box-shadow:var(--shadow)}:root[data-skin=minimal] .prompt{background:#fffffff7;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-skin=minimal] .prompt.mine{background:var(--ink)}:root[data-skin=minimal] .dice,:root[data-skin=minimal] .ck-status{background:#fffffff7}:root[data-skin=minimal] .game>.bank-slot{background:var(--paper-2)}:root[data-skin=minimal] .hand-card{filter:none}:root[data-skin=minimal] .dice .die{filter:none}:root[data-skin=minimal] .build-btn,:root[data-skin=minimal] .dev-btn{box-shadow:none;background:var(--paper)}:root[data-skin=minimal] .build-btn.on{background:var(--ink)}:root[data-skin=minimal] .side-log{background:var(--paper-2)}:root[data-skin=minimal] .players{background:var(--paper)}:root[data-skin=minimal] .players.pp-wrap .pchip.pp{background:#fff;box-shadow:none;border:1px solid var(--line);padding:4px 7px 4px 12px}:root[data-skin=minimal] .players.pp-wrap .pchip.pp:before{width:6px;box-shadow:none}:root[data-skin=minimal] .players.pp-wrap .pchip.pp.turn{border:2px solid var(--pc);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--pc) 22%,transparent);padding:3px 6px 3px 11px}:root[data-skin=minimal] .players.pp-wrap .pchip.pp[data-color=white].turn{border-color:#6f6a60}:root[data-skin=minimal] .offer,:root[data-skin=minimal] .sheet{background:#fff}:root[data-skin=minimal] .roll-glow{fill:#fff0;stroke:#ffd23f;stroke-width:5;r:27px}.board-svg .lbl{scale:var(--lbl, 1)}.side-offers{flex:none;margin-bottom:8px}.side-offers:empty{display:none}.side-offers .offers{width:100%;max-height:38vh}.side-offers .offer{box-shadow:none;border:1px solid var(--line)}:root[data-skin=night]{--paper: #121a2b;--paper-2: #1a2438;--paper-3: #0c1322;--ink: #e9eefb;--ink-soft: #a8b7d2;--ink-faint: #6d7c97;--accent: #e2a23c;--accent-ink: #1a1206;--ok: #5fae7f;--danger: #e2675a;--line: rgba(176, 198, 235, .16);--shadow: 0 2px 12px rgba(2, 7, 16, .55), 0 1px 2px rgba(2, 7, 16, .5);--shadow-lg: 0 14px 44px rgba(2, 7, 16, .72);--paper-lit: #222f4a;--glass: rgba(18, 26, 43, .94);--lamp: rgba(226, 162, 60, .35);color-scheme:dark}:root[data-skin=night] body{background:var(--paper);background-image:radial-gradient(circle at 22% 8%,rgba(120,160,230,.16),transparent 55%),radial-gradient(circle at 80% 92%,rgba(255,201,120,.08),transparent 55%)}@media (prefers-color-scheme: dark){:root:not([data-skin]){color-scheme:dark}:root:not([data-skin]) body{background:#121a2b;background-image:none}}:root[data-skin=night]{--page-sea: #0d1d34}:root[data-skin=night] .board-wrap{background:#0d1d34}:root[data-skin=night] .emblem{filter:drop-shadow(0 6px 14px rgba(2,7,16,.7))}:root[data-skin=night] input,:root[data-skin=night] select,:root[data-skin=night] .stepper{background:#0e1726;border-color:var(--line)}:root[data-skin=night] input:focus,:root[data-skin=night] select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e2a23c38}:root[data-skin=night] .btn{background:var(--paper-2);box-shadow:0 1px #ffffff0f inset,0 1px 2px #02071080}:root[data-skin=night] .btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#ffd69673;box-shadow:0 0 16px var(--lamp),0 1px #ffffff4d inset}:root[data-skin=night] .btn.primary:active:not(:disabled){box-shadow:0 0 8px var(--lamp)}:root[data-skin=night] .btn.primary:disabled,:root[data-skin=night] .dice-slot .dice.sov-dice.dice-roll:disabled{background:var(--paper-2);color:var(--ink-faint);border-color:var(--line);box-shadow:none;opacity:1}:root[data-skin=night] .btn.ghost{background:transparent;box-shadow:none}:root[data-skin=night] .btn:disabled{opacity:.38;box-shadow:none}:root[data-skin=night] .icon-btn{background:var(--paper-2)}:root[data-skin=night] .icon-btn.ghost{background:transparent;box-shadow:none}:root[data-skin=night] .dot-badge,:root[data-skin=night] .count-badge{color:var(--accent-ink);box-shadow:0 0 8px var(--lamp)}:root[data-skin=night] .toggle-track{background:#27324a}:root[data-skin=night] .toggle-knob{background:#cdd8ee;box-shadow:0 1px 3px #02071099}:root[data-skin=night] .segmented{box-shadow:inset 0 0 0 1px var(--line)}:root[data-skin=night] .segmented button.on{background:var(--paper-lit);color:var(--ink);box-shadow:0 1px 3px #02071099}:root[data-skin=night] .card,:root[data-skin=night] .room-code{background:var(--paper-2);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}:root[data-skin=night] .seat{background:var(--paper-3)}:root[data-skin=night] .seat.me{border-color:#e2a23c80}:root[data-skin=night] .seat.empty{background:transparent}:root[data-skin=night] .tag{background:var(--paper-lit)}:root[data-skin=night] .conn.off{background:#475468}:root[data-skin=night] .swatch{border-color:#cdd8ee38}:root[data-skin=night] .avatar{border-color:#cdd8ee38}:root[data-skin=night] .players{background:var(--paper-3)}:root[data-skin=night] .pchip{background:var(--paper-2);box-shadow:0 1px 2px #02071080}:root[data-skin=night] .players.pp-wrap .pchip.pp{background:var(--paper-2);box-shadow:0 1px 2px #02071080}:root[data-skin=night] .players.pp-wrap .pchip.pp.turn{background:color-mix(in srgb,var(--pc) 20%,var(--paper-2));box-shadow:0 0 0 2px color-mix(in srgb,var(--pc) 45%,transparent),var(--shadow)}:root[data-skin=night] .players.pp-wrap .pchip.pp[data-color=white].turn{border-color:#cdd8ee;background:#243049;box-shadow:0 0 0 2px #cdd8ee59,var(--shadow)}:root[data-skin=night] .pp-track i{background:color-mix(in srgb,var(--tc) 26%,#1b2437)}:root[data-skin=night] .pp-conn.offline{box-shadow:0 0 0 2px #e2675a40}:root[data-skin=night] .pp-cloth-ico,:root[data-skin=night] .stat-cloth{color:#e0bb5c}:root[data-skin=night] .pp-pair{background:#5d6a7d}:root[data-skin=night] .pp-pair-1{background:#a8781f}:root[data-skin=night] .game>.bank-slot{background:var(--paper-3);border-bottom-color:var(--line)}:root[data-skin=night] .bank-chip i{box-shadow:inset 0 0 0 1px #02071080}:root[data-skin=night] .bank-chip.low b{color:#f0a85e}:root[data-skin=night] .bank-sep{background:var(--line)}:root[data-skin=night] .prompt{background:var(--glass);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}:root[data-skin=night] .prompt.mine{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 20px var(--lamp),var(--shadow)}:root[data-skin=night] .prompt.mine .btn.ghost{color:var(--accent-ink)}:root[data-skin=night] .eg-banner{background:var(--paper-2);box-shadow:0 6px 22px #020710b3}:root[data-skin=night] .eg-confirm{background:var(--paper-3);border-color:var(--line)}:root[data-skin=night] .spectator-badge{background:var(--paper-2);color:var(--ink);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}:root[data-skin=night] .conn-banner{background:#8a6a1e;color:#fff6dc}:root[data-skin=night] .toast{background:var(--paper-lit);color:var(--ink);box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--line)}:root[data-skin=night] .toast.error{background:#5d1f1a;color:#ffe3dd}:root[data-skin=night] .notice.warn{background:#3a2e12;color:#f1dca2;border-color:#5e4a1c}:root[data-skin=night] .notice.error{background:#3d1a17;color:#f2c3bb;border-color:#68302a}:root[data-skin=night] .roll-glow{fill:#ffd6964d;stroke:#ffd27a}:root[data-skin=night] .piece-pick .segmented{background:var(--glass);box-shadow:var(--shadow)}:root[data-skin=night] .dice,:root[data-skin=night] .ck-status{background:var(--glass)}:root[data-skin=night] .dice-slot .dice.sov-dice{background:var(--glass);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}:root[data-skin=night] .dice-slot .dice.sov-dice .die{filter:drop-shadow(0 0 6px rgba(255,214,150,.22))}:root[data-skin=night] .dice-slot .dice.sov-dice .dice-sum{color:var(--ink)}:root[data-skin=night] .dice-slot .dice.sov-dice.dice-roll{background:var(--accent);box-shadow:0 4px 16px #02071099,0 0 24px var(--lamp),inset 0 1px #ffffff4d}:root[data-skin=night] .ck-status.warn{box-shadow:0 0 0 2px var(--danger),var(--shadow)}:root[data-skin=night] .ck-forces .bad{color:#f08073}:root[data-skin=night] .side-log{background:var(--paper-3)}:root[data-skin=night] .hand-card{filter:drop-shadow(0 2px 5px rgba(2,7,16,.7))}:root[data-skin=night] .build-btn,:root[data-skin=night] .dev-btn{background:var(--paper-2);box-shadow:0 1px 2px #02071080}:root[data-skin=night] .build-btn.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 0 14px var(--lamp)}:root[data-skin=night] .build-btn.on .bb-left{color:var(--accent-ink)}:root[data-skin=night] .build-btn.glow,:root[data-skin=night] .glow{box-shadow:0 0 0 2px #e2a23c8c,0 0 14px var(--lamp)}:root[data-skin=night] .dev-stack{background:#6b4e9a;box-shadow:3px -3px #4a3570}:root[data-skin=night] .dev-stack.prog{background:#366a77;box-shadow:3px -3px #24505c}:root[data-skin=night] .devhand{border-left-color:var(--line)}:root[data-skin=night] .devhand-card{background:var(--paper-2);box-shadow:0 1px 2px #02071080}:root[data-skin=night] .devhand-card.playable{border-color:#4f9a52;background:#16301f;box-shadow:0 0 0 1.5px #5fae7f66,0 1px 2px #02071080}:root[data-skin=night] .devhand-tip{background:var(--paper-lit);color:var(--ink);box-shadow:0 6px 18px #020710b3,inset 0 0 0 1px var(--line)}:root[data-skin=night] .devhand-tip:after{border-top-color:var(--paper-lit)}:root[data-skin=night] .devhand-new{background:var(--accent);box-shadow:0 0 0 1.5px var(--paper-3)}:root[data-skin=night] .trade-dock{--td-bank: #2d6f7d;--td-get: #4e9b5a;--td-give: #cf5a46}:root[data-skin=night] .td-ask,:root[data-skin=night] .td-rows,:root[data-skin=night] .td-hand{background:var(--paper-2);border-color:var(--line);box-shadow:0 1px 3px #02071080}:root[data-skin=night] .td-row+.td-row,:root[data-skin=night] .td-status{border-top-color:var(--line)}:root[data-skin=night] .td-act.close{background:var(--paper-lit);color:var(--ink)}:root[data-skin=night] .td-act.players{box-shadow:0 2px #02071080,0 0 14px var(--lamp)}:root[data-skin=night] .td-act:disabled{background:var(--paper-3);color:var(--ink-faint)}:root[data-skin=night] .td-card{filter:drop-shadow(0 1px 4px rgba(2,7,16,.7))}:root[data-skin=night] .of-head{background:var(--glass)}:root[data-skin=night] .of-item,:root[data-skin=night] .offer{background:var(--glass);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}:root[data-skin=night] .side-offers .of-item{box-shadow:none}:root[data-skin=night] .of-ic{background:var(--paper-lit);border-color:var(--line);color:var(--ink)}:root[data-skin=night] .of-ic.yes{background:var(--ok);color:#06210f}:root[data-skin=night] .of-who{background:var(--paper-lit)}:root[data-skin=night] .of-who.accept{background:#1c3a26;color:#bfe6cb}:root[data-skin=night] .resp{background:var(--paper-lit)}:root[data-skin=night] .resp.accept{background:#1c3a26}:root[data-skin=night] .sheet-backdrop{background:#0207109e}:root[data-skin=night] .sheet{background:var(--paper-2);box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--line)}:root[data-skin=night] .sheet-foot{border-top-color:var(--line)}:root[data-skin=night] .res-btn,:root[data-skin=night] .dev-row,:root[data-skin=night] .cost-row,:root[data-skin=night] .pcard-btn,:root[data-skin=night] .track-btn,:root[data-skin=night] .track,:root[data-skin=night] .last-attack,:root[data-skin=night] .scenario-card,:root[data-skin=night] .scores li{background:var(--paper-3);box-shadow:inset 0 0 0 1px var(--line)}:root[data-skin=night] .res-btn.on,:root[data-skin=night] .die-pick.on{background:#3a2a12;border-color:var(--accent)}:root[data-skin=night] .victim.cloth{background:#3a2e12}:root[data-skin=night] .scores li.win{background:#3a2c10;box-shadow:inset 0 0 0 2px var(--accent)}:root[data-skin=night] .levels li{background:var(--paper-3)}:root[data-skin=night] .imp-table th,:root[data-skin=night] .imp-table td{border-bottom-color:var(--line)}:root[data-skin=night] .cost-dot{border-color:#cdd8ee40}:root[data-skin=night] .chat-line{background:var(--paper-2)}:root[data-skin=night] .chat-line.me{background:#24324c}:root[data-skin=night] .logchat-list .log-line:has(>.lg-turn){border-top-color:var(--line)}:root[data-skin=night] .lg-res{background:color-mix(in srgb,var(--rc) 26%,#121a2b);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--rc) 70%,transparent)}:root[data-skin=night] .lg-die{background:#e6ebf7;color:#16203a;box-shadow:inset 0 0 0 1.5px #8c9ab5}:root[data-skin=night] .lg-die.red{background:#8e2019;color:#ffe8e3;box-shadow:inset 0 0 0 1.5px #c04036}:root[data-skin=night] .lg-card{background:#4b3c2e;color:#efe6d4}:root[data-skin=night] .lg-card.dev{background:#6b4e9a}:root[data-skin=night] .lg-card.progress{background:#366a77}:root[data-skin=night] .lg-sum.seven{color:#f08073}:root[data-skin=night] .lg-ev.ship{background:#3a2a1c}:root[data-skin=night] .gs-banner{background:linear-gradient(180deg,#2a3754,#1a2438 85%);border-bottom-color:var(--line)}:root[data-skin=night] .gs-banner .trophy{filter:drop-shadow(0 2px 6px rgba(2,7,16,.7))}:root[data-skin=night] .gs-table td{background:var(--paper-3);border-top-color:var(--line)}:root[data-skin=night] .gs-table tr.win td{background:#2c3450}:root[data-skin=night] .gs-table td.gs-hl{background:#243049}:root[data-skin=night] .gs-table tr.win td.gs-hl{background:#4a3813}:root[data-skin=night] .gs-awards li{background:var(--paper-3)}:root[data-skin=night] .gs-actions{background:var(--paper-2);border-top-color:var(--line)}:root[data-skin=night] .gs-warn{background:#3d1a17;color:#f2c3bb}:root[data-skin=night] .gs-dot,:root[data-skin=night] .gs-dot.light{box-shadow:0 0 0 1px #cdd8ee66}:root[data-skin=night] .lg-bar,:root[data-skin=night] .dc-bar{fill:#b2975f;background:#b2975f}:root[data-skin=night] .rv-pill,:root[data-skin=night] .rv-dice{background:var(--glass);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}:root[data-skin=night] .rv-card{background:var(--paper-3)}:root[data-skin=night] .rv-hand{background:var(--paper-2)}:root[data-skin=night] .rv-hand.turn{background:#2a3754}:root[data-skin=night] .rv-winner{background:#3a2c10}:root[data-skin=night] .rv-error{background:#3d1a17}:root[data-skin=night] .rv-log-list li button:hover{background:#cdd8ee14}:root[data-skin=night] .rv-log-list li.cur button{background:#3a2c10}:root[data-skin=night] .rv-devtag{background:#2e2440;color:#cbb6e6}:root[data-skin=night] .rv-devtag.prog{background:#1f3942;color:#a9d2db}:root[data-skin=night] .rv-dot,:root[data-skin=night] .rv-dot.light{box-shadow:0 0 0 1px #cdd8ee66}:root[data-skin=night] .rv-scrub input[type=range]::-webkit-slider-thumb{background:#cdd8ee}:root[data-skin=night] .rv-scrub input[type=range]::-moz-range-thumb{background:#cdd8ee}:root[data-skin=night] .back-summary{box-shadow:0 4px 14px #02071099,0 0 0 3px #0c1322d9}.gs-backdrop{align-items:center;padding:calc(10px + var(--sat)) 10px calc(10px + var(--sab))}.gs-card{width:min(760px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--paper-2);border-radius:20px;box-shadow:var(--shadow-lg);animation:rise .25s ease-out}.gs-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 18px 14px;background:linear-gradient(180deg,#fff1d2,#fbf6ea 85%);border-bottom:1px solid var(--line);position:relative}.gs-banner:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--wc)}.gs-banner .trophy{flex:none;filter:drop-shadow(0 2px 3px rgba(59,47,34,.25))}.gs-banner-t{min-width:0}.gs-title{margin:0;font-size:26px;line-height:1.1;text-align:left}.gs-sub{color:var(--ink-soft);font-size:14px;font-weight:600;margin-top:2px}.gs-body{padding:4px 16px 10px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.gs-body h3{margin:12px 0 6px}.gs-loading{display:flex;align-items:center;justify-content:center;gap:4px;padding:36px 0;color:var(--ink-soft);font-weight:600}.gs-body .scores{margin-top:10px}.gs-warn{color:var(--danger);background:#fbe9e4;padding:8px 10px;border-radius:10px}.gs-grid{display:grid;grid-template-columns:1fr;gap:0 18px}.gs-sec{min-width:0}.gs-table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px}.gs-table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;font-size:14px}.gs-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);padding:0 3px 5px;text-align:center;white-space:nowrap}.gs-table th abbr{text-decoration:none}.gs-table th.gs-name-h{text-align:left;padding-left:8px}.gs-table td{text-align:center;padding:7px 3px;background:#fffdf7;border-top:1px solid var(--line)}.gs-table tr td:first-child{border-radius:10px 0 0 10px}.gs-table tr td:last-child{border-radius:0 10px 10px 0}.gs-table tbody tr:first-child td{border-top:0}.gs-table tr.win td{background:#fff0cf}.gs-name{text-align:left!important;padding-left:8px!important;font-weight:600;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.gs-name span:last-child{vertical-align:middle}.gs-total-h{color:var(--ink)!important}.gs-total{font-weight:800;font-size:16px}.gs-zero{color:var(--ink-faint)}.gs-sub-n{color:var(--ink-soft);font-size:12px}.gs-table th.gs-hl-h{color:var(--ink)}.gs-table td.gs-hl{font-weight:800;background:#fdf0d8}.gs-table tr.win td.gs-hl{background:#ffe7ad}.gs-cap{color:var(--ink-soft);margin:7px 2px 0;line-height:1.35}.gs-dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:7px;vertical-align:middle;box-shadow:0 0 0 1px #3b2f2240}.gs-dot.light{box-shadow:0 0 0 1px #3b2f2273}.gs-note{color:var(--ink-soft);margin:6px 2px 0;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.gs-legend{display:inline-flex;align-items:center;gap:5px}.gs-legend i{display:inline-block}.lg-bar{width:10px;height:10px;border-radius:2px;background:#c9ab7c}.lg-exp{width:16px;border-top:2px dashed var(--ink)}.seven-t{color:var(--danger)}.dice-chart{width:100%;height:auto;display:block;max-height:190px}.dc-axis{stroke:var(--line);stroke-width:1.5}.dc-bar{fill:#c9ab7c}.dc-bar.seven{fill:var(--danger)}.dc-n{font-size:11px;font-weight:700;text-anchor:middle;fill:var(--ink-soft);font-variant-numeric:tabular-nums}.dc-seven .dc-n{fill:var(--danger)}.dc-x{font-size:12px;font-weight:700;text-anchor:middle;fill:var(--ink)}.dc-x.seven{fill:var(--danger)}.dc-exp{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-dasharray:4 3;opacity:.75}.dc-exp-dot{fill:var(--ink);opacity:.75}.gs-awards{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px}.gs-awards li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:0;padding:6px 9px;border-radius:10px;background:#fffdf7;font-size:13px;min-width:0}.gs-awards .aw-l{grid-column:1 / -1;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700}.gs-awards b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-awards .aw-n{grid-column:1 / -1;color:var(--ink-soft);font-size:12px}.gs-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 14px calc(12px + var(--sab));border-top:1px solid var(--line);background:var(--paper-2)}.gs-actions .btn{padding:0 10px}.gs-ext{font-weight:500;opacity:.75}@media (min-width: 720px){.gs-grid{grid-template-columns:1fr 1fr}.gs-actions{grid-template-columns:1.3fr 1fr 1fr 1fr;padding:12px 18px 16px}.gs-body{padding:4px 22px 12px}.gs-title{font-size:30px}.gs-card{max-height:min(92vh,860px)}}.load-replay{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:10px;flex-wrap:wrap}.load-replay .btn{color:var(--ink-soft);font-weight:600}.load-replay .btn:hover{color:var(--ink)}.lr-sep{color:var(--ink-faint)}.replay-ico{flex:none}.rv-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--paper);display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;font-weight:600;color:var(--ink-soft)}.game.rv{z-index:40;background:var(--paper)}.rv .board-wrap{min-height:0}.rv-top{position:absolute;top:8px;left:8px;right:8px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none;z-index:2}.rv-top>*{pointer-events:auto}.rv-pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 12px 4px 5px;border-radius:22px;background:#fbf6eaf0;box-shadow:var(--shadow);font-weight:700;min-width:0;max-width:100%}.rv-badge{background:var(--ink);color:var(--paper-2);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:16px}.rv-pill-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-ok{color:var(--ok);font-size:12.5px;white-space:nowrap}.rv-bad{color:var(--danger);font-size:12.5px;white-space:nowrap}.rv-top-btns{display:flex;gap:6px;flex:none}.rv-error{position:absolute;top:56px;left:8px;right:8px;background:#fbe9e4;color:var(--danger);border-radius:10px;padding:6px 10px;z-index:2}.rv-dice{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;background:#fbf6eaeb;border-radius:14px;box-shadow:var(--shadow);z-index:2}.rv-dice b{font-size:22px;min-width:26px;text-align:center;font-variant-numeric:tabular-nums}.rv-dice b.seven{color:var(--danger)}.rv-dice.fresh{animation:rv-pop .28s ease-out}@keyframes rv-pop{0%{transform:scale(.86)}60%{transform:scale(1.06)}to{transform:scale(1)}}.rv-card{display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 2px;border-radius:8px;background:#fffdf7;box-shadow:0 0 0 1px var(--line) inset;font-size:13px}.rv-card svg{display:block}.rv-card b{font-variant-numeric:tabular-nums}.rv-winner{position:absolute;left:50%;top:58px;transform:translate(-50%);z-index:2;padding:8px 18px;border-radius:20px;background:#fff0cf;box-shadow:0 0 0 2px var(--wc) inset,var(--shadow);font-weight:800;font-size:18px;white-space:nowrap;animation:rise .25s ease-out}.rv-controls{grid-area:tray;z-index:3;background:var(--paper);border-top:1px solid var(--line);padding:8px calc(10px + var(--sar)) calc(8px + var(--sab)) calc(10px + var(--sal));display:flex;flex-direction:column;gap:6px}.rv-desc{display:flex;align-items:center;gap:7px;min-height:36px;font-size:14px}.rv-turn{flex:none;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--paper-2);background:var(--ink-soft);padding:3px 7px;border-radius:8px;font-variant-numeric:tabular-nums}.rv-desc-t{min-width:0;overflow:hidden;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.3}.rv-dot{flex:none;display:inline-block;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1px #3b2f224d}.rv-dot.light{box-shadow:0 0 0 1px #3b2f2280}.rv-dot.sm{width:9px;height:9px;margin-right:6px;vertical-align:0}.rv-scrub{display:flex;align-items:center;gap:10px}.rv-scrub input[type=range]{flex:1;min-width:0;height:32px;padding:0;border:0;background:transparent;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.rv-scrub input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--pct),var(--paper-3) var(--pct))}.rv-scrub input[type=range]::-moz-range-track{height:8px;border-radius:4px;background:var(--paper-3)}.rv-scrub input[type=range]::-moz-range-progress{height:8px;border-radius:4px;background:var(--accent)}.rv-scrub input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-8px;border-radius:50%;background:#fffdf7;border:2px solid var(--accent);box-shadow:var(--shadow)}.rv-scrub input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fffdf7;border:2px solid var(--accent)}.rv-scrub input[type=range]:focus{box-shadow:none}.rv-scrub input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #b5562c40}.rv-count{flex:none;font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;min-width:64px;text-align:right}.rv-btns{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.rv-transport{display:flex;gap:4px;align-items:center}.rv-transport .icon-btn{box-shadow:0 1px 2px #3b2f221f}.rv-transport .icon-btn:disabled{opacity:.4;cursor:default}.rv-play.icon-btn{width:52px;height:52px;background:var(--accent);color:var(--accent-ink);border-color:#0000001a}.rv-speed{flex:none}.rv-speed .segmented button{min-width:44px;padding:0 10px}.rv-side{min-height:0}.rv-panel{display:flex;flex-direction:column;min-height:0;height:100%;gap:4px}.rv-hands h3,.rv-log h3{margin:6px 0}.rv-hands{display:flex;flex-direction:column;gap:5px;flex:none}.rv-hand{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:6px 9px 6px 11px;border-radius:10px;background:var(--paper-2);border-left:4px solid var(--pc);box-shadow:0 1px 2px #3b2f2214}.rv-hand.turn{background:#fff6dc}.rv-hand-n{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-hand-vp{font-weight:800;font-variant-numeric:tabular-nums}.rv-hand-vp small{font-size:10px;margin-left:2px;color:var(--ink-soft)}.rv-hand-cards{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;min-height:20px}.rv-hand-dev{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px}.rv-devtag{background:#ece3f3;color:#5b3f78;border-radius:6px;padding:1px 6px;font-size:11.5px;font-weight:600}.rv-devtag.prog{background:#e3eef0;color:#2f5d66}.rv-log{display:flex;flex-direction:column;min-height:0;flex:1}.rv-log-list{list-style:none;margin:0;padding:0 2px 0 0;overflow-y:auto;flex:1;min-height:120px;font-size:13.5px}.rv-log-list li button{all:unset;display:block;width:100%;box-sizing:border-box;padding:6px 8px;border-radius:8px;cursor:pointer;line-height:1.35}.rv-log-list li button:hover{background:#3b2f220f}.rv-log-list li button:focus-visible{outline:2px solid var(--accent)}.rv-log-list li.cur button{background:#fff0cf;box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.rv-log-list li.t-turn button{color:var(--ink-soft);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.rv-sheet .rv-panel{height:auto;flex:1;min-height:0}.rv-sheet .rv-log-list{min-height:200px}.rv-panel-btn{display:inline-flex}@media (min-width: 900px),(orientation: landscape) and (min-width: 700px) and (max-height: 600px){.rv-panel-btn{display:none}.rv-controls{border-top:1px solid var(--line);flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:16px;padding:10px 16px 12px}.rv-desc{flex:1 1 100%;font-size:15px}.rv-scrub{flex:1 1 300px}.rv-btns{flex:none;flex-wrap:nowrap;gap:14px}.rv-side{padding-top:4px}}@media (max-width: 440px){.rv-ok-t{display:none}.rv-btns{flex-wrap:nowrap;gap:6px}.rv-transport{gap:3px}.rv-transport .icon-btn{width:40px;height:40px}.rv-play.icon-btn{width:48px;height:48px}.rv-speed .segmented button{min-width:36px;padding:0 6px}}@media (max-width: 360px){.rv-transport .icon-btn:first-child,.rv-transport .icon-btn:last-child{display:none}}@media (max-width: 440px){.gs-table{font-size:13px}.gs-table th{font-size:10px;padding:0 1px 5px;letter-spacing:0}.gs-table td{padding:6px 1px}.gs-name{max-width:78px;padding-left:5px!important}.gs-table th.gs-name-h{padding-left:5px}.gs-total{font-size:15px}}.ep-back-disc{fill:#fffdf7d1;stroke:#2b2118;stroke-width:2}.ep-back-parrot .ep-back-disc{fill:#cfe8c4;stroke:#3d6b2f}.ep-back-goose .ep-back-disc{fill:#f5d6b0;stroke:#8a5222}.ep-back-q{font:700 22px system-ui,sans-serif;fill:#2b2118}.ep-small-label{font:700 11px system-ui,sans-serif;fill:#2b2118;paint-order:stroke;stroke:#fffdf7;stroke-width:3px}.ep-num{font:800 13px system-ui,sans-serif;fill:#1e3d55}.ep-skull{font:700 20px system-ui,sans-serif;fill:#fffdf7}.ep-abil{font:800 15px system-ui,sans-serif;fill:#4a2a12}.ep-tiny{font:800 11px system-ui,sans-serif;fill:#2b2118}.ep-fish.haul path{filter:drop-shadow(0 0 3px #fff6)}.ep-ship.done{opacity:.72}.ep-ship.active>g:first-child{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 2px #f7d36b)}.ep-flip-face{fill:#efe3c6;stroke:#8a6d3b;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:ep-flip .85s ease-in forwards}@keyframes ep-flip{0%{transform:scaleX(1);opacity:1}60%{transform:scaleX(.05);opacity:1}to{transform:scaleX(0);opacity:0}}@media (prefers-reduced-motion: reduce){.ep-flip-face{animation-duration:.01s}}.ep-path{fill:none;stroke:#fffdf7;stroke-width:4;stroke-dasharray:2 7;stroke-linecap:round;opacity:.75}.ep-step-disc{fill:#1e3d55;stroke:#fffdf7;stroke-width:2}.ep-step{font:800 11px system-ui,sans-serif;fill:#fffdf7}.ep-mp-chip{fill:#1e3d55;stroke:#fffdf7;stroke-width:2}.ep-mp-text{font:800 12px system-ui,sans-serif;fill:#fffdf7}.ep-row{display:flex;align-items:center;gap:6px;padding:3px 6px;min-height:34px;flex-wrap:nowrap;overflow:hidden}.ep-phase{font-weight:700;font-size:12px;padding:2px 8px;border-radius:999px;background:#e8dfc8;color:#3a2c21;white-space:nowrap}.ep-phase-epMove{background:#1e3d55;color:#fffdf7}.ep-phase-main{background:#3d6b2f;color:#fffdf7}.ep-gold{display:inline-flex;align-items:center;gap:3px;font-weight:800;font-size:14px;white-space:nowrap}.ep-mpchip{font-size:12px;font-weight:700;white-space:nowrap;color:#1e3d55}.ep-spacer{flex:1 1 auto}.ep-row .btn.sm{padding:4px 9px;font-size:13px;white-space:nowrap;position:relative}.ep-row .count-badge{margin-left:4px}.ep-box{border:1px solid #0002;border-radius:10px;padding:6px 8px;margin:6px 0}.ep-box-head{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;justify-content:space-between}.ep-h3{font-size:14px;margin:10px 0 4px}.ep-track{margin:8px 0}.ep-track-grid{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px;margin-top:4px}.ep-cell{height:22px;border-radius:5px;background:#0000000d;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;color:#fffdf7;text-shadow:0 0 2px #000a}.ep-cell.head{background:transparent;color:inherit;text-shadow:none;font-weight:700}.ep-score{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}.ep-score th,.ep-score td{text-align:left;padding:3px 4px;border-bottom:1px solid #0001}.ep-sw{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}.ep-pstat{gap:2px}.ep-pm{margin-left:3px;font-size:11px;font-weight:700;white-space:nowrap}.ep-lobby .scenario-card{margin-top:6px}[data-skin=minimal] .ep-back-disc{stroke-width:1.5}[data-skin=minimal] .ep-phase{border-radius:6px}.board-svg .targets .tgt-hex.tgt-a-epPlacePirate .tgt-mark{stroke:#1d2a3ad9;stroke-width:3.5;stroke-dasharray:8 5;fill:#ffffff24}.board-svg .targets .tgt-a-epBuildShip .tgt-mark,.board-svg .targets .tgt-a-epMoveShip .tgt-mark{stroke:#2f6c96f2}.board-svg .targets .tgt-a-epSettle .tgt-mark{stroke:#3d6b2ff2}.browse{width:100%;display:flex;flex-direction:column;gap:4px}.br-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.br-empty{margin:10px 0 2px}.br-list{list-style:none;margin:0 0 2px;padding:0;display:flex;flex-direction:column;gap:8px}.br-room{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.br-info{flex:1;min-width:0}.br-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.br-host{max-width:11em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-code{font-weight:800;letter-spacing:.12em;color:var(--ink-soft);font-size:13px}.br-tag{font-size:12px;color:var(--ink-soft);background:var(--paper-3);border-radius:999px;padding:1px 8px}.br-tag.open{color:var(--ok);background:#4f7f5224}.br-sub{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vis{display:flex;flex-direction:column;gap:8px}.vis .vis-note{margin:0}.gn{width:100%;display:flex;flex-direction:column;gap:6px}.gn-head{display:flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;color:var(--ink)}.gn-line{margin:0;font-size:13px;line-height:1.45;color:var(--ink-soft)}.gn-line b{color:var(--ink);font-weight:700}.gn-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-faint);flex:none}.gn-soon .gn-dot{background:var(--accent)}.gn-live .gn-dot{background:var(--ok);animation:gn-pulse 1.8s ease-in-out infinite}.gn-live{box-shadow:var(--shadow),inset 0 0 0 1px #4f7f5259}.gn-dc{margin-top:2px}.gn-dc .btn{width:100%}@keyframes gn-pulse{0%,to{box-shadow:0 0 #4f7f5280}50%{box-shadow:0 0 0 5px #4f7f5200}}@media (prefers-reduced-motion: reduce){.gn-live .gn-dot{animation:none}}.pchip .pp-av{position:relative;overflow:visible}.tt-ring{position:absolute;left:-7px;top:-7px;width:calc(100% + 14px);height:calc(100% + 14px);transform:rotate(-90deg);pointer-events:none;overflow:visible}.tt-ring .tt-track{fill:none;stroke:color-mix(in srgb,var(--pc) 22%,transparent);stroke-width:3}.tt-ring .tt-arc{fill:none;stroke:var(--pc);stroke-width:3.4;stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .4s ease}.tt-ring.tt-warn .tt-arc{stroke:var(--danger)}.tt-ring.tt-warn{animation:tt-ring-pulse 1s ease-in-out infinite}@keyframes tt-ring-pulse{0%,to{transform:rotate(-90deg) scale(1)}50%{transform:rotate(-90deg) scale(1.09)}}.tt-bar{position:absolute;left:11px;right:7px;bottom:2px;height:3px;border-radius:2px;overflow:hidden;pointer-events:none;background:color-mix(in srgb,var(--pc) 18%,transparent)}.tt-bar .tt-fill{display:block;height:100%;border-radius:inherit;background:var(--pc);transform-origin:left center;transition:transform .25s linear,background-color .4s ease}.tt-bar.tt-warn .tt-fill{background:var(--danger)}.tt-bar.tt-warn{animation:tt-blink 1s ease-in-out infinite}@keyframes tt-blink{0%,to{opacity:1}50%{opacity:.45}}@media (min-width: 900px) and (min-height: 601px){.pchip .tt-bar{display:none}}.end-wrap{position:relative;flex:none;display:flex;align-self:stretch}.tt-count{display:inline-flex;align-items:center;gap:3px;padding:2px 8px 2px 6px;border-radius:11px;background:var(--ink);color:var(--paper-2);font-size:12.5px;font-weight:800;line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 1px 4px #3b2f2259;transition:background-color .4s ease}.tt-count .tt-ico{width:11px;height:11px;flex:none}.tt-count.tt-end{position:absolute;top:-12px;left:50%;transform:translate(-50%);z-index:2;pointer-events:none}.tt-count.tt-warn{background:var(--danger);color:#fff}.tt-count.tt-end.tt-warn{animation:tt-pop 1s ease-in-out infinite}@keyframes tt-pop{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.12)}}.tt-count.tt-prompt{margin-left:2px;background:#fff8ee29;color:inherit;box-shadow:none;font-size:13px;padding:2px 8px 2px 6px;flex:none}.prompt:not(.mine) .tt-count.tt-prompt{background:#3b2f221a}.tt-count.tt-prompt.tt-warn{background:var(--danger);color:#fff;animation:tt-pop-inline 1s ease-in-out infinite}@keyframes tt-pop-inline{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.tt-setting{flex-wrap:wrap}.tt-setting .tt-note{flex-basis:100%;margin:4px 0 0}.dice-slot.rush-dice{display:flex;align-items:center;gap:6px}.rush-ring{position:relative;width:48px;height:48px;flex:none;display:grid;place-items:center;background:var(--paper, #fffdf7);border-radius:50%;box-shadow:0 2px 8px #281e0a40;color:var(--ink, #3b2f22)}.rush-ring svg{position:absolute;top:2px;right:2px;bottom:2px;left:2px}.rush-ring .rr-track{fill:none;stroke:#3b2f2224;stroke-width:4}.rush-ring .rr-prog{fill:none;stroke:#3d7a4f;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .3s}.rush-ring .rr-num{position:relative;font-weight:800;font-size:16px;line-height:1;font-variant-numeric:tabular-nums}.rush-ring.urgent .rr-prog{stroke:#c0572b}.rush-ring.urgent .rr-num{color:#a3401b}.rush-ring.locked .rr-prog,.rush-ring.paused .rr-prog{stroke:#8a8172}.end-btn.rush-vote{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.end-btn.rush-vote .rv-l{font-size:14px;line-height:1.05}.end-btn.rush-vote .rv-n{font-size:12px;font-weight:700;opacity:.92;font-variant-numeric:tabular-nums}.end-btn.rush-vote.on{background:#3d7a4f;border-color:#2f603d;color:#fff}.pp-robber-next{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border-radius:6px;background:#2f2a24;color:#f3eadb}.rush-lock{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;padding:16px;background:#1e1a1461;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.rush-lock .rl-card{max-width:320px;display:flex;flex-direction:column;gap:4px;text-align:center;padding:14px 16px;border-radius:14px;background:var(--paper, #fffdf7);color:var(--ink, #3b2f22);box-shadow:0 6px 24px #0000004d;font-size:14px}.rush-lock .rl-card b{font-size:16px}.rush-setting .exp-note{margin-top:2px}html[data-skin=minimal] .rush-ring{background:#fff;box-shadow:0 1px 3px #00000040;color:#1f2328}html[data-skin=minimal] .rush-ring .rr-prog{stroke:#2563eb}html[data-skin=minimal] .rush-ring.urgent .rr-prog{stroke:#dc2626}html[data-skin=minimal] .rush-ring.urgent .rr-num{color:#b91c1c}html[data-skin=minimal] .end-btn.rush-vote.on{background:#2563eb;border-color:#1d4ed8}html[data-skin=minimal] .pp-robber-next{background:#1f2328;color:#fff;border-radius:4px}html[data-skin=minimal] .rush-lock .rl-card{background:#fff;color:#1f2328;border-radius:8px}.rush-to{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.rush-to .rt-chip{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;border:1.5px solid rgba(59,47,34,.35);background:transparent;color:inherit;min-height:26px;line-height:1}.rush-to .rt-chip.on{background:var(--pc, #3d7a4f);border-color:var(--pc, #3d7a4f);color:#fff}html[data-skin=minimal] .rush-to .rt-chip{border-radius:4px;border-color:#c4c9d0}.map-thumb{display:block;width:100%;height:84px}.map-thumb.mini{display:inline-block;width:26px;height:20px;vertical-align:middle;margin-right:4px}.map-thumb.sel{width:84px;height:72px;flex:none}.map-pick-btn{display:inline-flex;align-items:center;gap:2px;max-width:100%}.map-sel{display:flex;gap:10px;align-items:flex-start}.map-sel p{margin:4px 0 0}.map-sheet .sheet-body{display:flex;flex-direction:column;gap:10px}.map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media (min-width: 640px){.map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.map-card{display:flex;flex-direction:column;align-items:stretch;gap:3px;text-align:left;padding:6px 6px 8px;border:1.5px solid var(--line);border-radius:12px;background:#fffdf7;color:inherit;font:inherit;cursor:pointer;min-width:0}.map-card.on{border-color:var(--accent, #2d62ad);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #2d62ad) 30%,transparent)}.map-card-name{font-weight:700;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-card-meta{font-size:12px;color:var(--ink-soft)}.map-card-note{font-size:11px;color:#8a4b12;line-height:1.25}.map-card.warn{border-style:dashed}.map-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.map-badge{font-size:11px;line-height:1.3;padding:1px 6px;border-radius:8px;background:var(--paper-3);color:var(--ink-soft);white-space:nowrap}.map-badge.ships{background:#dcebf5;color:#1f557f}.map-badge.gold{background:#fbeec0;color:#7d5a06}.map-badge.volcano{background:#f6d9cf;color:#84301b}.volcano-fx .vfx-flash{fill:#ff6a2b;opacity:0;animation:vfx-flash 1.6s ease-out 1}.volcano-fx .vfx-flow{stroke:#ff8a3d;stroke-linecap:round;opacity:0;animation:vfx-flow 1.6s ease-out 1}.volcano-fx .vfx-hit{fill:none;stroke:#d8431c;opacity:.55;animation:vfx-hit 1.6s ease-out 1}.volcano-fx .vfx-hit.miss{stroke:#8b7d74;opacity:.35}@keyframes vfx-flash{0%{opacity:0}15%{opacity:.55}to{opacity:0}}@keyframes vfx-flow{0%,20%{opacity:0}40%{opacity:.9}to{opacity:0}}@keyframes vfx-hit{0%,35%{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:.55;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.volcano-fx .vfx-flash,.volcano-fx .vfx-flow,.volcano-fx .vfx-hit{animation:none}}.dice-slot .dice.sov-dice.tb-deck{gap:8px;padding:5px 8px;position:relative}.tb-stack{position:relative;width:26px;height:38px;border-radius:5px;background:repeating-linear-gradient(135deg,#5b7fa6 0,#5b7fa6 4px,#4f7299 4px,#4f7299 8px);box-shadow:2px 2px #f4ecd9,3px 3px #9fb3c8,4px 4px #f4ecd9,5px 5px #9fb3c8;border:1.5px solid #2f4b69;flex:none}.tb-stack-n{position:absolute;inset:auto 0 2px 0;text-align:center;font-size:11px;font-weight:800;color:#fff;text-shadow:0 1px 1px #0008}.tb-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:space-between;width:64px;height:56px;padding:3px 3px 4px;border-radius:7px;background:#fbf5e6;border:1.5px solid #6b5638;box-shadow:0 1px 3px #0003;transform-origin:50% 50%;flex:none}.tb-card.big{width:96px;height:84px}.tb-card-back{background:repeating-linear-gradient(135deg,#5b7fa6 0,#5b7fa6 5px,#4f7299 5px,#4f7299 10px);border-color:#2f4b69}.tb-card-title{font-size:9px;line-height:1.05;font-weight:700;text-align:center;color:#4a3b2a;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tb-card.big .tb-card-title{font-size:12px}.tb-card-num{font-size:20px;font-weight:800;color:#2b2118;line-height:1;width:30px;height:30px;border-radius:50%;background:#f1e3bf;display:grid;place-items:center;border:1px solid #b59a68}.tb-card.big .tb-card-num{width:42px;height:42px;font-size:26px}.tb-card-num.red{color:#b3261e}.tb-card-num.seven{background:#3a2c21;color:#f4d35e;border-color:#3a2c21}.tb-ev-robberAttacks{background:#f3e1d9}.tb-ev-earthquake,.tb-ev-epidemic{background:#f1e2e2}.tb-ev-plentifulYear,.tb-ev-calmSeas,.tb-ev-tournament{background:#e7f0dc}.tb-flip{animation:tbFlip .65s ease-out}@keyframes tbFlip{0%{transform:perspective(300px) rotateY(90deg) translate(-20px);opacity:.2}60%{transform:perspective(300px) rotateY(-12deg);opacity:1}to{transform:none}}@media (prefers-reduced-motion: reduce){.tb-flip{animation:none}}.dice-slot .dice.sov-dice.tb-deck .tb-deck-label{position:absolute;bottom:-2px;left:0;right:0;font-size:10px}.dice-slot .dice.sov-dice.tb-deck.dice-muted .tb-card{opacity:.62}.tb-event-big{display:flex;gap:12px;align-items:center}.tb-event-big p{margin:0}.tb-tray{display:inline-flex;gap:6px;align-items:center;flex:none}.tb-chip{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 8px;border-radius:17px;border:1.5px solid #c9b48a;background:#fffaf0;color:#3a2c21;font-size:14px;cursor:pointer}.tb-chip b{font-size:15px}.tb-chip .tb-chip-l{font-size:11px;color:#6b5a44}.tb-chip.glow{border-color:#e0a526;box-shadow:0 0 0 2px #f3d27a88}.tb-tag{font-size:11px;font-weight:800;border-radius:8px;padding:1px 5px}.tb-tag.rich{background:#f6dc7a;color:#5a4300}.tb-tag.poor{background:#e7b9b2;color:#6b1c12}@media (max-width: 420px){.tb-chip .tb-chip-l{display:none}.tb-chip{padding:0 6px;gap:3px}}.tb-res-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:6px 0 10px}.tb-res-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:12px;min-height:52px}.tb-res-btn.on{outline:2px solid #e0a526}.tb-fish-hand{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:8px;min-height:32px}.tb-boot-note{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6b4a2a}.tb-uses{display:grid;gap:6px}.tb-use{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1.5px solid #d4c4a2;background:#fffaf0;text-align:left;font-size:14px;min-height:44px;color:#3a2c21}.tb-use:disabled{opacity:.45}.tb-use.on{border-color:#2f6f9c;background:#e7f2fa}.tb-use-cost{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#2f6f9c;color:#fff}.tb-pay-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.tb-pay{border:1.5px solid #c9b48a;border-radius:14px;padding:3px 10px;background:#fff;font-weight:700}.tb-pay.on{border-color:#2f6f9c;background:#e7f2fa}.tb-swap{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.tb-gold-list{display:grid;gap:4px;margin-bottom:8px}.tb-gold-row{display:flex;gap:8px;align-items:center;font-size:14px}.tb-gold-row>span:first-child{min-width:80px}.tb-gold-row svg{vertical-align:-3px}.pp-stat.tb-pp-fish svg,.pp-stat.tb-pp-gold svg{margin-right:1px}.pp-badge.tb-harbor{background:#2f6f9c;color:#fff}.pp-badge.tb-rich{background:#f6dc7a;color:#5a4300}.pp-badge.tb-poor{background:#e7b9b2;color:#6b1c12}.pp-badge.tb-bootb{background:#7a5532;color:#fff}.tb-lobby{border-top:1px solid #0001;margin-top:8px;padding-top:8px}.tb-lobby h3{margin:0 0 4px;font-size:15px}.tb-scen{display:grid;gap:6px;margin:6px 0}.tb-scen-opt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;padding:7px 10px;border-radius:10px;border:1.5px solid #d4c4a2;background:#fffaf0;color:#3a2c21;font-size:14px}.tb-scen-opt.on{border-color:#2f6f9c;background:#e7f2fa}.tb-scen-opt small{color:#6b5a44;font-size:12px}.tb-scen-opt .tb-soon{font-size:11px;color:#9a5b12;font-weight:700}.tb-variants{display:grid;gap:2px}.tb-matrix{font-size:12px;color:#6b5a44;margin:4px 0 0}[data-skin=minimal] .tb-chip,[data-skin=minimal] .tb-use,[data-skin=minimal] .tb-scen-opt{background:#fff;border-color:#cfd6dc}[data-skin=night] .tb-lobby{border-top-color:var(--line)}[data-skin=night] .tb-scen-opt{background:var(--paper-2);border-color:var(--line);color:var(--ink)}[data-skin=night] .tb-scen-opt.on{background:var(--paper-lit);border-color:var(--accent)}[data-skin=night] .tb-scen-opt small{color:var(--ink-soft)}[data-skin=night] .tb-scen-opt .tb-soon{color:var(--accent)}[data-skin=night] .tb-matrix{color:var(--ink-soft)}.settings .set-head{margin:14px 0 2px;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.settings .set-head-note{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;color:var(--ink-faint, var(--ink-soft))}.mode-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}@media (max-width: 470px){.mode-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}.mode-chip{min-width:0;min-height:40px;padding:6px 2px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:12px;border:1.5px solid var(--line);background:var(--paper-2, #fffdf7);color:inherit;font:inherit;font-weight:600;cursor:pointer}.mode-chip.on{border-color:var(--accent, #2d62ad);background:color-mix(in srgb,var(--accent, #2d62ad) 14%,var(--paper-2, #fffdf7))}.preview-card{display:flex;gap:12px;align-items:flex-start}.preview-pic{flex:none;width:104px;display:flex;flex-direction:column;align-items:center;gap:2px}.preview-pic .map-thumb.sel,.preview-pic .board-preview-empty{width:104px;height:88px}.board-preview{display:block}.board-preview-empty{border-radius:10px;background:color-mix(in srgb,#9ccbe0 55%,transparent)}.preview-cap{font-size:10px;color:var(--ink-soft);letter-spacing:.02em}.preview-text{min-width:0}.preview-text p{margin:4px 0 0}.preview-sub{display:block;margin-top:4px;color:var(--ink-faint, var(--ink-soft))}.addon{display:flex;flex-direction:column}.addon .toggle{font-weight:600}.addon-desc{margin:-8px 0 4px;font-size:12.5px;color:var(--ink-soft);line-height:1.3;padding-right:56px}.addon.blocked .toggle{opacity:.55;cursor:not-allowed}.addon-why{color:#8a4b12}.room-access{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}.vis.compact{gap:4px}.vis.compact .vis-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vis.compact .vis-row .toggle{flex:1;min-width:140px}@media (max-width: 380px){.preview-pic,.preview-pic .map-thumb.sel,.preview-pic .board-preview-empty{width:84px}.preview-pic .map-thumb.sel{height:72px}}:root[data-skin=night] .mode-chip{background:var(--paper-2);border-color:var(--line);color:var(--ink)}:root[data-skin=night] .mode-chip.on{background:var(--paper-lit, var(--paper-3));border-color:var(--accent)}:root[data-skin=night] .addon-why{color:#f0b46a}.board-pan>.board-static,.board-pan>.board-glow,.board-pan>.board-pieces{will-change:transform}.board>.board-pan{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform;transform-origin:0 0}.board-pan>.board-static,.board-pan>.board-glow,.board-pan>.board-pieces{overflow:visible}.board-pan>.board-glow,.board-pan>.board-pieces{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.board-pan>.board-glow{pointer-events:none;overflow:visible}.board-glow .lbl{scale:var(--lbl, 1)}.board-pan>.board-glow .roll-glow{animation:none}.board-pan>.board-glow .roll-glow.roll-glow-peak{fill:#ffec9633;stroke-width:6}.board-pan>.board-glow.glow-a{will-change:transform,opacity;animation:sov-glow-rest 1.6s ease-in-out 3}.board-pan>.board-glow.glow-b{will-change:transform,opacity;opacity:0;animation:sov-glow-peak 1.6s ease-in-out 3}@keyframes sov-glow-rest{50%{opacity:0}}@keyframes sov-glow-peak{50%{opacity:1}}.players.pp-wrap{display:grid;grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr));gap:5px 6px;overflow:visible;padding:calc(5px + var(--sat)) calc(6px + var(--sar)) 5px calc(6px + var(--sal))}.players.pp-wrap .pchip.pp{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-areas:"head head" "stats badges" "tracks tracks";align-items:center;gap:1px 4px;min-width:0;max-width:none;flex:none;position:relative;overflow:hidden;padding:4px 7px 4px 11px;border-radius:11px;border:2px solid transparent;background:var(--paper-2);box-shadow:0 1px 2px #3b2f221f}.players.pp-wrap .pchip.pp:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--pc);box-shadow:inset -1px 0 0 var(--pc-edge)}.players.pp-wrap .pchip.pp.turn{border-color:var(--pc);background:color-mix(in srgb,var(--pc) 14%,var(--paper-2));box-shadow:0 0 0 2px color-mix(in srgb,var(--pc) 30%,transparent),var(--shadow)}.players.pp-wrap .pchip.pp[data-color=white].turn{border-color:#8f8270;background:#fffdf6;box-shadow:0 0 0 2px #8f82704d,var(--shadow)}.players.pp-wrap .pchip.pp.offline{opacity:1}.players.pp-wrap .pchip.pp.offline>:not(.pp-head){opacity:.55}.pp-head{grid-area:head;display:flex;align-items:center;gap:5px;min-width:0}.pp-av{display:none;width:28px;height:28px;border-radius:50%;flex:none;align-items:center;justify-content:center;font-weight:800;font-size:14px;background:var(--pc);color:var(--pc-on);box-shadow:inset 0 0 0 1.5px var(--pc-edge)}.pp-name{font-weight:800;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp.me .pp-name{color:var(--ink)}.pp-conn{flex:none;width:8px;height:8px;border-radius:50%;font-size:0}.pp-conn.online{background:#5b9a5e}.pp-conn.bot{display:none}.pp-conn.offline{background:var(--danger);box-shadow:0 0 0 2px #a8382c33}.pp-turn{display:inline-flex;flex:none;color:var(--pc-text)}.pp[data-color=white] .pp-turn{color:var(--ink)}.pp-vp{margin-left:auto;display:flex;align-items:baseline;gap:1px;line-height:1;flex:none;padding-left:2px}.pp-vp b{font-size:19px;font-weight:850;font-variant-numeric:tabular-nums}.pp-vp small{font-size:11px;font-weight:800;color:var(--ink-soft)}.pp-stats{grid-area:stats;display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums;min-width:0;white-space:nowrap}.pp-stat{display:inline-flex;align-items:center;gap:2px}.pp-stat b{color:var(--ink);font-weight:750}.pp-stat .mini-ico{width:14px;height:14px}.pp-stat-l{display:none}.pp-stat.warn b{color:#fff;background:var(--danger);border-radius:5px;padding:0 3px}.pp-cloth-ico{color:#b38a1d;font-weight:800}.pp-desk{display:none}.pp-tag.discard{font-size:12.5px;font-weight:800;color:#fff;background:var(--danger);border-radius:6px;padding:0 5px}.pp-badges{grid-area:badges;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px;min-width:0;min-height:18px}.pp-badge{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:800;line-height:18px;padding:0 5px;border-radius:6px;color:#fff;background:#6b5b46;white-space:nowrap}.pp-badge i{font-style:normal;font-weight:700;opacity:.85;display:none}.pp-badge.lr{background:#8a6a3d}.pp-badge.la{background:#7a4a8c}.pp-badge.isle{background:#2f6c96}.pp-badge.vpc{background:#b0832a}.pp-badge.merch{background:#c9962e}.pp-badge.def{background:#6b5b46}.pp-tracks{grid-area:tracks;gap:6px;margin-top:2px}.pp-track{display:inline-flex;gap:2px}.pp-track i{width:9px;height:6px;border-radius:2px;background:color-mix(in srgb,var(--tc) 18%,#e8dcc3)}.pp-track i.on{background:var(--tc)}.players.pp-wrap.pp-n5 .pchip.pp,.players.pp-wrap.pp-n6 .pchip.pp,.players.pp-wrap.pp-n3 .pchip.pp{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "stats" "badges" "tracks"}.players.pp-wrap.pp-n5 .pp-badges,.players.pp-wrap.pp-n6 .pp-badges,.players.pp-wrap.pp-n3 .pp-badges{justify-content:flex-start}.players.pp-wrap.pp-n5 .pp-stats,.players.pp-wrap.pp-n6 .pp-stats{gap:5px}@media not all and (min-width: 900px){.players.pp-wrap.pp-n2 .pp-badges,.players.pp-wrap.pp-n4 .pp-badges{flex-wrap:nowrap;overflow:hidden;justify-content:safe flex-end}}@media (max-width: 360px){.pp-stats{gap:4px}.pp-name{font-size:13px}}@media (min-width: 900px),(orientation: landscape) and (min-width: 700px) and (max-height: 600px){.players.pp-wrap{display:flex;flex-direction:column;gap:7px;overflow-y:auto;overflow-x:hidden;max-height:56vh;padding:calc(10px + var(--sat)) calc(10px + var(--sar)) 8px 10px}.players.pp-wrap .pchip.pp,.players.pp-wrap.pp-n3 .pchip.pp,.players.pp-wrap.pp-n5 .pchip.pp,.players.pp-wrap.pp-n6 .pchip.pp{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "stats" "badges" "tracks";gap:3px;padding:7px 10px 7px 14px;border-radius:12px}.players.pp-wrap .pchip.pp:before{width:6px}.pp-av{display:flex}.pp-name{font-size:15px}.pp-vp b{font-size:24px}.pp-vp small{font-size:12px}.pp-head{gap:7px}.pp-stats{font-size:13.5px;gap:12px;padding-left:35px}.pp-stat-l{display:inline;margin-left:2px}.pp-desk{display:inline-flex}.pp-tracks.pp-desk{display:flex;padding-left:35px}.pp-badges{justify-content:flex-start;padding-left:35px}.pp-badges{min-height:20px}.pp-badge{font-size:12.5px;line-height:20px;padding:0 7px}.pp-badge i{display:inline}.pp-conn{font-size:12px;width:auto;height:auto;min-width:8px;min-height:8px}.pp-conn.offline{font-weight:800;color:#fff;padding:0 6px;border-radius:6px;line-height:18px;box-shadow:none}}@media (min-width: 900px){.players.pp-wrap.pp-many{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-content:start;max-height:64vh;overflow-y:auto}.players.pp-wrap.pp-many .pchip.pp{padding:6px 9px 6px 13px;gap:2px;border-radius:11px}.players.pp-wrap.pp-many .pp-av{display:none}.players.pp-wrap.pp-many .pp-stats,.players.pp-wrap.pp-many .pp-badges,.players.pp-wrap.pp-many .pp-tracks.pp-desk{padding-left:0}.players.pp-wrap.pp-many .pp-stats{gap:8px;font-size:13px}.players.pp-wrap.pp-many .pp-stat-l{display:none}.players.pp-wrap.pp-many .pp-vp b{font-size:20px}.players.pp-wrap.pp-many .pp-badges{flex-wrap:nowrap;overflow:hidden;justify-content:safe flex-start}.players.pp-wrap.pp-many .pp-badge i{display:none}}@media (min-width: 900px) and (max-height: 820px){.players.pp-wrap.pp-many .pp-tracks{display:none}}@media (orientation: landscape) and (max-height: 600px){.players.pp-wrap{gap:4px;padding-top:calc(6px + var(--sat));max-height:46vh}.players.pp-wrap .pchip.pp,.players.pp-wrap.pp-n3 .pchip.pp,.players.pp-wrap.pp-n5 .pchip.pp,.players.pp-wrap.pp-n6 .pchip.pp{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head head" "stats badges";padding:3px 7px 3px 11px;gap:0 4px}.pp-av,.pp-tracks.pp-desk,.pp-stat-l,.pp-badge i{display:none}.pp-stats,.pp-badges,.pp-tracks.pp-desk{padding-left:0}.pp-badges{justify-content:flex-end}.pp-name{font-size:13.5px}.pp-vp b{font-size:18px}}.pp-pair{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 3px;margin-left:0;border-radius:8px;font-size:12px;font-weight:700;line-height:1;color:#fff;background:#9aa3ad;flex:none}.pp-pair-1{background:#b8862b}.pp-pair.on{box-shadow:0 0 0 2px #ffffffd9,0 0 0 3px #00000059}.pp.me .pp-name{flex:none}.pp.me .pp-head:has(.pp-pair) .pp-conn.online{display:none}.pp-head:has(.pp-pair){gap:3px}.pp-vp-full{font-size:13px;font-weight:800;color:var(--ink-soft);margin:0 2px 0 3px;font-variant-numeric:tabular-nums}.pp-badge.sig{display:inline-flex;align-items:center;gap:3px}.pp-badge.sig.need{background:#2f6c96}.pp-badge.sig.spare{background:#4a7c4a}.pp-badge.sig svg{display:block}button.pp-badge.sig.removable{border:0;font:inherit;color:inherit;cursor:pointer}button.pp-badge.sig.removable:hover,button.pp-badge.sig.removable:focus-visible{filter:brightness(1.12);outline:2px solid var(--ink-soft);outline-offset:1px}.pp-badge.sig .sig-x{margin-left:1px;font-weight:800;opacity:.8;line-height:1}.board-svg .targets .tgt .tgt-mark{animation:tgt-in .3s ease-out both;transform-box:fill-box;transform-origin:center;transition:transform .12s ease-out,fill .12s,stroke-width .12s,opacity .12s}@keyframes tgt-in{0%{opacity:0}}.board-svg .targets .tgt-vertex .tgt-mark{fill:#fffcf0eb;stroke:#964623e6;stroke-width:2.5;transform:scale(.78)}.board-svg .targets .tgt-edge .tgt-mark{fill:#fffaf0e6;stroke:#964623d9;stroke-width:2.5;transform:scaleY(.8)}.board-svg .targets .tgt-hex .tgt-mark{fill:#fffaeb0a;stroke:#fffaebc7;stroke-width:2.5;stroke-dasharray:none;stroke-linejoin:round}.board-svg .targets .tgt-hex.tgt-a-movePirate .tgt-mark{stroke:#1d2a3a80;stroke-dasharray:none;stroke-width:2.5;fill:#ffffff08}.board-svg .targets .tgt-a-buildShip .tgt-mark,.board-svg .targets .tgt-a-placeShip .tgt-mark,.board-svg .targets .tgt-a-moveShip .tgt-mark{stroke:#2f6c96e6}.board-svg .targets .tgt:hover .tgt-mark,.board-svg .targets .tgt:active .tgt-mark,.board-svg .targets .tgt:focus-visible .tgt-mark{fill:#fff;stroke:var(--accent);stroke-width:4;transform:scale(1.12)}.board-svg .targets .tgt-hex:hover .tgt-mark,.board-svg .targets .tgt-hex:active .tgt-mark{fill:#fff8e41a;stroke:#fffaf0;stroke-width:5;transform:none;filter:drop-shadow(0 0 1.5px rgba(59,47,34,.9))}@media (hover: none){.board-svg .targets .tgt:hover:not(:active) .tgt-mark{fill:#fffcf0eb;stroke-width:2.5;transform:scale(.78)}.board-svg .targets .tgt-hex:hover:not(:active) .tgt-mark{fill:#fffaeb0a;stroke:#fffaebc7;filter:none;transform:none}}.tray .hand{--card-w: clamp(42px, 11.4vw, 48px);height:auto;min-height:calc(var(--card-w) * 1.4 + 6px);align-items:flex-end}.tray .hand .hand-card svg{width:var(--card-w);height:auto}.tray .hand .hand-card{margin-right:calc(var(--card-w) * -.08)}@media (min-width: 900px){.tray .hand{--card-w: clamp(54px, 5.4vw, 86px);padding-top:10px}.tray .hand .hand-card{margin-right:calc(var(--card-w) * .06)}.tray .hand .hand-count{min-width:24px;height:24px;border-radius:12px;font-size:14px;top:-7px;right:-5px}}@media (orientation: landscape) and (max-height: 600px){.tray .hand{--card-w: 34px;min-height:54px;padding-top:4px}}.build-btn .bb-ico{display:flex;align-items:center;justify-content:center;gap:1px}.bb-left{font-size:12px;font-weight:850;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;min-width:12px;text-align:left}.build-btn.on .bb-left{color:var(--paper-2)}.bb-left.empty{color:var(--danger)}.pp-pieces{grid-column:1 / -1;display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink-soft);margin-top:1px}.pp-piece{display:inline-flex;align-items:center;gap:2px}.pp-piece b{color:var(--ink);font-weight:750}.pp-piece.empty b{color:var(--danger)}.pc-glyph{display:block;flex:none}.devhand{position:relative;flex:none;display:flex;align-items:center;min-width:0;max-width:52%;padding-left:6px;margin-left:1px;border-left:1.5px dashed var(--line);align-self:stretch}.tray .hand-row{min-height:76px}.devhand-cards{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);gap:4px;overflow:auto;scrollbar-width:none;padding:2px 2px 2px 1px;min-width:0;align-content:center;max-height:72px}.devhand-cards::-webkit-scrollbar{display:none}.devhand-card{position:relative;display:flex;align-items:center;gap:4px;min-height:32px;padding:2px 7px 2px 3px;border-radius:9px;cursor:pointer;touch-action:manipulation;border:1.5px solid var(--line);background:var(--paper-2);color:var(--ink);box-shadow:0 1px 2px #3b2f221f;transition:transform .12s,opacity .12s;white-space:nowrap}.devhand-face{display:block;flex:none;line-height:0}.devhand-face svg{display:block}.devhand-face svg text{display:none}.devhand-label{font-size:12.5px;font-weight:800;line-height:1.1;max-width:76px;overflow:hidden;text-overflow:ellipsis}.devhand-card.playable{border-color:#4f9a52;background:#eef6e9;box-shadow:0 0 0 1.5px #4f9a5259,0 1px 2px #3b2f221f}.devhand-card.playable:active{transform:translateY(-2px) scale(1.03)}.devhand-card.dim{opacity:.62}.devhand-card.dim .devhand-face{filter:grayscale(.6)}.devhand-card.dim.tipped{opacity:.9}.devhand-count{font-size:12px;font-weight:850;color:var(--ink-soft);font-variant-numeric:tabular-nums}.devhand-new{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#b5562c;box-shadow:0 0 0 1.5px var(--paper-2)}.devhand-tip{position:absolute;right:0;bottom:calc(100% + 8px);width:min(280px,76vw);z-index:8;background:var(--ink);color:var(--paper-2);font-size:13px;line-height:1.3;padding:8px 10px;border-radius:10px;box-shadow:0 6px 18px #00000040;cursor:pointer}.devhand-tip b{display:block;margin-bottom:1px}.devhand-tip:after{content:"";position:absolute;right:22px;top:100%;border:6px solid transparent;border-top-color:var(--ink)}.tray .hand-row:has(.devhand) .hand{--card-w: clamp(36px, 9.6vw, 46px)}@media (min-width: 900px){.tray .hand-row:has(.devhand) .hand{--card-w: clamp(54px, 5.4vw, 86px)}.tray .hand-row{min-height:84px}.devhand-cards{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(2,auto);gap:5px;max-height:80px}.devhand-card{min-height:36px}.devhand-face svg{width:26px;height:auto}.devhand-label{font-size:13.5px;max-width:110px}}@media (orientation: landscape) and (max-height: 600px){.devhand-card{min-height:26px}.devhand-face svg{width:16px;height:auto}.tray .hand-row{min-height:64px}.devhand-cards{max-height:60px}}.anim-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:15;overflow:hidden;contain:strict}.anim-layer>*,.anim-board>*{position:absolute;left:0;top:0;pointer-events:none;will-change:transform,opacity;backface-visibility:hidden}.anim-layer>.anim-board{transform-origin:0 0;width:0;height:0;overflow:visible}.anim-templates{display:none}.anim-piece>svg,.anim-occluder>svg{display:block;overflow:visible}.anim-flier>svg,.anim-flier>.anim-fan>svg{display:block;border-radius:9%/6.5%;box-shadow:0 10px 18px -4px #281e146b,0 3px 6px #281e1447,0 0 0 1px #3b2f221f}.anim-flier>.anim-fan{position:absolute;left:0;top:0;z-index:-1}.anim-flier>.anim-tag{position:absolute;left:50%;top:100%;transform:translate(-50%,5px);font:800 12px/1 var(--font, system-ui);letter-spacing:.01em;padding:3px 7px;border-radius:9px;white-space:nowrap;background:var(--ink, #3b2f22);color:var(--paper-2, #fbf6ea);box-shadow:0 1px 4px #00000059}.anim-badge>*{display:block}.anim-n{position:absolute;right:-10px;top:-10px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--ink, #3b2f22);color:var(--paper-2, #fbf6ea);font:800 13px/22px var(--font, system-ui);text-align:center;box-shadow:0 1px 3px #0000004d}.anim-bloom{border-radius:50%;background:radial-gradient(circle closest-side,color-mix(in srgb,var(--c) 70%,transparent) 0%,color-mix(in srgb,var(--c) 48%,transparent) 38%,color-mix(in srgb,var(--c) 16%,transparent) 62%,color-mix(in srgb,var(--c) 62%,transparent) 80%,color-mix(in srgb,var(--c) 20%,transparent) 90%,transparent 100%)}.anim-bloom.dots{--dc: color-mix(in srgb, var(--c) 85%, transparent)}.anim-bloom.dots:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;box-shadow:var(--drops)}.anim-shadow{border-radius:50%;background:radial-gradient(closest-side,#281e14bf,#281e1400)}.anim-dot{width:22px;height:30px;border-radius:5px;background:var(--paper-2, #fbf6ea);box-shadow:inset 0 0 0 2px var(--ink-soft, #6b5b46)}.anim-text{font:800 14px/1 var(--font, system-ui);padding:4px 8px;border-radius:11px;white-space:nowrap;background:var(--paper-2, #fbf6ea);color:var(--ink, #3b2f22);box-shadow:0 2px 8px #281e1440}.anim-text.vp{background:var(--ok, #4f7f52);color:#fff}.anim-text.vp.neg{background:var(--danger, #a8382c)}.anim-text.gain{color:var(--ok, #4f7f52)}.anim-text.loss{color:var(--danger, #a8382c)}.anim-text.small{font-size:12px;padding:2px 6px;border-radius:9px}.dice-slot .dice.rolling .die{animation:none}.anim-light{border-radius:50%;background:radial-gradient(circle closest-side,color-mix(in srgb,var(--lc) 92%,transparent),color-mix(in srgb,var(--lc) 56%,transparent) 26%,color-mix(in srgb,var(--lg) 34%,transparent) 54%,color-mix(in srgb,var(--lg) 12%,transparent) 78%,color-mix(in srgb,var(--lg) 0%,transparent))}.anim-light.wide{background:radial-gradient(circle closest-side,color-mix(in srgb,var(--lc) 34%,transparent),color-mix(in srgb,var(--lc) 23%,transparent) 40%,color-mix(in srgb,var(--lg) 10%,transparent) 72%,color-mix(in srgb,var(--lg) 0%,transparent))}.anim-light.glint{background:radial-gradient(circle closest-side,color-mix(in srgb,var(--lc) 40%,transparent),color-mix(in srgb,var(--lg) 22%,transparent) 46%,color-mix(in srgb,var(--lg) 30%,transparent) 80%,color-mix(in srgb,var(--lg) 0%,transparent))}.anim-ripple{border-radius:50%;background:radial-gradient(circle closest-side,transparent 0%,transparent 50%,color-mix(in srgb,var(--rc) 52%,transparent) 70%,color-mix(in srgb,var(--rc) 20%,transparent) 86%,color-mix(in srgb,var(--rc) 0%,transparent) 100%)}.anim-lantern>svg{display:block;overflow:visible}.anim-dark{border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--dkc) 70%,transparent),color-mix(in srgb,var(--dkc) 0%,transparent))}.anim-shadow.night{background:radial-gradient(closest-side,#030a16e6,#030a1600)}:root[data-skin=night] .anim-flier.lit>svg,:root[data-skin=night] .anim-flier.lit>.anim-fan>svg{box-shadow:0 0 14px 3px #ffd98a80,0 6px 14px -4px #030a16bf,0 0 0 1px #fff3cf38}:root[data-skin=night] .anim-flier.lit.silver>svg,:root[data-skin=night] .anim-flier.lit.silver>.anim-fan>svg{box-shadow:0 0 14px 3px #b9cfe680,0 6px 14px -4px #030a16bf,0 0 0 1px #cfdcf242}@media (prefers-reduced-motion: reduce){.anim-light,.anim-ripple,.anim-lantern,.anim-dark{display:none}}.dice-slot .dice.sov-dice{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;padding:6px 8px;border-radius:16px;background:#fffffff0;animation:none;transition:background-color .2s ease,box-shadow .2s ease;min-height:70px;min-width:138px}.ck .dice-slot .dice.sov-dice{min-width:184px}.dice-slot .dice.sov-dice .dice-row{display:flex;align-items:center;gap:6px}.dice-slot .dice.sov-dice .die{filter:none;display:inline-flex;transition:opacity .35s ease}.dice-slot .dice.sov-dice .die-face{display:inline-flex}.dice-slot .dice.sov-dice .dice-sum{font-weight:800;font-size:19px;padding:0 4px 0 2px;min-width:30px;text-align:center;color:var(--ink, #3b2f22);transition:opacity .35s ease}.dice-slot .dice.sov-dice.dice-muted .die{opacity:.5}.dice-slot .dice.sov-dice.dice-muted .dice-sum{opacity:.55}.dice-slot .dice.sov-dice.dice-idle .die{opacity:.8}.dice-slot .dice.sov-dice.dice-roll{flex-direction:column;gap:4px;padding:7px 9px 6px;cursor:pointer;background:var(--accent, #b9562e);box-shadow:0 4px 14px #3b2f2252,inset 0 1px #ffffff40}.dice-slot .dice.sov-dice.dice-roll:active{transform:scale(.96)}.dice-slot .dice.sov-dice.dice-roll:focus-visible{outline:3px solid var(--ink, #3b2f22);outline-offset:4px}.dice-slot .dice.sov-dice .dice-label{color:var(--accent-ink, #fff);font-weight:800;font-size:13px;line-height:1;letter-spacing:.02em;padding:0;white-space:nowrap}.dice-slot .dice.sov-dice .dice-halo{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:19px;pointer-events:none;box-shadow:0 0 0 3px var(--accent, #b9562e),0 0 10px 2px color-mix(in srgb,var(--accent, #b9562e) 65%,transparent);animation:sov-dice-halo 1.25s ease-in-out infinite;will-change:opacity,transform}.dice-slot .dice.sov-dice.dice-roll .die-face{animation:sov-die-nudge 1.25s ease-in-out infinite}.dice-slot .dice.sov-dice.dice-roll .die:nth-child(2) .die-face{animation-name:sov-die-nudge-r}@keyframes sov-dice-halo{0%,to{opacity:.25;transform:scale(.97)}50%{opacity:1;transform:scale(1.03)}}@keyframes sov-die-nudge{0%,64%,to{transform:none}32%{transform:translateY(-3px) rotate(-7deg) scale(1.06)}}@keyframes sov-die-nudge-r{0%,64%,to{transform:none}32%{transform:translateY(-3px) rotate(7deg) scale(1.06)}}@media (prefers-reduced-motion: reduce){.dice-slot .dice.sov-dice .dice-halo,.dice-slot .dice.sov-dice.dice-roll .die-face{animation:none}.dice-slot .dice.sov-dice .dice-halo{opacity:.9}}.tray.trading>.tray-row{display:none}.tray.trading{padding-top:6px}.trade-dock{--td-bank: #2f7d8c;--td-get: #3f8f3f;--td-give: #c4402f;display:grid;grid-template-columns:minmax(0,1fr) 62px;grid-template-areas:"main side" "hand hand";gap:6px;width:100%;max-width:780px;margin:0 auto;min-width:0;animation:td-in .16s ease-out}@keyframes td-in{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.trade-dock{animation:none}}.td-main{grid-area:main;display:flex;flex-direction:column;gap:6px;min-width:0}.td-ask,.td-rows,.td-hand{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 3px #3b2f2214}.td-ask{display:flex;align-items:center;gap:6px;padding:6px 8px;min-width:0}.td-ask-cards{display:flex;gap:5px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none;padding:5px 5px 1px 1px}.td-ask-cards::-webkit-scrollbar{display:none}.td-rows{display:flex;flex-direction:column;padding:2px 8px;min-width:0}.td-row{display:flex;align-items:center;gap:4px;min-height:60px;min-width:0}.td-row+.td-row{border-top:1px dashed var(--line)}.td-who{flex:none;width:50px;display:flex;align-items:center;gap:1px;color:var(--ink-soft)}.td-arrow.down{color:var(--td-get)}.td-arrow.up{color:var(--td-give)}.td-group{display:flex;color:var(--ink)}.td-me{width:26px;height:26px;border-radius:50%;background:var(--pc);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--paper-2),0 0 0 3.5px var(--pc);text-shadow:0 1px 1px rgba(0,0,0,.35)}.td-cards{display:flex;gap:9px;overflow-x:auto;flex:1;min-width:0;align-items:center;padding:6px 6px 4px 2px;scrollbar-width:none}.td-cards::-webkit-scrollbar{display:none}.td-hint{color:var(--ink-faint);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.td-status{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 0 4px;border-top:1px dashed var(--line);min-height:18px}.td-status.ready{color:var(--ok);font-weight:700}.td-counter{color:var(--accent)}.td-side{grid-area:side;display:flex;flex-direction:column;gap:6px}.td-act{flex:1;min-height:54px;border-radius:12px;border:1px solid rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;font-weight:800;font-size:12px;line-height:1;cursor:pointer;padding:4px 2px;box-shadow:0 2px #00000024;touch-action:manipulation}.td-act:active:not(:disabled){transform:translateY(1px);box-shadow:none}.td-act.bank{background:var(--td-bank);color:#fff}.td-act.td-offer{background:var(--accent);color:var(--accent-ink)}.td-act.close{background:var(--paper-2);color:var(--ink);flex:.8}.td-act:disabled{background:var(--paper-3);color:var(--ink-faint);box-shadow:none;cursor:default}.td-act-l{white-space:nowrap}.td-act-s{white-space:nowrap;font-size:12px;font-weight:700;opacity:.9}.td-hand{grid-area:hand;display:flex;gap:8px;align-items:flex-end;overflow-x:auto;padding:9px 8px 7px;min-height:76px;scrollbar-width:none}.td-hand::-webkit-scrollbar{display:none}.td-card{position:relative;flex:none;padding:0;border:0;background:none;cursor:pointer;line-height:0;border-radius:7px;isolation:isolate;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 1px 2px rgba(59,47,34,.25));transition:transform .1s}.td-card:active:not(:disabled){transform:scale(.94)}.td-card:disabled{cursor:default}.td-card.dim{opacity:.35;filter:grayscale(.5)}.td-card svg,.td-face{display:block}.td-card.stack{margin-right:4px}.td-under{position:absolute;left:4px;top:-3px;z-index:-1;opacity:.9}.td-badge{position:absolute;top:-6px;right:-7px;min-width:20px;height:20px;border-radius:10px;background:var(--ink);color:var(--paper-2);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px;line-height:1;z-index:1}.td-ask .td-badge{background:var(--td-get)}.td-row.give .td-badge{background:var(--td-give)}.td-chip{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);background:var(--td-bank);color:#fff;font-size:12px;font-weight:800;padding:1px 4px;border-radius:6px;line-height:1;white-space:nowrap;z-index:1}@media (min-width: 900px){.trade-dock{grid-template-columns:minmax(0,1fr) 76px}.td-act{font-size:13px}}@media (orientation: landscape) and (max-height: 600px){.tray.trading{flex-direction:column}.trade-dock{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 54px;grid-template-areas:"main hand side";max-width:none}.td-row{min-height:0}.td-cards{padding:4px 6px 2px 2px}.td-ask{padding:2px 6px}.td-ask-cards{padding-top:6px}.td-status{display:none}.td-hand{align-items:center;align-content:center;flex-wrap:wrap;min-height:0;padding:8px 6px 4px}.td-act{min-height:38px}.td-act .td-ico{width:18px;height:18px}}.offers-list{position:relative;display:flex;flex-direction:column;gap:6px;max-height:38vh;overflow-y:auto;overflow-x:hidden;width:min(380px,100%);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:0 2px 2px 0}.board-top .offers-list{max-height:34vh}.game:has(.tray.trading) .board-top .offers-list{max-height:24vh}.of-head{flex:none;position:sticky;top:0;z-index:1;align-self:flex-start;font-size:12px;font-weight:800;color:var(--ink-soft);background:#fbf6eaf2;border-radius:8px;padding:2px 8px;box-shadow:var(--shadow)}.of-item{flex:none;background:#fbf6eaf7;border-radius:14px;box-shadow:var(--shadow);padding:4px 6px 4px 9px;border-left:5px solid var(--pc, var(--accent));font-size:14px;display:flex;flex-direction:column;gap:3px}.of-item.mine{--pc: var(--ink-soft)}.of-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 5px;min-height:40px}.of-item.incoming .of-line{flex-wrap:nowrap}.of-item.incoming .of-cards{flex:none}.of-from{min-width:0;flex:0 1 auto;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.of-sp{flex:1 0 0}.of-ics{display:inline-flex;gap:4px;margin-left:auto}.of-ic{position:relative;width:40px;height:40px;flex:none;border-radius:11px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 1px #0000001a;touch-action:manipulation}.of-ic svg{width:20px;height:20px}.of-ic.yes{background:var(--ok);color:#fff;border-color:#0000001f}.of-ic:disabled{opacity:.4;cursor:default}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.of-l{color:var(--ink-soft);font-size:13px}.of-cards{display:inline-flex;gap:3px;align-items:center}.of-card{position:relative;line-height:0}.of-card .card-icon{display:block;line-height:0}.of-card b{position:absolute;top:-7px;right:-8px;min-width:18px;height:18px;border-radius:9px;background:var(--ink);color:var(--paper-2);font-size:12px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.of-foot{display:flex;gap:4px 6px;flex-wrap:wrap;align-items:center}.of-who{font-size:12px;padding:1px 6px;white-space:nowrap;border-radius:8px;border:1.5px solid var(--pc);background:var(--paper-2)}.of-who.accept{background:#e2f0dc;font-weight:700}.of-who.reject{opacity:.55}.of-btns{display:flex;gap:6px;flex-wrap:wrap}.of-btns .btn.sm,.of-foot .btn.sm{min-height:38px;padding:0 12px;font-size:14px}.of-foot{padding-bottom:2px}.of-confirm{margin-left:auto}.of-foot .of-confirm~.of-confirm{margin-left:0}.side-log .side-offers:not(:empty){flex:0 1 auto;min-height:96px;display:flex;flex-direction:column}.side-offers .offers-list{width:100%;max-height:min(30vh,300px);min-height:0;flex:0 1 auto}.side-offers .of-item{box-shadow:none;border:1px solid var(--line);border-left:5px solid var(--pc, var(--accent))}.board-top .offers-list.compact{width:max-content;max-width:100%;overflow:visible;max-height:none}.board-top .offers-list.compact.expanded{width:min(330px,100%);overflow-y:auto;max-height:34vh}.of-toggle{border:0;font:inherit;font-size:12px;font-weight:800;color:var(--ink-soft);cursor:pointer;min-height:26px;padding:2px 10px;display:inline-flex;align-items:center;gap:4px;touch-action:manipulation}.compact .of-item.incoming .of-line{min-height:0}.compact .of-item.incoming{padding-top:3px;padding-bottom:3px}.of-item.incoming.again{box-shadow:var(--shadow),0 0 0 2px var(--accent);animation:of-again 1.2s ease-out 2}@keyframes of-again{0%{box-shadow:var(--shadow),0 0 0 6px var(--accent)}to{box-shadow:var(--shadow),0 0 0 2px var(--accent)}}@media (prefers-reduced-motion: reduce){.of-item.incoming.again{animation:none}}.of-again{font-size:12px;font-weight:700;color:var(--accent);line-height:1.25;padding:0 2px 2px}.of-who.again{border-style:dashed;background:#fff4dc;font-weight:700}.compact .of-item.incoming.again .of-again{max-width:300px}.back-summary-wrap{position:absolute;left:0;right:0;bottom:calc(12px + var(--board-inset-bottom, 0px));display:flex;justify-content:center;pointer-events:none;z-index:6}.back-summary{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:0 18px 0 14px;border-radius:23px;font-size:15px;font-weight:800;box-shadow:0 4px 14px #3b2f2247,0 0 0 3px #fffdf7d9;white-space:nowrap}.rv-back-summary{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 14px 0 10px;border-radius:20px;font-weight:800;font-size:14px;white-space:nowrap}@media (max-width: 520px){.back-summary-wrap{bottom:calc(76px + var(--board-inset-bottom, 0px))}}.logchat-list .log-line{border-left:0;padding:3px 2px;line-height:1.5;font-size:14px}.logchat-list .log-line:has(>.lg-turn){margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.lg{display:inline}.lg>*{vertical-align:middle}.lg-p{display:inline-block;padding:0 6px;border-radius:6px;margin:0 1px;line-height:19px;font-weight:750;font-size:13.5px;background:var(--pc);color:var(--pc-on);box-shadow:inset 0 0 0 1px var(--pc-edge);white-space:nowrap;max-width:12em;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.lg-res{display:inline-flex;align-items:center;gap:1px;height:21px;padding:0 4px 0 2px;margin:0 1px;border-radius:6px;vertical-align:middle;background:color-mix(in srgb,var(--rc) 22%,#fffdf7);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--rc) 75%,transparent)}.lg-res b{font-size:13px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.lg-res svg{flex:none}.lg-gap{display:inline-block;width:2px}.lg-card{display:inline-block;padding:0 6px;height:20px;line-height:20px;border-radius:5px;font-size:12.5px;font-weight:700;vertical-align:middle;background:#6f5a45;color:#fbf6ea;margin:0 1px}.lg-card.dev{background:#76589a}.lg-card.progress{background:#4b7f8c}.lg-die{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:3px;border-radius:5px;background:#fffdf7;box-shadow:inset 0 0 0 1.5px var(--ink);font-weight:800;font-size:13px;color:var(--ink);vertical-align:middle}.lg-die.red{background:#b3261e;color:#fff;box-shadow:inset 0 0 0 1.5px #7d1712}.lg-sum{display:inline-block;min-width:20px;margin-left:5px;font-size:15px;font-weight:850;vertical-align:middle}.lg-sum:before{content:"= ";color:var(--ink-soft);font-weight:600;font-size:13px}.lg-sum.seven{color:#b3261e}.lg-ev{display:inline-block;margin-left:6px;padding:0 6px;border-radius:6px;font-size:12.5px;font-weight:750;color:#fff;background:var(--tc, #6b5b46);line-height:19px;vertical-align:middle}.lg-ev.ship{background:#4a3426}.lg-produce{display:inline-flex;flex-wrap:wrap;gap:3px 10px;vertical-align:middle}.lg-grp{display:inline-flex;align-items:center;gap:1px;white-space:nowrap}.lg-turn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.lg-turn .lg-p{text-transform:none;letter-spacing:0;font-size:13.5px}.lg-t-endTurn,.lg-t-discardNeeded{color:var(--ink-soft)}.lg-t-gameOver{font-weight:800}.pick-dock{grid-template-areas:"head head" "main side" "hand hand"}.pd-head{grid-area:head;display:flex;align-items:center;gap:8px;min-width:0;padding:0 2px;min-height:30px}.pd-title{font-size:15px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}.pd-status{font-size:13px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 0;min-width:0}.pd-status.ready{color:var(--ok);font-weight:700}.pd-who{font-size:12px;font-weight:700;gap:2px}.pd-src .td-ask-cards{justify-content:space-between;padding-top:7px}.pd-card.static{cursor:default}.pd-card.static:disabled{opacity:1}.pd-card:disabled:not(.static):not(.dim){opacity:.6}.pd-chip.info{background:var(--paper-3, #e9e1cf);color:var(--ink);border:1px solid var(--line)}.pd-chip.plus{background:var(--td-get);color:#fff}.pd-chip.minus{background:var(--td-give);color:#fff}.pd-go:not(:disabled){background:var(--ok);color:#fff}.pick-dock .td-act.close{flex:.7}.pd-monopoly .td-side{justify-content:flex-start}.pd-monopoly .td-act.close{flex:none;min-height:54px}.pd-monopoly .pd-src{padding-top:8px;padding-bottom:8px}.pd-discard .td-rows{min-height:64px;justify-content:center}.pd-discard .td-hand .td-card:not(:disabled){outline:2px dashed transparent}@media (orientation: landscape) and (max-height: 600px){.pick-dock{grid-template-areas:"head head head" "main hand side"}.pd-head{min-height:24px}}.pd-inline{display:flex;flex-direction:column;gap:6px}.pd-inline .td-ask,.pd-inline .td-rows{background:var(--paper-2);border:1px solid var(--line);border-radius:12px}@media (min-width: 900px){.pd-src .td-ask-cards{justify-content:flex-start;gap:14px}}.pick-dock .td-main{justify-content:center}.pick-dock .td-side,.pick-dock .td-act.pd-go{min-height:0}.pick-dock .pd-close svg{width:20px;height:20px}.pd-monopoly{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "main" "hand"}.pd-hand-l{flex:none;align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:800;color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;margin-right:-2px}.pick-dock .td-hand{min-height:70px;padding-top:8px;padding-bottom:6px}.pick-dock .td-hand .pd-card:not(.static):not(:disabled) .td-chip.plus{box-shadow:0 0 0 2px var(--paper-2)}@media (orientation: landscape) and (max-height: 600px){.pd-monopoly{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head" "main hand"}}.pd-head{min-height:26px}.pick-dock{gap:5px}.pick-dock .td-ask{padding:3px 8px}.pick-dock .pd-src .td-ask-cards{padding-top:6px;padding-bottom:4px}.pick-dock .td-hand{min-height:0;padding:7px 8px 6px}.pd-discard .td-rows{min-height:0}.pd-discard .td-row{min-height:54px}.pick-dock .td-act.pd-close{flex:.55;min-height:0}.pick-dock .td-act.pd-auto{flex:.8;min-height:0;padding:2px}.pd-auto-l{font-size:12px;font-weight:800;line-height:1.15;white-space:normal;text-align:center}.pd-monopoly{grid-template-columns:minmax(0,1fr) 62px;grid-template-areas:"head head" "main side" "hand hand"}@media (max-width: 899px) and (orientation: portrait){.pick-dock{grid-template-areas:"main side" "hand hand"}.pick-dock .pd-head{display:none}}@media (max-width: 899px) and (orientation: portrait){.pick-dock.pd-yop,.pick-dock.pd-monopoly{grid-template-areas:"head head" "main side" "hand hand"}.pick-dock.pd-yop .pd-head,.pick-dock.pd-monopoly .pd-head{display:flex}}.pd-go .td-act-l{font-size:12px;letter-spacing:-.01em}.prompt .sbp-flag{flex:none;white-space:nowrap;font-size:13px;padding:3px 9px;min-height:30px}.prompt .sbp-flag.on{background:#fff4d6;border-color:#b06d00;color:#6b3f00;font-weight:800}.pp-flag{font-size:13px;line-height:1;flex:none}@media (min-width: 900px){.players.pp-wrap.pp-n7,.players.pp-wrap.pp-n8{gap:5px}.players.pp-wrap.pp-n7 .pchip.pp,.players.pp-wrap.pp-n8 .pchip.pp{padding:5px 8px 5px 12px}.players.pp-wrap.pp-n7 .pp-stats,.players.pp-wrap.pp-n8 .pp-stats{gap:7px;font-size:12.5px}.players.pp-wrap.pp-n7 .pp-vp b,.players.pp-wrap.pp-n8 .pp-vp b{font-size:19px}}.players.pp-wrap.pp-n7 .pchip.pp,.players.pp-wrap.pp-n8 .pchip.pp{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "stats" "badges" "tracks"}.players.pp-wrap.pp-n7 .pp-badges,.players.pp-wrap.pp-n8 .pp-badges{justify-content:flex-start}.players.pp-wrap.pp-n7 .pp-stats,.players.pp-wrap.pp-n8 .pp-stats{gap:5px}.snd{position:absolute;top:60px;right:8px;z-index:4}.snd-btn{color:var(--ink)}.snd-btn.silent{color:var(--ink-faint)}.snd-pop{position:absolute;top:0;right:calc(100% + 8px);width:248px;padding:12px 14px 10px;border-radius:var(--r);background:var(--paper-2);box-shadow:var(--shadow-lg);border:1px solid var(--line);animation:snd-in .16s ease-out;transform-origin:top right}@keyframes snd-in{0%{opacity:0;transform:scale(.94) translateY(-4px)}to{opacity:1;transform:none}}.snd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:15px}.snd-switch{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px 0 4px;border-radius:18px;cursor:pointer;border:1px solid var(--line);background:var(--paper-3);color:var(--ink-soft);font-weight:700;font-size:13px}.snd-switch .knob{width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #3b2f224d;transition:transform .15s ease,background-color .15s}.snd-switch.on{background:var(--ok);color:#fff;border-color:transparent}.snd-switch.on .knob{background:#fff}.snd-row{display:grid;grid-template-columns:58px 1fr 38px;align-items:center;gap:8px;min-height:40px;font-size:14px;font-weight:600}.snd-row.off{opacity:.45}.snd-v{font-size:12px;color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums}.snd-row input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;min-height:0;background:transparent;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;outline-offset:4px;cursor:pointer;touch-action:none}.snd-row input[type=range]:focus{box-shadow:none;border:0}.snd-row input[type=range]:focus-visible{outline:2px solid var(--accent);border-radius:6px}.snd-row input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--accent) var(--pct),var(--paper-3) var(--pct))}.snd-row input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--paper-3)}.snd-row input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--accent)}.snd-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 3px #3b2f224d}.snd-row input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--accent)}.snd-note{margin:4px 0 0;font-size:12px;color:var(--ink-soft)}@media (max-width: 420px){.snd-pop{width:min(248px,calc(100vw - 80px))}}.eg-banner{position:absolute;top:60px;left:8px;right:60px;z-index:6;max-width:560px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 14px;background:var(--paper-2, #fbf6ea);color:var(--ink, #3b2f22);border:2px solid var(--accent, #b5562c);border-radius:14px;box-shadow:0 6px 22px #3b2f2247;animation:eg-in .18s ease-out}@keyframes eg-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.eg-banner{animation:none}}@media (min-width: 900px){.eg-banner{left:50%;right:auto;transform:translate(-50%);width:min(560px,calc(100% - 140px))}}.eg-text{display:flex;flex-direction:column;gap:2px;flex:1 1 200px;min-width:0;font-size:15px;line-height:1.3}.eg-sub{font-size:13px;color:var(--ink-soft, #6b5b46)}.eg-agreed{font-weight:600;color:var(--ok, #4f7f52)}.eg-clock{font-variant-numeric:tabular-nums;font-weight:800;font-size:18px;color:var(--accent, #b5562c)}.eg-row{display:flex;gap:8px;flex-wrap:wrap}.eg-banner .eg-row{flex:1 1 100%;justify-content:flex-end}.eg-banner .btn.sm{min-height:40px;padding:0 16px}.eg-confirm{border:1px solid var(--line, rgba(59, 47, 34, .14));border-radius:12px;padding:10px 12px;background:var(--paper-3, #efe3c6)}.eg-confirm p{margin:0 0 8px}.eg-hint{margin:2px 4px}.social-dock{position:absolute;top:calc(8px + 2 * (var(--tap, 44px) + 8px));right:8px;z-index:3;display:flex;flex-direction:column;gap:8px}.social-btn{color:var(--ink)}.social-btn.on{background:var(--paper-3)}.social-emoji,.social-emoji-big,.social-btn-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Twemoji Mozilla,EmojiOne Color,sans-serif;font-variant-emoji:emoji}.social-btn-emoji{font-size:21px;line-height:1;filter:saturate(.95)}.social-btn.used .social-btn-emoji{filter:grayscale(.85);opacity:.6}.social-used{position:absolute;right:-3px;bottom:-3px;min-width:18px;padding:0 3px;box-sizing:border-box;height:18px;border-radius:9px;background:var(--ink-soft, #6b5b46);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}.social-btn.has-unread{animation:social-nudge .5s ease-out}@keyframes social-nudge{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.social-pop{position:absolute;right:calc(100% + 8px);top:0;width:min(316px,calc(100vw - 70px));box-sizing:border-box;max-height:min(70vh,420px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px #3b2f2238,var(--shadow);padding:8px 10px;color:var(--ink);animation:social-pop-in .16s ease-out;transform-origin:top right}@keyframes social-pop-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.social-pop-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:2px 0 6px;font-size:14px}.social-pop-head+.social-emojis{margin-bottom:8px}.social-hint{font-size:12px;font-weight:700;color:var(--ink-soft)}.social-hint.off{color:var(--ink-faint)}.social-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.social-emoji{height:44px;min-width:0;border-radius:12px;border:1px solid var(--line);background:var(--paper);font-size:25px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;padding:0;transition:transform .1s ease}.social-emoji:active:not(:disabled){transform:scale(.9)}.social-emoji:disabled{filter:grayscale(1);opacity:.4;cursor:default}.social-mode{display:inline-flex;background:var(--paper-3);border-radius:10px;padding:2px;gap:2px}.social-mode button{border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:12px;font-weight:700;padding:0 8px;min-height:30px;border-radius:8px;cursor:pointer}.social-mode button.on{background:var(--paper-2);color:var(--ink);box-shadow:0 1px 3px #3b2f222e}.social-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.social-cards.n8{grid-template-columns:repeat(4,minmax(0,1fr))}.social-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:56px;padding:4px 0 3px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;touch-action:manipulation;font:inherit}.social-card span{font-size:12px;font-weight:700;letter-spacing:-.01em;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.social-card:active:not(:disabled){transform:scale(.94)}.social-card:disabled{opacity:.45;cursor:default}.social-foot{margin:6px 0 0;font-size:12px;color:var(--ink-soft);line-height:1.3}.social-mine{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.social-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;background:#2f6c96}.social-chip.spare{background:#4a7c4a}.social-chip-x{border:0;background:#ffffff38;color:inherit;font:inherit;font-weight:800;width:20px;height:20px;border-radius:50%;line-height:1;cursor:pointer;padding:0}.social-chip-x:hover,.social-chip-x:focus-visible{background:#fff6}.social-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:16;overflow:hidden}.social-flash{position:absolute;width:1.25em;height:1.25em;margin:-.625em 0 0 -.1em;line-height:1;display:flex;align-items:center;justify-content:center;animation:social-flash 2.2s cubic-bezier(.2,.8,.3,1) both;will-change:transform,opacity}.social-emoji-big{position:relative;font-size:1em;filter:drop-shadow(0 3px 4px rgba(40,30,20,.35))}.social-ring{position:absolute;top:-.1em;right:-.1em;bottom:-.1em;left:-.1em;border-radius:50%;border:.06em solid var(--accent, #c8553d);opacity:0;animation:social-ring .7s ease-out .05s both}.social-flash-name{position:absolute;top:100%;left:50%;transform:translate(-50%);white-space:nowrap;font-size:13px;font-weight:800;color:var(--ink);background:var(--paper-2);border-radius:8px;padding:1px 6px;box-shadow:var(--shadow)}@keyframes social-flash{0%{transform:scale(.2) rotate(-12deg);opacity:0}12%{transform:scale(1.3) rotate(6deg);opacity:1}22%{transform:scale(.95) rotate(-4deg)}32%{transform:scale(1.05) rotate(2deg)}42%,72%{transform:scale(1) rotate(0);opacity:1}to{transform:translateY(-.7em) scale(.9);opacity:0}}@keyframes social-ring{0%{transform:scale(.4);opacity:.85}to{transform:scale(1.6);opacity:0}}.social-bubble{position:absolute;box-sizing:border-box;width:max-content;transform-origin:28px 0;padding:5px 10px;border-radius:16px;background:#fffdf7;color:#2f261b;border:1.5px solid rgba(59,47,34,.28);box-shadow:0 4px 12px #281e1438;font-size:13px;font-weight:600;line-height:1.3}.social-cloud{animation:social-cloud-in .35s cubic-bezier(.2,.9,.3,1.3) both,social-out .45s ease-in both;animation-delay:0s,calc(var(--left, 8s) - .45s)}.social-say{border-radius:12px;animation:social-cloud-in .25s ease-out both,social-out .4s ease-in 3.6s both}.social-say-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.social-say.narrow .social-say-text{-webkit-line-clamp:1}.social-bubble.narrow{line-height:1.22;padding:4px 9px}.social-cloud.spare{background:#f3faef;border-color:#346e3c59}.social-cloud-text{display:block}.social-cloud-card{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;margin:0 3px;white-space:nowrap}.social-cloud-card b{font-weight:800}.social-cloud-card svg{display:block}.social-puff{position:absolute;border-radius:50%;background:inherit;border:inherit;box-shadow:0 2px 5px #281e1426}.social-puff.p1{width:10px;height:8px;left:calc(50% - 5px);top:-7px}.social-puff.p2{width:6px;height:5px;left:calc(50% + 4px);top:-13px}.social-bubble.floating .social-puff{display:none}@keyframes social-cloud-in{0%{opacity:0;transform:scale(.6) translateY(-6px)}to{opacity:1;transform:none}}@keyframes social-out{0%{opacity:1}to{opacity:0}}:root[data-skin=minimal] .social-bubble{background:#fff;border-color:#2c3440;box-shadow:0 2px 6px #0000002e;color:#1d232b}:root[data-skin=minimal] .social-cloud.spare{background:#eef8f0;border-color:#2f6f43}:root[data-skin=minimal] .social-pop{border-radius:12px;box-shadow:0 6px 18px #0000002e}:root[data-skin=minimal] .social-emoji,:root[data-skin=minimal] .social-card{border-radius:8px;background:#fff}:root[data-skin=minimal] .social-emoji-big{filter:none}.social-chat-sheet .social-chat{min-height:0}.social-chat-sheet .logchat-list{max-height:min(50vh,420px);min-height:120px}@media (prefers-reduced-motion: reduce){.social-flash{animation:social-out .4s ease-in 1.8s both}.social-ring,.social-btn.has-unread{animation:none}.social-cloud,.social-say,.social-pop{animation-name:none,social-out}}.social-card{position:relative}.social-card.said{border-color:color-mix(in srgb,var(--sig, #2f6c96) 55%,var(--line));background:color-mix(in srgb,var(--sig, #2f6c96) 9%,var(--paper))}.social-card.said.need{--sig: #2f6c96}.social-card.said.spare{--sig: #4a7c4a}.social-said{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--sig, #2f6c96)}.tb2-dock{display:flex;flex-direction:column;gap:4px;padding:4px 8px 2px;border-bottom:1px solid rgba(60,44,33,.18)}.tb2-status{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;font-size:12px;line-height:1.3;color:var(--ink, #3a2c21)}.tb2-status b{font-size:13px}.tb2-status span{opacity:.85;white-space:nowrap}.tb2-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:34px}.tb2-hint{font-size:12px;opacity:.85}.tb2-step{display:inline-flex;align-items:center;gap:2px}.tb2-mp{font-weight:700;font-size:14px;min-width:44px}.tb2-cargo{display:inline-flex;align-items:center;gap:4px;font-size:13px;text-transform:capitalize}.tb2-cargo i{display:inline-block;width:14px;height:14px;border-radius:3px;border:1.5px solid #2b2118}.tb2-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;border:1.5px solid #2b2118;vertical-align:-1px}.tb2-up .cost-line,.tb2-up>span{margin-left:4px}.tb2-coins{padding-bottom:2px}.btn.sm.icon{min-width:34px;padding-left:6px;padding-right:6px}html[data-skin=minimal] .tb2-dock{background:#f7f7f5;border-bottom-color:#d4d4d0}html[data-skin=minimal] .tb2-status{color:#1f2328}@media (min-width: 900px){.tb2-dock{padding:6px 12px 4px}.tb2-status{font-size:13px}}.tb2-stepv{display:inline-flex;align-items:center;gap:3px;min-width:44px;justify-content:center;font-size:15px}.tb2-row .btn svg{vertical-align:middle}:root{--paper: #f4ecdc;--paper-2: #fbf6ea;--paper-3: #efe3c6;--ink: #3b2f22;--ink-soft: #6b5b46;--ink-faint: #a39275;--accent: #b5562c;--accent-ink: #fff8ee;--ok: #4f7f52;--danger: #a8382c;--line: rgba(59, 47, 34, .14);--shadow: 0 2px 10px rgba(59, 47, 34, .14), 0 1px 2px rgba(59, 47, 34, .12);--shadow-lg: 0 10px 40px rgba(59, 47, 34, .28);--r: 14px;--tap: 44px;--font: ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI Variable Display", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%}body{font-family:var(--font);color:var(--ink);background:var(--paper);background-image:radial-gradient(circle at 20% 10%,rgba(255,255,255,.55),transparent 50%),radial-gradient(circle at 80% 90%,rgba(196,170,120,.18),transparent 55%);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-size:15px;line-height:1.35}button,input,select{font:inherit;color:inherit}h1,h2,h3{margin:0}h2{font-size:17px}h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:12px 0 6px}.muted{color:var(--ink-soft)}.small{font-size:13px}.center{text-align:center}.warn{color:var(--accent)}.art-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.btn{min-height:var(--tap);padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--paper-2);box-shadow:0 1px #fffc inset,0 1px 2px #3b2f221f;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .08s,background .15s,opacity .15s}.btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000001a}.btn.ghost{background:transparent;box-shadow:none;border-color:transparent}.btn.danger{color:var(--danger)}.btn.block{width:100%}.btn.left{justify-content:flex-start;text-align:left}.btn.big{min-height:54px;font-size:17px;border-radius:14px}.btn.sm{min-height:36px;padding:0 12px;font-size:14px;border-radius:10px}.icon-btn{width:var(--tap);height:var(--tap);border-radius:50%;border:1px solid var(--line);background:var(--paper-2);box-shadow:var(--shadow);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;touch-action:manipulation}.icon-btn.ghost{box-shadow:none;background:transparent;border-color:transparent}.icon-btn.sm{width:36px;height:36px;font-size:14px}.dot-badge,.count-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}input,select{min-height:var(--tap);border-radius:12px;border:1px solid var(--line);background:#fffdf7;padding:0 12px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b5562c2e}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fffdf7;overflow:hidden}.stepper button{width:var(--tap);height:var(--tap);border:0;background:transparent;font-size:20px;cursor:pointer;touch-action:manipulation}.stepper button:disabled{opacity:.3}.stepper-val{min-width:26px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.segmented{display:inline-flex;background:var(--paper-3);border-radius:12px;padding:3px;gap:2px;max-width:100%}.segmented button{min-height:38px;min-width:44px;padding:0 12px;border:0;border-radius:9px;background:transparent;font-weight:600;cursor:pointer;color:var(--ink-soft)}.segmented button.on{background:var(--paper-2);color:var(--ink);box-shadow:0 1px 3px #3b2f222e}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--tap);cursor:pointer}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle-track{width:46px;height:28px;border-radius:14px;background:#d8cbb0;position:relative;flex:none;transition:background .15s}.toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.toggle input:checked+.toggle-track{background:var(--ok)}.toggle input:checked+.toggle-track .toggle-knob{transform:translate(18px)}.toggle input:focus-visible+.toggle-track{box-shadow:0 0 0 3px #b5562c4d}.toggle.disabled{opacity:.5}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--paper-2);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}.home{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:calc(24px + var(--sat)) 20px calc(24px + var(--sab));gap:12px;max-width:460px;margin:0 auto}.emblem{width:170px;height:auto;margin-top:8px;filter:drop-shadow(0 6px 10px rgba(59,47,34,.18))}.title{font-size:34px;font-weight:800;letter-spacing:-.01em;text-align:center}.tagline{margin:0 0 8px;color:var(--ink-soft);text-align:center}.form{width:100%;display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-weight:600}.field input{font-size:17px}.or{display:flex;align-items:center;gap:10px;color:var(--ink-faint);font-size:13px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.join{display:flex;gap:10px}.code-input{flex:1;min-width:0;font-size:26px;font-weight:800;letter-spacing:.35em;text-align:center;text-transform:uppercase;min-height:54px;padding-left:calc(12px + .35em)}.foot{margin-top:auto}.center-screen{height:100%;display:flex;align-items:center;justify-content:center;font-weight:600}.lobby{max-width:560px;margin:0 auto;padding:calc(12px + var(--sat)) 14px calc(20px + var(--sab));display:flex;flex-direction:column;gap:12px}.lobby-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-code{font-size:34px;font-weight:800;letter-spacing:.25em;padding-left:.25em;background:var(--paper-2);border-radius:14px;box-shadow:var(--shadow);padding:4px 10px 4px calc(10px + .25em)}.lobby .card h2{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.seats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.seat{display:flex;align-items:center;gap:10px;min-height:52px;padding:4px 6px 4px 4px;border-radius:12px;background:#fffdf7;border:1px solid var(--line)}.seat.me{border-color:#b5562c73}.seat.empty{color:var(--ink-faint);justify-content:center;border-style:dashed;background:transparent}.seat-name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swatch{width:var(--tap);height:var(--tap);border-radius:12px;border:2px solid rgba(0,0,0,.15);cursor:pointer;flex:none}.swatch:disabled{cursor:default}.seat .swatch:disabled{opacity:1}.color-pick .swatch:disabled{opacity:.25}.swatch.on{outline:3px solid var(--ink);outline-offset:2px}.color-pick{display:flex;gap:10px;flex-wrap:wrap;padding:10px 2px 2px}.tag{font-size:12px;padding:2px 8px;border-radius:8px;background:var(--paper-3);color:var(--ink-soft);white-space:nowrap}.conn{width:10px;height:10px;border-radius:50%;flex:none}.conn.on{background:#5b9a5e}.conn.off{background:#c9b8a0}.bot-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.bot-row select{flex:1;min-width:120px}.settings{display:flex;flex-direction:column;gap:6px}.set-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--tap);flex-wrap:wrap}.set-label{font-weight:600}.set-ctl select{min-width:170px}.vp-ctl{display:flex;align-items:center;gap:8px}.ro{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}.ro dt{color:var(--ink-soft)}.ro dd{margin:0;font-weight:600;text-align:right}.lobby-foot{position:sticky;bottom:0;padding:10px 0 calc(4px + var(--sab));background:linear-gradient(transparent,var(--paper) 30%)}.waiting{font-weight:600;color:var(--ink-soft)}.game{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;overflow:hidden;grid-template-columns:100%;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"players" "board" "tray";height:100vh;height:100dvh}.players{grid-area:players}.board-wrap{grid-area:board}.tray{grid-area:tray}.side-log{grid-area:log;display:none}.players{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:calc(6px + var(--sat)) calc(8px + var(--sar)) 6px calc(8px + var(--sal));background:var(--paper);border-bottom:1px solid var(--line);z-index:3}.players::-webkit-scrollbar{display:none}.pchip{flex:1 0 auto;min-width:86px;max-width:200px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;padding:5px 7px;border-radius:12px;background:var(--paper-2);border:2px solid transparent;box-shadow:0 1px 2px #3b2f221a;position:relative}.pchip{flex:1 1 0;min-width:84px;grid-template-columns:minmax(0,1fr) auto;row-gap:1px;border-top:4px solid var(--pc);padding:3px 6px 4px}.pchip .avatar{display:none}.pchip .pinfo{display:contents}.pchip .pname{grid-column:1;grid-row:1;min-width:0}.pchip .pname-t{max-width:100%}.pchip .pvp{grid-column:2;grid-row:1;flex-direction:row;align-items:baseline;gap:1px}.pchip .pvp b{font-size:17px}.pchip .pstats{grid-column:1 / -1;grid-row:2;gap:5px;font-size:11px}.pchip .mini-ico{width:11px;height:11px}.pchip.turn{border-color:var(--pc);box-shadow:0 0 0 3px color-mix(in srgb,var(--pc) 25%,transparent),var(--shadow)}.pchip.offline{opacity:.6}.avatar{width:30px;height:30px;border-radius:50%;background:var(--pc);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;grid-row:span 2;text-shadow:0 1px 1px rgba(0,0,0,.3);border:2px solid rgba(255,255,255,.7);flex:none}.avatar.light{color:var(--ink);text-shadow:none;border-color:#00000026}.avatar.sm{width:18px;height:18px}.pinfo{min-width:0;grid-row:span 2}.pname{display:flex;align-items:center;gap:4px;font-weight:700;font-size:13px;white-space:nowrap}.pname-t{overflow:hidden;text-overflow:ellipsis;max-width:80px}.dot-off{width:7px;height:7px;border-radius:50%;background:var(--danger);flex:none}.pstats{display:flex;gap:6px;font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.pstats span{display:inline-flex;align-items:center;gap:2px}.mini-ico{color:var(--ink-soft);flex:none}.pvp{display:flex;flex-direction:column;align-items:center;line-height:1;grid-row:span 2}.pvp b{font-size:20px}.pvp small{font-size:9px;color:var(--ink-soft);font-weight:700}.badges{position:absolute;top:-6px;right:4px;display:flex;gap:2px}.badge-lr,.badge-la{font-size:9px;font-weight:800;text-transform:uppercase;padding:1px 5px;border-radius:6px;color:#fff;letter-spacing:.03em}.badge-lr{background:#8a6a3d}.badge-la{background:#7a4a8c}.board-wrap{position:relative;overflow:hidden;min-height:0}.board{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.board:active{cursor:grabbing}.board-svg{width:100%;height:100%;display:block}.port-pier{stroke:#7a5b3a;stroke-width:3;stroke-dasharray:4 4;stroke-linecap:round;opacity:.75}.roll-glow{fill:#ffec96bf;stroke:#f3c94b;stroke-width:3;animation:glow 1.6s ease-in-out 3}@keyframes glow{50%{fill:#ffec9633;stroke-width:6}}.tgt{cursor:pointer}.tgt .hit{fill:transparent}.tgt-mark{fill:#fffcf0f2;stroke:var(--accent);stroke-width:3;animation:pulse 1.1s ease-in-out infinite}.tgt-edge .tgt-mark{fill:#fffaf0;stroke:var(--accent);stroke-width:4}.tgt-hex .tgt-mark{fill:#fffcf02e;stroke:#fff8e6;stroke-width:4;stroke-dasharray:9 6}.v-robber .tgt-edge .tgt-mark{fill:#fffaf0;stroke:var(--accent);stroke-width:4}.tgt-vertex .tgt-mark{stroke-width:4}.tgt-hex .tgt-mark{stroke:#3b2f22}.tgt:hover .tgt-mark{fill:#fff;stroke-width:5}.tgt-selected{fill:none;stroke:#fff;stroke-width:5;stroke-dasharray:6 4}@keyframes pulse{50%{opacity:.55}}.board-top{position:absolute;top:8px;left:8px;right:60px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none;z-index:2}.board-top>*{pointer-events:auto}.prompt{max-width:100%;display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;min-height:40px;border-radius:20px;background:#fbf6eaf0;box-shadow:var(--shadow);font-weight:700;font-size:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.prompt:not(:has(button)){padding-right:14px}.prompt.mine{background:var(--ink);color:var(--paper-2)}.prompt.mine .btn.ghost{color:var(--paper-2)}.menu-btn{position:absolute;top:8px;right:8px;z-index:2}.zoom-ctl{position:absolute;left:8px;bottom:calc(8px + var(--tray-h, 0px));display:flex;flex-direction:column;gap:6px;z-index:2}.zoom-ctl .icon-btn{width:38px;height:38px;font-size:18px;opacity:.9}.dice-slot{position:absolute;right:8px;bottom:calc(8px + var(--tray-h, 0px));z-index:2}.dice{display:flex;align-items:center;gap:6px;padding:6px;border-radius:16px;border:0;background:#fbf6eaeb;box-shadow:var(--shadow);cursor:default;position:relative;min-height:var(--tap)}.dice:disabled{opacity:1}.dice .die{display:inline-flex;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}.dice.can-roll{cursor:pointer;background:var(--accent);animation:bob 1.2s ease-in-out infinite}.dice.rolling .die{animation:tumble .2s linear infinite}.dice-label{color:var(--accent-ink);font-weight:800;padding:0 6px 0 2px}.dice-sum{font-weight:800;font-size:18px;padding:0 6px 0 2px}@keyframes bob{50%{transform:translateY(-3px)}}@keyframes tumble{0%{transform:rotate(0)}50%{transform:rotate(14deg) translateY(-3px)}to{transform:rotate(-10deg)}}.spectator-badge{position:absolute;left:50%;bottom:10px;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:6px 14px;border-radius:14px;font-weight:700;z-index:2}.offers{display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow:auto;width:min(380px,100%)}.offer{background:#fbf6eaf7;border-radius:14px;box-shadow:var(--shadow);padding:6px 8px 6px 10px;border-left:5px solid var(--pc, var(--accent));font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.offer-text{flex:1 1 150px}.offer-resp,.offer .muted{flex:1 1 100%}.offer-btns{display:flex;gap:6px;flex-wrap:wrap}.offer-btns .btn.sm{min-height:var(--tap)}.offer-resp{display:flex;gap:4px;flex-wrap:wrap}.resp{font-size:12px;padding:2px 7px;border-radius:8px;background:var(--paper-3);border-left:3px solid var(--pc)}.resp.accept{background:#dfeedd}.resp.reject{opacity:.6}.tray{background:transparent;border-top:0;padding:2px calc(8px + var(--sar)) calc(4px + var(--sab)) calc(8px + var(--sal));display:flex;flex-direction:column;gap:4px;z-index:3;pointer-events:none}.tray>:not(.tray-row){pointer-events:auto}.tray-row :is(button,a,input,select,textarea,label,[role=button],[tabindex],.hand-card,.devhand-card,.devhand-tip,.tb-chip,.ep-phase,.ep-gold,.ep-mpchip,.count-badge){pointer-events:auto}.tray-row{display:flex;align-items:center;gap:8px;min-width:0}:root .game>.board-wrap{grid-row:3 / 5}.tray-inset{position:absolute;left:0;right:0;bottom:0;pointer-events:none}.hand{flex:1;min-width:0;display:flex;align-items:flex-end;height:64px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 0 4px}.hand::-webkit-scrollbar{display:none}.hand-empty{align-self:center}.hand-card{position:relative;flex:none;margin-right:-4px;transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * 3deg)) translateY(calc(var(--i) * 0px));transform-origin:50% 120%;filter:drop-shadow(0 2px 3px rgba(59,47,34,.25));transition:transform .15s}.hand-card svg{display:block}.hand-count{position:absolute;top:-4px;right:-2px;min-width:20px;height:20px;border-radius:10px;background:var(--ink);color:var(--paper-2);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px}.dev-btn{flex:none;width:58px;height:60px;border-radius:12px;border:1px solid var(--line);background:var(--paper-2);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:700;cursor:pointer}.dev-stack{width:26px;height:32px;border-radius:5px;background:#8c6bb1;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:3px -3px #b39ad0}.glow{box-shadow:0 0 0 3px #b5562c73,var(--shadow)}.build-scroll{flex:1;min-width:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:4px 2px}.build-scroll::-webkit-scrollbar{display:none}.build-btn{flex:none;position:relative;width:52px;min-height:58px;padding:3px 2px;border-radius:12px;border:1px solid var(--line);background:var(--paper-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;box-shadow:0 1px 2px #3b2f221f;touch-action:manipulation}.build-btn:disabled{opacity:.4;cursor:default}.build-btn.on{background:var(--ink);color:var(--paper-2);border-color:var(--ink)}.build-btn .bl{font-size:11px;font-weight:700;white-space:nowrap}.build-icon{width:30px;height:24px;display:block;overflow:visible}.build-icon.glyph{font-size:20px;line-height:24px;text-align:center}.card-icon{display:flex;justify-content:center}.cost-line{display:flex;gap:1px;height:6px}.cost-dot{width:6px;height:6px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.end-btn{flex:none;min-height:58px;width:68px;padding:0 6px;line-height:1.1;font-size:14px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e1459;z-index:20;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}.sheet{width:100%;max-width:560px;max-height:calc(100dvh - 40px - var(--sat));background:var(--paper-2);border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:rise .2s ease-out;padding-bottom:var(--sab)}.sheet.tall{height:75dvh}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 4px 18px;min-height:52px}.sheet-body{padding:4px 16px 14px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.sheet.tall .sheet-body{display:flex;flex-direction:column}.sheet-foot{padding:10px 16px 14px;border-top:1px solid var(--line)}@keyframes rise{0%{transform:translateY(30px);opacity:.4}}@keyframes fade{0%{opacity:0}}.dialog-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.dialog-btns .btn{flex:1}.action-list{display:flex;flex-direction:column;gap:6px}.action-group+.action-group{margin-top:6px}.action-group>.btn{margin-bottom:6px}.composer,.bank{display:flex;flex-direction:column;gap:6px;margin-top:10px}.trow,.pick-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px}.pick-row{grid-template-columns:1fr auto}.thead{font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.thead span:nth-child(2),.thead span:nth-child(3){width:112px;text-align:center}.tcard{display:flex;align-items:center;gap:8px;min-width:0}.tcard svg{flex:none}.tcard>span{display:flex;flex-direction:column;line-height:1.15}.tcard small{color:var(--ink-soft);font-size:12px}.pick-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}.res-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.res-grid:has(>:nth-child(6)){grid-template-columns:repeat(4,1fr)}.res-btn{min-height:74px;border-radius:12px;border:2px solid transparent;background:#fffdf7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;box-shadow:0 1px 2px #3b2f221f;padding:4px 0}.res-btn.on{border-color:var(--accent);background:#fff3e6}.res-btn:disabled{opacity:.35;cursor:default}.ratio{font-size:12px;font-weight:700;color:var(--ink-soft)}.qty-row{display:flex;align-items:center;justify-content:space-between;margin:6px 0;font-weight:600}.bank .btn.primary,.composer .btn.primary{margin-top:8px}.victims{display:flex;flex-direction:column;gap:8px;margin-top:8px}.victim{justify-content:flex-start;min-height:56px}.victim-name{flex:1;text-align:left}.dev-list{display:flex;flex-direction:column;gap:8px}.dev-row{display:flex;align-items:center;gap:12px;padding:6px;border-radius:12px;background:#fffdf7}.dev-row svg{flex:none}.dev-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.dev-info small{color:var(--ink-soft);font-size:12px}.dev-info small.warn{color:var(--accent)}.dev-row .btn{min-height:var(--tap)}.dev-buy{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:10px;color:var(--ink-soft)}.costs{display:flex;flex-direction:column;gap:8px}.cost-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:8px 10px;background:#fffdf7;border-radius:10px}.cost-row .cost-line{height:10px;gap:2px}.cost-row .cost-dot{width:10px;height:10px}.logchat{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.logchat-list{flex:1;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;font-size:14px;padding-right:4px}.log-line{padding:3px 0 3px 8px;border-left:3px solid var(--pc)}.chat-line{padding:4px 8px;background:#fffdf7;border-radius:10px;align-self:flex-start;max-width:90%}.chat-line.me{align-self:flex-end;background:#f3e3cf}.chat-form{display:flex;gap:6px}.chat-form input{flex:1;min-width:0}.chat-form .btn{min-height:var(--tap)}.over .over-card{border-radius:20px;margin:auto 12px;max-width:420px;padding:20px;animation:rise .25s ease-out}.over{align-items:center}.over-title{font-size:28px;font-weight:800;text-align:center;margin-bottom:12px}.scores{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.scores li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fffdf7}.scores li.win{background:#fff0cf;box-shadow:0 0 0 2px #e8b923 inset}.score-name{flex:1;font-weight:600}.score-extra{display:flex;gap:3px}.toasts{position:fixed;top:calc(8px + var(--sat));left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:6px;width:min(92vw,420px);pointer-events:none}.toast{pointer-events:auto;border:0;text-align:left;padding:10px 14px;border-radius:12px;background:var(--ink);color:var(--paper-2);box-shadow:var(--shadow-lg);font-weight:600;animation:rise .2s;cursor:pointer}.toast.error{background:var(--danger)}.conn-banner{position:fixed;top:0;left:0;right:0;z-index:40;background:#e8b923;color:var(--ink);text-align:center;font-weight:700;padding:calc(6px + var(--sat)) 10px 6px;box-shadow:var(--shadow)}@media (min-width: 900px),(orientation: landscape) and (min-width: 700px) and (max-height: 600px){.game{grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"board players" "board log" "tray log"}:root .game>.board-wrap{grid-row:1 / 5}.players{flex-direction:column;overflow-x:hidden;overflow-y:auto;border-bottom:0;border-left:1px solid var(--line);padding:calc(10px + var(--sat)) calc(10px + var(--sar)) 6px 10px;max-height:50vh}.pchip{max-width:none;flex:none;min-width:0;grid-template-columns:auto 1fr auto;border-top-width:2px;padding:5px 8px}.pchip:not(.turn){border-top-color:transparent}.pchip .avatar{display:flex;grid-row:span 2}.pchip .pinfo{display:block;grid-row:span 2}.pchip .pvp{grid-column:auto;grid-row:span 2;flex-direction:column;align-items:center}.pchip .pvp b{font-size:20px}.pchip .pstats{font-size:12px}.pchip .mini-ico{width:13px;height:13px}.pname-t{max-width:180px}.side-log{display:flex;flex-direction:column;min-height:0;padding:6px calc(10px + var(--sar)) calc(10px + var(--sab)) 10px;border-left:1px solid var(--line);background:var(--paper)}.side-log .logchat{min-height:0}.sheet-backdrop{align-items:center}.sheet{border-radius:20px;max-height:88vh}.build-btn{width:64px}.end-btn{width:96px}}@media (orientation: landscape) and (max-height: 600px){.game{grid-template-columns:minmax(0,1fr) 270px}.tray{flex-direction:row;align-items:center;gap:6px}.offers{width:min(330px,100%)}.offer{font-size:13px}.tray .hand-row{flex:1 1 38%;min-width:0}.tray .bar-row{flex:1 1 62%;min-width:0}.hand-card svg{width:34px;height:auto}.players{max-height:45vh}.pchip{padding:3px 6px}.hand{height:56px}.tray{gap:2px;padding-top:3px}.build-btn,.end-btn{min-height:50px}.dev-btn{height:52px}}@media (min-width: 1200px){.game{grid-template-columns:minmax(0,1fr) 360px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.notice{margin:4px 0 0;padding:8px 12px;border-radius:10px;font-size:14px;font-weight:600}.notice.warn{background:#fbecc8;color:#6b4a12;border:1px solid #e9cf8e}.notice.error{background:#f6d9d3;color:var(--danger);border:1px solid #e6b2a7}.scenario-card{background:#fffdf7;border:1px solid var(--line);border-radius:12px;padding:8px 12px}.scenario-card p{margin:4px 0 0;color:var(--ink-soft)}.exp-note{margin:-4px 0 4px}.set-ctl select{max-width:100%}.tgt-a-movePirate .tgt-mark{stroke:#1d2a3a;stroke-width:5;fill:#ffffff38;stroke-dasharray:7 5}.tgt-a-buildShip .tgt-mark,.tgt-a-placeShip .tgt-mark,.tgt-a-moveShip .tgt-mark{stroke:#2f6c96}.tgt-a-ckChoice .tgt-mark{stroke:#7a4a8c}.tgt-a-playProgress .tgt-mark{stroke:#4b9358}.robber.asleep{opacity:.55}.piece-pick{pointer-events:auto}.piece-pick .segmented{background:#efe3c6f2;box-shadow:var(--shadow)}.ck-slot{position:absolute;left:54px;bottom:calc(8px + var(--tray-h, 0px));z-index:2}.ck-status{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:4px 6px;border-radius:12px;border:0;background:#fbf6eaeb;box-shadow:var(--shadow);cursor:pointer;min-height:var(--tap)}.ck-status.warn{box-shadow:0 0 0 2px #c4463a,var(--shadow)}.ck-forces{display:flex;justify-content:space-between;gap:6px;font-size:12px;font-weight:700}.ck-forces .ok{color:var(--ok)}.ck-forces .bad{color:var(--danger)}.sheet .ck-status{margin:4px 0 10px;cursor:default;width:max-content}.last-attack{background:#fffdf7;border-radius:10px;padding:8px 10px;font-size:14px}.dev-stack.prog{background:#4b7f8c;box-shadow:3px -3px #8fb5be}.imp-mini{font-size:10px;font-weight:800;color:var(--ink-soft);letter-spacing:.04em}.build-btn.glow{box-shadow:0 0 0 3px #b5562c73,0 1px 2px #3b2f221f}.pcard .pcard-face{border:0;background:none;padding:0;cursor:pointer;flex:none}.pcard .dev-info{cursor:pointer}.rules{color:var(--ink-soft);font-size:12px}.rules.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.track-tag{align-self:flex-start;font-size:11px!important;font-weight:700;color:#fff!important;background:var(--tc);padding:0 6px;border-radius:6px}.pcard-grid{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.pcard-btn{display:flex;flex-direction:column;align-items:center;gap:2px;border:2px solid transparent;border-radius:12px;background:#fffdf7;padding:6px;cursor:pointer;min-width:76px;box-shadow:0 1px 2px #3b2f221f}.pcard-btn:disabled{opacity:.4;cursor:default}.pcard-btn:not(:disabled):hover{border-color:var(--accent)}.pcard-name{font-size:12px;font-weight:700}.pcard-vp{display:flex;flex-direction:column;align-items:center;font-weight:700;color:var(--ink-soft)}.track-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.track-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;border:2px solid var(--tc);background:#fffdf7;cursor:pointer;min-height:74px;text-align:center}.track-btn:disabled{opacity:.4;cursor:default}.track-btn small{color:var(--ink-soft);font-size:11px}.die-row{display:flex;gap:4px;flex-wrap:wrap}.die-pick{border:2px solid transparent;border-radius:12px;background:none;padding:3px;cursor:pointer;min-width:var(--tap);min-height:var(--tap)}.die-pick.on{border-color:var(--accent);background:#fff3e6}.alchemist .btn.primary{margin-top:12px}.victim-row{display:flex;flex-direction:column;gap:4px}.victim.cloth{min-height:var(--tap);background:#fbf0d0}.tracks{display:flex;flex-direction:column;gap:10px}.track{border-radius:12px;background:#fffdf7;padding:8px 10px 10px;border-left:6px solid var(--tc);display:flex;flex-direction:column;gap:6px}.track p{margin:0}.track-head{display:flex;align-items:center;gap:8px}.track-title{flex:1;display:flex;flex-direction:column;line-height:1.15}.track-title small{color:var(--ink-soft)}.metro-tag{font-size:11px;font-weight:800;background:var(--tc);color:#fff;padding:2px 7px;border-radius:8px;white-space:nowrap}.levels{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.levels li{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 1px;border-radius:8px;background:var(--paper-3);min-width:0}.levels li.done{background:var(--tc);color:#fff}.levels li.l3{outline:2px dashed color-mix(in srgb,var(--tc) 60%,transparent);outline-offset:-2px}.levels .lv{font-weight:800;font-size:13px}.levels .ln{font-size:9.5px;line-height:1.05;text-align:center;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ability{font-size:13px;color:var(--ink-soft)}.ability.on{color:var(--ok);font-weight:700}.imp-table{width:100%;border-collapse:collapse;font-size:14px}.imp-table th,.imp-table td{padding:4px 6px;text-align:center;border-bottom:1px solid var(--line)}.imp-table td:first-child{text-align:left;white-space:nowrap}.imp-table tr.me td{font-weight:700}.imp-table .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}.badge-isle,.badge-metro,.badge-def,.badge-vpc,.badge-merch{font-size:9px;font-weight:800;padding:1px 5px;border-radius:6px;color:#fff;letter-spacing:.02em}.badge-isle{background:#2f6c96}.badge-def{background:#6b5b46}.badge-vpc{background:#b0832a}.badge-merch{background:#c9962e}.stat-cloth{color:#b38a1d;font-weight:700}@media (max-width: 899px){.badges{max-width:calc(100% - 8px);flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 420px){.ck-slot{left:50px}.ck-status svg{width:132px;height:auto}}.zoom-ctl .icon-btn{width:34px;height:34px;min-width:34px;min-height:34px;font-size:17px}@media (hover: none) and (pointer: coarse){.zoom-ctl .zin,.zoom-ctl .zout{display:none}.zoom-ctl .zfit{width:40px;height:40px}.ck-slot{left:8px}.game.ck .zoom-ctl{bottom:calc(70px + var(--tray-h, 0px))}}@media (min-width: 900px),(orientation: landscape) and (min-width: 700px) and (max-height: 600px){.side-log{overflow:hidden;min-height:0}.side-log .logchat-list{min-height:0}}
