/* ══════════════════════════════════════════════════════════════════════════
   ASAS-AI — Theme definitions (single source of truth)
   The 12 chat themes, shared by the chat (#asas-app[data-theme]) and any other
   ASAS surface that opts in with class="asas-themed" data-theme="…" (e.g. the
   [asas_usage] profile dashboard). Text tokens are tuned so --t3 ≥ 4.8:1,
   --t2 ≥ 6:1 and --ac ≥ 4.8:1 on every surface of the theme.
   ══════════════════════════════════════════════════════════════════════════ */

#asas-app[data-theme="midnight-navy"],
.asas-themed[data-theme="midnight-navy"] {
  --bg:#0a0f1e; --sb:#111827; --sf:#131c2e; --s2:#1a2540; --s3:rgba(255,255,255,.02);
  --n3:#1a2540; --bd:rgba(212,168,71,.14); --b2:rgba(255,255,255,.07); --b3:rgba(255,255,255,.04);
  --tx:#e8eaf2; --t2:#95a4c0; --t3:#8994aa;
  --ac:#D4A847; --ac2:#e8c14e; --ad:rgba(212,168,71,.15); --ag:rgba(212,168,71,.07);
  --ub:#1f3050; --ut:#e8eaf2; --cb:#0d1428; --ct:#c9d6f0; --an:#0a0f1e;
}

#asas-app[data-theme="obsidian"],
.asas-themed[data-theme="obsidian"] {
  --bg:#0a0a0a; --sb:#141414; --sf:#181818; --s2:#202020; --s3:rgba(255,255,255,.02);
  --n3:#1e1e1e; --bd:rgba(212,168,71,.16); --b2:rgba(255,255,255,.08); --b3:rgba(255,255,255,.04);
  --tx:#e8e8ea; --t2:#9d9da2; --t3:#8b8b90;
  --ac:#D4A847; --ac2:#e8c14e; --ad:rgba(212,168,71,.13); --ag:rgba(212,168,71,.06);
  --ub:#1e1e2e; --ut:#e8e8ea; --cb:#0f0f0f; --ct:#d4d4d8; --an:#0a0a0a;
}

#asas-app[data-theme="deep-slate"],
.asas-themed[data-theme="deep-slate"] {
  --bg:#0f172a; --sb:#1e293b; --sf:#192236; --s2:#233042; --s3:rgba(148,163,184,.03);
  --n3:#253347; --bd:rgba(212,168,71,.13); --b2:rgba(148,163,184,.09); --b3:rgba(148,163,184,.05);
  --tx:#e2e8f0; --t2:#a7b4c5; --t3:#98a1af;
  --ac:#D4A847; --ac2:#e8c14e; --ad:rgba(212,168,71,.12); --ag:rgba(212,168,71,.06);
  --ub:#1e3a5f; --ut:#e2e8f0; --cb:#0c1525; --ct:#cbd5e1; --an:#0f172a;
}

#asas-app[data-theme="volcanic"],
.asas-themed[data-theme="volcanic"] {
  --bg:#120a08; --sb:#1c120f; --sf:#1a100d; --s2:#231714; --s3:rgba(232,100,30,.03);
  --n3:#261a16; --bd:rgba(232,146,74,.18); --b2:rgba(232,146,74,.09); --b3:rgba(232,146,74,.05);
  --tx:#f0e6e0; --t2:#bc9284; --t3:#a08279;
  --ac:#e8924a; --ac2:#f5a865; --ad:rgba(232,146,74,.16); --ag:rgba(232,146,74,.08);
  --ub:#2a1510; --ut:#f0e6e0; --cb:#0e0806; --ct:#e8d5c8; --an:#120a08;
}

#asas-app[data-theme="forest"],
.asas-themed[data-theme="forest"] {
  --bg:#071410; --sb:#0e1e19; --sf:#0d1c17; --s2:#152520; --s3:rgba(52,211,153,.03);
  --n3:#162820; --bd:rgba(52,211,153,.15); --b2:rgba(52,211,153,.08); --b3:rgba(52,211,153,.04);
  --tx:#d1fae5; --t2:#6ee7b7; --t3:#5f9e86;
  --ac:#34d399; --ac2:#6ee7b7; --ad:rgba(52,211,153,.13); --ag:rgba(52,211,153,.07);
  --ub:#103828; --ut:#d1fae5; --cb:#050e0a; --ct:#a7f3d0; --an:#071410;
}

