:root{--ink:#f3efe5;--muted:#9da7a1;--gold:#d9ac59;--gold2:#f0d28c;--green:#123f35;--felt:#0c332b;--dark:#071411;--panel:#0c1d19;--red:#d65d55}
*{box-sizing:border-box}
body{margin:0;background:var(--dark);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background-image:radial-gradient(circle at 20% 0%,#163d34 0,transparent 30%),linear-gradient(#071411,#091a16);min-height:100vh}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);border-bottom:1px solid #ffffff16;background:#08130fdd}
.brand{display:flex;align-items:center;gap:12px;letter-spacing:.08em}
.brand-mark{display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);border-radius:50%;width:42px;height:42px;font:italic 700 25px Georgia}
.brand b{font-family:Georgia;font-size:20px}
.brand small{display:block;color:var(--gold);font-size:8px;margin-top:3px}
.mode{font-size:10px;letter-spacing:.16em;color:var(--muted)}
.mode span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#68c98d;margin-right:7px;box-shadow:0 0 8px #68c98d}
.hero{max-width:1180px;margin:42px auto 26px;padding:0 22px;display:flex;align-items:end;justify-content:space-between;gap:30px}
.hero h1{font:500 clamp(38px,6vw,70px)/.95 Georgia;margin:5px 0}
.hero h1 em{color:var(--gold2);font-weight:400}
.hero>p{max-width:440px;color:#b7c0bc;line-height:1.65}
.eyebrow{font-size:10px!important;letter-spacing:.2em;color:var(--gold)!important}
.game-layout{max-width:1180px;margin:auto;padding:0 22px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:stretch}
.table-column{min-width:0;display:flex;flex-direction:column}
.table-wrap{min-width:0}
.poker-table{position:relative;aspect-ratio:1.72;background:radial-gradient(ellipse,#17604c,#0c3f33 58%,#08271f);border:13px solid #4b3426;border-radius:48%;box-shadow:inset 0 0 0 3px #c59a4b,inset 0 0 70px #0008,0 24px 60px #0008;overflow:visible}
.felt-ring{position:absolute;inset:9%;border:1px solid #dfc27b35;border-radius:48%}
.seat{position:absolute;min-width:138px;text-align:center;background:#071713f2;border:1px solid #ffffff20;border-radius:10px;padding:9px 11px;box-shadow:0 8px 18px #0007}
.seat.active{border-color:var(--gold);box-shadow:0 0 0 2px #d9ac5930,0 8px 18px #0007}
.seat.folded{opacity:.45}
.seat-top{top:-21px;left:50%;transform:translateX(-50%)}
.seat-left{left:-28px;top:40%;transform:translateY(-50%)}
.seat-right{right:-28px;top:40%;transform:translateY(-50%)}
.seat-hero{bottom:-30px;left:50%;transform:translateX(-50%);min-width:210px}
.seat-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.seat b{font-size:13px}
.seat small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.stack{color:var(--gold2);font-size:12px}
.cards{display:flex;justify-content:center;gap:5px;margin-top:7px}
.card{width:35px;height:46px;background:#f7f3e8;color:#161a18;border-radius:5px;display:grid;place-items:center;font:bold 15px Georgia;box-shadow:0 2px 4px #0005}
.card.red{color:#b83e3a}
.card.back{background:repeating-linear-gradient(45deg,#9b3030,#9b3030 4px,#792323 4px,#792323 8px);border:2px solid #e2c990;color:transparent}
.dealer{display:inline-grid;place-items:center;width:17px;height:17px;background:var(--ink);color:#111;border-radius:50%;font-size:9px;font-weight:bold;margin-left:5px}
.bet-chip{position:absolute;background:var(--gold);color:#18120a;border-radius:20px;padding:3px 7px;font-size:10px;bottom:-11px;left:50%;transform:translateX(-50%)}
.center-pot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.center-pot small{font-size:9px;letter-spacing:.14em;color:#adc0b8}
.center-pot strong{display:block;font:28px Georgia;color:var(--gold2)}
.board{display:flex;gap:5px;margin-top:10px;min-height:46px}
.status{text-align:center;margin:36px 0 10px;color:#c6d0cb;font:italic 15px Georgia}
.coach-panel{align-self:stretch;background:linear-gradient(160deg,#102720,#091713);border:1px solid #ffffff17;border-radius:14px;padding:22px;box-shadow:0 18px 50px #0005}
.coach-title{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ffffff14;padding-bottom:16px}
.coach-icon{width:42px;height:42px;display:grid;place-items:center;background:#d9ac5918;border:1px solid var(--gold);border-radius:50%;color:var(--gold)}
.coach-title small{font-size:8px;letter-spacing:.18em;color:var(--gold)}
.coach-title h2{font:24px Georgia;margin:2px 0}
.coach-empty{text-align:center;color:var(--muted);padding:38px 12px}
.coach-empty span{font-size:32px;color:var(--gold)}
.coach-result{padding:18px 0 10px}
.recommendation{display:flex;justify-content:space-between;align-items:center}
.recommendation small{font-size:9px;color:var(--muted);letter-spacing:.15em}
.recommendation strong{color:var(--gold2);font-size:18px;text-transform:uppercase}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0}
.metrics div{background:#ffffff08;padding:9px 5px;border-radius:6px;text-align:center}
.metrics span{display:block;font:bold 14px Georgia;color:var(--gold2)}
.metrics small{font-size:7px;color:var(--muted)}
.math-breakdown{margin:16px 0 18px;padding:14px;background:#06130f99;border:1px solid #d9ac5928;border-radius:9px}
.math-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.math-heading small{font-size:7px;letter-spacing:.16em;color:var(--gold)}
.math-heading h3{font:17px Georgia;margin:2px 0 0}
.math-heading>span{padding:4px 8px;border-radius:20px;font-size:10px;font-weight:800}
.math-heading>span.positive{background:#68c98d22;color:#83dfa3}
.math-heading>span.negative{background:#d65d5522;color:#ef8c82}
.comparison-track{position:relative;height:5px;margin:19px 5px 10px;border-radius:8px;background:linear-gradient(90deg,#17372e,#345348)}
.comparison-track span{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #071411}
.odds-marker{background:#f3efe5}
.equity-marker{background:var(--gold)}
.marker-key{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;margin-bottom:13px}
.marker-key i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}
.odds-dot{background:#f3efe5}
.equity-dot{background:var(--gold)}
.formula-card{padding:10px 0;border-top:1px solid #ffffff10}
.formula-card b{display:block;font-size:10px;color:#cad5d0}
.formula-card code{display:block;color:var(--gold2);font:600 13px/1.6 ui-monospace,SFMono-Regular,monospace;margin:2px 0}
.formula-card p{font:11px/1.45 Inter,ui-sans-serif,system-ui!important;color:var(--muted)!important;margin:2px 0!important}
.math-verdict{margin:8px 0 0!important;padding-top:10px;border-top:1px solid #ffffff10;font:600 11px/1.5 Inter,ui-sans-serif,system-ui!important}
.positive-text{color:#83dfa3!important}
.negative-text{color:#ef8c82!important}
.coach-result>p{font:15px/1.55 Georgia;color:#d7ded9}
.coach-button,.new-hand,.actions button{border:0;border-radius:7px;padding:12px 18px;font-weight:700;cursor:pointer}
.coach-button{width:100%;background:var(--gold);color:#171108}
.coach-button:disabled{opacity:.45;cursor:not-allowed}
.opponent-guide{margin-top:22px;border-top:1px solid #ffffff14;padding-top:15px}
.opponent-guide h3{font:16px Georgia;margin:0 0 10px}
.opponent-guide div{display:flex;justify-content:space-between;font-size:11px;padding:6px 0}
.opponent-guide span{color:var(--muted)}
.action-bar{width:100%;margin:30px 0 0;padding:18px 22px;background:#0b1c18;border:1px solid #ffffff15;border-radius:12px;display:flex;align-items:center;gap:16px;min-height:84px}
.hand-meta{min-width:120px}
.hand-meta small{display:block;color:var(--muted);font-size:9px;letter-spacing:.13em}
.hand-meta b{font:20px Georgia;text-transform:capitalize}
.actions{display:flex;gap:9px;flex:1}
.actions button{min-width:94px;background:#183a31;color:var(--ink);border:1px solid #ffffff18;text-transform:capitalize}
.actions button.primary{background:var(--gold);color:#171108}
.actions button.danger{color:#ef8c82}
.raise-control{display:flex;align-items:center;gap:8px}
.raise-control input{accent-color:var(--gold);max-width:130px}
.raise-control output{min-width:35px;color:var(--gold2)}
.new-hand{margin-left:auto;background:var(--gold);color:#171108}
.hand-log{max-width:1136px;margin:20px auto;padding:18px 22px;background:#081612;border-top:1px solid #ffffff14}
.hand-log h2{font:18px Georgia;margin:0}
.hand-log ol{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 30px;color:var(--muted);font-size:12px;padding-left:22px}
footer{text-align:center;color:#6f817a;font-size:10px;padding:32px}
.hidden{display:none!important}
@media(max-width:900px){.game-layout{grid-template-columns:1fr}
.coach-panel{margin-top:0}
.hero{display:block}
.poker-table{margin:20px 26px}
.action-bar{margin-left:0;margin-right:0;flex-wrap:wrap}
.hand-log{margin:20px 22px}
}
@media(max-width:600px){.topbar{height:62px}
.mode{display:none}
.hero{margin-top:28px}
.hero h1{font-size:42px}
.poker-table{aspect-ratio:.95;border-width:9px;border-radius:36%}
.seat{min-width:108px;padding:7px}
.seat-left{left:-25px;top:36%}
.seat-right{right:-25px;top:36%}
.seat-top{top:-27px}
.seat-hero{min-width:170px}
.center-pot{top:54%}
.board .card{width:29px;height:40px;font-size:12px}
.actions{order:3;width:100%;flex-wrap:wrap}
.actions button{flex:1}
.hand-log ol{grid-template-columns:1fr}
}


