*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  /* Colori base - fissi */
  --red:#E63946;
  --red-dark:#C62833;
  --cyan:#00D4FF;
  --chrome:#F0F2F5;
  --chrome-dark:#D1D5DB;
  --steel:#6B7280;
  --void:#1A1A2E;
  --void-mid:#1F1F38;
  --void-light:#252542;
  --term-bg:#0d1117;
  --term-green:#3fb950;
  --white:#FFF;
  
  /* Layout */
  --max-w:1400px;
  --content-w:900px;
  
  /* Semantiche - light mode */
  --accent:var(--red);
  --accent-alt:var(--cyan);
  --accent-on-dark:var(--white);
  --bg-page:var(--void-light);
  --bg-content:var(--chrome);
  --bg-card:var(--white);
  --bg-hero:var(--white);
  --bg-section-alt:var(--void-light);
  --text-primary:var(--void);
  --text-secondary:var(--steel);
  --text-inverse:var(--white);
  --border-subtle:var(--chrome-dark);
  --border-card:transparent;
  --shadow-card:0 2px 8px rgba(0,0,0,.05);
  --shadow-card-hover:0 8px 24px rgba(0,0,0,.1);
}

[data-theme="dark"]{
  --accent:var(--cyan);
  --accent-alt:var(--red);
  --accent-on-dark:var(--void);
  --bg-page:var(--void);
  --bg-content:var(--void-light);
  --bg-card:var(--void-mid);
  --bg-hero:var(--void-mid);
  --bg-section-alt:var(--void-mid);
  --text-primary:var(--white);
  --text-secondary:var(--chrome-dark);
  --text-inverse:var(--void);
  --border-subtle:var(--steel);
  --border-card:var(--void);
  --shadow-card:none;
  --shadow-card-hover:0 8px 24px rgba(0,0,0,.3);
}

body{font-family:'Space Grotesk',sans-serif;background:var(--bg-page);color:var(--text-primary);overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:none}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-canvas{display:none}
}

/* ========================================
   HEADER
   ======================================== */
header{position:relative;z-index:100;background:var(--void);clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),0 100%);padding-bottom:12px}
.header-inner{max-width:var(--max-w);margin:0 auto;padding:.6rem 2rem;display:flex;justify-content:space-between;align-items:center}
.logo-area{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.logo-img{width:42px;height:42px;position:relative}
.logo-img img{width:100%;height:100%;object-fit:contain}
.logo-img::before{content:'';position:absolute;inset:-6px;border:2px dashed var(--accent);border-radius:50%;animation:spin 20s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.site-title{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.1em;color:var(--white)}
.nav-area{display:flex;align-items:center;gap:.75rem}
.desktop-nav{display:flex}
.desktop-nav a{font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--chrome-dark);padding:.6rem 1rem;transition:all .2s}
.desktop-nav a:hover{color:var(--white);background:var(--accent)}
.search-btn,.theme-toggle{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--chrome-dark);padding:.55rem .7rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}
.search-btn:hover,.theme-toggle:hover{border-color:var(--accent);color:var(--white);background:var(--accent)}
.search-btn svg{width:14px;height:14px}
.theme-toggle .icon-moon{display:none}
[data-theme="dark"] .theme-toggle .icon-sun{display:none}
[data-theme="dark"] .theme-toggle .icon-moon{display:block}

/* Hamburger */
.hamburger{display:none;background:transparent;border:none;cursor:pointer;padding:10px;z-index:200}
.hamburger-lines{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px}
.hamburger-lines span{display:block;width:100%;height:2px;background:var(--white);transition:transform .3s,opacity .3s}
.hamburger.active .hamburger-lines span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.active .hamburger-lines span:nth-child(2){opacity:0}
.hamburger.active .hamburger-lines span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Mobile Nav */
.mobile-nav-overlay{position:fixed;inset:0;background:var(--void);z-index:150;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.mobile-nav-overlay.active{opacity:1;visibility:visible}
.mobile-nav-overlay a{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.1em;text-decoration:none;color:var(--white);padding:.5rem 1rem;transition:color .2s}
.mobile-nav-overlay a:hover{color:var(--accent)}
.mobile-nav-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--white);font-size:2rem;cursor:pointer;padding:.5rem;line-height:1}

/* ========================================
   HERO
   ======================================== */
