.stage-frame[data-atmosphere=tundra]{background:linear-gradient(180deg,rgba(8,16,32,.35),rgba(8,16,32,.72)),url(/games/slope/tundra.webp) 50% /cover no-repeat;color:#f8fafc}.stage-frame[data-atmosphere=tundra] .stage-exit{background:rgba(15,23,42,.88);border-color:#38bdf8;color:#e0f2fe}.slope{position:relative;z-index:1;height:100%;padding:16px 24px;display:grid;grid-template-rows:52px 1fr;grid-gap:10px;gap:10px;box-sizing:border-box}.slope-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding-left:118px}.slope-head h1{margin:0;font-size:1.45rem;color:#7dd3fc;text-shadow:0 2px 12px rgba(0,0,0,.55);white-space:nowrap}.slope-tabs{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.slope-check,.slope-next,.slope-tabs button{min-height:52px;min-width:120px;padding:0 18px;border-radius:999px;border:2px solid #38bdf8;background:rgba(15,23,42,.85);color:#e0f2fe;font-weight:800;font-size:1rem}.slope-tabs button[data-on=true]{background:#0ea5e9;color:#0f172a}.slope-practice{background:rgba(51,65,85,.92);border-radius:16px;border-left:4px solid #38bdf8;padding:1rem 1.15rem;display:flex;flex-direction:column;gap:10px;justify-content:center}.slope-practice p{margin:0}.slope-practice label{display:grid;grid-gap:4px;gap:4px;font-weight:700;color:#e2e8f0}.slope-practice input{min-height:52px;border-radius:10px;border:2px solid #64748b;background:#0f172a;color:#f8fafc;font-size:1.2rem;font-weight:800;padding:0 12px}.slope-practice input[data-ok=true]{border-color:#34d399}.slope-practice input[data-ok=false]{border-color:#fb7185}.slope-practice-actions{display:flex;gap:10px}.slope-check{background:#0ea5e9;color:#0f172a}.slope-check:disabled{opacity:.45}.slope-score{color:#cbd5e1;font-size:.92rem}.slope-hint{grid-column:1/-1;background:rgba(51,65,85,.88);border-radius:16px;padding:14px 18px;font-weight:700;color:#e2e8f0}.slope-grid{display:grid;grid-template-columns:1.7fr .9fr;grid-template-rows:1fr auto;grid-gap:14px;gap:14px;min-height:0}.slope-graph{background:rgba(15,23,42,.88);border:2px solid #475569;border-radius:16px;overflow:hidden;min-height:0}.slope-graph svg{width:100%;height:100%;display:block}.slope-gridline{stroke:#334155;stroke-width:1;stroke-dasharray:4 4}.slope-tick{fill:#94a3b8;font-size:12px;font-family:Segoe UI,sans-serif}.slope-axis{stroke:#f8fafc;stroke-width:3}.slope-axis-label{fill:#f8fafc;font-size:15px;font-weight:700;font-family:Segoe UI,sans-serif}.slope-glow{fill:rgba(253,224,71,.16)}.slope-guide{stroke:#94a3b8;stroke-width:4;stroke-linecap:round}.slope-journey{stroke:#34d399;stroke-width:6;stroke-linecap:round}.slope-rise{stroke:#fb7185;stroke-width:4}.slope-run{stroke:#60a5fa;stroke-width:4}.slope-rise-ref{stroke:#fb7185;stroke-width:2;stroke-dasharray:4 4;opacity:.65}.slope-rise-label{fill:#fb7185;font-size:15px;font-weight:800}.slope-run-label{fill:#60a5fa;font-size:15px;font-weight:800}.slope-moose-name{fill:#f8fafc;font-size:14px;font-weight:800;paint-order:stroke;stroke:#0f172a;stroke-width:4px}.slope-info{margin:0;padding:1.1rem 1.2rem 1.1rem 2rem;background:rgba(51,65,85,.92);border-radius:16px;border-left:4px solid #38bdf8;font-size:1.02rem;line-height:1.45;display:flex;flex-direction:column;justify-content:center;gap:.7rem}.slope-info li::marker{color:#38bdf8}.slope .rise{color:#fb7185;font-weight:800}.slope .run{color:#60a5fa;font-weight:800}.slope-m{color:#34d399;font-weight:800}.slope-controls{display:flex;flex-direction:column;justify-content:center;gap:10px;background:rgba(51,65,85,.92);border-radius:16px;padding:14px 18px}.slope-control{display:grid;grid-template-columns:150px 1fr 110px;align-items:center;grid-gap:12px;gap:12px}.slope-control input[type=range]{width:100%;height:52px;accent-color:#38bdf8}.slope-control b{text-align:right;font-size:1.05rem}.slope-calc{background:rgba(0,0,0,.45);border:2px solid #ca8a04;border-radius:16px;padding:14px;justify-content:center;gap:8px;font-size:1.25rem;font-weight:800;text-align:center;color:#fde047;animation:slopePulse 2s infinite}.slope-calc,.slope-frac{display:flex;flex-direction:column;align-items:center}.slope-frac .num{border-bottom:2px solid #f8fafc;padding:0 8px 4px;margin-bottom:4px}.slope-frac.tiny{display:inline-flex;font-size:.62em;margin:0 .2rem;vertical-align:middle}.slope-frac.tiny .num{border-bottom-color:#fde047}.slope-eq{display:flex;align-items:center}@keyframes slopePulse{0%{box-shadow:0 0 0 0 rgba(253,224,71,.35)}70%{box-shadow:0 0 0 10px rgba(253,224,71,0)}to{box-shadow:0 0 0 0 rgba(253,224,71,0)}}