:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.app{max-width:1400px;margin:0 auto;padding:20px}.header{text-align:center;padding:30px 0;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;border-radius:12px;margin-bottom:20px}.header h1{font-size:2.5rem;margin-bottom:10px}.header p{opacity:.8}.tabs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.tabs button{padding:12px 24px;border:none;background:#fff;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s;box-shadow:0 2px 4px #0000001a}.tabs button:hover{background:#e8e8e8}.tabs button.active{background:#1a1a2e;color:#fff}.custom-url{display:flex;gap:10px;margin-bottom:20px}.custom-url input{flex:1;padding:14px 18px;border:2px solid #ddd;border-radius:8px;font-size:1rem}.custom-url input:focus{outline:none;border-color:#1a1a2e}.custom-url button{padding:14px 28px;background:#1a1a2e;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:background .2s}.custom-url button:hover:not(:disabled){background:#0f3460}.custom-url button:disabled{opacity:.6;cursor:not-allowed}.error{background:#fee;color:#c00;padding:16px;border-radius:8px;margin-bottom:20px;border:1px solid #fcc}.loading{text-align:center;padding:60px;background:#fff;border-radius:12px}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #1a1a2e;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.results{background:#fff;border-radius:12px;padding:20px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.results-header h2{color:#1a1a2e}.count{background:#e8f4f8;padding:6px 14px;border-radius:20px;color:#0f3460;font-weight:500}.flats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.flat-card{background:#fafafa;border-radius:12px;padding:20px;border:1px solid #eee;transition:all .2s}.flat-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.flat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rooms{font-size:1.25rem;font-weight:700;color:#1a1a2e}.discount{background:#e74c3c;color:#fff;padding:4px 10px;border-radius:4px;font-weight:600;font-size:.9rem}.flat-project{font-size:1.1rem;font-weight:600;color:#0f3460;margin-bottom:4px}.flat-building{color:#666;font-size:.9rem;margin-bottom:16px}.flat-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;padding:12px;background:#fff;border-radius:8px}.detail{text-align:center}.detail .label{display:block;font-size:.75rem;color:#888;margin-bottom:4px}.detail .value{font-weight:600;color:#333}.flat-price{margin-bottom:4px}.old-price{text-decoration:line-through;color:#999;font-size:.9rem;margin-right:10px}.new-price,.price{font-size:1.3rem;font-weight:700;color:#27ae60}.flat-meter-price{color:#666;font-size:.85rem;margin-bottom:12px}.flat-deadline{padding-top:12px;border-top:1px solid #eee;color:#666;font-size:.9rem}.raw-data{background:#1a1a2e;border-radius:8px;padding:20px;overflow-x:auto}.raw-data pre{color:#a8e6cf;font-family:Monaco,Consolas,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-word}.actions{margin-bottom:20px}.load-all-btn{padding:14px 28px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #27ae604d}.load-all-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #27ae6066}.project-filter{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding:12px 16px;background:#e8f4f8;border-radius:8px;color:#0f3460}.project-filter strong{color:#1a1a2e}.clear-filter-btn{padding:6px 12px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.85rem;color:#666;transition:all .2s}.clear-filter-btn:hover{background:#fee;border-color:#e74c3c;color:#e74c3c}.loading-hint{color:#888;font-size:.9rem;margin-top:10px}.loading-timer{color:#1a1a2e;font-size:1.1rem;font-weight:600;margin-top:15px}.loading-warning{color:#e74c3c;font-size:.9rem;margin-top:10px;font-weight:500}.progress-container{margin-top:20px;width:100%;max-width:400px;margin-left:auto;margin-right:auto}.progress-bar{width:100%;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#27ae60,#2ecc71);border-radius:6px;transition:width .3s ease}.progress-text{margin-top:10px;color:#27ae60;font-weight:600;font-size:.95rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.project-card{background:#fafafa;border-radius:16px;overflow:hidden;border:1px solid #eee;transition:all .3s}.project-card:hover{box-shadow:0 12px 32px #0000001f;transform:translateY(-4px)}.project-image{width:100%;height:200px;overflow:hidden;background:linear-gradient(135deg,#1a1a2e,#16213e)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{padding:20px}.project-name{font-size:1.4rem;font-weight:700;color:#1a1a2e;margin-bottom:8px}.project-title{color:#0f3460;font-size:1rem;margin-bottom:12px;font-weight:500}.project-description{color:#666;font-size:.9rem;line-height:1.6;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-tags{display:flex;gap:8px;flex-wrap:wrap}.project-tags .tag{background:#e8f4f8;color:#0f3460;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.project-tags .tag.private{background:#ffeaa7;color:#d68910}.project-card.clickable{cursor:pointer}.project-action{margin-top:16px;padding-top:12px;border-top:1px solid #eee}.view-flats{color:#0f3460;font-weight:500;font-size:.9rem;transition:color .2s}.project-card:hover .view-flats{color:#27ae60}.project-tags .tag.countryside{background:#d5f4e6;color:#27ae60}.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.news-card{background:#fafafa;border-radius:16px;overflow:hidden;border:1px solid #eee;transition:all .3s}.news-card:hover{box-shadow:0 12px 32px #0000001f;transform:translateY(-4px)}.news-image{width:100%;height:180px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.news-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.news-card:hover .news-image img{transform:scale(1.05)}.news-content{padding:20px}.news-date{font-size:.85rem;color:#888;margin-bottom:10px}.news-title{font-size:1.15rem;font-weight:600;color:#1a1a2e;margin-bottom:12px;line-height:1.4}.news-preview{color:#666;font-size:.9rem;line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-project{display:inline-block;background:#e8f4f8;color:#0f3460;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:500}@media(max-width:768px){.header h1{font-size:1.8rem}.tabs,.custom-url{flex-direction:column}.flat-details,.flats-grid,.projects-grid,.news-grid{grid-template-columns:1fr}}
