:root, :root[data-theme="dark"]{
  color-scheme: dark;
  --bg:#0b1713; --surface:#132420; --surface-2:#0f1e1a; --surface-soft:#1a2e28;
  --ink:#edf3ee; --muted:#8fa39a; --line:rgba(255,255,255,.09);
  --brand:#0d3f36; --brand-2:#57c79c;
  --accent:#dff6b8; --accent-strong:#b8e36c;
  --warning:#e7b16a; --warning-bg:rgba(231,177,106,.16);
  --danger:#e58a83; --danger-bg:rgba(229,138,131,.16);
  --info:#8db3e0; --info-bg:rgba(141,179,224,.16);
  --green-soft:rgba(87,199,156,.14);
  --highlight-bg:rgba(184,227,108,.12);
  --selected-bg:rgba(87,199,156,.14);
  --bubble-out-bg:#294a34;
  --mini-default-bg:#1e332c; --mini-admin-bg:rgba(87,199,156,.2); --mini-service-bg:rgba(141,179,224,.2);
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --shadow-lg:0 24px 70px rgba(0,0,0,.6);
  --radius:22px;
}
:root[data-theme="light"]{
  color-scheme: light;
  --bg:#f6f8f5; --surface:#ffffff; --surface-2:#f8faf8; --surface-soft:#eef3ef;
  --ink:#17231f; --muted:#68756f; --line:#dde5df;
  --brand:#0d3f36; --brand-2:#165c4d;
  --accent:#dff6b8; --accent-strong:#b8e36c;
  --warning:#a85f16; --warning-bg:#fff1df;
  --danger:#a13a36; --danger-bg:#ffebe8;
  --info:#3f6a9a; --info-bg:#eaf2ff;
  --green-soft:#edf4f0;
  --highlight-bg:#f3f8ea;
  --selected-bg:#f1f8ed;
  --bubble-out-bg:#e4f2d6;
  --mini-default-bg:#edf2ee; --mini-admin-bg:#e9f6dc; --mini-service-bg:#e8f0f7;
  --shadow:0 18px 50px rgba(24,56,46,.09);
  --shadow-lg:0 24px 70px rgba(15,40,32,.18);
  --radius:22px;
}
body{ transition:background-color .2s ease, color .2s ease; }
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{ margin:0; font-family:'Inter',ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); }
button,input,textarea,select{ font:inherit; }
button{ color:inherit; cursor:pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible{ outline:3px solid rgba(184,227,108,.6); outline-offset:2px; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--accent-strong); color:var(--brand); }
