.scca-app {
  --scca-bg: #fffdf8;
  --scca-panel: #ffffff;
  --scca-text: #323943;
  --scca-muted: #68727f;
  --scca-border: #d9ddd8;
  --scca-felt: #1f7668;
  --scca-felt-deep: #164f49;
  --scca-house-button: #1f7668;
  --scca-gold: #f2c45b;
  --scca-shadow: 0 12px 32px rgba(26, 43, 42, .12);
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 6px 12px !important;
  color: var(--scca-text);
  background: var(--scca-bg);
  border: 1px solid var(--scca-border);
  border-radius: 18px;
  box-shadow: var(--scca-shadow);
  font: 500 16px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
}
.scca-app *, .scca-app *::before, .scca-app *::after { box-sizing: border-box; }
.scca-app[data-theme="night"] {
  --scca-bg: #151b25;
  --scca-panel: #1e2733;
  --scca-text: #edf1f4;
  --scca-muted: #aab4c0;
  --scca-subtitle: #d4dee8;
  --scca-border: #354150;
  --scca-felt: #155448;
  --scca-kicker: #7ce0ce;
  --scca-felt-deep: #0c382f;
  --scca-house-button: #23947f;
  --scca-shadow: 0 14px 38px rgba(0, 0, 0, .3);
}
/* Theme Single exposes its color mode on the page body and data-color-scheme.
   Follow that mode automatically until the player chooses an override. */
