/* Full estate, scoped to the existing Main City dialog. */
#modal.bailey-modal{--paper:var(--cl-panel,#ede1c2);--ink:var(--cl-text,#352b20);--rule:var(--cl-border-faded,#b19a71);--moss:#49583b;color-scheme:light;box-sizing:border-box;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;inset:0;margin:0;padding:0;overflow:hidden;border:0!important;border-radius:0!important;background:var(--paper)!important;color:var(--ink)!important;font:14px/1.4 "Segoe UI",Arial,sans-serif!important}
#modal.bailey-modal *,#modal.bailey-modal *::before,#modal.bailey-modal *::after{box-sizing:border-box}
#modal.bailey-modal [hidden]{display:none!important}
#modal.bailey-modal .modal-card{display:flex;flex-direction:column;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0;padding:0!important;border:0!important;box-shadow:none!important;transform:none!important;animation:none!important;background:transparent!important;overflow:hidden}
#modal.bailey-modal .modal-card>header{position:absolute;inset:0 0 auto auto;z-index:20;padding:8px!important;width:56px;background:none!important;border:0!important;pointer-events:none}
#modal.bailey-modal #modalTitle{display:none}
#modal.bailey-modal #closeModalBtn{position:absolute;right:8px;top:8px;z-index:20;pointer-events:auto;min-width:44px;min-height:44px;}
#modal.bailey-modal #modalBody{display:block;flex:1;min-height:0;height:100%;padding:0!important;overflow:hidden}
#modal.bailey-modal :is(h2,h3,p){margin:0;color:inherit!important;text-shadow:none!important}
#modal.bailey-modal :is(h2,h3){padding:0;border:0;letter-spacing:0;text-transform:none}
#modal.bailey-modal .estate-shell :is(p,span,button,small){text-transform:none!important;letter-spacing:normal!important}
.estate-detail [data-estate-detail-copy]{min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
#modal.bailey-modal .estate-detail{display:flex;flex-direction:column;overflow:hidden}
#modal.bailey-modal .estate-detail>.estate-manage{flex:none;margin-top:8px}
#modal.bailey-modal button{font:inherit;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--paper);background-image:none!important;color:var(--ink);cursor:pointer;text-shadow:none!important;box-shadow:none!important}
#modal.bailey-modal button:hover{background:#e2d2ab}
#modal.bailey-modal button:focus-visible,.estate-viewport:focus-visible{outline:3px solid #79393b;outline-offset:-3px}
#modal.bailey-modal button:disabled{opacity:.5;cursor:default}
.estate-shell{height:100%;display:flex;flex-direction:column;min-height:0}
.estate-header{position:relative;display:flex;align-items:center;gap:18px;flex:none;height:64px;padding:8px 12px;background:var(--paper);border-bottom:2px solid var(--rule);z-index:12}
.estate-header>div{flex:1;min-width:0}.estate-header p{font-size:11px;color:#635943!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estate-header h2{font:23px/1.1 Georgia,serif}.estate-header [data-inner-castle-back]{white-space:nowrap}.estate-header [data-estate-directory-toggle] span{display:inline-block;margin-left:4px;color:#6a604b;font-size:12px}.estate-close-space{width:44px;flex:none}
.estate-resources{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:0;width:min(100%,1120px);align-self:center;flex:none;margin:0;padding:4px 10px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--rule)}
.estate-resource{min-width:0;text-align:center;padding:0 3px;border-right:1px solid #ad987055;font-variant-numeric:tabular-nums;cursor:help}.estate-resource:last-child{border:0}.estate-resource dt{display:flex;align-items:center;justify-content:center;gap:3px;font:10px/1.2 Georgia,serif;white-space:nowrap}.estate-resource dt svg{width:16px;height:16px;flex:none;stroke:#68583d;fill:#d7c18b;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.estate-resource dd{margin:0;font:600 13px/1.25 "Segoe UI",Arial,sans-serif;white-space:nowrap}.estate-resource:focus-visible{outline:2px solid #79393b;outline-offset:-1px}
#modal.bailey-modal .estate-resource-preview{flex:none;text-align:center;font-size:9px;color:#716347!important;line-height:14px;background:var(--paper)}
@media(max-width:700px){.estate-resources{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:3px;padding:3px 6px}.estate-resource:nth-child(5){border:0}.estate-resource dt{font-size:10px}.estate-resource dd{font-size:12px}}
@media(max-width:700px){.estate-resource{display:flex;align-items:center;justify-content:center;gap:4px;min-height:18px}.estate-resource dt svg{width:14px;height:14px}.estate-resource dd{font-size:11px}}
.estate-viewport{position:relative;isolation:isolate;flex:1;min-height:0;overflow:hidden;background:#79864a;touch-action:none;cursor:grab;overscroll-behavior:contain}.estate-viewport:active{cursor:grabbing}
.estate-world{position:absolute;left:0;top:0;width:1448px;height:1086px;transform-origin:0 0;pointer-events:none}
.estate-ground{position:absolute;inset:0;z-index:0}.estate-world.has-scenery .estate-ground{mask-image:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 32px),transparent)}
.estate-scenery{position:absolute;top:0;z-index:-1;object-fit:cover;pointer-events:none;user-select:none}.estate-scenery[data-estate-scenery=west]{object-position:right center}.estate-scenery[data-estate-scenery=east]{object-position:left center}
.estate-terrain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;user-select:none}
.estate-terrain-detail{position:absolute;pointer-events:none;z-index:1;user-select:none;mask-image:linear-gradient(to right,transparent,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent),linear-gradient(to bottom,transparent,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent);mask-composite:intersect}
.estate-terrain-detail[hidden]{display:none}
.estate-site{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.estate-site>img{display:block;user-select:none}.estate-site>.estate-building-art{position:absolute;left:calc(50% + var(--estate-art-offset-x,0px));top:calc(50% + var(--estate-art-offset,0px));transform:translate(-50%,-50%);max-width:none;object-fit:contain}.estate-site>.estate-plot-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.estate-map-targets{position:absolute;inset:0;pointer-events:none}
.estate-nameplates{position:absolute;inset:0;pointer-events:none;z-index:2}
.estate-nameplate{position:absolute;display:flex;align-items:center;gap:5px;width:max-content;padding:2px 5px;background:#f0e4c7ed;border:1px solid #a28c64;border-radius:2px;box-shadow:0 1px 3px #332b2533;color:#332e23;font:11px/1.1 Georgia,serif;white-space:nowrap;pointer-events:none}
.estate-nameplate>small{font:10px/1.1 "Segoe UI",Arial,sans-serif;color:#65563f;font-variant-numeric:tabular-nums}
#modal.bailey-modal .estate-building-target[data-has-nameplate=true]>span{display:none}
#modal.bailey-modal .estate-detail .estate-level-caption{margin:-5px 0 8px!important;font-size:11px;color:#65563f!important;font-variant-numeric:tabular-nums}
#modal.bailey-modal .estate-building-target{position:absolute;padding:0;border:0;background:transparent!important;pointer-events:auto}.estate-building-target>span{display:none;position:absolute;top:var(--estate-caption-top,44px);left:50%;transform:translateX(-50%);width:max-content;max-width:180px;padding:4px 7px;background:var(--paper);border:1px solid var(--rule);font-size:12px}.estate-building-target:hover>span,.estate-building-target:focus-visible>span{display:block}
#modal.bailey-modal .estate-building-target[aria-pressed=true]::before{content:"";position:absolute;inset:0;width:44px;height:44px;margin:auto;border:1px solid #79393b;background:#f5e7b51c;border-radius:50%}
#modal.bailey-modal .estate-district{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:transparent!important;padding:5px;font:12px/1.15 Georgia,serif;border:0}
.estate-district>span{display:block;background:#e5d5accc;border:1px solid #867650;padding:3px 6px}
.estate-district{width:max-content;white-space:nowrap}
.estate-new{display:inline-grid;place-items:center;width:17px;height:17px;flex:none;border-radius:50%;background:#7e3538;color:#fff3d5;font:bold 12px/1 Georgia,serif}.estate-building-target>.estate-new{position:absolute;right:0;top:0}
.estate-directory{position:absolute;left:10px;top:10px;bottom:62px;width:260px;max-width:48%;padding:10px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;background:var(--paper);border:1px solid var(--rule);box-shadow:0 4px 16px #332b2544;z-index:8}.estate-directory h3{font:16px/1.2 Georgia,serif;margin:10px 0 5px!important}
#modal.bailey-modal .estate-directory button{display:flex;align-items:center;gap:6px;width:100%;padding:7px;margin-bottom:4px;text-align:left;font-size:13px}.estate-directory button>span{flex:1}.estate-directory button>small{font-size:10px;color:#6a604b}
#modal.bailey-modal .estate-directory button[aria-current=true]{border-color:#79393b;background:#ddc8a2}
.estate-detail{position:absolute;right:10px;top:10px;width:270px;max-width:46%;max-height:calc(100% - 78px);padding:14px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;background:var(--paper);border:1px solid var(--rule);box-shadow:0 4px 16px #332b2544;z-index:8;cursor:default}.estate-detail h3{font:22px/1.15 Georgia,serif;margin:4px 30px 10px 0!important}.estate-detail .estate-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#6a604b!important;padding-right:32px}.estate-detail [data-estate-detail-copy]>img{width:100%;height:160px;object-fit:contain;display:block;margin-bottom:9px}.estate-detail p{font-size:13px;line-height:1.45;margin:8px 0!important}.estate-detail .estate-building-status{color:#716347!important;font-size:11px}
#modal.bailey-modal .estate-detail .estate-manage{width:100%;background:var(--moss);color:#f7edd4;border-color:#354329}
#modal.bailey-modal .estate-detail-close{position:absolute;top:3px;right:3px;font-size:24px;width:44px;padding:0;background:transparent;border:0}
.estate-camera-controls{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;background:var(--paper);border:1px solid var(--rule);border-radius:3px;z-index:10;box-shadow:0 2px 7px #332b2533}
#modal.bailey-modal .estate-camera-controls button{border:0;border-radius:0;background:transparent}.estate-camera-controls output{font-size:12px;width:43px;text-align:center;font-variant-numeric:tabular-nums}.estate-map-hint{position:absolute;right:16px;bottom:20px;background:#e5d5acdd;border:1px solid #8d7a52;padding:5px 9px;font-size:11px;pointer-events:none}
@media(orientation:landscape) and (max-height:550px){#modal.bailey-modal #closeModalBtn{top:4px}.estate-header{height:52px;padding:4px 8px;gap:10px}.estate-header h2{font-size:19px}.estate-header p{font-size:10px}.estate-header [data-inner-castle-back] span{display:none}#modal.bailey-modal .modal-card>header{padding:4px!important;width:52px}.estate-detail{right:7px;top:7px;width:220px;padding:10px;max-height:calc(100% - 65px)}.estate-detail h3{font-size:18px}.estate-detail [data-estate-detail-copy]>img{height:74px}.estate-detail p{font-size:12px;margin:5px 0!important}.estate-camera-controls{left:7px;bottom:7px}.estate-map-hint{display:none}.estate-directory{left:7px;top:7px;width:220px;bottom:60px}}
@media(orientation:landscape) and (max-height:550px){.estate-nameplate{font-size:10px;padding:2px 4px;gap:4px}.estate-nameplate>small{font-size:9px}}
