:root{font-family:system-ui,sans-serif;color:#e8edf4;background:#141923;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:20px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}h1{font-size:1.7rem}h2{font-size:1.2rem}h3{margin-top:0}section{background:#202836;padding:16px;margin:14px 0;border:1px solid #485469;border-radius:8px;min-width:0}form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:12px}label{display:grid;gap:6px;flex:1 1 150px}input,select,button{font:inherit;color:inherit;background:#111925;border:1px solid #738298;border-radius:4px;padding:10px;min-height:44px;max-width:100%}input,select{width:100%;min-width:0}button{cursor:pointer;background:#254e82}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid #9ecbff;outline-offset:3px}summary{cursor:pointer;padding:8px 0}.error{padding:12px;border:1px solid #e49c89;background:#4c2828;overflow-wrap:anywhere}.entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.table{margin:0}.own{border:2px solid #90c3ff}.seats{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.seats li{border:1px solid #58667a;padding:10px;display:grid;gap:6px;overflow-wrap:anywhere}.seats button{justify-self:start}small{font-size:.85rem}i{display:inline-block;width:12px;height:12px;border:1px solid #cad4df;margin-right:5px}.identifier{overflow-wrap:anywhere}@media (max-width: 700px){main{padding:12px}.tables,.entry-actions{grid-template-columns:1fr}section{padding:12px}}fieldset{border:0;margin:0;padding:0;min-width:0;width:100%}.settings-form{display:block}.settings-form button{margin-top:12px}.settings-grid,.settings-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-summary div{min-width:0;overflow-wrap:anywhere}dt{font-size:.85rem;color:#bdc9d9}dd{margin:4px 0 0}.own-actions{display:flex;flex-wrap:wrap;gap:12px}.own-actions p{flex-basis:100%;margin:0 0 12px}.own>.seats{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.checkbox{display:flex;flex:1 1 200px;align-items:center}.checkbox input{width:20px;min-height:20px}.seats details label{margin:10px 0}@media (max-width: 700px){.settings-grid,.settings-summary,.own>.seats{grid-template-columns:1fr}}.game-view{padding:14px}.game-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.game-heading h2{margin:0 auto 0 0}.game-heading .reconnect{font-size:.85rem}.game-turn{margin:8px 0}.game-players{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.game-player{padding:7px;border:1px solid #65738b;border-radius:4px;min-width:0;display:grid;gap:3px;font-size:.8rem;overflow-wrap:anywhere}.game-player strong{font-size:.85rem}.game-player i{width:10px;height:10px}.active-player{border-color:#ffe49c;background:#34465c}.game-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:16px;align-items:start;margin-top:10px}.board-wrap{width:min(100%,max(300px,calc(100vh - 400px)));margin:auto}.game-board{width:100%;height:auto;display:block}.board-selectable{cursor:pointer}.game-controls{min-width:0}.hand-zone h3{font-size:1rem;margin:0 0 8px}.game-hand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.game-hand button{padding:8px 3px;min-height:48px}.own-hand{margin-top:6px}.own-hand .game-hand{grid-template-columns:repeat(6,minmax(0,1fr))}.own-hand button:disabled{opacity:1;background:#273a51;overflow-wrap:anywhere}.game-hand button[aria-pressed=true]{background:#416b96;border:2px solid #ffe49c}.action-panel{margin-top:12px}.action-panel p{margin:8px 0}.choice-options,.source-options,.selection-nav,.choice-pages{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.choice-options{max-height:270px;overflow-y:auto;padding:3px}.choice-options button{width:100%;text-align:left;font-size:.9rem}.source-options button{flex:1 1 auto;font-size:.9rem}.selection-nav button,.choice-pages button{flex:1 1 100px}.confirm-action{width:100%;background:#326642}.game-extra{margin-top:14px}.mobile-reconnect{display:none}.pending-command{padding:10px;border:1px solid #e3c88c;margin:8px 0}.game-guest{margin:6px 0;padding:4px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.game-guest h2{font-size:.9rem;margin:4px 0}.game-guest details{font-size:.85rem}@media (max-width: 700px){.game-page{padding:6px}.game-page>header h1{font-size:1rem;margin:4px 0}.game-page>header{font-size:.8rem}.game-guest{display:none}.game-view{padding:6px;margin:6px 0}.game-heading h2{font-size:.9rem}.game-heading{font-size:.8rem;gap:5px}.game-heading .reconnect{min-height:36px;padding:5px}.game-heading.has-game .reconnect{display:none}.mobile-reconnect{display:block}.game-turn{font-size:.8rem}.game-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.game-player{padding:4px;font-size:.7rem;gap:1px}.game-player strong{font-size:.73rem}.game-layout{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:6px}.board-wrap{width:100%;margin:auto}.game-hand{grid-template-columns:repeat(6,minmax(0,1fr))}.game-hand button{font-size:.76rem;min-height:44px;overflow-wrap:anywhere}.own-hand .game-hand button{min-height:32px;padding:4px 3px}.game-controls.has-own-hand .choice-options{max-height:80px}.game-controls.has-own-hand.has-turn-timeout .choice-options,.game-controls.has-own-hand.has-turn-timeout .source-options.seven-sources{max-height:64px}.hand-zone h3{font-size:.8rem;margin-bottom:5px}.action-panel{margin-top:6px;font-size:.85rem}.action-panel h3{font-size:.9rem;margin:6px 0}.choice-options{max-height:112px}.source-options{display:none}.source-options.seven-sources{display:flex;max-height:112px;overflow-y:auto}.choice-options button,.source-options button{font-size:.8rem;padding:6px}.selection-nav button{min-height:44px;padding:6px}}.last-card{margin:5px 0 8px;font-size:.85rem;overflow-wrap:anywhere}.game-screen{display:contents}@media (min-width: 1100px){.game-page{max-width:1840px}.game-screen{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}.game-screen>.game-view{min-width:0}.game-history{min-width:0;margin:14px 0;position:sticky;top:14px;padding:10px;background:#17202c;border:1px solid #58667a;border-radius:6px}.game-history h3{margin:0;font-size:1rem}.game-history p{margin:5px 0}.history-caption{font-size:.75rem;color:#bdc9d9}.history-scroll{max-height:max(220px,calc(100vh - 130px));overflow-y:auto;overscroll-behavior:contain}.history-scroll>ol{margin:0;padding:0;list-style:none}.history-scroll>ol>li{padding:9px 3px;border-bottom:1px solid #43516a;font-size:.8rem;overflow-wrap:anywhere}.history-action{line-height:1.45}.history-tac{color:#ffe49c}.history-seven{padding-left:22px}.history-older{width:100%;margin-top:10px}}.card-counts{margin-top:16px;padding-top:10px;border-top:1px solid #58667a;font-size:.85rem}.card-counts h3{margin:0;font-size:1rem}.card-counts p{margin:6px 0}.card-count-note{color:#bdc9d9;font-size:.75rem}.card-count-group h4{margin:10px 0 5px;font-size:.8rem;color:#bdc9d9}.card-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}.card-count-grid>div{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;padding:7px;border:1px solid #58667a;border-radius:4px;background:#17202c}.card-count-grid dt{min-width:0;font-size:.85rem;color:inherit;overflow-wrap:anywhere}.card-count-grid dt small{display:block;font-size:.75rem;color:#bdc9d9}.card-count-grid dd{margin:0;font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.cards-exhausted{color:#aeb9c9}.match-card{display:flex;flex-direction:column;gap:10px}.match-card-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.match-card-heading h3{margin:0;overflow-wrap:anywhere}.match-phase{margin:0;font-size:.85rem;color:#c6d2e1}.match-timeout{margin:0;padding:8px;border:1px solid #d5b875;border-radius:4px;font-size:.85rem}.match-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.match-team{min-width:0;border:1px solid #65738b;border-radius:6px;background:#17202c;padding:8px}.match-team-heading{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #485469}.match-team-heading h4{margin:0;font-size:.9rem}.match-team-heading>span{font-size:.75rem}.match-member{padding-top:10px}.match-member+.match-member{margin-top:10px;border-top:1px solid #35445a}.match-member-name{display:flex;align-items:baseline;gap:4px;font-size:.85rem}.match-member-color{width:12px;height:12px;border:1px solid #e8edf4;border-radius:50%;flex-shrink:0}.match-member-name strong{min-width:0;overflow-wrap:anywhere}.match-bot{flex-shrink:0;color:#bdc9d9}.match-home{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px}.match-marbles{display:flex;gap:5px;padding:1px}.match-marble{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:2px solid var(--marble-color);border-radius:50%;box-shadow:0 0 0 1px #c6d2e1;font-size:10px;color:#e8edf4}.match-marble.home{background:var(--marble-color)}.match-home-count{font-size:.8rem;font-variant-numeric:tabular-nums}.match-acting{display:inline-block;margin-top:6px;padding:2px 6px;background:#34465c;color:#ffe49c;border-radius:3px;font-size:.7rem}.match-chips{display:flex;flex-wrap:wrap;gap:5px}.match-chip{border:1px solid #58667a;border-radius:12px;padding:3px 8px;font-size:.75rem}.match-card-details{font-size:.8rem}.match-card-details p{margin:6px 0}.match-card>button{align-self:start}.board-player-name{color:#edf4ff;font-size:26px;line-height:32px;text-align:center}.board-player-name span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence{display:inline-flex;width:13px;height:13px;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #c6d2e1;border-radius:50%;vertical-align:baseline;font:700 11px/1 system-ui,sans-serif;color:#141923}.presence-online{background:#82e5a3}.presence-offline{background:#d3a3a3}.presence-unknown{background:#c2c9d3}.mobile-logout{display:none}@media (max-width: 700px){.mobile-logout{display:inline-block}}@media (min-width: 701px){.card-count-group:not(:first-of-type) .card-count-grid{display:flex;flex-wrap:wrap}.card-count-group:not(:first-of-type) .card-count-grid>div{flex:1 0 auto}}
