:root{--zif-appearance-primary:#9faf52;--zif-appearance-primary-contrast:#000000;--zif-appearance-surface:#ffffff;--zif-appearance-text:#1c1c1c;--zif-appearance-border:#e7e9eb;--zif-appearance-primary-soft:#d0dc9a;--zif-appearance-canvas:#fafaf8;--zif-appearance-surface-muted:#f1f3f4;--zif-appearance-text-muted:#697078;--zif-appearance-greeting-name:#9faf52;color-scheme:light;--zif-page:var(--zif-appearance-canvas);--zif-soft:var(--zif-appearance-surface-muted);--zif-card:var(--zif-appearance-surface);--zif-card-alt:var(--zif-appearance-surface-muted);--zif-row:var(--zif-appearance-canvas);--zif-row-active:var(--zif-appearance-primary-soft);--zif-accent:var(--zif-appearance-primary-soft);--zif-brand:var(--zif-appearance-primary);--zif-panel-header:var(--zif-appearance-primary);--zif-panel-header-text:var(--zif-appearance-primary-contrast);--zif-tagline:var(--zif-appearance-primary);--zif-greeting-name:var(--zif-appearance-greeting-name);--zif-text:var(--zif-appearance-text);--zif-text-muted:var(--zif-appearance-text-muted);--zif-placeholder:var(--zif-appearance-text-muted);--zif-border:var(--zif-appearance-border);--zif-border-muted:var(--zif-appearance-border);--zif-error:#dc2626;--zif-warning:#ca8a04;--zif-overlay:rgba(0,0,0,0.5);--zif-processing:rgba(0,0,0,0.72);--zif-alpha-bg:var(--zif-appearance-surface);--zif-on-accent:var(--zif-appearance-primary-contrast);--zif-radius-card:12px;--zif-radius-row:10px;--zif-radius-input:10px;--zif-radius-small:6px;--zif-font-brand:18px;--zif-font-screen-title:20px;--zif-font-body:15px;--zif-font-label:13px;--zif-font-button:14px;--zif-font-row:14px;--zif-font-status:12px;--zif-control-button-h:34px;--zif-control-input-h:34px;--zif-topbar-h:58px;--zif-panel-w:356px;--zif-panel-rail-w:50px;--zif-shell-bp:1000px;--zif-content-max:640px;--zif-app-max:1380px;--zif-footer-space:56px;--zif-space-screen-h:20px;--zif-space-card:16px;--zif-space-gap:16px;--zif-space-row-gap:8px;--zif-press-opacity:0.75;--zif-press-scale:0.98}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--zif-page);color:var(--zif-text);font-family:var(--zif-font-family,"Avenir Next","Segoe UI","Helvetica Neue",sans-serif);font-size:var(--zif-font-body);line-height:1.4}a{color:inherit;text-decoration:none}button,input,select{font:inherit}select,select option{background-color:var(--zif-card);color:var(--zif-text)}:focus-visible{outline:2px solid var(--zif-brand);outline-offset:2px}