/* Bloom Cascade: jewel board, crisp multiplier track, low-friction play tray. */
.cascade-page{max-width:1180px;margin:0 auto}
.cascade-hero{margin:18px 0 14px;align-items:center}
.cascade-hero h1{font-size:clamp(38px,5.5vw,62px);letter-spacing:-.055em;text-shadow:0 8px 28px #b8f54215}
.cascade-hero .badge{padding:9px 13px;border:1px solid #b8f54255;border-radius:7px;background:#152016;color:#d9f69b;font-size:12px;font-weight:800;letter-spacing:.07em}
.cascade-layout{gap:12px}
.cascade-stage{position:relative;isolation:isolate;min-height:clamp(370px,43vw,530px);overflow:hidden;border-color:#3b4a41;background:radial-gradient(ellipse at 50% 35%,#243d2d 0,#151f1c 48%,#0b1012 100%);box-shadow:inset 0 1px #ffffff10,0 25px 55px #0008}
.cascade-stage:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 50% 46%,transparent 0 32%,#0002 74%),linear-gradient(135deg,#ffffff09,transparent 30% 75%,#b8f54208);pointer-events:none}
.meter-head{padding:2px 2px 10px;color:#d9e1d9;font-size:14px}
.meter-head strong:last-child{color:#d9f69b;font-size:clamp(24px,4vw,36px);font-variant-numeric:tabular-nums;text-shadow:0 0 22px #b8f54238}
.meter{height:14px;border-color:#52634c;background:#101713;box-shadow:inset 0 2px 5px #0009}
.meter i{border-radius:99px;box-shadow:0 0 16px #b8f54255,inset 0 1px #fff8}
.cascade-grid{gap:clamp(5px,.9vw,10px);margin:clamp(18px,3vw,32px) auto;max-width:700px}
.cascade-grid .cell{position:relative;overflow:hidden;border:1px solid #ffffff40;border-radius:clamp(9px,1.2vw,15px);box-shadow:inset 0 2px 4px #fff8,inset 0 -12px 18px #0004,0 9px 15px #0008;transition:transform .22s cubic-bezier(.2,.8,.2,1),filter .2s,box-shadow .2s}
.cascade-grid .cell:after{content:"";position:absolute;left:12%;right:12%;top:9%;height:19%;border-radius:50%;background:#fff8;filter:blur(7px);pointer-events:none}
.cascade-grid .cell.win{transform:translateY(-4px) scale(1.06);filter:brightness(1.26) saturate(1.15);outline:2px solid #d9ff83;box-shadow:0 0 24px #b8f54288,inset 0 2px 5px #fff9,0 13px 20px #0009}
.result-card{align-items:center;border-color:#344138;background:linear-gradient(90deg,#101815aa,transparent);border-radius:10px;padding:14px}
.result-card strong{color:#d9f69b;font-size:clamp(22px,3vw,32px);text-shadow:0 0 20px #b8f54233}
.cascade-panel{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px 16px;padding:14px 18px;border-color:#344139;background:linear-gradient(145deg,#151d18,#0c1110);box-shadow:0 14px 35px #0006}
.cascade-panel #config,.cascade-panel #commitment,.cascade-panel #status,.cascade-panel .sandbox-note{grid-column:1/-1;margin:0}
.cascade-panel form{grid-column:1/-1;display:grid;grid-template-columns:180px auto 1fr;gap:10px;align-items:end}
.cascade-panel form label{margin:0;font-size:14px}
.cascade-panel form .cascade-actions{display:contents}
.cascade-panel form .cascade-actions button{min-height:46px}
.cascade-panel form .cascade-actions button.secondary{grid-column:3;justify-self:start}
.cascade-panel .sandbox-note{font-size:12px}
@media(max-width:760px){.cascade-hero{display:block}.cascade-hero .badge{display:inline-flex;margin-top:8px}.cascade-stage{min-height:340px;padding:12px}.cascade-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.cascade-panel{display:block;padding:12px}.cascade-panel form{display:grid;grid-template-columns:1fr auto;gap:8px}.cascade-panel form .cascade-actions{display:contents}.cascade-panel form .cascade-actions button.secondary{grid-column:2}}
@media(max-width:420px){.cascade-panel form{grid-template-columns:1fr}.cascade-panel form .cascade-actions button.secondary{grid-column:1}.cascade-grid{gap:4px}.cascade-grid .cell{border-radius:7px}}
@media(prefers-reduced-motion:reduce){.cascade-grid .cell,.meter i{transition:none}}

/* Cascade page carries a legacy embedded stylesheet; scope these tokens above it. */
.game-surface .cascade-page{max-width:1180px;margin:0 auto}
.game-surface .cascade-hero{margin:18px 0 14px;align-items:center}
.game-surface .cascade-hero h1{font-size:clamp(38px,5.5vw,62px);letter-spacing:-.055em;text-shadow:0 8px 28px #b8f54215}
.game-surface .cascade-hero .badge{padding:9px 13px;border:1px solid #b8f54255;border-radius:7px;background:#152016;color:#d9f69b;font-size:12px;font-weight:800;letter-spacing:.07em}
.game-surface .cascade-layout{gap:12px}
.game-surface .cascade-stage{position:relative;isolation:isolate;min-height:clamp(370px,43vw,530px);overflow:hidden;border-color:#3b4a41;background:radial-gradient(ellipse at 50% 35%,#243d2d 0,#151f1c 48%,#0b1012 100%);box-shadow:inset 0 1px #ffffff10,0 25px 55px #0008}
.game-surface .meter-head{padding:2px 2px 10px;color:#d9e1d9;font-size:14px}
.game-surface .meter-head strong:last-child{color:#d9f69b;font-size:clamp(24px,4vw,36px);font-variant-numeric:tabular-nums;text-shadow:0 0 22px #b8f54238}
.game-surface .meter{height:14px;border-color:#52634c;background:#101713;box-shadow:inset 0 2px 5px #0009}
.game-surface .meter i{border-radius:99px;box-shadow:0 0 16px #b8f54255,inset 0 1px #fff8}
.game-surface .cascade-grid{gap:clamp(5px,.9vw,10px);margin:clamp(18px,3vw,32px) auto;max-width:700px}
.game-surface .cascade-grid .cell{position:relative;overflow:hidden;border:1px solid #ffffff40;border-radius:clamp(9px,1.2vw,15px);box-shadow:inset 0 2px 4px #fff8,inset 0 -12px 18px #0004,0 9px 15px #0008;transition:transform .22s cubic-bezier(.2,.8,.2,1),filter .2s,box-shadow .2s}
.game-surface .cascade-grid .cell:after{content:"";position:absolute;left:12%;right:12%;top:9%;height:19%;border-radius:50%;background:#fff8;filter:blur(7px);pointer-events:none}
.game-surface .cascade-grid .cell.win{transform:translateY(-4px) scale(1.06);filter:brightness(1.26) saturate(1.15);outline:2px solid #d9ff83;box-shadow:0 0 24px #b8f54288,inset 0 2px 5px #fff9,0 13px 20px #0009}
.game-surface .result-card{align-items:center;border-color:#344138;background:linear-gradient(90deg,#101815aa,transparent);border-radius:10px;padding:14px}
.game-surface .result-card strong{color:#d9f69b;font-size:clamp(22px,3vw,32px);text-shadow:0 0 20px #b8f54233}
.game-surface .cascade-panel{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px 16px;padding:14px 18px;border-color:#344139;background:linear-gradient(145deg,#151d18,#0c1110);box-shadow:0 14px 35px #0006}
.game-surface .cascade-panel #config,.game-surface .cascade-panel #commitment,.game-surface .cascade-panel #status,.game-surface .cascade-panel .sandbox-note{grid-column:1/-1;margin:0}
.game-surface .cascade-panel form{grid-column:1/-1;display:grid;grid-template-columns:180px auto 1fr;gap:10px;align-items:end}
.game-surface .cascade-panel form label{margin:0;font-size:14px}
.game-surface .cascade-panel form .cascade-actions{display:contents}
.game-surface .cascade-panel form .cascade-actions button{min-height:46px}
.game-surface .cascade-panel form .cascade-actions button.secondary{grid-column:3;justify-self:start}
@media(max-width:760px){.game-surface .cascade-hero{display:block}.game-surface .cascade-hero .badge{display:inline-flex;margin-top:8px}.game-surface .cascade-stage{min-height:340px;padding:12px}.game-surface .cascade-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.game-surface .cascade-panel{display:block;padding:12px}.game-surface .cascade-panel form{display:grid;grid-template-columns:1fr auto;gap:8px}.game-surface .cascade-panel form .cascade-actions{display:contents}.game-surface .cascade-panel form .cascade-actions button.secondary{grid-column:2}}
@media(max-width:420px){.game-surface .cascade-panel form{grid-template-columns:1fr}.game-surface .cascade-panel form .cascade-actions button.secondary{grid-column:1}.game-surface .cascade-grid{gap:4px}.game-surface .cascade-grid .cell{border-radius:7px}}
@media(prefers-reduced-motion:reduce){.game-surface .cascade-grid .cell,.game-surface .meter i{transition:none}}
.cascade-grid.is-dealing .cell{opacity:0;transform:translateY(-14px) scale(.82);filter:brightness(1.5)}
.cascade-grid.is-dealing .cell.is-dealt{animation:cascade-tile-land .38s cubic-bezier(.18,.74,.25,1.15) both}
@keyframes cascade-tile-land{0%{opacity:0;transform:translateY(-17px) scale(.78);filter:brightness(1.8)}72%{opacity:1;transform:translateY(4px) scale(1.06);filter:brightness(1.3)}100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.cascade-grid.is-dealing .cell,.cascade-grid.is-dealing .cell.is-dealt{animation:none;opacity:1;transform:none;filter:none}}
