:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#123b2d;color:#f7f4ee}.shell,body{min-height:100vh}.shell{display:grid;place-items:center;padding:2rem}.card{max-width:40rem;padding:2rem;border-radius:1rem;background:rgba(0,0,0,.2);box-shadow:0 1rem 2rem rgba(0,0,0,.25)}.eyebrow{margin:0 0 .5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.08em}.meta{color:#d4a63a}.link-primary{color:#1f6f50;text-decoration:underline}.link-primary:hover{color:#d4a63a}.game-page{min-height:100vh;padding:1rem;background:#123b2d}.game-table{max-width:64rem;margin:0 auto;min-height:80vh}.game-table-layout{display:grid;grid-template-rows:auto 1fr auto auto;grid-template-columns:1fr auto 1fr;grid-gap:1rem;gap:1rem;align-items:center;justify-items:center}.game-table-scores{grid-column:1/-1;justify-self:stretch}.game-table-seat-1{grid-column:1;grid-row:3}.game-table-seat-2{grid-column:2;grid-row:2}.game-table-trick{grid-column:2;grid-row:3;min-height:8rem;min-width:12rem;display:flex;align-items:center;justify-content:center;background:rgba(31,111,80,.3);border-radius:.5rem;padding:1rem}.game-table-seat-3{grid-column:3;grid-row:3}.game-table-human{grid-column:1/-1;grid-row:4;display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.score-panel{flex-wrap:wrap;gap:1rem;justify-content:center;padding:.5rem;border-radius:.5rem}.player-seat,.score-panel{display:flex;background:rgba(0,0,0,.2)}.player-seat{padding:.5rem 1rem;border-radius:.25rem;gap:.5rem;align-items:center}.player-seat-human{border:1px solid #1f6f50}.player-seat-active{outline:2px solid #d4a63a;outline-offset:2px}.player-seat-last-trick-winner{border:1px solid #8fd3b5;box-shadow:0 0 0 1px rgba(143,211,181,.35)}.player-seat-label{font-weight:600}.player-seat-score{color:#d4a63a}.status-banner{padding:.5rem 1rem;background:rgba(31,111,80,.4);border-radius:.25rem;font-weight:500}.game-table-help-toggle{display:flex;justify-content:flex-end}.link-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(0,0,0,.14);color:inherit;padding:.35rem .75rem;font:inherit;cursor:pointer}.rules-help-panel{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border-radius:.75rem;background:rgba(0,0,0,.18)}.rules-help-title{margin:0;text-align:center}.rules-help-notice{margin:0;color:rgba(255,255,255,.95)}.rules-help-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.rules-help-item{line-height:1.4}.passing-panel{display:flex;flex-direction:column;gap:.75rem}.contextual-help,.passing-help{margin:0;text-align:center}.contextual-help{padding:.5rem .75rem;color:rgba(255,255,255,.9)}.contextual-help,.passing-selected{border-radius:.5rem;background:rgba(0,0,0,.18)}.passing-selected{padding:.5rem}.passing-selected-label{display:block;margin-bottom:.5rem;font-size:.9rem}.passing-selected-cards{display:flex;gap:.25rem;justify-content:center;flex-wrap:wrap}.game-complete-panel,.round-complete-panel{display:flex;flex-direction:column;gap:.75rem;justify-content:center}.round-summary{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border-radius:.75rem;background:rgba(0,0,0,.18)}.round-summary-message,.round-summary-title{margin:0;text-align:center}.round-summary-message{color:rgba(255,255,255,.9)}.round-summary-list{display:flex;flex-direction:column;gap:.5rem}.round-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.5rem .75rem;border-radius:.5rem;background:rgba(255,255,255,.08)}.round-summary-seat-label{font-weight:600}.round-summary-seat-points,.round-summary-seat-total{white-space:nowrap;font-size:.95rem}.final-standings{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border-radius:.75rem;background:rgba(0,0,0,.18)}.final-standings-message,.final-standings-title{margin:0;text-align:center}.final-standings-message{color:rgba(255,255,255,.9)}.final-standings-list{display:flex;flex-direction:column;gap:.5rem}.final-standing-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.5rem .75rem;border-radius:.5rem;background:rgba(255,255,255,.08)}.final-standing-row-winner{background:rgba(212,166,58,.22);box-shadow:0 0 0 1px rgba(212,166,58,.25)}.final-standing-rank,.final-standing-score{white-space:nowrap;font-size:.95rem}.final-standing-label{font-weight:600}.card-hand{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;padding:.5rem}.trick-area{display:flex;flex-direction:column;gap:.75rem;align-items:center;min-height:8rem}.trick-area-label{font-size:.85rem;color:rgba(255,255,255,.82)}.trick-area-stage{position:relative;width:min(100%,12rem);height:8.5rem}.trick-area-card{position:absolute}.trick-area-card-seat-0{left:50%;bottom:0;transform:translateX(-50%)}.trick-area-card-seat-1{left:0;top:50%;transform:translateY(-50%)}.trick-area-card-seat-2{left:50%;top:0;transform:translateX(-50%)}.trick-area-card-seat-3{right:0;top:50%;transform:translateY(-50%)}.game-card{width:2.5rem;height:3.5rem;padding:.25rem;background:#f7f4ee;color:#201c17;border-radius:.25rem;font-size:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.3);border:1px solid transparent;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}button.game-card{cursor:pointer;font:inherit}.game-card-playable{border-color:#d4a63a;box-shadow:0 0 0 1px rgba(212,166,58,.45)}.game-card-playable:hover:not(:disabled),.game-card-selected{transform:translateY(-2px)}.game-card-selected{border-color:#8fd3b5;box-shadow:0 0 0 2px rgba(143,211,181,.35)}.game-card-disabled{opacity:.55}button.game-card:disabled{cursor:not-allowed}.game-card-red{color:#b33a3a}.game-card-rank{font-weight:700}.game-card-suit{font-size:1rem}@media (max-width:767px){.game-table-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto auto;gap:.75rem}.game-table-scores{grid-column:1;grid-row:1}.game-table-seat-1{grid-column:1;grid-row:2}.game-table-seat-2{grid-column:1;grid-row:3}.game-table-trick{grid-column:1;grid-row:4;min-height:5rem}.game-table-seat-3{grid-column:1;grid-row:5}.game-table-human{grid-column:1;grid-row:6}.score-panel{flex-direction:row;flex-wrap:wrap;justify-content:center}.game-card{width:2rem;height:2.8rem;font-size:.65rem}.trick-area-stage{width:min(100%,9.5rem);height:6.75rem}}