/* The drawing is the focus. Controls and explanatory text stay at reading size. */
.geometry-experience{font-family:Manrope,Arial,sans-serif;position:relative;margin:clamp(2rem,6vw,4.5rem) 0;padding:0;isolation:isolate;--gx-surface:color-mix(in srgb,var(--geometry) 8%,var(--paper));--gx-focus:var(--geometry)}
.geometry-experience [hidden]{display:none!important}.geometry-experience button{font:inherit;cursor:pointer}.gx-topline{display:flex;align-items:center;justify-content:space-between;min-height:2rem;gap:1rem}.gx-eyebrow{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:650}.gx-title{font-family:Manrope,Arial,sans-serif!important;font-size:clamp(1.5rem,2.5vw,1.9rem)!important;letter-spacing:-.035em;line-height:1.25;margin:.4rem 0 .8rem!important;font-weight:500!important}.gx-deck{max-width:57ch;font-size:1rem!important;color:var(--muted);line-height:1.65;margin:0 0 1.25rem!important}.gx-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 .7rem}.gx-controls button,.gx-map-shortcuts button,.gx-orbit-parameters button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:.42rem .65rem;background:transparent;border:0;border-radius:8px;color:var(--muted);font-size:.87rem;line-height:1.3;transition:background .16s,color .16s}.gx-controls button:hover,.gx-map-shortcuts button:hover,.gx-orbit-parameters button:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.gx-controls button[aria-pressed=true]{background:color-mix(in srgb,var(--geometry) 10%,transparent);color:var(--geometry)}.gx-controls .gx-play{background:var(--ink);color:var(--paper);min-width:80px}.gx-controls .gx-play[aria-pressed=true]{background:var(--ink);color:var(--paper)}.gx-controls .hugeicon{width:17px;height:17px;flex:none}.gx-choice-group{display:flex;gap:2px;align-items:center}.gx-icon-button{width:36px;padding:0!important;margin-left:auto}.gx-controls .gx-choice-group:last-child{margin-left:auto}.gx-controls button:focus-visible,.gx-map-shortcuts button:focus-visible,.gx-spatial:focus-visible,.gx-domain:focus-visible,.gx-orbit-parameters button:focus-visible{outline:2px solid var(--transport);outline-offset:4px}.gx-key{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.gx-key-a{background:var(--geometry)}.gx-key-b{background:var(--transport)}.gx-key-point{background:var(--observer)}.gx-visual-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(210px,1fr);align-items:center;gap:clamp(.5rem,2.5vw,2rem)}.gx-precession .gx-visual-layout{display:block}.gx-stage{position:relative;height:clamp(300px,37vw,460px);min-width:0;background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--geometry) 4%,transparent),transparent 66%);overflow:hidden;border-radius:12px}.gx-precession .gx-stage{height:clamp(340px,39vw,430px);background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--matter) 5%,transparent),transparent 66%)}.gx-fallback,.gx-spatial{position:absolute;inset:0}.gx-fallback svg{width:100%;height:100%;display:block;overflow:visible}.gx-spatial canvas{width:100%;height:100%;display:block;touch-action:pan-y}.gx-orbit-hint{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);font-size:.65rem;color:var(--muted);opacity:.8;pointer-events:none;white-space:nowrap}.gx-space-label{position:absolute;transform:translate(-50%,-50%);pointer-events:none;font-size:.87rem;text-shadow:0 1px 5px var(--paper);white-space:nowrap}.gx-scene-key{position:absolute;left:1rem;top:.5rem;display:flex;gap:1rem;font-size:.72rem;color:var(--muted)}.gx-scene-key span{display:flex;align-items:center;gap:.4rem}.gx-magnification{position:absolute;right:1rem;top:.5rem;color:var(--muted);font-size:.7rem}.gx-map-panel{min-width:0;padding:1rem 0}.gx-panel-heading{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.87rem;font-weight:600}.gx-domain{width:100%;aspect-ratio:1;position:relative;touch-action:none;cursor:crosshair;border-radius:12px;overflow:hidden;outline-offset:-3px!important}.gx-domain svg{display:block;width:100%;height:100%;overflow:visible}.gx-map-hint{font-size:.87rem!important;line-height:1.5;color:var(--muted);margin:.15rem 0 .5rem!important}.gx-map-shortcuts{display:flex;flex-wrap:wrap;gap:.1rem}.gx-map-shortcuts button{font-size:.79rem;min-height:32px;padding:.25rem .4rem}.gx-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0 .5rem}.gx-readout>div{min-width:0}.gx-readout span:not(.katex):not(.katex *){display:block}.gx-readout>div>span{font-size:.85rem;color:var(--muted);line-height:1.45;margin-bottom:.38rem}.gx-readout strong{font-size:1.05rem;font-weight:450;display:block;line-height:1.7}.gx-math{white-space:nowrap}.gx-readout .gx-math{display:inline!important}.gx-insight{font-size:.94rem!important;line-height:1.65;margin:1rem 0 .4rem!important;color:var(--ink)}.gx-mercury-result{font-size:.87rem!important;color:var(--muted);line-height:1.7;margin:.45rem 0!important}.gx-model,.gx-reference{margin:1rem 0 0!important;border:0!important;background:transparent!important;padding:0!important}.gx-model>summary,.gx-reference>summary{display:flex;align-items:center;gap:.4rem;cursor:pointer;list-style:none;color:var(--muted);font-size:.76rem;min-height:36px}.gx-model>summary::-webkit-details-marker,.gx-reference>summary::-webkit-details-marker{display:none}.gx-model>summary .hugeicon{width:14px;height:14px}.gx-model[open]>summary .hugeicon{transform:rotate(180deg)}.gx-model>div{max-width:70ch;padding:.25rem 0 .5rem}.gx-model p{font-size:.87rem!important;line-height:1.8}.gx-model-equation{overflow-x:auto;padding:.75rem 0;text-align:center;font-size:1.05rem}.gx-orbit-parameters{display:flex;align-items:center;gap:1.5rem;margin:1rem 0;max-width:620px}.gx-range{flex:1;min-width:0}.gx-range>span:first-child{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.77rem;color:var(--muted)}.gx-range strong{font-weight:450}.gx-range input{display:block;appearance:none;-webkit-appearance:none;width:100%;height:26px;background:transparent;cursor:pointer;margin:4px 0;padding:0;border:0;box-shadow:none}.gx-range input::-webkit-slider-runnable-track{height:2px;background:color-mix(in srgb,var(--geometry) 35%,var(--line));border:0;border-radius:1px}.gx-range input::-moz-range-track{height:2px;background:var(--line)}.gx-range input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-4px;border-radius:50%;background:var(--geometry);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--geometry)}.gx-range input::-moz-range-thumb{width:8px;height:8px;border-radius:50%;background:var(--geometry);border:2px solid var(--paper)}.gx-range input:focus-visible{outline:2px solid var(--transport);outline-offset:2px;border-radius:4px}.gx-range-ends{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.7rem}.gx-range-ends small{font-size:inherit}.gx-orbit-parameters>button{font-size:.71rem;flex:none}.gx-surface-facet{fill:var(--figure-tint);stroke:var(--figure-tint);stroke-width:.5}.gx-patch-outline{fill:none;stroke-width:2}.gx-coordinate-line{fill:none;stroke-width:1;opacity:.55}.gx-chart-a{stroke:var(--geometry)}.gx-chart-b{stroke:var(--transport)}.gx-point{fill:var(--observer);stroke:var(--paper);stroke-width:2}.gx-domain-fill{fill:color-mix(in srgb,var(--geometry) 5%,transparent)}.gx-domain-grid{fill:none;stroke:var(--line);stroke-width:.85}.gx-domain-other{fill:none;stroke-width:1.5;stroke-dasharray:4 5;opacity:.5}.gx-domain-rim{fill:none;stroke-width:1.75}.gx-orbit-newton{fill:none;stroke:var(--geometry);stroke-width:1.6;opacity:.65}.gx-orbit-gr{fill:none;stroke:var(--observer);stroke-width:2.1}.gx-peri-line{fill:none;stroke:var(--observer);stroke-width:1}.gx-peri-dot{fill:var(--observer)}.gx-sun{fill:var(--matter)}.gx-newton-point{fill:var(--geometry);stroke:var(--paper);stroke-width:1.5}
@media(max-width:650px){.gx-title{font-size:1.55rem!important}.gx-deck{font-size:.9rem!important}.gx-visual-layout{grid-template-columns:1fr;gap:.3rem}.gx-stage{height:350px}.gx-precession .gx-stage{height:360px}.gx-map-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:1rem;padding:.25rem 0}.gx-map-panel .gx-panel-heading{grid-column:1/-1;margin-bottom:.35rem}.gx-domain{grid-row:2/4}.gx-map-hint{font-size:.74rem!important}.gx-map-shortcuts{align-self:start;display:flex;flex-direction:column;align-items:start}.gx-readout{gap:.7rem;grid-template-columns:1fr}.gx-readout>div{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.gx-readout>div>span{margin:0;font-size:.72rem}.gx-readout strong{font-size:.94rem}.gx-controls{gap:.2rem}.gx-controls button{font-size:.73rem;padding:.4rem .55rem}.gx-controls .gx-choice-group:last-child{margin-left:0}.gx-precession .gx-controls .gx-choice-group{flex-basis:100%}.gx-orbit-parameters{gap:.7rem}.gx-orbit-parameters>button{max-width:88px}.gx-magnification{font-size:.62rem;top:2rem;left:1rem;right:auto}.gx-model-equation{font-size:.84rem}.gx-insight{font-size:.84rem!important}.gx-orbit-hint{font-size:.61rem}}
@media(prefers-reduced-motion:reduce){.geometry-experience *{scroll-behavior:auto;transition:none!important}}

