:root{--v:#76bdff;--a:#ffad70;--weight:#ffd166;--drag:#80e1bd;--net:#c49bff;--night:#0b1220;--graph-grid:#273246}
.hero .lead{max-width:640px}.hero h1{max-width:720px}
.fall-surface{overflow:hidden;border:1px solid #dce1e9;border-radius:22px;background:var(--night);box-shadow:0 20px 70px #18203a1a}
.fall-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;color:#f1f5ff;border-bottom:1px solid #ffffff16}.fall-top h2{margin:0;font-size:19px;letter-spacing:-.025em}.fall-top>a{color:#a7cfff;font-size:13px}
.view-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px;padding:12px 18px;border-bottom:1px solid #ffffff16;color:#c3d1e7;font-size:12px}.view-controls strong{font-weight:600}.view-controls label{display:flex;align-items:center;gap:7px}.view-controls select{height:31px;width:99px;padding:0 7px;border-radius:7px;font-size:12px}.view-controls button{padding:7px 10px;border:1px solid #52677e;border-radius:7px;background:transparent;color:#d9e9ff;font-size:12px}.view-controls button:hover{background:#ffffff12}.view-controls p{flex-basis:100%;margin:0;color:#93a8c4;font-size:11px}#scale-warning{color:#ffd18d}.graph .overflow-note{fill:#ffcf89;font-size:10px}
.fall-layout{display:grid;grid-template-columns:minmax(225px,.9fr) minmax(360px,1.65fr) minmax(245px,.86fr)}
.scene-panel{min-width:0;padding:15px 13px 12px;border-right:1px solid #ffffff12;color:#e5edfa;background:radial-gradient(ellipse at 50% 30%,#18304780,transparent 75%)}
.panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.panel-heading h3{margin:0;font-size:13px;font-weight:600}.panel-heading>span{color:#9bacc3;font-size:11px;white-space:nowrap}
#scene{display:block;width:100%;height:455px;overflow:hidden;font:12px var(--font);font-variant-numeric:tabular-nums}
.force-key{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px;font-size:11px}.weight{color:var(--weight)}.drag{color:var(--drag)}.net{color:var(--net)}
.scene-caption{margin:8px 1px 0;color:#9cabc0;font-size:11px;line-height:1.5;text-align:center}
.plots-panel{min-width:0;padding:12px 15px;color:#e7eefb}
.graph-legend{display:flex;flex-wrap:wrap;gap:7px 15px;color:#a9b7ce;font-size:10px;margin-bottom:12px}.graph-legend span{display:flex;align-items:center;gap:5px}.graph-legend i{width:18px;display:inline-block;border-top:2px solid #b8d8ff}.graph-legend .dashed{border-top:2px dashed #98a4b8}.graph-legend .limit{border-top:2px dotted var(--drag)}
.graph{margin:0 0 10px}.graph+.graph{padding-top:6px;border-top:1px solid #ffffff0e}.graph figcaption{display:flex;justify-content:space-between;align-items:baseline;padding:0 6px 0 2px;gap:10px}.graph h3{margin:0;color:#dce6f8;font-size:13px;font-weight:600}.graph h3 em{font-family:Georgia,serif;font-weight:normal}.graph output{font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.velocity output{color:var(--v)}.acceleration output{color:var(--a)}.resultant output{color:var(--net)}
.plot{display:block;width:100%;height:auto;min-height:125px;max-height:165px;touch-action:pan-y;cursor:crosshair;font:11px var(--font);font-variant-numeric:tabular-nums}.plot text{fill:#9dacc3}.plot .axis-label{fill:#d0dcf0;font-size:11px}.plot .limit-label{fill:var(--drag)}.plot .cursor{stroke:#e9f2ff;stroke-width:1;stroke-dasharray:3 4}.plot-hint{color:#9cabc0;font-size:11px;line-height:1.4;margin:4px 0 0}
.fall-controls{padding:15px 17px;border-left:1px solid #e0e4ec;background:#fff;color:var(--ink)}
.model-picker{margin:0;padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.model-picker legend{padding:0;margin-bottom:8px;font-size:13px;font-weight:700}.model-picker label{display:flex;align-items:center;gap:6px;font-size:13px;padding:8px 4px;cursor:pointer}.model-picker input{accent-color:var(--accent);width:16px;height:16px}.model-picker label:has(input:checked){color:var(--accent);font-weight:700}.compare{margin:7px 0 17px;font-size:12px}
.parameters .range-head{font-size:12px;gap:5px}.range-head em{margin-right:auto;margin-left:3px;font-family:Georgia,serif}.control-note{margin:5px 0 0;color:#747d8c;font-size:11px;line-height:1.45}.parameters .range-row+.range-row{margin-top:12px}.parameters input:disabled{opacity:.35;cursor:default}
.terminal-summary{display:flex;flex-direction:column;gap:3px;margin:15px 0 10px;padding:12px 0;border-top:1px solid #e6e9ef;border-bottom:1px solid #e6e9ef}.terminal-summary>span:first-child{font-size:11px;color:#636e7c}.terminal-summary strong{font-size:23px;font-weight:650;letter-spacing:-.03em;color:#167b63}.terminal-summary>span:nth-of-type(2){font-size:11px;color:#6b7483}progress{width:100%;height:5px;margin-top:4px;border:0;border-radius:5px;overflow:hidden;accent-color:#228f71;background:#e5efe9}progress::-webkit-progress-bar{background:#e5efe9}progress::-webkit-progress-value{background:#228f71}progress::-moz-progress-bar{background:#228f71}
.force-values{margin-bottom:12px}.force-values p{display:flex;justify-content:space-between;gap:10px;margin:5px 0;font-size:12px}.force-values output{font-variant-numeric:tabular-nums;color:#434e60}.force-values .weight{color:#8b6400}.force-values .drag{color:#14735c}.force-values .net{color:#7b48ae}
.playback-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.playback-label select{height:32px;width:132px;font-size:12px;padding-inline:6px;border-radius:7px}
.transport{display:flex;align-items:center;gap:25px;padding:14px 18px;background:#fff;border-top:1px solid #dce1e9}.transport-buttons{display:flex;gap:8px;flex-shrink:0}.transport .button{font-size:13px;min-width:116px}.transport .button.secondary{min-width:auto}.timeline{flex:1;min-width:0}.timeline>label{display:flex;align-items:baseline;gap:9px;font-size:12px;color:#687383}.timeline output{font-weight:700;color:#23364f;font-variant-numeric:tabular-nums}.timeline>label>span{margin-left:auto;font-variant-numeric:tabular-nums}
.fall-metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #e1e6ed}.fall-metrics>div{padding:10px 18px}.fall-metrics span{display:block;color:#737d8c;font-size:11px}.fall-metrics strong{display:block;margin-top:3px;font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.fall-metrics>div:nth-child(2) strong{color:#1f72b7}.fall-metrics>div:nth-child(3) strong{color:#aa530f}.fall-metrics>div:nth-child(4) strong{color:#7b48ae}
.status{padding:11px 18px;margin:0;border-top:1px solid #e6e9ee;background:#fff;font-size:13px;color:#556172;min-height:44px}.model-note{max-width:1000px;margin:12px 3px 0;color:#757e8c;font-size:12px;line-height:1.6}
.derivation{padding:70px 24px 85px;background:#fff;scroll-margin-top:76px}.derivation-inner{max-width:900px;margin:auto}.derivation h2{margin:10px 0 28px;font-size:clamp(28px,4vw,38px);line-height:1.15;letter-spacing:-.035em}.derivation p:not(.eyebrow){font-size:17px;line-height:1.85;color:#586271;margin:24px 0}.derivation .equation{margin:28px -12px 35px;padding:6px 12px;overflow-x:auto;font-size:1.08em;text-align:center}.derivation .katex-display{margin:0}.derivation .katex{font-size:1.13em}.weight-text{color:#916500}.drag-text{color:#11735c}.derivation .closing{margin-top:40px!important;color:#24334b!important}
[hidden]{display:none!important}
.derivation h3,.problem-solution h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:40px 0 18px}.source-link{color:#1672b9;text-decoration:underline;text-underline-offset:3px;font-size:.85em}.parachute-section{padding:40px 0 75px;background:#fff;border-top:1px solid #e3e8ef;scroll-margin-top:75px}.problem-intro{max-width:960px;margin:0 auto 32px}.problem-intro h2{font-size:clamp(27px,3.5vw,38px);line-height:1.15;letter-spacing:-.035em;margin:12px 0 22px}.problem-intro>p:not(.eyebrow),.problem-intro li{font-size:16px;line-height:1.8;color:#586271}.problem-intro ol{padding-left:23px}.problem-intro li{margin:7px 0}.problem-intro strong{font-weight:650;color:#334459}.parachute-layout{display:grid;grid-template-columns:minmax(360px,1.12fr) minmax(360px,1fr)}.parachute-scene-panel{padding:12px 15px 15px;border-right:1px solid #ffffff16}#chute-scene{display:block;width:100%;height:800px;font:12px var(--font);font-variant-numeric:tabular-nums}.chute-plots{padding:18px 20px}.chute-plots .plot{max-height:170px}.graph-legend .opening{border:0;height:10px;background:#ffad7055}.chute-options{padding:16px 19px;background:#fff;display:flex;gap:15px 28px;align-items:center;flex-wrap:wrap;border-top:1px solid #e1e6ed}.chute-opening-label{display:grid;grid-template-columns:1fr auto;gap:5px 16px;font-size:13px;min-width:220px;flex:1}.chute-opening-label output{font-weight:650;color:var(--accent)}.chute-opening-label input{grid-column:1/-1}.chute-options>p{width:100%;margin:0;color:#748090;font-size:12px}.chute-options .button{font-size:12px}.button:disabled{cursor:default;opacity:.45;transform:none;box-shadow:none}#chute-phase{color:#ffce9b;font-size:13px}.problem-solution{margin-top:48px}.problem-solution p{font-size:17px;line-height:1.85;color:#586271;margin:24px 0}.problem-solution .equation{margin:28px -12px 35px;padding:6px 12px;overflow-x:auto;font-size:1.08em;text-align:center}.problem-solution .katex-display{margin:0}.problem-solution .katex{font-size:1.13em}
@media(max-width:720px){.view-controls{gap:10px;font-size:11px;padding:13px}.view-controls>strong{width:100%}.view-controls button{font-size:11px}.parachute-section{padding-top:32px}.problem-intro h2{font-size:29px}.parachute-layout{display:block}.parachute-scene-panel{border-right:0;border-bottom:1px solid #ffffff16}#chute-scene{height:auto;aspect-ratio:500/880;max-width:450px;margin:auto}.chute-plots{padding:16px 12px}.chute-options{padding:15px;gap:17px}.chute-opening-label{min-width:100%;}.chute-options .playback-label{flex-direction:row}.parachute-surface .transport-buttons{grid-template-columns:1fr 1fr}.parachute-surface .transport-buttons .button:first-child{grid-column:1/-1}.problem-solution{padding:0 7px}.problem-solution p{font-size:16px}.problem-solution .equation{font-size:.95em;margin-inline:-6px}}
@media(min-width:921px) and (min-height:620px){.sim-section{padding-top:13px;padding-bottom:30px}.hero .container{grid-template-columns:1.1fr .9fr}.hero h1{font-size:36px}.hero .lead{font-size:14px}}
@media(max-width:1120px){.fall-layout{grid-template-columns:minmax(230px,.8fr) minmax(330px,1.5fr)}.fall-controls{grid-column:1/-1;border-left:0;border-top:1px solid #e0e4ec;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:12px 26px}.fall-controls .model-picker{grid-column:1;grid-row:1}.fall-controls .compare{grid-column:1;grid-row:2;align-self:start;margin-top:0}.parameters{grid-column:2;grid-row:1/4}.terminal-summary{grid-column:3;grid-row:1;margin:0;padding-top:0;border-top:0}.force-values{grid-column:3;grid-row:2/4}.playback-label{grid-column:1;grid-row:3;align-self:start;flex-direction:column;align-items:start}.playback-label select{width:100%}#time-scale{grid-column:1/-1;margin:0}.plot{max-height:175px}#scene{height:475px}}
@media(max-width:720px){.hero .container{display:block}.hero h1{font-size:36px}.fall-top{padding:13px;align-items:start;flex-direction:column;gap:7px}.fall-layout{display:flex;flex-direction:column}.scene-panel{border-right:0;border-bottom:1px solid #ffffff12;padding:15px}.panel-heading{max-width:360px;margin:auto}#scene{height:365px;max-width:340px;margin:auto}.scene-caption{max-width:360px;margin:8px auto}.plots-panel{padding:16px 12px}.plot{min-height:135px;max-height:180px}.graph{margin-bottom:15px}.graph-legend{font-size:10px;gap:7px 12px}.fall-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:17px}.fall-controls .model-picker{grid-column:1;grid-row:1}.fall-controls .compare{grid-column:1;grid-row:2;font-size:11px}.parameters{grid-column:2;grid-row:1/4}.terminal-summary{grid-column:1;grid-row:3}.force-values{grid-column:1;grid-row:4}.playback-label{grid-column:2;grid-row:4}#time-scale{grid-row:5;grid-column:1/-1}.transport{flex-direction:column;align-items:stretch;gap:14px;padding:15px}.transport-buttons{display:grid;grid-template-columns:1fr 1fr}.timeline>label{gap:6px;font-size:11px}.fall-metrics{grid-template-columns:1fr 1fr}.fall-metrics>div{padding:11px 15px}.status{font-size:12px}.sim-section{padding-bottom:25px}.derivation{padding:45px 20px 55px}.derivation p:not(.eyebrow){font-size:16px}.derivation .equation{font-size:.95em;margin-inline:-6px}.derivation h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(min-width:721px) and (max-width:840px){.parachute-layout{grid-template-columns:1fr}.parachute-scene-panel{border-right:0;border-bottom:1px solid #ffffff16}#chute-scene{height:auto;max-width:500px;aspect-ratio:500/880;margin:auto}}
