/* ==========================================================================
   Aeronation — Design System v2
   "Parchment & Forest" (light) / "Forest Night" (dark)
   Aviation editorial × cockpit HUD. Warm, natural, no neon.
   ========================================================================== */

@import url('/static/css/fonts.css');

/* ---------- Brand anchors (identical across themes) ---------- */
:root{
  --forest:#2d5240;
  --rust:#b85c3a;
  --gold:#c9923e;
  --hot:#a83d55;

  --font-display:'Unbounded', 'Manrope', sans-serif;
  --font-body:'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;

  --container:1180px;
  --nav-height:76px;
  --section-gap:110px;
  --radius:22px;
  --radius-sm:14px;
  --radius-xs:10px;

  --ease-out:cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------- Light theme: Parchment & Forest (default) ---------- */
:root,
[data-theme="light"]{
  --bg:#f5f0e8;
  --bg-soft:#ebe4d9;
  --bg-card:rgba(250,245,236,0.97);
  --bg-glass:rgba(245,240,232,0.92);
  --bg-inset:rgba(45,82,64,0.04);

  --text:#1f1a17;
  --text-secondary:rgba(31,26,23,0.68);
  --text-muted:rgba(31,26,23,0.42);
  --text-on-accent:#f5f0e8;

  --accent:#2d5240;
  --accent-bright:#3d6b54;
  --accent-dark:#1f3a2c;
  --secondary:#b85c3a;
  --secondary-bright:#d4754f;
  --warm:#c9923e;

  --border:rgba(31,26,23,0.10);
  --border-hover:rgba(45,82,64,0.35);
  --accent-border:rgba(45,82,64,0.28);
  --secondary-border:rgba(184,92,58,0.3);

  --shadow-card:0 10px 32px rgba(31,26,23,0.08), 0 2px 8px rgba(31,26,23,0.05);
  --shadow-glow:0 30px 90px rgba(45,82,64,0.10);
  --shadow-btn:0 10px 24px rgba(45,82,64,0.28);

  --grad-accent-text:linear-gradient(125deg, #2d5240, #b85c3a, #c9923e);
  --grad-accent-btn:linear-gradient(160deg, #3d6b54, #2d5240 55%, #1f3a2c);
  --grad-accent:linear-gradient(135deg, rgba(45,82,64,0.06), rgba(45,82,64,0.16));
  --grad-horizon:linear-gradient(180deg, transparent, rgba(45,82,64,0.16) 70%, rgba(184,92,58,0.22) 100%);
  --hero-horizon:linear-gradient(90deg, transparent, var(--accent) 35%, var(--secondary) 50%, var(--accent) 65%, transparent);
  --grad-footer-line:linear-gradient(90deg, transparent, var(--accent), var(--secondary), transparent);
  --intro-scan:linear-gradient(90deg, transparent, var(--accent), var(--secondary), transparent);

  --atmo-1: radial-gradient(circle at 12% 8%, rgba(45,82,64,0.10), transparent 55%);
  --atmo-2: radial-gradient(circle at 88% 18%, rgba(184,92,58,0.08), transparent 50%);
  --atmo-3: radial-gradient(circle at 50% 100%, rgba(201,146,62,0.09), transparent 60%);
  --grid-line: rgba(31,26,23,0.05);
  --noise-opacity:0.025;
  --scanline-opacity:0.12;
  --cursor-glow-color: rgba(45,82,64,0.10);

  --radar-border: rgba(31,26,23,0.14);
  --radar-sweep: rgba(45,82,64,0.16);
  --path-stroke: var(--secondary);
  --hero-fl370: rgba(31,26,23,0.06);
  --hud-color: rgba(31,26,23,0.5);
  --marquee-bg: var(--bg-soft);
  --marquee-text: rgba(31,26,23,0.5);

  color-scheme: light;
}

/* ---------- Dark theme: Forest Night ---------- */
[data-theme="dark"]{
  --bg:#0e1210;
  --bg-soft:#141a17;
  --bg-card:rgba(20,26,23,0.9);
  --bg-glass:rgba(14,18,16,0.9);
  --bg-inset:rgba(255,255,255,0.04);

  --text:#ede8e0;
  --text-secondary:rgba(237,232,224,0.66);
  --text-muted:rgba(237,232,224,0.4);
  --text-on-accent:#f5f0e8;

  --accent:#4d8a68;
  --accent-bright:#6aad86;
  --accent-dark:#2d5240;
  --secondary:#d4754f;
  --secondary-bright:#e8926e;
  --warm:#c9923e;

  --border:rgba(255,255,255,0.08);
  --border-hover:rgba(77,138,104,0.4);
  --accent-border:rgba(77,138,104,0.32);
  --secondary-border:rgba(212,117,79,0.32);

  --shadow-card:0 20px 50px rgba(0,0,0,0.45), 0 2px 10px rgba(0,0,0,0.3);
  --shadow-glow:0 40px 110px rgba(77,138,104,0.14);
  --shadow-btn:0 14px 30px rgba(45,82,64,0.5);

  --grad-accent-text:linear-gradient(125deg, #4d8a68, #d4754f, #c9923e);
  --grad-accent-btn:linear-gradient(160deg, #5da87a, #2d5240 55%, #1f3a2c);
  --grad-accent:linear-gradient(135deg, rgba(77,138,104,0.10), rgba(45,82,64,0.24));
  --grad-horizon:linear-gradient(180deg, transparent, rgba(77,138,104,0.22) 70%, rgba(212,117,79,0.26) 100%);
  --hero-horizon:linear-gradient(90deg, transparent, var(--accent) 35%, var(--secondary) 50%, var(--accent) 65%, transparent);
  --grad-footer-line:linear-gradient(90deg, transparent, var(--accent), var(--secondary), transparent);
  --intro-scan:linear-gradient(90deg, transparent, var(--accent), var(--secondary), transparent);

  --atmo-1: radial-gradient(circle at 12% 8%, rgba(77,138,104,0.16), transparent 55%);
  --atmo-2: radial-gradient(circle at 88% 18%, rgba(212,117,79,0.12), transparent 50%);
  --atmo-3: radial-gradient(circle at 50% 100%, rgba(201,146,62,0.10), transparent 60%);
  --grid-line: rgba(255,255,255,0.045);
  --noise-opacity:0.04;
  --scanline-opacity:0.28;
  --cursor-glow-color: rgba(77,138,104,0.16);

  --radar-border: rgba(255,255,255,0.14);
  --radar-sweep: rgba(77,138,104,0.28);
  --path-stroke: var(--secondary);
  --hero-fl370: rgba(255,255,255,0.05);
  --hud-color: rgba(237,232,224,0.45);
  --marquee-bg: var(--bg-soft);
  --marquee-text: rgba(237,232,224,0.42);

  color-scheme: dark;
}

/* ---------- Reset ---------- */
*, *::before, *::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:hidden; }
html, body{ background:var(--bg); }
body{
  margin:0;
  min-height:100vh;
  font-family:var(--font-body);
  color:var(--text);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
  transition:background-color .35s var(--ease-out), color .35s var(--ease-out);
}
h1,h2,h3,h4{ margin:0; font-family:var(--font-display); }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
img{ max-width:100%; display:block; }
::selection{ background:var(--accent); color:var(--text-on-accent); }

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ---------- Atmosphere layers ---------- */
body::before{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image: var(--atmo-1), var(--atmo-2), var(--atmo-3);
}
body::after{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 90%);
          mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 90%);
}
.noise-overlay{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:var(--noise-opacity);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.scanlines{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:var(--scanline-opacity);
  background-image:repeating-linear-gradient(0deg, rgba(0,0,0,.35) 0px, rgba(0,0,0,.35) 1px, transparent 1px, transparent 3px);
  mix-blend-mode:overlay;
}
[data-theme="light"] .scanlines{ mix-blend-mode:multiply; opacity:calc(var(--scanline-opacity) * .6); }
.vignette{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse 120% 90% at 50% 40%, transparent 55%, rgba(0,0,0,.22) 100%);
}
[data-theme="light"] .vignette{ background:radial-gradient(ellipse 120% 90% at 50% 40%, transparent 60%, rgba(31,26,23,.08) 100%); }
.cursor-glow{
  position:fixed; z-index:1; pointer-events:none;
  width:420px; height:420px; border-radius:50%; left:0; top:0;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, var(--cursor-glow-color), transparent 70%);
  opacity:0; transition:opacity .4s var(--ease-out);
  will-change:transform;
}
@media (hover:none){ .cursor-glow{ display:none; } }

/* ---------- Layout ---------- */
.an-shell{ position:relative; z-index:2; min-height:100vh; display:flex; flex-direction:column; }
.an-container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 40px; }
@media (max-width:640px){
  .an-container{ padding:0 max(20px, env(safe-area-inset-left)) 0 max(20px, env(safe-area-inset-right)); }
}

