/* uadebate.com: cab's tokens and look; the page rules come from the
   design board (opendebate-docs, uadebate v6). No JavaScript. */

@font-face {
  font-family: "Cedarville Cursive";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/cedarville-cursive.woff2") format("woff2");
}

:root {
  --brand:#66347E; --brand-700:#4C2A64; --brand-50:#F7F3FA;
  --ink:#1C1722; --muted:#716779; --line:#ECE7F0;
  --gold:#D99A2B; --gold-ink:#3A2A08; --gold-hover:#C98D22;
  --ok:#2E8B6E; --ok-bg:#EAF5F0; --warn:#B4552D; --warn-bg:#FAF0EA;
  --bg:#FCFBFD; --surface:#FFFFFF; --surface-2:#FBF9FC; --r:10px; --px:14px;
  --brand-fill:#66347E; --on-brand:#FFFFFF;
  --warn-surface:#FFFDFB; --ok-ink:#1E5C48; --warn-ink:#8A3F1E;
  --co:#D99A2B; --co-bg:#FBF4E7; --co-ink:#7C5714;
  color-scheme:light;
}
/* dark: the system's choice unless the header's theme button says light,
   or the button's dark */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --brand:#C9A2DD; --brand-700:#E2CBEE; --brand-50:#2B2232;
    --ink:#EEE8F2; --muted:#A99FB2; --line:#352D3C; --gold-ink:#2A1E05;
    --ok:#6CC6A6; --ok-bg:#16302A; --ok-ink:#9FE0C8;
    --warn:#E3876A; --warn-bg:#3A221B; --warn-ink:#F4B8A4; --warn-surface:#2A1D1A;
    --bg:#141017; --surface:#1C1720; --surface-2:#211B26;
    --co:#E3B262; --co-bg:#2E2416; --co-ink:#E9C27C;
    color-scheme:dark;
  }
}
:root[data-theme="dark"] {
  --brand:#C9A2DD; --brand-700:#E2CBEE; --brand-50:#2B2232;
  --ink:#EEE8F2; --muted:#A99FB2; --line:#352D3C; --gold-ink:#2A1E05;
  --ok:#6CC6A6; --ok-bg:#16302A; --ok-ink:#9FE0C8;
  --warn:#E3876A; --warn-bg:#3A221B; --warn-ink:#F4B8A4; --warn-surface:#2A1D1A;
  --bg:#141017; --surface:#1C1720; --surface-2:#211B26;
  --co:#E3B262; --co-bg:#2E2416; --co-ink:#E9C27C;
  color-scheme:dark;
}

*, *::before, *::after { box-sizing:border-box; }
html, body { margin:0; padding:0; }
body { font-family:-apple-system,"Inter","Segoe UI",system-ui,sans-serif; background:var(--bg);
       color:var(--ink); font-size:15px; line-height:1.5; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin:0; }
a { color:var(--brand); }
.ua { min-height:100vh; display:flex; flex-direction:column; }
.ua-main { flex:1; width:100%; max-width:1180px; margin:0 auto; }
.ua-flash { margin:0 0 14px; padding:9px 14px; border-radius:var(--r); font-size:.85rem;
            background:var(--ok-bg); color:var(--ok-ink); }
.ua-flash--error { background:var(--warn-bg); color:var(--warn-ink); }
.ua-empty { color:var(--muted); font-size:.88rem; padding:14px 16px; }
.ua .form input[type=date], .ua .form input[type=email], .ua .form input[type=url] {
  width:100%; font:inherit; font-size:.86rem; color:var(--ink); padding:7px 10px;
  border:1px solid var(--line); border-radius:7px; background:var(--surface); outline:none; }
.ua .form textarea { min-height:220px; }
.ua button.ua-btn { font:inherit; font-weight:700; font-size:.84rem; cursor:pointer; }
.ua button.ua-btn--sm { font-size:.76rem; }
.ua-inline-form { display:inline; margin:0; }
.ua-vis button { font:inherit; border:none; background:none; padding:4px 9px; color:var(--muted); cursor:pointer; }
.ua-vis button.on { background:var(--brand-fill); color:var(--on-brand); }

.ua { background:var(--bg); color:var(--ink); }
.ua a { text-decoration:none; }
.ua h1, .ua h2, .ua h3, .ua h4 { text-wrap:balance; letter-spacing:-.015em; }
.ua .wordmark { font-family:"Cedarville Cursive",cursive; font-weight:400; color:var(--brand); letter-spacing:0; }
/* the beta tag beside the wordmark: outlined in the wordmark's own colour, as in cab */
.beta-tag { display:inline-block; vertical-align:top; margin:.35em 0 0 .45em;
            font-family:-apple-system,"Inter","Segoe UI",system-ui,sans-serif;
            font-size:max(10px,.18em); font-weight:700; line-height:1.3;
            letter-spacing:.08em; text-transform:uppercase;
            border:1px solid currentColor; border-radius:4px; padding:0 .45em; }

/* header: one bar on every page */
.ua-top { display:flex; align-items:center; gap:20px; padding:12px 28px; background:var(--surface);
          border-bottom:1px solid var(--line); }
