:root{--bg:#070c18;--surface:#0e192b;--text:#edf5ff;--muted:#a3b6cf;--line:#283d59;--accent:#83f2e7;--paper:#101e32;--ink:#edf5ff}
body{background:#070c18;isolation:isolate}
body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 15% 5%,#173f624f,transparent 55%),radial-gradient(ellipse at 95% 50%,#472c7640,transparent 55%),linear-gradient(#070c18,#091220)}
.cosmos{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.cosmos i{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;background:#a5dfff;border-radius:50%;opacity:.3;animation:starlight var(--speed) ease-in-out infinite alternate;animation-delay:var(--delay)}
@keyframes starlight{to{opacity:.8;transform:translateY(-16px);box-shadow:0 0 9px #86dfff}}
.site-header{background:#080f1fe8;border-bottom:1px solid #568cb12e;box-shadow:0 5px 35px #0002}
.brand{color:#f5fcff}.brand b{color:#83f2e7;text-shadow:0 0 22px #83f2e7}
.home-intro{position:relative;padding-top:48px;padding-bottom:48px}.home-intro h1{background:linear-gradient(115deg,#fff 15%,#9ce9f3 65%,#afa3f6);background-clip:text;-webkit-background-clip:text;color:transparent}.home-intro .eyebrow{color:#b2d4e8}
.portrait-small,.biography-portrait img{border:1px solid #8ce8f255;box-shadow:0 0 0 5px #8ce8f208,0 20px 65px #0006}
.intro-caption{border-color:#77d8ea44}.intro-caption>span{color:#83f2e7}
.future-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px}
.future-action{border:1px solid #79d7e35e;border-radius:999px;padding:11px 18px;background:#10273b;color:#d9ffff;font-size:13px;transition:background .2s,box-shadow .2s}
.future-action:hover{background:#17425a;box-shadow:0 0 24px #77ecea25}.future-action.secondary{background:transparent;color:var(--muted)}
.life-workspace{border-color:#65cfe04f;box-shadow:0 0 0 1px #7cdfea09,0 25px 90px #0005,0 0 65px #3264aa16;border-radius:20px}
.atlas{background:linear-gradient(145deg,#101e32,#091421)}
.map-viewport{background-image:radial-gradient(circle,#6eadd624 1px,transparent 1px);background-size:24px 24px}
.map-bar,.timeline{background:#0b1628d9;border-color:#294561}
.map-controls button{border-color:#4b7489;background:#132840}.map-controls button:hover{background:#214561}
.map-path path{stroke:#76e4e2;filter:drop-shadow(0 0 5px #70e9df80);stroke-dasharray:8 9;animation:signal-flow 24s linear infinite}
@keyframes signal-flow{to{stroke-dashoffset:-340}}
.map-chapter{color:#a9cce1}.live-dot{box-shadow:0 0 15px #83f2e7}
.event-node{background:linear-gradient(130deg,#203450,#101d33);border:1px solid #6487b45e;border-radius:12px;box-shadow:0 8px 25px #0004}
.event-node:hover{background:#213c54;border-color:#83f2e7;box-shadow:0 0 25px #65eee329;transform:translateY(-6px)}
.event-node[aria-current=true]{background:linear-gradient(130deg,#a8fff0,#74cde9);border-color:#c6fff8;color:#082233;box-shadow:0 0 0 5px #83f2e716,0 0 45px #83f2e72b}
.event-node[aria-current=true] small,.event-node[aria-current=true] .node-top,.event-node[aria-current=true] .node-top span:first-child{color:#163e50}
.event-preview{background:linear-gradient(160deg,#182b45,#101b2e);color:#eef7ff;border-left:1px solid #83f2e737}.event-preview p,.preview-date{color:#c2d1e4}.preview-top,.preview-bottom{border-color:#416079}.preview-bottom button{color:#c2e6ee}.preview-bottom button:disabled{opacity:.35}
.story-button{background:linear-gradient(105deg,#8df4de,#80cce8);color:#0c2433;font-weight:700;border-radius:9px;box-shadow:0 4px 22px #68dcda15}.story-button:hover{background:#b0ffed;box-shadow:0 0 28px #83f2e733}
.content-card,.search-result{background:linear-gradient(140deg,#15253b,#0d182b);border-color:#395777;box-shadow:0 12px 30px #0002;transition:transform .2s,box-shadow .2s,border-color .2s}
.content-card:hover{border-color:#83f2e7;box-shadow:0 12px 40px #4ab7d51c;transform:translateY(-5px)}
.home-bottom{border-color:#36516c}.home-bottom>a{border:1px solid #527e985f!important;border-radius:12px;padding:22px;background:linear-gradient(130deg,#172d44,#0d1a2c);transition:border-color .2s,transform .2s}.home-bottom>a:hover{border-color:#83f2e7!important;transform:translateY(-4px)}
.prose{color:#c9d5e5}.prose h2,.prose h3{color:#eff8ff}.prose a{color:#8ee8e6}.reading-toc{border-color:#36516c}.site-footer{border-color:#36516c}
.reading-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#79f5d9,#8cadff);box-shadow:0 0 12px #83f2e7;z-index:30;pointer-events:none}
.atmosphere-paused .cosmos i,.atmosphere-paused .map-path path{animation-play-state:paused}
@media(max-width:800px){.event-preview{border-left:0;border-top:1px solid #83f2e737}.future-action{font-size:12px;padding:10px 14px}.home-intro{padding-top:30px;padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.cosmos i,.map-path path{animation:none}.content-card:hover,.event-node:hover,.home-bottom>a:hover{transform:none}}
@media print{.cosmos,.future-actions,.reading-progress{display:none}body:before{display:none}.prose,.prose h2,.prose h3{color:#111}}

/* Spatial navigation scene */
body{background-color:#040817;background-image:radial-gradient(ellipse at 85% 12%,#40227c50,transparent 43%),radial-gradient(ellipse at 5% 40%,#086b7a30,transparent 42%)}
.home-intro{overflow:hidden;isolation:isolate}.home-intro:after{content:"";position:absolute;inset:45% -20% -70%;z-index:-1;background-image:linear-gradient(#62e9ff24 1px,transparent 1px),linear-gradient(90deg,#62e9ff24 1px,transparent 1px);background-size:56px 56px;transform:perspective(420px) rotateX(58deg);mask-image:linear-gradient(transparent,#000);pointer-events:none}
.intro-caption{align-self:center;min-width:0;border:0!important}.time-portal{position:relative;width:min(100%,440px);aspect-ratio:1;margin:0 auto 24px;perspective:850px;isolation:isolate}.portal-globe{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#adfcff28,#194f8033 35%,#080a2422 65%);border:1px solid #6fe9ff70;box-shadow:inset -25px -15px 50px #5b32b73d,inset 2px 2px 20px #7cf4ff40,0 0 75px #248bb62b;transform-style:preserve-3d;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s ease-out}.portal-ring{position:absolute;inset:-7%;border:1px solid #77dfff75;border-radius:50%;transform:rotateY(var(--angle)) rotateX(25deg);box-shadow:0 0 9px #5fe7ff15}.portal-ring:nth-child(even){border-color:#bf9bff7a;transform:rotateX(var(--angle)) rotateY(35deg)}.portal-globe:before,.portal-globe:after{content:"";position:absolute;inset:-20%;border:1px dashed #ad93ff90;border-radius:50%;animation:orbit-spin 38s linear infinite}.portal-globe:after{inset:-30%;border-style:solid;border-color:transparent #6df3ff75;animation-direction:reverse;animation-duration:24s}.portal-core{position:absolute;inset:43% 0 auto;text-align:center;font-size:clamp(1.4rem,3vw,2.5rem);font-weight:700;letter-spacing:.15em;color:#deffff;text-shadow:0 0 28px #6aefff}.portal-destination{position:absolute;transform:translate(-50%,-50%);border:1px solid #8ef2ff;border-radius:8px;background:#07192deb;color:#edffff;padding:10px 14px;white-space:nowrap;font-size:1rem;box-shadow:0 0 20px #6becff35;z-index:2;cursor:pointer}.portal-destination:hover,.portal-destination:focus-visible{background:#b1f7ff;color:#071323;outline:2px solid #bdb0ff;outline-offset:4px}.life-workspace{border-radius:4px 30px 4px 30px;border:1px solid #70e8fa70;box-shadow:0 0 65px #3472c528,inset 0 1px #adfaff50}.map-bar{border-bottom:1px solid #6ddff850}.event-preview{position:relative;background:linear-gradient(150deg,#233251ee,#080e23f2)}.event-preview:before{content:"";display:block;width:80px;height:3px;background:#9ff9ff;box-shadow:0 0 18px #8aedff;margin-bottom:18px}.future-action{font-size:1rem}.cosmos i:nth-child(3n){box-shadow:0 0 12px 2px #9fcaff;transform:scale(1.4)}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
.atmosphere-paused .portal-globe:before,.atmosphere-paused .portal-globe:after{animation-play-state:paused}
@media(max-width:800px){.time-portal{max-width:320px;margin:32px auto}.portal-destination{font-size:.875rem;padding:8px 10px}.home-intro .intro-caption{display:block}.future-action{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.portal-globe:before,.portal-globe:after{animation:none}.portal-globe{transition:none}}
@media print{.time-portal,.home-intro:after{display:none}}
