.lp{flex:1;width:100%;min-width:0;min-height:100vh;overflow-x:hidden;font-size:15px}.lp a,.lp a:hover{text-decoration:none}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:transform var(--t-fast),box-shadow var(--t-fast),filter var(--t-fast),background var(--t-fast),border-color var(--t-fast);white-space:nowrap}.lp-btn.big{padding:13px 26px;font-size:15.5px;border-radius:14px}.lp-btn.primary{background:linear-gradient(135deg,#6ea8ff,#5b7fff 55%,#8b5cf6);color:#fff;box-shadow:0 4px 18px #5b7fff59}.lp-btn.primary:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 8px 28px #5b7fff73}.lp-btn.primary:active{transform:translateY(0)}.lp-btn.ghost{background:#ffffff0a;border-color:var(--border);color:var(--text)}.lp-btn.ghost:hover{background:var(--bg3);border-color:var(--border-strong);transform:translateY(-2px)}.lp-grad{background:linear-gradient(90deg,#6ea8ff,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;padding:14px clamp(16px,5vw,56px);transition:background var(--t-med),border-color var(--t-med),backdrop-filter var(--t-med);border-bottom:1px solid transparent}.lp-nav.scrolled{background:#0b0d12bf;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--border)}.lp-brand{display:flex;align-items:center;gap:10px}.lp-brand-name,.lp-footer-brand span{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.lp-brand-name em,.lp-footer-brand em{font-style:normal;background:linear-gradient(90deg,#6ea8ff,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-nav-links{display:flex;gap:24px;margin:0 auto}.lp-nav-links a{color:var(--muted);font-size:14px;font-weight:500;transition:color var(--t-fast)}.lp-nav-links a:hover{color:var(--text)}.lp-nav-cta{display:flex;align-items:center;gap:10px}.lp-lang{display:inline-flex;padding:3px;gap:2px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a}.lp-lang-btn{border:none;background:transparent;color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:700;letter-spacing:.02em;padding:5px 11px;border-radius:999px;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.lp-lang-btn:hover{color:var(--text)}.lp-lang-btn.active{color:#fff;background:linear-gradient(135deg,#5b95ff,#8b6bff);box-shadow:0 2px 8px #6e6bff59}.lp-nav-open{margin-left:20px}.lp-theme-toggle{border-radius:999px;width:36px;height:36px}@media (max-width: 860px){.lp-nav-links{display:none}.lp-nav-cta{margin-left:auto}}@media (max-width: 520px){.lp-nav-cta .lp-btn.primary{display:none}}.lp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(40px,8vh,96px) clamp(16px,6vw,72px) clamp(40px,7vh,80px);max-width:1280px;margin:0 auto}@media (max-width: 960px){.lp-hero{grid-template-columns:1fr}}.lp-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;border:1px solid rgba(139,92,246,.4);background:#8b5cf61a;color:#c4b0ff;font-size:12.5px;font-weight:600;margin-bottom:22px}.lp-hero h1{font-size:clamp(32px,4.6vw,54px);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin-bottom:20px}.lp-sub{color:var(--muted);font-size:clamp(15px,1.4vw,17.5px);line-height:1.65;max-width:560px;margin-bottom:30px}.lp-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}.lp-hero-stats{display:flex;gap:clamp(20px,4vw,48px);flex-wrap:wrap}.lp-hero-stats>div{display:flex;flex-direction:column}.lp-hero-stats b{font-size:24px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.lp-hero-stats span{color:var(--muted);font-size:12.5px;margin-top:2px}.lp-hero-mock{position:relative}.lp-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;pointer-events:none;z-index:0}.lp-glow.a{width:320px;height:320px;top:-60px;right:-40px;background:radial-gradient(circle,rgba(139,92,246,.55),transparent 70%)}.lp-glow.b{width:280px;height:280px;bottom:-50px;left:-30px;background:radial-gradient(circle,rgba(91,149,255,.5),transparent 70%)}.lp-mock-window{position:relative;z-index:1;border-radius:20px;border:1px solid var(--border-strong);background:linear-gradient(165deg,#1a1f2be6,#0f121af2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 80px #00000080,0 0 0 1px #ffffff05 inset;overflow:hidden;animation:lpFloat 7s ease-in-out infinite alternate}@keyframes lpFloat{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.lp-mock-head{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--border)}.lp-mock-dot{width:10px;height:10px;border-radius:50%;background:var(--bg-hover)}.lp-mock-head .lp-mock-dot:first-child{background:#ff5f57;opacity:.75}.lp-mock-head .lp-mock-dot:nth-child(2){background:#febc2e;opacity:.75}.lp-mock-head .lp-mock-dot:nth-child(3){background:#28c840;opacity:.75}.lp-mock-title{margin-left:10px;font-size:12px;color:var(--muted);font-weight:600}.lp-mock-body{padding:18px;display:flex;flex-direction:column;gap:12px}.lp-mock-msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.45}.lp-mock-msg.user{align-self:flex-end;background:linear-gradient(135deg,#5b95ff,#8b6bff);color:#fff;border-bottom-right-radius:4px}.lp-mock-msg.ai{align-self:flex-start;background:var(--bg3);border:1px solid var(--border);border-bottom-left-radius:4px}.lp-mock-card{display:flex;gap:12px;border:1px solid var(--border-strong);border-radius:14px;background:var(--bg2);padding:10px;box-shadow:var(--shadow-1)}.lp-mock-photo{position:relative;width:116px;height:84px;border-radius:9px;flex-shrink:0;background:radial-gradient(60px 40px at 30% 30%,rgba(255,255,255,.16),transparent 70%),linear-gradient(140deg,#3a4a72,#262d45 60%,#1c2135)}.lp-mock-score{position:absolute;top:6px;right:6px;background:var(--green);color:#0b0e13;font-weight:800;font-size:12.5px;border-radius:7px;padding:2px 7px}.lp-mock-kind{position:absolute;bottom:6px;left:6px;background:#0b0d12b3;color:#fff;font-size:9px;font-weight:700;letter-spacing:.05em;border-radius:5px;padding:2px 6px}.lp-mock-info{display:flex;flex-direction:column;gap:4px;justify-content:center;min-width:0}.lp-mock-info b{font-size:16px;letter-spacing:-.01em}.lp-mock-info>span{color:var(--muted);font-size:12px}.lp-mock-pills{display:flex;gap:5px;flex-wrap:wrap}.lp-mock-pills i{font-style:normal;font-size:10.5px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:1px 8px;background:var(--bg3)}.lp-mock-input{display:flex;align-items:center;justify-content:space-between;margin-top:6px;border:1px solid var(--border-strong);border-radius:999px;padding:9px 9px 9px 16px;background:var(--bg3);color:var(--muted);font-size:13px}.lp-mock-send{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5b95ff,#8b6bff)}.lp-sources{text-align:center;padding:8px 16px 24px;max-width:1100px;margin:0 auto}.lp-sources-label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:14px}.lp-sources-row{display:flex;justify-content:center;gap:clamp(14px,3vw,36px);flex-wrap:wrap}.lp-sources-row span{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--muted);opacity:.75;transition:opacity var(--t-fast),color var(--t-fast)}.lp-sources-row span:hover{opacity:1;color:var(--text)}.lp-section{max-width:1180px;margin:0 auto;padding:clamp(48px,8vh,90px) clamp(16px,5vw,48px)}.lp-h2{font-size:clamp(26px,3.2vw,38px);font-weight:800;letter-spacing:-.025em;text-align:center;margin-bottom:14px}.lp-section-sub{text-align:center;color:var(--muted);font-size:16px;margin-bottom:44px}.lp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}@media (max-width: 1000px){.lp-steps{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.lp-steps{grid-template-columns:1fr}}.lp-step{position:relative;border:1px solid var(--border);border-radius:18px;background:linear-gradient(170deg,var(--bg2),rgba(18,21,29,.6));padding:24px 22px;transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med)}.lp-step:hover{transform:translateY(-4px);border-color:#5b95ff73;box-shadow:var(--shadow-2),var(--shadow-accent)}.lp-step-n{font-size:13px;font-weight:800;letter-spacing:.06em;background:linear-gradient(90deg,#6ea8ff,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px}.lp-step h3{font-size:16.5px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}.lp-step p{color:var(--muted);font-size:13.5px;line-height:1.6}.lp-video-sec{padding-top:0}.lp-video{border-radius:24px;padding:1px;background:linear-gradient(135deg,#6ea8ff80,#8b5cf680);box-shadow:0 24px 70px #00000073}.lp-video-inner{position:relative;border-radius:23px;aspect-ratio:16 / 7.5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(600px 260px at 50% 0%,rgba(91,149,255,.14),transparent 70%),linear-gradient(170deg,#141926,#0d1017);overflow:hidden}.lp-video-play{width:84px;height:84px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#6ea8ff,#8b5cf6);box-shadow:0 10px 40px #6e8cff80;transition:transform var(--t-med),box-shadow var(--t-med)}.lp-video-play:after{content:"";position:absolute;width:84px;height:84px;border-radius:50%;border:2px solid rgba(139,122,255,.5);animation:lpPulse 2.2s ease-out infinite}@keyframes lpPulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.7);opacity:0}}.lp-video-play:hover{transform:scale(1.08);box-shadow:0 14px 50px #6e8cffa6}.lp-video-cap{color:var(--muted);font-size:15px;font-weight:500}.lp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}@media (max-width: 960px){.lp-features{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.lp-features{grid-template-columns:1fr}}.lp-feature{border:1px solid var(--border);border-radius:18px;background:var(--bg2);padding:26px 24px;transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med)}.lp-feature:hover{transform:translateY(-4px);border-color:#8b5cf673;box-shadow:var(--shadow-2)}.lp-feature-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#a5c4ff;background:linear-gradient(135deg,#5b95ff29,#8b5cf629);border:1px solid rgba(91,149,255,.25);margin-bottom:16px}.lp-feature h3{font-size:16px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}.lp-feature p{color:var(--muted);font-size:13.5px;line-height:1.6}.lp-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}@media (max-width: 960px){.lp-reviews{grid-template-columns:1fr;max-width:620px;margin-inline:auto}}.lp-review{margin:0;border:1px solid var(--border);border-radius:18px;background:linear-gradient(170deg,var(--bg2),rgba(18,21,29,.55));padding:26px 24px;display:flex;flex-direction:column;gap:14px}.lp-stars{color:var(--amber);font-size:14px;letter-spacing:3px}.lp-review blockquote{margin:0;font-size:14.5px;line-height:1.65;color:#d5dbe8}.lp-review figcaption{display:flex;align-items:center;gap:12px;margin-top:auto}.lp-review figcaption span:last-child{display:flex;flex-direction:column}.lp-review b{font-size:14px}.lp-review small{color:var(--muted);font-size:12px}.lp-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,#5b95ff,#8b6bff);flex-shrink:0}.lp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px;align-items:stretch}@media (max-width: 960px){.lp-plans{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}.lp-plan{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:20px;background:var(--bg2);padding:30px 26px;transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med)}.lp-plan:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-2)}.lp-plan.hot{border-color:#8b5cf68c;background:radial-gradient(320px 160px at 50% 0%,rgba(139,92,246,.14),transparent 70%),var(--bg2);box-shadow:0 18px 60px #6e5cf62e}.lp-plan.hot:hover{border-color:#8b5cf6cc}.lp-plan-flag{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#6ea8ff,#8b5cf6);color:#fff;font-size:11.5px;font-weight:700;border-radius:999px;padding:5px 14px;letter-spacing:.03em;box-shadow:0 4px 14px #6e5cf666}.lp-plan h3{font-size:17px;font-weight:700;margin-bottom:12px}.lp-price{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1}.lp-price small{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0}.lp-plan-desc{color:var(--muted);font-size:13px;margin:10px 0 20px}.lp-plan ul{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:10px}.lp-plan li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.45;color:#cfd6e4}.lp-plan li svg{color:var(--green);flex-shrink:0;margin-top:2px}.lp-plan .lp-btn{margin-top:auto;width:100%}.lp-final{text-align:center;max-width:760px;margin:0 auto;padding:clamp(40px,8vh,80px) 20px clamp(60px,10vh,110px)}.lp-final h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.02em;margin-bottom:28px}.lp-footer{border-top:1px solid var(--border);display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:26px clamp(16px,5vw,56px);max-width:1280px;margin:0 auto}.lp-footer-brand{display:flex;align-items:center;gap:9px}.lp-footer-brand span{font-size:16px}.lp-footer-links{display:flex;gap:20px;margin-left:auto}.lp-footer-links a{color:var(--muted);font-size:13px}.lp-footer-links a:hover{color:var(--text)}.lp-footer-copy{color:var(--muted);font-size:13px}@media (max-width: 640px){.lp-footer{flex-direction:column;align-items:flex-start;gap:14px}.lp-footer-links{margin-left:0}}:root[data-theme=light] .lp-nav.scrolled{background:#ffffffd1;border-bottom-color:var(--border)}:root[data-theme=light] .lp-btn.ghost{background:#141e3c0a;border-color:var(--border)}:root[data-theme=light] .lp-btn.ghost:hover{background:var(--bg3)}:root[data-theme=light] .lp-lang{background:#141e3c0a}:root[data-theme=light] .lp-badge{background:#7b54f017;color:#6a48d8}:root[data-theme=light] .lp-mock-window{background:linear-gradient(165deg,#fff,#f3f5fb);box-shadow:0 30px 80px #141e3c24}:root[data-theme=light] .lp-mock-msg.ai{background:var(--bg3)}:root[data-theme=light] .lp-mock-pills i{background:var(--bg3)}:root[data-theme=light] .lp-mock-input{background:var(--bg3)}:root[data-theme=light] .lp-glow{opacity:.22}:root[data-theme=light] .lp-video-inner{background:radial-gradient(600px 260px at 50% 0%,rgba(61,111,224,.1),transparent 70%),linear-gradient(170deg,#eef1f8,#fff)}:root[data-theme=light] .lp-cities{background:var(--bg2)}.lp-cities-wrap{max-width:1000px;margin:0 auto;padding:8px clamp(16px,5vw,48px) 16px}.lp-cities{border:1px solid var(--border);border-radius:18px;background:var(--bg2);padding:22px 24px;box-shadow:var(--shadow-1)}.lp-cities-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.lp-cities-head h3{font-size:16px;font-weight:700;letter-spacing:-.01em}.lp-cities-head .muted{font-size:12.5px}.lp-cities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 720px){.lp-cities-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 460px){.lp-cities-grid{grid-template-columns:1fr}}.lp-city{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg3);font-size:13.5px}.lp-city.live{border-color:#34d39966}.lp-city-name{display:inline-flex;align-items:center;gap:8px;font-weight:600}.lp-city-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);opacity:.5;flex-shrink:0}.lp-city-dot.on{background:var(--green);opacity:1;box-shadow:0 0 6px #34d399b3}.lp-city-count{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.lp-city:not(.live) .lp-city-count{font-weight:600}.lp-city-count em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}:root{--bg: #0b0d12;--bg2: #12151d;--bg3: #1a1f2b;--bg-hover: #202636;--border: #262d3d;--border-strong: #35405a;--text: #e8ebf3;--muted: #8d97ac;--accent: #5b95ff;--accent2: #8b6bff;--green: #34d399;--lime: #a3e635;--amber: #fbbf24;--red: #f87171;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .25);--shadow-2: 0 4px 12px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .3);--shadow-accent: 0 8px 28px rgba(91, 149, 255, .16);--ring: 0 0 0 3px rgba(91, 149, 255, .28);--ease: cubic-bezier(.22, .61, .36, 1);--t-fast: .15s var(--ease);--t-med: .25s var(--ease)}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark}body{background:radial-gradient(1100px 500px at 85% -10%,rgba(139,107,255,.07),transparent 60%),radial-gradient(900px 480px at -10% 0%,rgba(91,149,255,.08),transparent 55%),var(--bg);background-attachment:fixed;color:var(--text);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;transition:color var(--t-fast)}a:hover{text-decoration:underline;text-underline-offset:3px}#root{display:flex;min-height:100vh}::selection{background:#5b95ff59}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-s)}.sidebar{width:232px;min-width:232px;background:linear-gradient(180deg,#12151deb,#0e1118eb);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;z-index:10}.logo{font-size:19px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.logo span{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.logo-sub{color:var(--muted);font-size:11.5px;margin-bottom:14px}.nav-link{position:relative;display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:var(--radius-s);color:var(--muted);font-weight:500;transition:background var(--t-fast),color var(--t-fast),padding-left var(--t-fast)}.nav-ico{width:18px;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--t-fast)}.nav-ico svg{display:block}.nav-link.active .nav-ico{color:#9db9ff}.nav-link:hover .nav-ico{transform:scale(1.2)}.nav-link.active .nav-ico{transform:scale(1.1)}.nav-link:hover{background:var(--bg3);color:var(--text);text-decoration:none;padding-left:15px}.nav-link.active{background:linear-gradient(90deg,#5b95ff2e,#8b6bff1a);color:#fff;font-weight:600}.nav-link.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--accent),var(--accent2))}.status-card{margin-top:auto;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-m);padding:12px;font-size:12.5px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-1)}.status-card .row{display:flex;justify-content:space-between;gap:8px}.status-card .muted{color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.dot.ok{background:var(--green);box-shadow:0 0 6px #34d399b3}.dot.bad{background:var(--red);box-shadow:0 0 6px #f87171b3}.model-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12.5px;font-family:inherit;padding:0;text-align:right;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--t-fast)}.model-btn:hover{color:var(--accent2)}.main{flex:1;padding:24px 28px;max-width:1500px;min-width:0;animation:pageIn .3s var(--ease) both}h1{position:relative;display:table;font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:18px;padding-bottom:10px}h1:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform-origin:left;animation:growBar .55s var(--ease) both}h2{position:relative;display:table;font-size:16px;font-weight:650;margin:20px 0 10px;padding-bottom:7px}h2:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform-origin:left;animation:growBar .55s var(--ease) both}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}select,input[type=text],input[type=number]{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-s);padding:7px 10px;font-size:13px;font-family:inherit;outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}select:hover,input[type=text]:hover,input[type=number]:hover{border-color:var(--border-strong)}select:focus,input:focus{border-color:var(--accent);box-shadow:var(--ring)}input[type=number]{width:90px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.map-cluster div{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#1e222ce0;border:3px solid #6b7280;color:#fff;font-weight:700;font-size:13px;box-shadow:0 1px 6px #00000059;cursor:pointer}.map-beacon-dot{font-size:22px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));cursor:default;animation:beacon-pulse 2s ease-in-out infinite;transform-origin:50% 100%}@keyframes beacon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}input[type=checkbox].switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:40px;height:22px;border-radius:999px;background:var(--bg3);border:1px solid var(--border);position:relative;cursor:pointer;margin:0;justify-self:start;align-self:center;flex-shrink:0;transition:background var(--t-med),border-color var(--t-med)}input[type=checkbox].switch:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform var(--t-med),background var(--t-med)}input[type=checkbox].switch:hover{border-color:var(--border-strong)}input[type=checkbox].switch:checked{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent}input[type=checkbox].switch:checked:before{transform:translate(18px);background:#fff}input[type=checkbox].switch:focus-visible{box-shadow:var(--ring)}input::placeholder{color:var(--muted);opacity:.75}button.btn{background:linear-gradient(135deg,var(--accent),#4a7fe8);color:#fff;border:none;border-radius:var(--radius-s);padding:8px 14px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform var(--t-fast),box-shadow var(--t-fast),filter var(--t-fast),opacity var(--t-fast);box-shadow:0 1px 2px #0000004d}button.btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #5b95ff4d}button.btn:active{transform:translateY(0);box-shadow:none}button.btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none;filter:none}button.btn.secondary{background:var(--bg3);border:1px solid var(--border);color:var(--text)}button.btn.secondary:hover{background:var(--bg-hover);border-color:var(--border-strong);box-shadow:0 4px 12px #00000059}button.btn.danger{background:linear-gradient(135deg,#b91c1c,#7f1d1d)}button.btn.danger:hover{box-shadow:0 4px 14px #f8717140}button.btn.success{background:linear-gradient(135deg,#15803d,#166534)}button.btn.success:hover{box-shadow:0 4px 14px #34d39940}button.btn.small{padding:4px 10px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-l);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med);position:relative;box-shadow:var(--shadow-1)}.card:hover{border-color:#5b95ff8c;box-shadow:var(--shadow-2),var(--shadow-accent)}.card .thumb{width:100%;height:175px;object-fit:cover;background:var(--bg3);display:block;transition:transform .45s var(--ease)}.card:hover .thumb{transform:scale(1.045)}.card:after{content:"";position:absolute;top:0;left:0;right:0;height:175px;background:linear-gradient(180deg,rgba(11,13,18,.28),transparent 32%,transparent 70%,rgba(11,13,18,.38));pointer-events:none;z-index:1}.card .thumb-empty{width:100%;height:175px;background:linear-gradient(135deg,var(--bg3),var(--bg2));display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.card .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px;flex:1}.card .price{font-size:16.5px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.card .price .ppm2{color:var(--muted);font-weight:400;font-size:12px;margin-left:6px}.card .title{font-size:13px;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .meta{color:var(--muted);font-size:12px}.card .badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;padding-top:7px}.grid>*{animation:fadeInUp .4s var(--ease) both}.grid>*:nth-child(2){animation-delay:.03s}.grid>*:nth-child(3){animation-delay:.06s}.grid>*:nth-child(4){animation-delay:.09s}.grid>*:nth-child(5){animation-delay:.12s}.grid>*:nth-child(6){animation-delay:.15s}.grid>*:nth-child(7){animation-delay:.18s}.grid>*:nth-child(8){animation-delay:.21s}.badge-stack{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;z-index:3}.score-badge{position:absolute;top:8px;right:8px;border-radius:var(--radius-s);padding:4px 9px;font-weight:800;font-size:14px;color:#0b0e13;box-shadow:0 2px 8px #00000059}.badge-stack .score-badge.main{position:static;font-size:16px;padding:5px 11px;cursor:help}.renov-badge{border-radius:7px;padding:2.5px 8px;font-weight:700;font-size:11.5px;color:#0b0e13;cursor:help;box-shadow:0 2px 6px #0000004d}.score-badge.na{background:#1a1f2bd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--muted);font-weight:500;font-size:11px}.dist-badge{position:absolute;top:144px;right:8px;z-index:3;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:700;color:#fff;background:#0b0d12b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.09)}.kind-badge{position:absolute;top:8px;left:8px;z-index:3;border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:700;letter-spacing:.05em;color:#fff;background:#0b0d12b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.09)}.pill{background:var(--bg3);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:11px;color:var(--muted);transition:border-color var(--t-fast),color var(--t-fast)}.card:hover .pill{border-color:var(--border-strong)}.progress-block{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-m);padding:12px 14px;margin-bottom:14px;font-size:13px;box-shadow:var(--shadow-1);animation:fadeInUp .3s var(--ease) both}.progress-bar{height:8px;background:var(--bg3);border-radius:5px;overflow:hidden;margin:8px 0 5px}.progress-bar>div{height:100%;border-radius:5px;background:linear-gradient(90deg,rgba(255,255,255,.16) 0%,transparent 40%),linear-gradient(90deg,var(--accent),var(--accent2));background-size:200% 100%,100% 100%;animation:barSheen 1.6s linear infinite;transition:width .4s var(--ease)}.progress-block .sub{color:var(--muted);font-size:12px}.err-line{color:var(--red);font-size:12px}.price-hero{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:14px 28px;margin-bottom:16px;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius-m);background:radial-gradient(420px 120px at 0% 0%,rgba(91,149,255,.14),transparent 70%),linear-gradient(135deg,var(--bg3),var(--bg2));box-shadow:var(--shadow-1);animation:fadeInUp .35s var(--ease) both}.price-hero-main{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.ph-price{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(120deg,#fff 20%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.ph-ppm2{font-size:15px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.price-hero-facts{display:flex;gap:10px;flex-wrap:wrap;padding-left:28px;border-left:1px solid var(--border)}@media (max-width: 560px){.price-hero-facts{padding-left:0;border-left:none}}.ph-fact{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:8px 12px;border-radius:var(--radius-s);background:#ffffff08;border:1px solid var(--border)}.ph-fact-v{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ph-fact-k{font-size:11px;color:var(--muted);margin-top:2px}.price-hero-scores{display:flex;gap:8px;flex-wrap:wrap;padding-left:28px;border-left:1px solid var(--border)}.ph-score{display:flex;flex-direction:column;align-items:center;min-width:60px;padding:8px 10px;border-radius:var(--radius-s);background:#ffffff08;border:1px solid var(--border)}.ph-score-v{font-size:20px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.ph-score-k{font-size:10.5px;color:var(--muted);margin-top:4px;white-space:nowrap}.price-hero-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ph-tag{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text);background:#5b95ff1f;border:1px solid rgba(91,149,255,.3)}.ph-tag.off{color:var(--muted);background:#8d97ac1a;border-color:var(--border)}.map-style-preview{display:flex;align-items:center;gap:12px;margin-top:12px}.ph-tag.link{text-decoration:none;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}.ph-tag.link:hover{background:#5b95ff38;border-color:#5b95ff8c}.ph-tag-strike{position:relative}.ph-tag-strike:after{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:2px;background:var(--red);transform:rotate(-18deg)}@media (max-width: 720px){.price-hero-scores{padding-left:0;border-left:none}}.detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:20px}.gallery-main{width:100%;border-radius:var(--radius-m);max-height:520px;object-fit:contain;background:#000;animation:fadeIn .25s var(--ease);box-shadow:var(--shadow-1)}.gallery-thumbs{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:4px}.gallery-thumbs img{width:84px;height:60px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.5;border:2px solid transparent;transition:opacity var(--t-fast),border-color var(--t-fast),transform var(--t-fast);flex-shrink:0}.gallery-thumbs img:hover{opacity:.85;transform:translateY(-1px)}.gallery-thumbs img.active{opacity:1;border-color:var(--accent)}.panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-m);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-1)}.panel h3{position:relative;display:table;font-size:12px;font-weight:650;margin-bottom:12px;padding-bottom:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.panel h3:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform-origin:left;animation:growBar .55s var(--ease) both}.attr-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;font-size:13px}.attr-grid .k{color:var(--muted)}.score-hero{display:flex;gap:10px;align-items:stretch}.score-box{flex:1;text-align:center;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-m);padding:12px 6px;transition:border-color var(--t-fast),transform var(--t-fast)}.score-box:hover{border-color:var(--border-strong);transform:translateY(-1px)}.score-box .num{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.score-box .lbl{color:var(--muted);font-size:11.5px;margin-top:3px}.ai-summary{margin-top:10px;display:flex;flex-direction:column;gap:8px}.ai-summary p{font-size:13.5px;line-height:1.62;color:#cfd6e4}.ai-summary p:first-child{color:var(--text)}.rented-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--bg2);font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;background:#06080c9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .18s var(--ease)}.modal-card{width:420px;max-width:100%;text-align:center;padding:30px 28px;border-radius:var(--radius-l);border:1px solid var(--border-strong);background:radial-gradient(320px 140px at 50% 0%,rgba(52,211,153,.12),transparent 70%),var(--bg2);box-shadow:var(--shadow-2);animation:fadeInUp .24s var(--ease) both}.modal-card h3{font-size:19px;font-weight:800;margin-bottom:10px}.modal-card p{font-size:13.5px;line-height:1.6;margin-bottom:20px}.modal-card .btn{min-width:130px;justify-content:center}.modal-check{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:#06110b;background:linear-gradient(135deg,var(--green),#22b07d);box-shadow:0 8px 24px #34d39966;animation:favPop .4s var(--ease)}.proscons li{margin-left:18px;margin-bottom:4px;font-size:13px}.proscons .pro::marker{color:var(--green)}.proscons .con::marker{color:var(--red)}.desc{white-space:pre-wrap;font-size:13.5px;line-height:1.6;color:#c9d0dd}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th,table.tbl td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--border)}table.tbl th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}table.tbl tr{transition:background var(--t-fast)}table.tbl tbody tr:hover td{background:#5b95ff0d}.pagination{display:flex;gap:8px;align-items:center;justify-content:center;margin:18px 0}.muted{color:var(--muted)}.mt{margin-top:14px}label.chk{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;transition:color var(--t-fast)}label.chk:hover{color:var(--text)}.stat-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}.stat-card{background:linear-gradient(160deg,var(--bg3),var(--bg2));border:1px solid var(--border);border-radius:var(--radius-m);padding:14px 20px;min-width:130px;box-shadow:var(--shadow-1);transition:transform var(--t-med),border-color var(--t-med),box-shadow var(--t-med);animation:fadeInUp .4s var(--ease) both}.stat-row .stat-card:nth-child(2){animation-delay:.04s}.stat-row .stat-card:nth-child(3){animation-delay:.08s}.stat-row .stat-card:nth-child(4){animation-delay:.12s}.stat-row .stat-card:nth-child(5){animation-delay:.16s}.stat-row .stat-card:nth-child(6){animation-delay:.2s}.stat-row .stat-card:nth-child(7){animation-delay:.24s}.stat-row .stat-card:nth-child(8){animation-delay:.28s}.stat-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-2)}.stat-card .num{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat-card .lbl{color:var(--muted);font-size:12px;margin-top:2px}.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12.5px}.bar-row .name{width:130px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row .bar{flex:1;height:14px;background:var(--bg3);border-radius:5px;overflow:hidden}.bar-row .bar>div{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--accent2));animation:growBar .7s var(--ease) both;transform-origin:left}.bar-row .val{width:90px;text-align:right;font-variant-numeric:tabular-nums}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes growBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes barSheen{0%{background-position:200% 0,0 0}to{background-position:-200% 0,0 0}}.dot.ok{animation:pulse 2.2s infinite}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 6px #34d39999;animation:pulse 1.2s infinite;margin-right:6px}.logo-mark{display:flex;align-items:center;gap:9px;margin-bottom:4px}.logo-mark svg{filter:drop-shadow(0 4px 14px rgba(101,120,255,.4))}.logo-spark{transform-box:fill-box;transform-origin:center;animation:sparkTwinkle 3.6s ease-in-out infinite}@keyframes sparkTwinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.72) rotate(18deg);opacity:.75}}.logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.minimap{position:relative;width:84px;height:84px;border-radius:var(--radius-s);overflow:hidden;border:1px solid var(--border);flex-shrink:0;background:var(--bg3);transition:border-color var(--t-fast),transform var(--t-med),box-shadow var(--t-med);transform-origin:right bottom}.card:hover .minimap{border-color:var(--border-strong)}.minimap:hover{transform:scale(2);z-index:6;box-shadow:var(--shadow-2);border-color:var(--accent)}.minimap img{width:100%;height:100%;object-fit:cover}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#0b0d1299;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:42px;height:42px;font-size:20px;cursor:pointer;z-index:5;transition:background var(--t-fast),transform var(--t-fast),border-color var(--t-fast)}.gallery-nav:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-50%) scale(1.08)}.gallery-nav:active{transform:translateY(-50%) scale(.98)}.gallery-nav.prev{left:10px}.gallery-nav.next{right:10px}.gallery-count{position:absolute;bottom:10px;right:12px;background:#0b0d12b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.09);border-radius:6px;padding:2px 9px;font-size:12px;font-variant-numeric:tabular-nums;z-index:5}.minimap .dot-pin{position:absolute;width:10px;height:10px;border-radius:50%;background:#ff4d6d;border:2px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 8px #ff4d6de6}.minimap .area-circle{position:absolute;width:46px;height:46px;border-radius:50%;background:#ff4d6d2e;border:2px solid rgba(255,77,109,.85);transform:translate(-50%,-50%);box-shadow:0 0 10px #ff4d6d59}.card .body-row{display:flex;gap:8px}.card .body-row .info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.select-box{position:absolute;bottom:8px;left:8px;z-index:5;width:18px;height:18px;accent-color:var(--accent);cursor:pointer;transition:transform var(--t-fast)}.select-box:hover{transform:scale(1.15)}.fav-btn{position:absolute;top:141px;left:8px;z-index:6;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;font-size:16px;line-height:1;color:#fff;background:#0b0d129e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);border-radius:50%;cursor:pointer;transition:transform var(--t-fast),background var(--t-fast),color var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.fav-btn:hover{transform:scale(1.15);background:#0b0d12cc;color:var(--amber);border-color:#fbbf2480}.fav-btn:active{transform:scale(.94)}.fav-btn.on{color:var(--amber);background:#fbbf2429;border-color:#fbbf2499;box-shadow:0 0 12px #fbbf2459;animation:favPop .35s var(--ease)}@keyframes favPop{0%{transform:scale(1)}45%{transform:scale(1.32)}to{transform:scale(1)}}.ban-btn{position:absolute;top:141px;left:44px;z-index:6;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;font-size:14px;line-height:1;background:#0b0d129e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);border-radius:50%;cursor:pointer;filter:grayscale(.4);opacity:.85;transition:transform var(--t-fast),background var(--t-fast),border-color var(--t-fast),opacity var(--t-fast),filter var(--t-fast)}.ban-btn:hover{transform:scale(1.15);background:#7f1d1d8c;border-color:#f8717199;opacity:1;filter:none}.ban-btn:active{transform:scale(.94)}.ban-btn.on{opacity:1;filter:none;background:#7f1d1db3;border-color:#f87171b3;box-shadow:0 0 12px #f8717159}.dead-badge{position:absolute;bottom:8px;right:8px;background:#7f1d1deb;color:#fff;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.04em}.unit-row{display:flex;gap:8px;font-size:12.5px;padding:2px 0;align-items:center}.unit-row .u-label{width:230px;color:var(--muted)}.unit-row .u-state{flex:1}.unit-row .u-state.err{color:var(--red)}.map-wrap{height:calc(100vh - 200px);min-height:420px;border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-1)}.leaflet-popup-content-wrapper{background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.leaflet-popup-tip{background:var(--bg2)}.map-pop{width:230px;white-space:normal;overflow-wrap:break-word}.map-pop img{width:100%;height:110px;object-fit:cover;border-radius:6px}.leaflet-tooltip{white-space:normal;height:auto;max-width:250px;background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-m);padding:8px;box-shadow:var(--shadow-2)}.leaflet-tooltip-top:before{border-top-color:var(--bg2)}.leaflet-tooltip-bottom:before{border-bottom-color:var(--bg2)}.leaflet-tooltip-left:before{border-left-color:var(--bg2)}.leaflet-tooltip-right:before{border-right-color:var(--bg2)}.map-pop .p-price{font-weight:700;font-size:15px;margin:4px 0 2px}.map-pop a{color:var(--accent)}.map-pop-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.map-ban-btn{padding:3px 9px;font-size:12px;border-radius:var(--radius-s);background:#7f1d1d59;border:1px solid rgba(248,113,113,.4);color:var(--text);cursor:pointer}.map-ban-btn:hover{background:#7f1d1d99;border-color:#f87171b3}.map-ban-btn:disabled{opacity:.5;cursor:default}.toast{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:1000;padding:10px 22px;border-radius:var(--radius-m);background:#7f1d1df2;border:1px solid rgba(248,113,113,.7);color:#fff;font-weight:700;font-size:15px;box-shadow:var(--shadow-2);animation:toastIn .2s var(--ease)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.login-wrap{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.login-card{width:400px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:14px;padding:40px 38px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-2);color:var(--text)}.login-card h2{margin:6px 0;font-size:24px}.login-card input{width:100%;box-sizing:border-box;padding:13px 15px;font-size:15px;border-radius:var(--radius-s)}.login-card .btn{padding:13px 16px;font-size:15px;justify-content:center}.login-card .logo-mark{margin-bottom:2px}.user-card{margin-top:10px;padding:10px;display:flex;flex-direction:column;gap:6px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-m)}.user-email{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-table{width:100%;border-collapse:collapse;font-size:13px}.users-table th,.users-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.users-table th{color:var(--muted);font-weight:600;font-size:12px}.users-table tr.off td{opacity:.45}.detail-map{height:220px;border-radius:10px;overflow:hidden}.nav-row{display:flex;align-items:center;gap:6px}.nav-row .nav-link{flex:1}.nav-map-link{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:var(--radius-s);font-size:12px;color:var(--muted);border:1px solid var(--border);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.nav-map-link:hover{background:var(--bg3);border-color:var(--border-strong);text-decoration:none;color:var(--text)}.nav-map-link.active{background:linear-gradient(135deg,var(--accent2),#6d4fe0);color:#fff;border-color:transparent}body:before,body:after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.12;pointer-events:none}body:before{width:540px;height:540px;top:-180px;right:-120px;background:radial-gradient(circle,var(--accent2),transparent 70%);animation:drift1 28s ease-in-out infinite alternate}body:after{width:480px;height:480px;bottom:-160px;left:200px;background:radial-gradient(circle,var(--accent),transparent 70%);animation:drift2 34s ease-in-out infinite alternate}@keyframes drift1{to{transform:translate(-130px,100px) scale(1.15)}}@keyframes drift2{to{transform:translate(150px,-90px) scale(1.1)}}.logo span{background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:logoShift 6s linear infinite}@keyframes logoShift{to{background-position:-200% 0}}.logo-link{text-decoration:none;color:inherit;display:inline-block}.logo-link:hover{text-decoration:none}.stat-row{display:flex;flex-wrap:wrap;gap:10px}.stat-tile{flex:1 1 120px;min-width:120px;padding:14px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-m)}.stat-value{font-size:26px;font-weight:800;letter-spacing:-.02em}.stat-label{color:var(--muted);font-size:12px;margin-top:2px}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 900px){.analytics-grid{grid-template-columns:1fr}}.bars{display:flex;align-items:flex-end;gap:2px;height:130px;padding-top:6px}.bar-col{flex:1;height:100%;display:flex;align-items:flex-end}.bar-stack{display:flex;align-items:flex-end;gap:1px;width:100%;height:100%}.bar{flex:1;min-height:1px;border-radius:2px 2px 0 0;transition:height var(--t-fast)}.bar.active{background:var(--accent)}.bar.views{background:var(--accent2)}.bar-col:hover .bar{filter:brightness(1.25)}.bars-axis{display:flex;justify-content:space-between;font-size:11px;margin-top:4px}.lg-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:middle}.lg-dot.active{background:var(--accent)}.lg-dot.views{background:var(--accent2)}.assistant-wrap{max-width:920px;display:flex;flex-direction:column;min-height:calc(100vh - 48px)}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border)}.chat-head-id{display:flex;align-items:center;gap:12px}.chat-head-title{font-size:17px;font-weight:800;letter-spacing:-.01em}.chat-head-sub{display:flex;align-items:center;color:var(--muted);font-size:12px;margin-top:1px}.chat-clear{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.chat-clear:hover{color:var(--red);border-color:#f8717173;background:#f8717112}.chat{flex:1;display:flex;flex-direction:column;gap:18px;padding:20px 2px 8px}.chat-empty{margin:auto 0;padding:28px 4px;display:flex;flex-direction:column;align-items:center;text-align:center}.chat-empty-ico{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#b9a8ff;background:linear-gradient(135deg,#5b95ff29,#8b5cf62e);border:1px solid rgba(139,107,255,.3);margin-bottom:16px;box-shadow:0 8px 30px #6e5cf62e}.chat-empty-h{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;padding:0}.chat-empty-h:after{display:none}.chat-empty-p{color:var(--muted);font-size:14px;max-width:440px;margin-bottom:26px;line-height:1.6}.chat-suggest{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:640px}@media (max-width: 620px){.chat-suggest{grid-template-columns:1fr}}.chat-suggest-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:13px 16px;border-radius:14px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:transform var(--t-fast),border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.chat-suggest-card small{color:var(--muted);font-size:11.5px;font-weight:500}.chat-suggest-card:hover{transform:translateY(-2px);border-color:#5b95ff80;background:var(--bg3);box-shadow:var(--shadow-1),var(--shadow-accent)}.chat-msg{display:flex;gap:10px;max-width:100%;animation:fadeInUp .3s var(--ease) both}.chat-msg.user{justify-content:flex-end}.chat-msg-col{display:flex;flex-direction:column;gap:10px;max-width:100%;min-width:0}.chat-msg.user .chat-msg-col{align-items:flex-end;max-width:78%}.chat-msg.assistant .chat-msg-col{align-items:flex-start;flex:1}.chat-ava{flex-shrink:0;margin-top:2px;filter:drop-shadow(0 2px 8px rgba(110,92,246,.35))}.bubble{max-width:100%;padding:11px 16px;border-radius:18px;line-height:1.55;font-size:14px;white-space:pre-wrap;word-break:break-word}.chat-msg.user .bubble{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-bottom-right-radius:6px;box-shadow:0 4px 16px #6e6bff40}.chat-msg.assistant .bubble{max-width:85%;background:var(--bg2);border:1px solid var(--border);border-top-left-radius:6px}.bubble.typing{display:inline-flex;gap:5px;align-items:center;padding:14px 16px}.tdot{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:tdot 1.2s ease-in-out infinite}.tdot:nth-child(2){animation-delay:.15s}.tdot:nth-child(3){animation-delay:.3s}@keyframes tdot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.assistant-cards{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.chat-more{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;border:1px solid rgba(91,149,255,.4);background:#5b95ff1a;color:#a5c4ff;font-size:13px;font-weight:600;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.chat-more:hover{background:#5b95ff2e;border-color:#5b95ffa6;text-decoration:none;transform:translate(2px)}.chat-composer{position:sticky;bottom:12px;display:flex;align-items:flex-end;gap:10px;margin-top:14px;padding:10px 10px 10px 18px;border-radius:22px;border:1px solid var(--border-strong);background:#161a25d9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 40px #00000073,0 0 0 1px #ffffff05 inset;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.chat-composer:focus-within{border-color:var(--accent);box-shadow:0 12px 40px #00000073,0 0 0 3px #5b95ff2e}.chat-composer textarea{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text);font-family:inherit;font-size:14.5px;line-height:1.5;padding:6px 0;max-height:96px}.chat-composer textarea:focus{box-shadow:none}.chat-composer textarea::placeholder{color:var(--muted);opacity:.7}.chat-send{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));cursor:pointer;box-shadow:0 4px 16px #6e6bff59;transition:transform var(--t-fast),box-shadow var(--t-fast),opacity var(--t-fast),filter var(--t-fast)}.chat-send:hover:not(:disabled){transform:translateY(-2px) scale(1.05);filter:brightness(1.1);box-shadow:0 8px 24px #6e6bff80}.chat-send:active:not(:disabled){transform:scale(.96)}.chat-send:disabled{opacity:.35;cursor:default;box-shadow:none}.chat-hint{text-align:center;color:var(--muted);font-size:11px;opacity:.7;padding:8px 0 2px}.chat-lock{margin:12vh auto 0;max-width:480px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 32px;border-radius:22px;border:1px solid var(--border);background:radial-gradient(320px 140px at 50% 0%,rgba(139,92,246,.12),transparent 70%),var(--bg2);box-shadow:var(--shadow-2)}.chat-lock h3{font-size:19px;font-weight:800;letter-spacing:-.01em}.chat-lock p{line-height:1.6}@media (max-width: 640px){.chat-msg.user .chat-msg-col{max-width:92%}.chat-msg.assistant .bubble{max-width:100%}.assistant-cards{grid-template-columns:1fr 1fr}}.card:before{content:"";position:absolute;top:0;left:0;width:55%;height:175px;background:linear-gradient(105deg,transparent,rgba(255,255,255,.13),transparent);transform:translate(-180%) skew(-14deg);z-index:2;pointer-events:none}.card:hover:before{animation:shine .85s var(--ease)}@keyframes shine{to{transform:translate(340%) skew(-14deg)}}.badge-stack{animation:popIn .4s var(--ease) both}@keyframes popIn{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.skel-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-l);overflow:hidden;padding-bottom:8px}.skel{background:linear-gradient(90deg,var(--bg3) 25%,var(--bg-hover) 45%,var(--bg3) 65%);background-size:400px 100%;animation:shimmer 1.3s linear infinite}.skel.ph{height:175px}.skel.ln{height:12px;border-radius:6px;margin:11px 14px 0}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.bar-row .bar>div{animation-delay:.05s}.bar-row:nth-child(2) .bar>div{animation-delay:.1s}.bar-row:nth-child(3) .bar>div{animation-delay:.15s}.bar-row:nth-child(4) .bar>div{animation-delay:.2s}.bar-row:nth-child(5) .bar>div{animation-delay:.25s}.bar-row:nth-child(6) .bar>div{animation-delay:.3s}.bar-row:nth-child(7) .bar>div{animation-delay:.35s}.bar-row:nth-child(8) .bar>div{animation-delay:.4s}.hist-bar{transform-origin:bottom;animation:growBarY .55s var(--ease) both}@keyframes growBarY{0%{transform:scaleY(0)}}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(280px 90px at 25% 0%,rgba(91,149,255,.14),transparent);opacity:0;transition:opacity var(--t-med);pointer-events:none}.stat-card:hover:before{opacity:1}.progress-block{position:relative;overflow:hidden}.progress-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent2))}.panel{transition:border-color var(--t-med)}.panel:hover{border-color:var(--border-strong)}.tabs{display:inline-flex;gap:4px;background:var(--bg2);border:1px solid var(--border);border-radius:999px;padding:4px;box-shadow:var(--shadow-1)}.tab{border:none;background:transparent;color:var(--muted);font-family:inherit;font-size:13px;font-weight:600;padding:7px 18px;border-radius:999px;cursor:pointer;transition:color var(--t-fast),background var(--t-med),box-shadow var(--t-med)}.tab:hover{color:var(--text)}.tab.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 2px 10px #5b95ff59}.dash-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 1100px){.dash-2col{grid-template-columns:1fr}}.hist-row{display:flex;align-items:flex-end;gap:6px;min-height:118px}.hist-col{flex:1;text-align:center;min-width:0}.hist-col .hist-bar{border-radius:4px 4px 2px 2px;transition:filter var(--t-fast)}.hist-col:hover .hist-bar{filter:brightness(1.25)}.hist-bar.accentbar{background:linear-gradient(180deg,var(--accent2),var(--accent))}.hist-val{font-size:10.5px;color:var(--muted);margin-bottom:3px;font-variant-numeric:tabular-nums;min-height:14px}.hist-lbl{font-size:10.5px;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muni-tbl td{padding:7px 10px}.muni-bar{position:relative;height:18px;background:var(--bg3);border-radius:5px;overflow:hidden}.muni-bar>div{height:100%;border-radius:5px;background:linear-gradient(90deg,#5b95ff8c,#8b6bff8c);animation:growBar .6s var(--ease) both;transform-origin:left}.muni-bar>span{position:absolute;left:8px;top:0;line-height:18px;font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);font-variant-numeric:tabular-nums}.sec-head{display:flex;align-items:baseline;gap:12px;margin:22px 0 10px}.sec-head h2{margin:0}.sec-link{font-size:12.5px;margin-left:auto}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.edu-list{display:flex;flex-direction:column;gap:18px;margin-top:14px}.edu-card{padding:16px}.edu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.edu-grid>*{min-width:0}@media (max-width: 1100px){.edu-grid{grid-template-columns:minmax(0,1fr)}}.edu-field{margin-bottom:14px;display:flex;flex-direction:column;gap:5px}.edu-field label{font-size:13px;font-weight:600}.edu-field input,.edu-field select,.edu-field textarea{width:100%;box-sizing:border-box}.edu-field textarea{min-height:46px;resize:vertical;font-family:inherit;font-size:13px}.theme-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border);background:var(--bg3);color:var(--muted);cursor:pointer;transition:color var(--t-fast),background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.theme-toggle:hover{color:var(--text);background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.sidebar-theme-toggle{margin-top:auto}.sidebar .status-card{margin-top:10px}:root[data-theme=light]{--bg: #eef1f8;--bg2: #ffffff;--bg3: #f1f4fb;--bg-hover: #e7ecf6;--border: #dce2ee;--border-strong: #c3ccdd;--text: #131826;--muted: #5c6678;--accent: #3d6fe0;--accent2: #7b54f0;--shadow-1: 0 1px 2px rgba(20, 30, 60, .06), 0 2px 8px rgba(20, 30, 60, .05);--shadow-2: 0 4px 12px rgba(20, 30, 60, .1), 0 12px 32px rgba(20, 30, 60, .08);--shadow-accent: 0 8px 28px rgba(61, 111, 224, .14);--ring: 0 0 0 3px rgba(61, 111, 224, .24);color-scheme:light}:root[data-theme=light] body{background:radial-gradient(1100px 500px at 85% -10%,rgba(123,84,240,.06),transparent 60%),radial-gradient(900px 480px at -10% 0%,rgba(61,111,224,.07),transparent 55%),var(--bg)}:root[data-theme=light] body:before{opacity:.06}:root[data-theme=light] body:after{opacity:.06}:root[data-theme=light] .sidebar{background:linear-gradient(180deg,#fffffff2,#f0f3faf2)}:root[data-theme=light] .nav-link.active{background:linear-gradient(90deg,#3d6fe021,#7b54f014);color:#1a2233}:root[data-theme=light] .nav-link.active .nav-ico{color:var(--accent)}:root[data-theme=light] .card,:root[data-theme=light] .panel,:root[data-theme=light] .stat-card,:root[data-theme=light] .stat-tile,:root[data-theme=light] .progress-block,:root[data-theme=light] .chat-suggest-card,:root[data-theme=light] .lp-feature,:root[data-theme=light] .lp-step,:root[data-theme=light] .lp-review,:root[data-theme=light] .lp-plan{background:var(--bg2)}:root[data-theme=light] .card:after{background:linear-gradient(180deg,rgba(20,30,60,.14),transparent 32%,transparent 70%,rgba(20,30,60,.16))}:root[data-theme=light] .card:before{background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent)}:root[data-theme=light] .chat-msg.assistant .bubble{background:var(--bg2)}:root[data-theme=light] .chat-composer{background:#ffffffe6;box-shadow:0 8px 30px #141e3c1a,0 0 0 1px #141e3c05 inset}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--border-strong);border-color:var(--bg)}:root[data-theme=light] input[type=checkbox].switch{background:var(--bg-hover)}:root[data-theme=light] .theme-toggle{background:#141e3c0d}:root[data-theme=light] .theme-toggle:hover{background:#141e3c17}:root[data-theme=light] .leaflet-popup-content-wrapper,:root[data-theme=light] .leaflet-tooltip{background:var(--bg2);color:var(--text)}:root[data-theme=light] .leaflet-popup-tip{background:var(--bg2)}.dup-list{display:flex;flex-direction:column;gap:14px}.dup-pair{padding:14px}.dup-pair-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.dup-actions{display:flex;gap:8px}.dup-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 720px){.dup-cols{grid-template-columns:1fr}}.dup-side{border:1px solid var(--border);border-radius:var(--radius-m);padding:10px;background:var(--bg3)}.dup-photos{display:flex;gap:6px;margin-bottom:8px}.dup-photo{width:33.33%;height:184px;object-fit:cover;border-radius:var(--radius-s, 6px);background:var(--bg2)}.dup-photo.empty{display:flex;align-items:center;justify-content:center;width:100%;color:var(--muted);font-size:12px}.dup-info{display:flex;flex-direction:column;gap:3px}.dup-title{font-weight:600;text-decoration:none;color:var(--text)}.dup-title:hover{text-decoration:underline}.dup-price{color:var(--accent, #6ea8ff);font-weight:650}.dup-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;align-items:center}.pill.link{text-decoration:none}.pill.link:hover{border-color:var(--border-strong);color:var(--text)}.dup-check{display:flex;align-items:center}.dup-check input{width:17px;height:17px;cursor:pointer;accent-color:var(--accent)}.ai-verdict{font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--border);cursor:help}.ai-verdict.dup{color:var(--amber);border-color:var(--amber)}.ai-verdict.not{color:var(--muted)}.ai-reason{font-size:12.5px;margin-bottom:10px;font-style:italic}.dup-selall{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--muted)}.dup-selall input{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}
