:root{--bg: #0b1220;--surface: #111a2e;--surface-2: #16213a;--border: #1f2b44;--border-strong: #2c3b5c;--text: #e6edf7;--muted: #a9b8d0;--accent: #2dd4bf;--accent-2: #38bdf8;--accent-ink: #04201c;--accent-soft: #8ff0e1;--danger: #fca5a5;--gradient: linear-gradient(135deg, #2dd4bf, #38bdf8);--card: linear-gradient(165deg, #141f38 0%, #0f1829 100%);--tint: rgba(255, 255, 255, .03);--glass: rgba(17, 26, 46, .78);--band: rgba(17, 26, 46, .6);--header-bg: rgba(11, 18, 32, .8);--header-bg-scrolled: rgba(11, 18, 32, .9);--glow-1: rgba(45, 212, 191, .13);--glow-2: rgba(56, 189, 248, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25), 0 8px 24px rgba(0, 0, 0, .18);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .45);--radius: 18px;--radius-sm: 10px;--container: 1120px;--header-h: 72px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Code", Consolas, monospace;--ease: cubic-bezier(.2, .7, .2, 1)}:root[data-theme=light]{--bg: #f6f8fc;--surface: #ffffff;--surface-2: #eef2f8;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--muted: #475569;--accent: #0f766e;--accent-2: #0369a1;--accent-ink: #ffffff;--accent-soft: #115e59;--danger: #b91c1c;--gradient: linear-gradient(135deg, #0f766e, #0369a1);--card: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%);--tint: rgba(15, 23, 42, .04);--glass: rgba(255, 255, 255, .82);--band: rgba(226, 232, 240, .55);--header-bg: rgba(246, 248, 252, .82);--header-bg-scrolled: rgba(246, 248, 252, .94);--glow-1: rgba(13, 148, 136, .1);--glow-2: rgba(2, 132, 199, .07);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .06);--shadow-lg: 0 18px 48px rgba(15, 23, 42, .14)}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);scrollbar-gutter:stable;scrollbar-color:var(--border-strong) var(--bg);-webkit-text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s,color .3s}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 88% -4%,var(--glow-1),transparent 62%),radial-gradient(760px 520px at -6% 38%,var(--glow-2),transparent 62%)}body:has(dialog[open]){overflow:hidden}::selection{background:#2dd4bf4d;color:var(--text)}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,h4{margin:0;line-height:1.15}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}main>*{display:block}.section{padding-block:64px}app-skills,app-contact{background:linear-gradient(180deg,transparent 0%,var(--band) 15%,var(--band) 85%,transparent 100%)}.section-title{position:relative;margin-bottom:14px;padding-bottom:16px;font-size:clamp(1.9rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.02em}.section-title:after{content:"";position:absolute;left:0;bottom:0;width:52px;height:4px;border-radius:99px;background:var(--gradient)}.section-sub{max-width:62ch;margin-bottom:36px;color:var(--muted);font-size:1.05rem}.accent{color:var(--accent)}h1 .accent{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,border-color .25s,color .25s}.btn:hover{transform:translateY(-3px)}.btn:active{transform:translateY(-1px)}.btn-primary{background:var(--gradient);color:var(--accent-ink);box-shadow:0 6px 18px #2dd4bf38}.btn-primary:hover{box-shadow:0 12px 28px #2dd4bf5c}.btn-secondary{border-color:var(--border-strong);background:var(--tint);color:var(--text)}.btn-secondary:hover{border-color:var(--accent);background:#2dd4bf14}.tag{display:inline-block;padding:5px 11px;border:1px solid rgba(45,212,191,.22);border-radius:99px;background:#2dd4bf17;color:var(--accent-soft);font-size:12px;font-weight:600}.chip{display:inline-block;padding:8px 14px;border:1px solid var(--border-strong);border-radius:8px;font-size:14px;transition:border-color .2s,color .2s,transform .2s,background .2s}.chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.35}}.fade-up{animation:fade-up .8s var(--ease) both}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.reveal-in{opacity:1;transform:none}@media(max-width:760px){.section{padding-block:48px}.section-sub{margin-bottom:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
