/* QVIRO 1.4.3: State-driven, animated 3D Ark */
#ark .qv-ark-head>p{max-width:52ch}
#ark .qv-eco-layout{display:grid;gap:12px;margin-bottom:12px}
#ark .qv-eco-count{font-size:11px;color:#d2e3d3;padding:10px 12px;background:#203842e0;border:1px solid #71887e;border-radius:10px}
#ark .qv-eco-count b{color:#f3d4a5}
#ark .qv-eco-stage{position:relative;overflow:hidden;height:min(62dvh,570px);min-height:380px;border-radius:18px;border:1px solid #709e87;background:radial-gradient(ellipse at 48% 30%,#537a63,#152e35 75%,#0a1c2c);isolation:isolate;touch-action:none}
#ark #qv-ark-world{position:absolute;inset:0;touch-action:none}
#ark .qv-eco-stage canvas.qv-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:1;touch-action:none;background:transparent!important}
#ark .qv-eco-stage-title{position:absolute;top:0;left:0;right:0;z-index:3;padding:12px 14px;background:linear-gradient(#132f35e6,#132f3500);font-size:12px;font-weight:800;letter-spacing:.09em;color:#eed29c;pointer-events:none}
#ark .qv-eco-stage-title span{display:block;font-size:10px;font-weight:400;letter-spacing:0;color:#c3dbd1;margin-top:3px}
#ark .qv-eco-stage-bottom{position:absolute;z-index:3;bottom:0;left:0;right:0;padding:16px 12px 9px;text-align:center;font-size:11px;color:#e0efd9;background:linear-gradient(transparent,#152f36d9);pointer-events:none}
#ark .qv-eco-hits{position:absolute;inset:0;z-index:4;pointer-events:none}
#ark .qv-eco-hits button{position:absolute;transform:translate(-50%,-80%);pointer-events:auto;min-height:27px;max-width:120px;max-height:42px;padding:5px 8px;background:linear-gradient(135deg,#243e3be9,#111e2fe8);color:#e5eadf;border:1px solid #d1c79e;border-radius:8px;box-shadow:0 4px 10px #031219b5;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden}
#ark .qv-eco-hits button b{font-size:10px;overflow:hidden;text-overflow:ellipsis}
#ark .qv-eco-hits button[hidden]{display:none}
#ark .qv-eco-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#ark .qv-eco-slot{min-width:0;min-height:77px;text-align:left;padding:10px 11px;border-radius:11px;border:1px solid #6a8f88;background:linear-gradient(135deg,#1b3938,#1b2735);color:#edf0e7;display:flex;flex-direction:column;gap:5px;justify-content:center}
#ark .qv-eco-slot small{display:block;color:#b9cbbe;font-size:10px;line-height:1.2}
#ark .qv-eco-slot b{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
#ark .qv-eco-slot.filled{border-color:var(--rar,#9fc8aa)}
#ark .qv-eco-slot.chosen{outline:2px solid #f4d8a4;background:linear-gradient(130deg,#325348,#212b3d)}
#ark .qv-eco-detail{display:grid;gap:8px;background:#172f35ed;border:1px solid var(--rar,#779b8b);border-radius:13px;padding:13px}
#ark .qv-eco-detail>b{font-size:16px;color:#f1d7b1}
#ark .qv-eco-detail span{font-size:12px;color:#d0e2df}
#ark .qv-eco-detail small{font-size:11px;color:#aebfb9}
#ark .qv-eco-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
#ark .qv-eco-actions button,#ark .qv-eco-placement button{background:#345d55;border:1px solid #9ac1a6;padding:9px 10px;border-radius:9px;font-size:12px;min-height:39px}
#ark .qv-eco-placement{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:5px}
@media(orientation:landscape){#ark .qv-eco-stage{height:calc(100dvh - 180px);min-height:275px;max-height:560px}#ark .qv-eco-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}

#ark .qv-eco-overview{position:absolute;z-index:8;top:12px;right:10px;border:1px solid #e1c68d;background:#233947eb;color:#ffdf9c;border-radius:8px;padding:7px 8px;font-size:10px;min-height:29px;touch-action:manipulation;pointer-events:auto}
#ark .qv-eco-stage-title{padding-right:95px}

/* 1.4.4 visual repair: 44px touch target with only a 24px visible gate marker */
#ark .qv-eco-hits button{
 width:44px!important;min-width:44px!important;max-width:44px!important;
 height:44px!important;min-height:44px!important;max-height:44px!important;
 padding:0!important;border:0!important;border-radius:50%!important;
 display:flex!important;align-items:center;justify-content:center;
 background:transparent!important;box-shadow:none!important;
 transform:translate(-50%,-50%)!important;pointer-events:auto;
}
#ark .qv-eco-hits button b{
 width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
 background:#193137e8;color:#f0dba9;border:1px solid #d8c08a;
 box-shadow:0 2px 6px #031417a1;font-size:11px!important;line-height:1;
}
#ark .qv-eco-hits button[data-eco-occupied="yes"] b{background:#235345e8;color:#f1ffe9;border-color:#a1d9bd}
#ark .qv-eco-hits button:focus-visible{outline:2px solid #f1d595;outline-offset:2px}
#ark .qv-eco-stage-title span{max-width:245px}
/* Recessed city plaque labels reduce overlap with renovated building silhouettes. */
#qv-world-map .qv-building-hit{
 min-width:44px!important;max-width:100px!important;height:24px!important;
 padding:2px 6px!important;border-radius:7px!important;
 box-shadow:0 2px 6px #0514198c!important;
}
#qv-world-map .qv-building-hit .qv-sign-label{font-size:9px!important;line-height:1.08!important}
#qv-world-map .qv-building-hit::after{height:5px!important}
