:root{--bg-primary: #08080b;--bg-secondary: #0f1015;--bg-card: rgba(20, 21, 28, .7);--bg-card-hover: rgba(28, 30, 40, .85);--bg-elevated: #161720;--text-primary: #f4f4f7;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-inverse: #08080b;--accent-cyan: #38bdf8;--accent-blue: #60a5fa;--accent-violet: #818cf8;--accent-glow: rgba(56, 189, 248, .15);--border-subtle: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--border-active: rgba(56, 189, 248, .4);--nav-bg: rgba(14, 15, 21, .8);--nav-border: rgba(255, 255, 255, .08);--nav-indicator: rgba(255, 255, 255, .1);--btn-primary-bg: #ffffff;--btn-primary-text: #08080b;--btn-secondary-bg: rgba(255, 255, 255, .05);--btn-secondary-border: rgba(255, 255, 255, .15);--font-display: "Syne", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .3s cubic-bezier(.16, 1, .3, 1);--transition-smooth: .5s cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-card: rgba(255, 255, 255, .85);--bg-card-hover: #ffffff;--bg-elevated: #ffffff;--text-primary: #09090b;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #f8fafc;--accent-cyan: #0284c7;--accent-blue: #2563eb;--accent-violet: #6366f1;--accent-glow: rgba(2, 132, 199, .15);--border-subtle: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .14);--border-active: rgba(2, 132, 199, .4);--nav-bg: rgba(255, 255, 255, .85);--nav-border: rgba(0, 0, 0, .08);--nav-indicator: rgba(0, 0, 0, .06);--btn-primary-bg: #09090b;--btn-primary-text: #ffffff;--btn-secondary-bg: rgba(0, 0, 0, .04);--btn-secondary-border: rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-primary);font-family:var(--font-body);color:var(--text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}body{min-height:100vh;position:relative;background-color:var(--bg-primary);overflow-x:hidden;line-height:1.6;width:100%}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(rgba(120,120,140,.06) 1px,transparent 0);background-size:28px 28px;z-index:1}::selection{background:var(--accent-cyan);color:var(--text-inverse)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}.scroll-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-violet));transform-origin:0%;z-index:9999}.custom-cursor-dot,.custom-cursor-ring{pointer-events:none;position:fixed;top:0;left:0;z-index:99999;border-radius:50%;transform:translate(-50%,-50%);transition:opacity .2s ease,transform .15s ease-out}.custom-cursor-dot{width:6px;height:6px;background-color:var(--text-primary)}.custom-cursor-ring{width:36px;height:36px;border:1.5px solid var(--text-secondary);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--text-primary);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1),border-color .25s ease,background-color .25s ease}.custom-cursor-ring.active-project{width:76px;height:76px;background:var(--accent-cyan);color:var(--text-inverse);border-color:transparent}.custom-cursor-ring.active-link{width:64px;height:64px;background:var(--text-primary);color:var(--bg-primary);border-color:transparent}.custom-cursor-ring.active-button{width:48px;height:48px;border-color:var(--accent-cyan)}@media(pointer:coarse),(hover:none){.custom-cursor-dot,.custom-cursor-ring{display:none!important}}.portfolio-container{width:100%;max-width:1240px;margin:0 auto;padding:0 1.25rem}@media(min-width:768px){.portfolio-container{padding:0 2.5rem}}@media(min-width:1200px){.portfolio-container{padding:0 3rem}}.section-tag{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-cyan);margin-bottom:.85rem}.section-tag:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--accent-cyan);box-shadow:0 0 8px var(--accent-cyan)}.section-title{font-family:var(--font-heading);font-size:clamp(1.85rem,4.5vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;color:var(--text-primary);margin-bottom:1rem}.section-subtitle{font-size:clamp(.95rem,1.8vw,1.15rem);color:var(--text-secondary);max-width:640px;line-height:1.6}.tech-pill{font-family:var(--font-mono);font-size:.74rem;padding:.3rem .7rem;border-radius:var(--radius-full);background:#7d7d7d0f;border:1px solid var(--border-subtle);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.35rem;transition:all var(--transition-fast);white-space:nowrap}.tech-pill:hover{border-color:var(--accent-cyan);color:var(--text-primary);background:var(--accent-glow)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.75rem 1.6rem;border-radius:var(--radius-full);background:var(--btn-primary-bg);color:var(--btn-primary-text);font-family:var(--font-heading);font-size:.92rem;font-weight:700;letter-spacing:.01em;transition:all var(--transition-normal);position:relative;overflow:hidden;box-shadow:0 4px 18px #00000026;white-space:nowrap}.btn-primary:hover{background:var(--accent-cyan);color:#fff;box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-2px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.75rem 1.6rem;border-radius:var(--radius-full);background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--text-primary);font-family:var(--font-heading);font-size:.92rem;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-normal);white-space:nowrap}.btn-secondary:hover{background:#7d7d7d1a;border-color:var(--border-strong);transform:translateY(-2px)}.glass-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:border-color var(--transition-normal),background-color var(--transition-normal),box-shadow var(--transition-normal);box-shadow:0 4px 20px #0000000a}.glass-card:hover{border-color:var(--border-strong);background:var(--bg-card-hover);box-shadow:0 8px 30px #00000014}@media(max-width:768px){.portfolio-container{padding:0 1rem}.project-showcase-row{padding:1.25rem!important;gap:1.5rem!important}.project-action-bar{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.project-action-bar .btn-primary,.project-action-bar .btn-secondary{width:100%!important;justify-content:center!important}.project-role-badge{margin-left:0!important;text-align:center!important;margin-top:.25rem!important}.timeline-track-line{left:10px!important}.timeline-node-pin{left:1px!important}.timeline-item{padding-left:2rem!important}.section-tag{font-size:.72rem!important}.hero-bottom-bar{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}}@media(max-width:480px){.portfolio-container{padding:0 .85rem}.project-showcase-row{padding:1rem!important;border-radius:18px!important}.tech-universe-grid{grid-template-columns:1fr!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(project-hero-image),::view-transition-new(project-hero-image){animation-duration:.48s;animation-timing-function:cubic-bezier(.16,1,.3,1);transform-origin:center}.contextual-thumb-expand,.contextual-hero-view{view-transition-name:var(--transition-project-name, project-hero-image)}@keyframes delayedChargeRing{0%{transform:scale(.85);opacity:0}50%{transform:scale(1.05);opacity:1}to{transform:scale(1.18);opacity:0}}@keyframes affirmativeShockwave{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 16px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes telemetryScan{0%{transform:translate(-100%)}to{transform:translate(100%)}}.charge-up-active{position:relative;overflow:hidden}.charge-up-active:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:2px solid var(--accent-cyan);animation:delayedChargeRing .35s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none}.affirmative-shockwave-active{animation:affirmativeShockwave .65s cubic-bezier(.16,1,.3,1) forwards}.telemetry-scan-bar{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-cyan),transparent);animation:telemetryScan .6s linear infinite}.delayed-hud-toast{position:fixed;bottom:2.25rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:.65rem;padding:.65rem 1.35rem;border-radius:9999px;background:var(--nav-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-active);box-shadow:0 16px 36px #00000040,0 0 20px var(--accent-glow);color:var(--text-primary);font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.05em;pointer-events:none;transition:background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}[data-theme=light] .delayed-hud-toast{background:#fffffff0;border:1px solid rgba(2,132,199,.35);box-shadow:0 14px 34px #0000001a,0 0 24px #0284c726;color:#0f172a}@media(max-width:900px){.project-hero-grid{grid-template-columns:1fr!important;gap:2.5rem!important}.filetree-grid{grid-template-columns:1fr!important}.project-nav-grid{grid-template-columns:1fr!important;text-align:center!important}.project-nav-grid>a{align-items:center!important;text-align:center!important}.blog-reading-grid{grid-template-columns:1fr!important;gap:2rem!important}.blog-sticky-toc{display:none!important}}
