html{height:auto;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{height:auto;overflow:visible;background:#000;color:#eee;font-family:"Cascadia Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace}#levels{position:relative;z-index:2}.level{height:100vh;height:100svh;position:relative;scroll-snap-align:start;scroll-snap-stop:normal}.topic{display:flex;flex-direction:column;justify-content:center;padding:90px clamp(24px,8vw,150px);padding-right:100px}.topic h1,.topic h2{font-size:clamp(30px,4vw,60px);font-weight:400;line-height:1.22;letter-spacing:-.045em;margin:0;max-width:950px;text-shadow:0 2px 24px #000}.writing-body:empty{display:none}.writing-body{max-width:650px;line-height:1.8;margin-top:40px}#topic-stage,#topic-shade{position:fixed;inset:0;pointer-events:none;width:100%;height:100%;opacity:1;transition:opacity 350ms ease}#topic-stage{z-index:0;background:#000}#topic-shade{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.03) 80%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 25%)}body[data-level="home"] #topic-stage,body[data-level="home"] #topic-shade{opacity:0}body:not([data-level="home"]) #stage{opacity:0!important}body:not([data-level="home"]) #menu,body:not([data-level="home"]) #resume-drawer{opacity:0!important;visibility:hidden;pointer-events:none!important}#elevator{position:fixed;z-index:6;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px}#elevator button,#motion{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;background:none;color:#ddd;cursor:pointer;transition:opacity 150ms}#elevator button:disabled{opacity:.15;cursor:default}#elevator button:hover:not(:disabled),#motion:hover{color:#fff}#elevator svg,#motion svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 4px #000)}#motion{position:fixed;z-index:6;left:calc(clamp(24px,8vw,150px) - 10px);bottom:20px;opacity:.55}button:focus-visible,a:focus-visible{outline:1px solid #ddd;outline-offset:3px}#media-status{position:fixed;z-index:5;bottom:65px;left:8vw;font-size:11px;color:#aaa}@media(max-width:600px){#elevator{right:4px;gap:10px}.topic{justify-content:flex-end;padding:80px 58px 22svh 24px}.topic h1,.topic h2{font-size:clamp(25px,6.6vw,38px);line-height:1.25}#topic-shade{background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.44) 32%,transparent 62%)}#motion{left:14px;bottom:max(16px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#topic-stage,#topic-shade{transition:none}}

/* Each subject has a visual stop followed by a reading stop. */
#topic-stage{opacity:.76;transition:opacity .55s ease}#topic-shade{background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 80%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 40%)}
body[data-reading="true"] #topic-stage{opacity:.24}
.topic h1,.topic h2{font-size:clamp(24px,2.7vw,40px);letter-spacing:-.035em}
.reading-content{width:100%;max-width:650px;opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.reading.is-active .reading-content{opacity:1;transform:translateY(0)}
.writing-body{font-size:15px;line-height:1.85;margin-top:28px;color:#dedede}.writing-body p{margin:0 0 20px}
@media(max-width:600px){.topic{justify-content:center;padding:64px 52px 64px 32px}.topic h1,.topic h2{font-size:17px;line-height:1.2;letter-spacing:-.025em}.writing-body{font-size:13px;line-height:1.8;margin-top:24px;max-width:330px}#topic-shade{background:linear-gradient(0deg,rgba(0,0,0,.32),transparent 65%)}#motion{left:22px}#topic-stage{opacity:.7}}
@media(prefers-reduced-motion:reduce){.reading-content,#topic-stage{transition:none;transform:none}}

/* Scroll distance drives a masked rise; no visible page slides underneath it. */
#levels>.topic{visibility:hidden;pointer-events:none}
#topic-copy{position:fixed;inset:0;z-index:3;pointer-events:none}
#topic-copy .reading-content{position:absolute;left:clamp(24px,8vw,150px);right:100px;top:28svh;width:auto;max-width:650px;opacity:0;visibility:hidden;transform:none;transition:none;pointer-events:none;contain:layout style}
#topic-copy .reading-content.is-current{opacity:1;visibility:visible;pointer-events:auto}
#topic-copy h1,#topic-copy h2{font-size:clamp(24px,2.7vw,40px);font-weight:400;line-height:1.22;letter-spacing:-.035em;margin:0;text-shadow:0 2px 24px #000}
.writing-mask{overflow:hidden;margin-top:28px;height:calc(72svh - 140px);max-height:none;contain:paint}
#topic-copy .writing-body{margin:0;transform:translate3d(0,var(--body-offset,0px),0);opacity:1;will-change:transform;backface-visibility:hidden}
#topic-stage{transition:none}
@media(max-width:600px){#topic-copy .reading-content{left:32px;right:52px;top:25svh}#topic-copy h1,#topic-copy h2{font-size:17px;line-height:1.2;letter-spacing:-.025em}.writing-mask{margin-top:24px;height:calc(75svh - 105px);max-height:none}}
@media(max-height:650px){#topic-copy .reading-content{top:14svh}.writing-mask{height:calc(86svh - 100px)}}
@media(prefers-reduced-motion:reduce){#topic-copy .reading-content{transition:none}#topic-copy .writing-body{transform:translate3d(0,var(--body-offset,0px),0)}}
