:root{--bg: #14100e;--panel: #211a16;--panel-2: #2a211c;--felt: #3a1410;--felt-line: #5a201a;--accent: #c2452f;--accent-dim: #8a2f20;--text: #f3e9e3;--muted: #b39a8c;--card-bg: #f7f1e6;--card-back: #6b2a22;--card-back-2: #4a1c16;--red: #c2452f;--black: #2a2320;--gold: #d9a441;--slot: rgba(255, 255, 255, .05);--slot-line: rgba(255, 255, 255, .14);--win: #5fb87a;--shadow: rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#app{max-width:920px;margin:0 auto;padding:14px 14px 40px}header.s-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}header.s-header h1{margin:0;font-size:clamp(22px,4vw,34px);letter-spacing:.18em;font-weight:800;background:linear-gradient(90deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.s-sub{color:var(--muted);font-size:13px}.s-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.s-toolbar .spacer{flex:1}button.s-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--slot-line);border-radius:8px;padding:8px 13px;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .05s}button.s-btn:hover:not(:disabled){background:#34281f;border-color:var(--accent-dim)}button.s-btn:active:not(:disabled){transform:translateY(1px)}button.s-btn:disabled{opacity:.4;cursor:default}button.s-btn.primary{background:var(--accent-dim);border-color:var(--accent)}button.s-btn.primary:hover:not(:disabled){background:var(--accent);color:#1a0d09}.s-stat{background:var(--panel);border:1px solid var(--slot-line);border-radius:8px;padding:6px 12px;font-size:13px;color:var(--muted)}.s-stat b{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px}.s-board{background:radial-gradient(circle at 50% 50%,var(--felt-line),var(--felt) 70%);border:1px solid #2a0c08;border-radius:14px;padding:16px;box-shadow:inset 0 1px #ffffff0d,0 8px 30px var(--shadow);display:flex;flex-direction:column;gap:16px}.s-row{display:flex;align-items:center;gap:10px;min-height:96px;border-radius:10px;padding:6px;transition:background .2s,box-shadow .2s}.s-row.active{background:#d9a44112;box-shadow:inset 0 0 0 1px #d9a44166}.s-rowlabel{width:56px;flex-shrink:0;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.s-hand,.s-tablecards{display:flex;gap:8px;flex-wrap:wrap;flex:1}.s-table{background:#00000029}.s-pilebadge{width:120px;flex-shrink:0;text-align:right;color:var(--muted);font-size:12px}.s-pilebadge b{color:var(--text);font-size:15px}.s-empty{color:#ffffff4d;font-size:14px;font-style:italic;align-self:center}.s-card{width:62px;height:88px;border-radius:8px;position:relative;background:var(--card-bg);border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 2px #0006;user-select:none;flex-shrink:0;overflow:hidden}.s-card.down{background:repeating-linear-gradient(45deg,var(--card-back) 0 7px,var(--card-back-2) 7px 14px);border-color:#2a0c08}.s-card.red .corner,.s-card.red .pip{color:var(--red)}.s-card.black .corner,.s-card.black .pip{color:var(--black)}.s-card.settebello{box-shadow:0 0 0 2px var(--gold),0 1px 2px #0006}.s-card .corner{position:absolute;top:5%;left:8%;font-weight:800;line-height:1;font-size:15px;display:flex;flex-direction:column;align-items:center}.s-card .corner .c-suit{font-size:.85em}.s-card .pip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:30px;line-height:1}.s-card .c-val{position:absolute;bottom:4%;right:8%;font-size:11px;font-weight:700;color:#0006}.s-card.playable{cursor:pointer;transition:transform .1s,box-shadow .1s}.s-card.playable:hover{transform:translateY(-6px);box-shadow:0 6px 14px #00000080}.s-card.selected{outline:3px solid var(--accent);outline-offset:-1px;transform:translateY(-6px)}.s-card.cap-hint{outline:2px dashed var(--gold);outline-offset:-1px}.s-chooser{margin-top:12px;padding:12px;background:var(--panel);border:1px solid var(--accent-dim);border-radius:10px}.s-chooserlabel{font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:600}.s-chooseropts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.s-optbtn{display:flex;gap:4px;align-items:center;background:var(--panel-2);border:1px solid var(--slot-line);border-radius:8px;padding:6px 8px;cursor:pointer}.s-optbtn:hover{border-color:var(--accent);background:#34281f}.s-mini{display:inline-block;background:var(--card-bg);border-radius:4px;padding:2px 5px;font-size:13px;font-weight:800}.s-mini.red{color:var(--red)}.s-mini.black{color:var(--black)}.s-flash{text-align:center;font-size:clamp(24px,6vw,44px);font-weight:900;letter-spacing:.12em;color:var(--gold);height:0;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s,height .2s;pointer-events:none}.s-flash.show{height:auto;opacity:1;transform:scale(1);margin:8px 0}.s-flash.cpu{color:var(--accent)}.s-scorepanel{display:none;margin-top:14px;padding:14px 16px;background:var(--panel);border:1px solid var(--slot-line);border-radius:12px}.s-scorepanel.show{display:block}.s-sptitle{font-weight:800;font-size:16px;margin-bottom:10px}.s-spgrid{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.s-cat{display:grid;grid-template-columns:1fr 60px 60px;align-items:center;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06)}.s-cat:first-child{font-weight:700}.s-catname{color:var(--muted);font-size:13px}.s-catval{text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.s-catval.win{color:var(--win)}.s-sptotals{font-size:14px;color:var(--muted);margin-bottom:10px}.s-sptotals b{color:var(--text)}.s-banner{margin-top:14px;padding:14px 16px;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border:1px solid var(--accent);border-radius:10px;display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.s-banner.show{display:flex}.s-bannertext b{font-size:18px}.s-hint{color:var(--muted);font-size:12.5px;margin-top:12px;line-height:1.6}@media(max-width:560px){#app{padding:8px}.s-board{padding:10px}.s-card{width:50px;height:70px}.s-card .pip{font-size:24px}.s-pilebadge{width:88px}}
