:root{--color-bg: #0A0A0A;--color-surface: #111111;--color-surface-hover: #161616;--color-primary: #FFFFFF;--color-secondary: #e3e2e2;--color-muted: #888888;--color-accent: #83FBA0;--color-accent-rgb: 131, 251, 160;--color-accent-dark: #003917;--color-border: #222222;--color-border-hover: #333333;--color-border-accent: rgba(131, 251, 160, .3);--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--spacing-base: 4px;--spacing-unit: 8px;--spacing-section: 128px;--spacing-section-mobile: 64px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--transition-smooth: all .3s cubic-bezier(.16, 1, .3, 1);--transition-fast: all .15s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-bg);color:var(--color-secondary);font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;overflow-x:hidden;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-primary);font-weight:600;letter-spacing:-.02em;line-height:1.2}a{color:inherit;text-decoration:none;transition:var(--transition-fast)}button{background:none;border:none;font:inherit;cursor:pointer}.flex{display:flex}.flex-col{flex-direction:column}.flex-grow{flex-grow:1}.min-h-screen{min-height:100vh}.relative{position:relative}.grid-bg{background-color:var(--color-bg);background-image:linear-gradient(to right,rgba(34,34,34,.5) 1px,transparent 1px),linear-gradient(to bottom,rgba(34,34,34,.5) 1px,transparent 1px);background-size:64px 64px;background-position:center top;position:relative}.grid-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,transparent 20%,var(--color-bg) 80%);pointer-events:none;z-index:1}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:2}.tech-tag{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--color-secondary);background-color:#111c;border:1px solid var(--color-border);padding:4px 10px;border-radius:var(--radius-sm);transition:var(--transition-fast);white-space:nowrap}.tech-tag:hover{border-color:var(--color-accent);color:var(--color-accent)}.text-gradient{background:linear-gradient(135deg,var(--color-primary) 30%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.roll-text{display:inline-block!important;overflow:hidden!important;vertical-align:top;position:relative;height:1.25em}.roll-text-inner{display:flex!important;flex-direction:column!important;transition:transform .45s cubic-bezier(.76,0,.24,1);height:200%}.roll-text:hover .roll-text-inner{transform:translateY(-50%)}.roll-text span{display:block!important;line-height:1.25em;flex-shrink:0;transition:color .3s ease}.js .section-header,.js .bento-card,.js .project-card,.js .timeline-item,.js .contact-grid{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}.js .in-view{opacity:1!important;transform:translateY(0)!important}.section{padding-top:clamp(48px,6vw,80px)!important;padding-bottom:clamp(48px,6vw,80px)!important}html.mobile-menu-open,body.mobile-menu-open{overflow:hidden;height:100vh}
