:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--color-canvas: #fafafa;--color-surface: #ffffff;--color-surface-2: #fafafa;--color-surface-3: #f4f4f5;--color-surface-4: #e4e4e7;--color-foreground: #18181b;--color-strong: #27272a;--color-body: #3f3f46;--color-muted: #71717a;--color-subtle: #a1a1aa;--color-border: #e4e4e7;--color-border-strong: #d4d4d8;--color-input-border: #a1a1aa;--color-danger: #dc2626;--color-danger-weak: #fef2f2;--color-danger-weak-border: #fecaca;--color-success-fg: #3f6212;--color-success-weak: #f7fee7;--color-success-weak-border: #d9f99d;--shadow-card: 0 1px 3px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .04);--shadow-card-lg: 0 4px 20px rgba(0, 0, 0, .1);--radius-control: .5rem;--radius-panel: .75rem;--radius-card: 1rem;--radius-pill: 9999px;--text-body: .9375rem;--text-label: .75rem;--brand: #18181b;--brand-hover: #000000;--brand-ink: #ffffff;--brand-weak: #f4f4f5;--brand-weak-border: #d4d4d8;--motion: .16s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-body);line-height:1.5;color:var(--color-foreground);background:var(--color-canvas)}h1,h2,h3,p{margin:0}button{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.625rem 1.25rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-body);font-weight:600;cursor:pointer;text-decoration:none;transition:background var(--motion),transform var(--motion),border-color var(--motion)}.btn:hover{background:var(--color-surface-3)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:transparent;color:var(--brand-ink)}.btn.primary:hover:not(:disabled){background:var(--brand-hover)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--color-surface-3)}.btn.danger{background:var(--color-danger-weak);border-color:var(--color-danger-weak-border);color:var(--color-danger)}.btn.sm{min-height:2.125rem;padding:.375rem .875rem;font-size:.8125rem}.field{display:grid;gap:.375rem}.field>span{font-size:var(--text-label);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted)}.field .input{width:100%;min-height:2.75rem;padding:.625rem .875rem;border:1px solid var(--color-input-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-foreground);font:inherit;transition:border-color var(--motion),box-shadow var(--motion)}.field .input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-weak)}.field textarea.input{min-height:6rem;resize:vertical}.field .hint{font-size:var(--text-label);color:var(--color-muted)}.field.invalid .input{border-color:var(--color-danger)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.alert{padding:.75rem 1rem;border-radius:var(--radius-control);border:1px solid var(--color-danger-weak-border);background:var(--color-danger-weak);color:var(--color-danger);font-size:.875rem}.alert.success{border-color:var(--color-success-weak-border);background:var(--color-success-weak);color:var(--color-success-fg)}.checkbox{display:flex;gap:.625rem;align-items:flex-start;cursor:pointer}.checkbox input{width:1.125rem;height:1.125rem;margin:.15rem 0 0;accent-color:var(--brand);flex:none}
