:root{--paper:#f4f8ff;--paper-alt:#e9f1fb;--panel:#ffffff75;--panel-solid:#fff;--ink:#111827;--ink-soft:#334155;--ink-muted:#64748b;--line:#0f172a1f;--line-strong:#0f172a33;--glass-edge:#ffffffb3;--glass-highlight:#ffffffdb;--glass-shadow:#0f172a1f;--accent:#007aff;--accent-strong:#005ecb;--signal:#ff8a4c;--violet:#7c3aed;--lime:#32d583;--danger:#ef4444;--shadow:0 26px 70px #0f172a29;--shadow-soft:0 14px 38px #0f172a1a;--radius:8px;--max-width:1180px;--font-sans:"Segoe UI", Arial, Helvetica, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}[data-theme=dark]{--paper:#080b12;--paper-alt:#101826;--panel:#141c2a94;--panel-solid:#141c2a;--ink:#f8fbff;--ink-soft:#c9d4e5;--ink-muted:#91a0b8;--line:#f8fbff21;--line-strong:#f8fbff3d;--glass-edge:#ffffff38;--glass-highlight:#ffffff47;--glass-shadow:#00000070;--accent:#66d9ef;--accent-strong:#a7f3ff;--signal:#ffb86b;--violet:#b9a3ff;--lime:#8ff5bd;--danger:#ff7b8a;--shadow:0 28px 80px #00000075;--shadow-soft:0 14px 42px #0000004d}*,:before,:after{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:linear-gradient(180deg, #ffffffd1, transparent 42rem), linear-gradient(115deg, #007aff24, transparent 34%, #ff8a4c1f 72%, transparent), linear-gradient(45deg, #7c3aed1a, transparent 46%), var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow-x:hidden}[data-theme=dark] body{background:linear-gradient(180deg, #080b12f5, transparent 42rem), linear-gradient(115deg, #66d9ef29, transparent 34%, #ffb86b1f 72%, transparent), linear-gradient(45deg, #b9a3ff1f, transparent 46%), var(--paper)}body:before{z-index:-1;pointer-events:none;content:"";opacity:.62;background:linear-gradient(120deg,#ffffff5c,#0000 30%,#ffffff29 58%,#0000),repeating-linear-gradient(90deg,#ffffff1f 0 1px,#0000 1px 20px),repeating-linear-gradient(0deg,#0f172a06 0 1px,#0000 1px 22px);position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#000000db 62%,#0000 100%);mask-image:linear-gradient(#000 0%,#000000db 62%,#0000 100%)}[data-theme=dark] body:before{opacity:.7;background:linear-gradient(120deg,#ffffff14,#0000 36%,#66d9ef14 64%,#0000),repeating-linear-gradient(90deg,#ffffff0e 0 1px,#0000 1px 22px),repeating-linear-gradient(0deg,#ffffff0a 0 1px,#0000 1px 24px)}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;background:0 0;border:0}button,a{-webkit-tap-highlight-color:transparent}img,svg{display:block}p,h1,h2,h3{margin-top:0}p{margin-bottom:0}:focus-visible{outline:3px solid var(--signal);outline-offset:4px}::selection{color:#111;background:var(--lime)}#root{min-height:100vh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;border:1px solid var(--accent);border-radius:var(--radius);color:#fff;background:var(--accent);padding:.65rem .85rem;font-weight:800;transition:transform .18s;position:fixed;top:14px;left:14px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;border-bottom:1px solid var(--glass-edge);background:linear-gradient(180deg, color-mix(in srgb, var(--panel-solid) 54%, transparent), color-mix(in srgb, var(--panel-solid) 24%, transparent)), color-mix(in srgb, var(--paper) 72%, transparent);-webkit-backdrop-filter:blur(28px)saturate(180%);backdrop-filter:blur(28px)saturate(180%);box-shadow:0 1px 0 #ffffff47, 0 16px 38px color-mix(in srgb, var(--glass-shadow) 42%, transparent);position:sticky;top:0}.nav{width:min(calc(100% - 2rem), var(--max-width));align-items:center;gap:1rem;min-height:4.4rem;margin:0 auto;display:flex}.brand{align-items:center;gap:.75rem;min-width:0;margin-right:auto;display:inline-flex}.brand-mark{border-radius:var(--radius);color:#fff;background:linear-gradient(145deg, #ffffff5c, transparent 34%), linear-gradient(135deg, var(--accent), var(--violet) 58%, var(--signal)), var(--accent);width:3rem;height:3rem;font-family:var(--font-mono);box-shadow:inset 0 1px 0 #ffffff94, 0 12px 28px color-mix(in srgb, var(--accent) 24%, transparent);flex:none;place-items:center;font-size:.82rem;font-weight:900;display:grid;position:relative;overflow:hidden}.brand-mark:after{content:"";opacity:.8;background:linear-gradient(#ffffff9e,#0000);border-radius:999px;height:34%;position:absolute;inset:.28rem .34rem auto}.brand-copy{min-width:0;line-height:1.05;display:grid}.brand-text{font-weight:900}.brand-subtitle{color:var(--ink-muted);font-family:var(--font-mono);font-size:.78rem;font-weight:700}.nav-controls{align-items:center;gap:.5rem;display:inline-flex}.theme-toggle,.nav-toggle,.back-to-top,.project-link{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 64%, transparent), color-mix(in srgb, var(--panel-solid) 26%, transparent)), var(--panel);-webkit-backdrop-filter:blur(22px)saturate(170%);backdrop-filter:blur(22px)saturate(170%);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 10px 28px color-mix(in srgb, var(--glass-shadow) 40%, transparent);cursor:pointer;justify-content:center;align-items:center;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-flex}.theme-toggle,.project-link{width:2.45rem;height:2.45rem}.theme-toggle:hover,.nav-toggle:hover,.back-to-top:hover,.project-link:hover{color:#fff;border-color:color-mix(in srgb, var(--accent) 54%, var(--glass-edge));background:linear-gradient(145deg, #ffffff57, transparent 42%), linear-gradient(135deg, var(--accent), var(--violet));transform:translateY(-2px)}.nav-toggle{gap:.42rem;min-height:2.45rem;padding:0 .72rem;font-weight:800;display:none}.nav-links{align-items:center;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a{border-radius:var(--radius);color:var(--ink-soft);padding:.58rem .75rem;font-size:.92rem;font-weight:800;transition:color .18s,background .18s,box-shadow .18s;display:block}.nav-links a:hover,.nav-links a.is-active{color:var(--accent-strong);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 58%, transparent), color-mix(in srgb, var(--accent) 12%, transparent));box-shadow:inset 0 1px 0 var(--glass-highlight), 0 8px 20px color-mix(in srgb, var(--accent) 12%, transparent)}.section{width:min(calc(100% - 2rem), var(--max-width));margin:0 auto;padding:5.4rem 0;scroll-margin-top:5.2rem}.section-alt{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(110deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 34%, color-mix(in srgb, var(--violet) 8%, transparent)), color-mix(in srgb, var(--paper-alt) 68%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:100%;max-width:none}.section-alt>*{width:min(calc(100% - 2rem), var(--max-width));margin-left:auto;margin-right:auto}.hero{grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);align-items:center;gap:3rem;min-height:calc(78svh - 4.4rem);padding-top:3.4rem;padding-bottom:3.2rem;display:grid}.hero-content,.hero-panel-stack{min-width:0}.eyebrow,.mission-kicker,.card-kicker,.project-tag,.mission-label,.level,.timeline time,.contact-card span,.terminal-title,.terminal-status-indicator,.status-list dt{color:var(--accent-strong);font-family:var(--font-mono);font-size:.78rem;font-weight:800}.eyebrow{margin-bottom:.95rem}h1{max-width:780px;margin-bottom:1rem;font-size:4.8rem;font-weight:950;line-height:.95}h2{max-width:820px;margin-bottom:0;font-size:2.75rem;font-weight:920;line-height:1.02}h3{margin-bottom:.55rem;font-size:1.18rem;font-weight:900;line-height:1.2}.hero-subtitle{max-width:690px;color:var(--ink);margin-bottom:1rem;font-size:1.35rem;font-weight:850;line-height:1.28}.hero-text,.text-block,.note-card p,.skill-card p,.project-card p,.timeline p,.contact-intro p,.lab-readout p{color:var(--ink-soft)}.hero-text{max-width:690px;margin-bottom:1.5rem;font-size:1.05rem}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:760px;margin:0 0 1.6rem;padding:0;list-style:none;display:grid}.hero-metrics li{border:1px solid var(--glass-edge);border-radius:var(--radius);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 62%, transparent), color-mix(in srgb, var(--panel-solid) 22%, transparent)), var(--panel);-webkit-backdrop-filter:blur(20px)saturate(170%);backdrop-filter:blur(20px)saturate(170%);min-width:0;box-shadow:inset 0 1px 0 var(--glass-highlight), 0 12px 32px color-mix(in srgb, var(--glass-shadow) 42%, transparent);padding:.95rem}.hero-metrics strong{margin-bottom:.15rem;font-size:1.05rem;display:block}.hero-metrics span{color:var(--ink-muted);font-size:.86rem;display:block}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{border:1px solid var(--glass-edge);border-radius:var(--radius);cursor:pointer;-webkit-backdrop-filter:blur(22px)saturate(180%);backdrop-filter:blur(22px)saturate(180%);min-height:3.05rem;box-shadow:inset 0 1px 0 var(--glass-highlight), 0 14px 34px color-mix(in srgb, var(--glass-shadow) 38%, transparent);justify-content:center;align-items:center;gap:.5rem;padding:.78rem 1rem;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{color:#fff;background:linear-gradient(145deg, #ffffff52, transparent 42%), linear-gradient(135deg, var(--accent), var(--violet));box-shadow:inset 0 1px 0 #ffffff8c, 0 16px 36px color-mix(in srgb, var(--accent) 28%, transparent)}.button-primary:hover{background:linear-gradient(145deg, #ffffff61, transparent 42%), linear-gradient(135deg, var(--accent-strong), var(--violet))}.button-secondary{color:var(--ink);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 64%, transparent), color-mix(in srgb, var(--panel-solid) 24%, transparent)), var(--panel)}.button-secondary:hover{color:var(--ink);border-color:color-mix(in srgb, var(--lime) 60%, var(--glass-edge));background:linear-gradient(145deg, #ffffff70, transparent 48%), color-mix(in srgb, var(--lime) 34%, var(--panel))}.hero-panel-stack{gap:1rem;display:grid}.mission-card,.status-card,.note-card,.skill-card,.project-card,.contact-card,.timeline li{border:1px solid var(--glass-edge);border-radius:var(--radius);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 64%, transparent), color-mix(in srgb, var(--panel-solid) 20%, transparent)), var(--panel);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);box-shadow:inset 0 1px 0 var(--glass-highlight), inset 0 -1px 0 #ffffff1f, 0 16px 38px color-mix(in srgb, var(--glass-shadow) 40%, transparent)}.mission-card{grid-template-columns:minmax(0,1fr);gap:.85rem;padding:.95rem;display:grid}.mission-card strong{margin-top:.25rem;font-size:1.22rem;line-height:1.12;display:block}.mission-rewards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.mission-rewards span{border:1px solid var(--glass-edge);border-radius:var(--radius);min-width:0;color:var(--ink-soft);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 58%, transparent), color-mix(in srgb, var(--accent) 8%, transparent));box-shadow:inset 0 1px 0 var(--glass-highlight);align-items:center;gap:.42rem;padding:.5rem .62rem;font-size:.82rem;font-weight:800;display:inline-flex}.mission-rewards svg{color:var(--signal);flex:none}.status-card{overflow:hidden}.terminal-header{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--panel-solid) 58%, transparent), color-mix(in srgb, var(--accent) 8%, transparent)), var(--panel);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem .9rem;display:grid}.mac-dots{gap:.35rem;display:inline-flex}.dot{border-radius:50%;width:.62rem;height:.62rem}.dot-close{background:var(--danger)}.dot-minimize{background:var(--signal)}.dot-maximize{background:var(--lime)}.terminal-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.terminal-status-indicator{color:var(--ink-soft);align-items:center;gap:.42rem;display:inline-flex}.live-dot{background:var(--lime);width:.58rem;height:.58rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--lime) 20%, transparent);border-radius:50%}.topology{border-bottom:1px solid var(--line);background:linear-gradient(#ffffff21 1px, transparent 1px), linear-gradient(90deg, #ffffff1f 1px, transparent 1px), linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, transparent), transparent 45%, color-mix(in srgb, var(--violet) 12%, transparent)), color-mix(in srgb, var(--paper-alt) 66%, var(--panel-solid));background-size:30px 30px,30px 30px,auto,auto;min-height:240px;position:relative;overflow:hidden}.topology:after{z-index:0;content:"";pointer-events:none;background:linear-gradient(120deg,#0000 14%,#ffffff2e 38%,#0000 58%),radial-gradient(at 55% 0,#fff3,#0000 48%);position:absolute;inset:0}.topology-links{z-index:1;width:100%;height:100%;position:absolute;inset:0}.topology-links line{stroke:color-mix(in srgb, var(--ink-muted) 45%, transparent);stroke-linecap:round;stroke-width:2.5px;vector-effect:non-scaling-stroke;transition:stroke .18s,stroke-width .18s}.topology-links line.active{stroke:var(--signal);stroke-dasharray:8 5;stroke-width:3.5px;animation:1.3s linear infinite link-pulse}.node{z-index:2;border:1px solid var(--glass-edge);border-radius:var(--radius);min-width:5.1rem;height:2.6rem;color:var(--ink);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 68%, transparent), color-mix(in srgb, var(--panel-solid) 30%, transparent)), var(--panel);-webkit-backdrop-filter:blur(16px)saturate(170%);backdrop-filter:blur(16px)saturate(170%);font-family:var(--font-mono);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 10px 24px color-mix(in srgb, var(--glass-shadow) 34%, transparent);justify-content:center;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.8rem;font-weight:900;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}button.node{cursor:pointer}button.node:hover,button.node.active,button.node:focus-visible{color:#111;border-color:var(--lime);background:var(--lime);transform:translate(-50%,-50%)scale(1.05)}.node-main{color:#fff;background:linear-gradient(145deg, #ffffff52, transparent 44%), linear-gradient(135deg, var(--accent), var(--violet));border-color:color-mix(in srgb, var(--accent) 48%, var(--glass-edge));top:50%;left:50%}.node-a{top:24%;left:20%}.node-b{top:24%;left:80%}.node-c{top:78%;left:22%}.node-d{top:78%;left:78%}.lab-readout{border-bottom:1px solid var(--line);padding:.95rem}.lab-readout h3{margin-top:.25rem}.lab-readout ul{flex-wrap:wrap;gap:.45rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.lab-readout li{border:1px solid var(--glass-edge);color:var(--ink-soft);background:color-mix(in srgb, var(--accent) 10%, var(--panel));border-radius:999px;padding:.34rem .55rem;font-size:.82rem;font-weight:800}.status-list{gap:0;margin:0;padding:.2rem .95rem .9rem;display:grid}.status-list div{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;gap:.8rem;padding:.55rem 0;display:grid}.status-list div:last-child{border-bottom:0}.status-list dd{color:var(--ink);margin:0;font-weight:800}.section-heading{margin-bottom:2.2rem}.section-heading:after{content:"";background:linear-gradient(90deg, var(--accent), var(--lime), var(--signal), var(--violet), transparent);width:min(100%,620px);height:3px;box-shadow:0 0 18px color-mix(in srgb, var(--accent) 38%, transparent);border-radius:999px;margin-top:1rem;display:block}.two-columns{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:start;gap:1rem;display:grid}.text-block{max-width:760px;font-size:1.05rem}.text-block p+p{margin-top:1rem}.note-card{padding:1.2rem;position:relative;overflow:hidden}.note-card h3{margin-top:.28rem}.mission-list{gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.mission-list li{color:var(--ink);gap:.55rem;font-weight:760;display:flex}.mission-list li:before{color:var(--signal);content:">";font-family:var(--font-mono);flex:none;font-weight:900}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.skill-card{min-height:13rem;padding:1.2rem;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.skill-card:hover,.project-card:hover,.contact-card:hover,.note-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:var(--shadow);transform:translateY(-4px)}.skill-index{color:color-mix(in srgb, var(--accent) 22%, transparent);font-family:var(--font-mono);font-size:2.4rem;font-weight:950;line-height:1;position:absolute;top:.9rem;right:1rem}.level{border:1px solid color-mix(in srgb, var(--signal) 42%, var(--glass-edge));color:var(--signal);background:color-mix(in srgb, var(--signal) 12%, var(--panel));border-radius:999px;margin-bottom:.75rem;padding:.28rem .54rem;display:inline-flex}.skill-meter{border:1px solid color-mix(in srgb, var(--glass-edge) 72%, transparent);background:color-mix(in srgb, var(--panel-solid) 34%, transparent);border-radius:999px;height:.46rem;margin-top:1rem;overflow:hidden}.skill-meter span{width:var(--skill-level);border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--lime), var(--signal));height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 46%, transparent);display:block}.projects-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.project-card{flex-direction:column;min-height:100%;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;overflow:hidden}.project-media{border-bottom:1px solid var(--line);background:var(--paper-alt);height:12.5rem;position:relative;overflow:hidden}.project-poster{color:#fff;text-align:center;background:linear-gradient(145deg, #ffffff61, transparent 36%), linear-gradient(115deg, var(--accent), var(--violet) 54%, var(--signal));background-size:auto,auto;place-items:center;width:100%;height:100%;padding:1rem;display:grid;position:relative;overflow:hidden}.project-poster:before{content:"";filter:blur(6px);opacity:.68;pointer-events:none;background:conic-gradient(from 120deg,#0000,#ffffff57,#0000 38%,#ffffff2e,#0000 72%),linear-gradient(100deg,#0000 18%,#ffffff47 42%,#0000 64%);position:absolute;inset:-20%;transform:rotate(-7deg)}.project-poster svg,.project-poster span{z-index:1;position:relative}.project-poster svg{filter:drop-shadow(0 10px 16px #00000038);margin-bottom:.65rem}.project-poster span{max-width:11rem;font-weight:950;line-height:1.08}.project-poster-infra{background-image:linear-gradient(145deg,#ffffff5c,#0000 36%),linear-gradient(135deg,#007aff,#32d583 56%,#7c3aed)}.project-poster-system{background-image:linear-gradient(145deg,#ffffff57,#0000 36%),linear-gradient(135deg,#334155,#007aff 56%,#32d583)}.project-poster-python{background-image:linear-gradient(145deg,#ffffff5c,#0000 36%),linear-gradient(135deg,#7c3aed,#007aff 58%,#ff8a4c)}.project-poster-iot{background-image:linear-gradient(145deg,#ffffff5c,#0000 36%),linear-gradient(135deg,#32d583,#00b4d8 58%,#007aff)}.project-poster-security{background-image:linear-gradient(145deg,#ffffff57,#0000 36%),linear-gradient(135deg,#ef4444,#7c3aed 54%,#007aff)}.project-poster-training{background-image:linear-gradient(145deg,#ffffff5c,#0000 36%),linear-gradient(135deg,#ff8a4c,#7c3aed 58%,#334155)}.mission-label{z-index:2;color:#07111d;background:linear-gradient(145deg, #ffffff85, transparent 46%), color-mix(in srgb, var(--lime) 72%, white);border:1px solid #ffffff94;border-radius:999px;padding:.3rem .52rem;position:absolute;top:.8rem;left:.8rem;box-shadow:inset 0 1px #ffffffa3,0 10px 22px #00000029}.project-details{flex-direction:column;flex:1;padding:1.1rem;display:flex}.project-header{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.project-tag{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--glass-edge));min-width:0;color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 10%, var(--panel));border-radius:999px;padding:.28rem .52rem}.project-link{flex:none}.timeline{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.timeline li{grid-template-columns:10rem minmax(0,1fr);align-items:start;gap:1rem;padding:1rem;display:grid}.timeline time{border:1px solid color-mix(in srgb, var(--signal) 40%, var(--glass-edge));width:fit-content;color:var(--signal);background:color-mix(in srgb, var(--signal) 12%, var(--panel));border-radius:999px;padding:.35rem .6rem}.contact-section{padding-bottom:4rem}.contact-intro{max-width:780px;margin-bottom:1.2rem;font-size:1.05rem}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:720px;display:grid}.contact-card{min-width:0;padding:1.15rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:block}.contact-card-head{color:var(--accent-strong);align-items:center;gap:.55rem;margin-bottom:.6rem;display:flex}.contact-card strong{overflow-wrap:anywhere;font-size:1.08rem;line-height:1.2;display:block}.footer{width:min(calc(100% - 2rem), var(--max-width));border-top:1px solid var(--line);color:var(--ink-muted);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.4rem 0 2rem;font-size:.85rem;font-weight:800;display:flex}.footer p{margin-bottom:0}.back-to-top{min-height:2.5rem;padding:0 .9rem;font-size:.86rem;font-weight:850}@keyframes link-pulse{to{stroke-dashoffset:-13px}}@media (width<=1040px){.hero,.two-columns{grid-template-columns:1fr}.hero{min-height:auto;padding-top:3.8rem}.hero-panel-stack{max-width:760px}.skills-grid,.projects-list,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.nav{width:min(calc(100% - 1rem), var(--max-width));gap:.5rem}.brand-mark{width:2.65rem;height:2.65rem;font-size:.74rem}.brand-subtitle{display:none}.nav-toggle{display:inline-flex}.nav-toggle span,.theme-toggle{display:none}.nav-controls{z-index:70;position:fixed;top:1rem;right:.75rem;transform:none}.nav-links{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--panel-solid) 58%, transparent), color-mix(in srgb, var(--paper) 82%, transparent)), var(--panel);-webkit-backdrop-filter:blur(26px)saturate(180%);backdrop-filter:blur(26px)saturate(180%);box-shadow:0 18px 34px color-mix(in srgb, var(--glass-shadow) 38%, transparent);flex-direction:column;align-items:stretch;gap:.35rem;padding:.8rem 1rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.is-open{display:flex}.nav-links a{padding:.85rem}.section,.section-alt>*{width:min(calc(100% - 1rem), var(--max-width))}.section{padding:4.1rem 0}.hero{gap:2rem;padding-top:3rem;padding-bottom:3.6rem}h1{font-size:3.2rem}h2{font-size:2.15rem}.hero-subtitle{font-size:1.16rem}.mission-card,.lab-readout{overflow-wrap:break-word}.hero-subtitle,.hero-text{max-width:23rem}.hero-metrics,.mission-rewards,.skills-grid,.projects-list,.contact-grid{grid-template-columns:1fr}.terminal-header{grid-template-columns:auto 1fr}.terminal-status-indicator{grid-column:1/-1}.topology{min-height:250px}.node{min-width:4.6rem;height:2.45rem;padding:0 .55rem;font-size:.74rem}.status-list div,.timeline li{grid-template-columns:1fr;gap:.45rem}.footer{flex-direction:column;align-items:flex-start}}@media (width<=430px){.nav-controls{transform:none}.brand{gap:.55rem}.brand-mark{width:2.2rem;height:2.2rem;font-size:.68rem}.brand-text{font-size:.9rem}.theme-toggle,.nav-toggle{width:2.22rem;min-width:2.22rem;height:2.22rem;padding:0}h1{font-size:2.38rem}h2{font-size:1.8rem}.hero-actions .button{width:100%}.hero-subtitle{font-size:1.02rem}.mission-card strong{font-size:1.05rem}.project-media{height:11.5rem}}[data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),filter .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform, filter;transform:translateY(26px)}[data-reveal=left]{transform:translate(-42px)}[data-reveal=right]{transform:translate(42px)}[data-reveal=zoom]{transform:scale(.9)}[data-reveal=blur]{filter:blur(12px);transform:translateY(20px)}[data-reveal].is-visible{opacity:1;filter:none;transform:none}.timeline[data-reveal]{opacity:1;transform:none}.liquid-backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.liquid-backdrop:before,.liquid-backdrop:after,.liquid-film{content:"";filter:blur(34px);opacity:.48;transform-origin:50%;animation:28s ease-in-out infinite liquid-drift;position:absolute;inset:-18%}.liquid-backdrop:before{background:conic-gradient(from 205deg at 42% 36%,#007aff47,#0000 18%,#32d58329,#0000 42%,#7c3aed2e,#0000 70%,#ff8a4c2e,#0000),linear-gradient(145deg,#ffffff47,#0000 50%)}.liquid-backdrop:after{opacity:.38;background:linear-gradient(105deg,#0000 12%,#ffffff4d 30%,#0000 48%,#007aff1a 64%,#0000 82%),conic-gradient(from 20deg at 72% 48%,#0000,#ffffff2e,#0000 30%,#ff8a4c1f,#0000 62%);animation-delay:-10s}.liquid-film{mix-blend-mode:soft-light}.liquid-film-1{opacity:.46;background:repeating-linear-gradient(118deg,#ffffff29 0 1px,#0000 1px 18px),linear-gradient(135deg,#007aff29,#0000 52%,#7c3aed24)}.liquid-film-2{opacity:.36;background:linear-gradient(72deg,#ffffff47,#0000 36%,#32d5831f 58%,#0000),repeating-linear-gradient(26deg,#ffffff1a 0 1px,#0000 1px 24px);animation-delay:-16s}.liquid-pointer{width:42vw;height:42vw;top:var(--pointer-y,28%);left:var(--pointer-x,50%);background:radial-gradient(ellipse, color-mix(in srgb, var(--accent) 16%, transparent), transparent 62%), linear-gradient(120deg, transparent 18%, #ffffff24 44%, transparent 68%);filter:blur(48px);opacity:.52;transition:top .35s,left .35s;position:absolute;transform:translate(-50%,-50%)}[data-theme=dark] .liquid-backdrop:before,[data-theme=dark] .liquid-backdrop:after,[data-theme=dark] .liquid-film{mix-blend-mode:screen;opacity:.34}[data-theme=dark] .liquid-pointer{opacity:.42}@keyframes liquid-drift{0%,to{transform:translate(0,0)rotate(0)scale(1)}33%{transform:translate(2vw,1.5vw)rotate(3deg)scale(1.03)}66%{transform:translate(-2vw,1vw)rotate(-2deg)scale(.98)}}.eyebrow,.mission-kicker{align-items:center;gap:.5rem;display:inline-flex}.eyebrow-dot{background:var(--signal);border-radius:50%;flex:none;width:.5rem;height:.5rem;animation:2.4s ease-out infinite ping}@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--signal) 55%, transparent)}70%,to{box-shadow:0 0 0 9px #0000}}.hero-name{background-image:linear-gradient(100deg, var(--accent-strong), var(--violet), var(--signal), var(--accent-strong));-webkit-text-fill-color:transparent;color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:9s ease-in-out infinite name-shimmer}@keyframes name-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.hl{color:var(--accent-strong);font-weight:900}.hl-alt{color:var(--signal)}.hero-metrics strong{align-items:center;gap:.35rem;display:inline-flex}.hero-metrics li{transition:transform .2s,border-color .2s,box-shadow .2s}.hero-metrics li:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:var(--shadow-soft);transform:translateY(-3px)}.button-ghost{color:var(--ink);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 42%, transparent), transparent), color-mix(in srgb, var(--panel) 76%, transparent)}.button-ghost:hover{color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 48%, var(--glass-edge));background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 54%, transparent), transparent), color-mix(in srgb, var(--accent) 13%, var(--panel))}.button-primary{position:relative;overflow:hidden}.button-primary:after{content:"";background:linear-gradient(120deg,#0000 32%,#ffffff47 50%,#0000 68%);transition:transform .7s;position:absolute;inset:0;transform:translate(-130%)}.button-primary:hover:after{transform:translate(130%)}.terminal-cmd{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 4%, var(--panel-solid));min-height:2.4rem;font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.82rem;display:flex;overflow:hidden}.terminal-prompt{color:var(--lime);font-weight:900}.terminal-typed{color:var(--accent-strong);font-weight:700}.terminal-caret{background:var(--signal);flex:none;width:.52rem;height:1.05em;animation:1s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.node-main{animation:3.2s ease-in-out infinite node-glow}@keyframes node-glow{0%,to{box-shadow:var(--shadow-soft), 0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:var(--shadow-soft), 0 0 20px 2px color-mix(in srgb, var(--accent) 50%, transparent)}}.live-dot{animation:1.9s ease-out infinite live-ping}@keyframes live-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--lime) 50%, transparent)}70%,to{box-shadow:0 0 0 8px #0000}}.skill-icon{border:1px solid color-mix(in srgb, var(--accent) 26%, var(--glass-edge));border-radius:var(--radius);width:2.5rem;height:2.5rem;color:var(--accent-strong);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 54%, transparent), transparent), color-mix(in srgb, var(--accent) 12%, var(--panel));box-shadow:inset 0 1px 0 var(--glass-highlight);place-items:center;margin-bottom:.7rem;transition:transform .25s,background .25s,color .25s;display:inline-grid}.skill-card:hover .skill-icon{color:#fff;background:linear-gradient(145deg, #ffffff52, transparent 44%), linear-gradient(135deg, var(--accent), var(--violet));transform:translateY(-3px)rotate(-6deg)}.skill-meter span{width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1) .25s}.skill-card.is-visible .skill-meter span{width:var(--skill-level)}.skill-card:after,.project-card:after{z-index:3;content:"";background:linear-gradient(115deg, transparent 36%, #ffffff57 49%, color-mix(in srgb, var(--accent) 16%, transparent) 54%, transparent 66%);pointer-events:none;transition:transform .85s;position:absolute;inset:0;transform:translate(-130%)}.skill-card:hover:after,.project-card:hover:after{transform:translate(130%)}.project-stack{flex-wrap:wrap;gap:.4rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.project-stack li{border:1px solid var(--glass-edge);color:var(--ink-soft);background:color-mix(in srgb, var(--accent) 8%, var(--panel));font-family:var(--font-mono);border-radius:999px;padding:.26rem .5rem;font-size:.72rem;font-weight:800}.project-cta{color:var(--accent-strong);font-family:var(--font-mono);align-items:center;gap:.4rem;margin-top:auto;padding-top:1rem;font-size:.82rem;font-weight:800;display:inline-flex}.project-cta svg{transition:transform .2s}.project-card:hover .project-cta svg{transform:translate(2px,-2px)}.section-heading:after{transform-origin:0;transition:transform .9s cubic-bezier(.2,.7,.2,1) .2s;transform:scaleX(0)}.section-heading.is-visible:after{transform:scaleX(1)}.timeline{gap:.85rem;padding:.2rem 0 .2rem 2rem;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent), var(--violet), var(--signal));transform-origin:top;border-radius:2px;width:2px;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .15s;position:absolute;top:1.2rem;bottom:1.6rem;left:.55rem;transform:scaleY(0)}.timeline.is-visible:before{transform:scaleY(1)}.timeline li{transition:transform .2s,border-color .2s,box-shadow .2s;position:relative}.timeline li:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:var(--shadow-soft);transform:translate(4px)}.timeline-marker{border:2px solid var(--accent);background:var(--panel-solid);width:.92rem;height:.92rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 13%, transparent);border-radius:50%;transition:transform .25s,border-color .25s,box-shadow .25s;position:absolute;top:1.35rem;left:-1.81rem}.timeline li:hover .timeline-marker{border-color:var(--signal);box-shadow:0 0 0 6px color-mix(in srgb, var(--signal) 16%, transparent);transform:scale(1.18)}.contact-card-head .contact-icon{transition:transform .25s}.contact-card:hover .contact-card-head .contact-icon{transform:scale(1.12)rotate(-4deg)}@media (width<=760px){.timeline{padding-left:1.7rem}.timeline:before{left:.45rem}.timeline-marker{top:1.1rem;left:-1.55rem}}.particle-field{z-index:-1;opacity:.55;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}[data-theme=dark] .particle-field{opacity:.7}.scroll-progress{z-index:100;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.scroll-progress span{background:linear-gradient(90deg, var(--accent), var(--signal), var(--violet));height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 55%, transparent);transform:scaleX(var(--scroll-progress,0));transform-origin:0;display:block}[data-scramble]{font-variant-ligatures:none}.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2.4rem;display:grid}.stat{border:1px solid var(--glass-edge);border-radius:var(--radius);background:linear-gradient(145deg, color-mix(in srgb, var(--panel-solid) 62%, transparent), color-mix(in srgb, var(--panel-solid) 20%, transparent)), var(--panel);-webkit-backdrop-filter:blur(22px)saturate(180%);backdrop-filter:blur(22px)saturate(180%);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 16px 36px color-mix(in srgb, var(--glass-shadow) 38%, transparent);padding:1.3rem 1rem;transition:transform .2s,border-color .2s,box-shadow .2s}.stat:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:var(--shadow);transform:translateY(-4px)}.stat strong{background-image:linear-gradient(120deg, var(--accent-strong), var(--lime), var(--signal), var(--violet));-webkit-text-fill-color:transparent;color:#0000;font-family:var(--font-mono);-webkit-background-clip:text;background-clip:text;font-size:2.6rem;font-weight:950;line-height:1;display:block}.stat span{color:var(--ink-muted);margin-top:.5rem;font-size:.86rem;font-weight:800;display:block}.tilt-card{z-index:0;transform-style:preserve-3d;position:relative}.tilt-card:before{z-index:-1;content:"";border-radius:inherit;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 24%, transparent), transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.tilt-card:hover:before{opacity:1}@media (width<=760px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat strong{font-size:2.1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skill-meter span{width:var(--skill-level)}.section-heading:after,.timeline:before{transform:none}.hero-name{animation:none}.particle-field,.tilt-card:before{display:none}}:root{--lg-tint-hi:#ffffff4d;--lg-tint-lo:#ffffff14;--lg-edge:#ffffffa8;--lg-edge-lo:#ffffff3d;--lg-spec:#fffffff2;--lg-inner-shadow:#0f172a33;--lg-drop:#0f172a3d;--lg-sheen:#fff9}[data-theme=dark]{--lg-tint-hi:#ffffff1f;--lg-tint-lo:#ffffff05;--lg-edge:#ffffff6b;--lg-edge-lo:#ffffff17;--lg-spec:#ffffffb8;--lg-inner-shadow:#00000080;--lg-drop:#0000007a;--lg-sheen:#fff6}.liquid-glass{isolation:isolate;border:1px solid var(--lg-edge-lo);background:linear-gradient(135deg, var(--lg-tint-hi), var(--lg-tint-lo));-webkit-backdrop-filter:blur(16px)saturate(170%);backdrop-filter:blur(16px)saturate(170%);box-shadow:inset 0 1px 0 0 var(--lg-spec), inset 0 0 0 1px var(--lg-edge-lo), inset 0 -12px 26px -18px var(--lg-inner-shadow), 0 12px 32px -12px var(--lg-drop), 0 3px 10px -5px var(--lg-drop);position:relative}.liquid-glass:before{z-index:-1;content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(130% 90% at var(--lg-x,28%) -20%, var(--lg-sheen), transparent 56%), linear-gradient(180deg, #ffffff38, transparent 34%);mix-blend-mode:screen;opacity:.7;position:absolute;inset:0}.liquid-glass:after{z-index:-1;content:"";border-radius:inherit;pointer-events:none;opacity:.35;mix-blend-mode:screen;background:linear-gradient(104deg,#0000 38%,#ffffff4d 47%,#0000 56%);position:absolute;inset:0}.liquid-glass--bar{--lg-x:var(--pointer-x,50%);border-right:0;border-bottom:1px solid var(--lg-edge-lo);background:linear-gradient(180deg, var(--lg-tint-hi), var(--lg-tint-lo)), linear-gradient(180deg, color-mix(in srgb, var(--paper) 26%, transparent), transparent 70%);box-shadow:inset 0 1px 0 0 var(--lg-spec), inset 0 -1px 0 0 var(--lg-edge-lo), 0 18px 42px -26px var(--lg-drop);border-top:0;border-left:0;border-radius:0}.liquid-glass--bar:after{display:none}@supports ((-webkit-backdrop-filter:url(#liquid-glass)) or (backdrop-filter:url(#liquid-glass))){.liquid-glass{-webkit-backdrop-filter:url(#liquid-glass)blur(2px)saturate(160%)brightness(1.04);backdrop-filter:url(#liquid-glass)blur(2px)saturate(160%)brightness(1.04)}.liquid-glass--bar,.liquid-glass--strong{-webkit-backdrop-filter:url(#liquid-glass-strong)blur(1.5px)saturate(168%)brightness(1.05);backdrop-filter:url(#liquid-glass-strong)blur(1.5px)saturate(168%)brightness(1.05)}}@media (prefers-reduced-motion:reduce){.liquid-glass--bar{--lg-x:50%}}
