@font-face{font-family:Grove Sans;src:url('/assets/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#f7f7f5;--surface:#fff;--ink:#252b27;--muted:#68706a;--line:#e2e5df;--accent:#375c47;--focus:#426ed8;--soft:#edf2ec;--clay:#bc785e;--radius-control:10px;--radius-surface:18px;--radius-composer:28px;--ease:cubic-bezier(.22,.75,.22,1);--shadow:0 12px 40px -16px #27392b35;--font:'Grove Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
body{font-size:15px;line-height:1.5}
button,input,textarea,select{font:inherit;color:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.45}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
::selection{background:#d6e5d8;color:var(--ink)}
img,svg,canvas{max-width:100%}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font-weight:550;line-height:1.2;text-decoration:none;transition:background .18s,color .18s,box-shadow .18s,transform .18s}
.button:hover{background:#f1f3ef;border-color:#cbd2c9}
.button:active{transform:translateY(1px)}
.button.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.button.primary:hover{background:var(--accent);border-color:var(--accent)}
.button.ghost{background:transparent;border-color:transparent}
.button.ghost:hover{background:var(--soft)}
.button.small{min-height:34px;padding:7px 11px;font-size:13px}
.wordmark{display:inline-flex;align-items:center;gap:9px;font-size:25px;font-weight:650;letter-spacing:-1.2px;line-height:1;text-decoration:none;color:var(--ink)}
.grove-mark{position:relative;display:inline-block;flex:none;width:24px;height:26px;color:currentColor}
.grove-mark::before,.grove-mark::after{content:'';position:absolute;background:currentColor;border-radius:9px 9px 3px 9px;width:9px;height:17px;top:4px}
.grove-mark::before{left:3px;transform:rotate(-28deg)}
.grove-mark::after{right:2px;top:1px;transform:rotate(29deg);height:22px}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.demo-page{min-height:100dvh}
.prototype-note{font-size:11px;line-height:1.4;color:var(--muted)}
button svg,a svg{flex:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
