:root{color-scheme:dark;--ink: #1a120c;--cream: #f6f1e7;--cream-2: #e7dcc8;--brass: #d7b56a;--brass-deep: #8c6a32;--felt: #1f7a4d;--felt-deep: #114832;--wood: #5c3928;--wood-dark: #2c1a12;--red: #a33b3b;--black: #1c1917;--good: #d8f3e4;--warn: #f3d7a1;--danger: #ffd0d0;--card-w: 58px;--card-h: 84px;--move: .18s;--shadow: 0 10px 24px rgba(0, 0, 0, .28);font-family:Avenir Next,Segoe UI,sans-serif;background:var(--wood-dark);color:var(--cream)}:root[data-readable="1"]{font-family:Verdana,sans-serif}:root[data-contrast="1"]{--cream: #fffaf2;--felt: #0e8f57;--brass: #ffe08a}:root[data-cards=large]{--card-w: 72px;--card-h: 104px}:root[data-cards=small]{--card-w: 48px;--card-h: 70px}:root[data-motion="0"]{--move: 0ms}@media(prefers-reduced-motion:reduce){:root{--move: 0ms}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{overflow-x:hidden;background:radial-gradient(circle at 20% 0%,rgba(215,181,106,.16),transparent 28%),linear-gradient(180deg,#3a2418,var(--wood-dark) 40%)}button,input,select{font:inherit;color:inherit}button{min-height:44px;min-width:44px}button,.card,.pile{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}p{line-height:1.45}.app{min-height:100dvh;padding:env(safe-area-inset-top) 16px calc(16px + env(safe-area-inset-bottom));max-width:1100px;margin:0 auto}.wordmark{font-family:Palatino,Iowan Old Style,Georgia,serif;font-weight:600;letter-spacing:.01em;margin:18px 0 4px;font-size:2.1rem}.lede{margin:0 0 18px;color:var(--cream-2);max-width:38rem}.quiet{color:var(--cream-2);font-size:.92rem}.grid{display:grid;gap:12px}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.choice,.primary,.ghost,.danger{border-radius:999px;border:1px solid rgba(215,181,106,.55);background:#1a120c59;padding:10px 16px;cursor:pointer}.primary{background:linear-gradient(180deg,#e6c98a,var(--brass-deep));color:#24160f;border-color:transparent;font-weight:700}.choice[aria-pressed=true]{background:#d7b56a38}.danger{border-color:#a33b3b}.field{display:grid;gap:6px}.field input,.field select,.sheet input,.sheet select{min-height:44px;border-radius:12px;border:1px solid rgba(246,241,231,.25);background:#00000040;padding:0 12px}.cards-pick{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:720px){.cards-pick{grid-template-columns:1fr 1fr}}.preset{text-align:left;border-radius:18px;padding:14px;background:#f6f1e70f;border:1px solid rgba(215,181,106,.28);cursor:pointer}.preset strong{display:block;font-family:Palatino,Georgia,serif;font-size:1.2rem;margin-bottom:4px}.preset[aria-pressed=true]{outline:2px solid var(--brass)}.table-screen{display:grid;gap:10px}.topbar,.opponents,.melds,.hand,.actions{min-width:0}.topbar{display:flex;justify-content:space-between;gap:8px;align-items:center}.felt{position:relative;min-height:230px;border-radius:28px;padding:16px;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.08),transparent 42%),linear-gradient(180deg,var(--felt),var(--felt-deep));box-shadow:inset 0 0 0 10px #5c39288c,inset 0 0 0 12px #d7b56a59,var(--shadow);display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.pile,.plate{display:grid;justify-items:center;gap:6px}.plate{color:var(--good);text-align:center}.plate b{font-family:Palatino,Georgia,serif;font-size:1.15rem}.count{font-variant-numeric:tabular-nums}.opponents,.melds,.hand{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.seat,.meld{flex:0 0 auto;background:#00000038;border-radius:14px;padding:8px;min-width:116px;scroll-snap-align:start}.meld-slot{flex:0 0 auto;display:grid;gap:6px;align-content:start;scroll-snap-align:start}button.meld{border:0;color:inherit;text-align:left;cursor:pointer;display:grid;gap:4px}button.meld:disabled{opacity:.55;cursor:default}.meld.can-lay{outline:2px solid var(--brass);box-shadow:0 0 0 4px #d7b56a40}.meld .line{display:block}.swap{padding:6px 12px;font-size:.85rem}.lay-hint{margin:0}.clock{font-variant-numeric:tabular-nums;color:var(--warn);font-weight:700}.banner{position:sticky;top:env(safe-area-inset-top);z-index:6;margin:8px 0;padding:8px 12px;border-radius:999px;background:#3a2418;border:1px solid var(--warn);color:var(--warn);text-align:center}.seat .backs{display:flex}.seat .backs .back{margin-right:-18px}.you{outline:1px solid var(--brass)}.bot-tag,.stage{display:inline-block;border-radius:999px;padding:2px 8px;background:#d7b56a2e;font-size:.75rem}.card,.back{width:var(--card-w);height:var(--card-h);border-radius:10px;position:relative;flex:0 0 auto}.card{display:grid;border:0;padding:6px;background:linear-gradient(180deg,#fffaf3,var(--cream));color:var(--black);box-shadow:0 6px 14px #00000040;cursor:pointer;transition:transform var(--move) ease}.card.red{color:var(--red)}.card.is-selected{transform:translateY(-16px);outline:3px solid var(--brass)}.card .corner{position:absolute;top:4px;left:6px;display:grid;line-height:1;font-size:.78rem}.card .pips{font-size:1.5rem;align-self:end;justify-self:center}.card.joker{background:linear-gradient(180deg,#f8e7b8,#e7c56a);letter-spacing:.08em}.back{background:radial-gradient(circle at 50% 50%,transparent 36%,rgba(215,181,106,.9) 37%,rgba(215,181,106,.9) 40%,transparent 41%),var(--felt-deep);border:1px solid rgba(215,181,106,.7);display:grid;place-items:center}.monogram{font-family:Palatino,Georgia,serif;color:var(--brass);font-size:.8rem}.hand .card{margin-right:-18px;scroll-snap-align:start}.hand .card:last-child{margin-right:0}.actions{display:flex;flex-wrap:wrap;gap:8px}.toast{background:#3a2418;border:1px solid var(--brass);border-radius:14px;padding:10px 12px}.sheet{position:fixed;inset:auto 12px calc(12px + env(safe-area-inset-bottom)) 12px;background:#2a1b13;border:1px solid rgba(215,181,106,.4);border-radius:18px;padding:14px;max-height:min(70dvh,560px);overflow:auto;box-shadow:var(--shadow);z-index:5}.score-card{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}.log{max-height:120px;overflow:auto;font-size:.85rem;color:var(--cream-2)}@media(max-width:420px){.felt{padding:10px;gap:6px;min-height:160px}.plate b{font-size:.95rem}}@media(max-height:720px){.seat{padding:4px 6px}.seat .backs .back{width:28px;height:40px;margin-right:-12px}.felt{min-height:128px;padding:8px}.felt .card,.felt .back{width:46px;height:66px}.melds .card{width:40px;height:56px}.log{max-height:48px}}@media(min-width:900px){.felt{min-height:320px}.app{padding-left:28px;padding-right:28px}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
