/* Hive Workshops — base tokens + reset. Shared by public and admin. Bump HW_VERSION on change. */
:root{
  --ink:#0B0B1A; --violet:#6D28D9; --violet-600:#5B21B6; --violet-300:#C4B5FD; --violet-100:#EDE9FE;
  --amber:#F59E0B; --coral:#FB7185; --mint:#34D399; --sky:#38BDF8;
  --bg:#F6F5FB; --surface:#FFFFFF; --surface-2:#F1EFF9; --line:#E4E1F1; --text:#1B1B2F; --muted:#6B6B85;
  --primary:var(--violet); --primary-ink:#fff; --accent:var(--amber);
  --danger:#E11D48; --danger-bg:#FFE4EA; --ok:#059669; --ok-bg:#D1FAE5; --warn:#B45309; --warn-bg:#FEF3C7; --info-bg:#EDE9FE;
  --shadow-1:0 1px 2px rgba(11,11,26,.06),0 4px 14px rgba(11,11,26,.05); --shadow-2:0 12px 40px rgba(11,11,26,.18);
  --radius:14px; --radius-sm:9px; --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --display:'Space Grotesk','Inter',system-ui,sans-serif;
  --sab:env(safe-area-inset-bottom,0px); --sat:env(safe-area-inset-top,0px);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0B0B1A; --surface:#14142B; --surface-2:#1B1B38; --line:#2A2A4D; --text:#ECECFA; --muted:#9A9AC0;
  --violet-100:#2A1F55; --info-bg:#2A1F55; --danger-bg:#3B1020; --ok-bg:#0B3326; --warn-bg:#3A2A08;
  --shadow-1:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.35); --shadow-2:0 12px 40px rgba(0,0,0,.6);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0B0B1A; --surface:#14142B; --surface-2:#1B1B38; --line:#2A2A4D; --text:#ECECFA; --muted:#9A9AC0;
    --violet-100:#2A1F55; --info-bg:#2A1F55; --danger-bg:#3B1020; --ok-bg:#0B3326; --warn-bg:#3A2A08;
    --shadow-1:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.35); --shadow-2:0 12px 40px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--font);font-size:15px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh}
h1,h2,h3,h4{font-family:var(--display);line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
p{margin:0 0 1em}
a{color:var(--violet);text-decoration:none}
a:hover{text-decoration:underline}
:root[data-theme="dark"] a{color:var(--violet-300)}
img,svg,video{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 14px;z-index:1000;border-radius:0 0 8px 0}
.skip:focus{left:0}
.muted{color:var(--muted)}.small{font-size:12.5px}.hidden,[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--violet),#4C1D95);color:#fff;font-weight:800;font-family:var(--display);box-shadow:inset 0 -3px 0 var(--amber)}
.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;font-family:var(--display);font-size:17px;text-decoration:none!important}
.brand b{color:var(--violet)}:root[data-theme="dark"] .brand b{color:var(--amber)}
.ico{flex:none}
