:root{--bg: #0f1412;--panel: #1d2621;--line: #2f3b34;--text: #e7efe8;--muted: #93a399;--accent: #d6ff4b;--accent-2: #49c2a0;--danger: #ff7a66;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--radius: 16px;--font: "Sora", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--nav-h: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html,body,#root{height:100%;width:100%;max-width:100%;overflow:hidden;overscroll-behavior:none}html{background:var(--bg)}body{margin:0;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;font-family:var(--font);color:var(--text);background:transparent;touch-action:pan-y;overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(1200px 600px at 10% -10%,rgba(214,255,75,.08),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(73,194,160,.1),transparent 50%),linear-gradient(180deg,#121816 0%,var(--bg) 40%,#0c100e 100%)}.app{height:100%;max-height:100%;width:100%;max-width:100%;display:flex;flex-direction:column;overflow:hidden;padding-bottom:calc(var(--nav-h) + var(--safe-bottom))}.main{flex:1;min-height:0;min-width:0;width:100%;max-width:100%;padding:calc(12px + var(--safe-top)) 14px 12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.app.has-brand .main{padding-top:12px;scroll-snap-type:y mandatory;scroll-padding-top:12px}.main::-webkit-scrollbar{width:0;height:0;display:none}.topbar{display:flex;justify-content:center;gap:12px;align-items:center;margin-bottom:16px;text-align:center}.topbar h1{margin:0 0 4px;font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.topbar-brand{position:relative;flex:0 0 auto;z-index:10;justify-content:center;align-items:center;min-height:3.4rem;margin:0;padding:calc(10px + var(--safe-top)) 14px 12px;background:var(--bg);box-shadow:0 1px 0 var(--line)}.app.detail-open .topbar-brand{visibility:hidden;pointer-events:none}.topbar-brand .brand{margin:0;font-family:"Syne",var(--font);font-size:clamp(2.8rem,11vw,3.8rem);font-weight:800;letter-spacing:-.05em;line-height:.95;text-align:center}.meta{margin:0;color:var(--muted);font-size:13px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.filters input,.filters select{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:11px 14px;font:inherit;min-width:0}.note{font-size:12px;line-height:1.4;margin:0 0 10px}.note.bad{color:var(--danger)}.scroll-sentinel{height:1px;width:100%;pointer-events:none}.end-note{margin:8px 0 20px;text-align:center;color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:1fr;gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;scroll-snap-align:start;scroll-snap-stop:always}.card:active{border-color:var(--accent-2);transform:scale(.995)}.card-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,42%);gap:10px;align-items:stretch;min-height:148px}.card-main{min-width:0;display:flex;flex-direction:column;gap:8px}.card-title-row{display:flex;align-items:flex-start;gap:8px}.card-map{min-width:0;display:flex}.card-map .schematic-wrap{width:100%;height:100%;min-height:140px;border-radius:12px}.card-map .schematic-wrap svg{width:100%;height:100%;min-height:140px;aspect-ratio:auto;padding:4px;object-fit:contain}.map-placeholder{width:100%;min-height:140px;border-radius:12px;border:1px dashed var(--line);display:grid;place-items:center;color:var(--muted);font-size:12px;background:#141a16}.fav-btn{border:1px solid var(--line);background:#ffffff0a;color:var(--muted);border-radius:999px;min-width:34px;height:34px;padding:0 8px;font:inherit;font-size:16px;line-height:1;cursor:pointer;flex:0 0 auto}.fav-btn.on{color:#ff6b4a;border-color:#ff6b4a73;background:#ff6b4a1f}.detail-actions{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;flex-shrink:0;position:sticky;top:0;z-index:2;margin:0;padding:16px 16px 12px;background:#171d1afa;border-bottom:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.detail-actions .icon-btn{width:42px;height:42px;margin:0;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text);font:inherit;font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.detail-actions .icon-btn.fav-icon.on{color:#ff6b4a;border-color:#ff6b4a73;background:#ff6b4a1f}.detail-actions .avito-btn{width:100%;height:42px;margin:0;border:0;border-radius:999px;background:var(--accent);color:#121612;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.detail-actions .avito-btn:active{filter:brightness(.95)}.detail-actions .avito-btn-spacer{min-height:42px}.detail-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:4px 16px 16px;scrollbar-width:none;-ms-overflow-style:none}.detail-body::-webkit-scrollbar{width:0;height:0;display:none}.card h3{margin:0;font-size:18px;font-weight:700;line-height:1.25;flex:1;min-width:0}.card .row{display:flex;flex-wrap:wrap;gap:6px;margin:0}.card .meta-row{flex-wrap:wrap;gap:6px}.card .meta-row .pill{flex:0 1 auto;white-space:nowrap}.card p{margin:0;color:var(--muted);font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;flex:1}.schematic-wrap{flex:1;width:100%;margin:0;border-radius:12px;overflow:hidden;border:1px solid rgba(214,255,75,.2);background:#141a16}.schematic-wrap svg{display:block;width:100%;height:auto;aspect-ratio:200 / 140;padding:3px}.schematic-district{fill-opacity:.18;stroke-opacity:.55;stroke-width:.7;stroke-linejoin:round}.schematic-district.active{fill-opacity:.42;stroke-opacity:.95;stroke-width:1.15}.schematic-dlabel{fill:#e7efe866;font-size:6.5px;font-family:var(--mono);pointer-events:none}.schematic-dlabel.active{fill:#f4ff9a;font-size:7px}.schematic-dot{fill:#ff6b4a;stroke:#fff;stroke-width:1.4}.schematic-status{display:grid;place-items:center;min-height:56px;color:var(--muted);font-size:11px}.detail .schematic-wrap{width:100%;max-width:220px;margin:0 0 10px auto;min-height:120px}.photo-gallery{margin:12px 0;width:100%;max-width:100%}.photo-gallery.status{min-height:180px;border-radius:14px;border:1px dashed var(--line);display:grid;place-items:center;color:var(--muted);font-size:13px;background:#141a16}.photo-main{position:relative;width:100%;height:clamp(200px,34vh,280px);border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#101612}.photo-main img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:#0000008c;color:#fff;font-size:22px;line-height:1;cursor:pointer}.photo-nav.prev{left:8px}.photo-nav.next{right:8px}.photo-count{position:absolute;right:10px;bottom:10px;padding:4px 8px;border-radius:999px;background:#0000008c;color:#fff;font-size:11px;font-family:var(--mono)}.photo-thumbs{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:2px}.photo-thumb{flex:0 0 auto;width:56px;height:42px;border-radius:8px;overflow:hidden;border:1px solid var(--line);padding:0;background:#101612;cursor:pointer}.photo-thumb.active{border-color:var(--accent)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pill{font-size:12px;padding:4px 8px;border-radius:999px;background:#ffffff0a;border:1px solid var(--line);color:var(--muted)}.pill.price{color:var(--accent);border-color:#d6ff4b59}.pill.ok{color:var(--accent-2)}.pill.bad{color:var(--danger);border-color:#ff7a6659}.pill.muted{color:var(--muted);border-color:#93a39959}.pill.secret{color:#f0c35a;border-color:#f0c35a73;background:#f0c35a14}.secret-note{margin:0 0 12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(240,195,90,.35);background:#f0c35a14;color:#f0c35a;font-size:.9rem;line-height:1.35}.detail-map{margin:4px 0 12px}.detail-map .schematic-wrap{width:100%;max-width:320px;margin:0 auto}.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:40px 20px;text-align:center;color:var(--muted)}.profile-section{margin-bottom:16px}.profile-section h3{margin:0 0 10px;font-size:.95rem;font-weight:600;color:var(--muted)}.profile-section .filters{margin-bottom:0}.profile-card{display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.profile-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--accent);color:#111;display:grid;place-items:center;font-size:1.4rem;font-weight:700;flex:0 0 auto}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-info{display:grid;gap:4px;min-width:0}.profile-info strong{font-size:1.1rem}.profile-info small{color:var(--muted);font-size:12px;word-break:break-word}.profile-info .mono{font-family:var(--mono)}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat b{display:block;font-size:1.2rem;margin-bottom:4px}.stat span{color:var(--muted);font-size:12px}.profile-hint{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.4}.profile-actions{display:grid;gap:8px}.profile-actions .ghost-btn,.profile-actions .mail-btn{width:100%;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:12px 14px;font:inherit;cursor:pointer}.profile-actions .mail-btn{border-color:transparent;background:var(--accent);color:#111;font-weight:700}.profile-actions .mail-btn.on{background:transparent;border-color:var(--line);color:var(--text);font-weight:600}.profile-actions .mail-btn:disabled{opacity:.6;cursor:wait}.profile-actions .ghost-btn:hover,.profile-actions .ghost-btn:active{border-color:var(--accent-2);color:var(--accent)}.detail{position:fixed;top:0;left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-bottom));width:100%;max-width:none;max-height:none;margin:0;z-index:40;display:flex;flex-direction:column;background:#171d1a;border:0;border-radius:0;padding:0;overflow:hidden;box-shadow:none}.detail .detail-actions{padding-top:calc(12px + var(--safe-top))}.detail .ghost-btn{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:10px 14px;font:inherit;cursor:pointer;margin:0}.detail .fav-btn{background:var(--panel)}.detail h2{margin:8px 0 12px;font-size:1.15rem}.detail dl{margin:0 0 8px;display:grid;gap:10px}.detail dt{color:var(--muted);font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em}.detail dd{margin:4px 0 0;font-size:14px;word-break:break-word}.detail a{color:var(--accent-2)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;min-height:var(--nav-h);padding:8px 12px calc(8px + var(--safe-bottom));background:#101412f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav button{border:0;background:transparent;color:var(--muted);border-radius:12px;padding:8px 10px;font:inherit;font-size:12px;cursor:pointer;display:grid;gap:2px;place-items:center}.bottom-nav button.active{color:var(--accent);background:#d6ff4b14}.nav-icon{font-size:18px;line-height:1}.app-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;background:radial-gradient(900px 480px at 15% -5%,rgba(214,255,75,.1),transparent 55%),radial-gradient(700px 400px at 100% 0%,rgba(73,194,160,.12),transparent 50%),#0f1412f5}.loader-title{margin:0;font-family:"Syne",var(--font);font-weight:800;font-size:1.6rem;letter-spacing:-.03em}.loader-hint{margin:0;color:var(--muted);font-size:13px}.loader-spinner{width:36px;height:36px;border-radius:50%;border:2.5px solid rgba(231,239,232,.15);border-top-color:var(--accent);animation:spin .75s linear infinite}.loader-spinner.sm{width:16px;height:16px;border-width:2px}.inline-loader{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:13px;background:#1d2621b3}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:760px){.main{max-width:720px;margin:0 auto;width:100%;padding:20px 20px 28px}.filters{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}
