/* Shared tokens for the speaker sign-up page and the organizer board. Palette and faces follow rentcontroljc.org. */
:root{
  --paper:#F3EFE6; --paper-2:#FCFAF5; --paper-3:#E8E1D1;
  --ink:#18201C; --ink-2:#434D47; --ink-3:#5C6761;
  --green:#24483B; --green-2:#35604F; --head:#1F3D32; --head-ink:#F3EEE2;
  --red:#B3301F; --red-soft:#F4DCD6; --tan:#C7A45F; --tan-soft:#F1E6CC;
  --ok:#2F6B4F; --ok-soft:#DCEBE1; --warn:#8A5A12; --warn-soft:#F4E6CC;
  --accent-soft:#DFE8E2; --solid-ink:#FFF6EE;
  --rule:color-mix(in oklch, var(--ink) 18%, transparent);
  --rule-2:color-mix(in oklch, var(--ink) 9%, transparent);
  --focus:#B3301F; --rc:8px;
  --shadow:0 1px 2px color-mix(in oklch, var(--ink) 8%, transparent),0 10px 28px -16px color-mix(in oklch, var(--ink) 35%, transparent);
  --disp:"Big Shoulders Display","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --ui:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#101613; --paper-2:#171F1B; --paper-3:#202A25;
  --ink:#ECE6D8; --ink-2:#B6BEB8; --ink-3:#8F9A93;
  --green:#7FBFA3; --green-2:#9CD2BA; --head:#16241E; --head-ink:#ECE6D8;
  --red:#F08A76; --red-soft:#3A1F1A; --tan:#D9BC7C; --tan-soft:#33291A;
  --ok:#86C9A6; --ok-soft:#1B3127; --warn:#E5B567; --warn-soft:#352812;
  --accent-soft:#1E2E27; --solid-ink:#101613; --focus:#F08A76; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#101613; --paper-2:#171F1B; --paper-3:#202A25;
  --ink:#ECE6D8; --ink-2:#B6BEB8; --ink-3:#8F9A93;
  --green:#7FBFA3; --green-2:#9CD2BA; --head:#16241E; --head-ink:#ECE6D8;
  --red:#F08A76; --red-soft:#3A1F1A; --tan:#D9BC7C; --tan-soft:#33291A;
  --ok:#86C9A6; --ok-soft:#1B3127; --warn:#E5B567; --warn-soft:#352812;
  --accent-soft:#1E2E27; --solid-ink:#101613; --focus:#F08A76; color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:16px;line-height:1.5}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
a{color:var(--green)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
[hidden]{display:none!important}
.mono{font-family:var(--mono)}
.tnum{font-variant-numeric:tabular-nums}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--rc);
  border:1px solid var(--rule);background:var(--paper-2);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;
  transition:background .15s var(--ease),border-color .15s var(--ease)}
.btn:hover{border-color:var(--ink-3)}
.btn.primary{background:var(--green);border-color:var(--green);color:var(--solid-ink)}
.btn.primary:hover{background:var(--green-2)}
.btn.danger{color:var(--red);border-color:color-mix(in oklch, var(--red) 45%, transparent)}
.btn.small{min-height:34px;padding:0 12px;font-size:.88rem}
.btn:disabled{opacity:.55;cursor:not-allowed}

.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field>label,.label{font-weight:600;font-size:.95rem}
.hint{font-size:.85rem;color:var(--ink-3)}
input[type=text],input[type=tel],input[type=email],input[type=search],input[type=number],input[type=datetime-local],select,textarea{
  width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--rc);background:var(--paper-2)}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--green) 25%, transparent)}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--rule);border-radius:999px;background:var(--paper-2);
  font-size:.95rem;line-height:1.25;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}
.chip input:checked+span{background:var(--green);border-color:var(--green);color:var(--solid-ink)}
.chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}

.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.5;white-space:nowrap}
.badge.ok{background:var(--ok-soft);color:var(--ok)}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.badge.bad{background:var(--red-soft);color:var(--red)}
.badge.muted{background:var(--paper-3);color:var(--ink-2)}
.badge.info{background:var(--accent-soft);color:var(--green)}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:50;
  background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:var(--rc);box-shadow:var(--shadow);max-width:min(92vw,520px);font-weight:500}
.toast.bad{background:var(--red);color:#fff}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
