:root{--navy:#07111f;--navy2:#0b1a2d;--gold:#c9a45b;--gold2:#e4c987;--white:#f4f2eb;--muted:#aab4c1}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050b13;color:var(--white);font-family:Inter,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}#world{position:fixed;inset:0;z-index:0}canvas{display:block;width:100%;height:100%}.hud{position:fixed;z-index:5}
.topbar{top:0;left:0;right:0;height:76px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(3,9,17,.9),transparent);pointer-events:none}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.12em;font-size:15px}.brand-logo{width:34px;height:34px;object-fit:contain;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.28))}.brand b{color:var(--gold)}.brand-mark{width:31px;height:31px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-weight:800;border-radius:8px}.top-status{display:flex;align-items:center;gap:8px;color:#aeb8c5;font-size:10px;letter-spacing:.16em}.top-status em{font-style:normal;color:var(--gold);margin-left:10px}.online-dot{width:7px;height:7px;border-radius:50%;background:#8ed3a0;box-shadow:0 0 12px rgba(142,211,160,.55)}
/* Entry UI */
.entry{position:fixed;inset:0;z-index:10;display:flex;align-items:center;padding:76px 7vw 70px;background:radial-gradient(circle at 75% 48%,rgba(201,164,91,.12),transparent 30%),linear-gradient(90deg,rgba(3,10,19,.88) 0%,rgba(3,10,19,.7) 48%,rgba(3,10,19,.28) 100%);transition:opacity .35s ease,visibility .35s ease}.entry.hidden{opacity:0;visibility:hidden;pointer-events:none}.entry-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,9,17,.18),rgba(3,9,17,.08) 45%,rgba(3,9,17,.35));pointer-events:none}.entry-shell{position:relative;width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.72fr);gap:clamp(40px,7vw,110px);align-items:center}.entry-copy{max-width:610px;text-shadow:0 10px 40px #000}.entry-kicker{display:flex;align-items:center;gap:10px;color:var(--gold);font-size:10px;letter-spacing:.28em;font-weight:800}.entry-kicker span{width:28px;height:1px;background:var(--gold)}.entry-title{margin:18px 0 22px;display:flex;flex-direction:column;font-size:clamp(48px,6.5vw,88px);line-height:.9;letter-spacing:-.055em;font-weight:300}.entry-title span{font-size:.47em;letter-spacing:.02em;color:#e8e5dc;margin:0 0 9px}.entry-title strong{font-weight:850;color:var(--white)}.entry-description{max-width:510px;margin:0;color:#c2cad4;font-size:16px;line-height:1.75}.entry-meta{display:flex;gap:34px;margin-top:34px;padding-top:18px;border-top:1px solid rgba(228,201,135,.17);max-width:610px}.entry-meta div{display:flex;flex-direction:column;gap:7px}.entry-meta small{color:#758190;font-size:8px;letter-spacing:.17em}.entry-meta b{font-size:10px;letter-spacing:.1em;color:#d9dee5;font-weight:700}.entry-meta b i{display:inline-block;width:6px;height:6px;background:#8ed3a0;border-radius:50%;margin-right:6px}
.entry-language{margin:0 0 18px;padding:11px 12px;border:1px solid rgba(201,164,91,.2);border-radius:10px;background:rgba(255,255,255,.025)}.entry-language>span,.entry-language>label,.menu-language>span{display:block;color:#788594;font-size:8px;letter-spacing:.15em;font-weight:800;margin-bottom:8px}.entry-language select{width:100%;border:1px solid rgba(201,164,91,.25);background:#0b1726;color:#e4c987;border-radius:8px;padding:10px;font-size:11px;outline:none}.entry-language-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.entry-language-grid button{min-height:32px;border:1px solid rgba(201,164,91,.2);border-radius:7px;background:rgba(255,255,255,.025);color:#aeb8c4;font-size:8px;font-weight:800;letter-spacing:.04em}.entry-language-grid button.selected{border-color:var(--gold);background:rgba(201,164,91,.14);color:var(--gold2)}.menu-language{display:block;margin-top:10px;padding-top:10px;border-top:1px solid rgba(201,164,91,.14)}.menu-language select{width:100%;border:1px solid rgba(201,164,91,.25);background:#0b1726;color:#e4c987;border-radius:8px;padding:9px;font-size:10px;outline:none}
.entry-card{width:100%;padding:29px;border:1px solid rgba(201,164,91,.45);background:linear-gradient(145deg,rgba(9,22,38,.96),rgba(5,13,24,.94));box-shadow:0 30px 100px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.03);backdrop-filter:blur(18px);border-radius:16px}.entry-card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.card-label{display:block;color:var(--gold);font-size:9px;letter-spacing:.2em;font-weight:800}.entry-card h2{font-size:24px;margin:8px 0 0;letter-spacing:-.02em}.account-state{white-space:nowrap;border:1px solid rgba(255,255,255,.1);padding:7px 9px;border-radius:99px;color:#8f9aaa;font-size:8px;letter-spacing:.12em}.account-state i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8b95a3;margin-right:5px}.account-state.connected{color:var(--gold2);border-color:rgba(201,164,91,.35)}.account-state.connected i{background:#8ed3a0}.entry-card-text{font-size:12px;line-height:1.65;color:#9faab8;margin:17px 0 20px}.entry-actions{display:grid;gap:10px}.primary-action,.secondary-action{width:100%;min-height:48px;border-radius:8px;font-size:10px;font-weight:850;letter-spacing:.12em}.primary-action{border:1px solid var(--gold);background:linear-gradient(135deg,#b99045,#e0c17a);color:#101722;display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 8px 25px rgba(201,164,91,.14)}.primary-action b{font-size:18px;font-weight:400}.primary-action:hover{filter:brightness(1.05)}.secondary-action{border:1px solid rgba(201,164,91,.38);background:rgba(255,255,255,.025);color:var(--gold2)}.secondary-action:hover{background:rgba(201,164,91,.08)}.entry-footer{margin-top:20px;padding-top:15px;border-top:1px solid rgba(255,255,255,.07);color:#667383;font-size:8px;letter-spacing:.12em;text-align:center}.entry-footer span{color:#9da7b4;margin:0 4px}.entry-account{animation:fadeUp .2s ease}.back-action{border:0;background:none;color:#8995a4;padding:0;margin-bottom:19px;font-size:9px;letter-spacing:.12em}.login-heading h3{font-size:21px;margin:7px 0}.login-heading p{color:#8f9aa8;font-size:11px;line-height:1.55;margin:0}.login-form{display:grid;gap:11px;margin-top:19px}.login-form label{display:grid;gap:7px}.login-form label span{font-size:8px;letter-spacing:.15em;color:#788594}.login-form input{width:100%;border:1px solid rgba(201,164,91,.22);background:#081524;color:var(--white);padding:12px 13px;border-radius:8px;outline:none}.login-form input::placeholder{color:#596676}.login-form input:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,164,91,.07)}.login-form .primary-action{margin-top:3px}.login-note{margin-top:13px;color:#647182;font-size:9px;text-align:center}.hidden{display:none!important}@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* In-world account */
.account-widget{top:72px;right:24px;z-index:20;display:flex;align-items:center;gap:8px}.account-button,.secondary-button{border:1px solid var(--gold);background:rgba(7,17,31,.88);color:var(--gold2);padding:10px 15px;border-radius:8px;letter-spacing:.08em;font-weight:700;cursor:pointer;backdrop-filter:blur(10px)}.account-button:hover,.secondary-button:hover{background:rgba(201,164,91,.12)}.account-badge{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(201,164,91,.45);border-radius:8px;background:rgba(7,17,31,.88);font-size:10px;letter-spacing:.08em;color:var(--gold2)}.account-dot{width:7px;height:7px;border-radius:50%;background:#79c78b;box-shadow:0 0 10px rgba(121,199,139,.65)}.account-panel{top:112px;right:24px;width:min(360px,calc(100vw - 48px));padding:26px;border:1px solid rgba(201,164,91,.45);border-radius:14px;background:rgba(7,17,31,.96);box-shadow:0 20px 70px rgba(0,0,0,.45);z-index:30;backdrop-filter:blur(16px)}.account-panel h2{margin:7px 0 10px;color:var(--white);font-size:22px}.account-panel p{color:rgba(244,242,235,.72);line-height:1.55;font-size:13px}.account-info{margin-top:17px;border-top:1px solid rgba(201,164,91,.18);padding-top:14px;display:grid;gap:10px}.account-info div{display:flex;justify-content:space-between;gap:12px}.account-info span{font-size:10px;letter-spacing:.1em;color:rgba(244,242,235,.45)}.account-info strong{font-size:12px;color:var(--gold2);font-weight:600}.secondary-button{margin-top:16px;width:100%}.close{position:absolute;right:12px;top:12px;border:0;background:none;color:#c7ced7;font-size:24px;padding:2px 8px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.24em;font-weight:700}.panel{right:7%;top:50%;transform:translateY(-50%);width:min(360px,86vw);padding:28px;background:rgba(6,16,29,.9);border:1px solid rgba(201,164,91,.45);box-shadow:0 25px 80px rgba(0,0,0,.45);backdrop-filter:blur(14px)}.panel h2{font-size:29px;margin:10px 0}.panel p{color:#aeb8c5;line-height:1.65;font-size:13px}.panel .close{position:absolute}.panel button:not(.close){border:1px solid var(--gold);background:linear-gradient(135deg,#b99045,#d8b86d);color:#101722;padding:14px 24px;font-weight:800;letter-spacing:.12em;font-size:11px;border-radius:3px}.controls{bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:18px;color:#8793a1;font-size:9px;letter-spacing:.12em;background:rgba(5,12,21,.6);padding:9px 14px;border:1px solid rgba(201,164,91,.18);backdrop-filter:blur(8px)}.controls b{color:var(--gold2);margin-right:4px}.crosshair{left:50%;top:50%;transform:translate(-50%,-50%);color:rgba(228,201,135,.75);font-size:19px;pointer-events:none}.toast{left:50%;bottom:70px;transform:translateX(-50%);background:rgba(5,13,23,.88);border:1px solid rgba(201,164,91,.4);padding:10px 16px;color:#d8dee7;font-size:11px;opacity:0;transition:.25s;z-index:50}.toast.show{opacity:1}
@media(max-width:820px){.entry{padding:82px 18px 40px;overflow:auto}.entry-shell{grid-template-columns:1fr;gap:26px;align-items:start;margin-top:20px}.entry-copy{max-width:none}.entry-title{font-size:52px}.entry-description{font-size:14px}.entry-meta{gap:18px;margin-top:22px}.entry-card{max-width:520px}.entry-footer{display:none}.account-widget{top:62px;right:12px}.topbar{padding:0 18px}.top-status{display:none}.controls{white-space:nowrap;font-size:8px;gap:8px;bottom:12px}.account-panel{top:104px;right:12px;width:calc(100vw - 24px)}}
@media(max-width:480px){.entry{padding:75px 14px 24px}.entry-title{font-size:45px}.entry-meta div:nth-child(2){display:none}.entry-card{padding:22px}.account-button{padding:8px 11px;font-size:9px}}

/* v0.3 BRIXMall */
.mall-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 32px));max-height:min(82vh,760px);overflow:auto;padding:28px;background:rgba(7,17,31,.94);border:1px solid rgba(201,164,91,.34);border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(18px);z-index:30}.mall-panel.hidden{display:none}.mall-panel h2{margin:7px 0 8px;font-size:26px;letter-spacing:.5px}.mall-panel p{color:#b7c0ce;line-height:1.6;margin:0 0 18px}.mall-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.mall-stats div{padding:15px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:14px}.mall-stats strong{display:block;color:#e4c987;font-size:23px}.mall-stats span{display:block;color:#7f8da2;font-size:9px;letter-spacing:1.2px;margin-top:4px}.mall-actions{display:grid;gap:10px}.mall-actions button{width:100%}.mall-results{margin-top:22px;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}.mall-results.hidden{display:none}.mall-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#e4c987;font-size:11px;letter-spacing:1.2px}.mall-results-head button{border:0;background:none;color:#aab5c5;cursor:pointer}.mall-item{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06)}.mall-item:last-child{border-bottom:0}.mall-thumb{width:58px;height:58px;border-radius:12px;background:rgba(201,164,91,.09);border:1px solid rgba(201,164,91,.18);object-fit:cover;flex:0 0 58px}.mall-item-main{min-width:0}.mall-item-title{color:#f4f2eb;font-weight:600;margin-bottom:4px}.mall-item-meta{font-size:11px;color:#8f9bae}.mall-item-price{margin-left:auto;color:#e4c987;white-space:nowrap;font-weight:600}.mall-empty,.mall-error{padding:16px;color:#98a5b7;border:1px solid rgba(255,255,255,.06);border-radius:12px}.mall-error{color:#d9a3a3}.mall-store{padding:14px;border:1px solid rgba(255,255,255,.06);border-radius:14px;margin-bottom:9px}.mall-store strong{display:block;color:#f4f2eb}.mall-store span{font-size:11px;color:#8996a9}.mall-category{display:inline-flex;padding:9px 12px;margin:4px;border:1px solid rgba(201,164,91,.18);border-radius:999px;color:#d8c48e;background:rgba(201,164,91,.05)}
@media(max-width:600px){.mall-panel{padding:20px;border-radius:18px}.mall-stats{grid-template-columns:1fr 1fr}.mall-stats div:last-child{grid-column:1/-1}.mall-panel h2{font-size:21px}.mall-item-price{font-size:12px}}

/* v0.4 World Expansion visual polish */
#world canvas{display:block;width:100%;height:100%;}
.topbar{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));}
.top-status{color:#17324a;text-shadow:0 1px 8px rgba(255,255,255,.55);}
.top-status em{color:#6b5424;}
.crosshair{color:rgba(99,72,28,.78);text-shadow:0 1px 5px rgba(255,255,255,.65);}
/* v0.5 Architecture Expansion */
.topbar{backdrop-filter:blur(2px)}
/* v0.6 Builder + mobile controls */
.builder-panel{position:fixed;left:18px;bottom:58px;width:min(360px,calc(100vw - 36px));padding:18px;background:rgba(7,17,31,.94);border:1px solid rgba(201,164,91,.42);border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.45);backdrop-filter:blur(16px);z-index:40}.builder-panel h3{margin:7px 0 6px;font-size:19px}.builder-panel p{margin:0;color:#9da9b8;font-size:11px;line-height:1.5}.builder-status{margin:12px 0;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#bfc7d1;font-size:10px}.builder-status strong{color:var(--gold2)}.builder-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.builder-palette button,.builder-action{border:1px solid rgba(201,164,91,.3);background:rgba(255,255,255,.03);color:#d7dee7;border-radius:8px;padding:9px 6px;font-size:9px;letter-spacing:.06em}.builder-palette button.active,.builder-action.primary{border-color:var(--gold);background:rgba(201,164,91,.12);color:var(--gold2)}.property-commerce{margin-top:14px;padding-top:13px;border-top:1px solid rgba(201,164,91,.16)}.property-commerce>p{font-size:9px;line-height:1.5;color:#8f9aaa;margin:7px 0 10px}.commerce-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.commerce-fields label{display:grid;gap:5px;color:#788594;font-size:7px;letter-spacing:.12em}.commerce-fields input{width:100%;border:1px solid rgba(201,164,91,.22);background:#081524;color:#e4c987;padding:9px;border-radius:7px;outline:none}.commerce-share{display:grid;grid-template-columns:1fr auto;gap:4px 8px;margin:10px 0;color:#6f7c8c;font-size:7px;letter-spacing:.08em}.commerce-share strong{color:var(--gold2);font-size:9px}.commerce-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.commerce-actions button{min-height:38px}.commerce-actions button:last-child{grid-column:1/-1}.property-commerce.listed{border-color:rgba(201,164,91,.4)}
.builder-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.builder-action{width:100%}.builder-purchase{margin-top:10px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px;color:#8996a8;font-size:10px}.mobile-controls{display:none;position:fixed;left:14px;bottom:18px;z-index:45;touch-action:none}.dpad{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,46px);gap:5px}.dpad button{border:1px solid rgba(201,164,91,.45);background:rgba(7,17,31,.72);color:var(--gold2);border-radius:12px;font-size:19px;backdrop-filter:blur(8px);touch-action:none}.dpad .up{grid-column:2}.dpad .left{grid-column:1;grid-row:2}.dpad .down{grid-column:2;grid-row:2}.dpad .right{grid-column:3;grid-row:2}.mobile-actions{position:fixed;right:14px;bottom:20px;display:none;z-index:45;gap:8px}.mobile-actions button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(201,164,91,.45);background:rgba(7,17,31,.72);color:var(--gold2);font-weight:800;touch-action:none}.mobile-actions .interact{border-color:var(--gold);background:rgba(201,164,91,.18)}
@media(max-width:820px){.mobile-controls{display:block}.mobile-actions{display:flex}.controls{bottom:8px;left:50%;transform:translateX(-50%);font-size:7px;padding:7px 9px;opacity:.8}.controls span:nth-child(2){display:none}.builder-panel{left:10px;bottom:132px;width:min(350px,calc(100vw - 20px));max-height:44vh;overflow:auto}.builder-palette{grid-template-columns:repeat(4,1fr)}}

/* v0.6.2 Account/Input compatibility */
button, input { -webkit-tap-highlight-color: transparent; }
.entry, .entry-card, .entry-account, .login-form, .login-form input, .login-form button { touch-action: manipulation; }
.login-form input { -webkit-appearance: none; appearance: none; font-size: 16px; min-height: 46px; box-sizing: border-box; }
.login-form button { touch-action: manipulation; }
.mobile-actions button, .dpad button { -webkit-user-select: none; user-select: none; }
@media (max-width: 700px) {
  .entry { overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .entry-card { width: min(100%, 420px); }
  .account-panel { max-height: calc(100dvh - 140px); overflow-y: auto; }
}

/* v0.6.3 universal movement + construction toolbar */
.land-toolbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:6px;align-items:center;z-index:70;padding:8px;border:1px solid rgba(201,164,91,.28);border-radius:14px;background:rgba(5,12,21,.86);backdrop-filter:blur(12px);box-shadow:0 14px 45px rgba(0,0,0,.35);touch-action:manipulation}
.land-toolbar button{border:1px solid rgba(201,164,91,.28);background:rgba(255,255,255,.035);color:#cfd6df;border-radius:9px;padding:10px 11px;font-size:9px;letter-spacing:.08em;font-weight:700;white-space:nowrap;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.land-toolbar button.active{border-color:var(--gold);background:rgba(201,164,91,.16);color:var(--gold2)}
.land-purchase{position:fixed;right:18px;bottom:76px;width:min(390px,calc(100vw - 36px));padding:22px;background:rgba(7,17,31,.97);border:1px solid rgba(201,164,91,.45);border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.5);z-index:65;backdrop-filter:blur(16px)}
.land-purchase.hidden{display:none}.land-purchase h3{margin:8px 0}.land-purchase p{color:#aeb8c5;font-size:11px;line-height:1.55}.purchase-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.purchase-grid label{display:grid;gap:6px;color:#8794a5;font-size:9px;letter-spacing:.1em}.purchase-grid input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);background:#0b1726;color:#f4f2eb;border-radius:8px;padding:11px}.purchase-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 16px}.purchase-summary span{font-size:8px;color:#7e8b9e;letter-spacing:.12em}.purchase-summary strong{color:var(--gold2);font-size:16px}.purchase-message{margin-top:10px;color:#8996a8;font-size:10px;line-height:1.5}.purchase-message.error{color:#e3b2a7}.purchase-message.ok{color:#b9d6bc}
@media(max-width:820px){.land-toolbar{left:10px;right:10px;bottom:10px;transform:none;overflow-x:auto;justify-content:flex-start;max-width:none}.land-toolbar button{flex:0 0 auto;padding:11px 12px}.mobile-controls{bottom:82px;left:10px}.mobile-actions{bottom:82px;right:10px}.builder-panel{bottom:140px}.land-purchase{left:10px;right:10px;bottom:140px;width:auto;max-height:58vh;overflow:auto}.controls{display:none}}
@media(min-width:821px){.mobile-controls,.mobile-actions{display:none!important}}
/* v0.6.4 Universal menu + infrastructure */
.land-menu-toggle{position:fixed;right:16px;bottom:18px;z-index:95;border:1px solid rgba(201,164,91,.45);background:rgba(5,12,21,.9);color:var(--gold2);border-radius:12px;padding:11px 14px;font-size:10px;font-weight:800;letter-spacing:.08em;box-shadow:0 12px 40px rgba(0,0,0,.4);touch-action:manipulation}
.land-menu{position:fixed;right:16px;bottom:70px;width:min(290px,calc(100vw - 32px));padding:18px;background:rgba(7,17,31,.97);border:1px solid rgba(201,164,91,.45);border-radius:16px;z-index:94;box-shadow:0 20px 70px rgba(0,0,0,.55)}
.land-menu h2{margin:7px 0 14px}.land-menu>button:not(.close){width:100%;margin:4px 0;text-align:left;border:1px solid rgba(201,164,91,.22);background:rgba(255,255,255,.035);color:#d7dee7;border-radius:9px;padding:11px;font-size:10px;letter-spacing:.06em}.land-menu>button:not(.close):hover{border-color:var(--gold);color:var(--gold2)}
.equipment-panel,.infra-panel,.mall-gate{position:fixed;z-index:92;background:rgba(7,17,31,.97);border:1px solid rgba(201,164,91,.45);border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.55);backdrop-filter:blur(16px)}
.equipment-panel{right:16px;bottom:70px;width:min(330px,calc(100vw - 32px));padding:16px}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.equipment-grid button{border:1px solid rgba(201,164,91,.28);background:rgba(255,255,255,.035);color:#d7dee7;border-radius:9px;padding:11px;font-size:9px;font-weight:800}
.infra-panel{left:50%;top:50%;transform:translate(-50%,-50%);width:min(470px,calc(100vw - 28px));max-height:75vh;overflow:auto;padding:20px}.infra-list{display:grid;gap:7px;margin-top:12px}.infra-item{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:11px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:10px;color:#e0e5eb}.infra-item small{display:block;color:#8e9aaa;margin-top:3px;font-size:8px}.infra-dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 12px currentColor}.infra-dot.operational{color:#35c77b;background:#35c77b}.infra-dot.development{color:#c9a45b;background:#c9a45b}
.mall-gate{left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100vw - 28px));padding:22px}.mall-gate h2{margin:8px 0}.mall-gate p{color:#aeb8c5;font-size:11px;line-height:1.55}.mall-gate .primary-action{width:100%;margin-top:10px}
@media(max-width:820px){.land-menu-toggle{right:10px;bottom:78px}.land-menu{right:10px;bottom:132px}.equipment-panel{right:10px;bottom:132px}.infra-panel,.mall-gate{max-height:78vh}.land-menu-toggle{touch-action:manipulation}}


/* v0.6.5 Mobile Touch Zones — replaces D-pad/mobile action buttons */
.mobile-controls,.mobile-actions{display:none!important}
.mobile-touch-zones{display:none;position:fixed;inset:0;z-index:20;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}
.mobile-touch-zones .touch-zone{position:absolute;pointer-events:auto;touch-action:none}
.mobile-touch-zones .touch-top{left:0;right:0;top:0;height:34%}
.mobile-touch-zones .touch-left{left:0;top:34%;bottom:34%;width:34%}
.mobile-touch-zones .touch-center{left:34%;right:34%;top:34%;bottom:34%;border-radius:18%}
.mobile-touch-zones .touch-right{right:0;top:34%;bottom:34%;width:34%}
.mobile-touch-zones .touch-bottom{left:0;right:0;bottom:0;height:34%}
.mobile-touch-zones .touch-zone.pressed{background:rgba(201,164,91,.045)}
@media(max-width:820px) and (pointer:coarse){.mobile-touch-zones{display:block}.land-toolbar{z-index:70}.land-menu-toggle{z-index:95}.builder-panel,.land-purchase,.equipment-panel,.infra-panel,.mall-gate{z-index:92}}
@media(min-width:821px){.mobile-touch-zones{display:none!important}}

/* v0.6.6: native touch handling owns gestures; overlay is visual only */
@media(max-width:820px) and (pointer:coarse){html,body,#world,canvas{touch-action:none!important;-webkit-touch-callout:none} .mobile-touch-zones{pointer-events:none!important}.mobile-touch-zones .touch-zone{pointer-events:none!important}.mobile-touch-zones .touch-zone.pressed{background:rgba(201,164,91,.07)}}

/* v0.7.0 construction district + plot map, based on v0.6.9 */
.construction-map{position:fixed;right:16px;bottom:70px;width:min(370px,calc(100vw - 32px));max-height:min(76vh,700px);overflow:auto;padding:18px;background:rgba(7,17,31,.98);border:1px solid rgba(201,164,91,.45);border-radius:16px;z-index:97;box-shadow:0 20px 70px rgba(0,0,0,.58);backdrop-filter:blur(16px)}
.construction-map h2{margin:7px 0 8px}.construction-map p{margin:0 0 14px;color:#aeb8c5;font-size:10px;line-height:1.55}.construction-map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.construction-plot-btn{min-height:66px;border:1px solid rgba(201,164,91,.22);background:rgba(255,255,255,.035);color:#d7dee7;border-radius:10px;padding:8px;text-align:left;cursor:pointer}.construction-plot-btn:hover,.construction-plot-btn.selected{border-color:var(--gold);background:rgba(201,164,91,.14)}
.construction-plot-btn strong{display:block;color:#f0eadf;font-size:10px}.construction-plot-btn small{display:block;color:var(--gold2);font-size:9px;margin-top:3px}.construction-plot-btn span{display:block;color:#7f8b9c;font-size:7px;margin-top:5px;letter-spacing:.08em}
.construction-map-legend{display:flex;flex-wrap:wrap;gap:10px;margin:13px 0;color:#8d99a8;font-size:7px;letter-spacing:.08em}.construction-map-legend span{display:flex;align-items:center;gap:5px}.construction-map-legend i{width:8px;height:8px;border-radius:2px;background:#3f5a4e;border:1px solid rgba(201,164,91,.3)}.construction-map-legend span:nth-child(2) i{background:rgba(201,164,91,.5);border-color:var(--gold)}.construction-map-legend span:nth-child(3) i{background:#274c3b;border-color:#35c77b}
.construction-map .primary-action{width:100%;margin-top:3px}.construction-selected{margin:12px 0;padding:10px;border:1px solid rgba(201,164,91,.22);border-radius:10px;background:rgba(201,164,91,.05);color:var(--gold2);font-size:10px;letter-spacing:.04em}
@media(max-width:820px){.construction-map{right:10px;bottom:132px;width:min(360px,calc(100vw - 20px));max-height:calc(100dvh - 150px)}.construction-map-grid{grid-template-columns:repeat(3,1fr)}}

.land-menu,.construction-map,.land-purchase,.equipment-panel,.infra-panel,.mall-gate,.account-panel,.builder-panel{touch-action:manipulation}
.land-menu button,.construction-map button,.land-purchase button,.equipment-panel button,.infra-panel button,.mall-gate button,.account-panel button,.builder-panel button{touch-action:manipulation}

/* v0.7.6 universal ownership/build + 300-plot map */
.builder-plot-select{width:100%;margin:10px 0 2px;border:1px solid rgba(201,164,91,.32);background:#0b1726;color:#e4c987;border-radius:8px;padding:10px;font-size:10px;letter-spacing:.05em;outline:none}.construction-map-grid{grid-template-columns:repeat(5,1fr)}.construction-plot-btn{min-height:58px;padding:7px}.construction-plot-btn strong{font-size:8px}.construction-plot-btn small{font-size:8px}.construction-plot-btn span{font-size:6px}@media(max-width:820px){.construction-map-grid{grid-template-columns:repeat(4,1fr)}.construction-plot-btn{min-height:56px}}

/* v0.9 clarity + Android interaction */
.topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.brand-logo{filter:drop-shadow(0 3px 10px rgba(0,0,0,.24));image-rendering:auto}
@media(max-width:820px) and (pointer:coarse){html,body{touch-action:auto!important;-webkit-touch-callout:default}.mobile-touch-zones{pointer-events:none!important}.mobile-touch-zones .touch-zone{pointer-events:none!important}.land-toolbar,.land-menu,.land-menu-toggle,.builder-panel,.land-purchase,.construction-map,.equipment-panel,.infra-panel,.mall-gate,.account-panel{touch-action:manipulation!important;pointer-events:auto}}
.mobile-touch-zones .touch-fl,.mobile-touch-zones .touch-fr,.mobile-touch-zones .touch-bl,.mobile-touch-zones .touch-br{position:absolute;width:32%;height:28%;pointer-events:none}.mobile-touch-zones .touch-forward,.mobile-touch-zones .touch-back{position:absolute;left:34%;right:34%;height:20%;pointer-events:none}.mobile-touch-zones .touch-forward{top:0}.mobile-touch-zones .touch-back{bottom:0}
.mobile-touch-zones .touch-fl{left:0;top:0}.mobile-touch-zones .touch-fr{right:0;top:0}.mobile-touch-zones .touch-bl{left:0;bottom:0}.mobile-touch-zones .touch-br{right:0;bottom:0}

/* v0.9.2 guest account + selected plot CTA */
.guest-account-actions{display:grid;gap:9px;margin-top:14px}.account-link{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:0 14px;min-height:46px}.selected-plot-action{margin-left:auto;border:1px solid var(--gold);background:rgba(201,164,91,.12);color:var(--gold2);border-radius:8px;padding:8px 11px;font-size:8px;font-weight:850;letter-spacing:.08em;white-space:nowrap}.construction-selected{display:flex;align-items:center;justify-content:space-between;gap:12px}.construction-selected>span{min-width:0}.brand-logo{filter:none!important;backdrop-filter:none!important}

.checkout-link{display:inline-block;margin-top:8px;color:var(--gold2);font-weight:800;text-decoration:underline;cursor:pointer}

/* v0.9.8 — My Assets / My Land */
.my-assets-section{margin-top:18px;padding-top:16px;border-top:1px solid rgba(201,164,91,.18)}
.my-assets-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.my-assets-heading span{font-size:9px;letter-spacing:.18em;color:#788594}
.my-assets-heading strong{font-size:12px;letter-spacing:.08em;color:var(--gold2)}
.my-land-summary{margin:0 0 10px!important;font-size:11px!important;color:#8290a0!important}
.my-land-list{display:grid;gap:6px;max-height:150px;overflow:auto}
.my-land-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(255,62,62,.24);background:rgba(255,40,40,.045);border-radius:8px}
.my-land-item strong{font-size:10px;color:#f0f3f5;letter-spacing:.08em}.my-land-item span{font-size:9px;color:#ff8b8b}
.my-land-empty{padding:10px;border:1px dashed rgba(255,255,255,.1);border-radius:8px;color:#657284;font-size:10px}
/* v0.11.0 — Full Construction Mode */
.construction-mode-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin:12px 0}.construction-mode-tabs button{border:1px solid rgba(201,164,91,.22);background:rgba(255,255,255,.03);color:#aeb8c5;border-radius:8px;padding:9px 5px;font-size:7px;letter-spacing:.06em;font-weight:800}.construction-mode-tabs button.active{border-color:var(--gold);background:rgba(201,164,91,.12);color:var(--gold2)}.construction-section{margin-top:8px}.ready-made-catalog,.ready-made-admin-list,.land-merge-list{display:grid;gap:7px;max-height:260px;overflow:auto}.ready-made-card,.merge-plot-row,.ready-made-admin-item{border:1px solid rgba(201,164,91,.2);background:rgba(255,255,255,.025);border-radius:9px;padding:10px}.ready-made-card{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.ready-made-card strong,.ready-made-admin-item strong{display:block;color:#e7ebef;font-size:10px}.ready-made-card small,.ready-made-admin-item small{display:block;color:#7f8b9c;font-size:7px;margin-top:3px}.ready-made-card .builder-action{width:auto}.merge-plot-row{display:flex;align-items:center;gap:8px}.merge-plot-row input{accent-color:#c9a45b}.merge-plot-row label{flex:1;color:#d7dee7;font-size:9px}.merge-plot-row small{color:#7f8b9c;font-size:7px}.merge-summary{display:flex;justify-content:space-between;padding:9px 0;color:#7f8b9c;font-size:8px;letter-spacing:.08em}.merge-summary strong{color:var(--gold2);font-size:11px}.construction-admin{margin-top:12px;padding-top:12px;border-top:1px solid rgba(201,164,91,.16)}.template-price-label{display:grid;gap:5px;margin:8px 0;color:#788594;font-size:7px;letter-spacing:.12em}.template-price-label input{border:1px solid rgba(201,164,91,.22);background:#081524;color:#e4c987;padding:9px;border-radius:7px}.ready-made-admin-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.ready-made-admin-item button{width:auto}.construction-section.hidden{display:none!important}@media(max-width:820px){.construction-mode-tabs button{font-size:6px;padding:8px 3px}.ready-made-catalog,.ready-made-admin-list,.land-merge-list{max-height:220px}}

/* v0.11 Construction Mode */
.construction-inventory{margin:8px 0;padding:9px;border:1px solid rgba(201,164,91,.18);border-radius:9px;color:#d7dee7;background:rgba(255,255,255,.025);font-size:8px;letter-spacing:.06em;line-height:1.5}
.construction-store-panel{position:fixed;right:18px;bottom:78px;width:min(430px,calc(100vw - 36px));padding:18px;background:rgba(7,17,31,.97);border:1px solid rgba(201,164,91,.42);border-radius:16px;z-index:98;box-shadow:0 20px 70px rgba(0,0,0,.55);backdrop-filter:blur(16px)}
.construction-store-panel h2{margin:7px 0}.construction-store-panel p{color:#aeb8c5;font-size:10px;line-height:1.5}.store-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.store-grid button{min-height:66px;border:1px solid rgba(201,164,91,.25);background:rgba(255,255,255,.03);color:#e4c987;border-radius:10px;font-size:9px;font-weight:800;letter-spacing:.06em}.store-grid small{color:#8996a5;font-size:6px}.construction-store-panel .purchase-message{font-size:8px;line-height:1.5;color:#aeb8c5}
@media(max-width:820px){.construction-store-panel{left:10px;right:10px;bottom:132px;width:auto;max-height:65vh;overflow:auto}.land-toolbar{bottom:8px}.land-toolbar button{padding:10px 9px;font-size:8px}}

.roof-size-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.roof-size-fields label{display:grid;gap:4px;color:#7f8b9c;font-size:7px;letter-spacing:.08em}.roof-size-fields input{border:1px solid rgba(201,164,91,.22);background:#081524;color:#e4c987;border-radius:7px;padding:8px;font-size:9px}


/* v0.11.2 construction targeting HUD */
.construction-selection-hud{position:fixed;left:24px;bottom:86px;z-index:55;display:flex;align-items:center;gap:8px;min-width:58px;padding:7px 10px;border:1px solid rgba(159,214,255,.34);border-radius:9px;background:rgba(5,15,27,.62);backdrop-filter:blur(10px);box-shadow:0 8px 28px rgba(0,0,0,.24);pointer-events:none;color:rgba(190,225,246,.8);font-size:8px;letter-spacing:.12em}
.construction-selection-hud.hidden{display:none!important}
.construction-selection-hud span{font-size:8px;color:rgba(175,210,235,.62)}
.construction-selection-hud strong{font-size:14px;color:rgba(175,225,255,.96);font-weight:700;letter-spacing:0}
@media(max-width:820px){.construction-selection-hud{left:12px;bottom:74px;min-width:52px;padding:6px 8px}.construction-selection-hud strong{font-size:13px}}

/* v0.11.3 construction targeting: center crosshair is the placement/removal cursor. */
.crosshair{transition:color .15s,text-shadow .15s,transform .15s;z-index:75;}
body:not(.construction-active) .crosshair{opacity:.0;}
body.construction-active .crosshair{opacity:.95;color:rgba(159,214,255,.92);text-shadow:0 0 8px rgba(120,200,255,.7);font-size:24px;font-weight:700;}
body.construction-active .construction-selection-hud{z-index:76;}

/* v0.11.4 construction cursor/grid visibility fix */
#crosshair{display:block!important;position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;pointer-events:none!important;}
body.construction-active #crosshair{visibility:visible!important;opacity:1!important;}
