:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:oklch(97.4% .008 250);--surface:oklch(100% .002 250);--fg:oklch(22% .028 260);--muted:oklch(42% .022 260);--border:oklch(88% .014 250);--accent:oklch(50% .14 250);--card-w:310px;--card-h:192px;--profile-w:400px;--font-display:Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-body:Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--radius:20px;--scrollbar-size:10px;--scrollbar-track:oklch(94% .008 250);--scrollbar-thumb:oklch(80% .02 250);--scrollbar-thumb-hover:oklch(50% .14 250)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);background-clip:padding-box;border-radius:999px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);border-color:var(--scrollbar-track)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.5;overflow-x:hidden}.bg-scene{pointer-events:none;z-index:0;--mx:0;--my:0;position:fixed;inset:0;overflow:hidden}.bg-wash{background:radial-gradient(55% 45% at 20% 30%,oklch(88% .06 240/.55),#0000 70%),radial-gradient(50% 40% at 80% 70%,oklch(90% .05 300/.45),#0000 70%),radial-gradient(45% 35% at 55% 15%,oklch(92% .04 40/.35),#0000 65%);animation:22s ease-in-out infinite wash-shift;position:absolute;inset:-20%}.bg-parallax{transform:translate(calc(var(--mx) * 18px), calc(var(--my) * 14px));will-change:transform;position:absolute;inset:0}.bg-glow{filter:blur(110px);will-change:transform, opacity;border-radius:50%;position:absolute}.bg-glow-1{background:oklch(84% .09 245/.65);width:520px;height:520px;animation:16s ease-in-out infinite glow-float-a;top:4%;left:4%}.bg-glow-2{background:oklch(88% .08 300/.55);width:480px;height:480px;animation:20s ease-in-out infinite glow-float-b;bottom:2%;right:2%}.bg-glow-3{background:oklch(90% .07 50/.4);width:420px;height:420px;animation:18s ease-in-out infinite glow-float-c;top:45%;left:40%}.bg-grid{transform:translate(calc(var(--mx) * 5px), calc(var(--my) * 5px));opacity:.85;background-image:linear-gradient(oklch(78% .02 250/.28) 1px,#0000 1px),linear-gradient(90deg,oklch(78% .02 250/.28) 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000 8%,#0000 72%);mask-image:radial-gradient(70% 60% at 50% 45%,#000 8%,#0000 72%)}@keyframes wash-shift{0%,to{opacity:.85;transform:translate(0)scale(1)}50%{opacity:1;transform:translate(-3%,2%)scale(1.06)}}@keyframes glow-float-a{0%,to{opacity:.5;transform:translate(0)scale(1)}40%{opacity:.85;transform:translate(48px,28px)scale(1.12)}70%{opacity:.6;transform:translate(-24px,40px)scale(.96)}}@keyframes glow-float-b{0%,to{opacity:.45;transform:translate(0)scale(1)}35%{opacity:.8;transform:translate(-56px,-24px)scale(1.1)}65%{opacity:.55;transform:translate(28px,-40px)scale(1.02)}}@keyframes glow-float-c{0%,to{opacity:.35;transform:translate(-50%,-50%)scale(1)}50%{opacity:.7;transform:translate(calc(36px - 50%),calc(-50% - 32px))scale(1.18)}}.page{z-index:1;flex-direction:column;justify-content:center;max-width:1380px;min-height:100dvh;margin:0 auto;padding:clamp(24px,4vw,48px);display:flex;position:relative}.hub{grid-template-columns:var(--card-w) minmax(280px, var(--profile-w)) var(--card-w);justify-content:center;align-items:center;gap:22px 36px;width:100%;margin:0 auto;display:grid}.hub-cards-left{flex-direction:column;grid-column:1;justify-content:center;align-items:flex-end;gap:16px;display:flex}.hub-cards-right{flex-direction:column;grid-column:3;justify-content:center;align-items:flex-start;gap:16px;display:flex}.hub-profile{flex-direction:column;grid-column:2;gap:18px;display:flex}.profile-photo{width:min(100%, var(--profile-w), calc(min(66vh, 560px) * .75));aspect-ratio:3/4;border-radius:var(--radius);border:1px solid var(--border);background:oklch(94% .01 250);margin-inline:auto;position:relative;overflow:hidden;box-shadow:0 1px 2px oklch(30% .02 260/.04),0 24px 56px oklch(40% .04 260/.12)}.profile-photo-img{object-fit:cover;object-position:center 18%;width:100%;height:100%;position:absolute;inset:0}.profile-meta{text-align:center;flex-direction:column;flex-shrink:0;gap:14px;display:flex}.profile-name{font-family:var(--font-display);letter-spacing:-.045em;color:var(--fg);font-size:clamp(28px,3.4vw,40px);font-weight:700;line-height:1.1}.profile-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.profile-link-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-width:132px;min-height:44px;padding:0 18px 0 12px;font-family:inherit;text-decoration:none;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 1px 2px oklch(30% .02 260/.05)}.profile-link-btn img{object-fit:contain;pointer-events:none;flex-shrink:0;width:22px;height:22px;display:block}.profile-link-label{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:600;transition:color .2s}.profile-link-btn:hover,.profile-link-btn:focus-visible{background:var(--surface);border-color:oklch(62% .12 250/.55);transform:translateY(-1px);box-shadow:0 8px 20px oklch(45% .05 250/.1)}.profile-link-btn:hover .profile-link-label,.profile-link-btn:focus-visible .profile-link-label{color:var(--fg)}.project-card{width:var(--card-w);height:var(--card-h);border-radius:var(--radius);cursor:pointer;color:oklch(99% .004 260);-webkit-tap-highlight-color:transparent;appearance:none;background:0 0;border:none;flex-shrink:0;padding:0;font-family:inherit;position:relative}.card-box{border-radius:inherit;border:1px solid var(--border);transition:transform .25s,border-color .25s,box-shadow .25s;position:absolute;inset:0;overflow:hidden;box-shadow:0 12px 28px oklch(40% .03 260/.1)}.card-img-layer{position:absolute;inset:0}.card-img-layer img{object-fit:cover;width:100%;height:100%;display:block}.card-shade{z-index:1;background:linear-gradient(oklch(30% .02 260/.08) 0%,oklch(22% .02 260/.22) 50%,oklch(14% .02 260/.72) 100%);transition:opacity .4s;position:absolute;inset:0}.card-doors{z-index:3;transform-style:preserve-3d;perspective:800px;position:absolute;inset:0}.card-door{background-image:var(--card-img);background-color:oklch(32% .02 260);background-repeat:no-repeat;background-size:200% 100%;width:50%;transition:transform .5s cubic-bezier(.22,1,.36,1);position:absolute;top:0;bottom:0;overflow:hidden}.card-door:before{content:"";background:linear-gradient(155deg,oklch(30% .025 260/.55),oklch(22% .02 265/.7));transition:opacity .4s;position:absolute;inset:0}.card-door-left{transform-origin:0;border-radius:var(--radius) 0 0 var(--radius);background-position:0%;left:0}.card-door-right{transform-origin:100%;border-radius:0 var(--radius) var(--radius) 0;background-position:100%;right:0}.card-title{z-index:4;font-family:var(--font-display);letter-spacing:-.03em;text-align:left;pointer-events:none;color:oklch(99% .004 260);text-shadow:0 1px 10px oklch(12% .02 260/.55);font-size:20px;font-weight:700;transition:opacity .3s;position:absolute;bottom:12px;left:14px;right:14px}.card-logo{z-index:5;object-fit:contain;object-position:left bottom;pointer-events:none;filter:drop-shadow(0 2px 8px oklch(8% .02 260/.55));width:auto;max-width:calc(100% - 28px);height:36px;position:absolute;bottom:12px;left:14px}.project-card:hover .card-box,.project-card:focus-visible .card-box,.project-card.is-revealed .card-box{border-color:oklch(62% .12 250/.5);transform:translateY(-5px);box-shadow:0 16px 36px oklch(45% .05 250/.14)}.project-card:hover .card-door-left,.project-card:focus-visible .card-door-left,.project-card.is-revealed .card-door-left{transform:rotateY(-78deg)}.project-card:hover .card-door-right,.project-card:focus-visible .card-door-right,.project-card.is-revealed .card-door-right{transform:rotateY(78deg)}.project-card:hover .card-door:before,.project-card:focus-visible .card-door:before,.project-card.is-revealed .card-door:before{opacity:.2}.project-card:hover .card-shade,.project-card:focus-visible .card-shade,.project-card.is-revealed .card-shade{opacity:.5}@media (hover:none){.project-card{touch-action:manipulation}}.mobile-only{display:none}.toast{background:var(--surface);border:1px solid var(--border);opacity:0;z-index:200;pointer-events:none;color:var(--fg);border-radius:10px;padding:10px 18px;font-size:13px;transition:transform .3s,opacity .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(60px);box-shadow:0 10px 28px oklch(40% .03 260/.12)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=1200px){:root{--profile-w:340px;--card-w:280px;--card-h:174px}.hub{gap:16px 24px}}@media (width<=900px){:root{--card-w:min(78vw, 280px);--card-h:calc(var(--card-w) * .6)}.page{padding:max(16px, env(safe-area-inset-top)) 0 max(24px, env(safe-area-inset-bottom));justify-content:flex-start}.hub{flex-direction:column;gap:0;max-width:100%;display:flex}.hub-cards-left,.hub-cards-right{display:none}.hub-profile{width:100%;margin-bottom:24px;padding:0 20px}.profile-photo{width:min(100%,400px,min(64vh,560px)/1.33333)}.mobile-only{padding:0 20px;display:block}.cards-stack{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;padding:4px 0 16px;display:grid}.cards-stack .project-card{width:100%;max-width:none}.hub-profile .profile-meta{padding:0}.hub-profile .profile-links{gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}.card-door-left,.card-door-right{transform:none!important}.card-doors{opacity:0}.project-card.is-revealed .card-doors{opacity:1}}
