:root{--bg-main:#050505;--bg-sec:#0b0b0b;--bg-card:#101010;--bg-card-hover:#151515;--text-primary:#fff;--text-secondary:#a1a1aa;--text-muted:#71717a;--border-color:#242424;--border-subtle:#ffffff14;--border-accent:#e5393566;--accent:#e53935;--accent-hover:#ff4d4d;--accent-glow:#e5393540;--accent-subtle:#e5393514;--font-main:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--ease-apple:cubic-bezier(.16, 1, .3, 1);--ease-smooth:cubic-bezier(.22, 1, .36, 1);--ease-ui:cubic-bezier(.4, 0, .2, 1);--transition-fast:.15s var(--ease-ui);--transition-normal:.28s var(--ease-apple);--transition-slow:.5s var(--ease-smooth);--container-max-width:1240px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-main);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100vw;overflow-x:hidden}section{scroll-margin-top:100px}body{background-color:var(--bg-main);color:var(--text-primary);width:100%;min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden}.bg-grid-overlay{pointer-events:none;z-index:0;background-image:radial-gradient(circle at 50% 0,#e539350f 0%,#0000 65%),linear-gradient(90deg,#ffffff05 1px,#0000 1px),linear-gradient(#ffffff05 1px,#0000 1px);background-size:100% 100%,40px 40px,40px 40px;width:100vw;height:100vh;position:fixed;top:0;left:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#1c1c1c;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::selection{background:var(--accent);color:#fff}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.025em;font-weight:800}.mono{font-family:var(--font-mono)}.gradient-text{background:linear-gradient(135deg,#fff 40%,#a1a1aa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.glass-panel{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);background:#101010b3}.glass-card{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), background-color var(--transition-normal);will-change:transform;background:#101010a6}@media (hover:hover){.glass-card:hover{border-color:var(--border-accent);box-shadow:0 10px 30px #0009, 0 0 20px var(--accent-glow);background-color:var(--bg-card-hover);transform:translateY(-4px)}}.btn-primary{background-color:var(--accent);color:#fff;border-radius:var(--radius-sm);border:1px solid var(--accent);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 4px 14px var(--accent-glow);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 24px;font-size:clamp(.85rem,1.5vw,.95rem);font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover){.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #e5393573}}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-secondary{color:var(--text-primary);border-radius:var(--radius-sm);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;background-color:#ffffff08;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 24px;font-size:clamp(.85rem,1.5vw,.95rem);font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover){.btn-secondary:hover{border-color:var(--text-secondary);color:#fff;background-color:#ffffff14;transform:translateY(-2px)}}.btn-secondary:active{transform:translateY(0)scale(.98)}.btn-icon{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-color);width:44px;height:44px;color:var(--text-secondary);transition:all var(--transition-normal);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.btn-icon:hover{color:var(--accent);border-color:var(--border-accent);background:var(--bg-card-hover);transform:translateY(-2px)}}.custom-cursor-dot{background-color:var(--accent);pointer-events:none;z-index:9999;border-radius:50%;width:8px;height:8px;transition:opacity .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor-ring{pointer-events:none;z-index:9998;background-color:#e539350d;border:1px solid #e5393580;border-radius:50%;width:32px;height:32px;transition:width .2s,height .2s,border-color .2s,background-color .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor-hover .custom-cursor-ring{border-color:var(--accent);background-color:#e5393526;width:48px;height:48px}.section-header{margin-bottom:clamp(32px,5vw,48px)}.section-tag{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:10px;font-size:.8rem;font-weight:600;display:inline-flex}.section-tag:before{content:"";background-color:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.section-title{letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(1.6rem,3.5vw,2.3rem);font-weight:800}.tech-tag{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border-color);white-space:nowrap;background:#ffffff0a;border-radius:4px;padding:4px 10px;font-size:.75rem}.section-container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 clamp(16px,4vw,32px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.custom-cursor-dot,.custom-cursor-ring{display:none!important}}@media (width<=480px){.section-header{margin-bottom:24px}.btn-primary,.btn-secondary{width:100%;padding:14px 20px}}
