/* BSAAB dark theme — palette taken from the logo (flag green, gold, red), softened and darkened for comfortable reading.
   Loaded after the page styles; every rule is prefixed with "html body" so it wins over Tailwind utility classes. */
:root {
  --bg:#0f1a15;        /* page background: deep green-black */
  --bg-alt:#14231c;    /* alternate sections */
  --bg-deep:#0a110d;   /* darkest sections, footer */
  --card:#182a22;      /* cards and panels */
  --text:#e6e2d6;      /* soft warm white (not pure white) */
  --green:#1f7a52;     /* flag green (buttons) */
  --green-hi:#5fc08e;  /* light green for text on dark */
  --gold:#dcaa3c;      /* logo yellow, softened */
  --gold-hi:#e8c36b;
  --red:#d6404a;       /* logo red, used sparingly */
  color-scheme: dark;
}
html body, html body.bg-ivory { background-color:var(--bg); color:var(--text); }
::selection { background:#dcaa3c; color:#0a110d; }

/* backgrounds */
html body .bg-ivory { background-color:var(--bg); }
html body .bg-cream { background-color:var(--bg-alt); }
html body .bg-ink { background-color:var(--bg-deep); }
html body .bg-white { background-color:var(--card); }
html body .bg-pine { background-color:var(--green); }
html body .bg-pine-soft { background-color:#1b3a2d; }
html body .bg-brass { background-color:var(--gold); }
html body .bg-brass-soft { background-color:#2c2713; }
html body .bg-ink\/10 { background-color:rgba(230,226,214,.08); }

/* text */
html body .text-ink { color:var(--text); }
html body .bg-brass.text-ink, html body .bg-brass .text-ink { color:#0a110d; }
html body .text-pine { color:var(--green-hi); }
html body .text-brass { color:var(--gold); }
html body .text-brass-ink { color:var(--gold-hi); }
html body .text-ink\/20 { color:rgba(230,226,214,.20); }
html body .text-ink\/30 { color:rgba(230,226,214,.30); }
html body .text-ink\/45 { color:rgba(230,226,214,.45); }
html body .text-ink\/50 { color:rgba(230,226,214,.50); }
html body .text-ink\/55 { color:rgba(230,226,214,.55); }
html body .text-ink\/60 { color:rgba(230,226,214,.60); }
html body .text-ink\/65 { color:rgba(230,226,214,.65); }
html body .text-ink\/70 { color:rgba(230,226,214,.70); }
html body .text-ink\/75 { color:rgba(230,226,214,.75); }
html body .group:hover .group-hover\:text-ink { color:var(--text); }
html body .decoration-ink, html body .decoration-ink\/20 { text-decoration-color:rgba(230,226,214,.35); }
html body .ring-ink\/5, html body .ring-ink\/10, html body .ring-ink\/30 { --tw-ring-color:rgba(230,226,214,.12); }
html body .ring-brass\/30 { --tw-ring-color:rgba(220,170,60,.35); }
html body .divide-ink\/10 > :not([hidden]) ~ :not([hidden]) { border-color:rgba(230,226,214,.12); }

/* components */
html body .kicker::before { background:var(--red); }
html body .card { background:var(--card); box-shadow:0 0 0 1px rgba(255,255,255,.07); }
html body .lift:hover { box-shadow:0 30px 60px -30px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.1); }
html body .btn-pine { background:var(--green); color:#fff; box-shadow:0 10px 30px -14px rgba(31,122,82,.7); }
html body .btn-pine:hover { background:#26905f; }
html body .btn-brass { background:var(--gold); color:#0a110d; box-shadow:0 10px 30px -14px rgba(220,170,60,.5); }
html body .btn-brass:hover { background:#e6b84a; }
html body .goal-num { -webkit-text-stroke-color:var(--gold); }
html body .portrait .ph-frame { background:#14231c; }

html body .nav.is-solid { color:var(--text); background:rgba(10,17,13,.82); box-shadow:0 1px 0 rgba(255,255,255,.07); }
html body .nav.is-solid .nav-link:hover, html body .nav.is-solid .nav-link.is-active { background:rgba(255,255,255,.08); }
html body .nav.is-solid .nav-icon { background:rgba(255,255,255,.08); }

html body .hero { background:radial-gradient(120% 90% at 85% 10%, #163a2b 0%, #0a110d 58%); }
html body .blob-red { background:#8f2a33; opacity:.3; }
html body .blob-green { background:var(--green); opacity:.35; }
html body .blob-brass { background:var(--gold); opacity:.14; }

/* forms */
html body .field > span { color:rgba(230,226,214,.75); }
html body .input { background:var(--bg-deep); color:var(--text); border-color:rgba(255,255,255,.14); }
html body .input::placeholder { color:rgba(230,226,214,.4); }
html body .input:focus { border-color:var(--green-hi); box-shadow:0 0 0 4px rgba(95,192,142,.18); }
html body select.input { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23b8b3a6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; }
html body select.input option { background:var(--bg-deep); color:var(--text); }
html body .field-hint { color:rgba(230,226,214,.5); }
html body .choice span { background:var(--bg-deep); border-color:rgba(255,255,255,.14); color:var(--text); }
html body .choice input:checked + span { border-color:var(--green-hi); background:#1b3a2d; color:var(--green-hi); }
html body .choice input:focus-visible + span { box-shadow:0 0 0 4px rgba(95,192,142,.2); }

/* team profile popup */
html body .mm { background:var(--card); color:var(--text); }
html body .mm .role { color:var(--gold-hi); }
html body .mm .q, html body .mm .bio { color:rgba(230,226,214,.8); }
html body .mm .ct a { color:var(--green-hi); }
html body .mm .ct i { background:rgba(255,255,255,.07); color:var(--green-hi); }
html body .mm .soc a { color:#fff; }
html body .mm .x { background:rgba(10,17,13,.85); color:var(--text); }

/* Programs / Events + Pictures sections */
html body .bs-ev { --brass:var(--gold); background:var(--bg-alt); color:var(--text); }
html body .bs-ev .eyebrow { color:var(--gold); }
html body .bs-ev .card { background:var(--card); color:var(--text); box-shadow:0 0 0 1px rgba(255,255,255,.07); }
html body .bs-ev .card h3 { color:var(--gold-hi); }
html body .bs-ev .arrow { background:var(--green); }
html body .bs-ev .tag { background:var(--bg-deep); color:var(--gold); }
html body .bs-ev .signup:hover { background:#e6b84a; }
html body .bs-pic { background:var(--bg); color:var(--text); }
html body .bs-pic h2 { color:var(--text); }
html body .bs-pic .eyebrow { color:var(--gold); }
html body .bs-pic .empty { color:rgba(230,226,214,.6); }
html body .bs-pic .car { background:var(--bg-alt); color:var(--text); }
html body .bs-ev .car .nav { background:rgba(230,226,214,.92); color:#0a110d; }
html body .bs-ev .pics img { background:#10201a; }

/* Position / title highlight on member portrait cards */
html body .pos-title { display:inline-block; max-width:100%; margin-top:8px; padding:5px 13px; border-radius:999px; background:transparent; border:1px solid rgba(232,195,107,.55); color:var(--gold-hi); font-size:11px; line-height:1.35; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
html body .portrait figcaption { color:var(--text); }
