@import url('/assets/arg/book1-device-unification.css?v=hardware87-20260905a');

/* FOREVER:NEON // BOOK ONE SITE RESKIN // FN/B1 HARDWARE STANDARD 87
   Presentation only. No mission/progression/state authority. The stylesheet
   changes existing controls and readouts into period hardware. It never adds
   a fake control or invents a reading. */

:root{
  --b1-case:#4c4a42;
  --b1-case-hi:#68685e;
  --b1-face:#151813;
  --b1-face2:#0b0d0a;
  --b1-seam:#747566;
  --b1-paper:#d4c9aa;
  --b1-paper-ink:#28261f;
  --b1-phosphor:#a8d49b;
  --b1-amber:#e4c37b;
  --b1-warning:#a95642;
  --b1-brass:#9d8657;
  --b1-shadow:0 22px 56px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.08);
}

/* The homepage is deliberately identified by its unique composition instead
   of a generic .hero class. Mission pages and faction portals also use .hero,
   and should not wake up one morning dressed as the marketing homepage. */
body:has(#dashboardMessage),
body:has(.freeze),
body:has(.fn-compendium-shell),
body:has(.hero-grid):has(.books-grid):has(.freq-section){
  background:radial-gradient(circle at 50% 0,#25281f 0,#0d0f0c 48%,#050604 100%)!important;
  color:#ded6bf!important;
}
body:has(.hero-grid):has(.books-grid):has(.freq-section)::before{display:none!important}

body:has(#dashboardMessage) .card,
body:has(.freeze) .panel,
body:has(.fn-compendium-shell) .fn-compendium-shell{
  border:1px solid #151611!important;
  border-radius:2px!important;
  background:linear-gradient(145deg,var(--b1-case-hi),var(--b1-case) 20%,#31332d 82%)!important;
  box-shadow:var(--b1-shadow),inset 0 0 0 3px #33352f!important;
}

/* Existing links/buttons become hard keys. No element is made to look like a
   control unless it was already a real link/button/input. */
body:has(#dashboardMessage) :is(.btn,.op-card),
body:has(.freeze) :is(.btn,.card a.btn),
body:has(.fn-compendium-shell) a.fn-dossier-block,
body:has(.hero-grid):has(.books-grid):has(.freq-section) :is(.btn,.navlinks a){
  border-radius:1px!important;
}
body:has(#dashboardMessage) .btn,
body:has(.freeze) .btn,
body:has(.hero-grid):has(.books-grid):has(.freq-section) .btn{
  border:1px solid #1d1e19!important;
  border-top-color:#817d6e!important;
  background:linear-gradient(#565248,#2d2d28)!important;
  color:#eee1bc!important;
  box-shadow:0 3px 0 #11120f,inset 0 1px 0 rgba(255,255,255,.08)!important;
  font-family:'Share Tech Mono',monospace!important;
  letter-spacing:.06em!important;
  text-transform:uppercase;
}
body:has(#dashboardMessage) .btn:hover,
body:has(.freeze) .btn:hover,
body:has(.hero-grid):has(.books-grid):has(.freq-section) .btn:hover,
body:has(#dashboardMessage) .btn:focus-visible,
body:has(.freeze) .btn:focus-visible,
body:has(.hero-grid):has(.books-grid):has(.freq-section) .btn:focus-visible{
  background:linear-gradient(#756748,#4b412e)!important;
  color:#fff0c6!important;
  transform:translateY(1px)!important;
  box-shadow:0 2px 0 #11120f!important;
}

/* Dashboard // URP OPERATIONS CONSOLE. Existing values are the readouts;
   no duplicate counters are created. */
body:has(#dashboardMessage) .wrap{width:min(1180px,100%)!important}
body:has(#dashboardMessage) .card{padding:26px!important}
body:has(#dashboardMessage) .brand{font-family:'Share Tech Mono',monospace!important;color:var(--b1-amber)!important}
body:has(#dashboardMessage) h1{font-family:'Share Tech Mono',monospace!important;text-transform:uppercase;letter-spacing:.08em;color:var(--b1-paper)!important}
body:has(#dashboardMessage) .boot,
body:has(#dashboardMessage) #dashboardMessage{
  border:1px solid #263127!important;
  border-radius:1px!important;
  background:radial-gradient(circle at top,#1a241b,#0b0f0b 72%)!important;
  color:var(--b1-phosphor)!important;
  font-family:'Share Tech Mono',monospace!important;
  text-shadow:0 0 6px rgba(168,212,155,.22);
}
body:has(#dashboardMessage) .grid{gap:9px!important}
body:has(#dashboardMessage) .stat{
  position:relative;
  border:1px solid #10120f!important;
  border-radius:1px!important;
  background:linear-gradient(#252921,#11140f)!important;
  box-shadow:inset 0 0 18px #000,0 1px 0 #6d6a5d!important;
  min-height:106px!important;
}
body:has(#dashboardMessage) .stat::before{
  content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid rgba(125,126,111,.18)
}
body:has(#dashboardMessage) .label{color:#aaa38f!important;font-family:'Share Tech Mono',monospace!important}
body:has(#dashboardMessage) .value{color:var(--b1-phosphor)!important;font-family:'Share Tech Mono',monospace!important;text-shadow:0 0 7px rgba(168,212,155,.28)}
body:has(#dashboardMessage) .sub{color:#9a9788!important}
body:has(#dashboardMessage) .section{border-top:1px solid #777265!important}
body:has(#dashboardMessage) .op-card{
  border:1px solid #181a16!important;
  background:linear-gradient(#45473f,#272924)!important;
  box-shadow:inset 0 1px 0 #696b60,0 4px 8px #0006!important;
}
body:has(#dashboardMessage) .op-card span{color:var(--b1-amber)!important}
body:has(#dashboardMessage) .op-card strong{color:var(--b1-paper)!important;font-family:'Share Tech Mono',monospace!important}

/* Training Operations // 22-module diagnostic rack. Mission content and links
   remain exactly as supplied by the existing page. */
body:has(.freeze) .wrap{width:min(1200px,100%)!important}
body:has(.freeze) .panel{padding:28px!important}
body:has(.freeze) h1,
body:has(.freeze) h2,
body:has(.freeze) h3{font-family:'Share Tech Mono',monospace!important;text-transform:uppercase;letter-spacing:.04em}
body:has(.freeze) .kicker,
body:has(.freeze) .tag{color:var(--b1-amber)!important}
body:has(.freeze) .freeze{
  border:1px solid #7d6c47!important;
  background:#2d291f!important;
  color:#d6caaa!important;
  box-shadow:inset 0 0 0 2px #191a16!important;
}
body:has(.freeze) .status{
  border:1px solid #40533f!important;
  background:#10150f!important;
  color:var(--b1-phosphor)!important;
}
body:has(.freeze) .section-head{border-top:1px solid #777265!important}
body:has(.freeze) .grid{gap:10px!important}
body:has(.freeze) .card{
  border:1px solid #171914!important;
  border-radius:1px!important;
  background:linear-gradient(150deg,#4b4d45,#292b26)!important;
  box-shadow:inset 0 1px 0 #717267,inset 0 0 0 2px #33352f,0 7px 16px #0007!important;
  position:relative;
}
body:has(.freeze) .card::before,
body:has(.freeze) .card::after{
  content:"";position:absolute;top:7px;width:7px;height:7px;border-radius:50%;background:#171813;box-shadow:inset 0 0 0 2px #6f7065
}
body:has(.freeze) .card::before{left:7px}body:has(.freeze) .card::after{right:7px}
body:has(.freeze) .card p{color:#aaa593!important}
body:has(.freeze) .meta{color:var(--b1-phosphor)!important;background:#11140f;border:1px solid #30372f;padding:5px 7px}

/* Living Archive // records room / microfiche terminal. */
body:has(.fn-compendium-shell){overflow-x:clip}
body:has(.fn-compendium-shell) .fn-compendium-shell{
  box-sizing:border-box!important;
  max-width:100%!important;
  min-width:0!important;
  padding:24px!important;
}
body:has(.fn-compendium-shell) .fn-archive-entry-nav,
body:has(.fn-compendium-shell) .fn-compendium-grid,
body:has(.fn-compendium-shell) .fn-dossier-block{
  box-sizing:border-box!important;
  max-width:100%!important;
  min-width:0!important;
}
body:has(.fn-compendium-shell) .fn-archive-entry-nav{
  border:1px solid #171813!important;background:#242720!important;padding:8px!important;box-shadow:inset 0 0 0 2px #4a4c43!important
}
body:has(.fn-compendium-shell) .fn-archive-entry-nav a{font-family:'Share Tech Mono',monospace;color:var(--b1-amber)!important}
body:has(.fn-compendium-shell) .fn-compendium-title{font-family:'Share Tech Mono',monospace!important;text-transform:uppercase;letter-spacing:.08em;color:var(--b1-paper)!important}
body:has(.fn-compendium-shell) .fn-kicker{color:var(--b1-amber)!important;font-family:'Share Tech Mono',monospace!important}
body:has(.fn-compendium-shell) .fn-dossier-block{
  border:1px solid #181914!important;border-radius:1px!important;background:linear-gradient(#47483f,#2c2e28)!important;
  box-shadow:inset 0 1px 0 #6b6c60,0 5px 12px #0006!important;color:#ddd3b8!important
}
body:has(.fn-compendium-shell) a.fn-dossier-block:hover,
body:has(.fn-compendium-shell) a.fn-dossier-block:focus-visible{border-color:#9b8455!important;background:linear-gradient(#565244,#373329)!important}

/* Landing page // Birmingham access terminal. Existing content remains; only
   the framing changes from modern SaaS to a late-1980s equipment stack. */
body:has(.hero-grid):has(.books-grid):has(.freq-section) .topbar{
  background:linear-gradient(#3f413a,#252720)!important;border-bottom:2px solid #11120f!important;backdrop-filter:none!important;box-shadow:0 4px 12px #0009!important
}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .brand{font-family:'Share Tech Mono',monospace!important;color:var(--b1-paper)!important;text-shadow:none!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .brand span{color:var(--b1-amber)!important;text-shadow:none!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .nav-sig{color:var(--b1-phosphor)!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .nav-dot{background:var(--b1-phosphor)!important;box-shadow:0 0 8px rgba(168,212,155,.7)!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .hero{
  background:radial-gradient(circle at 50% 10%,#2f3328 0,#11140f 58%,#050604 100%)!important;padding-block:56px!important
}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .hero-grid{gap:28px!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .eyebrow{color:var(--b1-amber)!important;font-family:'Share Tech Mono',monospace!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .headline{font-family:'Share Tech Mono',monospace!important;text-transform:uppercase;letter-spacing:.04em;color:var(--b1-paper)!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .headline .neon{color:var(--b1-phosphor)!important;font-style:normal!important;text-shadow:0 0 10px rgba(168,212,155,.25)!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .hero-card{
  border:1px solid #141511!important;border-radius:2px!important;padding:14px!important;background:linear-gradient(145deg,#55564d,#30322c)!important;box-shadow:var(--b1-shadow)!important
}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .hero-card::before{display:none!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .hero-card img{border-radius:1px!important;box-shadow:0 10px 24px #0009!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .card,
body:has(.hero-grid):has(.books-grid):has(.freq-section) .book-card,
body:has(.hero-grid):has(.books-grid):has(.freq-section) .freq-card,
body:has(.hero-grid):has(.books-grid):has(.freq-section) .loosh-big{
  border:1px solid #171813!important;border-radius:1px!important;background:linear-gradient(#40423b,#242621)!important;box-shadow:inset 0 1px 0 #65675d!important
}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .section-title,
body:has(.hero-grid):has(.books-grid):has(.freq-section) .book-title{font-family:'Share Tech Mono',monospace!important;color:var(--b1-paper)!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) :is(.pill,.book-num,.freq-name,.ftag){font-family:'Share Tech Mono',monospace!important;color:var(--b1-amber)!important;border-color:#66593c!important;background:#211f18!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .freq-hz{font-family:'Share Tech Mono',monospace!important;color:var(--b1-phosphor)!important;text-shadow:0 0 7px rgba(168,212,155,.22)!important}
body:has(.hero-grid):has(.books-grid):has(.freq-section) .freq-section{background:#0b0e0a!important;border-color:#4d5046!important}

/* Generic mission hardware cleanup. Existing mission-specific instrument CSS
   still wins where it needs to. Cards lose software-rounding; real controls
   remain intact and functional. */
body:has(.mission-banner) :is(.panel,.card,.module,.casefile){border-radius:1px!important}
body:has(.mission-banner) :is(button,.btn,input,select){border-radius:1px!important}

@media(max-width:700px){
  body:has(#dashboardMessage) .card,
  body:has(.freeze) .panel,
  body:has(.fn-compendium-shell) .fn-compendium-shell{padding:16px!important}
  body:has(.hero-grid):has(.books-grid):has(.freq-section) .hero{padding-top:32px!important}
}

@media(prefers-reduced-motion:reduce){
  body:has(.hero-grid):has(.books-grid):has(.freq-section) *,body:has(#dashboardMessage) *,body:has(.freeze) *,body:has(.fn-compendium-shell) *{transition:none!important;animation:none!important}
}
