:root{color-scheme:dark;--bg:#141513;--fg:#e9e7df;--muted:#999b92;--line:#353630;--orange:#ff7948}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent}button,a{color:inherit}a{text-decoration:none}button{font:inherit;cursor:pointer;background:none;border:0}a:focus-visible,button:focus-visible,summary:focus-visible,.orbit:focus-visible{outline:2px solid var(--orange);outline-offset:7px}header{position:absolute;inset:0 0 auto;z-index:2;padding:35px 44px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:18px;line-height:1.05;letter-spacing:-.6px;position:relative}.asterisk{color:var(--orange);position:absolute;font-size:34px;left:112%;top:0}nav{display:flex;gap:34px}nav a{font-size:14px;padding:12px 0}nav a span{font-size:9px;color:var(--muted);vertical-align:super;margin-left:4px}nav a:hover{color:var(--orange)}.landing{height:100svh;min-height:650px;display:flex;flex-direction:column;padding:120px 44px 28px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);display:flex;align-items:center;gap:9px}.status-dot{width:5px;height:5px;background:var(--orange);border-radius:50%}.stage{position:relative;flex:1;min-height:0;display:grid;place-items:center}.orbit{width:min(64vh,590px,78vw);aspect-ratio:1;position:relative;cursor:grab;touch-action:none;user-select:none;will-change:transform}.orbit:active{cursor:grabbing}.orbit svg{width:100%;height:100%;overflow:visible}.orbit text{font-size:35px;fill:var(--fg);font-weight:500;letter-spacing:1px}.track{stroke:var(--line);stroke-width:.8;fill:none}.satellite{fill:var(--orange)}.core{position:absolute;inset:24% 15%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.small{font-size:9px;letter-spacing:2px;color:var(--muted)}h1{font-size:clamp(30px,4.6vw,65px);font-weight:400;line-height:.98;letter-spacing:-3px;margin:22px 0}h1 span{color:var(--orange)}.core p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.cross{position:absolute;font-size:20px;font-weight:200;color:#62645b}.cross-one{left:4%;top:47%}.cross-two{right:4%;top:47%}footer{display:flex;align-items:end;justify-content:space-between;gap:20px;z-index:1}.instruction{font-size:12px;display:flex;gap:13px;align-items:center}.orange{font-size:30px;color:var(--orange)}small{display:block}.instruction small{font-size:8px;letter-spacing:1px;color:var(--muted);margin-top:7px}.controls{display:flex;gap:14px}.controls button{font-size:11px;color:var(--muted);padding:12px 4px}.controls button:hover{color:var(--fg)}.edition{font-size:9px;color:var(--muted);letter-spacing:1px;line-height:1.7;text-align:right}.skip{position:fixed;top:-80px;left:20px;z-index:10;background:var(--fg);color:var(--bg);padding:12px}.skip:focus{top:12px}dialog{margin:0 0 0 auto;max-height:100svh;height:100svh;width:min(720px,100%);max-width:100%;border:0;border-left:1px solid var(--line);background:#1c1d19;color:var(--fg);padding:34px 48px;overflow-y:auto}dialog::backdrop{background:#050603b8;backdrop-filter:blur(9px)}.panel-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:24px;font-size:10px;letter-spacing:1px}.panel-top button{font-size:12px;padding:10px}.overline{font-size:10px!important;letter-spacing:1.8px;margin-top:65px!important;color:var(--orange)!important}h2{font-size:clamp(42px,6vw,68px);font-weight:400;line-height:1;letter-spacing:-3px;margin:25px 0 35px}#panel-content p{color:#b8bab0;font-size:16px;line-height:1.65}#panel-content .lede{font-size:22px;color:var(--fg);line-height:1.5}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:34px 0}.tags span{border:1px solid #484a40;border-radius:30px;padding:9px 13px;font-size:11px}#panel-content .note{font-size:11px;color:var(--muted)}.panel-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:60px;font-size:9px;letter-spacing:1.5px;color:var(--muted)}.panel-bottom span{color:var(--orange)}details{border-top:1px solid #414339}details:last-child{border-bottom:1px solid #414339}summary{list-style:none;display:flex;gap:18px;align-items:center;cursor:pointer;padding:25px 0;font-size:23px;letter-spacing:-.5px}summary::-webkit-details-marker{display:none}.project-num{font-size:10px;color:var(--muted);align-self:flex-start;padding-top:5px}summary small{font-size:9px;letter-spacing:1px;color:var(--muted);margin-top:10px}.plus{margin-left:auto;color:var(--orange)}details[open] .plus{transform:rotate(45deg)}details p{padding:0 0 20px 32px;margin-top:0}.contact-link{display:flex;justify-content:space-between;font-size:30px;border-bottom:1px solid var(--orange);padding:30px 0;color:var(--orange)}[hidden]{display:none!important}.contact-placeholder{border-top:1px solid var(--line);padding-top:30px;margin-top:40px}.contact-placeholder small{font-size:12px;color:var(--muted);margin-top:10px}@media(max-width:600px){header{padding:25px 22px}.wordmark{font-size:15px}.asterisk{font-size:29px}nav{gap:18px}nav a{font-size:12px}nav a span{display:none}.landing{padding:112px 22px 22px;min-height:580px}.eyebrow{font-size:8px;letter-spacing:1.3px}.orbit{width:min(94vw,490px)}h1{font-size:clamp(34px,10vw,51px);letter-spacing:-2px;margin:18px 0}.core p{font-size:9px}.small{font-size:7px}.cross{display:none}footer{flex-wrap:wrap;gap:14px}.instruction{font-size:11px}.instruction small{font-size:7px}.controls{margin-left:auto;gap:8px}.controls button{font-size:10px}.edition{width:100%;font-size:7px;display:flex;justify-content:space-between;text-align:left;border-top:1px solid var(--line);padding-top:14px}.edition br{display:none}dialog{padding:24px}.overline{margin-top:45px!important}h2{letter-spacing:-2px}.panel-bottom{margin-top:40px}}@media(max-height:650px) and (min-width:601px){.landing{min-height:460px;padding-top:95px}.orbit{width:65vh}h1{font-size:38px}.core p{font-size:9px}h1{margin:14px 0}.small{font-size:7px}}

/* Keep the kinetic surface draggable in Safari as well as Chromium. */
.orbit,.orbit *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.orbit svg{pointer-events:none}
body{transition:background-color .6s,color .6s}
:root[data-palette="coral"]{--bg:#be352e;--fg:#fff5df;--muted:#ffe0cb;--line:#df7865;--orange:#fff09c}
:root[data-palette="blue"]{--bg:#244acb;--fg:#f3f1ff;--muted:#d9dfff;--line:#758bea;--orange:#c6ff86}
:root[data-palette="violet"]{--bg:#5f328b;--fg:#fff1df;--muted:#ead9f5;--line:#a278bd;--orange:#ffcc75}
.controls{flex-wrap:wrap;justify-content:center;gap:10px}
.controls button[aria-pressed="true"]{color:var(--fg)}
@media(max-width:600px){.controls{width:100%;margin:0;justify-content:space-between}.controls button{min-height:44px}.landing{min-height:640px}}
@media(prefers-reduced-motion:reduce){body{transition:none}}

.orbit{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none!important}.orbit canvas{display:block;width:100%;height:100%;pointer-events:none}.cross{display:none}.stage{margin-top:10px;margin-bottom:12px}.landing{min-height:650px}.orbit:focus-visible{outline-offset:-3px}

.landing{height:100svh;min-height:320px;padding:0;position:relative}.stage{position:absolute;inset:0;margin:0}.controls{position:relative;z-index:2;gap:16px}footer{position:absolute;bottom:16px;left:20px;right:20px;justify-content:flex-end;pointer-events:none}.controls{pointer-events:auto}.controls button{font-size:11px;color:var(--fg);opacity:.65}.controls button:hover{opacity:1}
