:root{--bg: #030b22;--bg-2: #02081a;--panel: rgba(255,255,255,.06);--panel-2: rgba(255,255,255,.04);--line: rgba(255,255,255,.09);--line-hover: rgba(255,255,255,.18);--text: #f5f7ff;--muted: #a8b2ca;--accent: #7cc8ff;--accent-2: #72f1d1;--nav-bg: rgba(6,14,36,.72);--button-bg: rgba(255,255,255,.02);--button-primary-bg: #f6f7fb;--button-primary-text: #07101d;--button-primary-text-2: #f6f7fb;--shadow: 0 24px 80px rgba(0,0,0,.35);--hero-glow-1: rgba(68,108,191,.18);--hero-glow-2: rgba(114,241,209,.08);--radius: 24px;--max: 1120px;--detail-tag-bg: rgba(124,200,255,.055);--detail-tag-border: rgba(124,200,255,.14);--detail-tag-text: rgba(220,232,255,.9);--detail-bullet-glow: rgba(124,200,255,.5);--detail-card-bg-1: rgba(255,255,255,.05);--detail-card-bg-2: rgba(255,255,255,.025);--detail-card-border: rgba(255,255,255,.08);--detail-card-border-hover: rgba(124,200,255,.22);--detail-card-shadow: 0 18px 40px rgba(0,0,0,.18);--arch-stage-glow: rgba(124,200,255,.035);--arch-grid: rgba(255,255,255,.025);--arch-node-border: rgba(255,255,255,.09);--arch-node-bg-1: rgba(255,255,255,.065);--arch-node-bg-2: rgba(255,255,255,.035);--arch-node-shadow: 0 18px 40px rgba(0,0,0,.24);--arch-node-hover-border: rgba(124,200,255,.28);--arch-node-hover-shadow: 0 22px 46px rgba(0,0,0,.28), 0 0 24px rgba(124,200,255,.08);--arch-node-type: rgba(168,178,202,.8);--arch-node-detail: rgba(216,222,238,.75);--arch-node-divider: rgba(255,255,255,.06);--arch-core-border: rgba(124,200,255,.32);--arch-core-radial: rgba(124,200,255,.14);--arch-core-bg-1: rgba(124,200,255,.11);--arch-core-bg-2: rgba(255,255,255,.04);--arch-core-shadow: 0 20px 48px rgba(0,0,0,.3), 0 0 38px rgba(124,200,255,.12);--arch-pulse-border: rgba(124,200,255,.22);--hero-visual-shadow: rgba(0, 0, 0, .3);--hero-halo-outer: rgba(97, 170, 255, .14);--hero-halo-inner: rgba(114, 241, 209, .08);--hero-ring: rgba(180, 202, 255, .08);--hero-axis-start: rgba(180, 202, 255, .28);--hero-axis-end: rgba(180, 202, 255, .04);--hero-label: rgba(196, 210, 242, .72);--hero-back-fill: rgba(255, 213, 74, .12);--hero-back-stroke: rgba(255, 213, 74, .24);--hero-front-fill: rgba(73, 187, 255, .34);--hero-front-stroke: rgba(149, 221, 255, .58);--hero-core: #f5f8ff;--hero-core-ring: rgba(255, 255, 255, .04);--hero-core-glow: rgba(140, 199, 255, .28);--tech-fade-solid: #02081a;--tech-fade-mid: rgba(3,11,34,.84);--tech-fade-transparent: rgba(3,11,34,0);--tech-label: #d8deee;--cv-cta-bg: #f6f7fb;--cv-cta-text: #09111d;--cv-cta-hover-bg-1: rgba(255,255,255,.06);--cv-cta-hover-bg-2: rgba(255,255,255,.04);--cv-cta-hover-text: #ffffff;--cv-cta-hover-border: rgba(255,255,255,.25);--cv-card-hover-border: rgba(255,255,255,.16);--cv-card-shadow: 0 14px 36px rgba(0,0,0,.22), 0 0 18px rgba(124,200,255,.1);--cv-glow: rgba(140,199,255,.18);--hero-accent: #7cc8ff;--hero-button-border: rgba(255,255,255,.14);--hero-primary-bg: #f6f7fb;--hero-primary-text: #07101d;--hero-primary-hover-text: #ffffff;--hero-primary-shadow: 0 8px 24px rgba(124,200,255,.18);--logo-badge-bg: rgba(255,255,255,.05);--logo-badge-border: rgba(255,255,255,.08);--logo-badge-shadow: 0 12px 28px rgba(0,0,0,.18)}html[data-theme=light]{--bg: #f5f7fb;--bg-2: #edf2f8;--panel: rgba(255,255,255,.86);--panel-2: rgba(255,255,255,.68);--line: rgba(24,45,75,.12);--line-hover: rgba(24,45,75,.22);--text: #101827;--muted: #5f6e84;--accent: #2f8ed6;--accent-2: #45bfa8;--nav-bg: rgba(255,255,255,.76);--button-bg: rgba(255,255,255,.62);--button-primary-bg: #101827;--button-primary-text: #ffffff;--button-primary-text-2: #101827;--shadow: 0 20px 60px rgba(60,80,110,.12);--hero-glow-1: rgba(90,157,220,.14);--hero-glow-2: rgba(72,190,165,.09);--detail-tag-bg: rgba(47,142,214,.07);--detail-tag-border: rgba(47,142,214,.18);--detail-tag-text: #31506f;--detail-bullet-glow: rgba(47,142,214,.32);--detail-card-bg-1: rgba(255,255,255,.78);--detail-card-bg-2: rgba(255,255,255,.58);--detail-card-border: rgba(24,45,75,.11);--detail-card-border-hover: rgba(47,142,214,.28);--detail-card-shadow: 0 18px 40px rgba(65,85,110,.1);--arch-stage-glow: rgba(47,142,214,.025);--arch-grid: rgba(20,40,70,.05);--arch-node-border: rgba(24,45,75,.12);--arch-node-bg-1: rgba(255,255,255,.92);--arch-node-bg-2: rgba(245,248,252,.82);--arch-node-shadow: 0 14px 32px rgba(55,75,100,.1);--arch-node-hover-border: rgba(47,142,214,.26);--arch-node-hover-shadow: 0 18px 38px rgba(55,75,100,.12), 0 0 20px rgba(47,142,214,.06);--arch-node-type: rgba(70,88,112,.72);--arch-node-detail: rgba(67,82,104,.78);--arch-node-divider: rgba(24,45,75,.08);--arch-core-border: rgba(47,142,214,.28);--arch-core-radial: rgba(47,142,214,.1);--arch-core-bg-1: rgba(230,242,252,.95);--arch-core-bg-2: rgba(255,255,255,.88);--arch-core-shadow: 0 16px 38px rgba(55,75,100,.12), 0 0 30px rgba(47,142,214,.08);--arch-pulse-border: rgba(47,142,214,.18);--hero-visual-shadow: rgba(54, 78, 110, .14);--hero-halo-outer: rgba(47, 142, 214, .1);--hero-halo-inner: rgba(69, 191, 168, .07);--hero-ring: rgba(40, 78, 120, .12);--hero-axis-start: rgba(46, 82, 120, .26);--hero-axis-end: rgba(46, 82, 120, .045);--hero-label: rgba(56, 76, 104, .76);--hero-back-fill: rgba(222, 169, 22, .12);--hero-back-stroke: rgba(198, 142, 0, .3);--hero-front-fill: rgba(47, 142, 214, .2);--hero-front-stroke: rgba(47, 142, 214, .5);--hero-core: #ffffff;--hero-core-ring: rgba(47, 142, 214, .07);--hero-core-glow: rgba(47, 142, 214, .22);--tech-fade-solid: #edf2f8;--tech-fade-mid: rgba(237,242,248,.84);--tech-fade-transparent: rgba(237,242,248,0);--tech-label: #41516a;--cv-cta-bg: #101827;--cv-cta-text: #ffffff;--cv-cta-hover-bg-1: rgba(47,142,214,.1);--cv-cta-hover-bg-2: rgba(47,142,214,.06);--cv-cta-hover-text: #1e5f91;--cv-cta-hover-border: rgba(47,142,214,.26);--cv-card-hover-border: rgba(47,142,214,.2);--cv-card-shadow: 0 14px 34px rgba(55,75,100,.12), 0 0 18px rgba(47,142,214,.07);--cv-glow: rgba(47,142,214,.1);--hero-accent: #2f8ed6;--hero-button-border: rgba(24,45,75,.14);--hero-primary-bg: #101827;--hero-primary-text: #ffffff;--hero-primary-hover-text: #ffffff;--hero-primary-shadow: 0 8px 24px rgba(47,142,214,.14);--logo-badge-bg: rgba(24, 63, 110, .06);--logo-badge-border: rgba(24, 63, 110, .1);--logo-badge-shadow: 0 10px 24px rgba(20, 31, 52, .08)}html[data-theme=light] .icon.light-fix-dark{filter:brightness(.25);saturate(100%)}*{box-sizing:border-box}html{scroll-snap-type:y proximity;scroll-behavior:smooth;min-height:100%;overflow-x:clip;background:radial-gradient(circle at top center,var(--hero-glow-1),transparent 28%),radial-gradient(circle at 80% 20%,var(--hero-glow-2),transparent 26%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:transparent;line-height:1.6;overflow-x:clip}main{flex:1}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(calc(100% - 2rem),var(--max));margin:0 auto}.section{padding:2.5rem 0}.page-hero{padding:8rem 0 4rem;margin:0}.page-eyebrow{display:inline-block;margin:0;color:var(--accent);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;line-height:1.2}.page-title{margin:.65rem 0 1.6rem;font-size:clamp(2.8rem,6vw,5rem);line-height:.98;letter-spacing:-.055em}.page-accent{color:var(--accent)}.page-description{margin:0;max-width:46rem;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.6rem}.section-head h2{margin:0;font-size:clamp(1.6rem,2vw,2.3rem);letter-spacing:-.03em}.section-head p{margin:0;color:var(--muted);max-width:42rem}.panel{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.button-row{display:flex;flex-wrap:wrap;gap:.9rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.25rem;border-radius:999px;border:1px solid var(--line);background:var(--button-bg);color:var(--text);font-weight:600;transition:transform .2s ease,border-color .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);border-color:var(--line-hover)}.button.primary{background:var(--button-primary-bg);color:var(--button-primary-text);border-color:transparent}.tag-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.tag{padding:.4rem .7rem;border-radius:999px;font-size:.85rem;color:var(--tag-text);border:1px solid var(--tag-border);background:var(--tag-bg)}.nav-wrap{position:absolute;top:2rem;left:0;width:100%;z-index:1000;pointer-events:none}.home-page .nav-wrap{position:fixed}.nav{width:fit-content;margin:0 auto;display:flex;align-items:center;gap:.3rem;padding:.42rem;border:1px solid var(--line);border-radius:999px;background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);pointer-events:auto;overflow:visible}.nav-item{position:relative;width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);font:inherit;line-height:1;cursor:pointer;appearance:none;-webkit-appearance:none;outline:none;box-shadow:none;transition:width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1),transform .28s cubic-bezier(.2,.8,.2,1),color .2s ease,background .22s ease,box-shadow .22s ease}.nav-item.active{color:var(--text);background:transparent;transform:none;box-shadow:none}.nav-item:hover{width:50px;height:50px;color:var(--text);background:#7cc8ff14;transform:translateY(-4px);box-shadow:0 10px 26px #0000001f}.nav-item.active:hover{color:var(--accent);background:#7cc8ff21}.nav-icon{display:block;width:21px;height:21px;flex:0 0 auto;overflow:visible;transition:transform .28s cubic-bezier(.2,.8,.2,1)}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{transform:scale(1.08)}.nav-item:after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + .5rem);transform:translate(-50%) translateY(5px) scale(.96);padding:.32rem .55rem;border:1px solid var(--line);border-radius:9px;background:var(--nav-bg);color:var(--text);font-size:.72rem;font-weight:500;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 22px #0000001f;transition:opacity .18s ease,transform .18s ease}.nav-item:hover:after{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.nav-divider{width:1px;height:24px;margin:0 .32rem;flex:0 0 auto;background:var(--line);border-radius:999px}.theme-toggle{color:var(--text)}.theme-toggle:hover,.theme-toggle:focus,.theme-toggle:focus-visible,.theme-toggle:active{border:none;outline:none}.theme-icon{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}.theme-icon svg{display:block;width:20px;height:20px}.sun-core{fill:currentColor}.sun-rays line{stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.moon-shape{fill:currentColor}html[data-theme=dark] .theme-icon.sun,html:not([data-theme]) .theme-icon.sun{opacity:1;transform:rotate(0) scale(1)}html[data-theme=dark] .theme-icon.moon,html:not([data-theme]) .theme-icon.moon{opacity:0;transform:rotate(90deg) scale(.45)}html[data-theme=light] .theme-icon.sun{opacity:0;transform:rotate(-90deg) scale(.45)}html[data-theme=light] .theme-icon.moon{opacity:1;transform:rotate(0) scale(1)}html[data-theme=light] .nav-item.active{background:#2f8ed61a;box-shadow:0 8px 22px #374b6414}html[data-theme=light] .nav-item:hover{background:#2f8ed614;box-shadow:0 10px 24px #374b6417}html[data-theme=light] .nav-item.active:hover{background:#2f8ed621}footer{padding:2.5rem 0 3rem;text-align:center;color:var(--muted);font-size:.95rem}@media(max-width:720px){.nav{gap:.22rem;padding:.38rem}.nav-item{width:38px;height:38px}.nav-item.active,.nav-item:hover{width:46px;height:46px;transform:translateY(-2px)}.nav-icon{width:20px;height:20px}.theme-icon svg{width:19px;height:19px}.nav-divider{height:22px;margin:0 .25rem}}@media(prefers-reduced-motion:reduce){.nav-item,.nav-icon,.theme-icon,.nav-item:after{transition:none}}