.hero{position:relative;z-index:5;margin-top:-12px;display:grid;grid-template-columns:60% 40%;min-height:65vh}
.hero-left{position:relative;background:var(--bg-hero);display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-title-container{position:relative;z-index:2;padding:3rem;max-width:calc(var(--max-w)*.6);margin-left:auto}
.hero-label{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}
.hero-label::before{content:'';width:30px;height:2px;background:var(--accent)}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:6.5rem;line-height:.85;letter-spacing:-.02em;color:var(--text-primary)}
.hero-title .line{display:block}
.hero-title .line-1{font-size:3.5rem}
.hero-title .line-2{color:var(--red);margin-left:-.3rem}
.hero-title .line-3{font-size:3rem}
.scramble-text{display:inline-block}
.scramble-text .char{display:inline-block;width:.58em;text-align:center}
.scramble-text .char.scrambling{color:var(--cyan)}
.hero-right{display:flex;flex-direction:column}
.hero-section{flex:1;padding:2.5rem;display:flex;flex-direction:column;justify-content:center;color:var(--white)}
.hero-section-content{max-width:calc(var(--max-w)*.4 - 5rem)}
.hero-section-chi{background:var(--red)}
.hero-section-label{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin-bottom:.75rem}
.hero-section-title{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.02em;margin-bottom:.6rem;line-height:1.1}
.hero-section-text{font-size:.85rem;line-height:1.6;opacity:.9;margin-bottom:1.25rem}
.hero-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--white);color:var(--red);padding:.9rem 1.4rem;text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.1em;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,0 100%);transition:all .2s;align-self:flex-start}
.hero-btn:hover{background:var(--void);color:var(--white);padding-right:1.8rem}

/* Terminal */
.hero-section-terminal{background:var(--term-bg);padding:0!important;display:flex;flex-direction:column}
.terminal-header{background:#3c3c3c;padding:.4rem .75rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.terminal-header-title{display:flex;align-items:center;gap:.5rem;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:rgba(255,255,255,.9)}
.terminal-header-title svg{width:14px;height:14px;opacity:.8}
.terminal-header-buttons{display:flex;gap:.5rem}
.terminal-header-btn{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:rgba(255,255,255,.7);background:rgba(255,255,255,.1);border-radius:2px;line-height:1;cursor:pointer}
.terminal-header-btn:hover{background:rgba(255,255,255,.2)}
.terminal-body{padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column;font-family:'JetBrains Mono',monospace;overflow:hidden;min-height:0}
.terminal-content{font-size:.75rem;line-height:1.9;flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
.terminal-content::-webkit-scrollbar{display:none}
.terminal-line{margin-bottom:.25rem}
.terminal-prompt{color:var(--term-green)}
.terminal-path{color:var(--cyan)}
.terminal-cmd{color:var(--white)}
.terminal-output{color:rgba(255,255,255,.85);display:block;margin-bottom:.15rem}
.terminal-output.highlight{color:var(--cyan);font-weight:500}
.terminal-output.comment{color:var(--steel)}
.terminal-output.error{color:var(--red)}
.terminal-link{color:var(--cyan);text-decoration:none;border-bottom:1px dashed var(--cyan);transition:opacity .2s}
.terminal-link:hover{opacity:.7}
.terminal-input-line{display:flex;align-items:center;margin-top:.5rem}
.terminal-input{background:transparent;border:none;color:var(--white);font-family:'JetBrains Mono',monospace;font-size:.75rem;outline:none;flex:1;caret-color:var(--term-green)}
.terminal-input::placeholder{color:var(--steel)}

/* ========================================
   MAIN CONTENT
   ======================================== */
main{position:relative;z-index:5;background:var(--bg-content)}
.main-inner{max-width:var(--max-w);margin:0 auto;padding:3rem}
.section-header{display:flex;align-items:flex-end;gap:1.5rem;margin-bottom:2rem}
.section-header h2{font-family:'Bebas Neue',sans-serif;font-size:3rem;letter-spacing:.02em;line-height:.9;position:relative;color:var(--text-primary)}
.section-header h2::before{content:'//';position:absolute;left:-1.5rem;top:0;font-size:1.3rem;color:var(--accent)}
.section-header .subtitle{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;padding-bottom:.3rem}

/* ========================================
   FEATURED EVENT
   ======================================== */
.featured-event{background:var(--void);color:var(--white);margin-bottom:1.5rem;display:grid;grid-template-columns:160px 1fr;overflow:hidden}
.featured-date-block{background:var(--accent);color:var(--accent-on-dark);padding:2rem 1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}
.featured-date-block .day{font-family:'Bebas Neue',sans-serif;font-size:4.5rem;line-height:1}
.featured-date-block .month{font-family:'JetBrains Mono',monospace;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}
.featured-content{padding:2rem 2.5rem;display:flex;flex-direction:column;justify-content:center}
.featured-tag{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-alt);margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem}
.featured-tag::before{content:'';width:5px;height:5px;background:var(--accent-alt);animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.featured-content h3{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;letter-spacing:.02em;margin-bottom:.4rem;line-height:1}
.featured-content p{font-size:.95rem;color:var(--chrome-dark);line-height:1.5;margin-bottom:1rem}
.featured-meta{display:flex;align-items:center;gap:1.5rem}
.featured-meta .author{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--steel)}
.featured-meta .author::before{content:'@';color:var(--accent)}
.featured-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--white);text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:.7rem;padding:.5rem 1rem;border:1px solid rgba(255,255,255,.3);transition:all .2s}
.featured-link:hover{background:var(--white);color:var(--void);border-color:var(--white)}