body:is(.night-mode, .dark-mode, .sheer-dark) .scca-app:not([data-theme="day"]),
html[data-color-scheme="dark"] .scca-app:not([data-theme="day"]) {
  --scca-bg: #151b25;
  --scca-panel: #1e2733;
  --scca-text: #edf1f4;
  --scca-muted: #aab4c0;
  --scca-subtitle: #d4dee8;
  --scca-border: #354150;
  --scca-felt: #155448;
  --scca-kicker: #7ce0ce;
  --scca-felt-deep: #0c382f;
  --scca-house-button: #23947f;
  --scca-shadow: 0 14px 38px rgba(0, 0, 0, .3);
}
.scca-app button, .scca-app select, .scca-app input { font: inherit; }
.scca-header { position:relative; display:block; padding:6px 4px 12px; }
.scca-header > div { padding:0 82px; text-align:center; }
.scca-kicker { margin:0 0 3px; color:var(--scca-kicker, var(--scca-felt)); font-size:12px; font-weight:800; letter-spacing:.16em; }
.scca-app .scca-kicker { color:var(--scca-kicker, var(--scca-felt)) !important; }
.scca-header h1 { margin:0; color:var(--scca-text); font-size:clamp(24px,4vw,38px); line-height:1.08; letter-spacing:-.04em; }
.scca-app .scca-header h1:not(.site-title):not(.scdev-brand-text):not(.scdev-explore-page-title) { color:var(--scca-text) !important; font-size:clamp(24px,4vw,38px) !important; text-decoration:none !important; }
.scca-app .scca-header h1 span { color:#d98b2b !important; }
.scca-header h1 span { color:#d98b2b; }
.scca-subtitle { margin:5px 0 0; color:var(--scca-muted); font-size:16px; }
.scca-app .scca-subtitle { color:var(--scca-subtitle, var(--scca-muted)) !important; -webkit-text-fill-color:var(--scca-subtitle, var(--scca-muted)) !important; }
.scca-theme { position:absolute; top:6px; right:4px; display:flex; align-items:center; gap:6px; min-height:40px; padding:6px 10px; color:var(--scca-text); background:var(--scca-panel); border:1px solid var(--scca-border); border-radius:999px; cursor:pointer; }
.scca-app .scca-theme { color:var(--scca-text) !important; -webkit-text-fill-color:var(--scca-text) !important; background:var(--scca-panel) !important; border-color:var(--scca-border) !important; }
.scca-topbar { display:flex; align-items:stretch; justify-content:space-between; gap:10px; margin-bottom:10px; }
.scca-wallet { display:flex; align-items:baseline; flex-wrap:nowrap; gap:0 8px; min-width:0; padding:6px 12px; background:var(--scca-panel); border:1px solid var(--scca-border); border-radius:12px; }
.scca-wallet span { color:var(--scca-muted); font-size:11px; font-weight:800; letter-spacing:.12em; }
.scca-wallet strong { color:var(--scca-felt); font-size:26px; line-height:1.1; font-variant-numeric:tabular-nums; }
.scca-wallet small { color:var(--scca-muted); font-size:12px; }
.scca-options { display:flex; justify-content:flex-end; gap:8px; }
.scca-fixed-rules { align-self:end; max-width:none; margin:0; padding:6px 10px; color:var(--scca-text); background:var(--scca-panel); border:1px solid var(--scca-border); border-radius:9px; font-size:clamp(10px,2.8vw,13px); font-weight:700; text-align:center; white-space:nowrap; }
.scca-app .scca-fixed-rules { color:var(--scca-text) !important; -webkit-text-fill-color:var(--scca-text) !important; }
.scca-options label { display:flex; align-items:center; gap:8px; color:var(--scca-muted); font-size:12px; font-weight:700; }
.scca-bet-controls label { display:grid; gap:4px; color:var(--scca-muted); font-size:12px; font-weight:700; }
.scca-options select, .scca-bet-controls select, .scca-house input { min-height:38px; padding:6px 10px; color:var(--scca-text); background:var(--scca-panel); border:1px solid var(--scca-border); border-radius:9px; }
.scca-table { overflow:hidden; padding:6px 12px; color:#f8f5e8; background:radial-gradient(ellipse at top, #347e69 0, var(--scca-felt) 54%, var(--scca-felt-deep) 100%); border:5px solid #314d48; border-radius:16px; }
.scca-table-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.scca-table-head h2 { margin:0; color:#fff; font-size:18px; }
.scca-app .scca-table-head h2 { margin:0 !important; color:#fff !important; font-size:18px !important; text-decoration:none !important; }
.scca-table-head span { color:#d5e6de; font-size:12px; font-weight:800; letter-spacing:.12em; }
.scca-dice { display:flex; justify-content:center; align-items:center; gap:12px; min-height:100px; margin:8px auto 12px; }
.scca-die { display:grid; place-items:center; width:clamp(52px,7vw,72px); aspect-ratio:1; color:#fff; -webkit-text-fill-color:currentColor !important; background:linear-gradient(145deg,#fffdf5,#e8e1d0); border:3px solid rgba(255,255,255,.72); border-radius:16px; box-shadow:0 5px 12px rgba(5,26,22,.3), inset 0 1px 2px #fff; font-family:Georgia,serif; font-size:clamp(29px,4vw,42px); text-shadow:0 1px 2px #fff; }
.scca-die[hidden] { display:none; }
.scca-app .scca-die.scca-gold { color:#a97117 !important; }.scca-app .scca-die.scca-blue { color:#2582a1 !important; }.scca-app .scca-die.scca-cyan { color:#169ca3 !important; }.scca-app .scca-die.scca-red { color:#d64859 !important; }.scca-app .scca-die.scca-violet { color:#6551a8 !important; }.scca-app .scca-die.scca-green { color:#338d63 !important; }
.scca-die.is-spinning { animation:scca-spin .34s cubic-bezier(.35,.05,.65,.95) infinite; }
.scca-die.is-rolling { animation:scca-land .38s cubic-bezier(.2,.8,.25,1); }
@keyframes scca-tumble { 0%{transform:rotate(-18deg) translateY(-8px) scale(.85);filter:blur(1px)} 55%{transform:rotate(12deg) translateY(4px) scale(1.06)} 100%{transform:rotate(0) translateY(0) scale(1);filter:none} }
@keyframes scca-spin { 0%{transform:rotate(-12deg) translateY(-2px) scale(.98)} 50%{transform:rotate(180deg) translateY(2px) scale(1.04)} 100%{transform:rotate(372deg) translateY(-2px) scale(.98)} }
@keyframes scca-land { 0%{transform:rotate(-25deg) scale(.86)} 70%{transform:rotate(8deg) scale(1.08)} 100%{transform:rotate(0) scale(1)} }
.scca-symbols { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.scca-symbol-card { display:flex; min-width:0; min-height:120px; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:6px 5px; color:var(--scca-text); background:var(--scca-panel); border:2px solid transparent; border-radius:22px; box-shadow:0 3px 8px rgba(0,0,0,.13); cursor:pointer; transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.scca-app .scca-symbol-card { color:var(--scca-text) !important; background:var(--scca-panel) !important; border-radius:50px !important; }
.scca-symbol-card:hover { transform:translateY(-2px); box-shadow:0 8px 15px rgba(0,0,0,.2); }
.scca-symbol-card:focus-visible, .scca-button:focus-visible, .scca-theme:focus-visible { outline:3px solid #f4cf70; outline-offset:2px; }
.scca-symbol-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; font-family:Georgia,serif; font-size:38px; line-height:1; }
.scca-symbol-card strong { font-size:14px; }
.scca-symbol-card small { min-height:17px; color:var(--scca-muted); font-size:12px; }
.scca-app .scca-symbol-card strong { color:var(--scca-text) !important; }
.scca-app .scca-symbol-card small { color:var(--scca-muted) !important; }
.scca-gold { --symbol:#b47b17; --tint:#fff1c6; }.scca-blue { --symbol:#287d9c; --tint:#d9f2fa; }.scca-cyan { --symbol:#168b98; --tint:#d9f6f4; }.scca-red { --symbol:#d44e5d; --tint:#ffe1e2; }.scca-violet { --symbol:#6951a4; --tint:#ebe4fa; }.scca-green { --symbol:#2e8b60; --tint:#def4e7; }
.scca-symbol-card .scca-symbol-icon { color:var(--symbol); background:var(--tint); }
.scca-app .scca-symbol-card .scca-symbol-icon { color:var(--symbol) !important; background:var(--tint) !important; }
.scca-symbol-card.scca-gold { border-color:#e3bb5d; }.scca-symbol-card.scca-blue { border-color:#77bad0; }.scca-symbol-card.scca-cyan { border-color:#69c7c4; }.scca-symbol-card.scca-red { border-color:#e48b92; }.scca-symbol-card.scca-violet { border-color:#aa98d2; }.scca-symbol-card.scca-green { border-color:#79bd94; }
.scca-symbol-card:active { transform:scale(.97); }
.scca-bet-controls { display:flex; align-items:end; gap:8px; margin-top:10px; }
.scca-button { min-height:40px; padding:6px 12px; color:var(--scca-text); background:var(--scca-panel); border:1px solid var(--scca-border); border-radius:9px; cursor:pointer; }
.scca-button:disabled { opacity:.55; cursor:not-allowed; }
.scca-roll { margin-left:auto; color:#332711; background:linear-gradient(135deg,#ffdf8a,#f2b841); border-color:#f2c45b; font-weight:800; }
.scca-app .scca-roll { color:#332711 !important; background:linear-gradient(135deg,#ffdf8a,#f2b841) !important; border-color:#f2c45b !important; }
.scca-roll span { margin-left:4px; }
.scca-roll.is-rolling span { display:inline-block; animation:scca-tumble .4s ease infinite; }
.scca-clear { color:#f4f6f1; background:rgba(10,35,30,.22); border-color:rgba(255,255,255,.3); }
.scca-app .scca-clear { color:#f4f6f1 !important; background:rgba(10,35,30,.22) !important; border-color:rgba(255,255,255,.3) !important; }
.scca-reset { color:#fff; background:rgba(10,35,30,.22); border-color:rgba(255,255,255,.3); }
.scca-app .scca-reset { color:#fff !important; background:rgba(10,35,30,.22) !important; border-color:rgba(255,255,255,.3) !important; }
.scca-result { min-height:42px; display:flex; align-items:center; justify-content:center; margin-top:10px; padding:6px 10px; color:#eff9f4; text-align:center; border-top:1px solid rgba(255,255,255,.18); font-size:14px; }
.scca-result[data-kind="win"] { color:#ffe095; font-weight:800; }.scca-result[data-kind="loss"] { color:#d5e5da; }.scca-result[data-kind="error"] { color:#ffd1cc; }
.scca-footer { display:flex; justify-content:space-between; gap:8px; padding:6px 3px 3px; color:var(--scca-muted); font-size:12px; }
.scca-house { display:grid; grid-template-columns:1fr auto; align-items:center; gap:10px; margin-top:8px; padding:6px 10px; background:var(--scca-panel); border:1px solid var(--scca-border); border-radius:12px; }
.scca-house[hidden] { display:none; }.scca-house>div:first-child { display:flex; flex-wrap:wrap; gap:5px 12px; }.scca-house>div:first-child b { width:100%; }.scca-house span { color:var(--scca-muted); font-size:13px; }.scca-house span strong { color:var(--scca-text); }
.scca-house-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }.scca-house-actions input { width:110px; }.scca-house-actions .scca-button { color:var(--scca-text); background:var(--scca-bg); }.scca-house-actions [data-start-house], .scca-house-actions [data-top-up] { color:#fff; background:var(--scca-house-button); border-color:var(--scca-house-button); }
.scca-app .scca-house-actions [data-start-house], .scca-app .scca-house-actions [data-top-up] { color:#fff !important; -webkit-text-fill-color:#fff !important; background:var(--scca-house-button) !important; border-color:var(--scca-house-button) !important; }
.scca-house small { grid-column:1/-1; color:var(--scca-muted); }
.scca-toast { position:fixed; z-index:99999; right:18px; bottom:18px; max-width:min(380px,calc(100vw - 36px)); padding:6px 12px; color:white; background:#28343c; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.24); opacity:0; pointer-events:none; transform:translateY(8px); transition:.2s ease; }
.scca-toast.is-visible { opacity:1; transform:translateY(0); }
@media (max-width:740px) {
 .scca-app { padding:6px 8px !important; border-radius:12px; }
 .scca-symbols { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
 .scca-symbol-card { min-height:100px; }
 .scca-symbol-icon { width:46px; height:46px; font-size:34px; }
 .scca-house { grid-template-columns:1fr; }
 .scca-house-actions { justify-content:flex-start; }
}
@media (max-width:430px) {
 .scca-header { align-items:flex-start; }
 .scca-header h1 { font-size:25px; }
 .scca-subtitle { font-size:14px; }
 .scca-topbar { flex-direction:column; }
 .scca-options { justify-content:stretch; }
 .scca-fixed-rules { flex:1 1 100%; text-align:center; }
 .scca-options label { flex:1; }
 .scca-options select { width:100%; }
 .scca-table { padding:6px 8px; border-width:3px; }
 .scca-app .scca-table-head h2 { font-size:16px !important; }
 .scca-table-head span { font-size:10px; }
 .scca-dice { min-height:82px; gap:8px; }
 .scca-die { border-radius:14px; }
 .scca-bet-controls { display:grid; grid-template-columns:1fr 1fr; }
 .scca-bet-controls label { grid-column:1/-1; }
 .scca-bet-controls select { width:100%; }
 .scca-roll { margin-left:0; }
 .scca-clear { color:var(--scca-text); background:var(--scca-panel); }
 .scca-footer { flex-direction:column; }
 .scca-house-actions .scca-button { flex:1 1 100%; }
 .scca-house-actions input { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .scca-app *, .scca-app *::before, .scca-app *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
