:root{color-scheme:dark;--bg:#121b22;--panel:#1a262e;--line:#2e3b43;--cream:#f0e7d5;--muted:#9aa9ae;--gold:#d2ad73;--red:#d16b60;--green:#8cbaa1;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cream);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 30% 35%,#23343a,transparent 65%)}main{max-width:1330px;margin:auto;padding:35px 35px 22px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}.brand{font-size:10px;font-weight:650;letter-spacing:2px;text-decoration:none;color:var(--cream)}.brand span{color:var(--muted);font-weight:400}h1{font-family:Georgia,serif;font-size:65px;font-weight:400;line-height:1;letter-spacing:-2.5px;margin:20px 0 11px}h1 span{color:var(--gold)}.tagline{color:var(--muted);font-size:14px;margin:0}.edition{text-align:right;font-size:11px;letter-spacing:2px;color:var(--gold)}.edition small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted);margin-top:12px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:start}.game-column{min-width:0}.table-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:9px;letter-spacing:1.2px;color:var(--muted);padding:5px 7px}.table-heading>div{display:flex;gap:8px;align-items:center}.stakes{white-space:nowrap}.stakes b{color:var(--cream);font-size:10px;font-weight:500;margin-left:5px}.dot{display:inline-block;width:6px;height:6px;background:var(--muted);border-radius:50%}.dot.online{background:var(--green)}.dot.offline{background:var(--red)}.arena{height:540px;position:relative;margin:6px 0 20px;isolation:isolate}.felt{position:absolute;inset:60px 12px;border-radius:44%;background:radial-gradient(ellipse at 50% 35%,#27765d,#18533f 60%,#113d30);border:15px solid #614b39;box-shadow:inset 0 0 0 3px #ccac7633,inset 0 12px 24px #001f1688,0 14px 45px #0005,0 0 0 2px #382d25,0 0 0 3px #8b6b4e88}.felt:before{content:"";position:absolute;inset:15px;border:1px solid #d6d0a521;border-radius:45%}.felt-mark{position:absolute;left:0;right:0;top:65%;text-align:center;color:#e1d9ba20;letter-spacing:4px;font-family:Georgia,serif;font-size:17px}.felt-mark span{display:block;font-size:7px;font-family:system-ui;letter-spacing:2.4px;margin-top:8px}.community{position:absolute;left:50%;top:38%;transform:translateX(-50%);width:65%;text-align:center}.pot{display:inline-flex;align-items:center;gap:12px;background:#0c3029bb;border:1px solid #b5c4ab2b;padding:7px 15px;border-radius:30px;margin-bottom:14px}.pot span{font-size:8px;letter-spacing:1.5px;color:#afc6b8}.pot strong{font-size:19px;font-weight:600;color:#f1dfad;font-variant-numeric:tabular-nums}.cards{display:flex;justify-content:center;gap:7px;min-height:78px}.card{width:53px;height:77px;flex-shrink:0;background:linear-gradient(130deg,#fffdf2,#ede5d5);color:#202b32;border:1px solid #ffffff33;border-radius:5px;box-shadow:0 4px 8px #0004;display:flex;flex-direction:column;position:relative;justify-content:center;align-items:center;animation:deal-in .25s ease-out}.card.red{color:#b34c40}.card .corner{position:absolute;top:3px;left:5px;font-family:Georgia,serif;font-size:15px;font-weight:700;line-height:1}.card .corner small{display:block;font-size:12px}.card .suit{font-size:34px;line-height:1}.card .bottom{position:absolute;right:4px;bottom:3px;transform:rotate(180deg);font-size:10px}.card.back{background:repeating-linear-gradient(45deg,#273d48 0,#273d48 3px,#314b56 3px,#314b56 4px);border:3px solid #c6b17f;color:#d2bb89}.card.back .suit{font-size:24px}.card.empty{background:#0d362e55;box-shadow:none;border:1px dashed #a8b6a755;animation:none}.card.empty .suit{font-size:22px;color:#a1b7a944}#street{font-size:8px;letter-spacing:1.6px;color:#b5c9ba;margin-top:12px}.seat{position:absolute;width:125px;transform:translate(-50%,-50%);text-align:center}.pos0{left:50%;top:91%}.pos1{left:13%;top:73%}.pos2{left:13%;top:26%}.pos3{left:50%;top:10%}.pos4{left:87%;top:26%}.pos5{left:87%;top:73%}.seat .cards{gap:3px;min-height:48px;margin-bottom:5px}.seat .card{width:34px;height:48px;border-radius:3px}.seat .card .suit{font-size:22px}.seat .card .corner{font-size:10px;top:2px;left:3px}.seat .card .corner small{font-size:8px}.seat .card .bottom{font-size:7px}.seat .card.back{border-width:2px}.seat-info{position:relative;border:1px solid #43514f;background:linear-gradient(135deg,#27343b,#1b282f);border-radius:5px;padding:8px 7px;box-shadow:0 3px 8px #0003}.seat-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-weight:600}.seat-stack{display:block;font-variant-numeric:tabular-nums;font-size:14px;color:var(--gold);margin-top:2px;letter-spacing:.2px}.seat-status{font-size:8px;color:var(--muted);display:block;margin-top:4px;min-height:10px}.seat.current .seat-info{border-color:#e9c786;box-shadow:0 0 0 2px #d2ad7322,0 4px 20px #0004}.seat.current .seat-status{color:#e9c786}.seat.you .seat-name{color:#f8e7bd}.seat.folded .cards{opacity:.32}.seat.folded .seat-info{opacity:.65}.seat.open .seat-info{background:#142b2a80;border:1px dashed #63786966;box-shadow:none;color:#a3b4aa}.seat.open .seat-name{font-weight:400;font-size:10px}.seat .dealer{position:absolute;right:-10px;top:-10px;background:#eee4cc;color:#282d29;border-radius:50%;width:22px;height:22px;font-size:10px;display:grid;place-items:center;box-shadow:0 2px 4px #0005}.seat .bet{position:absolute;right:-7px;bottom:-9px;font-size:9px;font-weight:650;background:#cba867;color:#253630;padding:3px 7px;border-radius:15px;border:1px solid #f6dda055}.action-panel{border:1px solid var(--line);border-top:2px solid var(--gold);background:linear-gradient(135deg,#1d2b33,#18232b);border-radius:6px;padding:20px 22px;min-height:118px}.action-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.action-heading h2{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.1;letter-spacing:-.3px;margin:0 0 7px}.action-heading p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}#clock{font-size:20px;color:var(--gold);border:1px solid #d2ad7344;border-radius:50%;min-width:43px;height:43px;display:grid;place-items:center;font-variant-numeric:tabular-nums}#clock.urgent{color:#f3927c;border-color:#f3927c}.action-row{display:flex;gap:9px;margin-top:18px}.action-row button{flex:1}.raise-row{display:flex;gap:10px;align-items:center;margin-top:12px}.raise-row label{font-size:11px;color:var(--muted);white-space:nowrap}.raise-row input{width:105px}.raise-row button{flex:1}#raise-slider{padding:0;height:20px;margin:6px 0 0;width:100%;accent-color:var(--gold);background:none;border:0}#deal{margin-top:16px;max-width:330px}#refill{margin-top:15px}.table-caption{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1.5px;color:var(--muted);margin:18px 5px}.table-caption span:first-child{color:var(--gold);font-size:11px;letter-spacing:5px}.panel{border:1px solid var(--line);background:linear-gradient(135deg,#1b2931,#18232b);padding:21px;border-radius:6px}aside{display:flex;flex-direction:column;gap:16px}.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:600}.panel h2{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.2;letter-spacing:-.4px;margin:20px 0 12px}.muted{font-size:11px;line-height:1.7;color:var(--muted)}label{font-size:11px;color:var(--muted);display:block;margin:16px 0 8px}input{border:1px solid #3d4c54;background:#121e25;padding:11px 10px;border-radius:4px;width:100%;min-width:0;color:var(--cream);font:inherit;font-size:12px}button{font:inherit;font-size:12px;border:1px solid #50616a;border-radius:4px;background:#2c3c46;padding:11px 14px;color:var(--cream);cursor:pointer;transition:background .15s}button:hover{background:#3a505b}button:disabled{opacity:.4;cursor:default}.primary{background:var(--gold);color:#202b30;border-color:var(--gold);font-weight:650;display:flex;justify-content:space-between;align-items:center}.primary:hover{background:#e1bf85}.secondary{background:#273741}.danger{background:#523831;border-color:#795044;color:#f0c4b6}#create{width:100%;margin-top:15px}#create span{font-size:16px}.divider{position:relative;text-align:center;margin:22px 0;font-size:10px;color:var(--muted)}.divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}.divider span{position:relative;background:var(--panel);padding:0 10px}.join-row{display:flex;gap:8px}#code{letter-spacing:2px;text-transform:uppercase}.room-heading{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.room-heading strong{font-size:23px;letter-spacing:4px;color:var(--gold)}.text-button{padding:7px 0;border:0;background:none;color:var(--muted);font-size:10px;text-decoration:underline;text-underline-offset:3px}.text-button:hover{background:none;color:var(--cream)}#invite{font-size:10px}#leave{margin-top:3px}#message{font-size:12px;line-height:1.6;color:var(--gold);margin:0}#message:empty{display:none}#log{list-style:none;margin:15px 0 0;padding:0;max-height:235px;overflow:auto}#log li{font-size:10px;color:var(--muted);padding:8px 0;border-bottom:1px solid #ffffff08;line-height:1.5}#log li:last-child{border:0}#log strong{font-weight:500;color:var(--cream)}.rules summary{display:flex;justify-content:space-between;font-size:12px;cursor:pointer;list-style:none}.rules summary span{color:var(--gold)}.rules summary::-webkit-details-marker{display:none}.rules ul{padding-left:16px;margin:18px 0 0}.rules li{font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:10px}#results{margin-top:16px;border-top:1px solid var(--line);padding-top:8px}#results p{font-size:11px;color:var(--muted);line-height:1.6;margin:8px 0}#results strong{color:var(--gold);font-weight:500}footer{display:flex;justify-content:space-between;gap:10px;padding-top:20px;margin-top:33px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}footer span:first-child{font-size:9px;letter-spacing:2px}[hidden]{display:none!important}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@keyframes deal-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){main{padding:28px 24px}.layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.seat{width:102px}.pos1,.pos2{left:12%}.pos4,.pos5{left:88%}.community .card{width:43px;height:65px}.community .cards{gap:5px;min-height:65px}.community .card .suit{font-size:27px}.community .card .corner{font-size:12px}.community .card .corner small{font-size:10px}.felt{border-width:11px;inset-inline:4px}.arena{height:540px}.panel{padding:18px}.edition{font-size:10px}.seat .card{width:30px;height:43px}}
@media(max-width:750px){main{padding:23px 14px 18px}header{margin-bottom:24px}h1{font-size:51px;margin-top:18px}.brand{font-size:9px}.tagline{font-size:12px}.edition{display:none}.layout{display:flex;flex-direction:column;gap:20px}.game-column,aside{width:100%}aside{order:-1}.in-room aside{order:1}.in-room .game-column{order:0}.table-heading{font-size:8px;padding-inline:0;letter-spacing:.7px}.stakes b{font-size:9px}.arena{height:520px;margin-top:10px}.seat{width:96px}.seat .cards{min-height:43px}.seat .card{width:28px;height:41px}.seat .card .suit{font-size:19px}.seat .card .corner{font-size:9px}.seat .card .corner small{font-size:7px}.seat-name{font-size:10px}.seat-stack{font-size:13px}.seat-info{padding:7px 4px}.seat-status{font-size:7px}.pos0{top:90%}.pos3{top:10%}.pos1{left:13%;top:74%}.pos2{left:13%;top:27%}.pos4{left:87%;top:27%}.pos5{left:87%;top:74%}.felt{inset:62px 3px;border-width:10px}.community{width:76%;top:39%}.community .cards{gap:4px;min-height:64px}.community .card{width:43px;height:63px}.pot{padding:6px 13px;margin-bottom:13px}.pot strong{font-size:18px}.pot span{font-size:7px}.felt-mark{top:68%;font-size:12px}.felt-mark span{font-size:6px}.action-panel{padding:17px}.action-heading h2{font-size:25px}.action-heading p{font-size:11px}.action-row{gap:7px}.action-row button{padding:11px 9px;font-size:11px}.raise-row label{font-size:10px}.table-caption{font-size:7px;letter-spacing:1px}.panel{padding:19px}footer{font-size:9px}.in-room aside .rules{order:3}}
@media(max-width:370px){.seat{width:86px}.seat-name{font-size:9px}.community .card{width:38px;height:58px}.community .cards{gap:3px}.table-heading{letter-spacing:.2px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.seat .card{animation:none}

.seat.you .card{width:40px;height:57px}.seat.you .card .corner{font-size:12px}.seat.you .card .corner small{font-size:10px}.seat.you .card .suit{font-size:27px}.seat.you .card .bottom{font-size:8px}
@media(max-width:750px){.arena{height:440px}.seat.you .card{width:36px;height:52px}.seat.you .card .corner{font-size:11px}.seat.you .card .suit{font-size:24px}}

#solo{width:100%;margin-top:15px}#create{display:flex;justify-content:space-between;align-items:center}.solo .seat.open{display:none}

/* Table lobby and game details span the page; there is no right sidebar. */
.layout{display:flex;flex-direction:column;gap:22px}.game-column{width:100%;max-width:1000px;margin:auto}aside{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:18px;order:1}#lobby,#table-lobby{grid-column:1/-1}#lobby{max-width:none}#lobby h2{margin-top:10px}#lobby>input{max-width:350px}#lobby>#solo,#lobby>#create{max-width:350px}#lobby .join-row{max-width:350px}.handle-bar{display:flex;align-items:center;gap:18px;margin-bottom:20px;color:var(--muted);font-size:12px}.handle-bar strong{color:var(--gold)}.tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.table-tile{padding:19px;border:1px solid var(--line);border-radius:6px;background:#152129}.table-tile>strong,.table-tile>.muted{display:block;margin-bottom:6px}.mini-table{height:90px;border:8px solid #69503a;border-radius:50%;background:#1b6049;display:grid;place-items:center;color:#d6b67d;font-size:22px;letter-spacing:9px;margin:18px 10px}.table-seats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:15px}.table-seats span{padding:7px;border:1px dashed #44534f;border-radius:3px;font-size:11px;color:var(--muted)}.table-seats .occupied{border-style:solid;color:var(--cream)}.table-tile>div:last-child{display:flex;align-items:center;justify-content:space-between}#save-handle{margin-left:10px}.in-room #table-lobby{display:none}@media(max-width:650px){aside{display:flex;flex-direction:column}.table-seats{grid-template-columns:1fr 1fr}.handle-bar{justify-content:space-between;gap:8px}.game-column{order:0}}

/* Persistent navigation, outside lobby and game controls. */
.hub-navigation{box-sizing:border-box;display:block;position:static;margin:12px auto 0;text-align:left}
.hub-navigation .hub-return{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:8px 14px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;font:600 12px/1.4 system-ui,sans-serif;letter-spacing:normal;text-decoration:none;white-space:nowrap}
.hub-navigation .hub-return:hover{background:rgba(128,128,128,.15)}
.hub-navigation .hub-return:focus-visible{outline:3px solid #d4ae5b;outline-offset:3px}
.hub-navigation{max-width:1330px;padding:0 35px}@media(max-width:800px){.hub-navigation{padding:0 24px}}@media(max-width:600px){.hub-navigation{padding:0 14px}}