/* ========================================
   EVENTS GRID
   ======================================== */
.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.event-card{background:var(--bg-card);overflow:hidden;text-decoration:none;color:inherit;display:block;box-shadow:var(--shadow-card);border:1px solid var(--border-card);transition:all .3s}
.event-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
.event-card-inner{display:grid;grid-template-columns:85px 1fr}
.event-date{background:var(--void);color:var(--white);padding:1.25rem 1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all .3s}
.event-date .day{font-family:'Bebas Neue',sans-serif;font-size:2.25rem;line-height:1}
.event-date .month{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.event-body{padding:1.25rem}
.event-type{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem;display:inline-flex;align-items:center;gap:.3rem}
.event-type::before{content:'';width:4px;height:4px;border-radius:50%}
.event-type.event{color:var(--accent)}.event-type.event::before{background:var(--accent)}
.event-type.news{color:var(--accent-alt)}.event-type.news::before{background:var(--accent-alt)}
.event-body h3{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:.01em;margin-bottom:.25rem;line-height:1.1;color:var(--text-primary);transition:color .3s}
.event-body p{font-size:.75rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.6rem}
.event-body .meta{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}
.event-body .meta .author::before{content:'@';color:var(--accent)}
.event-body .read-more{opacity:0;transform:translateX(-6px);transition:all .3s;color:var(--accent)}
.event-card:hover .event-date{background:var(--accent);color:var(--accent-on-dark)}
.event-card:hover .event-body h3{color:var(--accent)}
.event-card:hover .read-more{opacity:1;transform:translateX(0)}

/* ========================================
   VIEW ALL BUTTON
   ======================================== */
.view-all-container{margin-top:2rem;text-align:center}
.view-all-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--accent);color:var(--accent-on-dark);padding:.9rem 1.4rem;text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.1em;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,0 100%);transition:all .2s}
.view-all-btn:hover{background:var(--void);color:var(--white);padding-right:1.8rem}

/* ========================================
   DAL LAB
   ======================================== */
.dal-lab{position:relative;z-index:5;background:var(--bg-section-alt);color:var(--white);overflow:hidden;padding:3rem 0}
.dal-lab-inner{max-width:var(--max-w);margin:0 auto;padding:0 3rem}
.dal-lab-header{display:flex;align-items:flex-end;gap:1.5rem;margin-bottom:2rem}
.dal-lab-header h2{font-family:'Bebas Neue',sans-serif;font-size:3rem;letter-spacing:.02em;line-height:.9;position:relative}
.dal-lab-header h2::before{content:'//';position:absolute;left:-1.5rem;top:0;font-size:1.3rem;color:var(--accent-alt)}
.dal-lab-header .subtitle{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--steel);letter-spacing:.1em;text-transform:uppercase;padding-bottom:.3rem}
.dal-lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.dal-lab-card{background:var(--void);border:1px solid var(--steel);overflow:hidden;transition:all .3s}
.dal-lab-card:hover{border-color:var(--accent);transform:translateY(-4px)}
.dal-lab-card-image{aspect-ratio:16/10;background:var(--void-light);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.dal-lab-card-image::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,rgba(0,212,255,.02) 50%),linear-gradient(0deg,transparent 50%,rgba(0,212,255,.02) 50%);background-size:4px 4px;pointer-events:none;z-index:1}
.dal-lab-card-image img{max-width:95%;object-fit:contain}
.dal-lab-card-placeholder{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--steel);text-align:center}
.dal-lab-card-placeholder span{display:block;font-size:1.5rem;margin-bottom:.3rem;opacity:.5}
.dal-lab-card-body{padding:1.25rem}
.dal-lab-card-label{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:.5rem;display:flex;align-items:center;gap:.3rem}
.dal-lab-card-label::before{content:'>'}
.dal-lab-card h3{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.02em;margin-bottom:.5rem;line-height:1.1}
.dal-lab-card p{font-size:.75rem;line-height:1.5;color:var(--chrome-dark);margin-bottom:1rem}
.dal-lab-card-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.dal-lab-card-tag{font-family:'JetBrains Mono',monospace;font-size:.55rem;padding:.2rem .4rem;background:var(--void-light);color:var(--chrome-dark);border:1px solid var(--steel)}