#asas-app[data-theme="cosmic-purple"],
.asas-themed[data-theme="cosmic-purple"] {
  --bg:#0d0818; --sb:#150e26; --sf:#120c22; --s2:#1b1332; --s3:rgba(167,139,250,.03);
  --n3:#1e1535; --bd:rgba(167,139,250,.18); --b2:rgba(167,139,250,.09); --b3:rgba(167,139,250,.05);
  --tx:#ede9fe; --t2:#a78bfa; --t3:#907cc2;
  --ac:#a78bfa; --ac2:#c4b5fd; --ad:rgba(167,139,250,.15); --ag:rgba(167,139,250,.08);
  --ub:#1e1040; --ut:#ede9fe; --cb:#090612; --ct:#ddd6fe; --an:#0d0818;
}

#asas-app[data-theme="steel-blue"],
.asas-themed[data-theme="steel-blue"] {
  --bg:#080e18; --sb:#101828; --sf:#0e1624; --s2:#162030; --s3:rgba(56,189,248,.03);
  --n3:#182034; --bd:rgba(56,189,248,.16); --b2:rgba(56,189,248,.08); --b3:rgba(56,189,248,.04);
  --tx:#e0f2fe; --t2:#7dd3fc; --t3:#6794ac;
  --ac:#38bdf8; --ac2:#7dd3fc; --ad:rgba(56,189,248,.13); --ag:rgba(56,189,248,.07);
  --ub:#0c2a42; --ut:#e0f2fe; --cb:#060c14; --ct:#bae6fd; --an:#080e18;
}

#asas-app[data-theme="gold-standard"],
.asas-themed[data-theme="gold-standard"] {
  --bg:#0f0b05; --sb:#181308; --sf:#161109; --s2:#201810; --s3:rgba(212,168,71,.03);
  --n3:#22190c; --bd:rgba(212,168,71,.24); --b2:rgba(212,168,71,.12); --b3:rgba(212,168,71,.07);
  --tx:#f5ecd0; --t2:#b89a60; --t3:#998566;
  --ac:#D4A847; --ac2:#e8c14e; --ad:rgba(212,168,71,.18); --ag:rgba(212,168,71,.09);
  --ub:#1f180a; --ut:#f5ecd0; --cb:#0c0804; --ct:#e8d5b0; --an:#0f0b05;
}

#asas-app[data-theme="light-cloud"],
.asas-themed[data-theme="light-cloud"] {
  --bg:#f5f7fa; --sb:#eaecf2; --sf:#ffffff; --s2:#eef0f6; --s3:rgba(0,0,0,.02);
  --n3:#e0e4ed; --bd:rgba(0,0,0,.1); --b2:rgba(0,0,0,.07); --b3:rgba(0,0,0,.04);
  --tx:#1a1f2e; --t2:#49526b; --t3:#5a6173;
  --ac:#7f5b00; --ac2:#805900; --ad:rgba(154,110,0,.1); --ag:rgba(154,110,0,.05);
  --ub:#b8d4f0; --ut:#0d1628; --cb:#f0f2f7; --ct:#2a3555; --an:#ffffff;
}

#asas-app[data-theme="light-paper"],
.asas-themed[data-theme="light-paper"] {
  --bg:#faf7f0; --sb:#f0e8d8; --sf:#fefcf5; --s2:#f5edd8; --s3:rgba(150,110,40,.03);
  --n3:#e8ddc8; --bd:rgba(140,100,30,.18); --b2:rgba(0,0,0,.08); --b3:rgba(0,0,0,.05);
  --tx:#2a200e; --t2:#644b2d; --t3:#715a36;
  --ac:#7e5600; --ac2:#7f5500; --ad:rgba(138,94,0,.11); --ag:rgba(138,94,0,.06);
  --ub:#e5d8b8; --ut:#2a200e; --cb:#f2ead8; --ct:#3a2a10; --an:#fefcf5;
}

