/* The game occupies the viewport. Collections and long rules own their scroll. */
body.game-active {height:100dvh;overflow:hidden;}
.game-active #app {height:100dvh;display:flex;flex-direction:column;overflow:hidden;}
.game-active .site-header {height:48px;min-height:48px;flex:none;padding:0 18px;}
.game-active .wordmark {gap:8px;}
.game-active .wordmark img {width:26px;height:31px;}
.game-active .wordmark span {font-size:1.5rem;}
.game-active .wordmark small {font-size:6px;letter-spacing:.12em;}
.game-active .site-header nav {gap:20px;}
.game-active .site-header nav button {font-size:11px;}
.game-active .site-header .small-save {display:block;}
.game-active .play-desk {
  display:grid;grid-template-rows:52px minmax(0,1fr) 64px;gap:10px;
  flex:1;min-height:0;min-width:0;width:100%;max-width:none;
  margin:0;padding:10px 14px max(10px,env(safe-area-inset-bottom));overflow:hidden;
}
.play-desk .player-strip {grid-row:1;min-height:0;grid-template-columns:repeat(auto-fit,minmax(0,1fr));border-radius:8px;}
.play-desk .player-summary {padding:6px 12px;gap:9px;min-width:0;border-bottom-width:2px;}
.play-desk .seat-avatar {width:25px;height:25px;font-size:10px;}
.play-desk .player-title {gap:3px;}
.play-desk .player-title b {font-size:12px;}
.play-desk .player-title>small {font-size:9px;}
.play-desk .summary-score {min-width:32px;}
.play-desk .summary-score>b {font-size:20px;line-height:1;}
.play-desk .summary-score>small {font-size:7px;margin-top:4px;}
.compact-score {display:none;}
.desk-workspace {grid-row:2;min-height:0;min-width:0;display:flex;flex-direction:column;border:1px solid #d9d7c8;background:#fffdf55e;border-radius:11px;overflow:hidden;}
.play-desk .game-tabs {height:39px;min-height:39px;margin:0;padding:0 14px;gap:24px;flex:none;}
.play-desk .game-tabs>button {padding:10px 0;font-size:12px;white-space:nowrap;}
.play-desk .game-tabs small {font-size:10px;}
.play-desk .workspace-status {font-size:10px;color:#6c7a68;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.play-desk .game-tabs .return-link {margin-left:auto;}
.workspace-stage {flex:1;min-height:0;min-width:0;padding:12px;overflow:hidden;}
.workspace-content {display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:14px;height:100%;min-height:0;min-width:0;}
.table-overview {display:flex;flex-direction:column;min-height:0;min-width:0;gap:12px;}
.selected-pile-strip {display:none;}
.board-meta {display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:39px;flex:none;}
.board-meta>div:first-child {display:flex;flex-direction:column;gap:4px;min-width:0;}
.board-meta b {font-size:13px;}
.board-meta small {font-size:10px;color:#68775f;}
.board-meta .icon-bar {flex-wrap:nowrap;gap:8px;padding:6px 8px;border-radius:8px;}
.board-meta .icon-count {gap:3px;}
.board-meta .icon-count b {font-size:12px;}
.board-meta .icon-badge {width:25px;height:25px;}
.board-meta .icon-badge>.icon {width:19px;height:19px;}
.play-desk .board-color-nav {display:none;}
.play-desk .board-columns {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;overflow:hidden;padding:2px 3px 4px;min-height:0;flex:1;}
.play-desk .color-pile {display:flex;flex-direction:column;gap:7px;width:auto;min-width:0;min-height:0;}
.play-desk .pile-label {margin:0;font-size:10px;gap:5px;white-space:nowrap;}
.play-desk .pile-label>span:last-child {font-size:9px;overflow:hidden;text-overflow:ellipsis;}
.play-desk .empty-pile {min-height:0;height:202px;flex:none;border-radius:9px;}
.play-desk .empty-pile p {font-size:11px;}
.covered-pile {display:flex;flex-direction:column;overflow:auto;min-height:0;gap:2px;scrollbar-width:thin;}
.play-desk .covered-card {flex:none;min-height:27px;padding:4px 6px;border:1px solid #dedccc;border-radius:5px;font-size:10px;gap:4px;}
.play-desk .covered-card>span:first-child {flex:1;}
.play-desk .covered-card>small {font-size:10px;}
.play-desk .exposed-icons .icon-badge {height:21px;width:21px;}
.play-desk .exposed-icons .icon {height:16px;width:16px;}

/* Recognition fronts omit rules; the reading pane keeps their full type scale. */
.card-front {
  position:relative;display:flex;flex-direction:column;height:202px;flex:none;min-width:0;
  border:1px solid var(--card-color);border-radius:9px;background:#fffdf7;overflow:hidden;
  cursor:pointer;box-shadow:0 3px 8px #143b3212;
}
.card-front.red {--card-color:#943c32;}
.card-front.yellow {--card-color:#765709;}
.card-front.green {--card-color:#276349;}
.card-front.blue {--card-color:#275d7e;}
.card-front.purple {--card-color:#69497f;}
.card-front:hover {box-shadow:0 4px 12px #143b3226;}
.card-front.selected {outline:2px solid #ba933e;outline-offset:1px;}
.front-heading {display:flex;align-items:center;gap:5px;padding:9px;color:#fffdf5;background:var(--card-color);min-height:59px;}
.front-heading h3 {font:700 15px/1.2 'Manrope',sans-serif;letter-spacing:-.025em;overflow-wrap:break-word;flex:1;min-width:0;}
.front-heading>strong {font:700 25px/1 'Manrope',sans-serif;flex:none;min-width:23px;text-align:center;}
.front-art {height:58px;flex:none;position:relative;background-size:cover;background-position:center;}
.front-art>.front-icon {position:absolute;left:9px;top:9px;}
.front-art .icon-badge {box-shadow:0 2px 6px #071f264d;}
.front-icons {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:7px;background:#f3f1e7;flex:1;min-height:49px;}
.front-icon {display:flex;align-items:center;justify-content:center;min-width:0;}
.card-front .icon-badge {width:34px;height:34px;border-radius:7px;}
.card-front .icon-badge>.icon {width:28px;height:28px;}
.front-featured {display:flex;align-items:center;gap:5px;justify-content:center;min-height:25px;border-top:1px solid #e4e2d5;font-size:10px;font-weight:700;color:#405e4c;}
.front-featured>.icon {width:15px;height:15px;}
.card-front .selection-order {top:66px;right:6px;width:27px;height:27px;font-size:12px;}
.hand-dock {flex:none;padding-top:10px;border-top:1px solid #d9d8c9;min-width:0;}
.hand-dock>div:first-child {display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;}
.hand-dock>div:first-child small {margin-left:5px;color:#7d805f;font-size:11px;}
.hand-dock>div:first-child button {font-size:11px;text-decoration:underline;text-underline-offset:3px;}
.hand-rail {display:flex;gap:8px;overflow:auto;padding:3px 2px 5px;min-width:0;}
.hand-chip {display:grid;grid-template-columns:7px 1fr;column-gap:7px;row-gap:4px;text-align:left;min-width:145px;max-width:190px;flex:none;border:1px solid #d1d5c4;border-left:3px solid var(--card-color);background:#fffdf5;border-radius:6px;padding:7px 9px;}
.hand-chip .color-dot {grid-row:span 2;align-self:center;}
.hand-chip b {font-size:12px;}
.hand-chip small {font-size:10px;color:#6d7c65;}
.card-reader {display:flex;flex-direction:column;min-height:0;min-width:0;gap:7px;}
.reader-heading {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:23px;flex:none;}
.reader-heading>span {font-size:9px;letter-spacing:.1em;color:#64745d;font-weight:700;}
.reader-rules {font-size:11px;text-underline-offset:3px;text-decoration:underline;}
.reader-back {display:none;font-size:12px;}
.game-active .card-reader>.idea-card,.game-active .opening-choice>.idea-card {flex:1;min-height:0;min-width:0;width:100%;}
.game-active .card-reader .card-heading,.game-active .opening-choice .card-heading {min-height:70px;padding:9px 12px;flex:none;}
.game-active .card-reader .card-heading h3,.game-active .opening-choice .card-heading h3 {font-size:20px;}
.game-active .card-reader .age-seal,.game-active .opening-choice .age-seal {height:49px;width:43px;}
.game-active .card-reader .card-art,.game-active .opening-choice .card-art {height:48px;}
.game-active .card-reader .card-art>.icon-slot,.game-active .opening-choice .card-art>.icon-slot {top:3px;left:12px;}
.game-active .card-reader .card-featured,.game-active .opening-choice .card-featured {padding:6px 12px;flex:none;}
.game-active .card-reader .card-effects,.game-active .opening-choice .card-effects {padding:11px 12px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.game-active .card-reader .card-bottom,.game-active .opening-choice .card-bottom {padding:8px 12px;flex:none;}
.reader-actions {display:flex;gap:6px;flex:none;}
.reader-actions .primary {flex:1;min-height:38px;padding:9px 12px;font-size:12px;justify-content:center;gap:5px;}
.reader-empty {border:1px dashed #c9cfbc;border-radius:9px;align-items:center;justify-content:center;text-align:center;padding:24px;}
.reader-empty>span {font-size:40px;color:#aab095;}
.reader-empty h3 {font-size:24px;}
.reader-empty p {font-size:12px;color:#64765e;}
.return-table {align-self:start;padding:10px 0;font-size:12px;text-decoration:underline;}

.collection-pane {display:flex;flex-direction:column;min-height:0;min-width:0;}
.collection-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;flex:none;}
.collection-heading h2 {font-size:26px;}
.collection-heading>small {font-size:11px;color:#6d785e;}
.collection-heading>div {display:flex;align-items:center;gap:14px;}
.collection-heading>div>small,.collection-heading .text-button {font-size:11px;}
.reader-return {font-size:11px;}
.decision-context {display:flex;gap:12px;flex:none;}
.decision-context button {font-size:11px;text-decoration:underline;text-underline-offset:3px;}
.stack-state {display:block;font-size:12px;margin-top:5px;color:#62755b;}
.play-desk .game-tabs .return-decision {margin-left:auto;color:#865d19;font-weight:700;}
.game-active .idea-card:has(.card-effects[data-more=true])::after {content:'More effects ↓';position:absolute;right:14px;bottom:var(--rules-cue-bottom,65px);padding:3px 6px;font:600 10px/1.4 'Manrope',sans-serif;color:#234c38;background:#f3f3e6ef;border:1px solid #ced6bf;border-radius:4px;box-shadow:0 -5px 15px #fffdf7;pointer-events:none;}
.game-active .card-effects::-webkit-scrollbar {width:6px;}
.game-active .card-effects::-webkit-scrollbar-track {background:#e9e9dd;border-radius:4px;}
.game-active .card-effects::-webkit-scrollbar-thumb {background:#81917a;border:1px solid #e9e9dd;border-radius:4px;}
.card-collection,.action-collection,.play-desk .decision-options {display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));align-content:start;gap:13px;padding:3px 3px 12px;overflow:auto;min-height:0;min-width:0;scrollbar-width:thin;}
.card-collection {flex:1;}
.task-workspace,.opening-workspace {display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;min-width:0;}
.workspace-heading {display:flex;align-items:center;justify-content:space-between;gap:18px;flex:none;}
.workspace-heading .eyebrow {font-size:9px;color:#a17d36;letter-spacing:.13em;margin-bottom:5px;}
.workspace-heading h1 {font-size:27px;line-height:1.15;letter-spacing:-.03em;}
.workspace-heading>p {font-size:12px;max-width:280px;line-height:1.5;color:#65755e;}
.task-workspace>.workspace-content {flex:1;}
.opening-jumps {display:none;}
.opening-cards {display:flex;justify-content:center;align-items:stretch;gap:20px;min-height:0;min-width:0;overflow:auto;flex:1;padding:3px 4px 6px;}
.opening-choice {display:flex;flex-direction:column;gap:9px;min-height:0;flex:1;max-width:410px;min-width:0;}
.opening-choice>.primary {flex:none;min-height:42px;padding:10px 14px;font-size:12px;gap:6px;justify-content:center;}
.waiting-opening {align-items:center;justify-content:center;}
.waiting-opening h1 {font-size:38px;}
.waiting-opening p {font-size:13px;}
.action-choice {display:flex;flex-direction:column;gap:7px;}
.action-choice>.primary {min-height:40px;font-size:11px;padding:10px;gap:6px;flex-wrap:wrap;justify-content:center;}
.action-choice>.primary small {font-size:10px;display:block;}
.play-desk .decision-panel {width:100%;max-width:none;min-width:0;max-height:none;overflow:hidden;border:0;padding:0;box-shadow:none;border-radius:0;background:none;}
.play-desk .decision-tools {gap:15px;margin:0;flex:none;}
.play-desk .decision-tools .text-button {padding:2px 0;font-size:11px;}
.play-desk .decision-options {max-height:none;margin:0;flex-wrap:unset;scroll-snap-type:none;}
.play-desk .choice-option {min-height:44px;white-space:normal;font-size:13px;padding:12px;}
.play-desk .hidden-card-choice {width:auto;min-width:0;}
.play-desk .hidden-card-choice .card-back {height:130px;}
.decision-content:not(:has(.card-reader)) {grid-template-columns:1fr;}
.workspace-scroll {height:100%;min-height:0;min-width:0;overflow:auto;padding:2px 8px;scrollbar-width:thin;}
.workspace-scroll .supply-section {border:0;margin:0;padding:8px 0;}
.workspace-scroll .supply-decks {grid-template-columns:repeat(11,minmax(60px,1fr));overflow:auto;padding-bottom:8px;}
.workspace-scroll .chronicle .section-title {margin-bottom:15px;}
.workspace-scroll .rules-layout {height:auto;min-height:0;}
.workspace-scroll .rule-nav {padding-top:12px;}
.workspace-scroll .rules-content {padding-top:12px;}
.play-desk .desk-dock {grid-row:3;display:flex;align-items:center;gap:18px;min-width:0;min-height:0;padding:8px 14px;background:#123c37;color:#fff4dc;border:1px solid #436153;border-radius:10px;}
.play-desk .action-sidebar {position:static;display:flex;align-self:stretch;margin:0;box-shadow:none;}
.dock-turn {display:flex;align-items:center;gap:9px;min-width:165px;}
.dock-turn>span:last-child {display:flex;flex-direction:column;gap:4px;}
.dock-turn b {font-size:12px;}
.dock-turn small {font-size:10px;color:#c4cdb5;}
.dock-actions {display:flex;flex:1;align-items:center;gap:8px;}
.play-desk .action-option {display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #b5c0a74a;border-radius:6px;padding:8px;min-height:42px;flex:1;}
.play-desk .action-option b {font-size:13px;}
.play-desk .action-option .action-glyph {font-size:20px;width:21px;height:21px;}
.play-desk .action-option:disabled {opacity:.4;}
.cpu-toggle {font-size:10px;text-decoration:underline;text-underline-offset:3px;min-height:38px;color:#daceac;white-space:nowrap;}
.decision-dock {justify-content:space-between;}
.decision-dock>span {display:flex;flex-direction:column;gap:5px;}
.decision-dock b {font-size:13px;}
.decision-dock small {font-size:10px;color:#c1c9b1;}
.decision-dock>div {display:flex;align-items:center;gap:24px;}
.decision-dock .primary {background:#fff3d5;color:#163f35;font-size:13px;min-height:42px;padding:10px 20px;}
.opening-dock {justify-content:space-between;}
.opening-dock>span {display:flex;align-items:center;gap:10px;}
.opening-dock b {font-size:12px;font-weight:500;}
.opening-dock>small {font-size:11px;color:#c3cbb2;}
.game-active .handover {flex:1;min-height:0;overflow:auto;padding:20px;}
.game-active .handover h1 {font-size:38px;}
.game-active .handover-symbol {width:65px;height:65px;margin-bottom:22px;}
.game-active .victory-page {flex:1;min-height:0;overflow:auto;padding:20px;width:100%;}
.game-active .victory-page h1 {font-size:46px;}
.game-active .victory-mark {font-size:40px;margin-bottom:10px;}
.game-active .final-scores {margin:16px 0;}
.final-chronicle {display:flex;flex-direction:column;min-height:0;flex:1;padding:12px 20px;}
.final-chronicle>.workspace-scroll {flex:1;}
.final-chronicle>footer {display:flex;justify-content:space-between;flex:none;padding-top:10px;}
.game-active .modal-shade {padding:12px;}
.game-active .modal {max-height:calc(100dvh - 24px);}

@media(min-width:1700px) {.workspace-content {grid-template-columns:minmax(0,1fr) 400px;}.play-desk .board-columns {gap:14px;}.card-front {height:222px;}.front-heading {min-height:65px;}.front-art {height:68px;}}
@media(max-width:1100px) {
  .workspace-content {grid-template-columns:minmax(0,1fr);}
  .table-content {display:grid;grid-template-rows:37px 38px minmax(0,1fr);gap:9px;max-width:680px;margin:auto;}
  .table-overview {display:contents;}
  .table-overview .board-columns,.table-overview .hand-dock,.table-overview>.return-table {display:none;}
  .play-desk .board-color-nav {display:flex;gap:5px;margin:0;}
  .play-desk .board-color-nav button {min-height:36px;padding:5px;font-size:11px;gap:5px;}
  .board-color-nav small {font-size:10px;}
  .board-color-nav [aria-pressed=true] {box-shadow:inset 0 -2px 0 var(--card-color);}
  .table-content .card-reader {min-height:0;}
  .table-content {grid-template-rows:37px 38px 24px minmax(0,1fr);}
  .table-content .reader-heading {display:none;}
  .selected-pile-strip {display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;}
  .selected-pile-strip>button {font-size:inherit;padding:0;text-transform:capitalize;}
  .selected-pile-strip>button:not(:disabled) {text-decoration:underline;text-underline-offset:3px;}
  .selected-pile-strip>button:disabled {opacity:1;cursor:default;}
  .chooser-content.reader-open .action-collection {display:none;}
  .chooser-content.reader-open {grid-template-columns:1fr;}
  .chooser-content.reader-open .card-reader {display:flex;}
  .collection-content {display:flex;flex-direction:column;}
  .collection-content .collection-pane {flex:1;}
  .collection-content .card-reader {display:none;}
  .collection-content.reader-open .collection-pane {display:none;}
  .collection-content.reader-open .card-reader {display:flex;flex:1;}
  .reader-back {display:block;}
  .table-content .reader-back {display:none;}
  .chooser-content {grid-template-columns:minmax(0,1fr) minmax(260px,38%);}
  .decision-content {grid-template-columns:minmax(0,1fr) minmax(260px,38%);}
  .play-desk .workspace-status {display:none;}
}
@media(max-width:650px) {
  .game-active .site-header {height:43px;min-height:43px;padding:0 12px;}
  .game-active .wordmark img {width:22px;height:27px;}
  .game-active .wordmark span {font-size:23px;}
  .game-active .wordmark small {font-size:5px;}
  .game-active .site-header nav {gap:12px;}
  .game-active .site-header nav button {font-size:10px;}
  .game-active .site-header nav [data-go=game],.game-active .site-header nav [data-go=library],.game-active .site-header nav [data-go=rules] {display:none;}
  .game-active .site-header .small-save {padding:7px;}
  .game-active .play-desk {grid-template-rows:46px minmax(0,1fr) 91px;gap:7px;padding:7px 8px max(7px,env(safe-area-inset-bottom));}
  .play-desk .player-summary {padding:5px 7px;gap:5px;}
  .play-desk .seat-avatar {display:none;}
  .play-desk .player-title b {font-size:11px;}
  .play-desk .player-title>small {font-size:8px;}
  .play-desk .summary-score {min-width:22px;}
  .play-desk .summary-score>b {font-size:18px;}
  .play-desk .summary-score>small {font-size:6px;}
  .play-desk .player-summary:nth-child(n+3) .player-title>small {display:none;}
  .play-desk .player-summary:nth-child(n+3) .summary-score {min-width:16px;}
  .play-desk .game-tabs {min-height:36px;height:36px;padding:0 9px;gap:0;justify-content:space-between;}
  .play-desk .game-tabs>button {font-size:10px;padding:10px 2px;}
  .play-desk .game-tabs small {font-size:9px;margin-left:1px;}
  .play-desk .game-tabs .return-link {display:none;}
  .workspace-stage {padding:8px;}
  .workspace-content {gap:7px;}
  .table-content {grid-template-rows:31px 34px 24px minmax(0,1fr);}
  .selected-pile-strip {font-size:10px;}
  .board-meta {min-height:0;justify-content:center;}
  .board-meta>div:first-child {display:none;}
  .board-meta .icon-bar {padding:4px 6px;gap:7px;}
  .board-meta .icon-count {gap:3px;}
  .board-meta .icon-count b {font-size:11px;}
  .board-meta .icon-badge {height:21px;width:21px;}
  .board-meta .icon-badge>.icon {height:16px;width:16px;}
  .play-desk .board-color-nav {gap:4px;}
  .play-desk .board-color-nav button {font-size:10px;padding:4px 2px;gap:3px;min-height:32px;}
  .play-desk .board-color-nav small {font-size:9px;}
  .play-desk .board-color-nav .color-dot {width:5px;height:5px;}
  .reader-heading {min-height:21px;}
  .reader-heading>span {font-size:8px;}
  .reader-rules,.reader-back {font-size:10px;}
  .game-active .card-reader .card-heading {min-height:64px;padding:7px 10px;}
  .game-active .card-reader .card-heading h3 {font-size:20px;}
  .game-active .card-reader .card-color-name {margin-bottom:4px;}
  .game-active .card-reader .card-art {height:45px;}
  .game-active .card-reader .card-art>.icon-slot {top:1px;}
  .game-active .card-reader .card-featured {padding:5px 10px;}
  .game-active .card-reader .card-effects {padding:10px;}
  .game-active .card-reader .card-bottom {padding:6px 10px;}
  .reader-actions .primary {min-height:36px;font-size:11px;}
  .collection-heading {margin-bottom:9px;}
  .collection-heading h2 {font-size:24px;}
  .collection-heading>small {font-size:10px;}
  .card-collection,.action-collection {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .front-heading h3 {font-size:14px;}
  .front-heading {padding:8px;}
  .front-heading>strong {font-size:23px;}
  .card-front .icon-badge {height:32px;width:32px;}
  .card-front .icon-badge>.icon {height:26px;width:26px;}
  .workspace-heading {gap:8px;align-items:flex-start;}
  .workspace-heading h1 {font-size:23px;}
  .workspace-heading>p {display:none;}
  .workspace-heading .text-button {font-size:10px;white-space:nowrap;padding:3px 0;}
  .opening-jumps {display:flex;gap:6px;flex:none;}
  .opening-jumps button {flex:1;background:#e9e8dc;border:1px solid #d7d5c3;border-radius:5px;font-size:11px;min-height:32px;padding:6px;}
  .opening-cards {justify-content:flex-start;gap:12px;scroll-snap-type:x mandatory;padding:2px 2px 4px;}
  .opening-choice {flex:0 0 calc(100% - 18px);min-width:0;max-width:none;scroll-snap-align:start;}
  .game-active .opening-choice .card-art {height:48px;}
  .opening-choice>.primary {font-size:11px;min-height:40px;padding:8px;}
  .task-workspace,.opening-workspace {gap:9px;}
  .chooser-content {display:flex;flex-direction:column;}
  .chooser-content .action-collection {flex:1;}
  .chooser-content .card-reader {display:none;}
  .chooser-content.reader-open .card-reader {display:flex;flex:1;}
  .chooser-content.reader-open .reader-actions {display:flex;}
  .chooser-confirm {max-height:105px;overflow:auto;flex-direction:column;}
  .workspace-heading:has(.decision-context) {flex-wrap:wrap;gap:6px;}
  .workspace-heading .decision-context {width:100%;}
  .decision-context button {font-size:10px;}
  .play-desk .game-tabs:has(.return-decision)>button[data-view] {display:none;}
  .play-desk .game-tabs:has(.return-decision)>button[data-view=board],.play-desk .game-tabs:has(.return-decision)>button[data-view=hand] {display:block;}
  .play-desk .game-tabs .return-decision {margin:0;font-size:12px;}
  .play-desk[data-players="4"] .player-summary {display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px 5px;}
  .play-desk[data-players="4"] .player-title {grid-column:1/-1;}
  .play-desk[data-players="4"] .player-title b {font-size:10px;}
  .play-desk[data-players="4"] .player-title>small {display:none;}
  .play-desk[data-players="4"] .summary-score {display:flex;align-items:center;justify-content:center;gap:3px;}
  .play-desk[data-players="4"] .summary-score>b {font-size:15px;}
  .play-desk[data-players="4"] .summary-score>small {font-size:5px;margin:0;}
  .play-desk[data-players="4"] .summary-score {display:none;}
  .play-desk[data-players="4"] .compact-score {display:block;grid-column:1/-1;font-size:10px;line-height:1.3;white-space:nowrap;}
  .play-desk[data-players="4"] .compact-score b {font-weight:700;}
  .decision-content {display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);}
  .decision-content:not(.reader-open)>.card-reader {display:none;}
  .decision-content.reader-open {grid-template-rows:63px minmax(0,1fr);}
  .decision-content.reader-open .decision-options .card-front {height:56px;}
  .decision-content.reader-open .decision-options .front-heading {height:100%;}
  .decision-content.reader-open .decision-options .front-art,.decision-content.reader-open .decision-options .front-icons,.decision-content.reader-open .decision-options .front-featured {display:none;}
  .decision-content:not(:has(.card-reader)) {grid-template-rows:minmax(0,1fr);}
  .play-desk .decision-options {display:flex;flex-wrap:nowrap;gap:10px;padding:2px 3px 5px;}
  .decision-options .card-front {flex:0 0 138px;height:150px;}
  .decision-options .front-heading {min-height:41px;padding:6px;}
  .decision-options .front-heading h3 {font-size:12px;}
  .decision-options .front-art {height:35px;}
  .decision-options .front-art>.front-icon {left:6px;top:2px;}
  .decision-options .front-icons {padding:4px;min-height:39px;}
  .decision-options .front-featured {min-height:22px;font-size:9px;}
  .decision-content .card-reader .card-heading {min-height:57px;}
  .decision-content .reader-heading {display:none;}
  .play-desk .decision-tools {gap:12px;}
  .play-desk .decision-tools .text-button {font-size:10px;}
  .play-desk .decision-options .choice-option {min-width:140px;flex:none;max-width:220px;}
  .desk-dock {padding:8px 10px;border-radius:8px;gap:5px;}
  .play-desk .action-sidebar {display:grid;grid-template-columns:1fr auto;grid-template-rows:22px 42px;gap:5px 8px;}
  .dock-turn {min-width:0;gap:6px;}
  .dock-turn>span:last-child {flex-direction:row;align-items:center;gap:8px;}
  .dock-turn b {font-size:10px;}
  .dock-turn small {font-size:9px;}
  .cpu-toggle {grid-column:2;grid-row:1;min-height:22px;font-size:9px;}
  .dock-actions {grid-column:1/-1;grid-row:2;gap:6px;}
  .play-desk .action-option {min-height:40px;padding:6px;gap:5px;}
  .play-desk .action-option b {font-size:11px;}
  .play-desk .action-option .action-glyph {font-size:18px;width:16px;}
  .opening-dock {flex-direction:column;justify-content:center;gap:7px;align-items:flex-start;}
  .opening-dock b {font-size:11px;}
  .opening-dock>small {font-size:10px;}
  .decision-dock {gap:10px;}
  .decision-dock b {font-size:12px;}
  .decision-dock small {font-size:9px;}
  .decision-dock>div {gap:12px;}
  .decision-dock .primary {min-height:42px;padding:10px 12px;font-size:12px;}
  .workspace-scroll {padding:0 3px;}
  .workspace-scroll .rules-layout {display:flex;flex-direction:column;}
  .workspace-scroll .rule-nav {display:flex;flex-direction:row;overflow:auto;border-right:0;flex:none;padding:0;gap:5px;}
  .workspace-scroll .rule-nav button {white-space:nowrap;font-size:11px;padding:9px;}
  .workspace-scroll .rules-content {padding:15px 0 0;}
}
@media(max-height:650px) {
  .game-active .play-desk {gap:6px;padding-block:6px;grid-template-rows:43px minmax(0,1fr) 56px;}
  .play-desk .game-tabs {height:33px;min-height:33px;}
  .game-active .card-reader .card-art,.game-active .opening-choice .card-art {height:42px;}
  .game-active .card-reader .card-heading,.game-active .opening-choice .card-heading {min-height:60px;}
  .game-active .card-reader .card-featured,.game-active .opening-choice .card-featured {padding-block:4px;}
  .game-active .card-reader .card-bottom,.game-active .opening-choice .card-bottom {padding-block:4px;}
  .hand-dock {padding-top:6px;}
  .hand-rail {padding-block:1px;}
  .hand-chip {padding-block:5px;}
  .card-front {height:180px;}
  .front-heading {min-height:48px;}
  .front-art {height:48px;}
  .play-desk .empty-pile {height:180px;}
  .opening-workspace .workspace-heading h1 {font-size:21px;}
  .opening-workspace {gap:6px;}
  .game-active .play-desk[data-workspace=opening] {grid-template-rows:43px minmax(0,1fr) 42px;}
  .opening-dock>small {display:none;}
}
@media(max-height:500px) and (min-width:651px) {
  .game-active .site-header {height:38px;min-height:38px;}
  .game-active .play-desk {padding:6px 10px;}
  .workspace-stage {padding:6px 8px;}
  .table-content {display:grid;grid-template-columns:170px minmax(0,1fr);grid-template-rows:minmax(0,1fr);max-width:none;gap:12px;}
  .table-content>.selected-pile-strip {grid-column:1;grid-row:1;align-self:end;z-index:1;flex-direction:column;align-items:flex-start;gap:4px;font-size:10px;}
  .table-content .table-overview {grid-column:1;grid-row:1;padding-bottom:32px;gap:6px;}
  .table-content .board-meta .icon-bar {gap:4px;padding:4px;}
  .table-content .board-meta .icon-badge {width:21px;height:21px;}
  .table-content .board-meta .icon {width:16px;height:16px;}
  .table-content .board-color-nav {gap:3px;}
  .table-content .board-color-nav button {min-height:23px;padding:2px;font-size:10px;}
  .table-overview {display:flex;gap:8px;}
  .board-meta {justify-content:center;}
  .board-meta>div:first-child {display:none;}
  .board-meta .icon-bar {display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px;}
  .play-desk .board-color-nav {display:grid;grid-template-columns:1fr 1fr;gap:4px;}
  .play-desk .board-color-nav button {min-height:23px;padding:2px;font-size:10px;}
  .table-content .card-reader {grid-column:2;grid-row:1;}
  .card-reader .reader-heading,.card-reader .reader-actions {display:none;}
  .game-active .card-reader>.idea-card,.game-active .opening-choice>.idea-card {display:grid;grid-template-columns:180px minmax(0,1fr);grid-template-rows:62px 32px 32px minmax(40px,1fr);}
  .game-active .card-reader .card-heading,.game-active .opening-choice .card-heading {grid-column:1;grid-row:1;min-height:0;padding:5px 8px;gap:6px;}
  .game-active .card-reader .card-heading h3,.game-active .opening-choice .card-heading h3 {font-size:20px;}
  .game-active .card-reader .age-seal,.game-active .opening-choice .age-seal {height:43px;width:35px;}
  .game-active .card-reader .card-color-name,.game-active .opening-choice .card-color-name {font-size:8px;margin-bottom:4px;}
  .game-active .card-reader .card-art,.game-active .opening-choice .card-art {grid-column:1;grid-row:2;height:32px;}
  .game-active .card-reader .card-art>.icon-slot,.game-active .opening-choice .card-art>.icon-slot {top:0;left:8px;}
  .game-active .card-reader .card-art .icon-badge,.game-active .opening-choice .card-art .icon-badge {width:32px;height:32px;}
  .game-active .card-reader .card-featured,.game-active .opening-choice .card-featured {grid-column:1;grid-row:3;padding:2px 6px;gap:5px;}
  .game-active .card-reader .card-featured .icon-badge,.game-active .opening-choice .card-featured .icon-badge {width:27px;height:27px;}
  .game-active .card-reader .card-featured small,.game-active .opening-choice .card-featured small {font-size:7px;}
  .game-active .card-reader .card-featured b,.game-active .opening-choice .card-featured b {font-size:10px;}
  .game-active .card-reader .card-effects,.game-active .opening-choice .card-effects {grid-column:2;grid-row:1/-1;padding:10px;border-left:1px solid #d9ddce;}
  .game-active .card-reader .card-bottom,.game-active .opening-choice .card-bottom {grid-column:1;grid-row:4;padding:3px 5px;align-content:center;}
  .game-active .card-reader .card-bottom .icon-badge,.game-active .opening-choice .card-bottom .icon-badge {width:34px;height:34px;}
  .game-active .play-desk[data-workspace=opening] {grid-template-rows:minmax(0,1fr) 42px;}
  .play-desk[data-workspace=opening]>.player-strip {display:none;}
  .play-desk[data-workspace=opening]>.desk-workspace {grid-row:1;}
  .play-desk[data-workspace=opening]>.desk-dock {grid-row:2;}
  .opening-workspace>.workspace-heading {display:none;}
  .opening-cards {gap:12px;}
  .opening-choice {gap:6px;}
  .opening-choice>.primary {min-height:34px;padding:7px 10px;}
  .task-workspace {display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px 12px;}
  .task-workspace>.workspace-heading {grid-column:1;grid-row:1;}
  .task-workspace .workspace-heading h1 {font-size:19px;}
  .task-workspace>.workspace-content {display:contents;}
  .action-collection {grid-column:1;grid-row:2;grid-template-columns:1fr;}
  .task-workspace .card-reader {grid-column:2;grid-row:1/-1;}
  .play-desk .decision-panel {display:grid;grid-template-rows:auto auto minmax(0,1fr);}
  .decision-panel>.decision-tools {grid-column:1;grid-row:2;}
  .play-desk .decision-options {grid-column:1;grid-row:3;display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;}
  .decision-options .card-front {height:49px;}
  .decision-options .front-heading {height:100%;min-height:0;}
  .decision-options .front-heading h3 {font-size:13px;}
  .decision-options .front-art,.decision-options .front-icons,.decision-options .front-featured {display:none;}
  .decision-panel .card-reader {display:flex;}
  .chooser-content.reader-open .action-collection {display:grid;}
  .chooser-content .chooser-confirm {display:none;}
}
@media(max-height:650px) and (max-width:650px) {
  .game-active .play-desk {grid-template-rows:43px minmax(0,1fr) 84px;}
  .card-reader .reader-heading,.card-reader .reader-actions {display:none;}
  .table-content {grid-template-rows:26px 32px 20px minmax(0,1fr);gap:4px;}
  .game-active .card-reader .age-seal {height:43px;}
  .game-active .card-reader .card-heading {min-height:57px;}
  .game-active .card-reader .card-featured {padding-block:2px;}
  .game-active .card-reader .card-bottom {padding-block:2px;}
  .board-meta .icon-bar {padding-block:2px;}
  .game-active .play-desk[data-workspace=decision] {grid-template-rows:24px minmax(0,1fr) 64px;}
  .play-desk[data-workspace=decision] .player-summary {padding-block:2px;}
  .play-desk[data-workspace=decision] .player-title>small,.play-desk[data-workspace=decision] .summary-score>small {display:none;}
  .play-desk[data-workspace=decision] .game-tabs {display:none;}
  .decision-content .card-reader .card-art {height:32px;}
  .decision-content .card-reader .card-art .icon-badge {height:32px;width:32px;}
  .decision-content .card-reader .card-featured {padding-block:2px;}
  .decision-content .card-reader .card-bottom {padding-block:3px;}
  .decision-content.reader-open {grid-template-rows:39px minmax(0,1fr);}
  .decision-content.reader-open .decision-options .card-front {height:33px;}
  .decision-content.reader-open .front-heading {padding:4px 6px;min-height:0;}
  .decision-content.reader-open .front-heading h3 {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .collection-content .card-reader .reader-heading,.chooser-content .card-reader .reader-heading {display:flex;}
  .task-workspace:has(.chooser-content.reader-open)>.workspace-heading {display:none;}
  .game-active .card-reader .card-effects,.game-active .opening-choice .card-effects {padding-block:5px;}
  .game-active .card-reader .effect-heading,.game-active .opening-choice .effect-heading {float:left;margin:2px 6px 0 0;}
  .game-active .card-reader .card-effects .demand,.game-active .opening-choice .card-effects .demand {padding-block:5px;}
  .game-active .card-reader .card-effect::after,.game-active .opening-choice .card-effect::after {content:'';display:block;clear:both;}
}
@media(prefers-reduced-motion:no-preference) {
  .workspace-stage[data-changed=true]>[class] {animation:desk-unfold .2s ease-out both;}
  .game-active .idea-card {animation:none;}
  @keyframes desk-unfold {from {opacity:.35;transform:translateY(5px);}to {opacity:1;transform:translateY(0);}}
}
