.sim-page{--s-accent:#0e7490;--s-warn:#b45309;--s-tint:color-mix(in srgb, var(--s-accent) 6%, var(--color-bg));--s-line:color-mix(in srgb, var(--color-text) 16%, var(--color-bg));--s-ink:#060b16;--s-ink-soft:#0d1526;--s-edge:#1e2c47;--s-glow:#67e8f9;--s-hot:#fbbf24;width:100%;max-width:1180px;color:var(--color-text);margin-inline:auto;padding:42px clamp(20px,4vw,56px) 64px}[data-theme=dark] .sim-page{--s-accent:#67e8f9;--s-warn:#fbbf24}.sim-page *,.sim-page :before,.sim-page :after{box-sizing:border-box}.sim-page :is(h1,h2,h3,h4,p,figure,table){margin:0}.sim-page p{color:var(--color-muted);line-height:1.8}.sim-page p+p{margin-top:16px}.sim-page h1{letter-spacing:-.055em;margin-block:16px 24px;font-size:clamp(40px,6vw,72px);line-height:1.06}.sim-page h1 span{color:var(--s-accent)}.sim-page h2{letter-spacing:-.035em;text-wrap:balance;max-width:28ch;margin-block:12px 20px;font-size:clamp(28px,3.5vw,41px);line-height:1.18}.sim-page h3{letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(19px,2.1vw,25px);line-height:1.3}.sim-page h4{margin-block:10px 8px;font-size:17px;line-height:1.35}.sim-page>section>h3{margin-top:36px}.sim-page a{color:var(--s-accent);text-underline-offset:5px}.sim-page strong{color:var(--color-text)}.sim-page code{overflow-wrap:anywhere;font:13px ui-monospace,SFMono-Regular,Consolas,monospace}.sim-page .sim-eyebrow{color:var(--s-accent);letter-spacing:.1em;font:700 11px/1.6 ui-monospace,SFMono-Regular,monospace;display:block}.sim-page .sim-back{align-items:center;min-height:44px;font-size:14px;display:inline-flex}.sim-page .sim-hero{grid-template-columns:1.4fr 1fr;align-items:center;gap:48px;padding-block:45px 40px;display:grid}.sim-page .sim-lead{max-width:60ch;font-size:18px}.sim-page .sim-hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px;font-size:14px;font-weight:600;display:flex}.sim-page .sim-button{background:var(--s-accent);min-height:48px;color:var(--color-bg);border-radius:8px;align-items:center;padding:12px 20px;text-decoration:none;display:inline-flex}.sim-page .sim-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sim-page .sim-hero-stats>div{border:1px solid var(--s-line);background:var(--s-tint);border-radius:14px;padding:18px}.sim-page .sim-hero-stats strong{color:var(--s-accent);font-variant-numeric:tabular-nums;font-size:30px;line-height:1;display:block}.sim-page .sim-hero-stats span{margin-top:7px;font-size:13px;display:block}.sim-page .sim-hero-stats small{color:var(--color-muted);margin-top:3px;font-size:11.5px;line-height:1.5;display:block}.sim-page .sim-overview-meta{border-block:1px solid var(--s-line);color:var(--color-muted);flex-wrap:wrap;gap:10px 24px;padding-block:18px;font-size:12px;display:flex}.sim-page .sim-contents{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin-top:24px;display:grid}.sim-page .sim-contents a{border-bottom:1px solid var(--s-line);gap:12px;padding-block:13px;font-size:14px;text-decoration:none;display:flex}.sim-page .sim-contents a span{color:var(--color-muted);font:12px/1.8 ui-monospace,monospace}.sim-page .sim-contents a[aria-current=true]{color:var(--s-accent);box-shadow:inset 0 -2px var(--s-accent);font-weight:650}.sim-chapter-bar{pointer-events:none;z-index:30;top:calc(12px + env(safe-area-inset-top,0px));border:1px solid var(--s-line);background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:max-content;max-width:min(620px,100vw - 112px);box-shadow:var(--shadow-soft);border-radius:999px;animation:.2s ease-out sim-bar-in;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes sim-bar-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.sim-chapter-bar-body{align-items:center;gap:14px;padding:10px 20px 11px;font-size:13px;display:flex}.sim-chapter-bar-body strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sim-chapter-bar-body a{pointer-events:auto;color:var(--color-muted);margin-left:auto;font-size:12px;text-decoration:none}.sim-chapter-bar-track{background:var(--s-line);height:3px}.sim-chapter-bar-track>span{background:var(--s-accent);height:100%;transition:width .12s linear;display:block}.sim-page .sim-chapter{margin:76px 0 0;scroll-margin-top:84px}.sim-page .sim-chapter-heading{margin-bottom:30px}.sim-page .sim-chapter-heading p{max-width:78ch}.sim-page .sim-callout{background:var(--s-tint);border-left:3px solid var(--s-accent);border-radius:0 12px 12px 0;margin-block:30px;padding:24px 28px}.sim-page .sim-callout>strong{margin-bottom:8px;font-size:18px;display:block}.sim-page .sim-table-wrap{margin-block:28px;overflow-x:auto}.sim-page table{border-collapse:collapse;text-align:left;width:100%;font-size:14px;line-height:1.75}.sim-page th,.sim-page td{vertical-align:top;border-bottom:1px solid var(--s-line);min-width:160px;padding:15px 16px}.sim-page thead th{background:var(--s-tint);font-size:12px}.sim-page td{color:var(--color-muted)}.sim-page caption{color:var(--color-muted);text-align:left;padding-bottom:14px}.sim-page .sim-panel{border:1px solid var(--s-line);background:var(--s-tint);border-radius:20px;margin-block:30px;padding:clamp(20px,3vw,30px)}.sim-page .sim-panel h3{margin-block:10px 14px}.sim-page .sim-note{margin-top:16px;font-size:13.5px;line-height:1.75}.sim-page .sim-check{border-top:1px solid var(--s-line);margin-top:20px}.sim-page .sim-check>summary{cursor:pointer;padding-block:16px 14px;font-size:15px;font-weight:600}.sim-page .sim-check>div>p{padding-bottom:12px;font-size:14px}.sim-page .sim-stage-dark{background:radial-gradient(120% 90% at 50% 0%, #142138 0%, var(--s-ink-soft) 45%, var(--s-ink) 100%);border:1px solid var(--s-edge);border-radius:16px;margin-block:20px;padding:18px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 20px 50px #0006}.sim-page .sim-stage-dark.is-flush{padding:0;line-height:0}.sim-page .sim-stage-dark:before{content:"";pointer-events:none;opacity:.5;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,#0000 78%);mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,#0000 78%)}.sim-page .sim-stage-dark svg,.sim-page .sim-canvas{width:100%;height:auto;display:block;position:relative}.sim-page .sim-orbit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.sim-page .sim-orbit{min-width:0}.sim-page .sim-orbit figcaption{gap:2px;margin-bottom:6px;display:grid}.sim-page .sim-orbit figcaption strong{color:#e7f0ff;font-size:13.5px}.sim-page .sim-orbit figcaption span{color:#8fa3c8;font:11px ui-monospace,monospace}.sim-page .sim-orbit.is-bad figcaption strong{color:var(--s-hot)}.sim-page .sim-orbit-truth{fill:none;stroke:#7f96c4;stroke-width:1px;stroke-dasharray:3 6;opacity:.55}.sim-page .sim-sun{fill:#ffe9a8;filter:drop-shadow(0 0 9px #ffd06699)}.sim-page .sim-trail{fill:none;stroke:var(--s-glow);stroke-width:1.6px;opacity:.55}.sim-page .sim-orbit.is-bad .sim-trail{stroke:var(--s-hot)}.sim-page .sim-body{fill:#fff;filter:drop-shadow(0 0 7px var(--s-glow))}.sim-page .sim-orbit.is-bad .sim-body{filter:drop-shadow(0 0 7px var(--s-hot))}.sim-page .sim-readout{color:#8fa3c8;margin-top:6px;font:11.5px ui-monospace,monospace}.sim-page .sim-readout b{color:#e7f0ff;font-variant-numeric:tabular-nums}.sim-page .sim-readout span{opacity:.65}.sim-page .sim-spring-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.sim-page .sim-spring{min-width:0}.sim-page .sim-spring figcaption{gap:3px;margin-bottom:6px;display:grid}.sim-page .sim-spring figcaption strong{color:#e7f0ff;font-size:13.5px}.sim-page .sim-spring figcaption code{color:#8fa3c8;font-size:11px}.sim-page .sim-spring.is-bad figcaption strong{color:var(--s-hot)}.sim-page .sim-rail{stroke:#46597f;stroke-width:1.4px}.sim-page .sim-rail.is-limit{stroke:var(--s-hot);opacity:.7}.sim-page .sim-trace{fill:none;stroke:var(--s-glow);stroke-width:1.5px;opacity:.75}.sim-page .sim-spring.is-bad .sim-trace{stroke:var(--s-hot)}.sim-page .sim-bob{fill:var(--s-glow);filter:drop-shadow(0 0 8px #67e8f9aa)}.sim-page .sim-spring.is-bad .sim-bob{fill:var(--s-hot);filter:drop-shadow(0 0 8px #fbbf24aa)}.sim-page .sim-pole{stroke:var(--s-glow);stroke-width:7px;stroke-linecap:round;filter:drop-shadow(0 0 8px #67e8f966)}.sim-page .sim-cart{fill:#d8e4fb}.sim-page .sim-pivot{fill:#0b1220;stroke:#d8e4fb;stroke-width:2px}.sim-page .sim-push{fill:var(--s-hot);opacity:.9}.sim-page .sim-controls{gap:4px 28px;margin-block:14px;display:grid}.sim-page .sim-controls-three{grid-template-columns:repeat(3,minmax(0,1fr))}.sim-page .sim-controls-four{grid-template-columns:repeat(4,minmax(0,1fr))}.sim-page .sim-slider{margin-block:10px;font-size:13px;display:block}.sim-page .sim-slider>span{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.sim-page output{font-variant-numeric:tabular-nums;color:var(--s-accent);font-weight:650}.sim-page input[type=range]{cursor:pointer;width:100%;min-height:32px;accent-color:var(--s-accent);margin-top:4px;display:block}.sim-page .sim-transport{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:10px;display:flex}.sim-page button{cursor:pointer;border:1px solid var(--s-line);background:var(--color-bg);min-height:42px;color:var(--color-text);border-radius:9px;padding:9px 16px;font:600 13px/1.5 system-ui,sans-serif}.sim-page button:hover{border-color:var(--s-accent)}.sim-page .sim-primary{background:var(--s-accent);border-color:var(--s-accent);color:var(--color-bg);min-width:104px}.sim-page .sim-presets{flex-wrap:wrap;gap:8px;margin-block:12px;display:flex}.sim-page .sim-presets button[aria-pressed=true]{border-color:var(--s-accent);background:var(--s-tint);color:var(--s-accent)}.sim-page .sim-counter{color:var(--color-muted);font-size:12px}.sim-page .sim-counter b{color:var(--color-text);font-variant-numeric:tabular-nums;margin-inline:4px;font-size:14px}.sim-page .sim-counter span{opacity:.7}.sim-page .sim-result{grid-template-columns:210px minmax(0,1fr);align-items:center;gap:22px;margin-block:22px;display:grid}.sim-page .sim-rate{border:1px solid var(--s-line);background:var(--color-bg);text-align:center;border-radius:14px;padding:20px}.sim-page .sim-rate strong{font-variant-numeric:tabular-nums;color:var(--s-accent);margin-block:8px 6px;font-size:44px;line-height:1;display:block}.sim-page .sim-rate strong.is-warn{color:var(--s-warn)}.sim-page .sim-rate strong.is-bad{color:#c2410c}[data-theme=dark] .sim-page .sim-rate strong.is-bad{color:#fb923c}.sim-page .sim-rate span{color:var(--color-muted);font-size:12px;line-height:1.6;display:block}.sim-page .sim-histogram>div{border:1px solid var(--s-line);background:var(--color-bg);border-radius:12px;align-items:flex-end;gap:4px;height:118px;padding:10px;display:flex}.sim-page .sim-histogram span{background:color-mix(in srgb, var(--s-accent) 45%, transparent);border-radius:3px 3px 0 0;flex:1;min-height:2px;transition:height .18s}.sim-page .sim-histogram span.is-good{background:var(--s-accent)}.sim-page .sim-histogram figcaption{color:var(--color-muted);margin-top:9px;font-size:12px}.sim-page .sim-reason-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block:26px;display:grid}.sim-page .sim-reason-grid>article{border:1px solid var(--s-line);background:var(--color-surface);border-radius:14px;min-width:0;padding:22px}.sim-page .sim-reason-grid p{font-size:14px}.sim-page .sim-cost{border-top:1px solid var(--s-line);margin-top:14px;padding-top:13px;font-size:13px}.sim-page .sim-contract{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-block:24px;display:grid}.sim-page .sim-contract>div{border:1px solid var(--s-line);background:var(--color-surface);border-radius:12px;min-width:0;padding:18px}.sim-page .sim-contract code{color:var(--s-accent);margin-bottom:9px;font-size:13.5px;font-weight:650;display:block}.sim-page .sim-contract p{font-size:13px}.sim-page .sim-cause-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:22px;display:grid}.sim-page .sim-cause-grid>article{border-left:2px solid var(--s-warn);min-width:0;padding-left:16px}.sim-page .sim-cause-grid p{font-size:14px}.sim-page .sim-tool-group{margin-block:28px}.sim-page .sim-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.sim-page .sim-tool-grid>article{border:1px solid var(--s-line);background:var(--color-surface);border-radius:12px;min-width:0;padding:18px 20px}.sim-page .sim-tool-grid h4 a{text-decoration:none}.sim-page .sim-tool-grid p{font-size:13px}.sim-page .sim-check-note{border-top:1px solid var(--s-line);margin-top:12px;padding-top:11px}.sim-page .sim-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:26px 0;padding:0;list-style:none;display:grid}.sim-page .sim-steps>li{border-top:1px solid var(--s-line);margin:0;padding-top:16px}.sim-page .sim-steps strong{margin-block:10px 8px;font-size:16px;display:block}.sim-page .sim-steps p{font-size:14px}.sim-page .sim-signal{border-left:2px solid var(--s-accent);margin-top:12px;padding-left:13px;font-size:13px}.sim-page .sim-next-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px;display:grid}.sim-page .sim-next-grid>a{border:1px solid var(--s-line);background:var(--s-tint);border-radius:14px;padding:26px;text-decoration:none}.sim-page .sim-next-grid h3{margin-top:12px}.sim-page .sim-next-grid p{font-size:14px}.sim-page .sim-footer{border-top:1px solid var(--s-line);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:54px;padding-top:24px;font-size:13px;display:flex}.sim-page :is(button,a,input,summary,[tabindex]):focus-visible{outline:3px solid var(--s-warn);outline-offset:4px}@media (max-width:980px){.sim-page .sim-hero{grid-template-columns:minmax(0,1fr);gap:28px}.sim-page .sim-contents,.sim-page .sim-reason-grid,.sim-page .sim-tool-grid,.sim-page .sim-contract,.sim-page .sim-controls-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.sim-page{padding-top:24px}.sim-page .sim-chapter{margin-top:54px}.sim-page .sim-contents,.sim-page .sim-reason-grid,.sim-page .sim-tool-grid,.sim-page .sim-contract,.sim-page .sim-cause-grid,.sim-page .sim-steps,.sim-page .sim-next-grid,.sim-page .sim-hero-stats,.sim-page .sim-orbit-grid,.sim-page .sim-spring-grid,.sim-page .sim-controls-three,.sim-page .sim-controls-four,.sim-page .sim-result{grid-template-columns:minmax(0,1fr)}.sim-page .sim-callout{padding:20px}.sim-chapter-bar{max-width:calc(100vw - 88px)}.sim-chapter-bar-body{gap:10px;padding:8px 15px 9px;font-size:12px}.sim-chapter-bar-body a{display:none}}@media (prefers-reduced-motion:reduce){.sim-chapter-bar{animation:none}.sim-chapter-bar-track>span,.sim-page .sim-histogram span{transition:none}}.sim-page .sim-reach{fill:none;stroke:#46597f;stroke-width:1px;stroke-dasharray:4 7;opacity:.6}.sim-page .sim-ellipse{fill:#67e8f929;stroke:#67e8f9;stroke-width:1.2px;opacity:.7}.sim-page .sim-link{stroke:#d8e4fb;stroke-width:11px;stroke-linecap:round}.sim-page .sim-link.is-singular{stroke:var(--s-hot)}.sim-page .sim-joint{fill:#0b1220;stroke:#d8e4fb;stroke-width:3px}.sim-page .sim-hand{fill:var(--s-glow);filter:drop-shadow(0 0 9px #67e8f9aa)}.sim-page .sim-target circle{fill:none;stroke:var(--s-glow);stroke-width:1.6px;opacity:.85}.sim-page .sim-target line{stroke:var(--s-glow);stroke-width:1.4px;opacity:.7}.sim-page .sim-target.is-out circle,.sim-page .sim-target.is-out line{stroke:var(--s-hot)}.sim-page .sim-miss{stroke:var(--s-hot);stroke-width:1.4px;stroke-dasharray:4 5;opacity:.8}.sim-page .sim-setpoint{stroke:var(--s-hot);stroke-width:1.6px;stroke-dasharray:5 5;opacity:.8}.sim-page .sim-axis-tag{fill:#8fa3c8;font:11px ui-monospace,monospace}.sim-page .sim-pid-grid{grid-template-columns:240px minmax(0,1fr);align-items:center;gap:16px;display:grid}.sim-page .sim-toggles{flex-wrap:wrap;align-items:end;gap:8px;padding-bottom:4px;display:flex}.sim-page .sim-toggles button[aria-pressed=true]{border-color:var(--s-accent);background:var(--s-tint);color:var(--s-accent)}.sim-page .sim-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-block:14px;display:grid}.sim-page .sim-metrics>div{border:1px solid var(--s-line);background:var(--color-bg);border-radius:10px;padding:12px 14px}.sim-page .sim-metrics span{color:var(--color-muted);font-size:11.5px;line-height:1.5;display:block}.sim-page .sim-metrics strong{font-variant-numeric:tabular-nums;margin-top:5px;font-size:18px;display:block}.sim-page .sim-metrics>div.is-warn{border-color:var(--s-warn)}.sim-page .sim-metrics>div.is-warn strong{color:var(--s-warn)}.sim-page .sim-wall{stroke:#7f96c4;stroke-width:3px;stroke-linecap:round}.sim-page .sim-scan{fill:#67e8f91c;stroke:none}.sim-page .sim-beam{stroke:#67e8f9;stroke-width:.7px;opacity:.3;fill:none}.sim-page .sim-waypoint{fill:none;stroke:var(--s-hot);stroke-width:1.4px;opacity:.6}.sim-page .sim-crumbs{fill:none;stroke:#67e8f9;stroke-width:1.4px;opacity:.35}.sim-page .sim-robot circle{fill:var(--s-glow);filter:drop-shadow(0 0 10px #67e8f9aa)}.sim-page .sim-robot line{stroke:#06121f;stroke-width:3.4px;stroke-linecap:round}.sim-page .sim-ghost circle{fill:none;stroke:var(--s-hot);stroke-width:2px;stroke-dasharray:4 4}.sim-page .sim-ghost line{stroke:var(--s-hot);stroke-width:2px;opacity:.8}@media (max-width:700px){.sim-page .sim-pid-grid{grid-template-columns:minmax(0,1fr)}}
