@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:wght@600&display=swap";.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#ffffffc7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(148,163,184,.25);padding:34px 24px 28px;text-align:center}.header-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.logo{display:inline-flex;align-items:center;gap:10px}.logo-dot{font-size:1.9rem;color:#0d9488;line-height:1}.logo-text{font-family:Playfair Display,serif;font-size:clamp(2rem,2.2vw,2.4rem);font-weight:600;color:#1e293b;letter-spacing:-.02em}.main-nav{display:flex;gap:8px;background:#f1f5f9;padding:6px;border-radius:20px;border:1px solid #e2e8f0}.nav-btn{background:transparent;padding:10px 20px;border-radius:14px;font-size:.95rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.nav-btn:hover{color:#1e293b}.nav-btn.active{background:#fff;color:#1e293b;box-shadow:0 4px 12px #0000000d}.nav-saved-btn.active{background:linear-gradient(135deg,#ec4899,#a855f7);color:#fff}.nav-saved-btn.active .nav-badge{background:#fff;color:#d946ef}.nav-badge{background:#ef4444;color:#fff;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:99px}.app-main{flex:1;max-width:1160px;margin:0 auto;width:100%;padding:52px 28px 64px}.search-section{background:linear-gradient(165deg,#fffffff2,#f8fcfff5);border-radius:24px;border:1px solid rgba(148,163,184,.24);padding:36px;box-shadow:0 20px 45px #0f172a14,0 6px 24px #0d948814;margin-bottom:44px}.search-form{display:flex;flex-direction:column;gap:26px}.field-group{display:flex;flex-direction:column;gap:10px}.field-label{font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.field-input{width:100%;min-height:56px;padding:13px 18px;font-size:1.02rem;color:#1e293b;background:#f8fbff;border:1.5px solid #e2e8f0;border-radius:14px;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:#0d9488;background:#fff;box-shadow:0 0 0 4px #0d94881f}.field-input::placeholder{color:#94a3b8}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.cat-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:92px;padding:12px 10px;background:#f7fbff;border:1.5px solid #e2e8f0;border-radius:14px;transition:all .2s ease;cursor:pointer}.cat-btn:hover{border-color:#0d9488;background:#ecfdf8;transform:translateY(-2px)}.cat-btn--active{border-color:#0d9488;background:linear-gradient(180deg,#ccfbf1,#b8f7eb);box-shadow:0 8px 18px #0d94882e}.cat-icon{font-size:1.55rem}.cat-label{font-size:.86rem;font-weight:500;color:#334155;text-align:center;line-height:1.2}.form-actions{display:flex;gap:12px}.search-btn{flex:1;min-height:58px;padding:14px;background:linear-gradient(90deg,#0d9488,#14b8a6);color:#fff;font-size:1.14rem;font-weight:700;letter-spacing:.01em;border-radius:14px;transition:transform .15s,filter .15s,opacity .15s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 22px #0d94884d}.search-btn:hover:not(:disabled){filter:brightness(.96);transform:translateY(-1px)}.search-btn:disabled{opacity:.55;cursor:not-allowed}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.clear-btn{min-height:58px;padding:0 24px;background:#fff;border:1.5px solid #e2e8f0;color:#64748b;font-size:1rem;font-family:inherit;font-weight:600;border-radius:14px;cursor:pointer;transition:all .15s}.clear-btn:hover{background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:10px}.results-title{font-family:Playfair Display,serif;font-size:clamp(1.45rem,1.8vw,1.9rem);color:#1e293b;font-weight:600}.results-title em{color:#0d9488;font-style:normal}.results-count{font-size:.88rem;font-weight:600;color:#0d9488;background:#ccfbf1;padding:5px 14px;border-radius:99px}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.empty-state{text-align:center;padding:58px 24px;color:#94a3b8;font-size:1rem;display:flex;flex-direction:column;align-items:center;gap:14px}.empty-state span{font-size:2.4rem}.error-banner{background:#fff1f2;border:1px solid #fecdd3;color:#be123c;padding:16px 20px;border-radius:14px;font-size:.94rem;font-weight:500}.app-footer{text-align:center;font-size:.9rem;color:#94a3b8;padding:22px;border-top:1px solid rgba(148,163,184,.3);background:#ffffffbf}.app-footer a{color:#0d9488;text-decoration:none}@media (max-width: 480px){.app-header{padding:24px 16px 20px}.tagline{font-size:.93rem}.app-main{padding:28px 14px 42px}.search-section{padding:22px 16px;border-radius:18px}.category-grid{grid-template-columns:repeat(3,1fr)}.cat-btn{min-height:84px}.cat-label{font-size:.78rem}.search-btn{min-height:52px;font-size:1rem}.results-grid{grid-template-columns:1fr}}@media (min-width: 1400px){.app-main{max-width:1240px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--white: #ffffff;--off-white: #f2f6fa;--teal: #0d9488;--teal-light: #ccfbf1;--teal-dark: #0f766e;--slate: #334155;--slate-light: #64748b;--border: #e2e8f0;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(13,148,136,.1), 0 2px 8px rgba(0,0,0,.06);--radius: 14px;--font-body: "DM Sans", sans-serif;--font-display: "Playfair Display", serif}body{font-family:var(--font-body);background:radial-gradient(circle at 10% 5%,rgba(13,148,136,.11),transparent 36%),radial-gradient(circle at 90% 14%,rgba(16,185,129,.14),transparent 32%),linear-gradient(180deg,#f6fbff,#edf3f8);color:var(--slate);min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input{font-family:var(--font-body);outline:none}
