:root{--bg-app: #0f172a;--bg-surface: #1e293b;--bg-surface-hover: #334155;--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-accent: #f43f5e;--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--border-subtle: #334155;--border-focus: #6366f1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-glow: 0 0 20px -5px rgba(99, 102, 241, .4);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace}[data-theme=light]{--bg-app: #f8fafc;--bg-surface: #ffffff;--bg-surface-hover: #f1f5f9;--text-main: #0f172a;--text-muted: #475569;--text-dim: #64748b;--border-subtle: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .05), 0 4px 6px -4px rgb(0 0 0 / .05)}body{background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--bg-surface-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;min-height:44px;min-width:44px}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}@media(max-width:768px){.container{padding:0 1rem}}.flex-center{display:flex;align-items:center;justify-content:center}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}input[type=button],input[type=submit],input[type=reset],.btn,a.tool-card{min-height:44px;padding:.75rem 1.5rem}@media(max-width:768px){h1{font-size:2rem!important}h2{font-size:1.5rem!important}h3{font-size:1.25rem!important}}
