@import url(https://fonts.googleapis.com/css2?family=Lora:wght@400;600&family=Nunito:wght@400;600;700&display=swap);.search-bar[data-v-7af13440]{position:relative;margin-bottom:1.25rem}.search-icon[data-v-7af13440]{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}input[data-v-7af13440]{width:100%;padding:.75rem 2.5rem .75rem 2.75rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);font-family:Nunito,sans-serif;font-size:1rem;color:var(--text);outline:none;transition:border-color .15s}input[data-v-7af13440]::-moz-placeholder{color:var(--muted)}input[data-v-7af13440]::placeholder{color:var(--muted)}input[data-v-7af13440]:focus{border-color:var(--accent)}input[type=search][data-v-7af13440]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.clear-btn[data-v-7af13440]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;color:var(--muted);cursor:pointer;line-height:1;padding:0 4px}.clear-btn[data-v-7af13440]:hover{color:var(--text)}.tier-filter[data-v-6dca6b34]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.25rem}.tier-btn[data-v-6dca6b34]{padding:5px 12px;border-radius:999px;font-family:Nunito,sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;border:1.5px solid transparent;transition:opacity .15s,border-color .15s,background .15s;opacity:.45}.tier-btn.active[data-v-6dca6b34]{opacity:1}.tier-btn.loves[data-v-6dca6b34]{background:#fdeaea;color:#9e3232;border-color:#f5c2c2}.tier-btn.likes[data-v-6dca6b34]{background:#e8f0fb;color:#2d5a96;border-color:#bdd0f0}.tier-btn.neutral[data-v-6dca6b34]{background:#f0f0ee;color:#555548;border-color:#d8d8d0}.tier-btn.dislikes[data-v-6dca6b34]{background:#fff4e0;color:#8a5800;border-color:#f5d88a}.tier-btn.hates[data-v-6dca6b34]{background:#f5e8fa;color:#6b2d8b;border-color:#dbb0f5}.tier-btn.loves.active[data-v-6dca6b34]{border-color:#c06060}.tier-btn.likes.active[data-v-6dca6b34]{border-color:#4a7ec0}.tier-btn.neutral.active[data-v-6dca6b34]{border-color:#888878}.tier-btn.dislikes.active[data-v-6dca6b34]{border-color:#c08020}.tier-btn.hates.active[data-v-6dca6b34]{border-color:#9040b0}.gift-tag[data-v-5268b5b2]{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;padding:3px 8px 3px 4px;border-radius:999px}.gift-tag.loves[data-v-5268b5b2]{background:#fdeaea;color:#9e3232;border:1px solid #f5c2c2}.gift-tag.likes[data-v-5268b5b2]{background:#e8f0fb;color:#2d5a96;border:1px solid #bdd0f0}.gift-tag.neutral[data-v-5268b5b2]{background:#f0f0ee;color:#555548;border:1px solid #d8d8d0}.gift-tag.dislikes[data-v-5268b5b2]{background:#fff4e0;color:#8a5800;border:1px solid #f5d88a}.gift-tag.hates[data-v-5268b5b2]{background:#f5e8fa;color:#6b2d8b;border:1px solid #dbb0f5}.gift-tag[data-v-5268b5b2]:not(:has(.gift-icon)){padding:3px 10px}.gift-icon[data-v-5268b5b2]{width:18px;height:18px;image-rendering:pixelated;flex-shrink:0}.villager-row[data-v-5b7ad27e]{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s,box-shadow .15s}.villager-row[data-v-5b7ad27e]:hover{border-color:#bfb09a}.villager-row.open[data-v-5b7ad27e]{border-color:var(--accent);box-shadow:0 2px 12px rgba(107,143,78,.12)}.villager-header[data-v-5b7ad27e]{display:flex;align-items:center;gap:12px;padding:.65rem 1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.villager-avatar[data-v-5b7ad27e]{width:44px;height:44px;border-radius:8px;-o-object-fit:cover;object-fit:cover;background:var(--bg);flex-shrink:0;image-rendering:pixelated}.villager-info[data-v-5b7ad27e]{flex:1;min-width:0}.villager-name[data-v-5b7ad27e]{font-weight:700;font-size:.975rem;line-height:1.2}.villager-meta[data-v-5b7ad27e]{font-size:.78rem;color:var(--muted);margin-top:1px}.chevron[data-v-5b7ad27e]{color:var(--muted);flex-shrink:0;transition:transform .2s ease}.villager-row.open .chevron[data-v-5b7ad27e]{transform:rotate(180deg)}.expand-enter-active[data-v-5b7ad27e],.expand-leave-active[data-v-5b7ad27e]{transition:opacity .2s ease,transform .2s ease;transform-origin:top}.expand-enter[data-v-5b7ad27e],.expand-leave-to[data-v-5b7ad27e]{opacity:0;transform:scaleY(.95)}.detail-inner[data-v-5b7ad27e]{padding:0 1rem 1rem;border-top:1px solid var(--border);padding-top:.875rem;display:flex;flex-direction:column;gap:.75rem}.gift-section-label[data-v-5b7ad27e]{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.gift-section-label.loves[data-v-5b7ad27e]{color:#b83232}.gift-section-label.likes[data-v-5b7ad27e]{color:#185fa5}.gift-section-label.neutral[data-v-5b7ad27e]{color:#665}.gift-section-label.dislikes[data-v-5b7ad27e]{color:#8a5800}.gift-section-label.hates[data-v-5b7ad27e]{color:#6b2d8b}.gift-tags[data-v-5b7ad27e]{display:flex;flex-wrap:wrap;gap:5px}.result-count[data-v-49446ef7]{font-size:.8rem;color:var(--muted);margin-bottom:.75rem;padding-left:2px}.list[data-v-49446ef7]{display:flex;flex-direction:column;gap:6px}.empty-state[data-v-49446ef7]{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:.95rem}.empty-icon[data-v-49446ef7]{font-size:2rem;margin-bottom:.5rem}:root{--bg:#f5f0e8;--surface:#fffdf8;--border:#ddd5c0;--accent:#6b8f4e;--text:#2e2416;--muted:#8a7a63;--radius:12px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,#c8b99a44 1px,transparent 0);background-size:24px 24px;pointer-events:none;z-index:0}#app{position:relative;z-index:1}.container{max-width:680px;margin:0 auto;padding:2rem 1rem 4rem}header{text-align:center;margin-bottom:2rem}header h1{font-family:Lora,serif;font-size:2rem;font-weight:600;color:var(--accent);letter-spacing:-.01em;line-height:1.1}header p{margin-top:.4rem;font-size:.875rem;color:var(--muted)}.divider{width:48px;height:3px;background:#c07a3a;border-radius:2px;margin:.75rem auto 0}.attribution{margin-top:2.5rem;text-align:center;font-size:.78rem;color:var(--muted)}.attribution a{color:var(--accent);text-decoration:none}.attribution a:hover{text-decoration:underline}