:root{--color-canvas:#f4f5f7;--color-surface:#fff;--color-ink:#16181d;--color-ink-soft:#4a4f5a;--color-line:#cfd4dc;--color-accent:#1d4ed8;--color-accent-ink:#fff;--color-danger:#b42318;--color-danger-surface:#fef3f2;--color-ok:#0b6b3a;--color-ok-surface:#ecfdf3;--color-focus:#f59e0b;--font-body:"Leelawadee UI", "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--line-body:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-md:.5rem;--radius-lg:.75rem;--control-height:2.75rem;--content-max:75rem;--card-max:25rem}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-canvas);min-block-size:100dvh;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--line-body);margin:0}h1,h2,p{margin:0}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.button{min-block-size:var(--control-height);padding-inline:var(--space-4);border:1px solid var(--color-ink);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-md);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.button[aria-pressed=true]{background:var(--color-ink);color:var(--color-surface)}.button-primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink);font-weight:600}.button:disabled{opacity:.6;cursor:progress}
