/* A luminous observatory, with restrained chrome around the scene. */
body{background:radial-gradient(ellipse at 20% 0,#1b143322,transparent 55%),#070b19}
.app-shell{max-width:1800px}.topbar{height:87px;border-color:#d8dcff12}.brand svg{filter:drop-shadow(0 0 9px #b190ff55)}
.heading-row{padding:26px 0 23px}.heading-row h1{font-weight:450;letter-spacing:-1.6px}.eyebrow{color:#baa3f3}.demo-label{background:#19213b66;border-color:#71618755}
.workspace{min-height:0;border:1px solid #8b83d02a;border-radius:18px;box-shadow:0 20px 80px #0003,0 0 0 1px #dfd4ff04;isolation:isolate}
.sky-panel{background:#050b1c;min-height:0}.sky-tools{padding:15px 18px;background:linear-gradient(#0c142799,transparent);z-index:7}.sky-footer{background:#080e20;border-color:#ffffff0d;color:#a8b6d1}
.sky{height:clamp(465px,calc(100dvh - 365px),640px);min-height:0;flex:none;perspective:1200px;touch-action:pan-y;isolation:isolate;cursor:grab}
.sky.dragging{cursor:grabbing}.sky>#universe{min-height:0;z-index:2;overflow:visible}.sky>.nebula,.sky>canvas,.sky>.sky-vignette{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.nebula{background:radial-gradient(ellipse at 24% 29%,#7855bd32,transparent 30%),radial-gradient(ellipse at 65% 17%,#196ca729,transparent 35%),radial-gradient(ellipse at 76% 68%,#267b7730,transparent 35%),radial-gradient(ellipse at 44% 78%,#bd695222,transparent 30%);filter:blur(16px);opacity:.85;animation:nebulaDrift 32s ease-in-out infinite alternate;transform:scale(1.16)}
.sky-vignette{background:radial-gradient(ellipse at 50% 47%,transparent 30%,#02071380 100%);z-index:1}
.constellation-aura{opacity:.65;transition:opacity .7s}.constellation-line{stroke-opacity:.54;stroke-width:1;filter:drop-shadow(0 0 3px currentColor)}
.orbit-path{stroke-width:.6;stroke-opacity:.25;transition:opacity .6s}.second-orbit{stroke-opacity:.12;stroke-dasharray:2 6}.star-node{transition:opacity .6s;transform-origin:0 0;will-change:transform}
.star-dot{stroke:#fff9;stroke-width:.75;filter:drop-shadow(0 0 4px #ffffffb3)}.star-light{opacity:.9}.star-spike{stroke-width:.6;opacity:.36}.star-hit{cursor:pointer}
.star-node:hover .star-light,.star-node:focus .star-light{opacity:1;filter:blur(3px)}.star-node:hover .star-spike,.star-node:focus .star-spike{opacity:1}.star-node:hover .star-ring,.star-node:focus .star-ring{stroke-width:1;opacity:1}
.theme-label .label-box{fill:#111a2dba;stroke:#c0b9ff25;stroke-width:1}.theme-label .theme-name{font-size:17px!important;font-weight:550;fill:#edf0ff}.theme-label .theme-count{font-size:12px!important;fill:#a3b3d1}
.theme-label:hover .label-box,.theme-label:focus .label-box{stroke:#c4b5fd;fill:#1d2440}.theme-label{transition:opacity .5s;transform-origin:0 0}
.background-star{animation:none}.scene-scattered .orbit-path{opacity:0}.question-open .constellation{opacity:.15!important}.question-open .star-node:not(.selected){opacity:.08!important}.question-open .theme-label{opacity:0!important;pointer-events:none}
.question-open #universe{pointer-events:none}.question-open .star-node.selected{opacity:1}.focused .orbit-path{stroke-opacity:.38}
.scene-hint{position:absolute;z-index:3;top:5px;left:18px;right:18px;display:flex;align-items:center;justify-content:center;gap:12px;color:#9babca;font-size:12px;pointer-events:none}
.scene-hint>.quiet{pointer-events:auto;padding:0;width:30px;min-height:30px;font-size:23px;color:#aabbd9;background:#111e3466;border-radius:50%}.space-badge{font-size:10px;letter-spacing:1.5px;display:flex;align-items:center;gap:6px;color:#bdcdf1}
.space-badge i{width:4px;height:4px;background:#8fe4d7;border-radius:50%;box-shadow:0 0 7px #8fe4d7}.details{background:linear-gradient(150deg,#141c32e6,#0e1629);border-color:#b5a6ed20;max-height:calc(clamp(465px,100dvh - 365px,640px) + 114px)}
.details h2{font-weight:450;font-size:28px}.theme-option{border-color:#a3b0dd0e}.reveal-button{background:linear-gradient(120deg,#522c384a,#261c314a);border-color:#e5997f66;border-radius:10px}.view-switch{border-color:#77809e30;background:#0c162a77}
.view-switch button[aria-pressed=true]{background:#a394dc25}.sky-control .icon-button{border-color:#68789433;background:#0e1a2d77}.star-tip{background:#131f36f5;border-color:#9386c366;backdrop-filter:blur(12px)}

/* The camera arrives at a star, then the evidence lands in three planes. */
.immersive-question{grid-template-columns:minmax(0,1fr)}.immersive-question .sky{height:clamp(610px,calc(100dvh - 335px),760px);cursor:default}.immersive-question .sky-panel{min-width:0}
.question-stage{position:absolute;inset:0;z-index:5;padding:16px 28px 24px;perspective:1300px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#66719755 transparent;cursor:default;--flight-delay:480ms}
.flight-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:8}.return-universe{display:flex;align-items:center;gap:9px;padding:9px 13px;background:#15213b8c;border:1px solid #9eadd934;border-radius:30px;color:#d5dcf2;font-size:13px;min-height:42px;backdrop-filter:blur(12px)}
.return-universe:hover{border-color:#c2b3f5;background:#253452}.return-universe span{font-size:20px;line-height:1}.flight-progress{display:flex;gap:8px;align-items:center}.flight-progress>span{font-size:12px;color:#afbddb;font-variant-numeric:tabular-nums;letter-spacing:1px;margin-right:8px}.flight-progress .icon-button{border-radius:50%;width:36px;height:36px;background:#111c3277;font-size:25px}
.question-hero{margin:35px 2% 33px 32%;min-height:205px;max-width:880px;transform-origin:0 50%;animation:questionArrives 1.3s cubic-bezier(.16,1,.3,1) var(--flight-delay) both;position:relative;z-index:6}
.question-hero .theme-indicator{font-size:12px;letter-spacing:1.6px;padding:0;min-height:30px;flex-wrap:wrap;text-align:left}.question-hero .theme-indicator:hover{color:#fff}.question-hero .theme-indicator>span{font-size:17px}
.question-hero h2{font-size:clamp(28px,2.4vw,43px);line-height:1.27;font-weight:450;letter-spacing:-.9px;margin:12px 0 13px;max-width:800px;text-wrap:balance;color:#fbf8ff;text-shadow:0 2px 35px #080f28;outline:none}
.question-hero .patient-need{font-size:16px;line-height:1.5;color:#b9cae7;margin:0}.stellar-signature{position:absolute;top:calc(34% + 95px);left:18%;width:190px;text-align:center;transform:translateX(-50%);animation:signatureArrives 1.5s ease .6s both;pointer-events:none}
.stellar-signature>span{display:block;font-size:22px;letter-spacing:5px;color:#f3eaff;font-weight:400}.stellar-signature small{font-size:9px;letter-spacing:2.5px;color:#c0cbe5;display:block;margin-top:4px}
.evidence-orbit{display:grid;grid-template-columns:.95fr 1.2fr 1fr;gap:19px;align-items:start;perspective:1300px;padding:0 3px 4px}
.orbit-card{position:relative;padding:22px 22px 18px;border:1px solid #a9bdf03d;border-top-color:color-mix(in srgb,var(--focus-colour),transparent 20%);border-radius:15px;min-height:245px;box-shadow:0 18px 45px #02051277,inset 0 1px 0 #ffffff0c;background:linear-gradient(145deg,#172644e6,#0c172ce6);backdrop-filter:blur(15px);transform-style:preserve-3d;animation:panelArrives 1.35s cubic-bezier(.16,1,.3,1) calc(var(--flight-delay) + 180ms) both}
.related-card{animation-delay:calc(var(--flight-delay) + 340ms);border-top-color:#cad0ff99}.resource-card{animation-delay:calc(var(--flight-delay) + 500ms);border-top-color:#90d9c699}.orbit-card:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--focus-colour),transparent 89%),transparent 65%);pointer-events:none}
.orbit-card-kicker{color:#b8c7e5;font-size:10px;letter-spacing:1.6px;position:relative}.orbit-card h3{font-size:20px;font-weight:450;letter-spacing:-.4px;color:#f5f1ff;margin:8px 0 16px}.orbit-card p{font-size:15px;line-height:1.6;color:#c1cde1;margin:10px 0}
.flight-meta{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px}.flight-meta span{display:block;font-size:11px;color:#9faecd;margin-bottom:4px}.flight-meta strong{font-size:14px;line-height:1.4;font-weight:500;color:#ecf0ff;display:block;overflow-wrap:anywhere}
.flight-record{margin-top:20px;border-top:1px solid #a4b2e027;padding-top:12px;font-size:13px;color:#c5d2ee}.flight-record summary{cursor:pointer;min-height:26px}.flight-record p{font-size:13px}.orbit-card .orbit-footnote{font-size:11px;line-height:1.6;color:#9fafd0;margin:13px 0 0}
.orbit-card .question-row{border:0;border-bottom:1px solid #a4b2e022;border-radius:0;padding:10px 0;margin:0;background:transparent;color:#d8e3fa;font-size:14px;line-height:1.4;transition:color .2s}.orbit-card .question-row:first-of-type{padding-top:0}.orbit-card .question-row:last-child{border-bottom:0;padding-bottom:0}.orbit-card .question-row:hover{color:#fff;background:#b6a5ec12;padding-left:8px;border-radius:5px}.orbit-card .question-row small{font-size:10px;color:#9db0d3;margin-top:4px}
.orbit-card .resource{background:#7cb5c312;border:1px solid #a5d6cd3d;padding:13px 14px;border-radius:9px;font-size:16px;color:#e2f6ed;line-height:1.45;margin:0 0 10px;min-height:95px}.orbit-card .resource:hover{background:#8fcdb128;border-color:#b6dfd4}.orbit-card .resource small,.orbit-card .resource span{font-size:11px;color:#b3cbbf}.orbit-card .wide{width:100%;margin-top:10px;white-space:normal;line-height:1.4}.resource-opportunity{font-size:18px!important;line-height:1.5!important;color:#e7d2ff!important}
.focus-flare{position:absolute;z-index:3;pointer-events:none;perspective:900px;transform-style:preserve-3d;animation:flareArrives 1.6s ease both;width:1px;height:1px}
.focus-flare:before{content:'';position:absolute;width:390px;height:390px;transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--focus-colour),transparent 58%) 0%,color-mix(in srgb,var(--focus-colour),transparent 91%) 36%,transparent 68%);filter:blur(10px)}
.focus-flare span{position:absolute;left:-55px;top:-55px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 36% 30%,#fff 0%,#fff9 6%,var(--focus-colour) 22%,color-mix(in srgb,var(--focus-colour),#091329 40%) 53%,#040a1c 79%);box-shadow:inset -15px -15px 20px #0008,inset 2px 1px 5px #fff9,0 0 40px color-mix(in srgb,var(--focus-colour),transparent 42%);opacity:.78}
.focus-flare i{position:absolute;left:-142px;top:-142px;width:284px;height:284px;border:1px solid color-mix(in srgb,var(--focus-colour),transparent 30%);border-radius:50%;box-shadow:0 0 13px color-mix(in srgb,var(--focus-colour),transparent 75%);animation:haloOrbit 28s linear infinite;transform-style:preserve-3d}
.focus-flare i:nth-child(2){width:240px;height:240px;left:-120px;top:-120px;border-style:dashed;border-color:#d9e6ff55;animation:haloOrbitOther 36s linear infinite reverse}.focus-flare i:nth-child(3){width:320px;height:320px;left:-160px;top:-160px;border-color:#d9e6ff28;animation:haloOrbitOuter 42s linear infinite}
@keyframes nebulaDrift{from{transform:scale(1.16) rotate(-5deg)}to{transform:scale(1.3) rotate(5deg) translate3d(2%,-2%,0)}}
@keyframes questionArrives{0%{opacity:0;transform:translate3d(-25%,15%,-1050px) rotateY(-47deg) rotateX(8deg);filter:blur(7px)}35%{opacity:.7}100%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateX(0);filter:blur(0)}}
@keyframes panelArrives{0%{opacity:0;transform:translate3d(-55%,-32%,-1200px) rotateY(-52deg) rotateX(18deg);filter:blur(7px)}45%{opacity:.8}100%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateX(0);filter:blur(0)}}
@keyframes signatureArrives{0%,25%{opacity:0;filter:blur(4px)}100%{opacity:1;filter:blur(0)}}
@keyframes flareArrives{0%{opacity:0;scale:.2}65%{opacity:1;scale:1.1}100%{opacity:1;scale:1}}
@keyframes haloOrbit{from{transform:rotateX(68deg) rotateY(18deg) rotateZ(0)}to{transform:rotateX(68deg) rotateY(18deg) rotateZ(360deg)}}
@keyframes haloOrbitOther{from{transform:rotateX(-35deg) rotateY(55deg) rotateZ(0)}to{transform:rotateX(-35deg) rotateY(55deg) rotateZ(360deg)}}
@keyframes haloOrbitOuter{from{transform:rotateX(12deg) rotateY(-25deg) rotateZ(0)}to{transform:rotateX(12deg) rotateY(-25deg) rotateZ(360deg)}}
.paused .nebula,.paused .focus-flare i{animation-play-state:paused}.paused .question-hero,.paused .orbit-card,.paused .stellar-signature,.paused .focus-flare,.reduced-motion .question-hero,.reduced-motion .orbit-card,.reduced-motion .stellar-signature,.reduced-motion .focus-flare{animation:none;filter:none;opacity:1}
.paused .focus-flare i:first-child,.reduced-motion .focus-flare i:first-child{transform:rotateX(68deg) rotateY(18deg)}.paused .focus-flare i:nth-child(2),.reduced-motion .focus-flare i:nth-child(2){transform:rotateX(-35deg) rotateY(55deg)}
.paused .focus-flare i:nth-child(3),.reduced-motion .focus-flare i:nth-child(3){transform:rotateX(12deg) rotateY(-25deg)}
.presenting .sky{height:clamp(385px,calc(100dvh - 415px),610px);min-height:0}.presenting .sky>#universe{min-height:0}.presenting .immersive-question .sky{height:clamp(610px,calc(100dvh - 340px),760px)}.presenting .details{max-height:calc(clamp(385px,100dvh - 415px,610px) + 114px)}
body:fullscreen .workspace{height:auto;min-height:0}body:fullscreen .sky{height:clamp(380px,calc(100dvh - 305px),900px)}body:fullscreen .immersive-question .sky{height:clamp(610px,calc(100dvh - 305px),900px)}body:fullscreen .presenting .sky{height:clamp(380px,calc(100dvh - 440px),850px)}
@media(min-width:1500px){.workspace{min-height:0}.details{padding:30px}.question-hero{margin-top:42px;min-height:230px}.orbit-card{min-height:270px}.orbit-card .question-row{font-size:16px}.orbit-card .question-row small,.orbit-card .orbit-footnote{font-size:12px}.orbit-card-kicker{font-size:11px}.flight-meta strong{font-size:16px}}
@media(max-width:1150px){.workspace{min-height:0}.question-stage{padding:15px 20px 22px}.question-hero{margin-left:31%;margin-top:35px;min-height:210px}.question-hero h2{font-size:31px}.evidence-orbit{gap:13px;grid-template-columns:1fr 1.1fr 1fr}.orbit-card{padding:19px 17px;min-height:265px}.orbit-card h3{font-size:19px}.orbit-card-kicker{letter-spacing:1px;font-size:9px}.stellar-signature{left:17%}}
@media(max-width:850px){.sky{height:540px;min-height:0}.details{max-height:none}.details h2{font-size:27px}.immersive-question .sky{height:700px}.question-stage{padding:15px 18px 24px}.question-hero{margin:38px 0 35px 31%;min-height:215px}.question-hero h2{font-size:29px}.evidence-orbit{grid-template-columns:1fr 1fr;gap:14px}.resource-card{grid-column:1/-1;min-height:0}.resource-card .resource{min-height:0}.orbit-card{min-height:0}.flight-meta strong{font-size:14px}.orbit-card-kicker{font-size:10px}.focus-flare span{width:90px;height:90px;left:-45px;top:-45px}.focus-flare i{width:235px;height:235px;left:-117px;top:-117px}.focus-flare i:nth-child(2){width:200px;height:200px;left:-100px;top:-100px}.focus-flare i:nth-child(3){width:260px;height:260px;left:-130px;top:-130px}.stellar-signature{top:calc(34% + 80px);font-size:12px}.scene-hint{font-size:11px}.space-badge{font-size:9px}.presenting .immersive-question .sky{height:700px}.presenting .details{max-height:none}}
@media(max-width:600px){.sky{height:600px}.scene-hint{gap:7px;left:8px;right:8px}.space-badge{display:none}.theme-label .theme-name{font-size:15px!important}.theme-label .theme-count{font-size:11px!important}.theme-label .label-box{width:144px;x:-72px}.immersive-question .sky,.presenting .immersive-question .sky{height:690px}.question-stage{padding:14px 16px 22px}.flight-nav{gap:10px}.return-universe{font-size:12px;padding:7px 10px;gap:5px}.flight-progress{gap:5px}.flight-progress>span{font-size:10px;margin-right:0}.flight-progress .icon-button{width:30px;height:30px;font-size:22px}.question-hero{margin:190px 0 25px;min-height:0}.question-hero h2{font-size:26px;letter-spacing:-.6px;margin-top:10px}.question-hero .theme-indicator{font-size:10px;letter-spacing:1px}.question-hero .patient-need{font-size:14px}.evidence-orbit{grid-template-columns:1fr;gap:15px}.resource-card{grid-column:auto}.orbit-card{padding:20px}.orbit-card h3{font-size:21px}.orbit-card .question-row{font-size:15px}.orbit-card .question-row small,.orbit-card .orbit-footnote{font-size:12px}.orbit-card-kicker{font-size:10px}.stellar-signature{left:50%;top:205px;width:150px}.stellar-signature>span{font-size:17px}.stellar-signature small{font-size:8px}.focus-flare{margin-left:32%;margin-top:-60px}.focus-flare span{width:70px;height:70px;left:-35px;top:-35px}.focus-flare i{width:175px;height:175px;left:-87px;top:-87px}.focus-flare i:nth-child(2){width:145px;height:145px;left:-72px;top:-72px}.focus-flare i:nth-child(3){width:195px;height:195px;left:-97px;top:-97px}.focus-flare:before{width:260px;height:260px}.question-hero{animation-name:mobileQuestionArrives}.scene-hint{bottom:8px}.presenting .sky{height:560px}.presenting .sky>#universe{min-height:0}}
@keyframes mobileQuestionArrives{0%{opacity:0;transform:translate3d(0,-12%,-600px) rotateX(25deg);filter:blur(5px)}100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.nebula{animation:none}.focus-flare i{animation:none}.star-node,.theme-label{transition:none}}
