*{box-sizing:border-box;margin:0;padding:0}:root{--bg: radial-gradient(120% 90% at 50% -10%, #154a54 0%, #0f3640 38%, #0b242c 72%, #07151b 100%);--surface: linear-gradient(165deg, rgba(32,42,46,.92), rgba(19,27,31,.94));--surface-alt: rgba(12,19,22,.66);--border-col: rgba(208,168,108,.2);--accent: #d99a3a;--accent-hover: #eab052;--accent-gradient: linear-gradient(135deg, #e0a948 0%, #c47e2a 100%);--accent-ink: #2a1c08;--gold: #ffd700;--danger: #d3553f;--success: #4e9a52;--text: #f4ead6;--text-dim: rgba(244,234,214,.62);--radius: 12px;--shadow-card: 0 10px 28px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,238,206,.06);--font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Segoe UI", system-ui, -apple-system, "Noto Sans JP", sans-serif}html{overscroll-behavior:none}body{background:var(--bg);background-attachment:fixed;font-family:var(--font);color:var(--text);min-height:100vh;display:flex;flex-direction:column;align-items:center;overscroll-behavior:none;overflow-x:clip}h1{margin:16px 0 8px;font-size:1.6rem;letter-spacing:.1em;text-shadow:0 2px 6px rgba(0,0,0,.5)}#app{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px;width:100%}#board-area{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}#board{display:block;margin:0 auto;max-width:100%;max-height:78vh;width:auto;height:auto;filter:drop-shadow(0 6px 22px rgba(0,0,0,.55));touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#zoom-reset{position:absolute;left:8px;bottom:8px;z-index:5;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#0c0e14d1;color:#fff;font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px #00000080}#zoom-reset:hover{background:#1c202ceb}#board-zoom{position:absolute;left:6px;top:6px;z-index:6;display:flex;align-items:center;gap:3px;padding:2px;border-radius:15px;background:#0c0e1480;box-shadow:0 1px 5px #0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:none}#board-zoom.dragging{box-shadow:0 3px 12px #0009}#board-zoom.collapsed .z-out,#board-zoom.collapsed .z-reset,#board-zoom.collapsed .z-in{display:none}#board-zoom .zoom-drag{width:13px;height:26px;display:flex;align-items:center;justify-content:center;color:#ffffff80;font-size:.82rem;line-height:1;cursor:grab;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}#board-zoom.dragging .zoom-drag{cursor:grabbing}#board-zoom .zoom-btn{width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:#1c202cd1;color:#fff;font-size:.92rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}#board-zoom .z-toggle{background:#282e3ee6}#board-zoom .zoom-btn:hover{background:#303648f2}#board-zoom .zoom-btn:disabled{opacity:.35;cursor:default}#board-zoom .zoom-btn.active{border-color:#ffcf4d;color:#ffcf4d}@media (min-width: 1200px){#board-area.corner-panels{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;justify-content:center;align-content:start;row-gap:12px;column-gap:16px;width:100%;max-width:1340px;margin:0 auto}#board-area.corner-panels>.player-panels{display:contents}#board-area.corner-panels>#board{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:center}#board-area.corner-panels .player-panel{position:static;width:100%;max-width:216px;margin:0;max-height:46vh;overflow-y:auto}#board-area.corner-panels .player-panel[data-pid=player4]{grid-column:1;grid-row:1;justify-self:end;align-self:start}#board-area.corner-panels .player-panel[data-pid=player1]{grid-column:1;grid-row:2;justify-self:end;align-self:end}#board-area.corner-panels .player-panel[data-pid=player2]{grid-column:3;grid-row:1;justify-self:start;align-self:start}#board-area.corner-panels .player-panel[data-pid=player3]{grid-column:3;grid-row:2;justify-self:start;align-self:end}}#ui-sheet-handle{display:none}@media (orientation: landscape) and (max-height: 600px) and (max-width: 1199.98px){body{align-items:stretch}#app{padding:2px;gap:2px}#board{max-height:92vh;max-width:100%}#board-area.corner-panels{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:1fr 1fr;justify-content:center;align-content:center;column-gap:4px;row-gap:4px;width:100%;max-width:100vw;margin:0 auto}#board-area.corner-panels>.player-panels{display:contents}#board-area.corner-panels>#board{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:center}#board-area.corner-panels .player-panel{position:static;width:100%;max-width:min(27vw,186px);margin:0;max-height:38vh;overflow-y:auto;font-size:.62rem;line-height:1.25;padding:4px 6px}#board-area.corner-panels .player-panel .panel-meta,#board-area.corner-panels .player-panel .vp-breakdown,#board-area.corner-panels .player-panel .dev-card-panel,#board-area.corner-panels .player-panel .rank-badge{display:none}#board-area.corner-panels .player-panel .panel-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#game-nav{top:4px;right:4px}#board-area.corner-panels .player-panel[data-pid=player4]{grid-column:1;grid-row:1;justify-self:end;align-self:start;margin-top:4px}#board-area.corner-panels .player-panel[data-pid=player1]{grid-column:1;grid-row:2;justify-self:end;align-self:end}#board-area.corner-panels .player-panel[data-pid=player2]{grid-column:3;grid-row:1;justify-self:start;align-self:start;margin-top:50px}#board-area.corner-panels .player-panel[data-pid=player3]{grid-column:3;grid-row:2;justify-self:start;align-self:end}#ui-sheet-handle{display:block;position:fixed;left:50%;bottom:2px;transform:translate(-50%);z-index:60;width:min(72vw,520px);padding:7px 12px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:#0c0e14eb;color:#fff;font-size:.84rem;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#ui-sheet-handle.alert{background:#e47828f5;border-color:#ffd089;animation:sheetAlert 1s ease-in-out infinite}@keyframes sheetAlert{0%,to{box-shadow:0 0 #ffb45000}50%{box-shadow:0 0 14px #ffb450f2}}#ui{position:fixed;left:50%;bottom:44px;transform:translate(-50%);width:min(74vw,540px);max-width:540px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;z-index:55;padding:0 8px;background:#0a0c12ed;border:1px solid rgba(255,255,255,.16);border-radius:12px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);flex-direction:column;gap:4px;align-items:stretch;transition:max-height .18s ease,opacity .18s ease,padding .18s ease}body.lsheet-open #ui{max-height:56vh;overflow-y:auto;opacity:1;pointer-events:auto;padding:8px}#ui>.turn-panel{padding:6px 8px;min-width:0;max-width:none;flex:0 0 auto}#ui .turn-order-bar,#ui .turn-titles{display:none}#ui>.player-panels{display:none}#ui .turn-info-row,#ui .turn-phase-text,#ui .dice-result{margin:1px 0}#ui .action-buttons{gap:4px}#ui .action-buttons button{padding:7px 10px}#ui .modal-panel{padding:6px}#ui .modal-header{margin-bottom:3px}#ui .modal-res-row{gap:3px}#ui .modal-res-cell{padding:1px 2px}#ui .modal-res-cell .btn-small{width:24px;height:24px}#ui .modal-res-info{font-size:.7rem}#ui .trade-target-row{gap:4px}#ui .trade-response-btns{gap:6px}body.lsheet-open #app{padding-bottom:58vh}body.lsheet-open{scroll-padding-bottom:58vh}}.hex-tile{stroke:#5a3a1a;stroke-width:2;cursor:default;transition:filter .15s}.hex-tile:hover{filter:brightness(1.15)}.hex-tile.producing{animation:tileProduce 1.6s ease-out}@keyframes tileProduce{0%{filter:brightness(1)}18%{filter:brightness(1.85) drop-shadow(0 0 9px rgba(255,240,150,.95))}60%{filter:brightness(1.3) drop-shadow(0 0 5px rgba(255,240,150,.6))}to{filter:brightness(1)}}html.reduce-motion .hex-tile.producing{animation:none;filter:brightness(1.5) drop-shadow(0 0 6px rgba(255,240,150,.85))}.hex-tile.forest{fill:#2d6a2d}.hex-tile.field{fill:#c8a830}.hex-tile.pasture{fill:#6dbf4a}.hex-tile.hill{fill:#b85c2a}.hex-tile.mountain{fill:#888}.hex-tile.desert{fill:#d4b870}.hex-tile.sea{fill:#1f6f8b;stroke:#6fcfe8;stroke-width:1.5}.hex-tile.gold{fill:url(#gold-grad);stroke:#7a5200;stroke-width:3.5;filter:drop-shadow(0 0 5px rgba(255,210,40,.85))}.gold-tag{fill:#5a3d00;font-weight:700;pointer-events:none;paint-order:stroke;stroke:#fff5c8f2;stroke-width:2.4px;stroke-linejoin:round}.token-circle{fill:#f5e8c0;stroke:#8b6914;stroke-width:1.5}.token-number{font-size:15px;font-weight:700;text-anchor:middle;dominant-baseline:central;fill:#2a1a00;pointer-events:none}.token-number.red{fill:#c20}.token-dots{font-size:8px;text-anchor:middle;dominant-baseline:auto;fill:#666;pointer-events:none}.token-dots.red{fill:#c20}.robber,.building-img{pointer-events:none}.building-valid{filter:drop-shadow(0 0 6px #00ff88) drop-shadow(0 0 12px #00ff88)}.city-wall-outline{pointer-events:none;filter:brightness(0) saturate(0)}.building-downgrade{animation:bldgDowngradePulse .85s ease-in-out infinite}@keyframes bldgDowngradePulse{0%,to{filter:drop-shadow(0 0 7px #ff3a1a) drop-shadow(0 0 15px #ff2a14)}50%{filter:drop-shadow(0 0 14px #ff1a08) drop-shadow(0 0 28px #ff5a3a)}}html.reduce-motion .building-downgrade{animation:none;filter:drop-shadow(0 0 12px #ff2a14) drop-shadow(0 0 24px #ff5a3a)}.harbor-line{stroke-dasharray:3 9;opacity:.75}.harbor-label{font-size:11px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none;letter-spacing:-.3px}.harbor-dot{fill:#fff9;stroke:none;pointer-events:none}@media (pointer: coarse){.token-number{font-size:18px}.token-dots{font-size:9px}.harbor-label{font-size:13px;letter-spacing:-.2px}}.vertex-dot{fill:#ffffff40;stroke:#fff9;stroke-width:1;cursor:pointer;transition:r .1s,fill .1s}.vertex-dot:hover{fill:#ffffffb3;r:7}.edge-line{stroke:#fff3;stroke-width:6;stroke-linecap:round;cursor:pointer;transition:stroke .1s}.edge-line:hover{stroke:#ffffff8c}.vertex-dot.valid{fill:#50ff8cbf;stroke:#0f8;stroke-width:2;cursor:pointer;animation:pulse-vertex 1.2s ease-in-out infinite}.vertex-dot.valid:hover{fill:#50ff8c}@keyframes pulse-vertex{0%,to{opacity:1}50%{opacity:.6}}.edge-line.valid{stroke:#50ff8cbf;stroke-width:8;cursor:pointer;animation:pulse-edge 1.2s ease-in-out infinite}.edge-line.valid:hover{stroke:#50ff8c}@keyframes pulse-edge{0%,to{opacity:1}50%{opacity:.55}}.ship-line-built{pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.ship-glyph{pointer-events:none;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.4))}.edge-line.ship-valid{stroke:#6ec8f0d9;stroke-width:8;stroke-dasharray:8 6;cursor:pointer;animation:pulse-edge 1.2s ease-in-out infinite}.edge-line.ship-valid:hover{stroke:#96dcff}.ship-preview{stroke-width:8;stroke-dasharray:9 6;stroke-linecap:round;pointer-events:none}.hex-tile.valid-robber{cursor:pointer;stroke:#ffe24a;stroke-width:5;animation:tileValidPulse 1s ease-in-out infinite}@keyframes tileValidPulse{0%,to{stroke-width:5;filter:brightness(1.4) drop-shadow(0 0 8px #ffe24a) drop-shadow(0 0 16px #ffd02a)}50%{stroke-width:8;filter:brightness(1.6) drop-shadow(0 0 16px #ffe24a) drop-shadow(0 0 30px #ffd02a)}}.hex-tile.valid-robber:hover{filter:brightness(1.7) drop-shadow(0 0 18px #ffe24a)}.hex-tile.tile-chosen{cursor:pointer;stroke:#4ea3ff;stroke-width:7;filter:brightness(1.5) drop-shadow(0 0 12px #4ea3ff) drop-shadow(0 0 24px #2f7fff)}html.reduce-motion .hex-tile.valid-robber{animation:none;filter:brightness(1.5) drop-shadow(0 0 14px #ffe24a) drop-shadow(0 0 26px #ffd02a)}.vertex-hit{fill:transparent;pointer-events:none;cursor:pointer}.edge-hit{stroke:transparent;fill:none;stroke-width:22;stroke-linecap:round;pointer-events:none;cursor:pointer}@media (pointer: coarse){.vertex-hit,.edge-hit{pointer-events:all}.vertex-dot.valid{r:9;stroke-width:2.5}.edge-line.valid,.edge-line.ship-valid{stroke-width:11}}[data-vertex-id].just-built{transform-box:fill-box;transform-origin:center;animation:buildPop .5s cubic-bezier(.2,1.4,.4,1)}@keyframes buildPop{0%{transform:scale(.4);opacity:.5;filter:drop-shadow(0 0 0 rgba(255,238,206,0))}60%{transform:scale(1.14);filter:drop-shadow(0 0 8px rgba(255,238,206,.85))}to{transform:scale(1);opacity:1;filter:drop-shadow(0 0 0 rgba(255,238,206,0))}}.road-line-built.road-draw{stroke-dasharray:80;animation:roadDraw .45s ease-out}@keyframes roadDraw{0%{stroke-dashoffset:80}to{stroke-dashoffset:0}}html.reduce-motion [data-vertex-id].just-built,html.reduce-motion .road-line-built.road-draw{animation:none}.edges-previewing .edge-line.valid,.edges-previewing .edge-line.ship-valid{opacity:.2;animation:none}.vertices-previewing .vertex-dot.valid{opacity:.25;animation:none}.edge-preview-casing{stroke:#fff;stroke-width:16;stroke-linecap:round;pointer-events:none;animation:previewGlow 1s ease-in-out infinite}.edge-preview{stroke-width:8;stroke-linecap:round;pointer-events:none}.vertex-preview{fill:#ffffff40;stroke:#ffd24a;stroke-width:4;pointer-events:none;animation:previewGlow 1s ease-in-out infinite}@keyframes previewGlow{0%,to{filter:drop-shadow(0 0 3px rgba(255,255,150,.7))}50%{filter:drop-shadow(0 0 9px rgba(255,255,150,1))}}html.reduce-motion .vertex-preview,html.reduce-motion .edge-preview-casing{animation:none;filter:drop-shadow(0 0 5px rgba(255,255,150,.9))}#place-confirm{position:fixed;transform:translate(-50%);z-index:70;display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:10px 14px;border-radius:12px;background:#0c0e14f2;border:1px solid rgba(255,255,255,.22);box-shadow:0 6px 24px #0000008c;color:#fff;font-size:.9rem;max-width:92vw}.place-confirm-text{text-align:center;white-space:nowrap;font-weight:700}.place-confirm-actions{display:flex;flex-wrap:nowrap;gap:10px;justify-content:center}.place-confirm-ok,.place-confirm-cancel{flex:1 1 0;min-width:88px;max-width:150px;min-height:44px;padding:8px 14px;border-radius:9px;font-size:.95rem;font-weight:700;cursor:pointer;white-space:nowrap;border:1px solid transparent}.place-confirm-ok{background:#2a8a3a;color:#fff}.place-confirm-ok:hover{background:#34a247}.place-confirm-cancel{background:#ffffff24;color:#fff}.place-confirm-cancel:hover{background:#ffffff3d}#ui{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding-bottom:28px;width:100%;max-width:1000px}@media (max-width: 1199.98px){#ui{flex-direction:column;align-items:center}#ui>.turn-panel{order:1;flex:0 0 auto;width:100%}#ui>.player-panels{order:2;flex:0 0 auto;width:100%}}.turn-panel{background:var(--surface);border:1px solid var(--border-col);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:10px 16px;min-width:280px;max-width:660px;flex:1 1 520px}.turn-info-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.color-dot{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.55);flex-shrink:0}.turn-player-name{font-size:1rem;font-weight:700}.turn-vp{margin-left:auto;color:gold;font-size:.9rem;font-weight:700}.turn-phase-text{font-size:.82rem;color:#ffffffbf;margin-bottom:4px;line-height:1.3}.dice-result{display:inline-block;padding:4px 13px;margin-bottom:5px;background:#00000080;border:1px solid rgba(255,215,0,.45);border-radius:10px;font-size:1.12rem;font-weight:700;color:#ffe34d;letter-spacing:.05em;text-shadow:0 1px 3px rgba(0,0,0,.8)}.dice-event{font-size:.82rem;font-weight:700;color:#cfe8ff;margin-left:4px;opacity:.92}.dice-result{display:inline-flex;align-items:center;gap:5px}.dice-rd{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;height:1.5em;padding:0 .18em;border-radius:5px;font-size:.92rem;font-weight:900;color:#fff;box-shadow:inset 0 1px #ffffff6b,0 1px 2px #00000080}.dice-rd.red{background:linear-gradient(150deg,#f6f3ec,#d9d3c4);color:#23211c}.dice-rd.yellow{background:linear-gradient(150deg,#3b3e45,#1d1f24);color:#efe6ce}.dice-rd.emph{box-shadow:0 0 0 2px #fff,0 0 6px 1px #ff785ae6}.dice-rd-eq{color:#ffffff80;font-weight:700}.dice-rd-total{font-size:1.18rem;font-weight:900;color:#ffe24a;text-shadow:0 1px 3px rgba(0,0,0,.8)}.dice-rd-ev{width:1.7em;height:1.7em;object-fit:contain;margin-left:3px;vertical-align:middle;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.dice-rd-note{font-size:.72rem;font-weight:700;color:#ffd0c4}.dice-rd-thresh{font-size:1.05rem;font-weight:900;color:#ffd0c4;margin-left:1px}.inline-ic{width:1.15em;height:1.15em;object-fit:contain;vertical-align:-.22em;display:inline-block}.log-icon{vertical-align:-.2em;margin-right:4px}.log-ic{width:1.25em;height:1.25em;object-fit:contain}.barb-track{display:inline-flex;align-items:center;gap:4px}.barb-ship-ic{width:1.5em;height:1.5em;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.barb-pips{display:inline-flex;gap:2px}.barb-pip{width:7px;height:7px;border-radius:50%;background:#ffffff29;border:1px solid rgba(255,255,255,.28)}.barb-pip.on{background:#ffcf4d;border-color:#ffcf4d}.barb-pip.on.danger{background:#ff5a5a;border-color:#ff5a5a;box-shadow:0 0 5px #ff5050d9}.barb-count{font-weight:800;font-size:.82rem}.barb-atk{font-size:.74rem;opacity:.82}.barb-warn{font-size:.74rem;color:#ff6b6b;font-weight:800}.btn-icon-img.ic-road{width:22px;height:8px;border-radius:3px}.btn-icon-img.ic-cards{width:17px;height:22px}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:7px;margin-top:6px;align-items:start}.action-buttons>.modal-panel,.action-buttons>.ck-build,.action-buttons>.turn-phase-text{grid-column:1 / -1}.action-buttons>.action-sep{grid-column:1 / -1;height:1px;background:#ffffff29;margin:7px 0 1px}.action-buttons>.btn-end-turn{grid-column:1 / -1}.action-btn{padding:9px 12px;border:none;border-radius:7px;cursor:pointer;font-size:.84rem;font-weight:700;transition:background .12s,box-shadow .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.btn-primary{background:var(--accent-gradient);color:var(--accent-ink);border:1px solid rgba(255,224,168,.45);box-shadow:inset 0 1px #fff3d673}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:active:not(:disabled){filter:brightness(.96)}.btn-build{background:#2e6630;color:#d0ffd0}.btn-build:hover:not(:disabled){background:#3d8a40}.btn-active{background:#7aee40;color:#1a3300;box-shadow:0 0 8px #7aee4088}.btn-active:hover:not(:disabled){background:#90ff55}.btn-end{background:#6a4020;color:#ffe0b0}.btn-end:hover:not(:disabled){background:#8a5828}.btn-danger{background:#9a2f24;color:#ffe2dc;border:1px solid #d4554a}.btn-danger:hover:not(:disabled){background:#b8392c}.btn-disabled{background:#ffffff14;color:#ffffff52;cursor:not-allowed}.player-panels{display:flex;gap:8px;flex:2;min-width:0;align-items:stretch}.player-panel{background:#0000006b;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px;flex:1;min-width:0;font-size:.83rem;overflow:hidden}@media (max-width: 700px){.player-panels{flex-wrap:wrap}.player-panel{flex:1 1 45%}}@media (orientation: portrait) and (max-width: 700px){.player-panels{flex-wrap:wrap;gap:6px}.player-panel.panel-self{flex:1 1 100%;order:-1}.player-panel.panel-opp{flex:1 1 0;min-width:0;font-size:.72rem;padding:7px 6px}.player-panel.panel-opp .vp-breakdown,.player-panel.panel-opp .dev-card-panel{display:none}}.player-panel.active{border-width:2px}.player-panel h3{display:flex;flex-direction:column;gap:3px;font-size:.92rem;margin-bottom:7px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:5px}.panel-name-row{display:flex;align-items:center;gap:6px;min-width:0}.panel-name{min-width:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-stat-row{display:flex;align-items:center;flex-wrap:wrap;row-gap:3px;gap:clamp(3px,1.4vw,6px);font-size:clamp(.66rem,3vw,.8rem);min-width:0}.panel-stat-row .panel-vp,.panel-stat-row .rank-badge{flex:0 0 auto}.stat-counts{display:inline-flex;align-items:center;flex-wrap:wrap;row-gap:2px;gap:clamp(3px,1.4vw,7px);margin-left:auto;flex:0 1 auto;min-width:0}.stat-count{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px}.stat-ic{width:1.05em;height:1.05em;object-fit:contain;vertical-align:-.18em;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.stat-n{font-variant-numeric:tabular-nums}.stat-glyph{display:inline-block;vertical-align:-.1em}.ic-cards{position:relative;width:.8em;height:1.04em;border-radius:2px;background:linear-gradient(150deg,#f3e6c4,#cdb47e);box-shadow:0 0 0 1px #00000073}.ic-cards:before{content:"";position:absolute;left:2.5px;top:-2.5px;right:-2.5px;bottom:2.5px;border-radius:2px;background:linear-gradient(150deg,#e7d4a6,#bda067);box-shadow:0 0 0 1px #0006;z-index:-1}.ic-road{width:1.1em;height:.34em;border-radius:2px;background:linear-gradient(90deg,#d8b070,#a9743a);box-shadow:0 0 0 1px #00000073,inset 0 1px #ffffff4d}.panel-vp{color:gold;font-size:.85rem}.resource-row{display:flex;gap:5px;margin:4px 0;flex-wrap:wrap}.res-cell{font-size:.82rem;background:#ffffff1a;border-radius:4px;padding:2px 5px;min-width:28px;text-align:center}.dev-count{font-size:.78rem;color:#ffffffb3;margin-top:4px}.res-card-row{display:flex;gap:clamp(2px,1vw,4px);flex-wrap:nowrap;margin:5px 0 1px;width:100%;min-width:0}.res-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px clamp(1px,1vw,5px);border-radius:5px;flex:1 1 0;min-width:0;border:1px solid rgba(255,255,255,.12);transition:opacity .15s}.res-card.zero{opacity:.22;border-color:transparent}.res-wood{background:#2d6a2d73}.res-brick{background:#b85c2a73}.res-wool{background:#6dbf4a59}.res-grain{background:#c8a83073}.res-ore{background:#88888880}.res-card-emoji{font-size:clamp(.72rem,3.4vw,1rem);line-height:1.2}.res-card-img{width:clamp(20px,6vw,30px);height:clamp(20px,6vw,30px);object-fit:contain;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.res-card-count{font-size:clamp(.64rem,3vw,.92rem);font-weight:700;line-height:1}.hand-total{font-size:.67rem;color:#ffffff61;text-align:right;margin-bottom:3px}.trade-offer-box{background:#ffffff12;border-radius:6px;padding:6px 10px;font-size:.82rem;margin:4px 0}.trade-arrow{color:gold;margin:0 4px}.trade-response-btns{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.res-chips{display:inline-flex;flex-wrap:wrap;gap:4px;vertical-align:middle}.res-chip{display:inline-flex;align-items:center;gap:1px;padding:2px 7px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:12px;font-size:.82rem;font-weight:700;color:#fff;white-space:nowrap}.res-chip-emoji{font-size:.95rem}.res-chip-img{width:19px;height:19px;object-fit:contain;vertical-align:middle}.dev-knight-icon{width:22px;height:22px;object-fit:contain;vertical-align:middle;margin-right:4px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.res-chip-count{color:#ffffffd9}.res-chip-none{opacity:.5}.trade-exchange{display:flex;flex-direction:column;align-items:center;gap:3px;background:#ffffff0d;border-radius:8px;padding:8px 10px;margin:6px 0}.trade-ex-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.trade-ex-label{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:#ffffffb3;white-space:nowrap}.trade-ex-arrow{color:gold;font-size:1.1rem;line-height:1}.trade-you-view{font-size:.82rem;color:#ffe39a;font-weight:700;background:#ffd25a1a;border:1px solid rgba(255,210,90,.3);border-radius:8px;padding:7px 10px;margin:6px 0;display:flex;align-items:center;flex-wrap:wrap;gap:3px;line-height:1.6}.trade-status-list{display:flex;flex-direction:column;gap:2px;margin:4px 0 6px}.trade-status-row{font-size:.82rem;padding:2px 6px;border-left:3px solid rgba(255,255,255,.18);background:#ffffff0a;border-radius:4px}.dev-card-panel{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.dev-card-chip{font-size:.7rem;padding:2px 6px;border-radius:4px;white-space:nowrap;cursor:default}.dev-card-chip.playable{background:#78e65047;color:#9fe060;border:1px solid rgba(120,230,80,.35)}.dev-card-chip.new-card{background:#ffe15024;color:#ffe15099;border:1px solid rgba(255,225,80,.22)}.dev-card-chip.vp{background:#ffd70038;color:gold;border:1px solid rgba(255,215,0,.28)}.dev-card-chip.hidden{background:#ffffff17;color:#ffffff73}.rank-badge{font-size:.68rem;color:var(--text-dim);margin-left:4px}.rank-badge.rank-1{color:gold;font-size:.85rem}.vp-breakdown{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.vp-item{font-size:.68rem;color:var(--text-dim);cursor:default}.vp-item.bonus{color:gold}.panel-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:5px;font-size:.66rem;color:var(--text-dim)}.panel-meta-item.held{color:gold;font-weight:700}.panel-meta-sep{color:#ffffff40}.turn-titles{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:6px;font-size:.72rem;color:#fff9}.turn-title-item{white-space:nowrap}#reconnect-banner{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:3000;padding:6px 14px;background:#e49628f2;color:#fff;font-size:.85rem;font-weight:700;border-radius:999px;box-shadow:0 2px 10px #00000080;animation:reconnPulse 1s ease-in-out infinite}@keyframes reconnPulse{0%,to{opacity:1}50%{opacity:.6}}.last-event{margin:2px 0 4px;padding:4px 8px;background:#ffffff0f;border-left:3px solid rgba(255,255,255,.2);border-radius:4px;font-size:.78rem;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-panel{background:linear-gradient(160deg,#202a2ef7,#0d1417fa);border:1px solid rgba(208,168,108,.28);border-radius:14px;box-shadow:0 22px 56px #0000009e,inset 0 1px #ffeece0f;padding:12px 16px;width:100%;display:flex;flex-direction:column;gap:8px}.modal-header{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:700;color:var(--gold);margin-bottom:4px}.modal-section-label{font-size:.78rem;color:#ffffffa6;margin-top:4px}.modal-res-row{display:flex;flex-wrap:wrap;gap:6px}.modal-res-row[data-kind=commodity]{background:#6eb4eb21;border:1px solid rgba(110,180,235,.22);border-radius:8px;padding:5px 6px}.modal-res-row[data-kind=resource]{background:#d0a86c1a;border:1px solid rgba(208,168,108,.18);border-radius:8px;padding:5px 6px}.modal-res-cell{display:flex;align-items:center;gap:4px;background:#d0a86c12;border:1px solid rgba(208,168,108,.16);border-radius:8px;padding:4px 8px}.modal-res-info{font-size:.82rem;min-width:90px;text-align:center}.btn-small{padding:2px 8px;border:1px solid rgba(208,168,108,.26);border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:700;background:#d0a86c24;color:var(--text);transition:background .1s;min-width:26px}.btn-small:hover:not(:disabled){background:#d0a86c47}.btn-small:disabled{background:#ffffff0f;color:#ffffff40;cursor:not-allowed}@media (pointer: coarse){.modal-res-cell{padding:5px 8px;gap:10px}.modal-res-cell .btn-small{min-width:44px;min-height:44px;font-size:1.15rem}.modal-res-info{min-width:96px;font-size:.9rem}.modal-panel>button{min-height:44px}}#game-nav{position:fixed;top:8px;right:8px;z-index:100;display:flex;gap:8px;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;max-width:70vw;padding:0}.game-menu-wrap{position:relative}.menu-toggle{padding:7px 13px;border:1px solid rgba(208,168,108,.3);border-radius:8px;background:#0c1316c7;color:var(--text);font-size:.82rem;font-weight:700;cursor:pointer}.menu-toggle:hover{background:#d0a86c2e;color:#fff}@media (orientation: portrait) and (pointer: coarse){#game-nav{top:max(8px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));gap:5px}.menu-toggle{padding:4px 9px;font-size:.74rem;border-radius:7px}}.game-menu{position:absolute;top:calc(100% + 6px);right:0;flex-direction:column;gap:8px;padding:10px;min-width:210px;background:linear-gradient(160deg,#202a2efa,#0d1417fa);border:1px solid rgba(208,168,108,.26);border-radius:12px;box-shadow:0 16px 40px #0009,inset 0 1px #ffeece0d;z-index:101}.game-menu-row{display:flex;align-items:center;gap:8px;justify-content:space-between}.game-menu-label{font-size:.8rem;color:#ffffffbf;white-space:nowrap}.game-menu-select{flex:1;background:var(--surface-alt);color:var(--text);border:1px solid var(--border-col);border-radius:6px;padding:5px 6px;font-size:.82rem}.game-menu-btn{padding:8px 10px;border:1px solid rgba(208,168,108,.24);border-radius:7px;background:#d0a86c14;color:var(--text);font-size:.82rem;font-weight:700;cursor:pointer;text-align:left}.game-menu-btn:hover{background:#d0a86c2e;color:#fff}.game-menu-danger{margin-top:2px;border-color:#ff785a80;color:#ffb6a0;background:#78281e59}.game-menu-danger:hover{background:#9632288c;color:#fff}.btn-nav{padding:6px 18px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#0006;color:#fffc;font-size:.83rem;font-weight:700;cursor:pointer;transition:background .13s,color .13s}.btn-nav:hover{background:#ffffff26;color:#fff}.btn-nav-primary{background:var(--accent-gradient);border-color:#ffe0a873;color:var(--accent-ink)}.btn-nav-primary:hover{filter:brightness(1.1)}.btn-nav-bgm{font-size:.78rem;padding:6px 12px}.bgm-volume{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:80px;height:6px;border-radius:3px;background:#ffffff40;outline:none;cursor:pointer;align-self:center}.bgm-volume:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bgm-volume::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer}#home{width:100%}.home-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:24px 16px}.home-title{font-size:2.8rem;font-weight:800;letter-spacing:.14em;margin-bottom:32px;text-shadow:0 2px 10px rgba(0,0,0,.55)}.home-title-text{background:linear-gradient(180deg,#f6e7c2,#e0a948 55%,#b9802a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.4))}.ui-ico{height:1.45em;width:auto;vertical-align:-.42em;margin-right:.3em;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.ui-ico-solo{height:1.6em;width:auto;vertical-align:middle;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.home-title-ico{height:1.05em;width:auto;vertical-align:-.16em;margin-right:.18em;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.home-card{background:linear-gradient(165deg,#222c30f0,#11191df5),repeating-linear-gradient(135deg,rgba(208,168,108,.022) 0 2px,transparent 2px 6px);border:1px solid rgba(208,168,108,.24);border-radius:16px;padding:28px 36px;width:100%;max-width:480px;box-shadow:0 18px 48px #0000008c,inset 0 1px #ffeece12}.rule-panel{width:100%;max-width:480px;margin-top:16px;background:linear-gradient(165deg,#222c30e6,#11191deb);border:1px solid rgba(208,168,108,.2);border-radius:12px;box-sizing:border-box}.rule-summary{list-style:none;cursor:pointer;padding:13px 18px;font-size:.95rem;font-weight:700;color:#ffffffd9;-webkit-user-select:none;user-select:none}.rule-summary::-webkit-details-marker{display:none}.rule-summary:after{content:" ▼";font-size:.7rem;color:#ffffff80}.rule-panel[open] .rule-summary:after{content:" ▲"}.rule-summary:hover{color:#fff}.rule-body{padding:4px 18px 16px;max-height:60vh;overflow-y:auto}.rule-section{margin-bottom:12px}.rule-heading{font-size:.9rem;font-weight:700;color:#ffd27a;margin-bottom:4px}.rule-list{margin:0;padding-left:1.1em;list-style:disc}.rule-list li{font-size:.83rem;line-height:1.5;color:#fffc;margin-bottom:2px}.rule-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 10px;padding:8px;background:#00000038;border:1px solid rgba(255,255,255,.1);border-radius:8px}.rule-legend-cell{display:flex;align-items:center;gap:6px}.legend-hex{width:30px;height:30px;flex:0 0 auto}.legend-hex .hex-tile{stroke:#00000073;stroke-width:1.5}.legend-res-img{width:20px;height:20px;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.rule-legend-label{font-size:.82rem;color:#ffffffe0}@media (min-width: 480px){.rule-legend{grid-template-columns:repeat(4,1fr)}}.home-tabs{display:flex;gap:4px;margin-bottom:24px;background:#0a121480;border:1px solid rgba(208,168,108,.16);border-radius:11px;padding:4px}.home-tab{flex:1;padding:8px 0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-dim);font-size:.92rem;font-weight:700;cursor:pointer;transition:background .14s,color .14s,border-color .14s,box-shadow .14s}.home-tab.active{background:var(--accent-gradient);color:var(--accent-ink);border-color:#ffe0a880;box-shadow:0 2px 8px #c47e2a66,inset 0 1px #fff3d666}.home-tab:not(.active):hover{background:#d0a86c1a;color:var(--text);border-color:#d0a86c4d}.home-form{display:flex;flex-direction:column;gap:20px}.home-field{display:flex;flex-direction:column;gap:7px}.home-label{font-size:.82rem;color:#ffffffa6;font-weight:700;letter-spacing:.04em}.home-input{background:#0a12148c;border:1px solid rgba(208,168,108,.26);border-radius:8px;color:var(--text);font-size:16px;padding:8px 12px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.home-input::placeholder{color:#f4ead68c}.home-input:focus{border-color:var(--accent);background:#0e181ab3;box-shadow:0 0 0 3px #d99a3a38}.home-radio-group{display:flex;gap:4px;flex-wrap:wrap;background:#0a121480;border:1px solid rgba(208,168,108,.16);border-radius:11px;padding:4px}.home-radio-option{position:relative;flex:1 1 0;min-width:0}.home-radio-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.home-radio-option label{display:block;padding:7px 6px;border:1px solid transparent;border-radius:8px;font-size:.88rem;color:var(--text-dim);font-weight:700;cursor:pointer;text-align:center;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;white-space:nowrap}.home-radio-option input[type=radio]:checked+label{background:var(--accent-gradient);border-color:#ffe0a880;color:var(--accent-ink);font-weight:800;box-shadow:0 2px 8px #c47e2a66,inset 0 1px #fff3d666}.home-radio-option label:hover{background:#d0a86c1a;border-color:#d0a86c4d;color:var(--text)}.home-start-btn{margin-top:8px;padding:13px 0;border:1px solid rgba(255,224,168,.45);border-radius:10px;background:var(--accent-gradient);color:var(--accent-ink);font-size:1.05rem;font-weight:800;cursor:pointer;letter-spacing:.06em;box-shadow:0 4px 16px #c47e2a66,inset 0 1px #fff3d680;transition:filter .15s,box-shadow .15s,transform .05s}.home-start-btn:hover{filter:brightness(1.08);box-shadow:0 6px 22px #c47e2a8c,inset 0 1px #fff3d699}.home-start-btn:active{transform:translateY(1px);filter:brightness(.97)}.home-online-btns{display:flex;gap:12px}.home-online-btn{flex:1;padding:12px 0;border:1px solid rgba(208,168,108,.3);border-radius:10px;background:#d0a86c1a;color:var(--text);font-size:.9rem;font-weight:700;cursor:pointer;transition:background .13s,border-color .13s}.home-online-btn:hover{background:#d0a86c33;border-color:#d0a86c80;color:#fff}.lan-lobby{display:flex;flex-direction:column;gap:12px}.lan-divider{text-align:center;font-size:.78rem;color:var(--text-dim);position:relative}.lan-join-row{display:flex;gap:8px;align-items:stretch}.lan-join-row .home-online-btn{flex:0 0 auto;min-width:88px}.lan-code-input{flex:1;letter-spacing:.3em;text-align:center}@media (max-width: 480px){.lan-join-row{flex-direction:column}.lan-join-row .home-online-btn{width:100%;padding:12px 0;font-size:.95rem}.home-card{padding:24px 18px}}@media (max-width: 360px){.home-radio-option label{font-size:.8rem;padding:7px 3px}}.lan-wait-note{margin-top:4px;text-align:center;font-size:.78rem;color:#ffffff80}.lan-hint{font-size:.78rem;color:#ffffff73;line-height:1.6}.lan-error{margin-top:4px;padding:9px 12px;background:#ff50501f;border:1px solid rgba(255,80,80,.3);border-radius:8px;color:#ff9a9a;font-size:.82rem;text-align:center}.lan-code-box{text-align:center;font-size:.95rem;color:#ffffffb3}.lan-code{display:inline-block;margin-left:6px;padding:4px 14px;font-size:1.5rem;letter-spacing:.28em;font-weight:700;color:#ffe070;background:#00000059;border-radius:8px}.lan-url-box{padding:10px 12px;background:#0000004d;border-radius:8px;display:flex;flex-direction:column;gap:4px}.lan-url-label{font-size:.76rem;color:#ffffff80}.lan-url{font-size:.86rem;color:#8fd0ff;word-break:break-all}.lan-players{padding:10px 12px;background:#ffffff0d;border-radius:8px;display:flex;flex-direction:column;gap:6px}.lan-players-title{font-size:.8rem;color:#ffffff8c;margin-bottom:2px}.lan-player-row{display:flex;align-items:center;gap:8px;font-size:.9rem}.lan-player-row.disconnected{opacity:.45}.lan-player-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.lan-player-name{font-weight:700}.lan-player-tags{font-size:.76rem;color:#ffffff8c}.lan-player-row.cpu .lan-player-name{color:#cfe3ff}.lan-wait{display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;padding:14px;font-size:.95rem;color:#ffffffd9}.lan-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#d0a86c;animation:lanSpin .8s linear infinite;flex:0 0 auto}@keyframes lanSpin{to{transform:rotate(360deg)}}html.reduce-motion .lan-spinner{animation-duration:2.4s}.scenario-picker{display:flex;flex-direction:column;gap:7px;width:100%;min-width:0}.scenario-cat{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:#ffffff80;margin-top:2px}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.scenario-card{display:flex;align-items:center;gap:8px;padding:7px;text-align:left;min-width:0;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.12);border-radius:10px;cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent;transition:border-color .12s,background .12s}.scenario-card:hover:not(:disabled){border-color:#d0a86c8c;background:#ffffff17}.scenario-card.selected{border-color:#d0a86c;background:#d0a86c33;box-shadow:0 0 0 1px #d0a86c59 inset}.scenario-card:disabled{cursor:default}.scenario-preview{width:44px;height:44px;flex:0 0 auto;border-radius:6px;background:#103040;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.scenario-card-main{min-width:0;flex:1}.scenario-card-name{font-size:.85rem;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scenario-card-vp{font-size:.72rem;color:#ffcf4d;margin-top:2px}.scenario-pdesc{font-size:.8rem;line-height:1.45;color:#ffffffc7;background:#ffffff0d;border-radius:7px;padding:7px 9px;margin-top:1px}.scenario-picker.disabled .scenario-card{opacity:.85}@media (max-width: 380px){.scenario-grid{grid-template-columns:1fr}}.lan-cfg-scenario{flex-direction:column;align-items:stretch;gap:6px}.ck-build{width:100%;margin:8px 0;padding:12px 12px 13px;border:1px solid rgba(208,168,108,.45);border-radius:12px;background:#d0a86c17}.ck-build-title{font-size:.98rem;color:#ffcf4d;font-weight:800;margin-bottom:4px;letter-spacing:.02em}.ck-sub-label{font-size:.75rem;color:#ffffffa8;font-weight:700;margin:11px 0 6px}.ck-imp-row,.ck-knight-row,.ck-pc-row{display:flex;flex-wrap:wrap;gap:8px}.ck-imp-row .action-btn,.ck-knight-row .action-btn,.ck-pc-row .action-btn{font-size:.86rem;padding:12px 10px;min-width:0;min-height:48px;white-space:normal;line-height:1.25;border-radius:10px;text-align:center}.ck-imp-row .action-btn{flex:1 1 100%}.ck-knight-row .action-btn,.ck-pc-row .action-btn{flex:1 1 46%}.ck-pc-title{font-size:.75rem;color:#ffffffa8;font-weight:700;margin:11px 0 6px}.ck-comm-row{display:flex;gap:7px;margin:6px 0 2px;flex-wrap:wrap}.ck-comm{display:inline-flex;align-items:center;gap:4px;font-size:.98rem;font-weight:800;padding:3px 10px 3px 5px;border-radius:13px;background:#ffffff1a;color:#fff}.ck-comm-img{width:23px;height:23px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.ck-comm-n{min-width:.6em;text-align:center}.ck-comm.zero{opacity:.5}.action-btn.has-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-icon-img{width:28px;height:28px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.btn-knight-op .btn-icon-img{width:21px;height:21px}.imp-benefit{display:block;width:100%;font-size:.66rem;font-weight:600;opacity:.92;white-space:normal;line-height:1.2;margin-top:1px}.btn-icon-label{min-width:0;white-space:normal;line-height:1.15}.action-buttons>.action-btn{min-height:50px}.action-buttons>.action-btn:not(.has-icon){display:flex;align-items:center;justify-content:center}.pc-choice{display:flex;flex-direction:column;gap:8px;margin-top:8px}.pc-choice-label{font-weight:800;color:#ffe6b0;text-align:center}.pc-choice-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.pc-choice-row .action-btn{flex:0 1 auto}.pc-choice-empty{color:#fff9;padding:6px}.pc-choice-sub{font-size:.82rem;color:#ffffffb3;text-align:center;margin-top:2px}.pc-dice-sum{font-weight:900;color:#ffe24a;text-align:center;font-size:1.05rem}.pc-dice-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.pc-die{min-width:40px;padding:8px 0;font-size:1.05rem;font-weight:900}.pc-die.red.btn-active{background:linear-gradient(150deg,#e44b3f,#b21d16);color:#fff}.pc-die.yellow.btn-active{background:linear-gradient(150deg,#f1c33a,#c8920f);color:#3a2a06}.pc-tile-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.pc-tile{font-size:1rem;font-weight:900;padding:6px 8px}.pc-tile.btn-active{background:#7aee40;color:#1a3300;box-shadow:0 0 8px #7aee4088}.btn-stacked{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.15;min-width:0}.btn-name{font-weight:700;white-space:nowrap}.btn-cost{display:inline-flex;align-items:center;gap:1px;flex-wrap:wrap;justify-content:center;opacity:.95}.cost-ic{width:1.05em;height:1.05em;object-fit:contain;vertical-align:-.15em;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.cost-n{font-size:.72rem;font-weight:800;margin-right:2px}.ck-comm-coin{background:#ffcd4638}.ck-comm-cloth{background:#6ec8f033}.ck-comm-paper{background:#dcdcdc33}.ck-status{font-size:.78rem;color:#ffffffbd;margin-top:7px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.ck-status .ck-stat{display:inline-flex;align-items:center;gap:2px}.panel-pc-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}.panel-pc-label{font-size:.78rem;color:#e8d9a8;font-weight:700;flex:0 0 auto}.player-panel .panel-pc-card.action-btn.has-icon{padding:2px;min-width:0;min-height:0;width:30px;height:40px;border-radius:5px;flex:0 0 auto;gap:0;line-height:0}.panel-pc-card .btn-icon-img{width:100%;height:100%;object-fit:cover;border-radius:3px}.panel-pc-card .btn-icon-label{display:none}.turn-title-item.ck-barb-danger{color:#ff6b6b;font-weight:700}.metropolis-mark,.knight-piece{pointer-events:none}.lan-leave{margin-top:2px}.name-input-row{display:flex;gap:8px;align-items:stretch}.name-input-row .home-input{flex:1;min-width:0}.name-dice-btn{flex:0 0 auto;width:46px;border:1px solid var(--border-col);border-radius:8px;background:#d0a86c1a;color:var(--text);font-size:1.2rem;cursor:pointer}.name-dice-btn:hover{background:#d0a86c38}.lan-cpu-ctrl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;background:#ffffff0d;border-radius:8px}.lan-cpu-label{font-size:.86rem;color:#fffc}.lan-cpu-btn{width:38px;height:38px;border:1px solid var(--border-col);border-radius:8px;background:#d0a86c24;color:var(--text);font-size:1.2rem;font-weight:700;cursor:pointer}.lan-cpu-btn:disabled{opacity:.35;cursor:not-allowed}.lan-cpu-val{min-width:1.4em;text-align:center;font-size:1.2rem;font-weight:700}.lan-cpu-hint{font-size:.76rem;color:#ffffff80}.lan-cfg-ctrl{display:flex;align-items:center;gap:10px;margin-top:8px}.lan-cfg-label{flex:0 0 auto;font-size:.85rem;color:#ffffffc7;min-width:4.8em}.lan-cfg-seg{display:flex;flex:1 1 auto;gap:4px;background:#0a121480;border:1px solid rgba(208,168,108,.16);border-radius:10px;padding:3px}.lan-cfg-opt{flex:1 1 0;min-width:0;text-align:center;padding:6px 8px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text-dim);font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .13s,border-color .13s,color .13s}.lan-cfg-opt:hover:not(.active):not(:disabled){background:#d0a86c29;border-color:#d0a86c66}.lan-cfg-opt.active{background:var(--accent-gradient);border-color:#ffe0a880;color:var(--accent-ink);font-weight:800}.lan-cfg-opt:disabled{cursor:default;opacity:.55}.lan-cfg-opt.active:disabled{opacity:1}.lan-turn-wait{margin-top:6px;padding:8px 10px;background:var(--surface-alt);border:1px solid var(--border-col);border-radius:8px;font-size:.86rem;color:var(--text-dim);text-align:center}.trade-target-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.trade-target-btn{padding:4px 10px;border:1.5px solid rgba(255,255,255,.3);border-radius:16px;background:#ffffff12;color:#ffffffb3;font-size:.8rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.trade-target-btn.selected{background:#d99a3a59;border-color:var(--accent);color:#fff;font-weight:700}.trade-target-btn:hover{filter:brightness(1.2)}@keyframes resFlyTo{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}85%{opacity:.9;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(.9)}to{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(.6)}}.res-fly{position:fixed;pointer-events:none;z-index:9999;--tx: 0px;--ty: 0px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}.res-fly-img{width:32px;height:32px;object-fit:contain;display:block}.res-fly-hidden{width:24px;height:32px;border-radius:4px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 4px,transparent 4px 8px),linear-gradient(160deg,#6a3fb0,#3a2270);border:1.5px solid rgba(255,255,255,.82);box-shadow:0 2px 6px #00000080}.pc-fly-img{width:30px;height:42px;object-fit:cover;display:block;border-radius:4px;box-shadow:0 2px 6px #00000080}.btn-ship-help{background:#5082be38;border:1px dashed rgba(150,195,255,.55);color:#c4def7}.btn-ship-help:hover:not(:disabled){background:#5082be5c}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.help-modal{background:#1b2030;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:12px;max-width:360px;width:100%;padding:16px 18px;box-shadow:0 8px 30px #0009}.help-title{font-size:1.05rem;font-weight:700;margin-bottom:8px}.help-reason{font-size:.9rem;color:#ffcf8a;margin:0 0 10px;line-height:1.45}.help-list{margin:0 0 14px;padding-left:1.2em;font-size:.88rem;line-height:1.55;color:#ffffffe6}.help-list li{margin:3px 0}.help-close{display:block;width:100%;padding:9px;border:none;border-radius:8px;background:#d0a86ce6;color:#1b1206;font-weight:700;cursor:pointer}.help-close:hover{background:#d0a86c}.pc-info-card{background:#1b2030;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:14px;max-width:320px;width:100%;padding:16px 18px 18px;text-align:center;box-shadow:0 10px 34px #000000a6}.pc-info-frame{position:relative;width:162px;height:162px;margin:2px auto 10px}.pc-info-art{position:absolute;top:16%;right:16%;bottom:16%;left:16%;width:68%;height:68%;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.55))}.pc-info-frame-border{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.pc-info-title{font-size:1.28rem;font-weight:800;color:#ffe34d;margin-bottom:5px}.pc-info-deck{display:inline-block;font-size:.78rem;font-weight:700;padding:2px 11px;border-radius:10px;margin-bottom:10px}.pc-deck-trade{background:#d8a83840;color:#ffd24d}.pc-deck-politics{background:#3b6fd447;color:#9bbcff}.pc-deck-science{background:#3f9e5447;color:#8fe0a8}.pc-info-desc{font-size:.96rem;line-height:1.55;color:#ffffffeb;margin-bottom:14px}.pc-info-actions{display:flex;gap:8px;justify-content:center}.pc-info-actions .action-btn{min-width:112px}.gallery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:#0000009e;display:flex;align-items:center;justify-content:center;padding:14px}.gallery-modal{background:#161b27;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:14px;width:min(680px,96vw);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #000000b3}.gallery-header{font-size:1.1rem;font-weight:800;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1);color:#ffe34d}.gallery-body{overflow-y:auto;padding:6px 16px 12px}.gallery-section-title{font-size:.92rem;font-weight:800;color:#ffffffd9;margin:14px 0 8px;border-left:3px solid #d0a86c;padding-left:8px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px}.gallery-cell{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 6px;text-align:center}.gallery-img{width:62px;height:62px;object-fit:contain;display:block;margin:0 auto 5px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.gallery-name{font-size:.82rem;font-weight:700;margin-bottom:3px}.gallery-desc{font-size:.7rem;line-height:1.35;color:#ffffffa8}.gallery-grid-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.gallery-card-cell{background:#ffffff0a;padding:10px 8px}.gallery-card-frame{position:relative;width:122px;height:122px;margin:0 auto 6px}.gallery-card-art{position:absolute;inset:auto;left:50%;top:55%;transform:translate(-50%,-50%);width:58%;height:58%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.42))}.gallery-card-frame-border{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.gallery-card-cell .gallery-name{font-size:.86rem}.gallery-card-cell .gallery-desc{font-size:.74rem}.gallery-close{margin:10px 16px 16px;padding:11px;border:none;border-radius:9px;background:#d0a86ceb;color:#1b1206;font-weight:800;cursor:pointer}.gallery-close:hover{background:#d0a86c}.gallery-open-btn{display:block;width:100%;max-width:480px;margin:8px auto 0;padding:11px;border:1px solid rgba(208,168,108,.5);border-radius:10px;background:#d0a86c24;color:#ffdca6;font-weight:700;cursor:pointer;font-size:.9rem}.gallery-open-btn:hover{background:#d0a86c3d}.res-fly.fly-in{animation:resFlyTo 1.3s cubic-bezier(.25,.8,.5,1) forwards}.player-panel.res-landed,.mini-panel.res-landed{animation:resLandPop .26s ease-out}@keyframes resLandPop{0%{transform:scale(1)}45%{transform:scale(1.05)}to{transform:scale(1)}}html.reduce-motion .player-panel.res-landed,html.reduce-motion .mini-panel.res-landed{animation:none}.robber-fly{position:fixed;font-size:28px;line-height:1;z-index:60;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 5px rgba(0,0,0,.6));transition:transform .52s cubic-bezier(.34,.2,.2,1)}.robber-fly.go{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty)))}.robber-sliding .robber{opacity:0}#turn-toast{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:#0c0e14e6;border:1.5px solid var(--turn-color, #fff);box-shadow:0 3px 14px #00000080;color:#fff;font-weight:700;font-size:.92rem;white-space:nowrap;pointer-events:none;animation:turnToastIn .28s ease-out,turnToastOut .4s ease-in 1.3s forwards}#turn-toast.mine{background:#281e0cf0;box-shadow:0 0 16px var(--turn-color, #ffd700)}.turn-toast-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.7)}@keyframes turnToastIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes turnToastOut{to{opacity:0}}html.reduce-motion #turn-toast{animation:none}#board-notice{position:absolute;top:13%;left:50%;transform:translate(-50%);z-index:7;padding:9px 20px;border-radius:999px;background:#0c0e14ed;border:1.5px solid var(--turn-color, #e0a948);box-shadow:0 4px 18px #0000008c,0 0 16px #e0a94873;color:#fff;font-weight:800;font-size:1rem;white-space:nowrap;pointer-events:none;max-width:clamp(220px,90vw,360px);overflow:hidden;text-overflow:ellipsis;animation:boardNoticeIn .3s ease-out,turnToastOut .5s ease-in 1.7s forwards}@keyframes boardNoticeIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}html.reduce-motion #board-notice{animation:none}#played-progress{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;animation:playedPcIn .32s cubic-bezier(.2,1.5,.4,1) both}#played-progress.out{animation:playedPcOut .42s ease-in forwards}.played-progress-img{width:clamp(118px,38vw,188px);border-radius:12px;box-shadow:0 10px 32px #0009,0 0 0 3px #ffffffe6,0 0 28px #ffe18ca6}.played-progress-cap{font-weight:900;font-size:1.02rem;color:#fff;background:#0c0e14eb;padding:5px 14px;border-radius:999px;box-shadow:0 3px 12px #00000080}@keyframes playedPcIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes playedPcOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-64%) scale(.92)}}html.reduce-motion #played-progress{animation:none}.badge-fly{position:fixed;font-size:26px;line-height:1;z-index:60;pointer-events:none;transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 3px 6px rgba(0,0,0,.6));transition:transform .7s cubic-bezier(.34,.2,.2,1),opacity .7s ease}.badge-fly.go{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.25) rotate(-12deg);opacity:.2}.steal-card{position:fixed;width:26px;height:36px;margin:-18px 0 0 -13px;border-radius:4px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 4px,transparent 4px 8px),linear-gradient(160deg,#6a3fb0,#3a2270);border:1.5px solid rgba(255,255,255,.85);box-shadow:0 3px 8px #0000008c;z-index:60;pointer-events:none;transition:transform .62s cubic-bezier(.34,.2,.2,1),opacity .62s ease}.steal-card.go{transform:translate(var(--tx),var(--ty)) rotate(22deg) scale(.8);opacity:.25}.robber-landed{animation:robberLand .65s ease-out}@keyframes robberLand{0%{filter:drop-shadow(0 0 0 rgba(255,220,80,0))}35%{filter:drop-shadow(0 0 13px rgba(255,220,80,1))}to{filter:drop-shadow(0 0 0 rgba(255,220,80,0))}}.cpu-status-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:8px;max-width:90vw;padding:7px 16px;background:#12141ceb;border:2px solid rgba(255,255,255,.3);border-radius:22px;box-shadow:0 4px 16px #00000080;font-size:.86rem;font-weight:700;color:#fff;white-space:nowrap;pointer-events:none;animation:cpuStatusIn .25s ease-out}@keyframes cpuStatusIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.cpu-status-dot{width:11px;height:11px;border-radius:50%;border:2px solid rgba(255,255,255,.6);flex-shrink:0}.cpu-status-name{color:#fffffff2}.cpu-status-msg{color:#ffffffbf;font-weight:400}.cpu-status-msg.thinking{font-style:italic;animation:cpuThinking 1s ease-in-out infinite}@keyframes cpuThinking{0%,to{opacity:.55}50%{opacity:1}}.victory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:radial-gradient(120% 100% at 50% 0%,#081c209e,#02080acc);animation:victFadeIn .3s ease-out}@keyframes victFadeIn{0%{opacity:0}to{opacity:1}}.victory-modal{position:relative;z-index:2;width:100%;max-width:min(92vw,460px);box-sizing:border-box;padding:22px 24px 20px;text-align:center;background:linear-gradient(160deg,#202a2efa,#0d1417fa);border:3px solid var(--win-color, #ffd700);border-radius:18px;box-shadow:0 0 38px var(--win-color, #ffd700),0 16px 50px #000000b3;animation:victPop .5s cubic-bezier(.2,1.5,.4,1);max-height:92vh;overflow-y:auto}@keyframes victPop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.victory-modal.victory-pending{opacity:0;animation:none;pointer-events:none}.victory-modal.victory-reveal{animation:victPop .5s cubic-bezier(.2,1.5,.4,1)}.victory-splash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;pointer-events:none;text-align:center}.victory-splash.fade-out{animation:victSplashOut .36s ease forwards}@keyframes victSplashOut{to{opacity:0}}.victory-splash-title{font-weight:900;font-size:clamp(1.7rem,7vw,3.2rem);text-shadow:0 4px 22px rgba(0,0,0,.92),0 1px 3px rgba(0,0,0,.9);animation:victSplashPop .6s cubic-bezier(.2,1.5,.4,1) both;word-break:break-word;padding:0 18px}.victory-splash-trophy{font-size:clamp(2.6rem,14vw,5.4rem);line-height:1;margin-bottom:6px}@keyframes victSplashPop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.victory-trophy{font-size:2.6rem;line-height:1;margin-bottom:6px;animation:victTrophy 1.4s ease-in-out infinite}@keyframes victTrophy{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}.victory-name{font-size:clamp(1.5rem,6vw,2.1rem);font-weight:900;margin-bottom:6px;display:flex;align-items:center;justify-content:center;gap:10px;text-shadow:0 2px 10px rgba(0,0,0,.7);word-break:break-word}.victory-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.7);flex-shrink:0}.victory-vp{font-size:1.4rem;font-weight:700;color:gold;margin-bottom:4px;text-shadow:0 2px 6px rgba(0,0,0,.6)}.victory-reason{font-size:.95rem;color:#ffffffd1;margin-bottom:12px}.victory-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:sticky;bottom:0;margin-top:14px;padding-top:12px;background:linear-gradient(#0d141700,#0d1417f7 42%)}.victory-btns .btn-nav{padding:10px 18px;font-size:.9rem}.score-board{margin:6px 0 2px;text-align:left;display:flex;flex-direction:column;gap:8px}.score-board-title{text-align:center;font-size:.8rem;letter-spacing:.08em;color:#ffffff8c}.score-row{border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--row-color, #888);border-radius:9px;padding:7px 10px;background:#ffffff0a}.score-row.winner{background:linear-gradient(#ffd70024,#ffd7000d);border-color:#ffd7008c;border-left-color:var(--row-color, #ffd700)}.score-row.self{box-shadow:inset 0 0 0 1px #ffffff38}.score-head{display:flex;align-items:center;gap:8px}.score-rank{font-size:1.05rem;min-width:1.7em;text-align:center;flex:0 0 auto}.score-rank.rank-1{font-size:1.25rem}.score-dot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.6);flex:0 0 auto}.score-name{font-weight:700;font-size:.95rem;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-vp{color:gold;font-weight:900;font-size:1.05rem;flex:0 0 auto}.score-bd{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.score-chip{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;padding:2px 6px;border-radius:6px;background:#ffffff1a;color:#ffffffe6}.score-chip.bonus{background:#ffd7002e;color:#ffe9a0}.score-chip-ic{width:14px;height:14px;object-fit:contain;flex:0 0 auto}.score-comment{margin-top:6px;font-size:.8rem;line-height:1.35;color:#ffffffd1;border-top:1px dashed rgba(255,255,255,.12);padding-top:5px}.score-comment:before{content:"“";opacity:.55}.score-comment:after{content:"”";opacity:.55}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.confetti-piece{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;animation-name:confettiFall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(102vh) rotate(720deg);opacity:.85}}.player-panel.winner-glow{animation:winnerGlow 1.2s ease-in-out infinite}@keyframes winnerGlow{0%,to{box-shadow:0 0 10px 2px #ffd7008c}50%{box-shadow:0 0 28px 6px gold}}.dicestats-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:radial-gradient(120% 100% at 50% 0%,#081c209e,#02080acc);animation:victFadeIn .2s ease-out}.dicestats-modal{width:100%;max-width:min(92vw,420px);max-height:88vh;overflow-y:auto;box-sizing:border-box;background:linear-gradient(160deg,#202a2efa,#0d1417fa);border:1px solid rgba(208,168,108,.28);border-radius:14px;padding:18px 20px;box-shadow:0 16px 50px #000000b3;animation:victPop .32s cubic-bezier(.2,1.3,.4,1)}.dicestats-header{font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:6px}.dicestats-summary{font-size:.82rem;color:#ffffffbf;margin-bottom:12px;line-height:1.4}.dicestats-chart{display:flex;flex-direction:column;gap:5px}.dicestats-row{display:flex;align-items:center;gap:8px}.dicestats-num{width:22px;text-align:right;flex-shrink:0;font-weight:700;font-size:.85rem;color:#ffffffd9}.dicestats-track{flex:1;min-width:0;height:16px;background:#ffffff14;border-radius:4px;overflow:hidden}.dicestats-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,#c47e2a,#e0a948);transition:width .3s}.dicestats-val{width:84px;text-align:right;flex-shrink:0;font-size:.73rem;color:#fff9}.dicestats-row.seven .dicestats-bar{background:linear-gradient(90deg,#d9534a,#ff6b5b)}.dicestats-row.seven .dicestats-num{color:#ff8a7a}.dicestats-row.most .dicestats-num{color:gold}.dicestats-row.most .dicestats-bar{box-shadow:0 0 6px #ffd700b3}.dicestats-btns{display:flex;justify-content:center;margin-top:14px}.dice-roll-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;padding-bottom:clamp(34px,10vh,88px);z-index:50;pointer-events:none;overflow:hidden}.dice-roll-overlay.has-event{justify-content:center;padding-bottom:0}.dice-board-dim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:47;pointer-events:none;opacity:0;transition:opacity .3s ease;-webkit-backdrop-filter:brightness(.62) saturate(.72);backdrop-filter:brightness(.62) saturate(.72);background:radial-gradient(circle at 50% 76%,#06080e00,#06080e2e 44%,#04060c8f)}.dice-board-dim.on{opacity:1}.dice-board-dim.reduced{-webkit-backdrop-filter:brightness(.8);backdrop-filter:brightness(.8);background:#04060c33;transition:opacity .12s ease}.dice-result-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 16px 11px;border-radius:18px;background:linear-gradient(180deg,#161a2499,#0a0c12d6);border:1px solid rgba(255,255,255,.13);box-shadow:0 14px 34px #00000085,inset 0 1px #ffffff17;animation:dicePop .34s cubic-bezier(.2,1.4,.4,1)}.dice-gl-wrap{width:clamp(208px,72vw,320px);height:clamp(112px,26vh,156px);pointer-events:none}.dice-gl-canvas{width:100%!important;height:100%!important;display:block;pointer-events:none}.dice-sum{display:inline-flex;align-items:center;gap:7px;min-height:1.9rem;font-weight:900}.dice-sum-die{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:8px;font-size:1.12rem;color:#fff;box-shadow:0 2px 5px #00000080,inset 0 1px #ffffff6b}.dice-sum-die.red{background:linear-gradient(150deg,#f6f3ec,#d9d3c4);color:#23211c}.dice-sum-die.yellow{background:linear-gradient(150deg,#3b3e45,#1d1f24);color:#efe6ce}.dice-sum-plus,.dice-sum-eq{color:#fff9;font-size:1rem}.dice-sum-total{font-size:1.7rem;color:#ffe24a;margin-left:2px;text-shadow:0 2px 6px rgba(0,0,0,.8)}.dice-sum-label{font-size:.78rem;color:#ffffff9e;align-self:flex-end;margin-bottom:4px}.dice-sum.show{animation:dicePop .42s cubic-bezier(.2,1.5,.5,1)}.dice-color-wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:48;pointer-events:none;opacity:0;animation:colorWash .92s ease-out forwards}.dice-color-wash.ev-trade{background:radial-gradient(circle,#e6b42857,#e6b42800 72%)}.dice-color-wash.ev-politics{background:radial-gradient(circle,#4678e657,#4678e600 72%)}.dice-color-wash.ev-science{background:radial-gradient(circle,#32b45a57,#32b45a00 72%)}.dice-color-wash.ev-danger{background:radial-gradient(circle,#dc28286b,#dc282800 78%)}#barbarian-attack{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background-size:cover;background-position:center;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;animation:barbAttackIn .35s ease-out,barbShake .5s ease-in-out,barbAttackOut .6s ease-in 3.6s forwards}.barbarian-attack-result{position:relative;z-index:1;text-align:center;font-size:clamp(1.1rem,5.4vw,2.2rem);font-weight:900;padding:0 16px;letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.95);animation:barbTitlePulse .55s cubic-bezier(.2,1.5,.4,1) .12s both}.barbarian-attack-result.win,.barbarian-attack-result.tie{color:#ffe06a}.barbarian-attack-result.defeat{color:#ffc24d}#barbarian-attack:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,transparent 44%,rgba(0,0,0,.42))}#barbarian-attack.reduced{animation:barbAttackIn .2s ease-out,barbAttackOut .4s ease-in 3.7s forwards}.barbarian-attack-title{position:relative;z-index:1;text-align:center;font-size:clamp(2rem,12vw,5.5rem);font-weight:900;color:#fff;letter-spacing:.06em;text-shadow:0 0 20px rgba(255,50,20,.95),0 4px 12px rgba(0,0,0,.95);animation:barbTitlePulse .55s cubic-bezier(.2,1.5,.4,1)}@keyframes barbAttackIn{0%{opacity:0}to{opacity:1}}@keyframes barbAttackOut{to{opacity:0}}@keyframes barbTitlePulse{0%{transform:scale(.55)}60%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes barbShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}html.reduce-motion #barbarian-attack{animation:barbAttackIn .2s ease-out,barbAttackOut .4s ease-in 3.7s forwards}html.reduce-motion .barbarian-attack-title{animation:none}.dice-event-panel{max-width:min(92vw,360px);background:linear-gradient(180deg,#181c26f7,#0c0e14f7);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:11px 15px;color:#fff;box-shadow:0 14px 34px #0000008c,inset 0 1px #ffffff14;animation:dicePop .4s cubic-bezier(.2,1.5,.5,1)}.dep-ship{width:44px;height:44px;object-fit:contain;display:block;flex:0 0 auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.dep-advance-head{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:4px}.dep-advance-head .dep-title{margin-bottom:0}.dep-attack-title{text-align:center;font-size:1.2rem;font-weight:900;color:#ff6b5a;letter-spacing:.04em;text-shadow:0 0 10px rgba(255,60,30,.8),0 2px 6px rgba(0,0,0,.85);margin-bottom:6px}.dep-banner{width:100%;aspect-ratio:16 / 9;border-radius:10px;margin-bottom:8px;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000008c;border:1px solid rgba(255,120,90,.35);animation:dicePop .4s cubic-bezier(.2,1.5,.5,1)}.dep-banner-title{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 9px;text-align:center;font-size:1.3rem;font-weight:900;color:#fff;letter-spacing:.04em;text-shadow:0 2px 7px rgba(0,0,0,.95);background:linear-gradient(180deg,#0000,#780c0cd1)}.dep-title{font-size:1.05rem;font-weight:800;text-align:center;margin-bottom:6px}.dep-title.ev-trade{color:#ffd24d}.dep-title.ev-politics{color:#7fa9ff}.dep-title.ev-science{color:#7fe0a0}.dep-ev-icon{width:1.3em;height:1.3em;object-fit:contain;vertical-align:-.28em}.dep-track{display:flex;gap:5px;justify-content:center;margin:6px 0}.dep-pip{width:15px;height:15px;border-radius:50%;background:#ffffff29;border:1px solid rgba(255,255,255,.3);transition:transform .2s}.dep-pip.on{background:#ffcf4d}.dep-track.danger .dep-pip.on{background:#ff5a5a;box-shadow:0 0 7px #ff5050d9}.dep-pip.just{transform:scale(1.4);box-shadow:0 0 9px #ffd250f2}.dep-sub{text-align:center;font-size:.85rem;opacity:.92}.dep-result{font-size:.95rem;font-weight:800;opacity:1;line-height:1.35}.dep-result.win,.dep-result.tie{color:#ffd24d}.dep-result.defeat{color:#ffc24d}.dep-draws{display:flex;flex-direction:column;gap:3px}.dep-draw-row{font-size:.86rem;padding:3px 9px;border-radius:7px;background:#ffffff0d;opacity:.62}.dep-draw-row.ok{background:#6ec87833;opacity:1;font-weight:700}@media (max-height: 740px){.dice-event-panel{padding:8px 12px}.dep-ship{width:36px;height:36px}.dep-title{font-size:.95rem;margin-bottom:4px}.dep-track{margin:4px 0}.dep-pip{width:12px;height:12px}}.dice-chip{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:6px;font-weight:900;font-size:.95rem;margin:0 2px;vertical-align:middle}.dice-chip-red{background:linear-gradient(145deg,#ff7676,#c62828);color:#fff}.dice-chip-red-emph{box-shadow:0 0 0 2px #fff,0 0 8px 2px #ff785ae6;transform:scale(1.12)}.dice-chip-gate-note{font-size:.72rem;font-weight:800;color:#ffd0c4;margin-left:4px;vertical-align:middle}.dice-chip-yellow{background:linear-gradient(145deg,#ffe066,#f0a020);color:#3a2b00}.dice-chip-sum{font-weight:800;color:#ffe34d;margin:0 5px;font-size:.9rem;vertical-align:middle}.dice-chip-ev{border-radius:50%;width:24px;height:24px;min-width:24px;color:#fff;font-size:.8rem}.dice-chip-ev.ev-ship{background:linear-gradient(145deg,#6b7d8c,#2b3540)}.dice-chip-ev.ev-trade{background:linear-gradient(145deg,#ffd24d,#cf9018);color:#3a2b00}.dice-chip-ev.ev-politics{background:linear-gradient(145deg,#5b8def,#2853b8)}.dice-chip-ev.ev-science{background:linear-gradient(145deg,#5fc77a,#2e8b48)}@keyframes colorWash{0%{opacity:0}28%{opacity:1}to{opacity:0}}@keyframes dicePop{0%{transform:scale(1.45)}55%{transform:scale(.9)}to{transform:scale(1)}}.player-panel h3 .turn-player-name,.player-panel .turn-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.sound-test-panel{margin-top:14px;width:100%;max-width:640px}.sound-test-title{cursor:pointer;font-size:.9rem;color:#ffffffbf;padding:6px 10px;background:#ffffff0d;border-radius:8px;list-style:none;-webkit-user-select:none;user-select:none}.sound-test-title:hover{color:#fff;background:#ffffff1a}.sound-test-ctrl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 8px 6px;font-size:.82rem;color:#ffffffb3}.sound-test-se-row{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px 10px}.st-btn{padding:4px 12px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:#ffffff14;color:#ffffffd9;font-size:.8rem;cursor:pointer}.st-btn:hover{background:#ffffff2e}.st-slider{-webkit-appearance:none;width:70px;height:5px;border-radius:3px;background:#fff3;cursor:pointer;margin-left:4px;vertical-align:middle}.st-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent)}.st-se-btn{padding:5px 11px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:#ffffff0f;color:#fffc;font-size:.78rem;cursor:pointer;transition:background .1s}.st-se-btn:hover{background:#fff3;color:#fff}.st-se-btn:active{background:#d0a86c4d}.cpu-trade-row{display:flex;align-items:center;gap:6px;font-size:.88rem;padding:3px 0}.cpu-trade-lbl{color:#ffffffa6;font-size:.82rem;flex-shrink:0}.trade-lack-msg{font-size:.78rem;color:#ff8060;margin:4px 0}.home-order-spec{display:flex;flex-direction:column;gap:6px;margin-top:8px}.home-order-row{display:flex;align-items:center;gap:8px}.home-order-slot{font-size:.82rem;color:var(--text-dim);min-width:48px}.home-order-select{flex:1;padding:5px 8px;border-radius:6px;border:1px solid rgba(208,168,108,.26);background:#0a12148c;color:var(--text);font-size:.85rem}.turn-order-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:4px 0 2px;font-size:.72rem}.turn-order-label{color:#ffffff73;margin-right:4px}.turn-order-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:10px;background:#ffffff0d;color:#fff9}.turn-order-chip.current{background:#ffffff2e;color:#fff;font-weight:700}.turn-order-name{display:inline-block;max-width:7ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.board-select-hint{width:100%;box-sizing:border-box;padding:7px 10px;margin-bottom:6px;border-radius:8px;font-size:.86rem;font-weight:700;color:#dcebff;background:#3260e038;border:1px solid rgba(110,150,255,.5)}.turn-order-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.turn-order-sep{color:#ffffff4d}.turn-banner{display:flex;align-items:center;gap:8px;margin:-2px 0 8px;padding:7px 12px;border-radius:10px;font-weight:800;letter-spacing:.03em;border:1px solid rgba(208,168,108,.34);border-left:3px solid var(--turn-color, #d99a3a);background:var(--surface);color:var(--text);text-shadow:0 1px 3px rgba(0,0,0,.7);box-shadow:0 4px 14px #0006,inset 0 1px #ffeece0f}.turn-banner-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.7);flex:0 0 auto}.turn-banner-text{font-size:1.05rem}.turn-banner.mine{box-shadow:0 0 14px var(--turn-color, #d99a3a);animation:turnBannerPulse 1.7s ease-in-out infinite}.turn-banner.mine .turn-banner-text:after{content:" ▶";opacity:.9}.turn-banner.other .turn-banner-text{font-weight:700}@keyframes turnBannerPulse{0%,to{box-shadow:0 0 8px var(--turn-color, #d99a3a)}50%{box-shadow:0 0 18px var(--turn-color, #d99a3a)}}.player-panel.your-turn{animation:yourTurnPulse 1.8s ease-in-out infinite}@keyframes yourTurnPulse{0%,to{box-shadow:0 0 8px #ffffff40}50%{box-shadow:0 0 16px #ffffff8c}}.vp-pop,.bonus-pop{position:fixed;transform:translate(-50%);z-index:5000;pointer-events:none;font-weight:900;white-space:nowrap}.vp-pop{color:gold;font-size:1.1rem;text-shadow:0 2px 4px rgba(0,0,0,.85);animation:vpPop 1.25s ease-out forwards}.bonus-pop{color:#1a1205;font-size:.92rem;padding:3px 10px;border-radius:999px;background:linear-gradient(135deg,#ffe07a,#ffb300);box-shadow:0 2px 10px #0000008c;animation:bonusPop 1.85s ease-out forwards}@keyframes vpPop{0%{opacity:0;transform:translate(-50%,4px) scale(.7)}25%{opacity:1;transform:translate(-50%,-8px) scale(1.15)}60%{opacity:1;transform:translate(-50%,-20px) scale(1)}to{opacity:0;transform:translate(-50%,-40px) scale(1)}}@keyframes bonusPop{0%{opacity:0;transform:translate(-50%,6px) scale(.6)}18%{opacity:1;transform:translate(-50%,-10px) scale(1.12)}75%{opacity:1;transform:translate(-50%,-24px) scale(1)}to{opacity:0;transform:translate(-50%,-44px) scale(1)}}.player-panel.vp-gain-flash,.mini-panel.vp-gain-flash,.mini-panel.mine.vp-gain-flash{animation:vpFlash .9s ease-out}@keyframes vpFlash{0%{box-shadow:0 0 #ffd70000}30%{box-shadow:0 0 18px 3px #ffd700d9}to{box-shadow:0 0 #ffd70000}}.player-panel.bonus-flash,.mini-panel.bonus-flash,.mini-panel.mine.bonus-flash{animation:bonusFlash 1.45s ease-out}@keyframes bonusFlash{0%{box-shadow:0 0 #ffd70000}20%{box-shadow:0 0 22px 5px #ffd700e6}to{box-shadow:0 0 #ffd70000}}html.reduce-motion .turn-banner.mine,html.reduce-motion .player-panel.your-turn,html.reduce-motion .vp-pop,html.reduce-motion .bonus-pop,html.reduce-motion .player-panel.vp-gain-flash,html.reduce-motion .mini-panel.vp-gain-flash,html.reduce-motion .mini-panel.mine.vp-gain-flash,html.reduce-motion .player-panel.bonus-flash,html.reduce-motion .mini-panel.bonus-flash,html.reduce-motion .mini-panel.mine.bonus-flash{animation:none}@media (orientation: landscape) and (max-height: 600px) and (max-width: 1199.98px){.turn-banner{margin:0 0 5px;padding:4px 9px;gap:6px}.turn-banner-text{font-size:.92rem}.turn-banner-dot{width:11px;height:11px}}.mini-panels{display:none;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}#board-area.mini-mode{--board-draw-width: min(100%, calc(78vh * 800 / 700))}#board-area.mini-mode .mini-panels{display:block;left:50%;right:auto;transform:translate(-50%);width:var(--board-draw-width)}.mini-panel{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:34vw;padding:3px 7px;border-radius:9px;background:#0c0e149e;border:1px solid var(--mini-color, #888);box-shadow:0 1px 4px #00000073;font-size:clamp(.6rem,3vw,.78rem);line-height:1.2;white-space:nowrap;color:#fff}.corner-tl{top:32px;left:5px}.corner-tr{top:32px;right:5px}.corner-bl{bottom:6px;left:5px}.corner-br{bottom:6px;right:5px}.mini-row1,.mini-row2{display:flex;align-items:center;gap:4px;max-width:100%}.mini-dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.6);flex:0 0 auto}.mini-name{font-weight:700;min-width:0;max-width:5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-stat{color:#f0e4cf;font-weight:700;flex:0 0 auto;display:inline-flex;align-items:center;gap:3px}.mini-vp{color:gold}.mini-badges{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}.mini-badge{display:inline-flex;align-items:center}.mini-panel.current{border-color:#fff;box-shadow:0 0 8px var(--mini-color, #fff),0 1px 4px #00000080}.mini-panel.mine{animation:miniMinePulse 1.7s ease-in-out infinite}@keyframes miniMinePulse{0%,to{box-shadow:0 0 6px var(--mini-color, #fff),0 1px 4px #00000080}50%{box-shadow:0 0 15px var(--mini-color, #fff),0 1px 4px #00000080}}html.reduce-motion .mini-panel.mine{animation:none}
