:root{color-scheme:dark;--bg:#07111f;--surface:#0d1826;--border:#26384d;--text:#eef4fb;--muted:#a7b7c8;--accent:#79c7ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#17233a,#07111f 55%);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Noto Sans JP",sans-serif}.diff-page{width:min(1080px,calc(100% - 28px));margin:auto;padding:30px 0 64px}.diff-page>small{color:var(--accent);letter-spacing:.12em}.diff-page>h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.03;margin:8px 0}.diff-page>p,.diff-copy p{color:var(--muted);line-height:1.65}.diff-lab{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:24px 0}.diff-view,.diff-controls,.diff-copy{border:1px solid var(--border);border-radius:17px;background:var(--surface);padding:16px}.diff-sky{height:310px;display:grid;place-items:center;border-radius:13px;background:radial-gradient(circle,#111f35,#030811 70%)}.diff-star{--ray-opacity:.5;--ray-length:30%;position:relative;width:26px;height:26px;border-radius:50%;background:#fff8d9;box-shadow:0 0 18px #fff4bbaa,0 0 48px #79c7ff44}.diff-star:before,.diff-star:after{content:"";position:absolute;left:50%;top:50%;width:var(--ray-length);height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:var(--ray-opacity);transform:translate(-50%,-50%);transform-origin:center}.diff-star:after{transform:translate(-50%,-50%) rotate(90deg)}.diff-star i:before,.diff-star i:after{content:"";position:absolute;left:50%;top:50%;width:var(--ray-length);height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:calc(var(--ray-opacity)*.75);transform:translate(-50%,-50%) rotate(45deg)}.diff-star i:after{transform:translate(-50%,-50%) rotate(-45deg)}.diff-tradeoff{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.diff-tradeoff>div{padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface2)}.diff-tradeoff small{display:block;color:var(--muted);font-size:.72rem}.diff-tradeoff strong{display:block;margin-top:4px;font-size:.86rem}.diff-tradeoff strong[data-level='low']{color:var(--ok)}.diff-tradeoff strong[data-level='mid']{color:var(--warn)}.diff-tradeoff strong[data-level='high']{color:var(--danger)}
.diff-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.diff-metrics div{padding:10px;background:var(--surface2);border-radius:10px}.diff-metrics small{display:block;color:var(--muted)}.diff-metrics strong{display:block;margin-top:4px}.diff-status{padding:11px;border-left:3px solid var(--accent);background:var(--surface2)}.diff-status[data-level='mid']{border-color:var(--warn)}.diff-status[data-level='high']{border-color:var(--warn)}.diff-note{color:#8397ad;font-size:.76rem;line-height:1.5}.diff-controls label{display:block;margin-bottom:18px;color:var(--muted)}.diff-controls input{width:100%;margin-top:8px}.diff-value{float:right;color:var(--text)}.diff-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.diff-copy h2{margin-top:0}.diff-links{display:flex;gap:8px;flex-wrap:wrap}.diff-links a{color:var(--accent)}@media(max-width:760px){.diff-page{padding-top:18px}.diff-lab,.diff-flow{grid-template-columns:1fr}.diff-sky{height:240px}.diff-metrics{grid-template-columns:1fr 1fr}.diff-metrics div:last-child{grid-column:1/-1}.diff-page>h1{font-size:1.85rem}}
/* parameter-visual-contract */
.diff-star{width:var(--airy-size,26px);height:var(--airy-size,26px);background:hsl(var(--wave-hue,55) 72% 88%);transition:width .16s,height .16s,background .16s}.diff-star:before,.diff-star:after,.diff-star>i:not(.diff-ray){display:none}.diff-ray{position:absolute;left:50%;top:50%;width:var(--ray-length);height:1px;background:linear-gradient(90deg,transparent,hsl(var(--wave-hue,55) 80% 90%),transparent);opacity:var(--ray-opacity);transform-origin:center;pointer-events:none}

.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){.diff-lab{grid-template-columns:minmax(0,1.45fr) minmax(340px,.72fr);gap:22px;margin:28px 0}.diff-lab>*{min-width:0;align-self:start}.diff-metrics{gap:10px;grid-auto-rows:1fr}.diff-flow{gap:14px;grid-auto-rows:1fr}.diff-flow>*{height:100%}.diff-sky{height:340px}}

@media(max-width:430px){.diff-tradeoff{grid-template-columns:1fr}}
