:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;text-decoration:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700}button{font-family:inherit;cursor:pointer;border:none}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}@media(max-width:768px){.container{padding:0 1rem}}@media(max-width:440px){.container{padding:0 .75rem}}@media(max-width:360px){.container{padding:0 .5rem}}html{scroll-behavior:smooth}::selection{background-color:#667eea;color:#fff}:focus-visible{outline:2px solid #667eea;outline-offset:2px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#764ba2}.cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;z-index:10000;padding:20px;background:#00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent-banner{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:24px;display:flex;flex-direction:column;gap:20px}.cookie-consent-content{display:flex;gap:20px;align-items:flex-start}.cookie-consent-icon{font-size:32px;flex-shrink:0}.cookie-consent-text{flex:1}.cookie-consent-text h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#1a1a1a}.cookie-consent-text p{margin:0;font-size:14px;line-height:1.6;color:#555}.cookie-consent-text a{color:#667eea;text-decoration:underline}.cookie-consent-text a:hover{color:#5568d3}.cookie-consent-buttons{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.cookie-btn{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.cookie-btn-decline{background:#f5f5f5;color:#333}.cookie-btn-decline:hover{background:#e0e0e0}.cookie-btn-accept{background:#667eea;color:#fff}.cookie-btn-accept:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}@media(max-width:768px){.cookie-consent-overlay{padding:16px}.cookie-consent-banner{padding:20px}.cookie-consent-content{flex-direction:column;gap:16px}.cookie-consent-icon{font-size:28px}.cookie-consent-text h3{font-size:18px}.cookie-consent-text p{font-size:13px}.cookie-consent-buttons{flex-direction:column;width:100%}.cookie-btn{width:100%}}.app{min-height:100vh;display:flex;flex-direction:column}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.error-boundary-content{background:#fff;border-radius:12px;padding:3rem;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center}.error-boundary-content h1{color:#e74c3c;margin-bottom:1rem;font-size:2rem}.error-boundary-content p{color:#666;margin-bottom:2rem;font-size:1.1rem}.error-details{text-align:left;margin:2rem 0;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.error-details summary{cursor:pointer;font-weight:600;color:#495057;margin-bottom:1rem}.error-details pre{white-space:pre-wrap;word-wrap:break-word;color:#dc3545;font-size:.875rem;line-height:1.5;margin-top:.5rem}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-actions .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.error-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.error-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.error-actions .btn-secondary{background:#6c757d;color:#fff}.error-actions .btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}@media(max-width:768px){.error-boundary-content{padding:2rem 1.5rem}.error-boundary-content h1{font-size:1.5rem}.error-actions{flex-direction:column}.error-actions .btn{width:100%}}
