.fov-page{max-width:1080px;margin:auto;padding:28px 16px 70px;background:#07111f;color:#edf4fb;font-family:system-ui}.fov-page h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.03;margin:.25em 0}.fov-page>p,.fov-copy p{color:var(--muted);line-height:1.65}.fov-lab{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:start;margin-top:22px}.fov-view,.fov-controls,.fov-copy{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.fov-frame{height:340px;position:relative;display:grid;place-items:center;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#142841,#08111e 70%)}.fov-frame:before{content:'· ✦  ·   ✧     · ✦ ·     ✧';position:absolute;inset:25px;color:#fff;letter-spacing:22px;opacity:.65}.fov-moon{position:relative;min-width:7px;min-height:7px;max-width:78%;max-height:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f4f0dc,#c7c2b2 65%,#99958a);box-shadow:0 0 22px #cfd9ff55}.fov-verdict{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface2)}.fov-verdict small{display:block;color:var(--muted);font-size:.72rem}.fov-verdict strong{display:block;margin-top:4px;font-size:.86rem;line-height:1.4}.fov-verdict strong[data-mode='env']{color:var(--muted)}.fov-verdict strong[data-mode='context']{color:var(--ok)}.fov-verdict strong[data-mode='subject']{color:var(--warn)}.fov-verdict strong[data-mode='close']{color:var(--danger)}
.fov-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.fov-metrics div{padding:10px;background:var(--surface2);border-radius:10px}.fov-metrics small{display:block;color:var(--muted)}.fov-controls label{display:block;margin-bottom:18px;color:var(--muted)}.fov-controls input{width:100%;margin-top:8px}.fov-value{float:right;color:var(--text)}.fov-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.fov-copy h2{margin-top:0}.fov-links{display:flex;gap:8px;flex-wrap:wrap}.fov-links a{color:#8db8ff;text-decoration:none;border:1px solid #31465f;padding:8px 11px;border-radius:999px}@media(max-width:760px){.fov-page{padding:18px 10px 70px}.fov-lab,.fov-flow{grid-template-columns:1fr}.fov-frame{height:260px}.fov-metrics{grid-template-columns:1fr 1fr}.fov-metrics div:last-child{grid-column:1/-1}}
/* parameter-visual-contract */
.fov-frame{height:auto;min-height:260px;max-height:430px;--sky-scale:1;transition:aspect-ratio .18s ease}.fov-frame:before{transform:scale(var(--sky-scale));transform-origin:center;transition:transform .18s ease}.fov-moon{width:auto;transition:width .16s ease,height .16s ease}

.course-overview-image{margin:14px 0 22px;width:min(100%,560px);border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.course-overview-image img{display:block;width:100%;height:auto;aspect-ratio:14/9;object-fit:cover}.course-overview-image figcaption{padding:9px 12px;color:var(--muted);font-size:.72rem;line-height:1.45}


/* WTS lesson split alignment v1 — 2026-09-23 */
@media(min-width:1024px){.fov-lab{grid-template-columns:minmax(0,1.45fr) minmax(340px,.72fr);gap:22px;margin-top:28px}.fov-lab>*{min-width:0;align-self:start}.fov-frame{height:370px}.fov-metrics{gap:10px;grid-auto-rows:1fr}.fov-flow{gap:14px;grid-auto-rows:1fr}.fov-flow>*{height:100%}}
