@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700;9..144,900&family=Patrick+Hand&family=Quicksand:wght@400;500;600;700&display=swap";:root{--honey: #f4b83c;--honey-deep: #c68642;--honey-glow: #ffd66e;--cream: #fff8e7;--cream-soft: #faeec8;--cream-deep: #f1d99a;--brown: #5a3825;--brown-soft: #8b6f47;--brown-ink: #3c2415;--sage: #8fb897;--brick: #b85c3e;--rose: #e5a8a8;--bg: var(--cream);--surface: #fffdf6;--ink: var(--brown-ink);--ink-soft: var(--brown-soft);--line: #ead7a5;--line-soft: #f4e7c0;--accent: var(--brick);--radius: 22px;--radius-sm: 12px;--shadow-sm: 0 1px 2px rgba(90, 56, 37, .05), 0 2px 8px rgba(90, 56, 37, .06);--shadow: 0 2px 6px rgba(90, 56, 37, .06), 0 10px 28px rgba(90, 56, 37, .08);--shadow-lg: 0 4px 12px rgba(90, 56, 37, .08), 0 22px 48px rgba(90, 56, 37, .12);--font-display: "Fraunces", Georgia, serif;--font-body: "Quicksand", ui-sans-serif, system-ui, sans-serif;--font-hand: "Patrick Hand", ui-rounded, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(circle at 25% 25%,rgba(244,184,60,.07) 0,transparent 35%),radial-gradient(circle at 75% 60%,rgba(244,184,60,.05) 0,transparent 45%),radial-gradient(circle at 50% 95%,rgba(143,184,151,.05) 0,transparent 40%);background-attachment:fixed;-webkit-font-smoothing:antialiased;font-size:15.5px;line-height:1.55}body,button,a,.chip{cursor:var(--bear-cursor, auto)}button:hover,a:hover,.chip:hover{cursor:var(--bear-cursor-hover, pointer)}a{color:inherit;text-decoration:none}button{font-family:inherit}.app{min-height:100%;display:flex;flex-direction:column}.header{background:radial-gradient(ellipse 60% 80% at 50% 100%,rgba(244,184,60,.2) 0,transparent 70%),linear-gradient(180deg,#fffdf6 0%,var(--cream) 100%);border-bottom:2px dashed var(--cream-deep);padding:32px 24px 28px;position:relative;overflow:hidden}.header:before{content:"";position:absolute;top:18px;right:24px;width:60px;height:60px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><ellipse cx='22' cy='18' rx='8' ry='6' fill='white' opacity='0.85' stroke='%235A3825' stroke-width='1'/><ellipse cx='38' cy='18' rx='8' ry='6' fill='white' opacity='0.85' stroke='%235A3825' stroke-width='1'/><ellipse cx='30' cy='34' rx='14' ry='11' fill='%23F4B83C' stroke='%235A3825' stroke-width='1.5'/><path d='M 19 30 Q 30 36 41 30' stroke='%233C2415' stroke-width='2.5' fill='none'/><path d='M 19 38 Q 30 44 41 38' stroke='%233C2415' stroke-width='2.5' fill='none'/></svg>");background-repeat:no-repeat;opacity:.6;transform:rotate(12deg);pointer-events:none}.header-inner{max-width:1200px;margin:0 auto;position:relative}.header-titlebar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.header h1{margin:0 0 4px;font-family:var(--font-display);font-weight:900;font-size:clamp(28px,4vw,42px);letter-spacing:-.02em;color:var(--brown);line-height:1.05}.header h1 .accent-leaf{font-size:.7em;margin-left:4px;display:inline-block;transform:translateY(-.15em) rotate(-12deg)}.tagline{margin:8px 0 0;font-family:var(--font-hand);font-size:18px;color:var(--brown-soft);max-width:580px;line-height:1.35}.subtagline{margin:4px 0 0;font-size:13.5px;color:var(--brown-soft);font-style:italic}.meta{margin:12px 0 0;font-size:12.5px;color:var(--brown-soft);font-family:var(--font-hand)}.new-pill{display:inline-flex;align-items:center;gap:6px;background:var(--brick);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-family:var(--font-hand);font-size:16px;font-weight:500;cursor:pointer;animation:bobble 2.4s ease-in-out infinite;box-shadow:0 4px 10px #b85c3e40}.new-pill:hover{background:#9c4a30;transform:translateY(-1px)}@keyframes bobble{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}.main{flex:1;max-width:1200px;margin:0 auto;padding:26px 24px 60px;width:100%}.statsbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:22px}.stat-tile{background:var(--surface);border:1.5px solid var(--line-soft);border-radius:var(--radius-sm);padding:12px 12px 14px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .16s}.stat-tile:hover{transform:translateY(-2px)}.stat-tile-empty{opacity:.4}.stat-tile-label{font-size:11px;font-family:var(--font-hand);color:var(--brown-soft);text-transform:uppercase;letter-spacing:.06em;line-height:1.2}.stat-tile-value{font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--brown);line-height:1;margin-top:6px}.stat-tile-sub{font-size:11px;color:var(--brown-soft);margin-top:4px;font-family:var(--font-hand)}.filters{display:grid;grid-template-columns:1fr;gap:18px;padding:20px 22px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;position:relative}.filters:before{content:"";position:absolute;top:-14px;left:18px;width:30px;height:30px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M 22 38 Q 22 88 50 92 Q 78 88 78 38 Z' fill='%23C68642' stroke='%235A3825' stroke-width='3'/><ellipse cx='50' cy='38' rx='29' ry='6' fill='%238B6F47' stroke='%235A3825' stroke-width='3'/><path d='M 35 38 Q 33 48 38 50 Q 43 48 41 38' fill='%23F4B83C'/></svg>");background-size:contain;background-repeat:no-repeat}@media (min-width: 820px){.filters{grid-template-columns:1.5fr 1fr 1.1fr 1fr 1fr auto;align-items:end}}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:0}.filter-label{font-family:var(--font-hand);font-size:14px;color:var(--brown);font-weight:500;letter-spacing:.01em}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;font-family:var(--font-body);font-size:13px;font-weight:500;background:var(--cream-soft);color:var(--brown);border:1.5px solid var(--cream-deep);border-radius:999px;cursor:pointer;transition:all .14s}.chip:hover{background:var(--cream-deep);transform:translateY(-1px)}.chip-on{background:var(--brown);color:var(--cream);border-color:var(--brown)}.chip-on:hover{background:var(--brown-ink)}.chip-accent{background:var(--brick);color:#fff;border-color:var(--brick)}.chip-count{font-size:11px;opacity:.8;background:#ffffff2e;border-radius:999px;padding:1px 6px}.chip:disabled{opacity:.35;cursor:not-allowed}input[type=range]{width:100%;accent-color:var(--honey-deep);height:6px}.filter-count{font-family:var(--font-hand);font-size:15px;color:var(--brown-soft);align-self:end;justify-self:end;white-space:nowrap}.filter-count strong{color:var(--brown);font-size:17px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}.card{display:flex;flex-direction:column;background:var(--surface);border:1.5px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;position:relative}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--cream-deep)}.card-photo{position:relative;aspect-ratio:4 / 3;background:linear-gradient(135deg,var(--cream-soft),var(--cream-deep));overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.card:hover .card-photo img{transform:scale(1.04)}.card-photo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.site-pill{position:absolute;top:12px;left:12px;padding:5px 10px;font-size:11px;font-weight:600;font-family:var(--font-body);color:#fff;background:#3c2415d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;letter-spacing:.03em}.badge{position:absolute;top:12px;right:12px;padding:4px 10px;font-size:10.5px;font-weight:700;letter-spacing:.08em;border-radius:6px;font-family:var(--font-body)}.badge-new{background:var(--brick);color:#fff;box-shadow:0 2px 6px #b85c3e59;animation:wiggle 3s ease-in-out infinite}.badge-today{background:#ffffffeb;color:var(--brick)}@keyframes wiggle{0%,95%,to{transform:rotate(0)}97%{transform:rotate(-3deg)}}.card-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}.card-toprow{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.card-price{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--brown);white-space:nowrap}.card-price-suffix{font-size:12.5px;color:var(--brown-soft);font-weight:500;margin-left:2px;font-family:var(--font-body)}.card-property-type{font-family:var(--font-hand);font-size:15px;color:var(--honey-deep);text-transform:lowercase}.card-title{margin:2px 0 0;font-family:var(--font-body);font-size:14.5px;font-weight:500;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;min-height:2.7em}.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--brown-soft);margin-top:4px}.card-meta .dot{color:var(--cream-deep)}.card-meta .area{color:var(--brown)}.card-meta .distance{color:var(--sage);font-weight:600}.card-desc{margin:6px 0 0;font-size:12px;color:var(--brown-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.save-btn{position:absolute;bottom:10px;right:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fffdf6eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #5a38252e;transition:transform .16s,background .16s;z-index:2}.save-btn:hover{transform:scale(1.12) rotate(-5deg);background:#fff}.save-btn-on{background:#ffe89c}.save-btn-on:hover{background:#ffdd78}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--cream-deep)}.card-action-btn{background:none;border:none;font-family:var(--font-hand);font-size:13px;color:var(--brown-soft);cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .14s,color .14s}.card-action-btn:hover{background:var(--cream-soft);color:var(--brown)}.card-action-link{font-family:var(--font-hand);font-size:13px;color:var(--honey-deep);font-weight:500;opacity:.7;transition:opacity .14s}.card:hover .card-action-link{opacity:1}.filter-group-wide{grid-column:1 / -1}.grid .card{animation:cardIn .32s ease-out backwards}.grid .card:nth-child(1){animation-delay:20ms}.grid .card:nth-child(2){animation-delay:60ms}.grid .card:nth-child(3){animation-delay:.1s}.grid .card:nth-child(4){animation-delay:.14s}.grid .card:nth-child(5){animation-delay:.18s}.grid .card:nth-child(6){animation-delay:.22s}.grid .card:nth-child(7){animation-delay:.26s}.grid .card:nth-child(8){animation-delay:.3s}.grid .card:nth-child(n+9){animation-delay:.34s}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card:hover .card-price{text-shadow:0 2px 0 rgba(244,184,60,.35)}.header-titlebar>svg:first-child{animation:wave 4s ease-in-out infinite;transform-origin:50% 70%}@keyframes wave{0%,90%,to{transform:rotate(0)}92%{transform:rotate(-6deg)}94%{transform:rotate(6deg)}96%{transform:rotate(-4deg)}98%{transform:rotate(2deg)}}.card-analyze{margin-top:10px;padding-top:10px;border-top:1px dashed var(--cream-deep);cursor:auto}.analyze-btn{width:100%;background:linear-gradient(180deg,var(--honey),var(--honey-deep));color:#3c2415;border:1.5px solid var(--brown);border-radius:12px;padding:8px 14px;font-family:var(--font-hand);font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #f4b83c59;transition:transform .14s,box-shadow .14s}.analyze-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #f4b83c73}.analyze-loading{font-family:var(--font-hand);color:var(--brown-soft);text-align:center;padding:10px;font-size:15px;animation:pulseSoft 1.4s ease-in-out infinite}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.55}}.analyze-error{background:#fde8e3;border:1px solid #f3c7c0;color:#8a2a1c;padding:8px 10px;border-radius:8px;font-size:12.5px;font-family:var(--font-hand)}.analyze-retry{margin-left:8px;background:transparent;border:1px solid #8a2a1c;color:#8a2a1c;border-radius:6px;padding:2px 8px;cursor:pointer;font-size:11px}.analyze-result{background:var(--cream);border:1.5px solid var(--cream-deep);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink)}.analyze-summary{margin:0;font-family:var(--font-hand);font-size:14px;color:var(--brown);line-height:1.4}.analyze-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.verdict-pill{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-body)}.verdict-good{background:#c8e6c9;color:#1b5e20}.verdict-mid{background:#fff3cd;color:#6b4f00}.verdict-bad{background:#ffcdd2;color:#8a2a1c}.verdict-unknown{background:#e0e0e0;color:#444}.analyze-detail{color:var(--brown-soft);font-size:12px}.analyze-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:12px;color:var(--brown-soft)}.analyze-grid strong{color:var(--brown)}.analyze-label{font-family:var(--font-hand)}.analyze-positives,.analyze-warnings{list-style:none;margin:0;padding:0;font-size:12px;line-height:1.4}.analyze-positives li{color:var(--sage)}.analyze-warnings li{color:var(--brick)}.analyze-conclusion{margin:4px 0 0;padding:8px 10px;background:var(--honey-glow);border-radius:8px;font-size:12.5px;color:var(--brown-ink);font-family:var(--font-hand)}.loading{text-align:center;padding:60px 20px 80px;font-family:var(--font-hand);font-size:20px;color:var(--brown-soft);display:flex;flex-direction:column;align-items:center;gap:16px}.loading svg{animation:snore 3s ease-in-out infinite}@keyframes snore{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(2px) scale(1.02)}}.empty{text-align:center;padding:60px 24px;background:var(--surface);border:2px dashed var(--line);border-radius:var(--radius)}.empty-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--brown);margin:14px 0 6px}.empty-hint{font-size:13.5px;color:var(--brown-soft);max-width:460px;margin:0 auto;font-family:var(--font-hand)}.error{padding:14px 18px;background:#fde8e3;border:1.5px solid #f3c7c0;color:#8a2a1c;border-radius:var(--radius-sm);margin-bottom:18px;font-family:var(--font-hand)}.footer{border-top:2px dashed var(--cream-deep);padding:18px 24px;text-align:center;font-size:12px;color:var(--brown-soft);font-family:var(--font-hand)}.footer .hearts{color:var(--brick)}
