:root{color-scheme:light;--felt: #0c6b4e;--felt-dark: #064532;--felt-line: rgba(255, 255, 255, .18);--ink: #17202a;--muted: #667085;--paper: #fbfbf7;--panel: #eef1ea;--accent: #c27803;--accent-dark: #8a4b00;--blue: #285681;--red: #b42318;--border: rgba(23, 32, 42, .16);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:#dfe5da;user-select:none;-webkit-user-select:none}button{font:inherit}button,input,select{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh}.command-button,.icon-button{border:0;cursor:pointer}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow:hidden}.table-surface{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(170px,1fr) auto auto;gap:clamp(12px,2vw,18px);padding:clamp(14px,2.4vw,26px);background:var(--felt);color:#fff;overflow-x:hidden;overflow-y:auto}.table-surface>*{min-width:0}.opponent-grid{display:grid;grid-template-columns:minmax(0,620px);justify-content:center;gap:12px}.player-strip{min-width:0;display:grid;gap:10px;align-content:start;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#03271d61}.player-strip.active{outline:2px solid rgba(255,205,112,.9);outline-offset:2px}.player-meta{display:flex;align-items:center;gap:9px;min-width:0}.seat-icon{width:28px;height:28px;display:grid;place-items:center;color:#0e2e23;background:#e4f2d1;border-radius:999px;flex:0 0 auto}.player-name{font-weight:800;line-height:1.1}.player-count{margin-top:2px;color:#ffffffb8;font-size:.78rem}.hand{display:flex;align-items:flex-end;flex-wrap:wrap;gap:6px;min-height:66px}.hand.revealable{cursor:pointer;touch-action:manipulation}.playing-card,.card-back{width:54px;height:78px;flex:0 0 auto;border-radius:7px}.playing-card{position:relative;display:grid;align-content:space-between;padding:7px;color:var(--ink);background:#fffdf8;border:1px solid rgba(23,32,42,.22);box-shadow:0 4px 9px #0000002e;transition:transform .12s ease,box-shadow .12s ease}.playing-card:disabled{cursor:default}.playing-card.selected{transform:translateY(-10px);box-shadow:0 12px 18px #00000038;outline:2px solid #ffd166}.playing-card.suggested{outline:3px solid #38bdf8;box-shadow:0 0 0 6px #7dd3fc6b,0 0 18px #38bdf880,0 4px 9px #0000002e}.playing-card.selected.suggested{box-shadow:0 0 0 6px #7dd3fc6b,0 0 18px #38bdf880,0 12px 18px #00000038}.playing-card.red{color:var(--red)}.playing-card.black{color:#111827}.playing-card.compact,.card-back.compact{width:34px;height:48px;border-radius:5px}.playing-card.compact{padding:4px;box-shadow:0 2px 5px #00000029}.rank{font-size:1rem;font-weight:900;line-height:1}.suit{justify-self:end;font-size:1.3rem;line-height:1}.compact .rank{font-size:.7rem}.compact .suit{font-size:.9rem}.card-back{background:linear-gradient(135deg,rgba(255,255,255,.2) 25%,transparent 25%) 0 0 / 10px 10px,linear-gradient(135deg,transparent 75%,rgba(255,255,255,.2) 75%) 0 0 / 10px 10px,#963f2d;border:1px solid rgba(255,255,255,.38);box-shadow:0 3px 7px #0000002e}.center-table{min-height:180px;display:grid;grid-template-rows:34px 34px minmax(0,auto) 88px;justify-items:center;align-items:center;align-content:center;gap:10px}.turn-badge,.lead-marker,.outcome-badge{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;color:#14382a;background:#f4f0dc;border:1px solid rgba(255,255,255,.38);border-radius:999px;font-weight:800}.outcome-badge{min-width:164px;color:#f8fafc;background:#14382ad6;border-color:#ffffff47}.outcome-badge.empty{visibility:hidden}.debug-status{min-height:22px;max-width:min(100%,520px);padding:3px 9px;color:#ffffffdb;background:#03271db8;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.78rem;font-weight:800;line-height:1.2;text-align:center}.debug-status.empty{visibility:hidden}.outcome-badge strong{margin-left:5px}.active-combo{width:min(100%,330px);height:88px;display:grid;place-items:center}.active-combo .hand{justify-content:center;min-height:78px}.move-tray{width:100%;min-width:0;display:flex;justify-content:flex-start;gap:10px;align-items:center;padding:10px;color:var(--ink);background:#ffffffe6;border-radius:8px}.button-row,.rail-actions{min-width:0;max-width:100%;display:flex;align-items:center;gap:8px}.command-button,.icon-button{min-height:40px;border-radius:7px;font-weight:800}.command-button{min-width:78px;padding:0 14px;color:var(--ink);background:#e8e2d2}.command-button.primary{color:#fff;background:var(--accent)}.command-button.autoplay{color:#14382a;background:#bae6fd}.command-button.suggested-pass{outline:3px solid #38bdf8;box-shadow:0 0 0 6px #7dd3fc6b,0 0 18px #38bdf880}.command-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.48}.icon-button{width:40px;display:grid;place-items:center;color:var(--ink);background:#fffdf8;border:1px solid var(--border)}.icon-button.monochrome-icon{color:#000}.side-rail{min-height:0;max-height:100vh;display:grid;align-content:start;gap:14px;padding:16px;background:var(--panel);border-left:1px solid var(--border);overflow-y:auto;overscroll-behavior:contain}.toggle-row{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:900}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,170px);gap:10px;align-items:center;color:var(--ink);font-weight:900}.toggle-row input{width:18px;height:18px;accent-color:var(--blue)}.setting-row select{width:100%;min-height:40px;padding:0 10px;color:var(--ink);background:#fffdf8;border:1px solid var(--border);border-radius:7px;font:inherit;font-weight:800}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#0a141c6b}.settings-modal{width:min(460px,100%);display:grid;gap:16px;padding:16px;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 45px #17202a3d}.modal-header,.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header h2,.settings-section h3{margin:0;letter-spacing:0}.modal-header h2{font-size:1.05rem}.settings-section{display:grid;gap:10px}.settings-section h3{font-size:.88rem}.suit-order-list{display:grid;gap:8px}.suit-order-row{display:grid;grid-template-columns:36px minmax(0,1fr) 40px 40px;gap:8px;align-items:center;min-height:48px;padding:6px 8px;background:#f5f6f0;border:1px solid var(--border);border-radius:7px}.suit-order-row span{font-size:1.35rem;text-align:center}.suit-order-row strong{font-size:.9rem}.timeline{list-style:none;display:grid;gap:8px;margin:0;padding:0}.timeline li{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr) 32px;gap:8px;align-items:center;padding:9px 10px;background:#fbfbf7;border:1px solid var(--border);border-radius:7px}.timeline li.current{outline:2px solid rgba(194,120,3,.75);outline-offset:1px}.timeline li.future{border-style:dashed}.timeline li.future span,.timeline li.future strong{opacity:.58}.timeline span{color:var(--blue);font-weight:900}.timeline strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}.timeline .timeline-jump{width:32px;min-height:32px;border-radius:6px}@media(max-width:980px){.game-layout{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.side-rail{max-height:none;border-left:0;border-top:1px solid var(--border);overflow:visible}.opponent-grid{grid-template-columns:1fr}}@media(max-width:640px){.playing-card,.card-back{width:42px;height:62px}.hand{gap:4px}.move-tray{padding-inline:8px}.button-row{width:100%;gap:6px}.button-row .icon-button{flex:0 0 40px}.button-row .command-button{min-width:0;flex:1 1 0;padding:0 6px}.button-row .command-button.hint-action{font-size:.82rem}.timeline strong{white-space:normal}}
