.ft-stage{position:relative;border-radius:21px;overflow:hidden;background:var(--primary-3);border:1px solid var(--line);padding-top:42px;color:var(--primary)}.ft-stage-label{position:absolute;left:17px;top:16px;z-index:1;font-size:11px;font-weight:600;letter-spacing:.01em}.ft-illustration{display:block;width:100%;height:auto;max-height:270px}.ft-orbit{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:3 6;opacity:.2}.ft-sun{fill:#d9a45e;stroke:#c28d49;stroke-width:2;stroke-linecap:round}.ft-moon{fill:#bfa4cd}.ft-stars{fill:currentColor;stroke:currentColor;stroke-width:1;opacity:.6}.ft-hills-back{fill:currentColor;opacity:.1}.ft-hills-front{fill:currentColor;opacity:.13}.ft-horizon,.ft-ground{fill:none;stroke:currentColor;stroke-width:1;opacity:.25}.ft-village{fill:var(--surface);stroke:currentColor;stroke-width:1.1;stroke-linejoin:round;opacity:.8}.ft-window{fill:#d9a45e;opacity:.6}.ft-schematic{display:block;padding:0 14px 13px;text-align:right;color:var(--muted);font-size:9px}.ft-player[data-phase=night] .ft-stage{background:linear-gradient(155deg,var(--primary-3),var(--surface))}.ft-player[data-phase=dawn] .ft-stage{background:linear-gradient(170deg,var(--surface),#c9948924)}.ft-player[data-phase=day] .ft-stage{background:linear-gradient(160deg,#d9a45e1f,var(--surface))}.ft-player[data-phase=sunset] .ft-stage{background:linear-gradient(160deg,#c9948933,var(--primary-3))}
.ft-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative;margin-top:19px;gap:2px}.ft-track:before{content:'';position:absolute;top:16px;left:10%;right:10%;height:2px;background:var(--line)}.ft-track button{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:59px;min-width:44px;padding:0 0 7px;border:0;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.ft-track button>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font-size:11px;z-index:1}.ft-track button small{font-size:10px;line-height:1.5;white-space:nowrap}.ft-track button[aria-pressed=true]>span{background:var(--primary);border-color:var(--primary);color:var(--button-ink,#fff);box-shadow:0 0 0 4px var(--primary-3)}.ft-track button.is-complete>span{border-color:var(--primary);color:var(--primary)}.ft-track button[aria-pressed=true]{color:var(--ink)}.ft-fast-band{display:grid;grid-template-columns:20% 80%;gap:0;font-size:9px;text-align:center;color:var(--muted);margin-top:6px}.ft-fast-band span{padding:8px 1px}.ft-fast-band strong{display:block;border-radius:8px;background:var(--primary-3);padding:8px 3px;color:var(--primary);font-size:10px;font-weight:550}.ft-current{text-align:center;padding-top:21px}.ft-current h3{margin:0 0 8px;font-size:22px;letter-spacing:-.02em}.ft-current p{min-height:72px}.ft-controls{margin-top:18px}.lesson-visual .ft-scope{font-size:11px;line-height:1.65;margin-top:15px;border-top:1px solid var(--line);padding-top:15px}
.ft-player .ft-sun circle{animation:ft-glow 2.7s ease-in-out infinite;animation-play-state:paused}.ft-player .ft-stars{animation:ft-stars 3s ease-in-out infinite;animation-play-state:paused}.ft-player[data-playing=true] .ft-sun circle,.ft-player[data-playing=true] .ft-stars{animation-play-state:running}@keyframes ft-glow{0%,100%{opacity:.8}50%{opacity:1}}@keyframes ft-stars{0%,100%{opacity:.35}50%{opacity:.8}}.ft-player[data-reduced=true] *{animation:none!important;transition:none!important}
.ft-dawn-glow{fill:#d9a45e;opacity:.19}.ft-dawn-glow path+path{opacity:.4}.ft-afterglow{fill:#b7807c;opacity:.23}.ft-afterglow path+path{opacity:.4}
.ft-controls{gap:6px}.ft-controls>button:not(.lv-play){flex:0 0 44px;min-width:44px;padding:9px}.ft-controls .lv-play{flex:1;min-width:0;max-width:195px;padding:10px 6px;font-size:13px}
@media(max-width:360px){.ft-track button small{font-size:9px}.ft-track button>span{width:29px;height:29px}.ft-track:before{top:14px}.ft-current p{min-height:96px}.ft-stage-label{left:13px}}
@media(prefers-reduced-motion:reduce){.ft-player *{animation:none!important;transition:none!important}}
