:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background-color:#f4f4f9;color:#333}.navbar{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.nav-content{max-width:1400px;margin:0 auto;padding:15px 20px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:#2563eb;margin:0}.publish-btn{background:#10b981;color:#fff;border:none;padding:10px 25px;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .3s}.publish-btn:hover{background:#059669}.hero{height:60vh;background:linear-gradient(#0006,#0006),url(/img/house_1.jpg) center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.hero h1{font-size:3.5rem;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.hero p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.search-bar{display:flex;gap:10px;background:#fff;padding:10px;border-radius:50px;box-shadow:0 4px 20px #0003}.search-bar input{border:none;padding:10px 20px;font-size:1rem;width:300px;outline:none}.search-bar button{background:#2563eb;color:#fff;border:none;padding:10px 30px;border-radius:30px;cursor:pointer;font-weight:700;transition:background .3s}.search-bar button:hover{background:#1d4ed8}.map-section{max-width:1400px;margin:0 auto;padding:30px 20px}.map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.map-header h2{font-size:1.5rem;color:#333;margin:0}.location-status{display:flex;align-items:center;gap:10px;padding:8px 15px;border-radius:8px;font-size:.9rem}.location-status.loading{background:#fef3c7;color:#92400e}.location-status.success{background:#d1fae5;color:#065f46}.location-status.error{background:#fee2e2;color:#991b1b}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #92400e;border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.retry-btn{background:#ef4444;color:#fff;border:none;padding:5px 10px;border-radius:5px;cursor:pointer;font-size:.85rem}.retry-btn:hover{background:#dc2626}.map-container{width:100%;height:400px;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.main-content{padding:40px 20px;max-width:1400px;margin:0 auto}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px}.property-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px #0000000d;transition:transform .3s,box-shadow .3s;cursor:pointer}.property-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.image-wrapper{position:relative;height:200px}.image-wrapper img{width:100%;height:100%;object-fit:cover}.price-tag{position:absolute;bottom:10px;right:10px;background:#000000b3;color:#fff;padding:5px 10px;border-radius:5px;font-weight:700}.card-details{padding:20px}.card-details h3{font-size:1.2rem;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location{color:#666;font-size:.9rem;margin-bottom:15px}.features{display:flex;gap:10px;color:#888;font-size:.85rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;width:100%;max-width:1000px;max-height:90vh;border-radius:20px;overflow-y:auto;position:relative;display:flex;flex-direction:column}.close-btn{position:absolute;top:15px;right:20px;background:none;border:none;font-size:2rem;cursor:pointer;z-index:10;color:#333}.modal-gallery{height:400px;display:grid;grid-template-columns:2fr 1fr;gap:10px;padding:20px}.main-image img{width:100%;height:100%;object-fit:cover;border-radius:10px}.thumbnail-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px}.thumbnail-grid img{width:100%;height:100%;object-fit:cover;border-radius:10px}.more-images{background:#eee;display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:10px;color:#666}.modal-info{padding:0 30px 30px}.modal-price{font-size:2rem;color:#2563eb;font-weight:700;margin:10px 0}.modal-location{font-size:1.1rem;color:#666;margin-bottom:20px}.modal-features{display:flex;gap:30px;margin-bottom:20px;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:15px 0}.feature-item{font-size:1.1rem}.description{line-height:1.6;color:#555;margin-bottom:30px}.unlock-btn{width:100%;padding:15px;background:#10b981;color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .3s}.unlock-btn:hover{background:#059669}.phone-display{text-align:center;padding:15px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px}.agent-name{display:block;font-size:.9rem;color:#666;margin-bottom:5px}.phone-number{font-size:1.5rem;font-weight:700;color:#15803d;text-decoration:none}.publish-modal{background:#fff;width:100%;max-width:600px;max-height:90vh;border-radius:20px;overflow-y:auto;padding:30px;position:relative}.publish-form{display:flex;flex-direction:column;gap:20px;margin-top:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#333;font-size:.95rem}.required{color:#ef4444}.form-group input,.form-group textarea{border:1px solid #ddd;padding:12px;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2563eb}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.form-actions{display:flex;gap:15px;margin-top:10px}.cancel-btn,.submit-btn{flex:1;padding:12px;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s}.cancel-btn{background:#f3f4f6;color:#666}.cancel-btn:hover{background:#e5e7eb}.submit-btn{background:#2563eb;color:#fff}.submit-btn:hover{background:#1d4ed8}@media(max-width:768px){.hero h1{font-size:2rem}.modal-gallery{grid-template-columns:1fr;height:auto}.thumbnail-grid{display:none}.nav-content{padding:10px 15px}.logo{font-size:1.2rem}.publish-btn{padding:8px 15px;font-size:.9rem}.publish-modal{padding:20px}.form-row{grid-template-columns:1fr}.map-header{flex-direction:column;align-items:flex-start}.map-header h2{font-size:1.2rem}.map-container{height:300px}.location-status{font-size:.8rem;padding:6px 10px}}
