.black-hole-workspace{align-items:start}.black-hole-visual-card{color:#f7f3e8;background:#050a13}.black-hole-visual-header,.black-hole-visual-footer{z-index:1;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem clamp(1rem,3vw,1.5rem);display:flex;position:relative}.black-hole-visual-header{background:linear-gradient(#192b4694,#050a1300);border-bottom:1px solid #ffffff1a}.black-hole-visual-header h2{color:#fff8e9;letter-spacing:-.015em;margin-top:.25rem;font-size:clamp(1.2rem,3vw,1.65rem)}.black-hole-visual-header p:last-child{color:#ffffff9e;font-family:var(--font-geist-mono), ui-monospace, monospace;margin-top:.25rem;font-size:.75rem}.black-hole-overline{color:#f7b955;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;font-size:.64rem;font-weight:600}.black-hole-canvas-wrap{isolation:isolate;min-height:clamp(360px,56vw,600px);position:relative}.black-hole-canvas-wrap:after{pointer-events:none;content:"";background-color:#0000;background-image:linear-gradient(90deg,#ffffff06 1px,#0000 1px),linear-gradient(#ffffff06 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 20% 82%,#0000);mask-image:linear-gradient(#0000,#000 20% 82%,#0000)}.black-hole-canvas-wrap canvas{width:100%;height:clamp(360px,56vw,600px);display:block}.black-hole-canvas-wrap[data-view=render]:after{display:none}.black-hole-canvas-wrap:fullscreen,.black-hole-canvas-wrap.is-fullscreen-fallback{background:#000;min-height:0}.black-hole-canvas-wrap.is-fullscreen-fallback{z-index:60;position:fixed;inset:0}.black-hole-canvas-wrap:fullscreen canvas,.black-hole-canvas-wrap.is-fullscreen-fallback canvas{width:100%;height:100dvh;min-height:0}.black-hole-fullscreen-button{z-index:2;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050a13b3;border-color:#ffffff40;position:absolute;top:.75rem;right:.75rem}.black-hole-fullscreen-button:hover{color:#fff;background:#050a13e6}.black-hole-lensing-canvas{cursor:grab;touch-action:none;outline:none}.black-hole-lensing-canvas:active{cursor:grabbing}.black-hole-lensing-canvas:focus-visible{box-shadow:inset 0 0 0 2px #f2b04ad9}.black-hole-scale-bar{pointer-events:none;gap:.35rem;display:grid;position:absolute;bottom:1rem;left:clamp(1rem,3vw,1.5rem)}.black-hole-scale-bar-rule{border-top:2px solid #f7b955;height:0;transition:width .15s ease-out;display:block;position:relative;box-shadow:0 0 6px #000c}.black-hole-scale-bar-rule:before,.black-hole-scale-bar-rule:after{content:"";background:#f7b955;width:2px;height:8px;position:absolute;bottom:-2px}.black-hole-scale-bar-rule:before{left:0}.black-hole-scale-bar-rule:after{right:0}.black-hole-scale-bar-label{color:#fff4d6eb;font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-shadow:0 1px 4px #000000e6;font-size:.68rem}.black-hole-scale-bar-label sub{font-size:.7em}.black-hole-canvas-hint{color:#ffffff8c;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 4px #000000e6;pointer-events:none;margin:0;font-size:.62rem;position:absolute;bottom:1rem;right:clamp(1rem,3vw,1.5rem)}@media (max-width:560px){.black-hole-canvas-hint{display:none}}.black-hole-visual-footer{background:#050a13e6;border-top:1px solid #ffffff1a;min-height:4.5rem}.black-hole-visual-footer p{color:#ffffffa3;max-width:58rem;font-size:.76rem;line-height:1.65}.black-hole-readouts{background:#07111e;border-top:1px solid #ffffff1a;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.black-hole-readouts div{border-right:1px solid #ffffff17;min-width:0;padding:1rem}.black-hole-readouts div:last-child{border-right:0}.black-hole-readouts dt{color:#ffffff7a;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;line-height:1.45}.black-hole-readouts dd{overflow-wrap:anywhere;color:#fff4d6;font-family:var(--font-geist-mono), ui-monospace, monospace;margin-top:.55rem;font-size:clamp(.78rem,1.7vw,1rem);font-weight:600}.black-hole-controls sub,.black-hole-visual-card sub{font-size:.72em}.black-hole-formula{border:1px solid color-mix(in oklch, var(--brand-highlight), var(--border) 45%);border-radius:var(--radius);background:var(--background);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.01em;padding:.75rem 1rem;font-size:clamp(1.2rem,3vw,1.55rem);font-weight:650;display:inline-block;color:var(--foreground)!important}@media (max-width:760px){.black-hole-visual-header{align-items:flex-start}.black-hole-canvas-wrap:not(:fullscreen):not(.is-fullscreen-fallback),.black-hole-canvas-wrap:not(:fullscreen):not(.is-fullscreen-fallback) canvas{height:390px;min-height:390px}.black-hole-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.black-hole-readouts div:nth-child(2){border-right:0}.black-hole-readouts div:nth-child(-n+2){border-bottom:1px solid #ffffff17}}@media (max-width:420px){.black-hole-visual-header{flex-direction:column}.black-hole-canvas-wrap:not(:fullscreen):not(.is-fullscreen-fallback),.black-hole-canvas-wrap:not(:fullscreen):not(.is-fullscreen-fallback) canvas{height:350px;min-height:350px}}@media (prefers-reduced-motion:reduce){.black-hole-canvas-wrap:after{display:none}.black-hole-scale-bar-rule{transition:none}}
