body{padding-top:48px}.site-header{top:48px}.reading-progress{display:none}html{scroll-padding-top:170px}.scroll-ruler{position:fixed;inset:0 0 auto;height:48px;z-index:120;display:flex;align-items:center;gap:22px;padding:0 max(22px,calc((100vw - 1240px)/2));background:color-mix(in srgb,var(--paper) 93%,transparent);backdrop-filter:blur(22px);border-bottom:1px solid var(--line);--progress:0%}.ruler-label,.ruler-readout{font:10px ui-monospace,SFMono-Regular,monospace;letter-spacing:.13em;color:var(--subtle)}.ruler-readout{width:44px;text-align:right;color:var(--rose);font-variant-numeric:tabular-nums;flex-shrink:0}.ruler-control{position:relative;height:38px;flex:1;min-width:0}.ruler-ticks{position:absolute;inset:4px 0 0}.ruler-tick{position:absolute;left:calc(var(--tick)*1%);top:0;height:8px;width:1px;background:var(--ink);opacity:.25}.ruler-tick.major{height:15px;opacity:.5}.ruler-tick span{position:absolute;top:19px;left:0;transform:translateX(-50%);font:8px ui-monospace,monospace;font-style:normal}.ruler-fill{position:absolute;bottom:1px;left:0;height:2px;width:var(--progress);background:var(--rose);opacity:.4}.ruler-needle{position:absolute;left:var(--progress);top:0;height:22px;width:2px;background:var(--rose);transform:translateX(-50%);box-shadow:0 0 12px #0071e344}.ruler-needle:before{content:'';position:absolute;left:-3px;top:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--rose)}.ruler-input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.ruler-control:focus-within{outline:2px solid var(--rose);outline-offset:4px;border-radius:4px}.lens-orbits{position:absolute;width:clamp(380px,65vw,900px);aspect-ratio:1;left:50%;top:48%;translate:-50% -50%;pointer-events:none;opacity:.35}.lens-orbits i{position:absolute;inset:0;border:1px dashed #0071e335;border-radius:50%;animation:lens-turn 75s linear infinite}.lens-orbits i:nth-child(2){inset:8%;border-style:solid;border-color:#0071e310;animation-direction:reverse}.lens-orbits i:nth-child(3){inset:17%;border:1px solid transparent;border-top-color:#0071e360;border-bottom-color:#0071e330;animation-duration:30s}.project-cover-art{position:relative;scale:var(--scroll-scale,1);translate:0 var(--scroll-lift,0px)}.project-cover-art:before,.project-cover-art:after{content:'';position:absolute;width:24px;height:24px;z-index:4;pointer-events:none;opacity:var(--focus-opacity,.2);border-color:var(--rose);border-style:solid}.project-cover-art:before{left:-12px;top:-12px;border-width:1px 0 0 1px}.project-cover-art:after{right:-12px;bottom:-12px;border-width:0 1px 1px 0}.about-panel{translate:0 var(--panel-lift,0px)}.project-cover-inner{padding-top:155px}.hero.cover-section{min-height:calc(100svh - 129px)}.motion-paused .project-cover-art,.motion-paused .about-panel{scale:1!important;translate:none!important}
@keyframes lens-turn{to{rotate:360deg}}
@media(max-width:600px){.scroll-ruler{gap:13px;padding-inline:17px}.ruler-label{font-size:9px;letter-spacing:.06em}.ruler-tick.minor:nth-child(even){display:none}.project-cover-inner{padding-top:170px}.project-cover-art:before,.project-cover-art:after{width:15px;height:15px}.lens-orbits{opacity:.22}.project-cover{overflow:auto}}
@media(prefers-reduced-motion:reduce){.lens-orbits i{animation:none!important}.project-cover-art,.about-panel{translate:none!important;scale:1!important}}
/* Compact fixed ruler; navigation scrolls naturally with the document. */
body{padding-top:30px}
.site-header{position:relative;top:auto}
.scroll-ruler{height:30px}
.ruler-control{height:26px}
.ruler-ticks{top:3px}
.ruler-tick{height:5px}
.ruler-tick.major{height:9px}
.ruler-tick span{top:11px;font-size:7px}
.ruler-needle{height:16px;top:1px}
.ruler-label,.ruler-readout{font-size:9px}
html{scroll-padding-top:42px}
.hero.cover-section{min-height:calc(100svh - 111px)}
