:root{color-scheme:dark;--cp-bg0: #0f1115;--cp-bg1: #171b22;--cp-bg2: #21222b;--cp-bg3: color-mix(in srgb, var(--cp-bg2) 80%, var(--cp-bg0));--cp-border: rgba(255, 255, 255, .08);--cp-border-subtle: rgba(255, 255, 255, .06);--cp-text: color-mix(in srgb, #ffffff 88%, var(--cp-bg0));--cp-text2: color-mix(in srgb, #ffffff 64%, var(--cp-bg0));--cp-muted: color-mix(in srgb, #ffffff 54%, var(--cp-bg0));--cp-faint: color-mix(in srgb, #ffffff 32%, var(--cp-bg0));--cp-text-3: var(--cp-muted);--cp-link: color-mix(in srgb, var(--cp-accent) 70%, var(--cp-text));--cp-link-hover: color-mix(in srgb, var(--cp-accent) 85%, var(--cp-text));--cp-link-active: var(--cp-accent);--cp-title: color-mix(in srgb, var(--cp-accent) 55%, var(--cp-text));--cp-title-strong: color-mix(in srgb, var(--cp-accent) 70%, var(--cp-text));--cp-accent: #2f8c8d;--cp-accent-hover: color-mix(in srgb, var(--cp-accent) 85%, white);--cp-pink: #b07a93;--cp-pink-hover: color-mix(in srgb, var(--cp-pink) 85%, white);--cp-violet: #6d7794;--cp-violet-hover: color-mix(in srgb, var(--cp-violet) 85%, white);--cp-accent2: var(--cp-violet);--cp-accent3: var(--cp-accent);--cp-accent4: var(--cp-pink);--cp-success: #34d399;--cp-warning: #fbbf24;--cp-danger: #fb7185;--cp-tint-teal: color-mix(in srgb, var(--cp-accent) 10%, transparent);--cp-tint-pink: color-mix(in srgb, var(--cp-pink) 6%, transparent);--cp-tint-violet: color-mix(in srgb, var(--cp-violet) 8%, transparent);--cp-tint-accent: var(--cp-tint-teal);--cp-tint-blue: var(--cp-tint-violet);--cp-tint-magenta: var(--cp-tint-pink);--cp-glow-teal: 0 0 20px rgba(45, 212, 191, .28);--cp-glow-pink: 0 0 20px rgba(244, 114, 182, .24);--cp-glow-violet: 0 0 20px rgba(167, 139, 250, .24);--cp-glow-accent: var(--cp-glow-teal);--cp-glow-blue: var(--cp-glow-violet);--cp-glow-magenta: var(--cp-glow-pink);--cp-glow-sun: 0 0 40px 10px rgba(255, 200, 100, .45);--cp-glow-moon: 0 0 30px 8px rgba(200, 200, 220, .35);--cp-glow-planet: 0 0 20px 5px rgba(100, 150, 255, .3);--cp-glow-star: 0 0 15px 3px rgba(255, 255, 255, .4);--cp-glow-accent-teal: 0 0 25px 6px rgba(45, 212, 191, .35);--cp-glow-accent-rose: 0 0 25px 6px rgba(244, 114, 182, .35);--cp-glow-accent-violet: 0 0 25px 6px rgba(167, 139, 250, .35);--cp-celestial-sun: #fbbf24;--cp-celestial-sun-core: #fff5cc;--cp-celestial-sun-corona: #ff8c00;--cp-celestial-moon: #e2e8f0;--cp-celestial-moon-dark: #3a3a4a;--cp-celestial-earth: #3b82f6;--cp-celestial-earth-land: #4a9d4a;--cp-celestial-mars: #ef4444;--cp-celestial-jupiter: #d4a574;--cp-celestial-venus: #f5deb3;--cp-celestial-saturn: #e8d5a3;--cp-celestial-star: #ffffff;--cp-celestial-orbit: var(--cp-violet);--cp-accent-amber: #FFB86C;--cp-accent-green: #50FA7B;--cp-accent-ice: #8BE9FD;--cp-accent-rose: #FF79C6;--cp-chart-1: var(--cp-accent);--cp-chart-2: var(--cp-pink);--cp-chart-3: var(--cp-violet);--cp-chart-4: #facc15;--cp-chart-5: #fb923c;--cp-data-positive: var(--cp-success);--cp-data-negative: var(--cp-danger);--cp-data-neutral: var(--cp-muted);--cp-selection-bg: color-mix(in srgb, var(--cp-pink) 22%, transparent);--cp-focus: var(--cp-accent);--cp-focus-ring: 2px solid var(--cp-focus);--cp-input-bg: var(--cp-bg1);--cp-input-border: var(--cp-border);--cp-input-focus: var(--cp-focus);--cp-input-placeholder: var(--cp-faint);--cp-font-display: "Outfit", ui-sans-serif, system-ui, sans-serif;--cp-font-sans: "Source Sans 3", "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--cp-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--cp-text-sm: .875rem;--cp-text-md: 1.125rem;--cp-text-lg: 1.25rem;--cp-text-xl: 1.5rem;--cp-text-2xl: 1.875rem;--cp-text-3xl: 2.25rem;--cp-text-4xl: 3rem;--cp-text-hero: 4rem;--cp-leading-tight: 1.25;--cp-leading-normal: 1.5;--cp-leading-relaxed: 1.75;--cp-font-normal: 400;--cp-font-medium: 500;--cp-font-semibold: 600;--cp-font-bold: 700;--cp-transition-fast: .15s;--cp-transition-normal: .2s;--cp-transition-slow: .3s;--cp-duration-enter: .25s;--cp-duration-exit: .2s;--cp-ease-out: cubic-bezier(.16, 1, .3, 1);--cp-ease-in-out: cubic-bezier(.65, 0, .35, 1);--cp-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--cp-stagger: 50ms;--cp-space-0: 2px;--cp-space-1: 4px;--cp-space-2: 8px;--cp-space-3: 12px;--cp-space-4: 16px;--cp-space-5: 24px;--cp-space-6: 32px;--cp-space-7: 48px;--cp-z-dropdown: 100;--cp-z-sticky: 200;--cp-z-modal: 300;--cp-z-tooltip: 400;--cp-bp-sm: 640px;--cp-bp-md: 768px;--cp-bp-lg: 1024px;--cp-bp-xl: 1280px;--cp-accent-cyan: #67e8f9;--cp-accent-red: #ff7b72;--cp-accent-teal: var(--cp-accent);--cp-accent-soft: color-mix(in srgb, var(--cp-accent) 55%, transparent);--cp-on-accent: var(--cp-bg0);--cp-text1: var(--cp-text);--cp-text-muted: var(--cp-muted);--cp-text-xs: .75rem;--cp-text-base: 1rem;--cp-font-ui: var(--cp-font-body, system-ui, sans-serif);--cp-radius-sm: var(--cp-r-1);--cp-radius-lg: var(--cp-r-3);--cp-modal-z: var(--cp-z-modal);--cp-site-max: 1180px;--cp-celestial-earth-dark: color-mix(in srgb, var(--cp-celestial-earth) 55%, var(--cp-bg0));--cp-celestial-star-core: var(--cp-celestial-star);--cp-celestial-sun-mid: color-mix(in srgb, var(--cp-celestial-sun) 78%, var(--cp-celestial-sun-corona));--cp-r-1: 10px;--cp-r-2: 14px;--cp-r-3: 18px;--cp-shadow-1: 0 1px 0 rgba(255, 255, 255, .04), 0 10px 30px rgba(0, 0, 0, .35);--cp-shadow-2: 0 1px 0 rgba(255, 255, 255, .05), 0 20px 60px rgba(0, 0, 0, .5);--cp-elevation-1: 0 2px 8px rgba(0, 0, 0, .3);--cp-elevation-2: 0 4px 16px rgba(0, 0, 0, .4);--cp-elevation-3: 0 8px 32px rgba(0, 0, 0, .5);--cp-chip-bg: color-mix(in srgb, var(--cp-bg2) 70%, transparent);--cp-chip-bg-active: color-mix(in srgb, var(--cp-accent) 22%, transparent);--cp-chip-border-active: color-mix(in srgb, var(--cp-accent) 45%, transparent);--cp-card-bg: linear-gradient( 180deg, color-mix(in srgb, var(--cp-bg2) 92%, #ffffff 8%) 0%, color-mix(in srgb, var(--cp-bg2) 92%, #000000 8%) 100% );--cp-card-shadow: 0 10px 28px rgba(0, 0, 0, .35);--cp-card-shadow-hover: 0 14px 36px rgba(0, 0, 0, .42);--cp-card-border-hover: color-mix(in srgb, var(--cp-accent) 35%, var(--cp-border));--cp-card-glow: 0 8px 32px color-mix(in srgb, var(--cp-accent) 10%, transparent);--cp-readout-label-size: .75rem;--cp-readout-label-weight: 600;--cp-readout-label-tracking: .05em;--cp-readout-label-color: var(--cp-muted);--cp-readout-value-size: 1.5rem;--cp-readout-value-weight: 500;--cp-readout-value-color: var(--cp-accent-amber);--cp-readout-value-font: "SF Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--cp-readout-unit-size: .875rem;--cp-readout-unit-weight: 400;--cp-readout-unit-color: var(--cp-accent-ice);--cp-status-draft-bg: color-mix(in srgb, var(--cp-pink) 18%, transparent);--cp-status-draft-text: color-mix(in srgb, var(--cp-pink) 85%, #ffffff 15%);--cp-status-beta-bg: color-mix(in srgb, var(--cp-accent) 18%, transparent);--cp-status-beta-text: color-mix(in srgb, var(--cp-accent) 85%, #ffffff 15%);--cp-museum-nebula-opacity: .08;--cp-museum-star-opacity: .4;--cp-phase-predict: var(--cp-violet);--cp-phase-play: var(--cp-accent);--cp-phase-explain: var(--cp-pink);--cp-topic-earthsky: var(--cp-celestial-earth);--cp-topic-orbits: var(--cp-accent);--cp-topic-lightspectra: var(--cp-violet);--cp-topic-telescopes: #8BE9FD;--cp-topic-datainference: #50FA7B;--cp-topic-stars: var(--cp-celestial-sun);--cp-topic-galaxies: var(--cp-pink);--cp-topic-cosmology: var(--cp-celestial-sun-corona);--cp-hero-min-height: 40vh}html,body{background:var(--cp-bg0);color:var(--cp-text);font-family:var(--cp-font-sans);font-size:var(--cp-text-md);line-height:var(--cp-leading-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--cp-font-display);line-height:var(--cp-leading-tight)}h1{font-size:var(--cp-text-4xl);font-weight:var(--cp-font-bold);letter-spacing:-.025em;color:var(--cp-title-strong)}h2{font-size:var(--cp-text-3xl);font-weight:var(--cp-font-bold);letter-spacing:-.02em;color:var(--cp-title)}h3{font-size:var(--cp-text-2xl);font-weight:var(--cp-font-semibold);letter-spacing:-.015em;color:var(--cp-title)}h4{font-size:var(--cp-text-xl);font-weight:var(--cp-font-semibold);letter-spacing:-.01em;color:var(--cp-title)}a{color:var(--cp-link);text-decoration:none;text-decoration-color:color-mix(in srgb,var(--cp-link) 35%,transparent);text-underline-offset:.18em;transition:color var(--cp-transition-fast) var(--cp-ease-out)}a:hover{color:var(--cp-link-hover);text-decoration-color:color-mix(in srgb,var(--cp-link-hover) 55%,transparent)}a:active{color:var(--cp-link-active)}::selection{background:var(--cp-selection-bg);color:var(--cp-text)}:focus-visible{outline:2px solid var(--cp-focus);outline-offset:2px}[hidden]{display:none!important}@keyframes cp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cp-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes cp-pop-in{0%{opacity:0;transform:scale(.85)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes cp-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes cp-glow-pulse{0%,to{filter:drop-shadow(0 0 20px currentColor)}50%{filter:drop-shadow(0 0 35px currentColor)}}@keyframes cp-value-flash{0%{color:var(--cp-accent-amber, #FFB86C);transform:scale(1.05)}to{color:inherit;transform:scale(1)}}@keyframes cp-twinkle{0%,to{opacity:var(--cp-star-opacity, .8)}50%{opacity:calc(var(--cp-star-opacity, .8) * .4)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.cp-layer-instrument{background:var(--cp-bg0);--cp-accent: #2dd4bf;--cp-accent-hover: #5eead4;--cp-pink: #f472b6;--cp-pink-hover: #f9a8d4;--cp-violet: #a78bfa;--cp-violet-hover: #c4b5fd}.cp-layer-instrument{--cp-instr-panel-bg: rgba(23, 27, 34, .88);--cp-instr-panel-bg-muted: rgba(23, 27, 34, .75);--cp-instr-panel-border: rgba(109, 119, 148, .25)}.cp-layer-instrument{--cp-glow-teal: 0 0 20px rgba(45, 212, 191, .4);--cp-glow-pink: 0 0 20px rgba(244, 114, 182, .35);--cp-glow-violet: 0 0 20px rgba(167, 139, 250, .35);--cp-tint-teal: rgba(45, 212, 191, .22);--cp-tint-pink: rgba(244, 114, 182, .2);--cp-tint-violet: rgba(167, 139, 250, .2);--cp-tint-accent: var(--cp-tint-teal);--cp-tint-blue: var(--cp-tint-violet);--cp-tint-magenta: var(--cp-tint-pink);--cp-glow-accent: var(--cp-glow-teal);--cp-glow-blue: var(--cp-glow-violet);--cp-glow-magenta: var(--cp-glow-pink)}.cp-layer-instrument .cp-panel{background:var(--cp-instr-panel-bg);border:1px solid var(--cp-instr-panel-border);border-radius:var(--cp-r-2);box-shadow:var(--cp-shadow-1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cp-layer-instrument .cp-panel-header{padding:var(--cp-space-3) var(--cp-space-4);border-bottom:1px solid color-mix(in srgb,var(--cp-instr-panel-border) 60%,transparent);color:var(--cp-muted);font-size:.9rem;letter-spacing:.02em;text-transform:uppercase}.cp-layer-instrument .cp-panel-body{padding:var(--cp-space-4)}.cp-layer-instrument .cp-readout{background:#21222bb3;border-radius:var(--cp-r-1);padding:var(--cp-space-3)}.cp-layer-instrument .cp-readout__label{font-size:var(--cp-readout-label-size);font-weight:var(--cp-readout-label-weight);letter-spacing:var(--cp-readout-label-tracking);color:var(--cp-readout-label-color);text-transform:uppercase;margin-bottom:var(--cp-space-1)}.cp-layer-instrument .katex{text-transform:none}.cp-layer-instrument .cp-readout__value{font-size:var(--cp-readout-value-size);font-weight:var(--cp-readout-value-weight);color:var(--cp-readout-value-color);font-family:var(--cp-readout-value-font);font-variant-numeric:tabular-nums;line-height:var(--cp-leading-tight)}.cp-layer-instrument .cp-readout__unit{font-size:var(--cp-readout-unit-size);font-weight:var(--cp-readout-unit-weight);color:var(--cp-readout-unit-color);margin-left:.25em;white-space:nowrap}.cp-layer-instrument .cp-callout{border-left:3px solid var(--cp-accent);background:color-mix(in srgb,var(--cp-accent) 8%,transparent);padding:var(--cp-space-3) var(--cp-space-4);border-radius:var(--cp-r-2)}.cp-layer-instrument .cp-callout[data-kind=model]{border-left-color:var(--cp-violet);background:color-mix(in srgb,var(--cp-violet) 8%,transparent)}.cp-layer-instrument .cp-callout[data-kind=misconception]{border-left-color:var(--cp-pink);background:color-mix(in srgb,var(--cp-pink) 8%,transparent)}.cp-layer-instrument .celestial-sun{fill:var(--cp-celestial-sun);filter:drop-shadow(var(--cp-glow-sun))}.cp-layer-instrument .celestial-moon{fill:var(--cp-celestial-moon);filter:drop-shadow(var(--cp-glow-moon))}.cp-layer-instrument .celestial-earth{fill:var(--cp-celestial-earth);filter:drop-shadow(var(--cp-glow-planet))}.cp-layer-instrument .celestial-mars{fill:var(--cp-celestial-mars);filter:drop-shadow(var(--cp-glow-planet))}.cp-layer-instrument .celestial-star-generic{fill:var(--cp-celestial-star);filter:drop-shadow(var(--cp-glow-star))}.cp-layer-instrument .orbit-path{stroke:var(--cp-celestial-orbit);fill:none;opacity:.5}.cp-layer-instrument .cp-button:hover,.cp-layer-instrument .cp-button:focus-visible{box-shadow:var(--cp-glow-teal)}.cp-layer-instrument .cp-button--accent:hover,.cp-layer-instrument .cp-button--accent:focus-visible{box-shadow:var(--cp-glow-pink)}.cp-layer-instrument .cp-chip:hover,.cp-layer-instrument .cp-chip:focus-visible{box-shadow:var(--cp-glow-teal)}.cp-starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;width:100%;height:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cp-demo{position:relative;z-index:1;display:grid;grid-template-columns:clamp(280px,25vw,360px) minmax(0,1fr);grid-template-rows:1fr auto auto auto;grid-template-areas:"sidebar  viz" "sidebar  playbar" "sidebar  readouts" "shelf    shelf";gap:var(--cp-space-3);padding:var(--cp-space-4);min-height:100svh;align-items:start}.cp-demo__controls,.cp-demo__sidebar{grid-area:sidebar;position:sticky;top:var(--cp-space-4);z-index:3;align-self:start;max-height:calc(100svh - (2 * var(--cp-space-4)));overflow:hidden;display:flex;flex-direction:column;min-height:0}.cp-demo__stage{grid-area:viz;min-width:0;min-height:clamp(420px,70svh,820px)}.cp-demo__readouts{grid-area:readouts;min-width:0}.cp-demo__drawer,.cp-demo__shelf{grid-area:shelf;min-width:0;position:relative;z-index:2;background:var(--cp-bg1)}@media (min-width: 1025px){.cp-demo__drawer .cp-accordion__body,.cp-demo__shelf .cp-accordion__body{padding-left:clamp(280px,25vw,360px)}}.cp-demo__controls .cp-panel-body,.cp-demo__sidebar .cp-panel-body{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--cp-border) transparent}.cp-demo__controls .cp-panel-body[data-scroll=bottom],.cp-demo__sidebar .cp-panel-body[data-scroll=bottom]{-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 2rem),transparent);mask-image:linear-gradient(to bottom,black calc(100% - 2rem),transparent)}.cp-demo__controls .cp-panel-body[data-scroll=top],.cp-demo__sidebar .cp-panel-body[data-scroll=top]{-webkit-mask-image:linear-gradient(to top,black calc(100% - 2rem),transparent);mask-image:linear-gradient(to top,black calc(100% - 2rem),transparent)}.cp-demo__controls .cp-panel-body[data-scroll=both],.cp-demo__sidebar .cp-panel-body[data-scroll=both]{-webkit-mask-image:linear-gradient(to bottom,transparent,black 2rem,black calc(100% - 2rem),transparent);mask-image:linear-gradient(to bottom,transparent,black 2rem,black calc(100% - 2rem),transparent)}.cp-demo__readouts .cp-panel-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--cp-space-3)}.cp-stage{background:var(--cp-bg1);border:1px solid var(--cp-border);border-radius:var(--cp-r-3);box-shadow:var(--cp-shadow-1);overflow:hidden}.cp-drawer{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.cp-panels{display:grid;gap:var(--cp-space-3)}.cp-accordion{background:var(--cp-bg1);border:1px solid var(--cp-border);border-radius:var(--cp-r-3);box-shadow:var(--cp-shadow-1);overflow:clip}.cp-accordion>summary{cursor:pointer;padding:var(--cp-space-3) var(--cp-space-4);list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:var(--cp-space-3)}.cp-accordion>summary::-webkit-details-marker{display:none}.cp-accordion>summary:focus-visible{outline:3px solid var(--cp-focus);outline-offset:-3px}.cp-accordion__title{font-weight:var(--cp-font-bold)}.cp-demo__readouts .cp-accordion>summary{flex-wrap:wrap}.cp-demo__readouts .cp-accordion__meta{white-space:normal}.cp-accordion__meta{color:var(--cp-muted);font-size:var(--cp-text-sm);white-space:nowrap}.cp-accordion__body{padding:var(--cp-space-3) var(--cp-space-4) var(--cp-space-4);border-top:1px solid var(--cp-border)}.cp-accordion__body :is(p,ul,ol){margin:var(--cp-space-2) 0}.cp-accordion__body ul,.cp-accordion__body ol{padding-left:var(--cp-space-5)}@media (max-width: 1024px){.cp-demo{grid-template-columns:1fr;grid-template-areas:"viz" "playbar" "readouts" "sidebar" "shelf"}.cp-demo__controls,.cp-demo__sidebar{position:static;max-height:none;overflow:visible}.cp-demo__stage{min-height:clamp(360px,56svh,560px)}}.cp-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--cp-space-2);padding:var(--cp-space-3) var(--cp-space-5);font-size:var(--cp-text-md);font-weight:var(--cp-font-medium);line-height:1;text-decoration:none;border:1px solid var(--cp-border);border-radius:var(--cp-r-2);background:var(--cp-bg1);color:var(--cp-text);cursor:pointer;transition:background var(--cp-transition-fast) var(--cp-ease-out),border-color var(--cp-transition-fast) var(--cp-ease-out),transform var(--cp-transition-fast) var(--cp-ease-out)}.cp-button:hover{background:var(--cp-bg2);border-color:color-mix(in srgb,var(--cp-border) 60%,var(--cp-accent))}.cp-button:active{transform:scale(.98)}.cp-button:focus-visible{outline:2px solid var(--cp-focus);outline-offset:2px}.cp-button--primary{background:var(--cp-accent);border-color:var(--cp-accent);color:var(--cp-bg0)}.cp-button--primary:hover{background:color-mix(in srgb,var(--cp-accent) 85%,white);border-color:color-mix(in srgb,var(--cp-accent) 85%,white)}.cp-button--ghost{background:transparent;border-color:transparent}.cp-button--ghost:hover{background:#ffffff0d;border-color:transparent}.cp-button--outline{background:transparent;border-color:var(--cp-border)}.cp-button--outline:hover{background:color-mix(in srgb,var(--cp-bg1) 60%,transparent);border-color:color-mix(in srgb,var(--cp-border) 60%,var(--cp-accent))}.cp-button--block{width:100%}.cp-button:disabled,.cp-button[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.cp-button--accent{background:color-mix(in srgb,var(--cp-pink) 14%,transparent);border-color:color-mix(in srgb,var(--cp-pink) 45%,transparent);color:var(--cp-text)}.cp-button--accent:hover{background:color-mix(in srgb,var(--cp-pink) 22%,transparent);border-color:color-mix(in srgb,var(--cp-pink) 60%,transparent)}@media (prefers-reduced-motion: reduce){.cp-button{transition:none}}.cp-input,.cp-select,.cp-textarea,.cp-demo select{display:block;width:100%;padding:var(--cp-space-3) var(--cp-space-4);font-size:var(--cp-text-md);font-family:inherit;line-height:var(--cp-leading-normal);color:var(--cp-text);background:var(--cp-input-bg);border:1px solid var(--cp-input-border);border-radius:var(--cp-r-2);transition:border-color var(--cp-transition-fast) var(--cp-ease-out),box-shadow var(--cp-transition-fast) var(--cp-ease-out)}.cp-input:focus,.cp-select:focus,.cp-textarea:focus,.cp-demo select:focus{outline:none;border-color:var(--cp-accent);box-shadow:0 0 0 3px var(--cp-focus)}.cp-input::placeholder,.cp-textarea::placeholder{color:var(--cp-input-placeholder)}.cp-input:disabled,.cp-select:disabled,.cp-textarea:disabled,.cp-demo select:disabled{opacity:.5;cursor:not-allowed}.cp-label{display:block;margin-bottom:var(--cp-space-2);font-size:var(--cp-text-sm);font-weight:var(--cp-font-medium);color:var(--cp-text2)}.cp-field{margin-bottom:var(--cp-space-5)}.cp-demo input[type=checkbox],.cp-demo input[type=radio]{accent-color:var(--cp-accent)}.cp-field--error .cp-input,.cp-field--error .cp-select,.cp-field--error .cp-textarea{border-color:var(--cp-danger)}.cp-field--error .cp-input:focus,.cp-field--error .cp-select:focus,.cp-field--error .cp-textarea:focus{box-shadow:0 0 0 3px var(--cp-danger, var(--cp-pink))}.cp-error-message{margin-top:var(--cp-space-2);font-size:var(--cp-text-sm);color:var(--cp-danger)}.cp-range,.cp-demo input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:9999px;background:color-mix(in srgb,var(--cp-bg2) 70%,transparent);cursor:pointer;outline:none;--cp-range-progress: 50%}.cp-range:focus-visible,.cp-demo input[type=range]:focus-visible{outline:2px solid var(--cp-focus);outline-offset:3px}.cp-range::-webkit-slider-runnable-track,.cp-demo input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:9999px;background:linear-gradient(to right,var(--cp-accent) 0%,var(--cp-accent) var(--cp-range-progress),color-mix(in srgb,var(--cp-bg2) 70%,transparent) var(--cp-range-progress),color-mix(in srgb,var(--cp-bg2) 70%,transparent) 100%)}.cp-range::-webkit-slider-thumb,.cp-demo input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:9999px;background:var(--cp-bg1);border:2px solid var(--cp-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cp-accent) 18%,transparent);transition:transform var(--cp-transition-fast) var(--cp-ease-out),box-shadow var(--cp-transition-fast) var(--cp-ease-out)}.cp-range:hover::-webkit-slider-thumb,.cp-demo input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 0 0 4px color-mix(in srgb,var(--cp-accent) 22%,transparent)}.cp-range:active::-webkit-slider-thumb,.cp-demo input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.cp-range::-moz-range-track,.cp-demo input[type=range]::-moz-range-track{height:6px;border-radius:9999px;background:color-mix(in srgb,var(--cp-bg2) 70%,transparent)}.cp-range::-moz-range-progress,.cp-demo input[type=range]::-moz-range-progress{height:6px;border-radius:9999px;background:var(--cp-accent)}.cp-range::-moz-range-thumb,.cp-demo input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:9999px;background:var(--cp-bg1);border:2px solid var(--cp-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cp-accent) 18%,transparent);transition:transform var(--cp-transition-fast) var(--cp-ease-out),box-shadow var(--cp-transition-fast) var(--cp-ease-out)}.cp-range:hover::-moz-range-thumb,.cp-demo input[type=range]:hover::-moz-range-thumb{transform:scale(1.1);box-shadow:0 0 0 4px color-mix(in srgb,var(--cp-accent) 22%,transparent)}.cp-range:active::-moz-range-thumb,.cp-demo input[type=range]:active::-moz-range-thumb{transform:scale(1.15)}@media (prefers-reduced-motion: reduce){.cp-input,.cp-select,.cp-textarea,.cp-range::-webkit-slider-thumb,.cp-demo input[type=range]::-webkit-slider-thumb,.cp-range::-moz-range-thumb,.cp-demo input[type=range]::-moz-range-thumb{transition:none}}.control{display:grid;gap:var(--cp-space-2)}.control:has(>.control__value):not(.control--stacked){grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px var(--cp-space-2)}.control:has(>.control__value):not(.control--stacked)>:first-child{grid-column:1;grid-row:1;min-width:0}.control:has(>.control__value):not(.control--stacked)>.control__value{grid-column:2;grid-row:1;justify-self:end;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.control:has(>.control__value):not(.control--stacked)>input,.control:has(>.control__value):not(.control--stacked)>select,.control:has(>.control__value):not(.control--stacked)>textarea,.control:has(>.control__value):not(.control--stacked)>.cp-range{grid-column:1 / -1;grid-row:2}.control:has(>.control__value):not(.control--stacked)>.control__hint,.control:has(>.control__value):not(.control--stacked)>:nth-child(n+4){grid-column:1 / -1;grid-row:auto;text-align:left;white-space:normal}.cp-field:has(>.cp-field__value):not(.cp-field--stacked){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px var(--cp-space-2)}.cp-field:has(>.cp-field__value):not(.cp-field--stacked)>*{grid-column:1 / -1}.cp-field:has(>.cp-field__value):not(.cp-field--stacked)>.cp-label,.cp-field:has(>.cp-field__value):not(.cp-field--stacked)>label{grid-column:1;grid-row:1;margin-bottom:0;min-width:0}.cp-field:has(>.cp-field__value):not(.cp-field--stacked)>.cp-field__value{grid-column:2;grid-row:1;justify-self:end;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cp-field:has(>.cp-field__value):not(.cp-field--stacked)>input,.cp-field:has(>.cp-field__value):not(.cp-field--stacked)>select,.cp-field:has(>.cp-field__value):not(.cp-field--stacked)>.cp-range{grid-row:2}.cp-popover-anchor{position:relative}.cp-popover{position:absolute;z-index:var(--cp-z-dropdown);top:calc(100% + var(--cp-space-2));left:0;min-width:240px;max-width:360px;background:var(--cp-instr-panel-bg, var(--cp-bg2));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--cp-border);border-radius:var(--cp-r-2);box-shadow:var(--cp-elevation-3);animation:cp-pop-in .15s var(--cp-ease-out)}.cp-popover[hidden]{display:none}.cp-popover__body{padding:var(--cp-space-3);max-height:400px;overflow:auto}.cp-popover-link{display:block;padding:var(--cp-space-2) var(--cp-space-3);color:var(--cp-text);text-decoration:none;border-radius:var(--cp-r-1);transition:background var(--cp-transition-fast) var(--cp-ease-out)}.cp-popover-link:hover{background:var(--cp-bg2);color:var(--cp-accent)}.cp-tabs{display:flex;gap:var(--cp-space-1);border-bottom:1px solid var(--cp-border);padding:0 var(--cp-space-3)}.cp-tab{padding:var(--cp-space-2) var(--cp-space-3);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--cp-muted);font-family:var(--cp-font-sans);font-size:var(--cp-text-sm);font-weight:var(--cp-font-semibold);cursor:pointer;transition:color var(--cp-transition-fast) var(--cp-ease-out),border-color var(--cp-transition-fast) var(--cp-ease-out)}.cp-tab:focus-visible{outline:2px solid var(--cp-focus);outline-offset:-2px}.cp-tab--active,.cp-tab[aria-selected=true]{color:var(--cp-accent);border-bottom-color:var(--cp-accent)}.cp-tab:hover:not(.cp-tab--active):not([aria-selected=true]){color:var(--cp-text)}.cp-tab-panel{padding:var(--cp-space-4)}.cp-tab-panel[hidden]{display:none}.cp-playbar{grid-area:playbar;display:flex;align-items:center;gap:var(--cp-space-2);padding:var(--cp-space-2) var(--cp-space-3);background:var(--cp-instr-panel-bg, var(--cp-bg2));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--cp-border);border-radius:var(--cp-r-2)}.cp-playbar__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:44px;min-height:44px;padding:0;background:transparent;border:1px solid var(--cp-border);border-radius:var(--cp-r-1);color:var(--cp-text);font-size:var(--cp-text-md);cursor:pointer;transition:background var(--cp-transition-fast) var(--cp-ease-out),border-color var(--cp-transition-fast) var(--cp-ease-out)}.cp-playbar__btn:hover{background:var(--cp-bg2);border-color:var(--cp-accent)}.cp-playbar__btn:focus-visible{outline:2px solid var(--cp-focus);outline-offset:2px}.cp-playbar__btn:disabled{opacity:.4;cursor:default;pointer-events:none}.cp-playbar__timeline{flex:1;min-width:120px}.cp-playbar__phase{font-family:var(--cp-font-mono);font-size:var(--cp-text-sm);white-space:nowrap;min-width:10ch}.cp-bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:var(--cp-z-sticky);background:var(--cp-instr-panel-bg, var(--cp-bg2));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--cp-border);border-radius:var(--cp-r-3) var(--cp-r-3) 0 0;transition:transform .3s var(--cp-ease-out);will-change:transform}.cp-bottom-sheet[data-snap=collapsed]{transform:translateY(calc(100% - 10svh))}.cp-bottom-sheet[data-snap=half]{transform:translateY(50%)}.cp-bottom-sheet[data-snap=full]{transform:translateY(10%)}.cp-bottom-sheet__handle{display:flex;justify-content:center;padding:var(--cp-space-2);cursor:grab;touch-action:none}.cp-bottom-sheet__handle:active{cursor:grabbing}.cp-bottom-sheet__grip{width:40px;height:4px;border-radius:2px;background:var(--cp-muted)}.cp-bottom-sheet__content{overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(90svh - 40px);padding:0 var(--cp-space-3) var(--cp-space-4)}@media (min-width: 1024px){.cp-bottom-sheet{display:none}}.cp-utility-toolbar{display:flex;gap:var(--cp-space-1);padding:var(--cp-space-2) 0;border-bottom:1px solid var(--cp-border-subtle);margin-bottom:var(--cp-space-3)}.cp-utility-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:44px;min-height:44px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--cp-r-1);color:var(--cp-muted);cursor:pointer;transition:color var(--cp-transition-fast) var(--cp-ease-out),background var(--cp-transition-fast) var(--cp-ease-out),border-color var(--cp-transition-fast) var(--cp-ease-out)}.cp-utility-btn:hover{color:var(--cp-text);background:var(--cp-bg2);border-color:var(--cp-border)}.cp-utility-btn:focus-visible{outline:2px solid var(--cp-focus);outline-offset:2px}.cp-utility-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.cp-readout-strip{grid-area:readouts;display:flex;flex-wrap:wrap;gap:var(--cp-space-3) var(--cp-space-5);padding:var(--cp-space-3) var(--cp-space-4);background:var(--cp-instr-panel-bg, var(--cp-bg2));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--cp-r-2);border:1px solid var(--cp-border)}.cp-readout-strip .cp-readout{background:transparent;border:none;padding:0;min-width:auto}.cp-scroll-shadow{background:linear-gradient(var(--cp-bg1) 30%,transparent) local,linear-gradient(transparent,var(--cp-bg1) 70%) 0 100% local,radial-gradient(farthest-side at 50% 0,rgba(0,0,0,.3),transparent) scroll,radial-gradient(farthest-side at 50% 100%,rgba(0,0,0,.3),transparent) 0 100% scroll;background-repeat:no-repeat;background-size:100% 40px,100% 40px,100% 12px,100% 12px}.cp-chip{display:inline-flex;align-items:center;justify-content:center;padding:var(--cp-space-1) var(--cp-space-2);font-size:var(--cp-text-sm, .82rem);font-weight:var(--cp-font-medium);line-height:1;border:1px solid var(--cp-border);border-radius:9999px;background:var(--cp-bg1);color:var(--cp-text);cursor:pointer;transition:border-color var(--cp-transition-fast) ease,background var(--cp-transition-fast) ease,box-shadow var(--cp-transition-fast) ease}.cp-chip:hover{border-color:color-mix(in srgb,var(--cp-border) 50%,var(--cp-accent));background:color-mix(in srgb,var(--cp-accent) 6%,var(--cp-bg1))}.cp-chip:active{background:color-mix(in srgb,var(--cp-accent) 12%,var(--cp-bg1))}.cp-chip:focus-visible{outline:2px solid var(--cp-accent-amber);outline-offset:2px}.cp-chip.is-active,.cp-chip[aria-pressed=true]{border-color:color-mix(in srgb,var(--cp-border) 30%,var(--cp-accent));background:color-mix(in srgb,var(--cp-accent) 10%,var(--cp-bg2));box-shadow:0 0 0 1px color-mix(in srgb,var(--cp-accent) 18%,transparent)}.cp-chip:disabled,.cp-chip[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.cp-chip-group{display:flex;flex-wrap:wrap;gap:var(--cp-space-1)}.cp-chip-group--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cp-space-2)}.cp-toggle{display:inline-flex;align-items:center;gap:var(--cp-space-2);cursor:pointer;font-size:.85rem;color:var(--cp-muted)}.cp-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:36px;height:20px;border-radius:9999px;border:1px solid var(--cp-border);background:var(--cp-bg2);position:relative;cursor:pointer;flex-shrink:0;transition:background .2s ease,border-color .2s ease}.cp-toggle input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--cp-muted);transition:transform .2s ease,background .2s ease}.cp-toggle input[type=checkbox]:checked{background:color-mix(in srgb,var(--cp-accent) 25%,var(--cp-bg2));border-color:var(--cp-accent)}.cp-toggle input[type=checkbox]:checked:after{transform:translate(16px);background:var(--cp-accent)}.cp-toggle input[type=checkbox]:focus-visible{outline:2px solid var(--cp-accent-amber);outline-offset:2px}.cp-panel-body{display:grid;gap:var(--cp-space-3)}.cp-muted{color:var(--cp-muted)}.cp-status{margin:0;color:var(--cp-muted);min-height:1.25em}.cp-stage--stub{display:grid;place-items:center;padding:var(--cp-space-5)}.cp-stage__inner{max-width:52ch}.cp-stage__headline{margin:0;font-weight:800;font-size:1.2rem}.cp-readout{margin-top:12px;padding:10px;border-radius:10px;background:var(--cp-bg2);border:1px solid var(--cp-border)}.cp-readout__label{font-size:.9rem;color:var(--cp-muted)}.cp-readout__value{margin-top:4px;font-size:1.4rem}.cp-notice{margin-top:12px;padding:10px;border-radius:12px;background:var(--cp-bg2);border:1px solid var(--cp-border)}.cp-notice h3{margin:0;font-size:1rem}.cp-notice ul{margin:8px 0 0;padding-left:18px;color:var(--cp-muted)}.cp-notice li{margin:6px 0}.cp-drawer ul{margin:8px 0 0;padding-left:18px;color:var(--cp-muted)}.hydro-demo{--hydro-pressure: color-mix(in srgb, var(--cp-accent) 86%, white 14%);--hydro-pressure-soft: color-mix(in srgb, var(--cp-accent) 18%, transparent);--hydro-gravity: color-mix(in srgb, var(--cp-accent-amber) 84%, var(--cp-text) 16%);--hydro-gravity-soft: color-mix(in srgb, var(--cp-accent-amber) 14%, transparent);--hydro-density: color-mix(in srgb, var(--cp-accent) 48%, var(--cp-accent-ice) 52%);--hydro-density-soft: color-mix(in srgb, var(--cp-accent) 14%, transparent);--hydro-profile: color-mix(in srgb, var(--cp-accent) 62%, var(--cp-tint-blue));--hydro-star-core: color-mix(in srgb, var(--cp-accent) 30%, var(--cp-bg0) 70%);--hydro-star-outer: color-mix(in srgb, var(--cp-accent) 36%, var(--cp-bg1) 64%);--hydro-shell: color-mix(in srgb, var(--cp-accent-amber) 72%, var(--cp-text) 28%);--hydro-balance: color-mix(in srgb, var(--cp-accent) 70%, white 10%);--hydro-imbalance: color-mix(in srgb, var(--cp-accent-amber) 74%, var(--cp-accent) 26%);grid-template-columns:clamp(292px,24vw,338px) minmax(0,1fr);grid-template-rows:1fr auto auto;grid-template-areas:"sidebar viz" "sidebar readouts" "shelf shelf"}.hydro-demo[data-view-mode=student]{grid-template-columns:minmax(0,1fr);grid-template-areas:"sidebar" "viz" "readouts" "shelf"}.hydro-demo .cp-demo__controls{animation:cp-slide-up .48s var(--cp-ease-out)}.hydro-demo .cp-panel-body{gap:var(--cp-space-2)}.hydro-demo [hidden]{display:none!important}.hydro-demo .cp-demo__stage{min-height:clamp(520px,78svh,980px);display:grid;gap:var(--cp-space-2);padding:var(--cp-space-2);animation:cp-fade-in .62s var(--cp-ease-out)}.hydro-demo .cp-demo__drawer{animation:cp-fade-in .72s var(--cp-ease-out) .08s backwards}.hydro-demo .cp-demo__readouts{animation:cp-fade-in .58s var(--cp-ease-out) .04s backwards}.hydro-demo .cp-stage{background:color-mix(in srgb,var(--cp-bg1) 72%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hydro-demo .cp-demo__drawer{background:transparent}.hydro-demo .cp-accordion{background:color-mix(in srgb,var(--cp-bg1) 82%,transparent);border-color:var(--cp-instr-panel-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.card-kicker{margin:0;color:var(--cp-text2);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.card-pill{border:1px solid color-mix(in srgb,var(--cp-border) 82%,transparent);border-radius:999px;padding:.16rem .5rem;font-size:.67rem;font-weight:600;letter-spacing:.03em;color:var(--cp-text2);background:color-mix(in srgb,var(--cp-bg2) 78%,transparent)}.control-card,.viz-card{display:grid;gap:.85rem;padding:.95rem 1rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--cp-border) 82%,var(--cp-accent) 18%);background:color-mix(in srgb,var(--cp-bg1) 92%,transparent);box-shadow:0 18px 40px color-mix(in srgb,var(--cp-bg0) 34%,transparent)}.control-card h2,.viz-card h3,.equation-card h4,.understand-card h3{margin:0;color:var(--cp-text);line-height:1.18;letter-spacing:-.01em}.control-card h2{font-size:1rem;font-weight:700}.viz-card h3{font-size:1.04rem;font-weight:700}.equation-card h4,.understand-card h3{font-size:.96rem;font-weight:700}.card-heading,.viz-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.card-intro,.challenge-intro,.stage-note,.equation-card__meaning{margin:0;font-size:.94rem;line-height:1.45}.workflow-list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem}.workflow-list li{color:var(--cp-text)}.start-here-card{border-color:color-mix(in srgb,var(--cp-accent) 40%,var(--cp-border));background:linear-gradient(180deg,color-mix(in srgb,var(--cp-accent) 8%,var(--cp-bg2)),color-mix(in srgb,var(--cp-bg1) 94%,transparent))}.presets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.preset-chip,.challenge-choice{justify-content:flex-start;text-align:left}.preset-chip.is-active,.challenge-choice[aria-checked=true],.hydro-demo .cp-chip[aria-checked=true]{border-color:color-mix(in srgb,var(--cp-accent) 54%,var(--cp-border));background:color-mix(in srgb,var(--cp-accent) 10%,var(--cp-bg2));box-shadow:0 0 0 1px color-mix(in srgb,var(--cp-accent) 22%,transparent)}.control>span,.control__label{color:var(--cp-text);font-size:.93rem}.control__value{color:var(--cp-text2);font-size:.88rem;font-variant-numeric:tabular-nums}.control--toggle-group{margin-top:.2rem}.toggle-stack{display:grid;gap:.55rem}.cp-toggle{display:flex;gap:.65rem;align-items:center;color:var(--cp-text)}.cp-toggle input{accent-color:var(--cp-accent)}.hydro-demo button:disabled,.hydro-demo input:disabled{cursor:not-allowed;opacity:.58}.challenge-card{border-color:color-mix(in srgb,var(--cp-accent2) 48%,var(--cp-border))}.challenge-prompt{margin:0;color:var(--cp-text);line-height:1.42;font-size:.95rem}.challenge-choices{display:grid;gap:.55rem}.challenge-choice{width:100%;border-radius:14px;border:1px solid color-mix(in srgb,var(--cp-border) 80%,transparent);background:color-mix(in srgb,var(--cp-bg1) 88%,transparent);color:var(--cp-text);padding:.75rem .85rem;cursor:pointer;transition:border-color var(--cp-transition-fast) ease,transform var(--cp-transition-fast) ease,background var(--cp-transition-fast) ease}.challenge-choice:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--cp-accent) 40%,var(--cp-border))}.challenge-choice:focus-visible{outline:2px solid var(--cp-focus);outline-offset:2px}.challenge-actions{display:flex;flex-wrap:wrap;gap:.55rem}.challenge-feedback,.challenge-hint{border-radius:14px;padding:.8rem .9rem}.challenge-feedback{border:1px solid color-mix(in srgb,var(--cp-border) 74%,transparent);background:color-mix(in srgb,var(--cp-bg2) 75%,transparent)}.challenge-feedback[data-tone=correct]{border-color:color-mix(in srgb,var(--cp-success) 52%,var(--cp-border));background:color-mix(in srgb,var(--cp-success) 12%,transparent)}.challenge-feedback[data-tone=incorrect]{border-color:color-mix(in srgb,var(--cp-danger) 56%,var(--cp-border));background:color-mix(in srgb,var(--cp-danger) 10%,transparent)}.challenge-feedback[data-tone=close]{border-color:color-mix(in srgb,var(--cp-warning) 56%,var(--cp-border));background:color-mix(in srgb,var(--cp-warning) 10%,transparent)}.cp-status{margin:0;min-height:1.25rem;color:var(--cp-text2);font-size:.9rem}.stage-tabs{padding:var(--cp-space-2) var(--cp-space-2) 0}.cp-tab-panel{min-height:0;display:grid;gap:var(--cp-space-3)}.panel-tag-group{display:flex;flex-wrap:wrap;gap:.4rem}.panel-tag{padding:.14rem .46rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--cp-border) 76%,transparent);background:color-mix(in srgb,var(--cp-bg1) 88%,transparent);color:var(--cp-text2);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.mode-card{border-color:color-mix(in srgb,var(--cp-accent2) 38%,var(--cp-border))}.control-group{position:relative}.control-group[data-locked=true]{border-color:color-mix(in srgb,var(--cp-border) 92%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--cp-bg1) 96%,transparent),color-mix(in srgb,var(--cp-bg0) 92%,var(--cp-bg1)))}.control-group[data-locked=true] .control:not(.control--toggle-group),.control-group[data-locked=true] .toggle-stack,.control-group[data-locked=true] .helper-copy{opacity:.68}.control-lock{margin:0;padding:.75rem .85rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--cp-accent-amber) 30%,var(--cp-border));background:linear-gradient(135deg,color-mix(in srgb,var(--cp-accent-amber) 12%,transparent),color-mix(in srgb,var(--cp-bg1) 92%,transparent));color:color-mix(in srgb,var(--cp-text) 84%,var(--cp-bg0));line-height:1.42}.helper-copy{margin:0}.advanced-controls{gap:0}.advanced-controls summary{display:flex;justify-content:space-between;align-items:center;gap:var(--cp-space-2);cursor:pointer;list-style:none}.advanced-controls summary::-webkit-details-marker{display:none}.advanced-controls__body{display:grid;gap:var(--cp-space-2);padding-top:var(--cp-space-2)}.summary-title{color:var(--cp-text);font-size:.95rem;font-weight:var(--cp-font-semibold)}.stage{display:grid;gap:var(--cp-space-2);width:min(100%,1060px);margin-inline:auto;padding:0 var(--cp-space-1)}.hydro-demo[data-view-mode=student] .stage{width:min(100%,980px)}.hydro-demo[data-view-mode=student][data-guided-step=predict] .stage{width:min(100%,760px)}.stage-toolbar{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:.95rem 1rem;padding:.95rem 1rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--cp-border) 82%,var(--cp-accent) 18%);background:color-mix(in srgb,var(--cp-bg1) 96%,transparent);box-shadow:0 18px 48px color-mix(in srgb,var(--cp-bg0) 54%,transparent);align-items:start}.hydro-demo[data-view-mode=student][data-guided-step=predict] .stage-toolbar{grid-template-columns:1fr}.stage-toolbar__copy,.stage-toolbar__task{display:grid;gap:.42rem}.stage-toolbar__eyebrow{margin:0;color:color-mix(in srgb,var(--cp-accent) 74%,var(--cp-text));font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stage-toolbar__copy h2,.stage-toolbar__task h3{margin:0;color:color-mix(in srgb,var(--cp-text) 96%,var(--cp-bg0))}.stage-toolbar__copy h2{font-size:clamp(1.08rem,.98rem + .7vw,1.46rem);line-height:1.12;text-wrap:balance}.stage-toolbar__task h3{font-size:1rem}.stage-toolbar__prompt{margin:0;color:color-mix(in srgb,var(--cp-text) 78%,var(--cp-bg0));font-size:.94rem;line-height:1.45}.task-header{display:flex;justify-content:space-between;align-items:center;gap:.65rem}.task-actions{display:flex;flex-wrap:wrap;gap:.45rem}.task-actions--compact{justify-content:flex-end}.stage-toolbar__task{padding-left:1rem;border-left:1px solid color-mix(in srgb,var(--cp-border) 64%,transparent)}.prediction-panel{display:grid;gap:.55rem;align-content:start}.prediction-choices{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr))}.prediction-chip{min-height:2.3rem;justify-content:center;font-size:.9rem}.prediction-feedback{margin:0;justify-self:start;max-width:25rem;padding:.48rem .64rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--cp-accent) 34%,var(--cp-border));background:linear-gradient(135deg,color-mix(in srgb,var(--cp-accent) 12%,transparent),color-mix(in srgb,var(--cp-bg1) 94%,transparent));color:color-mix(in srgb,var(--cp-text) 82%,var(--cp-bg0));font-size:.82rem;line-height:1.3}.prediction-feedback strong{color:var(--cp-text)}.prediction-feedback :where(.katex){font-size:.96em}.viz-layout{display:grid;gap:var(--cp-space-2);grid-template-columns:minmax(0,1.58fr) minmax(240px,.42fr);align-items:start}.hydro-demo[data-view-mode=student][data-guided-step=local-shell] .viz-layout,.hydro-demo[data-view-mode=student][data-guided-step=global-profile] .viz-layout{grid-template-columns:minmax(0,1.52fr) minmax(240px,.48fr)}.hydro-demo[data-view-mode=student][data-guided-step=compactness] .viz-layout,.hydro-demo[data-view-mode=student][data-guided-step=density-model] .viz-layout,.hydro-demo[data-view-mode=student][data-guided-step=thermal-bridge] .viz-layout,.hydro-demo[data-view-mode=student][data-guided-step=synthesis] .viz-layout{grid-template-columns:1fr}.viz-card{padding:1rem 1.05rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--cp-border) 82%,var(--cp-accent) 18%);background:color-mix(in srgb,var(--cp-bg1) 92%,transparent);box-shadow:0 18px 42px color-mix(in srgb,var(--cp-bg0) 40%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero-card{min-height:100%}.hydro-demo[data-view-mode=student] .hero-card{border-color:color-mix(in srgb,var(--hydro-pressure) 36%,var(--cp-border));box-shadow:0 22px 56px color-mix(in srgb,var(--cp-bg0) 48%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--hydro-pressure) 12%,transparent)}.profile-card{display:grid;gap:.8rem}.notice-card{display:grid;gap:.72rem;align-self:stretch;background:linear-gradient(135deg,color-mix(in srgb,var(--cp-accent) 11%,transparent),color-mix(in srgb,var(--cp-tint-blue) 8%,transparent)),color-mix(in srgb,var(--cp-bg1) 94%,transparent)}.hero-badges{display:flex;gap:.35rem;flex-wrap:wrap;align-content:flex-start}.hero-visual{display:grid;gap:.7rem}#starShellView,#profilePlot{width:100%;height:auto;display:block;border-radius:18px;border:1px solid color-mix(in srgb,var(--cp-border) 78%,var(--cp-accent) 22%);background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--cp-tint-blue) 44%,transparent),color-mix(in srgb,var(--cp-bg0) 90%,transparent)),linear-gradient(180deg,color-mix(in srgb,var(--cp-bg1) 94%,transparent),color-mix(in srgb,var(--cp-bg0) 88%,var(--cp-bg1)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cp-border) 24%,transparent),0 20px 42px color-mix(in srgb,var(--cp-bg0) 42%,transparent)}#starShellView{aspect-ratio:3 / 2;background:radial-gradient(circle at 28% 28%,color-mix(in srgb,var(--cp-accent) 10%,transparent),transparent 30%),radial-gradient(circle at 56% 48%,color-mix(in srgb,var(--cp-tint-blue) 44%,transparent),color-mix(in srgb,var(--cp-bg0) 92%,transparent)),linear-gradient(180deg,color-mix(in srgb,var(--cp-bg1) 92%,transparent),color-mix(in srgb,var(--cp-bg0) 88%,var(--cp-bg1)))}#profilePlot{aspect-ratio:2 / 1}.hero-legend{display:flex;flex-wrap:wrap;gap:.5rem}.hero-legend__item{display:inline-flex;align-items:center;gap:.42rem;padding:.34rem .58rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--cp-border) 78%,transparent);background:color-mix(in srgb,var(--cp-bg1) 88%,transparent);color:color-mix(in srgb,var(--cp-text) 76%,var(--cp-bg0));font-size:.74rem;font-weight:600;letter-spacing:.01em}.hero-legend__swatch{width:.78rem;height:.2rem;border-radius:999px;background:var(--cp-text2);box-shadow:0 0 14px color-mix(in srgb,currentColor 18%,transparent)}.hero-legend__swatch--pressure{background:var(--hydro-pressure)}.hero-legend__swatch--gravity{background:var(--hydro-gravity)}.hero-legend__swatch--net{background:color-mix(in srgb,var(--cp-text) 82%,var(--cp-accent) 18%)}.stage-note{padding:.9rem 1rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--cp-border) 78%,transparent);background:color-mix(in srgb,var(--cp-bg1) 82%,transparent);font-size:.93rem;line-height:1.45}.stage-note--compact{padding:.7rem .85rem}.stage-note--hero{padding:.78rem .88rem;background:linear-gradient(135deg,color-mix(in srgb,var(--cp-accent) 8%,transparent),color-mix(in srgb,var(--cp-bg1) 90%,transparent))}.state-banner{padding:.75rem .9rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--cp-warning) 46%,var(--cp-border));background:color-mix(in srgb,var(--cp-warning) 10%,transparent);color:var(--cp-text);line-height:1.45}.notice-list{margin:0;padding-left:1.1rem;display:grid;gap:.5rem;color:var(--cp-text);font-size:.9rem;line-height:1.45}.context-summary{display:grid;gap:.6rem;padding-top:.55rem;border-top:1px solid color-mix(in srgb,var(--cp-border) 66%,transparent)}.context-summary__item{display:grid;gap:.24rem;padding-top:.55rem;border-top:1px solid color-mix(in srgb,var(--cp-border) 40%,transparent)}.context-summary__item:first-child{padding-top:0;border-top:0}.context-summary__label{color:var(--cp-text2);font-size:.64rem;font-weight:var(--cp-font-semibold);letter-spacing:.06em;text-transform:uppercase}.summary-copy{margin:0;color:var(--cp-text);font-size:.89rem;line-height:1.4}.hydro-demo[data-view-mode=student] .notice-card .context-summary__item:nth-child(1),.hydro-demo[data-view-mode=student] .notice-card .context-summary__item:nth-child(2){display:none}.hydro-demo[data-view-mode=student] .notice-card .context-summary__label{display:none}.profile-tabs{flex-wrap:wrap}.profile-summary{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.thermal-bridge-card,.synthesis-card{display:grid;gap:.8rem}.thermal-bridge-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.synthesis-card textarea{width:100%;min-height:6.5rem;resize:vertical;border-radius:14px;border:1px solid color-mix(in srgb,var(--cp-border) 78%,transparent);background:color-mix(in srgb,var(--cp-bg0) 78%,var(--cp-bg1));color:var(--cp-text);padding:.8rem .9rem;font:inherit;line-height:1.45}.synthesis-card textarea:focus-visible{outline:2px solid var(--cp-focus);outline-offset:2px}.hydro-demo[data-view-mode=student] .hero-badges{gap:.25rem}.hydro-demo[data-view-mode=student] .hero-badges .card-pill:nth-child(2),.hydro-demo[data-view-mode=student] .hero-badges .card-pill:nth-child(3){display:none}.hydro-demo[data-view-mode=student] .cp-demo__drawer[hidden],.hydro-demo [hidden]{display:none!important}.understand-top{display:grid;gap:var(--cp-space-3);width:min(100%,1120px);margin-inline:auto;padding:0 var(--cp-space-1)}.compact-reasoning-card{border-color:color-mix(in srgb,var(--cp-accent2) 34%,var(--cp-border))}.reasoning-ladder{display:grid;gap:.7rem;position:relative;padding-left:1.1rem}.reasoning-ladder:before{content:"";position:absolute;left:.35rem;top:.8rem;bottom:.8rem;width:2px;background:linear-gradient(180deg,color-mix(in srgb,var(--cp-accent) 56%,transparent),color-mix(in srgb,var(--cp-accent2) 44%,transparent))}.ladder-step{position:relative;display:grid;gap:.24rem;padding:.75rem .9rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--cp-border) 82%,transparent);background:color-mix(in srgb,var(--cp-bg1) 88%,transparent)}.ladder-step:before{content:"";position:absolute;left:-.98rem;top:1.08rem;width:.72rem;height:.72rem;border-radius:999px;background:color-mix(in srgb,var(--cp-accent) 54%,var(--cp-accent2));box-shadow:0 0 0 4px color-mix(in srgb,var(--cp-accent) 14%,transparent)}.ladder-step__label{color:var(--cp-text2);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.ladder-step__text{color:var(--cp-text);line-height:1.4}.equation-grid{display:grid;gap:var(--cp-space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.equation-card{display:grid;gap:.6rem;padding:.95rem 1rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--cp-border) 82%,transparent);background:color-mix(in srgb,var(--cp-bg1) 90%,transparent)}.equation-card__equation{min-height:3.25rem;padding:.4rem 0}.equation-card__legend{margin:0;padding-left:1.15rem;color:var(--cp-text2);display:grid;gap:.28rem;font-size:.88rem}.equation-card__notice{margin:0;min-height:2.6rem;color:var(--cp-text);line-height:1.4}.equation-card__details{border-top:1px solid color-mix(in srgb,var(--cp-border) 70%,transparent);padding-top:.55rem}.equation-card__details summary{cursor:pointer;color:var(--cp-text2)}.equation-card__details[hidden]{display:none}.understand-grid{display:grid;gap:var(--cp-space-3);grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,1120px);margin-inline:auto;padding:0 var(--cp-space-1) var(--cp-space-2)}.understand-card{min-height:100%}.readout-secondary{display:block;margin-top:.16rem;color:var(--cp-readout-unit-color, var(--cp-text2));font-size:.76rem;line-height:1.2}.readout-primary{display:block}.hero-backdrop{fill:url(#hydroHeroGlow)}.hero-star-shell{fill:url(#hydroStarFill);stroke:color-mix(in srgb,var(--cp-border) 34%,transparent);stroke-width:1.5}.hero-shell-guide{fill:none;stroke:color-mix(in srgb,var(--cp-border) 36%,transparent);stroke-width:1.2;stroke-dasharray:5 8}.hero-shell-arc{fill:none;stroke:var(--hydro-shell);stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--hydro-shell) 24%,transparent))}.hero-shell-node{fill:var(--hydro-shell);stroke:color-mix(in srgb,white 60%,var(--hydro-shell) 40%);stroke-width:1.5}.hero-enclosed-mass{fill:color-mix(in srgb,var(--hydro-density) 16%,transparent);stroke:color-mix(in srgb,var(--hydro-density) 28%,transparent);stroke-width:1.5}.hero-contour{fill:none;stroke:color-mix(in srgb,var(--cp-border) 24%,transparent);stroke-width:1}.hero-callout,.profile-guide,.profile-axis,.plot-zero-line{stroke:color-mix(in srgb,var(--cp-border) 70%,transparent);stroke-width:1.5}.hero-callout{fill:none;stroke-dasharray:6 7}.profile-guide,.plot-zero-line{stroke-dasharray:7 7}.hero-label,.profile-axis-label,.profile-tick,.profile-caption{fill:color-mix(in srgb,var(--cp-text) 72%,var(--cp-bg0));font-size:12.5px;font-family:var(--cp-font-ui)}.hero-label--strong,.profile-value-label{fill:color-mix(in srgb,var(--cp-text) 94%,var(--cp-bg0));font-weight:var(--cp-font-semibold)}.hero-label--pressure{fill:color-mix(in srgb,var(--hydro-pressure) 86%,white 14%)}.hero-label--gravity{fill:color-mix(in srgb,var(--hydro-gravity) 90%,white 10%)}.hero-label--net{fill:color-mix(in srgb,var(--cp-text) 88%,var(--cp-accent) 12%)}.hero-patch{fill:color-mix(in srgb,var(--cp-bg1) 86%,transparent);stroke:color-mix(in srgb,var(--cp-border) 68%,var(--cp-accent) 14%);stroke-width:1.5;rx:18}.hero-patch-face{stroke-width:3}.hero-patch-face--inner{stroke:var(--hydro-pressure)}.hero-patch-face--outer{stroke:color-mix(in srgb,var(--hydro-pressure) 72%,var(--cp-text2))}.hero-arrow{stroke:none}.hero-arrow--pressure{fill:var(--hydro-pressure)}.hero-arrow--pressure-outer{fill:color-mix(in srgb,var(--hydro-pressure) 74%,var(--cp-text2))}.hero-arrow--gravity{fill:var(--hydro-gravity)}.hero-arrow--net{fill:color-mix(in srgb,var(--cp-text) 78%,var(--cp-accent) 22%)}.hero-arrow--net-unbalanced{fill:var(--hydro-imbalance)}.hero-force-guide{stroke:color-mix(in srgb,var(--cp-border) 60%,transparent);stroke-dasharray:6 6}.profile-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.profile-area{opacity:.18}.plot-line--pressure,.plot-area--pressure{stroke:var(--hydro-pressure);fill:var(--hydro-pressure)}.plot-line--pressure-gradient,.plot-area--pressure-gradient{stroke:var(--hydro-gravity);fill:var(--hydro-gravity)}.plot-line--enclosed-mass,.plot-area--enclosed-mass{stroke:var(--hydro-density);fill:var(--hydro-density)}.plot-line--gravity,.plot-area--gravity{stroke:color-mix(in srgb,var(--cp-accent-rose) 68%,var(--cp-accent-amber));fill:color-mix(in srgb,var(--cp-accent-rose) 68%,var(--cp-accent-amber))}.plot-line--density,.plot-area--density{stroke:var(--hydro-profile);fill:var(--hydro-profile)}.plot-marker{fill:var(--cp-bg0);stroke:var(--cp-text);stroke-width:3}.plot-marker-ring{fill:none;stroke:color-mix(in srgb,var(--cp-text) 18%,transparent);stroke-width:10;opacity:.25}.profile-summary .cp-readout{padding:.8rem .9rem}.profile-summary .cp-readout__value,.hydro-demo .cp-readout-strip .cp-readout__value{font-size:1.12rem;line-height:1.25}.profile-summary .cp-readout__label,.hydro-demo .cp-readout-strip .cp-readout__label{font-size:.76rem}.hydro-demo .cp-readout-strip{gap:var(--cp-space-2) var(--cp-space-4)}.hero-card .cp-muted,.profile-card .cp-muted,.compact-reasoning-card .cp-muted,.notice-card .cp-muted{margin:0;font-size:.93rem;line-height:1.45}.hydro-demo[data-view-mode=instructor] .equation-card{border-color:color-mix(in srgb,var(--cp-accent2) 28%,var(--cp-border))}.hydro-demo[data-view-mode=instructor] .hero-card,.hydro-demo[data-view-mode=instructor] .compact-reasoning-card{box-shadow:0 20px 34px color-mix(in srgb,var(--cp-bg0) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--cp-accent2) 10%,transparent)}@media (max-width: 1320px){.stage-toolbar{grid-template-columns:1fr}.stage-toolbar__task{padding-left:0;border-left:0;border-top:1px solid color-mix(in srgb,var(--cp-border) 72%,transparent);padding-top:.7rem}.viz-layout,.equation-grid,.thermal-bridge-grid{grid-template-columns:1fr}}@media (max-width: 1024px){.hydro-demo{grid-template-columns:1fr;grid-template-areas:"viz" "readouts" "sidebar" "shelf"}.hydro-demo .cp-demo__controls{position:static;max-height:none}.hydro-demo .cp-demo__stage{min-height:clamp(460px,72svh,860px)}}@media (max-width: 720px){.hydro-demo .cp-demo__stage{padding:var(--cp-space-2)}.profile-summary,.understand-grid,.prediction-choices,.presets-grid{grid-template-columns:1fr}.viz-card,.control-card{padding:var(--cp-space-2)}.challenge-actions,.task-actions{flex-direction:column;align-items:stretch}.task-header{align-items:flex-start;flex-direction:column}.stage-toolbar{padding:var(--cp-space-2)}.stage{padding:0}}@media (prefers-reduced-motion: reduce){.hydro-demo .cp-demo__controls,.hydro-demo .cp-demo__stage,.hydro-demo .cp-demo__drawer,.hydro-demo .cp-demo__readouts,.challenge-choice{animation:none;transition:none}}