/* ---------- Navbar ---------- */
.an-nav-wrap{
  position:sticky; top:0; z-index:50;
  height:var(--nav-height);
  border-bottom:1px solid transparent;
  transition:background-color .35s var(--ease-out), border-color .35s var(--ease-out), backdrop-filter .35s var(--ease-out);
}
.an-nav-wrap.is-scrolled{
  background:var(--bg-glass);
  backdrop-filter:blur(24px) saturate(1.4);
  -webkit-backdrop-filter:blur(24px) saturate(1.4);
  border-bottom-color:var(--border);
}
.an-nav{
  height:var(--nav-height);
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
}
.an-brand{ display:flex; align-items:center; gap:12px; min-width:0; }
.an-brand-link{ display:flex; align-items:center; gap:11px; min-width:0; }
.an-brand-logo{ height:44px; width:auto; max-width:220px; object-fit:contain; flex-shrink:0; display:none; }
.an-brand-logo--light{ display:block; }
[data-theme="dark"] .an-brand-logo--light{ display:none; }
[data-theme="dark"] .an-brand-logo--dark{ display:block; }
.an-menu-toggle{
  display:none; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:var(--radius-xs);
  border:1px solid var(--border); background:var(--bg-inset); color:var(--text);
  cursor:pointer; flex-shrink:0; outline:none;
}
.an-menu-toggle:focus{ outline:none; }
.an-menu-toggle:focus-visible{ outline:2px solid var(--accent-border); outline-offset:2px; }
.an-nav-actions{ display:flex; align-items:center; gap:10px; }

