/* VALGRAD V7.2 — Layered regional cartography, Field Slate + Antique Brass */
.va-open{overflow:hidden}.va-modal{position:fixed;inset:1vh 1vw;z-index:999999;display:flex;flex-direction:column;background:#111a1b;color:#eee2c9;border:2px solid #bb9d65;box-shadow:0 0 0 100vmax #000b,0 20px 85px #000b;font-family:Georgia,serif}
.va-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 16px;background:linear-gradient(110deg,#26322d,#141f23);border-bottom:1px solid #836a46}.va-head h2{color:#f3d59d;font-size:clamp(18px,1.7vw,25px);margin:4px 0 0}.va-head small{font:10px monospace;color:#c2b39a;margin-left:15px}.va-kicker{font:10px monospace;letter-spacing:1.5px;color:#d8b779}.va-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.va-actions label{font:10px monospace;color:#ccb98e;display:flex;align-items:center;gap:5px}.va-actions select,.va-actions button,.va-tools button{background:#293b35;color:#ead9bc;border:1px solid #867a57;font:11px monospace;padding:9px;cursor:pointer}.va-actions button:hover,.va-tools button:hover{background:#435443}.va-actions span{min-width:44px;text-align:center;font:12px monospace}.va-actions select{max-width:190px}
.va-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0;flex:1}.va-left{position:relative;min-height:0;min-width:0;background:#273a3a}.va-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;background:radial-gradient(circle,#304749,#162629)}.va-viewport.grabbing{cursor:grabbing}.va-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.va-stage .va-picture{width:100%;height:100%;max-width:none;pointer-events:none;user-select:none}.va-geo{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.va-tools{position:absolute;top:12px;left:12px;z-index:4;display:flex;gap:5px;flex-wrap:wrap;max-width:calc(100% - 24px)}.va-tools button{padding:7px;background:#172624f0;font-size:10px;box-shadow:0 2px 8px #0008}.va-tools button.on{border-color:#d2ad6b;color:#ffe4ae;background:#3e4935}.va-mapnote{position:absolute;bottom:12px;left:12px;z-index:3;padding:7px 10px;background:#111e1dea;color:#dbcaa5;border:1px solid #8a7755;font:10px monospace;pointer-events:none}
.va-sidebar{overflow:auto;min-height:0;background:linear-gradient(140deg,#20302d,#101b1c);border-left:1px solid #69705c;padding:17px}.va-intro{margin:10px 0 13px;font:12px/1.5 Georgia,serif;color:#c1c7ba}.va-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:13px}.va-tabs button{background:#26342e;color:#bcad8a;border:1px solid #617260;padding:9px 3px;cursor:pointer;font:10px monospace}.va-tabs button.active{color:#fff2cc;border-color:#d1a96c;background:#6a5438}.va-dossier{border:1px solid #9c8156;padding:13px;margin:0 0 14px;background:#25342d}.va-dossier h3{font:600 21px Georgia,serif;color:#f5dca7;margin:7px 0}.va-dossier p{color:#d0cebb;font:12px/1.5 Georgia,serif}.va-stat{display:flex;justify-content:space-between;gap:9px;font:11px monospace;border-top:1px solid #4e584b;padding:8px 0}.va-stat span{color:#b8beae}.va-stat strong{color:#e6d1a7;text-align:right}.va-stat strong.contested{color:#ffb18c}.va-order{border:1px solid #b19360;margin:12px 0;padding:10px}.va-order label{font:10px monospace;color:#e5be7f}.va-order select,.va-order button,.va-focus{display:block;width:100%;box-sizing:border-box;margin-top:8px;background:#1f2f2a;color:#f1e6cd;border:1px solid #a89163;font:11px monospace;padding:10px;cursor:pointer}.va-order button{background:#695134}.va-order button:disabled{opacity:.6}.va-note{font:11px/1.45 Georgia,serif;color:#bfb8a4;border-top:1px solid #475748;margin:12px 0 5px;padding-top:9px}.va-list-title{display:flex;justify-content:space-between;align-items:center}.va-list-title h3{font-size:14px;color:#e8cb90}.va-list-title span{font:12px monospace;color:#ceb881}.va-sidebar input{width:100%;box-sizing:border-box;margin:7px 0 8px;border:1px solid #7b785d;background:#101c1d;color:#f8efd8;padding:10px}.va-list{overflow:auto;max-height:34vh;min-height:90px}.va-row{display:flex;justify-content:space-between;align-items:center;gap:7px;width:100%;box-sizing:border-box;padding:9px 3px;border:0;border-bottom:1px solid #46534b;background:transparent;color:#e6deca;text-align:left;font:12px Georgia,serif}.va-row small{font:9px monospace;color:#bcac90;text-transform:uppercase;max-width:42%;text-align:right}.va-row[data-va-select]{cursor:pointer}.va-row:hover,.va-row.active{background:#374b3e;color:#ffe3ac}.va-status{font:11px/1.45 monospace;margin:13px 0;color:#9ccbb0}.va-status.error{color:#ffa988}
.va-province{cursor:pointer;vector-effect:non-scaling-stroke;paint-order:stroke;transition:fill-opacity .2s}.va-province:hover,.va-province.chosen{fill-opacity:.28!important;stroke:#ffe4ac;stroke-width:3.5}.va-province.occupied{stroke:#ffce91;stroke-dasharray:7 5;fill-opacity:.33!important}.va-route{fill:none;pointer-events:visibleStroke;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;cursor:pointer;opacity:.92}.va-rail{stroke:#ecce91;stroke-width:3.7;stroke-dasharray:9 6;filter:drop-shadow(0 0 2px #111)}.va-road{stroke:#f4ebce;stroke-width:2.5;stroke-dasharray:4 7}.va-route:hover,.va-route.chosen{stroke:#fff9d8;stroke-width:8}.va-site{cursor:pointer}.va-site .hit{fill:transparent}.va-site .pin{fill:#152b2b;stroke:#f2d69a;stroke-width:2.5}.va-site .symbol{fill:#f0dbac;font:15px Georgia,serif;pointer-events:none}.va-site.draft .pin{stroke:#a4ecea;stroke-dasharray:3 2}.va-site.draft .symbol{fill:#a4ecea}.va-site.chosen .pin,.va-site:hover .pin{stroke:#fff5d2;stroke-width:4;fill:#806137}.va-site .place-label{fill:#ffe2aa;stroke:#161a17;stroke-width:2.9;paint-order:stroke;font:600 13px Georgia,serif;pointer-events:none;display:none}.va-site.major .place-label,.va-site.chosen .place-label,.va-viewport.medium .place-label{display:block}.va-viewport:not(.near) .va-site:not(.major):not(.chosen) .place-label{display:none}.va-image-error{position:absolute;top:40%;left:10%;right:10%;z-index:5;padding:18px;background:#321f21;color:#ffe3ce;border:1px solid #b67349}
@media(max-width:900px){.va-modal{inset:0}.va-body{grid-template-columns:1fr;grid-template-rows:minmax(270px,60%) minmax(170px,40%)}.va-sidebar{border:0;border-top:1px solid #6e765e}.va-list{max-height:20vh}.va-mapnote{display:none}}
@media(max-width:570px){.va-head{padding:8px}.va-actions{width:100%}.va-actions label{flex:1}.va-actions select{max-width:100%}.va-tools{top:6px;left:6px}.va-tools button{font-size:9px;padding:5px}}
