:root{color-scheme:dark;--ink:#edf2f1;--muted:#adbacb;--gold:#e6bf7d;--line:#ffffff25;--accent:#e6bf7d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:#080f1d;color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#101a2bd9;padding:.7rem 1rem;border-radius:5px}button:hover{background:#26334b;border-color:var(--gold)}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.35;cursor:default}a{color:var(--gold)}[hidden]{display:none!important}#experience{height:100svh;min-height:760px;position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}#world,.shade,#labels{position:absolute;inset:0}#world canvas{width:100%;height:100%;display:block}.shade{pointer-events:none;background:linear-gradient(90deg,#070d19e8 0%,#070d1995 30%,transparent 65%),linear-gradient(0deg,#070d19 0%,transparent 24%,transparent 83%,#070d1980)}header,footer{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 3.4rem}header{grid-row:1}.brand{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--ink);font-size:.83rem;letter-spacing:.16em}.brand-mark{font-size:2.3rem;color:var(--gold)}.brand small{display:block;font-size:.65rem;color:var(--muted);letter-spacing:.12em;margin-top:.4rem}.tools{display:flex;gap:.45rem}.tools button{font-size:.8rem;background:#0a13247a}#narrative{position:relative;z-index:2;align-self:center;grid-row:2;margin:0 0 3rem 6vw;width:min(38vw,540px);pointer-events:none}#narrative button,#narrative a{pointer-events:auto}.eyebrow{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 1.2rem}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.06;letter-spacing:-.04em;margin:0 0 1.3rem}h1{font-size:clamp(3.4rem,5.6vw,6.6rem)}h2{font-size:clamp(2.8rem,4.2vw,4.5rem)}h1 em,h2 em{font-weight:400;color:var(--accent)}.intro{font-size:1.08rem;line-height:1.7;color:#c2cedb;max-width:440px}.caption{font-size:.8rem;color:var(--muted);line-height:1.6}.text-action{background:none;border:0;border-bottom:1px solid var(--accent);padding:.45rem 0;color:var(--accent);margin-top:.6rem;border-radius:0}.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin-top:1.7rem}.legend b{font-weight:400;color:var(--accent)}footer{grid-row:3;border-top:1px solid var(--line);background:#080f1dcc;padding-top:1rem;padding-bottom:1rem}.progress{min-width:160px;font-size:.83rem}#counter{color:var(--gold);margin-right:1rem;font-variant-numeric:tabular-nums}#chapter{color:var(--muted)}#chapters{display:flex;gap:.45rem}#chapters button{width:25px;height:4px;min-height:20px;border:0;border-radius:0;padding:8px 0;background:linear-gradient(transparent 8px,#536075 8px,#536075 11px,transparent 11px)}#chapters button.active{background:linear-gradient(transparent 8px,var(--gold) 8px,var(--gold) 11px,transparent 11px)}.navigation{display:flex;gap:.5rem}#next{min-width:215px;background:var(--gold);color:#101725;border:0;display:flex;justify-content:space-between;gap:1rem}#labels{pointer-events:none;z-index:3}.star-label{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);background:#081223b8;border:1px solid #b8cfe32a;font-size:.76rem;max-width:185px;text-align:left;padding:.55rem .7rem;backdrop-filter:blur(8px);line-height:1.35}.star-label small{display:block;color:var(--muted);font-size:.65rem;margin-top:.2rem}.star-label.shared{border-color:var(--accent);box-shadow:0 0 26px #e6bf7d1a}.topic-label{position:absolute;transform:translate(-50%,-50%);color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;text-shadow:0 2px 10px #000}.topic-label:before{content:'✧ ';font-size:1rem}#sky-note{position:absolute;top:100px;right:3.4rem;color:#8d9bad;font-size:.63rem;letter-spacing:.13em;z-index:2}#question{position:absolute;z-index:4;bottom:150px;left:6vw;width:35vw;max-width:490px;border-left:2px solid var(--accent);padding:.3rem 0 .3rem 1.3rem;background:linear-gradient(90deg,#080f1da0,transparent)}#question p{font-family:Georgia,serif;font-size:1.2rem;line-height:1.5;margin:.4rem 0}#question small{color:var(--muted);font-size:.72rem}#journeys{position:absolute;z-index:4;bottom:95px;right:3.4rem;display:flex;gap:.4rem}#journeys button{font-size:.75rem}#journeys button.active{border-color:var(--accent);color:var(--accent)}body.journey #narrative{align-self:start;margin-top:2.5rem}body.journey h2{font-size:3.1rem}body.journey .intro{font-size:.98rem;max-width:365px}#selection{position:absolute;z-index:4;right:3.4rem;bottom:155px;width:330px;padding:1rem 1.3rem;background:#0c1728eb;border:1px solid var(--accent);border-radius:6px}#selection p{font-family:Georgia,serif;font-size:1.18rem;line-height:1.4;margin:.6rem 0}#selection .eyebrow{font-size:.65rem;margin:0}#selection button{font-size:.8rem;margin-top:.4rem}dialog{width:min(750px,92vw);max-height:88svh;overflow:auto;color:var(--ink);background:#101b2b;border:1px solid #bfa27670;border-radius:10px;padding:2.5rem;box-shadow:0 30px 150px #000c}dialog::backdrop{background:#030711b8;backdrop-filter:blur(9px)}dialog .close{position:sticky;float:right;top:0;font-size:1.4rem;padding:.1rem .6rem;z-index:1}dialog h2{font-size:2.2rem;margin-top:1rem;line-height:1.15}dialog h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-top:1.8rem}dialog p,dialog li{line-height:1.7;color:#c6d1de}dialog blockquote{font-family:Georgia,serif;font-size:1.45rem;line-height:1.5;border-left:2px solid var(--gold);padding-left:1.2rem;margin:1.4rem 0}dialog .links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}.source-id{font-size:.72rem;overflow-wrap:anywhere;color:#96a4b7}.evidence-tabs{display:flex;gap:.4rem;margin:1.4rem 0;flex-wrap:wrap}.evidence-tabs button{font-size:.8rem}.evidence-tabs button.active{color:var(--gold);border-color:var(--gold)}#architecture{position:absolute;z-index:3;right:5vw;top:24%;width:47vw;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.arch-card{padding:1.3rem;background:#101b2be8;border:1px solid var(--line);border-radius:6px}.arch-card strong{font-family:Georgia,serif;font-size:1.45rem;font-weight:400}.arch-card p{line-height:1.6;color:#b9c7d7;font-size:.9rem}.arch-card small{color:var(--gold)}.arch-card.wide{grid-column:1/-1;border-color:#e6bf7d80}.arch-flow{grid-column:1/-1;text-align:center;font-size:.85rem;color:var(--gold)}.fallback{position:absolute;top:45%;right:10%;width:30%;line-height:1.8;color:var(--muted)}@media(min-width:1500px){#narrative{width:36vw}body.journey h2{font-size:4rem}}@media(max-width:950px){header,footer{padding-left:1.4rem;padding-right:1.4rem}.brand small{max-width:210px;font-size:.6rem}#narrative{width:43vw;margin-left:4vw}#chapters{display:none}#question{left:4vw;width:42vw}#selection{right:1.4rem;width:280px}#journeys{right:1.4rem}#sky-note{right:1.4rem;font-size:.55rem}#architecture{right:3vw;width:48vw}.arch-card{padding:.8rem}}@media(max-width:650px){#experience{min-height:1200px;height:auto;grid-template-rows:90px 1040px auto}header{padding:1rem}.brand{font-size:.65rem;gap:.5rem}.brand-mark{font-size:1.7rem}.brand small{font-size:.5rem;max-width:180px}.tools #full{display:none}.tools button{padding:.5rem;font-size:.68rem}#narrative,body.journey #narrative{align-self:start;margin:1.8rem 1.4rem;width:calc(100% - 2.8rem)}h1{font-size:3.8rem}h2,body.journey h2{font-size:2.8rem}.intro{font-size:1rem;max-width:100%}.shade{background:linear-gradient(180deg,#080f1de0 0%,#080f1db0 34%,transparent 65%,#080f1d 95%)}#sky-note{top:470px;font-size:.5rem;left:1.4rem;right:auto}#question{bottom:190px;left:1.4rem;width:calc(100% - 2.8rem)}#question p{font-size:1rem}#selection{bottom:305px;right:1.4rem;width:245px;padding:.7rem}#selection p{font-size:.95rem}#journeys{bottom:125px;left:1.4rem;right:1.4rem}#journeys button{padding:.6rem .4rem;font-size:.65rem;flex:1}footer{padding:1rem;gap:.5rem;flex-wrap:wrap}.progress{font-size:.7rem;min-width:120px}.navigation{margin-left:auto}#next{min-width:150px;font-size:.75rem;padding:.75rem}.star-label{font-size:.62rem;max-width:120px;padding:.35rem}.star-label small{font-size:.55rem}.topic-label{font-size:.57rem}#architecture{top:460px;left:1.4rem;right:1.4rem;width:auto;gap:.5rem}.arch-card p{font-size:.78rem}.arch-card strong{font-size:1.2rem}.arch-flow{font-size:.72rem}dialog{padding:1.5rem}.legend{font-size:.7rem}.fallback{top:50%;right:10%;width:80%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Celestial atlas: source annotations appear only when a body is explored. */
body{background:#000}#world{transition:opacity 1.8s ease}.in-dark #world{opacity:0}.in-dark .shade{background:#000}.in-dark header{opacity:.65}.in-dark footer{background:#000;border-top-color:#ffffff14}.in-dark #narrative{width:min(68vw,960px);margin-left:10vw}.in-dark h1{font-size:clamp(3.4rem,5.7vw,6.5rem);line-height:1.08}.in-dark .intro{max-width:610px;font-size:1.15rem;color:#a6afb9}.in-dark .eyebrow{color:#84909e}.in-dark h1 em{color:#e5d5bb}.closing-line{font-family:Georgia,serif;color:#e7d5b8;font-size:1.35rem;line-height:1.45;margin-top:1.4rem}.shade{background:linear-gradient(90deg,#030810f5 0%,#030810b8 24%,#03081045 42%,transparent 62%),linear-gradient(0deg,#030810ec,transparent 25%,transparent 87%,#0308108c)}#narrative{width:min(36vw,510px)}#narrative .intro{font-size:1rem;line-height:1.65}#narrative h2{font-size:clamp(2.65rem,3.7vw,4.5rem)}#narrative .caption{font-size:.83rem;max-width:390px}#sky-note{top:110px;letter-spacing:.15em;font-size:.65rem;color:#7e94a7}.source-target{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border:0!important;border-radius:50%;padding:0;background:transparent!important;pointer-events:auto;box-shadow:none}.source-target:focus-visible{outline:1px solid #cff1ff;outline-offset:4px}.source-target:hover{box-shadow:0 0 0 1px #8ed4eb40}.constellation-name{position:absolute;transform:translate(-50%,-50%);text-align:center;max-width:230px;pointer-events:auto;background:none;border:0;padding:.3rem .6rem;color:#d9e7ee;text-shadow:0 2px 8px #000;font-family:Georgia,serif;font-size:1rem;line-height:1.25}.constellation-name span{display:block;text-transform:uppercase;font-family:system-ui,sans-serif;font-size:.6rem;letter-spacing:.22em;color:#96a8b8;margin-bottom:.4rem}.constellation-name:hover{background:#07122266;border:0}#source-hud{position:absolute;z-index:7;width:310px;max-width:calc(100% - 40px);padding:0 0 1rem 1.1rem;border-left:1px solid #9dd9e7aa;background:linear-gradient(90deg,#030b16f5,#030b16de 80%,#030b1600);box-shadow:-15px 0 35px #030b1677;backdrop-filter:blur(7px);pointer-events:auto}.hud-rule{display:flex;gap:1rem;justify-content:space-between;font-size:.6rem;letter-spacing:.15em;color:#7bc4d7;border-top:1px solid #88c9d54a;padding-top:.7rem}#source-hud h3{font-family:Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.1;margin:.7rem 0}#source-hud p{font-size:.82rem;color:#bdc9d5;margin:.4rem 0}#source-hud dl{margin:1rem 0;font-size:.74rem}#source-hud dl div{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid #8aacbe22}#source-hud dt{color:#7f95a8}#source-hud dd{margin:0;text-align:right}#source-hud button{font-size:.75rem;background:none;border:0;border-bottom:1px solid #7bc4d780;border-radius:0;padding:.3rem 0;color:#a3deeb}.source-list{display:grid;gap:.4rem;margin:1.3rem 0}.source-list button{display:flex;flex-direction:column;gap:.35rem;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:.9rem 0}.source-list strong{font-weight:400;color:#e4d2b1}.source-list span{font-size:.8rem;color:var(--muted)}.constellation-art{width:100%;height:240px;object-fit:contain;background:radial-gradient(ellipse,#122539,#08121f 70%);border:1px solid #ffffff15;border-radius:6px}.arch-card{background:#081321b0;border-width:0 0 1px;border-radius:0}.arch-card.wide{border-width:1px 0}#selection{background:linear-gradient(90deg,#07111bd9,#07111ba6);border-width:0 0 0 1px;border-radius:0}#question{background:linear-gradient(90deg,#050b15e6,transparent)}
@media(max-width:950px){#narrative{width:38vw}#narrative h2{font-size:2.75rem}.in-dark #narrative{width:80vw;margin-left:8vw}.constellation-name{font-size:.85rem;max-width:190px}.in-dark h1{font-size:4.4rem}}@media(max-width:650px){.in-dark #experience{min-height:100svh;height:auto;grid-template-rows:90px minmax(650px,1fr) auto}.in-dark #narrative,#narrative{width:calc(100% - 2.8rem);margin:2rem 1.4rem}.in-dark h1{font-size:3.1rem}.in-dark .intro{font-size:1rem}#narrative h2{font-size:2.65rem}#narrative .intro{font-size:.94rem}.closing-line{font-size:1.1rem;margin-top:1rem}.shade{background:linear-gradient(180deg,#030810f5, #030810ce 24%,transparent 49%,transparent 74%,#030810 95%)}#sky-note{top:445px;font-size:.52rem}#source-hud{width:250px}#source-hud h3{font-size:1.3rem}#source-hud dl{font-size:.7rem}#source-hud p{font-size:.73rem}#source-hud .hud-rule{font-size:.5rem}body[data-stage="1"] #narrative .closing-line{margin-bottom:.25rem}body[data-stage="1"] #narrative .caption{margin-top:.2rem}body[data-stage="1"] #narrative .text-action{margin-top:0}body[data-stage="2"] #narrative .intro{max-width:100%}.tools{gap:.3rem}#selection{bottom:300px}.constellation-art{height:190px}}@media(prefers-reduced-motion:reduce){#world{transition:none}}
.opening-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.opening-actions button{font-size:.85rem}
@media(max-width:650px){body[data-stage="1"] #sky-note,body[data-stage="2"] #sky-note{display:none}}
.in-dark h1{font-size:clamp(3.1rem,4.8vw,5.4rem);line-height:1.06}.in-dark #narrative .intro{max-width:650px}body[data-stage="2"] #experience{min-height:950px}body[data-stage="2"] #narrative .closing-line{font-size:1.12rem;margin-top:1rem}
@media(max-width:650px){.in-dark h1{font-size:2.8rem}body[data-stage="1"] #experience,body[data-stage="2"] #experience{min-height:1500px;grid-template-rows:90px 1340px auto}body[data-stage="2"] #narrative .intro{font-size:1rem;line-height:1.6}}

/* Named sections; persona journeys share one Perspectives destination. */
footer{padding-left:3vw;padding-right:3vw;gap:16px}
footer .progress{min-width:62px;flex-shrink:0}footer #chapter{display:none}footer #counter{margin:0;white-space:nowrap}
#chapters{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0}
#chapters button{width:auto;height:auto;min-height:36px;padding:8px 10px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:14px;color:#b9c8d1;white-space:nowrap}
#chapters button:hover{color:#fff;background:#ffffff0a}#chapters button.active{background:#e6bf7d12;border-bottom-color:var(--gold);color:var(--gold)}
@media(max-width:1100px){footer{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;padding:10px 18px}#chapters{grid-column:1/-1;grid-row:1;justify-content:space-between}footer .progress{grid-column:1;grid-row:2}footer .navigation{grid-column:2;grid-row:2;justify-content:flex-end}#chapters button{padding:7px 6px;font-size:14px}footer #next{min-width:0;font-size:14px}footer #back{padding:7px 12px}}
@media(max-width:540px){#chapters{flex-wrap:wrap;justify-content:center;gap:0 4px}#chapters button{flex:1 0 28%;min-height:32px;padding:6px 4px}footer{padding:7px 12px;gap:5px}footer .progress{font-size:12px}}
