*{margin:0;padding:0;box-sizing:border-box;} :root{ --bg:#000; --text:#fff; --muted:#666; --accent:#FF3D9A; --tape:#FFC93C; --red:#FF0000; --green:#39FF14; --font-pixel:'Press Start 2P', monospace; --font-mono:'Space Mono', monospace; --font-body:'Inter', sans-serif; } html{scroll-behavior:smooth;overflow-x:hidden;} body{ background:var(--bg);color:var(--text);font-family:var(--font-body); line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased; } body::before{ content:'';position:fixed;inset:0;pointer-events:none;z-index:9999; } body::after{ content:'';position:fixed;inset:0;pointer-events:none;z-index:9998; background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.15) 2px,rgba(0,0,0,0.15) 4px); } ::selection{background:var(--accent);color:#000;} a{color:inherit;text-decoration:none;} body.custom-cursor-enabled *{cursor:none !important;} .cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:99999;border-radius:50%;} .cursor-dot{ width:6px;height:6px;background:var(--accent); transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s; } .cursor-ring{ width:36px;height:36px;border:2px solid var(--accent); transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s,opacity .3s; opacity:.5; } .cursor-dot.hover{width:10px;height:10px;background:var(--tape);} .cursor-ring.hover{width:50px;height:50px;border-color:var(--tape);opacity:.8;} @media(max-width:640px){.cursor-dot,.cursor-ring{display:none;}} @media(hover:none){.cursor-dot,.cursor-ring{display:none;}} .container{max-width:1200px;margin:0 auto;padding:0 5vw;position:relative;z-index:2;} /* NAV */ nav{padding:28px 0;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:10;} .nav-logo{font-family:var(--font-pixel);font-size:12px;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:9px;} .nav-logo .logo-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:pulse 1.6s ease-in-out infinite;} @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}} .nav-links{display:flex;gap:6px;align-items:center;} .nav-links a{ font-family:var(--font-pixel);font-size:9px;color:var(--muted); padding:9px 16px;border:2px solid transparent;transition:all .25s; text-transform:uppercase;letter-spacing:.06em; } .nav-links a:hover{color:var(--text);border-color:var(--accent);background:rgba(255,61,154,0.1);} .nav-links a.active{color:var(--accent);border-color:var(--accent);background:rgba(255,61,154,0.15);} /* PROJECT HERO */ .project-hero{padding:100px 0 40px;} .breadcrumb{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-bottom:28px;transform:rotate(-1deg);} .breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s;} .breadcrumb a:hover{color:var(--accent);} .breadcrumb svg{width:14px;height:14px;} .project-hero h1{ font-family:var(--font-pixel);font-size:clamp(32px,7vw,72px);line-height:1.1; letter-spacing:.01em;margin-bottom:18px;color:var(--text); text-shadow:4px 4px 0 var(--accent),-2px -2px 0 var(--tape); transform:rotate(-2deg);transform-origin:left center; animation:glitch 5s ease-in-out infinite;margin-left:-1vw; } @keyframes glitch{ 0%,90%,100%{text-shadow:3px 3px 0 var(--accent),-2px -2px 0 var(--tape);} 92%{text-shadow:3px 3px 0 var(--red),-2px -2px 0 var(--accent);transform:rotate(-1deg) translateX(2px);} 94%{text-shadow:3px 3px 0 var(--accent),-2px -2px 0 var(--red);transform:rotate(-1deg) translateX(-2px);} } .project-hero .tagline{font-size:15px;color:var(--muted);max-width:600px;margin-bottom:28px;line-height:1.7;font-family:var(--font-mono);transform:rotate(0.5deg);} .project-meta-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;} .meta-chip{ display:inline-flex;align-items:center;gap:6px; background:rgba(255,255,255,0.02);border:2px solid rgba(255,255,255,0.12); padding:8px 16px;font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--muted); text-decoration:none;transition:all .25s; } .meta-chip:hover{border-color:var(--accent);color:var(--text);transform:translateY(-2px) rotate(-2deg);} .meta-chip svg{width:14px;height:14px;} .meta-chip.primary{background:var(--accent);border-color:var(--accent);color:#000;box-shadow:0 0 20px rgba(255,61,154,0.3);transform:rotate(-0.5deg);} .meta-chip.primary:hover{box-shadow:0 0 30px rgba(255,61,154,0.5);transform:translateY(-2px) rotate(0deg);} /* STATS BAR */ .stats-bar{ display:flex;gap:0;margin-top:32px;overflow:visible; background:rgba(255,255,255,0.02);border:2px solid rgba(255,255,255,0.12); position:relative;z-index:1;transform:rotate(-0.5deg); } .stat-item{flex:1;padding:20px 24px;text-align:center;border-right:2px solid rgba(255,255,255,0.12);transition:background .3s;} .stat-item:nth-child(1){transform:rotate(-0.5deg);} .stat-item:nth-child(2){transform:rotate(0.3deg);} .stat-item:nth-child(3){transform:rotate(-0.4deg);} .stat-item:last-child{border-right:none;} .stat-item:hover{background:rgba(255,255,255,0.03);} .stat-value{font-family:var(--font-mono);font-size:1.8rem;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px;} .stat-value.accent{color:var(--accent);} .stat-value.green{color:var(--tape);} .stat-value.orange{color:var(--tape);} .stat-label{font-family:var(--font-pixel);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);} section{padding:48px 0;} /* SECTION DIVIDER */ .section-divider{ width:60px;height:3px;background:var(--accent);margin-bottom:16px; position:relative;transform:rotate(-2deg); } .section-title{font-family:var(--font-pixel);font-size:clamp(24px,5vw,44px);letter-spacing:.01em;margin-bottom:10px;transform:rotate(-1deg);transform-origin:left center;position:relative;} .section-subtitle{color:var(--muted);font-size:14px;margin-bottom:28px;line-height:1.6;font-family:var(--font-mono);} .feature-card h3:hover{ animation:titleGlitch .3s steps(2) infinite; } @keyframes titleGlitch{ 0%{text-shadow:2px 0 var(--accent),-2px 0 var(--tape);} 25%{text-shadow:-2px 0 var(--red),2px 0 var(--accent);} 50%{text-shadow:2px 0 var(--tape),-2px 0 var(--red);} 75%{text-shadow:-2px 0 var(--accent),2px 0 var(--tape);} 100%{text-shadow:2px 0 var(--red),-2px 0 var(--accent);} } /* FEATURE CARDS */ .feature-grid{display:flex;flex-direction:column;gap:16px;margin-left:-2vw;margin-right:-2vw;} .feature-card{ background:rgba(255,255,255,0.02);border:2px solid rgba(255,255,255,0.12); padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible; } .feature-card:nth-child(odd){transform:rotate(-2deg) translateX(-8px);} .feature-card:nth-child(even){transform:rotate(1.8deg) translateX(12px);} .feature-card:nth-child(3n){transform:rotate(-2.5deg) translateX(-5px);} .feature-card::before{ content:'';position:absolute;top:-3px;right:15px;width:35px;height:14px; background:var(--tape);opacity:.6;transform:rotate(2deg); } .feature-card:hover{ transform:rotate(0deg) translateY(-5px) translateX(0);border-color:var(--accent); box-shadow:0 0 30px rgba(255,61,154,0.2); } .feature-card::after{ content:'';position:absolute;bottom:-6px;left:15%;width:2px;height:0; background:var(--accent);border-radius:0 0 2px 2px;opacity:0; transition:height .3s ease, opacity .3s ease; } .feature-card:hover::after{height:6px;opacity:.5;} .feature-card h3{font-family:var(--font-mono);font-size:14px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:10px;} .feature-card h3 svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;} .feature-card p{font-size:13px;color:var(--muted);line-height:1.6;} /* TECH BADGES */ .tech-stack{display:flex;gap:8px;flex-wrap:wrap;margin-left:-1vw;} .tech-badge{ background:rgba(255,255,255,0.02);border:2px solid rgba(255,255,255,0.12); padding:8px 16px;font-family:var(--font-mono);font-size:12px;font-weight:700;transition:all .25s; } .tech-badge:nth-child(3n){transform:rotate(-1deg);} .tech-badge:nth-child(3n+1){transform:rotate(0.5deg);} .tech-badge:hover{border-color:var(--accent);color:var(--text);transform:translateY(-3px) rotate(-2deg);} /* TABLE */ .table-wrapper{overflow-x:auto;} table{width:100%;border-collapse:collapse;font-size:13px;} th,td{text-align:left;padding:12px 16px;border-bottom:2px solid rgba(255,255,255,0.12);} th{color:var(--muted);font-family:var(--font-pixel);font-weight:700;font-size:8px;text-transform:uppercase;letter-spacing:.1em;} td{color:var(--text);font-family:var(--font-mono);} .check{color:var(--tape);} .cross{color:var(--muted);opacity:.4;} .desc-text{color:var(--muted);font-size:14px;line-height:1.7;max-width:680px;} .desc-text code{background:rgba(255,255,255,0.02);border:2px solid rgba(255,255,255,0.12);padding:2px 6px;font-size:12px;} code-block{ background:rgba(255,255,255,0.02);border:2px solid rgba(255,255,255,0.12); padding:20px 24px;font-family:var(--font-mono);font-size:12px;color:var(--muted); overflow-x:auto;margin:12px 0;position:relative; } code-block .comment{color:#999;} code-block .cmd{color:var(--tape);} /* FOOTER */ footer{ text-align:center;padding:60px 0 40px; font-family:var(--font-mono);font-size:11px;color:var(--muted); border-top:2px solid rgba(255,255,255,0.12);margin-top:40px;position:relative; transform:rotate(-0.5deg); } footer a{color:var(--accent);} /* FLASH & TOAST */ .flash{position:fixed;inset:0;pointer-events:none;z-index:10000;background:#fff;opacity:0;} .toast-stack{position:fixed;bottom:20px;left:20px;z-index:9995;display:flex;flex-direction:column;gap:8px;} .toast{ background:#111;border:2px solid var(--tape); padding:12px 18px;font-family:var(--font-mono);font-size:11px; display:flex;align-items:center;gap:10px;transform:translateX(-150%);max-width:260px; } .toast .icon{font-size:16px;} .toast .title{color:var(--tape);font-family:var(--font-pixel);font-size:8px;display:block;margin-bottom:3px;text-transform:uppercase;} /* REVEAL */ .reveal{opacity:0;transform:translateY(24px);} .reveal.visible{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease;} /* PROGRESS BAR */ .progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:10001;width:0;transition:width .1s linear;box-shadow:0 0 8px var(--accent);} /* THEME TOGGLE */ body.clean{--bg:#18181e;--text:#e4e0eb;--muted:#7b7890;--accent:#b8a9ff;--tape:#22202a;} body.clean::before,body.clean::after{display:none!important;background:none!important;} body.clean *{cursor:auto!important;} body.clean .vignette,body.clean .signal,body.clean .cursor-dot,body.clean .cursor-ring,body.clean .bg-gradient,body.clean .spark{display:none!important;} /* Nav */ body.clean .nav-logo{font-size:14px;font-weight:600;color:var(--text);} body.clean .nav-links a{color:var(--muted);font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;padding:6px 14px;border-radius:8px;border-color:transparent;} body.clean .nav-links a:hover{color:var(--text);border-color:transparent;background:rgba(184,169,255,0.08);} body.clean .nav-links a.active{color:var(--accent);border-color:transparent;background:rgba(184,169,255,0.1);} /* Project hero */ body.clean .breadcrumb{transform:none;font-size:13px;color:var(--muted);} body.clean .project-hero h1{color:var(--text);text-shadow:none!important;transform:none;animation:none;margin-left:0;} body.clean .project-hero .tagline{transform:none;color:var(--muted);font-size:15px;} body.clean .project-meta-bar{gap:8px;} body.clean .meta-chip{transform:none!important;border-radius:8px;font-weight:500;border:1px solid var(--tape);color:var(--muted);padding:8px 14px;background:var(--tape);font-size:13px;} body.clean .meta-chip:hover{color:var(--text);border-color:var(--accent);} body.clean .meta-chip.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none;} body.clean .meta-chip.primary:hover{background:#a694ee;} body.clean .stats-bar{transform:none;border:1px solid var(--tape);border-radius:12px;overflow:hidden;background:var(--tape);} body.clean .stat-item{transform:none!important;border-color:var(--tape);padding:16px 18px;} body.clean .stat-value{font-size:1.4rem;color:var(--text);} body.clean .stat-label{font-size:10px;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:500;} /* Sections */ body.clean .section-divider{display:none;} body.clean .section-title{transform:none;font-weight:600;text-transform:none;color:var(--text);} body.clean .section-subtitle{color:var(--muted);font-size:14px;font-weight:400;} /* Feature cards */ body.clean .feature-card{background:var(--tape);border-color:var(--tape);border-radius:12px;transform:none!important;} body.clean .feature-card::before,body.clean .feature-card::after{display:none!important;} body.clean .feature-card p{color:var(--muted);font-size:13px;} body.clean .feature-card h3{font-weight:600;font-size:15px;color:var(--text);} body.clean .feature-card h3:hover{animation:none!important;} body.clean .feature-card:hover{border-color:var(--accent);} /* Tech badges */ body.clean .tech-badge{background:var(--tape);border-color:var(--tape);border-radius:999px;transform:none!important;font-weight:500;padding:6px 14px;font-size:12px;color:var(--muted);} body.clean .tech-badge:hover{color:var(--text);border-color:var(--accent);} /* Misc shared */ body.clean .desc-text{color:var(--muted);} body.clean .toast{background:var(--tape);border-color:var(--tape);color:var(--text);border-radius:10px;} body.clean .toast .title{color:var(--text);font-weight:600;} body.clean footer{color:var(--muted);border-color:var(--tape);transform:none;font-size:12px;font-weight:400;} body.clean code-block{border-radius:10px;background:var(--tape);border-color:var(--tape);color:var(--muted);} body.clean th{font-weight:600;font-size:11px;letter-spacing:0;color:var(--muted);} body.clean td{color:var(--text);} body.clean .theme-toggle{border-color:var(--tape);background:var(--tape);color:var(--text);} body.clean .theme-toggle:hover{border-color:var(--accent);background:rgba(184,169,255,0.08);} body.clean .progress-bar{background:var(--accent);} body.clean .container{padding:0 24px;} body.clean nav{border-bottom:1px solid var(--tape);} body.clean table{border-color:var(--tape);} body.clean td,body.clean th{border-color:var(--tape);} body.clean .shortcut-modal{background:rgba(24,24,30,0.95);backdrop-filter:blur(8px);} body.clean .shortcut-card{background:var(--bg);border:1px solid var(--tape);border-radius:14px;padding:24px;} body.clean .shortcut-card h3{color:var(--text);font-weight:600;font-size:16px;} body.clean .shortcut-row{color:var(--muted);font-size:13px;border-color:var(--tape);} body.clean .shortcut-row kbd{background:var(--bg);border:1px solid var(--tape);border-radius:6px;padding:4px 8px;font-size:11px;color:var(--text);} body.clean .shortcut-card .close-hint{color:var(--muted);font-size:11px;} body.clean .secret-hint{color:var(--muted)!important;} body.clean .mobile-nav{background:rgba(24,24,30,0.95);backdrop-filter:blur(8px);border-top:1px solid var(--tape);} body.clean .mobile-nav a{color:var(--muted);} body.clean .mobile-nav a.active{color:var(--accent);} /* Article pages (about-me, uses, colophon, now) */ body.clean .article-header{padding:80px 0 24px;} body.clean .article-eyebrow{color:var(--muted);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.04em;} body.clean .article-date{color:var(--muted);font-size:13px;} body.clean .article-header h1{color:var(--text);text-shadow:none!important;transform:none;animation:none;font-weight:700;font-size:clamp(28px,4vw,38px);} body.clean .article-tagline{color:var(--muted);font-size:15px;} body.clean .article-tags{gap:8px;} body.clean .article-tag{background:var(--tape);border:1px solid var(--tape);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--muted);font-weight:500;} body.clean .article-body{color:var(--text);font-size:15px;line-height:1.7;} body.clean .article-body h2{color:var(--text);font-weight:600;font-size:20px;margin-top:32px;} body.clean .article-body h3{color:var(--text);font-weight:600;font-size:17px;margin-top:24px;} body.clean .article-body p{color:var(--muted);line-height:1.7;} body.clean .article-body code{background:var(--tape);border:1px solid var(--tape);border-radius:4px;padding:2px 6px;font-size:13px;color:var(--text);} body.clean .article-body blockquote{border-left:3px solid var(--accent);padding:12px 20px;margin:20px 0;background:var(--tape);border-radius:0 8px 8px 0;color:var(--muted);} body.clean .article-body ul{list-style:none;padding:0;} body.clean .article-body ul li{padding:6px 0 6px 20px;position:relative;color:var(--muted);} body.clean .article-body ul li::before{content:'';position:absolute;left:0;top:14px;width:5px;height:5px;border-radius:50%;background:var(--accent);display:block!important;} body.clean .article-body ul li strong{color:var(--text);font-weight:600;} body.clean .back-link{color:var(--muted);font-size:13px;font-weight:500;text-decoration:none;} body.clean .back-link:hover{color:var(--accent);} body.clean .footer-links a{color:var(--muted)!important;} body.clean .footer-links a:hover{color:var(--accent)!important;} .theme-toggle{ position:fixed;top:20px;right:20px;z-index:600; background:none;border:2px solid rgba(255,255,255,0.15); width:40px;height:40px;display:flex;align-items:center;justify-content:center; font-size:16px;cursor:pointer;transition:all .3s;color:var(--text); } .theme-toggle:hover{border-color:var(--accent);background:rgba(255,61,154,0.1);} @media(max-width:640px){.theme-toggle{display:none;}} /* SHORTCUT MODAL */ .shortcut-modal{ position:fixed;inset:0;z-index:10002;background:rgba(0,0,0,0.85); display:none;align-items:center;justify-content:center;backdrop-filter:blur(6px); } .shortcut-modal.open{display:flex;} .shortcut-card{ background:#111;border:2px solid var(--accent);padding:32px;max-width:400px;width:90%; font-family:var(--font-mono);font-size:12px; } .shortcut-card h3{font-family:var(--font-pixel);font-size:11px;color:var(--accent);margin-bottom:20px;text-transform:uppercase;} .shortcut-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.08);color:var(--muted);} .shortcut-row kbd{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);padding:2px 8px;font-family:var(--font-mono);font-size:11px;color:var(--text);} .shortcut-card .close-hint{margin-top:16px;font-size:10px;color:var(--muted);text-align:center;} /* GLITCH TITLE */ .section-title{position:relative;} .feature-card h3{position:relative;} /* MOBILE NAV */ .mobile-nav{ display:none;position:fixed;bottom:0;left:0;right:0;z-index:500; background:rgba(0,0,0,0.92);border-top:2px solid rgba(255,255,255,0.12); backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px); padding:8px 0 env(safe-area-inset-bottom,8px); } .mobile-nav a{ display:inline-flex;flex:1;justify-content:center;align-items:center; font-family:var(--font-pixel);font-size:7px;color:var(--muted); padding:10px 6px;text-transform:uppercase;letter-spacing:.04em; text-decoration:none;transition:all .2s;border:none;background:none; -webkit-tap-highlight-color:transparent; } .mobile-nav a:active,.mobile-nav a.active{color:var(--accent);} @media(max-width:640px){ .mobile-nav{display:flex;gap:4px;} .container{padding:0 5vw;} nav{padding:20px 0;} .nav-links{display:none;} .nav-logo{font-size:10px;} .project-hero{padding:60px 0 24px;} .breadcrumb{transform:none;font-size:11px;margin-bottom:16px;} .project-hero h1{font-size:clamp(24px,7vw,36px);transform:rotate(-1deg);margin-left:0;} .project-hero .tagline{transform:none;font-size:13px;margin-bottom:20px;} .project-meta-bar{gap:6px;} .meta-chip{padding:7px 12px;font-size:11px;} .meta-chip.primary{transform:none;} .stats-bar{flex-direction:column;transform:none;margin-top:24px;} .stat-item{border-right:none;border-bottom:2px solid rgba(255,255,255,0.12);transform:none!important;} .stat-item:last-child{border-bottom:none;} .stat-value{font-size:1.4rem;} section{padding:32px 0;} .section-title{font-size:clamp(20px,6vw,32px);transform:rotate(-0.5deg);} .section-divider{width:40px;} .section-subtitle{font-size:12px;margin-bottom:20px;} .feature-grid{flex-direction:column;gap:12px;margin:0;} .feature-card{padding:18px;transform:none!important;overflow:hidden;} .feature-card::before{display:none;} .feature-card h3{font-size:13px;} .feature-card p{font-size:12px;} .tech-stack{flex-wrap:wrap;gap:6px;margin:0;} .tech-badge{padding:6px 12px;font-size:10px;transform:none!important;} .table-wrapper{margin:0;width:100%;overflow-x:auto;padding:0;} table{font-size:11px;} th,td{padding:8px 10px;} th{font-size:7px;} .desc-text{font-size:13px;} code-block{padding:14px 16px;font-size:11px;} footer{padding:40px 0 100px;transform:none;font-size:10px;} .toast-stack{bottom:70px;left:12px;} .toast{max-width:220px;padding:10px 14px;font-size:10px;} } .footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;} .footer-links a{font-family:var(--font-pixel);font-size:8px;color:var(--tape);letter-spacing:.08em;text-transform:uppercase;transition:color .2s;} .footer-links a:hover{color:var(--accent);} @media(prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important;} } /* ============================================================ MAXIMALIST DESIGN LANGUAGE (shared components) ============================================================ */ body.maximalist{ --bg:#0a0a0a; --text:#f7f4ea; --muted:#cfcfc7; --accent:#ff1a7e; --tape:#f4ff2e; --red:#ff2b0a; --green:#00c2ff; --pink:#ff1a7e; --blue:#00c2ff; --yellow:#f4ff2e; --white:#f7f4ea; --black:#0a0a0a; --font-pixel:'Bebas Neue',sans-serif; --font-mono:'Space Mono',monospace; --font-body:'Space Mono',monospace; --shout:'Archivo Black',sans-serif; --hand:'Permanent Marker',cursive; background:var(--bg); color:var(--text); } body.maximalist::before{ content:'';position:fixed;inset:0;pointer-events:none;z-index:999; opacity:.05;mix-blend-mode:overlay; background-image:radial-gradient(circle,#fff 1px,transparent 1px); background-size:3px 3px; } body.maximalist::after{display:none!important;} body.maximalist *{cursor:auto!important;} body.maximalist .cursor-dot,body.maximalist .cursor-ring,body.maximalist .vignette,body.maximalist .signal,body.maximalist .bg-gradient,body.maximalist .spark{display:none!important;} body.maximalist a{color:inherit;} body.maximalist ::selection{background:var(--accent);color:#000;} /* Nav */ body.maximalist nav{ position:sticky;top:0;z-index:600;display:flex;align-items:center;justify-content:space-between; background:var(--bg);border-bottom:6px solid var(--tape);padding:16px 0;gap:14px;flex-wrap:wrap; } body.maximalist .nav-logo{font-family:var(--shout);font-size:clamp(18px,3vw,24px);color:var(--tape);letter-spacing:1px;gap:9px;} body.maximalist .nav-logo .logo-dot{width:10px;height:10px;border-radius:0;background:var(--pink);box-shadow:5px 5px 0 var(--blue);animation:none;} body.maximalist .nav-links{display:flex;gap:0;flex-wrap:wrap;} body.maximalist .nav-links a{ font-family:var(--font-pixel);font-size:16px;letter-spacing:1px;text-transform:uppercase;text-decoration:none; color:var(--black);background:var(--white);padding:9px 16px;border-left:4px solid var(--black); } body.maximalist .nav-links a:nth-child(1){background:var(--pink);color:var(--black);} body.maximalist .nav-links a:nth-child(2){background:var(--blue);color:var(--black);} body.maximalist .nav-links a:nth-child(3){background:var(--tape);color:var(--black);} body.maximalist .nav-links a:nth-child(4){background:var(--red);color:var(--white);} body.maximalist .nav-links a:hover{background:var(--bg);color:var(--tape);border-color:var(--black);} body.maximalist .nav-links a.active{outline:3px solid var(--white);} /* Project hero */ body.maximalist .project-hero{padding:90px 0 30px;} body.maximalist .breadcrumb{transform:none;font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-bottom:24px;} body.maximalist .project-hero h1{ font-family:var(--shout);font-size:clamp(38px,7vw,76px);line-height:.9;text-transform:uppercase; color:var(--white);text-shadow:none!important;transform:none;animation:none;margin-left:0;letter-spacing:1px;margin-bottom:14px; } body.maximalist .project-hero h1::after{content:'';display:block;width:120px;height:16px;background:var(--accent);margin-top:12px;transform:rotate(-2deg);} body.maximalist .project-hero .tagline{font-family:var(--font-mono);font-weight:700;font-size:15px;color:var(--muted);transform:none;max-width:560px;} body.maximalist .project-meta-bar{gap:12px;} body.maximalist .meta-chip{ font-family:var(--font-pixel);font-size:16px;letter-spacing:1px;text-transform:uppercase; background:var(--white);color:var(--black)!important;border:4px solid var(--black)!important;border-radius:0; box-shadow:6px 6px 0 var(--black);padding:10px 18px;transform:none!important; } body.maximalist .meta-chip:hover{transform:translate(-2px,-2px)!important;box-shadow:9px 9px 0 var(--accent);} body.maximalist .meta-chip.primary{background:var(--accent);color:var(--black)!important;box-shadow:6px 6px 0 var(--black);} body.maximalist .meta-chip:nth-child(3n){background:var(--blue);} body.maximalist .meta-chip:nth-child(4n){background:var(--tape);} /* Stats bar */ body.maximalist .stats-bar{transform:none;border:6px solid var(--white);border-radius:0;overflow:hidden;background:transparent;margin-top:36px;} body.maximalist .stat-item{transform:none!important;border-right:6px solid var(--white);padding:24px 16px;background:transparent;} body.maximalist .stat-item:last-child{border-right:none;} body.maximalist .stat-item:nth-child(1){background:var(--pink);} body.maximalist .stat-item:nth-child(2){background:var(--tape);} body.maximalist .stat-item:nth-child(3){background:var(--blue);} body.maximalist .stat-item:nth-child(4){background:var(--red);} body.maximalist .stat-value{font-family:var(--shout);font-size:clamp(22px,3.5vw,32px);color:var(--black);} body.maximalist .stat-value.accent,body.maximalist .stat-value.green,body.maximalist .stat-value.orange{color:var(--black);} body.maximalist .stat-item:nth-child(4) .stat-value{color:var(--white);} body.maximalist .stat-label{font-family:var(--font-pixel);font-size:14px;letter-spacing:1px;color:var(--black);text-transform:uppercase;} body.maximalist .stat-item:nth-child(4) .stat-label{color:var(--white);} /* Sections */ body.maximalist .section-divider{display:none;} body.maximalist .section-title{transform:none;font-family:var(--shout);font-size:clamp(28px,5vw,46px);text-transform:uppercase;color:var(--white);letter-spacing:1px;} body.maximalist .section-title::after{content:'';display:block;width:110px;height:14px;background:var(--accent);margin-top:10px;transform:rotate(-2deg);} body.maximalist .section-subtitle{font-family:var(--font-mono);color:var(--muted);font-size:15px;} /* Feature cards */ body.maximalist .feature-grid{gap:22px;margin:0;} body.maximalist .feature-card{ font-family:var(--font-mono);transform:none!important; border:5px solid var(--black);border-radius:0;background:var(--white);color:var(--black); box-shadow:10px 10px 0 var(--black);padding:26px 24px; } body.maximalist .feature-card:nth-child(6n+1){background:var(--pink);color:var(--black);} body.maximalist .feature-card:nth-child(6n+2){background:var(--blue);color:var(--black);} body.maximalist .feature-card:nth-child(6n+3){background:var(--tape);color:var(--black);} body.maximalist .feature-card:nth-child(6n+4){background:var(--red);color:var(--white);} body.maximalist .feature-card:nth-child(6n+5){background:var(--white);color:var(--black);} body.maximalist .feature-card:nth-child(6n+6){background:var(--bg);color:var(--white);} body.maximalist .feature-card::before,body.maximalist .feature-card::after{display:none!important;} body.maximalist .feature-card:hover{transform:translate(-4px,-4px)!important;box-shadow:14px 14px 0 var(--black);} body.maximalist .feature-card h3{font-family:var(--shout);font-size:18px;text-transform:uppercase;color:inherit;} body.maximalist .feature-card h3:hover{animation:none!important;} body.maximalist .feature-card p{color:inherit;opacity:.85;} body.maximalist .feature-card h3 svg{color:var(--black);} /* Tech badges */ body.maximalist .tech-badge{ font-family:var(--font-pixel);font-size:14px;letter-spacing:1px;text-transform:uppercase; background:var(--white);color:var(--black);border:3px solid var(--black);border-radius:0; box-shadow:4px 4px 0 var(--black);transform:none!important;padding:7px 14px; } body.maximalist .tech-badge:nth-child(3n){background:var(--blue);} body.maximalist .tech-badge:nth-child(3n+1){background:var(--tape);} body.maximalist .tech-badge:nth-child(3n+2){background:var(--pink);} body.maximalist .tech-badge:hover{transform:translate(-2px,-2px)!important;box-shadow:6px 6px 0 var(--black);} /* Table */ body.maximalist table{border:4px solid var(--white);} body.maximalist th,body.maximalist td{border-bottom:3px solid var(--white);padding:12px 16px;} body.maximalist th{font-family:var(--font-pixel);font-size:14px;letter-spacing:1px;color:var(--tape);text-transform:uppercase;} body.maximalist td{font-family:var(--font-mono);color:var(--text);} body.maximalist .check{color:var(--tape);} body.maximalist .cross{color:var(--muted);} /* Tech grid (project pages) */ body.maximalist .tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin:0;} body.maximalist .tech-card{border:5px solid var(--black);background:var(--white);color:var(--black);border-radius:0;padding:22px;box-shadow:8px 8px 0 var(--black);} body.maximalist .tech-card:nth-child(3n+2){background:var(--blue);box-shadow:8px 8px 0 var(--tape);} body.maximalist .tech-card:nth-child(3n+3){background:var(--pink);box-shadow:8px 8px 0 var(--white);} body.maximalist .tech-card:hover{transform:translate(-3px,-3px);box-shadow:12px 12px 0 var(--red);} body.maximalist .tech-card h3{font-family:var(--shout);font-size:18px;text-transform:uppercase;color:inherit;margin-bottom:14px;display:flex;align-items:center;gap:8px;} body.maximalist .tech-card h3 svg{color:var(--black);} body.maximalist .tech-list{display:flex;flex-wrap:wrap;gap:8px;} body.maximalist .tech-list code{background:var(--bg);border:3px solid var(--black);color:var(--white);font-family:var(--font-mono);font-size:12px;padding:5px 12px;border-radius:0;} body.maximalist .cta-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;} body.maximalist .konami-hint{color:var(--muted)!important;} /* Misc shared */ body.maximalist .desc-text{font-family:var(--font-mono);color:var(--muted);} body.maximalist .desc-text code{background:var(--white);color:var(--black);border:none;font-family:var(--font-mono);} body.maximalist code-block{border:4px solid var(--white);background:#111;border-radius:0;color:var(--muted);font-size:12px;} body.maximalist .toast{background:var(--bg);border:4px solid var(--tape);border-radius:0;font-family:var(--font-mono);color:var(--text);} body.maximalist .toast .title{font-family:var(--font-pixel);font-size:10px;color:var(--tape);} body.maximalist .progress-bar{background:var(--accent);box-shadow:0 0 8px var(--accent);} body.maximalist footer{font-family:var(--font-pixel);font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--white);border-color:var(--white);transform:none;padding:60px 20px 90px;} body.maximalist footer a{color:var(--accent);} body.maximalist .footer-links a{font-family:var(--font-pixel);font-size:13px;color:var(--tape);letter-spacing:1px;} body.maximalist .theme-toggle{ border:4px solid var(--black);background:var(--tape);color:var(--black);border-radius:0; box-shadow:6px 6px 0 var(--black);width:44px;height:44px; } body.maximalist .theme-toggle:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--accent);} /* Shortcut modal */ body.maximalist .shortcut-modal{background:rgba(0,0,0,0.85);} body.maximalist .shortcut-card{background:var(--bg);border:5px solid var(--tape);border-radius:0;padding:28px;} body.maximalist .shortcut-card h3{font-family:var(--shout);font-size:16px;color:var(--tape);text-transform:uppercase;} body.maximalist .shortcut-row{font-family:var(--font-mono);color:var(--muted);border-color:var(--white);} body.maximalist .shortcut-row kbd{background:var(--white);border:none;color:var(--black);font-family:var(--font-mono);} body.maximalist .shortcut-card .close-hint{color:var(--muted);} body.maximalist .secret-hint{color:var(--muted)!important;} /* Mobile nav */ body.maximalist .mobile-nav{background:var(--bg);border-top:5px solid var(--tape);} body.maximalist .mobile-nav a{font-family:var(--font-pixel);font-size:9px;color:var(--muted);text-transform:uppercase;} body.maximalist .mobile-nav a.active{color:var(--tape);} /* Article pages (about-me, uses, colophon, now, blog) */ body.maximalist .article-header{padding:80px 0 24px;} body.maximalist .article-eyebrow{font-family:var(--font-pixel);font-size:15px;letter-spacing:2px;color:var(--tape);text-transform:uppercase;} body.maximalist .article-date{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.maximalist .article-header h1{ font-family:var(--shout);font-size:clamp(32px,5vw,52px);color:var(--white); text-shadow:none!important;transform:none;animation:none;text-transform:uppercase;letter-spacing:1px;line-height:.95; } body.maximalist .article-header h1::after{content:'';display:block;width:130px;height:14px;background:var(--accent);margin-top:12px;transform:rotate(-2deg);} body.maximalist .article-tagline{font-family:var(--font-mono);color:var(--muted);font-size:15px;} body.maximalist .article-tags{gap:8px;} body.maximalist .article-tag{ font-family:var(--font-pixel);font-size:14px;letter-spacing:1px;text-transform:uppercase; background:var(--blue);color:var(--black);border:3px solid var(--black);padding:5px 12px;border-radius:0; } body.maximalist .article-body h2{font-family:var(--shout);font-size:21px;text-transform:uppercase;color:var(--tape);margin-top:36px;} body.maximalist .article-body h3{font-family:var(--shout);font-size:18px;text-transform:uppercase;color:var(--white);} body.maximalist .article-body p{font-family:var(--font-mono);font-size:14px;color:var(--muted);line-height:1.85;} body.maximalist .article-body code{background:var(--white);color:var(--black);border:none;padding:2px 6px;font-family:var(--font-mono);} body.maximalist .article-body blockquote{border-left:6px solid var(--accent);background:var(--bg);color:var(--muted);font-family:var(--font-mono);font-style:italic;} body.maximalist .article-body ul{font-family:var(--font-mono);color:var(--muted);} body.maximalist .article-body ul li::marker{color:var(--accent);} body.maximalist .article-body ul li::before{background:var(--accent)!important;} body.maximalist .back-link{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.maximalist .back-link:hover{color:var(--accent);} /* ================= SYNTHWAVE / NEON ================= */ body.synthwave{ --bg:#0d0a24;--text:#f2ecff;--muted:#9a92c9;--accent:#ff2e97;--tape:#ffd319; --red:#ff2e97;--green:#00ffb3;--pink:#ff2e97;--blue:#00e5ff;--yellow:#ffd319; --white:#f2ecff;--black:#0d0a24; --font-pixel:'Orbitron',sans-serif;--font-mono:'Space Mono',monospace; --font-body:'Space Mono',monospace;--shout:'Orbitron',sans-serif;--hand:'Permanent Marker',cursive; background:var(--bg);color:var(--text); } body.synthwave::before{ content:'';position:fixed;inset:0;pointer-events:none;z-index:998; background:radial-gradient(1200px 600px at 50% -10%,rgba(255,46,151,0.13),transparent 60%),radial-gradient(1000px 500px at 85% 110%,rgba(0,229,255,0.10),transparent 60%); } body.synthwave::after{display:none!important;} body.synthwave *{cursor:auto!important;} body.synthwave .cursor-dot,body.synthwave .cursor-ring,body.synthwave .vignette,body.synthwave .signal,body.synthwave .bg-gradient,body.synthwave .spark{display:none!important;} body.synthwave a{color:inherit;} body.synthwave ::selection{background:var(--accent);color:#fff;} body.synthwave nav{position:sticky;top:0;z-index:600;display:flex;align-items:center;justify-content:space-between;background:rgba(13,10,36,0.85);backdrop-filter:blur(14px);border-bottom:2px solid var(--accent);box-shadow:0 10px 40px rgba(255,46,151,0.14);padding:16px 0;gap:14px;flex-wrap:wrap;} body.synthwave .nav-logo{font-family:var(--shout);font-weight:700;font-size:clamp(16px,2.5vw,22px);letter-spacing:2px;text-transform:uppercase;background:linear-gradient(90deg,var(--blue),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;gap:9px;color:var(--text);} body.synthwave .nav-logo .logo-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:none;border:none;} body.synthwave .nav-links{display:flex;gap:6px;flex-wrap:wrap;} body.synthwave .nav-links a{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;padding:8px 14px;border:1px solid transparent;transition:all .25s;} body.synthwave .nav-links a:hover{color:var(--blue);border-color:rgba(0,229,255,0.5);box-shadow:0 0 18px rgba(0,229,255,0.2);} body.synthwave .nav-links a.active{color:var(--accent);border-color:rgba(255,46,151,0.5);box-shadow:0 0 18px rgba(255,46,151,0.25);} body.synthwave .project-hero{padding:90px 0 30px;} body.synthwave .breadcrumb{transform:none;font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-bottom:24px;} body.synthwave .project-hero h1{font-family:var(--shout);font-weight:900;font-size:clamp(28px,5vw,52px);text-transform:uppercase;line-height:.95;color:var(--text);text-shadow:0 0 20px rgba(255,46,151,0.45),0 0 60px rgba(0,229,255,0.2);letter-spacing:1px;transform:none;animation:none;} body.synthwave .project-hero h1::after{content:'';display:block;width:120px;height:6px;margin-top:12px;background:linear-gradient(90deg,var(--blue),var(--accent));box-shadow:0 0 16px var(--accent);} body.synthwave .project-hero .tagline{font-family:var(--font-mono);font-size:14px;color:var(--muted);transform:none;max-width:560px;} body.synthwave .project-meta-bar{gap:10px;} body.synthwave .meta-chip{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,0.04);color:var(--text);border:1px solid rgba(255,46,151,0.4);border-radius:4px;padding:9px 16px;box-shadow:0 0 14px rgba(255,46,151,0.12);transform:none!important;} body.synthwave .meta-chip:hover{border-color:var(--blue);box-shadow:0 0 20px rgba(0,229,255,0.25);transform:translateY(-2px)!important;} body.synthwave .meta-chip.primary{background:linear-gradient(90deg,var(--accent),#7a1bf0);color:#fff;border-color:var(--accent);box-shadow:0 0 24px rgba(255,46,151,0.4);} body.synthwave .stats-bar{transform:none;border:1px solid rgba(0,229,255,0.3);border-radius:6px;overflow:hidden;background:rgba(255,255,255,0.03);margin-top:36px;} body.synthwave .stat-item{transform:none!important;border-color:rgba(0,229,255,0.15);padding:22px 18px;} body.synthwave .stat-value{font-family:var(--shout);font-weight:900;font-size:clamp(20px,3vw,28px);color:var(--text);} body.synthwave .stat-value.accent{color:var(--accent);text-shadow:0 0 16px var(--accent);} body.synthwave .stat-value.green,body.synthwave .stat-value.orange{color:var(--green);text-shadow:0 0 16px var(--green);} body.synthwave .stat-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;} body.synthwave .section-divider{display:none;} body.synthwave .section-title{transform:none;font-family:var(--shout);font-weight:900;font-size:clamp(24px,4vw,38px);text-transform:uppercase;color:var(--text);letter-spacing:2px;text-shadow:0 0 24px rgba(255,46,151,0.3);} body.synthwave .section-title::after{content:'';display:block;width:90px;height:5px;margin-top:10px;background:linear-gradient(90deg,var(--blue),var(--accent));box-shadow:0 0 14px var(--accent);} body.synthwave .section-subtitle{font-family:var(--font-mono);color:var(--muted);font-size:14px;} body.synthwave .feature-grid{gap:18px;margin:0;} body.synthwave .feature-card{background:linear-gradient(160deg,rgba(26,11,61,0.85),rgba(13,10,36,0.95));border:1px solid rgba(255,46,151,0.3);border-radius:8px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,0.35);transform:none!important;} body.synthwave .feature-card::before,body.synthwave .feature-card::after{display:none!important;} body.synthwave .feature-card:hover{transform:translateY(-4px)!important;border-color:var(--blue);box-shadow:0 0 26px rgba(0,229,255,0.25);} body.synthwave .feature-card h3{font-family:var(--shout);font-weight:700;font-size:15px;text-transform:uppercase;color:var(--text);letter-spacing:1px;gap:8px;} body.synthwave .feature-card h3 svg{color:var(--accent);filter:drop-shadow(0 0 8px var(--accent));} body.synthwave .feature-card p{color:var(--muted);line-height:1.7;} body.synthwave .feature-card h3:hover{animation:none!important;} body.synthwave .tech-badge{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(0,229,255,0.06);color:var(--blue);border:1px solid rgba(0,229,255,0.35);border-radius:3px;padding:6px 13px;transform:none!important;} body.synthwave .tech-badge:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 16px rgba(255,46,151,0.3);transform:translateY(-2px)!important;} body.synthwave table{border:1px solid rgba(255,46,151,0.3);} body.synthwave th,body.synthwave td{border-bottom:1px solid rgba(255,255,255,0.08);padding:12px 16px;} body.synthwave th{font-family:var(--shout);font-size:11px;letter-spacing:.08em;color:var(--blue);text-transform:uppercase;} body.synthwave td{font-family:var(--font-mono);color:var(--muted);} body.synthwave .check{color:var(--green);text-shadow:0 0 10px var(--green);} body.synthwave .cross{color:var(--muted);} body.synthwave .desc-text{font-family:var(--font-mono);color:var(--muted);} body.synthwave .desc-text code{background:rgba(255,46,151,0.1);border:1px solid rgba(255,46,151,0.3);color:var(--text);font-family:var(--font-mono);} body.synthwave code-block{border:1px solid rgba(0,229,255,0.3);background:#0a0720;border-radius:6px;color:var(--muted);box-shadow:0 0 24px rgba(0,0,0,0.4);font-size:12px;} body.synthwave .toast{background:#141038;border:1px solid var(--accent);border-radius:6px;box-shadow:0 0 20px rgba(255,46,151,0.3);font-family:var(--font-mono);color:var(--text);} body.synthwave .toast .title{font-family:var(--shout);font-size:9px;color:var(--blue);} body.synthwave .progress-bar{background:linear-gradient(90deg,var(--blue),var(--accent));box-shadow:0 0 12px var(--accent);} body.synthwave footer{border-color:rgba(255,46,151,0.3);transform:none;padding:60px 20px 90px;font-family:var(--font-mono);font-size:13px;color:var(--muted);} body.synthwave footer a{color:var(--blue);} body.synthwave .footer-links a{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.05em;} body.synthwave .theme-toggle{border:2px solid var(--accent);background:rgba(255,46,151,0.12);color:var(--accent);border-radius:4px;box-shadow:0 0 14px rgba(255,46,151,0.3);width:42px;height:42px;} body.synthwave .theme-toggle:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 0 18px rgba(0,229,255,0.4);transform:none;} body.synthwave .shortcut-modal{background:rgba(6,4,20,0.9);} body.synthwave .shortcut-card{background:#141038;border:1px solid rgba(255,46,151,0.4);border-radius:8px;padding:26px;box-shadow:0 0 40px rgba(0,0,0,0.6);} body.synthwave .shortcut-card h3{font-family:var(--shout);font-weight:700;font-size:13px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;} body.synthwave .shortcut-row{font-family:var(--font-mono);color:var(--muted);border-color:rgba(255,255,255,0.08);} body.synthwave .shortcut-row kbd{background:rgba(0,229,255,0.1);border:1px solid rgba(0,229,255,0.3);color:var(--blue);font-family:var(--font-mono);} body.synthwave .shortcut-card .close-hint{color:var(--muted);} body.synthwave .secret-hint{color:var(--muted)!important;} body.synthwave .mobile-nav{background:rgba(13,10,36,0.96);backdrop-filter:blur(12px);border-top:2px solid var(--accent);} body.synthwave .mobile-nav a{font-family:var(--font-mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;} body.synthwave .mobile-nav a.active{color:var(--accent);} body.synthwave .article-header{padding:80px 0 24px;} body.synthwave .article-eyebrow{font-family:var(--shout);font-size:12px;letter-spacing:2px;color:var(--blue);text-transform:uppercase;} body.synthwave .article-date{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.synthwave .article-header h1{font-family:var(--shout);font-weight:900;font-size:clamp(24px,4vw,40px);text-transform:uppercase;color:var(--text);letter-spacing:1px;transform:none;animation:none;} body.synthwave .article-tagline{font-family:var(--font-mono);color:var(--muted);font-size:14px;} body.synthwave .article-tags{gap:8px;} body.synthwave .article-tag{font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;background:rgba(255,46,151,0.1);color:var(--accent);border:1px solid rgba(255,46,151,0.35);padding:4px 11px;border-radius:3px;} body.synthwave .article-body h2{font-family:var(--shout);font-weight:900;font-size:18px;text-transform:uppercase;color:var(--accent);margin-top:36px;letter-spacing:1px;} body.synthwave .article-body h3{font-family:var(--shout);font-weight:700;font-size:16px;text-transform:uppercase;color:var(--blue);} body.synthwave .article-body p{font-family:var(--font-mono);font-size:14px;color:var(--muted);line-height:1.85;} body.synthwave .article-body code{background:rgba(0,229,255,0.1);border:1px solid rgba(0,229,255,0.3);color:var(--blue);padding:2px 6px;font-family:var(--font-mono);} body.synthwave .article-body blockquote{border-left:4px solid var(--accent);background:rgba(255,46,151,0.06);color:var(--muted);font-family:var(--font-mono);font-style:italic;} body.synthwave .article-body ul{font-family:var(--font-mono);color:var(--muted);} body.synthwave .article-body ul li::marker{color:var(--accent);} body.synthwave .back-link{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.synthwave .back-link:hover{color:var(--blue);} body.synthwave .tech-grid{gap:18px;} body.synthwave .tech-card{background:linear-gradient(160deg,rgba(26,11,61,0.85),rgba(13,10,36,0.95));border:1px solid rgba(0,229,255,0.3);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,0.35);padding:20px;} body.synthwave .tech-card h3{font-family:var(--shout);font-weight:700;font-size:15px;text-transform:uppercase;color:var(--text);gap:8px;} body.synthwave .tech-card h3 svg{color:var(--accent);filter:drop-shadow(0 0 8px var(--accent));} body.synthwave .tech-list{display:flex;flex-wrap:wrap;gap:8px;} body.synthwave .tech-list code{background:rgba(255,46,151,0.08);border:1px solid rgba(255,46,151,0.3);color:var(--accent);font-family:var(--font-mono);font-size:11px;padding:4px 11px;border-radius:3px;} body.synthwave .cta-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;} body.synthwave .konami-hint{color:var(--muted)!important;} @media(max-width:640px){ body.synthwave nav{padding:12px 0;} body.synthwave .nav-links a{font-size:10px;padding:7px 10px;} body.synthwave .stat-item{padding:16px 10px;} body.synthwave footer{padding:40px 16px 80px;} } /* ================= PHOSPHOR / CRT TERMINAL ================= */ body.phosphor{ --bg:#020603;--text:#39ff6c;--muted:#1e9e4a;--accent:#39ff6c;--tape:#7dff9a; --red:#ff5555;--green:#39ff6c;--pink:#39ff6c;--blue:#39ff6c;--yellow:#d7ff3a; --white:#39ff6c;--black:#020603; --font-pixel:'VT323',monospace;--font-mono:'VT323',monospace; --font-body:'VT323',monospace;--shout:'VT323',monospace;--hand:'VT323',monospace; background:var(--bg);color:var(--text); } body.phosphor::before{ content:'';position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.5; background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,0.35) 2px 4px); } body.phosphor::after{display:none!important;} body.phosphor *{cursor:auto!important;} body.phosphor .cursor-dot,body.phosphor .cursor-ring,body.phosphor .vignette,body.phosphor .signal,body.phosphor .bg-gradient,body.phosphor .spark{display:none!important;} body.phosphor a{color:inherit;} body.phosphor ::selection{background:var(--accent);color:#000;} body.phosphor nav{position:sticky;top:0;z-index:600;display:flex;align-items:center;justify-content:space-between;background:rgba(2,6,3,0.9);border-bottom:1px solid rgba(57,255,108,0.4);padding:16px 0;gap:14px;flex-wrap:wrap;} body.phosphor .nav-logo{font-family:var(--font-pixel);font-size:clamp(18px,3vw,26px);color:var(--text);text-transform:uppercase;letter-spacing:2px;gap:9px;text-shadow:0 0 10px rgba(57,255,108,0.6);} body.phosphor .nav-logo .logo-dot{width:10px;height:10px;background:var(--accent);box-shadow:0 0 10px var(--accent);border:none;border-radius:0;animation:blinkP .8s step-end infinite;} @keyframes blinkP{0%,100%{opacity:1;}50%{opacity:0;}} body.phosphor .nav-links{display:flex;gap:4px;flex-wrap:wrap;} body.phosphor .nav-links a{font-family:var(--font-mono);font-size:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:6px 12px;border:1px dashed transparent;transition:all .2s;} body.phosphor .nav-links a:hover{color:var(--text);border-color:rgba(57,255,108,0.5);background:rgba(57,255,108,0.06);text-shadow:0 0 8px rgba(57,255,108,0.7);} body.phosphor .nav-links a.active{color:var(--text);border-color:var(--accent);background:rgba(57,255,108,0.08);text-shadow:0 0 8px rgba(57,255,108,0.7);} body.phosphor .project-hero{padding:90px 0 30px;} body.phosphor .breadcrumb{transform:none;font-family:var(--font-mono);font-size:14px;color:var(--muted);margin-bottom:24px;letter-spacing:.05em;} body.phosphor .project-hero h1{font-family:var(--font-pixel);font-size:clamp(34px,6vw,64px);color:var(--text);text-shadow:0 0 12px rgba(57,255,108,0.7);text-transform:uppercase;transform:none;animation:none;letter-spacing:2px;line-height:1;} body.phosphor .project-hero h1::after{content:'_';display:inline-block;animation:blinkP .8s step-end infinite;} body.phosphor .project-hero .tagline{font-family:var(--font-mono);font-size:16px;color:var(--muted);transform:none;max-width:560px;letter-spacing:.04em;} body.phosphor .project-meta-bar{gap:10px;} body.phosphor .meta-chip{font-family:var(--font-mono);font-size:14px;letter-spacing:.05em;text-transform:uppercase;background:rgba(57,255,108,0.04);color:var(--text);border:1px solid rgba(57,255,108,0.4);border-radius:0;padding:8px 14px;transform:none!important;text-shadow:0 0 6px rgba(57,255,108,0.5);} body.phosphor .meta-chip:hover{border-color:var(--accent);background:rgba(57,255,108,0.1);transform:translateY(-2px)!important;} body.phosphor .meta-chip.primary{background:var(--accent);color:#000;border-color:var(--accent);text-shadow:none;box-shadow:0 0 18px rgba(57,255,108,0.5);} body.phosphor .stats-bar{transform:none;border:1px solid rgba(57,255,108,0.4);border-radius:0;overflow:hidden;background:rgba(57,255,108,0.02);margin-top:36px;} body.phosphor .stat-item{transform:none!important;border-color:rgba(57,255,108,0.2);padding:20px 16px;} body.phosphor .stat-value{font-family:var(--font-mono);font-size:clamp(20px,3vw,28px);color:var(--text);text-shadow:0 0 8px rgba(57,255,108,0.6);} body.phosphor .stat-value.accent,body.phosphor .stat-value.green,body.phosphor .stat-value.orange{color:var(--text);} body.phosphor .stat-label{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;} body.phosphor .section-divider{display:none;} body.phosphor .section-title{transform:none;font-family:var(--font-pixel);font-size:clamp(24px,4vw,38px);color:var(--text);text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px rgba(57,255,108,0.6);} body.phosphor .section-subtitle{font-family:var(--font-mono);color:var(--muted);font-size:15px;letter-spacing:.04em;} body.phosphor .feature-grid{gap:16px;margin:0;} body.phosphor .feature-card{background:rgba(57,255,108,0.02);border:1px dashed rgba(57,255,108,0.35);border-radius:0;padding:20px;transform:none!important;} body.phosphor .feature-card::before,body.phosphor .feature-card::after{display:none!important;} body.phosphor .feature-card:hover{border-color:var(--accent);border-style:solid;background:rgba(57,255,108,0.05);transform:translateY(-2px)!important;} body.phosphor .feature-card h3{font-family:var(--font-pixel);font-size:14px;text-transform:uppercase;color:var(--text);letter-spacing:1px;gap:8px;} body.phosphor .feature-card h3 svg{color:var(--accent);} body.phosphor .feature-card p{color:var(--muted);line-height:1.7;font-size:14px;} body.phosphor .feature-card h3:hover{animation:none!important;} body.phosphor .tech-badge{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;background:transparent;color:var(--text);border:1px solid rgba(57,255,108,0.4);border-radius:0;padding:5px 12px;transform:none!important;text-shadow:0 0 6px rgba(57,255,108,0.4);} body.phosphor .tech-badge:hover{border-color:var(--accent);background:rgba(57,255,108,0.08);transform:translateY(-2px)!important;} body.phosphor table{border:1px solid rgba(57,255,108,0.4);} body.phosphor th,body.phosphor td{border-bottom:1px solid rgba(57,255,108,0.15);padding:12px 16px;} body.phosphor th{font-family:var(--font-pixel);font-size:13px;letter-spacing:.08em;color:var(--text);text-transform:uppercase;text-shadow:0 0 6px rgba(57,255,108,0.5);} body.phosphor td{font-family:var(--font-mono);color:var(--text);font-size:14px;} body.phosphor .check{color:var(--text);text-shadow:0 0 8px var(--accent);} body.phosphor .cross{color:var(--muted);} body.phosphor .desc-text{font-family:var(--font-mono);color:var(--muted);} body.phosphor .desc-text code{background:rgba(57,255,108,0.06);border:1px solid rgba(57,255,108,0.35);color:var(--text);font-family:var(--font-mono);} body.phosphor code-block{border:1px solid rgba(57,255,108,0.4);background:#010403;border-radius:0;color:var(--text);box-shadow:inset 0 0 40px rgba(57,255,108,0.03);font-size:14px;font-family:var(--font-mono);} body.phosphor code-block .comment{color:var(--muted);} body.phosphor code-block .cmd{color:var(--text);text-shadow:0 0 6px rgba(57,255,108,0.5);} body.phosphor .toast{background:#02120a;border:1px solid var(--accent);border-radius:0;font-family:var(--font-mono);color:var(--text);text-shadow:0 0 6px rgba(57,255,108,0.5);} body.phosphor .toast .title{font-family:var(--font-pixel);font-size:11px;color:var(--text);} body.phosphor .progress-bar{background:var(--accent);box-shadow:0 0 12px var(--accent);} body.phosphor footer{border-color:rgba(57,255,108,0.3);transform:none;padding:60px 20px 90px;font-family:var(--font-mono);font-size:14px;color:var(--muted);letter-spacing:.04em;} body.phosphor footer a{color:var(--text);} body.phosphor .footer-links a{font-family:var(--font-mono);font-size:13px;color:var(--muted);letter-spacing:.04em;} body.phosphor .theme-toggle{border:1px solid var(--accent);background:rgba(57,255,108,0.05);color:var(--accent);border-radius:0;box-shadow:0 0 12px rgba(57,255,108,0.3);width:42px;height:42px;} body.phosphor .theme-toggle:hover{background:var(--accent);color:#000;box-shadow:0 0 18px rgba(57,255,108,0.5);transform:none;} body.phosphor .shortcut-modal{background:rgba(0,0,0,0.9);} body.phosphor .shortcut-card{background:#02120a;border:1px solid var(--accent);border-radius:0;padding:26px;} body.phosphor .shortcut-card h3{font-family:var(--font-pixel);font-size:14px;color:var(--text);text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 8px rgba(57,255,108,0.6);} body.phosphor .shortcut-row{font-family:var(--font-mono);color:var(--muted);border-color:rgba(57,255,108,0.15);font-size:14px;} body.phosphor .shortcut-row kbd{background:rgba(57,255,108,0.08);border:1px solid rgba(57,255,108,0.4);color:var(--text);font-family:var(--font-mono);} body.phosphor .shortcut-card .close-hint{color:var(--muted);} body.phosphor .secret-hint{color:var(--muted)!important;} body.phosphor .mobile-nav{background:rgba(2,6,3,0.97);border-top:1px solid var(--accent);} body.phosphor .mobile-nav a{font-family:var(--font-mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;} body.phosphor .mobile-nav a.active{color:var(--text);} body.phosphor .article-header{padding:80px 0 24px;} body.phosphor .article-eyebrow{font-family:var(--font-pixel);font-size:13px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;} body.phosphor .article-date{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.phosphor .article-header h1{font-family:var(--font-pixel);font-size:clamp(26px,4vw,42px);color:var(--text);text-transform:uppercase;text-shadow:0 0 10px rgba(57,255,108,0.6);transform:none;animation:none;} body.phosphor .article-tagline{font-family:var(--font-mono);color:var(--muted);font-size:15px;} body.phosphor .article-tags{gap:8px;} body.phosphor .article-tag{font-family:var(--font-mono);font-size:13px;letter-spacing:.05em;text-transform:uppercase;background:rgba(57,255,108,0.05);color:var(--text);border:1px solid rgba(57,255,108,0.35);padding:3px 10px;border-radius:0;} body.phosphor .article-body h2{font-family:var(--font-pixel);font-size:17px;color:var(--text);margin-top:36px;text-transform:uppercase;text-shadow:0 0 8px rgba(57,255,108,0.6);} body.phosphor .article-body h3{font-family:var(--font-pixel);font-size:15px;color:var(--text);text-transform:uppercase;} body.phosphor .article-body p{font-family:var(--font-mono);font-size:15px;color:var(--text);line-height:1.85;} body.phosphor .article-body code{background:rgba(57,255,108,0.06);border:1px solid rgba(57,255,108,0.35);color:var(--text);padding:2px 6px;font-family:var(--font-mono);} body.phosphor .article-body blockquote{border-left:3px solid var(--accent);background:rgba(57,255,108,0.04);color:var(--muted);font-family:var(--font-mono);font-style:normal;} body.phosphor .article-body ul{font-family:var(--font-mono);color:var(--text);} body.phosphor .article-body ul li::marker{color:var(--accent);} body.phosphor .back-link{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.phosphor .back-link:hover{color:var(--text);} body.phosphor .tech-grid{gap:16px;} body.phosphor .tech-card{background:rgba(57,255,108,0.02);border:1px dashed rgba(57,255,108,0.35);border-radius:0;padding:18px;} body.phosphor .tech-card h3{font-family:var(--font-pixel);font-size:14px;text-transform:uppercase;color:var(--text);gap:8px;} body.phosphor .tech-card h3 svg{color:var(--accent);} body.phosphor .tech-list{display:flex;flex-wrap:wrap;gap:8px;} body.phosphor .tech-list code{background:transparent;border:1px solid rgba(57,255,108,0.35);color:var(--text);font-family:var(--font-mono);font-size:13px;padding:3px 10px;border-radius:0;} body.phosphor .cta-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;} body.phosphor .konami-hint{color:var(--muted)!important;} @media(max-width:640px){ body.phosphor nav{padding:12px 0;} body.phosphor .nav-links a{font-size:13px;padding:5px 8px;} body.phosphor .stat-item{padding:16px 10px;} body.phosphor footer{padding:40px 16px 80px;} } /* ================= CHROME / MONO BRUTALIST ================= */ body.chrome{ --bg:#000;--text:#fff;--muted:#8a8a8a;--accent:#fff;--tape:#fff; --red:#fff;--green:#fff;--pink:#fff;--blue:#fff;--yellow:#fff; --white:#fff;--black:#000; --font-pixel:'Archivo Black',sans-serif;--font-mono:'Space Mono',monospace; --font-body:'Inter',sans-serif;--shout:'Archivo Black',sans-serif;--hand:'Archivo Black',sans-serif; background:var(--bg);color:var(--text); } body.chrome::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:998;opacity:.5;background:repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,0.04) 79px 80px);} body.chrome::after{display:none!important;} body.chrome *{cursor:auto!important;} body.chrome .cursor-dot,body.chrome .cursor-ring,body.chrome .vignette,body.chrome .signal,body.chrome .bg-gradient,body.chrome .spark{display:none!important;} body.chrome a{color:inherit;} body.chrome ::selection{background:#fff;color:#000;} body.chrome nav{position:sticky;top:0;z-index:600;display:flex;align-items:center;justify-content:space-between;background:#000;border-bottom:2px solid #fff;padding:16px 0;gap:14px;flex-wrap:wrap;} body.chrome .nav-logo{font-family:var(--shout);font-size:clamp(18px,3vw,24px);color:#fff;text-transform:uppercase;letter-spacing:1px;gap:10px;} body.chrome .nav-logo .logo-dot{width:12px;height:12px;background:#fff;border-radius:0;box-shadow:none;animation:none;border:none;} body.chrome .nav-links{display:flex;gap:0;flex-wrap:wrap;} body.chrome .nav-links a{font-family:var(--shout);font-size:13px;color:#fff;text-transform:uppercase;letter-spacing:1px;text-decoration:none;padding:8px 16px;border:2px solid #fff;border-right:none;transition:all .2s;} body.chrome .nav-links a:last-child{border-right:2px solid #fff;} body.chrome .nav-links a:hover{background:#fff;color:#000;} body.chrome .nav-links a.active{background:#fff;color:#000;} body.chrome .project-hero{padding:90px 0 30px;} body.chrome .breadcrumb{transform:none;font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-bottom:24px;} body.chrome .project-hero h1{font-family:var(--shout);font-size:clamp(34px,6vw,64px);color:#fff;text-transform:uppercase;transform:none;animation:none;letter-spacing:-1px;line-height:.9;border-bottom:6px solid #fff;padding-bottom:14px;} body.chrome .project-hero .tagline{font-family:var(--font-body);font-size:15px;color:var(--muted);transform:none;max-width:560px;font-weight:400;} body.chrome .project-meta-bar{gap:0;} body.chrome .meta-chip{font-family:var(--shout);font-size:12px;letter-spacing:1px;text-transform:uppercase;background:#000;color:#fff;border:2px solid #fff;border-radius:0;padding:9px 18px;box-shadow:none;transform:none!important;} body.chrome .meta-chip:hover{background:#fff;color:#000;transform:translateY(-2px)!important;} body.chrome .meta-chip.primary{background:#fff;color:#000;border-color:#fff;box-shadow:none;} body.chrome .stats-bar{transform:none;border:2px solid #fff;border-radius:0;overflow:hidden;background:#000;margin-top:36px;} body.chrome .stat-item{transform:none!important;border-color:#fff;padding:22px 16px;border-width:0 1px 0 0;border-style:solid;} body.chrome .stat-value{font-family:var(--shout);font-size:clamp(22px,3vw,30px);color:#fff;} body.chrome .stat-value.accent,body.chrome .stat-value.green,body.chrome .stat-value.orange{color:#fff;} body.chrome .stat-label{font-family:var(--shout);font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;} body.chrome .section-divider{display:none;} body.chrome .section-title{transform:none;font-family:var(--shout);font-size:clamp(26px,4.5vw,42px);color:#fff;text-transform:uppercase;letter-spacing:-1px;line-height:.95;} body.chrome .section-title::after{content:'';display:block;width:100%;height:2px;background:#fff;margin-top:14px;} body.chrome .section-subtitle{font-family:var(--font-body);color:var(--muted);font-size:15px;} body.chrome .feature-grid{gap:2px;margin:0;flex-direction:column;} body.chrome .feature-card{background:#000;border:2px solid #fff;border-radius:0;padding:22px;box-shadow:none;transform:none!important;} body.chrome .feature-card::before,body.chrome .feature-card::after{display:none!important;} body.chrome .feature-card:hover{border-color:#fff;background:#111;transform:none!important;} body.chrome .feature-card h3{font-family:var(--shout);font-size:16px;text-transform:uppercase;color:#fff;letter-spacing:1px;gap:8px;} body.chrome .feature-card h3 svg{color:#fff;} body.chrome .feature-card p{color:var(--muted);line-height:1.7;font-size:14px;} body.chrome .feature-card h3:hover{animation:none!important;} body.chrome .tech-badge{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;background:#000;color:var(--muted);border:2px solid #444;border-radius:0;padding:7px 16px;transform:none!important;} body.chrome .tech-badge:hover{border-color:#fff;color:#fff;transform:translateY(-2px)!important;background:#fff;color:#000;} body.chrome table{border:2px solid #fff;} body.chrome th,body.chrome td{border-bottom:1px solid #fff;padding:12px 16px;} body.chrome th{font-family:var(--shout);font-size:11px;letter-spacing:1px;color:#fff;text-transform:uppercase;} body.chrome td{font-family:var(--font-mono);color:var(--muted);} body.chrome .check{color:#fff;} body.chrome .cross{color:var(--muted);} body.chrome .desc-text{font-family:var(--font-body);color:var(--muted);} body.chrome .desc-text code{background:#000;border:1px solid #fff;color:#fff;font-family:var(--font-mono);} body.chrome code-block{border:2px solid #fff;background:#000;border-radius:0;color:var(--muted);font-size:12px;font-family:var(--font-mono);} body.chrome .toast{background:#000;border:2px solid #fff;border-radius:0;font-family:var(--font-mono);color:#fff;} body.chrome .toast .title{font-family:var(--shout);font-size:10px;color:#fff;} body.chrome .progress-bar{background:#fff;} body.chrome footer{border-color:#fff;transform:none;padding:60px 20px 90px;font-family:var(--font-mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;} body.chrome footer a{color:#fff;} body.chrome .footer-links a{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:1px;} body.chrome .theme-toggle{border:2px solid #fff;background:#000;color:#fff;border-radius:0;box-shadow:none;width:42px;height:42px;} body.chrome .theme-toggle:hover{background:#fff;color:#000;transform:none;} body.chrome .shortcut-modal{background:rgba(0,0,0,0.92);} body.chrome .shortcut-card{background:#000;border:2px solid #fff;border-radius:0;padding:26px;} body.chrome .shortcut-card h3{font-family:var(--shout);font-size:15px;color:#fff;text-transform:uppercase;letter-spacing:1px;} body.chrome .shortcut-row{font-family:var(--font-mono);color:var(--muted);border-color:#fff;} body.chrome .shortcut-row kbd{background:#fff;border:none;color:#000;font-family:var(--font-mono);} body.chrome .shortcut-card .close-hint{color:var(--muted);} body.chrome .secret-hint{color:var(--muted)!important;} body.chrome .mobile-nav{background:#000;border-top:2px solid #fff;} body.chrome .mobile-nav a{font-family:var(--shout);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;} body.chrome .mobile-nav a.active{color:#fff;} body.chrome .article-header{padding:80px 0 24px;} body.chrome .article-eyebrow{font-family:var(--shout);font-size:12px;letter-spacing:2px;color:#fff;text-transform:uppercase;} body.chrome .article-date{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.chrome .article-header h1{font-family:var(--shout);font-size:clamp(28px,4.5vw,44px);color:#fff;text-transform:uppercase;transform:none;animation:none;line-height:.95;border-bottom:4px solid #fff;padding-bottom:12px;} body.chrome .article-tagline{font-family:var(--font-body);color:var(--muted);font-size:15px;} body.chrome .article-tags{gap:8px;} body.chrome .article-tag{font-family:var(--shout);font-size:11px;letter-spacing:1px;text-transform:uppercase;background:#000;color:#fff;border:2px solid #fff;padding:4px 12px;border-radius:0;} body.chrome .article-body h2{font-family:var(--shout);font-size:19px;color:#fff;margin-top:36px;text-transform:uppercase;} body.chrome .article-body h3{font-family:var(--shout);font-size:16px;color:#fff;text-transform:uppercase;} body.chrome .article-body p{font-family:var(--font-body);font-size:15px;color:var(--muted);line-height:1.85;} body.chrome .article-body code{background:#fff;color:#000;border:none;padding:2px 6px;font-family:var(--font-mono);} body.chrome .article-body blockquote{border-left:4px solid #fff;background:#0a0a0a;color:var(--muted);font-family:var(--font-body);font-style:normal;} body.chrome .article-body ul{font-family:var(--font-body);color:var(--muted);} body.chrome .article-body ul li::marker{color:#fff;} body.chrome .back-link{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.chrome .back-link:hover{color:#fff;} body.chrome .tech-grid{gap:2px;} body.chrome .tech-card{background:#000;border:2px solid #fff;border-radius:0;padding:20px;} body.chrome .tech-card h3{font-family:var(--shout);font-size:15px;text-transform:uppercase;color:#fff;gap:8px;} body.chrome .tech-card h3 svg{color:#fff;} body.chrome .tech-list{display:flex;flex-wrap:wrap;gap:8px;} body.chrome .tech-list code{background:#000;border:2px solid #fff;color:#fff;font-family:var(--font-mono);font-size:11px;padding:4px 12px;border-radius:0;} body.chrome .cta-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;} body.chrome .konami-hint{color:var(--muted)!important;} @media(max-width:640px){ body.chrome nav{padding:12px 0;} body.chrome .nav-links a{font-size:11px;padding:6px 10px;} body.chrome .stat-item{padding:16px 10px;} body.chrome footer{padding:40px 16px 80px;} } /* ================= PAPER / LIGHT SERIF ================= */ body.paper{ --bg:#faf7ef;--text:#2b2620;--muted:#7a7268;--accent:#c0522e;--tape:#e2b23f; --red:#c0392b;--green:#2e7d5b;--pink:#c0522e;--blue:#2a6f97;--yellow:#d9a520; --white:#ffffff;--black:#2b2620; --font-pixel:'Caveat',cursive;--font-mono:'Caveat',cursive; --font-body:'Patrick Hand',cursive;--shout:'Caveat',cursive;--hand:'Caveat',cursive; background:repeating-linear-gradient(to bottom,transparent 0 30px,rgba(90,120,200,0.15) 30px 31px),var(--bg); color:var(--text); } body.paper::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:998;opacity:.7; background-image:radial-gradient(circle at 18px 22px,transparent 0 6px,rgba(80,80,90,0.18) 6px 7px,transparent 7px), linear-gradient(90deg,transparent 0 64px,rgba(205,80,50,0.16) 64px 66px,transparent 66px); background-size:44px 100px,100% 100%; background-repeat:repeat-y,no-repeat; background-position:0 0,0 0;} body.paper::after{display:none!important;} body.paper *{cursor:auto!important;} body.paper .cursor-dot,body.paper .cursor-ring,body.paper .vignette,body.paper .signal,body.paper .bg-gradient,body.paper .spark{display:none!important;} body.paper a{color:inherit;} body.paper ::selection{background:var(--tape);color:#1b1917;} body.paper nav{position:sticky;top:0;z-index:600;display:flex;align-items:center;justify-content:space-between;background:rgba(250,247,239,0.94);backdrop-filter:blur(10px);border-bottom:1px dashed #b9a15f;padding:16px 0;gap:14px;flex-wrap:wrap;} body.paper .nav-logo{font-family:var(--shout);font-size:clamp(18px,3vw,24px);color:var(--text);text-transform:uppercase;letter-spacing:1px;gap:9px;} body.paper .nav-logo .logo-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:none;animation:none;border:none;} body.paper .nav-links{display:flex;gap:18px;flex-wrap:wrap;} body.paper .nav-links a{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent;transition:all .2s;} body.paper .nav-links a:hover{color:var(--text);border-color:var(--accent);background:none;border-top:none;border-left:none;border-right:none;} body.paper .nav-links a.active{color:var(--text);border-color:var(--accent);background:none;border-top:none;border-left:none;border-right:none;} body.paper .project-hero{padding:90px 0 30px;} body.paper .breadcrumb{transform:none;font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-bottom:24px;} body.paper .project-hero h1{font-family:var(--shout);font-size:clamp(30px,5.5vw,56px);color:var(--text);text-transform:uppercase;transform:none;animation:none;letter-spacing:-1px;line-height:.95;} body.paper .project-hero h1::after{content:'';display:block;width:150px;height:12px;margin-top:12px;background:var(--accent); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 12'%3E%3Cpath d='M2 8 C12 2 22 11 34 6 C44 2 52 10 62 7 C70 4 78 9 88 6 C98 3 106 10 118 7 C126 5 138 9 148 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 12'%3E%3Cpath d='M2 8 C12 2 22 11 34 6 C44 2 52 10 62 7 C70 4 78 9 88 6 C98 3 106 10 118 7 C126 5 138 9 148 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;} body.paper .project-hero .tagline{font-family:var(--font-body);font-size:16px;color:var(--muted);transform:none;max-width:560px;} body.paper .project-meta-bar{gap:10px;} body.paper .meta-chip{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.03em;background:#fff;color:var(--text);border:1px solid #d9d2c2;border-radius:6px;padding:8px 16px;box-shadow:0 2px 8px rgba(27,25,23,0.06);transform:none!important;} body.paper .meta-chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)!important;} body.paper .meta-chip.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:2px 3px 0 rgba(192,82,46,0.25);} body.paper .stats-bar{transform:none;border:1px solid #d9d2c2;border-radius:10px;overflow:hidden;background:#fff;margin-top:36px;box-shadow:0 2px 10px rgba(27,25,23,0.05);} body.paper .stat-item{transform:none!important;border-color:#e8e2d3;padding:22px 18px;} body.paper .stat-value{font-family:var(--shout);font-size:clamp(22px,3vw,30px);color:var(--text);} body.paper .stat-value.accent{color:var(--accent);} body.paper .stat-value.green,body.paper .stat-value.orange{color:var(--green);} body.paper .stat-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;} body.paper .section-divider{display:none;} body.paper .section-title{transform:none;font-family:var(--shout);font-size:clamp(24px,4vw,38px);color:var(--text);text-transform:uppercase;letter-spacing:-1px;line-height:.95;} body.paper .section-title::after{content:'';display:block;width:120px;height:10px;margin-top:10px;background:var(--accent); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10'%3E%3Cpath d='M2 7 C10 2 18 9 28 5 C38 2 46 8 56 6 C64 4 72 8 82 5 C92 3 100 8 118 5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10'%3E%3Cpath d='M2 7 C10 2 18 9 28 5 C38 2 46 8 56 6 C64 4 72 8 82 5 C92 3 100 8 118 5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;} body.paper .section-subtitle{font-family:var(--font-body);color:var(--muted);font-size:16px;font-style:italic;} body.paper .feature-grid{gap:16px;margin:0;} body.paper .feature-card{background:#fff;border:1px solid #e0dac9;border-radius:10px;padding:24px;box-shadow:0 4px 16px rgba(27,25,23,0.06);transform:none!important;} body.paper .feature-card::before,body.paper .feature-card::after{display:none!important;} body.paper .feature-card:hover{border-color:var(--accent);box-shadow:0 8px 24px rgba(27,25,23,0.1);transform:translateY(-3px)!important;} body.paper .feature-card h3{font-family:var(--shout);font-size:15px;text-transform:uppercase;color:var(--text);letter-spacing:.5px;gap:8px;} body.paper .feature-card h3 svg{color:var(--accent);} body.paper .feature-card p{color:var(--muted);line-height:1.7;font-family:var(--font-body);font-size:15px;} body.paper .feature-card h3:hover{animation:none!important;} body.paper .tech-badge{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.03em;background:#fff;color:var(--muted);border:1px solid #d9d2c2;border-radius:999px;padding:7px 16px;transform:none!important;} body.paper .tech-badge:hover{border-color:var(--accent);color:var(--accent);background:#fff;transform:translateY(-2px)!important;box-shadow:0 4px 12px rgba(27,25,23,0.08);} body.paper table{border:1px solid #d9d2c2;background:#fff;} body.paper th,body.paper td{border-bottom:1px solid #e8e2d3;padding:12px 16px;} body.paper th{font-family:var(--shout);font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;} body.paper td{font-family:var(--font-body);color:var(--text);} body.paper .check{color:var(--green);} body.paper .cross{color:var(--muted);} body.paper .desc-text{font-family:var(--font-body);color:var(--muted);} body.paper .desc-text code{background:#fff;border:1px solid #d9d2c2;color:var(--accent);font-family:var(--font-mono);} body.paper code-block{border:1px dashed #b9a15f;background:#f1ecdd;border-radius:12px 8px 14px 9px/9px 14px 8px 12px;color:var(--text);box-shadow:2px 3px 0 rgba(43,38,32,0.06);font-size:13px;font-family:var(--font-mono);} body.paper code-block .comment{color:var(--muted);} body.paper code-block .cmd{color:var(--accent);} body.paper .toast{background:#fff;border:1px solid #d9d2c2;border-radius:10px;box-shadow:0 8px 24px rgba(27,25,23,0.14);font-family:var(--font-mono);color:var(--text);} body.paper .toast .title{font-family:var(--shout);font-size:10px;color:var(--accent);} body.paper .progress-bar{background:var(--accent);} body.paper footer{border-color:#d9d2c2;transform:none;padding:60px 20px 90px;font-family:var(--font-mono);font-size:12px;color:var(--muted);} body.paper footer a{color:var(--accent);} body.paper .footer-links a{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.02em;} body.paper .theme-toggle{border:2px solid var(--text);background:var(--text);color:var(--bg);border-radius:8px;box-shadow:none;width:42px;height:42px;} body.paper .theme-toggle:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:none;} body.paper .shortcut-modal{background:rgba(27,25,23,0.5);} body.paper .shortcut-card{background:#fff;border:1px solid #d9d2c2;border-radius:14px;padding:26px;box-shadow:0 20px 50px rgba(27,25,23,0.2);} body.paper .shortcut-card h3{font-family:var(--shout);font-size:15px;color:var(--text);text-transform:uppercase;letter-spacing:.5px;} body.paper .shortcut-row{font-family:var(--font-mono);color:var(--muted);border-color:#e8e2d3;} body.paper .shortcut-row kbd{background:var(--bg);border:1px solid #d9d2c2;color:var(--text);font-family:var(--font-mono);} body.paper .shortcut-card .close-hint{color:var(--muted);} body.paper .secret-hint{color:var(--muted)!important;} body.paper .mobile-nav{background:rgba(250,247,239,0.97);border-top:1px dashed #b9a15f;} body.paper .mobile-nav a{font-family:var(--font-body);font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600;} body.paper .mobile-nav a.active{color:var(--text);} body.paper .article-header{padding:80px 0 24px;} body.paper .article-eyebrow{font-family:var(--shout);font-size:11px;letter-spacing:2px;color:var(--accent);text-transform:uppercase;} body.paper .article-date{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.paper .article-header h1{font-family:var(--shout);font-size:clamp(28px,4.5vw,44px);color:var(--text);text-transform:uppercase;transform:none;animation:none;line-height:.95;} body.paper .article-tagline{font-family:var(--font-body);color:var(--muted);font-size:16px;font-style:italic;} body.paper .article-tags{gap:8px;} body.paper .article-tag{font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--bg);color:var(--accent);border:1px solid #d9d2c2;padding:4px 11px;border-radius:999px;} body.paper .article-body h2{font-family:var(--shout);font-size:19px;color:var(--text);margin-top:36px;text-transform:uppercase;letter-spacing:-.5px;} body.paper .article-body h3{font-family:var(--shout);font-size:16px;color:var(--text);text-transform:uppercase;} body.paper .article-body p{font-family:var(--font-body);font-size:16px;color:var(--text);line-height:1.85;} body.paper .article-body code{background:var(--bg);border:1px solid #d9d2c2;color:var(--accent);padding:2px 6px;font-family:var(--font-mono);} body.paper .article-body blockquote{border-left:4px solid var(--accent);background:var(--bg);color:var(--muted);font-family:var(--font-body);font-style:italic;} body.paper .article-body ul{font-family:var(--font-body);color:var(--text);} body.paper .article-body ul li::marker{color:var(--accent);} body.paper .back-link{font-family:var(--font-mono);color:var(--muted);font-size:13px;} body.paper .back-link:hover{color:var(--accent);} body.paper .tech-grid{gap:16px;} body.paper .tech-card{background:#fff;border:1px solid #d9d2c2;border-radius:10px;box-shadow:0 4px 16px rgba(27,25,23,0.06);padding:20px;} body.paper .tech-card h3{font-family:var(--shout);font-size:15px;text-transform:uppercase;color:var(--text);gap:8px;} body.paper .tech-card h3 svg{color:var(--accent);} body.paper .tech-list{display:flex;flex-wrap:wrap;gap:8px;} body.paper .tech-list code{background:var(--bg);border:1px solid #d9d2c2;color:var(--text);font-family:var(--font-mono);font-size:11px;padding:4px 11px;border-radius:6px;} body.paper .cta-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;} body.paper .konami-hint{color:var(--muted)!important;} body.paper .meta-chip,body.paper .feature-card,body.paper .tech-card,body.paper .shortcut-card,body.paper .stats-bar,body.paper code-block{box-shadow:2px 3px 0 rgba(43,38,32,0.06),5px 8px 18px rgba(43,38,32,0.07);} body.paper .meta-chip,body.paper .feature-card,body.paper .tech-card,body.paper .shortcut-card,body.paper .stats-bar{border-radius:12px 8px 14px 9px/9px 14px 8px 12px;} body.paper .tech-badge,body.paper .article-tag,body.paper .tech-list code{border-radius:8px 4px 9px 5px/5px 9px 4px 8px;} body.paper .feature-card:nth-child(odd),body.paper .tech-card:nth-child(odd){transform:rotate(-.4deg);} body.paper .feature-card:nth-child(even),body.paper .tech-card:nth-child(even){transform:rotate(.3deg);} body.paper .feature-card:hover,body.paper .tech-card:hover{transform:rotate(0deg) translateY(-3px);} body.paper .theme-toggle{border-radius:10px 6px 12px 7px/7px 12px 6px 10px;transform:rotate(-4deg);} body.paper .theme-toggle:hover{transform:rotate(0deg);} body.paper .mobile-nav{border-radius:14px 14px 0 0;} body.paper .progress-bar{border-radius:999px;} @media(max-width:640px){ body.paper nav{padding:12px 0;} body.paper .nav-links a{font-size:13px;padding:5px 8px;} body.paper .stat-item{padding:16px 10px;} body.paper footer{padding:40px 16px 80px;} } @media(max-width:640px){ body.maximalist nav{padding:12px 0;} body.maximalist .nav-links a{font-size:14px;padding:8px 12px;} body.maximalist .stat-item{padding:18px 12px;} body.maximalist footer{padding:40px 16px 80px;} }