.eg-hero{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:10px;border-radius:16px;background:color-mix(in srgb,var(--pc, var(--sun)) 14%,var(--panel-2));border-left:5px solid var(--pc, var(--sun))}.eg-trophy{font-size:2.4rem;line-height:1;animation:eg-pop .6s cubic-bezier(.3,1.6,.5,1) both}@keyframes eg-pop{0%{transform:scale(.3) rotate(-18deg);opacity:0}}.eg-hero-text{display:flex;flex-direction:column;min-width:0}.eg-hero-text strong{font-family:var(--display);font-size:1.3rem;line-height:1.15}.eg-hero-text span{color:var(--ink-2);font-size:.9rem}.eg-ranking{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:2px}.eg-ranking li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px}.eg-ranking li.eg-first{background:var(--panel-2)}.eg-place{width:1.4em;text-align:center;color:var(--ink-2);font-weight:700;font-variant-numeric:tabular-nums}.eg-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eg-name .you{margin-left:6px}.eg-vp{font-variant-numeric:tabular-nums}.eg-buttons{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:8px}@media(prefers-reduced-motion:reduce){.eg-trophy{animation:none}}.results-chip{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:5;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:.35em 1.1em;border-radius:999px;border-color:var(--sun-edge);background:var(--sun);color:var(--sun-ink);font-weight:700;box-shadow:var(--shadow-sm);white-space:nowrap}.results-chip:active:not(:disabled){transform:translate(-50%) translateY(2px)}.board-area.docked .results-chip{left:calc(min(var(--log-w, 0px),100% - 90px) + 24px);right:12px;width:max-content;margin-inline:auto;transform:none}.board-area.docked .results-chip:active:not(:disabled){transform:translateY(2px)}.board-area.docked:has(>.chat-layer) .results-chip{right:74px}.results-chip.floating{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.sheet.wide:has(.gstats){width:min(880px,100%)}@media(min-width:700px){.sheet.wide:has(.gstats){max-height:92%}}.gs-sub{margin:0 0 4px;color:var(--ink-2);font-size:.9rem}.gs-section{margin-top:14px}.gs-section>h3{margin:0 0 6px}.gs-note{margin:-4px 0 6px;color:var(--ink-2);font-size:.8rem}.gs-empty{margin:0;padding:10px 12px;border-radius:12px;background:var(--panel-2);color:var(--ink-2);font-size:.88rem}.gs-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.gs-scroll.gs-tall{max-height:280px;overflow-y:auto}.gs-table{width:100%;border-collapse:collapse;font-size:.86rem}.gs-table th,.gs-table td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left;font-weight:400;white-space:nowrap}.gs-table thead th{font-size:.76rem;font-weight:700;color:var(--ink-2);vertical-align:bottom;position:sticky;top:0;background:var(--panel)}.gs-table .num{text-align:right;font-variant-numeric:tabular-nums}.gs-table td.zero{color:color-mix(in srgb,var(--ink-2) 55%,transparent)}.gs-table td.changed{font-weight:700}.gs-table td.lead{font-weight:800}.gs-table .gs-total{font-weight:800;font-size:.95rem}.gs-scores .gs-pcol{width:100%;max-width:190px}.gs-scores tr.gs-win>*{background:var(--accent-soft);box-shadow:1px 0 0 var(--accent-soft)}.gs-scores tr.gs-win>:first-child{border-radius:10px 0 0 10px}.gs-scores tr.gs-win>:last-child{border-radius:0 10px 10px 0;box-shadow:none}.gs-th-text{display:none}@media(min-width:700px){.gs-scores thead th.num{white-space:normal;min-width:58px}.gs-th-text{display:block;font-weight:600;line-height:1.15}}.gs-trophy{margin-left:4px}.gs-pcol .you,.gs-tag{margin-left:6px}.gs-tag{font-size:.68rem;color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:0 4px}@media(max-width:480px){.gs-scores .gs-tag{display:none}}.gs-key-line{margin:6px 0 0;font-size:.76rem;color:var(--ink-2)}.gs-ledger th[scope=row]{font-weight:400;color:var(--ink);white-space:normal;min-width:112px;position:sticky;left:0;z-index:1;background:var(--panel)}.gs-ledger th,.gs-ledger td{padding:5px 4px}.gs-ledger td{width:1%}@media(min-width:700px){.gs-ledger td{min-width:84px}}.gs-colhead .gs-key{display:block;margin:0 0 2px auto}.gs-colhead .gs-name{display:block;max-width:48px;margin-left:auto}@media(min-width:700px){.gs-colhead .gs-name{max-width:110px}}.gs-who{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-width:0;vertical-align:middle}.gs-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.gs-table thead .gs-name{max-width:72px}.gs-scores .gs-name{font-weight:600;max-width:110px}.gs-key{flex:none;overflow:visible}.gs-marker{stroke:var(--panel);stroke-width:2;paint-order:stroke;stroke-linejoin:round}.gs-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(min-width:700px){.gs-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.gs-tile{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:12px;background:var(--panel-2);min-width:0}.gs-tile-who{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:1.05rem;font-weight:700;min-width:0}.gs-tile-who .gs-name{font-weight:700}.gs-span{grid-column:1 / -1}.gs-chart,.gs-plot{position:relative}.gs-plot svg{display:block;max-width:100%;overflow:visible;touch-action:pan-y}.gs-plot svg:focus:not(:focus-visible){outline:none}.gs-plot svg:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.gs-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:6px;font-size:.8rem;color:var(--ink-2)}.gs-legend>span{display:inline-flex;align-items:center;gap:5px}.gs-legend .glyph{width:1.1em;height:1.1em}.gs-swatch{width:10px;height:10px;border-radius:3px}.gs-grid{stroke:var(--line);stroke-width:1}.gs-axis{stroke:var(--ink-2);stroke-width:1;opacity:.5}.gs-goal{stroke:var(--ink-2);stroke-width:1;opacity:.7}.gs-goal-text{font-size:10px;fill:var(--ink-2)}.gs-tick{font-size:10px;fill:var(--ink-2);font-variant-numeric:tabular-nums}.gs-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.gs-cross{stroke:var(--ink);stroke-width:1;opacity:.45}.gs-leader{stroke:var(--ink-2);stroke-width:1;fill:none;opacity:.7}.gs-end{font-size:11px;fill:var(--ink-2)}.gs-end-v{font-weight:800;fill:var(--ink)}.gs-rowlabel{font-size:12px;fill:var(--ink)}.gs-value{font-size:12px;font-weight:800;fill:var(--ink);font-variant-numeric:tabular-nums}.gs-hit{fill:transparent;cursor:pointer}.gs-seg.on path{filter:brightness(1.12)}.gs-tip{position:absolute;top:0;transform:translate(12px);min-width:120px;padding:6px 10px;border-radius:10px;background:var(--ink);color:var(--panel);font-size:.8rem;line-height:1.35;pointer-events:none;box-shadow:var(--shadow-sm);white-space:nowrap;z-index:2}.gs-tip.left{transform:translate(calc(-100% - 12px))}.gs-tip.bar{transform:translate(-50%)}.gs-tip-head{font-size:.74rem;opacity:.8;margin-bottom:2px}.gs-tip-row{display:flex;align-items:center;gap:6px}.gs-tip-row b{min-width:1.4em;text-align:right;font-variant-numeric:tabular-nums}.gs-tip .gs-marker{stroke:var(--ink)}.gs-tip-sub{opacity:.8}.gs-details{margin-top:8px}.gs-dice{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-weight:700}.gs-dice-sub{font-weight:400;font-size:.85rem;color:var(--ink-2)}.tm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:700px){.tm-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tm-hero{grid-column:1 / -1}.tm-value{font-size:1.2rem;font-weight:700;line-height:1.25;color:var(--ink)}.tm-value.big{font-size:1.9rem}.tm-who{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}.tm-who .gs-tag{margin-left:0}.tm-chart{margin-top:12px}.tm-cap{margin:0 0 4px;font-size:.8rem;color:var(--ink-2)}.tm-row{position:relative;display:grid;grid-template-columns:clamp(112px,40%,210px) minmax(0,1fr);align-items:center;gap:10px;padding:5px 6px;border-radius:10px;cursor:pointer}.tm-row:hover,.tm-row.on{background:var(--panel-2)}.tm-row:focus{outline:none}.tm-row:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.tm-label{display:flex;flex-direction:column;min-width:0}.tm-name{display:flex;align-items:center;min-width:0;font-size:.88rem;font-weight:600}.tm-name .gs-name{font-weight:600}.tm-name .gs-tag,.gs-tile-who .gs-tag{flex:none;align-self:center;margin-left:6px;font-weight:400;line-height:1.35}.gs-tile-who .gs-tag{margin-left:-4px}.tm-pace{font-size:.74rem;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-track{display:flex;align-items:center;gap:6px;min-width:0}.tm-bar{flex:none;height:16px;min-width:2px;border-radius:0 4px 4px 0}.tm-tip{flex:none;font-size:.8rem;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.tm-tip b{color:var(--ink);font-weight:800}.gs-tip.tm-pop{top:auto;bottom:calc(100% - 4px);left:auto;right:0;max-width:100%;transform:none;white-space:normal}.knight-ring{fill:none;stroke:#ffd34d;stroke-width:.03}.knight-glow{fill:#ffd34d38;stroke:#ffd34d8c;stroke-width:.07}.knight.active .knight-glow{animation:knight-glow 2.6s ease-in-out infinite}@keyframes knight-glow{50%{stroke:#ffd34d40}}.knight.ghost,.tower.ghost,.wall.ghost{opacity:.72}.ghost-wall{opacity:.8}.robber.asleep .robber-body{filter:grayscale(1) brightness(1.4);opacity:.55}.zzz-bubble{fill:#ffffffd9;stroke:#1e283c59;stroke-width:.01}.zzz-text{text-anchor:middle;dominant-baseline:central}.die.event .die-face{fill:#f4efe2;stroke:#b9ad92}.dice.three{gap:4px}.ck-track{flex:none;display:flex;align-items:center;gap:8px;min-height:0;padding:3px 8px 3px 6px;border-radius:12px;border:1px solid var(--line);border-bottom-width:1px;background:var(--panel-2);color:var(--ink);font-weight:700}.ck-track:active:not(:disabled){transform:none;border-bottom-width:1px}.bt-lane{position:relative;display:grid;grid-template-columns:repeat(var(--len),minmax(0,1fr)) 26px;align-items:center;width:176px;height:26px;padding-left:4px}.bt-water{position:absolute;left:0;right:13px;top:50%;height:12px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,var(--sea-3),var(--sea-1));opacity:.85}.bt-wake{position:absolute;left:4px;top:50%;height:4px;transform:translateY(-50%);width:calc((100% - 30px) * var(--pos) / var(--len));border-radius:999px;background:#ffffff80;transition:width .6s ease}.bt-node{position:relative;justify-self:center;width:7px;height:7px;border-radius:50%;background:#ffffffe6;box-shadow:0 0 0 1px #061a2c59}.bt-node.past{background:#ffffff59}.bt-shore{position:relative;display:grid;place-items:center;width:26px;height:22px}.bt-shore-art{width:26px;height:22px}.bt-wait{position:absolute;left:50%;top:50%;height:17px;transform:translate(-50%,-58%);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.bt-wait svg{height:100%;width:auto;display:block;overflow:visible}.bt-wait-robber{fill:#8a847c;stroke:#f4f1ea;stroke-width:1.1}.bt-wait-pirate path{fill:#23211f;stroke:#f4f1ea;stroke-width:1;stroke-linejoin:round}.bt-wait-pirate .mast{fill:none;stroke:#23211f;stroke-width:1.3}.bt-lane.big .bt-wait{height:28px}.bt-ship{position:absolute;top:50%;left:calc(4px + (100% - 30px) * (var(--pos) + .5) / var(--len));transform:translate(-50%,-62%);width:26px;height:20px;display:grid;place-items:center;transition:left .6s cubic-bezier(.3,1.2,.5,1);filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.bt-ship .ship-glyph{width:26px;height:20px}.ck-track[data-pos="6"] .bt-ship{animation:bt-rock 1.4s ease-in-out infinite}@keyframes bt-rock{50%{transform:translate(-50%,-62%) rotate(-6deg)}}.bt-vs{display:inline-flex;align-items:center;gap:4px;font-family:var(--display);font-size:1.02rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.bt-b,.bt-k{display:inline-flex;align-items:center;gap:3px;padding:2px 6px 1px 4px;border-radius:8px}.bt-b{background:color-mix(in srgb,#a8322a 14%,transparent);color:color-mix(in srgb,#a8322a 80%,var(--ink))}.bt-k{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.bt-vs.lose .bt-b{background:#a8322a;color:#fff}.bt-vs.hold .bt-k{background:var(--ok);color:var(--panel)}.bt-flag{width:9px;height:11px;background:currentColor;clip-path:polygon(0 0,100% 15%,100% 85%,0 100%,25% 50%)}.bt-k .helm-icon{width:13px;height:13px}.bt-x{font-size:.82rem;color:var(--ink-2)}@media(max-width:899px){.hud:has(.ck-track){flex-wrap:wrap;row-gap:4px}.hud .ck-track{order:3;flex:1 1 100%;justify-content:space-between;margin-left:40px;padding:2px 8px 2px 6px}.hud .ck-track .bt-lane{flex:1;width:auto;max-width:260px}.dice.three .die{width:29px;height:29px}}.roll-overlay.three .roll-stage{gap:22px}.cube-wrap.event .cube-face{background:linear-gradient(145deg,#fbf8ef,#e2d8bf);border-color:#b9ad92}.roll-event{display:flex;flex-direction:column;align-items:center;gap:2px;max-width:min(92vw,420px);padding:8px 16px;border-radius:16px;background:#061a2cd1;color:#fff;text-align:center;box-shadow:var(--shadow-sm);opacity:0;transform:translateY(8px);transition:opacity .25s ease-out,transform .3s ease-out}.roll-event b{font-family:var(--display);font-size:1.15rem;line-height:1.2}.roll-event span{font-size:.86rem;opacity:.9}.roll-overlay.landed .roll-event{opacity:1;transform:none;transition-delay:.15s}.roll-overlay.leaving .roll-event{opacity:0}.tone-trade{--tone: #e9b726}.tone-politics{--tone: #3b78c9}.tone-science{--tone: #3f9a4a}.tone-ship{--tone: #8a7f70}.tone-attack{--tone: #c0392b}.roll-event,.event-note{border-left:6px solid var(--tone, transparent)}.event-note{position:absolute;left:50%;top:10px;transform:translate(-50%);z-index:6;display:flex;flex-direction:column;gap:1px;width:max-content;max-width:calc(100% - 110px);padding:7px 14px;border-radius:14px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);pointer-events:none}.event-note b{font-family:var(--display);font-size:1rem}.event-note span{font-size:.82rem;color:var(--ink-2)}.hand.ck-hand{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.hand.ck-hand .rtile{height:52px;border-radius:9px}.hand.ck-hand .rtile-icon{width:16px;height:16px;top:2px;left:2px}.hand.ck-hand .rtile-n{right:2px;bottom:2px;min-width:19px;padding:0 4px;font-size:.86rem}.hand.ck-hand .rtile.r-paper{margin-left:3px}.rtile.prog-tile{margin-left:3px;border-color:#8a7f70;background:#8a7f70}.rtile.prog-tile .gcard.prog.tile{border-radius:0}.hand.cards.ck-cards{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:14px}.hand.cards.ck-cards .prog-hcard{grid-column:5}.hcard.prog-hcard.many:before{background:#8a7f70;border-color:#f0e6d0}.gcard.prog{padding:0;border:1.5px solid #5b5141;background:#fbf3dc}.gcard.prog>svg{display:block;width:100%;height:100%}.gcard.prog.back{border:2px solid #fff6e0}.gcard.prog.face{padding:5%;gap:3.5%;border:1.5px solid var(--deck-dark);background:linear-gradient(160deg,#fdf6e2,#ead7a8);box-shadow:0 2px 6px #00000040,inset 0 0 0 2px var(--deck),inset 0 0 0 3px #ffffff73}.pg-band{flex:none;min-height:17%;display:flex;align-items:center;gap:4%;padding:1.5% 5% 1.5% 3%;border-radius:7%/22%;background:linear-gradient(180deg,var(--deck-light) -60%,var(--deck) 50%,var(--deck-dark) 160%);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px #0000002e}.deck-trade .pg-band{color:#2b1d00;text-shadow:0 1px 0 rgba(255,255,255,.4)}.pg-mark{flex:none;width:19%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#fbf3dc;border:1px solid var(--deck-dark);font-size:clamp(6px,10.5cqw,26px)}.pg-mark .glyph{display:block}.prog-title{flex:1;min-width:0;font-family:var(--display);font-weight:800;font-size:clamp(5px,var(--fit, 11cqw),15px);line-height:1.02;text-align:center;overflow-wrap:break-word}.pg-art{position:relative;flex:1;min-height:0;display:block;border-radius:7%/6%;overflow:hidden;border:1px solid #7a5a2e;background:#e9dcb8}.pg-art svg{display:block;width:100%;height:100%}.pg-vp{position:absolute;right:4%;top:5%;padding:0 6%;border-radius:999px;background:#f1c140;border:1px solid #8a6410;color:#3b2a14;font-family:var(--display);font-weight:800;font-size:clamp(6px,9cqw,12px);line-height:1.35}.prog-text{flex:none;min-height:3.6em;display:flex;align-items:center;justify-content:center;font-size:clamp(6.5px,8cqw,12px);line-height:1.2;text-align:center;color:#3b2a14}.gcard.prog.face.mini{padding:6%;gap:4%;border-width:1px;box-shadow:0 1px 3px #00000038,inset 0 0 0 1.5px var(--deck)}.gcard.prog.mini .pg-mark{display:none}.gcard.prog.mini .pg-band{min-height:19%;padding:2% 4%}.gcard.prog.mini .prog-title{font-size:clamp(4px,var(--fit-mini, 13cqw),12px)}.gcard.prog.mini .pg-vp{font-size:clamp(5px,12cqw,10px)}.gcard.prog.tile{border:none;padding:0;box-shadow:none}.gcard.prog.tile .pg-art{border:none;border-radius:0}.prog-list{display:flex;flex-direction:column;gap:8px}.prog-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--panel-2)}.prog-thumb{flex:none;width:52px;height:73px;display:flex}.prog-thumb .gcard{width:100%;height:100%}.prog-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:.86rem}.prog-info strong{font-family:var(--display);font-size:1rem}.prog-deck{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;color:var(--ink-2)}.prog-actions{flex:none;display:flex;flex-direction:column;align-items:stretch;gap:4px}.prog-soon{font-size:.7rem;font-weight:700;text-align:center;color:var(--ink-2)}.prog-over{margin:0 0 10px;padding:8px 12px;border-radius:12px;background:var(--danger-soft);color:var(--danger);font-weight:700}.prog-vp h3{margin:14px 0 6px;font-size:.95rem}.deck-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:8px}.deck-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px}.deck-btn .gcard{width:64px}.deck-btn-l{font-family:var(--display);font-weight:800}.deck-btn-n{font-size:.76rem;color:var(--ink-2)}.trow.cards8,.your-cards-row.cards8{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:8px}.trow.cards8 .tcol.c-paper,.your-cards-row.cards8 .yc:nth-child(6){grid-column-start:2}@media(min-width:700px){.trow.cards8,.your-cards-row.cards8{grid-template-columns:repeat(8,minmax(0,1fr))}.trow.cards8 .tcol.c-paper,.your-cards-row.cards8 .yc:nth-child(6){grid-column-start:auto}.trow.cards8 .tbox-card{padding:0 3px}}.pmeta.ck-meta{display:flex;align-items:center;gap:7px}.pmeta .pm-kn b{font-weight:800}.pm-sub{font-size:.86em;opacity:.8}.pm .helm-icon{width:13px;height:13px}.pm-prog{display:inline-block;width:10px;height:14px;margin-right:2px;border-radius:2px;vertical-align:-2px;background:linear-gradient(135deg,#e9b726 0 33%,#3b78c9 33% 66%,#3f9a4a 66%);box-shadow:0 0 0 1px #00000059}.pm-levels{gap:2px}.lvl{min-width:16px;height:16px;padding:0 3px;border-radius:4px;display:inline-grid;place-items:center;font-size:.72rem;font-weight:800;line-height:1}.lvl.tr-trade{background:#e9b726;color:#2b1d00}.lvl.tr-politics{background:#3b78c9;color:#fff}.lvl.tr-science{background:#3f9a4a;color:#fff}.lvl.zero{opacity:.35}.pmeta.ck-awards{display:flex;align-items:center;gap:6px;margin-top:1px;font-size:.8rem}.pm-tower{display:inline-block;width:10px;height:18px;vertical-align:-4px}.pm-tower svg{width:100%;height:100%}.pm-x{font-size:.75em;font-weight:800}.panel:not(.desk) .pmeta.ck-meta{gap:5px}.ck-score{margin-top:4px}.ck-vp{display:flex;flex-wrap:wrap;gap:4px}.ck-vp-part{padding:1px 7px;border-radius:999px;background:var(--chip);border:1px solid var(--line);font-size:.78rem}.ck-rows{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;font-size:.85rem;color:var(--ink-2)}.ck-rows .helm-icon{width:13px;height:13px;vertical-align:-2px}.ck-imps{display:inline-flex;gap:8px}.ck-imp{display:inline-flex;align-items:center;gap:2px;font-weight:700;color:var(--ink)}.ck-metro-badge{display:inline-flex;align-items:center}.ai-helm,.ai-gate{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem}.ai-helm .helm-icon{width:100%;height:100%;color:#6b7380}.ai-gate .gate-glyph{width:100%;height:100%}.deck-row.four{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.bgrid.five .btile:nth-child(5){grid-column:1 / -1}.db-icon .gcard.prog{width:16px;margin:auto}.db-icon .knight-glyph{width:26px;height:24px}.build-improve{margin-top:8px}.knight-bar{align-items:center}.kb-head{flex:1 1 160px;display:flex;align-items:center;gap:8px;min-width:0}.kb-art{flex:none;width:38px;height:36px}.kb-art svg{width:100%;height:100%}.kb-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.kb-text b{font-family:var(--display)}.kb-text small{color:var(--ink-2)}.knight-bar .confirm-buttons button{display:inline-flex;align-items:center;gap:5px}.knight-bar .cost .glyph{width:1.05em;height:1.05em}.kb-none{flex-basis:100%;font-size:.82rem;color:var(--ink-2)}.mode-hint.forced-hint{background:var(--sun);color:var(--sun-ink);font-weight:700}.flip-lead{margin-top:0}.flip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.flip-col{display:flex;flex-direction:column;gap:6px;min-width:0;padding:6px;border-radius:14px;background:color-mix(in srgb,var(--tc) 12%,var(--panel));border:1.5px solid color-mix(in srgb,var(--tc) 55%,var(--line))}.flip-head{display:flex;align-items:center;gap:5px;padding:2px 2px 4px;border-bottom:2px solid var(--tc)}.flip-gate{flex:none;width:26px;height:26px}.flip-gate .gate-glyph{width:100%;height:100%}.flip-name{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}.flip-name b{font-family:var(--display);font-size:1rem}.flip-sub{font-size:.7rem;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flip-have{flex:none;display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:999px;background:var(--chip);border:1px solid var(--line);font-weight:800;font-size:.85rem}.flip-levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.flip-level{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:5px;padding:5px 5px 5px 4px;border-radius:10px;background:var(--chip);border:1px solid var(--line);font-size:.8rem}.flip-level.done{background:color-mix(in srgb,var(--tc) 30%,var(--chip));border-color:color-mix(in srgb,var(--tc) 70%,var(--line))}.flip-level.next{border:2px dashed var(--tc)}.fl-n{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line);font-family:var(--display);font-weight:800;font-size:.8rem}.flip-level.done .fl-n{background:var(--tc);border-color:var(--tcd);color:#fff}.flip-col.tr-trade .flip-level.done .fl-n{color:#2b1d00}.fl-main{display:flex;flex-direction:column;gap:2px;min-width:0}.fl-name{font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.fl-cost{display:inline-flex;gap:0;white-space:nowrap}.fl-cost .glyph{width:.95em;height:.95em}.flip-draw{display:inline-flex;align-items:center;gap:2px;font-size:.74rem;font-weight:700;color:var(--ink-2);white-space:nowrap}.flip-die .die{width:13px;height:13px;filter:none;vertical-align:-2px}.fl-ability,.fl-metro{align-self:flex-start;display:inline-flex;align-items:center;gap:3px;padding:0 6px;border-radius:999px;font-size:.7rem;font-weight:800;line-height:1.5}.fl-ability{background:var(--tc);color:#fff}.flip-col.tr-trade .fl-ability{color:#2b1d00}.fl-metro{background:var(--panel-2);border:1px solid color-mix(in srgb,var(--tc) 60%,var(--line))}.fl-tower{display:inline-block;width:8px;height:15px}.fl-tower svg{width:100%;height:100%}.fl-who{position:absolute;top:4px;right:4px;display:flex;gap:2px}.fl-you{padding:0 4px;border-radius:5px;background:var(--accent);color:var(--accent-ink);font-size:.62rem;font-weight:800;line-height:1.4}.fl-mark{width:11px;height:11px;border-radius:50%;border:1.5px solid}.flip-buy{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:auto;padding:6px 4px;font-size:.82rem;line-height:1.15}.flip-buy .fb-l{white-space:normal}.flip-buy .cost .glyph{width:1em;height:1em}.flip-why,.flip-done{margin:0;font-size:.72rem;text-align:center;color:var(--ink-2)}.flip-notes{margin:10px 0 0;padding:0;list-style:none;font-size:.82rem;color:var(--ink-2);display:flex;flex-direction:column;gap:3px}.flip-notes b{color:var(--ink)}.gate-glyph{vertical-align:-.15em}@media(max-width:440px){.flip{gap:5px}.flip-col{padding:4px}.flip-gate{width:20px;height:20px}.flip-have{display:none}.flip-sub{font-size:.66rem}.flip-level{grid-template-columns:minmax(0,1fr);padding:4px 4px 4px 5px;font-size:.74rem}.fl-n{display:none}.fl-name{padding-right:10px}}.bs-track{padding:10px 12px;border-radius:16px;background:var(--panel-2)}.bt-lane.big{width:100%;height:40px;grid-template-columns:repeat(var(--len),minmax(0,1fr)) 40px}.bt-lane.big .bt-water{height:18px;right:20px}.bt-lane.big .bt-node{width:11px;height:11px}.bt-lane.big .bt-shore,.bt-lane.big .bt-shore-art{width:40px;height:34px}.bt-lane.big .bt-ship{left:calc(4px + (100% - 44px) * (var(--pos) + .5) / var(--len));width:44px;height:34px}.bt-lane.big .bt-ship .ship-glyph{width:44px;height:34px}.bt-lane.big .bt-wake{width:calc((100% - 44px) * var(--pos) / var(--len))}.bs-where{margin:8px 0 0;font-size:.9rem}.bs-sides{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.bs-side{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--panel-2)}.bs-n{font-family:var(--display);font-size:2rem;font-weight:800;line-height:1;min-width:1.2em;text-align:center}.bs-side.barb .bs-n{color:#b33a2e}.bs-side.kn .bs-n{color:var(--ok)}.bs-l{font-size:.8rem;color:var(--ink-2);line-height:1.25}.bs-l b{display:block;color:var(--ink);font-size:.95rem}.bs-forecast{margin:0 0 10px;padding:8px 12px;border-radius:12px;background:var(--accent-soft);font-weight:600}.bs-table{width:100%;border-collapse:collapse;font-size:.88rem}.bs-table th,.bs-table td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left}.bs-table .num{text-align:right;font-variant-numeric:tabular-nums}.bs-table thead th{font-size:.74rem;color:var(--ink-2);font-weight:700}.bs-rules{margin:10px 0 6px;padding-left:18px;font-size:.84rem;color:var(--ink-2)}.bs-rules b{color:var(--ink)}.fx-panel.fx-attack{width:min(100%,400px)}.fx-attack-sea{position:relative;height:56px;margin:0 0 8px;border-radius:14px;background:linear-gradient(180deg,var(--sea-1),var(--sea-2));overflow:hidden}.fx-attack-shore{position:absolute;right:-10px;bottom:-14px;width:90px;height:46px;border-radius:50%;background:#7fbf5a;box-shadow:inset 0 6px #9fd27a}.fx-attack-ship{position:absolute;left:8px;top:6px;animation:fx-sail calc(var(--fx-ms) * .35) cubic-bezier(.3,.6,.4,1) both}.fx-attack-ship .ship-glyph{width:64px;height:46px}@keyframes fx-sail{0%{transform:translate(0)}to{transform:translate(calc(min(100vw,400px) - 190px))}}.fx-vs{display:flex;align-items:center;justify-content:center;gap:14px;animation:fx-fade-in .3s ease both;animation-delay:calc(var(--fx-ms) * .3)}.fx-side{display:flex;flex-direction:column;align-items:center;min-width:84px;padding:6px 10px;border-radius:14px;background:var(--panel-2)}.fx-side b{font-family:var(--display);font-size:2.1rem;line-height:1}.fx-side small{font-weight:700;color:var(--ink-2)}.fx-side.barb b{color:#b33a2e}.fx-side.kn b{color:var(--ok)}.fx-vs-x{font-family:var(--display);font-size:1.6rem;font-weight:800;color:var(--ink-2)}.fx-vs.lost .fx-side.barb,.fx-vs.won .fx-side.kn{box-shadow:0 0 0 2px currentColor}.fx-vs.lost .fx-side.barb{color:#b33a2e}.fx-vs.won .fx-side.kn{color:var(--ok)}.fx-defenders{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin:8px 0;font-size:.8rem;animation:fx-fade-in .3s ease both;animation-delay:calc(var(--fx-ms) * .36)}.fx-def{display:inline-flex;align-items:center;gap:3px}.fx-def .helm-icon{width:12px;height:12px}.fx-def-dot{width:9px;height:9px;border-radius:50%;background:var(--pc)}.fx-outcome{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:14px;animation:fx-pop .35s cubic-bezier(.3,1.5,.5,1) both;animation-delay:calc(var(--fx-ms) * .46)}.fx-outcome b{font-family:var(--display);font-size:1.05rem;line-height:1.2}.fx-outcome span{font-size:.82rem;opacity:.85}.fx-outcome.won{background:var(--ok-soft);color:var(--ok)}.fx-outcome.lost{background:var(--danger-soft);color:var(--danger)}@keyframes fx-pop{0%{opacity:0;transform:scale(.8)}}.fx-draws{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.fx-draw{display:flex;flex-direction:column;align-items:center;gap:4px}.fx-draws .fx-flip.prog{width:96px;height:134px}.fx-draws .fx-devbuy{animation-delay:calc(var(--i) * .12s)}.fx-draw-who{font-size:.8rem;font-weight:800;padding:0 8px;border-radius:999px;border:2px solid var(--pc)}.fx-improve{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:8px}.fx-imp-art{width:74px;height:74px;display:grid;place-items:center;animation:fx-pop .4s cubic-bezier(.3,1.5,.5,1) both}.fx-imp-art svg{width:100%;height:100%}.fx-imp-level{display:flex;gap:5px}.fx-imp-level span{width:18px;height:8px;border-radius:4px;background:var(--panel-2);border:1px solid var(--line)}.fx-imp-level span.on{background:var(--tc);border-color:var(--tc)}.ck-toggle{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:8px 10px;border-radius:14px;border:1.5px solid var(--line);background:var(--chip);cursor:pointer}.ck-toggle.on{border-color:var(--accent);background:var(--accent-soft)}.ck-toggle-art{flex:none;width:40px;height:38px}.ck-toggle-art svg{width:100%;height:100%}.ck-toggle-text{flex:1;display:flex;flex-direction:column;line-height:1.25}.ck-toggle-text b{font-family:var(--display);font-size:1.05rem}.ck-toggle-text span{font-size:.82rem;color:var(--ink-2)}.ck-toggle.blocked{cursor:default;border-style:dashed;background:transparent}.ck-toggle.blocked .ck-toggle-art{opacity:.55}.ck-toggle.blocked .ck-toggle-text b{color:var(--ink-2)}.rules-ck{display:flex;align-items:center;gap:6px}.rules-ck svg{width:28px;height:26px}.rules-ck-list{padding-left:18px}.rules-ck-list li{margin-bottom:4px}@media(prefers-reduced-motion:reduce){.knight.active .knight-glow,.ck-track[data-pos="6"] .bt-ship,.fx-attack-ship,.fx-vs,.fx-defenders,.fx-outcome,.fx-imp-art{animation:none}.bt-ship,.bt-wake,.roll-event{transition:none}}.action-bar.six{gap:4px}.action-bar.six .action{font-size:.7rem;padding:4px 1px}.panel.desk.tight .pm-kn .pm-sub{display:none}.panel.desk .pmeta.ck-awards{min-height:18px}.hand.cards.ck-cards{grid-template-columns:repeat(9,minmax(0,1fr));gap:5px}.hand.cards.ck-cards .rtile.r-paper,.hand.cards.ck-cards .prog-hcard{margin-left:4px}.hand.cards.ck-cards .prog-hcard{grid-column:auto}.hand.cards.ck-cards .rtile-n{min-width:22px;padding:0 5px;font-size:.82rem;bottom:-8px}.hand.cards.ck-cards .hcard-icon{width:15px;height:15px;font-size:10px}.fl-ability,.fl-metro{border-radius:7px;line-height:1.3;padding:1px 6px}.fl-name{padding-right:14px}.flip-level.at .fl-name{padding-right:32px}@media(max-width:440px){.flip-color{display:none}.fl-ability,.fl-metro{font-size:.64rem;padding:1px 4px}.flip-level.at .fl-name{padding-right:26px}.flip-buy{font-size:.74rem}}.selected-ring{fill:none;stroke-width:.045;stroke-dasharray:.09 .05;animation:sel-spin 3s linear infinite}@keyframes sel-spin{to{stroke-dashoffset:-.56}}@media(prefers-reduced-motion:reduce){.selected-ring{animation:none}}.gs-tile-big{font-family:var(--display);font-size:1.05rem}.event-tally{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0;padding:8px 10px;border-radius:12px;background:var(--panel-2)}.event-tally-cap{font-size:.78rem;font-weight:700;color:var(--ink-2)}.event-tally-item{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.event-tally-item small{color:var(--ink-2)}.event-tally-die .die{width:24px;height:24px}.card-ask{display:flex;align-items:center;gap:10px;margin-bottom:2px}.card-ask .pick-lead{margin:0}.card-ask-art{flex:none;width:44px;height:62px;display:flex}.card-ask-art .gcard{width:100%;height:100%}.prog-why{font-size:.76rem;font-weight:700;color:var(--ink-2)}.prog-play{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:72px}.prog-play .key{font-size:.7rem}.ask-head.with-card{align-items:flex-start}.ask-card{flex:none;width:104px;display:flex;transform:rotate(-3deg);margin:2px 0 4px 2px}.ask-card .gcard{width:100%;box-shadow:0 6px 14px #0000004d}.ask-head.with-card h2{margin-top:6px}.play-lead{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px 10px;border-radius:14px;background:var(--panel-2)}.play-lead-card{flex:none;width:52px;height:73px;display:flex}.play-lead-card .gcard{width:100%;height:100%}.play-lead-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.86rem}.play-lead-text strong{font-family:var(--display);font-size:1.05rem}.play-lead-hint{color:var(--ink-2);font-size:.8rem}.pick-players{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.pp-btn{display:flex;align-items:center;gap:10px;text-align:left;padding:8px 12px 8px 8px;border-left:5px solid var(--pc)}.pp-avatar{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--pc, #888);border:2px solid var(--pcs, rgba(0, 0, 0, .3));color:#fff;font-family:var(--display);font-weight:800;text-shadow:0 1px 0 rgba(0,0,0,.4)}.pp-avatar.small{width:24px;height:24px;font-size:.8rem;border-width:1.5px}.pp-text{flex:1;min-width:0;display:flex;flex-direction:column}.pp-text b{font-family:var(--display);font-size:1.02rem}.pp-text small{color:var(--ink-2)}.pp-go{font-size:1.5rem;color:var(--ink-2)}.kind-pick{margin-bottom:4px}.kind-pick.eight{grid-template-columns:repeat(4,minmax(0,1fr))}.kind-pick.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:700px){.kind-pick.eight{grid-template-columns:repeat(8,minmax(0,1fr))}}.kind-rate{font-size:.7rem;font-weight:700;color:var(--ok)}.res-btn:disabled .kind-rate{color:var(--ink-2)}.alc-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.alc-l{flex:none;width:64px;font-family:var(--display);font-weight:700;font-size:.9rem}.alc-dice{flex:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.alc-die{display:grid;place-items:center;min-height:44px;padding:4px;border-radius:12px}.alc-die .die{width:30px;height:30px}.alc-die.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}.alc-pays{margin:2px 0 10px}.alc-preview{margin-bottom:10px;padding:10px 12px;border-radius:14px;background:var(--panel-2)}.alc-total{display:flex;align-items:center;gap:10px;margin-bottom:4px}.alc-total b{font-family:var(--display);font-size:2rem;line-height:1}.alc-total.seven b{color:var(--danger)}.alc-total-dice{display:inline-flex;gap:4px}.alc-total-dice .die{width:22px;height:22px}.alc-lines,.alc-draws{margin:0;padding-left:18px;font-size:.88rem}.alc-draws{list-style:none;padding-left:0}.alc-draws li{display:flex;align-items:center;gap:6px}.alc-draws .gate-glyph{width:1.1em;height:1.1em}.alc-sub{margin:8px 0 2px;font-size:.8rem;font-weight:700;color:var(--ink-2)}.alc-empty{margin:0 0 10px}.sheet .alc-preview+.primary.wide,.sheet .alc-empty+.primary.wide{margin-bottom:8px}.spy-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;margin-bottom:12px}.spy-card{display:flex;flex-direction:column;align-items:stretch;gap:6px}.spy-face{display:flex}.spy-face .gcard{width:100%}.mm-hand{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px}.mm-card{position:relative;width:40px;display:flex}.mm-card .gcard{width:100%}.mm-card b{position:absolute;right:-5px;bottom:-5px;min-width:20px;padding:0 4px;border-radius:8px;background:var(--chip);border:1px solid var(--line);font-family:var(--display);text-align:center;font-size:.85rem}.harbor-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.harbor-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:var(--panel-2);border-left:5px solid var(--pc)}.hr-who{flex:1 1 100%;display:flex;align-items:center;gap:8px}.hr-who .pp-avatar{background:var(--pc)}.hr-who b{font-family:var(--display)}.hr-who small{color:var(--ink-2)}.hr-status{font-size:.86rem;font-weight:700;color:var(--ink-2)}.hr-status.ok{color:var(--ok)}.hr-res{flex:1 1 220px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.hr-res .res-btn{min-height:40px;padding:4px 2px}.hr-send{flex:1 1 140px}.card-bar{align-items:center}.cb-head{flex:1 1 170px;display:flex;align-items:center;gap:10px;min-width:0}.cb-card{flex:none;width:30px;height:42px;display:flex}.cb-card .gcard{width:100%;height:100%}.cb-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.cb-text b{font-family:var(--display)}.cb-text small{color:var(--ink-2)}.turn-chips{display:flex;flex-wrap:wrap;gap:6px}.turn-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:3px 10px 3px 4px;border-radius:999px;border:1px solid var(--line);border-bottom-width:1px;background:var(--panel-2);font-size:.78rem;line-height:1.15}button.turn-chip{border-bottom-width:2px;background:var(--chip)}.tc-card{flex:none;width:17px;height:24px;display:flex}.tc-card .gcard{width:100%;height:100%}.tc-text b{font-family:var(--display)}.tc-text span{color:var(--ink-2)}.action .ai-card{display:flex;width:1.15rem;height:1.6rem}.action .ai-card .gcard{width:100%;height:100%}.dmain .db-icon .gcard.prog{width:21px}.fb-crane{padding:0 6px;border-radius:999px;background:#3f9a4a;color:#fff;font-size:.72rem;font-weight:800}.fb-free{font-weight:800}.lg-card{padding:0 5px;border-radius:6px;font-weight:800;white-space:nowrap}.lg-card.deck-trade{background:#e9b72647}.lg-card.deck-politics{background:#3b78c93d}.lg-card.deck-science{background:#3f9a4a3d}.deck-main.split .dmain{gap:8px;padding:8px 10px}.deck-main.split .dmain .key{position:static;transform:none}.deck-main.split .dmain.plain{font-size:1.02rem}.panel:not(.desk) .turn-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.panel:not(.desk) .turn-chips::-webkit-scrollbar{display:none}.panel:not(.desk) .turn-chip{flex:none}:root{--bg: #e8eef2;--panel: #fbf8f1;--panel-2: #f2ece0;--chip: #ffffff;--ink: #152a3d;--ink-2: #5d6b79;--line: #e2d9c7;--accent: #1a6aa6;--accent-ink: #ffffff;--accent-soft: #dcebf6;--sun: #f4b62f;--sun-edge: #c98b0c;--sun-ink: #2b1d00;--danger: #b3261e;--danger-soft: #fbe7e4;--ok: #23884a;--ok-soft: #e1f3e7;--sea-1: #3e93cf;--sea-2: #1d5e95;--sea-3: #154a78;--shadow: 0 10px 30px rgba(12, 30, 48, .22);--shadow-sm: 0 2px 6px rgba(12, 30, 48, .14);--radius: 16px;--tap: 44px;--display: "Baloo 2", "Trebuchet MS", "Segoe UI", system-ui, sans-serif;--body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0c1823;--panel: #152331;--panel-2: #1c2e40;--chip: #1f3347;--ink: #eaf1f7;--ink-2: #9fb1c2;--line: #2b4056;--accent: #5db0ec;--accent-ink: #06182a;--accent-soft: #1b3a55;--sun: #f4b62f;--sun-edge: #b27805;--sun-ink: #231700;--danger: #ff7a70;--danger-soft: #3d2126;--ok: #62c985;--ok-soft: #173a2b;--sea-1: #1f6397;--sea-2: #123f66;--sea-3: #0b2c49;--shadow: 0 10px 30px rgba(0, 0, 0, .55);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .4);color-scheme:dark}}:root[data-theme=dark]{--bg: #0c1823;--panel: #152331;--panel-2: #1c2e40;--chip: #1f3347;--ink: #eaf1f7;--ink-2: #9fb1c2;--line: #2b4056;--accent: #5db0ec;--accent-ink: #06182a;--accent-soft: #1b3a55;--sun: #f4b62f;--sun-edge: #b27805;--sun-ink: #231700;--danger: #ff7a70;--danger-soft: #3d2126;--ok: #62c985;--ok-soft: #173a2b;--sea-1: #1f6397;--sea-2: #123f66;--sea-3: #0b2c49;--shadow: 0 10px 30px rgba(0, 0, 0, .55);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .4);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--ink);font:16px/1.4 var(--body);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app{height:100%}h1,h2,h3{margin:0 0 .4em;line-height:1.15;font-family:var(--display);text-wrap:balance}h1{font-size:1.7rem;font-weight:800}h2{font-size:1.25rem;font-weight:700}h3{font-size:.8rem;color:var(--ink-2);margin-top:1em;text-transform:uppercase;letter-spacing:.06em;font-family:var(--body);font-weight:700}button{font:inherit;color:var(--ink);background:var(--chip);border:1px solid var(--line);border-bottom-width:3px;border-radius:12px;min-height:var(--tap);padding:.45em .9em;cursor:pointer;touch-action:manipulation;transition:transform .08s ease,border-bottom-width .08s ease}button:active:not(:disabled){transform:translateY(2px);border-bottom-width:1px}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--sun);color:var(--sun-ink);border-color:var(--sun-edge);font-weight:700}button.big{font-size:1.08rem;padding:.7em 1.1em}button.wide{width:100%}button.link{background:none;border:none;color:var(--accent);text-decoration:underline;padding:.3em}button.danger{background:var(--danger);color:#fff;border-color:#7d1a14}button.danger-outline{color:var(--danger);border-color:var(--danger);background:transparent}button.icon-btn{min-width:var(--tap);padding:0;font-size:1.25rem;background:transparent;border-color:transparent}button.small-btn{min-height:34px;padding:.2em .7em;font-size:.9rem}input{font:inherit;color:var(--ink);background:var(--chip);border:1px solid var(--line);border-radius:12px;min-height:var(--tap);padding:.4em .7em}.hint{color:var(--ink-2);font-size:.88rem}.hint.ok{color:var(--ok)}.row{display:flex;align-items:center;justify-content:space-between;gap:.6em;flex-wrap:wrap;margin:.4em 0}.row.check{justify-content:flex-start}.row.check input{min-height:auto;width:1.2em;height:1.2em}.dot{display:inline-block;width:.8em;height:.8em;border-radius:50%;border:2px solid;vertical-align:-.05em}.tag{font-size:.72rem;color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:0 5px}.home,.join{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.18),transparent 45%),radial-gradient(circle at 50% 40%,var(--sea-1),var(--sea-2) 60%,var(--sea-3))}.home-card{width:min(420px,100%);background:var(--panel);border-radius:26px;box-shadow:var(--shadow);padding:26px 20px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.home-card h1{font-size:2.3rem;margin:2px 0 0;letter-spacing:-.01em}.logo{width:92px;height:92px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.25))}.tagline{color:var(--ink-2);margin:0 0 10px}.home-buttons{display:flex;flex-direction:column;gap:10px;width:100%}.home-buttons button{display:flex;flex-direction:column;align-items:center;font-family:var(--display);font-weight:700}.btn-sub{font-family:var(--body);font-size:.8rem;font-weight:400;opacity:.85}.install-tip{font-size:.8rem;color:var(--ink-2);margin:4px 0 0}.disclaimer{max-width:420px;margin-top:18px;font-size:.75rem;color:#ffffffd1;text-align:center}.setup,.lobby{height:100%;overflow-y:auto;max-width:720px;margin:0 auto;padding:8px 16px 130px}.setup-head{display:flex;align-items:center;gap:8px;position:sticky;top:0;background:var(--bg);padding:8px 0;z-index:2}.setup-head h1{margin:0}.setup-section{background:var(--panel);border-radius:var(--radius);padding:14px;margin:12px 0;box-shadow:var(--shadow-sm)}.scenario-list{display:grid;gap:8px}.scenario-card{text-align:left;display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--chip)}.scenario-card.on{border-color:var(--accent);background:var(--accent-soft)}.scenario-title{font-family:var(--display);font-weight:700;font-size:1.05rem}.scenario-meta{font-size:.8rem;color:var(--ink-2)}.scenario-text{font-size:.88rem;margin-top:4px}.seat-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.seat{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seat-name{flex:1 1 110px;min-width:0}.lobby-seat .seat-name{font-weight:600}.seat-state{color:var(--ink-2);font-size:.9rem}.swatch{width:34px;height:34px;min-height:34px;border-radius:50%;border:3px solid;padding:0;flex:none}.seg{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}.seg button{border:none;border-radius:0;background:var(--chip);min-height:38px;padding:.3em .7em;font-size:.9rem}.seg button:active:not(:disabled){transform:none}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:700}.setup-foot{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,var(--bg) 35%);display:flex;flex-direction:column;align-items:center}.setup-foot>button{max-width:688px}.setup-foot .hint{margin:6px 0 0}.lobby-code{text-align:center;background:var(--panel);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.lobby-code .row{justify-content:center}.code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.12em}.big-code{font-size:2.6rem;font-weight:700;margin:6px 0 10px;color:var(--accent)}.join-form{width:min(420px,100%);background:var(--panel);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.join-form label{display:flex;flex-direction:column;gap:4px;font-weight:600}.code-input{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.6rem;letter-spacing:.2em;text-transform:uppercase;text-align:center}.join .setup-head{width:min(420px,100%);background:transparent;color:#fff}.join .setup-head .icon-btn{color:#fff}.pass{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--pc) 45%,var(--sea-2)),var(--sea-3) 80%)}.pass-card{background:var(--panel);border-radius:26px;box-shadow:var(--shadow);padding:28px 22px;text-align:center;width:min(420px,100%)}.pass-icon{font-size:2.6rem}.pass-name{font-family:var(--display);font-size:2.2rem;font-weight:800;margin:4px 0 8px}.game{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"hud" "board" "panel";overflow:hidden;background:var(--sea-2)}.hud{grid-area:hud;display:flex;align-items:center;gap:6px;padding:calc(6px + env(safe-area-inset-top,0px)) 8px 6px 4px;background:var(--panel);box-shadow:var(--shadow-sm);z-index:3;position:relative}.hud:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--pc, var(--accent))}.hud-main{flex:1;min-width:0}.status-text{font-family:var(--display);font-weight:700;font-size:1.12rem;line-height:1.2;display:flex;align-items:center;gap:8px}.sub{display:flex;min-width:0;font-size:.76rem;color:var(--ink-2);white-space:nowrap}.sub-main{flex:0 1 auto;min-width:2em;overflow:hidden;text-overflow:ellipsis}.sub-note{flex:0 1000 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:pre}.dice{display:flex;gap:5px;flex:none}.die{width:32px;height:32px;filter:drop-shadow(0 2px 1px rgba(0,0,0,.25))}.die-face{fill:#fffdf6;stroke:#cfc4ad;stroke-width:.04}.die.red .die-face{fill:#e0433b;stroke:#9b231d}.die-pip{fill:#1d1a14}.die.red .die-pip{fill:#fff}.roll-overlay{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#0816243d;transition:background-color .3s ease;animation:fade .15s ease-out;cursor:pointer;-webkit-tap-highlight-color:transparent}.roll-overlay.leaving{background:#08162400}.roll-stage{display:flex;gap:34px}.cube-wrap{--size: 70px;--half: 35px;position:relative;width:var(--size);height:var(--size);perspective:620px}.cube-wrap:after{content:"";position:absolute;left:8%;right:8%;bottom:-18px;height:14px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.38),transparent);transition:opacity .2s}.roll-overlay.leaving .cube-wrap:after{opacity:0}.cube{position:relative;width:100%;height:100%;transform-style:preserve-3d}.cube-face{position:absolute;inset:0;border-radius:14%;background:linear-gradient(145deg,#fffef9,#ece2cc);border:2px solid #cfc4ad;box-shadow:inset 0 -5px 10px #00000014;backface-visibility:hidden}.cube-wrap.red .cube-face{background:linear-gradient(145deg,#f0625a,#c42f28);border-color:#9b231d;box-shadow:inset 0 -5px 10px #00000029}.die-pips{display:block;width:100%;height:100%}.cube-wrap.red .die-pip{fill:#fff}.roll-sum{min-width:2.2em;padding:6px 16px 4px;border-radius:999px;background:#061a2cc7;box-shadow:var(--shadow-sm);font-family:var(--display);font-size:2.2rem;font-weight:800;line-height:1;text-align:center;color:#fff;opacity:0;transform:scale(.5);transition:opacity .18s ease-out,transform .3s cubic-bezier(.3,1.6,.5,1)}.roll-overlay.landed .roll-sum{opacity:1;transform:scale(1)}.roll-overlay.leaving .roll-sum{opacity:0;transform:scale(1)}.toast{position:fixed;top:70px;left:50%;transform:translate(-50%);z-index:50;background:var(--danger);color:#fff;padding:10px 16px;border-radius:12px;box-shadow:var(--shadow);max-width:calc(100% - 32px)}.spinner{width:14px;height:14px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite;display:inline-block;flex:none}.spinner.big{width:34px;height:34px;margin:10px}@keyframes spin{to{transform:rotate(360deg)}}.board-area{grid-area:board;position:relative;min-height:0;background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.14),transparent 60%),radial-gradient(ellipse at 50% 45%,var(--sea-1),var(--sea-2) 70%,var(--sea-3))}.board-wrap{position:absolute;inset:0}svg.board{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.feed.hushed{opacity:0}.feed{transition:opacity .25s;position:absolute;left:8px;top:8px;max-width:calc(100% - 64px);min-height:0;padding:5px 12px 6px;border:none;border-radius:14px;background:#061a2c94;color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;z-index:2}.feed-line{display:flex;align-items:center;gap:6px;max-width:100%;font-size:.8rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:feed-in .35s ease-out}.feed-line.age-1{opacity:.72}.feed-line.age-2{opacity:.48}.feed-dot{width:8px;height:8px;border-radius:50%;flex:none}.feed-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.feed .lg-name{color:inherit}.feed .lg-roll{height:1.45em;min-width:1.45em;border-width:1.5px}@keyframes feed-in{0%{transform:translateY(6px);opacity:0}}.speed-chip{font-family:var(--display);font-weight:800;font-size:.95rem}.zoom-controls{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:6px}.zoom-controls button{width:38px;min-height:38px;padding:0;border:none;border-radius:12px;background:#061a2c73;color:#fff;font-size:1.15rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media(hover:none)and (pointer:coarse){.zoom-controls .zoom-in,.zoom-controls .zoom-out{display:none}}.confirm-bar,.mode-hint{position:absolute;left:8px;right:8px;bottom:10px;background:var(--panel);border-radius:16px;box-shadow:var(--shadow);padding:8px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;z-index:5}.confirm-bar>span{flex:1 1 140px;font-family:var(--display);font-weight:700}.confirm-buttons{display:flex;gap:6px;flex-wrap:wrap}.mode-hint{left:50%;right:auto;transform:translate(-50%);width:max-content;max-width:calc(100% - 16px);justify-content:center;color:#fff;font-size:.88rem;pointer-events:none;background:#061a2c99;border-radius:999px;padding:6px 14px}.panel{grid-area:panel;min-width:0;background:var(--panel);border-radius:20px 20px 0 0;box-shadow:0 -6px 20px #061a2c40;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;z-index:3}.players{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -10px;padding:2px 10px}.players::-webkit-scrollbar{display:none}.player{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:44px;padding:3px 5px 3px 3px;border-radius:999px;border:1px solid var(--line);border-bottom-width:1px;background:var(--chip);text-align:left}.player:active:not(:disabled){transform:none;border-bottom-width:1px}.player.active{border-color:var(--pc);box-shadow:0 0 0 2px var(--pc);background:color-mix(in srgb,var(--pc) 12%,var(--chip))}.avatar{width:34px;height:34px;border-radius:50%;background:var(--pc);border:2px solid var(--pcs);color:#fff;font-family:var(--display);font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:inset 0 -3px #0000002e}.pinfo{display:flex;flex-direction:column;min-width:0}.pname{font-weight:700;font-size:.82rem;white-space:nowrap;max-width:92px;overflow:hidden;text-overflow:ellipsis}.pmeta{font-size:.72rem;color:var(--ink-2);white-space:nowrap}.pvp{font-family:var(--display);font-weight:800;font-size:1.15rem;min-width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sun);color:var(--sun-ink);box-shadow:inset 0 -3px 0 var(--sun-edge)}.you{font-size:.66rem;font-weight:700;background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:0 5px;margin-left:5px;vertical-align:1px}.badge{font-size:.7rem;background:var(--sun);color:var(--sun-ink);border-radius:6px;padding:0 6px;font-weight:700}.hand{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.rcard{position:relative;height:52px;border-radius:10px;border:2px solid rgba(255,255,255,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;min-height:0;box-shadow:0 3px #00000038,0 4px 8px #0000001f;color:#1d1a14}.rcard.r-brick{background:linear-gradient(160deg,#eb9369,#c65a32)}.rcard.r-lumber{background:linear-gradient(160deg,#6cbf6e,#2f7d3a)}.rcard.r-wool{background:linear-gradient(160deg,#d7f0a6,#8ccf55)}.rcard.r-grain{background:linear-gradient(160deg,#fbe39a,#e2b93b)}.rcard.r-ore{background:linear-gradient(160deg,#c6cbd3,#7d8491)}.rcard.dev{background:linear-gradient(160deg,#a58ae6,#5d3fb0);border-bottom-width:2px}.rcard.dev:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}.rcard.empty{filter:saturate(.25) brightness(1.05);opacity:.55;box-shadow:none}.rc-icon{font-size:1.25rem;line-height:1}.rc-n{font-family:var(--display);font-weight:800;font-size:.95rem;line-height:1.1;min-width:24px;margin-top:2px;text-align:center;background:#ffffffe0;border-radius:7px}.action-bar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.action-bar:empty{display:none}.action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 2px;min-height:56px;font-weight:700;font-size:.76rem;line-height:1.1}.action .ai{font-size:1.35rem;line-height:1.1}.action .al{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.action.big{flex-direction:row;gap:8px;font-size:1.2rem;font-family:var(--display);grid-column:span 2}.action.big .ai{font-size:1.6rem}.action.on{background:var(--accent-soft);border-color:var(--accent)}.action.glow{border-color:var(--sun-edge);box-shadow:0 0 0 2px color-mix(in srgb,var(--sun) 55%,transparent)}.board-area.docked{--log-w: clamp(340px, 26vw, 420px);--log-h: clamp(220px, 35vh, 440px)}.glog{position:absolute;left:12px;bottom:12px;z-index:4;width:min(var(--log-w),calc(100% - 90px));height:min(var(--log-h),calc(100% - 24px));display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:color-mix(in srgb,var(--panel) 68%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);color:var(--ink);font-size:.88rem;transition:background-color .2s ease}.glog:hover,.glog:focus-within{background:color-mix(in srgb,var(--panel) 86%,transparent)}.glog.folded{height:auto}.glog-head{flex:none;display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 6px 4px 12px;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.glog.folded .glog-head{border-bottom:none}.glog-title{flex:none;display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:.98rem;font-weight:700}.glog-icon{width:16px;height:16px;color:var(--ink-2)}.glog-peek{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;color:var(--ink-2)}.glog-grip,.glog-fold{flex:none;width:28px;height:28px;min-height:0;padding:0;display:grid;place-items:center;border:none;border-radius:8px;background:transparent;color:var(--ink-2)}.glog-grip{margin-left:auto;cursor:nesw-resize;touch-action:none}.glog-grip svg{width:12px;height:12px}.glog-fold svg{width:14px;height:14px}.glog-grip:hover,.glog-fold:hover{background:color-mix(in srgb,var(--ink) 9%,transparent);color:var(--ink)}.glog-fold:active:not(:disabled){transform:none}.glog-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px 10px;scrollbar-width:thin;-webkit-user-select:text;user-select:text}.glog-empty{margin:12px 6px;color:var(--ink-2)}.glog-new{position:absolute;left:50%;bottom:10px;transform:translate(-50%);min-height:0;padding:3px 12px;border:none;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.8rem;font-weight:700;box-shadow:var(--shadow-sm)}.glog-new:active:not(:disabled){transform:translate(-50%) translateY(1px)}.board-area.docked .board-wrap{left:var(--fit-left, 0px);bottom:var(--fit-bottom, 0px)}.board-area.docked .confirm-bar,.board-area.docked .mode-hint{left:calc(min(var(--log-w),100% - 90px) + 24px);right:12px;bottom:12px;width:max-content;max-width:calc(100% - min(var(--log-w),100% - 90px) - 36px);margin-inline:auto;transform:none}.board-area.docked .confirm-bar{min-width:min(340px,calc(100% - min(var(--log-w),100% - 90px) - 36px));padding:10px 12px}.panel.desk{gap:12px;padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px))}.panel.desk .player{min-height:52px;gap:10px;padding:6px 8px 6px 6px}.panel.desk .avatar{width:38px;height:38px}.panel.desk .pname{font-size:.92rem}.panel.desk .pmeta{display:flex;align-items:center;gap:10px;margin-top:1px;font-size:.8rem;font-variant-numeric:tabular-nums}.pm{display:inline-flex;align-items:center;gap:3px}.pm-icon{width:15px;height:15px}.panel.desk .pvp{min-width:38px;height:38px}.panel.desk.tight .players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.panel.desk.tight .player{min-height:46px;gap:7px;padding:4px 6px 4px 4px}.panel.desk.tight .avatar{width:32px;height:32px;font-size:.9rem}.panel.desk.tight .pvp{min-width:32px;height:32px;font-size:1rem}.panel.desk.tight .pmeta{gap:7px}.panel.desk.tight .you{display:none}.panel-cap,.deck-cap{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 2px 7px;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2)}.hand-total,.deck-cap-hint{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;letter-spacing:0;text-transform:none}.deck-cap-title{display:inline-flex;align-items:center;gap:6px}.deck-cap .key{text-transform:none}.hand-total.over{color:var(--danger);font-weight:700}.tray{margin-top:auto;display:flex;flex-direction:column;gap:12px;margin-inline:-6px;padding:10px;border-radius:20px;background:color-mix(in srgb,var(--bg) 55%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 60%,transparent)}.hand.cards{gap:8px;padding:2px 2px 10px}.hand.cards .rtile{position:relative;display:block;height:auto;aspect-ratio:5 / 7;min-height:0;padding:0;overflow:visible;border:none;border-radius:12%/9%;background:none;box-shadow:none;filter:none;opacity:1}.hcard .gcard{position:relative;z-index:1;height:100%;box-shadow:0 2px #0000002e,0 4px 10px #00000038}.hcard.many:before{content:"";position:absolute;inset:0;border-radius:12%/9%;background:linear-gradient(160deg,#f3e3bd,#d9bf85);border:1px solid #7a5a2e;transform:translate(4px,-3px) rotate(6deg);box-shadow:0 2px 5px #0003}.hcard.dev.many:before{background:#5d3fb0;border-color:#e9dcff}.hcard-icon{position:absolute;z-index:2;top:5%;left:7%;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#fbf0d0f5;border:1px solid #7a5a2e;font-size:12px}.hand.cards .rtile-n{position:absolute;z-index:3;left:50%;right:auto;bottom:-9px;transform:translate(-50%);min-width:26px;padding:0 7px;border-radius:999px;border:2px solid var(--panel);background:var(--ink);color:var(--panel);font-size:.92rem;line-height:1.3;box-shadow:0 2px 4px #0000004d}.hcard-slot{position:absolute;inset:0;border-radius:12%/9%;border:2px dashed color-mix(in srgb,var(--ink-2) 40%,transparent);background:color-mix(in srgb,var(--ink) 4%,transparent)}.hcard.empty .hcard-icon{top:42%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;font-size:20px;background:none;border:none;filter:grayscale(1);opacity:.4}.hand.cards .hcard.empty .rtile-n{background:var(--panel-2);color:var(--ink-2);box-shadow:none}.hand.cards button.hcard{cursor:pointer;transition:transform .12s ease}.hand.cards button.hcard:hover{transform:translateY(-2px)}.hand.cards button.hcard:active:not(:disabled){transform:translateY(1px)}.deck{display:flex;flex-direction:column;gap:10px}.deck-cap{margin-bottom:-3px}.bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bgrid.five .btile.dev{grid-column:1 / -1}.btile{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-areas:"icon name" "icon cost";align-items:center;column-gap:9px;row-gap:3px;min-height:62px;padding:7px 8px 7px 7px;border-radius:14px;text-align:left;transition:transform .1s ease,box-shadow .15s ease,border-color .15s ease}.bt-icon{position:relative;grid-area:icon;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--panel-2)}.bt-icon svg{width:32px;height:32px;overflow:visible}.bt-name{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-size:1rem;font-weight:700;line-height:1.1}.bt-left{position:absolute;right:-6px;bottom:-6px;min-width:18px;padding:0 4px;border-radius:999px;background:var(--chip);box-shadow:0 0 0 1px var(--line);color:var(--ink-2);font-size:.64rem;font-weight:800;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.bt-cost{grid-area:cost;display:flex;flex-wrap:wrap;gap:2px}.bt-cost .pip{width:19px;height:19px;display:grid;place-items:center;border-radius:6px;background:var(--panel-2);font-size:15px}.bt-cost .pip.miss{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink-2) 45%,transparent)}.bt-cost .pip.miss .glyph{opacity:.35;filter:grayscale(.7)}.btile.ready{border-color:color-mix(in srgb,var(--ok) 60%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 25%,transparent)}.btile.ready:after,.btile.on:after{content:"";position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--ok)}.btile.short,.btile.blocked{cursor:default;background:color-mix(in srgb,var(--chip) 55%,var(--panel))}.btile.blocked{border-bottom-width:1px;padding-bottom:9px}.btile.short .bt-icon svg,.btile.blocked .bt-icon svg{filter:grayscale(.75);opacity:.5}.btile.short .bt-name,.btile.blocked .bt-name{color:var(--ink-2)}.btile.blocked .bt-cost{opacity:.75}.btile.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.btile.on:after{background:var(--accent)}@media(hover:hover){.btile.ready:hover{transform:translateY(-1px);border-color:var(--ok);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 35%,transparent),var(--shadow-sm)}.dbtn:not([aria-disabled=true]):hover,.dmain:not([aria-disabled=true]):hover{filter:brightness(1.05)}}.btile[aria-disabled=true]:active,.dbtn[aria-disabled=true]:active{transform:none;border-bottom-width:3px}.btile.blocked:active{border-bottom-width:1px}.deck-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}.dbtn{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-height:50px;padding:6px 8px;border-radius:13px;font-weight:700;font-size:.98rem;white-space:nowrap}.dbtn.badged .db-icon{margin-right:6px}.db-icon{position:relative;flex:none;width:22px;height:22px;display:grid;place-items:center;font-size:1.15rem;line-height:1}.db-icon svg{width:100%;height:100%}.db-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.db-badge{position:absolute;top:-8px;right:-10px;min-width:18px;padding:0 5px;border-radius:999px;border:2px solid var(--chip);background:var(--accent);color:var(--accent-ink);font-family:var(--body);font-size:.68rem;font-weight:800;line-height:14px;text-align:center}.dbtn[aria-disabled=true]{cursor:default;opacity:.5}.dbtn.on{background:var(--accent-soft);border-color:var(--accent)}.dbtn.glow{border-color:var(--sun-edge);box-shadow:0 0 0 2px color-mix(in srgb,var(--sun) 55%,transparent)}.deck-main{display:grid;gap:8px}.deck-main.split{grid-template-columns:repeat(2,minmax(0,1fr))}.dmain{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:66px;padding:8px 16px;border-radius:17px;border-bottom-width:4px;font-family:var(--display);font-size:1.4rem;font-weight:800}.dmain .db-icon{width:30px;height:30px;font-size:1.5rem}.dmain .key{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.dmain.roll{background:var(--sun);border-color:var(--sun-edge);color:var(--sun-ink);animation:nudge 2.4s ease-in-out infinite}.dmain.end{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 62%,#000);color:var(--accent-ink)}.dmain.plain{font-size:1.15rem}.dmain.plain.on{background:var(--accent-soft);border-color:var(--accent)}@keyframes nudge{0%,to{box-shadow:0 4px 14px color-mix(in srgb,var(--sun) 25%,transparent)}50%{box-shadow:0 4px 24px color-mix(in srgb,var(--sun) 60%,transparent)}}.roll-icon{display:inline-flex;gap:2px}.roll-icon .die{width:24px;height:24px;transform:rotate(-12deg)}.roll-icon .die+.die{transform:rotate(9deg) translateY(3px)}.dmain .db-icon:has(.roll-icon){width:auto}.deck-wait{display:flex;align-items:center;justify-content:center;gap:10px;min-height:66px;padding:8px 14px;border:2px dashed var(--line);border-radius:17px;color:var(--ink-2);font-weight:600;text-align:center}.key,.keys-only{display:none}@media(hover:hover)and (pointer:fine){.keys-only{display:inline-flex}.key{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:1px solid currentColor;border-bottom-width:2px;border-radius:5px;font:700 .66rem/1 var(--body);opacity:.5}}@media(min-width:900px){.game{grid-template-columns:minmax(0,1fr) clamp(380px,28vw,460px);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"hud hud" "board panel"}.panel{border-radius:0;box-shadow:-6px 0 20px #061a2c33;overflow-y:auto;padding:12px}.players{flex-direction:column;overflow:visible;margin:0;padding:0}.player{border-radius:14px}.pname{max-width:200px}.pinfo{flex:1}.action-bar{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(orientation:landscape)and (max-height:560px)and (max-width:1100px){.game{grid-template-columns:minmax(0,1fr) min(330px,44vw);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"hud panel" "board panel"}.hud{padding:calc(4px + env(safe-area-inset-top,0px)) 8px 4px calc(4px + env(safe-area-inset-left,0px))}.status-text{font-size:1rem}.die{width:28px;height:28px}.panel{border-radius:0;box-shadow:-6px 0 20px #061a2c40;overflow-y:auto;gap:6px;padding:calc(6px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) 8px}.players{margin:0 -8px;padding:2px 8px}.rcard{height:44px}.rtile{height:46px}.rc-icon{font-size:1.05rem}.action-bar{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}.action{min-height:46px}.sheet{max-height:96%}.board-wrap{left:env(safe-area-inset-left,0px)}}.game,.pass{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.sheet-backdrop{position:fixed;inset:0;background:#06121e80;display:flex;align-items:flex-end;justify-content:center;z-index:40;animation:fade .15s ease-out}.sheet{width:min(560px,100%);max-height:88%;background:var(--panel);border-radius:22px 22px 0 0;box-shadow:var(--shadow);display:flex;flex-direction:column;animation:rise .18s ease-out}.sheet:before{content:"";align-self:center;width:44px;height:5px;border-radius:3px;background:var(--line);margin-top:8px}.sheet.wide{width:min(680px,100%)}@media(min-width:700px){.sheet-backdrop{align-items:center}.sheet{border-radius:22px}.sheet:before{display:none}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px 16px}.sheet-head h2{margin:0}.sheet-tools{margin-left:auto;display:flex;align-items:center;gap:6px}.sheet-body{padding:4px 16px calc(16px + env(safe-area-inset-bottom,0px));overflow-y:auto}@keyframes rise{0%{transform:translateY(28px)}}@keyframes fade{0%{opacity:0}}.stepper{display:inline-flex;align-items:center;gap:4px}.stepper button{width:40px;min-height:40px;padding:0;font-size:1.2rem}.stepper-value{min-width:2ch;text-align:center;font-family:var(--display);font-weight:800;font-size:1.15rem}.res{display:inline-flex;align-items:center;gap:2px;background:var(--chip);border:1px solid var(--line);border-radius:9px;padding:2px 6px;font-weight:700;min-width:40px;justify-content:center}.res-icon{font-size:1.1rem}.res-choice{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.res-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px}.res-btn.on{border-color:var(--accent);background:var(--accent-soft)}.rate{font-size:.72rem;color:var(--ink-2)}.tabs{display:flex;gap:6px;margin-bottom:8px}.tab{flex:1}.tab.on{background:var(--accent);color:var(--accent-ink);border-color:transparent}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip.on{background:var(--accent-soft);border-color:var(--accent)}.your-cards{margin-bottom:10px}.your-cards-label{display:block;font-size:.78rem;font-weight:700;color:var(--ink-2);margin-bottom:4px}.your-cards-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.your-cards-row .rtile{height:50px}.your-cards.picking .your-cards-row{padding-top:5px}.yc{position:relative;display:flex;flex-direction:column;gap:3px;min-width:0}.yc .rtile{transition:border-color .15s ease,opacity .15s ease,filter .15s ease}.yc.out .rtile{border-color:var(--danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 30%,transparent)}.yc.in .rtile{border-color:var(--ok);box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 30%,transparent)}.yc.out .rtile-n{color:#b3261e}.yc.in .rtile-n{color:#1d7a41}.yc-delta{position:absolute;top:-7px;right:-5px;z-index:1;min-width:26px;padding:0 6px;border-radius:999px;background:var(--danger);color:var(--panel);font-family:var(--display);font-weight:800;font-size:.85rem;line-height:1.4;text-align:center;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-sm);animation:tpop .18s ease-out}.yc.in .yc-delta{background:var(--ok)}.yc-was{text-align:center;font-size:.74rem;font-weight:700;line-height:1.2;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.yc.out .yc-was{color:var(--danger)}.yc.in .yc-was{color:var(--ok)}.pick-lead{margin:0 0 2px;font-family:var(--display);font-size:1.12rem;font-weight:700}.pick-lead b{font-weight:800;font-variant-numeric:tabular-nums}.pick-note{margin:0 0 10px}.tsum-left{color:var(--ink-2);white-space:nowrap}button.peek-btn{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:.25em .85em .25em .65em;border-radius:999px;border-bottom-width:1px;color:var(--accent);font-size:.9rem;font-weight:700;white-space:nowrap}button.peek-btn:active:not(:disabled){border-bottom-width:1px}@media(hover:hover){button.peek-btn:hover{background:var(--accent-soft);border-color:var(--accent)}}.peek-eye{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.peek-eye circle{fill:currentColor;stroke:none}@media(max-width:440px){.long-title .peek-more{display:none}}@media(max-width:380px){.peek-more{display:none}}.peek-bar{animation:rise .18s ease-out}.peek-bar .peek-text{flex:1 1 0;display:flex;flex-direction:column;min-width:0;line-height:1.25}.peek-bar .peek-text b{font-family:var(--display);font-weight:800;font-size:1.02rem}.peek-bar .peek-text small{font-size:.84rem;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.peek-bar button{flex:none;white-space:nowrap;padding-inline:.8em;font-size:.94rem}.peek-bar.floating{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30}.trow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:2px 0 6px}.tcol{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0}.tbox{position:relative;display:flex;flex-direction:column;align-items:stretch;border-radius:14px;background:var(--chip);border:1.5px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .15s ease,background-color .15s ease}.tbox.get{border-color:var(--ok);background:var(--ok-soft)}.tbox.give{border-color:var(--danger);background:var(--danger-soft)}.tbox.locked{border-style:dashed;box-shadow:none}.tbox-btn{display:grid;place-items:center;min-height:42px;padding:0;border:none;border-radius:0;background:transparent}.tbox-btn.up{color:var(--ok)}.tbox-btn.down{color:var(--danger)}.tbox-btn:active:not(:disabled){transform:none;border-bottom-width:0}.tbox-btn.up:active:not(:disabled){background:color-mix(in srgb,var(--ok) 22%,transparent)}.tbox-btn.down:active:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,transparent)}@media(hover:hover){.tbox-btn.up:hover:not(:disabled){background:color-mix(in srgb,var(--ok) 12%,transparent)}.tbox-btn.down:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent)}}.tbox-btn:disabled{opacity:.22}.tbox-btn:focus-visible{outline-offset:-3px;border-radius:12px}.tbox-chev{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.tbox-card{position:relative;display:block;padding:0 6px}.tbox-card .rtile{height:46px;transition:filter .15s ease,opacity .15s ease}.tbox.zero .tbox-card .rtile{filter:saturate(.35);opacity:.72}.tbox-lock{position:absolute;top:-5px;right:1px;width:20px;height:20px;padding:3px;border-radius:50%;background:var(--panel);border:1px solid var(--line);fill:var(--ink-2);stroke:var(--ink-2);stroke-width:1.6}.tbox-val{display:flex;flex-direction:column;align-items:center;padding-top:3px;line-height:1;animation:tpop .18s ease-out}.tbox-n{font-family:var(--display);font-weight:800;font-size:1.3rem;font-variant-numeric:tabular-nums}.tbox-side{margin-top:1px;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tbox.get .tbox-val{color:var(--ok)}.tbox.give .tbox-val{color:var(--danger)}.tbox.zero .tbox-val{color:var(--ink-2);opacity:.6}@keyframes tpop{0%{transform:scale(1.25)}}.tnote{text-align:center;font-size:.74rem;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}.tnote.r3{color:var(--accent)}.tnote.r2{align-self:center;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.tsum{min-height:1.5em;margin:4px 0 8px;text-align:center;font-size:.95rem;line-height:1.5}.tsum-tip{color:var(--ink-2);font-size:.88rem}.tsum-give b{color:var(--danger)}.tsum-get b{color:var(--ok)}.tsum-dot{color:var(--ink-2)}.tto{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.tto-label{font-size:.78rem;font-weight:700;color:var(--ink-2);margin-right:2px}.tto .chip{min-height:40px;padding:.3em .8em;border-radius:999px}.tsend{margin-bottom:10px}.twhy{margin:0 0 6px;text-align:center;font-size:.85rem;color:var(--ink-2)}.tctx{margin:0 0 8px;padding:6px 10px;border-radius:12px;background:var(--panel-2);font-size:.92rem;font-weight:600}@media(prefers-reduced-motion:reduce){.tbox-val,.yc-delta,.peek-bar{animation:none}.tbox,.tbox-card .rtile,.yc .rtile{transition:none}}.offer.open{border:2px dashed var(--line)}.answers{flex-basis:100%;display:flex;flex-direction:column;gap:6px;margin-top:4px}.answers .hint{margin:0}.answer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;border-radius:12px;background:var(--chip)}.answer-text{font-weight:600}.answer-actions{display:flex;gap:6px}.offers{margin-bottom:10px}.offer{background:var(--panel-2);border-radius:14px;padding:8px 10px;margin:6px 0}.offer-text{font-weight:600}.offer-status{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:var(--ink-2);margin:4px 0}.offer-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.build-list,.card-list,.choice-list{display:flex;flex-direction:column;gap:8px}.build-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;text-align:left;padding:10px 12px}.build-name{font-family:var(--display);font-weight:700;font-size:1.05rem}.build-left{font-size:.8rem;color:var(--ink-2);min-width:52px;text-align:right}.cost{letter-spacing:1px;white-space:nowrap}.dev-card{display:flex;align-items:center;gap:10px;background:var(--panel-2);border-radius:14px;padding:8px 10px}.dev-icon{font-size:1.6rem}.dev-text{flex:1;display:flex;flex-direction:column;font-size:.88rem}.choice{text-align:left}.scenario-desc{margin-top:0}.wonders{display:grid;gap:8px}.wonder{background:var(--panel-2);border-radius:14px;padding:8px 10px}.wonder-head{display:flex;justify-content:space-between;gap:8px}.wonder-req,.wonder-state{font-size:.85rem;color:var(--ink-2)}.wonder-actions{display:flex;gap:6px;margin-top:4px}.fortress-row{padding:4px 0}.scores{display:flex;flex-direction:column;gap:8px}.score-row{background:var(--panel-2);border-radius:14px;padding:8px 12px;border-left:5px solid var(--pc)}.score-head{display:flex;align-items:center;gap:6px}.score-vp{margin-left:auto;font-family:var(--display);font-weight:800;font-size:1.1rem}.score-stats{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.85rem;color:var(--ink-2);margin-top:4px}.log{max-height:60vh;overflow-y:auto;font-size:.9rem}.glog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;line-height:1.4}.lg-e{display:flex;align-items:baseline;gap:8px;padding:2px 6px;border-radius:8px}.lg-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--pc);transform:translateY(-1px)}.lg-e.system .lg-dot{background:none;box-shadow:inset 0 0 0 1.5px var(--ink-2);opacity:.6}.lg-msg{min-width:0;overflow-wrap:anywhere}.lg-e.secret .lg-msg{font-style:italic;color:var(--ink-2)}.lg-e.is-roll{margin-top:2px;padding-block:3px;background:color-mix(in srgb,var(--pc, var(--ink-2)) 11%,transparent)}.lg-name{font-weight:700;color:color-mix(in srgb,var(--pc, var(--ink)) 62%,var(--ink))}.lg-turn{display:flex;align-items:center;gap:8px;margin:9px 0 3px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.glog-list>.lg-turn:first-child{margin-top:3px}.lg-turn:before,.lg-turn:after{content:"";height:2px;border-radius:1px;background:color-mix(in srgb,var(--pc, var(--line)) 60%,transparent)}.lg-turn:before{width:10px;flex:none}.lg-turn:after{flex:1}.lg-turn.plain:before,.lg-turn.plain:after{background:var(--line)}.lg-turn-label{display:inline-flex;align-items:center;gap:6px}.lg-turn-who{color:color-mix(in srgb,var(--pc, var(--ink-2)) 62%,var(--ink))}.lg-turn-n+.lg-turn-who:before{content:"·";margin-right:6px;color:var(--ink-2)}.lg-rolled{display:inline-flex;align-items:center;gap:5px;margin-block:-.2em;vertical-align:middle}.lg-roll{display:inline-grid;place-items:center;min-width:1.75em;height:1.75em;padding:0 .3em;border-radius:999px;background:#f6ecd2;border:2px solid #b9a674;color:#1d1a14;font-family:var(--display);font-size:.95em;font-weight:800;line-height:1;box-shadow:0 1px 2px #00000040}.lg-roll.hot{color:#c0231b}.lg-roll.seven{background:#2b2825;border-color:#0d0c0b;color:#fff}.lg-dice{display:inline-flex;gap:2px}.lg-dice .die{width:1.05em;height:1.05em;filter:none}.lg-res{display:inline-flex;align-items:center;gap:1px;font-weight:700;white-space:nowrap}.lg-res .glyph{width:1.25em;height:1.25em;vertical-align:0}.lg-res.word{gap:3px;font-weight:inherit}.results{padding-left:1.2em;font-size:1.05rem}.results li{padding:3px 0}.menu{display:flex;flex-direction:column;gap:8px}.rules ul,.rules ol{padding-left:1.2em}.costs li{display:flex;justify-content:space-between;max-width:320px}svg.board text{font-family:var(--display)}.hex.sea{fill:#ffffff06;stroke:#ffffff12;stroke-width:.02}.shallows{fill:#96dcfa4d}.tile-side{stroke:#0000004d;stroke-width:.02;stroke-linejoin:round}.tile-top{stroke:#ffffff47;stroke-width:.03;stroke-linejoin:round}.tile-tex,.tile-art{pointer-events:none}.gold-glint{opacity:.9;animation:gold-glint 8s ease-in-out infinite}.gold-glint.g2{animation-delay:.6s}.gold-glint.g3{animation-delay:1.2s}.gold-glint.g4{animation-delay:1.8s}@keyframes gold-glint{0%,16%,to{opacity:.3}6%{opacity:1}}.fog-mark{fill:#5d6875;font-weight:800;text-anchor:middle;dominant-baseline:central;pointer-events:none}.marker-icon{text-anchor:middle;dominant-baseline:central;pointer-events:none}.circuit-dot{fill:#ffffff59}.token-shadow,.piece-shadow{fill:#00000047}.token-rim{fill:#b9a674;stroke:#00000040;stroke-width:.015}.token-top{stroke:#a8966a;stroke-width:.015}.token-num{font-weight:800;text-anchor:middle;dominant-baseline:central;fill:#2a2419;pointer-events:none}.token-num.red{fill:#c62828}.pip{fill:#2a2419}.pip.red{fill:#c62828}.token.blocked{opacity:.5}.pier{stroke:#b08a5c;stroke-width:.07;stroke-linecap:round}.harbor-bg{fill:#fff6e2;stroke:#7a5a2e;stroke-width:.025}.harbor-text{font-weight:800;text-anchor:middle;dominant-baseline:central;fill:#3b2f16}.harbor-icon{text-anchor:middle;dominant-baseline:central}.gift-bg{fill:#fff6e2;stroke:#7a5a2e;stroke-width:.02}.gift-vp .gift-bg{fill:#ffd766}.gift-devCard .gift-bg{fill:#b9a5ef}.gift-icon{text-anchor:middle;dominant-baseline:central;font-weight:800;fill:#2a2419}.waypoint{fill:#ffffff40;stroke-width:.06;stroke-dasharray:.07 .05}.site{stroke:#ffffffd9;stroke-width:.025;pointer-events:none}.site-strait{fill:#8e2a8b}.site-wasteland{fill:#6e2a24}.fortress-chits{text-anchor:middle;fill:#fff;paint-order:stroke;stroke:#000;stroke-width:.02}.village-bg{fill:#fff6e2;stroke:#8a6d3b;stroke-width:.03}.village.empty .village-bg{fill:#d8d8d8}.village-num{font-weight:800;text-anchor:middle;dominant-baseline:central;fill:#2a2419}.village-cloth{text-anchor:middle;dominant-baseline:central;fill:#5b4a2a}.road-shadow{stroke:#0000004d;stroke-width:.15;stroke-linecap:round;fill:none}.road-side{stroke-width:.13;stroke-linecap:round;fill:none}.road-top{stroke-width:.12;stroke-linecap:round;fill:none}.road-shine{stroke:#ffffff73;stroke-width:.025;stroke-linecap:round;fill:none}.road-g.ghost,.ship.ghost,.building.ghost,.ghost{opacity:.7}.building-face{stroke-width:.018;stroke-linejoin:round}.ship-hull,.ship-sail{stroke-width:.02;stroke-linejoin:round}.ship-mast{stroke-width:.022}.robber-body{stroke:#0d0d0f;stroke-width:.018}.pirate-hull{fill:#1b1b1f;stroke:#000;stroke-width:.02}.pirate-mast{stroke:#000;stroke-width:.025}.pirate-sail{fill:#2f2f35;stroke:#000;stroke-width:.015}.pirate-skull{fill:#fff;text-anchor:middle;dominant-baseline:central}.ghost-harbor{stroke-width:.16;stroke-linecap:round;opacity:.8;stroke-dasharray:.06 .05}.selected-hex{fill:#ffffff38;stroke-width:.08;stroke-dasharray:.14 .08;pointer-events:none}.token.dim{opacity:.38}.token-focus{fill:#ffffff8c;stroke-width:.06}.ghost-token{fill:#fbf1d8;stroke-width:.06;stroke-dasharray:.1 .05}.ghost-swap{pointer-events:none}.cut-line{stroke:#d62f2f;stroke-width:.08;stroke-linecap:round;stroke-dasharray:.09 .07}.cut-x{stroke:#d62f2f;stroke-width:.06;stroke-linecap:round}.ghost-mark{fill:#d62f2f1f;stroke:#d62f2f;stroke-width:.06;stroke-dasharray:.09 .06;pointer-events:none}.target-vertex{opacity:.95;stroke:#fff;stroke-width:.04;animation:pulse 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.target-edge-halo{stroke:#ffffffd9;stroke-width:.15;stroke-linecap:round;animation:blink 1.2s ease-in-out infinite}.target-edge{stroke-width:.09;stroke-linecap:round;animation:blink 1.2s ease-in-out infinite}.target-hex{fill:#ffffff47;stroke-width:.05;animation:blink 1.2s ease-in-out infinite;cursor:pointer}.hit{fill:transparent;cursor:pointer}.hit-edge{stroke:transparent;stroke-width:.42;stroke-linecap:round;cursor:pointer}.flash{pointer-events:none;animation:flash 2.4s ease-out forwards}.flash-halo{fill:none;stroke:#ffffffe6;stroke-width:.16;stroke-linecap:round}.flash-ring{fill:none;stroke-width:.08;stroke-linecap:round}.roll-glow{pointer-events:none;animation:flash 2.6s ease-out forwards}.roll-glow-hex{fill:#ffec8c66;stroke:#ffe066;stroke-width:.07;stroke-linejoin:round}.roll-glow-village{fill:#ffec8c59;stroke:#ffe066;stroke-width:.06}.robber-blocked{transform-box:fill-box;transform-origin:50% 100%;animation:robber-blocked .45s ease-in-out 2}@keyframes robber-blocked{25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes pulse{50%{transform:scale(1.3);opacity:.55}}@keyframes blink{50%{opacity:.45}}@keyframes flash{0%{opacity:1}70%{opacity:.85}to{opacity:0}}@keyframes shake{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-14deg) scale(1.12)}50%{transform:rotate(10deg) scale(1.08)}75%{transform:rotate(-5deg) scale(1.03)}to{transform:rotate(0) scale(1)}}.dice .die{animation:shake .5s ease-out}.dice .die+.die{animation-delay:.06s}@media(prefers-reduced-motion:reduce){.target-vertex,.target-edge,.target-edge-halo,.target-hex,.gold-glint,.flash,.roll-glow,.robber-blocked,.feed-line,.dice .die,.spinner,.sheet,.sheet-backdrop,.dmain.roll{animation:none}}.glyph{display:inline-block;vertical-align:-.16em;overflow:visible}.counts{display:inline-flex;flex-wrap:wrap;gap:.35em;vertical-align:baseline}.count{white-space:nowrap}.count .glyph{margin-left:.08em}.cost .glyph{margin-right:.05em}.map-block{display:flex;flex-direction:column}.map-row{margin:2px 0 0}.map-caption{display:flex;align-items:center;gap:8px;margin-top:6px}.map-note{flex:1 1 auto;min-width:0}.map-reroll{flex:none;min-height:38px;padding:.3em .8em;font-size:.9rem;white-space:nowrap}.map-thumb{cursor:pointer;display:block;width:100%;margin-top:6px;padding:0;border-radius:16px;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% 45%,var(--sea-1),var(--sea-2) 70%,var(--sea-3))}.map-thumb-board{display:block;position:relative;height:210px;pointer-events:none}.map-thumb.turned .map-thumb-board{height:300px}.map-thumb-board .zoom-controls,.map-big .zoom-controls .speed-chip{display:none}.map-thumb-hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%);padding:4px 12px;border-radius:999px;background:#061a2cb3;color:#fff;font-size:.85rem;white-space:nowrap}.map-big{position:relative;height:min(62vh,560px);border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,var(--sea-1),var(--sea-2) 70%,var(--sea-3))}.dice-open{margin-bottom:10px}.dice-btn{margin-left:auto}.dice-who{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.dice-who .chip{flex:none}.stat-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.stat-tile{display:flex;flex-direction:column;padding:8px 10px;border-radius:12px;background:var(--panel-2)}.stat-label{font-size:.78rem;color:var(--ink-2)}.stat-value{font-size:1.35rem;font-weight:700;color:var(--ink)}.stat-sub{font-size:.75rem;color:var(--ink-2)}.dice-chart{position:relative}.dice-chart svg{display:block;width:100%;height:auto}.dice-chart .grid{stroke:var(--line);stroke-width:1}.dice-chart .axis{stroke:var(--ink-2);stroke-width:1;opacity:.5}.dice-chart .tick{font-size:10px;fill:var(--ink-2);font-variant-numeric:tabular-nums}.dice-chart .xlabel{font-size:11px;font-weight:600;fill:var(--ink-2)}.dice-chart .xlabel.seven{fill:var(--ink)}.dice-chart .cap{font-size:11px;font-weight:700;fill:var(--ink)}.dice-chart .expected{stroke:var(--ink);stroke-width:2;stroke-linecap:round;opacity:.55}.dice-chart .hit{fill:transparent;cursor:pointer}.dice-chart .col.on .bar{filter:brightness(1.12)}.dice-chart .col.on .xlabel{fill:var(--ink)}.dice-tip{position:absolute;top:0;transform:translate(-50%);max-width:200px;padding:6px 10px;border-radius:10px;background:var(--ink);color:var(--panel);font-size:.8rem;line-height:1.3;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-sm)}.dice-legend{display:flex;gap:16px;justify-content:center;margin-top:6px;font-size:.8rem;color:var(--ink-2)}.dice-legend>span{display:inline-flex;align-items:center;gap:6px}.key-bar{width:10px;height:12px;border-radius:3px 3px 0 0}.key-line{width:16px;height:2px;border-radius:1px;background:var(--ink);opacity:.55}.dice-table{margin:10px 0 4px}.dice-table summary{cursor:pointer;color:var(--accent);font-weight:600}.dice-table table{width:100%;border-collapse:collapse;margin-top:6px;font-variant-numeric:tabular-nums}.dice-table th,.dice-table td{text-align:left;padding:3px 6px;border-bottom:1px solid var(--line)}.arrive-drop,.arrive-pop,.arrive-sail{transform-box:fill-box}.arrive-drop{transform-origin:50% 100%;animation:drop-in .6s cubic-bezier(.3,1.4,.55,1) both}.arrive-pop{transform-origin:50% 50%;animation:pop-in .5s cubic-bezier(.3,1.6,.5,1) both}.arrive-sail{transform-origin:50% 80%;animation:sail-in .7s ease-out both}@keyframes drop-in{0%{transform:translateY(-.9px) scale(1.2);opacity:0}45%{opacity:1}60%{transform:translateY(.02px) scale(1.08,.9)}80%{transform:translateY(-.05px) scale(.97,1.04)}to{transform:none}}@keyframes pop-in{0%{transform:scale(.1);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:none}}@keyframes sail-in{0%{transform:translateY(.3px) scale(.5);opacity:0}50%{transform:translateY(-.06px) scale(1.1) rotate(-6deg);opacity:1}75%{transform:rotate(4deg)}to{transform:none}}@media(prefers-reduced-motion:reduce){.arrive-drop,.arrive-pop,.arrive-sail{animation:none}}.fx-overlay{position:fixed;inset:0;z-index:31;display:flex;align-items:center;justify-content:center;padding:16px;animation:fx-bg var(--fx-ms) ease both;cursor:pointer;-webkit-tap-highlight-color:transparent}@keyframes fx-bg{0%,to{background:#08162400}10%,85%{background:#08162433}}.fx-panel{width:min(100%,360px);padding:14px 16px 16px;border-radius:22px;background:var(--panel);box-shadow:var(--shadow);text-align:center;animation:fx-panel var(--fx-ms) ease both}@keyframes fx-panel{0%{transform:translateY(24px) scale(.9);opacity:0}12%,86%{transform:none;opacity:1}to{transform:translateY(-12px) scale(.96);opacity:0}}.fx-title{font-family:var(--display);font-weight:800;font-size:1.15rem;line-height:1.2;margin-bottom:10px}.fx-sub{font-size:.85rem;color:var(--ink-2)}.fx-trade-row{display:flex;align-items:center;gap:8px}.fx-party{flex:none;width:62px;display:flex;flex-direction:column;align-items:center;gap:4px}.fx-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.25rem;color:#fff;background:var(--chip);border:3px solid var(--line);box-shadow:var(--shadow-sm)}.fx-name{max-width:62px;font-size:.78rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-lanes{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.fx-lane{position:relative;height:45px}.fx-card{position:absolute;top:0;width:32px;height:45px;display:flex}.fx-card .gcard{width:100%;height:100%}.fx-card.go-right{left:0;margin-left:calc(var(--i) * 4px);animation:fx-go-right calc(var(--fx-ms) * .5) cubic-bezier(.5,0,.3,1) both;animation-delay:calc(var(--fx-ms) * .14 + var(--i) * 90ms)}.fx-card.go-left{right:0;margin-right:calc(var(--i) * 4px);animation:fx-go-left calc(var(--fx-ms) * .5) cubic-bezier(.5,0,.3,1) both;animation-delay:calc(var(--fx-ms) * .2 + var(--i) * 90ms)}@keyframes fx-go-right{0%{left:0}to{left:calc(100% - 36px)}}@keyframes fx-go-left{0%{right:0}to{right:calc(100% - 36px)}}.fx-devbuy,.fx-devplay{perspective:700px;margin:2px 0 8px}.fx-flip{position:relative;width:100px;height:140px;margin:0 auto;transform-style:preserve-3d}.fx-devbuy,.fx-devplay{animation:fx-fade-in calc(var(--fx-ms) * .2) ease both}@keyframes fx-fade-in{0%{opacity:0}}.fx-devbuy .fx-flip{animation:fx-dev-fly var(--fx-ms) cubic-bezier(.3,1.2,.5,1) both}.fx-devbuy.reveal .fx-flip{animation-name:fx-dev-fly-turn}.fx-devplay .fx-flip{animation:fx-dev-turn var(--fx-ms) ease both}@keyframes fx-dev-fly{0%{transform:translateY(-38vh) rotate(-14deg) scale(.7)}35%,to{transform:none}}@keyframes fx-dev-fly-turn{0%{transform:translateY(-38vh) rotate(-14deg) scale(.7)}32%{transform:none}52%,to{transform:rotateY(180deg)}}@keyframes fx-dev-turn{0%{transform:scale(.6)}18%{transform:none}42%,to{transform:rotateY(180deg)}}.fx-dev{position:absolute;inset:0;display:flex;backface-visibility:hidden;-webkit-backface-visibility:hidden}.fx-dev .gcard{width:100%;height:100%}.fx-dev.face{transform:rotateY(180deg)}.fx-dev-icon{font-size:2.2rem;line-height:1}.fx-dev-name{margin-top:6px;padding:0 4px;font-size:.78rem;font-weight:800;line-height:1.1}.gcard{position:relative;display:inline-flex;width:100%;flex-direction:column;aspect-ratio:5 / 7;padding:6%;border-radius:9%/6.5%;background:linear-gradient(160deg,#fbf0d0,#e7d09a);border:1.5px solid #7a5a2e;box-shadow:0 2px 6px #00000040,inset 0 0 0 2px #ffffff59;overflow:hidden;color:#3b2a14;container-type:inline-size}.gcard.mini{padding:5%;border-width:1px;border-radius:12%/9%}.gcard-art{flex:1;min-height:0;display:block;border-radius:6%/5%;overflow:hidden;border:1px solid #7a5a2e}.gcard.mini .gcard-art{border-radius:10%/8%}.gcard-art svg{display:block;width:100%;height:100%}.gcard-name{margin-top:6%;padding:2px 6px;color:#fff8e6;font-family:var(--display);font-weight:800;font-size:clamp(8px,10.5cqw,15px);line-height:1.25;text-align:center;letter-spacing:.02em;white-space:nowrap;clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%)}.gcard .dev-ribbon{background:#5d3fb0}.gcard-corner{position:absolute;top:3%;left:3%;width:22%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#fbf0d0;border:1px solid #7a5a2e;font-size:.8rem}.gcard-text{margin-top:4%;height:3.75em;overflow:hidden;font-size:clamp(7px,7.6cqw,12px);line-height:1.25;text-align:center}.gcard.back{padding:0;border:2px solid #e9dcff}.gcard.back svg{display:block;width:100%;height:100%}.gcard.tile{width:100%;height:100%;aspect-ratio:auto;padding:0;border:none;border-radius:0;box-shadow:none}.gcard.tile .gcard-art{border:none;border-radius:0}.rtile{position:relative;display:block;height:56px;min-height:0;padding:0;border-radius:10px;overflow:hidden;border:2px solid #caa86a;background:#f3e3bd;box-shadow:0 2px #b99a5e,0 3px 6px #0000002e}.rtile-art{position:absolute;inset:2px;display:block;border-radius:7px;overflow:hidden}.rtile-art svg{display:block;width:100%;height:100%}.rtile-icon{position:absolute;top:3px;left:3px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#fbf0d0f0;border:1px solid #7a5a2e;font-size:12px}.rtile-n{position:absolute;right:3px;bottom:3px;min-width:22px;padding:0 5px;border-radius:8px;background:#fffffff2;color:#1d1a14;font-family:var(--display);font-weight:800;font-size:.95rem;line-height:1.3;text-align:center;box-shadow:0 1px 2px #00000040}.rtile.empty{filter:saturate(.2) brightness(1.05);opacity:.6;box-shadow:none}button.rtile:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 #b99a5e}.dev-thumb{flex:none;width:54px;height:76px;display:flex}.dev-thumb .gcard{width:100%;height:100%}.chat-layer{position:absolute;inset:0;z-index:6;pointer-events:none;container:chat / size}.chat-layer>*{pointer-events:auto}.board-area:has(>.chat-layer) .confirm-bar{right:74px}.board-area:has(>.chat-layer) .mode-hint{max-width:calc(100% - 164px)}.board-area.docked:has(>.chat-layer) .confirm-bar,.board-area.docked:has(>.chat-layer) .mode-hint{right:74px;max-width:calc(100% - min(var(--log-w),100% - 90px) - 98px)}.board-area.docked:has(>.chat-layer) .confirm-bar{min-width:min(340px,calc(100% - min(var(--log-w),100% - 90px) - 98px))}.chat-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chat-fab{position:absolute;right:10px;bottom:10px;width:54px;height:54px;min-height:0;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;background:var(--panel);box-shadow:var(--shadow-sm)}.chat-fab.on{background:var(--accent-soft);border-color:var(--accent)}.chat-badge{position:absolute;top:-5px;right:-5px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#c9362c;color:#fff;font:800 .78rem/22px var(--body);text-align:center;box-shadow:0 0 0 2px var(--panel);animation:chat-pop .3s cubic-bezier(.3,1.6,.5,1)}.chat-peek{position:absolute;right:74px;bottom:16px;max-width:min(300px,calc(100cqw - 92px));min-height:0;display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:16px 16px 4px;border-bottom-width:1px;background:var(--panel);box-shadow:var(--shadow);text-align:left;font-size:.86rem;line-height:1.3;animation:chat-peek-in .22s ease-out}.chat-peek-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.chat-win{position:absolute;right:10px;bottom:74px;width:320px;height:380px;max-height:calc(100cqh - 84px);display:flex;flex-direction:column;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transform-origin:calc(100% - 27px) calc(100% + 37px);animation:chat-open .18s cubic-bezier(.2,.9,.3,1.1);-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.chat-win:focus{outline:none}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 4px 14px;border-bottom:1px solid var(--line);flex:none}.chat-head h2{margin:0;font-size:1.1rem}button.chat-close{min-width:40px;min-height:40px;font-size:1.05rem}.chat-list{flex:1;min-height:0;margin:0;padding:6px 10px 8px;list-style:none;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:3px}.chat-empty{margin:auto;color:var(--ink-2);font-size:.88rem;text-align:center}.chat-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:86%}.chat-msg.head{margin-top:6px}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-who{display:flex;align-items:center;gap:5px;margin:0 6px 2px;font-size:.72rem;font-weight:700;color:var(--ink-2)}.chat-dot{flex:none;width:10px;height:10px;border-radius:50%;border:2px solid transparent;background:var(--ink-2)}.chat-text{padding:6px 11px;border-radius:15px;background:var(--panel-2);font-size:.92rem;line-height:1.3;overflow-wrap:anywhere}.chat-msg.head .chat-text{border-top-left-radius:5px}.chat-msg.mine .chat-text{background:var(--accent);color:var(--accent-ink);border-top-left-radius:15px}.chat-msg.mine.head .chat-text{border-top-right-radius:5px}.chat-msg .chat-text.emoji{background:none;color:inherit;padding:0 2px;font-size:1.9rem;line-height:1.15}.chat-quick{flex:none;display:flex;gap:5px;padding:7px 28px 3px 10px;border-top:1px solid var(--line);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent)}.chat-quick::-webkit-scrollbar{display:none}button.chat-chip{flex:none;min-height:34px;padding:2px 11px;border-radius:999px;border-bottom-width:2px;font-size:.82rem;font-weight:600;white-space:nowrap}.chat-form{flex:none;display:flex;gap:6px;padding:8px 10px 10px}.chat-input{flex:1;min-width:0;min-height:42px;border-radius:999px;padding:.35em .95em;-webkit-user-select:text;user-select:text}.chat-input:focus-visible{outline-width:2px;outline-offset:0}button.chat-send{flex:none;width:44px;min-height:42px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center}.chat-note{margin:-4px 12px 8px;font-size:.8rem;color:var(--danger);flex:none}@container chat (max-width: 560px){.chat-win{left:8px;right:8px;bottom:8px;width:auto;height:min(330px,62cqh);max-height:none;border-radius:18px;transform-origin:50% 100%}.chat-fab.on{visibility:hidden}}@container chat (max-height: 400px){.chat-win{inset:8px 8px 8px auto;width:min(320px,calc(100cqw - 16px));height:auto;max-height:none;transform-origin:100% 100%}.chat-fab.on{visibility:hidden}}@keyframes chat-open{0%{opacity:0;transform:translateY(10px) scale(.96)}}@keyframes chat-peek-in{0%{opacity:0;transform:translate(12px)}}@keyframes chat-pop{0%{transform:scale(.4)}}@media(prefers-reduced-motion:reduce){.chat-win,.chat-peek,.chat-badge{animation:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.clock-icon{flex:none;width:1.05em;height:1.05em;vertical-align:-.16em}.hud-clock{flex:none;display:inline-flex;align-items:center;gap:3px;font-weight:600;font-variant-numeric:tabular-nums}.hud-clock>[aria-hidden]{white-space:pre;font-weight:400}.pturn{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}.pmeta .pturn{display:inline-flex;align-items:center;gap:2px;margin-left:6px;vertical-align:-.12em}.pline{display:flex;align-items:center;gap:6px;min-width:0}.pline .pname{flex:0 1 auto;min-width:0}.pline .pturn{flex:none;margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-size:.8rem}.panel.desk.tight .players{row-gap:10px}.panel.desk.tight .pline .pturn{position:absolute;right:44px;bottom:-9px;z-index:1;gap:2px;padding:0 6px;border-radius:999px;background:var(--chip);box-shadow:0 0 0 2px var(--pc);font-size:.68rem;line-height:1.25}.score-time{white-space:nowrap;font-variant-numeric:tabular-nums}.timer-pref .hint,.menu-pref .hint{margin:0 0 4px;font-size:.8rem}.switch-row{flex-wrap:nowrap;min-height:var(--tap);margin:0;cursor:pointer}input.switch{-webkit-appearance:none;appearance:none;flex:none;position:relative;width:50px;height:30px;min-height:0;padding:0;margin:0;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);cursor:pointer;transition:background-color .15s}input.switch:before{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink-2);transition:transform .15s}input.switch:checked{background:var(--accent);border-color:var(--accent)}input.switch:checked:before{transform:translate(20px);background:var(--accent-ink)}@media(prefers-reduced-motion:reduce){input.switch,input.switch:before{transition:none}}button.sound-btn{flex:none;color:var(--ink)}button.sound-btn.muted{color:var(--ink-2)}.speaker-icon{display:block;width:24px;height:24px;margin:auto}@media(max-width:899px){.hud .sound-btn{min-width:36px;margin-left:-6px}}.home-card{position:relative}.sound-btn.corner{position:absolute;top:8px;right:8px}.setup-head .sound-btn.end{margin-left:auto}.volume-row{flex-wrap:nowrap;min-height:var(--tap);margin:0}.volume-row.off{opacity:.55}input.volume{flex:1;max-width:220px;min-height:0;height:30px;margin:0 0 0 auto;padding:0;border:0;background:transparent;accent-color:var(--accent);cursor:pointer}input.volume:disabled{cursor:default}.volume-pct{flex:none;width:3.2em;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.88rem}.confirm-backdrop{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));background:#06121e80;animation:fade .15s ease-out}.confirm-backdrop.at-top{align-items:flex-start}.confirm-backdrop.at-bottom{align-items:flex-end}.confirm-backdrop.lit{background:radial-gradient(circle at var(--sx) var(--sy),transparent calc(var(--sr) - 1px),rgba(6,18,30,.5) calc(var(--sr) + 16px))}.ask-ring{position:fixed;left:calc(var(--sx) - var(--sr));top:calc(var(--sy) - var(--sr));width:calc(var(--sr) * 2);height:calc(var(--sr) * 2);border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 3px #f4b62f8c,0 0 18px #f4b62f66;pointer-events:none;animation:ask-ring 1.8s ease-in-out infinite}@keyframes ask-ring{50%{transform:scale(1.07)}}.confirm-dialog{width:min(380px,100%);max-height:100%;overflow-y:auto;padding:16px 16px 14px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);animation:ask-in .2s cubic-bezier(.2,.9,.3,1.15)}@keyframes ask-in{0%{opacity:0;transform:translateY(10px) scale(.94)}}.ask-head{display:flex;align-items:center;gap:14px}.ask-head h2{margin:0;font-size:1.28rem}.ask-art{flex:none;width:64px;height:64px;display:flex;align-items:center;justify-content:center;gap:2px;border-radius:18px;background:var(--panel-2);border:1px solid var(--line)}.ask-piece{display:block;width:46px}.ask-piece svg{display:block;width:100%;height:46px}.ask-art.art-dev .ask-piece{width:36px;transform:rotate(-6deg)}.ask-art.two .ask-piece{width:29px}.ask-body{display:flex;flex-direction:column;gap:8px;margin-top:14px}.ask-body:empty{display:none}.ask-cost{display:flex;align-items:center;gap:10px}.ask-label{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.ask-pips{display:flex;flex-wrap:wrap;gap:4px}.ask-pip{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--panel-2);border:1px solid var(--line);font-size:21px}.ask-left{margin:0;font-size:.95rem}.ask-n b{font-variant-numeric:tabular-nums}.ask-n.out{color:var(--danger)}.ask-notes{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;font-size:.9rem;color:var(--ink-2)}.ask-notes li{display:flex;gap:8px}.ask-notes li:before{content:"";flex:none;width:6px;height:6px;margin-top:.5em;border-radius:50%;background:var(--sun)}.ask-buttons{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:16px}.ask-buttons.multi{grid-template-columns:repeat(3,1fr)}.ask-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding-inline:.6em;font-weight:700}.ask-yes-art svg{display:block;width:24px;height:22px}@media(prefers-reduced-motion:reduce){.confirm-backdrop,.confirm-dialog,.ask-ring{animation:none}}
