.text-xs{font-size:.75rem;line-height:1.4}.text-sm{font-size:.8125rem;line-height:1.5}.text-base{font-size:.9375rem;line-height:1.6}.text-lg{font-size:1.0625rem;line-height:1.5}.text-xl{font-size:1.25rem;line-height:1.4}.text-mono{font-family:var(--font-family-mono)}.text-heading{color:var(--color-text-heading)}.text-subtle{color:var(--color-text-subtle)}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-input{display:block;width:100%;padding:.4375rem .625rem;font-family:var(--font-family-mono);font-size:.8125rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.field-input::placeholder{color:var(--color-text-placeholder)}.field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11f}.field-input:disabled{background:var(--color-surface-secondary);color:var(--color-text-muted);cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;font-family:var(--font-family-body);font-size:.875rem;font-weight:500;line-height:1;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);text-decoration:none}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-secondary);text-decoration:none}.btn-ghost{background:transparent;color:var(--color-text-subtle);border-color:transparent}.btn-ghost:hover{background:var(--color-surface-secondary);color:var(--color-text);text-decoration:none}.btn-sm{padding:.3125rem .625rem;font-size:.8125rem}.btn-icon{padding:.4375rem;border-radius:var(--radius)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;font-family:var(--font-family-mono);letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius-sm);white-space:nowrap}.badge-text{background:#ede9fe;color:var(--color-field-text)}.badge-checkbox{background:#ecfeff;color:var(--color-field-checkbox)}.badge-dropdown{background:#f5f3ff;color:var(--color-field-dropdown)}.badge-radio{background:#ecfeff;color:var(--color-field-radio)}.badge-signature{background:#fdf2f8;color:var(--color-field-signature)}.badge-button{background:#ecfdf5;color:var(--color-field-button)}.badge-unknown{background:var(--color-surface-secondary);color:var(--color-text-subtle)}:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-primary-light: #818cf8;--color-primary-subtle: #eef2ff;--color-body-bg: #fafafa;--color-surface: #ffffff;--color-surface-secondary: #f5f5f5;--color-surface-tertiary: #e5e5e5;--color-text: #262626;--color-text-heading: #171717;--color-text-light: #404040;--color-text-subtle: #737373;--color-text-muted: #a3a3a3;--color-text-placeholder: #d4d4d4;--color-border: #e5e5e5;--color-border-strong: #d4d4d4;--color-success: #16a34a;--color-success-subtle: #f0fdf4;--color-error: #dc2626;--color-error-subtle: #fef2f2;--color-warning: #d97706;--color-warning-subtle: #fffbeb;--color-field-text: #6366f1;--color-field-checkbox: #0891b2;--color-field-dropdown: #7c3aed;--color-field-radio: #0891b2;--color-field-signature: #be185d;--color-field-button: #059669;--color-indigo-50: #eef2ff;--color-indigo-100: #e0e7ff;--color-indigo-200: #c7d2fe;--color-indigo-500: #6366f1;--color-indigo-600: #4f46e5;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-700: #404040;--color-neutral-900: #171717;--color-emerald-50: #ecfdf5;--color-emerald-100: #d1fae5;--color-emerald-200: #a7f3d0;--color-emerald-400: #34d399;--color-emerald-600: #059669;--color-emerald-700: #047857;--color-emerald-800: #065f46;--font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-size-base: 15px;--line-height-base: 1.6;--max-width-content: 1440px;--radius-sm: .375rem;--radius: .5rem;--radius-md: .625rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 4px 12px rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px rgba(15, 23, 42, .07), 0 10px 24px rgba(15, 23, 42, .07);--shadow-lg: 0 10px 15px rgba(15, 23, 42, .08), 0 20px 40px rgba(15, 23, 42, .08);--transition-fast: .12s ease;--transition: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden}html,body{margin:0;padding:0;background-color:var(--color-body-bg);color:var(--color-text);font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--color-text-heading);line-height:1.3;margin:0;font-weight:600}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:.9375rem}h6{font-size:.875rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}p{margin:0 0 1rem}code,pre{font-family:var(--font-family-mono);font-size:.875em}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
