:root{--primary-color: #ff6b6b;--primary-hover: #ee5a52;--background: #f8f9fa;--surface: #ffffff;--surface-elevated: #f8f9fa;--text-primary: #2d3748;--text-secondary: #718096;--border-color: #e2e8f0;--success: #48bb78;--error: #f56565;--shadow: rgba(0, 0, 0, .1);--shadow-lg: rgba(0, 0, 0, .15);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--border-radius: 8px;--border-radius-lg: 12px}body.light-theme{--primary-color: #ff6b6b;--primary-hover: #ee5a52;--background: #f8f9fa;--surface: #ffffff;--surface-elevated: #f8f9fa;--text-primary: #2d3748;--text-secondary: #718096;--border-color: #e2e8f0;--shadow: rgba(0, 0, 0, .1);--shadow-lg: rgba(0, 0, 0, .15)}body.dark-theme{--primary-color: #ff6b6b;--primary-hover: #ff8585;--background: #1a1a1a;--surface: #242424;--surface-elevated: #2d2d2d;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--border-color: #3a3a3a;--shadow: rgba(0, 0, 0, .3);--shadow-lg: rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--text-primary);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}@media (max-width: 1024px){body.mobile-menu-open{overflow:hidden}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:1rem}h1{font-size:2.5rem}@media (max-width: 768px){h1{font-size:2rem}}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin-bottom:1rem}button{font-family:inherit;font-size:1rem;cursor:pointer;border:none;outline:none;transition:all .2s ease}button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;text-decoration:none;transition:all .2s ease;min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:var(--surface-elevated);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){border-color:var(--primary-color);background-color:#ff6b6b1a;color:var(--primary-color)}.btn-large{padding:1rem 2rem;font-size:1.125rem;font-weight:600}input[type=text],input[type=search]{font-family:inherit;font-size:1rem;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;background-color:var(--surface);color:var(--text-primary);width:100%;min-height:44px;transition:border-color .2s ease,background-color .3s ease,color .3s ease}input[type=text]:focus,input[type=search]:focus{outline:none;border-color:var(--primary-color)}input[type=text]::placeholder,input[type=search]::placeholder{color:var(--text-secondary)}.card{background-color:var(--surface);border-radius:12px;padding:2rem;box-shadow:0 2px 8px var(--shadow);transition:background-color .3s ease}.spinner{display:inline-block;width:40px;height:40px;border:4px solid rgba(255,107,107,.2);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:.625rem .875rem;border-radius:8px;font-size:.8125rem;line-height:1.4}.alert.alert-error{background-color:#f5656526;color:#f56565;border:1px solid rgba(245,101,101,.3)}.alert.alert-warning{background-color:#ed893626;color:#ed8936;border:1px solid rgba(237,137,54,.3)}.alert.alert-info{background-color:#63b3ed26;color:#63b3ed;border:1px solid rgba(99,179,237,.3)}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.mb-sm{margin-bottom:1rem}.mb-md{margin-bottom:1.5rem}.mb-lg{margin-bottom:2rem}.mt-sm{margin-top:1rem}.mt-md{margin-top:1.5rem}.mt-lg{margin-top:2rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width: 768px){body{font-size:14px}.btn{padding:.625rem 1.25rem}}
