/* VibeCity building-mode overlay. Scoped styles do not affect HUD/game CSS. */
.housing-hidden{display:none!important}
.housing-overlay{position:fixed;inset:0;z-index:8000;background:rgba(15,21,38,.72);display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box}
.housing-dialog{width:min(1100px,100%);max-height:min(95vh,900px);overflow:auto;border:5px solid #ad7837;background:#fff8eb;color:#4f3524;border-radius:19px;box-shadow:0 20px 60px #171421aa;font:700 14px/1.45 Nunito,system-ui,sans-serif}
.housing-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:16px 20px;background:linear-gradient(135deg,#ffd98b,#eb9f4b);border-bottom:3px solid #a66a31}
.housing-top h2{margin:0;font:800 27px/1.2 Fredoka,Nunito,sans-serif}.housing-top p{margin:4px 0 0;font-weight:600}
.housing-top button{border:2px solid #a66a31;border-radius:10px;background:#fff5d9;cursor:pointer;padding:6px 12px;font-weight:800}
.housing-main{display:grid;grid-template-columns:minmax(230px,335px) minmax(360px,1fr);gap:14px;padding:14px}
.housing-sidebar{max-height:665px;overflow:auto;padding-right:8px}
.housing-sidebar label{display:block;font-weight:900;margin-bottom:5px}
.housing-sidebar select{max-width:100%;width:100%;height:40px;border-radius:9px;border:2px solid #bf9e72;padding:5px;background:#fff}
.housing-sidebar>button,.housing-controls button{background:linear-gradient(#ffc66d,#e6a04e);border:2px solid #b77434;border-radius:9px;padding:9px 11px;margin:7px 5px 7px 0;color:#513315;font-weight:900;cursor:pointer}
.housing-sidebar button:disabled,.housing-controls button:disabled{opacity:.48;cursor:not-allowed}
.housing-sidebar h3{margin:12px 0 7px;font-size:15px;border-bottom:1px solid #d6b999}
.housing-sidebar #housingInfo{font-size:13px}.housing-sidebar #housingInfo p{margin:6px 0}
#housingCatalog{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#housingOwned{display:flex;flex-direction:column;gap:6px}
#housingCatalog .housing-item,#housingOwned .housing-item{display:flex;flex-direction:column;gap:2px;text-align:left;background:#fffaf3;border:2px solid #dfc6a5;border-radius:9px;padding:8px;color:#533921;font:700 12px Nunito,system-ui,sans-serif;cursor:pointer}
#housingCatalog .housing-item small{color:#8a6d4a;font-size:11px;font-weight:600}
#housingCatalog .housing-active,#housingOwned .housing-active{border-color:#4287d1;background:#e5f3ff}
#housingCatalog .housing-item:disabled{opacity:.64;cursor:not-allowed}
.housing-editor{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}
.housing-caption{font-weight:900;font-size:13px;color:#674620}
#housingCanvas{display:block;width:100%;max-width:560px;height:auto;object-fit:contain;border:3px solid #c9a774;border-radius:10px;background:#f7f2e7;touch-action:none;cursor:crosshair;box-sizing:border-box;margin:0 auto}
.housing-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.housing-controls select{background:#fff;border:2px solid #bd9b75;border-radius:8px;padding:7px}
.housing-controls #housingXY{background:#dbeef9;padding:7px;border-radius:8px;color:#205c8d}
#housingMessage{min-height:22px;margin:0;color:#ad4a18;font-weight:800}
.housing-note{font-size:12px;font-weight:600;opacity:.8;margin:0}
.housing-hud{font-size:27px;line-height:1}
@media(max-width:760px){.housing-main{display:flex;flex-direction:column}.housing-dialog{max-height:96vh}.housing-sidebar{max-height:290px}.housing-top h2{font-size:21px}.housing-main{padding:8px}.housing-overlay{padding:5px}#housingCatalog{grid-template-columns:1fr 1fr}.housing-controls{justify-content:center}}

/* Real estate icon: identical HUD frame, directly below Beginner Handbook. */
#hudFunctions .housing-hud{top:544px;justify-content:center;padding:2px 10px}
.housing-hud-icon{display:block;width:37px;height:37px;object-fit:contain;pointer-events:none}
.housing-hud:hover{border-color:#c68c2c;background:#fff2d9}
.housing-lot-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.housing-lot-actions button{flex:1 1 44%;min-width:115px;padding:7px;border:2px solid #bb8852;border-radius:10px;background:#fff1d2;color:#623b19;cursor:pointer;font:900 12px Nunito,sans-serif}
.housing-lot-actions #housingViewPlot{flex-basis:100%;background:#ffe0a2}
.housing-lot-actions #housingPickMap{flex-basis:100%;background:#e1f0f9;border-color:#8db3d3}
.housing-lot-actions button:disabled{opacity:.5;cursor:not-allowed}
.housing-categories{display:grid;grid-template-columns:1fr;gap:6px;margin:8px 0}
.housing-categories button{background:#fff;border:2px solid #d9b68a;color:#644623;border-radius:10px;padding:9px 6px;text-align:left;font:900 13px Nunito,sans-serif;cursor:pointer}
.housing-categories button.housing-active{background:#fff0b9;border-color:#d59a30;box-shadow:inset 4px 0 #dc9f2d}
.housing-tier-wrap{margin:8px 0 10px}
#housingTier{width:100%;background:#fffcf5}
.housing-thumb{display:block;width:100%;height:82px;object-fit:contain;background:#f3eacf;border-radius:8px}
.housing-thumb-placeholder{display:flex;justify-content:center;align-items:center;font-size:28px;color:#99774b}
#housingCatalog .housing-item{padding:6px;min-height:110px}
.housing-empty{grid-column:1/-1;color:#7b6551;font-size:13px;font-weight:700;line-height:1.5}
.housing-world-card{position:fixed;z-index:7800;right:16px;bottom:130px;width:min(365px,calc(100vw - 32px));box-sizing:border-box;border:3px solid #b07834;border-radius:17px;background:rgba(255,249,231,.98);box-shadow:0 12px 34px #33201377;color:#503519;padding:12px 14px;font:700 13px/1.5 Nunito,system-ui,sans-serif;pointer-events:auto}
.housing-world-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font:800 18px Fredoka,Nunito,sans-serif}
.housing-world-title button{font:900 17px Nunito,sans-serif;border:1px solid #c39a60;border-radius:8px;background:#fff;padding:3px 9px;cursor:pointer}
.housing-world-card p{margin:7px 0}
.housing-world-actions{display:flex;gap:6px;flex-wrap:wrap}
.housing-world-actions button{flex:1 1 42%;min-width:0;border:2px solid #bf9658;border-radius:9px;background:#ffe4ab;padding:7px;color:#593816;font:900 12px Nunito,sans-serif;cursor:pointer}
.housing-world-actions #housingWorldBuy{flex:1 1 100%;background:#ffd577}
.housing-world-actions button:disabled{opacity:.55;cursor:not-allowed}
#housingWorldHint{display:block;color:#795b38;margin-top:8px;line-height:1.45}
@media(pointer:coarse),(max-width:700px){
 #hudFunctions .housing-hud{position:static;flex-shrink:0}
 .housing-hud-icon{width:32px;height:32px}
 .housing-world-card{right:8px;bottom:max(105px,env(safe-area-inset-bottom) + 96px);width:min(320px,calc(100vw - 16px));padding:9px}
 .housing-world-actions button{font-size:11px;padding:6px}
 .housing-dialog{max-width:calc(100vw - 12px)}
}
@media(max-width:480px){
 .housing-hud-icon{width:25px;height:25px}
 .housing-world-card{right:5px;bottom:max(90px,env(safe-area-inset-bottom) + 82px);width:min(280px,calc(100vw - 10px))}
 .housing-world-title{font-size:16px}
}


/* Temporary Chơi thử builder — client-only, never persisted. */
.housing-demo-zip{background:#e9f5ff;border:2px dashed #76afd9;border-radius:11px;padding:9px 10px;margin:8px 0;color:#225276}
.housing-demo-zip strong{display:block;font:900 13px Nunito,system-ui,sans-serif}
.housing-demo-zip p{margin:5px 0 9px;font:700 11px/1.45 Nunito,system-ui,sans-serif}
.housing-demo-zip label{display:inline-block;background:#fff;border:1px solid #8ab7d9;border-radius:9px;padding:7px 9px;cursor:pointer;font:900 12px Nunito,system-ui,sans-serif}
.housing-demo-zip input{display:block;max-width:100%;margin-top:7px;font:600 10px Nunito,system-ui,sans-serif}
#housingAngleNote{font:700 11px/1.4 Nunito,system-ui,sans-serif;color:#856128;max-width:220px}
#housingNote{color:#876132;font-weight:800;font-size:12px;line-height:1.45}