/* Theme toggle — simple icon swap, no sliding parts to misalign */
.an-theme-toggle{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; flex-shrink:0;
  border-radius:var(--radius-xs); border:1px solid var(--border);
  background:var(--bg-inset); color:var(--text); cursor:pointer;
  outline:none;
  transition:border-color .2s var(--ease-out), background-color .2s var(--ease-out);
}
.an-theme-toggle:hover{ border-color:var(--border-hover); }
.an-theme-toggle:focus{ outline:none; }
.an-theme-toggle:focus-visible{ outline:2px solid var(--accent-border); outline-offset:2px; }
.an-theme-toggle svg{
  position:absolute; width:18px; height:18px;
  transition:opacity .25s var(--ease-out), transform .3s var(--ease-out);
}
.an-theme-toggle .icon-sun{ opacity:1; transform:scale(1) rotate(0deg); }
.an-theme-toggle .icon-moon{ opacity:0; transform:scale(.4) rotate(-45deg); }
[data-theme="dark"] .an-theme-toggle .icon-sun{ opacity:0; transform:scale(.4) rotate(45deg); }
[data-theme="dark"] .an-theme-toggle .icon-moon{ opacity:1; transform:scale(1) rotate(0deg); }

/* Nav CTA / buttons */
.btn-primary, .btn-secondary, .btn-ghost, .nav-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-body); font-weight:700; font-size:14px;
  border-radius:999px; border:1px solid transparent; cursor:pointer;
  padding:12px 22px; white-space:nowrap;
  transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), background-color .22s var(--ease-out), border-color .22s var(--ease-out), color .22s var(--ease-out);
  text-decoration:none;
}
.btn-primary, .nav-cta{
  background:var(--accent); color:var(--text-on-accent);
  box-shadow:var(--shadow-btn);
}
.btn-primary:hover, .nav-cta:hover{ background:var(--accent-bright); transform:translateY(-2px); box-shadow:0 16px 34px rgba(45,82,64,.32); }
.btn-primary:active, .nav-cta:active{ transform:translateY(0); }
.btn-primary:disabled{ opacity:.5; cursor:default; transform:none; }
.btn-secondary{
  background:var(--bg-inset); color:var(--text); border-color:var(--border);
}
.btn-secondary:hover{ border-color:var(--border-hover); background:var(--bg-card); transform:translateY(-1px); }
.btn-ghost{
  background:transparent; color:var(--text-secondary); border-color:transparent; padding:10px 6px;
}
.btn-ghost:hover{ color:var(--accent); }

