/* IntersectionObserver on right-pane sections to trigger left-pane illustration transitions. When a new section scrolls into 40% visibility IntersectionObserver to detect entry. On enter: */
:root{--obsidian:#1a1a1e;--primary:#1e1e24;--gunmetal:#2a2a30;--graphite:#3a3a42;--chrome:#d4d6dc;--silver:#8a8c94;--amber:#c9a84c;--violet:#7b6b9e;--steel:#6a8fa8;--etched:rgba(180,185,195,.18);--flare:rgba(212,214,220,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow:hidden;background:var(--obsidian);color:var(--chrome);font-family:"Libre Baskerville",Georgia,serif}.observatory-shell{display:grid;grid-template-columns:45fr 24px 55fr;width:100vw;height:100vh;background:var(--obsidian)}
.plate-pane{position:sticky;top:0;height:100vh;overflow:hidden;background:radial-gradient(circle at 28% 24%,rgba(106,143,168,.13),transparent 33%),radial-gradient(circle at 70% 72%,rgba(123,107,158,.12),transparent 32%),linear-gradient(145deg,#1a1a1e,#111114 68%,#202026)}.chrome-grain{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(115deg,transparent 0 42%,rgba(212,214,220,.07) 50%,transparent 58% 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px);mix-blend-mode:screen}.plate-pane:before,.plate-pane:after{content:"";position:absolute;inset:22px;border:1px solid var(--etched);box-shadow:0 0 60px var(--flare),inset 0 0 80px rgba(0,0,0,.38)}.plate-pane:after{inset:44px;border-color:rgba(106,143,168,.11)}
.schematic-stage{position:absolute;inset:0;display:grid;place-items:center}.schematic{position:absolute;width:min(78%,560px);max-height:78vh;opacity:0;filter:drop-shadow(0 0 18px rgba(106,143,168,.14));transition:opacity .8s ease,transform 1.4s cubic-bezier(.2,.8,.2,1)}.schematic.active{opacity:1}.schematic path,.schematic circle,.schematic ellipse,.schematic line{fill:none;stroke:var(--steel);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.schematic .amber path,.schematic .amber circle{stroke:var(--amber);opacity:.7}.schematic .frost path,.schematic .frost circle,.schematic .frost ellipse{stroke:var(--steel)}.hud-text text{font-family:"Share Tech Mono",monospace;font-size:13px;fill:var(--amber);opacity:.58;letter-spacing:.08em}.rivets circle{fill:var(--amber);stroke:none;opacity:.75}.draw-ready{stroke-dasharray:var(--dash);stroke-dashoffset:var(--dash)}.drawing{transition:stroke-dashoffset 2.5s cubic-bezier(.4,0,.2,1)}
.plate-cartouche{position:absolute;z-index:4;left:50%;bottom:3rem;transform:translateX(-50%);padding:.7rem 1rem;border:1px solid var(--etched);background:rgba(30,30,36,.64);box-shadow:inset 0 0 20px rgba(212,214,220,.04);text-align:center}.plate-cartouche span,.plate-cartouche small{display:block;font-family:"Share Tech Mono",monospace;color:var(--amber);letter-spacing:.28em;font-size:.75rem;white-space:nowrap}.plate-cartouche small{margin-top:.35rem;color:var(--silver);font-size:.58rem}.data-ribbon{position:absolute;z-index:5;left:0;right:0;bottom:0;height:34px;overflow:hidden;border-top:1px solid var(--etched);background:rgba(26,26,30,.72)}.data-ribbon span{display:inline-block;white-space:nowrap;padding-left:100%;font-family:"Share Tech Mono",monospace;font-size:.74rem;line-height:34px;color:var(--amber);opacity:.4;animation:ribbon 34s linear infinite}@keyframes ribbon{to{transform:translateX(-100%)}}
.ornament-seam{position:relative;background:linear-gradient(90deg,transparent,rgba(212,214,220,.1),transparent);opacity:.55;transition:width .3s ease,opacity .3s ease;animation:breath 6s ease-in-out infinite}.ornament-seam:hover{opacity:.85}.ornament-seam svg{width:100%;height:100%}.ornament-seam path{fill:none;stroke:var(--steel);stroke-width:1;vector-effect:non-scaling-stroke}.ornament-seam path+path{stroke:var(--violet)}@keyframes breath{50%{opacity:.3}}
.ledger-pane{height:100vh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y proximity;background:linear-gradient(160deg,var(--gunmetal),var(--primary) 76%);box-shadow:inset 30px 0 80px rgba(0,0,0,.26)}.ledger-pane::-webkit-scrollbar{width:6px}.ledger-pane::-webkit-scrollbar-thumb{background:var(--graphite)}.entry{position:relative;min-height:100vh;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5.5rem);border-bottom:1px solid var(--etched)}.entry:before{content:"";position:absolute;inset:clamp(1rem,3vw,2.2rem);border:1px solid var(--etched);background:linear-gradient(135deg,rgba(212,214,220,.035),rgba(0,0,0,.08));box-shadow:0 0 44px rgba(0,0,0,.16);pointer-events:none}.entry-content{position:relative;z-index:2;max-width:760px;opacity:0;transform:translateY(24px);transition:opacity .6s ease .2s,transform .6s ease .2s}.entry.in-view .entry-content{opacity:1;transform:translateY(0)}.hero-entry h1{font-family:"Bebas Neue",Impact,sans-serif;font-size:clamp(4rem,10vw,9rem);font-weight:400;line-height:.86;letter-spacing:.15em;margin:.1em 0;color:var(--chrome);text-shadow:0 0 38px var(--flare)}.hero-entry h1 span{color:var(--amber)}h2{font-family:"Bebas Neue",Impact,sans-serif;font-size:clamp(1.6rem,4vw,3rem);font-weight:400;letter-spacing:.15em;margin:.15em 0 .55em;color:var(--chrome)}p{font-size:clamp(.95rem,1.8vw,1.15rem);line-height:1.75;color:var(--chrome);max-width:66ch}.deck{font-size:clamp(1.05rem,2.2vw,1.42rem);color:var(--silver)}em{color:var(--steel)}.mono{font-family:"Share Tech Mono",monospace;font-size:clamp(.7rem,1.2vw,.85rem);letter-spacing:.18em;color:var(--amber);text-transform:uppercase;margin-bottom:1.2rem}.corner{position:absolute;z-index:3;width:16px;height:16px;opacity:0;transform:scale(0);transition:transform .3s ease,opacity .3s ease}.corner:before,.corner:after{content:"";position:absolute;background:var(--steel);box-shadow:0 0 12px rgba(106,143,168,.35)}.corner:before{width:16px;height:1px}.corner:after{width:1px;height:16px}.tl{top:clamp(1rem,3vw,2.2rem);left:clamp(1rem,3vw,2.2rem)}.tr{top:clamp(1rem,3vw,2.2rem);right:clamp(1rem,3vw,2.2rem);transform-origin:top right}.bl{bottom:clamp(1rem,3vw,2.2rem);left:clamp(1rem,3vw,2.2rem);transform-origin:bottom left}.br{bottom:clamp(1rem,3vw,2.2rem);right:clamp(1rem,3vw,2.2rem);transform-origin:bottom right}.tr:before,.br:before{right:0}.tr:after,.br:after{right:0}.bl:before,.br:before{bottom:0}.bl:after,.br:after{bottom:0}.entry.in-view .corner{opacity:1;transform:scale(1)}.entry.in-view .tr{transition-delay:.05s}.entry.in-view .bl{transition-delay:.1s}.entry.in-view .br{transition-delay:.15s}
.divider{position:relative;z-index:2;width:min(420px,70%);height:48px;margin-top:2.2rem;overflow:visible}.divider path,.divider circle{fill:none;stroke:var(--amber);stroke-width:1;opacity:.62;stroke-linecap:round}.divider.draw-ready path,.divider.draw-ready circle{stroke-dasharray:var(--dash);stroke-dashoffset:var(--dash)}.entry.in-view .divider path,.entry.in-view .divider circle{transition:stroke-dashoffset 1.2s ease .45s;stroke-dashoffset:0}.progress-gauge{position:fixed;right:2rem;bottom:2rem;z-index:20;width:52px;height:52px;display:grid;place-items:center;background:rgba(26,26,30,.58);border-radius:50%;box-shadow:0 0 24px rgba(0,0,0,.25)}.progress-gauge svg{position:absolute;inset:0;transform:rotate(-90deg)}.gauge-bg,.gauge-ring{fill:none;stroke-width:2}.gauge-bg{stroke:var(--etched)}.gauge-ring{stroke:var(--amber);stroke-dasharray:138.23;stroke-dashoffset:138.23}.progress-gauge line{stroke:var(--steel);stroke-width:1.2;transform-origin:26px 26px}.progress-gauge span{font-family:"Share Tech Mono",monospace;font-size:11px;color:var(--amber)}
@media (max-width:768px){body{overflow:auto}.observatory-shell{display:block;height:auto}.plate-pane{position:fixed;inset:0;width:100%;opacity:.2;z-index:0;pointer-events:none}.ornament-seam{display:none}.ledger-pane{position:relative;z-index:1;height:auto;min-height:100vh;background:rgba(30,30,36,.82);overflow:visible}.entry{padding:5rem 1.35rem}.entry:before{inset:1rem}.corner{width:10px;height:10px}.corner:before{width:10px}.corner:after{height:10px}.data-ribbon{top:0;bottom:auto}.progress-gauge{right:1rem;bottom:1rem}}