.ua-brand { font-size:1.9rem; line-height:1; }
.ua-nav { display:flex; gap:2px; margin-left:auto; font-size:.86rem; font-weight:550; }
.ua-nav a { color:var(--ink) !important; opacity:.72; padding:7px 12px; border-radius:8px; }
.ua-nav a:hover { opacity:1; background:var(--brand-50); }
.ua-nav a.on { opacity:1; font-weight:700; color:var(--brand-700) !important; background:var(--brand-50); }
.ua-right { display:flex; align-items:center; gap:10px; }

/* the theme button and the language menu, as in cab: theme cycles
   light / auto / dark on each click; language opens a menu below */
.ua-switches { display:flex; align-items:center; gap:6px; }
.cycle { position:relative; display:flex; align-items:center; justify-content:center;
         width:30px; height:24px; padding:0; border-radius:7px; cursor:pointer; list-style:none;
         background:var(--surface-2); border:1px solid var(--line); color:var(--brand);
         font:inherit; font-size:.62rem; font-weight:800; letter-spacing:.04em;
         transition:background .2s, border-color .2s; }
.cycle::-webkit-details-marker { display:none; }
.cycle:hover { border-color:var(--brand); }
.cycle:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.cycle svg { position:absolute; width:13px; height:13px; fill:none; stroke:currentColor;
             stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;
             opacity:0; transform:rotate(-90deg) scale(.6);
             transition:opacity .22s, transform .32s cubic-bezier(.2,.8,.2,1); }
.cycle svg .fill { fill:currentColor; stroke:none; }
.cycle[data-state="light"] .i-light, .cycle[data-state="auto"] .i-auto,
.cycle[data-state="dark"] .i-dark { opacity:1; transform:none; }
.langs { position:relative; }
.langs .menu { position:absolute; right:0; top:calc(100% + 6px); z-index:20; min-width:150px;
               padding:4px; border-radius:9px; background:var(--surface); border:1px solid var(--line);
               box-shadow:0 8px 24px rgba(28,23,34,.16); display:grid; gap:2px;
               transform-origin:top right; animation:menu-in .16s ease-out; }
.langs:not([open]) .menu { display:none; }
.langs .menu a { display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:6px;
                 font-size:.84rem; font-weight:600; color:var(--ink); text-decoration:none; }
