[data-turn-planner][hidden] { display:none; }
[data-turn-planner] { margin-top:1rem; }
.has-turn-planner #interactive-draft > .analytics-section-title,
.has-turn-planner #interactive-draft > fieldset,
.has-turn-planner #interactive-draft > .draft-help,
.has-turn-planner .draft-workspace,
.has-turn-planner [data-draft-opening-strength],
.has-turn-planner [data-draft-recommendations] { display:none !important; }
.turn-title { font-size:1.2rem; line-height:1.4; margin:0 0 .3rem; }
.turn-note { display:block; font-size:.85rem; line-height:1.5; color:#52616e; margin:.4rem 0; font-weight:400; }
.turn-assumption { font-size:.8rem; line-height:1.5; border-left:3px solid #0f6f7f; padding:.4rem .65rem; background:#edf5f5; }
.turn-suggestion { font-size:.9rem; font-weight:600; line-height:1.5; padding:.65rem; border:1px solid #c4d9ce; border-radius:10px; background:#eff7f0; }
.turn-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.turn-button,.turn-choice { min-height:44px; padding:.65rem .7rem; border:1px solid #cfd9dc; border-radius:10px; background:white; color:#193c44; font:inherit; font-size:.85rem; font-weight:600; line-height:1.4; cursor:pointer; }
.turn-button small { display:block; font-size:.7rem; font-weight:400; margin-top:.25rem; }
.turn-button.is-selected { border-color:#0f6f7f; background:#e9f5f5; box-shadow:inset 0 0 0 1px #0f6f7f; }
.turn-button.is-primary { background:#0f6f7f; border-color:#0f6f7f; color:white; }
.turn-button:disabled,.turn-choice:disabled { opacity:.5; cursor:not-allowed; }
.turn-button:focus-visible,.turn-choice:focus-visible,.turn-details summary:focus-visible { outline:3px solid #e9b44c; outline-offset:3px; }
.turn-choices { margin:.85rem 0; }
.turn-board-choices { margin-top:1rem; }
.turn-jump { display:none; }
.has-turn-planner [data-draft-board] .board-toolbar-row > .hint-text:nth-child(2) { display:none; }
.has-turn-planner .map-debug-board .tile-id { display:none; }
.has-turn-planner .map-debug-board .tile-id.is-turn-robber { display:block; font-size:20px; font-weight:900; fill:#17202b; stroke:#fff; stroke-width:4px; paint-order:stroke; }
.turn-choice { display:block; text-align:left; width:100%; margin-top:.5rem; }
.turn-choice:hover:not(:disabled) { background:#f0f6f5; border-color:#0f6f7f; }
.turn-controls { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:1rem 0; }
.turn-field { display:grid; gap:.3rem; font-size:.85rem; margin:.75rem 0; }
.turn-field select { min-height:44px; max-width:100%; width:100%; border:1px solid #cfd9dc; border-radius:8px; background:#fff; padding:.5rem; font:inherit; }
.turn-details { border-top:1px solid #dce3e3; margin-top:.75rem; padding-top:.3rem; }
.turn-details summary { cursor:pointer; min-height:44px; padding:.65rem 0; font-size:.9rem; font-weight:600; }
.turn-hand-card,.turn-card { padding:.65rem 0; border-bottom:1px solid #dce3e3; }
.turn-card h4 { font-size:1rem; }
.turn-history { padding-left:1.2rem; font-size:.85rem; line-height:1.7; max-height:260px; overflow:auto; }
.turn-error { margin:.75rem 0; padding:.75rem; color:#842029; background:#fff1f1; border:1px solid #f1b9bf; border-radius:10px; }
.turn-choice-heading { display:inline-block; font-size:1rem; color:#62440b; }
.turn-location { display:block; margin-top:.35rem; font-size:.78rem; color:#5b6673; font-weight:400; }
.turn-board-tools[hidden],.turn-inspector[hidden] { display:none; }
.turn-board-tools { margin-bottom:1rem; }
.has-turn-planner #board-read > .analytics-section-title,
.has-turn-planner #board-read > .analytics-section-copy { display:none; }
.turn-player-legend { display:flex; flex-wrap:wrap; gap:8px; }
.turn-player-chip { display:flex; align-items:center; gap:7px; border:1px solid #d9e1e5; border-radius:9px; padding:6px 9px; font-size:.85rem; background:#fff; }
.turn-player-chip.is-current { border:2px solid var(--player-color); padding:5px 8px; font-weight:700; }
.turn-player-chip small { font-size:.7rem; color:#52616e; }
.turn-seat-swatch { background:var(--player-color); color:#fff; min-width:24px; height:24px; display:grid; place-items:center; font-weight:800; border-radius:5px; }
.turn-map-controls { display:flex; flex-wrap:wrap; gap:8px 20px; margin:.5rem 0; }
.turn-map-controls label { display:flex; align-items:center; gap:7px; min-height:36px; font-size:.85rem; cursor:pointer; }
.turn-map-controls input { width:18px; height:18px; accent-color:#0f6f7f; }
.turn-map-key { font-size:.85rem; line-height:1.5; color:#52616e; margin:.4rem 0; }
.turn-piece-layer { display:none; pointer-events:none; }
.has-turn-planner .map-debug-board .turn-piece-layer { display:block; }
.has-turn-planner .map-debug-board .intersection-node .intersection-dot,
.has-turn-planner .map-debug-board .intersection-label,
.has-turn-planner .map-debug-board .intersection-draft-marker,
.has-turn-planner .map-debug-board .intersection-rank,
.has-turn-planner .map-debug-board .rank-badge,
.has-turn-planner .map-debug-board .pair-badge { display:none; }
.has-turn-planner .map-debug-board .intersection-node:not(.is-turn-visible),
.has-turn-planner .map-debug-board .draft-road-edge:not(.is-turn-visible) { display:none; }
.has-turn-planner .map-debug-board .is-turn-visible { cursor:pointer; }
.has-turn-planner .map-debug-board .turn-building-shape { fill:var(--draft-seat-color); stroke:#fff; stroke-width:4; stroke-linejoin:round; filter:drop-shadow(0 2px 2px #14203099); }
.has-turn-planner .map-debug-board .turn-owner-number { fill:#fff; stroke:none; font-size:22px; font-weight:900; text-anchor:middle; dominant-baseline:middle; }
.has-turn-planner .map-debug-board .turn-priority-badge circle { fill:#ffe09a; stroke:#754d00; stroke-width:3; stroke-dasharray:5 3; }
.has-turn-planner .map-debug-board .turn-priority-badge text { fill:#392b09; font-size:20px; font-weight:900; text-anchor:middle; dominant-baseline:middle; }
.has-turn-planner .map-debug-board .intersection-node[data-draft-rank="1"] .turn-priority-badge circle { stroke-width:4; fill:#ffd365; }
.has-turn-planner .map-debug-board .is-turn-inspected .turn-building-shape,
.has-turn-planner .map-debug-board .intersection-node:focus-visible .turn-building-shape { stroke:#092b37; stroke-width:6; }
.has-turn-planner .map-debug-board .is-turn-inspected .turn-priority-badge circle,
.has-turn-planner .map-debug-board .intersection-node:focus-visible .turn-priority-badge circle { stroke:#092b37; stroke-width:5; }
.has-turn-planner .map-debug-board .draft-road-edge.is-draft-road-occupied .draft-road-badge { display:none; }
.has-turn-planner .map-debug-board .draft-road-edge.is-draft-road-occupied .draft-road-hit-area { pointer-events:stroke; }
.has-turn-planner .map-debug-board .draft-road-edge.is-draft-road-occupied .draft-road-segment { stroke:var(--draft-road-seat-color); stroke-width:13; filter:none; }
.has-turn-planner .map-debug-board .draft-road-edge.is-draft-road-occupied .draft-road-casing { stroke:#fff; stroke-width:19; }
.has-turn-planner .map-debug-board.is-draft-active .draft-road-edge.is-draft-road-option[data-draft-road-rank] .draft-road-segment { stroke:#b5790b; stroke-width:9; stroke-dasharray:10 8; filter:none; }
.has-turn-planner .map-debug-board.is-draft-active .draft-road-edge.is-draft-road-option[data-draft-road-rank] .draft-road-badge circle { r:20; fill:#ffe09a; stroke:#754d00; stroke-width:3; stroke-dasharray:5 3; }
.has-turn-planner .map-debug-board.is-draft-active .draft-road-edge.is-draft-road-option[data-draft-road-rank] .draft-road-marker { font-size:20px; fill:#392b09; }
.has-turn-planner .map-debug-board.is-draft-active .draft-road-edge.is-draft-road-option[data-draft-road-rank="1"] .draft-road-badge circle { fill:#ffd365; stroke-width:4; }
.has-turn-planner .map-debug-board .draft-road-edge.is-turn-inspected .draft-road-casing,
.has-turn-planner .map-debug-board .draft-road-edge:focus-visible .draft-road-casing { stroke:#092b37; stroke-width:20; }
.has-turn-planner.turn-focus-current .map-debug-board .is-turn-other { opacity:.48; }
.has-turn-planner.turn-focus-current .map-debug-board .is-turn-other:hover,
.has-turn-planner.turn-focus-current .map-debug-board .is-turn-other:focus-visible,
.has-turn-planner.turn-focus-current .map-debug-board .is-turn-other.is-turn-inspected { opacity:1; }
.has-turn-planner.turn-focus-current .map-debug-board .is-turn-current .turn-building-shape { stroke-width:5; filter:drop-shadow(0 0 4px #fff); }
.turn-inspector { position:fixed; z-index:1080; width:310px; max-height:calc(100svh - 100px); overflow:auto; padding:16px; background:#fff; color:#19232d; border:1px solid #b7c6cd; border-radius:14px; box-shadow:0 8px 34px #102a3b38; font-family:inherit; }
.turn-inspector:focus { outline:none; }
.turn-inspector-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.turn-inspector-head h4 { margin:0; font-size:1.1rem; font-weight:750; }
.turn-inspector-close { border:0; background:transparent; font-size:1.7rem; line-height:1; width:36px; height:36px; cursor:pointer; color:#52616e; }
.turn-inspector-owner { border-left:5px solid var(--player-color); padding-left:8px; margin:.5rem 0; font-size:1rem; font-weight:700; }
.turn-production-list { padding-left:1.1rem; margin:.75rem 0; font-size:.9rem; line-height:1.65; }
.turn-production-list .is-blocked { color:#9b382f; }
.turn-inspector-priority { padding:8px; border-radius:8px; background:#fff3ce; color:#62440b; font-size:.9rem; font-weight:700; }
.turn-inspector-cost { font-size:.85rem; font-weight:650; }
.turn-inspector .is-primary { width:100%; }
@media(min-width:768px) { .has-turn-planner #interactive-draft { max-height:calc(100svh - 100px); overflow:auto; position:sticky; top:80px; } }
@media(max-width:767.98px) {
  .turn-inspector { width:auto; right:12px; max-height:60svh; }
  .turn-player-chip { font-size:.8rem; }
  .turn-jump { display:block; min-height:44px; padding:.7rem 0; color:#0f6f7f; font-weight:600; font-size:.9rem; }
  .has-turn-planner .analytics-play-area { display:flex; }
  .has-turn-planner #interactive-draft { order:0; }
  .has-turn-planner #board-read { order:1; }
  .turn-choices .turn-choice:nth-of-type(n+2) { font-size:.82rem; }
}