/* ========================================
   FOOTER
   ======================================== */
footer{position:relative;z-index:5;background:var(--void);color:var(--chrome);clip-path:polygon(0 16px,100% 0,100% 100%,0 100%);margin-top:-1px}
.footer-inner{max-width:var(--max-w);margin:0 auto;padding:2rem 2rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.footer-brand span{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--steel)}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--steel);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--accent)}
.footer-status{display:flex;align-items:center;gap:.4rem;font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--steel)}
.status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s ease-in-out infinite}

/* ========================================
   PAGE HEADER
   ======================================== */
.page-header{background:var(--void);margin-top:-12px;padding:3rem 2rem 4rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),0 100%)}
.page-header-inner{max-width:var(--content-w);margin:0 auto}
.page-header .breadcrumb{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--steel);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}
.page-header .breadcrumb a{color:var(--steel);text-decoration:none;transition:color .2s}
.page-header .breadcrumb a:hover{color:var(--accent-alt)}
.page-header h1{font-family:'Bebas Neue',sans-serif;font-size:4rem;color:var(--white);letter-spacing:.02em;line-height:.9;margin-bottom:.75rem}
.page-header .subtitle{font-size:1rem;color:var(--chrome-dark);line-height:1.5}
.page-header.about{padding:3rem 2rem 5rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),0 100%)}
.page-header.about .page-header-inner{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}
.page-header-content h1{font-family:'Bebas Neue',sans-serif;font-size:5rem;color:var(--white);letter-spacing:.02em;line-height:.9;margin-bottom:.5rem}
.page-header-content .subtitle{font-family:'JetBrains Mono',monospace;font-size:.85rem;color:var(--steel);margin-bottom:1.5rem}
.page-header-content .lead{font-size:1.1rem;color:var(--chrome-dark);line-height:1.7}
.page-header-logo{width:160px;height:160px;position:relative}
.page-header-logo img{width:100%;height:100%;object-fit:contain;animation:spin 20s linear infinite}
.page-header-logo::before{content:'';position:absolute;inset:-10px;border:2px dashed var(--accent);border-radius:50%}

/* ========================================
   CONTENT WRAPPER
   ======================================== */
.content-wrapper{background:var(--bg-content);margin-top:-20px;padding-top:20px;padding-bottom:32px;margin-bottom:-16px;flex:1}
.content-wrapper.about{margin-top:-30px;padding-top:30px}
.content-wrapper.error-page{display:flex;align-items:center;justify-content:center;margin-top:-12px;padding:4rem 2rem;padding-bottom:48px}

/* ========================================
   BLOG
   ======================================== */
.blog-content{max-width:var(--content-w);margin:0 auto;padding:2rem 2rem 3rem}
.filter-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}
.filter-tab{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all .2s}
.filter-tab:hover{border-color:var(--text-primary);color:var(--text-primary)}
.filter-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-on-dark)}

/* ========================================
   POST LIST
   ======================================== */