.langs .menu a:hover { background:var(--brand-50); }
.langs .menu a[aria-current="true"] { color:var(--brand); }
.langs .menu .code { width:22px; font-size:.62rem; font-weight:800; color:var(--muted); }
@keyframes menu-in { from { opacity:0; transform:translateY(-4px) scale(.97); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .cycle svg, .langs .menu { transition:none; animation:none; } }
.ua-lang { font-size:.74rem; font-weight:700; color:var(--muted) !important; }
.ua-edit { font-size:.8rem; font-weight:700; padding:6px 12px; border-radius:8px; background:var(--co-bg);
           color:var(--co-ink) !important; }
.ua-who { display:flex; align-items:center; gap:8px; font-size:.8rem; font-weight:650; }
.ua-av { width:28px; height:28px; border-radius:50%; flex:none; display:inline-flex; align-items:center;
         justify-content:center; font-size:.66rem; font-weight:800; background:var(--brand-fill); color:var(--on-brand); }

/* the content manager's second bar */
.ua-cmbar { display:flex; align-items:center; gap:4px; padding:7px 28px; background:var(--co-bg);
            border-bottom:1px solid var(--line); font-size:.8rem; }
.ua-cmrole { font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; font-weight:800; color:var(--co-ink);
             margin-right:10px; }
.ua-cmbar a { color:var(--ink) !important; padding:4px 10px; border-radius:7px; font-weight:600; }
.ua-cmbar a.on { background:var(--surface); color:var(--co-ink) !important; font-weight:750; }
.ua-cmnote { margin-left:auto; font-size:.72rem; color:var(--muted); }

.ua-main { padding:26px 28px 8px; }
.ua-kicker { display:block; font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
             color:var(--brand); margin-bottom:6px; }
.ua-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.ua-head h1 { font-size:1.75rem; line-height:1.15; font-weight:780; }
.ua-head-act { display:flex; gap:8px; flex:none; }
.ua-lead { color:var(--muted); font-size:.95rem; max-width:620px; margin-top:6px; }
.ua-error { padding:56px 0 72px; max-width:620px; }
.ua-error h1 { font-size:2rem; margin-top:6px; }
.ua-error-act { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.ua-meta { font-size:.74rem; color:var(--muted); }
.ua-sec { display:flex; justify-content:space-between; align-items:baseline; font-size:.66rem; letter-spacing:.12em;
          text-transform:uppercase; font-weight:750; color:var(--muted); margin:26px 0 10px; }
.ua-sec a { font-size:.74rem; letter-spacing:0; text-transform:none; font-weight:650; }
.ua-crumbs { font-size:.78rem; color:var(--muted); margin-bottom:12px; }

/* buttons: gold is the one action; the rest are outline or soft */
.ua-btn { display:inline-block; padding:9px 18px; border-radius:var(--r); font-weight:700; font-size:.84rem;
          border:1px solid transparent; white-space:nowrap; }
.ua-btn--gold { background:var(--gold); color:var(--gold-ink) !important; }
.ua-btn--gold:hover { background:var(--gold-hover); }
.ua-btn--line { background:var(--surface); border-color:var(--line); color:var(--brand) !important; }
.ua-btn--line:hover { border-color:var(--brand); }
.ua-btn--sm { padding:5px 12px; font-size:.76rem; }
.ua-acts { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }

.ua-tag { display:inline-block; font-size:.68rem; font-weight:700; border-radius:999px; padding:3px 10px;
          white-space:nowrap; background:var(--surface-2); color:var(--muted); border:1px solid var(--line); }
.ua-tag--ok { background:var(--ok-bg); color:var(--ok); border-color:transparent; }
.ua-tag--info { background:var(--brand-50); color:var(--brand-700); border-color:transparent; }
.ua-tag--warn { background:var(--warn-bg); color:var(--warn-ink); border-color:transparent; }
.ua-tag--priv { background:transparent; color:var(--co-ink); border:1px dashed var(--co); }
.ua-tag--cover { background:var(--surface); color:var(--brand-700); border-color:transparent; }
.ua-tags { display:flex; gap:6px; flex-wrap:wrap; margin:-6px 0 6px; }

.ua-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.ua-pad { padding:14px 16px; }
.ua-calswitch { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.ua-calswitch p { color:var(--muted); font-size:.82rem; margin-top:2px; }
.ua-grid2 { display:grid; grid-template-columns:1.45fr 1fr; gap:28px; align-items:start; }
.ua-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }

/* home */
.ua-wip { margin-bottom:14px; padding:9px 12px; font-size:.85rem; color:var(--muted); background:var(--surface-2);
          border:1px dashed var(--line); border-radius:var(--r); }
.ua-announce { display:flex; align-items:center; gap:12px; padding:9px 12px; font-size:.85rem; background:var(--surface);
               border:1px solid var(--line); border-radius:var(--r); }
.ua-announce a { margin-left:auto; font-weight:700; }
.ua-hero { display:grid; grid-template-columns:1.25fr 1fr; gap:24px; align-items:center; padding:34px 0 10px; }
.ua-hero h1 { font-size:2.35rem; line-height:1.1; font-weight:800; letter-spacing:-.025em; }
.ua-hero h1 em { font-style:normal; color:var(--brand); }
.ua-hero-map { text-align:center; }
.ua-stats { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
.ua-stats--4 { grid-template-columns:repeat(4,1fr); margin-bottom:6px; }
.ua-stats > div { padding:10px 0; }
.ua-stats b { display:block; font-size:1.8rem; font-weight:800; letter-spacing:-.03em; color:var(--brand); line-height:1.1; }
.ua-stats span { font-size:.74rem; color:var(--muted); font-weight:600; }

/* news */
.ua-cover { height:104px; display:flex; align-items:flex-end; padding:9px;
            background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 40%, var(--surface)), var(--brand-50)); }
.ua-cover.c2 { background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 25%, var(--surface)), var(--co-bg)); }
.ua-cover.c3 { background:linear-gradient(135deg, var(--brand-50) 15%, color-mix(in srgb, var(--brand) 45%, var(--surface))); }
.ua-cover--wide { height:220px; border-radius:var(--r); margin:16px 0 20px; }
.ua-news h3 { font-size:.92rem; line-height:1.3; margin-bottom:6px; }
.ua-news h3 a { color:var(--ink) !important; }
.ua-news h3 a:hover { color:var(--brand) !important; }
.ua-article { max-width:680px; }
.ua-article h1 { font-size:2rem; line-height:1.15; font-weight:800; margin:10px 0 6px; }
.ua-article h2 { font-size:1.15rem; font-weight:750; margin:22px 0 8px; }
.ua-article p, .ua-prose p { font-size:.95rem; line-height:1.65; margin-bottom:12px; max-width:65ch; }
.ua-article blockquote { border-left:3px solid var(--brand); padding:4px 0 4px 16px; margin:18px 0;
                         font-size:1.05rem; color:var(--brand-700); }
.ua-pager { display:flex; align-items:center; justify-content:center; gap:14px; margin:22px 0 6px;
            font-size:.8rem; color:var(--muted); }

/* toolbars, segmented filters, search */
.ua-toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.ua-seg { display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--surface); }
.ua-seg a { padding:6px 12px; font-size:.78rem; font-weight:650; color:var(--muted) !important;
            border-right:1px solid var(--line); }
.ua-seg a:last-child { border-right:none; }
.ua-seg a.on { background:var(--brand-fill); color:var(--on-brand) !important; }
.ua-search, .ua select { font:inherit; font-size:.82rem; color:var(--ink); background:var(--surface);
                         border:1px solid var(--line); border-radius:8px; padding:6px 10px; outline:none; }
.ua-search { margin-left:auto; min-width:200px; }
.ua-inline { display:flex; align-items:center; gap:8px; font-size:.78rem; font-weight:650; color:var(--muted); }
.ua-month { display:flex; align-items:center; gap:10px; }
.ua-month b { font-size:1rem; min-width:130px; text-align:center; }

/* events */
.ua-ev { display:flex; align-items:center; gap:13px; background:var(--surface); border:1px solid var(--line);
         border-radius:var(--r); padding:10px 14px; margin-bottom:8px; }
