.ftr{position:relative;z-index:var(--z-content);margin-top:var(--s-9);padding:var(--s-8) 0 calc(var(--s-6) + var(--safe-b));background:linear-gradient(rgba(18,24,40,0),var(--night-0) 140px)}.ftr__quote{display:grid;gap:var(--s-2);margin:0 0 var(--s-7)}.ftr__quote blockquote{margin:0}.ftr__quote p{font-family:var(--font-display);font-style:italic;font-size:clamp(1.375rem,1.15rem + .9vw,1.75rem);line-height:1.3;text-wrap:balance;color:var(--ink-2)}.ftr__quote a{text-decoration:none}.ftr__quote a:hover{color:var(--ink)}.ftr__quote figcaption{font-size:var(--fs-small);color:var(--ink-3)}.ftr__quote figcaption:before{content:"— "}.ftr__base{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--ink-3)}.ftr__brand{display:inline-flex;align-items:center;gap:10px;margin-right:auto;font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--ink);text-decoration:none}.ftr__mark{width:auto;height:34px}.ftr__links ul{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-5)}.ftr__links a{display:inline-block;padding:6px 0;color:var(--ink-2);text-decoration:none}.ftr__links a:hover{color:var(--ink)}.netstat{display:inline-flex;align-items:center;gap:8px;padding:6px 0;color:var(--ink-2);text-decoration:none}.netstat:hover{color:var(--ink)}.netstat__dot{width:7px;height:7px;border-radius:50%;background:var(--ink-4)}.netstat[data-tone=ok] .netstat__dot{background:var(--ok);box-shadow:0 0 0 3px #a4d39b29}.netstat[data-tone=warn] .netstat__dot{background:var(--warn);box-shadow:0 0 0 3px #ecc06f29}.netstat[data-tone=bad] .netstat__dot{background:var(--bad);box-shadow:0 0 0 3px #f09b8c29}@keyframes netstat-pulse{50%{opacity:.35}}.netstat[data-tone=checking] .netstat__dot{animation:netstat-pulse 1.2s ease-in-out infinite}@media(max-width:719.98px){.ftr{margin-top:var(--s-8)}.ftr__base{gap:var(--s-2) var(--s-5)}.ftr__brand{width:100%;margin-bottom:var(--s-2)}}@media(prefers-reduced-motion:reduce){.netstat[data-tone=checking] .netstat__dot{animation:none}}.hdr{position:sticky;top:0;z-index:var(--z-header);padding-top:var(--safe-t);background:#18203600;border-bottom:1px solid transparent;transition:background-color var(--dur-3) var(--ease-std),border-color var(--dur-3) var(--ease-std)}.hdr[data-scrolled]{background:#182036f0;border-bottom-color:var(--line)}.hdr__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);height:var(--header-h)}.hdr__brand{display:inline-flex;align-items:center;gap:12px;margin-left:-4px;padding:4px;color:var(--ink);text-decoration:none;border-radius:var(--radius-s)}.hdr__mark{flex:none;width:auto;height:46px;transform-origin:50% 85%;transition:transform var(--dur-4) var(--ease-out)}.hdr__brand:hover .hdr__mark,.hdr__brand:focus-visible .hdr__mark{transform:rotate(-6deg) translateY(-1px)}.hdr__wordmark{font-family:var(--font-display);font-size:1.375rem;font-weight:500;letter-spacing:-.01em;line-height:1}.hdr__nav{display:flex;align-items:center;gap:var(--s-6)}.hdr__links{display:flex;align-items:center;gap:var(--s-5)}.hdr__link{position:relative;display:inline-block;padding:10px 2px;color:var(--ink-2);font-size:.9375rem;text-decoration:none}.hdr__link:after{content:"";position:absolute;left:50%;bottom:1px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--gold);transform:scale(0);transition:transform var(--dur-3) var(--ease-out)}.hdr__link:hover,.hdr__link[aria-current=page]{color:var(--ink)}.hdr__link[aria-current=page]:after{transform:scale(1)}.hdr__ext{display:inline-flex;align-items:center;gap:5px;padding:10px 0;color:var(--ink-3);font-size:.9375rem;text-decoration:none}.hdr__ext:hover{color:var(--ink)}.hdr__ext .icon{transition:transform var(--dur-2) var(--ease-out)}.hdr__ext:hover .icon{transform:translate(1px,-1px)}.hdr__menu-btn{display:none;align-items:center;gap:8px;min-height:44px;margin-right:-10px;padding:0 10px;color:var(--ink-2);font-size:.9375rem;border-radius:var(--radius-s)}.hdr__menu-btn:hover,.hdr__menu-btn[aria-expanded=true]{color:var(--ink)}.hdr__sheet{position:fixed;top:calc(var(--header-h) + var(--safe-t));left:0;right:0;bottom:0;z-index:var(--z-menu);overflow-y:auto;overscroll-behavior:contain;padding:var(--s-6) 0 calc(var(--s-7) + var(--safe-b));background:var(--night-1);border-top:1px solid var(--line)}.hdr__sheet[hidden]{display:none}.hdr__sheet-links{display:grid;gap:var(--s-1)}.hdr__sheet-link{display:block;padding:8px 0;font-family:var(--font-display);font-size:2.5rem;font-weight:500;line-height:1.15;letter-spacing:var(--track-display);color:var(--ink-2);text-decoration:none}.hdr__sheet-link[aria-current=page]{color:var(--ink);font-style:italic}.hdr__sheet-ext{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-5);margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line)}.hdr__sheet-ext a{display:inline-block;padding:8px 0;color:var(--ink-3);text-decoration:none}.hdr__sheet-ext a:hover{color:var(--ink)}@keyframes sheet-item-in{0%{opacity:0;transform:translate3d(0,8px,0)}}.hdr__sheet[data-open] .hdr__sheet-links li,.hdr__sheet[data-open] .hdr__sheet-ext{animation:sheet-item-in var(--dur-4) var(--ease-out) both;animation-delay:calc(var(--i, 3) * 45ms)}html.menu-open{overflow:hidden}@media(max-width:719.98px){.hdr__nav{display:none}.hdr__menu-btn{display:inline-flex}.hdr__mark{height:40px}.hdr__wordmark{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.hdr__sheet[data-open] .hdr__sheet-links li,.hdr__sheet[data-open] .hdr__sheet-ext{animation-name:sheet-fade;animation-duration:var(--dur-2);animation-delay:0ms}@keyframes sheet-fade{0%{opacity:0}}.hdr__brand:hover .hdr__mark,.hdr__brand:focus-visible .hdr__mark{transform:none}}.intro{display:none}html.as-intro .intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-intro);display:grid;place-items:center;overflow:hidden;--av-h: min(46vh, 420px, 120vw);--row: clamp(40px, 7.5vh, 68px);animation:intro-out 1ms 2.75s both;cursor:default;-webkit-user-select:none;user-select:none}html.as-intro .intro.intro--vv{inset:auto;left:var(--vv-x);top:var(--vv-y);width:var(--vv-w);height:var(--vv-h)}.intro__curtain{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(80% 62% at 80% -10%,#6882cc3d,#18203600 64%),linear-gradient(180deg,#1b2440,#182036 48%,#151c30);animation:intro-curtain 2.75s linear both}.intro__curtain:after{content:"";position:absolute;left:50%;top:50%;width:calc(var(--av-h) * 1.9);height:calc(var(--av-h) * 1.5);transform:translate(-50%,-50%);background:radial-gradient(closest-side,#ecc06f21,#ecc06f0a 55%,#ecc06f00);animation:intro-light .9s var(--ease-std) both}.intro__figure{position:relative;display:grid;grid-template-rows:var(--row) var(--av-h) var(--row);justify-items:center}.intro__portrait{width:calc(var(--av-h) * .666);height:var(--av-h);background-image:url(/brand/avatar-384.webp);background-image:-webkit-image-set(url(/brand/avatar-384.webp) 1x,url(/brand/avatar-768.webp) 2x);background-image:image-set(url(/brand/avatar-384.webp) 1x,url(/brand/avatar-768.webp) 2x);background-position:50% 50%;background-size:contain;background-repeat:no-repeat;transform-origin:50% 50%;animation:intro-portrait 2.75s both}.intro__welcome,.intro__line{font-family:var(--font-display);line-height:1;white-space:nowrap}.intro__welcome{align-self:end;padding-bottom:clamp(10px,1.8vh,18px);font-style:italic;font-size:clamp(1.375rem,3.6vh,1.875rem);color:var(--gold);animation:intro-words 2.75s both}.intro__line{align-self:start;padding-top:clamp(12px,2vh,20px);font-size:clamp(1rem,min(2.9vh,4.6vw),1.375rem);color:var(--ink-2);animation:intro-words-late 2.75s both}.intro__line em{font-style:normal;color:var(--ink)}.intro__skip{position:absolute;right:max(var(--s-5),var(--safe-r));bottom:max(var(--s-5),calc(var(--safe-b) + var(--s-3)));min-height:44px;padding:0 var(--s-3);font-size:var(--fs-small);color:var(--ink-3);border-radius:var(--radius-s);animation:intro-skip-in 2.75s both}.intro__skip:hover{color:var(--ink)}.intro--landed .intro__portrait{visibility:hidden}html.as-intro .hdr__mark{animation:intro-mark 1ms 2.65s both}@keyframes intro-curtain{0%,78.2%{opacity:1}to{opacity:0}}@keyframes intro-light{0%{opacity:0}}@keyframes intro-portrait{0%,5.5%{opacity:0;transform:translate3d(0,18px,0) scale(.965);animation-timing-function:cubic-bezier(.16,1,.3,1)}38%{opacity:1;transform:none}74.5%{opacity:1;transform:none;animation-timing-function:cubic-bezier(.4,0,1,1)}92.7%,to{opacity:0;transform:scale(.94)}}@keyframes intro-words{0%,18%{opacity:0;transform:translate3d(0,6px,0)}44%,72.7%{opacity:1;transform:none}81.8%,to{opacity:0;transform:none}}@keyframes intro-words-late{0%,25.5%{opacity:0;transform:translate3d(0,6px,0)}51%,72.7%{opacity:1;transform:none}81.8%,to{opacity:0;transform:none}}@keyframes intro-skip-in{0%,22%{opacity:0}36%,74%{opacity:1}80%,to{opacity:0}}@keyframes intro-mark{0%{opacity:0}}@keyframes intro-out{to{visibility:hidden}}html.as-intro-reduced .intro{animation:intro-out-fade .45s 1s linear both}html.as-intro-reduced .intro__curtain,html.as-intro-reduced .intro__curtain:after{animation:none}html.as-intro-reduced .intro__portrait,html.as-intro-reduced .intro__welcome,html.as-intro-reduced .intro__line,html.as-intro-reduced .intro__skip{animation:intro-appear .35s ease-out both}html.as-intro-reduced .hdr__mark{animation-delay:1s}@keyframes intro-appear{0%{opacity:0}}@keyframes intro-out-fade{to{opacity:0;visibility:hidden}}html.as-intro-skip .intro,html.as-intro-skip.as-intro-reduced .intro{animation:intro-skip-out .24s ease-out both}html.as-intro-skip .intro__figure *,html.as-intro-skip .intro__curtain,html.as-intro-skip .intro__skip{animation-play-state:paused}html.as-intro-skip .hdr__mark{animation:none}@keyframes intro-skip-out{to{opacity:0;visibility:hidden}}@media print{html.as-intro .intro{display:none}}.sky{position:fixed;top:0;left:0;z-index:var(--z-sky);width:100vw;height:100vh;height:100lvh;pointer-events:none;background:radial-gradient(80% 62% at 80% -10%,#6882cc47,#18203600 64%),radial-gradient(64% 50% at 4% 106%,#d49c5c21,#18203600 62%),linear-gradient(180deg,#1b2440,#182036 48%,#151c30)}.sky__canvas{width:100%;height:100%;opacity:0;transition:opacity 1.2s var(--ease-std)}.sky__canvas[data-ready]{opacity:1}@media(prefers-reduced-motion:reduce){.sky__canvas{transition-duration:1ms}}.about{display:grid;grid-template-columns:minmax(0,300px) minmax(0,40rem);justify-content:start;gap:var(--s-6) clamp(var(--s-7),8vw,var(--s-10));align-items:start;padding-top:clamp(var(--s-7),7vw,var(--s-9))}.about__portrait{position:sticky;top:calc(var(--header-h) + var(--s-6));margin:0}.about__portrait:before{content:"";position:absolute;top:-12%;right:-30%;bottom:0;left:-30%;z-index:-1;background:radial-gradient(closest-side,#ecc06f1f,#ecc06f00)}.about__portrait img{width:100%;height:auto}.about__body{display:grid;gap:var(--s-6);padding-top:var(--s-3)}.about__body h1{font-size:var(--fs-h1)}.about__prose{display:grid;gap:var(--s-4);color:var(--ink-2);font-size:1.0625rem;line-height:1.65}.about__lede{font-family:var(--font-display);font-size:clamp(1.375rem,1.15rem + .8vw,1.75rem);line-height:1.4;color:var(--ink)}.about__section{display:grid;gap:var(--s-3);padding-top:var(--s-5);border-top:1px solid var(--line);color:var(--ink-2);font-size:1.0625rem;line-height:1.65}.about__section h2{font-size:1.625rem;font-style:italic;font-weight:400;color:var(--ink)}.about__links{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-5);margin-top:var(--s-2)}.about__links a{display:inline-block;padding:6px 0;color:var(--ink);text-decoration-color:var(--line-3)}.about__links a:hover{color:var(--gold-hi);text-decoration-color:currentColor}.about__colophon{max-width:34rem;font-size:var(--fs-small);line-height:1.6;color:var(--ink-3)}@media(max-width:859.98px){.about{grid-template-columns:minmax(0,1fr)}.about__portrait{position:relative;top:0;width:min(200px,52vw)}}.dir__head{max-width:48rem}.dir__head p{max-width:40rem}.dir__controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4) var(--s-6);margin-top:var(--s-7);padding-bottom:var(--s-3);border-bottom:1px solid var(--line)}.dir__search{position:relative;flex:0 1 18rem;min-width:12rem}.dir__search input{width:100%;height:44px;padding:0 36px 0 30px;background:transparent;border:0;border-bottom:1px solid var(--line-2);border-radius:0;font-size:1rem;color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--dur-1) var(--ease-std)}.dir__search input::placeholder{color:var(--ink-3)}.dir__search input:hover{border-bottom-color:var(--line-3)}.dir__search input:focus{outline:none;border-bottom-color:var(--gold)}.dir__search input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-right:-26px;background:linear-gradient(45deg,transparent 45%,var(--ink-3) 45%,var(--ink-3) 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--ink-3) 45%,var(--ink-3) 55%,transparent 55%);cursor:pointer}.dir__search-icon{position:absolute;left:2px;top:13px;color:var(--ink-3);pointer-events:none}.dir__kbd{position:absolute;right:4px;top:11px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--line-2);border-radius:var(--radius-s);font-family:var(--font-text);font-size:.75rem;color:var(--ink-3);pointer-events:none}.dir__search input:focus~.dir__kbd,.dir__search input:not(:placeholder-shown)~.dir__kbd{visibility:hidden}@media(hover:none),(pointer:coarse){.dir__kbd{display:none}}.dir__filter{display:flex;flex-wrap:wrap;flex:1 1 auto;gap:0 var(--s-4);min-width:0;margin:0;padding:0;border:0}.dir__tab{position:relative;display:inline-flex;align-items:center;min-height:40px;font-size:.9375rem;color:var(--ink-3);cursor:pointer;white-space:nowrap;transition:color var(--dur-1) var(--ease-std)}.dir__tab:hover{color:var(--ink)}.dir__tab input:checked+span{color:var(--cat, var(--ink))}.dir__tab span{position:relative}.dir__tab span:after{content:"";position:absolute;left:50%;bottom:-7px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:currentColor;transform:scale(0);transition:transform var(--dur-3) var(--ease-out)}.dir__tab input:checked+span:after{transform:scale(1)}.dir__tab input:focus-visible+span{outline:2px solid var(--gold);outline-offset:4px;border-radius:2px}.dir__status select{min-height:40px;padding:0 22px 0 0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a59d8e' stroke-width='1.4'/%3E%3C/svg%3E") right 2px center / 10px 6px no-repeat;border:0;font-size:.9375rem;color:var(--ink-3);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.dir__status select:hover{color:var(--ink)}.dir__status option{background:var(--night-2);color:var(--ink)}.dir__count{min-height:1.5em;margin-top:var(--s-3);font-size:var(--fs-small);color:var(--ink-3)}.dir__groups{display:grid;gap:var(--s-7);margin-top:var(--s-4)}.dir__group-title{display:flex;align-items:center;gap:12px;padding-bottom:var(--s-3);font-size:1.625rem;font-style:italic;font-weight:400;color:var(--ink)}.dir__group-title .swatch{width:9px;height:9px}.dir__list{display:grid;border-top:1px solid var(--line)}.row{position:relative;display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr) 5.5rem;gap:var(--s-2) var(--s-6);align-items:baseline;padding:18px 12px;margin:0 -12px;border-bottom:1px solid var(--line);border-radius:var(--radius-s)}.row:hover{background:#f0e8d809}.row__name{min-width:0}.row__title{font-size:1.5rem;font-weight:500;line-height:1.15;overflow-wrap:anywhere}.row__title .host__tail{display:inline-block;font-size:.95rem;font-weight:400;margin-left:1px}.row__link{text-decoration:none;transition:color var(--dur-1) var(--ease-std)}.row__link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:var(--radius-s)}.row__link:focus-visible{outline:none}.row__link:focus-visible:after{outline:2px solid var(--gold);outline-offset:-2px}.row:hover .row__link,.row__link:focus-visible{color:var(--gold-hi)}.row__address{margin-top:4px;font-size:var(--fs-small);color:var(--ink-3);overflow-wrap:anywhere}.row__desc{max-width:40rem;color:var(--ink-2);line-height:1.55}.row__desc .tag{margin-left:2px}.row__actions{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);align-self:center;pointer-events:none}.row__actions>*{pointer-events:auto}.row__out{color:var(--ink-4);pointer-events:none!important;transition:color var(--dur-1) var(--ease-std),transform var(--dur-2) var(--ease-out)}.row:hover .row__out{color:var(--gold-hi);transform:translate(2px,-2px)}.row__locate{display:grid;place-items:center;width:36px;height:36px;color:var(--ink-4);border-radius:var(--radius-s);transition:color var(--dur-1) var(--ease-std),background-color var(--dur-1) var(--ease-std)}.row__locate:hover{color:var(--ink);background:#f0e8d80f}.btn--small{min-height:36px;padding:0 12px;font-size:var(--fs-small)}.dir__empty{display:grid;justify-items:start;gap:var(--s-4);padding:var(--s-8) 0}.dir__empty-title{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1.15}@media(max-width:899.98px){.dir__search{flex:1 1 10rem;order:1}.dir__status{order:2}.dir__filter{order:3;flex:1 1 100%;flex-wrap:nowrap;margin:0 calc(var(--pad-r) * -1) 0 calc(var(--pad-l) * -1);padding:0 var(--pad-r) 4px var(--pad-l);overflow-x:auto;scrollbar-width:none;scroll-padding:0 var(--pad-r) 0 var(--pad-l);-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--pad-l),#000 calc(100% - var(--pad-r)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--pad-l),#000 calc(100% - var(--pad-r)),transparent)}.dir__filter::-webkit-scrollbar{display:none}.row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions" "desc desc";padding:16px 12px 18px}.row__name{grid-area:name}.row__desc{grid-area:desc}.row__actions{grid-area:actions;align-self:start}.row__title{font-size:1.375rem}}.orrery{position:relative}.orrery__stage{position:relative;height:clamp(340px,112vw,580px);overflow:hidden;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.orrery__stage[data-dragging]{cursor:grabbing}.orrery__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.orrery__defs{position:absolute;width:0;height:0}.orrery__worlds{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.world{position:absolute;left:-22px;top:-22px;width:44px;height:44px;display:grid;place-items:center;color:var(--c);border-radius:50%;opacity:0;pointer-events:auto;cursor:pointer;will-change:transform;-webkit-tap-highlight-color:transparent}.orrery__stage[data-dragging] .world{cursor:grabbing}.world__body{position:relative;display:grid;place-items:center;transform:scale(var(--world-scale, 1))}.world__glyph{transition:transform var(--dur-3) var(--ease-out)}.world[data-active] .world__glyph,.world:focus-visible .world__glyph{transform:scale(1.32)}.world__body:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--c);border-radius:50%;opacity:0;transform:scale(.55);transition:opacity var(--dur-2) var(--ease-std),transform var(--dur-3) var(--ease-out)}.world[data-active] .world__body:after{opacity:.85;transform:scale(1)}.world--hub .world__body:after{display:none}.world__sphere{fill:var(--c);stroke:var(--night-0);stroke-width:1.1}.world__ring{fill:none;stroke:var(--c);stroke-width:1.2}.world__hull{fill:var(--night-1);stroke:var(--c);stroke-width:1.4}.world__core{fill:var(--c)}.world__moon-path{fill:none;stroke:var(--c);stroke-width:.7;stroke-dasharray:1.4 2;opacity:.5}@keyframes moon-orbit{to{transform:rotate(360deg)}}.world__moon{position:absolute;left:50%;top:50%;width:0;height:0;animation:moon-orbit 9s linear infinite;will-change:transform;pointer-events:none}.world__moon-body{position:absolute;left:6.5px;top:-1.7px;width:3.4px;height:3.4px;border-radius:50%;background:var(--c)}.world--hub{left:-28px;top:-42px;width:56px;height:84px;border-radius:28px}.world__portrait{width:auto;height:84px;transform-origin:50% 80%;transition:transform var(--dur-4) var(--ease-out)}.world--hub[data-active] .world__portrait,.world--hub:focus-visible .world__portrait{transform:rotate(-5deg) scale(1.04)}.world__label{position:absolute;left:calc(50% + 14px);top:50%;transform:translateY(-50%);font-size:.8125rem;line-height:1;color:var(--ink-2);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-3) var(--ease-std)}.world[data-label] .world__label{opacity:.85}.world--hub .world__label{left:50%;top:calc(100% + 6px);transform:translate(-50%);font-family:var(--font-display);font-style:italic;font-size:.9375rem;color:var(--gold);opacity:.95}.annot{position:absolute;left:0;top:0;z-index:60;width:max-content;max-width:min(290px,calc(100% - 16px));pointer-events:none;visibility:hidden}.annot[data-visible]{visibility:visible}.annot__box{display:flex;flex-direction:column;gap:4px;padding:10px 14px 11px;background:var(--night-2);border:1px solid var(--line-2);border-radius:var(--radius-m);box-shadow:0 10px 30px #0a0e1a59;animation:annot-in var(--dur-2) var(--ease-out) both}.annot[data-side=left] .annot__box{text-align:right}.annot[data-up=up] .annot__box{flex-direction:column-reverse}@keyframes annot-in{0%{opacity:0;transform:translate3d(0,3px,0)}}.annot__host{font-family:var(--font-display);font-size:1.0625rem;font-weight:500;line-height:1.25;white-space:nowrap}.annot__head{color:var(--ink)}.annot__tail{color:var(--ink-3);font-size:.8em}.annot__desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-width:262px;font-size:.84375rem;line-height:1.45;color:var(--ink-2)}.annot__meta{display:flex;gap:8px;font-size:.8125rem;line-height:1.4}.annot[data-side=left] .annot__meta{justify-content:flex-end}.annot__cat{color:var(--c)}.panel{position:absolute;z-index:70;right:var(--pad-r);top:50%;width:min(380px,40%);transform:translateY(-50%);cursor:auto;-webkit-user-select:text;user-select:text}.panel__inner{display:grid;gap:var(--s-4);padding:var(--s-5) var(--s-5) var(--s-3);background:var(--night-2);border:1px solid var(--line-2);border-radius:var(--radius-m);box-shadow:0 24px 60px #0a0e1a66;animation:panel-in var(--dur-4) var(--ease-out) both}@keyframes panel-in{0%{opacity:0;transform:translate3d(14px,0,0)}}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:-8px}.panel__cat{display:inline-flex;align-items:baseline;gap:10px;font-size:var(--fs-small);color:var(--c)}.panel__close{display:grid;place-items:center;width:40px;height:40px;margin-right:-12px;color:var(--ink-3);border-radius:var(--radius-s)}.panel__close:hover{color:var(--ink);background:#f0e8d80f}.panel__title{font-size:clamp(2.125rem,1.7rem + 1.4vw,2.75rem);line-height:1;word-break:break-word}.panel__title:focus{outline:none}.panel__title .host__tail{display:block;margin-top:6px;font-size:1.0625rem;font-weight:400}.panel__desc{color:var(--ink-2);line-height:1.55}.panel__actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-1)}.panel__nav{display:flex;justify-content:space-between;margin:0 -8px;padding-top:var(--s-2);border-top:1px solid var(--line)}.panel__nav button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;font-size:var(--fs-small);color:var(--ink-3);border-radius:var(--radius-s)}.panel__nav button:hover{color:var(--ink)}.orrery__foot{position:relative;z-index:2;padding:var(--s-3) var(--pad-r) 0 var(--pad-l)}.orrery__legend{display:flex;flex-wrap:wrap;gap:0 var(--s-5)}.orrery__legend-item{display:inline-block;padding:8px 0;font-size:var(--fs-small);color:var(--cat);text-decoration:none;opacity:.88}.orrery__legend-item:hover,.orrery__legend-item:focus-visible{opacity:1;text-decoration:underline;text-decoration-color:currentColor}@media(max-width:959.98px){.panel{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;max-height:min(62vh,520px);transform:none;overflow-y:auto;overscroll-behavior:contain;padding:0 max(var(--s-3),var(--safe-r)) calc(var(--s-3) + var(--safe-b)) max(var(--s-3),var(--safe-l))}.panel__inner{gap:var(--s-3);padding:var(--s-4) var(--s-4) var(--s-3);background:var(--night-2);box-shadow:0 -20px 50px #0a0e1a80;animation-name:sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translate3d(0,24px,0)}}.panel__title{font-size:2rem}.orrery__legend{gap:0 var(--s-4)}.world--hub{left:-22px;top:-33px;width:44px;height:66px}.world__portrait{height:66px}}@media(prefers-reduced-motion:reduce){.world__moon{animation:none}.annot__box,.panel__inner{animation-name:fade-in-only}@keyframes fade-in-only{0%{opacity:0}}}.hero{position:relative}.hero__text{position:relative;z-index:3;max-width:calc(30rem + var(--pad-l));padding:var(--s-6) var(--pad-r) var(--s-2) var(--pad-l)}.hero__title{font-size:clamp(2.25rem,.4rem + 10.5vw,4.5rem);line-height:.98}.hero__title em{font-weight:400;color:var(--gold)}.hero__lede{margin-top:var(--s-4);max-width:26ch;font-size:var(--fs-lead);line-height:1.5;color:var(--ink-2)}.hero__more{margin-top:var(--s-3);font-size:var(--fs-small);color:var(--ink-3);pointer-events:auto}@media(min-width:960px)and (min-aspect-ratio:6/5){.hero__text{position:absolute;top:47%;left:max(0px,calc((100% - var(--max)) / 2 - var(--pad-l)));max-width:calc(29rem + var(--pad-l));padding-top:0;transform:translateY(-50%);pointer-events:none;transition:opacity var(--dur-4) var(--ease-std)}.hero__title{font-size:clamp(2.75rem,.8rem + 2.7vw,4rem)}.hero[data-focused] .hero__text{opacity:0}.hero .orrery__stage{height:calc(100vh - var(--header-h) - 52px);height:calc(100svh - var(--header-h) - 52px);min-height:540px;max-height:1040px}}@media(min-width:960px)and (max-width:1199.98px)and (min-aspect-ratio:6/5){.hero__text{max-width:calc(21rem + var(--pad-l))}.hero__title{font-size:2.875rem}}@media(min-width:960px)and (max-aspect-ratio:6/5){.hero .orrery__stage{height:min(760px,66vh);height:min(760px,66svh)}}@media(min-width:960px){.hero .orrery__foot{max-width:calc(var(--max) + var(--pad-l) + var(--pad-r));margin-inline:auto}}@keyframes hero-arrive{0%{translate:0 14px}}html.as-intro .hero__text,html.as-intro .orrery__foot{animation:hero-arrive .9s 2.15s var(--ease-out) both}html.as-intro .orrery__foot{animation-delay:2.35s}html.as-intro-reduced .hero__text,html.as-intro-reduced .orrery__foot,html.as-intro-skip .hero__text,html.as-intro-skip .orrery__foot{animation:none}@media(max-width:959.98px){.hero .orrery{margin-top:var(--s-2)}}@font-face{font-family:"Brygada 1918";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/brygada-1918-latin-var-lR-qu--i.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Brygada 1918";font-style:italic;font-weight:400 700;font-display:swap;src:url(/assets/brygada-1918-latin-italic-var-BZdSQ4kq.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/hanken-grotesk-latin-var-CaVRRdDk.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Brygada Fallback;font-style:normal;src:local("Times New Roman"),local("TimesNewRomanPSMT"),local("Liberation Serif"),local("Times"),local("Noto Serif");size-adjust:115.66%;ascent-override:79.54%;descent-override:21.62%;line-gap-override:0%}@font-face{font-family:Brygada Fallback;font-style:italic;src:local("Times New Roman Italic"),local("TimesNewRomanPS-ItalicMT"),local("Liberation Serif Italic"),local("Times-Italic");size-adjust:107.45%;ascent-override:85.62%;descent-override:23.27%;line-gap-override:0%}@font-face{font-family:Hanken Fallback;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Helvetica Neue"),local("Helvetica"),local("Roboto");size-adjust:101.11%;ascent-override:98.9%;descent-override:29.97%;line-gap-override:0%}:root{color-scheme:dark;--night-0: #121828;--night-1: #182036;--night-2: #1f2841;--night-3: #27314d;--night-4: #323d5d;--line: rgba(240, 232, 216, .1);--line-2: rgba(240, 232, 216, .18);--line-3: rgba(240, 232, 216, .32);--ink: #f2ebdd;--ink-2: #cfc7b6;--ink-3: #a59d8e;--ink-4: #7d7769;--gold: #ecc06f;--gold-hi: #f6d899;--gold-lo: #b08a4c;--gold-wash: rgba(236, 192, 111, .1);--c-main: #ecc06f;--c-business: #f0a98f;--c-gallery: #e9a7c1;--c-project: #a5cf9b;--c-dev: #9cc2f2;--c-utility: #c9b2e9;--c-infrastructure: #86cfcb;--c-external: #c8c0b2;--ok: #a4d39b;--warn: #ecc06f;--bad: #f09b8c;--font-display: "Brygada 1918", "Brygada Fallback", Georgia, "Times New Roman", serif;--font-text: "Hanken Grotesk", "Hanken Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-small: .875rem;--fs-body: 1rem;--fs-lead: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem);--fs-h3: 1.3125rem;--fs-h2: clamp(1.75rem, 1.45rem + 1.2vw, 2.375rem);--fs-h1: clamp(2.75rem, 1.9rem + 3.4vw, 4.5rem);--lh-tight: 1.02;--lh-snug: 1.2;--lh-body: 1.6;--track-display: -.012em;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--max: 1160px;--gutter: clamp(18px, 4.6vw, 48px);--header-h: 68px;--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--pad-l: max(var(--gutter), var(--safe-l));--pad-r: max(var(--gutter), var(--safe-r));--radius-s: 4px;--radius-m: 8px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-std: cubic-bezier(.2, 0, 0, 1);--dur-1: .11s;--dur-2: .18s;--dur-3: .32s;--dur-4: .56s;--dur-5: .9s;--z-sky: 0;--z-content: 1;--z-header: 30;--z-menu: 40;--z-intro: 90}@media(max-width:719.98px){:root{--header-h: 60px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--night-1);scrollbar-color:var(--night-4) var(--night-1);scrollbar-gutter:stable}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;min-height:100vh;min-height:100svh;background-color:var(--night-1);color:var(--ink);font-family:var(--font-text);font-size:var(--fs-body);line-height:var(--lh-body);font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overflow-x:hidden;overflow-x:clip}h1,h2,h3,h4,p,figure,blockquote,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:var(--track-display);line-height:var(--lh-tight);text-wrap:balance}h3{font-size:var(--fs-h3);line-height:var(--lh-snug)}p{text-wrap:pretty}em{font-style:italic}img,svg,canvas{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration-color:var(--line-3);text-decoration-thickness:1px;text-underline-offset:.24em;transition:color var(--dur-1) var(--ease-std),text-decoration-color var(--dur-1) var(--ease-std)}a:hover{text-decoration-color:currentColor}button,input,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}::selection{background:#ecc06f4d;color:var(--ink)}:focus{outline:2px solid var(--gold);outline-offset:3px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.container{width:100%;max-width:calc(var(--max) + var(--pad-l) + var(--pad-r));margin-inline:auto;padding-left:var(--pad-l);padding-right:var(--pad-r)}.host__tail{color:var(--ink-3);font-size:.72em;letter-spacing:0}.skip-link{position:fixed;top:calc(var(--safe-t) + 10px);left:var(--pad-l);z-index:100;padding:10px 14px;background:var(--gold);color:var(--night-1);font-weight:600;font-size:var(--fs-small);text-decoration:none;border-radius:var(--radius-s);transform:translateY(-160%);transition:transform var(--dur-2) var(--ease-out)}.skip-link:focus{transform:translateY(0);outline-color:var(--ink)}.app{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100svh}.app main{position:relative;z-index:2;flex:1 0 auto}.app main:focus{outline:none}@keyframes page-enter{0%{opacity:0;transform:translate3d(0,10px,0)}}.page--enter{animation:page-enter var(--dur-4) var(--ease-out) both}@media(prefers-reduced-motion:reduce){.page--enter{animation:page-enter-fade var(--dur-3) linear both}@keyframes page-enter-fade{0%{opacity:0}}}@keyframes reveal-root{to{visibility:visible}}html.route-pending #root{visibility:hidden;animation:reveal-root 0s 1.5s forwards}.page-head{display:grid;gap:var(--s-3);padding-top:clamp(var(--s-7),7vw,var(--s-9))}.page-head h1{font-size:var(--fs-h1)}.page-head p{max-width:34rem;font-size:var(--fs-lead);line-height:1.5;color:var(--ink-2)}.swatch{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--cat, var(--ink-3))}.notfound{display:grid;justify-items:start;gap:var(--s-4);padding-top:var(--s-9);padding-bottom:var(--s-6)}.notfound img{width:72px;margin-bottom:var(--s-2);transform:rotate(-8deg);opacity:.9}.notfound h1{font-size:var(--fs-h1)}.notfound__text{max-width:36rem;font-size:var(--fs-lead);line-height:1.55;color:var(--ink-2)}.notfound__links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5);margin-top:var(--s-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid var(--line-2);border-radius:var(--radius-s);font-size:.9375rem;font-weight:500;color:var(--ink);text-decoration:none;text-align:left;transition:background-color var(--dur-1) var(--ease-std),border-color var(--dur-1) var(--ease-std),color var(--dur-1) var(--ease-std)}.btn:hover{border-color:var(--line-3);background:#f0e8d80d}.btn .icon{flex:none;transition:transform var(--dur-2) var(--ease-out)}.btn:hover .icon{transform:translate(1px,-1px)}.btn--primary{background:var(--gold);border-color:var(--gold);color:var(--night-1);font-weight:600}.btn--primary:hover{background:var(--gold-hi);border-color:var(--gold-hi)}.btn[data-state=done]{background:transparent;border-color:var(--line-2);color:var(--ink-2);font-weight:500}.arrow-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--ink-2);text-decoration:none}.arrow-link:hover{color:var(--ink)}.arrow-link .icon{transition:transform var(--dur-2) var(--ease-out)}.arrow-link:hover .icon{transform:translate(3px)}.tag{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--gold);white-space:nowrap}
