:root {
  --bg:#FAF6EE; --card:#FFFFFF; --soft:#F1EBDF; --ink:#2E2C4E; --sub:#65617F;
  --line:#EAE3D4; --pill:#EFE9F8; --acc-ink:#66509F; --sheet:#FFFDF8;
  --scrim:rgba(30,28,54,.35);
  --brand:#6F5AA8; --navy:#2E3358; --coral:#B65F49; --coral-ink:#9B513D;
  --good:#466E54; --warn-ink:#A6543C; --banner:#FBE9E3; --banner-border:#F2CDBF;
  --desk-bg:#FBF8F1; --desk-border:#E7E0D2; --desk-header:#FFFEFA; --desk-line:#EDE6D8;
  --font-display:ui-rounded,'Avenir Next Rounded','Segoe UI Rounded',system-ui,sans-serif; --font-body:ui-rounded,'Avenir Next','Segoe UI',system-ui,sans-serif;
  --radius-card:20px; --radius-sheet:28px; --shadow-card:0 12px 28px rgba(46,44,78,.1);
  --shadow-brand:0 6px 16px rgba(142,124,195,.35); --shadow-navy:0 6px 16px rgba(46,51,88,.3);
  --kind-bottle-bg:#EFE9F8; --kind-bottle-fg:#8E7CC3;
  --kind-nurse-bg:#FBE9E3; --kind-nurse-fg:#D3826C;
  --kind-solid-bg:#E9F1EA; --kind-solid-fg:#6E9B7E;
  --kind-nap-bg:#E7E7F5; --kind-nap-fg:#5A5F94;
  --kind-night-bg:#E7E7F5; --kind-night-fg:#5A5F94;
  --kind-wake-bg:#F8EEDB; --kind-wake-fg:#C08F3F;
}
[data-theme="night"] {
  --bg:#191C31; --card:#242844; --soft:#2B2F50; --ink:#ECEAF6; --sub:#9C99BB;
  --line:#31355A; --pill:rgba(158,133,214,.16); --acc-ink:#B4A3E3; --sheet:#222642;
  --scrim:rgba(8,9,20,.55);
  --kind-bottle-bg:rgba(158,133,214,.18); --kind-bottle-fg:#B4A3E3;
  --kind-nurse-bg:rgba(232,146,124,.16); --kind-nurse-fg:#E8A78E;
  --kind-solid-bg:rgba(127,169,143,.16); --kind-solid-fg:#93BBA1;
  --kind-nap-bg:rgba(122,128,190,.2); --kind-nap-fg:#A6ACE0;
  --kind-night-bg:rgba(122,128,190,.2); --kind-night-fg:#A6ACE0;
  --kind-wake-bg:rgba(212,168,90,.16); --kind-wake-fg:#D9B36A;
}
* { box-sizing:border-box; }
html { background:var(--bg); touch-action:manipulation; -webkit-text-size-adjust:100%; }
body { margin:0; min-height:100vh; font-family:var(--font-body); color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; }
button,input,textarea { font:inherit; }
button,a,input,textarea,select,label,[role="button"] { touch-action:manipulation; }
button { -webkit-tap-highlight-color:transparent; }
@media (max-width:767px) {
  input,textarea,select { font-size:16px!important; }
}
input::placeholder,textarea::placeholder { color:#A5A1BE; }
[x-cloak] { display:none!important; }
.display-font { font-family:var(--font-display); }
:where(button,a,input,textarea,select,[tabindex]):focus-visible { outline:3px solid rgba(111,90,168,.48); outline-offset:2px; }
.focus-ring:focus-visible { outline-color:rgba(111,90,168,.58); }
.icon-wrap { width:38px; height:38px; border-radius:13px; display:flex; align-items:center; justify-content:center; flex:none; position:relative; z-index:1; }
.kind-bottle { background:var(--kind-bottle-bg); color:var(--kind-bottle-fg); }
.kind-nurse { background:var(--kind-nurse-bg); color:var(--kind-nurse-fg); }
.kind-solid { background:var(--kind-solid-bg); color:var(--kind-solid-fg); }
.kind-nap { background:var(--kind-nap-bg); color:var(--kind-nap-fg); }
.kind-night { background:var(--kind-night-bg); color:var(--kind-night-fg); }
.kind-wake { background:var(--kind-wake-bg); color:var(--kind-wake-fg); }
.sheet { transition:transform .42s cubic-bezier(.3,.9,.3,1); }
.slide-panel { transition:transform .4s cubic-bezier(.3,.9,.3,1); }
@keyframes entryIn { from { opacity:0; transform:translateY(-10px) } to { opacity:1; transform:translateY(0) } }
@keyframes pulseDot { 0% { box-shadow:0 0 0 0 rgba(232,146,124,.45) } 70% { box-shadow:0 0 0 9px rgba(232,146,124,0) } 100% { box-shadow:0 0 0 0 rgba(232,146,124,0) } }
.entry-in { animation:entryIn .45s ease; }
.pulse-dot { animation:pulseDot 2s infinite; }
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}
::-webkit-scrollbar { width:8px; height:8px; }
::-webkit-scrollbar-thumb { background:rgba(120,115,160,.25); border-radius:99px; }
::-webkit-scrollbar-track { background:transparent; }