.ua-ev--priv { border-style:dashed; border-color:var(--co); background:var(--surface-2); }
.ua-ev--past { background:var(--surface-2); }
.ua-ev--past .ua-date, .ua-ev--past .ua-ev-body, .ua-ev--past > .ua-tag { opacity:.5; filter:grayscale(1); }
.ua-ev--today .ua-date { background:var(--brand-fill); color:var(--on-brand); }
.ua-date { min-width:44px; text-align:center; background:var(--brand-50); color:var(--brand-700); border-radius:8px;
           padding:5px 4px; flex:none; }
.ua-date b { display:block; font-size:1.02rem; line-height:1.05; }
.ua-date span { font-size:.6rem; text-transform:uppercase; font-weight:700; }
.ua-ev-body { flex:1; min-width:0; }
.ua-ev h4 { font-size:.88rem; }
.ua-ev h4 a { color:var(--ink) !important; }
.ua-vis { display:inline-flex; border:1px solid var(--line); border-radius:7px; overflow:hidden; font-size:.7rem; font-weight:700; }
.ua-vis span { padding:4px 9px; color:var(--muted); }
.ua-vis span.on { background:var(--brand-fill); color:var(--on-brand); }

/* calendar month grid */
.ua-cal { border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--surface); }
.ua-cal-h, .ua-cal-w { display:grid; grid-template-columns:repeat(7,1fr); }
.ua-cal-h span { font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; font-weight:750; color:var(--muted);
                 padding:7px 9px; background:var(--surface-2); border-bottom:1px solid var(--line); }
.ua-day { min-height:78px; padding:6px 7px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
          display:flex; flex-direction:column; gap:4px; }
.ua-cal-w .ua-day:last-child { border-right:none; }
.ua-cal-w:last-child .ua-day { border-bottom:none; }
.ua-day .n { font-size:.74rem; font-weight:700; color:var(--muted); }
.ua-day.out { background:var(--surface-2); }
.ua-day.out .n { opacity:.5; }
.ua-day.today { box-shadow:inset 0 0 0 2px var(--brand-fill); }
.ua-day.today .n { align-self:flex-start; display:inline-block; background:var(--brand-fill); color:var(--on-brand); border-radius:999px; padding:1px 6px; }
.ua-chip--past { opacity:.5; filter:grayscale(1); }
.ua-chip { font-size:.68rem; font-weight:650; line-height:1.25; padding:3px 6px; border-radius:6px;
           background:var(--brand-50); color:var(--brand-700) !important; }
.ua-chip--priv { background:transparent; border:1px dashed var(--co); color:var(--co-ink) !important; }

/* clubs and the map */
.ua-clubs { display:grid; grid-template-columns:1.4fr 1fr; gap:22px; align-items:start; }
.ua-filters { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin-bottom:10px; }
.ua-filters label { display:flex; align-items:center; gap:7px; font-size:.74rem; font-weight:700; color:var(--muted); }
.ua-filters .ua-search { margin-left:0; flex:1; }
.ua-count { margin:4px 0 8px; }
.ua-map { display:block; width:100%; height:auto; }
.ua-land { fill:color-mix(in srgb, var(--brand) 8%, var(--surface)); stroke:color-mix(in srgb, var(--brand) 35%, var(--surface));
           stroke-width:1.5; stroke-linejoin:round; }
.ua-city circle { fill:var(--brand); fill-opacity:.8; stroke:var(--surface); stroke-width:2; }
.ua-city:hover circle { fill-opacity:1; }
.ua-city text { font-size:17px; font-weight:650; fill:var(--ink); paint-order:stroke; stroke:var(--surface);
                stroke-width:3px; }
.ua-city.on circle { fill:var(--brand-700); fill-opacity:1; stroke:var(--brand); stroke-width:4; }
.ua-mapcard .ua-map { padding:0 8px 8px; }
.ua-mini { display:flex; align-items:center; gap:14px; }
.ua-mini .ua-map { width:220px; border:1px solid var(--line); border-radius:8px; }

/* tables */
.ua-t { width:100%; border-collapse:collapse; font-size:.85rem; }
.ua-t th { text-align:left; padding:10px 14px; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase;
           font-weight:750; color:var(--muted); border-bottom:1px solid var(--line); white-space:nowrap; }
.ua-t td { padding:10px 14px; border-top:1px solid var(--line); vertical-align:middle; }
.ua-t tbody tr:first-child td { border-top:none; }
.ua-t tbody tr:hover { background:var(--brand-50); }
.ua-t .r { text-align:right; }
.ua-t .rk { font-weight:800; color:var(--brand); width:40px; }
.ua-t td a b { color:var(--ink); }
.ua-t tr.ua-pending { background:var(--warn-surface); }

/* the club page, about */
.ua-dl > div { display:flex; gap:12px; padding:6px 0; font-size:.86rem; border-bottom:1px solid var(--line); }
.ua-dl > div:last-child { border-bottom:none; }
.ua-dl span { width:150px; flex:none; color:var(--muted); font-size:.78rem; font-weight:650; }
.ua-docs a { display:block; padding:12px 16px; border-bottom:1px solid var(--line); }
.ua-docs a:last-child { border-bottom:none; }
.ua-docs a:hover { background:var(--brand-50); }
.ua-docs b { display:block; font-size:.88rem; color:var(--ink); }
.ua-docs span { font-size:.76rem; color:var(--muted); }
.ua-time { list-style:none; border-left:2px solid var(--line); padding-left:16px; }
.ua-time li { font-size:.88rem; margin-bottom:10px; }
.ua-time b { display:block; color:var(--brand); font-size:.8rem; }

