:root{
  --bg:#050509; --panel:#0c0f1a; --text:#e6f1ff; --muted:#9db1d1; --acc:#7ad1ff; --err:#ff6a8a;
  --round:18px; --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}

/* Base */
*{box-sizing:border-box}
body{
  margin:0;
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(122,209,255,.08), transparent),
    linear-gradient(180deg,#04050a,#0a0a12);
  color:var(--text);
  font:16px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
}
a{color:var(--acc);text-decoration:none}
.site-header,.site-footer{padding:16px 24px;border-bottom:1px solid #1a2236}
.site-footer{border-top:1px solid #1a2236;border-bottom:none;text-align:center;color:var(--muted)}

.panel,.card{
  background:var(--panel);
  padding:20px;
  border:1px solid #1a2440;
  border-radius:var(--round);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
}
.content{padding:24px;display:grid;gap:16px}
.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
label{display:grid;gap:8px;margin-bottom:12px}
input,textarea{background:#0a0e19;color:var(--text);border:1px solid #25355a;border-radius:14px;padding:10px 12px}
.button{background:linear-gradient(90deg,#58c1ff,#a486ff);color:#04111e;border:none;padding:10px 14px;border-radius:14px;font-weight:800;cursor:pointer}
.muted{color:var(--muted)} .tiny{font-size:12px} .error{color:var(--err);min-height:1.5em}
.hidden{display:none}

/* Terminal */
.terminal{background:#0c0c0c;border:1px solid #1c2750;border-radius:var(--round);padding:0;overflow:hidden}
#terminalOutput{font-family:var(--mono);font-size:14px;line-height:1.5;padding:14px 16px;min-height:480px;max-height:75vh;overflow-y:auto;white-space:pre-wrap;word-break:break-word;color:#c8c8c8;letter-spacing:.3px;text-shadow:0 0 1px rgba(200,255,90,.08);background:transparent;cursor:text}
#terminalOutput::-webkit-scrollbar{width:6px}
#terminalOutput::-webkit-scrollbar-track{background:#111}
#terminalOutput::-webkit-scrollbar-thumb{background:#333;border-radius:3px}

/* inline input line */
.term-input-line{display:flex;align-items:center;line-height:1.5}
.term-prompt{color:#569CD6;white-space:pre;flex-shrink:0}
.term-bar{display:flex;align-items:center;padding:8px 16px;border-top:1px solid #1c2750;background:#020510}
#terminalOutput .term-field,
.term-bar .term-field{font-family:var(--mono);font-size:14px;color:#e0e0e0;background:transparent;border:none;border-radius:0;outline:none;box-shadow:none;padding:0;margin:0;flex:1;caret-color:#c8ff5a;letter-spacing:.3px;width:auto}
#terminalOutput .term-field:focus,
.term-bar .term-field:focus{border:none;outline:none;box-shadow:none}

/* Glitch tint & bleed transition */
.noise::before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.02) 0 2px,transparent 2px 4px);mix-blend-mode:overlay;pointer-events:none;z-index:1}
.glitchy h1{position:relative;display:inline-block}
.glitchy h1::before,.glitchy h1::after{content:attr(data-text);position:absolute;left:0;top:0;filter:blur(.5px)}
.glitchy h1::before{transform:translateX(-1px);clip-path:polygon(0 2%,100% 2%,100% 40%,0 40%);opacity:.6;color:#ff1a75}
.glitchy h1::after{transform:translateX(1px);clip-path:polygon(0 60%,100% 60%,100% 98%,0 98%);opacity:.6;color:#1affff}
.bleed{position:fixed;inset:0;background:radial-gradient(circle at 50% 50%, rgba(122,209,255,.25), rgba(0,0,0,.95) 55%);opacity:0;pointer-events:none;transition:opacity .45s ease;z-index:9999}
.bleed.active{opacity:1}

/* Fun shake */
@keyframes shake{0%{transform:translate(0,0)}25%{transform:translate(2px,-2px)}50%{transform:translate(-2px,2px)}75%{transform:translate(2px,2px)}100%{transform:translate(0,0)}}
.meltdown{display:grid;place-items:center;min-height:100vh;font:700 28px var(--mono);text-align:center}

/* ===== Hero video & overlays ===== */
.hero-video{
  position:relative;
  min-height:min(86vh,980px);
  display:grid;
  align-items:stretch;        /* vertical position */
  overflow:hidden;
  padding-top:8px;            /* clears under header */
}
.bg-video{position:absolute;inset:0;z-index:0}
.bg-video__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.05)}
.bg-video__overlay{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(4,5,10,0.65) 0%, rgba(4,5,10,0.25) 35%, rgba(4,5,10,0.55) 100%),
    radial-gradient(1200px 600px at 20% -10%, rgba(122,209,255,.12), transparent 60%);
}

/* Foreground content docked bottom-left */
.hero-video__content{
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(40px, 20vh, 120px);   /* ↑ increase to move content UP, decrease to move DOWN */
  z-index: 2;
  display: grid;
  justify-items: start;
  padding: 0 clamp(16px, 6vw, 72px); /* left/right padding only */
}

.hero-video__content > .card.glass{
  inline-size: min(550px, 100%);
  margin: 0;
}

/* Glass cards */
.card.glass{
  background:rgba(12,15,26,0.55);
  border:1px solid rgba(37,53,90,0.6);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}

/* Header over video */
.site-header{position:relative;z-index:3;background:linear-gradient(180deg, rgba(4,5,10,.75), rgba(4,5,10,0));border-bottom-color:rgba(26,34,54,.6)}

/* ===== Inline neon header ===== */
.header-inline{
  display:flex; align-items:center; gap:clamp(10px,3vw,24px);
  padding:12px 24px; white-space:nowrap; position:relative;
  background:linear-gradient(180deg, rgba(4,5,10,.78), rgba(4,5,10,0));
  border-bottom-color:rgba(26,34,54,.6);
}
.header-inline::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg, rgba(122,209,255,.6), transparent 60%)}

.brand{display:flex;align-items:baseline;gap:12px;min-width:0}
.brand-mark{width:16px;height:16px;border-radius:4px;background:conic-gradient(from 180deg,#58c1ff,#a486ff);box-shadow:0 0 14px rgba(122,209,255,.6)}
.brand-name{
  font-weight:900;letter-spacing:.5px;font-size:clamp(16px,2vw,20px);
  background:linear-gradient(90deg,#cfe9ff,#7ad1ff 40%,#a486ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 14px rgba(122,209,255,.25);
}
.brand-tag{color:var(--muted);font-size:12px;opacity:.95;padding-left:10px;border-left:1px solid rgba(122,209,255,.25);text-overflow:ellipsis;overflow:hidden;max-width:34vw;white-space:nowrap}

.main-nav{margin-left:auto;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{
  display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:999px;
  border:1px solid rgba(37,53,90,.6);background:rgba(12,15,26,.35);
  transition:transform .15s ease;
}
.main-nav a:hover{transform:translateY(-1px)}
.main-nav a:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.main-nav .cta{border:0;background:linear-gradient(90deg,#58c1ff,#a486ff);color:#04111e;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.main-nav .cta:hover{transform:translateY(-1px) scale(1.02)}
@media (max-width:1024px){ .brand-tag{display:none} }
@media (max-width:520px){ .brand-name{font-size:16px} .main-nav a{padding:0 10px} }

/* Bottom cards row */
.cards-row{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(320px,1fr));align-items:start}
@media (max-width:820px){ .cards-row{grid-template-columns:1fr} }

/* Admin lock stamp */
.locked-stamp{
  display:inline-block;margin-top:8px;padding:10px 14px;border:2px solid currentColor;
  font:900 22px var(--mono);letter-spacing:2px;text-transform:uppercase;color:rgba(255,106,138,.9);
  box-shadow:0 6px 24px rgba(0,0,0,.35), inset 0 0 12px rgba(255,106,138,.3);
  transform:rotate(-8deg);background:linear-gradient(135deg, rgba(255,106,138,.15), rgba(122,209,255,.08));
}

/* System note */
.card.sysnote{
  font-family:var(--mono);font-size:13px;line-height:1.35;padding:14px 16px;
  background:linear-gradient(180deg,#05070f,#04060c),
             repeating-linear-gradient(180deg,rgba(255,255,255,.015) 0 2px,transparent 2px 4px);
  border:1px dashed #2a3b66; box-shadow:none;
}
.sysnote__hdr{font-weight:800;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;margin-bottom:8px;position:relative}
.sysnote__hdr::after{content:"";display:block;height:1px;background:linear-gradient(90deg, rgba(122,209,255,.45), transparent);margin-top:6px}
.sysnote__body{display:grid;gap:10px}
.sysnote__item{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px 12px;padding:8px 0;border-top:1px solid rgba(42,59,102,.35)}
.sysnote__item:first-child{border-top:0}
.sysnote__label{font-size:10px;letter-spacing:1px;color:#ffb85c;border:1px solid rgba(255,184,92,.6);padding:2px 6px;border-radius:4px;align-self:start}
.sysnote__text{color:var(--text)} .sysnote em{color:var(--muted);font-style:normal;opacity:.9}

/* Reduced motion fallback for video */
@media (prefers-reduced-motion: reduce){
  .bg-video__media{display:none}
  .bg-video{background:url('media/limelight-copy.png') center/cover no-repeat}
}

:root { --header-h: 72px; } /* header adjustments */

.avatar{
  position: absolute;
  bottom: 6vh;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.5));
  opacity: .98;

  /* .avatar--center can control size */
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
}

.avatar--center{
  left: 50%;
  transform: translate(5%, 8%); 
  max-height: min(1010px, calc(100vh - var(--header-h) - 24px)); 
  max-width: 92vw;   /* avoid horizontal overflow */
}

@media (max-width: 640px){
  .avatar--center{
    left: 50%;
    transform: translate(-50%, 10%);
    max-height: min(820px, calc(100vh - var(--header-h) - 16px));
    max-width: 96vw;
  }
}
/* ===== Interactive buttons ===== */

/* Primary buttons */
.button{
  background: linear-gradient(90deg,#58c1ff,#a486ff);
  background-size: 200% 100%;
  background-position: 0% 50%;
  color:#04111e;
  transition: transform .15s ease, box-shadow .2s ease, background-position .3s ease, filter .2s ease;
}
.button:hover{
  background-position: 100% 50%;                 /* color sweep */
  filter: brightness(1.06) saturate(1.08);
  box-shadow: 0 12px 36px rgba(122,209,255,.25), 0 0 18px rgba(164,134,255,.25) inset;
  transform: translateY(-1px);
}
.button:active{ transform: translateY(0); box-shadow: 0 6px 18px rgba(0,0,0,.35) inset; }
.button:focus-visible{ outline:2px solid var(--acc); outline-offset:2px; }

/* Nav pills (non-CTA) */
.main-nav a{
  transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.main-nav a:hover{
  background: linear-gradient(90deg, rgba(122,209,255,.16), rgba(164,134,255,.12));
  border-color: rgba(122,209,255,.55);
  color: var(--text);
  transform: translateY(-1px);
}

/* Nav CTA uses the same as .button */
.main-nav .cta{
  background: linear-gradient(90deg,#58c1ff,#a486ff);
  background-size: 200% 100%;
  background-position: 0% 50%;
  transition: transform .15s ease, background-position .3s ease, filter .2s ease;
  color:#04111e; font-weight:900;
}
.main-nav .cta:hover{
  background-position: 100% 50%;
  filter: brightness(1.06);
  transform: translateY(-1px) scale(1.02);
}

/* Touch-friendly bump */
@media (hover: none){
  .button:active, .main-nav a:active{ transform: scale(.98); }
}

/* === Team grid === */
.team-grid{
  display:grid; gap:16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.person{ display:grid; grid-template-rows:auto 1fr; gap:12px; }
.person__media{
  aspect-ratio: 3 / 3;
  background: rgba(12,15,26,.45);
  border:1px solid rgba(37,53,90,.6);
  border-radius: calc(var(--round) - 6px);
  display:grid; place-items:center; overflow:hidden;
}
.person__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.person__name{ margin:0 0 2px; }
.person__role{ margin:0 0 6px; color:var(--muted); font-weight:600; }
.person__years{ margin:0 0 8px; }
.person__bio{ margin:0; }

/* === Factions grid === */
.factions-grid{
  display:grid; gap:16px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.faction{ display:grid; gap:10px; }
.faction__logo{
  height:400px; display:grid; place-items:center;
  background: rgba(12,15,26,.35);
  border:1px dashed rgba(37,53,90,.6);
  border-radius: 12px;
}
.faction__logo img{ max-height:350px; max-width:220px; opacity:.9; }
/* ================================
   Intranet Lime Theme
   ================================ */
.theme-lime{

  --acc: #c8ff5a;      
  --acc2:#74ffa8;      
  --intraGlow: rgba(200,255,90,.45);
  --intraLine: rgba(200,255,90,.35);

  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(200,255,90,.08), transparent),
    linear-gradient(180deg,#04050a,#0a0a12);
}

/* Header brand treatment */
.theme-lime .brand-name{
  background: linear-gradient(90deg,var(--acc),var(--acc2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow: 0 0 14px var(--intraGlow);
}
.theme-lime .brand-mark{
  background: conic-gradient(from 180deg, var(--acc), var(--acc2));
  box-shadow: 0 0 14px var(--intraGlow);
}
.theme-lime .brand-tag{
  color: var(--acc);
  border-left-color: var(--intraLine);
}
.theme-lime .header-inline::after{
  background: linear-gradient(90deg, var(--intraLine), transparent 60%);
}

/* Links hover pop */
.theme-lime a:hover{ filter: brightness(1.08) saturate(1.06); }

/* Buttons + CTA */
.theme-lime .button,
.theme-lime .main-nav .cta{
  background: linear-gradient(90deg,var(--acc),var(--acc2));
  background-size: 200% 100%;
  background-position: 0% 50%;
  color:#04111e; font-weight:900;
  transition: transform .15s ease, box-shadow .2s ease, background-position .3s ease, filter .2s ease;
}
.theme-lime .button:hover,
.theme-lime .main-nav .cta:hover{
  background-position: 100% 50%;
  filter: brightness(1.06);
  transform: translateY(-1px) scale(1.02);
}

/* Nav hover tint */
.theme-lime .main-nav a{
  transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.theme-lime .main-nav a:hover{
  background: linear-gradient(90deg, rgba(200,255,90,.14), rgba(116,255,168,.12));
  border-color: rgba(200,255,90,.55);
  color: var(--text);
  transform: translateY(-1px);
}

/* Video overlay hint */
.theme-lime .bg-video__overlay{
  background:
    linear-gradient(180deg, rgba(4,5,10,0.65) 0%, rgba(4,5,10,0.25) 35%, rgba(4,5,10,0.55) 100%),
    radial-gradient(1200px 600px at 20% -10%, rgba(200,255,90,.12), transparent 60%);
}

.theme-lime .main-nav a[aria-current="page"]{
  border-color: var(--acc);
  background: rgba(200,255,90,.14);
}
/* ============== Intranet cards → lime variant ============== */
.theme-lime{
  
  --panel: #0a120c;                 
  --panel-alt: #0e1a12;            
  --panel-border: rgba(200,255,90,.22);
  --panel-border-strong: rgba(200,255,90,.38);
}

/* Article cards & generic panels */
.theme-lime .panel,
.theme-lime .card{
  background: var(--panel);
  border: 1px solid var(--panel-border);
}

/* “Clickable” cards */
.theme-lime .card.link{
  transition: transform .2s, box-shadow .2s, border-color .2s, background .2s;
}
.theme-lime .card.link:hover{
  background: linear-gradient(180deg, var(--panel), var(--panel-alt));
  border-color: var(--panel-border-strong);
  box-shadow:
    0 24px 70px rgba(0,0,0,.55),
    0 0 22px rgba(200,255,90,.12) inset;   
  transform: translateY(-2px) scale(1.01);
}

/* Glass variant */
.theme-lime .card.glass{
  background: rgba(10,18,12,.55);
  border: 1px solid rgba(200,255,90,.40);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* System notes / console cards */
.theme-lime .card.sysnote{
  border: 1px dashed rgba(200,255,90,.40);
  background:
    linear-gradient(180deg, #071009, #0a130f),
    repeating-linear-gradient(180deg, rgba(255,255,255,.015) 0 2px, transparent 2px 4px);
}
/* ===== Intranet lime overrides for borders/outlines ===== */

.theme-lime .main-nav a{
  border-color: rgba(200,255,90,.32);
}
.theme-lime .main-nav a[aria-current="page"]{
  border-color: rgba(200,255,90,.55);
  background: rgba(200,255,90,.14);
}
.theme-lime .main-nav a:focus-visible{
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}

/* Inputs (admin password/passphrase field) */
.theme-lime input,
.theme-lime textarea,
.theme-lime select{
  border-color: rgba(200,255,90,.28);
  caret-color: var(--acc);
}
.theme-lime input:focus,
.theme-lime textarea:focus,
.theme-lime select:focus{
  border-color: rgba(200,255,90,.55);
  outline: 2px solid var(--acc);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(200,255,90,.14);
}

/* Terminal shell — lime theme */
.theme-lime .terminal{
  border-color: rgba(200,255,90,.35);
}
.theme-lime #terminalOutput{
  text-shadow: 0 0 1px rgba(200,255,90,.08);
}
.theme-lime .term-prompt{
  color: rgba(200,255,90,.7);
}
.theme-lime #terminalOutput .term-field,
.theme-lime .term-bar .term-field,
.theme-lime #terminalOutput .term-field:focus,
.theme-lime .term-bar .term-field:focus{
  color: #e0e0e0;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  padding: 0;
  caret-color: #c8ff5a;
}
.theme-lime .term-bar{
  border-top-color: rgba(200,255,90,.25);
}

.theme-lime .main-nav a:hover{
  border-color: rgba(200,255,90,.55);
}
/* Highlight a news card when navigated via hash */
.card:target{
  border-color: var(--acc);
  box-shadow: 0 0 0 3px rgba(122,209,255,.18); 
  animation: pulseTarget .9s ease-out;
}
@keyframes pulseTarget{
  0%{ box-shadow: 0 0 0 0 rgba(122,209,255,.28); }
  100%{ box-shadow: 0 0 0 0 rgba(0,0,0,0); }
}
/* News filter */
.news-filters{
  display:flex; align-items:center; gap:8px;
  padding:12px 24px; flex-wrap:wrap;
}
.news-filters .pill{
  display:inline-flex; align-items:center; height:34px;
  padding:0 12px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(37,53,90,.6);
  background: rgba(12,15,26,.35);
  transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
  font-weight:600;
}
.news-filters .pill:hover{
  background: linear-gradient(90deg, rgba(122,209,255,.16), rgba(164,134,255,.12));
  border-color: rgba(122,209,255,.55);
  transform: translateY(-1px);
}
.news-filters .pill.is-active{
  border-color: var(--acc);
  background: rgba(122,209,255,.14);
}

.theme-lime .news-filters .pill:hover{
  background: linear-gradient(90deg, rgba(200,255,90,.14), rgba(116,255,168,.12));
  border-color: rgba(200,255,90,.55);
}
.theme-lime .news-filters .pill.is-active{
  background: rgba(200,255,90,.14);
  border-color: rgba(200,255,90,.55);
}
/* News filter  */
.news-filters .pill{
  -webkit-appearance: none; appearance: none;
  background: rgba(12,15,26,.35);
  border: 1px solid rgba(37,53,90,.6);
  color: var(--text);                 
  font: inherit;
  cursor: pointer;
}
.news-filters .pill:hover,
.news-filters .pill.is-active{
  color: var(--text);                
}
.news-filters .pill:focus-visible{
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}

.theme-lime .news-filters .pill,
.theme-lime .news-filters .pill:hover,
.theme-lime .news-filters .pill.is-active{
  color: var(--text);
}

/* Smooth anchor scrolling */
html{ scroll-behavior: smooth; }

/* Scroll cue */
.scroll-cue{
  position:absolute; left:50%; bottom:16px; transform:translateX(-50%);
  display:grid; place-items:center; gap:6px;
  color:var(--text); text-decoration:none; z-index:2;
  opacity:.85; transition: opacity .2s ease, transform .2s ease;
}
.scroll-cue:hover{ opacity:1; transform:translate(-50%,-2px); }
.scroll-cue.is-hidden{ opacity:0; pointer-events:none; transform:translate(-50%,6px); }

/* Little “mouse” with animated wheel */
.scroll-cue__mouse{
  width:26px; height:40px; border:2px solid rgba(255,255,255,.55);
  border-radius:18px; display:grid; place-items:center;
  background: linear-gradient(180deg, rgba(0,0,0,.15), transparent);
}
.scroll-cue__wheel{
  width:3px; height:8px; border-radius:2px; background: var(--acc);
  animation: wheel 1.6s ease-in-out infinite;
}

.scroll-cue__chev{
  font-size:20px; line-height:1; letter-spacing:2px; opacity:.85;
  animation: bob 1.6s ease-in-out infinite;
}

/* Animations */
@keyframes wheel{ 0%{transform:translateY(-6px);opacity:0} 30%{opacity:1} 100%{transform:translateY(6px);opacity:0} }
@keyframes bob{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(3px)} }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .scroll-cue__wheel, .scroll-cue__chev{ animation:none; }
}
/* Avatar scroll-sequence */
.avatar-frame{
  opacity: 0;
  transition: opacity .25s ease;
  will-change: opacity;
}
.avatar-frame.is-active{ opacity: 1; }

@media (max-width: 640px), (prefers-reduced-motion: reduce){
  .avatar-frame{ opacity: 0 !important; }
  .avatar-frame:first-child{ opacity: 1 !important; }
}
/* Avatar carousel: stack frames and fade */
.avatar-slide{ opacity:0; transition: opacity .25s ease; will-change: opacity; }
.avatar-slide.is-active{ opacity:1; }

/* Allow clicking arrows but keep images non-interactive */
.avatar-overlays{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.avatar-carousel{ position:absolute; inset:0; }
.avatar-nav{
  pointer-events:auto;
  position:absolute; top:50%; transform:translateY(-50%);
  display:grid; place-items:center;
  width:38px; height:38px; border-radius:999px;
  border:1px solid rgba(37,53,90,.6);
  background: rgba(12,15,26,.45);
  color: var(--text); font:900 20px/1 var(--mono);
  cursor:pointer; user-select:none;
  transition: transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.avatar-nav.prev{ left: clamp(10px, 2vw, 22px); }
.avatar-nav.next{ right: clamp(10px, 2vw, 22px); }
.avatar-nav:hover{
  transform: translateY(-50%) scale(1.06);
  background: linear-gradient(90deg, rgba(122,209,255,.16), rgba(164,134,255,.12));
  border-color: rgba(122,209,255,.55);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.avatar-nav:focus-visible{ outline:2px solid var(--acc); outline-offset:2px; }

.theme-lime .avatar-nav:hover{
  background: linear-gradient(90deg, rgba(200,255,90,.14), rgba(116,255,168,.12));
  border-color: rgba(200,255,90,.55);
}

/* Reduce motion */
@media (max-width: 540px), (prefers-reduced-motion: reduce){
  .avatar-nav{ display:none; }
  .avatar-slide{ opacity:0 !important; }
  .avatar-slide:first-child{ opacity:1 !important; }
}

/* === Avatar carousel tweaks === */
.avatar-overlays{ position:absolute; inset:0; z-index:2; pointer-events:none; }

/* Hide left arrow completely */
.avatar-nav.prev{ display:none !important; }

/* Slimmer arrow & font size */
.avatar-nav{
  width:28px; height:28px;
  font-size:16px;           
}
/* Image logo for public header */
.brand-logo{
  display:inline-flex;
  align-items:center;
  line-height:1;
}
.brand-logo img{
  height: 34px;      
  width: auto;
  display: block;
}

/* Slightly larger on wider screens */
@media (min-width: 720px){
  .brand-logo img{ height: 34px; }
}

.header-inline .brand-mark.hide-on-logo{ display:none; }

.header-inline .brand .brand-logo{
  position: relative;
  top: 11px;        
}
/* Active state for real links */
.main-nav a[aria-current="page"]{
  border-color: var(--acc);
  background: rgba(122,209,255,.14);
  color: var(--text);
}

.theme-lime .main-nav a[aria-current="page"]{
  background: rgba(200,255,90,.14);
}

/* Fallback  */
.main-nav .nav-pill-current{
  display:inline-flex; align-items:center; height:34px;
  padding:0 12px; border-radius:999px;
  border:1px solid var(--acc);
  background: color-mix(in srgb, var(--acc) 18%, transparent);
  color: var(--text); font-weight:700;
  cursor: default; user-select: none;
  margin-left: 0; 
}

/* ===== Brand logo hover ===== */
.brand-logo{
  position: relative;
  display: inline-block;
  line-height: 1;
  transform-origin: left center;
  transition: transform .25s ease;
}
.brand-logo img{
  display: block;
  transition: filter .25s ease, transform .25s ease;
}

/* Lift + glow on hover */
.brand-logo:hover{ transform: translateY(1px) scale(1.02); }
.brand-logo:hover img{
  filter: drop-shadow(0 0 12px rgba(122,209,255,.28)) brightness(1.03);
}

/* Gradient tint overlay, clipped to the PNG shape via mask */
.brand-logo::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  /* animated gradient “ink” */
  background: linear-gradient(90deg,#cfe9ff,#7ad1ff 40%,#a486ff);
  background-size: 200% 100%;
  background-position: 0% 50%;
  opacity: 0;                       /* hidden until hover */
  transition: opacity .2s ease, background-position .35s ease;

  
  -webkit-mask-image: url('../media/corefall_studios_logo.png');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
          mask-image: url('../media/corefall_studios_logo.png');
          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;
}
.brand-logo:hover::before{
  opacity: 1;
  background-position: 100% 50%; 
}

.brand-logo::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;

  background: linear-gradient(120deg,
              transparent 0%,
              rgba(255,255,255,.25) 20%,
              rgba(255,255,255,.55) 40%,
              transparent 60%);
  background-size: 200% 100%;
  background-position: -120% 50%;
  transition: opacity .18s ease;

  -webkit-mask-image: url('../media/corefall_studios_logo.png');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
          mask-image: url('../media/corefall_studios_logo.png');
          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: contain;
}
.brand-logo:hover::after{
  opacity: .9;
  animation: logoShine .9s cubic-bezier(.3,.7,.4,1) 1;
}
@keyframes logoShine { to { background-position: 120% 50%; } }

.theme-lime .brand-logo::before{
  background: linear-gradient(90deg,#c8ff5a,#74ffa8);
}
.theme-lime .brand-logo:hover img{
  filter: drop-shadow(0 0 12px rgba(200,255,90,.32)) brightness(1.03);
}
/* Footer layout */
.footer-kick{
  display:flex; align-items:center; justify-content:center;
  gap:10px; flex-wrap:wrap;
}

/* Clickable badge with hover swap */
.ks-link{ display:inline-flex; align-items:center; }
.ks-swap{
  position:relative; width:112px; height:28px;
  filter: drop-shadow(0 0 8px rgba(122,209,255,.16));
  transition: transform .15s ease, filter .2s ease;
}
.ks-badge{
  position:absolute; inset:0; display:block; width:100%; height:100%;
  object-fit:contain; pointer-events:none; transition:opacity .18s ease;
}
.ks-badge--white{ opacity:0; }
.ks-link:hover .ks-badge--white{ opacity:1; }
.ks-link:hover .ks-badge--green{ opacity:0; }
.ks-link:hover .ks-swap{
  transform: translateY(-1px) scale(1.02);
  filter: drop-shadow(0 0 10px rgba(122,209,255,.28));
}

/* Lime intranet glow */
.theme-lime .ks-swap{
  filter: drop-shadow(0 0 8px rgba(200,255,90,.16));
}
.theme-lime .ks-link:hover .ks-swap{
  filter: drop-shadow(0 0 10px rgba(200,255,90,.28));
}
body.glitching::after {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,0.03) 0px,
    rgba(0,0,0,0.05) 2px
  );
  pointer-events: none;
  animation: scan 0.08s linear infinite;
}

@keyframes scan {
  from { transform: translateY(0); }
  to { transform: translateY(4px); }
}
.downloads {
  margin-top: 24px;
}

.downloads-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-top: 12px;
}

.download-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  padding: 10px;
  text-align: center;
  max-width: 700px;
}

.download-card img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 8px;
}

.download-button {
  display: inline-block;
  margin-top: 8px;
  padding: 6px 10px;
  background: white;
  color: black;
  text-decoration: none;
  font-size: 14px;
}

.download-button:hover {
  opacity: 0.85;
}
/* CNN Popup Overlay */
#cnn-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.75);
  display: none;
  z-index: 9998;
}

/* Popup Container */
#cnn-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 520px;
  max-width: 92%;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  box-shadow: 0 0 40px rgba(0,0,0,0.6);
  display: none;
  z-index: 9999;
}

/* Header */
.cnn-header {
  background: #cc0000;
  color: #fff;
  padding: 10px 15px;
  font-weight: bold;
  display: flex;
  gap: 10px;
  align-items: center;
}

.cnn-logo {
  background: #fff;
  color: #cc0000;
  font-weight: 900;
  padding: 2px 6px;
}

.cnn-breaking {
  font-size: 14px;
  letter-spacing: 0.5px;
}

/* Content */
.cnn-content {
  padding: 20px;
  color: #000000;
}

.cnn-content h1 {
  font-size: 22px;
  margin-bottom: 10px;
}

.cnn-meta {
  font-size: 12px;
  color: #777;
  margin-bottom: 15px;
}

.cnn-content p {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 12px;
}

/* Close Button */
.cnn-close {
  position: absolute;
  top: 10px;
  right: 12px;
  cursor: pointer;
  font-size: 18px;
  color: #000000;
}
/* Hidden by default (desktop/tablet) */
.mobile-block {
  display: none;
}

/* Show only on small screens */
@media (max-width: 1023px) {
  .mobile-block {
    display: flex;
    position: fixed;
    inset: 0;
    background: #111;
    color: white;
    font-size: 20px;
    text-align: center;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 9999;
  }
}
/* Center content */
.content{
  justify-items: center;
}

/* cards centered */
.content > article.card{
  max-width: 760px;
  width: 100%;
}

.tiny.muted.info {
  animation: flicker 10s infinite;
  color: #ff4fc1;
  font-family: monospace;
  text-shadow: 0 0 6px #ff4fc1;
}

@keyframes flicker {
  0%   { opacity: 0.3; }
  10%  { opacity: 0.2; }
  20%  { opacity: 0.5; }
  30%  { opacity: 0.1; }
  40%  { opacity: 0.3; }
  50%  { opacity: 0.3; }
  60%  { opacity: 0.5; }
  70%  { opacity: 0.05; }
  80%  { opacity: 0.3; }
  90%  { opacity: 0.4; }
  100% { opacity: 0.1; }
}


/* Proxy_Penny */
/* cd utopia */
