:root{--bg:#f8fafc;--surface:#fff;--surface-soft:#f1f5f9;--text:#0f172a;--muted:#64748b;--primary:#3b82f6;--primary-hover:#2563eb;--primary-700:#1d4ed8;--accent:#06b6d4;--accent-hover:#0891b2;--success:#10b981;--success-hover:#059669;--danger:#ef4444;--danger-hover:#dc2626;--warning:#f59e0b;--border:#e2e8f0;--card-border:#cbd5e1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--radius:12px;--container:1200px;--transition:all .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}*{box-sizing:border-box;margin:0;padding:0}html{width:100%;max-width:100vw;overflow-x:hidden}html,body,#root{background:var(--bg);height:100%;color:var(--text);-webkit-overflow-scrolling:touch;width:100%;max-width:100vw;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;position:relative;overflow-x:hidden}.container{max-width:var(--container);box-sizing:border-box;width:100%;max-width:100%;margin:0 auto;padding:20px;animation:.4s fadeIn;overflow-x:hidden}.navbar{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fffffff2;animation:.3s slideInRight;position:sticky;top:0}.navbar-inner{max-width:var(--container);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:16px 24px;display:flex}.brand{color:var(--text);transition:var(--transition);align-items:center;gap:12px;text-decoration:none;display:flex}.brand:hover{transform:translateY(-1px)}.brand-logo{background:linear-gradient(135deg,var(--primary),var(--primary-700));width:42px;height:42px;transition:var(--transition);border-radius:12px;box-shadow:0 8px 16px #3b82f64d}.brand:hover .brand-logo{box-shadow:0 12px 20px #3b82f666}.brand-title{letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.nav-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav-link{color:var(--text);transition:var(--transition);border-radius:8px;padding:8px 14px;font-weight:600;text-decoration:none;position:relative}.nav-link:hover{background:var(--surface-soft);color:var(--primary)}.nav-link:after{content:"";background:var(--primary);width:0;height:2px;transition:all .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-link:hover:after{width:80%}.btn{border-radius:var(--radius);cursor:pointer;transition:var(--transition);white-space:wrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:not(:disabled):hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn:not(:disabled):active{transform:translateY(0)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:not(:disabled):hover{background:var(--primary-hover);box-shadow:0 8px 16px #3b82f64d}.btn-outline{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-outline:not(:disabled):hover{background:var(--surface-soft);border-color:var(--primary);color:var(--primary)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:not(:disabled):hover{background:var(--accent-hover);box-shadow:0 8px 16px #06b6d44d}.btn-success{background:var(--success);color:#fff}.btn-success:not(:disabled):hover{background:var(--success-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:not(:disabled):hover{background:var(--danger-hover);box-shadow:0 8px 16px #ef44444d}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:var(--transition);box-sizing:border-box;width:100%;max-width:100%;padding:24px;animation:.4s fadeIn;overflow-x:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-title{color:var(--text);margin:0 0 12px;font-size:1.25rem;font-weight:700}.card-muted{color:var(--muted);font-size:.9rem}.hero{grid-template-columns:1.2fr .8fr;gap:28px;margin-bottom:32px;display:grid}@media (max-width:900px){.hero{grid-template-columns:1fr}}.hero-left{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:32px;animation:.5s slideInRight;position:relative;overflow:hidden}.hero-left:after{content:"";background:radial-gradient(closest-side,#3b82f626,#0000 70%);border-radius:50%;width:240px;height:240px;animation:4s ease-in-out infinite pulse;position:absolute;bottom:-60px;right:-60px}.hero-right{border-radius:var(--radius);border:1px solid var(--border);min-height:280px;box-shadow:var(--shadow-md);background:var(--surface);animation:.6s fadeIn;position:relative;overflow:hidden}.hero-right:before{content:"";filter:saturate(120%)contrast(105%);background:url(https://images.unsplash.com/photo-1584697964403-263edd2c2f8d?q=80&w=1600&auto=format&fit=crop) 50%/cover no-repeat;transition:transform .3s;position:absolute;inset:0}.hero-right:hover:before{transform:scale(1.05)}.hero-right:after{content:"";background:linear-gradient(#f8fafc00,#f8fafc80);position:absolute;inset:0}.grid{gap:20px;width:100%;max-width:100%;display:grid}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);box-sizing:border-box;width:100%;max-width:100%;padding:20px;animation:.4s fadeIn;overflow-x:hidden}.form{gap:16px;display:grid}.input,.select,.textarea{border:2px solid var(--border);background:var(--surface);width:100%;color:var(--text);transition:var(--transition);border-radius:10px;outline:none;padding:12px 16px;font-size:.95rem}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #3b82f61a}.input:hover,.select:hover,.textarea:hover{border-color:var(--card-border)}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px;animation:.3s scaleIn}.option{border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:10px;align-items:flex-start;gap:14px;min-height:48px;padding:16px;display:flex}.option:hover{border-color:var(--primary);background:#eff6ff;transform:translate(4px)}.option.is-selected{border-color:var(--primary);background:#dbeafe;box-shadow:0 0 0 4px #3b82f61a}.palette{grid-template-columns:repeat(auto-fill,minmax(min(100%,50px),1fr));gap:10px;width:100%;max-width:100%;display:grid}.palette-btn{aspect-ratio:1;width:100%;color:var(--text);cursor:pointer;background:var(--surface-soft);box-shadow:var(--shadow-sm);transition:var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:2px solid #0000;border-radius:10px;min-width:44px;min-height:44px;font-weight:700}.palette-btn:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.palette-answered{color:#065f46;background:#d1fae5;border-color:#10b981}.palette-visited{color:#991b1b;background:#fecaca;border-color:#ef4444}.palette-idle{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.footer{color:var(--muted);border-top:1px solid var(--border);text-align:center;background:var(--surface);box-shadow:var(--shadow-sm);margin-top:60px;padding:24px}.spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.notification{border-radius:var(--radius);box-shadow:var(--shadow-md);align-items:center;gap:12px;padding:16px 20px;font-weight:600;animation:.3s slideInRight;display:flex}.notification-success{color:#065f46;background:#d1fae5;border:2px solid #6ee7b7}.notification-error{color:#991b1b;background:#fee2e2;border:2px solid #fca5a5}.notification-info{color:#1e40af;background:#dbeafe;border:2px solid #93c5fd}.badge{white-space:nowrap;border-radius:20px;align-items:center;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-primary{color:#1e40af;background:#dbeafe}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.p-16{padding:16px}.p-20{padding:20px}.p-24{padding:24px}.p-32{padding:32px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.wrap{flex-wrap:wrap}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.text-center{text-align:center}.text-muted{color:var(--muted)}.font-bold{font-weight:700}.font-semibold{font-weight:600}@media (max-width:768px){.container{max-width:100%;padding:1rem}.navbar-inner{gap:.5rem;padding:.75rem 1rem}.nav-links{flex-wrap:wrap;gap:.25rem}.hero{gap:1rem}.card,.section,.question-card{margin-left:0;margin-right:0;padding:1rem}.input,.select,.textarea{width:100%;font-size:16px}.palette{grid-template-columns:repeat(auto-fill,minmax(min(100%,44px),1fr));gap:.5rem}.hero-left,.hero-right{padding:1rem}.auth-grid{grid-template-columns:1fr!important;gap:20px!important}}@media (max-width:480px){.container{padding:.5rem}.card,.section,.question-card{padding:.75rem}.navbar-inner{padding:.5rem .75rem}.footer .container{text-align:center!important;flex-direction:column!important}.footer .container>div:first-child{font-size:.85rem!important}.brand-title{font-size:1rem}.btn{padding:.5rem .75rem;font-size:.9rem}.card-title{font-size:1rem}h1{font-size:1.5rem;line-height:1.2}h2{font-size:1.25rem;line-height:1.3}.footer .container>div:last-child{gap:10px!important}}
