:root{color-scheme:dark;--bg:#0b1414;--panel:#122020;--line:#2b403b;--text:#f2f0e8;--muted:#a3b8af;--gold:#ead08e}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#193830,var(--bg) 65%);color:var(--text);font-family:Tahoma,Arial,sans-serif;min-height:100vh}header{max-width:1000px;margin:auto;padding:25px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}header a{color:var(--gold);text-decoration:none;font-weight:bold}#connection{font-size:12px;color:var(--muted)}main{max-width:820px;margin:35px auto;padding:0 20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px}#lobby{max-width:470px;margin:50px auto}.eyebrow{color:var(--gold);font-size:12px;display:block;margin-bottom:12px}h1{font-size:32px;margin:15px 0}p{line-height:1.9;color:var(--muted)}label{display:block;font-size:13px;margin:18px 0 9px}input{width:100%;border:1px solid #456056;border-radius:10px;background:#0b1815;padding:13px;color:white;font:inherit}input:focus{outline:2px solid var(--gold)}button{border:1px solid #496055;border-radius:10px;background:#243a32;padding:12px 18px;color:var(--text);font:inherit;cursor:pointer;min-height:44px}button:hover:not(:disabled){filter:brightness(1.15)}button:disabled{opacity:.4;cursor:default}.primary{background:var(--gold);color:#1d271e;border-color:var(--gold);font-weight:bold}#lobby button{width:100%;margin-top:16px}.divider{text-align:center;color:var(--muted);font-size:12px;margin-top:26px}.roomtop{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}#roomcode{font-family:monospace;font-size:16px;display:block}.inline{display:flex;gap:10px;flex-wrap:wrap}.seat{display:flex;justify-content:center;align-items:center;gap:20px;min-height:110px;padding:15px}.seatinfo{min-width:120px}.seatinfo b{display:block;margin:7px 0}.seatinfo small{color:var(--muted);font-size:12px}.seat.active{background:#ead08e0c;border-radius:16px}.cards{display:flex;justify-content:center;gap:7px;direction:ltr}.card{display:flex;align-items:center;justify-content:center;width:52px;height:73px;background:#f4f0e5;color:#152825;border-radius:7px;font:bold 21px Georgia,serif;box-shadow:0 3px 8px #0004}.card.red{color:#bd3b3b}.card.back{background:repeating-linear-gradient(45deg,#214d43,#214d43 5px,#1b4138 5px,#1b4138 10px);border:2px solid #81a292;color:#b7cbbd}.card.empty{background:#ffffff08;border:1px dashed #739b8260;box-shadow:none}.table{background:radial-gradient(ellipse,#245a45,#13392d);border:6px solid #42644b;border-radius:90px;min-height:270px;padding:23px 30px;text-align:center;box-shadow:0 15px 40px #0004,inset 0 0 30px #0002}.tableheading{display:flex;justify-content:space-between;color:#b7d0bd;font-size:12px}.pot{font-size:14px;color:#c1d2bd;margin:17px}.pot strong{color:var(--gold);font-size:24px;margin-right:8px}#result{color:var(--gold);margin:14px 0 0}#turn{margin:4px 0;font-size:13px}.controls{max-width:580px;margin:10px auto;padding:18px}.controls .inline button{flex:1}.danger{color:#ffaaa0}.raise{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:15px}.raise label{width:100%;margin:0}.raise input{width:130px;flex:1}small#limits{display:block;color:var(--muted);margin-top:10px}#waiting{margin:4px;text-align:center;font-size:13px}details{max-width:580px;margin:24px auto;color:var(--muted);font-size:13px}li{padding:5px}footer{text-align:center;color:#7f9a8b;font-size:11px;line-height:2;margin:30px auto;max-width:580px}#notice{text-align:center;color:#f2d286;min-height:24px}[hidden]{display:none!important}@media(max-width:520px){main{padding:0 12px;margin-top:20px}.roomtop{align-items:start;flex-direction:column}.table{padding:20px 12px;border-radius:45px;min-height:250px}.card{width:43px;height:63px;font-size:19px}.seat{gap:12px}.seatinfo{min-width:105px}header{padding:20px 14px}.panel{padding:20px}.raise button{padding:10px}#lobby{margin-top:20px}}
/* Mobile-first refinements */
body{background:radial-gradient(ellipse at top,#1e4134,#0b1915 65%)}header{padding:14px 18px}main{margin:18px auto;padding:0 14px}h1{font-size:27px;line-height:1.9}#lobby{margin:22px auto}.welcome-suits{text-align:center;direction:ltr;letter-spacing:14px;font:30px Georgia;color:#e8d59d}.welcome-suits span{color:#d68b79}#lobby p{text-align:center}.hint{display:block;color:var(--muted);line-height:1.9;margin-top:16px;text-align:center}select{width:100%;padding:13px 10px;background:#0b1815;border:1px solid #456056;border-radius:10px;color:white;font:inherit;min-height:48px}button{touch-action:manipulation;min-height:48px;font-size:15px}input{font-size:16px}#roomtitle{font-size:17px}.roomtop{margin-bottom:5px;flex-direction:row;align-items:center}.roomtop button{font-size:12px;padding:8px 12px;min-height:42px}.seat{padding:12px 4px;min-height:96px}.seatinfo b{font-size:14px}.seatinfo{min-width:100px}.seatinfo small{font-size:11px}.card{width:58px;height:82px;font-size:25px;border-radius:9px}#me .card{width:74px;height:102px;font-size:32px;border:1px solid #d4ccae}#opponent .card{width:45px;height:63px;font-size:21px}.table{min-height:225px;padding:15px 12px;border-width:4px;border-radius:55px}.tableheading{font-size:11px}.pot{margin:10px}.pot strong{font-size:26px}.cards{gap:6px}#result{font-size:13px}#turn{font-size:13px}.controls{margin:4px auto 15px;padding:13px;position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:3;box-shadow:0 5px 24px #0007}.controls .inline button{font-size:17px;min-height:54px}.raise{gap:6px;margin-top:10px}.raise label{font-size:12px}.raise input{width:85px;min-width:70px;padding:10px}.raise button{font-size:13px;padding:10px}.controls #start{width:100%}small#limits{font-size:11px}.clock-track{height:3px;width:65%;background:#ffffff15;border-radius:4px;margin:9px auto 0;overflow:hidden}#clock-fill{height:100%;background:var(--gold);transform-origin:right;transition:transform 1s linear}.request-row{display:flex;align-items:center;gap:8px;padding:8px 0}.request-row b{flex:1;overflow-wrap:anywhere}.request-row button{font-size:13px;padding:8px}h2{font-size:17px}#requests-box{margin:12px 0;padding:14px;border-color:var(--gold)}.media-box{padding:16px;margin:14px auto;max-width:580px}.media-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.media-heading span{font-size:11px;color:var(--gold);line-height:1.8}.media-buttons{display:flex;flex-wrap:wrap;gap:8px}.media-buttons button{flex:1;font-size:13px;padding:10px;white-space:nowrap}.media-box small{display:block;color:var(--muted);font-size:10px;line-height:1.9;margin-top:12px}#videos{display:flex;gap:8px;margin-top:10px}video{width:48%;max-height:170px;border-radius:12px;background:#09100e;object-fit:cover}#local-video{transform:scaleX(-1)}#remote-video:only-child{width:100%}#hear{width:100%;margin-top:10px}footer{font-size:10px;margin-top:22px}#notice{font-size:13px}details{margin:18px auto}@media(max-width:380px){main{padding:0 8px}.board .card{width:51px;height:74px;font-size:23px}.cards{gap:4px}.seat{gap:12px}.roomtop button{padding:8px}.controls .inline button{font-size:16px}#me .card{width:69px;height:96px}.table{border-radius:43px}}@media(min-width:700px){#me .card{width:84px;height:114px}.board .card{width:65px;height:91px}.table{min-height:255px}.controls{position:static}.roomtop{margin-top:20px}}


#admin-panel{max-width:580px;margin:12px auto;font-size:13px;padding:16px;border-color:#8c7948}#admin-panel>summary{color:var(--gold);font-size:17px;font-weight:bold;cursor:pointer;min-height:32px}#admin-panel fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;margin:18px 0;min-width:0}#admin-panel legend{color:var(--gold);padding:0 6px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}#admin-panel small{display:block;font-size:11px;color:var(--muted);line-height:1.8;margin-top:10px}#admin-panel button{margin-top:10px;font-size:13px;padding:10px}#admin-panel input{min-width:0}#admin-panel .check{display:flex;align-items:center;gap:12px}#admin-panel .check input{width:22px;height:22px}.admin-player{border-bottom:1px solid var(--line);padding:12px 0}.admin-player button{margin-left:6px}#audit-log{max-height:180px;overflow:auto;padding-right:20px}#close-table{width:100%}fieldset:disabled{opacity:.55}
#room:has(#admin-panel[open]) .controls{position:static;box-shadow:none}