/* under construction */
.ua-uc { display:flex; gap:22px; align-items:flex-start; background:var(--surface); border:1px dashed var(--line);
         border-radius:var(--r); padding:22px 24px; }
.ua-uc-badge { flex:none; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; font-weight:800;
               color:var(--co-ink); background:var(--co-bg); border-radius:8px; padding:8px 10px; }
.ua-uc h3 { font-size:1.05rem; margin-bottom:8px; }
.ua-uc ul { padding-left:18px; font-size:.9rem; line-height:1.7; margin-bottom:10px; }

/* sign-in entry */
.ua-signin { max-width:440px; margin:20px auto 10px; padding:30px 32px; text-align:center; }
.ua-crest { font-size:3rem; line-height:1; display:block; margin-bottom:8px; }
.ua-signin h1 { font-size:1.4rem; font-weight:750; }
.ua-signin .ua-lead { margin:6px auto 22px; font-size:.88rem; }
.ua-providers { display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.ua-providers .ua-btn { text-align:center; padding:11px 18px; }

/* content-manager forms: cab's form, its command in the bar above */
.ua-cmd { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;
          padding:8px 10px 8px 14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); }
.ua-cmd .cr { font-size:.84rem; font-weight:650; }
.ua-cmd .seg { display:flex; gap:6px; }
.ua-cmd .seg a { font-size:.78rem; font-weight:700; padding:6px 14px; border-radius:7px; border:1px solid var(--line);
                 background:var(--surface); color:var(--ink) !important; }
.ua-cmd .seg a.go { background:var(--gold); border-color:var(--gold); color:var(--gold-ink) !important; }
.ua-cmd .seg a.qt { color:var(--warn-ink) !important; }
.ua .form { font-size:.86rem; max-width:760px; }
.ua .form .f-head { padding:16px var(--px) 14px; border-bottom:1px solid var(--line); border-top:3px solid var(--brand); }
.ua .form .f-head h3 { font-size:1.02rem; font-weight:720; }
.ua .form .f-head p { font-size:.78rem; color:var(--muted); margin-top:3px; }
.ua .form .f-block { padding:13px var(--px) 15px; border-bottom:1px solid var(--line); }
.ua .form .f-block:last-child { border-bottom:none; }
.ua .form label.q { display:block; font-size:.8rem; font-weight:650; margin-bottom:8px; }
.ua .form .req { color:var(--warn); }
.ua .form input[type=text], .ua .form textarea { width:100%; font:inherit; font-size:.86rem; color:var(--ink);
  padding:7px 10px; border:1px solid var(--line); border-radius:7px; background:var(--surface); outline:none; }
.ua .form select { min-width:230px; font-size:.86rem; border-radius:7px; padding:7px 10px; }
.ua .form .half { display:flex; gap:10px; }
.ua .form .half > * { flex:1; }
.ua .form .half select { width:100%; min-width:0; }
.ua .form .hint { font-size:.72rem; color:var(--muted); margin-top:5px; }
.ua .opts { display:flex; flex-direction:column; gap:7px; }
.ua .opts label { display:flex; align-items:center; gap:9px; font-size:.84rem; }
.ua .opts input { width:15px; height:15px; accent-color:var(--brand); }
.ua .ua-opts-row { flex-direction:row; gap:20px; }
.ua-drop { border:1px dashed var(--line); border-radius:8px; padding:18px; text-align:center; font-size:.82rem;
           color:var(--muted); background:var(--surface-2); }
