/* Cyberdelia front-door federation pass
   Approved doctrine: dark neutral building, restrained signal neon, different rooms.
   The homepage should feel occupied, not skinned with one generic cyberpunk palette. */

/* ---------- BASE WORLD ---------- */
body{
  background:
    radial-gradient(circle at 80% 0,rgba(92,64,138,.09),transparent 34rem),
    radial-gradient(circle at 0 42%,rgba(38,92,100,.045),transparent 30rem),
    linear-gradient(180deg,#05070d,#07090f 48%,#05070d);
}

.site-header{
  background:rgba(3,5,9,.94);
  border-bottom-color:rgba(184,198,222,.12);
  box-shadow:0 8px 32px rgba(0,0,0,.22);
}

/* Header mark: never build this with JS. Pure-vector asset, silent failure rather than broken-img chrome. */
.site-header .brand-mark{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  display:block!important;
  border:0!important;
  clip-path:none!important;
  box-shadow:none!important;
  padding:0!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
  background:url('/assets/cyberdelia-round-logo-20260919.svg') center/contain no-repeat!important;
}

/* ---------- FRONT DOOR / NEON NOIR ---------- */
.hero.hero-photo{
  background:
    radial-gradient(circle at 72% 20%,rgba(131,94,192,.13),transparent 24rem),
    radial-gradient(circle at 20% 88%,rgba(64,174,183,.04),transparent 24rem),
    linear-gradient(90deg,rgba(3,5,10,.985) 0%,rgba(3,5,10,.91) 39%,rgba(5,7,14,.64) 72%,rgba(4,5,11,.74) 100%),
    url('/assets/cyberdelia-city.svg') center/cover no-repeat!important;
}
.hero.hero-photo .eyebrow{color:#9dd9dc}
.hero.hero-photo .signal-dot{background:#71dce2;box-shadow:0 0 16px rgba(113,220,226,.55)}
.hero.hero-photo .terminal-card{
  border-color:rgba(105,198,205,.21);
  background:linear-gradient(180deg,rgba(4,10,17,.965),rgba(7,7,15,.93));
}
.hero.hero-photo .terminal-head{border-bottom-color:rgba(105,198,205,.12)}
.hero.hero-photo .cyan{color:#78dfe5}
.signal-strip{background:linear-gradient(90deg,rgba(86,168,174,.025),rgba(118,87,157,.018))}

/* ---------- TECHNICAL CHANNELS / INDUSTRIAL BLUEPRINT ---------- */
#channels{
  background:
    linear-gradient(rgba(114,216,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(114,216,255,.026) 1px,transparent 1px),
    radial-gradient(circle at 86% 0,rgba(77,154,189,.065),transparent 30rem),
    #06101a;
  background-size:28px 28px,28px 28px,auto,auto;
}
#channels .eyebrow,#channels .visual-card span{color:#77cce9}
#channels .section-head>p{color:#9fb8c6}
#channels .visual-card{
  border-color:rgba(114,216,255,.16);
  background:linear-gradient(180deg,rgba(10,29,45,.84),rgba(5,12,20,.97));
  box-shadow:inset 0 1px rgba(255,255,255,.015);
}
#channels .visual-card:hover{border-color:rgba(114,216,255,.42)}
#channels .visual-card img{filter:saturate(.82) contrast(1.05)}

/* ---------- GAMES & THEORY / DARK ZINE + OLD PRINT ---------- */
.gtt-feature{
  background:
    repeating-linear-gradient(4deg,rgba(230,218,194,.012) 0 1px,transparent 1px 5px),
    radial-gradient(circle at 10% 22%,rgba(117,28,48,.15),transparent 28rem),
    linear-gradient(135deg,#120d12,#08090f 58%,#0b0c11);
}
.gtt-feature .eyebrow{color:#cbae7a}
.gtt-feature h2{color:#f0ece4}
.gtt-feature p{color:#b9b1ad}
.gtt-feature blockquote{
  border-left-color:#924052!important;
  background:rgba(146,64,82,.075)!important;
  color:#eaded9!important;
}
.gtt-cover{
  border-color:rgba(202,171,113,.25)!important;
  background:
    radial-gradient(circle at 72% 18%,rgba(118,36,68,.25),transparent 35%),
    linear-gradient(145deg,#100c13,#180d18 64%,#080d11)!important;
}
.gtt-cover:before{border-color:rgba(202,171,113,.12)!important}
.gtt-cover small{color:#d0b270!important}
.gtt-cover .giant-index{color:rgba(227,215,194,.055)!important}

/* ---------- WORKSHOP / STEEL + OXIDIZED COPPER + BOTANICAL GREEN ---------- */
.art-workshop{
  background-image:
    linear-gradient(105deg,rgba(19,38,33,.14),rgba(75,48,27,.08)),
    url('/assets/cyberdelia-city.svg')!important;
}
.art-workshop:before{
  background:linear-gradient(180deg,rgba(4,8,8,.13),rgba(7,12,11,.38) 45%,rgba(5,9,9,.965))!important;
}
.art-workshop .eyebrow{color:#86c29a}
.art-workshop h2{color:#edf2e9}
.art-workshop p:not(.eyebrow){color:#c0cbc2}

/* ---------- DISPATCHES / BLACK LACQUER + WARM EDITORIAL INTERRUPTION ---------- */
.section-glow:has(a[href='/dispatches.html#why']){
  background:
    linear-gradient(120deg,rgba(123,76,34,.065),transparent 40%),
    radial-gradient(circle at 100% 0,rgba(137,47,70,.075),transparent 25rem),
    #0c0b0d;
}
.section-glow:has(a[href='/dispatches.html#why']) .eyebrow{color:#cda667}
.section-glow:has(a[href='/dispatches.html#why']) .dispatch-card{
  border-color:rgba(198,160,96,.14);
  background:linear-gradient(145deg,rgba(24,19,18,.96),rgba(11,10,13,.985));
}
.section-glow:has(a[href='/dispatches.html#why']) .dispatch-card span{color:#d2a55e}
.section-glow:has(a[href='/dispatches.html#why']) .dispatch-card b{color:#b55e73}
.section-glow:has(a[href='/dispatches.html#why']) .dispatch-card:before{border-color:rgba(181,94,115,.17)}

/* ---------- ARCHIVE / COLD STORAGE INDEX ---------- */
.section:has(a[href='/archive.html']):not(.gtt-feature){
  background:
    linear-gradient(90deg,rgba(4,11,18,.97) 0%,rgba(4,11,18,.92) 55%,rgba(4,11,18,.48) 100%),
    linear-gradient(rgba(94,180,218,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(94,180,218,.018) 1px,transparent 1px),
    url('/assets/archive-room.svg') right center/48% auto no-repeat,
    #040b12;
}
.section:has(a[href='/archive.html']):not(.gtt-feature) .eyebrow,
.section:has(a[href='/archive.html']):not(.gtt-feature) .dispatch-card span{color:#77cce9}
.section:has(a[href='/archive.html']):not(.gtt-feature) .section-head>p{color:#8fa7b6}
.section:has(a[href='/archive.html']):not(.gtt-feature) .dispatch-card{
  border-color:rgba(94,180,218,.16);
  background:linear-gradient(145deg,rgba(6,18,29,.94),rgba(3,9,15,.98));
}
.section:has(a[href='/archive.html']):not(.gtt-feature) .dispatch-card b{color:#e4b867}

/* ---------- FIELD OPS / ENGINEERING PAPER + OXIDIZED METAL ---------- */
.section-glow:has(a[href='/field-notes.html']){
  background:
    linear-gradient(90deg,rgba(7,16,15,.97),rgba(7,16,15,.91) 58%,rgba(7,16,15,.62)),
    linear-gradient(rgba(108,176,160,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(108,176,160,.018) 1px,transparent 1px),
    url('/assets/ai.svg') right 8% center/22rem auto no-repeat,
    #07100f;
}
.section-glow:has(a[href='/field-notes.html']) .eyebrow{color:#78baa4}
.section-glow:has(a[href='/field-notes.html']) .dispatch-card{
  border-color:rgba(120,186,164,.13);
  background:linear-gradient(145deg,rgba(9,23,19,.95),rgba(5,11,10,.985));
}
.section-glow:has(a[href='/field-notes.html']) .dispatch-card span{color:#7ec2ab}
.section-glow:has(a[href='/field-notes.html']) .dispatch-card b{color:#bc8757}

/* ---------- MIDNIGHT / PHOSPHOR + AMBER ---------- */
.midnight-body{
  background:
    linear-gradient(90deg,rgba(3,8,11,.98),rgba(5,8,7,.93) 54%,rgba(9,7,5,.63)),
    radial-gradient(circle at 8% 0,rgba(113,176,92,.055),transparent 24rem),
    url('/assets/cyberdelia-board-bg.svg') right center/46% auto no-repeat,
    linear-gradient(135deg,#03080b,#050807 58%,#090705)!important;
}
.midnight-body .ops-kicker{color:#8ed66d!important}
.midnight-body .ops-card{box-shadow:inset 0 1px rgba(255,255,255,.012)}

/* ---------- OLD NET / ARCHIVE CRT ---------- */
.retro-net{
  background:
    linear-gradient(90deg,rgba(2,6,3,.98),rgba(2,6,3,.91) 60%,rgba(2,6,3,.62)),
    repeating-linear-gradient(0deg,rgba(95,198,106,.014) 0,rgba(95,198,106,.014) 1px,transparent 1px,transparent 4px),
    url('/assets/cyberdelia-bar.svg') right center/44% auto no-repeat,
    #020603!important;
}
.retro-net .eyebrow{color:#7dbf6f}
.retro-panel{border-color:rgba(145,210,83,.22)!important}

/* ---------- LAB / CLEAN SIGNAL + INSTRUMENT BLUE ---------- */
.lab-surface{
  background:
    linear-gradient(90deg,rgba(8,11,16,.98),rgba(8,11,16,.92) 58%,rgba(8,11,16,.60)),
    linear-gradient(rgba(118,150,181,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(118,150,181,.018) 1px,transparent 1px),
    url('/assets/ai.svg') right 7% center/20rem auto no-repeat,
    #080b10!important;
}
.lab-surface .eyebrow{color:#9db7cb}
.lab-surface .lab-window{border-color:rgba(165,188,207,.12);background:rgba(12,16,21,.72)}
.lab-surface .lab-window div{border-bottom-color:rgba(165,188,207,.1)}
.lab-surface .lab-window span{color:#a9c8de;border-right-color:rgba(165,188,207,.1)}

/* ---------- SIGNAL ORIGIN / OBSIDIAN + BONE + ARCHIVAL INK ---------- */
.origin-surface{
  background:
    linear-gradient(90deg,rgba(9,9,11,.98),rgba(9,9,11,.92) 58%,rgba(9,9,11,.58)),
    repeating-linear-gradient(7deg,rgba(235,230,216,.009) 0 1px,transparent 1px 5px),
    url('/assets/cyberdelia-logo-official.svg') right 8% center/18rem auto no-repeat,
    #09090b!important;
}
.origin-surface .eyebrow{color:#aaa59d}
.origin-surface h2{color:#f0ede6}
.origin-surface p{color:#b8b3aa}

/* Lower-page sections intentionally carry different image signatures so the page does not visually collapse after the reporting grids. */
.section:has(a[href='/archive.html']):not(.gtt-feature),
.section-glow:has(a[href='/field-notes.html']),
.midnight-body,
.retro-net,
.lab-surface,
.origin-surface{
  background-attachment:scroll;
  background-blend-mode:normal;
}

/* Homepage News Desk cards carry story-specific editorial media. */
#front-changelog .dispatch-card{padding:0 0 1.45rem}
#front-changelog .dispatch-card-media{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#05070d;
  border-bottom:1px solid var(--line);
}
#front-changelog .dispatch-card>span,
#front-changelog .dispatch-card>h3,
#front-changelog .dispatch-card>p,
#front-changelog .dispatch-card>.dispatch-byline{margin-left:1.45rem;margin-right:1.45rem}
#front-changelog .dispatch-card>span{margin-top:1.15rem}
#front-changelog .dispatch-card:before{z-index:1;pointer-events:none}
#front-changelog .dispatch-card-media,
#front-changelog .dispatch-card>span,
#front-changelog .dispatch-card>h3,
#front-changelog .dispatch-card>p,
#front-changelog .dispatch-card>.dispatch-byline{position:relative;z-index:2}

/* Shared cards should not all glow cyan by default. */
.dispatch-card:hover{transform:translateY(-2px)}

@media(max-width:760px){
  .site-header .brand-mark{width:36px!important;height:36px!important;flex-basis:36px!important}
  #channels{background-size:24px 24px,24px 24px,auto,auto}
  .section:has(a[href='/archive.html']):not(.gtt-feature),
  .section-glow:has(a[href='/field-notes.html']),
  .midnight-body,
  .retro-net,
  .lab-surface,
  .origin-surface{
    background-size:auto,auto,auto,15rem auto,auto!important;
    background-position:center,right center,right center,right -6rem bottom 1rem,center!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .dispatch-card:hover{transform:none}
}
