.iso{--anatomy-card:var(--card);--anatomy-paper:var(--card);--anatomy-face:color-mix(in srgb, var(--primary) 8%, var(--card));--anatomy-top:var(--card);--anatomy-shade-0:color-mix(in srgb, var(--foreground) 17%, var(--card));--anatomy-shade-1:color-mix(in srgb, var(--foreground) 12%, var(--card));--anatomy-shade-2:color-mix(in srgb, var(--foreground) 8%, var(--card));--anatomy-shade-3:color-mix(in srgb, var(--foreground) 4.5%, var(--card));--anatomy-lit-top:color-mix(in srgb, var(--primary) 14%, var(--card));--anatomy-lit-shade:color-mix(in srgb, var(--primary) 30%, var(--card));--anatomy-hi:color-mix(in srgb, var(--foreground) 84%, var(--card));--anatomy-mid:color-mix(in srgb, var(--foreground) 52%, var(--card));--anatomy-lo:color-mix(in srgb, var(--foreground) 32%, var(--card));--anatomy-faint:color-mix(in srgb, var(--foreground) 17%, var(--card));--anatomy-lit:var(--primary);--anatomy-halo:var(--foreground);--anatomy-halo-opacity:.12;--anatomy-dot:var(--foreground);--anatomy-weight:.7px;--anatomy-mono:var(--font-geist-mono), ui-monospace, monospace}:where(.dark,.theme-inverse) .iso{--anatomy-top:color-mix(in srgb, var(--foreground) 9%, var(--card));--anatomy-shade-0:color-mix(in srgb, #000 34%, var(--card));--anatomy-shade-1:color-mix(in srgb, #000 18%, var(--card));--anatomy-shade-2:color-mix(in srgb, var(--foreground) 2%, var(--card));--anatomy-shade-3:color-mix(in srgb, var(--foreground) 5.5%, var(--card));--anatomy-lit-top:color-mix(in srgb, var(--primary) 26%, var(--card));--anatomy-lit-shade:color-mix(in srgb, var(--primary) 14%, var(--card));--anatomy-halo:#000;--anatomy-halo-opacity:.55}.iso-svg{width:100%;height:auto;display:block;overflow:visible}.iso-svg path,.iso-svg circle{vector-effect:non-scaling-stroke}.iso-fill{fill:var(--anatomy-paper);stroke:none}.iso-solid[data-lit]>.iso-fill{fill:var(--anatomy-face)}.iso-shade,.iso-top{stroke:none}.iso-shade[data-shade="0"]{fill:var(--anatomy-shade-0)}.iso-shade[data-shade="1"]{fill:var(--anatomy-shade-1)}.iso-shade[data-shade="2"]{fill:var(--anatomy-shade-2)}.iso-shade[data-shade="3"]{fill:var(--anatomy-shade-3)}.iso-top{fill:var(--anatomy-top)}.iso-solid[data-lit]>.iso-top{fill:var(--anatomy-lit-top)}.iso-solid[data-lit]>.iso-shade{fill:var(--anatomy-lit-shade)}.iso-solid[data-lit]>.iso-edge{stroke:var(--anatomy-lit)}.iso-halo{fill:var(--anatomy-halo);stroke:none;filter:blur(9px);opacity:var(--anatomy-halo-opacity);transform:translateY(3px)}.iso-line{fill:none;stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight);stroke-linecap:round;stroke-linejoin:round}.iso-line[data-tone=hi]{stroke:var(--anatomy-hi)}.iso-line[data-tone=mid]{stroke:var(--anatomy-mid)}.iso-line[data-tone=lo]{stroke:var(--anatomy-lo)}.iso-line[data-tone=faint]{stroke:var(--anatomy-faint)}.iso-line[data-tone=lit]{stroke:var(--anatomy-lit)}.iso-line[data-dotted]{stroke-dasharray:.01 3.5;stroke-width:1px}.iso-line[data-dashed]{stroke-dasharray:3 3}.iso-dots circle{fill:var(--anatomy-dot);stroke:none;opacity:.32}.iso-dots[data-tone=hi] circle{opacity:.85}.iso-dots[data-tone=mid] circle{opacity:.45}.iso-dots[data-tone=lo] circle{opacity:.22}.iso-dots[data-tone=faint] circle{opacity:.12}.iso-face-text{fill:var(--anatomy-mid);font-family:var(--anatomy-mono);letter-spacing:.04em}.iso-face-text[data-tone=hi]{fill:var(--anatomy-hi)}.iso-face-text[data-tone=lo]{fill:var(--anatomy-lo)}.iso-face-text[data-tone=faint]{fill:var(--anatomy-faint)}
.port-water .iso-fill,.port-water .iso-top{fill:color-mix(in srgb, var(--primary) 12%, var(--card))}.port-wave{fill:none;stroke:color-mix(in srgb, var(--primary) 40%, transparent);stroke-width:1px;stroke-linecap:round;vector-effect:non-scaling-stroke}.port-quay>.iso-top{fill:color-mix(in srgb, var(--foreground) 3.5%, var(--card))}.port-keel .iso-fill,.port-keel .iso-shade,.port-keel .iso-top{fill:color-mix(in srgb, var(--foreground) 22%, var(--card))}.port-shadow{fill:var(--foreground);opacity:.09;filter:blur(1.5px)}.port-window{stroke-width:1.6px;opacity:.55}@media (max-width:599px){.port-stage{transform:translate(70px)}.port-frame{--port-shift:15.91cqh}}.port-bar{stroke-dasharray:4 4;opacity:.7}.port-stack{transition:opacity .4s}.port-lapsed{opacity:.45}.port-stage[data-ending] .port-stack{opacity:0}.port-mascot{transform-box:fill-box;transform-origin:50% 100%;transition:transform .18s ease-out}.port-mascot[data-reading]{transform:translateY(-4px)scale(1.03)}.port-row{transition:opacity .4s}@media (prefers-reduced-motion:reduce){.port-mascot,.port-stack,.port-row{transition:none}}