.ua-rte { border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.ua-rte-bar { display:flex; gap:4px; padding:5px 8px; background:var(--surface-2); border-bottom:1px solid var(--line);
              font-size:.74rem; color:var(--muted); }
.ua-rte-bar > * { padding:2px 7px; border-radius:5px; font-style:normal; }
.ua-rte-bar > *:hover { background:var(--brand-50); color:var(--brand); }
.ua-rte textarea { border:none !important; border-radius:0 !important; }

/* footer: one on every page */
.ua-foot { border-top:1px solid var(--line); margin-top:34px; padding:24px 28px 26px; background:var(--surface);
           font-size:.8rem; color:var(--muted); }
.ua-foot-in { display:grid; grid-template-columns:1.3fr repeat(4,1fr); gap:20px; }
.ua-foot b { color:var(--ink); display:block; margin-bottom:6px; font-size:.8rem; }
.ua-foot a { display:block; padding:2px 0; }
.ua-foot-mark { font-size:1.6rem; line-height:1.1; margin-bottom:4px; display:block; }

.ua-lang b { color:var(--ink); }
.ua-lang a { color:var(--muted) !important; }
.ua-signlink { font-size:.82rem; font-weight:650; }
.ua-foot-in--3 { grid-template-columns:1.3fr repeat(3,1fr); }

/* home: the start of the story */
.ua-story { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; position:relative; }
.ua-story li { border-top:3px solid var(--brand); padding-top:8px; font-size:.8rem; line-height:1.4; }
.ua-story b { display:block; font-size:1rem; color:var(--brand); margin-bottom:2px; }

/* About: the Wix About page, ported. A spaced title, three overlapping shapes, one year line, the branch map */
.ua-hist { padding:12px 0 6px; }
.ua-hist-title { text-align:center; font-size:1.9rem; line-height:1.35; font-weight:800; letter-spacing:.22em;
                 text-transform:uppercase; color:var(--brand); margin:6px 0 22px; }
.ua-blobs { position:relative; height:500px; max-width:820px; margin:0 auto; }
.ua-blob { position:absolute; display:flex; flex-direction:column; justify-content:flex-start; padding:56px 52px 40px; }
.ua-blob h2 { font-size:1.7rem; letter-spacing:.14em; text-transform:uppercase; font-weight:800; margin-bottom:12px; }
.ua-blob p { font-size:.86rem; line-height:1.75; }
.ua-blob a { font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; font-weight:800; margin-top:14px;
             align-self:flex-end; color:inherit !important; }
.ua-blob.b1 { left:0; top:20px; width:420px; height:300px; text-align:right;
              border-radius:62% 38% 46% 54% / 55% 42% 58% 45%;
              background:color-mix(in srgb, var(--brand) 22%, var(--surface)); color:var(--ink); }
.ua-blob.b2 { right:0; top:0; width:400px; height:320px;
              border-radius:46% 54% 38% 62% / 60% 58% 42% 40%;
              background:var(--brand-fill); color:var(--on-brand); }
.ua-blob.b3 { left:250px; top:268px; width:360px; height:230px; text-align:center; justify-content:center; padding:30px 44px;
              border-radius:50% 50% 48% 52% / 62% 60% 40% 38%;
              background:color-mix(in srgb, var(--brand) 42%, var(--surface)); color:var(--ink); }
.ua-blob.b1 p { padding-left:30px; }
.ua-blob.b1 h2, .ua-blob.b3 h2 { color:var(--brand-700); }
.ua-tl { position:relative; max-width:760px; margin:34px auto 0; padding-bottom:18px; }
.ua-tl::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:4px; margin-left:-2px; background:var(--brand-700); }
.ua-tl-year { position:relative; display:flex; justify-content:center; margin:20px 0 6px; }
.ua-tl-year span { width:40px; height:40px; border-radius:50%; background:var(--brand-700); color:var(--surface);
                   display:flex; align-items:center; justify-content:center; font-size:.68rem; font-weight:800; letter-spacing:.06em; }
.ua-tl-item { position:relative; width:50%; padding:6px 0; }
.ua-tl-item.l { padding-right:62px; text-align:right; }
.ua-tl-item.r { margin-left:50%; padding-left:62px; }
.ua-tl-item::before { content:""; position:absolute; top:22px; height:4px; width:44px; background:var(--brand-700); }
.ua-tl-item::after { content:""; position:absolute; top:15px; width:18px; height:18px; border-radius:50%;
                     background:color-mix(in srgb, var(--brand) 45%, var(--surface)); }
.ua-tl-item.l::before { right:0; }
.ua-tl-item.l::after { right:44px; }
.ua-tl-item.r::before { left:0; }
.ua-tl-item.r::after { left:44px; }
.ua-tl-card b { display:block; font-size:1.05rem; letter-spacing:.12em; color:var(--brand-700); margin-bottom:3px; }
.ua-tl-card p { font-size:.82rem; line-height:1.6; letter-spacing:.02em; color:var(--muted); }
.ua-branches { position:relative; max-width:820px; margin:0 auto; }
.ua-branches-h { position:absolute; right:0; top:0; text-align:right; }
.ua-branches-h b { display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brand); }
.ua-branches-h span { font-size:.72rem; color:var(--muted); }
.ua-map--branches .ua-land { fill:var(--brand-fill); stroke:var(--brand-700); }
.ua-branch circle { fill:var(--on-brand); }
.ua-branch text { font-size:13px; font-weight:700; fill:var(--on-brand); paint-order:stroke; stroke:var(--brand-fill);
                   stroke-width:4px; stroke-linejoin:round; }
.ua-branch:hover circle { fill:var(--gold); }


/* the ribbon's person and links (only under /manage) */
.ua-cmme { margin-left:auto; display:flex; align-items:center; gap:8px; font-size:.78rem; font-weight:650; color:var(--ink); }
.ua-cmme .ua-av { width:24px; height:24px; font-size:.62rem; }
.ua-cmbar a.ua-cmlink { font-size:.76rem; font-weight:600; color:var(--co-ink) !important; }

/* narrow screens */
@media (max-width:860px) {
  .ua-top { flex-wrap:wrap; padding:10px 16px; gap:10px; }
  .ua-nav { margin-left:0; order:3; width:100%; overflow-x:auto; }
  .ua-right { margin-left:auto; }
  .ua-main { padding:20px 16px 8px; }
  .ua-cmbar { flex-wrap:wrap; padding:7px 16px; }
  .ua-hero, .ua-grid2, .ua-clubs { grid-template-columns:1fr; }
  .ua-grid3, .ua-story, .ua-stats--4 { grid-template-columns:1fr 1fr; }
  .ua-foot-in, .ua-foot-in--3 { grid-template-columns:1fr 1fr; }
  .ua-blobs { height:auto; display:flex; flex-direction:column; gap:12px; }
  .ua-blob { position:static; width:auto !important; height:auto !important; padding:28px; }
  .ua-cal { overflow-x:auto; }
}