#asas-app[data-theme="light-arctic"],
.asas-themed[data-theme="light-arctic"] {
  --bg:#ecf4ff; --sb:#dceeff; --sf:#ffffff; --s2:#e8f2ff; --s3:rgba(29,111,191,.03);
  --n3:#cce0fa; --bd:rgba(29,111,191,.18); --b2:rgba(0,0,0,.08); --b3:rgba(0,0,0,.04);
  --tx:#0a1e40; --t2:#2a5080; --t3:#435e83;
  --ac:#1558aa; --ac2:#1e5baf; --ad:rgba(21,88,170,.1); --ag:rgba(21,88,170,.05);
  --ub:#a8c8f0; --ut:#051225; --cb:#e4f0ff; --ct:#1a3060; --an:#ffffff;
}

#asas-app[data-theme="light-sage"],
.asas-themed[data-theme="light-sage"] {
  --bg:#eef6f0; --sb:#e0f0e6; --sf:#f8fef9; --s2:#e8f5ec; --s3:rgba(42,138,80,.03);
  --n3:#d4eadb; --bd:rgba(42,138,80,.2); --b2:rgba(0,0,0,.07); --b3:rgba(0,0,0,.04);
  --tx:#182a1e; --t2:#335c40; --t3:#476751;
  --ac:#1d703b; --ac2:#216e3a; --ad:rgba(30,120,64,.11); --ag:rgba(30,120,64,.06);
  --ub:#a0d4b4; --ut:#0d1e14; --cb:#e8f5ec; --ct:#1a3826; --an:#f8fef9;
}


/* ── Legacy variable bridge ───────────────────────────────────────────────
   The template and many rules colour text with --text / --text2 / --text3,
   which were defined once (dark values) and never followed the theme — so
   light themes painted near-white and dim-grey text on light backgrounds.
   Every theme now drives them. Theme text values are tuned so --t3 ≥ 4.8:1,
   --t2 ≥ 6:1 and --ac ≥ 4.8:1 on every surface of that theme.            */
#asas-app[data-theme],
.asas-themed[data-theme] {
  --text: var(--tx); --text2: var(--t2); --text3: var(--t3);
  /* surfaces and borders too — these were also fixed at dark values, so a
     component painted with them (e.g. the attachment chip) stayed dark on
     light themes while its text followed the theme, or vice versa. */
  --navy: var(--bg); --navy2: var(--sb); --navy3: var(--n3); --navy4: var(--s2);
  --surface: var(--sf); --surface2: var(--s2); --surface3: var(--n3);
  --border: var(--bd); --border2: var(--b2); --border3: var(--b3);
  --gold-dim: var(--ad); --gold-glow: var(--ag); --gold: var(--ac); --gold2: var(--ac2);
  --user-bg: var(--ub); --user-text: var(--ut); --code-bg: var(--cb); --code-text: var(--ct);
}

/* ══════════════════════════════════════════════════════════════════════════
   PORTALS — menus, pickers and dialogs attached to <body>
   asas-chat.js tags each one with .asas-themed.asas-portal[data-theme], so the
   theme tokens above reach them. These rules replace the fixed dark-navy
   colours they were drawn with, so every menu, submenu and dialog follows the
   active theme (light ones included). Specificity beats the old !important
   rules scoped to the bare ids.
   ══════════════════════════════════════════════════════════════════════════ */
.asas-portal[data-theme] { color: var(--tx); }
html.asas-light .asas-portal[data-theme] { --portal-shadow: 0 12px 34px rgba(20,30,50,.16); }
html:not(.asas-light) .asas-portal[data-theme] { --portal-shadow: 0 12px 40px rgba(0,0,0,.6); }

/* Colour-theme picker */
#asas-theme-picker.asas-portal[data-theme] { background: var(--sb) !important; border-color: var(--bd) !important; color: var(--tx) !important; box-shadow: var(--portal-shadow) !important; }
#asas-theme-picker.asas-portal[data-theme] .asas-theme-lbl       { color: var(--t2) !important; }
#asas-theme-picker.asas-portal[data-theme] .asas-theme-group-lbl { color: var(--t3) !important; opacity: 1 !important; }
#asas-theme-picker.asas-portal[data-theme] .asas-theme-swatch.active .asas-theme-lbl { color: var(--ac) !important; }
#asas-theme-picker.asas-portal[data-theme] #asas-theme-picker-close,
#asas-theme-picker.asas-portal[data-theme] .asas-theme-picker-hd span { color: var(--t2) !important; }
#asas-theme-picker.asas-portal[data-theme] .asas-theme-swatch.active .asas-theme-preview { border-color: var(--ac) !important; }

