:root{color-scheme:dark;--ink:#eef2df;--dim:#bac8bf;--gold:#efc783;--line:#ffffff24;--bg:#101e23;--felt:#195547}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 30%,#253e3e,var(--bg) 75%);color:var(--ink);font:15px/1.5 system-ui,sans-serif;min-height:100svh}button,input,select{font:inherit}button,select,.file-button{color:inherit;background:#20363b;border:1px solid var(--line);border-radius:10px;padding:10px 15px;min-height:44px}button,.file-button,summary{cursor:pointer}button:hover{background:#2e4a4c}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:var(--gold)}[hidden]{display:none!important}.room{max-width:1120px;margin:auto;padding:0 24px}.header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;color:var(--ink);font:26px Georgia,serif}.brand>span:first-child{color:var(--gold);font-size:36px}.brand small{display:block;font:10px system-ui;letter-spacing:2px;color:var(--dim);margin-top:3px}.brand b{color:var(--gold);font-weight:400}.header-actions{display:flex;align-items:center;gap:20px}#saved{font-size:12px;color:var(--dim)}.tablebar{display:flex;align-items:center;gap:15px;font-size:13px;color:var(--dim)}.tablebar label{display:flex;align-items:center;gap:10px}.tablebar select{padding:6px 10px;min-height:36px}.tablebar #pause{margin-left:auto;min-height:36px;padding:5px 15px}.table{position:relative;height:clamp(360px,calc(100svh - 425px),590px);margin:14px 0 5px;isolation:isolate}.felt{position:absolute;inset:8% 6% 9%;border-radius:48%;border:11px solid #4d3e32;box-shadow:0 0 0 2px #846b4c,0 8px 0 #182426,0 24px 45px #0005,inset 0 0 65px #06291c;background:radial-gradient(ellipse,#286553,#124637)}.felt:after{content:'';position:absolute;inset:18px;border:1px solid #d9d6a91c;border-radius:48%}.felt>span{position:absolute;left:50%;top:68%;transform:translate(-50%,-50%);font-size:10px;letter-spacing:5px;color:#d9dac32b;text-align:center}.felt b{display:block;font-size:27px;line-height:1.1;letter-spacing:0}.seat{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:132px;text-align:center;z-index:2}.seat .identity{border:1px solid #637b6b;background:linear-gradient(#203d38,#142b29);border-radius:12px;padding:6px 4px;box-shadow:0 5px 12px #0005;position:relative;transition:border-color .2s,box-shadow .2s}.seat.turn .identity{border-color:var(--gold);box-shadow:0 0 0 2px #efc78366,0 5px 12px #0005}.seat.winner .identity{background:#36553b;border-color:#ead38a}.seat.folded{opacity:.53}.seat strong,.seat .stack{display:block;line-height:1.35}.seat strong{font-size:13px}.seat .stack{font-size:13px;color:var(--gold);font-variant-numeric:tabular-nums}.avatar{display:inline-block;color:var(--gold);font-size:12px;margin-right:5px}.dealer{position:absolute;right:-8px;top:-8px;background:#f5eed9;color:#173c34;border-radius:50%;width:22px;height:22px;font-size:12px;line-height:22px;font-weight:800}.seat .cards{margin:0 auto -2px}.cards{display:flex;justify-content:center;gap:4px}.card{width:35px;height:46px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#faf4e6;color:#1e343b;border:1px solid #d6d7c8;border-radius:5px;line-height:1;font-size:17px;font-weight:700;box-shadow:0 3px 4px #0003}.card small{font-size:15px;margin-top:3px}.card.red{color:#b42f45}.card.back{background:repeating-linear-gradient(45deg,#416762 0 3px,#2a4d49 3px 6px);color:#c7d5bb;border:2px solid #adbeb0;font-size:23px}.card.empty{background:#0b302954;border:1px solid #c6daca35;box-shadow:none}.hero{width:158px}.hero .card{width:43px;height:56px;font-size:22px}.hero .card small{font-size:19px}.seat-note{min-height:20px;font-size:11px;color:#e1e3d1;margin:3px -10px 0;white-space:nowrap}.mini-hud{font-size:10px;color:var(--dim);margin-top:2px}.community{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:64%;text-align:center;z-index:1}.community p{margin:5px 0}#hand-label{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#d1ddc7}#pot{font-weight:650;font-size:21px;color:#f5dbad}#street-note{font-size:11px;color:#c9d9c9;min-height:17px}.board{gap:7px;margin:12px auto}.board .card{width:52px;height:70px;font-size:26px}.board .card small{font-size:23px}.statusbar{display:flex;justify-content:center;align-items:center;gap:12px;min-height:44px;text-align:center}.statusbar p{margin:4px}#practice{font-size:10px;border:1px solid var(--gold);padding:2px 5px;border-radius:5px;color:var(--gold)}.controls{max-width:770px;margin:0 auto;padding:15px 22px 6px;background:#122b2dcc;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 40px #0003}.gold{background:var(--gold);color:#263631;border-color:var(--gold);font-weight:750}.gold:hover{background:#ffdc9e}.call{background:#315e55;border-color:#658e76}.action-buttons{display:grid;grid-template-columns:1fr 1.3fr 1.4fr;gap:10px}.action-buttons button{min-height:54px;font-size:16px}.bet-size{display:grid;grid-template-columns:1fr auto;gap:8px 15px;align-items:center;margin-bottom:12px}.presets{display:flex;gap:5px}.presets button{padding:4px 9px;min-height:34px;font-size:12px}.bet-size label{font-size:11px;color:var(--dim)}#bet-amount{width:85px;padding:5px 7px;border-radius:7px;border:1px solid #91a493;background:#0b2528;color:var(--ink);font-size:15px}input[type=range]{accent-color:var(--gold);width:100%;grid-column:1/-1;height:20px;margin:0}input[type=checkbox]{accent-color:var(--gold);width:17px;height:17px;vertical-align:middle;margin-right:5px}#price-note{font-size:12px;margin:7px 0 0;text-align:center;color:var(--dim);min-height:18px}#waiting{text-align:center;min-height:89px}#welcome{color:var(--dim);font-size:13px;margin:0 0 10px}#waiting button{margin:2px}#preselect{display:block;font-size:13px;padding:6px}.toolstrip{display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid var(--line);margin-top:11px;padding-top:5px}.toolstrip button{border:0;background:transparent;padding:7px 10px;font-size:13px}.toolstrip label{font-size:12px;color:var(--dim);white-space:nowrap}.notice{font-size:13px;text-align:center;color:var(--gold);min-height:0;margin:8px 0}footer{text-align:center;padding:9px;font-size:11px;color:#b4c1b0}.skip{position:absolute;transform:translateY(-150%);z-index:20;background:#122b2d;padding:10px}.skip:focus{transform:none}dialog{background:#142b2f;color:var(--ink);border:1px solid #789182;border-radius:20px;max-width:560px;width:calc(100% - 26px);max-height:90svh;padding:22px;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#05181bc7;backdrop-filter:blur(4px)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-head h2{font:28px Georgia,serif;margin:0;color:var(--gold)}.panel-head button{white-space:nowrap}.panel-caption,.muted{color:var(--dim);font-size:13px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-grid label{font-size:13px}.settings-grid select{display:block;width:100%;margin-top:5px;padding:7px}.setting{display:flex;align-items:center;gap:5px;min-height:46px;border-bottom:1px solid var(--line)}.row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;opacity:0;inset:0;width:100%;cursor:pointer}details{padding:12px 0;border-bottom:1px solid var(--line)}summary{color:var(--gold);font-weight:600;min-height:30px}details p{font-size:13px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:7px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--gold)}.metric{font:38px Georgia,serif;color:var(--gold);margin:10px 0}.metric small{font:13px system-ui;display:block;color:var(--dim)}.rank-row{display:flex;flex-wrap:wrap;gap:5px}.rank-row span{background:#25463f;padding:5px 8px;border-radius:6px;font-size:12px}.rank-row small{display:block;color:var(--dim)}#distribution{width:100%;height:auto}#history summary{font-size:13px}#history p{font-size:12px;margin:4px 0}#brain ol{padding-left:20px;font-size:12px}#coach>h3{margin-bottom:3px}.action-values{display:grid;grid-template-columns:1fr auto;gap:4px 15px;font-size:13px}#coach .muted{line-height:1.5}
@media(max-width:650px){.room{padding:0 10px}.header{padding:12px 3px}.brand{font-size:21px;gap:8px}.brand>span:first-child{font-size:28px}.brand small{font-size:8px;letter-spacing:1.3px}#saved{display:none}.header-actions button{padding:7px 11px}.tablebar{gap:6px;font-size:10px}.tablebar label{font-size:0;gap:0}.tablebar select{font-size:12px;max-width:147px}.tablebar #pause{padding:5px 9px;font-size:12px}.table{height:clamp(330px,calc(100svh - 395px),505px);margin-top:8px}.felt{inset:9% 6% 9%;border-width:7px;border-radius:46%}.felt:after{inset:10px;border-radius:46%}.seat{width:83px}.seat .identity{padding:4px 2px;border-radius:9px}.seat strong{font-size:11px}.seat .stack{font-size:11px}.seat .card{width:27px;height:34px;font-size:14px}.seat .card small{font-size:12px;margin-top:2px}.seat-note{font-size:9px;margin-top:2px;min-height:15px}.dealer{width:17px;height:17px;line-height:17px;right:-4px;top:-7px;font-size:10px}.avatar{font-size:9px;margin-right:3px}.hero{width:112px}.hero .card{width:33px;height:43px;font-size:19px}.hero .card small{font-size:16px}.mini-hud{font-size:8px}.community{width:65%;top:47%}.board{gap:4px;margin:8px 0}.board .card{width:34px;height:47px;font-size:19px}.board .card small{font-size:17px}#hand-label{font-size:9px;letter-spacing:0}#pot{font-size:17px}#street-note{font-size:9px}#practice{font-size:9px}.statusbar{font-size:12px;min-height:35px;gap:5px}.controls{padding:10px 11px 2px;border-radius:14px}.bet-size{gap:5px}.presets{gap:4px}.presets button{font-size:10px;padding:3px 6px;min-height:32px}.bet-size label{font-size:10px}#bet-amount{width:66px;font-size:13px}.action-buttons{gap:6px}.action-buttons button{font-size:13px;min-height:47px;padding:8px 5px}#price-note{font-size:10px;margin-top:4px}.toolstrip{gap:0;margin-top:7px}.toolstrip button{font-size:11px;padding:6px}.toolstrip label{font-size:10px}.toolstrip input{width:14px;height:14px;margin-right:2px}footer{font-size:10px;padding:6px}dialog{padding:16px}.panel-head h2{font-size:24px}.settings-grid{gap:10px}#welcome{font-size:12px}#waiting{min-height:85px}.notice{font-size:12px}}
@media(max-width:360px){.seat{width:74px}.hero{width:100px}.board .card{width:30px;height:43px}.tablebar>span{font-size:9px}.brand small{display:none}.presets button{padding:3px 4px}.bet-size label{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