.posts-list{display:flex;flex-direction:column;gap:1rem}
.post-card{background:var(--bg-card);border:1px solid var(--border-card);overflow:hidden;text-decoration:none;color:inherit;display:block;box-shadow:var(--shadow-card);transition:all .3s}
.post-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
.post-card-inner{display:grid;grid-template-columns:85px 1fr}
.post-date{background:var(--void);color:var(--white);padding:1.25rem 1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all .3s}
.post-date .day{font-family:'Bebas Neue',sans-serif;font-size:2.25rem;line-height:1}
.post-date .month{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.post-body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;justify-content:center}
.post-tag{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem}
.post-tag.event{color:var(--accent)}
.post-tag.news{color:var(--accent-alt)}
.post-tag.writeup{color:var(--term-green)}
.post-body h3{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:.01em;margin-bottom:.25rem;line-height:1.1;color:var(--text-primary);transition:color .3s}
.post-body p{font-size:.75rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.5rem}
.post-meta{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--text-secondary);display:flex;align-items:center;gap:.75rem}
.post-meta .author::before{content:'@';color:var(--accent)}
.post-meta .reading-time::before{content:'•';margin-right:.4rem}
.post-card:hover .post-date{background:var(--accent);color:var(--accent-on-dark)}
.post-card:hover .post-body h3{color:var(--accent)}

/* Featured Post */
.post-card.featured{background:var(--void);border:none;box-shadow:none}
.post-card.featured .post-card-inner{grid-template-columns:160px 1fr}
.post-card.featured .post-date{background:var(--accent);color:var(--accent-on-dark);padding:2rem 1.5rem;position:relative}
.post-card.featured .post-date::after{content:'';position:absolute;right:-20px;top:50%;transform:translateY(-50%);border:20px solid transparent;border-left:20px solid var(--accent);transition:border-color .3s}
.post-card.featured .post-date .day{font-size:4.5rem}
.post-card.featured .post-date .month{font-size:.85rem;letter-spacing:.15em;opacity:1}
.post-card.featured .post-body{padding:2rem 2.5rem}
.post-card.featured .post-tag{color:var(--accent-alt)}
.post-card.featured .post-body h3{font-size:2rem;color:var(--white);margin-bottom:.5rem}
.post-card.featured .post-body p{color:var(--chrome-dark);font-size:.9rem}
.post-card.featured .post-meta{color:var(--steel)}
.post-card.featured:hover{box-shadow:0 6px 20px rgba(0,0,0,.2)}
.post-card.featured:hover .post-date{background:var(--accent-alt)}
.post-card.featured:hover .post-date::after{border-left-color:var(--accent-alt)}
.post-card.featured:hover .post-body h3{color:var(--accent-alt)}

/* Load More */
.load-more{display:flex;justify-content:center;align-items:center;padding:2rem 0;margin-top:1rem}
.load-more-spinner{width:24px;height:24px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin-loader .8s linear infinite}
@keyframes spin-loader{to{transform:rotate(360deg)}}
.load-more-text{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--text-secondary);margin-left:.75rem}
.end-of-posts{text-align:center;padding:2rem 0;margin-top:1rem;border-top:1px solid var(--border-subtle)}
.end-of-posts p{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--text-secondary)}

/* ========================================
   ARTICLE HEADER
   ======================================== */
.article-header{background:var(--void);margin-top:-12px;padding:3rem 2rem 4rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),0 100%)}
.article-header-inner{max-width:var(--content-w);margin:0 auto}
.breadcrumb{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--steel);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}
.breadcrumb a{color:var(--steel);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--accent-alt)}
.article-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.article-type{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;background:var(--red);color:var(--white)}
.article-type.news{background:var(--cyan);color:var(--void)}
.article-type.writeup{background:var(--term-green);color:var(--void)}
.article-date{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--steel)}
.reading-time{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--steel);display:flex;align-items:center;gap:.3rem}
.reading-time::before{content:'•';color:var(--steel)}
.article-header h1{font-family:'Bebas Neue',sans-serif;font-size:4rem;color:var(--white);letter-spacing:.02em;line-height:.95;margin-bottom:1rem}
.article-excerpt{font-size:1.1rem;color:var(--chrome-dark);line-height:1.6;margin-bottom:1.5rem}
.article-author{display:flex;align-items:center;gap:.75rem}
.author-avatar{width:40px;height:40px;border-radius:50%;background:var(--void-light);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--chrome-dark)}
.author-info{display:flex;flex-direction:column;gap:.15rem}
.author-name{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--white)}
.author-name::before{content:'@';color:var(--accent)}
.author-role{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--steel)}

