:root{color-scheme:dark;--bg:#102522;--ink:#f7efda;--muted:#c0c8b8;--gold:#efbc72;--rose:#edaaa0;--edge:#466057;--panel:#18312c}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#24483e,transparent 65%),var(--bg);color:var(--ink);font:17px/1.55 system-ui,sans-serif}a{color:var(--gold);text-underline-offset:4px}button,select,input{font:inherit}button,.button{display:inline-block;background:var(--gold);color:#222b23;border:1px solid transparent;border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:650;min-height:44px;text-decoration:none}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled),.button:hover{filter:brightness(1.08)}select{background:#122823;color:var(--ink);padding:9px;border:1px solid var(--edge);border-radius:8px;min-height:44px}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #f9d888;outline-offset:4px}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;accent-color:var(--gold)}.wrap{width:min(1240px,calc(100% - 36px));margin:auto}nav{display:flex;flex-wrap:wrap;gap:12px 24px;padding:24px 0;font-size:.9rem}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(2.2rem,5vw,4rem);margin:12px 0}h2{font-size:2rem;margin:12px 0}h3{font-size:1.4rem}em{color:var(--gold);font-weight:400}.eyebrow,small{font-size:.72rem;letter-spacing:.13em;font-weight:700;color:var(--gold)}.lede{font-size:1.25rem;max-width:660px;color:var(--muted)}.entrance{padding-bottom:60px}.entrance h1{font-size:clamp(3.5rem,10vw,7rem)}.doors{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:38px 0}.door{display:block;padding:30px;border:1px solid #5d7765;background:linear-gradient(145deg,#2b4f42,#1a302b);border-radius:22px;text-decoration:none;color:var(--ink);box-shadow:0 12px 40px #0002}.door p{color:var(--muted)}.door strong{color:var(--gold)}.suit-art{display:block;font-family:Georgia,serif;font-size:5rem;letter-spacing:.14em;padding:8px 0 32px;color:var(--gold);text-shadow:0 0 45px #efbc7244}.suit-art i{font-style:normal;color:var(--rose)}.panel{background:var(--panel);border:1px solid var(--edge);padding:20px;border-radius:16px;margin:16px 0}.panel p:last-child{margin-bottom:0}.muted{font-size:.84rem;color:var(--muted)}.room-head{display:flex;align-items:center;justify-content:space-between}.room-head p{margin:6px 0 20px}.lantern{font-size:5rem;color:var(--gold);text-shadow:0 0 30px #efbc72aa}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.toolbar label{font-size:.87rem}.toolbar button:not(#deal){background:transparent;border-color:var(--edge);color:var(--ink)}.play-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:22px;align-items:start}.felt{border:9px solid #66513a;border-radius:45px;background:radial-gradient(ellipse,#286a4c,#173e32);box-shadow:inset 0 0 45px #071c23aa,0 8px 30px #0003;padding:20px;min-height:470px;position:relative}.seats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.seat{padding:10px 8px;border:1px solid #678e6e;border-radius:13px;background:#153a30;text-align:center;min-width:0}.seat.turn{border-color:var(--gold);box-shadow:0 0 0 2px #efbc7250}.seat.folded{opacity:.5}.seat strong{font-size:1rem}.seat small{display:block;color:#d0daca;letter-spacing:0;font-size:.72rem}.seat p{margin:4px 0}.seat .cards{gap:3px}.seat .card{width:31px;height:43px;font-size:.88rem}.seat .back{background:repeating-linear-gradient(45deg,#a76f46,#a76f46 3px,#c58b5a 3px,#c58b5a 6px);border:2px solid #efd5ae;color:transparent}.cards{display:flex;justify-content:center;gap:8px}.card{display:flex;align-items:center;justify-content:center;background:#fcf4df;color:#182c27;width:53px;height:74px;border-radius:6px;box-shadow:0 3px 0 #0003;font:700 1.55rem Georgia,serif}.card.red{color:#a63a39}.card.empty{background:#204d3b;border:1px dashed #8ba586;color:transparent;box-shadow:none}.board-wrap{text-align:center;padding:14px 0 6px}.board-wrap .eyebrow{margin:4px}.pot{font-size:1.3rem;color:#ffdfa9;margin:10px 0}.hero-pocket{text-align:center}.hero-pocket>p{font-size:.68rem;letter-spacing:.2em;margin:5px 0;color:#e6d2a9}.status{min-height:30px;color:#ffdda6}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button{flex:1 0 auto}.actions button:first-child:not(:only-child){background:#d6dfc8}.hint{padding-left:14px;border-left:3px solid var(--gold);color:var(--muted)}summary{cursor:pointer;font-weight:650;padding:3px 0;min-height:34px}details[open]>summary{margin-bottom:12px}.range-label{display:block;font-size:.85rem;margin-top:16px}.range-label output{float:right;color:var(--gold)}input[type=range]{width:100%;accent-color:var(--gold);min-height:35px}.equity{font:2.4rem Georgia,serif;color:var(--gold);margin:6px 0}.equity small{font: .85rem system-ui;color:var(--muted)}.meter{height:8px;background:#0c211d;border-radius:10px;overflow:hidden}.meter>span{display:block;height:100%;background:var(--gold)}.trace{font-size:.78rem;padding-left:22px;color:var(--muted)}.rank-list{display:flex;flex-wrap:wrap;gap:4px;margin:14px 0}.rank-chip{display:flex;flex-direction:column;align-items:center;background:#254d40;border:1px solid #4f7763;padding:5px;width:36px;border-radius:6px}.rank-chip b{color:var(--gold)}.rank-chip small{font-size:.65rem;color:var(--muted);letter-spacing:0}.buckets{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.bucket{text-align:center;background:#102822;border-radius:8px;padding:8px 0;font-size:.75rem}.bucket b{display:block;font-size:1rem;color:var(--gold)}.lab{display:grid;grid-template-columns:1fr 1.2fr;gap:26px}.lab canvas{width:100%;height:auto;background:#102822;border-radius:12px}.notebook-row{padding:8px 0;border-bottom:1px solid var(--edge);font-size:.9rem}.guide{max-width:850px}.guide section{margin:32px 0}.guide table{border-collapse:collapse;width:100%;font-size:.9rem}.guide th,.guide td{border-bottom:1px solid var(--edge);padding:10px 6px;text-align:left}.guide code{overflow-wrap:anywhere;color:var(--gold)}.guide .formula{font:1.25rem Georgia;color:var(--gold);background:#15332a;padding:18px;border-radius:12px}.guide nav{position:relative}.guide .callout{border-left:4px solid var(--gold);padding:5px 20px;background:#1c382f}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}footer{text-align:center;font-size:.8rem;color:var(--muted);padding:30px 16px}#hand-log{max-height:300px;overflow:auto;padding-left:24px;font-size:.9rem}[hidden]{display:none!important}@media(max-width:950px){.play-layout{grid-template-columns:1fr}.play-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.felt{min-height:420px}.lab{grid-template-columns:1fr 1fr}}@media(max-width:600px){body{font-size:16px}.wrap{width:calc(100% - 24px)}.doors,.lab,.lab-grid,.play-layout aside{grid-template-columns:1fr}.room-head h1{font-size:2.3rem}.lantern{display:none}.felt{padding:12px 8px;border-width:6px;border-radius:25px;min-height:435px}.seats{gap:6px}.seat{padding:7px 3px}.seat strong{font-size:.85rem}.seat small{font-size:.63rem}.card{width:45px;height:64px;font-size:1.4rem}.cards{gap:6px}.panel{padding:16px}.toolbar{gap:8px}.toolbar label{font-size:.8rem}.seat .card{width:25px;height:34px;font-size:.8rem}.suit-art{font-size:4rem}.guide table{font-size:.8rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root .zone-badge{border-left:3px solid var(--gold);padding:9px 12px;background:#244a38;border-radius:5px;font-size:.87rem}.zone-badge.unlikely{background:#44352f;border-color:var(--rose)}@media print{body{background:white;color:#111;font-size:11pt}.guide{width:100%;max-width:none}.panel,.callout,.formula{background:#f5f3ee!important;color:#111!important;border-color:#bbb!important}.guide nav,footer,button{display:none}.guide a,em,.eyebrow{color:#333}section{break-inside:avoid}table{font-size:9pt!important}h1{font-size:36pt!important}}
.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;font-size:.84rem}.table-scroll td,.table-scroll th{padding:10px;border-bottom:1px solid var(--edge);text-align:left}.peek-button{min-height:30px!important;font-size:.7rem!important;padding:3px 10px!important;background:#dfc398!important;margin-top:5px}.seat-hud{margin-top:5px;color:#e7d9b8!important}.table-options{padding:10px 18px}.table-options summary{font-size:.9rem}.compare-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--edge);padding:7px 0;font-size:.82rem}.compare-row span{color:var(--gold)}.file-label{display:block;font-size:.85rem}.file-label input{display:block;max-width:100%;margin-top:8px;font-size:.8rem}.table-buttons button{font-size:.88rem}.doors.three{grid-template-columns:repeat(3,1fr)}@media(max-width:850px){.doors.three{grid-template-columns:1fr}}@media(max-width:600px){.seat-hud{font-size:.55rem!important}.peek-button{font-size:.64rem!important}.compare-row{font-size:.77rem}#zone-results,#match-results{overflow-x:auto}}

/* the Daily Deal */
body[data-daily] #table-size,body[data-daily] #new-match,body[data-daily] #top-up,body[data-daily] .table-options{display:none}
body[data-daily] #daily-head{display:block}
.daily-head{border-color:var(--gold);margin:0 0 10px}
.daily{border-color:var(--gold);box-shadow:0 0 0 1px #efbc7244,0 14px 40px rgba(0,0,0,.35)}
.daily h2{margin:6px 0 4px;font-size:30px}
.daily-decisions{margin:10px 0;padding-left:18px}
.daily-decisions li{margin:4px 0}
.daily-decisions li.same{color:#8fe3a2}.daily-decisions li.close{color:var(--gold)}.daily-decisions li.off{color:var(--rose)}
.daily-share{width:100%;margin-top:8px;background:#102522;color:var(--ink);border:1px solid var(--edge);border-radius:10px;padding:8px;font:inherit}
.button-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--edge);border-radius:999px;color:var(--ink);text-decoration:none}
.daily-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;padding:14px 18px;border:1px solid var(--gold);border-radius:16px;background:linear-gradient(120deg,#1d3a34,#18312c);color:var(--ink);text-decoration:none}
.daily-banner strong{font-size:20px;color:var(--gold)}
.daily-banner span:last-child{flex:1 1 320px;color:var(--muted)}
.daily-badge{padding:3px 8px;border-radius:999px;background:var(--gold);color:#102522;font:700 11px ui-monospace,Menlo,monospace;letter-spacing:.08em}
