:root{--bg:#071511;--panel:#10271e;--felt:#15523e;--gold:#e1bc71;--cream:#f9f3e6;--muted:#a7c0b2;--red:#cf424a}*{box-sizing:border-box}body{background:var(--bg);color:var(--cream);margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 4%;background:#091913;border-bottom:1px solid #284d3b;gap:16px}.brand{display:flex;align-items:center;gap:13px}.emblem{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--gold);border-radius:11px;color:var(--gold);font-size:28px}.brand h1{font-size:25px;letter-spacing:2px;margin:0;line-height:1.2}.subtitle,.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700}.subtitle{color:#9eaf9f}.sep{padding:0 5px;color:var(--gold)}.topright,.roomBtns{display:flex;gap:9px;flex-wrap:wrap;align-items:center}main{max-width:1440px;margin:auto;padding:24px 24px 50px}button,.pill{border:1px solid #688a76;border-radius:9px;background:#17392b;color:#f5e8ce;font-size:13px;font-weight:700;padding:11px 15px}.primary{background:var(--gold);color:#12241b;border-color:var(--gold)}.primary:hover:not(:disabled){background:#f2d38c}.secondary:hover:not(:disabled){border-color:var(--gold);background:#23513b}.danger{color:#f8beb4;border-color:#905c52}.full{width:100%;margin-top:13px}.tag{border:1px solid #345e47;background:#112b22;color:#cbdccf;padding:8px 13px;border-radius:30px;font-size:12px}.intro{text-align:center;max-width:740px;margin:25px auto 35px}.intro h2{font-size:clamp(28px,5vw,52px);font-weight:500;line-height:1.12;margin:12px 0}.intro em{color:var(--gold)}.intro p{color:var(--muted);line-height:1.7}.lobgrid,.undergrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{border:1px solid #365343;background:linear-gradient(130deg,#123024,#0c2119);border-radius:15px;padding:23px}.panel h3{font-family:Georgia,serif;color:#e9c57d;font-size:23px;font-weight:500}.panel label{display:block;color:#d3e0d3;font-size:13px;margin:15px 0}.panel label:not(.check) input,.panel select,.dialog input,.dialog select,.dialog textarea{margin-top:6px;background:#08251b;border:1px solid #4a7259;border-radius:8px;padding:11px;color:#fff;width:100%;outline-color:var(--gold)}.panel input[type=checkbox],.dialog input[type=checkbox]{accent-color:var(--gold);width:18px;height:18px}.check{display:flex!important;align-items:center;gap:9px;cursor:pointer}.fieldgrid,.toggles{display:grid;grid-template-columns:1fr 1fr;column-gap:15px}.toggles .check{margin:8px 0}.small,.fineprint{font-size:13px;color:var(--muted);line-height:1.55}.fineprint{margin-top:22px;text-align:center}.fineprint a{color:var(--gold)}.divider{height:1px;background:#3e6248;margin:24px 0}.roomlist{min-height:95px}.roomitem{display:flex;align-items:center;justify-content:space-between;margin:8px 0;border:1px solid #2f553f;border-radius:10px;padding:10px;gap:7px}.roomitem b{display:block}.roomitem small{color:var(--muted)}.roomtop{display:flex;justify-content:space-between;gap:13px;align-items:center;padding:15px 24px}.roomtop h2{font-size:24px;margin:6px 0}.roomtop p{margin:0;color:var(--muted);font-size:12px}.pill{font-family:system-ui;font-size:10px;letter-spacing:1px;padding:5px 8px}.scorebar{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;background:linear-gradient(115deg,#17382b,#153b30,#31271c);border:1px solid #6d704d;border-radius:13px;margin:12px 0;padding:15px 22px}.scorebar small{display:block;color:#d4b974;font-size:10px;letter-spacing:1px}.scorebar strong{font-size:32px;line-height:1.15}.scorebar div div{font-size:11px;color:#a6cdb4}.scoreRight{text-align:right}.goal{text-align:center}.goal strong{display:block;font-size:15px}.table{height:clamp(390px,44vw,610px);border:3px solid #89673d;border-radius:35px;position:relative;background:radial-gradient(ellipse at center,#1c5945,#104331 60%,#09241c);box-shadow:inset 0 0 0 9px #1b432f,inset 0 0 0 11px #baa166,0 8px 30px #0008;margin-top:12px;overflow:hidden}.innerborder{position:absolute;inset:26px;border:1px solid #bba66e55;border-radius:49%;pointer-events:none}.feltword{position:absolute;top:41%;width:100%;text-align:center;letter-spacing:10px;color:#c3aa5f4e;font-size:36px;font-family:Georgia,serif}.seat{position:absolute;z-index:3;padding:9px;background:#0a221bcf;border-radius:12px;border:1px solid #55715b;text-align:center;min-width:126px;font-size:12px}.seat b{display:block;overflow:hidden;text-overflow:ellipsis;max-width:140px}.seat small{display:block;color:#b8bbac;font-size:10px}.seat span{color:#e8cd83;font-weight:bold}.seat.south{bottom:44px;left:50%;transform:translateX(-50%)}.seat.north{top:24px;left:50%;transform:translateX(-50%)}.seat.west{left:20px;top:43%;transform:translateY(-50%)}.seat.east{right:20px;top:43%;transform:translateY(-50%)}.seat.turn{box-shadow:0 0 0 3px #e1bc7188;border-color:var(--gold)}.seat.you{background:#244e3d}.trickcard{position:absolute;z-index:4;transform:translate(-50%,-50%)}.trickcard.south{top:67%;left:50%}.trickcard.north{top:33%;left:50%}.trickcard.west{top:50%;left:39%}.trickcard.east{top:50%;left:61%}.tablemsg{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);font-size:12px;background:#0a251be8;padding:6px 12px;border-radius:10px;white-space:nowrap;max-width:97%;overflow:hidden;text-overflow:ellipsis;z-index:5}.handpanel{border:1px solid #325946;border-radius:15px;background:#10271f;padding:11px 17px 18px;margin-top:9px}.actionsline{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.cards{min-height:137px;padding:15px 4px 5px;display:flex;justify-content:center;align-items:flex-end;overflow-x:auto;overflow-y:hidden}.cardbtn{width:75px;height:110px;flex:0 0 auto;border:0;background:transparent;padding:0;margin-right:-22px;position:relative;box-shadow:none}.cardbtn:last-child{margin-right:0}.cardbtn:hover:not(:disabled){transform:translateY(-12px);z-index:10}.cardbtn:disabled{opacity:.64}.pcard{display:block;border:1px solid #bdb9ae;background:linear-gradient(135deg,#fffefa,#eee9de);width:75px;height:110px;border-radius:8px;position:relative;color:#202122;box-shadow:0 3px 10px #0008}.pcard.red{color:#be2d43}.pcard.joker{background:linear-gradient(125deg,#fef6d7,#ead19d);color:#75521f}.pcard .rank{position:absolute;left:7px;top:5px;font-size:17px;line-height:1.02;text-align:center;font-family:Georgia,serif;font-weight:bold}.pcard .rank small{display:block}.pcard .mark{position:absolute;top:35%;left:0;right:0;text-align:center;font-size:40px;font-family:Georgia,serif}.pcard .foot{position:absolute;bottom:7px;right:6px;font-size:12px}.backcard{width:55px;height:79px;background:repeating-linear-gradient(45deg,#7a3634 0 5px,#e4d0a5 5px 7px,#7a3634 7px 12px);border:3px solid #eedaa4;border-radius:7px;margin-right:-32px}.choices{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:9px 0}.choices button{min-width:46px}.prompt{font-size:13px;color:var(--gold);font-weight:700;text-align:center;margin:14px}.history{font-size:12px;line-height:1.6;max-height:180px;overflow:auto;color:var(--muted)}.history p{border-bottom:1px solid #39533f;padding-bottom:6px;margin-bottom:6px}.styles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.styles label{margin:0!important;font-size:11px}.styles select{font-size:11px;margin:4px 0!important;padding:7px!important}.undergrid{margin-top:14px}.modalbg{position:fixed;inset:0;background:#000c;display:grid;place-items:center;padding:18px;z-index:100}.dialog{background:#112b21;border:1px solid #aa8958;border-radius:19px;padding:25px;width:min(540px,100%);box-shadow:0 15px 55px #000;max-height:90vh;overflow:auto}.modalhead{display:flex;justify-content:space-between;align-items:center}.dialog h2{font-size:29px;margin:9px 0}.dialog p{font-size:13px;color:#c9d7c9;line-height:1.6}.dialog input,.dialog select,.dialog textarea{font-size:14px}.dialog label{font-size:13px;display:block;margin:12px 0}.dialog textarea{resize:vertical;min-height:110px}.modalbuttons{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:17px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#142f23;border:1px solid #d2b570;border-radius:8px;color:#fff;padding:12px 16px;box-shadow:0 5px 20px #0007;display:none;z-index:200;max-width:95vw;text-align:center}#toast.show{display:block}[hidden]{display:none!important}@media(max-width:760px){main{padding:10px}.topbar{padding:10px}.brand h1{font-size:20px}.topright .tag{display:none}.lobgrid,.undergrid{grid-template-columns:1fr}.intro{margin:16px auto 22px}.panel{padding:17px}.table{height:420px;border-radius:24px}.seat{min-width:91px;padding:7px 3px}.seat b{max-width:95px;font-size:11px}.seat small{font-size:9px}.seat.west{left:6px}.seat.east{right:6px}.trickcard.west{left:33%}.trickcard.east{left:67%}.pcard{width:57px;height:83px}.pcard .rank{font-size:13px}.pcard .rank small{font-size:11px}.pcard .mark{font-size:30px}.cardbtn{width:57px;height:83px;margin-right:-15px}.scorebar{padding:11px}.scorebar strong{font-size:27px}.styles{grid-template-columns:1fr 1fr}.roomtop{display:block}.roomBtns{margin-top:10px}.brand .subtitle{font-size:8px}.handpanel{padding:8px}}

/* Keep every card readable, including at phone widths. */
.cards{justify-content:safe center;gap:8px}.cardbtn,.cardbtn:last-child{margin-right:0}.styles small{display:block;color:var(--muted);line-height:1.4}

/* Original v7-style complete House Rules editor. */
.dialog.rulesdialog{width:min(1040px,96vw);max-height:93vh;padding:clamp(16px,3vw,30px);background:linear-gradient(155deg,#152f25,#0c2018)}
.rulesdialog .modalhead{border-bottom:1px solid #526548;padding-bottom:9px}
.rulesdialog h2{font-family:Georgia,serif;font-size:clamp(29px,4vw,44px);font-weight:500}
.rulesSubtitle{color:#aabbb0;font-size:14px;line-height:1.65}
.ruleHeading{color:#e5c27e;letter-spacing:2px;font-size:13px;text-transform:uppercase;margin:27px 0 13px}
.ruleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ruleField{background:#0d211a;border:1px solid #395548;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:9px;min-height:116px}
.ruleField .ruleTitle{font-weight:750;font-size:14px;color:#f4f3e8}
.ruleField input:not([type=checkbox]),.ruleField select{font-size:17px;margin:0;background:#213c31;padding:13px 15px}
.ruleField small{color:#9fb9aa;line-height:1.55;font-size:12px}
.ruleField.toggle{position:relative;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:18px}
.ruleField.toggle input{width:22px;height:22px;accent-color:#dfb96e;flex-shrink:0}
.ruleField.toggle small{display:block;margin-top:9px}
.rulesdialog .modalbuttons{position:sticky;bottom:-30px;background:#11261d;padding:18px 0 8px;border-top:1px solid #486448;z-index:2}
.customizer{font-size:16px;padding:17px;font-family:Georgia,serif}
.rulePreview{background:#091d16;border:1px solid #3d5646;padding:14px;margin-top:15px;border-radius:11px}
.rulePreview strong{color:#e5c27e}.rulePreview p{font-size:13px;margin:9px 0;line-height:1.6}.rulePreview small{color:#9cb4a5}
.miniDecks{display:flex;align-items:center;justify-content:space-around;gap:15px;margin:20px 0}
.miniStack{display:flex;flex-direction:column;gap:8px;align-items:center;color:#e0c687;text-align:center;font-size:11px;letter-spacing:1px}
.deckBack{height:115px;width:81px;background:repeating-linear-gradient(45deg,#893c42 0 8px,#f2dbac 8px 10px,#893c42 10px 18px);border:7px double #f0e0b2;outline:3px solid #3c5746;box-shadow:9px 11px 0 #062014,0 12px 20px #0007;border-radius:10px;transition:transform .25s}
.deckBack.riffling{animation:riffle .4s ease-in-out}
@keyframes riffle{0%,100%{transform:translateX(0) rotate(0)}40%{transform:translateX(26px) rotate(8deg)}70%{transform:translateX(-10px) rotate(-5deg)}}
.shuffleCount{text-align:center;color:#e4c07f;font-size:15px;font-weight:700}
.cutRange{width:100%;accent-color:#e2bc73}
@media(max-width:650px){.ruleGrid{grid-template-columns:1fr}.rulesdialog .modalbuttons{bottom:-16px}.dialog.rulesdialog{width:100%;max-height:97vh}.ruleField{min-height:unset}.rulesdialog h2{font-size:30px}}

/* Community features */
.presence{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 19px;margin:18px 0 24px;border:1px solid #82a78c55;border-radius:16px;background:#0d2a2299;color:#e6f8dc;font-size:13px}
.presence span:last-child{margin-left:auto;color:#b8cdc4;font-size:12px}.presenceDot{height:9px;width:9px;flex:0 0 auto;border-radius:50%;background:#b9f576;box-shadow:0 0 12px #b9f576}
.roomButtons{display:flex;gap:5px;flex-wrap:wrap}.roomButtons button{padding:7px 10px}
.profileStats{border:1px solid #d0d8ad44;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:8px;background:#152b25}
.profileStats strong{font-size:20px}.profileStats small{font-size:12px;color:#afc0b7}.profileStats div{font-weight:800;color:#eacc91}
.leaderlist>div{padding:11px 4px;border-bottom:1px solid #ffffff20;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.leaderlist span{font-size:12px;color:#b4c8bc}
.topright{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:560px){.presence span:last-child{margin-left:0}.topright{gap:4px}.topright button{font-size:11px;padding:8px}}