/* Conversation / folder menus and slash menus */
.asas-ctx-menu.asas-portal[data-theme],
.asas-folder-menu.asas-portal[data-theme],
#asas-slash-menu.asas-portal[data-theme],
.asas-slash-menu.asas-portal[data-theme] { background: var(--sb) !important; border-color: var(--bd) !important; box-shadow: var(--portal-shadow) !important; }
.asas-ctx-menu.asas-portal[data-theme] button:not(.asas-ctx-delete) { color: var(--t2) !important; }
.asas-ctx-menu.asas-portal[data-theme] button:hover { background: var(--s2) !important; color: var(--tx) !important; }

/* Workflow dialog */
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal { background: var(--sf) !important; border-color: var(--bd) !important; box-shadow: var(--portal-shadow) !important; }
#asas-wf-overlay.asas-portal[data-theme] .asas-wf-head,
#asas-wf-overlay.asas-portal[data-theme] .asas-wf-foot { background: var(--sb) !important; border-color: var(--b2) !important; }
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-title,
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-label { color: var(--tx) !important; }
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-intro,
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-hint { color: var(--t2) !important; }
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-req { color: var(--ac) !important; }
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-input,
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal select.asas-wf-input,
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal textarea.asas-wf-input {
  background-color: var(--bg) !important; color: var(--tx) !important; -webkit-text-fill-color: var(--tx) !important;
  border-color: var(--b2) !important; caret-color: var(--ac);
}
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-input:focus { border-color: var(--ac) !important; box-shadow: 0 0 0 3px var(--ad) !important; background-color: var(--sf) !important; }
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-input::placeholder { color: var(--t3) !important; -webkit-text-fill-color: var(--t3) !important; }
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-input option { background-color: var(--sf) !important; color: var(--tx) !important; -webkit-text-fill-color: var(--tx) !important; }
#asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-input option:checked { background-color: var(--ac) !important; color: var(--an) !important; -webkit-text-fill-color: var(--an) !important; }
#asas-wf-overlay.asas-portal[data-theme] .asas-wf-cancel { color: var(--t2) !important; border-color: var(--b2) !important; }
#asas-wf-overlay.asas-portal[data-theme] .asas-wf-run { background: var(--ac) !important; color: var(--an) !important; }
html.asas-light #asas-wf-overlay.asas-portal[data-theme] #asas-wf-modal .asas-wf-run { color: #fff !important; }

/* PowerPoint theme picker */
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-modal { background: var(--sf); border-color: var(--bd); color: var(--tx); box-shadow: var(--portal-shadow); }
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-head { color: var(--tx); border-color: var(--b2); }
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-card { background: var(--bg); border-color: var(--b2); color: var(--tx); }
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-card:hover,
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-card.is-sel { border-color: var(--ac); }
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-name { color: var(--tx); }
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-name em { color: var(--ac); }
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-hint,
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-foot,
#asas-deck-theme-picker.asas-portal[data-theme] .asas-tp-x { color: var(--t2); }

/* Standards tooltip + command-bar toast */
.asas-std-tooltip.asas-portal[data-theme],
#asas-cbtst.asas-portal[data-theme] { background: var(--sb) !important; border-color: var(--bd) !important; color: var(--tx) !important; box-shadow: var(--portal-shadow) !important; }

