/* One active chapter per viewport; derivations open in a dialog. */
body.course-new{height:100dvh;overflow:hidden;font-size:15px;background:#fff;line-height:1.45}
.course-new #site-header{height:58px;position:relative;backdrop-filter:none;background:#fff}
.course-new .site-header-inner{height:58px;min-height:58px;max-width:none;padding:0 22px;gap:20px;flex-wrap:nowrap}
.course-new .site-brand{gap:8px}.course-new .site-brand strong{font-size:17px}.course-new .site-mark{display:none}
.course-new .site-nav{gap:20px;min-height:0;margin:0;width:auto;flex:1;justify-content:center}
.course-new .site-nav a{font-size:15px;gap:5px}.course-new .site-nav a span{font-size:12px;color:#778397}
.course-case-label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:14px}.course-case-label select{width:165px;height:31px;font-size:14px;padding:3px 7px}
.course-new .page-shell{max-width:none;margin:0;padding:12px 20px;height:calc(100dvh - 58px);min-height:0;overflow:hidden}
.course-new .page-heading,.course-new .system-context,.course-new .page-links,.course-new #site-footer{display:none!important}
.chapter-workspace{height:100%;min-height:0;display:grid;grid-template-rows:34px 82px minmax(0,1fr);gap:9px}
.chapter-toolbar{display:flex;align-items:center;gap:12px;min-height:0}.chapter-toolbar h1{font-size:20px;margin:0 auto 0 0}.chapter-toolbar .segmented{gap:0}.chapter-toolbar button{padding:4px 13px;font-size:14px}
.chapter-toolbar .segmented button{border-radius:0}.chapter-toolbar .segmented button:first-child{border-radius:4px 0 0 4px}.chapter-toolbar .segmented button:last-child{border-radius:0 4px 4px 0}
.course-context{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(300px,1fr) auto;align-items:center;gap:20px;border-block:1px solid var(--line);min-height:0;padding:3px 14px}
.course-loop{height:76px;min-width:0}.course-loop svg{height:100%;width:100%;display:block}.course-loop #feedback-plant math{font-size:25px}.course-context math{font-size:19px}.course-equations{display:flex;justify-content:center;align-items:center;gap:25px;min-width:0}.course-case-note{color:var(--muted);font-size:13px;max-width:200px}.course-case-note strong{font-weight:400;color:var(--ink);display:block}
.course-main{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;min-height:0;overflow:hidden}
.course-controls{border:1px solid var(--line);border-radius:4px;padding:14px;display:flex;flex-direction:column;gap:13px;min-height:0;font-size:14px}.course-controls h2{margin:0;font-size:17px}.course-controls label{display:flex;align-items:center;justify-content:space-between;gap:8px}.course-controls output{color:var(--blue)}.course-controls input[type=range]{margin:8px 0 0;height:4px}.course-controls select{height:31px;font-size:14px;padding:3px 7px}.course-controls .btn{min-height:28px;font-size:14px;padding:4px 8px}.course-controls p{font-size:13px;margin:0;color:var(--muted)}.course-controls math{font-size:18px}.course-controls .control-group{margin:0}.course-controls .divider{margin:0}.course-controls .segmented{gap:5px}.course-controls .segmented button{font-size:13px;padding:4px 8px}
.control-bottom{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.course-readout{display:grid;grid-template-columns:1fr auto;gap:7px 8px;border-block:1px solid var(--line);padding:10px 0;font-size:14px}.course-readout strong{font-weight:400;text-align:right;font-variant-numeric:tabular-nums}.course-readout span{color:var(--muted)}.course-status{color:#267a61}.course-status.unstable{color:#b53c3c}.course-status.boundary{color:#a56822}
.course-plots{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:10px;min-width:0;min-height:0}.course-plot{border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.course-plot h2{font-size:16px;font-weight:400;margin:0;padding:8px 12px 2px;display:flex;align-items:center;justify-content:space-between;gap:8px}.course-plot h2 small{font-family:var(--academic-text);font-size:12px;color:var(--muted);font-weight:400}.course-chart{flex:1;min-height:0;min-width:0;position:relative;padding:1px 6px 4px}.course-chart svg{width:100%;height:100%;display:block;overflow:hidden;touch-action:none}.course-chart text{font-size:13px}.course-chart .drag-pole{cursor:grab}.course-chart .drag-pole:active{cursor:grabbing}
.course-plots.time-plots{grid-template-columns:1.35fr 1fr;grid-template-rows:minmax(0,1.15fr) minmax(0,.85fr)}.time-plots .response-panel{grid-row:1/3}.course-plots.root-plots{grid-template-rows:minmax(0,1fr) 118px}.root-plots .root-extra{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:10px 14px;font-size:14px;align-items:center}.root-extra p{margin:3px 0}.root-extra math{font-size:18px}.root-extra .equation-heading{font-size:14px;color:var(--muted)}.course-legend{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:13px}.course-legend i{display:inline-block;width:18px;height:0;border-top:2px solid var(--blue);margin-right:5px}.course-legend .gray{border-color:#8f9db2;border-top-style:dashed}
.course-classic{grid-row:2/4;min-height:0;display:flex;flex-direction:column}.course-classic iframe{width:100%;height:100%;border:1px solid var(--line);border-radius:4px;flex:1;min-height:0}.course-classic-title{font-size:13px;color:var(--muted);margin-bottom:5px}
dialog.course-dialog{max-width:780px;width:calc(100vw - 60px);max-height:calc(100dvh - 80px);border:1px solid #b5bfd0;border-radius:5px;padding:24px;line-height:1.8;font-size:16px;background:#fff;color:var(--ink)}dialog.course-dialog::backdrop{background:#15283f35}dialog.course-dialog h2{font-size:21px}dialog.course-dialog .close-dialog{float:right}dialog.course-dialog p{margin:12px 0}dialog.course-dialog table{border-collapse:collapse;width:100%;font-size:14px}dialog.course-dialog td,dialog.course-dialog th{border:1px solid var(--line);padding:5px 10px;text-align:left}dialog.course-dialog math{font-size:21px}
.routh-table{width:100%;border-collapse:collapse;font-size:14px}.routh-table td{padding:4px 9px;border-bottom:1px solid #edf0f5;text-align:right}.routh-table td:first-child{color:var(--muted);text-align:left}.routh-panel .course-chart{display:flex;align-items:center;padding:6px 15px}.routh-note{padding:0 12px 7px;font-size:13px;color:var(--muted)}
@media(max-height:780px){.course-new .page-shell{padding:8px 14px}.chapter-workspace{grid-template-rows:30px 70px minmax(0,1fr);gap:7px}.course-loop{height:64px}.course-controls{padding:11px;gap:10px}.course-context math{font-size:17px}.course-case-note{font-size:12px}.course-plot h2{padding-top:6px}.course-plots.root-plots{grid-template-rows:minmax(0,1fr) 100px}.root-extra{font-size:13px!important}}
@media(max-width:1300px){.course-new .site-nav{gap:14px}.course-new .site-header-inner{padding:0 16px;gap:12px}.course-new .site-brand strong{font-size:16px}.course-new .site-nav a{font-size:14px}.course-case-label select{width:150px}.course-main{grid-template-columns:205px minmax(0,1fr)}.course-context{gap:12px;padding-inline:8px;grid-template-columns:minmax(270px,.9fr) minmax(260px,1fr) 140px}.course-case-note{max-width:140px}.course-equations{gap:14px}}
@media(max-width:1000px){.course-new .site-brand{display:none}.course-new .site-nav{gap:8px;justify-content:space-between}.course-new .site-nav a span{display:none}.course-context{grid-template-columns:1fr 1fr}.course-case-note{display:none}.course-main{grid-template-columns:190px minmax(0,1fr)}.course-new .page-shell{padding:8px}.course-plot h2{font-size:14px}.course-chart text{font-size:12px}}
