:root{--ink:#183a40;--muted:#647b7d;--primary:#176a60;--primary-dark:#104d46;--mint:#a1e8ce;--bg:#f6f8f7;--surface:#fff;--surface-alt:#eef5f2;--line:#e2e9e6;--amber:#b36c20;--blue:#356baf;--purple:#8553b0;--radius:16px;--shadow:0 3px 16px #123b4204;--font:"Segoe UI", system-ui, -apple-system, sans-serif}body[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#ebf6f8;--muted:#a8bfc2;--primary:#72d7c7;--primary-dark:#4bb5a5;--mint:#7fd4ba;--bg:#0f1b1d;--surface:#172327;--surface-alt:#203439;--line:#2a3b3f;--amber:#f4b76a;--blue:#8cb9ff;--purple:#c9a1ff;--shadow:0 3px 24px #00000059}body[data-theme=dark] .sidebar,body[data-theme=dark] .topbar,body[data-theme=dark] .panel,body[data-theme=dark] .simulation-card,body[data-theme=dark] .search-field,body[data-theme=dark] .grade-filter select,body[data-theme=dark] .filter-tab,body[data-theme=dark] .stat-card,body[data-theme=dark] .continue-card,body[data-theme=dark] .activity-card,body[data-theme=dark] .category-card,body[data-theme=dark] .viewport-panel,body[data-theme=dark] .control-panel,body[data-theme=dark] .graph-card,body[data-theme=dark] .measurement-strip>div,body[data-theme=dark] .number-unit,body[data-theme=dark] .theme-toggle{background:var(--surface);border-color:var(--line)}body[data-theme=dark] .brand-mark,body[data-theme=dark] .nav-link.active,body[data-theme=dark] .status-badge.available,body[data-theme=dark] .theme-toggle{color:var(--ink)}body[data-theme=dark] .button.secondary,body[data-theme=dark] .button.ghost,body[data-theme=dark] .preset,body[data-theme=dark] .filter-tab,body[data-theme=dark] .theme-toggle{color:var(--ink);background:var(--surface)}body[data-theme=dark] .simulation-art,body[data-theme=dark] .continue-art,body[data-theme=dark] .category-icon,body[data-theme=dark] .discovery-note{background-color:#72d7c717}body[data-theme=dark] .hero-card{background:linear-gradient(135deg,#153e43,#10242f)}body[data-theme=dark] .activity-empty .icon,body[data-theme=dark] .continue-art,body[data-theme=dark] .category-icon,body[data-theme=dark] .sim-card .icon{color:var(--primary)}body[data-theme=dark] .simulation-art{--art-grid:#aee6d016;--art-guide:#d6f1e957;--art-stroke:#9fe3c8;--art-accent:#d2fff0;--art-accent-fill:#92e3c557;--art-fill-start:#5abc9b6b;--art-fill-end:#32736252;background-color:#203338}body[data-theme=dark] .art-waves{--art-stroke:#9bc2ff;--art-accent:#d2e7ff;--art-accent-fill:#86adff57}body[data-theme=dark] .art-electricity{--art-stroke:#f2cf77;--art-accent:#ffeeb4;--art-accent-fill:#f0c14c57}body[data-theme=dark] .art-magnetism{--art-stroke:#d0b3ff;--art-accent:#eedbff;--art-accent-fill:#ac7aff57}body[data-theme=dark] .art-optics{--art-stroke:#efb29a;--art-accent:#ffd4c6;--art-accent-fill:#e79a7857}body[data-theme=dark] .art-thermal{--art-stroke:#8fdbe5;--art-accent:#cef7fb;--art-accent-fill:#66cdde57}body[data-theme=dark] .status-badge{color:#d2e7e2;background:#0f1e21e0;border-color:#b8e2d62e}body[data-theme=dark] .status-badge.available{color:#dffff0;background:#befce024;border-color:#91ebc957}body[data-theme=dark] .simulation-card:hover{box-shadow:0 16px 30px #00000052}body[data-theme=dark] .nav-link:hover{background:#1e2e32}body[data-theme=dark] .nav-link.active{color:#ddfbf2;background:#25413f}body[data-theme=dark] .avatar{color:#d8f6ee;background:#25413f}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:15px/1.6 var(--font);margin:0}body[data-theme=dark]{background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit}input,select{accent-color:var(--primary)}button,select,input[type=number],input[type=search]{min-height:44px}button:disabled{cursor:default;opacity:.45}button:disabled:hover{transform:none}input[type=range]{appearance:none;background:0 0}input[type=range]::-webkit-slider-runnable-track{background:#dbe9e1;border-radius:6px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary);border:3px solid #fff;border-radius:50%;width:24px;height:24px;margin-top:-9px;box-shadow:0 0 0 1px #8cb69e}input[type=range]::-moz-range-track{background:#dbe9e1;border-radius:6px;height:6px}input[type=range]::-moz-range-thumb{background:var(--primary);border:3px solid #fff;border-radius:50%;width:20px;height:20px}:focus-visible{outline-offset:4px;outline:3px solid #247fbc}h1,h2,h3,p{margin:0}h1{letter-spacing:-.9px;font-size:clamp(26px,2.7vw,36px);font-weight:650;line-height:1.3}h2{letter-spacing:-.35px;font-size:20px;font-weight:650;line-height:1.4}h3{font-size:16px;font-weight:650;line-height:1.4}p{color:var(--muted)}.icon{vertical-align:middle;flex-shrink:0;width:22px;height:22px}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:11px 18px;font-size:14px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.primary{background:var(--primary);color:#fff}.primary:hover{background:var(--primary-dark)}.secondary{background:var(--surface);border-color:#d8e3de}.secondary:hover{background:#edf5f1}body[data-theme=dark] .secondary:hover{background:#72d7c714}.mint{color:#15473e;background:var(--mint)}.mint:hover{background:#b7f0db}.ghost{color:var(--muted);background:0 0}.full-width{width:100%}.eyebrow{letter-spacing:1.6px;color:var(--primary);font-size:11px;font-weight:650}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:3px 0 28px;display:flex}.page-heading .eyebrow{margin-bottom:9px}.page-heading h1+p{margin-top:11px}.version-pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:30px;align-items:center;gap:8px;padding:7px 13px;font-size:12px;display:inline-flex}.version-pill .icon{width:16px;height:16px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px;display:flex}.section-heading a{min-height:44px;color:var(--primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.section-heading a .icon{width:17px}.section-heading p{margin-top:5px;font-size:13px}.subtle{color:var(--muted);font-size:12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.tag{color:var(--primary);letter-spacing:1px;font-size:11px;font-weight:650;display:inline-block}.loading,.empty-state{text-align:center;width:100%;padding:64px 24px}.empty-state p{margin:12px 0 20px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:#fff;z-index:20;border-radius:8px;padding:12px 20px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.theme-toggle{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.mobile-break{display:none}@media (max-width:760px){.page-heading{flex-wrap:wrap;align-items:flex-start;margin-bottom:22px}.section-heading{flex-wrap:wrap}.panel{padding:20px}.mobile-break{display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms}}.sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:10;flex-direction:column;width:230px;padding:32px 20px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.6px;align-items:center;gap:10px;min-height:44px;padding:0 6px;font-size:23px;font-weight:750;display:flex}.brand-light{color:var(--primary);font-weight:450}.brand small{letter-spacing:1.15px;color:var(--muted);margin-top:3px;font-size:7px;display:block}.brand-mark{background:var(--ink);color:var(--mint);border-radius:10px;place-items:center;width:38px;height:40px;display:grid}.brand-mark .icon{width:26px;height:26px}.nav-caption{letter-spacing:1.4px;margin:48px 12px 16px;font-size:9px;font-weight:650}.nav-link{color:#617678;border-radius:9px;align-items:center;gap:12px;min-height:48px;margin-bottom:8px;padding:11px 13px;font-size:14px;font-weight:550;display:flex}.nav-link:hover{background:#f4f7f5}.nav-link.active{color:#196454;background:#e8f3ed}.nav-count{background:#d6e9df;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:10px}.sidebar-note{border-top:1px solid var(--line);margin-top:auto;padding:24px 10px 0}.sidebar-note>.icon{color:var(--primary);width:30px;height:30px;margin-bottom:12px;display:block}.sidebar-note strong{font-size:12px;font-weight:600}.sidebar-note p{margin-top:6px;font-size:11px;line-height:1.8}.sidebar-note>span{letter-spacing:1.25px;color:var(--muted);margin-top:26px;font-size:8px;display:block}.workspace{margin-left:230px}.topbar{border-bottom:1px solid var(--line);background:#ffffffb3;justify-content:space-between;align-items:center;min-height:74px;padding:0 40px;display:flex}#breadcrumb{color:var(--muted);font-size:13px}.topbar-right{align-items:center;gap:18px;display:flex}.local-label{color:var(--muted);font-size:11px}.local-label i{background:#3e9773;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.avatar{color:#567469;background:#e8f1eb;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:600;display:grid}main{min-width:0;max-width:1520px;margin:auto;padding:35px 40px 24px}main:focus{outline:none}.page-footer{max-width:1520px;color:var(--muted);justify-content:space-between;gap:16px;margin:auto;padding:24px 40px;font-size:10px;display:flex}@media (max-width:1180px){.sidebar{width:200px;padding-inline:14px}.workspace{margin-left:200px}main{padding:28px}.topbar{padding-inline:28px}.brand{font-size:21px}}@media (max-width:760px){.sidebar{width:100%;padding:4px 6px max(6px, env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);background:#fffffff5;inset:auto 0 0}.sidebar .brand,.nav-caption,.sidebar-note{display:none}.sidebar nav{grid-template-columns:repeat(5,1fr);display:grid}.nav-link{border-radius:7px;flex-direction:column;gap:3px;min-height:54px;margin:0;padding:7px 2px;font-size:10px}.nav-link .icon{width:20px;height:20px}.nav-count{display:none}.workspace{padding-bottom:calc(74px + env(safe-area-inset-bottom));margin-left:0}.topbar{min-height:56px;padding:0 18px}.topbar-right{gap:10px}#breadcrumb{font-size:11px}.local-label{font-size:10px}main{padding:24px 16px 16px}.page-footer{flex-wrap:wrap;padding:16px}}.hero-card{color:#fff;background:#153c43;border-radius:18px;grid-template-columns:1fr 1.06fr;min-height:320px;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:1;padding:34px 38px;position:relative}.hero-kicker{letter-spacing:1.8px;color:#b4d9d0;align-items:center;gap:8px;font-size:9px;font-weight:600;display:flex}.hero-kicker i{background:var(--mint);border-radius:50%;width:5px;height:5px}.hero-copy h2{letter-spacing:-1px;margin:18px 0;font-size:clamp(30px,3vw,42px);font-weight:550;line-height:1.17}.hero-copy p{color:#bdcfcd;margin-bottom:24px;font-size:13px;line-height:1.8}.hero-tags{color:#aac6c0;gap:14px;margin-top:22px;font-size:9px;display:flex}.hero-tags span+span:before{content:"·";margin-right:14px}.hero-visual{align-items:center;min-width:0;padding:20px 24px 8px 0;display:flex;position:relative}.hero-visual svg{width:100%;height:auto;overflow:visible}.illustration-note{color:#b8d4d0;letter-spacing:.7px;font-size:10px;position:absolute;bottom:16px;right:28px}.stats-row{grid-template-columns:1fr 1fr 1.25fr;gap:16px;margin-top:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:16px;padding:19px 22px;display:flex}.stat-card>.icon{color:#598f7b;width:22px;height:22px}.stat-card strong{font-size:25px;font-weight:650;line-height:1.3}.stat-card strong span{color:var(--muted);font-size:12px;font-weight:400}.stat-card p{margin-top:4px;font-size:11px}.mini-progress{background:conic-gradient(var(--primary) var(--progress), #edf2ef 0);border-radius:50%;flex-shrink:0;width:44px;height:44px;margin-left:auto;position:relative}.mini-progress:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:5px}.dashboard-columns{grid-template-columns:1.3fr 1fr;gap:24px;display:grid}.continue-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:92px 1fr 18px;align-items:center;gap:18px;min-height:160px;padding:22px;display:grid}.continue-card:hover{border-color:#81b5a2}.continue-art{color:#4b8c75;background:#eaf3ee;border-radius:10px;place-items:center;height:96px;display:grid}.continue-art .icon{stroke-width:1px;width:52px;height:52px}.continue-card h3{margin:8px 0 5px}.continue-card p{font-size:11px}.continue-card .eyebrow{letter-spacing:1px;font-size:9px}.progress-track{background:#ebf1ed;border-radius:4px;height:4px;margin:15px 0 6px}.progress-track span{background:var(--primary);border-radius:inherit;height:100%;display:block}.activity-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:160px;padding:18px 22px}.activity-empty{flex-direction:column;align-items:flex-start;gap:9px;font-size:12px;display:flex}.activity-empty .icon{color:#8faea1}.activity-empty p{font-size:11px}.activity-row{gap:14px;margin:8px 0 12px;font-size:12px;display:flex}.activity-row strong{font-weight:500}.activity-row p{font-size:10px}.activity-dot{background:#86b49d;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:6px}.category-grid{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.category-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 14px;transition:border-color .15s}.category-card:hover{border-color:#85b39f}.category-icon{color:#538b73;background:#eaf2ed;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.category-waves{color:#6b80ad;background:#edf1f8}.category-electricity{color:#a88932;background:#faf2de}.category-magnetism{color:#9372b6;background:#f2edfa}.category-optics{color:#b78370;background:#f9edeb}.category-thermal{color:#698e9e;background:#edf2f5}.category-card h3{margin:16px 0 8px;font-size:12px}.category-card p{font-size:10px;line-height:1.5}.discovery-note{background:#edf3f0;border:1px solid #e0e9e2;border-radius:12px;align-items:center;gap:18px;margin-top:26px;padding:23px 26px;display:flex}.discovery-note>span{color:#699884}.discovery-note h3{font-size:13px}.discovery-note p{margin-top:5px;font-size:11px}.discovery-note .button{flex-shrink:0;margin-left:auto;font-size:12px}@media (max-width:1280px){.category-grid{grid-template-columns:repeat(3,1fr)}.hero-copy{padding:30px}.stat-card{padding:17px}.continue-card{grid-template-columns:70px 1fr;gap:12px}.continue-card>.icon{display:none}}@media (max-width:950px){.hero-card{grid-template-columns:1.1fr 1fr}.stats-row{grid-template-columns:1fr 1fr}.stat-card:last-child{grid-column:1/-1}.dashboard-columns{grid-template-columns:1fr;gap:0}.discovery-note{flex-wrap:wrap}.discovery-note .button{margin-left:0}}@media (max-width:760px){.hero-card{grid-template-columns:1fr}.hero-copy{padding:28px}.hero-visual{max-height:210px;margin-top:-10px;padding:0 15px}.hero-visual svg{height:210px}.hero-copy h2{font-size:36px}.hero-tags{margin-top:16px}.stats-row{gap:10px}.stat-card{gap:10px;padding:14px}.stat-card p{font-size:10px}.category-grid{grid-template-columns:repeat(2,1fr)}.continue-card{grid-template-columns:70px 1fr;padding:18px}.discovery-note{padding:20px}}.library-toolbar{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:22px;display:flex}.search-field{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex:1;align-items:center;gap:10px;min-width:220px;padding:8px 14px;display:flex}.search-field .icon{color:var(--muted);flex-shrink:0;width:18px}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;min-width:0}.grade-filter{align-items:center;gap:10px;font-size:13px;display:flex}.grade-filter select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 12px}.available-filter{align-items:center;gap:8px;min-height:44px;font-size:12px;display:flex}.filter-tabs{flex-wrap:wrap;gap:10px;display:flex}.filter-tab{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:10px;align-items:center;gap:8px;padding:9px 13px;font-size:12px;transition:border-color .18s,transform .18s,background .18s,color .18s;display:flex}.filter-tab .icon{width:17px;height:17px}.filter-tab:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));transform:translateY(-1px)}.library-count{margin:22px 0 14px;font-size:12px}.simulation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.simulation-grid>.empty-state{grid-column:1/-1}.simulation-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.simulation-card:hover{transform:translateY(-2px);box-shadow:0 14px 26px #113d431a}.simulation-card.ready{border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}.simulation-art{--art-stroke:#6ea889;--art-accent:#a2efd0;--art-accent-fill:#81dfc047;--art-fill-start:#6fbe9a73;--art-fill-end:#55917a38;--art-grid:#699e851c;--art-guide:#547a7773;background-color:color-mix(in srgb,var(--surface-alt) 75%,white 25%);background-image:linear-gradient(var(--art-grid) 1px, transparent 1px), linear-gradient(90deg, var(--art-grid) 1px, transparent 1px);isolation:isolate;background-size:24px 24px;place-items:center;height:170px;padding:12px;display:grid;position:relative}.simulation-art:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0000000d);height:42%;position:absolute;inset:auto 0 0}.simulation-illustration{width:100%;height:100%;display:block}.simulation-illustration .art-main,.simulation-illustration .art-vector,.simulation-illustration .art-ground,.simulation-illustration .art-ground-detail,.simulation-illustration .art-guides,.simulation-illustration .art-dash,.simulation-illustration .art-orbit,.simulation-illustration .art-accent-line{fill:none;vector-effect:non-scaling-stroke}.simulation-illustration .art-main{stroke:var(--art-stroke);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.simulation-illustration .art-vector{stroke:#e9b46b;stroke-width:3.3px;stroke-linecap:round;stroke-linejoin:round}.simulation-illustration .art-ground{stroke:color-mix(in srgb,var(--art-stroke) 62%,transparent);stroke-width:3px;stroke-linecap:round}.simulation-illustration .art-ground-detail{stroke:color-mix(in srgb,var(--art-stroke) 40%,transparent);stroke-width:2.5px;stroke-linecap:round}.simulation-illustration .art-guides{stroke:var(--art-guide);stroke-width:2.2px;stroke-dasharray:5 6}.simulation-illustration .art-dash{stroke:color-mix(in srgb,var(--art-accent) 72%,white 28%);stroke-width:3px;stroke-dasharray:7 8;stroke-linecap:round}.simulation-illustration .art-orbit{stroke:#7ac0e559;stroke-width:2.4px}.simulation-illustration .art-accent{fill:var(--art-accent)}.simulation-illustration .art-main-fill{stroke:color-mix(in srgb,var(--art-stroke) 72%,transparent);stroke-width:2.2px}.simulation-illustration .art-main-fill.soft{opacity:.9}.simulation-illustration .art-accent-fill{stroke:#ffffff29;stroke-width:1.4px}.simulation-illustration .art-label,.simulation-illustration .art-symbol{fill:color-mix(in srgb,var(--art-stroke) 84%,white 16%);font-size:18px;font-weight:700}.simulation-illustration .art-label.faint{fill:color-mix(in srgb,var(--art-stroke) 58%,white 42%)}.art-waves{--art-stroke:#6189d1;--art-accent:#9fceff;--art-accent-fill:#84b4ff40;--art-fill-start:#6b91df73;--art-fill-end:#446abd38;--art-grid:#6189d11f}.art-electricity{--art-stroke:#b98d2f;--art-accent:#ffe29e;--art-accent-fill:#f4ca5d3d;--art-fill-start:#d6a5356b;--art-fill-end:#b079162e;--art-grid:#ae8c371f}.art-magnetism{--art-stroke:#8e66c7;--art-accent:#d1b2ff;--art-accent-fill:#bb90ff38;--art-fill-start:#996ae066;--art-fill-end:#6d4faa33;--art-grid:#8f66c71c}.art-optics{--art-stroke:#b57b61;--art-accent:#ffb9a0;--art-accent-fill:#eb97783d;--art-fill-start:#cf88685c;--art-fill-end:#9959442e;--art-grid:#b57b611f}.art-thermal{--art-stroke:#4f97a0;--art-accent:#9be1eb;--art-accent-fill:#68cbdb38;--art-fill-start:#4d97a05c;--art-fill-end:#316f7b2e;--art-grid:#4f97a01c}.status-badge{color:#556a67;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border:1px solid #ffffff61;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:650;position:absolute;top:14px;left:14px}.status-badge.available{color:#23583d;background:#ddf4e8f0;border-color:#5ba7815c}.simulation-body{flex-direction:column;flex:1;padding:22px;display:flex}.simulation-body .eyebrow{letter-spacing:1px;font-size:9px}.simulation-body h2{margin:10px 0;font-size:19px;line-height:1.24}.simulation-body>p:not(.eyebrow):not(.planned-label){min-height:64px;font-size:13px}.concepts{flex-wrap:wrap;gap:6px;margin:20px 0;display:flex}.concepts span{border:1px solid var(--line);color:var(--muted);background:color-mix(in srgb,var(--surface-alt) 60%,transparent);border-radius:999px;padding:5px 9px;font-size:10px}.simulation-body .button,.planned-label{margin-top:auto}.planned-label{border-top:1px solid var(--line);padding-top:15px;font-size:11px}.scope-note{max-width:800px;margin:26px 0;font-size:12px}@media (max-width:1180px){.simulation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:550px){.simulation-grid{grid-template-columns:1fr}.library-toolbar{gap:12px}.search-field{flex-basis:100%}.filter-tab{padding:9px 10px;font-size:11px}.simulation-art{height:158px}}.learning-layout{grid-template-columns:1fr 300px;align-items:start;gap:24px;display:grid}.learning-catalog{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0 0 20px;display:grid}.learning-choice{border:1px solid var(--line);background:var(--surface);min-height:72px;color:var(--ink);text-align:left;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;padding:12px 14px;display:flex}.learning-choice span{color:var(--muted);letter-spacing:.5px;font-size:11px}.learning-choice.selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.experiment-confirm{margin:12px 0 0 8px}.lesson-content #prediction-result{color:var(--primary);margin:10px 0 0}.lesson-content h2,.tools-layout h2{margin:10px 0 14px}.lesson-content p{margin-bottom:18px}.lesson-content hr{border:0;border-top:1px solid var(--line);margin:30px 0}.equation-box{background:color-mix(in srgb,var(--primary) 8%,var(--surface));border:1px solid var(--line);color:var(--ink);border-radius:10px;margin:18px 0;padding:18px 22px;font-family:Cambria Math,Georgia,serif;font-size:17px;line-height:2}.learning-aside ol{margin:22px 0;padding:0;list-style:none}.learning-aside li{align-items:center;gap:12px;margin-bottom:16px;font-size:13px;display:flex}.learning-aside li span{border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.learning-aside li.done{color:var(--primary)}.learning-aside li.done span{background:#dcf0e4;border-color:#9ac9b3}.learning-mastery{border-top:1px solid var(--line);padding-top:18px}.learning-mastery h3{margin:0 0 6px;font-size:15px}.learning-mastery>p{font-size:12px}.learning-mastery-item{margin:14px 0}.learning-mastery-item>div{justify-content:space-between;gap:8px;font-size:12px;display:flex}.learning-mastery-item>div span,.learning-mastery-item small{color:var(--muted)}.learning-mastery-item progress{width:100%;height:8px;accent-color:var(--primary);margin:6px 0;display:block}.learning-mastery-item small{font-size:11px}.learning-aside p{font-size:12px}.assumption-box{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.assumption-box strong{font-size:12px}.assumption-box p{margin-top:10px}fieldset{border:0;margin:0 0 18px;padding:0}legend{color:var(--muted);margin-bottom:12px;font-size:12px}.quiz-option{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;min-height:48px;margin-bottom:8px;padding:12px 14px;font-size:14px;display:flex}.quiz-option input{flex-shrink:0}#quiz-result{color:var(--primary);margin-top:16px}.lab-roadmap{max-width:900px}.large-icon{background:color-mix(in srgb,var(--primary) 8%,var(--surface));width:72px;height:72px;color:var(--primary);border-radius:16px;place-items:center;margin-bottom:20px;display:grid}.large-icon .icon{width:40px;height:40px}.lab-roadmap h2{margin-bottom:12px}.lab-roadmap>p{max-width:700px}.roadmap-grid{grid-template-columns:1fr 1fr;gap:24px;margin:30px 0;display:grid}.roadmap-grid>div{background:var(--bg);border-radius:12px;padding:22px}.roadmap-grid h3{margin:16px 0 10px}.roadmap-grid p{font-size:13px}.tools-layout{grid-template-columns:1fr 1fr;gap:24px;display:grid}.tools-layout p{margin-bottom:18px;font-size:14px}.field{flex-direction:column;gap:7px;margin:18px 0;font-size:12px;font-weight:600;display:flex}.field input,.field select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:8px;padding:10px 12px}.unit-pair{grid-template-columns:1fr 24px 1fr;align-items:center;gap:18px;display:grid}.unit-pair>.icon{margin-top:22px}.conversion-output{background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--primary);overflow-wrap:anywhere;border-radius:12px;padding:24px;font-size:28px;font-weight:650;display:block}@media (max-width:1050px){.learning-layout{grid-template-columns:1fr}.learning-aside{grid-row:1}.learning-aside ol{flex-wrap:wrap;gap:12px;display:flex}.learning-aside li{margin:0}}@media (max-width:760px){.tools-layout,.roadmap-grid{grid-template-columns:1fr}}.learning-filters{grid-template-columns:minmax(200px,2fr) repeat(2,minmax(140px,1fr));align-items:end;gap:12px;margin:10px 0 14px;display:grid}.learning-filters label{color:var(--ink);gap:6px;font-size:13px;font-weight:650;display:grid}.learning-filters input,.learning-filters select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px;font-weight:450}#learning-filter-count{color:var(--muted);grid-column:1/-1;margin:0;font-size:13px}.learning-choice[hidden],.learning-filter-empty[hidden]{display:none}.learning-filter-empty{border:1px dashed var(--line);color:var(--muted);border-radius:12px;margin:0 0 15px;padding:18px}.experiment-checklist{border:1px solid var(--line);background:color-mix(in srgb,var(--primary) 4%,var(--surface));border-radius:12px;margin:17px 0 0;padding:16px 18px}.experiment-checklist strong{font-size:14px;display:block}.experiment-checklist ul{margin:9px 0 0;padding:0;list-style:none}.experiment-checklist li{color:var(--muted);padding:5px 0;font-size:14px}.experiment-checklist li.verified{color:var(--primary);font-weight:600}.experiment-confirm:disabled{opacity:.55;cursor:not-allowed}@media (max-width:760px){.learning-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-filters label:first-child{grid-column:1/-1}}.action-row{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.teacher-note{border:1px solid var(--line);background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-radius:14px;margin-top:18px;padding:18px}.teacher-note strong{margin-bottom:10px;font-size:14px;display:block}.teacher-note ul{color:var(--muted);margin:0;padding-left:18px}.teacher-note li{margin:7px 0}body[data-theme=dark] .field input,body[data-theme=dark] .field select,body[data-theme=dark] .learning-filters input,body[data-theme=dark] .learning-filters select{background:var(--surface)}:root{--ink:#17343c;--muted:#526b75;--primary:#12695e;--primary-dark:#09554e;--button-bg:#12695e;--button-hover:#0a514b;--button-ink:#fff;--bg:#f2f6f7;--surface:#fff;--surface-alt:#f7faf9;--line:#dce8e7;--radius:18px;--shadow:0 12px 34px #113a440b, 0 2px 6px #113a4407;--shadow-hover:0 18px 44px #0b3a431c;--focus:#2b82c8}body[data-theme=dark]{--ink:#eaf5f3;--muted:#b2c4c8;--primary:#75e1cc;--primary-dark:#51bca8;--button-bg:#54ccb5;--button-hover:#75e1cc;--button-ink:#072722;--bg:#0c171b;--surface:#15252a;--surface-alt:#1b3034;--line:#2d474b;--shadow:0 12px 34px #00000038;--shadow-hover:0 22px 42px #0000004d;--focus:#8fc4ff}html:has(body[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{min-height:100%}body{background:var(--bg);font-size:16px;line-height:1.62}body:before{content:"";pointer-events:none;z-index:-1;opacity:.58;background:radial-gradient(55vw 55vw at 92% 2%,#30a5910e,#0000 65%),radial-gradient(45vw 35vw at 12% 84%,#4281b40b,#0000 65%);position:fixed;inset:0}body[data-theme=dark]:before{opacity:1}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,input,select,textarea{color:var(--ink)}input,select,textarea{max-width:100%}input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea{background:var(--surface);border-color:var(--line);color:var(--ink)}input[type=range]{cursor:pointer;min-height:44px}input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb,var(--primary) 24%,var(--line))}input[type=range]::-webkit-slider-thumb{background:var(--button-bg);border-color:var(--surface);box-shadow:0 1px 5px #0000002e}input[type=range]::-moz-range-track{background:color-mix(in srgb,var(--primary) 24%,var(--line))}input[type=range]::-moz-range-thumb{background:var(--button-bg);border-color:var(--surface)}.button,.theme-toggle,.quick-search-toggle{font-size:14px;font-weight:660}.button{border-radius:12px;min-height:46px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}.button.primary,a.button.primary,button.button.primary{background:var(--button-bg);color:var(--button-ink)}.button.primary:hover,a.button.primary:hover,button.button.primary:hover{background:var(--button-hover);color:var(--button-ink)}.button.mint{color:#143f38}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button.secondary:hover{border-color:var(--primary);background:var(--surface-alt)}.button:hover:not(:disabled){box-shadow:0 6px 18px #0444401f}.page-heading{margin:5px 0 25px}.page-heading h1{letter-spacing:-.045em;font-size:clamp(28px,3vw,42px);font-weight:720;line-height:1.16}.page-heading p:not(.eyebrow){max-width:72ch;margin-top:10px}h2{letter-spacing:-.025em;font-size:clamp(20px,1.7vw,25px)}h3{font-size:17px}.eyebrow,.tag,.simulation-body .eyebrow,.continue-card .eyebrow{letter-spacing:.1em;font-size:11px;font-weight:760}.version-pill{white-space:normal;border-color:var(--line);background:var(--surface);font-size:12px}.subtle,.scope-note,.section-heading p{font-size:13px}.panel,.simulation-card,.stat-card,.continue-card,.activity-card,.category-card,.viewport-panel,.control-panel,.mechanics-viewport,.mechanics-panel,.graph-card,.virtual-lab>div,.learning-choice,.explorer3d-stage,.explorer3d-controls{border-color:var(--line);box-shadow:var(--shadow)}.panel,.mechanics-panel,.control-panel{border-radius:var(--radius)}.sidebar{background:var(--surface);border-color:var(--line);overscroll-behavior:contain;width:248px;padding:28px 15px 20px;overflow-y:auto}.workspace{min-height:100vh;margin-left:248px}.brand{gap:12px;padding:0 9px;font-size:25px}.brand small{letter-spacing:.095em;font-size:10px;line-height:1.4}.brand-mark{color:#b9f5e3;background:#123d43;border-radius:13px;width:43px;height:43px;box-shadow:0 7px 15px #0e484029}.nav-caption{letter-spacing:.12em;margin:39px 12px 16px;font-size:11px}.nav-link{min-height:50px;color:var(--muted);border-radius:12px;gap:13px;margin-bottom:5px;font-size:14px;transition:color .2s,background .2s,transform .2s;position:relative}.nav-link:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));transform:translate(2px)}.nav-link.active{background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-weight:700}.nav-link.active:before{content:"";background:var(--primary);border-radius:0 6px 6px 0;width:3px;position:absolute;top:12px;bottom:12px;left:-15px}.nav-count{background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--primary);border-radius:7px;font-size:12px}.sidebar-note strong{font-size:14px}.sidebar-note p,.sidebar-note>span{font-size:12px;line-height:1.6}.sidebar-note>span{margin-top:15px}.topbar{z-index:5;background:color-mix(in srgb,var(--surface) 87%,transparent);-webkit-backdrop-filter:blur(16px);min-height:78px;position:sticky;top:0}body[data-theme=dark] .topbar{background:#14252aed}#breadcrumb{color:var(--muted);font-size:14px;font-weight:550}.topbar-right{gap:12px}.local-label{white-space:nowrap;font-size:12px}.local-label i{width:7px;height:7px;box-shadow:0 0 0 4px #3e97731a}.avatar{background:color-mix(in srgb,var(--primary) 10%,var(--surface));width:38px;height:38px;color:var(--primary);font-size:13px}.theme-toggle{white-space:nowrap;border-color:var(--line);min-height:44px;color:var(--ink)}.quick-search-toggle{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.quick-search-toggle:hover,.theme-toggle:hover{border-color:var(--primary);background:var(--surface-alt)}.quick-search-toggle .icon{width:17px;height:17px}.quick-search-toggle kbd{border:1px solid var(--line);font-size:11px;font-family:var(--font);color:var(--muted);border-radius:6px;padding:2px 6px}main{max-width:1600px;padding:33px clamp(22px,3vw,52px) 28px}.page-footer{max-width:1600px;padding:24px clamp(22px,3vw,52px) 30px;font-size:12px}.hero-card{background:linear-gradient(122deg,#123c44,#11504d 60%,#145a60);border:1px solid #b9f2dd1a;border-radius:23px;min-height:350px;box-shadow:0 20px 48px #09343c1f}.hero-card:after{content:"";pointer-events:none;border:1px solid #b0f3da2e;border-radius:50%;width:230px;height:230px;position:absolute;top:-70px;right:-80px;box-shadow:0 0 0 65px #b0f3da09,0 0 0 130px #b0f3da05}.hero-copy{padding:45px clamp(30px,3.6vw,55px)}.hero-kicker{font-size:11px}.hero-copy h2{letter-spacing:-.045em;font-size:clamp(35px,3.3vw,54px);font-weight:690}.hero-copy p{color:#d2e5e2;font-size:15px;line-height:1.75}.hero-tags{color:#d4e8e2;flex-wrap:wrap;font-size:12px}.illustration-note{font-size:11px}.hero-visual{isolation:isolate}.hero-visual svg{filter:drop-shadow(0 0 13px #7fdcbc1c)}.hero-visual svg>circle:nth-of-type(3){transform-origin:50%;animation:4.6s ease-in-out infinite particle-breathe}@keyframes particle-breathe{50%{opacity:.65}}.stat-card{border-radius:16px;padding:22px}.stat-card p,.continue-card p,.activity-empty p,.activity-row p,.activity-row{font-size:13px}.continue-card,.activity-card,.category-card{border-radius:16px}.continue-card,.category-card,.simulation-card,.learning-choice{transition:transform .22s,box-shadow .22s,border-color .22s,background .22s}.continue-card:hover,.category-card:hover,.simulation-card:hover,.learning-choice:hover{box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--primary) 43%,var(--line));transform:translateY(-3px)}.continue-card .progress-track,.progress-track{background:var(--line)}.mini-progress:after{background:var(--surface)}.category-card h3,.discovery-note h3{font-size:15px}.category-card p,.discovery-note p{font-size:13px}.discovery-note{border-radius:17px}.library-toolbar{align-items:center}.search-field,.grade-filter select{background:var(--surface);border-color:var(--line);border-radius:12px}.available-filter,.library-count,.scope-note{font-size:13px}.filter-tabs{gap:9px}.filter-tab{border-radius:10px;min-height:44px;font-size:13px}.filter-tab.selected{background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);border-color:var(--primary)}.simulation-card{border-radius:18px;overflow:hidden}.simulation-art{min-height:146px}.simulation-body{padding:23px}.simulation-body h2{font-size:20px}.simulation-body>p:not(.eyebrow):not(.planned-label){font-size:14px;line-height:1.6}.concepts span{border-radius:8px;padding:4px 9px;font-size:12px}.status-badge{padding:5px 12px;font-size:12px;font-weight:700}.planned-label{font-size:13px}.mechanics-viewport,.mechanics-panel,.viewport-panel,.control-panel,.graph-card{border-radius:16px}.mechanics-viewport,.viewport-panel{box-shadow:var(--shadow)}.mechanics-scene,.newton-scene{background:linear-gradient(180deg, color-mix(in srgb,var(--primary) 11%,var(--surface)),color-mix(in srgb,var(--blue) 2%,var(--surface)))}.mechanics-scene,#explorer3d-canvas{border-radius:14px}.mechanics-measurements span,.mechanics-measurements small,.mechanics-graphs .graph-value,.mechanics-graphs .graph-title span,.graph-title span,.graph-value,.scene-legend,.scene-legend small,.playback-row .button,.speed-control,.newton-legend,.newton-legend span,.em-readouts span,.em-readouts small,.gas-readouts span,.gas-readouts small,.circuit-measurements span,.circuit-measurements small,#play-status,.explorer3d-readouts dt{font-size:13px}.mechanics-panel .control-heading h2{font-size:20px}.mechanics-parameter label,.parameter label,.newton-parameters label{font-size:14px}.mechanics-parameter>span,.parameter>span{color:var(--primary);font-variant-numeric:tabular-nums;font-size:14px}.mechanics-note,.mechanics-panel .assumptions summary,.mechanics-panel .assumptions ul{font-size:14px}.explorer3d-equation,.equation-box{border-radius:13px}.explorer3d-readouts dt{font-size:13px}.explorer3d-readouts dd{font-size:16px}.graph-card{min-width:0}.graph-svg text{fill:var(--muted);font-size:12px}.lab-grid .field,.field{font-size:14px}.virtual-lab>div{border-radius:16px}.generic-lab-graph .graph-card{border-radius:14px}.table-scroll{border:1px solid var(--line);border-radius:12px}.table-scroll table{border-collapse:collapse;width:100%}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--line);text-align:left;padding:11px 13px}.table-scroll th{color:var(--muted);background:var(--surface-alt);font-weight:660}.learning-choice{border-radius:13px;min-height:82px}.learning-choice span,.learning-mastery-item small,.learning-mastery-item>div,.learning-aside>p,.assumption-box p,.assumption-box strong,legend{font-size:13px}.learning-choice strong{font-size:15px}.lesson-content{min-width:0}.quiz-option{background:var(--surface);cursor:pointer;border-radius:12px;font-size:15px}.quiz-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.quiz-option:hover{border-color:var(--primary)}.learning-catalog{gap:11px}.learning-aside li span{width:32px;height:32px;font-size:13px}.learning-aside li{font-size:14px}.field input,.field select,.grade-filter select{background:var(--surface);border-color:var(--line);color:var(--ink)}.conversion-output{border-radius:13px}body.search-open{overflow:hidden}.quick-search-overlay{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#081b2191;justify-content:center;align-items:flex-start;padding:min(12vh,110px) 18px 24px;display:flex;position:fixed;inset:0}.quick-search-overlay[hidden]{display:none}.quick-search-dialog{border:1px solid var(--line);background:var(--surface);width:min(630px,100%);max-height:min(75vh,720px);color:var(--ink);border-radius:20px;flex-direction:column;animation:.18s ease-out palette-enter;display:flex;overflow:hidden;box-shadow:0 35px 95px #00000045}.quick-search-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 25px 14px;display:flex}.quick-search-heading h2{margin-top:4px;font-size:23px}.quick-search-close{background:var(--surface-alt);border:1px solid var(--line);border-radius:12px;width:44px;height:44px;font-size:18px}.quick-search-field{background:var(--surface-alt);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin:0 24px 14px;padding:0 14px;display:flex}.quick-search-field:focus-within{border-color:var(--primary)}.quick-search-field .icon{color:var(--primary)}#quick-search-input{background:0 0;border:0;outline:0;width:100%;min-height:52px;font-size:15px}.quick-search-results{padding:6px 14px 14px;overflow-y:auto}.quick-search-result{border-radius:12px;align-items:center;gap:13px;min-height:68px;padding:12px;display:flex}.quick-search-result:hover,.quick-search-result:focus-visible{background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.quick-search-result-icon{background:color-mix(in srgb,var(--primary) 10%,var(--surface));width:42px;height:42px;color:var(--primary);border-radius:11px;flex:none;place-items:center;display:grid}.quick-search-result>span:nth-child(2){flex:1;min-width:0}.quick-search-result strong{font-size:14px;display:block}.quick-search-result small{text-overflow:ellipsis;white-space:nowrap;max-width:52ch;color:var(--muted);font-size:12px;display:block;overflow:hidden}.quick-search-result>.icon{width:16px;color:var(--muted)}.quick-search-empty{text-align:center;padding:35px 15px}.quick-search-hint{border-top:1px solid var(--line);background:var(--surface-alt);padding:11px 24px;font-size:12px}@keyframes palette-enter{0%{opacity:.5;transform:translateY(-8px)scale(.985)}to{opacity:1;transform:none}}@keyframes content-enter{0%{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}main>:first-child{animation:.28s ease-out both content-enter}@media (max-width:1180px){.sidebar{width:216px}.workspace{margin-left:216px}main,.topbar{padding-inline:25px}.quick-search-toggle kbd{display:none}}@media (max-width:900px){.local-label{display:none}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-row>:last-child{grid-column:1/-1}.dashboard-columns{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{width:100%;padding:3px 3px max(5px,env(safe-area-inset-bottom));background:var(--surface);overflow-y:visible}.sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid}.nav-link{gap:2px;min-height:60px;padding:7px 0;font-size:10px;transform:none!important}.nav-link .icon{width:20px;height:20px}.nav-link.active:before{border-radius:5px;width:auto;height:3px;inset:auto 19% -2px}.workspace{padding-bottom:calc(78px + env(safe-area-inset-bottom));margin-left:0}.topbar{min-height:64px;padding-inline:16px}#breadcrumb{font-size:13px}.topbar-right{gap:7px}.quick-search-toggle{min-height:44px;padding:0 11px}.quick-search-toggle span,.quick-search-toggle kbd,.avatar{display:none}.theme-toggle{padding-inline:10px}main{padding:25px 16px}.page-heading h1{font-size:29px}.page-heading .version-pill{max-width:100%}.hero-card{border-radius:18px}.hero-copy{padding:29px 25px}.hero-copy h2{font-size:clamp(32px,8vw,42px)}.hero-copy p{font-size:14px}.hero-tags{gap:8px}.hero-tags span+span:before{margin-right:8px}.hero-visual{pointer-events:none}.stats-row{gap:10px}.stat-card{padding:17px}.stat-card p{font-size:12px}.page-footer{padding-inline:16px}.quick-search-heading{padding:17px 18px 10px}.quick-search-heading h2{font-size:20px}.quick-search-field{margin-inline:15px}.quick-search-hint{padding-inline:15px}.quick-search-overlay{padding-top:6vh}}@media (max-width:410px){.nav-link{font-size:10px}.nav-link:last-child>span:not(.nav-count){font-size:0}.nav-link:last-child>span:not(.nav-count):after{content:"3D";font-size:11px}.nav-link .icon{width:19px;height:19px}.theme-toggle{font-size:12px}.stats-row{grid-template-columns:1fr}.stats-row>:last-child{grid-column:auto}.category-grid{gap:10px}.category-card{padding:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.continue-card,.category-card,.simulation-card,.learning-choice{transform:none!important}}.role-toggle,.data-toggle,.presentation-toggle{border:1px solid var(--line);background:var(--surface);min-width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;padding:0 10px;font-size:13px;font-weight:700}.role-toggle[aria-pressed=true]{color:var(--primary);border-color:var(--primary)}.presentation-toggle{white-space:nowrap}.presentation-toggle[hidden]{display:none}.data-toggle{font-size:20px}.role-toggle:hover,.data-toggle:hover,.presentation-toggle:hover{border-color:var(--primary)}.quick-search-toggle{min-width:44px}body.presentation-mode .sidebar,body.presentation-mode .page-footer{display:none}body.presentation-mode .workspace{margin-left:0;padding-bottom:0}body.presentation-mode main{width:100%;max-width:none}body.presentation-mode .topbar{position:relative}body.presentation-mode #breadcrumb{font-weight:700}@media (max-width:900px){.topbar-right{gap:6px}.data-toggle{display:none}.presentation-toggle{width:44px;padding:0;font-size:0}.presentation-toggle:first-letter{font-size:19px}}@media (max-width:760px){.role-toggle{min-width:44px}.local-label{display:none}.quick-search-toggle{justify-content:center;width:44px;padding:0}.presentation-toggle{min-width:44px}#breadcrumb{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}.graphs-section .graphs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.graphs-section .graph-title h3{font-size:15px}.graphs-section .graph-card{padding:18px}.graph-svg[tabindex="0"]{cursor:crosshair;outline-offset:4px;border-radius:8px}.graph-svg[tabindex="0"]:focus-visible{outline:3px solid var(--primary)}.graph-inspection-cursor{stroke:var(--amber);stroke-width:1.6px;stroke-dasharray:4 3;pointer-events:none}.graph-inspection-dot{fill:var(--amber);stroke:var(--surface);stroke-width:2.5px;pointer-events:none}.graph-comparison-line{fill:none;stroke:var(--amber);stroke-width:2.2px;stroke-dasharray:7 5;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.graph-line{stroke-linejoin:round;stroke-linecap:round}.graph-value{overflow-wrap:anywhere;min-height:2.2em;font-size:13px;line-height:1.5}.graph-card{transition:border-color .2s,box-shadow .2s}.graph-card:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 16%, transparent)}.compare-workspace{background:color-mix(in srgb, var(--primary) 5%, var(--surface));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 22px;margin:24px 0 10px;display:grid}.compare-workspace h2{margin:6px 0 8px;font-size:clamp(18px,2vw,22px)}.compare-workspace p{font-size:14px;line-height:1.7}.compare-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.compare-actions .button{white-space:nowrap}.compare-workspace .compare-summary{border-top:1px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums;grid-column:1/-1;padding-top:12px}.comparison-legend-line{border-top:3px dashed var(--amber);vertical-align:middle;width:22px;height:0;margin-right:4px;display:inline-block}.comparison-path{stroke:var(--amber);stroke-width:3.1px;stroke-dasharray:9 7;fill:none;opacity:.95;stroke-linecap:round}body[data-theme=dark] .graph-zero{stroke:#5f797c}body[data-theme=dark] .graph-comparison-line{stroke:#f4bc74}body[data-theme=dark] .measurement-strip>div,body[data-theme=dark] .control-hint,body[data-theme=dark] .number-unit,body[data-theme=dark] .control-panel,body[data-theme=dark] .graph-card,body[data-theme=dark] .preset{background:var(--surface)}body[data-theme=dark] .preset.selected{background:color-mix(in srgb, var(--primary) 14%, var(--surface));color:var(--primary);border-color:var(--primary)}body[data-theme=dark] .table-scroll th{background:var(--surface-alt,#1b3035)}@media (max-width:850px){.compare-workspace{grid-template-columns:1fr}.compare-actions{justify-content:flex-start}}@media (max-width:520px){.compare-workspace{padding:19px}.compare-actions .button{flex:120px}.graphs-section .graphs-grid{grid-template-columns:1fr}.graph-svg{width:100%}}@media (prefers-reduced-motion:reduce){.graph-card{transition:none}}.share-setup-strip{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin:12px 0;padding:16px 18px;display:flex}.share-setup-strip strong{font-size:14px}.share-setup-strip p{margin-top:2px;font-size:13px}.share-setup-strip .button{flex-shrink:0}#share-status{color:var(--primary);overflow-wrap:anywhere;flex-basis:100%;font-size:13px}#share-status:empty{display:none}#share-status input{border:1px solid var(--primary);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:9px;padding:8px 12px;display:block}@media (max-width:520px){.share-setup-strip .button{width:100%}}.graph-card .graph-svg,.graph-svg{width:100%;height:auto;max-height:280px;color:var(--primary);display:block;overflow:visible}.graph-svg .graph-line{stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;fill:none!important;stroke:currentColor!important}.graph-svg .graph--blue .graph-line,.graph--blue .graph-line{stroke:var(--blue)!important}.graph-svg .graph--purple .graph-line,.graph--purple .graph-line{stroke:var(--purple)!important}.graph-svg .graph-comparison-line{stroke:var(--amber);stroke-width:2.2px;stroke-dasharray:7 5;fill:none!important}.graph-svg .graph-grid,.graph-svg .graph-zero{fill:none;stroke:var(--line);stroke-width:1.15px}.graph-svg .graph-zero{stroke:color-mix(in srgb,var(--muted) 70%,var(--line));stroke-width:1.6px}.graph-svg .graph-cursor{fill:none;stroke:var(--primary);stroke-width:1.6px;stroke-dasharray:4 5;opacity:.8}.graph-svg .graph-dot{fill:var(--primary);stroke:var(--surface);stroke-width:2px}.graph-svg text{fill:var(--muted);font-family:var(--font);font-size:11px}.graph-svg .graph-fit{fill:none;stroke:var(--amber);stroke-width:2.4px;stroke-dasharray:6 4}.graph-svg .graph-error-bar{fill:none;stroke:var(--amber);stroke-width:1.6px}.graph-svg .graph-measurement-point{fill:var(--primary);stroke:var(--surface);stroke-width:2.3px}.graphs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.graph-card{border:1px solid var(--line);border-radius:18px;min-width:0;padding:clamp(15px,1.5vw,24px);overflow:hidden;background:var(--surface)!important}.graph-card .graph-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.graph-card .graph-title h3{color:var(--ink);font-size:clamp(16px,1.2vw,19px)}.graph-card .graph-title span{color:var(--muted);background:var(--surface-alt);border-radius:8px;padding:3px 8px}.graph-card .graph-value{color:var(--muted);background:var(--surface-alt);border-radius:9px;min-height:43px;padding:8px 12px;font-size:clamp(12px,1vw,14px)}.simulation-layout,.mechanics-layout,.em-layout,.wave-layout,.gas-layout,.optics-layout,.field-layout,.circuit-layout{align-items:start;gap:clamp(16px,2vw,28px)}.viewport-panel,.mechanics-viewport,.panel,.graph-card{scroll-margin-top:100px}.viewport-panel,.mechanics-viewport,.wave-stage,.field-workbench,.em-workbench,.gas-workbench,.optics-workbench{overflow:hidden}#scene-container,.mechanics-scene,.newton-scene,.inclined-visual,.wave-stage,.gas-workbench,.em-workbench,.optics-stage,.field-workbench{isolation:isolate}input[type=range]{accent-color:var(--primary);touch-action:pan-y}button,.button,select{min-height:44px}.parameter,.mechanics-parameter,.em-parameter,.wave-parameter,.gas-parameter,.optics-parameter,.field-control{padding-block:3px}.control-panel h2,.mechanics-panel h2,.panel h2{line-height:1.28}body[data-theme=dark] .graph-card{background:var(--surface)!important}body[data-theme=dark] .graph-svg text{fill:#afc8c9}body[data-theme=dark] .graph-grid{stroke:#355058}@media (max-width:1100px){.graphs-grid,.mechanics-graphs .graphs-grid,.graphs-section .graphs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.graphs-grid,.mechanics-graphs .graphs-grid,.graphs-section .graphs-grid{grid-template-columns:1fr}.graph-card .graph-svg{max-height:255px}}@media (prefers-reduced-motion:reduce){.graph-card,.simulation-card,.mechanics-block,.motion-block,.oscillator-mass{transition:none!important;animation:none!important}}.hero-visual{align-items:flex-start;padding:12px clamp(10px,2vw,22px) 20px 0;position:relative}.hero-visual svg{width:100%;height:auto;display:block;overflow:visible}.hero-formula{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e8faf5;background:#114046eb;border:1px solid #88dfcc80;border-radius:17px;width:min(79%,380px);padding:16px 19px;position:absolute;bottom:42px;right:clamp(12px,2vw,30px);box-shadow:0 12px 28px #051d2033}.hero-formula strong{white-space:normal;overflow-wrap:anywhere;letter-spacing:0;font-family:Cambria,Georgia,serif;font-size:clamp(16px,1.35vw,22px);font-weight:600;display:block}.hero-formula span{color:#b2d6d0;letter-spacing:.08em;margin-top:7px;font-size:10px;font-weight:700;line-height:1.4;display:block}@media (max-width:1080px){.hero-formula{bottom:25px}}@media (max-width:760px){.hero-visual{flex-direction:column;min-height:280px;max-height:none;margin:0;padding:0 12px 14px}.hero-visual svg{height:210px}.hero-formula{width:min(94%,380px);margin:-38px 16px 10px auto;position:relative;bottom:auto;right:auto}.illustration-note{display:none}}@media (max-width:420px){.hero-formula{width:100%;margin:-22px 0 0;padding:12px 14px}.hero-formula strong{font-size:17px}}.mechanics-scene{border-color:var(--line);cursor:ew-resize;touch-action:none;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 10%,var(--surface)) 0%,var(--surface-alt) 100%);border-radius:18px;min-height:clamp(240px,23vw,340px)}.mechanics-scene:before{content:"";z-index:0;pointer-events:none;opacity:.5;background-image:linear-gradient(90deg,color-mix(in srgb,var(--primary) 10%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--primary) 10%,transparent) 1px,transparent 1px);background-size:32px 32px;position:absolute;inset:0}.mechanics-scene:after{content:"0       1       2       3       4       5";color:var(--muted);white-space:pre;letter-spacing:.26em;pointer-events:none;font-size:11px;position:absolute;bottom:4px;left:5%;right:5%;overflow:hidden}.scene-is-dragging{outline:2px solid var(--primary);outline-offset:-2px}.scene-gesture-hint{color:var(--muted);padding:11px 5px 4px;font-size:13px;line-height:1.5}.mechanics-scene .motion-block{z-index:3;border:1px solid #ffffff38;transition:left 55ms linear,box-shadow .15s;left:50%}.mechanics-scene .motion-floor,.mechanics-scene .collision-floor{z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 32%,var(--surface)),color-mix(in srgb,var(--primary) 16%,var(--surface)));height:12px}.mechanics-scene .force-arrow{z-index:6;border:1px solid color-mix(in srgb,var(--amber) 55%,transparent);background:color-mix(in srgb,var(--amber) 14%,var(--surface));cursor:ew-resize;touch-action:none;border-radius:999px;place-items:center;width:52px;height:44px;font-size:25px;display:grid;top:24%;left:22%}.mechanics-scene .force-arrow:hover,.mechanics-scene .force-arrow:focus-visible{background:color-mix(in srgb,var(--amber) 25%,var(--surface));box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 10%,transparent)}.mechanics-scene .force-label{z-index:4}.mechanics-scene .oscillator-mass{z-index:3;transition:left 55ms linear;transform:translate(-50%);box-shadow:0 12px 28px #0d655d40}.mechanics-scene .oscillator-spring{z-index:2;transition:width 55ms linear}.mechanics-scene .collision-block{border:1px solid #ffffff42;transition:left 55ms linear}.mechanics-scene #scene-caption{z-index:5;background:color-mix(in srgb,var(--surface) 92%,transparent);width:-moz-fit-content;width:fit-content;min-width:0;color:var(--ink);border-radius:999px;padding:4px 12px;bottom:20px;left:50%;transform:translate(-50%)}.mechanics-viewport{padding:clamp(14px,2vw,24px)}.mechanics-playback{gap:12px}.mechanics-playback .button{flex:none}.mechanics-measurements>div{min-height:91px;padding:13px 15px}.mechanics-measurements strong{font-size:clamp(19px,1.55vw,24px)}body[data-theme=dark] .mechanics-scene{background:linear-gradient(#1a363b,#142a30)}@media (max-width:600px){.mechanics-scene{min-height:240px}.mechanics-viewport{padding:12px}.scene-gesture-hint{font-size:12px}.mechanics-scene:after{letter-spacing:0}}.launch-aim-line{stroke:var(--amber);stroke-width:4px;stroke-dasharray:5 6;opacity:.8;pointer-events:none}.launch-aim-point{fill:var(--amber);stroke:var(--surface);stroke-width:3px;cursor:grab;touch-action:none;filter:drop-shadow(0 3px 5px #0000003d)}.launch-aim-handle{cursor:grab;outline:0}.launch-aim-handle:focus-visible .launch-aim-point,.launch-aim-handle:hover .launch-aim-point{stroke:#fff;stroke-width:5px;filter:drop-shadow(0 0 12px #f0b557bf)}.launch-aim-text{font-family:var(--font);fill:#102928;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:800}.launch-aim-hint{color:var(--muted);margin:0;padding:5px 3px 8px;font-size:13px}.projectile-scene{touch-action:pan-y}body[data-theme=dark] .projectile-scene .coordinate-grid{stroke:#355058}body[data-theme=dark] .projectile-scene .scene-grid text{fill:#b2c9ca}body[data-theme=dark] .projectile-scene .predicted-path{stroke:#87d7b5}body[data-theme=dark] .projectile-scene .traced-path{stroke:#7ae4c3}@media (max-width:600px){.launch-aim-hint{font-size:12px}}#wave-scene{cursor:ns-resize;touch-action:none;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 8%,var(--surface)),var(--surface-alt));border-radius:16px}.wave-gesture-hint{color:var(--muted);padding:8px 4px 4px;font-size:13px}.wave-profile{stroke-width:3.8px;stroke-linecap:round;fill:none}.wave-probe{stroke:var(--surface);stroke-width:3px;r:9}body[data-theme=dark] #wave-scene{background:linear-gradient(#1a343b,#14292f)}.optics-object-handle{cursor:ew-resize;touch-action:none}.optics-object-handle:hover .optics-object,.optics-object-handle:focus-visible .optics-object{stroke-width:5px;filter:drop-shadow(0 0 5px var(--amber))}#optics-scene{touch-action:pan-y;border-radius:15px}.optics-gesture-hint{color:var(--muted);margin:4px 0 12px;padding:0 6px;font-size:13px}.newton-scene{background:linear-gradient(160deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--surface-alt));cursor:ew-resize;touch-action:none;min-height:300px}.newton-scene:before{content:"";pointer-events:none;opacity:.5;background-image:linear-gradient(90deg,color-mix(in srgb,var(--primary) 12%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--primary) 12%,transparent) 1px,transparent 1px);background-size:32px 32px;position:absolute;inset:0}.newton-block{cursor:ew-resize;touch-action:none;border:2px solid color-mix(in srgb,var(--surface) 55%,transparent);flex:none;font-size:15px;transition:transform 60ms linear}.newton-vector.force{cursor:ew-resize;touch-action:none;top:36%;left:21%}.newton-vector.force:focus-visible{outline:3px solid var(--focus);border-radius:12px}.newton-vector.force svg{width:130px}.newton-vector.friction{top:69%;left:45%}.newton-gesture-hint{color:var(--muted);margin:10px 3px 0;font-size:13px}.newton-floor{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 23%,var(--surface)),color-mix(in srgb,var(--primary) 36%,var(--surface)))}body[data-theme=dark] .newton-scene{background:linear-gradient(160deg,#1d363c,#14282e)}#gas-scene{background:linear-gradient(160deg,color-mix(in srgb,var(--blue) 8%,var(--surface)),var(--surface-alt));border-radius:17px}#gas-piston{cursor:ew-resize;touch-action:none}#gas-piston:hover,#gas-piston:focus-visible{filter:drop-shadow(0 0 7px var(--primary));stroke-width:5px}.gas-gesture-hint{color:var(--muted);padding:0 4px 10px;font-size:13px;line-height:1.5}body[data-theme=dark] #gas-scene{background:linear-gradient(150deg,#1b343e,#142b33)}#hooke-apparatus{touch-action:none;cursor:default}#hooke-apparatus [data-hooke-weight]{cursor:ns-resize;stroke:var(--surface);stroke-width:2px}#hooke-apparatus [data-hooke-weight]:hover{stroke-width:4px;filter:drop-shadow(0 0 9px var(--blue))}.hooke-gesture-hint{color:var(--muted);padding:8px 4px;font-size:13px;line-height:1.6}#circuit-schematic{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--surface)),var(--surface-alt));touch-action:none;border-radius:16px}#circuit-schematic .circuit-resistor{cursor:ew-resize;touch-action:none;color:var(--primary)}#circuit-schematic .circuit-resistor:hover path,#circuit-schematic .circuit-resistor.active path{stroke:var(--amber);stroke-width:5.2px}#circuit-schematic .circuit-resistor text{font-weight:750}.circuit-gesture-hint{color:var(--muted);margin:0 4px 14px;font-size:13px}body[data-theme=dark] #circuit-schematic{background:linear-gradient(155deg,#1c343b,#132930)}#em-scene{cursor:ew-resize;touch-action:none;background:linear-gradient(160deg,color-mix(in srgb,var(--purple) 9%,var(--surface)),var(--surface-alt));border-radius:16px}.em-gesture-hint{color:var(--muted);margin:8px 4px 14px;font-size:13px}body[data-theme=dark] #em-scene{background:linear-gradient(160deg,#292f45,#1b2936)}.graph-svg[tabindex="0"]{touch-action:pan-y}
