body[data-experience=cosmos]{background:#050914;color:#e2e8f1}body[data-experience=cosmos] .experiment-control{display:none}.universe{--muted:#9aa9be;--line:#c5d6ee26;isolation:isolate}.universe button{background:none}.universe-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab}.universe-canvas:active{cursor:grabbing}.universe-header{position:absolute;top:27px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;z-index:8;pointer-events:none}.universe-header button,.universe-header a{pointer-events:auto}.universe-signature{display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.1px;padding:8px 0}.signature-star{font-size:28px;color:#dfd2b9;font-family:Georgia,serif}.header-tools{display:flex;gap:27px;align-items:center;font-size:11px}.header-tools button,.header-tools a{padding:12px 0;color:#b6c1d1}.header-tools a span{margin-left:9px}.universe-intro{position:absolute;top:124px;left:38px;pointer-events:none;z-index:2}.universe-intro p{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#98a8c0;margin:0 0 23px}.universe-intro h1{font-family:Georgia,serif;font-size:clamp(46px,4.7vw,78px);font-weight:400;letter-spacing:-2.5px;line-height:1.01;margin:0;text-shadow:0 5px 40px #050914}.universe-intro h1 em{font-weight:400;color:#d5dbeb}.intro-instruction{display:block;font-size:11px;color:#9cabc0;margin-top:26px;letter-spacing:.1px}.universe-labels,.constellation-categories{position:absolute;inset:0;pointer-events:none;overflow:hidden}.universe-object,.constellation-group{position:absolute;left:0;top:0;pointer-events:auto;color:#dce5f4}.universe .world-label{display:block;border:0;box-shadow:none;background:none;backdrop-filter:none;border-radius:0;text-align:center;padding:12px 18px;min-height:64px;white-space:nowrap;text-shadow:0 2px 9px #020714;transition:color .2s}.universe .world-label:after{display:none}.world-year{display:block;font-size:9px;letter-spacing:1.5px;color:var(--world-color);margin-bottom:7px}.universe .world-label strong{font-size:12px;font-weight:400;letter-spacing:.1px}.world-hover{display:block;font-size:9px;color:#d7dfeb;opacity:0;margin-top:9px;transition:opacity .2s}.world-hover span{margin-left:12px}.universe .world-label:hover .world-hover,.universe .world-label:focus-visible .world-hover,.universe .world-label.hovered .world-hover{opacity:1}.satellite-label{font-size:10px;white-space:nowrap;padding:13px 10px;display:flex;align-items:center;gap:7px;text-shadow:0 2px 5px #000}.satellite-mark{width:3px;height:3px;border-radius:50%;background:#a2b9d6}.satellite-label.selected,.satellite-label:hover{color:#ffe5b5}.satellite-label.selected .satellite-mark{background:#ffe5b5;box-shadow:0 0 9px #ffe5b5}.universe-nav{position:absolute;left:30px;bottom:29px;display:flex;gap:3px;z-index:9;border:1px solid var(--line);border-radius:40px;padding:5px;background:#0b1322a6;backdrop-filter:blur(18px)}.universe-nav button{font-size:11px;padding:12px 19px;color:#9eafc6;border-radius:25px;transition:background .2s,color .2s}.universe-nav button.active{background:#bfcee91c;color:#f0f1f5}.universe-nav button:hover{color:#fff;background:#bfcee910}.universe-clock{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:300px;text-align:center;z-index:8}.universe-clock .time-dial{color:#9eb6d4}.universe-clock>span{display:block;font-size:8px;letter-spacing:.3px;color:#8293aa;margin-top:-6px}.universe-clock .dial-year{fill:#e2e6f0;font-size:23px;font-weight:350}.universe-clock .dial-caption{font-size:8px}.universe-utilities{position:absolute;bottom:38px;right:35px;display:flex;gap:24px;align-items:center;z-index:8}.universe-utilities button{font-size:10px;color:#a7b5c9;padding:10px 0}.overview-control{display:flex;align-items:center;gap:8px}.overview-control svg{width:21px;height:21px;stroke-width:1}.universe-guidance{position:absolute;right:36px;bottom:108px;font-size:9px;color:#7b8ea9;text-align:right;line-height:1.9;pointer-events:none}.universe-guidance span{display:block}.journey-progress{position:absolute;left:38px;bottom:111px;display:flex;gap:11px;align-items:center;font-size:9px;color:#8294ae;pointer-events:none}.visited-mark{height:2px;width:29px;background:linear-gradient(to right,#c9d7eb var(--visited,0%),#667c9938 var(--visited,0%))}.universe-log{position:absolute;top:116px;left:36px;bottom:156px;width:365px;z-index:5;overflow:auto;overscroll-behavior:contain;padding:0 19px 22px 0;scrollbar-width:thin;scrollbar-color:#b5c7e42b transparent;background:linear-gradient(90deg,#050914e8,#050914b8 80%,#05091400);mask-image:linear-gradient(#000 96%,transparent);animation:log-arrive .55s both}.log-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.log-coordinate{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#99aac3}.universe .icon-button{width:36px;height:36px;font-family:Ubuntu,sans-serif;font-size:25px;font-weight:300;color:#98a9c2;border:1px solid var(--line);border-radius:50%;line-height:1}.universe .icon-button:hover{background:#bfd1ef13;color:#fff}.log-year{font-size:10px;letter-spacing:1.5px;color:var(--chapter-color,#b5c9e4);margin:0 0 13px}.universe-log h2{font-family:Georgia,serif;font-size:39px;letter-spacing:-1px;font-weight:400;line-height:1.08;margin:0 0 18px}.log-intro{font-size:12px;line-height:1.85;color:#a0afc5;margin:0 0 28px;max-width:310px}.record-list{border-top:1px solid var(--line)}.record-list details{border-bottom:1px solid var(--line)}.record-list summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;padding:18px 0;list-style:none}.record-list summary::-webkit-details-marker{display:none}.record-list summary small,.skill-records small{display:block;font-size:9px;letter-spacing:.2px;color:#90a2bb;margin-bottom:8px}.record-list summary strong{display:block;font-size:15px;font-weight:400}.record-symbol{font-size:18px;font-weight:300;color:#96abc7}.record-list details[open] .record-symbol{transform:rotate(45deg)}.record-list summary:hover strong{color:#e4d3b4}.record-body{padding:0 0 20px}.record-role{font-size:11px;color:#c6d3e5;margin:0 0 14px}.record-body ul{padding:0 0 0 14px;margin:0;list-style-type:'·  '}.record-body li{font-size:12px;line-height:1.85;color:#a6b5cc;margin:8px 0;padding-left:3px}.record-result{color:#d9c3a5;font-size:11px;line-height:1.75;margin:18px 0}.record-result span{margin-right:5px}.record-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}.record-skills button{font-size:9px;color:#b9c9df;border:1px solid #c5d6ee23;border-radius:20px;padding:8px 10px;min-height:32px}.record-skills button:hover{border-color:#c5d6ee88;color:#fff;background:#c5d6ee09}.record-links{display:flex;gap:20px;font-size:10px;margin-top:20px;color:#d9dfe9}.decision-note{display:flex;align-items:center;gap:10px;font-size:10px;color:#9ba8bc;margin-top:20px;padding:10px 0}.decision-note svg{width:15px;height:18px;fill:none;stroke:currentColor}.decision-story{font-size:12px;line-height:1.8;color:#b5c2d5;border-left:1px solid #d5c5a759;margin-top:10px;padding:0 0 0 14px}.log-pagination{display:flex;justify-content:space-between;gap:20px;margin-top:30px}.log-pagination button{display:flex;gap:12px;padding:12px 0;font-size:11px;color:#bdcce1}.log-pagination button:disabled{opacity:.22;cursor:default}.constellation-star{font-size:11px;white-space:nowrap;text-shadow:0 0 12px #02050e;padding:13px 9px 12px;min-height:44px;border-radius:4px;transition:color .2s,opacity .3s}.constellation-star:hover,.constellation-star.selected{color:var(--star-color);text-shadow:0 0 16px var(--star-color)}.constellation-star.selected:after{content:'';position:absolute;width:20px;height:20px;border:1px solid var(--star-color);border-radius:50%;left:calc(50% - 10px);top:-10px;opacity:.5}.constellation-star.dimmed{opacity:.25}.constellation-group{font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:12px;white-space:nowrap;color:var(--star-color)}.skill-records>button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-top:1px solid var(--line);text-align:left;width:100%}.skill-records strong{display:block;font-size:14px;font-weight:400}.skill-records em{display:block;font-size:10px;color:#8f9fb6;font-style:normal;margin-top:8px}.skill-records>button:hover strong{color:#e7d1ad}.related-label{font-size:9px;letter-spacing:.5px;color:#8296b2;margin-top:32px}.text-link{font-size:12px}.contact-log{width:410px;top:165px;bottom:135px}.contact-log h2{font-size:55px;margin-top:25px}.contact-intro{font-size:13px;line-height:1.9;color:#a5b4c9;max-width:350px}.email-link{font-size:19px;letter-spacing:-.3px;display:flex;justify-content:space-between;padding:24px 0 12px}.email-link span{color:#c4af8e}.copy-email{font-size:10px;color:#8fa2bd;padding:7px 0}.copy-status{font-size:10px;color:#ccbf9f;margin-left:12px}.signal-links{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:0 27px}.signal-links a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0;font-size:13px}.signal-links small{display:block;font-size:9px;color:#8195b1;margin-top:7px}.signal-links a>span:last-child{color:#93a7c4}.signal-links a:hover{color:#e7d1ad}.contact-footer{margin-top:28px;display:flex;flex-direction:column;gap:20px;font-size:10px;color:#bac8dd}.contact-footer>span{font-size:9px;color:#8495af}.universe-announcement{position:absolute;top:75px;left:50%;transform:translateX(-50%);z-index:15;font-size:12px}.universe-announcement:empty{display:none}.universe-announcement:not(:empty){background:#111a2d;border:1px solid var(--line);padding:15px;border-radius:8px}.universe-announcement button{color:#e8cd9b;text-decoration:underline}.universe #universe-index{width:720px;max-width:calc(100% - 32px);max-height:85dvh;padding:35px;background:#0b1220;color:#dee6f3;border:1px solid #a6b9d535;border-radius:12px;scrollbar-width:thin;scrollbar-color:#8294ad45 transparent}.universe #universe-index::backdrop{background:#020611b3;backdrop-filter:blur(12px)}.index-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:30px}.index-heading h2{font-size:38px;margin-top:17px}.career-index-list section{margin-top:30px}.career-index-list h3{display:flex;gap:20px;font-size:10px;font-weight:400;color:#b9cbe4;letter-spacing:.5px;margin:0 0 12px}.career-index-list h3 span{color:#8297b6}.career-index-list button{width:100%;display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:16px 0;text-align:left}.career-index-list button>span:first-child{flex:1}.career-index-list strong{display:block;font-size:13px;font-weight:400}.career-index-list small{display:block;font-size:10px;color:#8f9fb6;margin-top:6px}.index-date{font-size:9px;color:#8f9fb6}.career-index-list button:hover strong{color:#e7d1ad}.universe[data-view=skills] .universe-intro{top:105px}.universe[data-view=skills] .universe-intro h1{font-size:48px}.universe[data-view=skills] .universe-intro p{font-size:8px;letter-spacing:1px}.universe[data-view=skills] .universe-intro .intro-instruction{margin-top:18px}.universe[data-view=contact] .universe-guidance{display:none}@keyframes log-arrive{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}
@media(min-width:1700px){.universe-log{left:60px;top:150px;width:400px}.universe-header{left:60px;right:60px}.universe-intro{left:60px}.contact-log{width:450px}}
@media(max-width:1050px) and (min-width:1024px){.universe-log{width:310px;left:25px}.universe-nav{left:20px}.universe-nav button{padding:12px 13px}.universe-utilities{gap:15px;right:24px}.overview-control span{display:none}.universe-clock{width:245px}.contact-log{width:350px}.universe-intro{left:25px}}
@media(max-width:1023px){.universe-header{top:17px;left:21px;right:21px}.universe-signature{font-size:12px;gap:8px}.signature-star{font-size:23px}.header-tools{gap:22px;font-size:10px}.universe-intro{top:92px;left:23px}.universe-intro p{font-size:8px;letter-spacing:1.4px;margin-bottom:15px}.universe-intro h1{font-size:43px;letter-spacing:-1.6px}.intro-instruction{font-size:9px;margin-top:18px;max-width:130px;line-height:1.7}.universe .world-label{padding:9px 12px;min-height:44px}.world-year{font-size:8px;margin-bottom:5px;letter-spacing:.8px}.universe .world-label strong{font-size:10px}.world-hover{display:none}.universe-nav{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);white-space:nowrap;padding:4px}.universe-nav button{font-size:10px;padding:13px 17px}.universe-clock{width:215px;bottom:88px}.universe-clock>span{font-size:7px}.universe-utilities{right:20px;bottom:186px;gap:5px;flex-direction:column;align-items:flex-end}.universe-utilities button{font-size:8px;padding:7px 0}.overview-control span{display:none}.overview-control svg{width:21px;height:21px}.universe-guidance{display:none}.journey-progress{left:23px;bottom:206px;font-size:8px;gap:7px}.visited-mark{width:18px}.universe-log{left:18px;right:18px;width:auto;top:auto;bottom:87px;max-height:42dvh;padding:19px 19px 25px;border:1px solid #c5d6ee24;border-radius:13px;background:#091120d9;backdrop-filter:blur(20px);mask-image:none;scrollbar-width:none}.log-heading{margin-bottom:17px}.log-coordinate{font-size:8px;letter-spacing:1.1px}.universe .icon-button{width:30px;height:30px;font-size:22px}.log-year{font-size:9px;margin:0 0 9px}.universe-log h2{font-size:30px;margin-bottom:13px}.log-intro{font-size:11px;line-height:1.8;margin-bottom:20px}.record-list summary{padding:15px 0}.record-list summary strong{font-size:14px}.record-list summary small{font-size:8px}.record-body li{font-size:11px}.record-skills button{font-size:9px;min-height:35px}.log-pagination{margin-top:20px}.universe[data-chapter]:not([data-chapter=""]) .universe-clock{width:153px;top:76px;bottom:auto;left:auto;right:15px;transform:none}.universe[data-chapter]:not([data-chapter=""]) .universe-clock>span{display:none}.universe[data-chapter]:not([data-chapter=""]) .journey-progress{top:97px;bottom:auto}.universe[data-chapter]:not([data-chapter=""]) .universe-utilities{top:155px;bottom:auto}.constellation-star{font-size:9px;padding:12px 6px;max-width:118px;white-space:normal;text-align:center;line-height:1.4}.constellation-group{font-size:7px;letter-spacing:1.2px}.universe[data-view=skills] .universe-intro{top:85px;left:23px}.universe[data-view=skills] .universe-intro h1{font-size:31px;letter-spacing:-1px}.universe[data-view=skills] .universe-intro p{font-size:7px;max-width:160px;line-height:1.5}.universe[data-view=skills] .intro-instruction{max-width:170px;font-size:8px;margin-top:12px}.universe[data-view=skills] .universe-utilities{bottom:88px;right:22px;flex-direction:row;gap:18px}.universe[data-skill]:not([data-skill=""]) .universe-utilities{top:76px;bottom:auto}.skill-log{max-height:39dvh}.skill-records>button{padding:15px 0}.contact-log{top:205px;bottom:90px;max-height:none;background:linear-gradient(100deg,#091120ec,#091120bd);padding:23px}.contact-log h2{font-size:40px;margin-top:20px}.contact-intro{font-size:12px}.email-link{font-size:17px}.signal-links{margin-top:20px}.signal-links a{font-size:12px;padding:17px 0}.contact-footer{margin-top:20px}.universe[data-view=contact] .universe-utilities{top:83px;bottom:auto}.universe #universe-index{padding:23px 20px;max-height:87dvh}.index-heading h2{font-size:31px}.index-date{display:none}.career-index-list h3{gap:12px;font-size:9px}.career-index-list strong{font-size:12px}.universe-announcement{width:90%;top:75px}}
@media(max-height:650px) and (min-width:1024px){.universe-intro{top:95px}.universe-intro h1{font-size:49px}.universe-log{top:95px;bottom:112px}.universe-clock{width:235px;bottom:10px}.journey-progress{bottom:95px}.contact-log h2{font-size:40px}.universe-guidance{bottom:96px}}
@media(prefers-reduced-motion:reduce){.universe *{scroll-behavior:auto!important}}
@media(min-width:1024px){.universe:before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,#050914ec,#050914c7 20%,#05091400 44%);opacity:0;transition:opacity .5s}.universe:has(.universe-log:not([hidden])):before{opacity:1}.universe-log{background:none}.contact-log{background:none}}
@media(max-width:1023px){.intro-instruction{max-width:220px}.universe[data-chapter=""] .journey-progress{display:none}.universe[data-view=skills] .constellation-star{font-size:9px;max-width:93px}.universe[data-view=skills] .constellation-star[data-skill="AI-assisted development"]{max-width:86px}.universe[data-view=contact] .universe-utilities{top:77px}.contact-log{top:242px}.constellation-star[data-skill="AI-assisted development"]{translate:-14px 0}}
#experience.readable-universe{height:100%;overflow:auto;padding:36px max(24px,calc((100vw - 760px)/2));background:radial-gradient(ellipse at 100% 20%,#18223e,transparent 50%),#060b16;color:#dce5f4;scrollbar-width:thin}.readable-universe header{display:flex;justify-content:space-between;gap:30px;font-size:12px;margin-bottom:60px}.readable-universe h1,.readable-universe h2{font-family:Georgia,serif;font-weight:400}.readable-universe h1{font-size:48px;letter-spacing:-1.5px}.readable-intro{font-size:13px;line-height:1.8;color:#9cacbf}.readable-universe section{margin:45px 0}.readable-universe h2{font-size:30px}.readable-universe details{border-top:1px solid #b5c8df2a;padding:18px 0}.readable-universe summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;font-size:13px}.readable-universe summary strong{font-weight:400}.readable-universe summary span{font-size:10px;color:#9cacbf}.readable-universe details p,.readable-universe li{font-size:12px;line-height:1.9;color:#afbdd1}.readable-universe details a{font-size:12px}.readable-universe footer{display:flex;flex-wrap:wrap;gap:25px;font-size:12px;padding:30px 0 60px}
/* Resume-first revision: navigation and legibility take precedence. */
.universe-header{top:22px;left:34px;right:34px}.universe-signature{font-size:17px}.header-tools{font-size:14px;gap:23px}.universe-nav{top:23px;bottom:auto;left:50%;transform:translateX(-50%);padding:5px;background:#0d1729dd;border-color:#a9c2e545;box-shadow:0 5px 35px #0003}.universe-nav button{font-size:15px;padding:13px 23px;color:#c1cfe2}.universe-nav button.active{background:#b8d3f32a;color:#fff}.universe-intro{top:137px;left:38px}.universe-intro h1{font-size:65px}.universe-intro .intro-bio{font-size:16px;letter-spacing:0;line-height:1.7;color:#bcc9dd;text-transform:none;margin:22px 0 0;max-width:420px}.intro-instruction{font-size:13px;margin-top:18px;color:#93a9c7}.universe-intro>p:first-child{font-size:12px}.universe .world-label strong{font-size:15px}.world-year{font-size:12px}.world-hover{font-size:12px}.journey-progress{bottom:40px;font-size:12px}.universe-utilities{bottom:32px}.universe-utilities button{font-size:12px}.universe-guidance{font-size:12px;bottom:90px}.universe-clock{width:310px;bottom:20px}.universe-clock>span{font-size:10px}.universe-clock .dial-caption{font-size:10px}.universe-log{top:121px;left:38px;bottom:142px;width:min(560px,45vw);padding:26px 28px 30px;border:1px solid #a8bfdc38;border-radius:16px;background:#0b1425e8;backdrop-filter:blur(22px);mask-image:none;box-shadow:0 18px 65px #0003;scrollbar-color:#9fb9da60 transparent}.universe-log h2{font-size:38px;margin:0 0 14px}.log-heading{margin-bottom:22px}.log-coordinate{font-size:12px;letter-spacing:.5px;text-transform:none;display:flex;gap:20px;color:#afc2dd}.log-coordinate>span{color:var(--chapter-color,#d7c8ac)}.log-intro{font-size:16px;line-height:1.6;max-width:none;margin-bottom:24px;color:#bbc9dd}.record-list summary{padding:21px 0}.record-list summary strong{font-size:23px;font-weight:450;line-height:1.25}.record-list summary small{font-size:12px;line-height:1.6;color:#bbcae0;margin-bottom:7px}.record-list summary small span{color:#8ea3c0}.record-symbol{font-size:23px}.record-role{font-size:16px;color:#d2dceb;line-height:1.5;margin-bottom:17px}.record-body li{font-size:16px;line-height:1.75;color:#c3d0e3;margin:12px 0}.record-result{font-size:14px;line-height:1.6}.record-skills button{font-size:12px;padding:9px 12px;min-height:36px;color:#c8d6e8}.record-links{font-size:14px;line-height:1.6}.log-pagination button{font-size:14px}.satellite-label{font-size:12px}.decision-note{font-size:13px}.decision-story{font-size:15px}.skill-records strong{font-size:19px}.skill-records small{font-size:12px}.skill-records em{font-size:14px;line-height:1.5}.related-label{font-size:13px}.text-link{font-size:15px}.contact-log{top:165px;width:460px;background:#0b1425e0}.contact-log h2{font-size:49px}.contact-intro{font-size:16px;max-width:none}.email-link{font-size:23px}.copy-email,.copy-status{font-size:13px}.signal-links a{font-size:16px}.signal-links small{font-size:12px}.contact-footer,.contact-footer>span{font-size:12px;line-height:1.6}.universe[data-view=skills] .universe-intro{top:124px}.universe[data-view=skills] .universe-intro h1{font-size:44px}.universe[data-view=skills] .universe-intro p{font-size:12px;letter-spacing:.3px}.universe[data-view=skills] .intro-instruction{font-size:14px}.constellation-star{font-size:14px}.constellation-group{font-size:14px;text-transform:none;letter-spacing:0;opacity:1}.career-index-list strong{font-size:17px}.career-index-list small{font-size:13px}.career-index-list h3{font-size:13px}.index-date{font-size:12px}.universe:has(.universe-log:not([hidden])):before{background:linear-gradient(90deg,#0509149c,transparent 60%)}
@media(max-width:1100px) and (min-width:1024px){.universe-header{left:24px;right:24px}.header-tools{gap:15px;font-size:12px}.universe-signature{font-size:15px}.universe-nav button{font-size:13px;padding:13px 16px}.universe-log{left:24px;width:46vw;padding:23px}.universe-log h2{font-size:32px}.universe-intro h1{font-size:53px}.universe-intro .intro-bio{font-size:15px;max-width:335px}.record-list summary strong{font-size:21px}.record-body li{font-size:15px}}
@media(max-width:1023px){.universe-header{top:15px;left:20px;right:20px}.universe-signature{font-size:15px}.header-tools{font-size:12px;gap:21px}.universe-nav{top:74px;bottom:auto;left:18px;right:18px;transform:none;justify-content:center;padding:5px}.universe-nav button{font-size:13px;padding:13px 13px}.universe-intro{top:153px;left:23px;right:20px}.universe-intro h1{font-size:40px;line-height:1.03}.universe-intro>p:first-child{font-size:10px;margin-bottom:12px}.universe-intro .intro-bio{font-size:13px;line-height:1.65;margin-top:15px;max-width:330px}.intro-instruction{display:none}.universe .world-label strong{font-size:12px}.world-year{font-size:10px}.universe .world-label{padding:8px;min-height:42px}.universe-clock{width:205px;bottom:18px}.universe-clock>span{font-size:9px}.universe-utilities{right:20px;bottom:36px;gap:1px}.universe-utilities button{font-size:10px}.universe-guidance{display:none}.universe-log{left:14px;right:14px;width:auto;top:282px;bottom:98px;max-height:none;padding:20px 20px 25px;border-radius:14px;background:#0b1425ed}.universe-log h2{font-size:29px}.log-heading{margin-bottom:17px}.log-coordinate{font-size:11px;gap:15px}.log-intro{font-size:14px;line-height:1.65;margin-bottom:20px}.record-list summary strong{font-size:21px}.record-list summary small{font-size:11px}.record-role{font-size:15px}.record-body li{font-size:15px;line-height:1.75}.record-result{font-size:13px}.record-skills button{font-size:11px;min-height:36px}.record-links{font-size:13px}.log-pagination button{font-size:13px}.universe[data-chapter]:not([data-chapter=""]) .universe-clock{width:180px;left:20px;right:auto;top:auto;bottom:15px;transform:none}.universe[data-chapter]:not([data-chapter=""]) .universe-utilities{top:auto;bottom:27px}.universe[data-chapter]:not([data-chapter=""]) .journey-progress{display:none}.universe[data-view=skills] .universe-intro{top:153px;left:22px}.universe[data-view=skills] .universe-intro h1{font-size:31px}.universe[data-view=skills] .universe-intro p{font-size:11px;max-width:none;margin-bottom:10px}.universe[data-view=skills] .constellation-star{font-size:12px;max-width:110px}.constellation-group{font-size:13px}.universe[data-view=skills] .universe-utilities{bottom:25px}.universe[data-skill]:not([data-skill=""]) .universe-utilities{top:auto;bottom:25px}.skill-log{top:330px;bottom:85px;max-height:none}.skill-records strong{font-size:18px}.skill-records small{font-size:11px}.skill-records em{font-size:13px}.contact-log{top:255px;bottom:85px;max-height:none;padding:23px}.contact-log h2{font-size:37px}.contact-intro{font-size:15px}.email-link{font-size:20px}.signal-links a{font-size:15px}.signal-links small{font-size:11px}.universe[data-view=contact] .universe-utilities{top:auto;bottom:25px}.contact-footer{gap:15px}.contact-footer,.contact-footer>span{font-size:11px}}
@media(max-height:700px) and (min-width:1024px){.universe-log{top:105px;bottom:100px}.universe-intro{top:110px}.universe-intro h1{font-size:46px}.universe-intro .intro-bio{font-size:14px}.universe-clock{width:240px;bottom:10px}}
.universe[data-view=skills] .universe-intro h1{font-size:40px;letter-spacing:-1.2px}.universe[data-view=skills] .skills-intro{font-size:15px;letter-spacing:0;text-transform:none;margin-top:15px;color:#a9bdd6}.constellation-group{line-height:1.5;font-size:16px;font-weight:450;white-space:nowrap}.constellation-group>span{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#8499b5;margin-bottom:4px}.constellation-star{max-width:145px;white-space:normal;font-size:14px;line-height:1.45;min-height:44px;padding:9px 8px}.constellation-star[data-side=left]{translate:-50% -12px;text-align:right;padding-right:14px}.constellation-star[data-side=right]{translate:50% -12px;text-align:left;padding-left:14px}.constellation-star[data-side=top]{translate:0 -100%;padding-bottom:12px}.constellation-star[data-side=bottom]{padding-top:12px}.constellation-star.selected:after{display:none}.constellation-star.selected{background:#97b8db18;border-radius:8px;outline:1px solid #abc9e657}.universe[data-view=skills] .universe-intro{pointer-events:none}.universe[data-view=skills]:has(.skill-log:not([hidden])) .constellation-categories{opacity:.55}
@media(max-width:1023px){.universe[data-view=skills] .universe-intro{top:146px}.universe[data-view=skills] .universe-intro h1{font-size:28px}.universe[data-view=skills] .skills-intro{font-size:12px;margin-top:10px}.universe[data-view=skills] .constellation-star{font-size:11px;max-width:101px;padding-top:8px;padding-bottom:8px}.constellation-group{font-size:12px}.constellation-group>span{font-size:9px;letter-spacing:.5px;margin-bottom:0}.constellation-star[data-side=left]{translate:-50% -8px;padding-right:9px}.constellation-star[data-side=right]{translate:50% -8px;padding-left:9px}.constellation-star[data-side=top]{translate:0 -100%;padding-bottom:6px}.constellation-star[data-skill="AI-assisted development"]{max-width:110px}.universe[data-view=skills] .universe-utilities{bottom:18px}}
.decision-flyby{display:flex;align-items:center;gap:10px;font-size:14px;padding:12px 16px;white-space:nowrap;color:#ead3b2;border:1px solid #d1b38442!important;border-radius:30px;background:#101829c9!important;backdrop-filter:blur(10px);text-align:left}.decision-flyby small{display:block;font-size:11px;color:#baaa98;margin-top:5px}.decision-streak{font-size:25px;font-weight:300}.decision-flyby:hover{border-color:#e7ca9299!important;background:#202233e0!important}
@media(max-width:1023px){.decision-flyby{font-size:11px;padding:8px 12px;gap:7px}.decision-flyby small{font-size:9px}.decision-streak{font-size:18px}}

@media(max-width:1023px){.constellation-group{font-size:14px}.constellation-group>span{display:none}.universe[data-view=skills] .constellation-star{font-size:12px}.constellation-star[data-side=top]{translate:50% -8px;text-align:left;padding-left:9px;padding-bottom:8px}.universe .world-label{white-space:normal;width:140px}.universe .world-label strong{line-height:1.4;display:block}.world-year{margin-bottom:4px}}
@media(max-width:379px){.universe-nav button{padding-left:10px;padding-right:10px}}

@media(max-width:1023px){.universe[data-skill]:not([data-skill=""]) .constellation-star.dimmed{visibility:hidden!important}.universe[data-skill]:not([data-skill=""]) .constellation-categories{visibility:hidden}}

@media(max-width:1023px) and (max-height:780px){.universe[data-view=journey] .universe-intro{top:145px}.universe[data-view=journey] .universe-intro h1{font-size:34px}.universe[data-view=journey] .intro-bio{font-size:12px;line-height:1.6;margin-top:12px}}
@media(min-width:760px) and (max-width:1023px){.universe-nav{left:50%;right:auto;transform:translateX(-50%);min-width:440px}.universe-log{left:calc(50% - 300px);right:auto;width:600px}.universe-intro{left:38px}.universe[data-view=skills] .universe-intro{left:38px}}

/* First-visit airlock */
.welcome-dialog{width:min(560px,calc(100vw - 40px));padding:46px 48px 42px;border:1px solid #b8d2ed45;border-radius:24px;background:radial-gradient(circle at 78% 15%,#657ab52a,transparent 35%),#0b1426eF;color:#edf3fb;box-shadow:0 28px 100px #0009;overflow:hidden}
.welcome-dialog::backdrop{background:#020611b8;backdrop-filter:blur(12px)}
.welcome-kicker{margin:0 0 42px;color:#a8bfdc;font-size:13px;letter-spacing:.08em}
.welcome-dialog h2{margin:0;font-family:Georgia,serif;font-size:clamp(38px,5vw,62px);font-weight:400;letter-spacing:-1.8px;line-height:1}
.welcome-dialog p:not(.welcome-kicker){max-width:390px;margin:22px 0 38px;color:#b8c8dd;font-size:17px;line-height:1.65}
.welcome-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #b8d2ed25;padding-top:20px;color:#8096b5;font-size:12px}
.welcome-controls button{padding:14px 19px;border:1px solid #d8c08f88;border-radius:999px;background:#d8c08f18;color:#f1dfb9;font-size:14px;transition:background .2s,border-color .2s,transform .2s}
.welcome-controls button:hover,.welcome-controls button:focus-visible{background:#d8c08f30;border-color:#ecd9a9;transform:translateY(-1px)}
.welcome-orbit{position:absolute;right:40px;top:42px;width:90px;height:90px;border:1px solid #bed4ef38;border-radius:50%;transform:rotate(-26deg);pointer-events:none}
.welcome-orbit:before,.welcome-orbit:after{content:'';position:absolute;inset:13px -8px;border:1px solid #d8c08f55;border-radius:50%;transform:rotate(55deg)}
.welcome-orbit:after{inset:27px -18px;transform:rotate(-37deg);border-color:#a8c9ef44}
.welcome-orbit span{position:absolute;width:5px;height:5px;border-radius:50%;background:#ecd9a9;box-shadow:0 0 12px #ecd9a9;top:2px;left:43px}
.skill-log{--skill-color:#b9d6eb;border-left:2px solid var(--skill-color)}
.skill-log .skill-heading{color:var(--skill-color)}
.skill-log .related-label{color:var(--skill-color)}
@media(max-width:1023px){.welcome-dialog{padding:34px 28px 28px;border-radius:19px}.welcome-kicker{margin-bottom:48px;font-size:11px}.welcome-dialog h2{font-size:39px}.welcome-dialog p:not(.welcome-kicker){font-size:15px;margin:18px 0 30px}.welcome-controls{align-items:flex-start;flex-direction:column-reverse}.welcome-controls button{width:100%}.welcome-orbit{right:22px;top:28px;transform:scale(.72) rotate(-26deg)}}

.journey-progress{display:none!important}

/* Ambient volume and chapter card controls */
.volume-control{display:flex;align-items:center;gap:8px;color:#a7b5c9;font-size:11px;padding:7px 0}.volume-control span{font-size:11px}.volume-control input{width:92px;height:3px;accent-color:#d8c08f;cursor:pointer}.record-toggle{appearance:none;border:0;background:none;color:#98abc4;cursor:pointer;font:inherit;line-height:1;padding:4px 2px;min-width:26px;min-height:26px;border-radius:50%;transition:color .2s,background .2s,transform .2s}.record-toggle:hover,.record-toggle:focus-visible{color:#f1dfb9;background:#d8c08f15}.record-toggle[aria-expanded=false]{transform:rotate(0deg)}.satellite-label.selected{font-size:15px;padding:15px 13px;gap:9px;text-shadow:0 2px 10px #000}.satellite-label.selected .satellite-mark{width:5px;height:5px;box-shadow:0 0 12px currentColor}.universe[data-view=journey] .universe-utilities{flex-wrap:wrap;justify-content:flex-end}.universe[data-view=journey] .volume-control{order:3}.universe[data-view=skills] .volume-control,.universe[data-view=contact] .volume-control{display:flex}
@media(max-width:1023px){.volume-control{gap:5px}.volume-control span{display:none}.volume-control input{width:82px}.satellite-label.selected{font-size:13px;padding:10px 8px}.universe[data-view=journey] .universe-utilities{gap:8px}.universe[data-chapter]:not([data-chapter=""]) .universe-utilities{flex-wrap:wrap}.universe[data-chapter]:not([data-chapter=""]) .volume-control{order:3}}

/* Types cross disciplines; only the small stellar marks encode the legend. */
.constellation-group{border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;padding:12px;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--star-color);opacity:1;transition:color .2s}
.constellation-group:hover,.constellation-group.active{color:#fff;text-shadow:0 0 18px var(--star-color)}
.constellation-star{border:0;background:none;border-radius:0;box-shadow:none;color:#dce5f4}
.constellation-star.selected{background:none;outline:0;color:var(--star-color);text-decoration:underline;text-decoration-color:var(--star-color);text-underline-offset:5px}
.skill-type-mark{display:inline-block;width:12px;margin-right:6px;font-size:11px;line-height:1;vertical-align:1px;text-align:center;color:var(--type-color);text-shadow:0 0 9px color-mix(in srgb,var(--type-color) 45%,transparent)}
.skill-type-legend{position:absolute;left:50%;bottom:99px;transform:translateX(-50%);display:flex;gap:21px;z-index:8;white-space:nowrap}
.skill-type-legend button{display:flex;align-items:center;gap:2px;color:#a9bbd3;font-size:12px;padding:12px 0;border-bottom:1px solid transparent}
.skill-type-legend button:hover,.skill-type-legend button[aria-pressed=true]{color:#f1f5fa;border-bottom-color:#a9bbd377}
.universe[data-skill-type=language] .constellation-star:not([data-type=language]),.universe[data-skill-type=technical] .constellation-star:not([data-type=technical]),.universe[data-skill-type=protocol] .constellation-star:not([data-type=protocol]),.universe[data-skill-type=people] .constellation-star:not([data-type=people]){opacity:.2}
.universe[data-skill-type]:not([data-skill-type=""]) .constellation-star:not(.dimmed){transition:opacity .25s}
.skill-type-caption{font-size:13px;color:#b4c3d9;margin:0 0 25px}
/* Navigation stays available throughout flight. Destination text arrives as the camera settles. */
.universe[data-travel=flying] .universe-intro,.universe[data-travel=flying] .universe-log,.universe[data-travel=flying] .universe-labels,.universe[data-travel=flying] .constellation-categories,.universe[data-travel=flying] .skill-type-legend,.universe[data-travel=flying] .universe-clock{opacity:var(--arrival,0);pointer-events:none}
@media(max-width:1023px){
  .constellation-group{font-size:13px}
  .skill-type-mark{width:10px;margin-right:4px;font-size:9px}
  .skill-type-legend{left:22px;right:22px;bottom:73px;transform:none;display:grid;grid-template-columns:auto auto;gap:0 15px;justify-content:center}
  .skill-type-legend button{font-size:11px;padding:8px 0;gap:3px}
  .universe[data-view=skills] .skill-log{bottom:150px}
}
@media(prefers-reduced-motion:reduce){.constellation-star,.skill-type-legend button{transition:none}}

.universe[data-travel=flying] .universe-object,.universe[data-travel=flying] .constellation-group,.universe[data-travel=flying] .skill-type-legend button{pointer-events:none}
.music-credit{font-size:11px;color:#91a4bf;line-height:1.8}
.music-credit a{text-decoration:underline;text-decoration-color:#91a4bf55;text-underline-offset:3px}
.index-footnote{margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
.index-footnote .music-credit{display:block;font-size:11px;line-height:1.7;color:#93a5bf}

/* Suppress captions from older cached clock modules as well. */
.universe-clock .dial-caption{display:none}
.welcome-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}
