:root{--bg:#F4F3EE;--surface:#FBFAF6;--card:#FFFFFF;--border:#E3E1D8;--divider:#EFEDE5;--input-border:#D5D3CA;--text:#1B1B18;--text-2:#5C5B54;--text-3:#8A887F;--dark:#1B1B18;--dark-text:#C9C7BC;--dark-muted:#A9A79D;--accent:#0F5C4A;--accent-hover:#0A4235;--accent-soft:#E8F0EC;--accent-border:#CFE0D6;--alert:#B3261E;--alert-soft:#FBEDEB;--amber:#B4530A;--amber-soft:#F9F3E4;--amber-text:#7A4E12;--amber-border:#E5D3AC;--info:#1F3A8A;--info-soft:#EEF1F8;--chat-user:#E8EBF3;--sans:"IBM Plex Sans",Helvetica,Arial,sans-serif;--serif:"Newsreader",Georgia,serif;--mono:"IBM Plex Mono",Menlo,monospace}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}*{box-sizing:border-box}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:13px;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-border);outline-offset:0}h1,h2,h3{font-weight:500}@keyframes calcePulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes calceWave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes calceIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hv-bg:hover{background:var(--divider)!important}.hv-surface:hover{background:var(--surface)!important}.hv-border-accent:hover,.hv-border:hover{border-color:var(--accent)!important}.hv-border-accent:hover{color:var(--accent)!important}.hv-primary:hover:not(:disabled){background:var(--accent-hover)!important}.hv-reject:hover{border-color:var(--alert)!important;color:var(--alert)!important}.hv-tpl:hover{border-color:var(--accent)!important;background:#F7FAF8!important}.hv-dark:hover{background:#2B2B27!important}.hv-dim:hover{opacity:.85}.hv-accent-text:hover{color:var(--accent)!important}.hv-soft:hover{background:var(--accent-soft)!important}.hv-link:hover{text-decoration:underline}a.nav-plain:hover{text-decoration:none}