/* phones: filter rows scroll sideways instead of wrapping word by word,
   the clubs table becomes one card per club, controls are thumb-sized */
@media (max-width:600px) {
  .ua-filters { flex-direction:column; align-items:stretch; gap:10px; }
  .ua-clubs > *, .ua-filters, .ua-filters label { min-width:0; max-width:100%; }
  .ua-seg { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .ua-seg a { white-space:nowrap; min-height:40px; display:inline-flex; align-items:center; }
  .ua-nav a { min-height:44px; display:inline-flex; align-items:center; }
  .ua-brand { font-size:1.55rem; }
  .ua-right { gap:6px; }
  .ua-right .cycle, .ua-right .langs summary { min-width:42px; min-height:42px; }
  .ua-right .ua-btn { min-height:42px; display:inline-flex; align-items:center; }
  select, input, textarea, .ua-inline select { font-size:16px; }
}

/* phones: every table becomes cards, as in cab - the first column is
   the card's title, the others label and value lines, a column without
   a label (an action) sits at the right of the title */
@media (max-width:760px) {
  .ua-t, .ua-t tbody { display:block; width:100%; }
  .ua-t thead { display:none; }
  .ua-t tr { display:grid; grid-template-columns:1fr auto auto; column-gap:10px; padding:12px 14px;
             border-top:1px solid var(--line); }
  .ua-t tbody tr:first-child { border-top:none; }
  .ua-t td { grid-column:1 / -1; display:flex; align-items:baseline; justify-content:space-between; gap:12px;
             padding:3px 0; border:none; text-align:right; min-width:0; overflow-wrap:anywhere; }
  .ua-t td::before { content:attr(data-label); flex:none; text-align:left; color:var(--muted);
                     font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
  .ua-t td:first-child { grid-row:1; grid-column:1; display:block; text-align:left; padding-bottom:5px; }
  .ua-t td:first-child::before, .ua-t td:not([data-label])::before { content:none; }
  .ua-t td[data-label]:empty { display:none; }
  .ua-t td:not(:first-child):not([data-label]) { grid-row:1; grid-column:2; justify-self:end; align-self:start; }
  .ua-t td:not(:first-child):not([data-label]) ~ td:not([data-label]) { grid-column:3; }
}

/* phones, from iPhone screenshots: the menu stays one scrollable line,
   page heads stack their actions under the text, event rows put tags and
   actions on a second line, the month grid gives way to the list under
   it, the ribbon is one scrollable line, form fields are 16px (no zoom)
   and links are thumb-sized */
@media (max-width:760px) {
  .ua-nav { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .ua-nav::-webkit-scrollbar { display:none; }
  .ua-nav a { flex:none; white-space:nowrap; }

  .ua-head { flex-direction:column; align-items:stretch; gap:14px; }
  .ua-head-act { flex-wrap:wrap; }
  .ua-head-act > * { flex:1 1 auto; justify-content:center; text-align:center; min-height:44px;
                     display:inline-flex; align-items:center; }

  .ua-ev { flex-wrap:wrap; row-gap:10px; }
  .ua-ev-body { flex:1 1 0; min-width:60%; }
  .ua-ev > :not(.ua-date):not(.ua-ev-body) { flex:none; }
  .ua-ev > .ua-ev-body ~ * { order:3; }
  .ua-ev::after { content:""; order:2; flex-basis:100%; height:0; }

  .ua-cal { display:none; }

  /* a soft fade on the right says the line scrolls */
  .ua-nav { -webkit-mask-image:linear-gradient(to right, #000 85%, transparent);
            mask-image:linear-gradient(to right, #000 85%, transparent); padding-right:28px; }
  /* the ribbon in two rows: the role, the person (initials) and the
     site links on top; the editor sections share the second row */
  .ua-cmbar { flex-wrap:wrap; row-gap:4px; padding:6px 12px; white-space:nowrap; }
  .ua-cmbar .ua-cmrole { order:1; }
  .ua-cmbar .ua-cmme { order:2; margin-left:8px; font-size:0; gap:0; }
  .ua-cmbar .ua-cmme .ua-av { font-size:.62rem; }
  .ua-cmbar a.ua-cmlink { order:3; }
  .ua-cmbar .ua-cmme + a.ua-cmlink { margin-left:auto; }
  .ua-cmbar::after { content:""; order:4; flex-basis:100%; height:0; }
  .ua-cmbar a:not(.ua-cmlink) { order:5; flex:1 1 0; justify-content:center; text-align:center; }
  .ua-cmbar a { min-height:40px; display:inline-flex; align-items:center; }

  .ua-calswitch { flex-wrap:wrap; }
  .ua-vis button { min-height:40px; padding:4px 14px; }

  .ua .form input[type=text], .ua .form input[type=date], .ua .form input[type=email],
  .ua .form input[type=url], .ua .form textarea, .ua .form select, .ua select, .ua input { font-size:16px; }

  .ua-foot a { padding:8px 0; }
}

/* private tags (/manage only): a fixed palette of eight, light and dark */
:root {
  --tag-gray:#F0EEF2; --tag-gray-ink:#4F4756;
  --tag-red:#FCE8E8; --tag-red-ink:#A12626;
  --tag-orange:#FDEEDF; --tag-orange-ink:#9A4A10;
  --tag-yellow:#FBF3D0; --tag-yellow-ink:#735600;
  --tag-green:#E5F4E8; --tag-green-ink:#23683A;
  --tag-teal:#E0F3F2; --tag-teal-ink:#136862;
  --tag-blue:#E4EEFB; --tag-blue-ink:#1F4F94;
  --tag-purple:#F1E8F8; --tag-purple-ink:#5E2E80;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --tag-gray:#2A2530; --tag-gray-ink:#CFC6D6;
    --tag-red:#3A1C1E; --tag-red-ink:#F2A7A7;
    --tag-orange:#3A2616; --tag-orange-ink:#F4B98A;
    --tag-yellow:#35300F; --tag-yellow-ink:#EBD27A;
    --tag-green:#183022; --tag-green-ink:#96D9A8;
    --tag-teal:#142F2E; --tag-teal-ink:#8AD5CF;
    --tag-blue:#18263A; --tag-blue-ink:#9CC0F0;
    --tag-purple:#2C2036; --tag-purple-ink:#D3B2EA;
  }
}
:root[data-theme="dark"] {
  --tag-gray:#2A2530; --tag-gray-ink:#CFC6D6;
  --tag-red:#3A1C1E; --tag-red-ink:#F2A7A7;
  --tag-orange:#3A2616; --tag-orange-ink:#F4B98A;
  --tag-yellow:#35300F; --tag-yellow-ink:#EBD27A;
  --tag-green:#183022; --tag-green-ink:#96D9A8;
  --tag-teal:#142F2E; --tag-teal-ink:#8AD5CF;
  --tag-blue:#18263A; --tag-blue-ink:#9CC0F0;
  --tag-purple:#2C2036; --tag-purple-ink:#D3B2EA;
}
.ua-labels { display:inline-flex; flex-wrap:wrap; gap:4px; }
.ua-label { display:inline-flex; align-items:center; gap:6px; font-size:.68rem; font-weight:700; line-height:1.2;
            border-radius:6px; padding:3px 8px; white-space:nowrap; border:1px solid transparent; }
.ua-label--gray { background:var(--tag-gray); color:var(--tag-gray-ink) !important; }
.ua-label--red { background:var(--tag-red); color:var(--tag-red-ink) !important; }
.ua-label--orange { background:var(--tag-orange); color:var(--tag-orange-ink) !important; }
.ua-label--yellow { background:var(--tag-yellow); color:var(--tag-yellow-ink) !important; }
.ua-label--green { background:var(--tag-green); color:var(--tag-green-ink) !important; }
.ua-label--teal { background:var(--tag-teal); color:var(--tag-teal-ink) !important; }
.ua-label--blue { background:var(--tag-blue); color:var(--tag-blue-ink) !important; }
.ua-label--purple { background:var(--tag-purple); color:var(--tag-purple-ink) !important; }
.ua-label--all { background:var(--surface); color:var(--muted) !important; border-color:var(--line); }
.ua-tagbar { display:flex; flex-wrap:wrap; gap:6px; margin:-4px 0 14px; }
.ua-tagbar .ua-label { padding:5px 10px; font-size:.74rem; }
.ua-tagbar .ua-label.on { border-color:currentColor; box-shadow:inset 0 0 0 1px currentColor; }
.ua-tagpick, .ua-swatches { display:flex; flex-wrap:wrap; gap:8px; }
.ua-tagpick .ua-label, .ua-swatches .ua-label { padding:6px 10px; font-size:.78rem; cursor:pointer; }
.ua-tagpick input, .ua-swatches input { margin:0; accent-color:currentColor; }
.ua .form .hint a { margin-left:6px; font-weight:650; }

/* event language: the name field only when other is chosen */
.ua-lang-other { display:none; margin-top:12px; }
.ua-lang:has(input[value="other"]:checked) .ua-lang-other { display:block; }

/* news cover images, the gradient when there is none */
.ua-cover--img { position:relative; overflow:hidden; background:var(--surface-2); }
.ua-cover--img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ua-cover--img > :not(img) { position:relative; }
.ua-cover--wide.ua-cover--img { height:auto; aspect-ratio:16 / 9; max-height:380px; }
.ua-cover--preview { height:120px; max-width:260px; border-radius:8px; margin-bottom:8px; }
.ua .form .ua-check { display:flex; align-items:center; gap:8px; font-size:.82rem; margin-bottom:10px; }
.ua .form .ua-q-gap { margin-top:14px; }
.ua .form input[type=file] { font:inherit; font-size:.82rem; max-width:100%; }

@media (max-width:760px) {
  .ua-tagbar { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:2px; }
  .ua-tagbar .ua-label { flex:none; min-height:40px; }
  .ua-tagpick .ua-label, .ua-swatches .ua-label { min-height:40px; }
}