.gx-tangent-fallback{fill:color-mix(in srgb,var(--observer) 18%,transparent);stroke:var(--observer);stroke-width:1}.gx-play [data-gx-playing]{display:flex;align-items:center}

.prose .geometry-experience p,.prose .geometry-experience summary,.prose .geometry-experience button,.prose .geometry-experience label{font-family:Manrope,Arial,sans-serif}.gx-topline>.passage-tools{position:static!important;inset:auto!important;transform:none!important;opacity:1!important;margin:0 0 0 auto!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.gx-topline>.passage-tools button{font-size:.85rem;min-width:32px;min-height:32px}
.gx-live{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.gx-readout{padding-inline:4px}.gx-readout>div{min-width:0}
@media(max-width:650px){.gx-readout>div{flex-wrap:wrap;row-gap:.25rem}.gx-readout strong{margin-left:auto;max-width:100%}}

/* Use the same chart colors in the controls, surface and flat map. */
.gx-controls [data-gx-chart=b][aria-pressed=true]{color:var(--transport);background:color-mix(in srgb,var(--transport) 10%,transparent)}
.gx-controls [data-gx-tangent][aria-pressed=true]{color:var(--observer);background:color-mix(in srgb,var(--observer) 10%,transparent)}
.gx-domain-fill-b{fill:color-mix(in srgb,var(--transport) 5%,transparent)}