/* ========================================
   ARTICLE CONTENT
   ======================================== */
.article-content{max-width:var(--content-w);margin:0 auto;padding:3rem 2rem}
.article-body{font-size:1.05rem;line-height:1.8;color:var(--text-primary)}
.article-body p{margin-bottom:1.5rem}
.article-body h1{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;letter-spacing:.02em;margin:1.5rem 0 1rem;color:var(--text-primary);position:relative}
.article-body h2{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.02em;margin:2rem 0 1rem;color:var(--text-primary);position:relative}
.article-body h2::before{content:'//';position:absolute;left:-1.5rem;top:0.1rem;font-size:1.5rem;color:var(--accent)}
.article-body h3{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.02em;margin:2rem 0 .75rem;color:var(--text-primary)}
.article-body hr{border:none;height:2px;background:var(--steel);margin:2.5rem auto;width:80px}
.article-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.article-body a:hover{border-bottom-color:var(--accent)}
.article-body ul,.article-body ol{margin:1rem 0 1.5rem 1.5rem}
.article-body li{margin-bottom:.5rem}
.article-body blockquote{border-left:3px solid var(--red);padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:var(--text-secondary)}
.article-body code{font-family:'JetBrains Mono',monospace;font-size:.9em;background:var(--void);color:var(--cyan);padding:.2rem .4rem;border-radius:3px}
.article-body pre{background:var(--term-bg);padding:1.5rem;overflow-x:auto;margin:1.5rem 0;border-left:3px solid var(--cyan)}
.article-body pre code{background:transparent;padding:0;font-size:.85rem;line-height:1.6;color:var(--chrome-dark)}
.article-body img{max-width:100%;height:auto;display:block;border:1px solid var(--border-subtle)}
.article-body>img{margin:1.5rem 0}
.article-body figure{margin:2rem 0}
.article-body figure img{margin:0}
.article-body figcaption{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--text-secondary);margin-top:.5rem;padding-left:1rem;border-left:2px solid var(--border-subtle)}
.highlight-box{background:var(--void);color:var(--white);padding:1.5rem 2rem;margin:2rem 0;border-left:3px solid var(--red)}
.highlight-box p{margin:0;color:var(--chrome-dark)}
.highlight-box p+p{margin-top:1rem}
.highlight-box strong{color:var(--white)}
.article-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-subtle)}
.article-tag{font-family:'JetBrains Mono',monospace;font-size:.6rem;padding:.3rem .6rem;background:var(--void);color:var(--chrome-dark);text-decoration:none;transition:all .2s}
.article-tag:hover{background:var(--accent);color:var(--accent-on-dark)}

/* ========================================
   POST NAVIGATION
   ======================================== */
.post-nav{max-width:var(--content-w);margin:0 auto;padding:0 2rem 3rem;display:flex;gap:1.5rem}
.post-nav-item{flex:1;background:var(--bg-card);padding:1.5rem;text-decoration:none;color:inherit;transition:all .2s;border:1px solid var(--border-subtle)}
.post-nav-item:hover{border-color:var(--accent)}
.post-nav-item.prev{text-align:left}
.post-nav-item.next{text-align:right}
.post-nav-item:only-child{flex:0 1 auto;max-width:50%}
.post-nav-label{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}
.post-nav-item.prev .post-nav-label::before{content:'←'}
.post-nav-item.next .post-nav-label{justify-content:flex-end}
.post-nav-item.next .post-nav-label::after{content:'→'}
.post-nav-title{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--text-primary);transition:color .2s}
.post-nav-item:hover .post-nav-title{color:var(--accent)}

/* ========================================
   RELATED POSTS
   ======================================== */
.related-posts{background:var(--bg-section-alt);padding:3rem 2rem 4rem}
.related-posts-inner{max-width:var(--max-w);margin:0 auto}
.related-posts-header{display:flex;align-items:flex-end;gap:1.5rem;margin-bottom:2rem}
.related-posts-header h2{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;letter-spacing:.02em;line-height:.9;color:var(--white);position:relative}
.related-posts-header h2::before{content:'//';position:absolute;left:-1.5rem;top:0;font-size:1.2rem;color:var(--accent-alt)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.related-card{background:var(--void);border:1px solid rgba(107,114,128,.3);text-decoration:none;color:inherit;transition:all .3s}
.related-card:hover{border-color:var(--accent);transform:translateY(-4px)}
.related-card-body{padding:1.25rem}
.related-card-meta{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--steel);margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem}
.related-card-type{color:var(--accent)}
.related-card h3{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--white);margin-bottom:.5rem;line-height:1.1}
.related-card p{font-size:.75rem;color:var(--chrome-dark);line-height:1.5}

