@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@400;600;700;800;900&display=swap";.cascada-app{--surface:#fff;--cream:#fcf3e4;--ink:#2b1e52;--ink-muted:#6c5f94;--line:#2b1e521f;--pink:#f36;--pink-dark:#b82549;--teal:#396;--teal-dark:#256e49;--purple:#c0c;--purple-dark:#930093;--yellow:#ffb22e;--yellow-dark:#b88021;--display:"Baloo 2", system-ui, sans-serif;--body:"Nunito", system-ui, sans-serif;--cell:38px;--gap:5px;width:100%;font-family:var(--body);color:var(--ink);margin:0 auto;position:relative}.cascada-app *{box-sizing:border-box}.cascada-app header{text-align:center;margin-bottom:14px}.cascada-app .subtitle{color:var(--ink-muted);margin:0;font-size:13px;font-weight:600}.cascada-app .seed-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.cascada-app .seed-label{font-family:var(--body);color:var(--ink-muted);font-size:12px;font-weight:600}.cascada-app .retry-btn{font-family:var(--body);border:2px solid var(--pink);background:var(--surface);color:var(--pink);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;transition:background .12s}.cascada-app .retry-btn:hover{background:#ff3e861a}.cascada-app .retry-btn:disabled{opacity:.4;cursor:not-allowed}.cascada-app .record-line{text-align:center;font-family:var(--body);color:var(--yellow-dark);margin-top:8px;font-size:12.5px;font-weight:800}.cascada-app .hud{justify-content:space-between;align-items:stretch;gap:8px;margin:14px 0 12px;display:flex}.cascada-app .hud-item{background:var(--surface);border:1px solid var(--line);text-align:center;box-shadow:0 3px 0 var(--line);border-radius:14px;flex:1;padding:9px 8px}.cascada-app .hud-label{font-family:var(--body);color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.cascada-app .hud-value{font-family:var(--display);color:var(--teal-dark);font-size:19px;font-weight:700}.cascada-app .hud-value.landed{color:var(--yellow-dark)}.cascada-app .hud-value.bump{animation:.25s cascada-bump}@keyframes cascada-bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.cascada-app .cabinet{background:var(--cream);box-shadow:inset 0 0 0 1px var(--line);border-radius:20px;padding:14px}.cascada-app .board-wrap{justify-content:center;padding:2px 0;display:flex}.cascada-app .board{width:calc(7 * var(--cell) + 6 * var(--gap));height:calc(7 * var(--cell) + 6 * var(--gap));position:relative}.cascada-app svg.thread{pointer-events:none;z-index:6;position:absolute;inset:0;overflow:visible}.cascada-app .tile{width:var(--cell);height:var(--cell);font-family:var(--display);font-weight:700;font-size:calc(var(--cell) * .42);color:var(--ink);background:var(--surface);cursor:pointer;user-select:none;touch-action:none;z-index:2;border:1.5px solid #2b1e5238;border-radius:10px;justify-content:center;align-items:center;transition:top .32s cubic-bezier(.34,1.2,.64,1),transform .18s,opacity .2s,background .15s,box-shadow .15s;display:flex;position:absolute;box-shadow:0 2px #2b1e5247}.cascada-app .tile .pts{font-family:var(--body);font-size:calc(var(--cell) * .2);color:var(--yellow-dark);opacity:.8;font-weight:700;position:absolute;bottom:1px;right:2px}.cascada-app .tile .pts.high{color:var(--pink);opacity:1;font-weight:800}.cascada-app .tile.sel{background:var(--pink);color:#fff;box-shadow:0 3px 0 var(--pink-dark);z-index:4}.cascada-app .tile.sel .pts{color:#fff}.cascada-app .tile.invalid{animation:.28s cascada-shake}@keyframes cascada-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.cascada-app .tile.target{background:var(--purple);color:#fff;cursor:default;box-shadow:0 3px 0 var(--purple-dark);border-color:var(--purple-dark)}.cascada-app .tile.target .pts{display:none}.cascada-app .tile.target.landed{background:var(--yellow);color:var(--ink);box-shadow:0 3px 0 var(--yellow-dark);animation:.5s cubic-bezier(.34,1.56,.64,1) cascada-landedPop}@keyframes cascada-landedPop{0%{transform:scale(1)}45%{transform:scale(1.25)}to{transform:scale(1)}}.cascada-app .tile.clearing{opacity:0;transform:scale(.15)rotate(12deg)}.cascada-app .current-word{text-align:center;font-family:var(--body);letter-spacing:.02em;color:var(--ink);min-height:22px;margin-top:14px;font-size:16px;font-weight:700}.cascada-app .current-word .pts{color:var(--yellow-dark)}.cascada-app .found-words{flex-wrap:wrap;justify-content:center;gap:6px;min-height:24px;margin-top:8px;display:flex}.cascada-app .found-words .chip{font-family:var(--body);color:var(--teal-dark);background:#14c7be1a;border:1px solid #14c7be59;border-radius:20px;padding:3px 9px;font-size:12px;font-weight:700}.cascada-app .controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.cascada-app .controls-secondary{justify-content:center;margin-top:10px;display:flex}.cascada-app button{font-family:var(--body);letter-spacing:.01em;border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--line);border-radius:999px;padding:12px 18px;font-size:14px;font-weight:800;transition:background .12s,border-color .12s,transform 80ms,box-shadow 80ms}.cascada-app button:hover{background:#f7efe0}.cascada-app button:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.cascada-app button:disabled{opacity:.4;cursor:not-allowed}.cascada-app button.primary{background:var(--pink);border-color:var(--pink);color:#fff;box-shadow:0 4px 0 var(--pink-dark)}.cascada-app button.primary:hover{background:#e02c72}.cascada-app button.ghost{color:var(--ink-muted);box-shadow:none;background:0 0;border-color:#0000}.cascada-app #btnConfirm.ready{background:var(--pink);border-color:var(--pink);color:#fff;animation:1s ease-in-out infinite cascada-readyPulse}@keyframes cascada-readyPulse{0%,to{box-shadow:0 4px 0 var(--pink-dark), 0 0 0 0 #ff3e8680}50%{box-shadow:0 4px 0 var(--pink-dark), 0 0 0 7px #ff3e8600}}.cascada-app .result-msg{text-align:center;font-family:var(--body);color:var(--purple);min-height:18px;margin-top:10px;font-size:13px;font-weight:700}.cascada-app .guest-invite{text-align:center;font-family:var(--body);color:var(--ink-muted);margin-top:6px;font-size:12px;font-weight:600}.cascada-app .loading-overlay{z-index:80;text-align:center;background:#fcf3e4f0;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.cascada-app .loading-overlay .spinner{border:3px solid #7b4fe02e;border-top-color:var(--purple);border-radius:50%;width:34px;height:34px;margin-bottom:16px;animation:.9s linear infinite cascada-spin}@keyframes cascada-spin{to{transform:rotate(360deg)}}.cascada-app .loading-overlay .loading-text{font-family:var(--display);color:var(--purple);font-size:13px;font-weight:700}.cascada-app .loading-overlay .loading-sub{font-family:var(--body);color:var(--ink-muted);max-width:320px;margin-top:10px;font-size:12.5px}.cascada-app .start-overlay{background:var(--surface);z-index:90;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cascada-app .start-overlay button{padding:16px 30px;font-size:14px}.cascada-app .overlay{z-index:50;opacity:0;pointer-events:none;background:#2b1e5266;justify-content:center;align-items:center;padding:20px;transition:opacity .25s;display:flex;position:absolute;inset:0}.cascada-app .overlay.show{opacity:1;pointer-events:auto}.cascada-app .modal{background:var(--surface);color:var(--ink);text-align:center;border:1px solid var(--line);width:100%;max-width:400px;box-shadow:0 8px 0 var(--line), 0 20px 45px -20px #2b1e5259;border-radius:22px;padding:26px 22px}.cascada-app .modal .eyebrow2{font-family:var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--yellow-dark);font-size:11px;font-weight:800}.cascada-app .modal .outcome-word{font-family:var(--display);color:var(--teal-dark);margin:14px 0 6px;font-size:26px;font-weight:700}.cascada-app .modal .outcome-sub{font-family:var(--body);color:var(--ink-muted);margin-bottom:16px;font-size:12px}.cascada-app .modal .result-row{font-family:var(--body);color:var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.cascada-app .modal .result-row-label{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-muted);font-weight:700}.cascada-app .modal .result-row-value{font-family:var(--display);color:var(--yellow-dark);font-size:14px;font-weight:700}.cascada-app .modal .result-row-value.mult{color:var(--purple)}.cascada-app .modal .result-words{font-family:var(--body);color:var(--ink-muted);margin:12px 0;font-size:12px;line-height:1.6}.cascada-app .mult-chain{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:30px;padding:8px 0;display:flex}.cascada-app .mult-chip{font-family:var(--display);color:#fff;background:var(--purple);opacity:0;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700;transition:opacity .25s,transform .25s cubic-bezier(.34,1.56,.64,1);transform:scale(.3)translateY(6px)}.cascada-app .mult-chip.in{opacity:1;transform:scale(1)translateY(0)}.cascada-app .final-calc{font-family:var(--body);color:var(--ink-muted);opacity:0;margin-top:14px;font-size:13px;transition:opacity .3s}.cascada-app .final-calc.show{opacity:1}.cascada-app .modal .score-big{font-family:var(--display);color:var(--pink);margin:10px 0 4px;font-size:38px;font-weight:700;transition:transform .18s}.cascada-app .modal .score-big.pop{animation:.45s cubic-bezier(.34,1.56,.64,1) cascada-scorePop}@keyframes cascada-scorePop{0%{transform:scale(1)}45%{transform:scale(1.35)}to{transform:scale(1)}}.cascada-app .modal .score-label{font-family:var(--body);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:12px;font-weight:700}.cascada-app .new-record{font-family:var(--display);color:var(--yellow-dark);opacity:0;margin-bottom:14px;font-size:12.5px;font-weight:700;transition:opacity .3s,transform .3s cubic-bezier(.34,1.56,.64,1);transform:scale(.7)}.cascada-app .new-record.show{opacity:1;animation:1s ease-in-out infinite cascada-recordPulse;transform:scale(1)}@keyframes cascada-recordPulse{0%,to{filter:brightness()}50%{filter:brightness(1.25)}}.cascada-app .modal button{color:var(--ink)}.cascada-app .modal button.primary{color:#fff;opacity:0;transition:opacity .35s}.cascada-app .modal button.primary.ready-to-show{opacity:1}.cascada-app .out-of-attempts{text-align:center;font-family:var(--body);color:var(--ink-muted);padding:24px;font-size:14px;font-weight:700}@media (width<=480px){.cascada-app{--cell:32px;--gap:4px}}
