@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Work+Sans:wght@400;500;600;700&family=Source+Code+Pro:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:root{--color-bg:#0a0a0a;--color-surface:#1a1a18;--color-surface-elevated:#252523;--color-primary:#f0c674;--color-secondary:#8abeb7;--color-accent:#c66;--color-text:#c5c8c6;--color-text-muted:#969896;--color-border:#2a2a28;--font-display:"JetBrains Mono",monospace;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition-fast:.15s ease;--transition-normal:.25s ease;--shadow-sm:0 2px 4px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.5);--container-max:1200px;--nav-height:64px}[data-theme=terminal]{--font-display:"JetBrains Mono",monospace;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace}[data-theme=terminal][data-color=dark],[data-theme=terminal]:not([data-color]){--color-bg:#0a0a0a;--color-surface:#1a1a18;--color-surface-elevated:#252523;--color-primary:#f0c674;--color-secondary:#8abeb7;--color-accent:#c66;--color-text:#c5c8c6;--color-text-muted:#969896;--color-border:#2a2a28;--shadow-glow:0 0 20px rgba(240,198,116,.1)}[data-theme=terminal][data-color=light]{--color-bg:#f5f5f0;--color-surface:#fff;--color-surface-elevated:#e8e8e3;--color-primary:#b38600;--color-secondary:#2a7a72;--color-accent:#a33333;--color-text:#2a2a28;--color-text-muted:#6a6a68;--color-border:#d0d0c8;--shadow-glow:0 0 20px rgba(179,134,0,.1)}[data-theme=forge]{--font-display:"Bebas Neue",sans-serif;--font-body:"Work Sans",sans-serif;--font-mono:"Source Code Pro",monospace}[data-theme=forge][data-color=dark],[data-theme=forge]:not([data-color]){--color-bg:#121417;--color-surface:#1e2127;--color-surface-elevated:#2d3139;--color-primary:#ff6b35;--color-secondary:#4ecdc4;--color-accent:#ffe66d;--color-text:#e8e8e8;--color-text-muted:#6b7280;--color-border:#2d3139;--shadow-glow:0 0 30px rgba(255,107,53,.15)}[data-theme=forge][data-color=light]{--color-bg:#f8f9fa;--color-surface:#fff;--color-surface-elevated:#e9ecef;--color-primary:#d45020;--color-secondary:#2a9d8f;--color-accent:#e6b800;--color-text:#1e2127;--color-text-muted:#6b7280;--color-border:#dee2e6;--shadow-glow:0 0 30px rgba(212,80,32,.1)}[data-theme=bitart]{--font-display:"Press Start 2P",cursive;--font-body:"VT323",monospace;--font-mono:"VT323",monospace;--radius-sm:0;--radius-md:0;--radius-lg:0}[data-theme=bitart][data-color=dark],[data-theme=bitart]:not([data-color]){--color-bg:#0d0a0a;--color-surface:#1a1412;--color-surface-elevated:#2d2118;--color-primary:#ff6b1a;--color-secondary:gold;--color-accent:#f44;--color-text:#fc9;--color-text-muted:#964;--color-border:#8b4513;--shadow-glow:0 0 40px rgba(255,107,26,.2)}[data-theme=bitart][data-color=light]{--color-bg:#f5e6d3;--color-surface:#fff8ef;--color-surface-elevated:#e8d5c0;--color-primary:#c40;--color-secondary:#b8860b;--color-accent:#c22;--color-text:#3d2914;--color-text-muted:#8b6914;--color-border:#b8860b;--shadow-glow:0 0 40px rgba(184,134,11,.15)}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);transition:background-color var(--transition-normal),color var(--transition-normal)}body{background:var(--color-bg);overflow-x:hidden}[data-theme=terminal] body:before{content:"";opacity:.03;pointer-events:none;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}[data-theme=terminal] body:after{content:"";pointer-events:none;z-index:999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.1) 2px 4px);width:100%;height:100%;position:fixed;top:0;left:0}[data-theme=terminal] .nav-links a:before{content:">";margin-right:var(--space-sm);color:var(--color-secondary)}[data-theme=forge] body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 80%,rgba(255,107,53,.05) 0%,transparent 50%),radial-gradient(at 80% 20%,rgba(78,205,196,.03) 0%,transparent 50%);width:100%;height:100%;position:fixed;top:0;left:0}[data-theme=forge] .nav-links a{position:relative}[data-theme=forge] .nav-links a:after{content:"";background:var(--color-primary);width:0;height:2px;transition:width var(--transition-fast);position:absolute;bottom:-4px;left:0}[data-theme=forge] .nav-links a:hover:after{width:100%}[data-theme=bitart] body{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}[data-theme=bitart] body:before{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px 2px);width:100%;height:100%;position:fixed;top:0;left:0}[data-theme=bitart] body:after{content:"";pointer-events:none;z-index:9998;background:radial-gradient(transparent 0% 60%,rgba(0,0,0,.4) 100%);width:100%;height:100%;position:fixed;top:0;left:0}[data-theme=bitart] *{border-radius:0!important}nav{z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-normal),border-color var(--transition-normal);position:sticky;top:0}nav .nav-container{max-width:var(--container-max);padding:0 var(--space-lg);margin:0 auto}nav .nav-content{height:var(--nav-height);justify-content:space-between;align-items:center;display:flex}nav .nav-links{gap:var(--space-xl);display:flex}nav .nav-links a{font-family:var(--font-mono);color:var(--color-text-muted);transition:color var(--transition-fast);text-transform:lowercase;font-size:.9rem}nav .nav-links a:hover,nav .nav-links a.active{color:var(--color-primary)}nav .control-panel{gap:var(--space-sm);align-items:center;display:flex}[data-theme=forge] nav{border-bottom-width:2px}[data-theme=forge] nav .nav-links a{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;font-weight:500}[data-theme=bitart] nav{border-bottom-width:4px;box-shadow:0 4px rgba(0,0,0,.3)}[data-theme=bitart] nav .nav-links a{font-family:var(--font-body);padding:var(--space-sm)var(--space-md);background:var(--color-surface-elevated);border:3px solid var(--color-border);transition:all var(--transition-fast);font-size:1.1rem}[data-theme=bitart] nav .nav-links a:hover,[data-theme=bitart] nav .nav-links a.active{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-secondary)}.toggle-btn{align-items:center;gap:var(--space-xs);padding:var(--space-sm)var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);font-size:.75rem;display:flex}.toggle-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.toggle-btn .toggle-icon{font-size:1rem}.toggle-btn .toggle-label{text-transform:uppercase;letter-spacing:.05em}[data-theme=forge] .toggle-btn{font-family:var(--font-mono);border-width:2px}[data-theme=bitart] .toggle-btn{font-family:var(--font-display);border-width:3px;font-size:.6rem;box-shadow:inset -2px -2px rgba(0,0,0,.4),inset 2px 2px rgba(255,255,255,.1),0 2px #000}[data-theme=bitart] .toggle-btn:hover{transform:translateY(1px);box-shadow:inset -2px -2px rgba(0,0,0,.4),inset 2px 2px rgba(255,255,255,.1),0 1px #000}@keyframes torchFlicker{0%,to{box-shadow:inset -4px -4px rgba(0,0,0,.4),inset 4px 4px rgba(255,255,255,.05),8px 8px rgba(0,0,0,.3),0 0 30px rgba(255,107,26,.1)}50%{box-shadow:inset -4px -4px rgba(0,0,0,.4),inset 4px 4px rgba(255,255,255,.05),8px 8px rgba(0,0,0,.3),0 0 50px rgba(255,107,26,.2)}}.btn{align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-xl);font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:1px solid;font-size:.9rem;text-decoration:none;display:inline-flex}.btn-primary{border-color:var(--color-primary);color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary);color:var(--color-bg)}.btn-secondary{border-color:var(--color-text-muted);color:var(--color-text-muted)}.btn-secondary:hover{border-color:var(--color-secondary);color:var(--color-secondary)}[data-theme=forge] .btn{font-family:var(--font-display);letter-spacing:.1em;border-width:2px;font-size:1.1rem}[data-theme=forge] .btn-primary{background:var(--color-primary);color:var(--color-bg)}[data-theme=forge] .btn-primary:hover{color:var(--color-primary);background:0 0}[data-theme=bitart] .btn{font-family:var(--font-display);padding:var(--space-md)var(--space-lg);border-width:4px;font-size:.6rem;box-shadow:inset -4px -4px rgba(0,0,0,.5),inset 4px 4px rgba(255,255,255,.1),0 4px #000}[data-theme=bitart] .btn:hover{transform:translateY(2px);box-shadow:inset -4px -4px rgba(0,0,0,.5),inset 4px 4px rgba(255,255,255,.1),0 2px #000}[data-theme=bitart] .btn:active{transform:translateY(4px);box-shadow:inset -4px -4px rgba(0,0,0,.5),inset 4px 4px rgba(255,255,255,.1)}[data-theme=bitart] .btn-primary{background:var(--color-primary);color:#000;border-color:var(--color-secondary)}.features{padding:var(--space-3xl)var(--space-lg);background:var(--color-surface)}.features .features-grid{max-width:var(--container-max);gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;display:grid}.feature-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);transition:all var(--transition-normal)}.feature-card:hover{box-shadow:var(--shadow-md),var(--shadow-glow);border-color:var(--color-primary);transform:translateY(-4px)}.feature-card .feature-icon{margin-bottom:var(--space-md);font-size:2.5rem}.feature-card h3{font-family:var(--font-display);color:var(--color-text);margin-bottom:var(--space-sm);font-size:1.25rem}.feature-card p{color:var(--color-text-muted);font-size:.95rem;line-height:1.6}[data-theme=terminal] .feature-card:before{content:">";font-family:var(--font-mono);color:var(--color-secondary);margin-right:var(--space-sm)}[data-theme=terminal] .feature-card h3:before{content:"./";color:var(--color-secondary)}[data-theme=forge] .feature-card h3{letter-spacing:.05em;text-transform:uppercase;font-size:1.5rem}[data-theme=forge] .feature-card:after{content:"";background:var(--color-primary);width:40px;height:3px;margin-top:var(--space-md);transition:width var(--transition-fast);display:block}[data-theme=forge] .feature-card:hover:after{width:80px}[data-theme=bitart] .feature-card{border-width:4px;box-shadow:inset -3px -3px rgba(0,0,0,.4),inset 3px 3px rgba(255,255,255,.05),4px 4px rgba(0,0,0,.3)}[data-theme=bitart] .feature-card .feature-icon{background:var(--color-surface-elevated);padding:var(--space-sm);border:3px solid var(--color-border);width:fit-content;font-size:2rem}[data-theme=bitart] .feature-card h3{text-shadow:2px 2px rgba(0,0,0,.5);font-size:.8rem}[data-theme=bitart] .feature-card p{font-family:var(--font-body);font-size:1.1rem}[data-theme=bitart] .feature-card:hover{border-color:var(--color-secondary);transform:scale(1.02)}main{z-index:1;position:relative}footer{text-align:center;padding:var(--space-2xl);border-top:1px solid var(--color-border);font-family:var(--font-mono);color:var(--color-text-muted);font-size:.85rem}[data-theme=forge] footer{border-top-width:2px}[data-theme=bitart] footer{border-top-width:4px}[data-theme=bitart] footer p{font-family:var(--font-display);color:var(--color-text-muted);font-size:.5rem}[data-theme=bitart] footer p span{color:var(--color-primary)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.cursor{background:var(--color-primary);vertical-align:text-bottom;width:10px;height:1.2em;animation:1s infinite blink;display:inline-block}@media (width<=768px){:root{--nav-height:56px}nav .nav-content{height:auto;padding:var(--space-md)0;flex-direction:column}nav .nav-links{justify-content:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}nav .control-panel{justify-content:center;width:100%}.hero{min-height:auto;padding:var(--space-xl)var(--space-md)}.hero .hero-content h1{font-size:clamp(2rem,8vw,3rem)}.cta-buttons{flex-direction:column}.cta-buttons .btn{justify-content:center;width:100%}.features-grid{grid-template-columns:1fr}}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.bg-surface{background:var(--color-surface)}.bg-elevated{background:var(--color-surface-elevated)}.about-page{max-width:1000px;padding:calc(var(--nav-height) + var(--space-2xl))var(--space-lg)var(--space-3xl);margin:0 auto}.page-header{text-align:center;margin-bottom:var(--space-3xl);animation:.8s fadeInUp}.page-header h1{font-family:var(--font-display);margin-bottom:var(--space-md);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,6vw,3rem);font-weight:700}.page-header .page-subtitle{color:var(--color-text-muted);font-size:1.25rem;font-family:var(--font-mono)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-section{gap:var(--space-2xl);margin-bottom:var(--space-2xl);padding:var(--space-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-normal);align-items:center;animation:.8s .1s both fadeInUp;display:flex}.profile-section:hover{box-shadow:var(--shadow-md),var(--shadow-glow)}.profile-image{border:4px solid var(--color-primary);width:200px;height:200px;box-shadow:var(--shadow-lg);border-radius:50%;flex-shrink:0;overflow:hidden}.profile-image img{object-fit:cover;width:100%;height:100%}.profile-info h2{font-family:var(--font-display);margin-bottom:var(--space-sm);color:var(--color-primary);font-size:2rem}.profile-info .profile-title{color:var(--color-text-muted);margin-bottom:var(--space-lg);font-family:var(--font-mono)}.profile-links{gap:var(--space-md);flex-wrap:wrap;display:flex}.profile-link{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);background:var(--color-primary);color:var(--color-bg);border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-mono);transition:all var(--transition-fast);font-size:.9rem;display:inline-flex}.profile-link:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.profile-link .link-icon{font-size:1rem}.about-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);margin-bottom:var(--space-2xl);animation:.8s .2s both fadeInUp}.about-section h2{font-family:var(--font-display);margin-bottom:var(--space-lg);color:var(--color-primary);font-size:2rem}.about-section p{color:var(--color-text-muted);margin-bottom:var(--space-lg);line-height:1.8}.about-section p:last-child{margin-bottom:0}.skills-section{margin-bottom:var(--space-2xl)}.skills-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.skill-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-normal);animation:.8s .3s both fadeInUp}.skill-card:hover{box-shadow:var(--shadow-md),var(--shadow-glow);border-color:var(--color-primary);transform:translateY(-5px)}.skill-card h3{font-family:var(--font-display);margin-bottom:var(--space-md);color:var(--color-secondary);font-size:1.5rem}.skill-list li{padding:var(--space-sm)0;color:var(--color-text-muted);align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:.9rem;display:flex}.skill-list li:before{content:"▸";color:var(--color-primary);font-weight:700}.journey-section{margin-bottom:var(--space-3xl)}.journey-title{font-family:var(--font-display);margin-bottom:var(--space-xl);text-align:center;color:var(--color-primary);font-size:2rem}.timeline{padding-left:var(--space-xl);position:relative}.timeline:before{content:"";background:linear-gradient(to bottom,var(--color-primary),var(--color-secondary));width:2px;height:100%;position:absolute;top:0;left:0}.timeline-item{padding-bottom:var(--space-xl);animation:.8s both fadeInUp;position:relative}.timeline-item:before{content:"";left:calc(-1*var(--space-xl) - 5px);background:var(--color-primary);width:12px;height:12px;box-shadow:0 0 0 4px var(--color-surface);border-radius:50%;position:absolute;top:.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-date{color:var(--color-accent);font-weight:600;font-family:var(--font-mono);margin-bottom:var(--space-sm)}.timeline-content h4{font-family:var(--font-display);margin-bottom:var(--space-sm);color:var(--color-text);font-size:1.25rem}.timeline-content p{color:var(--color-text-muted);line-height:1.8}.contact-cta{text-align:center;padding:var(--space-2xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);animation:.8s .5s both fadeInUp}.contact-cta h2{font-family:var(--font-display);margin-bottom:var(--space-md);color:var(--color-text);font-size:2rem}.contact-cta p{color:var(--color-text-muted);margin-bottom:var(--space-xl);max-width:500px;margin-left:auto;margin-right:auto}[data-theme=terminal] .page-header h1:before{content:"$ whoami > ";-webkit-text-fill-color:var(--color-secondary);background:0 0;font-size:.8em}[data-theme=terminal] .profile-section{border:1px solid var(--color-border);box-shadow:var(--shadow-glow)}[data-theme=terminal] .about-section:before{content:"/* bio.md */";font-family:var(--font-mono);color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.75rem;display:block}[data-theme=terminal] .skill-card h3:before{content:"> ";color:var(--color-primary)}[data-theme=terminal] .timeline:before{background:var(--color-secondary);opacity:.5}[data-theme=forge] .page-header h1{letter-spacing:.05em;text-transform:uppercase;font-size:clamp(2.5rem,8vw,4rem)}[data-theme=forge] .page-header .page-subtitle{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;font-weight:500}[data-theme=forge] .profile-section{border-width:2px}[data-theme=forge] .profile-info h2{letter-spacing:.05em;font-size:2.5rem}[data-theme=forge] .profile-link{border:2px solid transparent}[data-theme=forge] .profile-link:hover{border-color:var(--color-primary);color:var(--color-primary);background:0 0}[data-theme=forge] .about-section,[data-theme=forge] .skill-card,[data-theme=forge] .contact-cta{border-width:2px}[data-theme=forge] .about-section:after,[data-theme=forge] .skill-card:after,[data-theme=forge] .contact-cta:after{content:"";background:var(--color-primary);width:40px;height:3px;margin-top:var(--space-lg);transition:width var(--transition-fast);display:block}[data-theme=forge] .about-section:hover:after,[data-theme=forge] .skill-card:hover:after,[data-theme=forge] .contact-cta:hover:after{width:80px}[data-theme=forge] .skill-card h3{text-transform:uppercase;letter-spacing:.05em}[data-theme=bitart] .page-header h1{text-shadow:3px 3px rgba(0,0,0,.5);font-size:clamp(1rem,4vw,1.5rem);line-height:1.6}[data-theme=bitart] .page-header h1:before{content:"★ ";color:var(--color-secondary)}[data-theme=bitart] .page-header h1:after{content:" ★";color:var(--color-secondary)}[data-theme=bitart] .page-header .page-subtitle{font-family:var(--font-body);font-size:1.2rem}[data-theme=bitart] .profile-section{border-width:4px;box-shadow:inset -4px -4px rgba(0,0,0,.4),inset 4px 4px rgba(255,255,255,.05),6px 6px rgba(0,0,0,.3)}[data-theme=bitart] .profile-image{image-rendering:pixelated;border-width:5px;border-radius:0}[data-theme=bitart] .profile-link{border:3px solid var(--color-border);box-shadow:inset -2px -2px rgba(0,0,0,.5),inset 2px 2px rgba(255,255,255,.2),0 3px #000}[data-theme=bitart] .profile-link:hover{transform:translateY(2px);box-shadow:inset -2px -2px rgba(0,0,0,.5),inset 2px 2px rgba(255,255,255,.2),0 1px #000}[data-theme=bitart] .about-section,[data-theme=bitart] .skill-card,[data-theme=bitart] .contact-cta{border-width:4px;box-shadow:inset -3px -3px rgba(0,0,0,.4),inset 3px 3px rgba(255,255,255,.05),4px 4px rgba(0,0,0,.3)}[data-theme=bitart] .about-section{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,107,26,.03) 10px 20px)}[data-theme=bitart] .skill-card h3{font-family:var(--font-display);text-shadow:2px 2px rgba(0,0,0,.5);font-size:.7rem}[data-theme=bitart] .skill-card:hover{border-color:var(--color-secondary);transform:scale(1.02)}[data-theme=bitart] .skill-list li{font-family:var(--font-body);font-size:1.1rem}[data-theme=bitart] .skill-list li:before{content:"◆"}[data-theme=bitart] .timeline:before{background:repeating-linear-gradient(to bottom,var(--color-primary),var(--color-primary)5px,transparent 5px,transparent 10px)}[data-theme=bitart] .timeline-item:before{border-radius:0;animation:2s ease-in-out infinite pulse}[data-theme=bitart] .timeline-content h4{font-family:var(--font-display);text-shadow:2px 2px rgba(0,0,0,.5);font-size:.65rem}[data-theme=bitart] .contact-cta{animation:3s ease-in-out infinite torchFlicker}[data-theme=bitart] .contact-cta h2{font-family:var(--font-display);text-shadow:2px 2px rgba(0,0,0,.5);font-size:.8rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (width<=768px){.about-page{padding-top:calc(var(--nav-height) + var(--space-xl))}.page-header h1{font-size:2rem}.profile-section{text-align:center;flex-direction:column}.profile-image{width:150px;height:150px}.profile-links{justify-content:center}.about-section{padding:var(--space-xl)}.skills-grid{grid-template-columns:1fr}.timeline{padding-left:var(--space-lg)}.timeline-item:before{left:calc(-1*var(--space-lg) - 5px)}}.cv-page{max-width:1000px;padding:calc(var(--nav-height) + var(--space-2xl))var(--space-lg)var(--space-3xl);margin:0 auto}.cv-hero{text-align:center;margin-bottom:var(--space-2xl);padding:var(--space-2xl);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);animation:.8s fadeInUp;position:relative}.cv-hero h1{font-family:var(--font-display);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--space-md);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,6vw,3rem)}.cv-hero .cv-subtitle{color:var(--color-secondary);margin-bottom:var(--space-lg);text-transform:uppercase;font-size:1.2rem;font-family:var(--font-mono)}.cv-contact{justify-content:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.cv-contact .contact-item{align-items:center;gap:var(--space-xs);color:var(--color-accent);font-weight:600;font-family:var(--font-mono);transition:all var(--transition-fast);font-size:.9rem;display:inline-flex}.cv-contact .contact-item:hover{color:var(--color-primary);transform:scale(1.05)}.cv-contact .contact-item .contact-icon{font-size:1rem}.cv-section{margin-bottom:var(--space-2xl);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);animation:.8s both fadeInUp;position:relative}.cv-section:nth-child(2){animation-delay:.1s}.cv-section:nth-child(3){animation-delay:.2s}.cv-section:nth-child(4){animation-delay:.3s}.cv-section:nth-child(5){animation-delay:.4s}.cv-section:nth-child(6){animation-delay:.5s}.cv-section:nth-child(7){animation-delay:.6s}.cv-section .section-title{font-family:var(--font-display);text-transform:uppercase;margin-bottom:var(--space-lg);color:var(--color-primary);align-items:center;gap:var(--space-sm);font-size:1.5rem;display:flex}.cv-section .summary-text{color:var(--color-text-muted);font-size:1rem;line-height:1.8}.expertise-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.expertise-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);transition:all var(--transition-normal)}.expertise-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.expertise-card h4{color:var(--color-primary);margin-bottom:var(--space-md);font-family:var(--font-display);text-transform:uppercase;font-size:.9rem}.expertise-list li{padding-left:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.9rem;position:relative}.expertise-list li:before{content:"•";color:var(--color-accent);font-weight:700;position:absolute;left:0}.cv-timeline{padding-left:var(--space-2xl);position:relative}.cv-timeline:before{content:"";left:var(--space-sm);background:linear-gradient(to bottom,var(--color-primary),var(--color-secondary));border-radius:2px;width:3px;height:100%;position:absolute;top:0}.experience-item{margin-bottom:var(--space-xl);padding-left:var(--space-lg);position:relative}.experience-item:before{content:"";left:calc(-1*var(--space-2xl) + 2px);top:var(--space-xs);background:var(--color-primary);width:14px;height:14px;box-shadow:0 0 0 4px var(--color-surface);border-radius:50%;position:absolute}.experience-item:last-child{margin-bottom:0}.experience-item .job-title{color:var(--color-primary);margin-bottom:var(--space-xs);font-size:1.2rem;font-weight:700;font-family:var(--font-display)}.experience-item .company{color:var(--color-secondary);margin-bottom:var(--space-xs);font-weight:600}.experience-item .date-location{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.9rem;font-family:var(--font-mono)}.responsibilities li{padding-left:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-text-muted);line-height:1.6;position:relative}.responsibilities li:before{content:"▸";color:var(--color-accent);position:absolute;left:0}.projects-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.project-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);transition:all var(--transition-normal)}.project-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-4px)}.project-card h3{color:var(--color-primary);margin-bottom:var(--space-sm);font-family:var(--font-display);font-size:1.1rem}.project-card .project-date{color:var(--color-secondary);margin-bottom:var(--space-sm);font-size:.85rem;font-weight:600;font-family:var(--font-mono)}.project-card .project-description{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.95rem;line-height:1.6}.project-card .project-tech{color:var(--color-accent);font-size:.85rem;font-style:italic;font-family:var(--font-mono)}.education-grid{gap:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.education-grid h3{color:var(--color-primary);margin-bottom:var(--space-md);font-family:var(--font-display);font-size:1.1rem}.education-item{margin-bottom:var(--space-lg)}.education-item .degree{color:var(--color-text);margin-bottom:var(--space-xs);font-weight:700}.education-item .school{color:var(--color-secondary);margin-bottom:var(--space-xs);font-size:.9rem}.education-item .level{color:var(--color-text-muted);font-size:.85rem;font-family:var(--font-mono)}.certifications-list li{padding-left:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-text-muted);position:relative}.certifications-list li:before{content:"✓";color:var(--color-secondary);font-weight:700;position:absolute;left:0}.languages-list{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.language-item{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex}.language-item:hover{border-color:var(--color-primary)}.language-item .language-name{color:var(--color-text);font-weight:600}.language-item .language-level{color:var(--color-secondary);font-size:.85rem;font-family:var(--font-mono)}[data-theme=terminal] .cv-hero{box-shadow:var(--shadow-glow)}[data-theme=terminal] .cv-hero h1:before{content:"$ cat ";-webkit-text-fill-color:var(--color-secondary);background:0 0;font-size:.7em}[data-theme=terminal] .cv-section .section-title:before{content:">";color:var(--color-secondary);margin-right:var(--space-sm)}[data-theme=terminal] .cv-timeline:before{background:var(--color-secondary);opacity:.5}[data-theme=terminal] .expertise-card h4:before{content:"./";color:var(--color-secondary)}[data-theme=forge] .cv-hero{border-width:3px}[data-theme=forge] .cv-hero h1{letter-spacing:.05em;font-size:clamp(2.5rem,8vw,4rem)}[data-theme=forge] .cv-section{border-width:2px}[data-theme=forge] .cv-section .section-title{letter-spacing:.05em;font-size:1.8rem}[data-theme=forge] .cv-section:after{content:"";background:var(--color-primary);width:50px;height:3px;margin-top:var(--space-lg);transition:width var(--transition-fast);display:block}[data-theme=forge] .cv-section:hover:after{width:100px}[data-theme=forge] .expertise-card,[data-theme=forge] .project-card{border-width:2px}[data-theme=forge] .project-card h3{text-transform:uppercase;letter-spacing:.03em}[data-theme=bitart] .cv-hero{border-width:5px;animation:3s ease-in-out infinite torchFlicker;box-shadow:inset -4px -4px rgba(0,0,0,.4),inset 4px 4px rgba(255,255,255,.05),8px 8px rgba(0,0,0,.3)}[data-theme=bitart] .cv-hero:before,[data-theme=bitart] .cv-hero:after{content:"";background:var(--color-accent);clip-path:polygon(0 0,100% 0,0 100%);width:30px;height:30px;position:absolute}[data-theme=bitart] .cv-hero:before{top:-5px;left:-5px}[data-theme=bitart] .cv-hero:after{bottom:-5px;right:-5px;transform:rotate(180deg)}[data-theme=bitart] .cv-hero h1{text-shadow:3px 3px rgba(0,0,0,.5);font-size:clamp(1rem,4vw,1.5rem);animation:2s ease-in-out infinite pulseGlow}[data-theme=bitart] .cv-hero .cv-subtitle{font-family:var(--font-body);font-size:1.2rem}[data-theme=bitart] .cv-hero .cv-subtitle:before,[data-theme=bitart] .cv-hero .cv-subtitle:after{content:" ◆ ";color:var(--color-secondary)}[data-theme=bitart] .cv-hero .contact-item:hover{text-shadow:0 0 5px}[data-theme=bitart] .cv-section{border-width:4px;box-shadow:inset -3px -3px rgba(0,0,0,.4),inset 3px 3px rgba(255,255,255,.05),4px 4px rgba(0,0,0,.3)}[data-theme=bitart] .cv-section:before{content:"";background:linear-gradient(90deg,transparent,var(--color-accent)10%,var(--color-secondary)50%,var(--color-accent)90%,transparent);height:3px;position:absolute;top:0;left:0;right:0}[data-theme=bitart] .cv-section .section-title{font-family:var(--font-display);text-shadow:2px 2px rgba(0,0,0,.5);font-size:.8rem}[data-theme=bitart] .cv-section .section-title:before{content:"◆";color:var(--color-accent);margin-right:var(--space-sm);animation:1s steps(2,end) infinite blink}[data-theme=bitart] .cv-timeline:before{background:repeating-linear-gradient(to bottom,var(--color-primary),var(--color-primary)5px,transparent 5px,transparent 10px)}[data-theme=bitart] .experience-item:before{background:var(--color-secondary);box-shadow:0 0 10px var(--color-secondary),0 0 20px var(--color-secondary);border-radius:0;animation:2s ease-in-out infinite pulse}[data-theme=bitart] .expertise-card,[data-theme=bitart] .project-card{border-width:3px;box-shadow:inset -2px -2px rgba(0,0,0,.4),inset 2px 2px rgba(255,255,255,.1),3px 3px rgba(0,0,0,.3)}[data-theme=bitart] .expertise-card:hover,[data-theme=bitart] .project-card:hover{border-color:var(--color-secondary);transform:scale(1.02)}[data-theme=bitart] .expertise-card h3,[data-theme=bitart] .expertise-card h4,[data-theme=bitart] .project-card h3,[data-theme=bitart] .project-card h4{font-family:var(--font-display);text-shadow:2px 2px rgba(0,0,0,.5);font-size:.7rem}[data-theme=bitart] .expertise-list li,[data-theme=bitart] .responsibilities li{font-family:var(--font-body);font-size:1rem}[data-theme=bitart] .expertise-list li:before,[data-theme=bitart] .responsibilities li:before{content:"◆"}[data-theme=bitart] .language-item{padding-left:var(--space-xl);border-width:2px;position:relative}[data-theme=bitart] .language-item:before{content:"★";left:var(--space-sm);color:var(--color-primary);position:absolute}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.8}}@media (width<=768px){.cv-page{padding-top:calc(var(--nav-height) + var(--space-xl))}.cv-hero{padding:var(--space-xl)}.cv-hero h1{font-size:1.8rem}.cv-contact{gap:var(--space-sm);flex-direction:column}.expertise-grid,.projects-grid,.education-grid{grid-template-columns:1fr}.cv-timeline{padding-left:var(--space-xl)}.experience-item:before{left:calc(-1*var(--space-xl) + 2px)}.languages-list{grid-template-columns:1fr}}@media print{nav,.control-panel{display:none!important}body{color:#000!important;background:#fff!important;font-family:Arial,Helvetica,sans-serif!important}.cv-page{max-width:none;margin:0;padding:0}.cv-hero,.cv-section{page-break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #333!important;border-radius:0!important;animation:none!important}.cv-hero:before,.cv-hero:after,.cv-section:before,.cv-section:after{display:none!important}.cv-hero h1{-webkit-text-fill-color:black!important;color:#000!important;background:0 0!important}.cv-subtitle,.contact-item,.section-title,.job-title,.company,.project-card h3,.expertise-card h4{color:#000!important}.summary-text,.date-location,.responsibilities li,.expertise-list li,.project-description,.project-tech,.language-level{color:#333!important}.cv-timeline:before{background:#333!important}.experience-item:before{box-shadow:none!important;background:#333!important}a{color:#000!important;text-decoration:underline!important}.cv-section{page-break-before:auto}.experience-item,.project-card{page-break-inside:avoid}}.projects-page{max-width:var(--container-max);padding:calc(var(--nav-height) + var(--space-2xl))var(--space-lg)var(--space-3xl);margin:0 auto}.projects-page .page-header{text-align:center;margin-bottom:var(--space-3xl);animation:.8s fadeInUp}.projects-page .page-header h1{font-family:var(--font-display);margin-bottom:var(--space-md);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,5vw,3rem);font-weight:700}.projects-page .page-header .page-subtitle{color:var(--color-text-muted);font-size:1.25rem}.filter-tabs{justify-content:center;gap:var(--space-md);margin-bottom:var(--space-3xl);flex-wrap:wrap;display:flex}.filter-tab{padding:var(--space-sm)var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-mono);color:var(--color-text-muted);border-radius:2rem;font-size:.9rem;font-weight:500}.filter-tab:hover{border-color:var(--color-primary);color:var(--color-text)}.filter-tab.active{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}.projects-page .projects-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}.projects-page .project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-normal);flex-direction:column;animation:.8s both fadeInUp;display:flex;overflow:hidden}.projects-page .project-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);transform:translateY(-5px)}.projects-page .project-card .project-header{padding:var(--space-xl)var(--space-xl)var(--space-lg);background:linear-gradient(135deg,rgba(var(--color-primary-rgb,240,198,116),.1),rgba(var(--color-secondary-rgb,138,190,183),.1));border-bottom:1px solid var(--color-border)}.projects-page .project-card .project-title{font-family:var(--font-display);margin-bottom:var(--space-sm);color:var(--color-text);font-size:1.35rem;font-weight:700}.projects-page .project-card .project-date{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.9rem}.projects-page .project-card .project-tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.projects-page .project-card .tag{padding:var(--space-xs)var(--space-sm);background:rgba(var(--color-primary-rgb,240,198,116),.1);border:1px solid rgba(var(--color-primary-rgb,240,198,116),.3);color:var(--color-primary);border-radius:1rem;font-size:.8rem}.projects-page .project-card .project-body{padding:var(--space-xl);flex-direction:column;flex-grow:1;display:flex}.projects-page .project-card .project-description{color:var(--color-text-muted);margin-bottom:var(--space-lg);flex-grow:1;line-height:1.8}.projects-page .project-card .project-stats{gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-md);grid-template-columns:repeat(2,1fr);display:grid}.projects-page .project-card .stat{text-align:center}.projects-page .project-card .stat-value{font-family:var(--font-display);color:var(--color-primary);font-size:1.5rem;font-weight:700}.projects-page .project-card .stat-label{color:var(--color-text-muted);font-size:.8rem}.projects-page .project-card .project-tech{padding-top:var(--space-md);border-top:1px solid var(--color-border);margin-top:auto}.projects-page .project-card .tech-stack{color:var(--color-text-muted);font-size:.9rem;font-family:var(--font-mono)}.projects-page .project-card .tech-stack .tech-label{color:var(--color-text);font-weight:600}.projects-page .featured-project{background:linear-gradient(135deg,var(--color-surface),rgba(var(--color-primary-rgb,240,198,116),.05));border:2px solid var(--color-primary);grid-column:1/-1;position:relative;overflow:hidden}.projects-page .featured-project .project-stats{grid-template-columns:repeat(4,1fr)}.featured-badge{top:var(--space-md);right:var(--space-md);background:var(--color-accent);color:#fff;padding:var(--space-sm)var(--space-md);z-index:1;border-radius:2rem;font-size:.8rem;font-weight:600;position:absolute}[data-theme=terminal] .filter-tab:before{content:"[";opacity:.6;margin-right:2px}[data-theme=terminal] .filter-tab:after{content:"]";opacity:.6;margin-left:2px}[data-theme=terminal] .filter-tab.active:before,[data-theme=terminal] .filter-tab.active:after{opacity:1}[data-theme=terminal] .projects-page .project-title:before{content:"$ ";color:var(--color-secondary)}[data-theme=terminal] .featured-badge:before{content:"★ "}[data-theme=forge] .filter-tabs{gap:0}[data-theme=forge] .filter-tab{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;border-width:2px;border-radius:0}[data-theme=forge] .filter-tab:first-child{border-radius:var(--radius-sm)0 0 var(--radius-sm)}[data-theme=forge] .filter-tab:last-child{border-radius:0 var(--radius-sm)var(--radius-sm)0}[data-theme=forge] .filter-tab:not(:first-child){border-left:none}[data-theme=forge] .projects-page .project-card{border-width:2px;border-radius:0}[data-theme=forge] .featured-badge{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;border-radius:0}[data-theme=forge] .tag{text-transform:uppercase;letter-spacing:.05em;border-radius:0;font-size:.7rem}[data-theme=bitart] .filter-tab{font-family:var(--font-body);border-width:3px;border-radius:0;font-size:.85rem;transition:transform .1s,box-shadow .1s;box-shadow:inset -2px -2px rgba(0,0,0,.4),inset 2px 2px rgba(255,255,255,.1),0 3px #000}[data-theme=bitart] .filter-tab:hover,[data-theme=bitart] .filter-tab.active{transform:translateY(2px);box-shadow:inset -2px -2px rgba(0,0,0,.4),inset 2px 2px rgba(255,255,255,.1),0 1px #000}[data-theme=bitart] .projects-page .project-card{border-width:3px;border-radius:0;box-shadow:inset -3px -3px rgba(0,0,0,.3),inset 3px 3px rgba(255,255,255,.1)}[data-theme=bitart] .projects-page .project-card:hover{transform:translateY(-3px);box-shadow:inset -3px -3px rgba(0,0,0,.3),inset 3px 3px rgba(255,255,255,.1),0 6px rgba(0,0,0,.5)}[data-theme=bitart] .featured-badge{font-family:var(--font-display);border:2px solid var(--color-secondary);border-radius:0;font-size:.6rem;animation:2s ease-in-out infinite pulse;box-shadow:inset -2px -2px rgba(0,0,0,.4),inset 2px 2px rgba(255,255,255,.2)}[data-theme=bitart] .projects-page .project-stats{background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,107,26,.05) 5px 10px)}[data-theme=bitart] .stat-value{font-family:var(--font-display);font-size:1rem}[data-theme=bitart] .tag{text-transform:uppercase;letter-spacing:.05em;border-width:2px;border-radius:0;font-size:.65rem}@media (width<=768px){.projects-page{padding:calc(var(--nav-height) + var(--space-xl))var(--space-md)var(--space-2xl)}.projects-page .page-header h1{font-size:2rem}.projects-page .projects-grid{grid-template-columns:1fr}.projects-page .featured-project{grid-column:1}.projects-page .featured-project .project-stats{grid-template-columns:repeat(2,1fr)}.projects-page .project-card .project-stats{grid-template-columns:1fr}.filter-tabs{gap:var(--space-sm)}.filter-tab{padding:var(--space-xs)var(--space-md);font-size:.8rem}}[data-theme=terminal][data-color=dark],[data-theme=terminal]:not([data-color]){--code-bg:#0d0d0a;--syn-keyword:#b5bd68;--syn-string:#f0c674;--syn-comment:#5c635a;--syn-function:#8abeb7;--syn-number:#de935f;--syn-operator:#c5c8c6;--syn-type:#81a2be;--syn-variable:#c66;--syn-constant:#b294bb;--syn-punctuation:#969896}[data-theme=terminal][data-color=light]{--code-bg:#f0f0e8;--syn-keyword:#4d6b3a;--syn-string:#b38600;--syn-comment:#8a8a80;--syn-function:#2a7a72;--syn-number:#b35900;--syn-operator:#2a2a28;--syn-type:#3a6b8a;--syn-variable:#a33333;--syn-constant:#7a5a8a;--syn-punctuation:#6a6a68}[data-theme=forge][data-color=dark],[data-theme=forge]:not([data-color]){--code-bg:#1a1d21;--syn-keyword:#ff6b35;--syn-string:#ffe66d;--syn-comment:#5a6270;--syn-function:#4ecdc4;--syn-number:#ff8c42;--syn-operator:#e8e8e8;--syn-type:#a8dadc;--syn-variable:#f4a261;--syn-constant:#e76f51;--syn-punctuation:#6b7280}[data-theme=forge][data-color=light]{--code-bg:#f0f2f4;--syn-keyword:#d45020;--syn-string:#b8860b;--syn-comment:#8a8f98;--syn-function:#2a9d8f;--syn-number:#c56000;--syn-operator:#1e2127;--syn-type:#457b9d;--syn-variable:#c77d35;--syn-constant:#c4533d;--syn-punctuation:#6b7280}[data-theme=bitart][data-color=dark],[data-theme=bitart]:not([data-color]){--code-bg:#1a1410;--syn-keyword:#ff6b1a;--syn-string:gold;--syn-comment:#6b5030;--syn-function:#0f8;--syn-number:#f44;--syn-operator:#fc9;--syn-type:#8cf;--syn-variable:#f8f;--syn-constant:#fa0;--syn-punctuation:#964}[data-theme=bitart][data-color=light]{--code-bg:#f0e6d8;--syn-keyword:#c40;--syn-string:#8b6914;--syn-comment:#9a8870;--syn-function:#084;--syn-number:#c22;--syn-operator:#3d2914;--syn-type:#26a;--syn-variable:#939;--syn-constant:#960;--syn-punctuation:#8b6914}.blog-page{min-height:100vh;padding:calc(var(--nav-height) + var(--space-2xl))var(--space-xl)var(--space-2xl);max-width:1200px;margin:0 auto}.blog-page .page-header{text-align:center;margin-bottom:var(--space-2xl);animation:.6s fadeInUp}.blog-page .page-header .page-title{font-family:var(--font-display);margin-bottom:var(--space-md);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,5vw,4rem);font-weight:700}.blog-page .page-header .page-subtitle{color:var(--color-text-muted);max-width:600px;margin:0 auto;font-size:1.2rem}.blog-page .blog-container{gap:var(--space-xl);flex-direction:column;display:flex}.blog-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}.blog-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all .3s;animation:.6s backwards fadeInUp;overflow:hidden}.blog-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}.blog-card .blog-card-link{padding:var(--space-xl);color:inherit;text-decoration:none;display:block}.blog-card .blog-card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.blog-card .blog-date{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.85rem}.blog-card .blog-tags{gap:var(--space-xs);flex-wrap:wrap;display:flex}.blog-card .tag{padding:var(--space-xs)var(--space-sm);background:var(--color-primary);color:var(--color-bg);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:500}.blog-card .blog-title{font-family:var(--font-display);margin-bottom:var(--space-sm);color:var(--color-text);font-size:1.5rem;font-weight:600;line-height:1.3}.blog-card .blog-summary{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.95rem;line-height:1.6}.blog-card .read-more{color:var(--color-primary);font-size:.9rem;font-weight:500;transition:transform .2s;display:inline-block}.blog-card .read-more:hover{transform:translate(4px)}.pagination{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-xl)0;margin-top:var(--space-xl);display:flex}.pagination-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);align-items:center;gap:var(--space-xs);font-size:.9rem;transition:all .2s;display:flex}.pagination-btn:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{color:var(--color-text-muted);font-size:.9rem;font-family:var(--font-mono)}.blog-post-page{min-height:100vh;padding:calc(var(--nav-height) + var(--space-2xl))var(--space-xl)var(--space-2xl);max-width:800px;margin:0 auto}@media (width>=1200px){.blog-post-page{max-width:1100px}}.blog-post-layout{gap:var(--space-xl);flex-direction:column;display:flex}@media (width>=1200px){.blog-post-layout{flex-direction:row;align-items:flex-start}}.blog-toc-wrapper{order:-1;width:100%}@media (width>=1200px){.blog-toc-wrapper{width:260px;top:calc(var(--nav-height) + var(--space-lg));max-height:calc(100vh - var(--nav-height) - var(--space-2xl));flex-shrink:0;order:0;position:sticky;overflow-y:auto}}.post-header{margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border);animation:.6s fadeInUp}.post-header .back-link{color:var(--color-text-muted);margin-bottom:var(--space-lg);font-size:.9rem;text-decoration:none;transition:color .2s;display:inline-block}.post-header .back-link:hover{color:var(--color-primary)}.post-header .post-title{font-family:var(--font-display);margin-bottom:var(--space-lg);color:var(--color-text);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.2}.post-header .post-meta{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.post-header .post-date{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.9rem}.post-header .post-tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.post-header .post-tags .tag{padding:var(--space-xs)var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:.75rem;text-decoration:none;transition:all .2s}.post-header .post-tags .tag:hover{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}.blog-post{flex:1;min-width:0;animation:.6s .1s both fadeInUp}.blog-post .post-footer{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.prose{color:var(--color-text);font-size:1.1rem;line-height:1.8}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-display);margin-top:var(--space-2xl);margin-bottom:var(--space-md);color:var(--color-text);font-weight:600}.prose h1{font-size:2rem}.prose h2{font-size:1.75rem}.prose h3{font-size:1.5rem}.prose h4{font-size:1.25rem}.prose p{margin-bottom:var(--space-lg)}.prose a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.prose a:hover{text-decoration-thickness:2px}.prose strong{color:var(--color-text);font-weight:600}.prose em{font-style:italic}.prose ul,.prose ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}.prose li{margin-bottom:var(--space-sm)}.prose blockquote{margin:var(--space-xl)0;padding:var(--space-md)var(--space-lg);border-left:4px solid var(--color-primary);background:var(--color-surface);color:var(--color-text-muted);font-style:italic}.prose hr{background:var(--color-border);height:1px;margin:var(--space-2xl)0;border:none}.prose code{font-family:var(--font-mono);background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-primary);padding:.15em .4em;font-size:.9em}.blog-toc{padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.blog-toc .toc-title{font-family:var(--font-display);margin:0 0 var(--space-md)0;color:var(--color-text);font-size:1rem;font-weight:600}.blog-toc .toc-content{font-size:.9rem;line-height:1.5}.blog-toc .toc-content ul{margin:0;padding:0;list-style:none}.blog-toc .toc-content ul ul{padding-left:var(--space-md);margin-top:var(--space-xs)}.blog-toc .toc-content li{margin-bottom:var(--space-xs)}.blog-toc .toc-content a{color:var(--color-text-muted);transition:color var(--transition-fast);padding:2px 0;text-decoration:none;display:block}.blog-toc .toc-content a:hover{color:var(--color-primary)}.reading-time{color:var(--color-text-muted);margin:0 var(--space-md);font-size:.9rem}pre.mermaid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-xl)0;text-align:center;overflow-x:auto}pre.mermaid svg{max-width:100%;height:auto}.code-block{background:var(--code-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-xl)0;position:relative;overflow-x:auto}.code-block:before{content:attr(data-lang);padding:var(--space-xs)var(--space-sm);font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-surface);border-radius:0 var(--radius-md)0 var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;position:absolute;top:0;right:0}.code-block code{font-family:var(--font-mono);color:var(--color-text);background:0 0;padding:0;font-size:.9rem;line-height:1.6}.code-block .keyword{color:var(--syn-keyword)}.code-block .string{color:var(--syn-string)}.code-block .comment{color:var(--syn-comment);font-style:italic}.code-block .function{color:var(--syn-function)}.code-block .number{color:var(--syn-number)}.code-block .operator{color:var(--syn-operator)}.code-block .type{color:var(--syn-type)}.code-block .variable{color:var(--syn-variable)}.code-block .constant{color:var(--syn-constant)}.code-block .punctuation{color:var(--syn-punctuation)}.code-block .storage{color:var(--syn-keyword)}.code-block .entity{color:var(--syn-function)}.code-block .support{color:var(--syn-type)}.code-block .meta{color:var(--syn-variable)}[data-theme=terminal] .blog-page .page-title{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text}[data-theme=terminal] .blog-card{border-color:var(--color-border)}[data-theme=terminal] .blog-card:hover{box-shadow:0 0 20px rgba(0,255,128,.15)}[data-theme=terminal] .blog-card .tag{border:1px solid var(--color-primary);color:var(--color-primary);background:0 0}[data-theme=terminal] .code-block{border-color:var(--color-primary);box-shadow:0 0 10px rgba(0,255,128,.1)}[data-theme=terminal] .code-block:before{color:var(--color-primary)}[data-theme=forge] .blog-page .page-title{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text}[data-theme=forge] .blog-card:hover{box-shadow:0 12px 30px rgba(255,107,53,.15)}[data-theme=forge] .blog-card .tag{background:var(--color-primary);color:#fff}[data-theme=forge] .code-block{border-left:3px solid var(--color-primary)}[data-theme=bitart] .blog-page .page-title{font-family:var(--font-display);text-shadow:3px 3px 0 var(--color-primary);-webkit-text-fill-color:initial;background:0 0}[data-theme=bitart] .blog-card{image-rendering:pixelated;border-width:3px;border-radius:0}[data-theme=bitart] .blog-card:hover{box-shadow:4px 4px 0 var(--color-primary);transform:translate(-4px,-4px)}[data-theme=bitart] .blog-card .tag{text-transform:uppercase;font-family:var(--font-display);border-radius:0}[data-theme=bitart] .blog-card .blog-title{font-family:var(--font-display)}[data-theme=bitart] .code-block{box-shadow:4px 4px 0 var(--color-border);border-width:3px;border-radius:0}[data-theme=bitart] .prose h1,[data-theme=bitart] .prose h2,[data-theme=bitart] .prose h3{font-family:var(--font-display);text-shadow:2px 2px 0 var(--color-border)}.not-found{text-align:center;padding:var(--space-4xl)var(--space-xl);animation:.6s fadeInUp}.not-found h1{font-family:var(--font-display);margin-bottom:var(--space-md);color:var(--color-text);font-size:2.5rem}.not-found p{color:var(--color-text-muted);margin-bottom:var(--space-xl);font-size:1.1rem}@media (width<=768px){.blog-page{padding:calc(var(--nav-height) + var(--space-xl))var(--space-md)var(--space-2xl)}.blog-page .page-header .page-title{font-size:2rem}.blog-grid{grid-template-columns:1fr}.blog-card .blog-card-link{padding:var(--space-lg)}.blog-card .blog-card-header{gap:var(--space-sm);flex-direction:column}.blog-card .blog-title{font-size:1.25rem}.blog-post-page{padding:calc(var(--nav-height) + var(--space-xl))var(--space-md)var(--space-2xl)}.post-header .post-title{font-size:1.75rem}.post-header .post-meta{align-items:flex-start;gap:var(--space-md);flex-direction:column}.prose{font-size:1rem}.prose h1{font-size:1.5rem}.prose h2{font-size:1.35rem}.prose h3{font-size:1.2rem}.code-block{padding:var(--space-md);margin:var(--space-lg)calc(-1*var(--space-md));border-radius:0;font-size:.8rem}}.contact-fab{bottom:var(--space-xl);right:var(--space-xl);background:var(--color-primary);border:2px solid var(--color-border);width:56px;height:56px;color:var(--color-bg);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-fast);z-index:100;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:fixed}.contact-fab:hover{box-shadow:var(--shadow-lg),0 0 20px var(--color-primary);transform:scale(1.1)}.contact-fab .fab-icon{line-height:1;font-family:var(--font-mono)}.contact-modal-backdrop{backdrop-filter:blur(4px);z-index:1000;padding:var(--space-lg);background:rgba(0,0,0,.7);justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.contact-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.3s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-family:var(--font-display);color:var(--color-text);margin:0;font-size:1.5rem}.modal-close{color:var(--color-text-muted);cursor:pointer;padding:var(--space-sm);transition:color var(--transition-fast);font-size:1.5rem;line-height:1;font-family:var(--font-mono);background:0 0;border:none}.modal-close:hover{color:var(--color-accent)}.contact-form{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-group label{font-family:var(--font-mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.form-group input,.form-group textarea{background:var(--color-surface-elevated,var(--color-bg));border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);color:var(--color-text);font-family:var(--font-body);transition:border-color var(--transition-fast);font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.form-group input:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:var(--color-text-muted)}.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group textarea{resize:vertical;min-height:120px}.contact-honeypot{opacity:0;height:0;position:absolute;left:-9999px;overflow:hidden}.form-message{padding:var(--space-md);border-radius:var(--radius-sm);font-size:.9rem}.form-message.success{color:#2ecc71;background:rgba(46,204,113,.1);border:1px solid #2ecc71}.form-message.error{color:#e74c3c;background:rgba(231,76,60,.1);border:1px solid #e74c3c}.submit-btn{margin-top:var(--space-md);justify-content:center;width:100%}[data-theme=terminal] .contact-modal{box-shadow:var(--shadow-lg),0 0 30px rgba(0,255,0,.1)}[data-theme=terminal] .contact-modal:before{content:"> contact_form.sh";padding:var(--space-sm)var(--space-lg);font-size:.75rem;font-family:var(--font-mono);color:var(--color-secondary);border-bottom:1px solid var(--color-border);background:var(--color-bg);display:block}[data-theme=terminal] .modal-header{padding-top:var(--space-sm);border-bottom:none}[data-theme=terminal] .modal-header h2:before{content:"# ";color:var(--color-secondary)}[data-theme=terminal] .form-group label:before{content:"$ ";color:var(--color-secondary)}[data-theme=terminal] .contact-fab .fab-icon:before{content:">";margin-right:2px;font-size:.8em}[data-theme=forge] .contact-fab{border-width:3px;box-shadow:0 4px 20px rgba(255,107,53,.3)}[data-theme=forge] .contact-modal{border-width:2px}[data-theme=forge] .modal-header h2{letter-spacing:.05em;font-size:1.75rem}[data-theme=forge] .form-group label{font-family:var(--font-display);letter-spacing:.1em;font-size:.9rem}[data-theme=bitart] .contact-fab{border-width:4px;border-radius:0;box-shadow:inset -4px -4px rgba(0,0,0,.5),inset 4px 4px rgba(255,255,255,.1),0 6px #000}[data-theme=bitart] .contact-fab:hover{transform:translateY(-2px)}[data-theme=bitart] .contact-modal{border-width:4px;border-color:var(--color-border);border-radius:0;box-shadow:inset -4px -4px rgba(0,0,0,.3),inset 4px 4px rgba(255,255,255,.1),8px 8px #000}[data-theme=bitart] .modal-header h2{font-family:var(--font-display);font-size:.9rem}[data-theme=bitart] .form-group label{font-family:var(--font-display);font-size:.65rem}[data-theme=bitart] .form-group input,[data-theme=bitart] .form-group textarea{font-family:var(--font-body);border-width:3px;border-radius:0}[data-theme=bitart] .submit-btn{border-radius:0}@media (width<=600px){.contact-fab{bottom:var(--space-lg);right:var(--space-lg);width:48px;height:48px;font-size:1.25rem}.contact-modal-backdrop{padding:var(--space-sm);align-items:flex-end}.contact-modal{border-radius:var(--radius-lg)var(--radius-lg)0 0;max-height:85vh}[data-theme=bitart] .contact-modal{border-radius:0}}.github-section{margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-border)}.github-section .section-header{text-align:center;margin-bottom:var(--space-2xl)}.github-section .section-header h2{font-family:var(--font-display);color:var(--color-text);margin-bottom:var(--space-sm);font-size:2rem}.github-section .section-header .section-subtitle{color:var(--color-text-muted);font-size:1.1rem}.github-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.github-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-normal);flex-direction:column;animation:.6s backwards fadeInUp;display:flex}.github-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-4px)}.github-card .github-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.github-card .repo-name{font-family:var(--font-mono);margin:0;font-size:1.1rem}.github-card .repo-name a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}.github-card .repo-name a:hover{color:var(--color-secondary)}.github-card .repo-language{padding:var(--space-xs)var(--space-sm);background:var(--color-surface-elevated);border-radius:var(--radius-sm);color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.github-card .repo-description{color:var(--color-text);margin-bottom:var(--space-md);flex-grow:1;font-size:.95rem;line-height:1.5}.github-card .repo-meta{gap:var(--space-lg);margin-bottom:var(--space-md);display:flex}.github-card .repo-stat{align-items:center;gap:var(--space-xs);color:var(--color-text-muted);font-size:.9rem;display:flex}.github-card .repo-stat .stat-icon{color:var(--color-secondary)}.github-card .repo-stat .stat-value{color:var(--color-text);font-weight:600}.github-card .repo-topics{gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.github-card .repo-topics .topic-tag{padding:2px var(--space-sm);background:rgba(var(--color-secondary-rgb,138,190,183),.15);color:var(--color-secondary);border-radius:var(--radius-sm);font-size:.75rem}.github-card .repo-footer{padding-top:var(--space-sm);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.github-card .repo-footer .repo-updated{color:var(--color-text-muted);font-size:.85rem}.github-card .repo-footer .github-link{color:var(--color-primary);transition:color var(--transition-fast);font-size:.9rem;text-decoration:none}.github-card .repo-footer .github-link:hover{color:var(--color-secondary)}.github-loading{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--color-text-muted);display:flex}.github-loading .loading-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.github-error,.github-empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted)}.github-error{color:var(--color-accent)}[data-theme=terminal] .github-section .section-header h2:before{content:"> ";color:var(--color-secondary)}[data-theme=terminal] .github-card .repo-name a:before{content:"./";color:var(--color-secondary)}[data-theme=forge] .github-section .section-header h2{text-transform:uppercase;letter-spacing:.1em}[data-theme=forge] .github-card{border-left:3px solid var(--color-primary);border-radius:0}[data-theme=bitart] .github-section .section-header h2{font-family:var(--font-display);text-shadow:3px 3px 0 var(--color-primary)}[data-theme=bitart] .github-card{border-width:3px;border-radius:0;box-shadow:inset -2px -2px rgba(0,0,0,.3),inset 2px 2px rgba(255,255,255,.1)}[data-theme=bitart] .github-card:hover{box-shadow:4px 4px 0 var(--color-primary);transform:translate(-4px,-4px)}[data-theme=bitart] .topic-tag{border:1px solid var(--color-secondary);border-radius:0}@media (width<=768px){.github-section{margin-top:var(--space-2xl);padding-top:var(--space-xl)}.github-grid{grid-template-columns:1fr}.github-card .repo-footer{gap:var(--space-sm);flex-direction:column;align-items:flex-start}}