*{box-sizing:border-box}:root{color:#eef4ef;font-synthesis:none;--gold:#e4c781;--muted:#a7bdb2;background:#081713;font-family:Inter,Segoe UI,system-ui,sans-serif}body{background:radial-gradient(at 50% 15%,#1d4536,#081713 75%);min-height:100vh;margin:0}button,summary,.card{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:#eef4ef;background:#203e33;border:1px solid #ffffff26;border-radius:10px;min-height:44px;padding:10px 16px;transition:background .18s,transform .18s}button:hover:not(:disabled){background:#315645}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}header{justify-content:space-between;align-items:center;gap:20px;max-width:1240px;margin:auto;padding:28px 28px 20px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{color:var(--gold);border:1px solid #e4c78150;border-radius:14px;padding:8px 15px;font-size:32px}h1{color:#f6e9c9;margin:3px 0;font:600 30px Georgia,serif}.eyebrow{color:var(--gold);letter-spacing:2px;margin:0 0 6px;font-size:10px;font-weight:700}.header-right,#scoreboard{align-items:center;gap:8px;display:flex}.score-chip{white-space:nowrap;background:#ffffff05;border:1px solid #ffffff14;border-radius:9px;padding:9px 11px;font-size:12px}.score-chip.me{color:var(--gold);border-color:#e4c78155}#btn-mute{padding:8px 12px}main{background:radial-gradient(at top,#24533f,#112d23 80%);border:1px solid #c4ad7140;border-radius:24px;max-width:1184px;margin:0 auto 40px;padding:24px;box-shadow:0 24px 80px #0005,inset 0 0 0 5px #ffffff03}.rules-help{color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.7}.rules-help summary{cursor:pointer;color:#e4d3aa;width:fit-content;min-height:28px}.rules-help p{max-width:850px}#status-bar{color:#d0dfd6;align-items:center;gap:14px;margin-bottom:20px;font-size:13px;display:flex}#round-label{color:var(--gold);white-space:nowrap;border:1px solid #e4c78150;border-radius:7px;padding:7px 12px;font-weight:700}#opponents{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.opponent{background:#061b1560;border:1px solid #ffffff12;border-radius:15px;min-width:0;padding:16px}.opponent h3{align-items:center;gap:6px;margin:0 0 12px;font-size:14px;display:flex}.avatar{background:#ffffff0c;border:1px solid #ffffff18;border-radius:50%;padding:5px}.seat-score{color:var(--gold);margin-left:auto;font-size:12px}.opponent-status{color:var(--muted);margin:0 0 10px;font-size:10px}.opponent-hand-name{color:var(--gold);flex-basis:100%;padding:2px 0 4px 20px;font-size:10px}.revealed .opp-row{flex-wrap:wrap}.opp-rows{gap:5px;display:grid}.opp-row{align-items:center;gap:4px;display:flex}.opp-label{width:16px;color:var(--muted);font-size:10px}#player-area{background:#0b201ac9;border:1px solid #ffffff1a;border-radius:18px;padding:24px}.workspace-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}h2{margin:0;font:500 26px Georgia,serif}.progress-chip{color:var(--gold);white-space:nowrap;font-size:12px}progress{appearance:none;background:#ffffff13;border:0;border-radius:4px;width:100%;height:3px;margin:18px 0 12px;display:block}progress::-webkit-progress-bar{background:#ffffff13}progress::-webkit-progress-value{background:var(--gold);transition:width .2s}progress::-moz-progress-bar{background:var(--gold)}.interaction-hint{color:var(--muted);min-height:20px;margin:12px 0 22px;font-size:13px}.rows{gap:12px;margin-bottom:22px;display:grid}.row-wrap{align-items:center;gap:16px;min-width:0;display:flex}.row-label{flex-shrink:0;width:112px;font-size:14px;font-weight:600}.row-label small{color:var(--muted);margin:4px 0 6px;font-size:11px;font-weight:400;display:block}.row-label b{color:var(--gold);font-size:11px;font-weight:500}.row{background:#00000020;border:1px solid #ffffff12;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.row-eval{color:#c8dcce;font-size:12px}.card,.empty-slot{border-radius:7px;flex:0 0 58px;width:58px;height:82px}.card{color:#1b2926;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#fffef8,#e8e8de);border:1px solid #fff9;flex-direction:column;justify-content:space-between;padding:5px 6px;font-size:16px;font-weight:750;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 3px 5px #0004}.card[role=button]{cursor:pointer}.card.red{color:#ae3343}.corner-bottom{align-self:flex-end;transform:rotate(180deg)}.card .pip{opacity:.65;pointer-events:none;font-size:27px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card.selected{outline:3px solid var(--gold);transform:translateY(-5px);box-shadow:0 7px 16px #0006}.empty-slot{color:var(--gold);background:#ffffff03;border:1px dashed #ffffff28;padding:0;font-size:22px}.empty-slot:disabled{opacity:1;color:#ffffff24}.empty-slot:not(:disabled){border-color:var(--gold);background:#e4c7810a}.card.small{border-radius:4px;flex-basis:35px;width:35px;height:49px;padding:3px;font-size:11px}.card.small .pip{opacity:.35;font-size:17px}.card.back-face{background:repeating-linear-gradient(45deg,#345b4b 0 3px,#294739 3px 6px);border:2px solid #789180;box-shadow:inset 0 0 0 2px #163627}.row.tray{flex-wrap:wrap;flex:1;min-height:103px}.tray-empty{color:var(--muted);padding:12px;font-size:12px}.droppable-hint{border-color:var(--gold);background:#e4c78112}#foul-warning{color:#ffbcac;background:#843e322b;border:1px solid #ed9b8560;border-radius:10px;margin-bottom:18px;padding:12px 16px;font-size:13px}#controls{border-top:1px solid #ffffff13;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:18px;display:flex}#controls button{font-size:12px}#btn-submit,#btn-next{background:var(--gold);color:#202b23;margin-left:auto;font-weight:750}#btn-submit:hover:not(:disabled),#btn-next:hover{background:#f5dba0}#btn-reset{color:var(--muted);background:0 0}#results{background:#091d17;border:1px solid #e4c78135;border-radius:16px;margin-top:24px;padding:24px;animation:.3s appear;overflow-x:auto}#results h2{margin-bottom:16px}#results table{border-collapse:collapse;width:100%;font-size:13px}#results th,#results td{text-align:center;white-space:nowrap;border-bottom:1px solid #ffffff12;padding:13px 10px}#results thead{color:var(--muted)}#results tbody tr:first-child{background:#e4c78109}.pos{color:#93dfb0}.neg,.foul-tag{color:#ffa99d}@keyframes appear{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes flip{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.flip-in{animation:.3s backwards flip}@media (hover:hover){.card[role=button]:hover{transform:translateY(-4px)}}@media (width<=1000px){header{flex-wrap:wrap}main{margin:0 16px 24px}.row-eval{flex:1}.header-right{flex-wrap:wrap}}@media (width<=700px){header{gap:16px;padding:20px 16px}.header-right{justify-content:space-between;width:100%}#scoreboard{flex-wrap:wrap;gap:4px}.score-chip{padding:6px;font-size:11px}main{border-radius:16px;margin:0 8px 20px;padding:12px}#status-bar{align-items:flex-start;font-size:12px}#opponents{gap:6px}.opponent{border-radius:9px;padding:9px 6px}.opponent h3{flex-wrap:wrap;gap:3px;font-size:12px}.opponent .avatar{display:none}.opp-row{gap:2px}.opp-label{width:8px;font-size:8px}.card.small{flex-basis:clamp(12px,3.5vw,24px);width:clamp(12px,3.5vw,24px);height:34px;padding:1px;font-size:8px}.card.small .pip{display:none}#player-area{padding:14px 10px}h2{font-size:22px}.row-wrap{flex-wrap:wrap;gap:8px}.row-label{align-items:center;gap:10px;width:100%;display:flex}.row-label small{margin:0}.row-label b{margin-left:auto}.row-eval{flex-basis:100%}.row{gap:5px;padding:7px}.card,.empty-slot{flex-basis:clamp(39px,11vw,58px);width:clamp(39px,11vw,58px);height:72px;font-size:14px}.row.tray{min-height:90px}#controls{gap:7px}#controls button{flex:40%}#btn-submit,#btn-next{order:5;margin:0;flex-basis:100%!important}#btn-reset{flex-basis:100%!important}#opponents.revealed{grid-template-columns:1fr}.revealed .card.small{flex-basis:38px;width:38px;height:54px;padding:3px;font-size:12px}.revealed .opp-label{width:16px;font-size:10px}.revealed .opponent-hand-name{flex:1;padding-left:6px}#results{padding:16px 10px}#results th,#results td{padding:10px 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.mode-picker,.online-shell{max-width:760px}.mode-picker>h2,.online-shell>h2{margin-bottom:12px}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.mode-card{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-height:150px;padding:24px;display:flex}.mode-card strong{color:var(--gold);margin-bottom:10px;font:500 24px Georgia,serif}.mode-card span{color:var(--muted);line-height:1.6}.field-label{color:var(--muted);gap:8px;max-width:360px;margin:24px 0;font-size:13px;display:grid}input{color:#eef4ef;min-height:44px;font:inherit;text-transform:none;background:#071b15;border:1px solid #ffffff26;border-radius:10px;padding:10px 13px}.online-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.online-actions span{color:var(--muted);font-size:12px}.online-actions input{text-transform:uppercase;letter-spacing:2px;width:150px}.split-create{align-items:stretch;display:inline-flex}.split-create button{border-radius:0}.split-create .split-gear{border-right:0;border-radius:10px 0 0 10px;padding-inline:13px}.split-create .split-main{background:var(--gold);color:#202b23;border-radius:0 10px 10px 0;font-weight:750}.split-create .split-main:hover:not(:disabled){background:#f5dba0}.settings-panel{background:#091d17;border:1px solid #e4c78135;border-radius:14px;margin:16px 0 22px;padding:18px}.settings-panel>small{color:var(--muted);margin-top:10px;display:block}.create-settings{max-width:560px}.timing-fields{gap:12px;display:grid}.timing-fields>label{justify-content:space-between;align-items:center;gap:20px;display:flex}.timing-fields label>span:first-child{gap:3px;display:grid}.timing-fields label small,.timing-fields>p{color:var(--muted);font-size:11px;font-weight:400}.timing-fields>p{margin:2px 0 0}.seconds-input{align-items:center;gap:7px;display:flex}.seconds-input input{text-align:right;width:88px}.room-settings-summary{width:fit-content;color:var(--muted);background:#ffffff08;border-radius:8px;margin:-8px 0 14px;padding:7px 10px;font-size:12px}.lobby-settings-toggle{color:var(--muted);background:0 0;margin-bottom:4px}.match-history{border-top:1px solid #ffffff13;margin-top:30px;padding-top:22px}.match-history article{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.match-history article div{gap:4px;display:grid}.match-history article small{color:var(--muted)}.match-history article>span{font-size:18px;font-weight:700}.match-history-item{flex-wrap:wrap}.match-history-item>.history-players,.match-history-item>.history-rounds{flex-basis:100%}.history-players{color:var(--muted);flex-wrap:wrap;font-size:13px;gap:8px 16px!important;display:flex!important}.history-rounds{gap:8px!important;display:grid!important}.history-round{background:#ffffff05;border:1px solid #ffffff13;border-radius:10px;padding:10px 12px}.history-round summary{cursor:pointer;justify-content:space-between;gap:12px;font-weight:700;display:flex}.history-round summary span{color:var(--muted);font-size:12px;font-weight:400}.history-round-body{padding-top:12px}.history-score-list{gap:6px;display:grid}.history-score-list>div{grid-template-columns:1fr auto auto;align-items:center;gap:12px;display:grid}.history-score-list small,.history-matrix-label{color:var(--muted);font-size:12px}.history-matrix-label{margin:12px 0 6px}.history-matrix{overflow-x:auto}.history-matrix>div{display:flex}.history-matrix span{text-align:center;border:1px solid #ffffff0d;min-width:42px;padding:4px;font-size:12px}@media (width<=600px){.history-round summary{gap:4px;display:grid}.history-round summary span{font-size:11px}}.lobby-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.lobby-copy-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.lobby-seats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0;display:grid}.lobby-seat{text-align:center;background:#061b1560;border:1px solid #ffffff16;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:140px;padding:18px 12px;display:flex}.lobby-seat.ready{background:#1d513733;border-color:#93dfb077}.lobby-seat small{color:var(--muted)}.lobby-avatar{font-size:28px}.connection-error{color:#ffbcac;background:#843e322b;border:1px solid #ed9b8560;border-radius:10px;max-width:760px;margin:0 auto 16px;padding:12px 16px}.account-control{color:#dce9df;align-items:center;gap:10px;font-size:14px;display:flex}.account-control span,.online-account{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.account-control span{background:#ffffff0c;border:1px solid #e4c78155;border-radius:9px;padding:8px 11px}.online-account{color:#dce9df;border:1px solid #e4c78145;border-radius:9px;padding:8px 11px;font-size:13px}.online-sign-in{margin:4px 0 16px}.modal-backdrop{z-index:20;background:#020a07ba;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{background:#0a2119;border:1px solid #e4c78160;border-radius:16px;width:min(100%,430px);padding:28px;position:relative;box-shadow:0 24px 80px #000b}.auth-modal h2{margin:5px 0 8px}.auth-modal .field-label{max-width:none;margin:18px 0 12px}.auth-modal .field-label input{width:100%}.modal-close{color:var(--muted);background:0 0;padding:5px 10px;font-size:22px;position:absolute;top:10px;right:10px}.google-sign-in{width:100%;margin-top:14px}.auth-divider{color:var(--muted);align-items:center;gap:10px;margin:18px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid #ffffff1c;flex:1}.auth-message{color:var(--muted);margin-top:12px;display:block}.round-timer{min-width:58px;color:var(--gold);text-align:center;font-variant-numeric:tabular-nums;border:1px solid #e4c78150;border-radius:7px;margin-left:auto;padding:7px 10px}.round-timer.urgent{color:#ffbcac;background:#843e322b;border-color:#ed9b8580}@media (width<=700px){.mode-grid{grid-template-columns:1fr}.lobby-seats{grid-template-columns:repeat(2,minmax(0,1fr))}.online-actions>*{flex:100%}.split-create{width:100%}.split-create .split-main{flex:1}.timing-fields>label{align-items:flex-end}}
