.hh-plat{max-width:1245px;margin:0 auto;padding:0 24px}.hh-plat__heading{font-family:Playfair Display,Georgia,serif;color:#1d342c;margin-bottom:16px}.hh-plat__layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;align-items:start}.hh-plat__stage{position:relative;background:#f3f4ee;border:1px solid #e4e7db;border-radius:10px;overflow:hidden;line-height:0;box-shadow:0 1px 4px #0000000f}.hh-plat__img{width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none}.hh-plat__world{position:relative;transform-origin:0 0;line-height:0;--plat-zoom: 1;transition:transform .22s ease}.hh-plat__stage.is-panning .hh-plat__world{transition:none}.hh-plat__stage.is-zoomed{cursor:grab;touch-action:none}.hh-plat__stage.is-panning{cursor:grabbing}.hh-plat__zoom{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;gap:6px;z-index:5}.hh-plat__zoom-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8dbcf;border-radius:50%;background:#fff;color:#1c1c1c;cursor:pointer;box-shadow:0 1px 4px #0000002e;transition:background .2s,color .2s}.hh-plat__zoom-btn:hover{background:#1c1c1c;border-color:#1c1c1c;color:#fff}.hh-plat__zoom-reset{display:none}.hh-plat__stage.is-zoomed .hh-plat__zoom-reset{display:inline-flex}.hh-plat__marker{position:absolute;transform:translate(-50%,-50%) scale(calc(1 / var(--plat-zoom, 1)));width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #00000059;color:#fff;font-family:Nunito Sans,sans-serif;font-size:13px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:2;transition:transform .15s ease,box-shadow .15s ease}.hh-plat__marker:hover,.hh-plat__marker:focus-visible{transform:translate(-50%,-50%) scale(calc(1.25 / var(--plat-zoom, 1)));box-shadow:0 2px 8px #00000073;z-index:3;outline:none}.hh-plat__marker:focus-visible{outline:3px solid #f6a623;outline-offset:2px}.hh-plat__marker.is-selected{transform:translate(-50%,-50%) scale(calc(1.3 / var(--plat-zoom, 1)));outline:3px solid #f6a623;outline-offset:2px;z-index:4}.hh-plat__marker[data-status=available]{background:#51cba3;color:#0a1510;border-color:#fff}.hh-plat__marker[data-status=model]{background:#4682b4;color:#fff;border-color:#fff}.hh-plat__marker[data-status=sold]{background:#b3362b}.hh-plat__marker[data-status=unavailable]{background:#6b6b64}.hh-plat__marker[data-status=unbuildable]{background:#3a3d38;opacity:.75}.hh-plat__legend{display:flex;flex-wrap:wrap;gap:16px;padding:12px 4px 0;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5f675f}.hh-plat__legend span{display:inline-flex;align-items:center;gap:6px}.hh-plat__dot{width:12px;height:12px;border-radius:50%;display:inline-block}.hh-plat__dot--available{background:#51cba3}.hh-plat__dot--model{background:#4682b4}.hh-plat__dot--sold{background:#b3362b}.hh-plat__dot--unavailable{background:#6b6b64}.hh-plat__dot--unbuildable{background:#3a3d38}.hh-plat__close{position:absolute;top:10px;right:10px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8dbcf;border-radius:50%;background:#fff;color:#444;font-size:18px;line-height:1;cursor:pointer;z-index:2;transition:background .2s,color .2s}.hh-plat__close:hover{background:#1c1c1c;border-color:#1c1c1c;color:#fff}.hh-plat__panel{background:#fff;border:1px solid #e4e7db;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:20px 22px;min-height:190px;position:sticky;top:100px}.hh-plat__empty{font-family:Nunito Sans,sans-serif;font-size:14px;color:#5f675f;margin:0;line-height:1.5}.hh-plat__panel-title{font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:500;color:#1d342c;margin:0 0 8px}.hh-plat__badge{display:inline-block;padding:4px 12px;border-radius:999px;font-family:Nunito Sans,sans-serif;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;margin-bottom:14px}.hh-plat__badge--available{background:#51cba3;color:#0a1510}.hh-plat__badge--model{background:#4682b4;color:#fff}.hh-plat__badge--sold{background:#b3362b;color:#fff}.hh-plat__badge--unavailable{background:#f3f4ee;color:#5f675f;border:1px solid #d8dbcf}.hh-plat__badge--unbuildable{background:#3a3d38;color:#f3f4ee}.hh-plat__photo{margin:-20px -22px 16px;overflow:hidden;border-radius:10px 10px 0 0;aspect-ratio:16 / 10;background:#e8ebe0}.hh-plat__photo img{width:100%;height:100%;object-fit:cover;display:block}.hh-plat__rows{width:100%;border-collapse:collapse;font-family:Nunito Sans,sans-serif;font-size:13px}.hh-plat__rows td{padding:7px 0;border-bottom:1px solid #f2efe8}.hh-plat__rows td:first-child{color:#5f675f;padding-right:12px;white-space:nowrap}.hh-plat__rows td:last-child{text-align:right;font-weight:700;color:#1d342c}.hh-plat__rows tr:last-child td{border-bottom:0}.hh-plat__cta{display:inline-flex;align-items:center;margin-top:16px;padding:9px 18px;border-radius:999px;border:2px solid #3f7d52;background:#3f7d52;color:#fff!important;font-family:Nunito Sans,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important;transition:background .2s,border-color .2s}.hh-plat__cta:hover{background:#1d342c;border-color:#1d342c}.hh-plat__edit-note{margin-top:20px;background:#fdf6e7;border:1px solid #f6a623;border-radius:8px;padding:12px 16px;font-family:Nunito Sans,sans-serif;font-size:13px;color:#6b5324;line-height:1.5}.hh-plat__edit-note code{background:#0000000f;padding:1px 5px;border-radius:3px;font-size:12px}.hh-plat__edit-bar{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}.hh-plat__gen-input{padding:9px 14px;border:1px solid #d8dbcf;border-radius:999px;font-family:Nunito Sans,sans-serif;font-size:13px;width:150px}.hh-plat__gen-btn{background:#fff;color:#3f7d52;border:2px solid #3f7d52;border-radius:999px;padding:10px 22px;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.hh-plat__gen-btn:hover{background:#3f7d52;color:#fff}.hh-plat__gen-btn:disabled{opacity:.6;cursor:default}.hh-plat__del-btn{background:#fff;color:#b23a2f;border:2px solid #b23a2f;border-radius:999px;padding:10px 22px;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.hh-plat__del-btn:hover{background:#b23a2f;color:#fff}.hh-plat__del-btn:disabled{opacity:.6;cursor:default}.hh-plat__place-btn{background:#fff;color:#3f7d52;border:2px solid #3f7d52;border-radius:999px;padding:10px 22px;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.hh-plat__place-btn:hover{background:#3f7d52;color:#fff}.hh-plat__sync-btn{background:#fff;color:#1c1c1c;border:2px solid #1C1C1C;border-radius:999px;padding:10px 22px;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.hh-plat__sync-btn:hover{background:#1c1c1c;color:#fff}.hh-plat__sync-btn:disabled{opacity:.6;cursor:default}.hh-plat--placing .hh-plat__stage{cursor:crosshair}.hh-plat--placing .hh-plat__marker{opacity:.75}.hh-plat__edit-save{background:#3f7d52;color:#fff;border:2px solid #3f7d52;border-radius:999px;padding:10px 22px;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s}.hh-plat__edit-save:hover{background:#1d342c;border-color:#1d342c}.hh-plat__edit-save:disabled{opacity:.6;cursor:default}.hh-plat__edit-status{font-family:Nunito Sans,sans-serif;font-size:13px;color:#3f7d52}.hh-plat__edit-status.is-error{color:#b3261e}.hh-plat--edit .hh-plat__marker{cursor:move}@media(max-width:820px){.hh-plat__layout{grid-template-columns:1fr;gap:16px}.hh-plat__panel{position:static;min-height:0}}@media(max-width:600px){.hh-plat{padding:0 14px}.hh-plat__marker{width:26px;height:26px;font-size:12px}}
