:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--accent-primary:#38bdf8;--accent-secondary:#818cf8;--accent-gradient:linear-gradient(135deg,#38bdf8,#818cf8);--border-color:rgba(148,163,184,.1);--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-glow:0 0 30px rgba(56,189,248,.15);--font-mono:"JetBrains Mono","Fira Code","SF Mono",monospace;--nav-height:64px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-primary);transition:all .3s ease}a,a:hover{text-decoration:none}a:hover{color:var(--accent-secondary)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:1rem}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:1rem}code{font-family:var(--font-mono);background:var(--bg-tertiary);padding:.2em .4em;border-radius:4px;font-size:.9em}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}::selection{background:var(--accent-primary);color:var(--bg-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-fadeIn{animation:fadeIn .6s ease-out}.animate-slideIn{animation:slideIn .6s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-gradient{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradient 15s ease infinite}.animate-float{animation:float 3s ease-in-out infinite}