﻿:root{--wave-surface:#fff;--wave-soft:#f5f8fa;--wave-plot:#fbfdfe;--wave-text:#203345;--wave-muted:#718694;--wave-grid:#e6edf1;--wave-accent:#159c79}
.wave-view-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:0 24px 15px;font-size:11px;color:var(--wave-muted)}.wave-view-controls>div{display:flex;gap:5px}.wave-lab .wave-view-controls button[aria-pressed=true]{background:#e6f5ee;border-color:#6ab99c;color:#217f63}.wave-view-controls label{display:flex;gap:6px;align-items:center;cursor:pointer}.wave-view-controls input{accent-color:#159c79}#wave-3d-viewport{height:490px;position:relative;border-block:1px solid var(--border);background:var(--wave-plot);overflow:hidden}#wave-3d-viewport canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.wave-3d-status{margin:0 24px 12px;font-size:11px;line-height:1.9;color:var(--wave-muted)}.wave-3d-status:empty{display:none}.wave-3d-label{position:absolute;pointer-events:none;background:#172c3bd9;border-radius:5px;padding:4px 7px;color:#d6e6ef;font-size:10px;white-space:nowrap}.wave-3d-labels{position:absolute;inset:0;pointer-events:none}.wave-3d-labels [hidden]{display:none!important}body[data-theme=dark] .wave-lab .wave-view-controls button[aria-pressed=true]{background:#1b3d35;color:#82d8b9}@media(max-width:650px){#wave-3d-viewport{height:390px}.wave-view-controls{padding-left:16px;padding-right:16px}}
.module-nav{max-width:1240px;margin:20px auto 0;padding:8px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--border);border-radius:12px;background:var(--wave-surface)}
.module-nav [role=tablist]{display:flex;gap:5px}.module-nav button{font:inherit;font-size:13px;border:0;border-radius:7px;background:transparent;color:var(--wave-muted);padding:10px 20px;cursor:pointer}.module-nav button[aria-selected=true]{background:#e7f4ee;color:#25836a;font-weight:600}#theme-toggle{font-size:11px;padding:9px 12px}
.wave-experiments{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:0 0 22px}.wave-experiments button{font:inherit;text-align:left;padding:15px 12px;border:1px solid var(--border);border-radius:10px;background:var(--wave-surface);color:var(--wave-text);font-size:12px;cursor:pointer;line-height:1.8}.wave-experiments b{display:block;font-size:10px;color:#89a49a;font-weight:500}.wave-experiments span{display:block;color:var(--wave-muted);font-size:10px}.wave-experiments [aria-pressed=true]{border-color:#7fc7ac;background:#edf7f2}.wave-experiments button:disabled{opacity:.55;cursor:default}.wave-note{font-size:11px;line-height:1.9;color:var(--wave-muted);margin:12px 24px 18px}
.wave-actions,.wave-lesson-actions,.wave-step-controls{display:flex;gap:8px;flex-wrap:wrap;padding:0 24px 15px;align-items:center}
.wave-lab button:not([data-wave-experiment]){font:inherit;font-size:11px;border:1px solid var(--border);border-radius:6px;color:var(--wave-text);background:var(--wave-soft);padding:8px 11px;cursor:pointer}
.wave-lab button:disabled{opacity:.45;cursor:default}.wave-lab button:hover:not(:disabled){border-color:#86c5af}
.wave-canvas-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
#wave-scene{display:block;width:100%;height:350px;background:var(--wave-plot)}#wave-curve{display:block;width:100%;height:240px;background:var(--wave-plot);touch-action:pan-y}
.wave-plot-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px 10px}.wave-plot-heading h3{font-size:13px;font-weight:500;margin:0}.wave-plot-heading>div{font-size:10px;color:var(--wave-muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wave-curve-key,.wave-envelope-key{display:inline-block;width:17px;border-top:2px solid #159c79}.wave-envelope-key{border-top:1px dashed var(--wave-muted);margin-left:8px}
.wave-probe{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 24px}.wave-probe>div{padding:12px;background:var(--wave-soft);border-radius:7px;border:1px solid var(--border);font-variant-numeric:tabular-nums}.wave-probe span{display:block;color:var(--wave-muted);font-size:10px;margin-bottom:7px}.wave-probe strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.wave-summary{margin:15px 24px;font-size:13px;color:#369174;line-height:1.9}.wave-warning{background:#fff5e5;color:#9b712d;padding:12px 14px;border-radius:8px}
.wave-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 30px;border-top:1px solid var(--border);margin:20px 24px 0;padding:22px 0 15px}.wave-control{min-width:0}.wave-control-head{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:12px}.wave-control-head label{flex:1;line-height:1.7}.wave-control-head input{width:73px;min-width:0;border:1px solid var(--border);padding:7px;border-radius:6px;font:inherit;color:var(--wave-text);background:var(--wave-soft)}.wave-control-unit{font-size:10px;color:var(--wave-muted);min-width:18px}.wave-control input:disabled{opacity:.35;cursor:default}
.wave-finite{display:flex;align-items:center;gap:7px;margin:0 24px 15px;font-size:12px;color:var(--wave-muted);line-height:1.8}.wave-finite input{accent-color:var(--wave-accent)}.wave-feedback{margin:10px 24px 18px;color:#4d9e80;font-size:11px;line-height:1.8;min-height:20px}
.wave-lesson{margin-top:20px}.wave-lesson-actions{padding-top:8px}.wave-step-controls{font-size:12px;color:var(--wave-muted)}.wave-lesson details{margin:0 24px 12px;border:1px solid var(--border);background:var(--wave-soft);border-radius:7px;padding:12px 14px;font-size:12px;color:var(--wave-muted);line-height:1.9}.wave-lesson summary{cursor:pointer;color:var(--wave-text)}.wave-lesson details p{margin-bottom:0}.wave-lesson-status{font-size:11px;line-height:1.8;color:var(--wave-muted);margin:12px 24px}.wave-lesson-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 24px 24px}.wave-lesson-cards.is-updating{opacity:.5}.wave-lesson-card{border:1px solid var(--border);border-radius:9px;padding:18px 20px;min-width:0;overflow-wrap:anywhere;background:var(--wave-surface)}.wave-lesson-card h3{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.7;font-weight:600;margin:0 0 14px}.wave-lesson-card p{font-size:12px;color:var(--wave-muted);line-height:1.95;margin:8px 0}.wave-lesson-card:last-child{grid-column:1/-1;background:var(--wave-soft)}
body[data-theme=dark]{color-scheme:dark;--ink:#d6e5ee;--muted:#96a9b9;--border:#2b3d4a;--wave-surface:#172632;--wave-soft:#1b2e3b;--wave-plot:#101e29;--wave-text:#d6e5ee;--wave-muted:#a2b6c5;--wave-grid:#293b49;background:#101b25;color:var(--ink)}
body[data-theme=dark] .panel{background:var(--wave-surface)}body[data-theme=dark] .module-nav button[aria-selected=true],body[data-theme=dark] .wave-experiments [aria-pressed=true]{background:#1b3d35;color:#82d8b9}body[data-theme=dark] .wave-warning{background:#3c3021;color:#e2bd83}body[data-theme=dark] .math-formula{background:#203441;color:#e2edf2}body[data-theme=dark] .learning-step,body[data-theme=dark] .metric,body[data-theme=dark] .presets button,body[data-theme=dark] .element-choice select,body[data-theme=dark] .angle-entry input,body[data-theme=dark] .learning-toolbar,body[data-theme=dark] .learning-toolbar button,body[data-theme=dark] .locate-button{background:var(--wave-soft);color:var(--wave-text);border-color:var(--border)}body[data-theme=dark] .learning-step p,body[data-theme=dark] .learning-intro,body[data-theme=dark] #result-description{color:var(--wave-muted)}body[data-theme=dark] #diagram-container{background:#11212d}body[data-theme=dark] .learning-conclusion,body[data-theme=dark] .step-number{background:#1b3b32;color:#9cd5bf}body[data-theme=dark] .model-warning{background:#263944;color:#bfd0db}body[data-theme=dark] .model-warning.limited{background:#3c3021;color:#e2bd83}body[data-theme=dark] .section-index{background:#263b47;color:#b0c2cf}
@media(max-width:900px){.wave-controls{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.wave-lesson-cards{grid-template-columns:1fr}.wave-plot-heading{align-items:flex-start;flex-direction:column}.wave-probe{grid-template-columns:repeat(2,1fr)}#wave-scene{height:310px}.wave-actions,.wave-lesson-actions{padding-left:16px;padding-right:16px}}@media(max-width:480px){.wave-controls{grid-template-columns:1fr;margin:18px 16px 0;gap:17px}.wave-lesson-cards{margin:14px}.wave-lesson-card{padding:15px}.wave-note,.wave-probe,.wave-summary,.wave-finite,.wave-feedback{margin-left:16px;margin-right:16px}.wave-lesson details,.wave-lesson-status{margin-left:16px;margin-right:16px}}
@media(max-width:1320px){.module-nav{margin-left:40px;margin-right:40px}}@media(max-width:900px){.wave-experiments{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.module-nav{margin:16px 20px 0}.module-nav button{padding:9px 12px}}@media(max-width:480px){.module-nav{margin:12px 12px 0}.wave-experiments{grid-template-columns:repeat(2,1fr)}}