/* ---------- Sidebar (kept for pages migrated to v2 base) ---------- */
.an-sidebar{
  width:248px; flex-shrink:0;
  padding:22px 14px 22px 0;
}
.an-sidebar-section + .an-sidebar-section{ margin-top:22px; }
.an-sidebar-title{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--text-muted); padding:0 14px; margin-bottom:8px;
}
.an-side-link{
  display:block; padding:10px 14px; border-radius:var(--radius-xs);
  color:var(--text-secondary); font-size:14px; font-weight:500;
  transition:background-color .18s var(--ease-out), color .18s var(--ease-out);
}
.an-side-link:hover{ background:var(--bg-inset); color:var(--text); }
.an-side-link.active{ background:var(--bg-inset); color:var(--accent); font-weight:700; }

@media (max-width:960px){
  .an-menu-toggle{ display:inline-flex; }
  .an-sidebar{
    position:fixed; top:0; left:0; bottom:0; z-index:80;
    width:min(84vw, 300px); background:var(--bg-card); border-right:1px solid var(--border);
    transform:translateX(-100%); transition:transform .3s var(--ease-out);
    overflow-y:auto; padding:calc(var(--nav-height) + 16px) 16px 24px;
    box-shadow:0 0 0 100vmax rgba(0,0,0,0);
  }
  .an-sidebar.open{ transform:translateX(0); box-shadow:20px 0 60px rgba(0,0,0,.25); }
}

/* ---------- Cards ---------- */
.an-card{
  position:relative;
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  transition:border-color .25s var(--ease-out), transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.an-card::before{
  content:""; position:absolute; top:0; left:16px; right:16px; height:1px;
  background:linear-gradient(90deg, transparent, var(--accent), transparent);
  opacity:.5;
}
.an-card:hover{ border-color:var(--border-hover); }

/* ---------- Flash / alerts ---------- */
.an-flashes{ display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.an-flash{
  display:flex; align-items:center; gap:10px;
  padding:12px 16px; border-radius:var(--radius-xs);
  font-size:14px; border:1px solid var(--border); background:var(--bg-inset); color:var(--text);
}
.an-flash--success{ border-color:rgba(45,82,64,.35); background:rgba(45,82,64,.08); }
.an-flash--error, .an-flash--danger{ border-color:rgba(168,61,85,.35); background:rgba(168,61,85,.08); }
.an-flash--warning{ border-color:rgba(201,146,62,.4); background:rgba(201,146,62,.1); }
.an-flash--info{ border-color:var(--accent-border); }

/* Breadcrumbs */
.an-crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px;
  margin:0 0 14px; font-size:13px; line-height:1.3; color:var(--text-muted);
}
.an-crumbs-link{
  color:var(--text-secondary); text-decoration:none;
  transition:color .15s var(--ease-out);
}
.an-crumbs-link:hover{ color:var(--accent); text-decoration:underline; }
.an-crumbs-sep{ color:var(--text-muted); opacity:.55; user-select:none; }
.an-crumbs-current{ color:var(--text); font-weight:600; }

/* ---------- Overlays ---------- */
.an-overlay{
  position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  padding:20px; background:rgba(14,18,16,.6); backdrop-filter:blur(6px);
}
[data-theme="light"] .an-overlay{ background:rgba(31,26,23,.42); }
.an-overlay-modal{
  width:min(480px, 100%); background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius); padding:28px; box-shadow:var(--shadow-glow);
  text-align:center;
}
.an-overlay-modal h3{ font-size:19px; font-weight:800; margin-bottom:8px; }
.an-overlay-modal p{ font-size:14px; color:var(--text-secondary); margin-bottom:18px; line-height:1.55; }
.an-overlay-badge{ font-size:26px; margin-bottom:10px; }

/* ---------- Notifications & user menu ---------- */
.notif-wrap{ position:relative; }
.notif-badge{
  position:absolute; top:2px; right:2px; min-width:16px; height:16px; padding:0 4px;
  border-radius:999px; background:var(--hot); color:#fff; font-size:10px; font-weight:800;
  display:inline-flex; align-items:center; justify-content:center; line-height:1;
  border:2px solid var(--bg);
}
.notif-dropdown{
  position:absolute; top:calc(100% + 10px); right:0; z-index:70;
  width:min(94vw,360px); max-height:420px; overflow-y:auto;
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-sm);
  box-shadow:var(--shadow-glow);
}
.notif-head{ padding:14px 16px; font-weight:700; font-size:14px; border-bottom:1px solid var(--border); }
.notif-list{ display:flex; flex-direction:column; }
.notif-empty{ padding:18px 16px; color:var(--text-muted); font-size:13.5px; }
.notif-item{ display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--border); position:relative; }
.notif-item:last-child{ border-bottom:none; }
.notif-item:hover{ background:var(--bg-inset); }
.notif-msg{ font-size:13.5px; line-height:1.4; color:var(--text); flex:1; }
.notif-co{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-muted); flex-shrink:0; }
.notif-co img, .notif-co-placeholder{ width:20px; height:20px; border-radius:6px; object-fit:cover; }
.notif-co-placeholder{ display:inline-flex; align-items:center; justify-content:center; background:var(--bg-inset); font-weight:700; font-size:10px; }
.unread-dot{ width:7px; height:7px; border-radius:50%; background:var(--accent); flex-shrink:0; }

