*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}:root[data-theme=dark]{--bg: #0b0f18;--bg2: #0f1420;--surface: rgba(255, 255, 255, .035);--border: rgba(255, 255, 255, .09);--text: #e8ecf4;--muted: rgba(232, 236, 244, .64);--faint: rgba(232, 236, 244, .42);--teal: #5eead4;--indigo: #818cf8;--grid: rgba(94, 234, 212, .05);--card: rgba(11, 14, 19, .82);--navbg: rgba(11, 15, 24, .72);--shadow: rgba(0, 0, 0, .55)}:root[data-theme=light]{--bg: #f6f8fd;--bg2: #ffffff;--surface: rgba(15, 23, 42, .025);--border: rgba(15, 23, 42, .1);--text: #0f172a;--muted: rgba(15, 23, 42, .66);--faint: rgba(15, 23, 42, .45);--teal: #0d9488;--indigo: #6366f1;--grid: rgba(13, 148, 136, .07);--card: rgba(255, 255, 255, .92);--navbg: rgba(246, 248, 253, .78);--shadow: rgba(15, 23, 42, .14)}.app-root{background-color:var(--bg);background-image:radial-gradient(circle at 12% 6%,color-mix(in srgb,var(--indigo) 11%,transparent),transparent 40%),radial-gradient(circle at 88% 94%,color-mix(in srgb,var(--teal) 9%,transparent),transparent 44%),radial-gradient(var(--grid) 1px,transparent 1px);background-size:auto,auto,26px 26px;color:var(--text);font-family:Sora,system-ui,sans-serif;min-height:100vh;transition:background .45s ease,color .45s ease;overflow-x:hidden}.textured-panel{background-color:var(--bg2);background-image:radial-gradient(color-mix(in srgb,var(--teal) 11%,transparent) 1px,transparent 1px);background-size:24px 24px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-24px,20px) scale(1.08)}}@keyframes gridPan{0%{background-position:0 0}to{background-position:46px 46px}}@keyframes caret{0%,to{opacity:1}50%{opacity:0}}@keyframes pulseNode{0%,to{opacity:.35}50%{opacity:1}}@keyframes shimmer{to{background-position:-200% center}}@keyframes cardGlow{0%,to{box-shadow:0 24px 60px var(--shadow)}50%{box-shadow:0 24px 60px var(--shadow),0 0 32px color-mix(in srgb,var(--teal) 22%,transparent)}}@keyframes beat{0%,to{box-shadow:0 0 0 4px var(--bg2),0 0 8px var(--teal)}50%{box-shadow:0 0 0 4px var(--bg2),0 0 22px var(--teal)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.monogram{transition:transform .3s ease,border-color .3s ease}.monogram:hover{transform:rotate(-6deg) scale(1.08);border-color:var(--teal)}.nav-link{text-decoration:none;color:var(--muted);font:500 14px Sora;transition:color .2s}.nav-link:hover{color:var(--text)}.nav-link.is-active{color:var(--teal);font-weight:600}.btn-primary{text-decoration:none;padding:13px 24px;border-radius:10px;background:var(--teal);color:#06231d;font:600 15px Space Grotesk;transition:transform .2s;display:inline-block;border:0;cursor:pointer}.btn-primary:hover{transform:translateY(-2px)}.btn-secondary{text-decoration:none;padding:13px 24px;border-radius:10px;border:1px solid var(--border);color:var(--text);font:500 15px Space Grotesk;transition:background .2s;display:inline-block}.btn-secondary:hover{background:var(--surface)}.card-hover{transition:box-shadow .2s,border-color .2s}.card-hover:hover{box-shadow:0 22px 55px var(--shadow);border-color:color-mix(in srgb,var(--teal) 50%,var(--border))}.cert-hover-teal:hover{box-shadow:0 18px 44px var(--shadow);border-color:color-mix(in srgb,var(--teal) 60%,var(--border))!important}.cert-hover-indigo:hover{box-shadow:0 18px 44px var(--shadow);border-color:color-mix(in srgb,var(--indigo) 50%,var(--border))!important}.edu-hover:hover{box-shadow:0 18px 44px var(--shadow);border-color:color-mix(in srgb,var(--teal) 45%,var(--border))!important}.card-hover,.cert-hover-teal,.cert-hover-indigo,.edu-hover{transition:box-shadow .2s,border-color .2s}.social-link{transition:border-color .2s}.social-link:hover{border-color:var(--teal)}.theme-btn,.lang-btn{cursor:pointer}.text-strong{color:var(--text)}input,textarea{font-family:Sora,system-ui,sans-serif}input:focus,textarea:focus{outline:none}@media (max-width: 640px){.nav-links{gap:14px!important}}
