.playground-layout{padding-bottom:calc(var(--footer-height) + 4rem);gap:3.4rem}.playground-intro{gap:1.25rem;max-width:42rem;display:grid}.playground-intro h1{font-synthesis:none;font-family:Mrs Saint Delafield,cursive;font-size:6rem;font-style:normal;font-weight:400;line-height:1.2}.playground-intro p{color:var(--muted);font-size:inherit;line-height:inherit}.playground-index-row{grid-template-columns:repeat(4,minmax(0,1fr))}.playground-index{margin-block:-.6rem -1.2rem}.playground-experiments{display:contents}.mobile-experiment-heading{display:none}.experiment-slot{scroll-margin-top:calc(var(--header-height) + 1rem)}.experiment-is-paused,.experiment-is-paused *,.experiment-is-paused :before,.experiment-is-paused :after{animation-play-state:paused!important}@media (hover:none),(pointer:coarse){.night-sky--playground .night-star{animation-duration:var(--touch-twinkle-duration)}.stellar-timeline-scrubber{z-index:4;touch-action:none;height:44px;top:calc(.9rem - 16px)}}@media (max-width:700px) and (orientation:portrait),(max-height:520px) and (orientation:landscape) and (pointer:coarse){.playground-index{display:none}.mobile-playground-accordion .simulator-advanced-caret,.mobile-playground-accordion .simulator-advanced-reveal,.mobile-playground-accordion .simulator-advanced-content{transition:none}.mobile-playground-accordion{border-block:1px solid var(--line);display:grid}.mobile-experiment-item+.mobile-experiment-item{border-top:1px solid var(--line)}.mobile-experiment-toggle{width:100%;color:var(--foreground);font:inherit;text-align:left;justify-content:space-between;align-items:center;gap:1rem;padding-block:.95rem;font-size:.9rem;font-weight:560;line-height:1.3;display:flex}.mobile-experiment-caret{border-bottom:1px solid;border-right:1px solid;flex:none;width:.5rem;height:.5rem;transition:transform .22s;transform:translateY(-.12rem)rotate(45deg)}.mobile-experiment-item.is-open .mobile-experiment-caret{transform:translateY(.12rem)rotate(225deg)}.mobile-experiment-panel{padding-bottom:1.25rem}.mobile-experiment-panel>.black-hole-simulator,.mobile-experiment-panel>.stellar-evolution-explorer,.mobile-experiment-panel>.gravitational-lensing-sandbox,.mobile-experiment-panel>.orbital-resonance-toy{border-top:0;padding-top:.5rem}}.black-hole-simulator[id],.gravitational-lensing-sandbox[id],.orbital-resonance-toy[id],.stellar-evolution-explorer[id]{scroll-margin-top:calc(var(--header-height) + 1rem)}.black-hole-simulator{border-top:1px solid var(--line);gap:1.6rem;padding-top:2.4rem;display:grid}.simulator-heading{gap:.55rem;max-width:41rem;display:grid}.simulator-heading h2{font-size:1.45rem;font-weight:560;line-height:1.25}.simulator-heading>p:last-child{color:var(--muted);line-height:1.72}.simulator-kicker{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem}.experiment-phone-model-summary{display:none}.experiment-guide{border-block:1px solid var(--line)}.experiment-guide summary{color:var(--muted);cursor:pointer;align-items:center;gap:.65rem;padding-block:.75rem;font-size:.8rem;list-style:none;transition:color .22s;display:flex}.experiment-guide summary::-webkit-details-marker{display:none}:is(.experiment-guide summary:hover,.experiment-guide summary:focus-visible){color:var(--foreground)}.experiment-guide-caret{transform-origin:62% 62%;border-bottom:1px solid;border-right:1px solid;width:.48rem;height:.48rem;transition:transform .32s cubic-bezier(.22,1,.36,1);transform:rotate(-45deg)}.experiment-guide[open] .experiment-guide-caret{transform:rotate(45deg)}.experiment-guide-reveal{overflow:hidden}.experiment-guide-content{gap:.85rem;max-width:46rem;padding:.35rem 0 1.35rem 1.15rem;display:grid}.experiment-guide-content p{color:var(--muted);font-size:.78rem;line-height:1.72}.black-hole-guidance{gap:.2rem;display:grid}.black-hole-guidance>.experiment-guide{border-bottom:0}.black-hole-guidance>.simulator-presets{border-top:1px solid var(--line);padding-block:1rem .1rem}.black-hole-guidance>.variable-guide{padding-block:0 .35rem}.simulator-presets,.simulator-actions{flex-wrap:wrap;gap:.55rem;display:flex}.simulator-presets{align-items:center}.simulator-presets-label{color:var(--muted);font-size:.76rem;line-height:1}.simulator-presets button,.simulator-actions button{border:1px solid var(--line);min-height:2rem;color:var(--muted);border-radius:999px;padding:.34rem .72rem;transition:border-color .18s,color .18s,box-shadow .18s,transform .18s}:is(.simulator-presets button:hover,.simulator-presets button:focus-visible,.simulator-actions button:hover,.simulator-actions button:focus-visible){border-color:var(--foreground);color:var(--foreground)}.simulator-presets button:active,.simulator-actions button:active{transform:translateY(1px)}.simulator-presets button.is-active{border-color:var(--foreground);color:var(--foreground);box-shadow:0 0 0 1px color-mix(in srgb, currentColor 34%, transparent), 0 0 16px color-mix(in srgb, currentColor 32%, transparent)}.simulator-actions .simulator-primary-action{border-color:var(--muted);color:var(--foreground)}.simulator-workspace{grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);align-items:start;gap:1.7rem;display:grid}.simulator-visual-panel{min-width:0}.black-hole-stage{--mass-scale:1;--view-yaw:-9deg;--view-pitch:84deg;--simulation-background:#121212;--simulation-foreground:#d7d7d7;--simulation-muted:#a1a1a1;--simulation-line:#2a2a2a;--disk-hot:#fffce8fa;--disk-warm:#ffbe58eb;--disk-cool:#8f2b1375;isolation:isolate;height:260px;color:var(--simulation-foreground);background:radial-gradient(circle at 50% 50%, #8c8c8c1f, transparent 45%), var(--simulation-background);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;perspective:520px;perspective-origin:50% 48%;place-items:center;display:grid;position:relative;overflow:hidden}.black-hole-stage.is-dragging{cursor:grabbing}.rotation-hint{color:var(--muted);padding-bottom:.55rem;font-size:.78rem}.black-hole-core,.black-hole-glow,.black-hole-photon-ring,.black-hole-orbit-plane,.accretion-disk{border-radius:50%;transition:opacity .36s;position:absolute}.black-hole-orbit-plane{--orbit-size:calc(102px + 208px * var(--mass-scale));z-index:1;width:var(--orbit-size);height:var(--orbit-size);transform:rotateX(var(--view-pitch)) rotateZ(var(--view-yaw));transform-style:preserve-3d;will-change:transform;place-items:center;display:grid}.black-hole-glow{z-index:0;width:calc(48px + 132px * var(--mass-scale));height:calc(48px + 132px * var(--mass-scale));filter:blur(5px);background:radial-gradient(circle,#0000 38%,#cdcdcd33 55%,#0000 72%)}.accretion-disk{background:radial-gradient(ellipse at 24% 49%, #ebf7ffc2 0 7%, #ffd8913d 18%, transparent 39%), radial-gradient(ellipse at 73% 57%, #ff89364d 0 10%, transparent 34%), conic-gradient(from 198deg, #fffced1f 0deg, #edf7fffa 34deg, var(--disk-warm) 76deg, #b0411c7a 165deg, #190c0b14 245deg, #ff973a94 319deg, #fffced1f 360deg), radial-gradient(circle, #e7f6fffa var(--disk-inner-edge), #fff4cdf5 31%, var(--disk-warm) 43%, var(--disk-cool) 66%, transparent 80%);background-blend-mode:screen, screen, screen, normal;width:100%;height:100%;box-shadow:0 0 26px color-mix(in srgb, var(--disk-warm) 34%, transparent);filter:saturate(1.08) contrast(1.08) brightness(var(--disk-luminosity));opacity:calc(.68 + var(--disk-luminosity) * .32);-webkit-mask:radial-gradient(circle, transparent 0 var(--disk-inner-edge), #000 calc(var(--disk-inner-edge) + 1.4%) 72%, transparent 83%);-webkit-mask:radial-gradient(circle, transparent 0 var(--disk-inner-edge), #000 calc(var(--disk-inner-edge) + 1.4%) 72%, transparent 83%);mask:radial-gradient(circle, transparent 0 var(--disk-inner-edge), #000 calc(var(--disk-inner-edge) + 1.4%) 72%, transparent 83%);clip-path:inset(0 0 49%);transform-style:preserve-3d;inset:0;overflow:hidden;transform:translateZ(0)}.black-hole-orbit-plane--foreground{z-index:3;pointer-events:none}.accretion-disk--foreground{clip-path:inset(49% 0 0)}.accretion-texture{mix-blend-mode:screen;filter:blur(1.1px);opacity:calc(var(--spin-opacity) * .74);animation:accretion-shear calc(var(--spin-duration) * 1.8) linear infinite;animation-direction:var(--spin-direction);animation-play-state:var(--spin-play-state);background:radial-gradient(at 25% 34%,#fff8de61 0 4%,#0000 16%),radial-gradient(at 68% 28%,#ffa04447 0 6%,#0000 19%),radial-gradient(at 76% 70%,#79231261 0 7%,#0000 21%),radial-gradient(at 34% 76%,#ffcd7852 0 5%,#0000 18%),conic-gradient(from 18deg,#0000 0deg 24deg,#fff4d233 52deg,#0000 88deg 154deg,#ff8e372b 192deg,#0000 244deg 314deg,#ebf6ff33 342deg,#0000 360deg);border-radius:50%;position:absolute;inset:7%;-webkit-mask:radial-gradient(circle,#0000 0 18%,#000 27% 76%,#0000 86%);mask:radial-gradient(circle,#0000 0 18%,#000 27% 76%,#0000 86%)}.accretion-flow{--orbit-radius:calc(var(--orbit-size) * .34);background:linear-gradient(90deg, transparent, var(--disk-hot) 45%, var(--disk-warm) 68%, transparent);width:24px;height:5px;box-shadow:0 0 7px color-mix(in srgb, var(--disk-hot) 72%, transparent), 0 0 14px color-mix(in srgb, var(--disk-warm) 54%, transparent);filter:blur(.7px);opacity:var(--spin-opacity);transform:translate(-50%, -50%) rotate(0turn) translateX(var(--orbit-radius)) rotate(0turn);animation:accretion-orbit var(--spin-duration) linear infinite;animation-direction:var(--spin-direction);animation-play-state:var(--spin-play-state);border-radius:999px;position:absolute;top:50%;left:50%}.accretion-flow--outer{--orbit-radius:calc(var(--orbit-size) * .43);width:34px;opacity:calc(var(--spin-opacity) * .48);animation-delay:-1.7s}.accretion-flow--middle{animation-delay:-.8s}.accretion-flow--inner{--orbit-radius:calc(var(--orbit-size) * .27);width:16px;animation-duration:calc(var(--spin-duration) * .68);animation-delay:-.25s}@keyframes accretion-shear{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes accretion-orbit{0%{transform:translate(-50%, -50%) rotate(0turn) translateX(var(--orbit-radius)) rotate(0turn)}to{transform:translate(-50%, -50%) rotate(1turn) translateX(var(--orbit-radius)) rotate(-1turn)}}.black-hole-core{z-index:2;width:calc(22px + 104px * var(--mass-scale));height:calc(22px + 104px * var(--mass-scale));background:#020202;box-shadow:0 0 0 1px #ffffff14,0 0 24px #000000c7}.black-hole-photon-ring{z-index:4;width:calc(29px + 114px * var(--mass-scale));height:calc(29px + 114px * var(--mass-scale));animation:photon-ring-drift var(--spin-duration) linear infinite;animation-direction:var(--spin-direction);animation-play-state:var(--spin-play-state);pointer-events:none;border:1px solid #fff4d6e6;border-color:#fff4d6e6 #ff85373d #ffb1528a #fff4d6e6;box-shadow:0 0 5px #ffefc7b8,0 0 13px #ff933b3b}@keyframes photon-ring-drift{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.black-hole-core:before,.black-hole-core:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.black-hole-core:before{border:1px solid #fff6daeb;border-right-color:#ffad5447;inset:-3px;box-shadow:0 0 5px #ffdea080}.black-hole-core:after{filter:blur(1px);border:1px solid #0000;border-top:2px solid #ffeec994;border-bottom-color:#ff974329;inset:-7px;transform:rotate(-18deg)}.simulator-now{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.55rem;display:flex}.simulator-now strong{color:var(--foreground);text-align:right;font-weight:530}.growth-chart{width:100%;height:auto;display:block;overflow:visible}.growth-chart-figure{grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(13rem,.85fr);align-items:center;gap:1rem;margin:0;display:grid}.growth-chart-hint{color:var(--muted);grid-column:1/-1;margin:0;font-size:.78rem}.growth-chart-caption{color:var(--muted);gap:.35rem;font-size:.7rem;line-height:1.58;display:grid}.growth-chart-caption strong{color:var(--foreground);font-size:.74rem;font-weight:540}.growth-chart-axis,.growth-chart-target,.growth-chart-progress{fill:none;vector-effect:non-scaling-stroke}.growth-chart-axis{stroke:var(--line);stroke-width:1px}.growth-chart-target{stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 5;opacity:.5}.growth-chart-progress{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 4;opacity:.45}.growth-chart-line{fill:none;stroke:var(--foreground);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.growth-chart-marker{fill:var(--background);stroke:var(--foreground);stroke-width:2px;pointer-events:none;vector-effect:non-scaling-stroke}.growth-chart-marker-hit{fill:#0000;stroke:#0000;cursor:ew-resize;touch-action:none;vector-effect:non-scaling-stroke}:is(.growth-chart-marker-hit:hover+.growth-chart-marker,.growth-chart-marker-hit:focus-visible+.growth-chart-marker){fill:color-mix(in srgb, var(--foreground) 16%, var(--background));stroke-width:3px}.growth-chart-marker-hit:focus-visible{stroke:var(--foreground);stroke-width:1px;stroke-dasharray:2 3;outline:none}.growth-chart-label{fill:var(--muted);font-family:inherit;font-size:11px}.growth-chart-axis-title{fill:var(--foreground);font-family:inherit;font-size:11px;font-weight:540}.chart-overflow-note{color:var(--muted);grid-column:1/-1;margin-top:.2rem;font-size:.76rem}.simulator-controls{gap:1rem;padding-top:.25rem;display:grid}.simulator-slider{gap:.35rem;display:grid}.simulator-slider>span{color:var(--muted);justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.78rem;display:flex}.simulator-slider output{color:var(--foreground);font-variant-numeric:tabular-nums;text-align:right}.simulator-slider input{width:100%;accent-color:var(--foreground);cursor:ew-resize}.simulator-slider input:focus-visible{outline:1px solid var(--foreground);outline-offset:3px}.simulator-advanced{padding-block:.15rem;display:grid}.simulator-advanced-toggle{width:100%;color:var(--muted);text-align:left;align-items:center;gap:.65rem;padding-block:.4rem;font-size:.8rem;transition:color .22s;display:flex}:is(.simulator-advanced-toggle:hover,.simulator-advanced-toggle:focus-visible){color:var(--foreground)}.simulator-advanced-caret{transform-origin:62% 62%;border-bottom:1px solid;border-right:1px solid;width:.48rem;height:.48rem;transition:transform .32s cubic-bezier(.22,1,.36,1);transform:rotate(-45deg)}.simulator-advanced.is-open .simulator-advanced-caret{transform:rotate(45deg)}.simulator-advanced-reveal{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1),opacity .24s;display:grid}.simulator-advanced.is-open .simulator-advanced-reveal{opacity:1;grid-template-rows:1fr}.simulator-advanced-content{gap:1rem;min-height:0;padding-top:0;transition:padding-top .32s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden}.simulator-advanced.is-open .simulator-advanced-content{padding-top:.75rem}@media (hover:hover) and (pointer:fine){.variable-guide .simulator-advanced-reveal,.variable-guide .simulator-advanced-content{transition:none}}.simulator-derived-setting{color:var(--muted);justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.78rem;display:flex}.simulator-derived-setting output{color:var(--foreground);font-variant-numeric:tabular-nums;text-align:right}.variable-guide-content dl{gap:.8rem;margin:0;display:grid}.variable-guide-content dl>div{gap:.18rem;display:grid}.variable-guide-content dt{color:var(--foreground);font-size:.76rem;font-weight:540}.variable-guide-content dd,.variable-guide-content>p{color:var(--muted);margin:0;font-size:.74rem;line-height:1.62}.variable-guide-content>p{padding-top:.2rem;font-style:italic}.simulator-actions{margin-top:.35rem}.simulator-results{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;display:grid}.simulator-results>div{gap:.25rem;min-width:0;padding:.9rem 1rem;display:grid}.simulator-results>div+div{border-left:1px solid var(--line)}.simulator-results dt{color:var(--muted);font-size:.74rem}.simulator-results dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.simulator-method-note{max-width:44rem;color:var(--muted);font-size:.78rem;line-height:1.7}@media (max-width:700px){.playground-intro h1{font-size:5.2rem}.simulator-workspace{grid-template-columns:1fr}.simulator-controls{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}.growth-chart-figure{grid-template-columns:1fr;gap:.45rem}.simulator-actions{grid-column:1/-1}}@media (max-width:520px){.page-links{gap:.7rem}.page-links .text-btn{font-size:.73rem}.playground-layout{gap:2.4rem}.playground-intro{gap:.9rem}.playground-intro h1{font-size:clamp(3.4rem,14vw,4.3rem)}.playground-intro p{line-height:1.68}.black-hole-simulator{gap:1.25rem;padding-top:1.7rem}.simulator-heading h2{font-size:1.18rem}.experiment-guide-content{gap:.8rem;padding:.25rem 0 1.1rem .85rem}.simulator-presets{grid-template-columns:repeat(3,minmax(0,1fr)) auto;display:grid}.simulator-presets button{min-width:0;padding-inline:.35rem;font-size:.72rem}.black-hole-stage{height:218px}.simulator-now{align-items:flex-start;font-size:.76rem}.simulator-controls{grid-template-columns:1fr}.simulator-actions{grid-column:auto}.simulator-results{grid-template-columns:1fr}.simulator-results>div+div{border-top:1px solid var(--line);border-left:0}}@media (max-width:360px){.playground-intro h1{font-size:clamp(3rem,13vw,3.3rem)}}@media (hover:none),(pointer:coarse){[data-visual-paused],[data-visual-paused] *,[data-visual-paused] :before,[data-visual-paused] :after{animation-play-state:paused!important}.black-hole-orbit-plane{width:310px;height:310px;transform:rotateX(var(--view-pitch)) rotateZ(var(--view-yaw)) scale(calc((102 + 208 * var(--mass-scale)) / 310))}.black-hole-core{width:126px;height:126px;transform:scale(calc((22 + 104 * var(--mass-scale)) / 126))}.black-hole-glow{width:180px;height:180px;transform:scale(calc((48 + 132 * var(--mass-scale)) / 180))}.black-hole-photon-ring{width:143px;height:143px;transform:scale(calc((29 + 114 * var(--mass-scale)) / 143));animation:none}.accretion-flow{display:none}}@media (prefers-reduced-motion:reduce){.black-hole-core,.black-hole-glow,.black-hole-orbit-plane,.accretion-disk,.simulator-presets button,.simulator-actions button,.simulator-advanced-caret,.simulator-advanced-reveal,.simulator-advanced-content,.experiment-guide summary,.experiment-guide-caret{transition:none}.accretion-flow,.accretion-texture{animation:none}}.gravitational-lensing-sandbox{border-top:1px solid var(--line);gap:1.6rem;padding-top:2.4rem;display:grid}.lensing-workspace{grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);align-items:start;gap:1.7rem;display:grid}.lensing-visual-panel{min-width:0}.lensing-instruction{color:var(--muted);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.55rem;font-size:.78rem;display:flex}.lensing-instruction strong{color:var(--foreground);text-align:right;font-weight:530}.lensing-depth-diagram{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;margin-top:.55rem;display:block;overflow:visible}.lensing-depth-field{fill:url(#lensing-depth-field);stroke:#2a2a2a;stroke-width:1px;vector-effect:non-scaling-stroke}.lensing-depth-axis{stroke:#777;stroke-width:1px;stroke-dasharray:2 5;opacity:.42;vector-effect:non-scaling-stroke}.lensing-depth-plane{stroke-width:1px;stroke-dasharray:3 4;opacity:.3;vector-effect:non-scaling-stroke}.lensing-depth-plane--lens{stroke:#efc77f}.lensing-depth-plane--source{stroke:#c8a8ff}.lensing-light-path{fill:none;stroke:#9bdcff;stroke-width:1.35px;marker-end:url(#lensing-light-arrow);opacity:.78;filter:drop-shadow(0 0 3px #9bdcff47);vector-effect:non-scaling-stroke}#lensing-light-arrow path{fill:#9bdcff}.lensing-depth-observer,.lensing-depth-lens,.lensing-depth-source{font-family:inherit}.lensing-depth-observer>path{fill:none;stroke:#d7d7d7;stroke-width:1.2px;vector-effect:non-scaling-stroke}.lensing-depth-observer>circle{fill:#d7d7d7}.lensing-depth-lens-halo{fill:#efc77f21;stroke:#efc77f;stroke-width:.9px;vector-effect:non-scaling-stroke}.lensing-depth-lens-disk{fill:#efc77f52;stroke:#ffecbfa3;stroke-width:.8px;vector-effect:non-scaling-stroke}.lensing-depth-lens-core{fill:#fff1c4;opacity:.86}.lensing-depth-source>g>ellipse{fill:#c8a8ff2e;stroke:#c8a8ff;stroke-width:1px;vector-effect:non-scaling-stroke}.lensing-depth-source>g>path{fill:none;stroke:#dbcaff;stroke-width:.75px;opacity:.66;vector-effect:non-scaling-stroke}.lensing-depth-source>g>circle{fill:#fff1d0;opacity:.9}.lensing-depth-observer text,.lensing-depth-lens text,.lensing-depth-source text,.lensing-depth-caption{fill:#a1a1a1;letter-spacing:.055em;text-transform:uppercase;font-family:inherit;font-size:9px}.lensing-depth-caption{fill:#9bdcff;opacity:.72}.lensing-canvas{--simulation-background:#121212;--simulation-foreground:#d7d7d7;--simulation-muted:#a1a1a1;--simulation-line:#2a2a2a;width:100%;height:auto;color:var(--simulation-foreground);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.lensing-canvas:active{cursor:grabbing}.lensing-field{fill:var(--simulation-background);stroke:var(--simulation-line);stroke-width:1px;vector-effect:non-scaling-stroke}.lensing-field-star{fill:var(--simulation-foreground);pointer-events:none}.lensing-angular-grid{pointer-events:none}.lensing-angular-grid line,.lensing-angular-grid circle{fill:none;stroke:#71808a;vector-effect:non-scaling-stroke}.lensing-grid-axis{stroke-width:1px;stroke-dasharray:3 6;opacity:.2}.lensing-grid-spoke{stroke-width:.75px;stroke-dasharray:2 8;opacity:.1}.lensing-grid-ring{stroke-width:.75px;stroke-dasharray:2 7;opacity:.15}.lensing-grid-label{fill:#82909a;letter-spacing:.07em;opacity:.58;text-transform:uppercase;font-family:inherit;font-size:8px}.einstein-guide,.einstein-ring{fill:none;pointer-events:none;vector-effect:non-scaling-stroke}.einstein-guide{stroke:var(--simulation-muted);stroke-width:1px;stroke-dasharray:3 6;opacity:.24}.einstein-ring{stroke:#9bdcff;stroke-width:3px;filter:url(#lensing-soft-glow);transition:r .36s cubic-bezier(.22,1,.36,1),opacity .3s}.lensing-image{color:#9bdcff;filter:url(#lensing-soft-glow);pointer-events:none;transition:opacity .3s,rx .22s cubic-bezier(.22,1,.36,1),ry .22s cubic-bezier(.22,1,.36,1)}.lensing-image>ellipse:first-child{fill:none;stroke:currentColor;stroke-width:2.4px;opacity:.88;vector-effect:non-scaling-stroke}.lensing-image-core{fill:currentColor;opacity:.16}.lensing-image-highlight{fill:none;stroke:#d9f2ff;stroke-width:.7px;opacity:.48;vector-effect:non-scaling-stroke}.lensing-image--minus{opacity:.68}.lensing-lens,.lensing-source{pointer-events:none;will-change:transform}.lensing-lens{color:#efc77f}.lensing-source{color:#c8a8ff;opacity:.72}.lensing-lens-halo{fill:url(#lensing-lens-gradient);stroke:#efc77f70;stroke-width:.8px;filter:url(#lensing-soft-glow);opacity:.76;vector-effect:non-scaling-stroke}.lensing-lens-disk{fill:url(#lensing-lens-gradient);stroke:#ffe3aeb8;stroke-width:1px;opacity:.88;vector-effect:non-scaling-stroke}.lensing-lens-isophote{fill:#ffdd9e26;stroke:#ffe8bc85;stroke-width:.7px;opacity:.72;vector-effect:non-scaling-stroke}.lensing-lens-core{fill:#fff0bd;stroke:#fff9e0c2;stroke-width:.7px;opacity:.88;vector-effect:non-scaling-stroke}.lensing-lens-mass-centre{fill:#fffdf1;opacity:.9}.lensing-lens text,.lensing-source text{fill:var(--simulation-muted);letter-spacing:.05em;text-transform:uppercase;font-family:inherit;font-size:11px}.lensing-source-handle{fill:#0000;stroke:currentColor;stroke-width:1px;stroke-dasharray:3 4;opacity:.58;vector-effect:non-scaling-stroke}.lensing-source-disk{fill:url(#lensing-galaxy-gradient);stroke:currentColor;stroke-width:1px;filter:url(#lensing-soft-glow);vector-effect:non-scaling-stroke}.lensing-source-core{fill:#fff0d1;opacity:.88}.lensing-source-arms{fill:none;stroke:#e5dcff;stroke-width:.9px;opacity:.62;vector-effect:non-scaling-stroke}.lensing-results dd{white-space:normal}@media (max-width:700px){.lensing-workspace{grid-template-columns:1fr}}@media (max-width:520px){.gravitational-lensing-sandbox{gap:1.25rem;padding-top:1.7rem}.lensing-instruction{align-items:flex-start;font-size:.72rem}.lensing-canvas{width:calc(100% + .3rem);margin-inline:-.15rem}}@media (prefers-reduced-motion:reduce){.einstein-ring,.lensing-image{transition:none}}.orbital-resonance-toy{border-top:1px solid var(--line);gap:1.6rem;padding-top:2.4rem;display:grid}.resonance-workspace{grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);align-items:start;gap:1.7rem;display:grid}.resonance-visual-panel{min-width:0}.resonance-status{color:var(--muted);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.55rem;font-size:.78rem;display:flex}.resonance-status strong{color:var(--foreground);text-align:right;font-weight:530}.resonance-canvas{--simulation-background:#121212;--simulation-foreground:#d7d7d7;--simulation-muted:#a1a1a1;--simulation-line:#2a2a2a;width:100%;height:auto;color:var(--simulation-foreground);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.resonance-canvas.is-dragging{cursor:grabbing}.resonance-field{fill:var(--simulation-background);stroke:var(--simulation-line);stroke-width:1px;vector-effect:non-scaling-stroke}.resonance-field-star{fill:var(--simulation-foreground)}.resonance-orbit{fill:none;stroke:#7189aa;stroke-width:1px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.resonance-spoke{stroke:#91a7c2;stroke-width:.8px;opacity:.16;vector-effect:non-scaling-stroke}.resonance-star-glow{color:#f3b65f;fill:url(#resonance-star-glow)}.resonance-star{fill:#ffe1a0;filter:url(#resonance-body-glow)}.resonance-body{color:var(--simulation-foreground);will-change:transform}.resonance-body>g{filter:url(#resonance-body-glow)}.resonance-body>g>circle:last-child{fill:currentColor}.resonance-body-halo{fill:none;stroke:currentColor;stroke-width:1px;opacity:.24}.resonance-body--2{color:#f1a66f;opacity:.88}.resonance-body--3{color:#a9dd88;opacity:.82}.resonance-body--4{color:#c6a2f5;opacity:.76}.resonance-body--5{color:#ef8f9a;opacity:.7}.resonance-body--1{color:#82cfff}.resonance-body-picker{border:0;gap:.75rem;min-width:0;margin:0;padding:0;display:grid}.resonance-body-picker legend,.resonance-select>span{color:var(--muted);font-size:.78rem}.resonance-body-picker>div{border:1px solid var(--line);border-radius:999px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.resonance-body-picker button{min-height:2rem;color:var(--muted);font-variant-numeric:tabular-nums;transition:color .18s,background-color .18s}.resonance-body-picker button+button{border-left:1px solid var(--line)}.resonance-body-picker button[aria-pressed=true]{color:var(--background);background:var(--foreground)}.resonance-select{gap:.35rem;display:grid}.resonance-select select{border:1px solid var(--line);width:100%;min-height:2.1rem;color:var(--foreground);background:var(--background);font:inherit;border-radius:6px;padding:.25rem .55rem}.resonance-select select:disabled{color:var(--muted);opacity:.55}.resonance-results dd{white-space:normal}@media (max-width:700px){.resonance-workspace{grid-template-columns:1fr}}@media (max-width:520px){.orbital-resonance-toy{gap:1.25rem;padding-top:1.7rem}.resonance-status{align-items:flex-start;font-size:.72rem}.resonance-canvas{width:calc(100% + .3rem);margin-inline:-.15rem}}@media (prefers-reduced-motion:reduce){.resonance-body-picker button{transition:none}}.stellar-evolution-explorer{border-top:1px solid var(--line);gap:1.6rem;padding-top:2.4rem;display:grid}.stellar-workspace{grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);align-items:start;gap:.8rem 1.7rem;display:grid}.stellar-visual-panel{min-width:0}.stellar-status{color:var(--muted);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.55rem;font-size:.78rem;display:flex}.stellar-status strong{color:var(--foreground);text-align:right;font-weight:530}.stellar-canvas{contain:size layout;--simulation-background:#121212;--simulation-foreground:#d7d7d7;--simulation-line:#2a2a2a;--stellar-size:68px;--stellar-glow-size:119px;--stellar-color:#ffd89a;--stellar-pulse-duration:4s;border:1px solid var(--simulation-line);width:100%;height:330px;color:var(--simulation-foreground);background:radial-gradient(circle at 50% 48%, #5f73961f, transparent 43%), var(--simulation-background);isolation:isolate;border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.stellar-field-star{background:var(--simulation-foreground);pointer-events:none;border-radius:50%;position:absolute}.stellar-object,.stellar-glow,.stellar-nebula,.stellar-supernova-shell,.stellar-burst,.stellar-pulsar-beams{pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stellar-glow{z-index:1;width:var(--stellar-glow-size);height:var(--stellar-glow-size);background:radial-gradient(circle, color-mix(in srgb, var(--stellar-color) 42%, transparent), color-mix(in srgb, var(--stellar-color) 14%, transparent) 46%, transparent 72%);filter:blur(7px);transition:width .95s cubic-bezier(.22,1,.36,1),height .95s cubic-bezier(.22,1,.36,1),background .75s}.stellar-object{z-index:3;width:var(--stellar-size);height:var(--stellar-size);border:1px solid color-mix(in srgb, var(--stellar-color) 75%, white);background:radial-gradient(circle at 34% 28%, #ffffffc2, transparent 13%), radial-gradient(circle at 42% 38%, color-mix(in srgb, var(--stellar-color) 92%, white), var(--stellar-color) 58%, color-mix(in srgb, var(--stellar-color) 68%, black));box-shadow:0 0 24px color-mix(in srgb, var(--stellar-color) 52%, transparent);animation:stellar-pulse var(--stellar-pulse-duration) ease-in-out infinite;place-items:center;transition:width .95s cubic-bezier(.22,1,.36,1),height .95s cubic-bezier(.22,1,.36,1),background .75s,border-color .75s,box-shadow .75s;display:grid;overflow:hidden}.stellar-object>span{border-radius:inherit;background:repeating-radial-gradient(circle at 36% 33%, transparent 0 5px, #ffffff16 6px 7px), repeating-conic-gradient(from 15deg, transparent 0 16deg, #28140a29 18deg 22deg);mix-blend-mode:soft-light;width:100%;height:100%;position:relative}.stellar-object>span:before{border-radius:inherit;content:"";opacity:.72;background:radial-gradient(circle at 22% 32%,#ffffff4d 0 3%,#0000 9%),radial-gradient(circle at 68% 24%,#461c0c52 0 4%,#0000 11%),radial-gradient(circle at 76% 68%,#ffeec242 0 5%,#0000 13%),radial-gradient(circle at 35% 76%,#541f0d45 0 4%,#0000 12%);position:absolute;inset:-12%}.stellar-canvas--main-sequence .stellar-object{animation:stellar-main-sequence-breathe calc(var(--stellar-pulse-duration) * 1.45) ease-in-out infinite}.stellar-canvas--red-giant .stellar-object,.stellar-canvas--red-supergiant .stellar-object{animation:stellar-giant-pulse calc(var(--stellar-pulse-duration) * 1.65) ease-in-out infinite}.stellar-canvas--main-sequence .stellar-object>span,.stellar-canvas--red-giant .stellar-object>span,.stellar-canvas--red-supergiant .stellar-object>span{will-change:transform;animation:12s linear infinite stellar-surface-drift}.stellar-canvas--red-giant .stellar-object>span,.stellar-canvas--red-supergiant .stellar-object>span{animation-duration:16s}.stellar-canvas--main-sequence .stellar-object>span:before,.stellar-canvas--red-giant .stellar-object>span:before,.stellar-canvas--red-supergiant .stellar-object>span:before{animation:7.5s ease-in-out infinite alternate stellar-convection-shift}.stellar-canvas--red-giant .stellar-object>span:before,.stellar-canvas--red-supergiant .stellar-object>span:before{opacity:.9;animation-duration:5.5s}.stellar-canvas--red-giant .stellar-object{box-shadow:0 0 28px color-mix(in srgb, var(--stellar-color) 58%, transparent), 0 0 54px color-mix(in srgb, var(--stellar-color) 18%, transparent)}.stellar-canvas--red-supergiant .stellar-object{border-color:color-mix(in srgb, var(--stellar-color) 62%, white);box-shadow:0 0 42px color-mix(in srgb, var(--stellar-color) 72%, transparent), 0 0 92px color-mix(in srgb, var(--stellar-color) 34%, transparent)}.stellar-canvas--red-supergiant .stellar-glow{filter:blur(11px)}.stellar-canvas--red-supergiant .stellar-object>span{background:repeating-radial-gradient(circle at 36% 33%, transparent 0 9px, #ffebce21 10px 12px), repeating-conic-gradient(from 15deg, transparent 0 20deg, #4110083d 22deg 28deg)}.stellar-nebula{z-index:2;opacity:0;filter:blur(6px);background:radial-gradient(#0000 7%,#7edfff75 17%,#9a74ff38 35%,#0000 66%),conic-gradient(from 30deg,#0000,#5cdaff4d,#0000 35%,#da70ff3d,#0000 72%);width:250px;height:190px;transition:opacity .85s}.stellar-supernova-shell{z-index:2;opacity:0;border:2px solid #ffcb77b8;width:205px;height:205px;transition:opacity .85s;box-shadow:0 0 24px #ff733761,inset 0 0 22px #ffe3a63d}.stellar-burst{z-index:1;opacity:0;background:repeating-conic-gradient(from 4deg, transparent 0 7deg, #ffde9e75 8deg, transparent 10deg 17deg);width:270px;height:270px;transition:opacity .85s;-webkit-mask:radial-gradient(circle,#0000 0 14%,#000 16%,#0000 70%);mask:radial-gradient(circle,#0000 0 14%,#000 16%,#0000 70%)}.stellar-canvas--planetary-nebula .stellar-nebula{opacity:1;animation:8s linear infinite stellar-nebula-drift}.stellar-canvas--supernova .stellar-supernova-shell,.stellar-canvas--supernova .stellar-burst{opacity:1;animation:1.8s ease-in-out infinite stellar-supernova-pulse}.stellar-canvas--white-dwarf .stellar-object,.stellar-canvas--neutron-star .stellar-object{box-shadow:0 0 18px var(--stellar-color), 0 0 42px color-mix(in srgb, var(--stellar-color) 38%, transparent)}.stellar-pulsar-beams{z-index:2;opacity:0;width:280px;height:280px;transition:opacity .5s}.stellar-pulsar-beams:before,.stellar-pulsar-beams:after{clip-path:polygon(0 44%,100% 0,100% 100%,0 56%);filter:blur(.7px);transform-origin:0;content:"";background:linear-gradient(90deg,#c5e8ffb8,#7ec5ff1f 72%,#0000);width:132px;height:36px;position:absolute;top:calc(50% - 18px);left:50%}.stellar-pulsar-beams:after{transform:rotate(180deg)}.stellar-radio-wave{opacity:.7;border-radius:50%;width:28px;height:58px;position:absolute;top:calc(50% - 29px)}.stellar-radio-wave--forward{border-right:2px solid #99d8ffb8;right:0}.stellar-radio-wave--backward{border-left:2px solid #99d8ffb8;left:0}.stellar-canvas--neutron-star .stellar-pulsar-beams{opacity:1;animation:1.15s linear infinite stellar-pulsar-sweep}.stellar-canvas--neutron-star .stellar-object>span{background:repeating-linear-gradient(90deg,#ffffff52 0 1px,#0000 1px 4px);animation:.32s linear infinite stellar-neutron-spin}.stellar-canvas--black-hole .stellar-glow{background:radial-gradient(circle,#0000 31%,#d897503d 38%,#0000 58%);width:112px;height:112px;animation:3.2s ease-in-out infinite stellar-remnant-pulse}.stellar-canvas--black-hole .stellar-object{background:#010101;border-color:#ffffff29;animation:none;overflow:visible;box-shadow:0 0 0 1px #ffffff0f,0 0 28px #000000e6}.stellar-canvas--black-hole .stellar-object:after{clip-path:inset(48% 0 0);content:"";border:3px solid #e5a95e94;border-radius:50%;position:absolute;inset:-12px;transform:rotate(-8deg)scaleY(.34)}.stellar-timeline-panel{grid-column:1/-1;min-width:0}.stellar-timeline-hint{color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}.stellar-timeline-hint strong{color:var(--foreground);font-weight:650}.stellar-timeline-control{position:relative}.stellar-timeline-scrubber{z-index:2;-webkit-appearance:none;appearance:none;cursor:ew-resize;background:0 0;width:100%;height:19px;margin:0;position:absolute;top:calc(.9rem - 4px);left:0}.stellar-timeline-scrubber::-webkit-slider-runnable-track{background:0 0;height:1px}.stellar-timeline-scrubber::-webkit-slider-thumb{border:1px solid var(--foreground);-webkit-appearance:none;appearance:none;background:var(--background);width:13px;height:13px;box-shadow:0 0 0 3px color-mix(in srgb, var(--foreground) 12%, transparent), 0 0 12px color-mix(in srgb, var(--foreground) 46%, transparent);border-radius:50%;margin-top:-6px}.stellar-timeline-scrubber::-moz-range-track{background:0 0;height:1px}.stellar-timeline-scrubber::-moz-range-thumb{border:1px solid var(--foreground);background:var(--background);width:13px;height:13px;box-shadow:0 0 0 3px color-mix(in srgb, var(--foreground) 12%, transparent), 0 0 12px color-mix(in srgb, var(--foreground) 46%, transparent);border-radius:50%}.stellar-timeline-scrubber:focus-visible{outline:1px solid var(--foreground);outline-offset:3px}.stellar-timeline{width:100%;height:5.5rem;margin:0;padding:.9rem 0 0;list-style:none;position:relative}.stellar-timeline:before{background:var(--line);content:"";height:1px;position:absolute;top:calc(.9rem + 5px);left:0;right:0}.stellar-timeline li{--stage-color:var(--foreground);top:.9rem;left:var(--stage-position);width:0;position:absolute}.stellar-timeline button{z-index:3;width:max-content;color:var(--muted);text-align:center;justify-items:center;gap:.42rem;transition:color .18s;display:grid;position:relative;transform:translate(-50%)}.stellar-timeline li:first-child button{text-align:left;justify-items:start;transform:none}.stellar-timeline li:last-child button{text-align:right;justify-items:end;transform:translate(-100%)}.stellar-timeline button>span{border:1px solid var(--stage-color);background:var(--background);border-radius:50%;grid-area:1/1;width:11px;height:11px;transition:background-color .18s,box-shadow .18s,transform .18s;box-shadow:0 0 #0000}.stellar-marker-glow{contain:layout;z-index:-1;pointer-events:none;visibility:hidden;grid-area:1/1;width:11px;height:11px;transition:transform .18s;position:relative}.stellar-marker-glow canvas{width:90px;height:90px;display:block;position:absolute;top:-39.5px;left:-39.5px}.stellar-timeline button[aria-pressed=true]>.stellar-marker-glow{transform:scale(1.15)}.stellar-timeline button[aria-pressed=true]>span[data-worker-glow]+.stellar-marker-glow{visibility:visible}.stellar-timeline button[aria-pressed=true]>span[data-worker-glow]{box-shadow:none;transition:background-color .18s,transform .18s;animation-name:none}.stellar-timeline button small{top:var(--stage-label-offset);max-width:8rem;font-size:.66rem;line-height:1.35;position:relative}:is(.stellar-timeline button:hover,.stellar-timeline button:focus-visible,.stellar-timeline button[aria-pressed=true]){color:var(--foreground)}.stellar-timeline button[aria-pressed=true]>span{background:var(--stage-color);box-shadow:0 0 12px color-mix(in srgb, var(--stage-color) 68%, transparent);animation:2.4s ease-in-out infinite stellar-marker-pulse;transform:scale(1.15)}.stellar-results dd{white-space:normal}@keyframes stellar-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.04)}}@keyframes stellar-main-sequence-breathe{0%,to{filter:brightness();transform:translate(-50%,-50%)scale(1)}50%{filter:brightness(1.035);transform:translate(-50%,-50%)scale(1.009)}}@keyframes stellar-giant-pulse{0%,to{filter:brightness(.96);transform:translate(-50%,-50%)scale(.985)}50%{filter:brightness(1.08);transform:translate(-50%,-50%)scale(1.035)}}@keyframes stellar-surface-drift{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes stellar-convection-shift{0%{opacity:.55;transform:translate(-1.5%,1%)scale(.98)rotate(-3deg)}to{opacity:.92;transform:translate(1.5%,-1%)scale(1.04)rotate(4deg)}}@keyframes stellar-nebula-drift{0%{transform:translate(-50%,-50%)rotate(0)scale(.96)}50%{transform:translate(-50%,-50%)rotate(180deg)scale(1.04)}to{transform:translate(-50%,-50%)rotate(360deg)scale(.96)}}@keyframes stellar-supernova-pulse{0%,to{transform:translate(-50%,-50%)scale(.88)}50%{transform:translate(-50%,-50%)scale(1.05)}}@keyframes stellar-remnant-pulse{0%,to{opacity:.62;transform:translate(-50%,-50%)scale(.96)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}}@keyframes stellar-pulsar-sweep{0%{transform:translate(-50%,-50%)rotate(-18deg)}to{transform:translate(-50%,-50%)rotate(342deg)}}@keyframes stellar-neutron-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes stellar-marker-pulse{0%,to{box-shadow:0 0 8px color-mix(in srgb, var(--stage-color) 52%, transparent)}50%{box-shadow:0 0 18px color-mix(in srgb, var(--stage-color) 82%, transparent)}}@media (max-width:700px){.stellar-workspace{grid-template-columns:1fr}.stellar-timeline-panel{order:2}.stellar-controls{order:3}}@media (max-width:520px){.stellar-evolution-explorer{gap:1.25rem;padding-top:1.7rem}.stellar-status{align-items:flex-start;font-size:.72rem}.stellar-canvas{width:calc(100% + .3rem);height:255px;margin-inline:-.15rem}.stellar-timeline button small{font-size:.59rem}}@media (prefers-reduced-motion:reduce){.stellar-object,.stellar-glow,.stellar-nebula,.stellar-supernova-shell,.stellar-burst,.stellar-pulsar-beams,.stellar-object>span,.stellar-object>span:before,.stellar-timeline button[aria-pressed=true]>span{animation:none}}@media (max-width:700px) and (orientation:portrait),(max-height:520px) and (orientation:landscape) and (pointer:coarse){.mobile-experiment-heading{margin:0;display:block}.experiment-slot:not(.is-open)>.experiment-panel,.growth-chart-caption,.simulator-method-note{display:none}.experiment-phone-model-summary{display:block}.simulator-results{grid-template-columns:repeat(3,minmax(0,1fr))}.simulator-results>div{align-content:start;padding:.75rem .5rem}.simulator-results>div+div{border-top:0;border-left:1px solid var(--line)}.simulator-results dt{overflow-wrap:anywhere}.simulator-workspace,.stellar-workspace,.lensing-workspace,.resonance-workspace{grid-template-columns:minmax(0,1fr);row-gap:1rem}.simulator-controls{display:contents}.simulator-controls>:not(.simulator-actions){order:-1}.simulator-controls>.simulator-actions{order:1}.growth-chart-figure,.stellar-timeline-panel{order:2}.stellar-controls>.stellar-actions{order:3}.growth-chart-figure{grid-template-columns:minmax(0,1fr)}}@media (hover:none),(pointer:coarse){.night-sky--playground .night-star:nth-child(2n){opacity:.35;animation:none}}