/* ========================================
   ABOUT CONTENT
   ======================================== */
.about-content{max-width:var(--content-w);margin:0 auto;padding:2rem 2rem 3rem}
.about-section{margin-bottom:3rem}
.about-section:last-child{margin-bottom:0}
.about-section h2{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.02em;margin-bottom:1rem;color:var(--text-primary);position:relative}
.about-section h2::before{content:'//';position:absolute;left:-1.5rem;top:0.1rem;font-size:1.5rem;color:var(--accent)}
.about-section p{font-size:1rem;line-height:1.8;color:var(--text-secondary);margin-bottom:1rem}
.about-section a{color:var(--accent);text-decoration:none;transition:color .2s}
.about-section a:hover{text-decoration:underline}
.about-section ul,.about-section ol{margin:1.5rem 0 1.5rem 1.5rem;color:var(--text-secondary)}
.about-section li{margin-bottom:.75rem;line-height:1.7}
.about-section li:last-child{margin-bottom:0}
.about-section li strong{color:var(--accent)}
.quote{background:var(--void);padding:2rem;margin:1.5rem 0;border-left:4px solid var(--accent)}
.quote p{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;line-height:1.4;color:var(--white);margin:0}
.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}
.schedule-card{background:var(--bg-card);padding:1.5rem;text-align:center;box-shadow:var(--shadow-card);border:1px solid var(--border-card)}
.schedule-card .label{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.25rem}
.schedule-card .value{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--text-primary);line-height:1.1}
.schedule-card .value span{color:var(--accent)}
.cta-row{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}
.btn-primary{display:inline-flex;align-items:center;gap:.6rem;background:var(--accent);border:none;color:var(--accent-on-dark);padding:.9rem 1.4rem;text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.1em;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,0 100%);transition:all .2s}
.btn-primary:hover{background:var(--void);color:var(--white);padding-right:1.8rem}
.btn-secondary{display:inline-flex;align-items:center;gap:.6rem;background:var(--white);border:none;color:var(--void);padding:.9rem 1.4rem;text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.1em; transition:all .2s;align-self:flex-start}
.btn-secondary:hover{background:var(--void);color:var(--white);padding-right:1.8rem}


/* ========================================
   404 PAGE
   ======================================== */
.error-content{max-width:var(--content-w);margin:0 auto;padding:4rem 2rem;text-align:center}
.error-code{font-family:'Bebas Neue',sans-serif;font-size:12rem;line-height:.85;color:var(--text-primary);position:relative;display:inline-block}
.error-code::after{content:'404';position:absolute;top:4px;left:4px;color:var(--accent);z-index:-1}
.error-title{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;letter-spacing:.02em;color:var(--text-primary);margin-bottom:1rem}
.error-message{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}
.error-terminal{background:var(--term-bg);max-width:400px;margin:0 auto 2rem;text-align:left;overflow:hidden}
.error-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--accent);color:var(--accent-on-dark);padding:.9rem 1.4rem;text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.1em;clip-path:polygon(10px 0,100% 0,100% 100%,0 100%);transition:all .2s}
.error-btn:hover{background:var(--void);color:var(--white);padding-left:1.8rem}

/* ========================================
   SEARCH OVERLAY
   ======================================== */
