@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{color-scheme:dark;--bg:#0c2020;--panel:#142f2e;--gold:#ebcb8b;--muted:#a9c2bb;--ink:#f4efe3;--line:#42605a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 10%,#25474166,transparent 42%),var(--bg);color:var(--ink);font:15px/1.6 'DM Sans',sans-serif}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:600 14px 'DM Sans',sans-serif;color:var(--ink);border:1px solid #58756d;border-radius:7px;background:#203e38;padding:13px 18px;cursor:pointer}button:hover{background:#315449;border-color:var(--gold)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ffe7ad;outline-offset:4px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.primary{background:var(--gold);color:#162b26;border-color:var(--gold)}.primary:hover{background:#f8dfac}.quiet{background:transparent}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--gold)}header{max-width:1440px;margin:auto;padding:25px 48px;border-bottom:1px solid #43625766;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;font-weight:700;letter-spacing:5px}.brand span{display:block;font-size:8px;letter-spacing:2.5px;color:var(--muted)}nav{display:flex;gap:10px;align-items:center;font-size:12px}nav button{font-size:12px;padding:9px 12px}main{max-width:1344px;margin:auto;padding:0 48px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15}h1{font-size:clamp(40px,5.5vw,78px);letter-spacing:-2px;margin:18px 0 24px}h1 em{color:var(--gold)}h2{font-size:30px;margin:10px 0 18px}.hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;min-height:525px;gap:50px;padding:35px 0 45px}.intro{color:#c6d4ca;font-size:17px;line-height:1.8}.hero-tags{display:flex;gap:22px;margin-top:30px;font-size:9px;letter-spacing:1.3px;color:var(--gold)}.hero-art{position:relative;width:240px;margin:16px auto 25px;transform:rotate(8deg)}.hero-art img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 25px 70px #0009;position:relative;border:1px solid #b69658}.ghost-card{position:absolute;inset:5px;background:repeating-linear-gradient(45deg,#3a5646 0 2px,#142d29 2px 8px);border:2px solid #bb9f65;border-radius:14px;transform:translate(-28px,5px) rotate(-18deg)}.hero-art span{display:block;text-align:center;font-size:9px;letter-spacing:2px;color:#b3c9bc;padding:20px 0 0;transform:rotate(-8deg)}.game-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.game-choice{text-align:left;padding:24px;position:relative;min-height:190px;background:#15332e}.game-choice small{display:block;color:#adc1af;font-size:9px;letter-spacing:1.5px}.game-choice strong{display:block;font:29px 'Playfair Display',Georgia,serif;margin:16px 0 10px}.game-choice span{display:block;font-size:12px;font-weight:400;color:#bbcdc1;max-width:240px}.game-choice b{display:block;color:#ddc18e;margin-top:15px;letter-spacing:4px}.game-choice.selected{border-color:var(--gold);background:linear-gradient(110deg,#36503b,#20392f);box-shadow:inset 0 3px var(--gold)}.play-panel{margin:30px 0;padding:28px 0;display:flex;justify-content:space-between;gap:24px;align-items:center;border-block:1px solid var(--line)}.play-panel h2{font-size:28px;margin-bottom:8px}.play-panel p:not(.eyebrow){font-size:12px;color:var(--muted)}.play-actions{display:flex;gap:10px;flex-wrap:wrap}.footnotes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:35px 0 45px;color:#9fb7ab;font-size:12px}.footnotes b{display:block;color:#e5e9d9;margin-bottom:5px}footer{max-width:1344px;margin:auto;display:flex;justify-content:space-between;padding:22px 48px;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.5px;color:var(--muted)}.section-heading,.game-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading>div{display:flex;gap:7px;flex-wrap:wrap}.section-heading button{font-size:12px;padding:9px 12px}.game-top{padding:25px 0}.game-top h1{font-size:36px;letter-spacing:-.8px;margin:8px 0}.game-top>div:last-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.badge{color:var(--gold);font-size:10px;letter-spacing:1.6px}.table-shell{background:linear-gradient(140deg,#264c3a,#142e28);border:1px solid #a88b54;border-radius:26px;padding:22px;box-shadow:0 20px 70px #0004;overflow:hidden}.table-meta{display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:2px;color:var(--gold)}.players{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.player{padding:12px;border:1px solid #79937c66;background:#0b231f99;border-radius:9px;min-width:0}.player.current{border-color:var(--gold);box-shadow:0 0 0 2px #eccc8b33}.player strong{display:block;font-size:13px;overflow-wrap:anywhere}.player .player-meta{color:var(--muted);font-size:10px;display:block}.mini-backs{display:flex;height:52px;margin:9px 0 4px;padding-left:2px}.mini-back{width:32px;height:48px;background:url('/arcade-v39/cards/assets/card-back.webp') center/cover;border:1px solid #d5ba76;border-radius:3px;margin-left:-2px}.mini-back+.mini-back{margin-left:-22px}.felt{position:relative;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 10px}.felt-brand{color:#c0c79d45;font-size:24px;letter-spacing:8px;text-align:center;pointer-events:none}.felt-brand span{display:block;font-size:8px;letter-spacing:3px}.felt #public-cards:not(:empty)+#dealer-line{margin-top:18px}#dealer-line{max-width:600px;text-align:center;color:#f0dfbb;font-size:14px;min-height:24px}#public-cards{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:20px}#table-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}#your-area{padding:25px 0}#hand-help{color:var(--muted);font-size:12px}.hand{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-height:100px;padding:18px 0}.card{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:68px;height:96px;border-radius:7px;background:#fff8e9;color:#1d2b30;border:1px solid #ccb987;padding:6px 8px;font-family:Georgia,serif;font-weight:bold;box-shadow:0 4px 10px #0003;flex-shrink:0;line-height:1.1}.card:hover{background:#fffdf7;border-color:var(--gold)}.card.red{color:#a7213b}.card.selected{transform:translateY(-10px);outline:3px solid var(--gold);box-shadow:0 8px 20px #0008}.card .rank{font-size:19px;align-self:flex-start}.card .suit{font-size:34px;align-self:center}.card .bottom{font-size:11px;align-self:flex-end;transform:rotate(180deg)}.card.back{background:url('/arcade-v39/cards/assets/card-back.webp') center/cover;border-color:#cbb178}.row{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#142d27;border:1px solid #415f4d;border-radius:9px;margin:9px 0;min-height:110px}.row-label{width:96px;flex-shrink:0}.row-label strong{display:block;font-size:14px}.row-label small{font-size:10px;color:var(--muted)}.row-label button{padding:8px;font-size:11px;margin-top:7px}.row-cards{display:flex;gap:7px;flex-wrap:wrap}.row .card{width:56px;height:78px}.row .card .rank{font-size:16px}.row .card .suit{font-size:24px}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0}.controls label{font-size:12px;display:flex;align-items:center;gap:8px}input{font:inherit;background:#0d2522;border:1px solid #668171;border-radius:6px;color:#fff;padding:12px;width:100%}.controls input{width:110px}#results{margin:25px 0;background:#213c30;border:1px solid #96824f;border-radius:12px;padding:24px}.result-player{border-bottom:1px solid #49624d;padding:12px 0}.result-player .row-cards{margin:10px 0}.result-player h3{font:600 17px 'DM Sans',sans-serif}.history{margin:25px 0;color:#adc0b1;font-size:12px}.history summary{cursor:pointer}.table-list-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #41604e;padding:18px 0}.table-list-row p{margin:5px 0;color:var(--muted);font-size:12px}.table-list-row>div:last-child{display:flex;gap:8px}dialog{position:fixed;inset:0;margin:auto;max-height:85dvh;overflow:auto;width:min(620px,92vw);padding:30px;border:1px solid #bb9b61;border-radius:16px;background:#132e29;color:var(--ink);box-shadow:0 25px 80px #0009}dialog::backdrop{background:#020e0cbb;backdrop-filter:blur(5px)}dialog p{color:#d1dacb;font-size:14px}dialog h3{font-size:22px;color:var(--gold);margin-top:30px}dialog label{display:block;margin:15px 0}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.shuffling .mini-back{animation:shuffle .35s alternate 5}@keyframes shuffle{to{transform:translate(8px,-8px) rotate(14deg)}}[hidden]{display:none!important}
@media(max-width:1000px){header{padding:20px 24px}main{padding:0 24px}.hero{gap:20px;min-height:460px}.hero-art{width:190px}.hero-tags{gap:10px;font-size:8px}.play-panel{align-items:flex-start;flex-direction:column}.game-choice{padding:18px}.game-choice strong{font-size:25px}.players{gap:8px}.player{padding:9px}}
@media(max-width:650px){header{padding:16px;align-items:flex-start}.brand{font-size:17px;letter-spacing:3px}.brand span{font-size:6px}nav{gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:235px}nav a{font-size:10px}nav button{font-size:10px;padding:8px}main{padding:0 16px}.hero{grid-template-columns:1fr .55fr;min-height:360px;padding:25px 0;gap:8px}h1{font-size:39px;letter-spacing:-1.5px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.intro{font-size:12px}.intro br{display:none}.hero-tags{display:none}.hero-art{width:112px;margin:10px auto;transform:rotate(7deg)}.hero-art span{font-size:6px;letter-spacing:1px}.ghost-card{transform:translate(-12px,4px) rotate(-15deg)}.game-picker{grid-template-columns:1fr;gap:10px}.game-choice{min-height:105px;padding:17px 20px}.game-choice strong{margin:6px 0;font-size:27px}.game-choice span{max-width:255px;font-size:11px}.game-choice b{position:absolute;right:16px;top:22px;font-size:12px;letter-spacing:1px}.play-panel{margin:22px 0;padding:23px 0;gap:10px}.play-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.play-actions .primary{grid-column:span 2}.play-actions button{font-size:12px}.footnotes{grid-template-columns:1fr;gap:8px;margin:25px 0}.footnotes p{margin:5px 0}.game-top{align-items:flex-start;gap:10px}.game-top h1{font-size:30px}.game-top>div:last-child{max-width:150px;justify-content:flex-end}.game-top button{font-size:10px;padding:8px}.table-shell{padding:12px;border-radius:16px}.players{grid-template-columns:1fr 1fr;margin:12px 0}.player{position:relative;min-height:75px}.player strong{font-size:11px;max-width:100%}.mini-backs{height:29px;float:right;margin:-24px 4px 0 0;opacity:.8;max-width:50px}.mini-back{width:22px;height:32px}.mini-back+.mini-back{margin-left:-19px}.player-meta{max-width:78%;font-size:9px!important}.felt{min-height:150px;padding:5px}.felt-brand{font-size:20px;letter-spacing:5px}.felt-brand span{font-size:6px}.card{width:52px;height:76px;padding:5px 6px}.card .rank{font-size:16px}.card .suit{font-size:25px}.card .bottom{font-size:9px}.hand{gap:8px;padding:15px 0}.section-heading{align-items:flex-start}.section-heading h2{font-size:24px}.section-heading>div{justify-content:flex-end;max-width:185px}.section-heading button{font-size:10px;padding:7px 10px}.row{padding:10px 8px;gap:8px;min-height:90px}.row-label{width:61px}.row-label strong{font-size:12px}.row-label small{font-size:9px}.row-label button{font-size:9px;padding:6px}.row .card{width:39px;height:60px;padding:4px}.row .card .rank{font-size:13px}.row .card .suit{font-size:19px}.row .card .bottom{font-size:8px}.row-cards{gap:4px}.table-list-row{gap:8px}.table-list-row button{font-size:11px;padding:10px}.controls button{padding:12px;font-size:12px}.controls label{font-size:11px}.controls input{width:90px}#results{padding:16px}footer{padding:20px 16px;letter-spacing:.6px;font-size:8px;gap:15px}.table-meta{font-size:9px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#meld-table{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.exposed-meld{border:1px solid #5a745a;border-radius:10px;padding:12px;background:#17362c}.exposed-meld h3{font:600 12px sans-serif}.exposed-meld .card{width:42px;height:64px;padding:4px}.exposed-meld .suit{font-size:21px}.exposed-meld .rank{font-size:14px}.exposed-meld button{margin-top:10px;padding:8px;font-size:11px}@media(max-width:900px){.game-picker{grid-template-columns:1fr 1fr}#meld-table{grid-template-columns:1fr 1fr}}@media(max-width:650px){.game-picker,#meld-table{grid-template-columns:1fr}}