.user-menu-wrap{ position:relative; }
.user-menu-trigger{
  display:flex; align-items:center; gap:8px; padding:5px 10px 5px 5px;
  background:var(--bg-inset); border:1px solid var(--border); border-radius:999px; cursor:pointer; color:var(--text);
  transition:border-color .18s var(--ease-out);
}
.user-menu-trigger:hover{ border-color:var(--border-hover); }
.user-menu-avatar{ width:30px; height:30px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.user-menu-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.user-menu-avatar-placeholder{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:var(--grad-accent-btn); color:var(--text-on-accent); font-weight:800; font-size:13px;
  border-radius:50%;
}
.user-menu-name{ font-size:13.5px; font-weight:600; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-menu-chevron{ display:flex; opacity:.6; transition:transform .18s var(--ease-out); }
.user-menu-trigger[aria-expanded="true"] .user-menu-chevron{ transform:rotate(180deg); }
.user-menu-dropdown{
  position:absolute; top:calc(100% + 10px); right:0; z-index:70; min-width:190px;
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-sm);
  box-shadow:var(--shadow-glow); padding:6px; flex-direction:column; gap:2px;
}
.user-menu-dropdown[hidden]{ display:none !important; }
.user-menu-dropdown:not([hidden]){ display:flex; }
.user-menu-item{ display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:var(--radius-xs); font-size:13.5px; font-weight:500; color:var(--text); }
.user-menu-item:hover{ background:var(--bg-inset); }
.user-menu-item--logout{ color:var(--hot); }

/* ---------- Announcements ---------- */
.announcement{ margin-bottom:18px; padding:16px 18px; border-radius:var(--radius-sm); background:var(--bg-inset); border:1px solid var(--border); border-left:3px solid var(--warm); }
.announcement-header{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.announcement-title{ font-family:var(--font-display); font-weight:700; font-size:15px; }
.announcement-message{ margin-top:6px; font-size:13.5px; color:var(--text-secondary); line-height:1.55; }
.announcement-actions{ margin-top:10px; }
.announcement-button{ display:inline-flex; padding:8px 16px; border-radius:999px; background:var(--accent); color:var(--text-on-accent); font-size:13px; font-weight:700; }
.announcement-close{ background:none; border:none; color:var(--text-muted); font-size:18px; line-height:1; cursor:pointer; flex-shrink:0; }
.announcement-close:hover{ color:var(--text); }

/* ---------- Footer ---------- */
.an-footer{ position:relative; z-index:2; margin-top:auto; padding:28px 0 32px; }
.an-footer::before{
  content:""; display:block; height:1px; margin-bottom:24px;
  background:var(--grad-footer-line); opacity:.6;
}
.an-footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.an-footer-note{ font-family:var(--font-mono); font-size:11.5px; color:var(--text-muted); letter-spacing:.02em; }
.an-lang-switcher select{
  appearance:none; -webkit-appearance:none;
  background:var(--bg-inset); border:1px solid var(--border); color:var(--text);
  font-family:var(--font-body); font-size:13px; font-weight:600;
  padding:8px 30px 8px 14px; border-radius:999px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231f1a17' stroke-width='1.4' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center;
}
[data-theme="dark"] .an-lang-switcher select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23ede8e0' stroke-width='1.4' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
}

/* ---------- Impersonate banner ---------- */
.an-impersonate{
  position:relative; z-index:60;
  background:var(--hot); color:#fdf3f0; font-size:13px; font-weight:600;
  padding:9px 16px; text-align:center;
}
.an-impersonate a{ text-decoration:underline; font-weight:800; margin-left:8px; }

/* ---------- Reveal-on-scroll ---------- */
.an-reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.an-reveal.is-visible{ opacity:1; transform:none; }

/* ---------- sr-only ---------- */
.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; }