.search-overlay{position:fixed;inset:0;background:rgba(26,26,46,.95);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;backdrop-filter:blur(4px)}
.search-overlay.active{opacity:1;visibility:visible}
.search-overlay-inner{width:100%;max-width:600px;padding:0 2rem}
.search-close{position:absolute;top:2rem;right:2rem;background:none;border:none;color:var(--white);font-size:2.5rem;cursor:pointer;padding:.5rem;line-height:1;opacity:.7;transition:opacity .2s}
.search-close:hover{opacity:1}
.search-container{background:var(--void);border:1px solid var(--steel);padding:1.5rem}
.search-input-wrapper{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--steel)}
.search-input-wrapper svg{width:20px;height:20px;color:var(--steel);flex-shrink:0}
.search-input-wrapper input{flex:1;background:transparent;border:none;font-family:'Space Grotesk',sans-serif;font-size:1.1rem;color:var(--white);outline:none}
.search-input-wrapper input::placeholder{color:var(--steel)}
.search-results{max-height:50vh;overflow-y:auto;margin-top:1rem}
.search-results:empty{display:none}
.search-result-item{display:block;padding:1rem;border-bottom:1px solid rgba(107,114,128,.3);text-decoration:none;transition:background .2s}
.search-result-item:hover{background:var(--void-light)}
.search-result-item:last-child{border-bottom:none}
.search-result-title{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--white);margin-bottom:.25rem}
.search-result-excerpt{font-size:.75rem;color:var(--chrome-dark);line-height:1.4}
.search-result-meta{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--steel);margin-top:.5rem}
.search-no-results{padding:2rem 1rem;text-align:center;color:var(--steel);font-family:'JetBrains Mono',monospace;font-size:.8rem}
.search-hint{margin-top:1rem;text-align:center;font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--steel)}
.search-hint kbd{background:var(--void-light);padding:.2rem .4rem;border:1px solid var(--steel);border-radius:3px}

/* ========================================
   RESPONSIVE
   ======================================== */
@media(max-width:900px){
  .desktop-nav{display:none}
  .hamburger{display:block}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{min-height:40vh}
  .hero-title-container{max-width:100%;margin-left:0;padding:2rem}
  .hero-title{font-size:4rem}
  .hero-title .line-1{font-size:2.2rem}
  .hero-title .line-3{font-size:1.8rem}
  .hero-right{flex-direction:column}
  .hero-section{padding:2rem}
  .hero-section-terminal{padding:0!important}
  .hero-section-content{max-width:100%}
  .events-grid,.dal-lab-grid,.related-grid,.schedule-grid{grid-template-columns:1fr}
  .featured-event{grid-template-columns:1fr}
  .featured-date-block{flex-direction:row;gap:.75rem;padding:1rem 1.5rem}
  .featured-date-block::after{display:none}
  .featured-date-block .day{font-size:3rem}
  .main-inner{padding:2rem 1.5rem}
  .section-header h2::before,.dal-lab-header h2::before,.related-posts-header h2::before,.article-body h2::before{display:none}
  .dal-lab-inner{padding:0 1.5rem}
  .footer-links{display:none}
  .footer-inner{justify-content:center;flex-wrap:wrap}
  .page-header.about .page-header-inner{grid-template-columns:1fr;text-align:center}
  .page-header-logo{display:none}
  .post-nav{flex-direction:column}
  .post-nav-item:only-child{max-width:100%}
  .post-nav-item.next{text-align:left}
  .post-nav-item.next .post-nav-label{justify-content:flex-start}
  .article-header h1{font-size:3rem}
}

@media(max-width:600px){
  .page-header h1{font-size:3rem}
  .post-card-inner{grid-template-columns:70px 1fr}
  .post-date{padding:1rem .75rem}
  .post-date .day{font-size:1.8rem}
  .post-body{padding:1rem}
  .post-body h3{font-size:1.1rem}
  .post-card.featured .post-card-inner{grid-template-columns:100px 1fr}
  .post-card.featured .post-date{padding:1.25rem 1rem}
  .post-card.featured .post-date::after{right:-12px;border-width:12px;border-left-width:12px}
  .post-card.featured .post-date .day{font-size:2.5rem}
  .post-card.featured .post-body{padding:1.25rem}
  .post-card.featured .post-body h3{font-size:1.4rem}
  .filter-bar{gap:.35rem}
  .filter-tab{padding:.4rem .7rem;font-size:.6rem}
  .cta-row{flex-direction:column}
  .btn-primary,.btn-secondary{width:100%;justify-content:center}
  .error-code{font-size:8rem}
}

@media(max-width:480px){
  .header-inner{padding:.5rem 1rem}
  .hero-title{font-size:3rem}
  .hero-title .line-1{font-size:1.8rem}
  .hero-title .line-3{font-size:1.5rem}
  .terminal-content{font-size:.65rem}
  .featured-content{padding:1.5rem}
  .featured-content h3{font-size:2rem}
  .blog-content{padding:1.5rem 1rem 2rem}
  .article-content{padding:2rem 1rem}
  .about-content{padding:1.5rem 1rem 2rem}
  .page-header-content h1{font-size:3.5rem}
}