:root{color:#f6f4ee;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#070a17;font-family:Space Grotesk,Arial,sans-serif}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#070a17;width:100%;min-width:320px;min-height:100%;overflow:hidden}body{width:100%;min-width:320px;min-height:100dvh;margin:0;overflow:hidden}#root{width:100%;min-height:100dvh;overflow:hidden}:root{--ink:#e9efff;--muted:#96a4be;--faint:#5b6680;--surface:#0d1226b3;--line:#b5c9fa29;--blue:#a9c7ff;--cream:#f6e7b7;--rail-left:clamp(1.25rem, 3.1vw, 3.1rem)}*{box-sizing:border-box}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.portfolio-shell{height:100dvh;min-height:100svh;color:var(--ink);isolation:isolate;background:radial-gradient(circle at 50% 47%,#21315e4d,#0000 31rem),radial-gradient(circle at 83% 7%,#4b2c7029,#0000 29rem),#070a17;overflow:hidden}.portfolio-shell:before{z-index:-1;content:"";pointer-events:none;opacity:.22;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 75%);mask-image:radial-gradient(circle,#000,#0000 75%)}.topbar{z-index:20;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;width:100%;padding:1.6rem clamp(1.1rem,3.1vw,3.7rem);display:grid;position:fixed;top:0;left:0}.wordmark,.topbar__guide,.social-link{pointer-events:auto}.wordmark{width:fit-content;color:var(--ink);letter-spacing:-.075em;cursor:pointer;background:0 0;border:0;padding:0;font-family:Space Grotesk,sans-serif;font-size:1.02rem;font-weight:700}.wordmark span{color:var(--blue);vertical-align:top;margin-left:.11rem;font-size:.48em}.topbar__descriptor{color:#b7c4dd;letter-spacing:.065em;text-align:center;text-transform:uppercase;margin:.05rem 0 0;font-size:.7rem;font-weight:600;line-height:1.32}.topbar__actions{justify-self:end;align-items:flex-start;gap:1rem;display:flex}.social-dock{pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:.38rem;display:flex}.social-link{--social-expanded:6.7rem;color:#dce8fb;white-space:nowrap;cursor:pointer;background:#0b1022c7;border:1px solid #a9c7ff33;border-radius:.7rem;flex:none;align-items:center;gap:.48rem;width:2.55rem;height:2.55rem;padding:0 .68rem;text-decoration:none;transition:width .28s cubic-bezier(.2,.8,.2,1),color .2s,border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex;overflow:hidden;box-shadow:0 .55rem 1.7rem #0003,inset 0 1px #ffffff09}.social-link--linkedin{--social-expanded:7rem;background:#083f79b8;border-color:#5ea9f05c}.social-link--instagram{--social-expanded:7.25rem}.social-link--email{--social-expanded:5.7rem}.social-link--phone{--social-expanded:5.8rem}.social-link.is-pending{color:#8e9db8;cursor:default}.social-link__icon{flex:0 0 1.18rem;place-items:center;width:1.18rem;height:1.18rem;display:grid}.social-link__icon svg{stroke-width:1.8px;width:1.08rem;height:1.08rem}.linkedin-glyph{letter-spacing:-.08em;font-family:Arial,sans-serif;font-size:.95rem;font-weight:800;line-height:1}.instagram-glyph{border:1.7px solid;border-radius:.3rem;width:1rem;height:1rem;display:block;position:relative}.instagram-glyph:before{content:"";border:1.5px solid;border-radius:50%;width:.38rem;height:.38rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.instagram-glyph:after{content:"";background:currentColor;border-radius:50%;width:.12rem;height:.12rem;position:absolute;top:.16rem;right:.16rem}.social-link__name{color:currentColor;letter-spacing:-.01em;opacity:0;max-width:0;font-size:.72rem;font-weight:700;transition:max-width .28s cubic-bezier(.2,.8,.2,1),opacity .17s,transform .28s cubic-bezier(.2,.8,.2,1);overflow:hidden;transform:translate(-.3rem)}@media (hover:hover) and (pointer:fine){.social-link:hover{width:var(--social-expanded);color:#fff;border-color:#afd2ff80;transform:translate(-2px)}.social-link--linkedin:hover{background:linear-gradient(135deg,#0a66c2f0,#054188f0);box-shadow:0 .85rem 2.2rem #004ea04d}.social-link--instagram:hover{background:linear-gradient(135deg,#82379ab8,#b83563a3)}.social-link--email:hover{background:#2d4774d6}.social-link--phone:hover{background:#225b5bc7}.social-link:hover .social-link__name{opacity:1;max-width:5.5rem;transform:translate(0)}}.social-link:focus-visible{width:var(--social-expanded);color:#fff;outline:2px solid var(--blue);outline-offset:3px}.social-link:focus-visible .social-link__name{opacity:1;max-width:5.5rem;transform:translate(0)}.topbar__guide{color:#9fb1d3;cursor:pointer;background:#0b102294;border:1px solid #a9c7ff24;border-radius:99px;align-items:center;gap:.38rem;min-height:2.25rem;padding:0 .58rem;font-size:.69rem;font-weight:650;transition:color .2s,border-color .2s,background-color .2s;display:inline-flex}.topbar__guide:hover{color:#fff;background:#1c2749b3;border-color:#a9c7ff4d}.topbar__guide:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.topbar__guide svg{stroke-width:1.8px;width:.9rem;height:.9rem}.panel-action__arrow{color:var(--blue);margin-left:.1rem;font-size:1.05em}.spatial-layout{height:100dvh;min-height:100svh;position:relative}.intro-block{z-index:5;top:11%;left:var(--rail-left);pointer-events:none;width:min(21rem,28vw);position:absolute}.eyebrow,.detail-panel__kind{color:#9bb2e7;letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:600;line-height:1.2}.intro-block h1{letter-spacing:-.085em;max-width:100%;margin:.75rem 0 .88rem;font-family:Space Grotesk,sans-serif;font-size:clamp(2.85rem,4.2vw,3.85rem);font-weight:500;line-height:.85}.intro-block h1 em{color:var(--cream);letter-spacing:-.1em;font-family:Georgia,Times New Roman,serif;font-weight:400}.intro-block__copy{color:#a5b1c9;max-width:19rem;margin:0;font-size:.84rem;line-height:1.58}.explore-cues{align-items:center;gap:.9rem;margin-top:1rem;display:flex}.explore-cues span{color:#74819d;letter-spacing:.035em;align-items:center;gap:.38rem;font-size:.65rem;font-weight:600;display:inline-flex}.explore-cues svg{color:#9ab9f3;stroke-width:1.7px;width:.78rem;height:.78rem}.filter-bar{z-index:9;top:46%;bottom:auto;left:var(--rail-left);pointer-events:auto;background:linear-gradient(145deg,#0f152cd1,#080c1cb8);border:1px solid #a9c7ff21;border-radius:.7rem;gap:.28rem;width:clamp(15.5rem,18vw,17.25rem);padding:.62rem;display:grid;position:absolute;box-shadow:0 1.25rem 4rem #0003,inset 0 1px #ffffff06}.filter-bar:after{content:"";background:linear-gradient(180deg, var(--blue), transparent);opacity:.55;border-radius:99px;width:.18rem;height:2.2rem;position:absolute;top:.9rem;right:-.18rem}.filter-bar__heading{border-bottom:1px solid #a9c7ff1c;justify-content:space-between;align-items:baseline;gap:.75rem;margin:0 .18rem .22rem;padding:.1rem .08rem .58rem;display:flex}.filter-bar__heading span{color:#cbd7ef;letter-spacing:.11em;text-transform:uppercase;font-size:.63rem;font-weight:700}.filter-bar__heading small{color:#71809e;letter-spacing:.025em;font-size:.59rem}.filter-bar button{--filter-accent:#a9c7ff;color:#8592ac;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.42rem;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.62rem;width:100%;min-height:2.75rem;padding:.38rem .55rem .38rem .45rem;transition:color .25s,border-color .25s,background-color .25s,transform .25s;display:grid;position:relative;overflow:hidden}.filter-bar button:before{content:"";background:var(--filter-accent);opacity:0;border-radius:99px;width:2px;transition:opacity .25s,transform .25s;position:absolute;top:.6rem;bottom:.6rem;left:0;transform:scaleY(.35)}.filter-bar button:hover{color:var(--ink);background:#a9c7ff0b;border-color:#a9c7ff17;transform:translate(.12rem)}.filter-bar button.is-active{color:var(--ink);background:linear-gradient(90deg,#7aa1ea21,#7aa1ea09);border-color:#a9c7ff2b}.filter-bar button[data-filter=project]{--filter-accent:#8bb7ff}.filter-bar button[data-filter=experience]{--filter-accent:#7ee4bd}.filter-bar button[data-filter=education]{--filter-accent:#e3b878}.filter-bar button[data-filter=skill]{--filter-accent:#ffad72}.filter-bar button[data-filter=certification]{--filter-accent:#f2ce7d}.filter-bar button.is-active:before{opacity:1;transform:scaleY(1)}.filter-bar button:focus-visible{outline-offset:2px;outline:1px solid #a9c7ffb8}.filter-bar__icon{width:2rem;height:2rem;color:var(--filter-accent);background:#7799da0e;border:1px solid #97b8f424;border-radius:.38rem;place-items:center;transition:color .25s,border-color .25s,background-color .25s,box-shadow .25s;display:grid}.filter-bar__icon svg{stroke-width:1.65px;width:.92rem;height:.92rem}.filter-bar button.is-active .filter-bar__icon{color:var(--filter-accent);background:#f6e7b714;border-color:#f6e7b747;box-shadow:0 0 1.2rem #a9c7ff1a}.filter-bar__copy{gap:.11rem;min-width:0;display:grid}.filter-bar__copy strong{color:currentColor;letter-spacing:.012em;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:650;overflow:hidden}.filter-bar__copy small{color:#8798b7;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:500;overflow:hidden}.filter-bar button.is-active .filter-bar__copy small{color:#8f9eb9}.filter-bar__count{color:#90a9d8;font-variant-numeric:tabular-nums;text-align:center;border:1px solid #8dace61f;border-radius:99px;min-width:1.45rem;padding:.22rem .28rem;font-size:.58rem;line-height:1}.filter-label-short{display:none}.scene-stage{cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.scene-stage:active{cursor:grabbing}.scene-stage canvas{cursor:grab;outline:none;width:100%;height:100%;position:absolute;inset:0}.scene-stage canvas.is-hovering{cursor:pointer}.scene-stage canvas:active{cursor:grabbing}.scene-stage canvas:focus-visible{outline-offset:-7px;outline:1px solid #a9c7ffb3}.zoom-controls{z-index:12;pointer-events:auto;touch-action:manipulation;background:linear-gradient(145deg,#0f152ce6,#080c1cd6);border:1px solid #a9c7ff26;border-radius:.62rem;grid-template-columns:2.75rem;gap:.18rem;padding:.28rem;display:grid;position:absolute;top:50%;right:clamp(1.1rem,3.1vw,3.7rem);transform:translateY(-50%);box-shadow:0 1rem 3rem #0000003d,inset 0 1px #ffffff08}.zoom-controls button{color:#b7c9eb;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.4rem;place-items:center;width:2.75rem;height:2.75rem;padding:0;transition:color .2s,border-color .2s,background-color .2s,transform .15s;display:grid;position:relative}.zoom-controls button:hover{color:#fff;background:#a9c7ff12;border-color:#a9c7ff29}.zoom-controls button:active{transform:scale(.95)}.zoom-controls button:focus-visible{outline-offset:2px;outline:2px solid #a9c7ff}.zoom-controls button[aria-disabled=true]{color:#65718a;cursor:default}.zoom-controls svg{stroke-width:1.8px;width:1rem;height:1rem}.zoom-controls__value span{color:#aabbd9;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:.64rem;font-weight:650}.zoom-controls button:after{content:attr(data-tooltip);color:#d7e0f4;white-space:nowrap;opacity:0;pointer-events:none;background:#080c1cf5;border:1px solid #a9c7ff24;border-radius:.3rem;width:max-content;padding:.32rem .48rem;font-size:.62rem;transition:opacity .16s,transform .16s;position:absolute;top:50%;right:calc(100% + .65rem);transform:translate(.2rem,-50%)}@media (hover:hover){.zoom-controls button:hover:after,.zoom-controls button:focus-visible:after{opacity:1;transform:translateY(-50%)}}.celestial-readout{z-index:6;color:#8794ae;opacity:0;pointer-events:none;transform-origin:50% 100%;will-change:transform, opacity;background:#080c1cf5;border:1px solid #a9c7ff38;flex-direction:column;align-items:center;min-width:10.5rem;padding:.48rem .72rem .52rem;transition:opacity .2s,border-color .2s,transform .2s;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,calc(-100% - 1.05rem))scale(.96);box-shadow:0 .65rem 2rem #0000003d}.celestial-readout:after{content:"";background:linear-gradient(#f6e7b79e,#0000);width:1px;height:1.05rem;position:absolute;top:100%;left:50%}.celestial-readout.is-active{color:#e7edfb;opacity:1;border-color:#f6e7b780;transform:translate(-50%,calc(-100% - 1.05rem))scale(1)}.celestial-readout.has-selection{opacity:0}.celestial-readout.is-below{transform-origin:50% 0;transform:translate(-50%,1.05rem)scale(.96)}.celestial-readout.is-below.is-active{transform:translate(-50%,1.05rem)scale(1)}.celestial-readout.is-below:after{background:linear-gradient(#0000,#f6e7b79e);top:auto;bottom:100%}.celestial-readout span{color:#97add9;letter-spacing:.15em;text-transform:uppercase;font-size:.59rem;font-weight:600}.celestial-readout strong{letter-spacing:-.015em;margin-top:.1rem;font-family:Space Grotesk,sans-serif;font-size:.79rem;font-weight:600}.celestial-readout small{color:#71809c;letter-spacing:.025em;margin-top:.12rem;font-size:.61rem}.detail-panel{z-index:30;top:var(--selected-y,50%);left:var(--selected-x,62%);border:1px solid var(--line);opacity:0;pointer-events:none;transform-origin:0;contain:layout style;will-change:transform, opacity;background:linear-gradient(145deg,#151d39fa,#080c1cf5);border-radius:.2rem;width:min(23rem,29vw);padding:1.35rem 1.45rem 1.42rem;transition:opacity .42s,transform .42s cubic-bezier(.2,.8,.2,1);position:absolute;overflow:visible;transform:translate(2.25rem,-50%)scale(.97);box-shadow:0 1rem 4rem #0003,inset 0 1px #ffffff09}.detail-panel:before{content:"";background:var(--cream);width:4.5rem;height:1px;position:absolute;top:0;left:0}.detail-panel:after{content:"";background:linear-gradient(90deg,#0000,#f6e7b7b3);width:1.35rem;height:1px;position:absolute;top:50%;right:100%}.detail-panel__scroll{position:relative}.detail-panel.is-open{opacity:1;pointer-events:auto;transform:translate(1.35rem,-50%)scale(1)}.spatial-layout.detail-anchor-left .detail-panel{transform-origin:100%;transform:translate(calc(-100% - 2.25rem),-50%)scale(.97)}.spatial-layout.detail-anchor-left .detail-panel.is-open{transform:translate(calc(-100% - 1.35rem),-50%)scale(1)}.spatial-layout.detail-anchor-left .detail-panel:after{background:linear-gradient(90deg,#f6e7b7b3,#0000);left:100%;right:auto}.detail-panel__close{color:#8f9ab0;cursor:pointer;background:0 0;border:0;place-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:.62rem;display:grid;position:absolute;top:.3rem;right:.3rem}.detail-panel__close:hover{color:#fff}.detail-panel__kind{color:#9eb7e7;margin-bottom:.65rem}.detail-panel h2{color:#f6f8ff;letter-spacing:-.07em;max-width:90%;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.55rem,2.2vw,2.2rem);font-weight:500;line-height:.96}.detail-panel__summary{color:#f0e7cd;margin:1.05rem 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.2}.detail-panel__body{color:#aeb9cf;margin:0;font-size:.79rem;line-height:1.6}.detail-panel dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:.4rem;margin:1.05rem 0 .95rem;padding:.85rem 0;display:grid}.detail-panel dl div{grid-template-columns:4.4rem 1fr;gap:.55rem;display:grid}.detail-panel dt{color:#7c8dab;letter-spacing:.05em;text-transform:uppercase;font-size:.66rem}.detail-panel dd{color:#d7e0f4;margin:0;font-size:.73rem;line-height:1.4}.tag-row{flex-wrap:wrap;gap:.3rem;display:flex}.tag-row span{color:#a8c3f7;border:1px solid #82a0dd30;border-radius:99px;padding:.28rem .46rem;font-size:.64rem}.panel-action{color:#eef7ff;cursor:pointer;background:linear-gradient(135deg,#0c5baec7,#08387aa3);border:1px solid #7fbeff4d;border-radius:.6rem;align-items:center;gap:.5rem;width:fit-content;min-height:2.75rem;margin-top:1.05rem;padding:.58rem .72rem;font-size:.76rem;font-weight:700;text-decoration:none;transition:color .2s,border-color .2s,background-color .2s,transform .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.panel-action:hover{color:#fff;background:linear-gradient(135deg,#0f6ccde6,#084391c2);border-color:#add8ff94;transform:translateY(-1px)}.panel-action:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.panel-action__linkedin{color:#0b67bd;letter-spacing:-.06em;background:#eef7ff;border-radius:.2rem;place-items:center;width:1.15rem;height:1.15rem;margin:0;font-family:Arial,sans-serif;font-size:.66rem;font-weight:800;line-height:1;display:grid}.onboarding-overlay{z-index:100;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:radial-gradient(circle at 50% 44%,#31437833,#0000 28rem),#03050ec7;place-items:center;display:grid;position:fixed;inset:0}.onboarding-card{width:min(33rem,100%);max-height:calc(100dvh - 2rem);color:var(--ink);isolation:isolate;background:linear-gradient(145deg,#151d39fc,#080c1cfc);border:1px solid #a9c7ff33;border-radius:.82rem;padding:2.15rem 2.2rem 1.55rem;animation:.5s cubic-bezier(.2,.8,.2,1) both onboarding-arrive;position:relative;overflow:hidden auto;box-shadow:0 2rem 7rem #0000008c,inset 0 1px #ffffff0a}.onboarding-card:after{content:"";background:linear-gradient(90deg, var(--cream), #a9c7ff59, transparent);width:5.5rem;height:1px;position:absolute;top:0;left:2.2rem}.onboarding-card__orbit{z-index:-1;pointer-events:none;border:1px solid #a9c7ff12;border-radius:50%;width:13rem;height:13rem;position:absolute;top:-3rem;right:-3.2rem;transform:rotate(-24deg)scaleY(.42)}.onboarding-card__orbit:before,.onboarding-card__orbit:after{content:"";border-radius:inherit;border:1px solid #a9c7ff12;position:absolute;inset:1.8rem}.onboarding-card__orbit:after{inset:3.7rem}.onboarding-card__orbit span{background:var(--cream);border-radius:50%;width:.5rem;height:.5rem;position:absolute;box-shadow:0 0 1rem #f6e7b78c}.onboarding-card__orbit span:first-child{top:1.15rem;left:4.4rem}.onboarding-card__orbit span:nth-child(2){background:var(--blue);bottom:4rem;right:1.4rem}.onboarding-card__orbit span:nth-child(3){width:.34rem;height:.34rem;bottom:3.1rem;left:4.2rem}.onboarding-card__close{z-index:2;color:#8795b0;cursor:pointer;background:#080c1c61;border:1px solid #0000;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid;position:absolute;top:.72rem;right:.72rem}.onboarding-card__close:hover{color:#fff;border-color:#a9c7ff2b}.onboarding-card__close:focus-visible,.onboarding-card__start:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.onboarding-card__close svg{width:1.05rem;height:1.05rem}.onboarding-card__eyebrow{color:#9bb2e7;letter-spacing:.18em;text-transform:uppercase;margin:0 0 .7rem;font-size:.67rem;font-weight:650}.onboarding-card h2{letter-spacing:-.065em;max-width:24rem;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:520;line-height:.94}.onboarding-card__intro{color:#b1bdd3;max-width:26rem;margin:.9rem 0 1.3rem;font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.42}.onboarding-steps{gap:.38rem;margin:0;padding:0;list-style:none;display:grid}.onboarding-steps li{border-top:1px solid #a9c7ff1a;grid-template-columns:2.75rem 1fr;align-items:center;gap:.82rem;min-height:3.75rem;padding:.48rem .55rem .48rem .25rem;display:grid;position:relative}.onboarding-step__icon{color:#b9cdf3;background:#a9c7ff0b;border:1px solid #a9c7ff29;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;display:grid}.onboarding-step__icon svg{stroke-width:1.65px;width:1rem;height:1rem}.onboarding-steps strong{color:#edf2ff;font-size:.8rem;font-weight:650;display:block}.onboarding-steps p{color:#8d9bb4;margin:.18rem 0 0;font-size:.73rem;line-height:1.45}.onboarding-card__start{color:#0a1021;cursor:pointer;background:#f6e7b7;border:1px solid #f6e7b7;border-radius:.48rem;justify-content:center;align-items:center;gap:.55rem;width:100%;min-height:3rem;margin-top:1.15rem;font-size:.79rem;font-weight:720;transition:color .2s,background-color .2s,transform .16s;display:flex}.onboarding-card__start:hover{color:#050915;background:#fff3c9}.onboarding-card__start:active{transform:scale(.985)}.onboarding-card__start svg{stroke-width:1.8px;width:1rem;height:1rem}.onboarding-card__keys{color:#68758e;letter-spacing:.025em;text-align:center;margin:.85rem 0 0;font-size:.62rem}.onboarding-card__keys span{margin:0 .28rem}.onboarding-card__keys kbd{color:#8fa4cc;min-width:1.2rem;font:inherit;background:#a9c7ff0a;border:1px solid #a9c7ff21;border-radius:.22rem;place-items:center;margin:0 .08rem;padding:.16rem .25rem;display:inline-grid}@keyframes onboarding-arrive{0%{opacity:0;transform:translateY(1rem)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}.footer{z-index:10;color:#65718b;letter-spacing:.025em;pointer-events:none;gap:1.1rem;font-size:.64rem;display:flex;position:fixed;bottom:1.4rem;right:clamp(1.1rem,3.1vw,3.7rem)}.footer p{margin:0}@media (width<=900px){.intro-block{width:19rem;top:11%}.detail-panel{width:min(20.5rem,35vw)}.footer p:last-child{display:none}.filter-bar{width:15.5rem;top:46%;bottom:auto}}@media (width>=721px) and (height<=700px){.intro-block{top:10%}.intro-block h1{margin:.58rem 0 .68rem;font-size:clamp(2.7rem,4.8vw,4.35rem)}.intro-block__copy{max-width:17rem;font-size:.72rem}.explore-cues{margin-top:.7rem}.filter-bar{gap:.18rem;padding:.48rem;top:46%;bottom:auto}.filter-bar__heading{display:none}.filter-bar button{min-height:2.45rem;padding:.28rem .48rem .28rem .38rem}.filter-bar__icon{width:1.75rem;height:1.75rem}.filter-bar__copy small{display:none}}@media (width<=720px){.portfolio-shell:before{opacity:.16;background-size:48px 48px}.topbar{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));grid-template-columns:1fr auto}.topbar__descriptor{display:none}.wordmark{font-size:.94rem}.topbar__actions{gap:.14rem}.topbar__guide{justify-content:center;width:2.75rem;min-height:2.75rem;padding:0}.topbar__guide span{display:none}.social-dock{gap:.22rem}.social-link,.social-link:hover,.social-link:focus-visible{border-radius:.68rem;justify-content:center;gap:0;width:2.75rem;height:2.75rem;padding:0;transform:none}.social-link__name,.social-link:hover .social-link__name,.social-link:focus-visible .social-link__name{opacity:0;max-width:0;transform:translate(-.3rem)}.intro-block{top:calc(max(1rem, env(safe-area-inset-top)) + 4.7rem);left:max(1rem, env(safe-area-inset-left));width:min(19rem,100vw - 2rem)}.intro-block:before{z-index:-1;top:-1.8rem;left:calc(-1 * max(1rem, env(safe-area-inset-left)));content:"";pointer-events:none;background:linear-gradient(#070a17 0%,#070a17f5 68%,#070a1700 100%);width:100vw;height:calc(100% + 4.2rem);position:absolute}.eyebrow{letter-spacing:.145em;font-size:.64rem}.intro-block h1{max-width:none;margin:.58rem 0 .66rem;font-size:clamp(2.7rem,13.8vw,3.85rem);line-height:.84}.intro-block__copy{color:#b3bdd0;max-width:18rem;font-size:.78rem;line-height:1.52}.explore-cues{display:none}.scene-stage:after{z-index:3;content:"";pointer-events:none;background:linear-gradient(#070a1799,#070a1700);width:100%;height:39%;position:absolute;top:0;left:0}.zoom-controls{top:52%;right:max(.7rem, env(safe-area-inset-right));grid-template-columns:3rem}.zoom-controls button{width:3rem;height:3rem}.zoom-controls button:after{display:none}.filter-bar{top:auto;right:max(.7rem, env(safe-area-inset-right));bottom:max(.7rem, calc(env(safe-area-inset-bottom) + .5rem));left:max(.7rem, env(safe-area-inset-left));background:linear-gradient(145deg,#0e142af5,#080c1cf0);border-radius:.78rem;grid-template-columns:repeat(6,minmax(0,1fr));gap:.16rem;width:auto;max-width:none;padding:.38rem;display:grid;box-shadow:0 1rem 2.8rem #0000005c,inset 0 1px #ffffff09}.filter-bar:after,.filter-bar__heading{display:none}.filter-bar button{text-align:center;border-radius:.5rem;flex-direction:column;justify-content:center;gap:.3rem;min-width:0;min-height:3.8rem;padding:.4rem .08rem .3rem;display:flex}.filter-bar button:hover{transform:none}.filter-bar button:before{width:1.25rem;height:2px;inset:0 auto auto 50%;transform:translate(-50%)scaleX(.35)}.filter-bar button.is-active:before{transform:translate(-50%)scaleX(1)}.filter-bar__icon{flex:none;width:1.85rem;height:1.85rem}.filter-bar__icon svg{width:1rem;height:1rem}.filter-bar__copy{width:100%;display:block}.filter-bar__copy strong{letter-spacing:0;font-size:.7rem;display:block}.filter-label-full{display:none}.filter-label-short{display:inline}.filter-bar__copy small,.filter-bar__count{display:none}.celestial-readout{min-width:8.5rem;max-width:calc(100vw - 1.5rem);padding:.4rem .56rem .44rem;bottom:auto;right:auto}.detail-panel{top:var(--selected-y,50%);right:max(.65rem, env(safe-area-inset-right));bottom:auto;left:max(.65rem, env(safe-area-inset-left));transform-origin:50% 100%;width:auto;max-height:none;padding:.95rem 1rem 1rem;overflow:visible;transform:translateY(calc(-100% - 2rem))}.detail-panel__scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9c7ff57 transparent;max-height:calc(36dvh - 1.95rem);overflow-y:auto}.detail-panel__scroll::-webkit-scrollbar{width:3px}.detail-panel__scroll::-webkit-scrollbar-thumb{background:#a9c7ff57;border-radius:99px}.detail-panel.is-open{transform:translateY(calc(-100% - 1.2rem))}.spatial-layout.detail-anchor-left .detail-panel,.spatial-layout.detail-anchor-left .detail-panel.is-open{transform-origin:50% 100%}.spatial-layout.detail-anchor-below .detail-panel{transform-origin:50% 0;transform:translateY(2rem)}.spatial-layout.detail-anchor-below .detail-panel.is-open{transform:translateY(1.2rem)}.detail-panel:after{top:100%;right:auto;left:clamp(1rem, calc(var(--selected-x,50%) - .7rem), calc(100% - 1rem));background:linear-gradient(#f6e7b7b3,#0000);width:1px;height:1.2rem}.spatial-layout.detail-anchor-below .detail-panel:after{top:auto;bottom:100%;right:auto;left:clamp(1rem, calc(var(--selected-x,50%) - .7rem), calc(100% - 1rem));background:linear-gradient(#0000,#f6e7b7b3)}.detail-panel{transition-duration:.28s;box-shadow:0 .8rem 2rem #0000003d,inset 0 1px #ffffff09}.detail-panel__body{font-size:.79rem;line-height:1.58}.detail-panel dt{font-size:.68rem}.detail-panel dd{font-size:.76rem;line-height:1.42}.detail-panel dl{margin:.72rem 0;padding:.62rem 0}.detail-panel h2{font-size:1.5rem}.detail-panel__summary{margin:.68rem 0 .36rem;font-size:.91rem}.tag-row span{font-size:.62rem}.panel-action{margin-top:.82rem}.onboarding-overlay{background:linear-gradient(#03050e94,#03050ee6);place-items:end center;padding:0}.onboarding-card{width:100%;max-height:78dvh;padding:1.55rem max(1.15rem, env(safe-area-inset-right)) max(1rem, calc(env(safe-area-inset-bottom) + .8rem)) max(1.15rem, env(safe-area-inset-left));border-bottom:0;border-left:0;border-right:0;border-radius:1rem 1rem 0 0}.onboarding-card:after{left:1.15rem}.onboarding-card__orbit{opacity:.7;top:-4.5rem;right:-4rem}.onboarding-card h2{max-width:calc(100% - 2.5rem);font-size:2.12rem}.onboarding-card__intro{margin:.7rem 0 1rem;font-size:.9rem}.onboarding-steps{gap:.2rem}.onboarding-steps li{grid-template-columns:2.65rem 1fr;gap:.68rem;min-height:3.45rem;padding:.42rem .2rem}.onboarding-steps strong{font-size:.78rem}.onboarding-steps p{font-size:.75rem}.onboarding-card__start{min-height:3.2rem;margin-top:.95rem;font-size:.78rem}.onboarding-card__keys,.footer{display:none}}@media (width<=360px){.topbar{padding-right:max(.65rem, env(safe-area-inset-right));padding-left:max(.65rem, env(safe-area-inset-left))}.topbar__actions,.social-dock{gap:.1rem}.intro-block{top:calc(max(.9rem, env(safe-area-inset-top)) + 4.25rem)}.intro-block h1{font-size:2.65rem}.intro-block__copy{max-width:16.5rem;font-size:.74rem;line-height:1.52}.filter-bar{right:max(.5rem, env(safe-area-inset-right));left:max(.5rem, env(safe-area-inset-left));gap:.1rem;padding:.3rem}.filter-bar button{min-height:3.55rem;padding-left:.04rem;padding-right:.04rem}.filter-bar__icon{width:1.68rem;height:1.68rem}.filter-bar__copy strong{font-size:.66rem}.zoom-controls{right:max(.5rem, env(safe-area-inset-right))}.onboarding-card{max-height:82dvh;padding-top:1.25rem}.onboarding-card h2{font-size:1.92rem}.onboarding-card__intro{font-size:.84rem}.onboarding-steps li{grid-template-columns:2.4rem 1fr}.onboarding-step__icon{width:2.15rem;height:2.15rem}}@media (height<=560px) and (orientation:landscape){.topbar{padding:max(.65rem, env(safe-area-inset-top)) max(.9rem, env(safe-area-inset-right)) 0 max(.9rem, env(safe-area-inset-left));grid-template-columns:1fr auto}.topbar__descriptor{display:none}.wordmark{font-size:.9rem}.topbar__actions{gap:.14rem}.social-dock{gap:.12rem}.topbar__guide{width:2.45rem;min-height:2.45rem}.social-link,.social-link:hover,.social-link:focus-visible{border-radius:.62rem;width:2.45rem;height:2.45rem}.intro-block{top:3.7rem;left:max(1rem, env(safe-area-inset-left));width:min(17rem,36vw)}.intro-block:before{z-index:-1;content:"";background:linear-gradient(90deg,#070a17 0%,#070a17eb 72%,#0000 100%);width:calc(100% + 4rem);height:calc(100% + 2.5rem);position:absolute;top:-1.2rem;left:-1rem}.intro-block h1{margin:.45rem 0 .55rem;font-size:clamp(2.35rem,6.2vw,3.3rem)}.intro-block__copy{max-width:14rem;font-size:.72rem;line-height:1.45}.explore-cues{display:none}.scene-stage:after{z-index:3;content:"";pointer-events:none;background:linear-gradient(90deg,#070a179e,#0000);width:38%;height:auto;position:absolute;inset:0 auto 0 0}.zoom-controls{top:50%;right:calc(max(.65rem, env(safe-area-inset-right)) + 3.05rem);grid-template-columns:2.7rem}.zoom-controls button{width:2.7rem;height:2.7rem}.filter-bar{top:auto;right:auto;bottom:max(.55rem, env(safe-area-inset-bottom));left:max(.8rem, env(safe-area-inset-left));border-radius:.68rem;grid-template-columns:repeat(6,minmax(0,1fr));gap:.12rem;width:min(26rem,58vw);max-width:none;padding:.32rem;display:grid}.filter-bar:after,.filter-bar__heading{display:none}.filter-bar button{text-align:center;border-radius:.42rem;flex-direction:column;justify-content:center;gap:.24rem;min-width:0;min-height:3.15rem;padding:.28rem .04rem .2rem;display:flex}.filter-bar button:hover{transform:none}.filter-bar button:before{width:1.1rem;height:2px;inset:0 auto auto 50%;transform:translate(-50%)scaleX(.35)}.filter-bar button.is-active:before{transform:translate(-50%)scaleX(1)}.filter-bar__icon{flex:none;width:1.55rem;height:1.55rem}.filter-bar__icon svg{width:.84rem;height:.84rem}.filter-bar__copy{width:100%;display:block}.filter-bar__copy strong{letter-spacing:0;font-size:.65rem;display:block}.filter-label-full{display:none}.filter-label-short{display:inline}.filter-bar__copy small,.filter-bar__count{display:none}.detail-panel{top:var(--selected-y,50%);bottom:auto;right:auto;left:var(--selected-x,62%);transform-origin:0;width:min(20rem,42vw);padding:.8rem .9rem .85rem;transform:translate(2.25rem,-50%)}.detail-panel.is-open{transform:translate(1.35rem,-50%)}.spatial-layout.detail-anchor-left .detail-panel{transform-origin:100%;transform:translate(calc(-100% - 2.25rem),-50%)}.spatial-layout.detail-anchor-left .detail-panel.is-open{transform:translate(calc(-100% - 1.35rem),-50%)}.detail-panel:after{background:linear-gradient(90deg,#0000,#f6e7b7b3);width:1.35rem;height:1px;inset:50% 100% auto auto}.spatial-layout.detail-anchor-left .detail-panel:after{background:linear-gradient(90deg,#f6e7b7b3,#0000);left:100%;right:auto}.detail-panel__scroll{overscroll-behavior:contain;max-height:calc(100dvh - 3.4rem);overflow-y:auto}.detail-panel h2{font-size:1.42rem}.detail-panel__summary{margin:.55rem 0 .32rem;font-size:.86rem}.detail-panel__body{font-size:.7rem;line-height:1.48}.detail-panel dl{margin:.55rem 0;padding:.5rem 0}.onboarding-overlay{padding:max(.55rem, env(safe-area-inset-top)) max(.8rem, env(safe-area-inset-right)) max(.55rem, env(safe-area-inset-bottom)) max(.8rem, env(safe-area-inset-left));place-items:center}.onboarding-card{border:1px solid #a9c7ff33;border-radius:.78rem;width:min(42rem,100%);max-height:calc(100dvh - 1.1rem);padding:1.15rem 1.35rem .9rem}.onboarding-card:after{left:1.35rem}.onboarding-card__eyebrow{margin-bottom:.38rem}.onboarding-card h2{font-size:1.85rem}.onboarding-card__intro{margin:.45rem 0 .7rem;font-size:.82rem}.onboarding-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.onboarding-steps li{border:1px solid #a9c7ff1a;border-radius:.42rem;grid-template-columns:2.2rem 1fr;gap:.45rem;min-height:4.4rem;padding:.38rem}.onboarding-step__icon{width:2rem;height:2rem}.onboarding-steps strong{font-size:.7rem}.onboarding-steps p{font-size:.64rem;line-height:1.38}.onboarding-card__start{min-height:2.65rem;margin-top:.65rem}.onboarding-card__keys{margin-top:.45rem}.footer{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
