:root{--background:#fff;--foreground:#171717;--primary:#3b82f6;--primary-hover:#2563eb;--secondary:#10b981;--secondary-hover:#059669;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--error:#ef4444;--warning:#f59e0b;--success:#10b981;--border-radius:0.5rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--transition-fast:150ms;--transition-normal:250ms;--transition-slow:400ms;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed;--primary:#3b82f6;--primary-hover:#60a5fa;--secondary:#10b981;--secondary-hover:#34d399;--gray-100:#1f1f1f;--gray-200:#2e2e2e;--gray-300:#404040;--gray-400:#737373;--gray-500:#a3a3a3;--gray-600:#d4d4d4;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.4);--shadow-md:0 4px 6px -1px rgba(0,0,0,.5),0 2px 4px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -2px rgba(0,0,0,.4)}}body,html{max-width:100vw;overflow-x:hidden;height:100%}body{color:var(--foreground);background:var(--background);font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-md);line-height:1.2}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--spacing-md)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast) ease}a:hover{color:var(--primary-hover)}.button,button{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast) ease,transform var(--transition-fast) ease}.button:hover,button:hover{background-color:var(--primary-hover)}.button:active,button:active{transform:translateY(1px)}.button:disabled,button:disabled{opacity:.7;cursor:not-allowed}.button.secondary,button.secondary{background-color:var(--secondary)}.button.secondary:hover,button.secondary:hover{background-color:var(--secondary-hover)}.button.ghost,button.ghost{background-color:transparent;color:var(--foreground);border:1px solid var(--gray-300)}.button.ghost:hover,button.ghost:hover{background-color:var(--gray-100)}input,select,textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--border-radius);font-family:var(--font-family);font-size:var(--font-size-md);background-color:transparent;color:var(--foreground);transition:border-color var(--transition-fast) ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,130,246,.2)}input[type=range]{-webkit-appearance:none;width:100%;height:6px;background:var(--gray-300);border-radius:3px;border:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:18px;width:18px;border-radius:50%;background:var(--primary);cursor:pointer}input[type=range]::-moz-range-thumb{height:18px;width:18px;border-radius:50%;background:var(--primary);cursor:pointer;border:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}@media (max-width:768px){:root{--font-size-3xl:1.75rem;--font-size-2xl:1.375rem;--font-size-xl:1.125rem}.container{padding:0 var(--spacing-md)}}@media (prefers-color-scheme:dark){html{color-scheme:dark}input,select,textarea{border-color:var(--gray-300)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(59,130,246,.3)}}