/* Practice owns its composition; the World supplies only the native renderer. */
#cubes-app.is-practising > :not(.cubes-stage):not(.practice-experience):not(.sfi-world-guide-dock):not(.sfi-world-overlay-host){display:none!important}
#cubes-app.is-practising .sfi-world-guide-launchers,
#cubes-app.is-practising #cubes-panel,
#cubes-app.is-practising #cubes-equation-overlay{display:none!important}
body.practice-page{overflow:auto!important;background:#000}
#cubes-app.is-practising{height:auto!important;min-height:100dvh;overflow:visible!important;background:#000}
#cubes-app.is-practising .cubes-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.practice-experience{position:relative;z-index:12;min-height:100dvh;pointer-events:none;color:#edf4f8;font:16px/1.45 Inter,system-ui,sans-serif}
.practice-experience *{box-sizing:border-box}
.practice-header{height:90px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:#91a4b1}
.practice-header a{pointer-events:auto;color:#b7c9d5;text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:44px}
.practice-title{max-width:50%;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.practice-composition{display:grid;grid-template-columns:1.1fr 1fr;max-width:1560px;margin:auto;min-height:calc(100dvh - 90px);align-items:center}
.practice-visual{position:relative;height:calc(100dvh - 130px);min-height:430px}
.practice-visual-caption{position:absolute;bottom:24px;left:0;right:0;text-align:center;display:grid;justify-items:center;gap:12px;color:#cad8e1;font-size:18px}
.practice-visual-caption small{color:#6f8493;font-size:11px}
.practice-view-switch{display:flex;gap:4px;padding:3px;border:1px solid #27333e;border-radius:100px;pointer-events:auto;background:#0b1016}
.practice-experience button,.practice-experience a{touch-action:manipulation}
.practice-view-switch button{font:12px Inter,system-ui;color:#93a9b9;background:transparent;border:0;border-radius:100px;min-height:44px;padding:0 18px;cursor:pointer}
.practice-view-switch button[aria-pressed=true]{background:#243644;color:#f0f7fc}
.practice-panel{pointer-events:auto;padding:36px clamp(24px,4vw,64px) 40px 32px;max-width:620px;width:100%;justify-self:center}
.practice-panel h2,.practice-panel h3{font-size:clamp(26px,2.8vw,42px);line-height:1.18;letter-spacing:-.025em;font-weight:500;margin:0 0 28px;color:#f3f8fb}
.practice-panel h3:focus,.practice-panel h2:focus{outline:none}
.practice-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.practice-options button{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:70px;padding:12px 32px;background:#0c141d;border:1px solid #2a3c4c;border-radius:12px;color:#edf5fb;font:500 clamp(20px,2vw,29px)/1.2 Inter,system-ui;cursor:pointer;font-variant-numeric:tabular-nums}
.practice-options button:hover:not(:disabled){background:#172e41;border-color:#77b3df}
.practice-options .choice-index{position:absolute;left:13px;font:11px Inter,system-ui;color:#678094}
.practice-options .choice-result{position:absolute;right:10px;font-size:18px}
.practice-options button.is-selected{border-color:#9acdf1;background:#1b3449}
.practice-options button.is-correct{background:#13392e;border-color:#7acdaf;color:#c3ffe7}
.practice-options button.is-incorrect{background:#382c21;border-color:#c4a17e}
.practice-options button:disabled:not(.is-correct):not(.is-incorrect){opacity:.5}
.practice-support{display:flex;justify-content:space-between;margin-top:20px;border-top:1px solid #1e2d38;padding-top:10px}
.practice-support button{border:0;background:none;color:#98b7cb;font:13px Inter,system-ui;min-height:44px;padding:0 4px;cursor:pointer}
.practice-panel .practice-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.practice-actions button,.practice-actions a,.practice-panel>button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #375267;border-radius:10px;background:#132333;color:#e8f4fc;font:14px Inter,system-ui;cursor:pointer;text-decoration:none}
.practice-panel .practice-primary{background:#c8e6fb;color:#092235;border-color:#c8e6fb}
.practice-panel a{color:#b2d4ed;text-underline-offset:4px}
.practice-panel p{font-size:14px;color:#a5bccd}
.practice-panel .practice-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.16em;margin:0 0 12px;color:#a0d5bd}
.practice-panel .practice-feedback{margin:20px 0 0;color:#c9e0ef;font-size:19px}
.practice-feedback p{font-size:19px;color:inherit}
.practice-panel .practice-muted{font-size:12px;color:#7e95a5}
.practice-status{margin:4px 0;min-height:0!important;font-size:12px!important}
.practice-status:empty{display:none}
.practice-status[data-error=true]{color:#ffc2a3}
.practice-skills{padding:0;list-style:none;margin:24px 0}
.practice-skills li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #23323d;padding:12px 0;font-size:14px}
.practice-skills strong{font-weight:400}.practice-skills span{color:#a0d5bd}
.practice-experience [hidden]{display:none!important}
.practice-experience button:focus-visible,.practice-experience a:focus-visible{outline:2px solid #b4dcfb;outline-offset:4px}
@media(max-width:900px){
 .practice-header{height:60px;padding:0 20px;font-size:11px;gap:10px}
 .practice-header a span{display:none}
 .practice-composition{display:block;min-height:0}
 .practice-visual{height:clamp(260px,39dvh,350px);min-height:0}
 .practice-visual-caption{bottom:4px;gap:5px;font-size:13px}
 .practice-visual-caption small{display:none}
 .practice-view-switch button{min-height:36px;font-size:11px;padding:0 15px}
 .practice-panel{padding:24px 20px 28px;max-width:560px;margin:auto}
 .practice-panel h2,.practice-panel h3{font-size:27px;margin-bottom:20px}
 .practice-options{gap:8px}.practice-options button{min-height:53px;font-size:22px;border-radius:9px}
 .practice-support{margin-top:15px}
}
@media(max-width:360px){.practice-panel{padding:20px 16px}.practice-panel h3{font-size:24px}.practice-options button{min-height:50px}}
