:root{color-scheme:dark;background:#020309;font-family:'Segoe UI',sans-serif;color:#e7eaf2}*{box-sizing:border-box}html,body,main{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{background:#020309}main{position:fixed;inset:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:2px solid #c3d7ff;outline-offset:5px}canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:none}canvas.dragging{cursor:grabbing}canvas:focus-visible{box-shadow:inset 0 0 0 1px #8db3f655}#solar{pointer-events:none;opacity:0}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#02030977,transparent 19%,transparent 68%,#020309aa)}
.topbar{position:absolute;top:34px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.topbar button{pointer-events:auto}.brand{display:flex;gap:13px;align-items:center;background:none;padding:0;text-align:left;font-size:16px;font-weight:600;letter-spacing:4px}.brand small{display:block;margin-top:5px;color:#98a3b6;font-size:8px;letter-spacing:3.1px;font-weight:400}.brand-symbol{font-size:32px;font-weight:300;color:#bfd3ff}.location{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2.3px;color:#b4bece;white-space:nowrap}.live-dot{height:4px;width:4px;background:#d0dfff;border-radius:50%;box-shadow:0 0 9px #bdd1ff}.location-index{margin-left:17px;font-size:9px;color:#758199;letter-spacing:1px}
.icon-button{width:44px;height:44px;border:1px solid #b7cae523;border-radius:50%;background:#080e1890;backdrop-filter:blur(12px);font-size:19px;transition:background .2s,border-color .2s}.icon-button:hover{background:#26354b99;border-color:#abcaff77}#about-toggle{font-family:Georgia,serif;font-style:italic;font-size:17px}.scene-caption{position:absolute;left:6.2%;bottom:14%;max-width:370px;pointer-events:none;transition:opacity .5s,transform .5s}.scene-caption button{pointer-events:auto}.eyebrow{font-size:9px;line-height:1.6;letter-spacing:2.5px;color:#a0adc3;margin:0 0 18px}h1{font-weight:300;font-size:clamp(32px,3.1vw,58px);letter-spacing:-1.8px;line-height:1.08;margin:0 0 16px;text-wrap:balance}#scene-description{font-size:13px;line-height:1.8;color:#9da9bf;max-width:290px}.journey-button{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #95aac052;background:transparent;font-size:12px;letter-spacing:.3px;padding:13px 0;transition:color .2s,border-color .2s}.journey-button:hover{color:#bdd6ff;border-color:#bdd6ff}.journey-button span{font-size:18px}.text-button{display:block;background:transparent;padding:13px 0;color:#93a5bd;font-size:11px}
.view-controls{position:absolute;right:42px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:5px}.view-controls .icon-button{background:#080e1855}.control-divider{width:1px;height:10px;background:#7f91ab33}.reset-button{margin-top:16px}.bottom-bar{position:absolute;bottom:30px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none;color:#7e8ba1;font-size:8px;letter-spacing:1.7px;line-height:1.8}.bottom-bar i{font-style:normal;padding:0 10px;color:#bcc9dc}.coordinate{color:#536079}.sun-marker{position:absolute;left:0;top:0;display:flex;align-items:center;gap:12px;background:none;white-space:nowrap;color:#bac9dd;font-size:9px;letter-spacing:1.5px;min-height:44px;padding:0;text-shadow:0 1px 12px #000}.sun-marker b{margin-left:8px;font-size:13px;font-weight:400}.marker-dot{width:8px;height:8px;background:#eff5ff;border-radius:50%;box-shadow:0 0 0 7px #b0ccff18,0 0 20px #93b8ff}.sun-marker:hover .marker-dot{box-shadow:0 0 0 12px #b0ccff18,0 0 26px #b7d0ff}
#planet-labels{position:absolute;inset:0;pointer-events:none}.planet-label{position:absolute;left:0;top:0;pointer-events:auto;background:transparent;color:#b4bfd2;font-size:10px;letter-spacing:.8px;padding:9px 12px;min-height:36px;text-shadow:0 2px 8px #000}.planet-label:hover{color:white}#planet-nav{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;max-width:calc(100% - 120px);padding:5px;border:1px solid #b2caff20;border-radius:40px;background:#080d16bb;backdrop-filter:blur(16px);overflow-x:auto;scrollbar-width:none}#planet-nav button{flex-shrink:0;background:transparent;border-radius:24px;min-height:40px;padding:10px 15px;font-size:10px;color:#939fb4;transition:background .25s,color .25s}#planet-nav button:hover{color:#fff;background:#b2caff0d}#planet-nav button[aria-pressed="true"]{background:#c7dbff14;color:#e2ebfb}body[data-scene="system"] .scene-caption,body[data-scene="planet"] .scene-caption{bottom:22%}body[data-scene="system"] .scene-caption h1{font-size:38px}body[data-scene="travel"] .scene-caption{opacity:0;transform:translateY(12px)}body[data-scene="travel"] .scene-caption button{pointer-events:none}
.about-panel{position:absolute;top:94px;right:42px;width:340px;max-height:calc(100% - 135px);overflow-y:auto;padding:27px;border:1px solid #9fbad429;border-radius:15px;background:#080e19ed;backdrop-filter:blur(24px);box-shadow:0 24px 90px #0009;z-index:4}.about-panel h2{font-size:23px;font-weight:300;letter-spacing:-.7px}.about-panel p{color:#a3afc2;font-size:12px;line-height:1.8}.about-panel .eyebrow{font-size:9px}.about-panel a{color:#c6d9f6}.about-panel .keyboard-help{font-size:10px;color:#8491a7;margin-top:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.render-error{position:fixed;left:24px;right:24px;bottom:100px;text-align:center;color:#d2d9e6;font-size:13px;line-height:1.6}[hidden]{display:none!important}
@media(max-width:800px){.topbar{top:22px;left:22px;right:22px}.brand{font-size:12px;letter-spacing:3px;gap:8px}.brand small{font-size:6px;letter-spacing:2.4px}.brand-symbol{font-size:27px}.location{top:69px;font-size:8px;letter-spacing:1.8px}.location-index{font-size:8px;margin-left:4px}.scene-caption{left:26px;bottom:14%;max-width:270px}h1{font-size:37px;letter-spacing:-1px}.eyebrow{font-size:7px;letter-spacing:1.8px;margin-bottom:12px}#scene-description{font-size:11px;max-width:230px}.view-controls{right:18px;top:auto;bottom:17%;transform:none}.icon-button{width:42px;height:42px}.reset-button{margin-top:9px}.bottom-bar{left:24px;right:24px;bottom:20px;font-size:7px;letter-spacing:1px;flex-wrap:wrap;gap:5px}.coordinate{display:none}.bottom-bar i{padding:0 4px}#planet-nav{left:16px;right:16px;bottom:66px;transform:none;max-width:none;justify-content:flex-start}#planet-nav button{padding:9px 13px}body[data-scene="system"] .scene-caption{bottom:auto;top:134px}body[data-scene="system"] .scene-caption h1{font-size:24px;margin-bottom:4px}body[data-scene="system"] #scene-description,body[data-scene="system"] .eyebrow{display:none}body[data-scene="planet"] .scene-caption{bottom:151px}body[data-scene="planet"] .scene-caption h1{font-size:32px;margin-bottom:5px}body[data-scene="planet"] #scene-description{max-width:230px;font-size:10px;line-height:1.7;margin:4px 0}body[data-scene="planet"] .eyebrow{margin-bottom:6px}.about-panel{top:80px;left:18px;right:18px;width:auto}.sun-marker{font-size:7px;letter-spacing:1px;gap:9px}.sun-marker b{display:none}#scale-note{display:block;font-size:7px;letter-spacing:.3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
/* Keep the document anchored while iOS sends dragging gestures to the scene. */
body{position:fixed;inset:0;width:100%;height:100%}
main{-webkit-user-select:none;user-select:none}
button,a{touch-action:manipulation}
.about-panel{touch-action:pan-y pinch-zoom;overscroll-behavior:none;-webkit-user-select:text;user-select:text}
#planet-nav{touch-action:pan-x;overscroll-behavior:none}
.scene-caption { transition: opacity .18s ease, transform .18s ease; }
#hyperspace{pointer-events:none;cursor:default;opacity:0}
#shield{pointer-events:none;cursor:default;opacity:0}
body[data-flight="active"] .scene-caption,body[data-flight="active"] #planet-labels,body[data-flight="active"] #planet-nav,body[data-flight="active"] .sun-marker{opacity:0;pointer-events:none}
body[data-flight="aligning"] .scene-caption{opacity:.35;pointer-events:none}
body[data-flight="aligning"] .sun-marker .marker-dot{box-shadow:0 0 0 12px #9bc9ff15,0 0 28px #aacfff}
.sun-marker{width:44px;height:44px;justify-content:center;gap:0}
.sun-marker>span:last-child{position:absolute;left:44px;top:50%;transform:translateY(-50%)}
.sun-marker[data-side="left"]>span:last-child{left:auto;right:44px}
.header-actions{display:flex;gap:8px;pointer-events:auto}
.sound-button{display:flex;align-items:center;justify-content:center}
.sound-button svg{width:19px;height:19px}
.sound-button[aria-pressed="true"]{color:#cee3ff;border-color:#a2c8ff65;background:#20334d70}
.sound-button[aria-pressed="true"] .sound-off{display:none}
.brand-coin{position:relative;width:64px;height:64px;flex:none;display:block;filter:drop-shadow(0 0 10px #60b7e015)}
.brand-coin canvas,.brand-coin img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;cursor:inherit}
.brand-coin canvas{opacity:0;touch-action:auto}
.brand-coin[data-coin-state="ready"] canvas{opacity:1}
.brand-coin[data-coin-state="ready"] img{opacity:0}
@media(max-width:800px){.brand-coin{width:48px;height:48px}.brand{gap:7px}.brand small{letter-spacing:2.1px}}

/* Studio content follows the same spatial scene, with a direct navigation path. */
:root{--accent:#c2dcff;--line:#a9c7f326;--muted:#aab6cb}
.topbar{z-index:8;top:max(24px,env(safe-area-inset-top));}
.header-actions{align-items:center}
.menu-toggle{display:flex;align-items:center;gap:11px;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:24px;background:#080e18a6;backdrop-filter:blur(16px);font-size:11px;letter-spacing:.8px;transition:background .2s,border-color .2s}
.menu-toggle:hover,.menu-toggle[aria-expanded="true"]{background:#26354b99;border-color:#abcaff77}
.menu-lines{width:15px;height:9px;border-top:1px solid #d5e2f5;border-bottom:1px solid #d5e2f5;transform:translateY(-1px)}
.menu-toggle[aria-expanded="true"] .menu-lines{transform:rotate(-20deg)}
.studio-emblem{position:absolute;left:0;top:0;z-index:2;background:none;filter:drop-shadow(0 0 18px #60b7e033)}
.world-haze{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 70% 30%,#ad2a7421,transparent 56%),radial-gradient(ellipse at 20% 75%,#7f236b18,transparent 60%);transition:opacity .65s}
body[data-theme="pink"] .world-haze{opacity:1}
body[data-theme="pink"] .live-dot{background:#ffe0ef;box-shadow:0 0 12px #ff94c3}
.studio-menu{position:absolute;z-index:10;right:42px;top:106px;width:360px;padding:25px 28px 20px;max-height:calc(100% - 140px);overflow-y:auto;overscroll-behavior:none;touch-action:pan-y;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#131c2af7,#070d17fa);box-shadow:0 28px 100px #000a;backdrop-filter:blur(24px)}
.studio-menu .eyebrow{margin-bottom:20px;font-size:8px;color:#97a9c4}
.studio-menu nav{display:flex;flex-direction:column}
.studio-menu nav button{display:flex;align-items:center;gap:15px;min-height:52px;width:100%;border-bottom:1px solid #a9c7f314;background:transparent;text-align:left;font-size:14px;font-weight:400;transition:color .2s}
.studio-menu nav button:hover{color:#c6ddff}
.studio-menu nav button>span{font-size:9px;color:#7c90ac;letter-spacing:1px}
.studio-menu nav button>b{margin-left:auto;font-weight:300;color:#87a1c3}
.menu-foot{display:flex;justify-content:space-between;gap:12px;padding-top:23px}
.menu-foot button,.menu-foot a{background:transparent;font:inherit;font-style:normal!important;font-size:10px!important;color:#a8b8d1;text-decoration:none;padding:5px 0}
.detail-panel{position:absolute;z-index:6;right:42px;top:132px;bottom:126px;width:min(400px,35vw);padding:22px 25px 26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#121c2ced,#070d17f5);backdrop-filter:blur(25px);box-shadow:0 30px 120px #0008;animation:panel-reveal .32s ease-out;display:flex;flex-direction:column;outline:none}
.detail-top{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:20px;margin-bottom:19px}
.detail-top .eyebrow{font-size:8px;letter-spacing:2px;margin:0;color:#8da4c4}
.detail-top .icon-button{height:34px;width:34px;font-size:21px}
.detail-scroll{overflow-y:auto;min-height:0;overscroll-behavior:none;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#7d9abd55 transparent;padding-right:5px;-webkit-user-select:text;user-select:text}
.detail-scroll article>.eyebrow{color:var(--accent);font-size:8px;letter-spacing:2px;margin-bottom:13px}
.detail-panel h2{font-size:clamp(25px,2.2vw,35px);font-weight:300;letter-spacing:-1.1px;line-height:1.16;margin:0 0 21px;text-wrap:balance;outline:none}
.detail-panel p,.detail-panel li{font-size:12px;line-height:1.9;color:var(--muted)}
.detail-panel .lead{font-size:14px;line-height:1.65;color:#e0e7f3;margin:0 0 18px}
.panel-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;margin-top:25px;padding:14px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--accent);font-size:12px;text-align:left;text-decoration:none;transition:color .2s}
.panel-cta:hover{color:white}.panel-cta span{font-size:18px}
.feature-list{padding-left:17px;margin:22px 0}.feature-list li{padding:5px 0}
.process-list{padding:0;list-style:none;margin:25px 0}.process-list li{display:flex;gap:15px;padding:17px 0;border-top:1px solid #a9c7f315}
.process-list li>span{color:#8198b9;font-size:9px;padding-top:4px;letter-spacing:1px}
.process-list h3{font-size:15px;line-height:1.4;font-weight:500;margin:0 0 6px;color:#e2eafa}
.process-list p{margin:0;font-size:12px}
.project-card{display:flex;align-items:center;gap:22px;width:100%;text-align:left;min-height:160px;margin:25px 0;border:1px solid #f4b3d225;border-radius:18px;background:radial-gradient(ellipse at 12% 45%,#d33f9926,transparent 70%),#20112448;padding:25px 20px;transition:border-color .2s,background .2s}
.project-card:hover{border-color:#f4b3d270;background-color:#31192f88}
.project-orb{width:65px;height:65px;flex-shrink:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff6fa,#f7a4ca 36%,#ac426e 60%,#24112b 86%);box-shadow:0 0 28px #ff8fc221,inset -9px -5px 20px #15092166}
.project-card small,.project-card strong,.project-card em{display:block}.project-card small{font-size:7px;letter-spacing:1.4px;color:#cbb4ca;line-height:1.7}.project-card strong{font-size:22px;font-weight:400;letter-spacing:-.6px;margin:10px 0}.project-card em{font-size:10px;color:#f0bad4;font-style:normal}
.contact-links{margin:28px 0}.contact-links a{display:block;padding:15px 0;text-decoration:none;border-bottom:1px solid var(--line);color:#e4eaf5}.contact-links small{display:block;font-size:8px;letter-spacing:1.8px;color:#8ca4c4;margin-bottom:7px}.contact-links span{font-size:12px;overflow-wrap:anywhere}
#inquiry-form label{display:block;font-size:11px;color:#c7d5e9;margin:18px 0 8px}
#inquiry-form select,#inquiry-form textarea{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;background:#04091499;color:#e0e8f6;font:inherit;font-size:12px;line-height:1.6;outline:none;touch-action:pan-y;-webkit-user-select:text;user-select:text}
#inquiry-form textarea{resize:vertical;min-height:90px;max-height:240px}
#inquiry-form select:focus-visible,#inquiry-form textarea:focus-visible{border-color:#c2dcff;box-shadow:0 0 0 2px #9fbde52a}
.detail-panel .fine-print{font-size:10px;line-height:1.7;color:#9cacbf}.inquiry-ready{display:block;color:var(--accent);font-size:12px;margin-top:20px}
body[data-detail="open"] .scene-caption{opacity:0;pointer-events:none}
body[data-detail="open"] .scene-caption button{pointer-events:none}
body[data-detail="open"] .view-controls{right:auto;left:42px}
body[data-flight="active"] #studio-emblem,body[data-flight="active"] .detail-panel,body[data-flight="aligning"] .detail-panel{opacity:0;pointer-events:none}
.about-panel{z-index:11;top:106px}.about-close{float:right;width:32px;height:32px}
.static-content{position:absolute;z-index:12;top:110px;bottom:25px;left:20px;right:20px;overflow-y:auto;background:#09111ef5;border:1px solid var(--line);padding:28px;border-radius:18px;font-size:15px;line-height:1.8;touch-action:pan-y;-webkit-user-select:text;user-select:text}
.static-content a{color:#c2dcff}
@keyframes panel-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:801px) and (max-height:700px){.detail-panel{top:106px;bottom:104px}.detail-top{margin-bottom:12px}.detail-panel h2{font-size:28px}}
@media(max-width:800px){
.topbar{top:max(18px,env(safe-area-inset-top));left:20px;right:20px}.menu-toggle{min-height:42px;padding:0 14px;font-size:10px;gap:9px}
.studio-menu{top:90px;right:18px;left:18px;width:auto;max-height:calc(100% - 118px);padding:23px 25px}
.detail-panel{left:14px;right:14px;top:auto;bottom:max(114px,calc(env(safe-area-inset-bottom) + 98px));width:auto;height:43%;max-height:420px;min-height:210px;border-radius:20px;padding:14px 20px 18px}
.detail-top{margin-bottom:9px}.detail-top .eyebrow{font-size:7px}.detail-top .icon-button{width:30px;height:30px}
.detail-panel h2{font-size:27px;line-height:1.15;margin-bottom:17px}.detail-panel .lead{font-size:13px}.detail-panel p,.detail-panel li{font-size:12px;line-height:1.85}.detail-scroll article>.eyebrow{font-size:7px;margin-bottom:11px}
body[data-detail="open"] .view-controls{left:auto;right:16px;top:137px;bottom:auto;gap:0}body[data-detail="open"] .view-controls .icon-button{height:34px;width:34px;font-size:17px}body[data-detail="open"] .view-controls .reset-button{display:none}
#planet-nav{bottom:max(62px,calc(env(safe-area-inset-bottom) + 46px));max-width:calc(100% - 32px);border-radius:25px}
.bottom-bar{bottom:max(18px,env(safe-area-inset-bottom))}.about-panel{top:90px;max-height:calc(100% - 120px)}
body[data-scene="system"] .scene-caption{top:134px}.scene-caption{max-width:280px}.scene-caption h1{font-size:36px}
.project-card{min-height:142px;padding:20px;gap:20px}.project-card strong{font-size:21px}
}
@media(max-width:480px){.topbar{left:18px;right:18px}.brand{font-size:11px;letter-spacing:2.3px;gap:6px}.brand-coin:not(.studio-emblem){width:42px;height:42px}.brand small{font-size:6px;letter-spacing:1.8px}.header-actions{gap:6px}.sound-button{width:38px;height:38px}.menu-toggle{min-height:38px;padding:0 12px;font-size:10px;gap:8px}.location{top:64px}.project-card small{letter-spacing:1px}}
@media(max-height:550px) and (max-width:800px){.detail-panel{left:auto;right:16px;top:92px;bottom:80px;width:48%;height:auto;min-height:0;padding:12px 15px}.detail-panel h2{font-size:23px}body[data-detail="open"] .view-controls{left:16px;right:auto;top:105px}.location{top:50px}.scene-caption{bottom:24%}}
@media(prefers-reduced-motion:reduce){.detail-panel{animation:none}.world-haze{transition:none}}

/* Every beacon stays at its own position inside the rotating galactic disk. */
#galaxy-destinations{position:absolute;inset:0;pointer-events:none;z-index:3}
.galaxy-destination{pointer-events:auto;font-size:8px;letter-spacing:1.4px}
.galaxy-destination>span:last-child{padding:5px 0}
.galaxy-destination .marker-dot{width:6px;height:6px;box-shadow:0 0 0 6px #b0ccff10,0 0 17px #93b8ff70}
.galaxy-destination[data-world="apps"] .marker-dot{background:#abffec;box-shadow:0 0 0 6px #68dabd10,0 0 18px #59dac770}
.galaxy-destination[data-world="projects"] .marker-dot{background:#e2b9ff;box-shadow:0 0 0 6px #c586fa14,0 0 18px #b576fc88}
.galaxy-destination[data-world="contact"] .marker-dot{background:#ffe4b8;box-shadow:0 0 0 6px #ffd39510,0 0 18px #ffc67a70}
.galaxy-destination[data-world="support"] .marker-dot{background:#e5edff}
.galaxy-destination[data-world="process"] .marker-dot{background:#c8d8ff}
.galaxy-destination[data-tight="true"]>span:last-child{top:4px;transform:translateY(-100%)}
body[data-detail="open"]:not([data-world="milica"]) #planet-nav{display:none}
@media(max-width:800px){.galaxy-destination{font-size:7px;letter-spacing:.8px}.galaxy-destination>span:last-child{left:33px}.galaxy-destination[data-side="left"]>span:last-child{right:33px}.galaxy-destination b{display:none}}

body[data-world="apps"]{--accent:#b8f5e8;--line:#9edbce2c}
body[data-world="projects"]{--accent:#e2c4ff;--line:#c5a1ea2c}
body[data-world="contact"]{--accent:#ffe0b7;--line:#e8c9a12c}

/* Three stages: galactic map, system overview, selected object details. */
#galaxy-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:hidden}
#galaxy-connectors path{fill:none;stroke:#b3cffa;stroke-width:1;stroke-opacity:.30;vector-effect:non-scaling-stroke}
#galaxy-connectors circle{fill:#d4e4ff;stroke:#a5caff;stroke-width:6;stroke-opacity:.12;visibility:hidden}
#galaxy-connectors path{visibility:hidden}
.galaxy-destination{--destination-color:#d2e4ff;height:38.4px;min-height:44px;justify-content:flex-start;gap:8px;padding:0 8px;border:0;border-radius:0;background:transparent;font-size:11.2px;letter-spacing:.8px;color:#d8e7fb;text-shadow:0 2px 12px #020309;box-shadow:none;transition:color .18s,text-shadow .18s}
.galaxy-destination[data-side="left"]{justify-content:flex-end}
.galaxy-destination b{display:none}
.sun-marker.galaxy-destination .marker-dot{display:block;flex:0 0 5px;width:5px;height:5px;background:var(--destination-color);border-radius:50%;box-shadow:0 0 6px var(--destination-color)}
.galaxy-destination[data-world="studio"]{--destination-color:#d2e4ff}
.galaxy-destination[data-world="websites"]{--destination-color:#80b4ff}
.galaxy-destination[data-world="apps"]{--destination-color:#7df2d5}
.galaxy-destination[data-world="support"]{--destination-color:#d2daea}
.galaxy-destination[data-world="process"]{--destination-color:#bab2ff}
.galaxy-destination[data-world="projects"]{--destination-color:#e7a4ff}
.galaxy-destination[data-world="contact"]{--destination-color:#ffd18e}
.sun-marker.galaxy-destination:hover .marker-dot{box-shadow:0 0 8px var(--destination-color)}
.galaxy-destination:hover,.galaxy-destination:focus-visible{background:transparent;color:#fff;text-shadow:0 0 16px #aacfff70}
.galaxy-destination:focus-visible{outline:1px solid #c3d7ff;outline-offset:2px}
.galaxy-destination>span:last-child,.galaxy-destination[data-side]>span:last-child,.galaxy-destination[data-tight]>span:last-child{position:static;transform:none;padding:0}
.galaxy-destination b{margin-left:6px;font-size:15px;color:#9bbbe8}
body[data-scene="galaxy"] .scene-caption{left:50%;bottom:8%;transform:translateX(-50%);width:540px;max-width:calc(100% - 420px);text-align:center}
body[data-scene="galaxy"] .scene-caption h1{font-size:34px;letter-spacing:-1px;margin-bottom:9px}
body[data-scene="galaxy"] .scene-caption .eyebrow{margin-bottom:10px}
body[data-scene="galaxy"] #scene-description{max-width:420px;margin:0 auto;font-size:12px}
body[data-scene="galaxy"] #enter-solar{display:none}
body[data-scene="galaxy"] .view-controls{top:auto;bottom:22px;right:28px;transform:none;flex-direction:row;gap:6px}
body[data-scene="galaxy"] .control-divider,body[data-scene="galaxy"] .coordinate{display:none}
body[data-scene="galaxy"] .reset-button{margin:0}
body[data-flight="active"] #galaxy-connectors,body[data-flight="aligning"] #galaxy-connectors{opacity:0}
body[data-scene="system"] .scene-caption{top:134px;bottom:auto;max-width:360px}
body[data-scene="system"] .scene-caption h1{font-size:30px}
body[data-scene="system"] .scene-caption .eyebrow{font-size:8px;margin-bottom:10px}
body[data-scene="system"] #scene-description{font-size:12px}
.planet-label{font-size:12px;letter-spacing:.3px;min-height:44px;padding:10px 14px;border:1px solid #b8d3ff20;border-radius:10px;background:#070d18a6;color:#d4e3fa}
.planet-label:hover,.planet-label:focus-visible{background:#203553cc;color:#fff}
#planet-nav button{font-size:12px;min-height:44px}
.object-preview{position:absolute;z-index:5;width:320px;max-width:calc(100% - 36px);padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#152236eb,#070e1bf2);backdrop-filter:blur(18px);box-shadow:0 15px 60px #0006;pointer-events:none}
.object-preview .eyebrow{margin:0 0 10px;font-size:9px;color:var(--accent);letter-spacing:1.3px}
.object-preview h2{margin:0 0 12px;font-size:23px;line-height:1.2;letter-spacing:-.6px;font-weight:400;text-wrap:balance}
.object-preview>p:not(.eyebrow){margin:0;font-size:13px;line-height:1.7;color:#b5c5dd}
.object-preview button{pointer-events:auto;width:100%;min-height:44px;margin-top:14px;padding:12px 0 0;background:none;border-top:1px solid var(--line);font-size:12px;text-align:left;color:var(--accent)}
.object-context{padding-bottom:20px;margin-bottom:23px;border-bottom:1px solid var(--line)}
.object-context h3{font-size:20px;line-height:1.3;font-weight:400;margin:0 0 10px;color:var(--accent)}
.object-context p{margin:0}
body[data-detail="open"] #planet-nav{display:none}
@media(max-width:800px){
.galaxy-destination{font-size:9.6px;letter-spacing:.4px;gap:7px;padding:0 6px}
body[data-scene="galaxy"] .scene-caption{left:50%;bottom:86px;top:auto;transform:translateX(-50%);width:100%;max-width:calc(100% - 36px)}
body[data-scene="galaxy"] .scene-caption h1{font-size:24px;letter-spacing:-.6px;margin:0}
body[data-scene="galaxy"] .scene-caption .eyebrow,body[data-scene="galaxy"] #scene-description{display:none}
body[data-scene="galaxy"] .view-controls{right:18px;bottom:max(16px,env(safe-area-inset-bottom));gap:4px}
body[data-scene="galaxy"] .view-controls .icon-button{width:34px;height:34px;font-size:17px}
body[data-scene="galaxy"] .bottom-bar{right:138px;font-size:7px;letter-spacing:.6px}
body[data-scene="system"] .scene-caption{top:126px;max-width:calc(100% - 95px)}
body[data-scene="system"] .scene-caption h1{font-size:24px}
body[data-scene="system"] .view-controls{top:138px;bottom:auto;right:16px}
body[data-scene="system"] .view-controls .icon-button{width:34px;height:34px;font-size:17px}
body[data-scene="system"] .view-controls .reset-button{display:none}
.object-preview{left:18px!important;right:18px;top:auto!important;bottom:max(130px,calc(env(safe-area-inset-bottom) + 114px));width:auto;padding:18px 20px}
.object-preview h2{font-size:21px;margin-bottom:9px}
.object-preview>p:not(.eyebrow){font-size:12px;line-height:1.6}
.object-preview button{margin-top:10px}
.planet-label{font-size:11px;padding:10px;max-width:160px;white-space:normal}
}
@media(max-height:550px){body[data-scene="galaxy"] .scene-caption{bottom:66px}body[data-scene="galaxy"] .scene-caption h1{font-size:22px}body[data-scene="galaxy"] .scene-caption .eyebrow,body[data-scene="galaxy"] #scene-description{display:none}body[data-scene="system"] .scene-caption{top:95px}body[data-scene="system"] .scene-caption h1{font-size:23px}body[data-scene="system"] #scene-description{display:none}.object-preview{left:auto!important;right:18px;top:110px!important;bottom:90px;width:280px;overflow:hidden;padding:15px}.object-preview h2{font-size:19px}}

@media(max-width:800px) and (min-height:551px) and (max-height:699px){body[data-scene="galaxy"] .scene-caption{bottom:48px}}

/* The destinations stay still; only their stars follow the galaxy. */
#galaxy-destinations{inset:104px 28px auto;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;column-gap:22px;row-gap:0;pointer-events:none;z-index:4}
#galaxy-destinations[hidden]{display:none}
#galaxy-destinations .galaxy-destination{position:relative;left:auto;top:auto;transform:none;width:auto;flex:0 0 auto;min-height:44px;justify-content:center;padding:0 6px;gap:8px;color:var(--destination-color);letter-spacing:.7px}
#galaxy-destinations .galaxy-destination:hover,#galaxy-destinations .galaxy-destination:focus-visible,#galaxy-destinations .galaxy-destination[data-highlighted="true"]{color:#f6f3ff;text-shadow:0 0 3px #ffffff80,0 0 10px var(--destination-color),0 0 24px var(--destination-color)}
#galaxy-destinations .galaxy-destination .marker-dot{transition:background-color .18s,box-shadow .18s}
#galaxy-destinations .galaxy-destination:hover .marker-dot,#galaxy-destinations .galaxy-destination:focus-visible .marker-dot,#galaxy-destinations .galaxy-destination[data-highlighted="true"] .marker-dot{background:#fff;box-shadow:0 0 5px var(--destination-color),0 0 14px var(--destination-color),0 0 24px var(--destination-color)}
body[data-flight="active"] #galaxy-destinations,body[data-flight="aligning"] #galaxy-destinations{opacity:0;pointer-events:none}
body[data-flight="active"] #galaxy-destinations button,body[data-flight="aligning"] #galaxy-destinations button{pointer-events:none}
@media(max-width:800px){#galaxy-destinations{inset:110px 18px auto;column-gap:12px}#galaxy-destinations .galaxy-destination{font-size:10px;letter-spacing:.4px;padding:0 3px;gap:6px}}
@media(max-width:380px){#galaxy-destinations{column-gap:10px}#galaxy-destinations .galaxy-destination{font-size:9px;letter-spacing:.25px}}
@media(max-height:550px){#galaxy-destinations{top:90px;column-gap:16px}}

/* Milica's gym has a complete rose palette, including overlays and navigation. */
#gym-workout{position:absolute;bottom:128px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:24px;width:390px;max-width:calc(100% - 42px);color:#ffd1e5}
.workout-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.workout-copy span{font-size:7px;letter-spacing:1.6px;color:#d493b1}.workout-copy strong{font-size:12px;font-weight:400;white-space:nowrap}.workout-controls{display:flex;gap:5px}.workout-controls button{width:36px;height:36px;border:1px solid #f58cb53b;border-radius:50%;background:#41132c99;color:#ffd1e5;font-size:21px}.workout-controls button:hover{background:#a0346555;border-color:#f5a2ca88}#gym-pause{font-size:14px}.workout-controls button:disabled{opacity:.45;cursor:default}body[data-detail="open"] #gym-workout,body[data-flight="active"] #gym-workout{display:none}
@media(max-width:800px){#gym-workout{bottom:128px;width:auto;left:26px;right:26px;transform:none;max-width:none;gap:8px}.workout-copy strong{font-size:11px}.workout-copy span{font-size:6px;letter-spacing:1px}.workout-controls{gap:4px}.workout-controls button{width:34px;height:36px}}
#planet-nav a{flex-shrink:0;display:flex;align-items:center;min-height:44px;padding:10px 15px;border-radius:24px;color:#f5b7d3;text-decoration:none;font-size:12px;transition:background .25s,color .25s}
#planet-nav a:hover{color:#ffe2ee;background:#a0346555}
body[data-theme="pink"] #planet-labels,body[data-theme="pink"] .object-preview{display:none}
body[data-theme="pink"]{--accent:#ffb9da;--line:#f58cb552;--muted:#e6adc7;background:#210615;color:#ffe0ed}
body[data-theme="pink"] .world-haze{opacity:.45;background:radial-gradient(ellipse at 65% 25%,#e62d7e30,transparent 58%)}
body[data-theme="pink"] .vignette{background:linear-gradient(180deg,#25081577,transparent 24%,transparent 68%,#25081599)}
body[data-theme="pink"] .brand-coin{filter:sepia(1) saturate(2.6) hue-rotate(285deg) drop-shadow(0 0 10px #ff68ac40)}
body[data-theme="pink"] :is(.brand small,.location,.location-index,.eyebrow,#scene-description,.bottom-bar,.coordinate,.text-button){color:#eab1cc}
body[data-theme="pink"] :is(.icon-button,.menu-toggle,.planet-label,#planet-nav){color:#ffd1e5;border-color:var(--line);background:#41132cc9}
body[data-theme="pink"] :is(.icon-button,.menu-toggle,.planet-label):hover{background:#702343;border-color:#ffacd0}
body[data-theme="pink"] :is(.detail-panel,.studio-menu,.about-panel,.object-preview){background:linear-gradient(145deg,#4a1734f5,#260a1cf7);border-color:var(--line);box-shadow:0 25px 90px #21061580}
body[data-theme="pink"] :is(.detail-panel .lead,.about-panel a,.object-preview>p:not(.eyebrow),.menu-foot a,.menu-foot button,.studio-menu nav button>span,.studio-menu nav button>b,.detail-top .eyebrow,.fine-print){color:#f2bdd6}
body[data-theme="pink"] :is(.about-panel p,.about-panel .keyboard-help,.studio-menu .eyebrow){color:var(--muted)}
body[data-theme="pink"] #planet-nav button{color:#f5b7d3}
body[data-theme="pink"] #planet-nav button:is(:hover,[aria-pressed="true"]){color:#ffe2ee;background:#a0346555}
body[data-theme="pink"] .menu-lines{border-color:#ffc5df}
body[data-theme="pink"] :is(button,a):focus-visible{outline-color:#ffb9da}
body[data-theme="pink"] #galaxy:focus-visible{box-shadow:inset 0 0 0 1px #ff8cbe77}
body[data-theme="pink"] .control-divider{background:#f4a0c577}
body[data-theme="pink"] .scene-caption h1{color:#ffd0e5;text-shadow:0 0 28px #ff5da03d}
body[data-theme="pink"] .journey-button{border-color:#f5a2ca77}
body[data-theme="pink"] .journey-button:hover,body[data-theme="pink"] .panel-cta:hover{color:#ffe1ee}
body[data-theme="pink"] .detail-scroll{scrollbar-color:#d9659c66 transparent}
@media(max-width:800px){body[data-theme="pink"][data-scene="system"] .scene-caption{max-width:calc(100% - 95px)}body[data-theme="pink"] #planet-nav :is(button,a){padding:9px 12px;font-size:11px}}

/* Clearer navigation, warmer editorial type and one small invitation to explore. */
main{background:#020309 url('assets/galaxy-face-on-v2.webp') center/contain no-repeat}
.render-fallback{pointer-events:none;cursor:default}
.scene-caption h1{font-weight:350;letter-spacing:-1.6px;line-height:1.12}
.scene-caption .eyebrow{color:#b5c7e2;letter-spacing:2px;font-size:10px}
#scene-description{color:#b1bdd1;font-size:14px;line-height:1.7}
body[data-scene="system"] .scene-caption h1{max-width:340px;font-size:clamp(27px,2.6vw,38px)}
#planet-nav{padding:6px;border-color:#b4d2ff30;box-shadow:0 8px 40px #02040e80}
#planet-nav button{font-size:12px;color:#c1cde0;padding:11px 17px}
.planet-label{border-radius:12px;background:linear-gradient(135deg,#111c2de0,#080d19dd);border:1px solid #aac8f333;color:#d7e4f8;font-size:12px;letter-spacing:.1px;box-shadow:0 6px 26px #0005;transition:background .18s,border-color .18s}
.planet-label:hover{border-color:#bdd9ff80;background:#1b2b43ef}
.studio-menu nav button{padding:14px 0;font-size:15px;letter-spacing:.1px}
.studio-menu nav button:hover{padding-left:5px}
.detail-panel h2{font-weight:400;letter-spacing:-1px}
.detail-panel h3{font-weight:500;font-size:16px;margin:26px 0 8px;color:#fbe5ef}
.detail-panel .lead{font-size:16px;line-height:1.6}
.detail-panel p,.detail-panel li{font-size:13px;line-height:1.85}
.case-source{display:block;color:var(--accent);font-size:11px;line-height:1.6;margin-top:18px}
#project-story{margin-top:6px;gap:16px}
.project-phone{position:absolute;left:27%;top:45%;width:var(--phone-width,140px);transform:translate(-50%,-50%);padding:0;background:none;z-index:3;text-align:left;perspective:900px}
.phone-rig{position:relative;transform:rotate(-8deg) rotateY(-12deg);animation:phone-invite 5s ease-in-out infinite;transition:transform .7s ease}
.phone-shell{position:relative;display:block;aspect-ratio:9/18;border:3px solid #d97ca4;border-radius:23px;overflow:hidden;background:#1c0715;box-shadow:inset 0 0 0 2px #4a1630,5px 4px 0 #642540,0 0 32px #ff4a9c25}
.phone-invitation{position:absolute;inset:0;width:100%;height:100%;padding:0;background:none;text-align:left}
.phone-shell img{display:block;width:100%;height:100%;object-fit:cover;object-position:53% 35%;opacity:.88}
.phone-shell video{position:absolute;left:4px;top:21px;width:calc(100% - 8px);height:calc(100% - 29px);border-radius:12px;object-fit:contain;background:#090209;touch-action:manipulation}
.phone-speaker{position:absolute;z-index:2;width:38%;height:9px;left:31%;top:6px;border-radius:12px;background:#2b0b1b}
.phone-screen-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:13px 11px;background:linear-gradient(180deg,#4b143940,transparent 25%,#25081905 40%,#250819e8 80%);color:#ffe0ed}
.phone-screen-copy small{position:absolute;top:24px;left:11px;font-size:6px;line-height:1.6;letter-spacing:1.5px;font-weight:600;text-shadow:0 1px 8px #3d0624}
.phone-screen-copy strong{font-size:clamp(12px,1.4vw,20px);line-height:1.12;font-weight:500;letter-spacing:-.4px}
.phone-screen-copy>span{border-top:1px solid #ffc8e455;margin-top:10px;padding-top:8px;font-size:8px}
.phone-caption{display:block;text-align:center;font-size:7px;letter-spacing:1.5px;color:#edaccc;margin-top:18px}
.project-phone:hover .phone-shell,.project-phone:focus-within .phone-shell{border-color:#ffe2f0;box-shadow:5px 4px 0 #8e3c60,0 0 45px #ff7bbd60}
.project-phone[data-paused="true"] :is(.phone-rig,.fairy-wing,.fairy-sparkles){animation-play-state:paused}
body[data-detail="open"] .project-phone,body[data-flight="active"] .project-phone{visibility:hidden}
@keyframes phone-invite{0%,100%{transform:translateY(0) rotate(-8deg) rotateY(-12deg)}45%{transform:translateY(-11px) rotate(-4deg) rotateY(-5deg)}60%{transform:translateY(-8px) rotate(-6deg) rotateY(-9deg)}}
.fairy-wing{position:absolute;top:-8%;width:68%;height:88%;background:url('assets/milica/fairy-wing.svg') center/contain no-repeat;opacity:.8;filter:drop-shadow(0 0 9px #ffb6df55);pointer-events:none;transition:left .7s,right .7s,width .7s,opacity .7s;animation:fairy-left 3.4s ease-in-out infinite}
.fairy-wing-left{left:-59%;transform-origin:95% 66%}.fairy-wing-right{right:-59%;transform-origin:50% 66%;animation-name:fairy-right}
@keyframes fairy-left{0%,100%{transform:perspective(360px) rotateY(-18deg) rotate(-5deg)}50%{transform:perspective(360px) rotateY(42deg) rotate(5deg)}}
@keyframes fairy-right{0%,100%{transform:scaleX(-1) perspective(360px) rotateY(-18deg) rotate(-5deg)}50%{transform:scaleX(-1) perspective(360px) rotateY(42deg) rotate(5deg)}}
.fairy-sparkles{position:absolute;left:50%;top:35%;width:3px;height:3px;border-radius:50%;background:#ffe6f7;box-shadow:-86px -15px 0 #ffc4e8,82px -28px 0 #ffe5f4,-67px 53px 0 #f6afdd,73px 76px 0 #ffc4e8;opacity:.7;pointer-events:none;animation:fairy-dust 4s ease-in-out infinite}
@keyframes fairy-dust{0%,100%{opacity:.12;transform:translateY(10px) scale(.8)}50%{opacity:.8;transform:translateY(-7px) scale(1.06)}}
.phone-backdrop{position:absolute;inset:0;z-index:10;background:radial-gradient(ellipse at 50% 48%,#64203a50,#0d0312d4 75%);backdrop-filter:blur(5px);opacity:0;transition:opacity .55s}
body:is([data-phone="opening"],[data-phone="open"]) .phone-backdrop{opacity:1}
.project-phone:not([data-mode="docked"]){z-index:12}
.project-phone:not([data-mode="docked"]) .phone-rig{animation:none;transform:rotate(0) rotateY(0)}
.project-phone[data-mode="closing"] .phone-rig{transform:rotate(-8deg) rotateY(-12deg)}
.project-phone:not([data-mode="docked"]) .fairy-wing{width:52%;opacity:.6}
.project-phone:not([data-mode="docked"]) .fairy-wing-left{left:-43%}.project-phone:not([data-mode="docked"]) .fairy-wing-right{right:-43%}
.project-phone:is([data-mode="opening"],[data-mode="closing"]) .fairy-wing{animation-duration:.32s}
.project-phone[data-mode="open"] .fairy-wing{animation-duration:6s;opacity:.4}
.phone-close{position:absolute;right:-4px;top:-52px;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid #f7b1d366;background:#44162eda;color:#ffe7f1;font-size:29px;line-height:1;box-shadow:0 5px 25px #16061270}
.phone-close:hover{background:#73294e}.phone-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px;border-radius:30px;background:#632543ed;border:1px solid #ffc1e2;color:#fff0f7;font-size:12px;white-space:nowrap}
.phone-caption-open{display:none}.project-phone:not([data-mode="docked"]) .phone-caption-docked{display:none}.project-phone:not([data-mode="docked"]) .phone-caption-open{display:inline}
.phone-static-flight{left:var(--front-x)!important;top:var(--front-y)!important;width:var(--front-width)!important}
body:is([data-phone="opening"],[data-phone="open"],[data-phone="closing"]) :is(.scene-caption,.view-controls,#planet-nav,#gym-workout,.topbar){pointer-events:none}
@media(max-width:800px){.project-phone:not([data-mode="docked"]) .fairy-wing{width:25%;top:0}.project-phone:not([data-mode="docked"]) .fairy-wing-left{left:-17%}.project-phone:not([data-mode="docked"]) .fairy-wing-right{right:-17%}.project-phone:not([data-mode="docked"]) .phone-shell{border-radius:24px}.project-phone:not([data-mode="docked"]) .phone-caption{font-size:8px;letter-spacing:1.8px}.project-phone:not([data-mode="docked"]) .fairy-sparkles{display:none}}
.loading-scene{position:absolute;left:50%;bottom:165px;transform:translateX(-50%);z-index:5;display:none;align-items:center;gap:10px;max-width:calc(100% - 40px);padding:15px 18px;background:#0d1728ee;border:1px solid #a2c4f43b;border-radius:16px;color:#d6e3f6;font-size:12px;line-height:1.5}
#galaxy[data-loading="true"]~.loading-scene{display:flex}
body[data-detail="open"] .loading-scene{display:none!important}
.loading-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#c2dcff;box-shadow:0 0 12px #9dc5ff}
.loading-scene button{background:transparent;color:#c2dcff;font-size:11px;white-space:nowrap;padding:8px}
.render-error{padding:14px;background:#0d1728ee;border:1px solid #a2c4f43b;border-radius:12px;z-index:5;bottom:155px}
@media(max-width:800px){body[data-scene="system"] .scene-caption h1{font-size:24px;max-width:280px}#project-story{font-size:11px;padding:9px 0;margin:0}.phone-shell{border-radius:16px}.phone-screen-copy{padding:10px 7px}.phone-screen-copy small{font-size:5px;letter-spacing:.7px;left:7px;top:21px}.phone-screen-copy strong{font-size:13px}.phone-screen-copy>span{font-size:7px;margin-top:6px;padding-top:6px}.phone-caption{font-size:5px;letter-spacing:1px;margin-top:12px}.loading-scene{flex-wrap:wrap;justify-content:center;width:300px;bottom:180px}#planet-nav button{font-size:11px;padding:10px 13px}.case-portrait{height:180px}}
@media(max-height:550px){.project-phone{width:82px}.phone-caption{display:none}.phone-screen-copy strong{font-size:12px}#project-story{padding:7px 0}.loading-scene{bottom:80px}}
@media(prefers-reduced-motion:reduce){.phone-rig,.fairy-wing,.fairy-sparkles{animation:none}.fairy-wing-right{transform:scaleX(-1)}.phone-backdrop{transition:none}}
