:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-elevated: #ffffff;--text-primary: #1f2937;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-inverse: #ffffff;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--border-accent: #3b82f6;--interactive-primary: #3b82f6;--interactive-primary-hover: #2563eb;--interactive-secondary: #f3f4f6;--interactive-secondary-hover: #e5e7eb;--interactive-success: #10b981;--interactive-error: #ef4444;--interactive-warning: #f59e0b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-elevated: #1e293b;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-inverse: #0f172a;--border-primary: #334155;--border-secondary: #475569;--border-accent: #3b82f6;--interactive-primary: #3b82f6;--interactive-primary-hover: #2563eb;--interactive-secondary: #334155;--interactive-secondary-hover: #475569;--interactive-success: #10b981;--interactive-error: #ef4444;--interactive-warning: #f59e0b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--border-secondary) var(--bg-secondary)}::selection{background-color:var(--interactive-primary);color:var(--text-inverse)}::-moz-selection{background-color:var(--interactive-primary);color:var(--text-inverse)}*:focus{outline:2px solid var(--interactive-primary);outline-offset:2px}button{background:var(--interactive-primary);color:var(--text-inverse);border:none;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:inherit;cursor:pointer;transition:all .2s ease}button:hover{background:var(--interactive-primary-hover);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{background:var(--text-tertiary);cursor:not-allowed;transform:none}input,select,textarea{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-primary);border-radius:8px;padding:.5rem;font-family:inherit;font-size:inherit}input:focus,select:focus,textarea:focus{border-color:var(--border-accent);outline:none}a{color:var(--interactive-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--interactive-primary-hover);text-decoration:underline}pre,code{font-family:Courier New,Monaco,Menlo,monospace;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px}pre{padding:1rem;overflow-x:auto}code{padding:.25rem .5rem;font-size:.875em}.card{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-sm);padding:1.5rem}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}@media print{[data-theme=dark]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--text-primary: #1f2937;--text-secondary: #4b5563}}@media (prefers-contrast: high){:root{--border-primary: #000000;--text-primary: #000000}[data-theme=dark]{--border-primary: #ffffff;--text-primary: #ffffff}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}button{font-family:inherit;cursor:pointer;transition:all .2s}button:focus,button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
