/* Custom Added Fonts */
@font-face {
  font-family: 'Ethnocentric';
    src: url('/fonts/Ethnocentric-Regular.woff') format('woff'),
      url('/fonts/Ethnocentric-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Eurostar Regular';
  src: url('/fonts/Eurostar Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'BOMBARD';
  src: url('/fonts/BOMBARD.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}






/* Axion/style.css */
    :root{
      --base-font-size:17px;
      --theme-fade-duration:.55s;
      --theme-fade-easing:ease;
      --motion-fast:.38s;
      --motion-base:.62s;
      --motion-slow:1.05s;
      --motion-stagger:.11s;
      --bg:#070c10;
      --bg-deep:#020506;
      --panel:#0a1319;
      --panel-alt:#0d1a22;
      --panel-head:#12202a;
      --surface-top:rgba(14, 20, 25, 0.95);
      --surface-bottom:rgba(4, 7, 9, 0.98);
      --card-top:rgba(12,19,24,0.97);
      --card-bottom:rgba(5,9,11,0.96);
      --control-top:rgba(255,255,255,0.05);
      --control-bottom:rgba(9,16,21,0.9);
      --control-border:rgba(157, 207, 255, 0.18);
      --line:#78dfff;
      --line-soft:rgba(120, 223, 255, 0.28);
      --stat-cell:rgba(23, 96, 119, 0.28);
      --neon-cyan:#7ef5ff;
      --neon-pink:#ff4dd2;
      --neon-green:#33FF99;
      --neon-blue:#7aa9ff;
      --neon-red:#ff7b7b;
      --neon-orange:#ffb15b;
      --neon-yellow:#f5d970;
      --muted:#b4c9d5;
      --text:#edf8ff;
      --accent:var(--neon-cyan);
      --corner: rgba(126, 245, 255, 0.55);
      font-family: ui-monospace, SFMono-Regular, "Segoe UI Mono", "Roboto Mono", "Courier New", monospace;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    /* Light theme overrides */
    body.light{
      --bg:#edf5fa;
      --bg-deep:#dfeaf2;
      --panel:#ffffff;
      --panel-alt:#f3f8fb;
      --panel-head:#e8f2f8;
      --surface-top:rgba(251,254,255,0.98);
      --surface-bottom:rgba(226,237,244,0.99);
      --card-top:rgba(247,252,255,0.98);
      --card-bottom:rgba(226,238,246,0.96);
      --control-top:rgba(255,255,255,0.95);
      --control-bottom:rgba(231,240,246,0.95);
      --control-border:rgba(13, 61, 86, 0.24);
      --line:#0d3d56;
      --line-soft:rgba(13, 61, 86, 0.24);
      --corner:rgba(15, 93, 122, 0.36);
      --neon-cyan:#0f5d7a;
      --neon-green:#8e2e6a;
      --neon-blue:#29589e;
      --neon-red:#a33636;
      --neon-orange:#9b5a16;
      --neon-yellow:#7f5c00;
      --text:#10222a;
      --muted:#455e6d;
    }

    *{box-sizing:border-box}
    html { scroll-behavior:smooth; font-size:var(--base-font-size) }
    html.theme-switching::before,
    body.theme-switching,
    body.theme-switching::before,
    body.theme-switching::after,
    body.theme-switching *,
    body.theme-switching *::before,
    body.theme-switching *::after{
      transition:
        color var(--theme-fade-duration) var(--theme-fade-easing),
        background-color var(--theme-fade-duration) var(--theme-fade-easing),
        background-image var(--theme-fade-duration) var(--theme-fade-easing),
        border-color var(--theme-fade-duration) var(--theme-fade-easing),
        box-shadow var(--theme-fade-duration) var(--theme-fade-easing),
        text-shadow var(--theme-fade-duration) var(--theme-fade-easing),
        opacity var(--theme-fade-duration) var(--theme-fade-easing),
        filter var(--theme-fade-duration) var(--theme-fade-easing),
        fill var(--theme-fade-duration) var(--theme-fade-easing),
        stroke var(--theme-fade-duration) var(--theme-fade-easing) !important;
    }
    body{
      margin:0;
      min-height:100vh;
      background-color:var(--bg-deep);
      background:
        radial-gradient(circle at 20% 0%, rgba(120, 223, 255, 0.07), transparent 26%),
        radial-gradient(circle at 80% 10%, rgba(122, 169, 255, 0.06), transparent 34%),
        linear-gradient(180deg, rgba(4, 7, 9, 0.99) 0%, rgba(0, 1, 2, 1) 100%);
      color:var(--text);
      display:flex;
      flex-direction:column;
      gap:14px;
      padding:18px 18px 24px;
      position:relative;
      overflow-x:hidden;
      background-attachment:fixed;
      font-family: Eurostar Regular, sans-serif;
      font-size:1rem;
      letter-spacing:0.02em;
    }

    html::before{
      content:"";
      position:fixed; inset:0; pointer-events:none; z-index:0;
      background:
        linear-gradient(90deg, rgba(122, 169, 255, 0.04), transparent 40%, rgba(122, 169, 255, 0.03)),
        linear-gradient(180deg, rgba(255,255,255,0.03), transparent 28%);
      opacity:0.9;
      mix-blend-mode:screen;
    }
    html[data-theme="light"]::before{
      opacity:0.22;
    }

    body::before{
      content:"";
      position:fixed; inset:0; pointer-events:none; z-index:0;
      background:
        radial-gradient(circle at 15% 0%, rgba(110, 176, 255, 0.22), transparent 28%),
        radial-gradient(circle at 85% 12%, rgba(15, 93, 122, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(234,243,249,0.98) 0%, rgba(209,222,232,0.99) 100%);
      opacity:0;
    }
    html[data-theme="light"] body::before{
      opacity:1;
    }

    /* HUD scanline sweep - a slow light band drifting down the page, CRT-style */
    body::after{
      
      position:fixed; inset:0; pointer-events:none; z-index:1;
      background:linear-gradient(180deg, transparent 0%, rgba(126,245,255,0.05) 45%, rgba(126,245,255,0.09) 50%, rgba(126,245,255,0.05) 55%, transparent 100%);
      background-size:100% 220px;
      mix-blend-mode:screen;
      animation: scan-sweep 9s linear infinite;
    }
    html[data-theme="light"] body::after{ opacity:0.4 }
    html[data-theme="light"] body::after{
      background:linear-gradient(180deg, transparent 0%, rgba(15,93,122,0.035) 45%, rgba(15,93,122,0.06) 50%, rgba(15,93,122,0.035) 55%, transparent 100%);
    }

    @keyframes scan-sweep{
      0%{ background-position:0 -220px; }
      100%{ background-position:0 100vh; }
    }

    .site-header{
      display:flex; align-items:center; justify-content:space-between; gap:18px;
      max-width:1200px; width:100%; margin:0 auto;
      padding:22px 18px 14px;
      background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom));
      border:1px solid rgba(137, 189, 255, 0.22);
      clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 14px 28px rgba(0,0,0,0.24),
        0 0 0 1px rgba(122, 169, 255, 0.06);
      position:relative;
      backdrop-filter: blur(10px);
    }
    body.light .site-header{
      border-color:rgba(13, 61, 86, 0.24);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.75),
        0 14px 32px rgba(58, 88, 111, 0.14),
        0 0 0 1px rgba(255,255,255,0.45);
    }
    .site-header::after{
      content:"SECURE CHANNEL // AXION LABS";
      position:absolute; right:18px; top:10px;
      font-size:0.58rem;
      letter-spacing:0.2em;
      color:rgba(126, 245, 255, 0.8);
      text-transform:uppercase;
      opacity:0.9;
    }
    body.light .site-header::after{
      color:rgba(15, 93, 122, 0.78);
    }
    .brand{
      display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--text);
      position:relative;
      z-index:1;
    }
    .logo{
      border-radius:12px;
      background:linear-gradient(180deg, rgba(122, 169, 255, 0.10), rgba(126,245,255,0.06));
      display:grid; place-items:center;
      font-weight:900; color:var(--neon-cyan);
      border:1px solid rgba(126,245,255,0.22);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 0 12px rgba(122,169,255,0.08);
      font-size:18px;
      text-transform:uppercase;
      letter-spacing:1px;
      width:86px; height:58px; padding:6px;
    }
    .logo img{ width:100%; height:100%; object-fit:contain; grid-area:1 / 1 }
    .logo-dark,
    .logo-light{ grid-area:1 / 1 }
    .logo-light{ opacity:0 }
    body.light .logo-dark{ opacity:0 }
    body.light .logo-light{ opacity:1 }
    .brand-copy{ display:flex; flex-direction:column; gap:2px }
    .brand-title{
      font-family: Ethnocentric, "Arial Black", sans-serif;
      font-size:clamp(1.1rem, 2vw, 1.7rem);
      line-height:1.1;
      letter-spacing:0.08em;
      color:var(--neon-cyan);
      text-transform:uppercase;
      text-shadow:0 0 18px rgba(126,245,255,0.18);
      filter: drop-shadow(0 0 10px rgba(122,169,255,0.18));
    }
    .brand-meta{
      font-size:0.7rem;
      letter-spacing:0.16em;
      color:var(--muted);
      text-transform:uppercase;
    }

    .header-tools{ display:flex; align-items:center; gap:12px; position:relative; z-index:1 }
    .site-nav{display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end}

    .nav-toggle{
      display:none;
      flex-direction:column;
      justify-content:center;
      gap:5px;
      width:38px; height:34px;
      padding:0;
      border:1px solid var(--control-border);
      background:linear-gradient(180deg, var(--control-top), var(--control-bottom));
      cursor:pointer;
    }
    .nav-toggle span{
      display:block; width:18px; height:2px; margin:0 auto;
      background:var(--neon-cyan);
      transition: transform .15s ease, opacity .15s ease;
    }
    .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg) }
    .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0 }
    .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg) }
    .site-nav a{
      color:var(--text);
      text-decoration:none;
      padding:7px 10px 6px;
      border:1px solid var(--control-border);
      background:linear-gradient(180deg, var(--control-top), var(--control-bottom));
      clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
      font-weight:700;
      letter-spacing:0.12em;
      text-transform:uppercase;
      font-size:0.68rem;
      transition:all .12s ease;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 0 0 1px rgba(122,169,255,0.02);
    }
    .site-nav a:hover{
      color:var(--neon-cyan);
      border-color:rgba(122,169,255,0.5);
      transform:translateY(-1px);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 8px 16px rgba(0,0,0,0.15);
    }

    .theme-toggle{
      padding:8px 12px;
      border:1px solid var(--control-border);
      color:var(--text);
      background:linear-gradient(180deg, var(--control-top), var(--control-bottom));
      font-weight:700;
      letter-spacing:0.12em;
      text-transform:uppercase;
      cursor:pointer;
      font-size:0.66rem;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
    }
    .theme-toggle:hover{ color:var(--neon-cyan); transform:translateY(-1px) }
    .theme-toggle:disabled{ opacity:0.55; cursor:not-allowed; transform:none }

    @keyframes cinematic-fade-up{
      0%{ opacity:0; transform:translateY(18px) }
      100%{ opacity:1; transform:translateY(0) }
    }
    @keyframes cinematic-fade{
      0%{ opacity:0 }
      100%{ opacity:1 }
    }
    @keyframes typewriter-reveal{
      0%{ clip-path:inset(0 100% 0 0) }
      100%{ clip-path:inset(0 0 0 0) }
    }

    body.header-intro:not(.animations-off) .site-header{
      animation: cinematic-fade-up var(--motion-base) ease-out both;
    }
    body.header-intro:not(.animations-off) .brand-copy > *{
      animation: cinematic-fade-up var(--motion-base) ease-out both;
    }
    body.header-intro:not(.animations-off) .brand-copy > *:nth-child(1){ animation-delay: calc(var(--motion-stagger) * 1) }
    body.header-intro:not(.animations-off) .brand-copy > *:nth-child(2){ animation-delay: calc(var(--motion-stagger) * 2) }
    body.header-intro:not(.animations-off) .brand-copy > *:nth-child(3){ animation-delay: calc(var(--motion-stagger) * 3) }

    body:not(.animations-off) .hero > div,
    body:not(.animations-off) .hero > aside,
    body:not(.animations-off) .page-stack > .card,
    body:not(.animations-off) .article-page > .card,
    body:not(.animations-off) .db-grid > .card,
    body:not(.animations-off) .traits-grid > .card,
    body:not(.animations-off) .profile .card,
    body:not(.animations-off) .article-list > li{
      animation: cinematic-fade-up var(--motion-base) ease-out both;
    }
    body:not(.animations-off) .hero > div{ animation-delay: calc(var(--motion-stagger) * 2) }
    body:not(.animations-off) .hero > aside{ animation-delay: calc(var(--motion-stagger) * 4) }
    body:not(.animations-off) .features .feature,
    body:not(.animations-off) .db-grid > .card,
    body:not(.animations-off) .article-list > li,
    body:not(.animations-off) .gallery-grid figure{
      animation: cinematic-fade-up var(--motion-base) ease-out both;
    }
    body:not(.animations-off) .features .feature:nth-child(1),
    body:not(.animations-off) .db-grid > .card:nth-child(1),
    body:not(.animations-off) .article-list > li:nth-child(1),
    body:not(.animations-off) .gallery-grid figure:nth-child(1){ animation-delay: calc(var(--motion-stagger) * 2) }
    body:not(.animations-off) .features .feature:nth-child(2),
    body:not(.animations-off) .db-grid > .card:nth-child(2),
    body:not(.animations-off) .article-list > li:nth-child(2),
    body:not(.animations-off) .gallery-grid figure:nth-child(2){ animation-delay: calc(var(--motion-stagger) * 3) }
    body:not(.animations-off) .features .feature:nth-child(3),
    body:not(.animations-off) .db-grid > .card:nth-child(3),
    body:not(.animations-off) .article-list > li:nth-child(3),
    body:not(.animations-off) .gallery-grid figure:nth-child(3){ animation-delay: calc(var(--motion-stagger) * 4) }
    body:not(.animations-off) .features .feature:nth-child(4),
    body:not(.animations-off) .db-grid > .card:nth-child(4),
    body:not(.animations-off) .article-list > li:nth-child(4),
    body:not(.animations-off) .gallery-grid figure:nth-child(4){ animation-delay: calc(var(--motion-stagger) * 5) }
    body:not(.animations-off) .features .feature:nth-child(n+5),
    body:not(.animations-off) .db-grid > .card:nth-child(n+5),
    body:not(.animations-off) .article-list > li:nth-child(n+5),
    body:not(.animations-off) .gallery-grid figure:nth-child(n+5){ animation-delay: calc(var(--motion-stagger) * 6) }

    body:not(.animations-off) .card > h1,
    body:not(.animations-off) .article-header h1{
      animation:
        boot-flicker var(--motion-slow) ease-out 1 both,
        typewriter-reveal calc(var(--motion-slow) * 0.92) steps(18, end) calc(var(--motion-slow) * 0.35) 1 both;
    }
    body:not(.animations-off) p.lead{
      animation:
        cinematic-fade calc(var(--motion-base) * 0.92) ease-out both,
        typewriter-reveal calc(var(--motion-slow) * 0.72) steps(24, end) calc(var(--motion-slow) * 0.64) 1 both;
    }
    #contact-text{
      text-align:center;
      margin:auto
    }

    #contatct-title{
      justify-content:center;
    }

    main{flex:1; display:flex; align-items:flex-start; justify-content:center; padding:12px; max-width:1200px; margin:0 auto; width:100%}

    .hero{
      width:100%;
      display:grid;
      grid-template-columns:minmax(0, 1.5fr) minmax(0, 320px);
      gap:20px;
      align-items:start;
    }
    /* Grid items default to a min-width based on their content (e.g. the ticker's max-content width), which can force the whole page wider than the viewport — override so they can shrink instead */
    .hero > div, .hero > aside{ min-width:0 }

    .card{
      background:
        /* corner tick marks, HUD-panel style */
        linear-gradient(var(--corner), var(--corner)) top left / 18px 2px no-repeat,
        linear-gradient(var(--corner), var(--corner)) top left / 2px 18px no-repeat,
        linear-gradient(var(--corner), var(--corner)) top right / 18px 2px no-repeat,
        linear-gradient(var(--corner), var(--corner)) top right / 2px 18px no-repeat,
        linear-gradient(var(--corner), var(--corner)) bottom left / 18px 2px no-repeat,
        linear-gradient(var(--corner), var(--corner)) bottom left / 2px 18px no-repeat,
        linear-gradient(var(--corner), var(--corner)) bottom right / 18px 2px no-repeat,
        linear-gradient(var(--corner), var(--corner)) bottom right / 2px 18px no-repeat,
        linear-gradient(180deg, var(--card-top), var(--card-bottom));
      border:1px solid rgba(137, 189, 255, 0.18);
      padding:18px 20px 16px;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 14px 32px rgba(0,0,0,0.2),
        0 0 0 1px rgba(122, 169, 255, 0.05);
      color:var(--muted);
      position:relative;
      overflow:hidden;
      backdrop-filter: blur(8px);
    }
    body.light .card{
      border-color:rgba(13, 61, 86, 0.2);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.72),
        0 16px 36px rgba(69, 94, 109, 0.14),
        0 0 0 1px rgba(255,255,255,0.48);
    }
    .card::before{
      content:"";
      position:absolute; inset:0 auto auto 0; height:100%; width:4px; background:linear-gradient(180deg, var(--neon-cyan), var(--neon-blue));
      opacity:0.8;
    }
    .card::after{
      content:"";
      position:absolute; inset:0 0 auto auto; width:38%; height:100%;
      background:linear-gradient(90deg, rgba(122,169,255,0), rgba(122,169,255,0.04));
      pointer-events:none;
    }
    body.light .card::after{
      background:linear-gradient(90deg, rgba(41,88,158,0), rgba(41,88,158,0.05));
    }

    h1{
      margin:0 0 8px 0;
      font-family: Ethnocentric, "Arial Black", sans-serif;
      font-size:clamp(1.6rem,4vw,2.8rem);
      color:var(--neon-cyan);
      text-transform:uppercase;
      letter-spacing:0.08em;
      display:flex; align-items:center; gap:10px;
      font-weight:800;
      text-shadow:0 0 18px rgba(126,245,255,0.18), 0 2px 0 rgba(0,0,0,0.6);
      line-height:1.1;
      clip-path:inset(0 0 0 0);
    }
    @keyframes boot-flicker{
      0%{ opacity:0; text-shadow:0 0 2px rgba(126,245,255,0.9) }
      4%{ opacity:1 }
      8%{ opacity:0.3 }
      12%{ opacity:1 }
      20%{ opacity:0.5 }
      24%{ opacity:1; text-shadow:0 0 18px rgba(126,245,255,0.18), 0 2px 0 rgba(0,0,0,0.6) }
      100%{ opacity:1 }
    }

    h2{
      font-family: BOMBARD, sans-serif;
      letter-spacing:0.06em;
      text-transform:uppercase;
    }

    .cursor{
      width:10px; height:22px; background:var(--neon-blue); margin-left:6px;
      animation: blink 1.1s steps(2, start) infinite;
      box-shadow:0 0 12px rgba(122,169,255,0.3);
      border-radius:2px;
    }
    @keyframes blink{ 0%{opacity:1} 50%{opacity:0} 100%{opacity:1} }

    p{
      margin:8px 0 0;
      font-family: Eurostar Regular, sans-serif;
      color:var(--muted);
      font-size:0.98rem;
      line-height:1.45;
      max-width:64ch;
    }

    p a{ color:var(--neon-cyan); text-decoration:underline; }

    .cta{margin-top:16px; display:flex; gap:10px; flex-wrap:wrap}
    .btn{
      display:inline-block;
      padding:10px 18px;
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
      text-decoration:none;
      color:#041a25;
      background:linear-gradient(180deg, #dffcff 0%, #a3ebff 26%, #7bbdff 100%);
      font-weight:800;
      box-shadow:0 8px 18px rgba(96,165,255,0.18), inset 0 1px 0 rgba(255,255,255,0.45);
      border:1px solid rgba(7,20,31,0.25);
      transition: transform .12s ease, box-shadow .12s ease, letter-spacing .12s ease;
      letter-spacing:0.08em;
      text-transform:uppercase;
      font-size:0.72rem;
      position:relative;
      overflow:hidden;
    }
    .btn:hover{ letter-spacing:0.12em; }
    .btn::before{
      content:"";
      position:absolute; inset:0 0 auto auto; width:48%; height:100%;
      background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.15));
      pointer-events:none;
    }
    .btn:active{ transform:translateY(1px); box-shadow:0 5px 12px rgba(96,165,255,0.16) }
    .btn.secondary{
      color:var(--neon-cyan);
      background:color-mix(in srgb, var(--panel-alt) 84%, transparent);
      border:1px solid rgba(126,245,255,0.26);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
    }

    .bulletin{
      margin-top:18px; overflow:hidden; position:relative;
      border:1px solid var(--line-soft); border-radius:6px;
      background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
      -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
      mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    }
    .bulletin-track{
      display:flex; gap:40px; width:max-content; padding:12px 20px;
      animation: bulletin-scroll 26s linear infinite;
    }
    .bulletin-item{ white-space:nowrap; color:var(--muted); font-size:0.92rem }
    .bulletin-item strong{
      color:var(--neon-yellow); letter-spacing:0.08em; text-transform:uppercase;
      text-shadow:0 1px 0 rgba(0,0,0,0.6); font-size:0.76rem; margin-right:8px;
    }
    @keyframes bulletin-scroll{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }

    aside .card{padding:16px}
    aside .card h2{
      color:var(--neon-blue);
      margin:0 0 8px 0;
      font-size:1rem;
      letter-spacing:0.14em;
      text-transform:uppercase;
    }
    .status-row{
      display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:4px 10px;
      padding:8px 0; border-bottom:1px solid var(--line-soft);
    }
    .status-label{ color:var(--muted); font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase }
    .status-clock{ color:var(--neon-cyan); font-variant-numeric:tabular-nums; font-weight:700 }
    .status-value{ color:var(--text); font-weight:700 }
    .status-updates{ margin-top:12px }
    .status-updates ul{ list-style:none; margin:8px 0 0; padding:0 }
    .status-updates li{ padding:6px 0; border-bottom:1px solid var(--line-soft) }
    .status-updates li:last-child{ border-bottom:none }
    .status-updates a{ color:var(--neon-cyan); text-decoration:none; display:block; font-size:0.9rem; overflow-wrap:anywhere }
    .status-updates a:hover{ text-decoration:underline }
    .status-updates time{ display:block; color:var(--muted); font-size:0.76rem; margin-top:2px }

    footer{
      max-width:1200px; width:100%; margin:0 auto; display:flex; justify-content:space-between; align-items:center;
      color:var(--muted); font-size:0.8rem; padding:10px 18px 0; border-top:1px solid var(--line-soft); letter-spacing:0.12em; text-transform:uppercase;
    }

    /* mobile responsiveness */
    @media (max-width:880px){
      .hero{ grid-template-columns:minmax(0, 1fr); }
      .logo{ width:48px; height:48px; font-size:16px }
      .site-header{ gap:8px; flex-wrap:wrap }
      .header-tools{ width:100%; justify-content:space-between }
      .nav-toggle{ display:flex; order:1 }
      .theme-toggle{ order:2 }
      .site-nav{
        width:100%; order:3; justify-content:flex-start;
        max-height:0; overflow:hidden;
        transition: max-height .18s ease;
      }
      .site-nav.nav-open{ max-height:120px; margin-top:8px }
      .card{ padding:14px }
      .cta{ justify-content:flex-start }
    }

    /* accessibility: focus style visible but thematic */
    a:focus, button:focus{
      outline:3px solid var(--neon-cyan, #39ffea);
      outline-offset:3px;
      box-shadow:0 8px 24px rgba(57,255,234,0.06);
    }

    /* Visually hidden but available to screen readers */
    .sr-only{
      position:absolute;
      width:1px; height:1px;
      padding:0; margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      white-space:nowrap;
      border:0;
    }

    /* Skip link: hidden until focused, then jumps keyboard/screen-reader users past the header */
    .skip-link{
      position:absolute;
      top:-100%;
      left:12px;
      z-index:1000;
      background:var(--panel-head, #12202a);
      color:var(--text, #e8fbff);
      border:2px solid var(--neon-cyan, #39ffea);
      border-radius:6px;
      padding:10px 16px;
      text-decoration:none;
      font-weight:700;
    }
    .skip-link:focus{
      top:12px;
    }

    /* Database page */
    .db-shell{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:16px; align-items:start }
    .db-shell > h1,
    .db-shell > .lead{ grid-column:1 / -1 }
    .db-shell > h1{ margin-bottom:4px }
    .db-shell > .lead{ margin:2px 0 6px; font-size:0.94rem; line-height:1.35 }
    .db-pane-nav{ display:flex; flex-direction:column; gap:8px; position:sticky; top:14px }
    .db-tab{
      padding:9px 12px;
      border:1px solid var(--control-border);
      background:linear-gradient(180deg, var(--control-top), var(--control-bottom));
      color:var(--muted);
      text-transform:uppercase;
      letter-spacing:0.08em;
      font-size:0.72rem;
      font-family:BOMBARD, sans-serif;
      font-weight:700;
      text-align:left;
      cursor:pointer;
      clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
      transition: color .24s ease, border-color .24s ease, box-shadow .24s ease, background .24s ease;
    }
    .db-tab[aria-selected="true"]{
      color:var(--neon-cyan);
      border-color:rgba(122,169,255,0.55);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 0 0 1px rgba(122,169,255,0.10);
    }
    .db-tab:hover{ color:var(--text) }
    .db-tab:focus-visible{ outline:2px solid var(--line); outline-offset:2px }
    .db-pane-right{ display:flex; flex-direction:column; gap:12px; min-width:0 }
    .db-panels{ min-width:0 }
    .db-panel{ margin:0 }
    .db-panel.db-panel-active{ animation: db-panel-enter .52s cubic-bezier(0.2, 0.72, 0.2, 1) both }
    .db-panel[hidden]{ display:none }
    @keyframes db-panel-enter{
      0%{ opacity:0; transform:translateY(-6px) }
      100%{ opacity:1; transform:translateY(0) }
    }
    .db-grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); margin-top:14px }
    .card.compact{ padding:14px }
    .db-legend{ grid-column:1 / -1; margin-top:2px }
    .db-legend-list{ display:flex; flex-wrap:wrap; gap:8px 20px; margin:8px 0 0; padding:0; list-style:none }
    .db-legend-item{ color:var(--muted) }
    .db-legend-swatch{ font-weight:700; padding:1px 8px; border-radius:6px }
    .db-legend-cyan{ color:var(--neon-cyan) }
    .db-legend-red{ color:var(--neon-red) }
    .db-legend-orange{ color:var(--neon-orange) }
    /* Light mode neon colors are darkened for contrast, so give the legend swatches a tinted chip + deeper hue to keep them from washing out */
    body.light .db-legend-cyan{ color:#0a6b86; background:rgba(10,107,134,0.14) }
    body.light .db-legend-red{ color:#a3242c; background:rgba(163,36,44,0.14) }
    body.light .db-legend-orange{ color:#a85c00; background:rgba(168,92,0,0.14) }
    .db-list{ margin:6px 0 0 18px; padding:0; color:var(--muted) }
    .db-list a{ color:var(--neon-cyan); text-decoration:none }
    .db-list a.active{ color:var(--neon-cyan) }
    .db-list a.inactive{ color:var(--neon-red) }
    .db-list a:hover{ text-decoration:underline }
    .db-content-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; margin-top:8px }
    .db-content-column{ display:flex; flex-direction:column; gap:12px }
    .db-group{ margin:0 }
    .db-sublist{ margin-top:4px }
    .db-section-title{
      margin:0;
      padding-bottom:4px;
      border-bottom:1px solid var(--line-soft);
      color:var(--neon-yellow);
      font-size:0.78rem;
      letter-spacing:0.08em;
      text-transform:uppercase;
      font-family:BOMBARD, sans-serif;
    }
    .db-group-note{ margin:6px 0 0; color:var(--muted); font-size:0.86rem }
    .db-divider{ list-style:none; margin:10px 0 }
    .db-divider hr{ border:none; border-top:1px dashed var(--line-soft); margin:0 }
    .db-title-yellow{ margin:0 0 8px 0; color:var(--neon-yellow) }
    .db-title-green{ margin:0 0 8px 0; color:var(--neon-green) }
    .db-title-pink{ margin:0 0 8px 0; color:var(--neon-green) }
    .db-title-cyan{ margin:0 0 8px 0; color:var(--neon-cyan) }
    .db-title-blue{ margin:0 0 8px 0; color:var(--neon-blue) }
    .db-title-red{ margin:0 0 8px 0; color:var(--neon-red) }
    
    /* Personnel / entity profile header */
    .profile-header{ display:flex; flex-direction:column; margin-bottom:12px }
    .profile-name{
      margin:0; font-family:Ethnocentric, "Arial Black", sans-serif;
      font-size:clamp(1.6rem,4vw,2.8rem); color:var(--neon-cyan); text-transform:uppercase;
    }
    .profile-nickname{ margin:2px 0 0; font-size:1.1rem; font-weight:700; color:var(--neon-green) }

    /* Personnel profile */
    .profile{
      display:flex; gap:24px; align-items:flex-start;
      margin-top:14px; padding:20px; border-top:1px solid var(--line-soft);
    }
    @media (max-width:700px){ .profile{ flex-direction:column; align-items:center } }
    .profile-media{
      width:160px; max-width:160px; flex:0 0 auto;
      display:flex; flex-direction:column; align-items:center; gap:8px;
    }
    .avatar{ width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:6px; border:1px solid rgba(255,255,255,0.06) }
    .profile-id{
      color:var(--muted); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em;
      white-space:nowrap;
    }
    .stat-grid{
      flex:1; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px;
      width:100%;
    }
    @media (max-width:480px){ .stat-grid{ grid-template-columns:1fr } }
    .stat-cell{
      background:var(--stat-cell); border-left:2px solid var(--neon-cyan); border-radius:2px;
      padding:8px 12px;
    }
    .stat-cell.span-2{ grid-column:1 / -1 }
    .stat-label{
      display:block; color:var(--muted); font-size:0.68rem;
      text-transform:uppercase; letter-spacing:0.06em;
    }
    .stat-label .info-icon{ margin-right:6px }
    .stat-value{ display:block; margin-top:2px; color:var(--text); font-size:0.92rem }
    .stat-value a{ color:var(--neon-cyan); text-decoration:underline }

    /* Traits */
    .traits-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:16px; margin-top:16px }
    .trait-list{ margin:8px 0 0 18px; color:var(--muted) }

    /* Contact / social links */
    .contact-avatar-wrap{ display:flex; justify-content:center; margin-bottom:6px }
    .contact-avatar{
      width:140px; height:140px; border-radius:50%; object-fit:cover;
      border:3px solid var(--line-soft); box-shadow:0 8px 20px rgba(0,0,0,0.3);
      background:var(--panel-alt);
    }
    .contact-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(130px,1fr)); gap:12px; margin-top:14px }
    .contact-card{
      display:flex; flex-direction:column; align-items:center; gap:8px;
      padding:16px 10px; text-decoration:none; color:var(--text);
      background:linear-gradient(180deg, var(--card-top), var(--card-bottom));
      border:1px solid var(--control-border); border-radius:8px;
      transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
    }
    .contact-card:hover, .contact-card:focus-visible{
      transform:translateY(-3px); border-color:var(--neon-cyan);
      box-shadow:0 10px 20px rgba(0,0,0,0.25);
    }
    /* Brand SVGs are single-color paths; render them via mask so they always match the theme */
    .contact-icon{
      display:inline-block; width:28px; height:28px; background-color:var(--muted);
      -webkit-mask-image:var(--icon-src); mask-image:var(--icon-src);
      -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
      -webkit-mask-position:center; mask-position:center;
      -webkit-mask-size:contain; mask-size:contain;
      transition: background-color .15s ease;
    }
    .contact-label{ font-weight:700; letter-spacing:0.04em; text-transform:uppercase; font-size:0.78rem; color:var(--muted) }
    .contact-card:hover .contact-icon, .contact-card:focus-visible .contact-icon{ background-color:var(--neon-cyan) }
    .contact-card:hover .contact-label, .contact-card:focus-visible .contact-label{ color:var(--neon-cyan) }
    .contact-grid-primary .contact-card{ padding:22px 14px }
    .contact-grid-primary .contact-icon{ width:36px; height:36px }

    /* Gallery */
    .gallery-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:16px; margin-top:8px }
    .gallery-grid figure{ margin:0 }
    .gallery-grid img{ width:100%; 
      aspect-ratio:1/1;
      height: auto; 
      object-fit:cover; 
      border-radius:6px; 
      border:1px solid rgba(255,255,255,0.06); 
      image-rendering: pixelated; 
      
      }
    .gallery-grid figcaption{ color:var(--muted); font-size:0.86rem; margin-top:6px }

    /* Page stack wrapper (centers and stacks sections) */
    .page-stack{ display:flex; flex-direction:column; gap:16px; width:100%; max-width:820px }

    /* Article archive and reading view */
    .article-archive, .article-page{ width:100%; max-width:820px }
    .article-list{ list-style:none; margin:18px 0 0; padding:0 }
    .article-list > li + li{ border-top:1px dashed rgba(255,255,255,0.12); margin-top:18px; padding-top:18px }
    .article-preview h2{ margin:4px 0 0; font-size:1.3rem }
    .article-preview h2 a, .article-return a{ color:var(--neon-cyan); text-decoration:none }
    .article-preview h2 a:hover, .article-return a:hover{ text-decoration:underline }
    .article-meta{ display:flex; flex-wrap:wrap; gap:8px 14px; margin:0; color:var(--neon-yellow); font-size:0.82rem; text-transform:uppercase }
    .article-meta time{ color:var(--muted) }
    .article-byline, .article-updated{ font-size:0.88rem }
    .article-empty{ margin-top:18px }
    .article-page{ display:flex; flex-direction:column; gap:16px }
    .article-header h1{ margin-top:8px }
    .article-description{ color:var(--text); font-size:1.06rem; max-width:68ch }
    .article-body{ color:var(--text); line-height:1.7 }
    .article-body > :first-child{ margin-top:0 }
    .article-body > :last-child{ margin-bottom:0 }
    .article-body h2, .article-body h3, .article-body h4{ color:var(--neon-cyan); line-height:1.2; margin:2rem 0 0.75rem }
    .article-body h2{ font-size:1.6rem }
    .article-body h3{ color:var(--neon-yellow); font-size:1.25rem }
    .article-body p, .article-body li{ color:var(--text); max-width:100% }
    .article-body ul, .article-body ol{ padding-left:1.5rem }
    .article-body a{ color:var(--neon-cyan) }
    .article-body blockquote{ border-left:3px solid var(--neon-green); color:var(--muted); margin:1.5rem 0; padding-left:1rem }
    .article-body blockquote p{ color:var(--muted) }
    .article-body img{ border:1px solid rgba(255,255,255,0.12); border-radius:6px; display:block; height:auto; margin:1.5rem auto; max-width:100% }
    .article-body pre{ max-width:100%; overflow-x:auto }
    .article-return{ padding:0 18px }
    @media (max-width:700px){
      .db-shell{ grid-template-columns:1fr; gap:12px }
      .db-pane-nav{
        position:static;
        flex-direction:row;
        overflow-x:auto;
        overscroll-behavior-x:contain;
        padding-bottom:4px;
      }
      .db-tab{ flex:0 0 auto; white-space:nowrap }
      .db-content-grid{ grid-template-columns:1fr; gap:12px }
      .article-meta{ gap:4px 10px }
      .article-body{ line-height:1.6 }
      .article-return{ padding:0 4px }
    }

    /* Utility: force nearest-neighbor/pixelated rendering */
    .pixelart-profile{
      image-rendering: pixelated;
      image-rendering: -moz-crisp-edges;
      image-rendering: crisp-edges;
      width: 100% !important;
      height: auto !important;
      aspect-ratio: 3/4 !important;
      object-fit: cover !important;
      display: block;
      border:2px solid var(--line-soft);
      border-radius:10px;
      box-shadow:0 8px 20px rgba(0,0,0,0.25);
      background:var(--panel-alt);
      }

    /* Reduce motion when requested */
    @media (prefers-reduced-motion: reduce){
      html.theme-switching::before,
      body.theme-switching,
      body.theme-switching::before,
      body.theme-switching::after,
      body.theme-switching *,
      body.theme-switching *::before,
      body.theme-switching *::after{ transition:none !important }
      *{ animation:none !important }
      body::after{ animation: none }
      h1{ animation: none; opacity:1 }
      .cursor{ animation: none }
    }

    body.animations-off .site-header,
    body.animations-off .brand-copy > *,
    body.animations-off .hero > div,
    body.animations-off .hero > aside,
    body.animations-off .page-stack > .card,
    body.animations-off .article-page > .card,
    body.animations-off .db-grid > .card,
    body.animations-off .traits-grid > .card,
    body.animations-off .profile .card,
    body.animations-off .article-list > li,
    body.animations-off .features .feature,
    body.animations-off .bulletin-track,
    body.animations-off .gallery-grid figure,
    body.animations-off .db-panel.db-panel-active,
    body.animations-off .card > h1,
    body.animations-off .article-header h1,
    body.animations-off p.lead,
    body.animations-off .cursor{
      animation:none !important;
      clip-path:inset(0 0 0 0);
      opacity:1;
      transform:none;
    }
    body.animations-off .db-tab,
    body.animations-off .db-panel{
      transition:none !important;
    }
    body.animations-off::after{
      animation:none !important;
    }

    /* Firefox-specific performance tweaks */
    @supports (-moz-appearance: none){
      body { background-attachment: scroll; }
      html::before { position:absolute; mix-blend-mode: normal; opacity:0.25; }
      body::before { position:absolute; }
      body::after  { position:absolute; animation:none; }
      .card{ backdrop-filter: none }
    }

    /* Lightbox (image modal) */
    .lightbox-overlay{ position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:24px;
      background: rgba(0,0,0,0.72);
      backdrop-filter: blur(2px);
    }
    .lightbox-overlay[hidden]{ display:none }
    .lightbox-content{ position:relative; max-width:92vw; max-height:92vh }
    .lightbox-img{ max-width:92vw; max-height:92vh; width:auto; height:auto; background:#000; border-radius:8px;
      border:2px solid rgba(57,255,234,0.12);
      box-shadow: 0 20px 80px rgba(0,0,0,0.6), 0 0 36px rgba(57,255,234,0.08);
      image-rendering: pixelated;
    }
    .lightbox-close{ position:absolute; top:-20px; right:-40px; width:36px; height:36px; border-radius:50%; cursor:pointer;
      border:2px solid rgba(255,255,255,0.12);
      background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(0,0,0,0.4));
      color:var(--text); display:grid; place-items:center; font-size:20px; line-height:1;
      box-shadow:0 10px 30px rgba(0,0,0,0.4);
    }
    .lightbox-close:hover{ color:var(--neon-green); border-color: rgba(255,77,210,0.3) }

    /* Hover tooltips: {{visible|tooltip}} syntax in markdown, or via parseHoverSegments() for frontmatter fields */
    .hover-tooltip{
      position:relative;
      cursor:help;
      border-bottom:1px dotted rgba(57,255,234,0.6);
    }
    .hover-tooltip::after{
      content: attr(data-tooltip);
      position:absolute;
      left:50%;
      bottom:calc(100% + 8px);
      transform:translateX(-50%) translateY(4px);
      background: var(--panel-head, #12202a);
      color:var(--text, #e8fbff);
      border:1px solid rgba(57,255,234,0.35);
      border-radius:6px;
      padding:6px 10px;
      white-space:nowrap;
      font-size:0.85em;
      box-shadow:0 10px 30px rgba(0,0,0,0.4);
      opacity:0;
      pointer-events:none;
      transition:opacity .18s ease, transform .18s ease;
      z-index:20;
    }
    .hover-tooltip:hover::after,
    .hover-tooltip:focus::after{
      opacity:1;
      transform:translateX(-50%) translateY(0);
    }
    .error-screen {
    position: relative;
    min-height: min(62vh, 620px);
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    background:
      linear-gradient(90deg, transparent 49.8%, rgba(126, 245, 255, 0.08) 50%, transparent 50.2%),
      linear-gradient(180deg, var(--surface-top), var(--surface-bottom));
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28), inset 0 0 55px rgba(126, 245, 255, 0.04);
  }

  .error-content {
    position: relative;
    z-index: 1;
    width: min(100% - 40px, 700px);
    padding: 48px 24px;
    text-align: center;
  }

  .error-kicker {
    margin: auto;
    color: var(--neon-cyan);
    font-family: BOMBARD, monospace;
    font-size: clamp(0.72rem, 2vw, 0.95rem);
    letter-spacing: 0.12em;
    padding: 0 0 20px;
  }

  .error-code {
    color: transparent;
    font-family: Ethnocentric, sans-serif;
    font-size: clamp(5rem, 18vw, 11rem);
    line-height: 0.9;
    letter-spacing: 0.04em;
    -webkit-text-stroke: 1px var(--neon-cyan);
    text-shadow: 5px 0 var(--neon-cyan), -5px 0 rgba(122, 169, 255, 0.45);
    animation: error-flicker 4s steps(1, end) infinite;
  }

  .error-content h1 {
    justify-content: center;
    margin: 24px 0 12px;
    color: var(--text);
    font-family: Ethnocentric, sans-serif;
    font-size: clamp(1.2rem, 4vw, 2rem);
    text-align: center;
  }

  .error-message {
    max-width: 560px;
    margin: 0 auto;
    color: var(--muted);
    line-height: 1.7;
  }

  .error-status {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 26px auto 0;
    color: var(--neon-cyan);
    font-family: BOMBARD, monospace;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
  }

  .error-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--neon-cyan);
    box-shadow: 0 0 12px var(--neon-cyan);
  }

  .error-status-divider {
    color: var(--neon-green);
  }

  .error-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
  }

  .error-corner {
    position: absolute;
    width: 90px;
    height: 90px;
    border-color: var(--neon-cyan);
    border-style: solid;
    opacity: 0.65;
  }

  .error-corner-top {
    top: 18px;
    right: 18px;
    border-width: 1px 1px 0 0;
  }

  .error-corner-bottom {
    bottom: 18px;
    left: 18px;
    border-width: 0 0 1px 1px;
  }

  .error-scanlines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: repeating-linear-gradient(
      0deg,
      transparent 0,
      transparent 5px,
      rgba(126, 245, 255, 0.025) 6px,
      transparent 7px
    );
  }

  @keyframes error-flicker {
    0%, 92%, 100% { opacity: 1; }
    93% { opacity: 0.45; }
    94% { opacity: 1; }
    97% { opacity: 0.7; }
  }

  @media (max-width: 520px) {
    .error-screen {
      min-height: 64vh;
    }

    .error-content {
      width: min(100% - 24px, 700px);
      padding: 32px 12px;
    }

    .error-status-divider {
      display: none;
    }

    .error-status {
      flex-direction: column;
      gap: 6px;
    }

    .error-actions {
      align-items: stretch;
      flex-direction: column;
      margin-inline: 18px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .error-code {
      animation: none;
    }
  }
