:root{--bg: #f4f1ec;--surface: #fff;--fg: #161411;--muted: #6a645c;--subtle: #8f877c;--border: #e4dfd6;--primary: #1e3a4c;--primary-fg: #f6f4f1;--success: #1f6b4a;--success-bg: #e8f3ed;--warn: #9a6b12;--warn-bg: #f8f0de;--danger: #9b2c2c;--danger-bg: #f8e8e8;--font: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--display: "Fraunces", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font)}button{font:inherit;cursor:pointer}a{color:inherit}.app{min-height:100dvh}.header{display:flex;align-items:center;justify-content:space-between;max-width:1040px;margin:0 auto;padding:16px 20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.mark{width:36px;height:36px;border-radius:8px;background:var(--primary);color:var(--primary-fg);display:grid;place-items:center;font-size:13px;font-weight:600}.logo{font-family:var(--display);font-size:1.15rem;font-weight:500}.hero{max-width:720px;margin:0 auto;padding:40px 20px 24px;text-align:center}.kicker{display:inline-block;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 12px;font-size:12px;color:var(--muted);margin-bottom:16px}h1{font-family:var(--display);font-weight:500;font-size:clamp(2rem,5vw,3rem);line-height:1.12;margin:0}.lede{color:var(--muted);font-size:1.05rem;margin:16px auto 0;max-width:36rem}.search{display:flex;gap:8px;max-width:560px;margin:28px auto 0;padding:8px;background:var(--surface);border:1px solid #cfc6b8;border-radius:16px}.search input{flex:1;border:0;outline:0;padding:10px 12px;background:transparent;min-width:0}.search button,.btn{background:var(--primary);color:var(--primary-fg);border:0;border-radius:10px;padding:10px 16px;font-weight:600}.hint{font-size:12px;color:var(--subtle);margin-top:10px}.grid{max-width:1040px;margin:0 auto;padding:28px 20px 64px;display:grid;gap:16px}@media(min-width:720px){.grid{grid-template-columns:1fr 1fr 1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;text-align:left;text-decoration:none;display:flex;flex-direction:column;gap:8px}.card:hover{border-color:#cfc6b8}.hood{font-size:12px;color:var(--muted)}.addr{font-family:var(--display);font-size:1.15rem}.meta{font-size:14px;color:var(--muted)}.row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px}.chip{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:999px}.buy{background:var(--success-bg);color:var(--success)}.hold{background:var(--warn-bg);color:var(--warn)}.sell{background:var(--danger-bg);color:var(--danger)}.score{font-family:var(--display);font-size:1.6rem;color:var(--primary)}.report{max-width:760px;margin:0 auto;padding:24px 20px 72px}.back{font-size:14px;color:var(--muted);text-decoration:none}.report h2{font-family:var(--display);font-weight:500;font-size:2rem;margin:8px 0 4px}.banner{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;margin-top:20px}.banner p{color:var(--muted);margin:8px 0 0}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.fact{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.fact b{display:block;font-size:11px;color:var(--subtle);text-transform:uppercase;letter-spacing:.04em}.empty{text-align:center;color:var(--muted);padding:24px}.footer{text-align:center;font-size:12px;color:var(--subtle);padding:0 20px 40px}
