:root{--bg:#f4ecd8;--surface-1:#eee2c5;--surface-2:#e3d3a4;--text:#241f16;--text-muted:#6b5f45;--accent:#b3312c;--accent-support:#2f5d62;--success:#3f7d4f;--danger:#b3312c;--font-display:"Fraunces", Georgia, serif;--font-ui:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;--radius-sm:2px;--radius-btn:6px;--shadow-card:0 2px 6px #241f162e, 0 1px 2px #241f161f;--shadow-panel:-4px 0 16px #241f162e;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-ui:.18s;--duration-deal:.12s;--duration-chip:90ms;--duration-panel:.22s}@media (prefers-reduced-motion:reduce){:root{--duration-ui:1ms;--duration-deal:1ms;--duration-chip:1ms;--duration-panel:1ms}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-ui);background-image:radial-gradient(circle at 20% 15%,#b3312c0d,#0000 40%),radial-gradient(circle at 80% 85%,#2f5d620d,#0000 45%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");min-height:100vh;line-height:1.5}h1,h2,h3{font-family:var(--font-display);color:var(--text);margin:0}button,select{font-family:var(--font-ui)}:focus-visible{outline:3px solid var(--accent-support);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{max-width:1280px;padding:var(--space-3) var(--space-3) var(--space-8);gap:var(--space-3);flex-direction:column;min-height:100vh;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;display:flex}.wordmark{letter-spacing:-.01em;font-size:clamp(1.75rem,1.4rem + 1.5vw,2.75rem);font-weight:600}.wordmark-accent{color:var(--accent);font-style:italic}.wordmark-tagline{color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:.72rem}.hero-copy{gap:var(--space-2) var(--space-4);padding:var(--space-2) 0;grid-template-columns:minmax(0,.72fr) minmax(18rem,.28fr);align-items:end;display:grid}.hero-copy .eyebrow{grid-column:1/-1}.hero-copy h2{max-width:12ch;font-size:clamp(2rem,1.35rem + 3vw,4.5rem);line-height:.98}.hero-copy>p:last-child{color:var(--text-muted);max-width:42ch;margin:0}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.icon-btn{border:2px solid var(--text);background:var(--surface-1);width:44px;min-width:44px;height:44px;color:var(--text);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), transform var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out);border-radius:50%;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-2);box-shadow:var(--shadow-card)}.icon-btn:active{transform:translateY(1px)scale(.96)}.icon-btn[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.layout{gap:var(--space-3);flex:1;grid-template-columns:1fr;min-height:60vh;display:grid}@media (width>=900px){.layout{grid-template-columns:65% 1fr;align-items:start}}.desk{background:var(--surface-1);border:2px solid var(--text);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-3);gap:var(--space-3);flex-direction:column;min-height:60vh;display:flex;position:relative;overflow:hidden}.desk:before{content:"";pointer-events:none;opacity:.6;background-image:repeating-linear-gradient(0deg,#0000,#0000 31px,#241f160d 32px);position:absolute;inset:0}.desk-felt{justify-content:space-evenly;align-items:center;gap:var(--space-2);z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.card-slot{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.slot-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem}.card{border-radius:var(--radius-sm);border:2px solid var(--text);background:var(--surface-1);width:120px;height:168px;box-shadow:var(--shadow-card);transform-origin:50%;transition:transform var(--duration-deal) var(--ease-out), opacity var(--duration-deal) var(--ease-out);place-items:center;display:grid;position:relative}@media (width>=600px){.card{width:148px;height:208px}}.card-rank{font-family:var(--font-display);color:var(--text);font-size:4rem;font-weight:700}.card-name{bottom:var(--space-1);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;position:absolute}.card--back{background-image:repeating-linear-gradient(45deg, var(--surface-2), var(--surface-2) 6px, var(--accent-support) 6px, var(--accent-support) 7px)}.card--dealing{animation:deal-in var(--duration-deal) var(--ease-out)}.card--flipping{animation:flip var(--duration-deal) var(--ease-out)}.card--folded{animation:crumple .14s var(--ease-out) forwards}@keyframes deal-in{0%{opacity:0;transform:translateY(-24px)rotate(-6deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes flip{0%{transform:scaleX(1)}50%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes crumple{to{opacity:0;transform:scale(.6)rotate(8deg)}}.pot{padding:var(--space-1) var(--space-3);border:2px dashed var(--text-muted);border-radius:var(--radius-sm);transition:transform var(--duration-chip) var(--ease-out);flex-direction:column;align-items:center;gap:2px;display:flex}.pot--bump{animation:pot-thud var(--duration-chip) var(--ease-out)}@keyframes pot-thud{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.pot-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem}.pot-value{font-family:var(--font-display);color:var(--accent);font-size:1.75rem;font-weight:700}.action-row{gap:var(--space-2);z-index:1;flex-wrap:wrap;justify-content:center;display:flex;position:relative}.btn{min-height:44px;padding:var(--space-1) var(--space-3);font-family:var(--font-ui);letter-spacing:.02em;border-radius:var(--radius-btn);border:2px solid var(--text);background:var(--surface-1);color:var(--text);cursor:pointer;transition:background var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out), transform var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out), border-color var(--duration-ui) var(--ease-out);font-size:.95rem;font-weight:600}.btn:hover:not(:disabled){box-shadow:var(--shadow-card);transform:translateY(-2px)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.btn-check,.btn-call{border-color:var(--accent-support);color:var(--accent-support)}.btn-check:hover:not(:disabled),.btn-call:hover:not(:disabled){background:var(--accent-support);color:var(--bg)}.btn-bet{background:var(--accent-support);border-color:var(--accent-support);color:var(--bg)}.btn-bet:hover:not(:disabled){background:#24484c}.btn-fold{border-color:var(--danger);color:var(--danger)}.btn-fold:hover:not(:disabled){background:var(--danger);color:var(--bg)}.btn-ghost{border-color:var(--text-muted);color:var(--text-muted);align-self:flex-start}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.status-line{text-align:center;min-height:1.5em;color:var(--text-muted);z-index:1;font-size:.9rem;position:relative}.ledger{background:var(--surface-1);border:2px solid var(--text);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.bankroll{border-bottom:1px solid var(--surface-2);padding-bottom:var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.bankroll-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.8rem}.bankroll-value{font-family:var(--font-display);font-size:2rem;font-weight:700}.accuracy-line{color:var(--text-muted);justify-content:space-between;font-size:.85rem;display:flex}.accuracy-value{color:var(--text);font-weight:600}.drawer-toggle{text-align:left;background:var(--surface-2);border:2px solid var(--text);border-radius:var(--radius-btn);min-height:44px;padding:var(--space-1) var(--space-2);cursor:pointer;color:var(--text);transition:background var(--duration-ui) var(--ease-out);font-weight:600}.drawer-toggle:hover{background:var(--surface-1)}.history-list{gap:var(--space-1);max-height:0;transition:max-height var(--duration-panel) var(--ease-out);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.history-list.open{max-height:480px;overflow-y:auto}.history-entry{border:1px solid var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);justify-content:space-between;gap:var(--space-1);font-size:.82rem;display:flex}.history-entry-win{border-left:3px solid var(--success)}.history-entry-loss{border-left:3px solid var(--danger)}.empty-state{color:var(--text-muted);padding:var(--space-2) 0;font-size:.85rem;font-style:italic}.margin-panel{background:var(--surface-1);border-left:2px solid var(--text);width:min(400px,92vw);height:100%;box-shadow:var(--shadow-panel);transition:transform var(--duration-panel) var(--ease-out);z-index:20;padding:var(--space-4) var(--space-3);gap:var(--space-2);flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.margin-panel.open{transform:translate(0)}@media (width<=767px){.margin-panel{border-left:none;border-top:2px solid var(--text);border-radius:12px 12px 0 0;width:100%;height:min(78vh,640px);inset:auto 0 0;transform:translateY(100%);box-shadow:0 -4px 16px #241f1633}.margin-panel.open{transform:translateY(0)}}.margin-headline{font-family:var(--font-display);color:var(--accent);font-size:1.4rem;font-weight:600;line-height:1.3}.margin-decisions{gap:var(--space-2);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.margin-decisions li{border-left:3px solid var(--accent);padding-left:var(--space-2);font-size:.9rem}.margin-freq{font-family:var(--font-display);text-underline-offset:3px;color:var(--accent);font-size:1.1em;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.celebration,.confirmation{z-index:30;padding:var(--space-3);background:#241f1673;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.celebration.open,.confirmation.open{display:flex}.celebration:before,.celebration:after{content:"";aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#b3312cb8 0 12%,#0000 13%),radial-gradient(circle at 22% 35%,#b3312c94 0 3%,#0000 4%),radial-gradient(circle at 76% 24%,#b3312c9e 0 4%,#0000 5%),radial-gradient(circle at 82% 68%,#b3312c85 0 2.5%,#0000 3.5%),radial-gradient(circle at 35% 82%,#b3312c7a 0 3.5%,#0000 4.5%);width:min(34vw,360px);position:absolute}.celebration:before{top:12%;left:7%}.celebration:after{bottom:8%;right:5%;transform:rotate(155deg)}.celebration.open:before,.celebration.open:after{animation:ink-burst .52s var(--ease-out) forwards}@keyframes ink-burst{0%{opacity:0;transform:scale(.18)rotate(-14deg)}65%{opacity:.42}to{opacity:.24;transform:scale(1)rotate(0)}}.celebration-card,.confirmation-card{background:var(--surface-1);border:2px solid var(--text);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-4);text-align:center;gap:var(--space-2);z-index:1;flex-direction:column;width:100%;max-width:420px;display:flex;position:relative}.confirmation-card{text-align:left;max-width:520px}.confirmation-card h2{font-size:2rem}.confirmation-card>p:not(.eyebrow){color:var(--text-muted);margin:0}.confirmation-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.celebration-title{font-family:var(--font-display);color:var(--accent);font-size:2rem}.celebration-stats{justify-content:space-around;gap:var(--space-2);display:flex}.celebration-stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;display:block}.celebration-stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.7rem}.game-guide{margin-top:var(--space-6);border-top:2px solid var(--text);padding-top:var(--space-4);gap:var(--space-4) var(--space-6);grid-template-columns:minmax(0,.85fr) minmax(18rem,1.15fr);display:grid}.guide-lead h2{margin-top:var(--space-1);max-width:14ch;font-size:clamp(1.75rem,1.25rem + 2vw,3.25rem);line-height:1.05}.guide-lead>p:last-child,.how-to-play,.faq{color:var(--text-muted);max-width:66ch}.benefit-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.benefit-list div{border-top:3px solid var(--accent-support);padding-top:var(--space-2)}.benefit-list dt{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.benefit-list dd{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.85rem}.benefit-list code{color:var(--accent);font-weight:600}.how-to-play h3,.faq h3{margin-bottom:var(--space-2);font-size:1.5rem}.how-to-play ol{padding-left:var(--space-3);margin:0}.how-to-play li+li{margin-top:var(--space-1)}.faq details{border-top:1px solid var(--surface-2);padding:var(--space-2) 0}.faq details:last-child{border-bottom:1px solid var(--surface-2)}.faq summary{color:var(--text);cursor:pointer;font-weight:600}.faq summary:hover{color:var(--accent)}.faq details p{margin:var(--space-1) 0 0;font-size:.88rem}.github-cta{min-height:44px;padding:var(--space-1) var(--space-3);border:2px solid var(--accent-support);border-radius:var(--radius-btn);background:var(--accent-support);color:var(--bg);transition:transform var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out), background var(--duration-ui) var(--ease-out);place-self:end start;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.github-cta:hover{box-shadow:var(--shadow-card);background:#24484c;transform:translateY(-2px)}.github-cta:active{box-shadow:none;transform:translateY(1px)scale(.98)}.site-footer{margin-top:var(--space-6);border-top:1px solid var(--surface-2);padding-top:var(--space-3);font-size:.78rem}.site-footer a{color:var(--text-muted);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.site-footer a:hover{color:var(--accent)}@media (width<=767px){.hero-copy,.game-guide{grid-template-columns:1fr}.hero-copy h2{max-width:10ch}.benefit-list{grid-template-columns:1fr}}@media (width<=389px){.card{width:104px;height:148px}.card-rank{font-size:3rem}}@media (prefers-reduced-motion:reduce){.celebration:before,.celebration:after{display:none}}