/* Project-context dialog */
#asas-proj-ctx-modal.asas-portal[data-theme] { background: rgba(5,8,18,.55) !important; }
html.asas-light #asas-proj-ctx-modal.asas-portal[data-theme] { background: rgba(40,48,64,.35) !important; }
#asas-proj-ctx-modal.asas-portal[data-theme] > div { background: var(--sf) !important; border-color: var(--bd) !important; box-shadow: var(--portal-shadow) !important; }
#asas-proj-ctx-modal.asas-portal[data-theme] label,
#asas-proj-ctx-modal.asas-portal[data-theme] p { color: var(--t2) !important; }
#asas-proj-ctx-modal.asas-portal[data-theme] span { color: var(--ac) !important; }
#asas-proj-ctx-modal.asas-portal[data-theme] .asas-ctx-input { background: var(--bg) !important; border-color: var(--b2) !important; color: var(--tx) !important; }
#asas-proj-ctx-modal.asas-portal[data-theme] .asas-ctx-input::placeholder { color: var(--t3) !important; }
#asas-proj-ctx-modal.asas-portal[data-theme] #asas-proj-ctx-save { background: var(--ad) !important; border-color: var(--bd) !important; color: var(--ac) !important; }
#asas-proj-ctx-modal.asas-portal[data-theme] #asas-proj-ctx-clear,
#asas-proj-ctx-modal.asas-portal[data-theme] #asas-proj-ctx-close { color: var(--t2) !important; border-color: var(--b2) !important; }
html.asas-light .asas-ctx-menu.asas-portal[data-theme] .asas-ctx-delete,
html.asas-light .asas-folder-menu.asas-portal[data-theme] .asas-folder-menu-danger { color: #b42318 !important; }

/* ══════════════════════════════════════════════════════════════════════════
   PROFILE HERO — aurora + finite-element mesh centred on the user's photo
   (drawn by ASAS_Aurora.hero in asas-aurora.js; shared by the account panel
   and the [asas_usage] profile page, both of which load this file).
   ══════════════════════════════════════════════════════════════════════════ */
.asas-hero-fx-on { position: relative; isolation: isolate; overflow: hidden; }
.asas-hero-fx { position: absolute; inset: 0; z-index: 0; pointer-events: none; --mx: -999px; --my: -999px; }
.asas-hero-fx > div { position: absolute; inset: 0; }
.asas-hero-fx-on > :not(.asas-hero-fx) { position: relative; z-index: 1; }
.asas-hero-fx-on .asas-profile-hero-bg { display: none; }           /* old diagonal hatch */
.asas-hero-fx-on { background: linear-gradient(160deg, color-mix(in srgb, var(--sf, #131c2e) 70%, #000) 0%, var(--bg, #0a0f1e) 100%); }
html.asas-light .asas-hero-fx-on,
.asas-themed[data-theme^="light-"] .asas-hero-fx-on,
#asas-app[data-theme^="light-"] .asas-hero-fx-on { background: linear-gradient(160deg, var(--sf, #fff) 0%, var(--bg, #f5f7fa) 100%); }

.asas-hero-aurora i {
  position: absolute; display: block; border-radius: 50%; filter: blur(14px); will-change: transform;
  animation: asas-hero-drift 26s ease-in-out infinite alternate;
}
.asas-hero-aurora i:nth-child(1) { width: 75%; height: 70%; left: -20%; top: -25%; background: radial-gradient(closest-side, rgba(20,184,166,.45), transparent); }
.asas-hero-aurora i:nth-child(2) { width: 65%; height: 65%; left: 35%; top: -30%; background: radial-gradient(closest-side, rgba(139,92,246,.40), transparent); animation-duration: 32s; animation-delay: -9s; }
.asas-hero-aurora i:nth-child(3) { width: 60%; height: 70%; right: -22%; bottom: -35%; background: radial-gradient(closest-side, color-mix(in srgb, var(--ac, #D4A847) 55%, transparent), transparent); animation-duration: 38s; animation-delay: -17s; }
@keyframes asas-hero-drift { 0% { translate: 0 0; scale: 1; } 50% { translate: 6% 4%; scale: 1.08; } 100% { translate: -5% 6%; scale: .95; } }

.asas-hero-mesh { color: color-mix(in srgb, var(--ac, #D4A847) 55%, #8fb3e6); opacity: .55;
  -webkit-mask-image: radial-gradient(circle at var(--hx, 20%) var(--hy, 50%), #000 0, rgba(0,0,0,.55) 90px, transparent 260px);
          mask-image: radial-gradient(circle at var(--hx, 20%) var(--hy, 50%), #000 0, rgba(0,0,0,.55) 90px, transparent 260px); }
.asas-hero-glow { color: var(--ac, #D4A847); opacity: .9;
  -webkit-mask-image: radial-gradient(circle 90px at var(--mx) var(--my), #000, transparent);
          mask-image: radial-gradient(circle 90px at var(--mx) var(--my), #000, transparent); }
.asas-hero-mesh svg, .asas-hero-glow svg { display: block; width: 100%; height: 100%; }
/* a gold ring hugs the photo, like the hole edge on the stress plot */
#asas-av-wrap, .asas-ua-avatar { border-radius: 50%; box-shadow: 0 0 0 2px color-mix(in srgb, var(--ac, #D4A847) 70%, transparent), 0 0 22px color-mix(in srgb, var(--ac, #D4A847) 35%, transparent); }
html.asas-light .asas-hero-mesh, .asas-themed[data-theme^="light-"] .asas-hero-mesh, #asas-app[data-theme^="light-"] .asas-hero-mesh { opacity: .38; }
html.asas-light .asas-hero-aurora, .asas-themed[data-theme^="light-"] .asas-hero-aurora, #asas-app[data-theme^="light-"] .asas-hero-aurora { opacity: .55; }
@media (prefers-reduced-motion: reduce) { .asas-hero-aurora i { animation: none; } }

/* Profile page avatar */
.asas-ua-hero { display: flex; align-items: center; gap: 16px; padding: 18px; border-radius: 16px; margin: -4px -4px 18px; }
.asas-ua-avatar { width: 64px; height: 64px; flex: 0 0 64px; overflow: hidden; background: var(--s2, #1a2540); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 22px; color: var(--ac, #D4A847); }
.asas-ua-avatar { position: relative; }
.asas-ua-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.asas-ua-hero-text { min-width: 0; }
@media (max-width: 480px) { .asas-ua-hero { padding: 14px; gap: 12px; } .asas-ua-avatar { width: 52px; height: 52px; flex-basis: 52px; } }
.asas-ua-hero .asas-hero-mesh { opacity: .75;
  -webkit-mask-image: radial-gradient(ellipse 420px 160px at var(--hx, 10%) var(--hy, 50%), #000 0, rgba(0,0,0,.5) 45%, transparent 100%);
          mask-image: radial-gradient(ellipse 420px 160px at var(--hx, 10%) var(--hy, 50%), #000 0, rgba(0,0,0,.5) 45%, transparent 100%); }
/* text over the mesh keeps a soft halo of the card colour so it always reads */
.asas-profile-hero-info > *, .asas-ua-hero-text > * { text-shadow: 0 0 6px var(--sf, #131c2e), 0 0 2px var(--sf, #131c2e); }

/* ── Access notice (signed out / no plan / tokens used up) ───────────────── */
.asas-gate-wrap { padding: 24px 16px; min-height: 60vh; background: var(--bg); color: var(--tx); box-sizing: border-box; }
.asas-gate-page .asas-gate-wrap { min-height: 0; }
#asas-standalone-wrap.asas-gate-host { background: var(--bg); overflow: auto !important; }
.asas-gate-wrap .asas-gate { max-width: 420px; margin: 48px auto 24px; padding: 30px; text-align: center; line-height: 1.6; font-size: 14.5px;
  background: var(--sf); border: 1px solid var(--bd); border-radius: 16px; color: var(--t2); box-shadow: 0 18px 50px -24px rgba(0,0,0,.55); }
.asas-gate-wrap .asas-gate-icon { width: 50px; height: 50px; border-radius: 12px; background: var(--ac); color: var(--an); display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.asas-gate-wrap .asas-gate h2 { font-size: 20px; font-weight: 600; color: var(--tx); margin: 0 0 10px; }
.asas-gate-wrap .asas-gate p { margin: 0 0 18px; color: var(--t2); }
.asas-gate-wrap .asas-gate .asas-btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 26px; border-radius: 10px;
  background: var(--ac); color: var(--an); font-weight: 600; text-decoration: none; }
.asas-gate-wrap .asas-gate .asas-btn:hover { background: var(--ac2); }
.asas-gate-wrap[data-theme^="light-"] .asas-gate .asas-btn { color: #fff; }
.asas-gate-wrap .asas-gate-link, .asas-gate-link { color: var(--ac, #C9A227); font-weight: 600; }
/* ASDD Programs lists the member's programs under this notice ("Your programs");
   its stylesheet was drawn for the old white notice, so give it the theme colours. */
.asas-gate-host #asdd-prog-quota { color: var(--tx) !important; }
.asas-gate-host #asdd-prog-quota h3 { color: var(--tx) !important; font-family: inherit !important; }
.asas-gate-host #asdd-prog-quota p { color: var(--t2) !important; }
.asas-gate-host #asdd-prog-quota .asdd-prog-card { background: var(--sf) !important; border-color: var(--bd) !important; color: var(--t2) !important; }
.asas-gate-host #asdd-prog-quota .asdd-prog-card b { color: var(--ac) !important; }
.asas-gate-host #asdd-prog-quota .asdd-prog-ic svg { stroke: var(--ac) !important; }
