.va{--ink:#e8eadd;--muted:#a8c0b8;--line:#66877b44;--bg:#0e272c;--card:#18383b;--gold:#edc17a;--green:#8bc5a4;color:var(--ink);font:14px/1.45 system-ui,sans-serif;position:relative;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--bg);margin:12px auto;max-width:1600px;isolation:isolate}.va *{box-sizing:border-box}.va button,.va input,.va select,.va textarea{font:inherit}.va button,.va select{color:var(--ink);background:#24464a;border:1px solid #70928555;border-radius:11px;padding:10px 13px;cursor:pointer;min-height:42px}.va button:hover{background:#31595a}.va button:focus-visible,.va input:focus-visible,.va select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.va button[aria-pressed=true],.va button.selected,.va .va-primary{background:var(--gold);color:#203536;border-color:var(--gold);font-weight:700}.va button:disabled{opacity:.45;cursor:default}.va input,.va textarea{border:1px solid #70928566;border-radius:9px;padding:10px;color:var(--ink);background:#102f34;width:100%;min-width:0}.va label{display:grid;gap:6px;color:var(--muted);font-size:13px}.va input[type=checkbox]{width:auto}.va input[type=range]{accent-color:var(--gold);padding:2px}.va h1,.va h2,.va h3,.va p{margin:0}.va h2{font:600 28px/1.15 Georgia,serif;color:#f4dfb7}.va small{color:var(--muted);letter-spacing:.04em}.va [hidden]{display:none!important}.va-top{padding:12px 16px;display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);background:#153136}.va-brand{display:grid;flex:1;min-width:0}.va-brand b{font:600 24px/1.1 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.va-brand small{font-size:11px}.va-top>a{color:var(--muted);text-decoration:none}.va-data{display:flex;gap:20px;align-items:center;padding:9px 16px;background:#123035;border-bottom:1px solid var(--line);font-size:12px}.va-data b{display:block;font-size:17px;color:#f1ddae;font-variant-numeric:tabular-nums}.va-demands{display:flex;gap:5px;align-items:end;margin-left:auto;height:32px}.va-demands span{width:8px;border-radius:2px;min-height:3px}.va-world{position:relative;height:65vh;min-height:360px;background:#102c32;overflow:hidden}.va-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;outline:none}.va-maplabel{position:absolute;left:14px;top:12px;pointer-events:none;background:#102a31d9;border:1px solid var(--line);padding:8px 12px;border-radius:12px;max-width:calc(100% - 150px)}.va-maplabel b{display:block;font-size:12px}.va-maplabel small{font-size:11px}.va-camera{position:absolute;right:10px;top:12px;display:grid;gap:5px}.va-camera button{padding:5px;min-width:40px;min-height:40px;background:#123037e8}.va-speed{position:absolute;bottom:12px;right:10px;display:flex;gap:4px}.va-speed button{padding:6px 11px;background:#123037e8}.va-minimap{position:absolute;bottom:12px;left:12px;width:110px;height:110px;border:1px solid #adc29f88;border-radius:8px;cursor:pointer;background:#244b4c}.va-bottom{padding:9px 12px;display:flex;gap:7px;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;align-items:center}.va-bottom button{white-space:nowrap;flex:1;font-size:12px;padding:9px}.va-bottom .va-tool-name{min-width:125px;text-align:left;flex:2}.va-status{padding:5px 13px 8px;color:var(--muted);font-size:11px;min-height:27px;background:#123035}.va-status[data-kind=warning]{color:#ebc481}.va-status[data-kind=danger]{color:#f2a18a}.va-wide{position:fixed;inset:0;z-index:20000;border-radius:0;margin:0;max-width:none;display:flex;flex-direction:column;height:100dvh;border:0}.va-wide .va-world{height:auto;min-height:0;flex:1}.va-wide .va-top{flex-shrink:0}.va-cover{position:absolute;inset:0;display:flex;align-items:center;padding:40px;background:linear-gradient(90deg,#102b31f5,#102b31b0 55%,#102b3120);z-index:3}.va-cover>div{max-width:550px}.va-cover h1{font:500 clamp(45px,6vw,86px)/.95 Georgia,serif;color:#f4ddb0;letter-spacing:-.04em;margin:14px 0 20px}.va-cover p{color:#c1d2c5;max-width:420px;font-size:16px}.va-cover .va-actions{margin:22px 0 16px}.va-actions{display:flex;gap:8px;flex-wrap:wrap}.va-dialog{color:var(--ink);background:#153337;border:1px solid #8ba59588;border-radius:19px;padding:0;width:min(900px,calc(100vw - 24px));max-height:90dvh;box-shadow:0 30px 100px #0007;z-index:20002}.va-dialog::backdrop{background:#061a22b8;backdrop-filter:blur(5px)}.va-dialog>header{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);background:#153337}.va-dialog>header h2{flex:1}.va-dialog>header button{font-size:23px;line-height:1;padding:7px;min-width:40px}.va-content{padding:20px 22px;display:grid;gap:18px}.va-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.va-grid.tools{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.va-card{border:1px solid var(--line);border-radius:13px;padding:15px;background:#1d3e41}.va-card p{font-size:12px;color:var(--muted);margin:8px 0}.va-card b{color:#f0d7a4}.va-card button{margin-top:8px}.va-grid.tools button{text-align:left;display:grid;gap:4px;padding:12px}.va-grid.tools small{font-size:11px;font-weight:400}.va-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:4px}.va-tabs button{white-space:nowrap}.va-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.va-sub{color:var(--muted);font-size:12px}.va-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.va-form .full{grid-column:1/-1}.va-number{font-size:26px;color:var(--gold);font-variant-numeric:tabular-nums}.va-table{width:100%;border-collapse:collapse;font-size:13px}.va-table th,.va-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}.va-table input{width:75px;max-width:100%}.va-table-scroll{max-width:100%;overflow:auto}.va-switch{display:flex;gap:10px;align-items:center}.va-switch input{width:auto}.va-ordinance{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.va-ordinance input{width:18px;height:18px}.va-chart{width:100%;height:230px;background:#102c31;border-radius:12px}.va-editor-layout{display:grid;grid-template-columns:minmax(180px,1fr) 1fr;gap:18px}.va-paint{width:100%;aspect-ratio:1;max-width:384px;image-rendering:pixelated;touch-action:none;background:repeating-conic-gradient(#345258 0% 25%,#234148 0% 50%) 50%/20px 20px;border:1px solid #8ca49466;border-radius:8px}.va-palette{display:flex;gap:4px;flex-wrap:wrap}.va-palette button{width:29px;min-height:29px;padding:0;border-radius:6px;border:2px solid #71928b}.va-palette button.selected{border-color:white;box-shadow:0 0 0 1px white}.va-editor-preview{width:160px;height:160px;image-rendering:pixelated;background:#102c31;border-radius:9px}.va-preview-row{display:flex;gap:12px;align-items:end}.va-notice{padding:12px;border:1px solid #d6b27e55;background:#8f6d2822;border-radius:10px;color:#e9cf9f;font-size:12px}.va-toast{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);padding:11px 16px;border:1px solid #bcab7c66;border-radius:12px;background:#132e34ee;color:#f3dcad;z-index:5;pointer-events:none;text-align:center;font-size:13px}.va-statrow{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--line)}.va-news{display:grid;gap:12px}.va-news article{border-left:2px solid var(--gold);padding:5px 14px}.va-news small{display:block;font-size:11px}.va-dialog details{border:1px solid var(--line);border-radius:9px;padding:12px}.va-dialog summary{cursor:pointer;color:#ead4a9}.va-dialog details p{margin-top:12px;font-size:13px;color:#c0d1c8}.va input[type=file]{font-size:12px}.va .va-home-note{font-size:11px;letter-spacing:.03em;margin-top:15px}.va-chip{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#a0c7ac;border:1px solid #8db49944;border-radius:30px;padding:3px 8px}.va-muted{color:var(--muted)}
@media(max-width:650px){.va{border-radius:14px}.va-wide{border-radius:0}.va-top{padding:9px 11px;gap:8px}.va-brand b{font-size:20px}.va-top .va-caption{display:none}.va-top button{padding:7px 10px;min-height:36px;font-size:12px}.va-data{gap:14px;padding:7px 11px;font-size:10px}.va-data b{font-size:14px}.va-data .va-extra{display:none}.va-world{height:65dvh;min-height:320px}.va-bottom{gap:5px;padding:7px}.va-bottom button{padding:8px 9px;font-size:11px;min-height:40px}.va-bottom .va-tool-name{min-width:100px}.va-cover{padding:24px;background:linear-gradient(90deg,#102b31f5,#102b31aa)}.va-cover h1{font-size:55px}.va-cover p{font-size:14px;max-width:300px}.va-cover small{font-size:10px}.va-minimap{width:82px;height:82px;left:8px;bottom:9px}.va-speed{bottom:9px}.va-maplabel{left:8px;padding:7px 9px}.va-maplabel small{display:none}.va-maplabel b{font-size:11px}.va-dialog>header{padding:14px}.va-dialog h2{font-size:23px}.va-content{padding:16px 14px;gap:14px}.va-grid{grid-template-columns:1fr 1fr;gap:8px}.va-grid.tools{grid-template-columns:1fr 1fr}.va-grid.tools button{font-size:12px;padding:10px;min-height:64px}.va-card{padding:12px}.va-card b{font-size:13px}.va-card .va-number{font-size:20px}.va-form{gap:10px}.va-editor-layout{grid-template-columns:1fr}.va-table th,.va-table td{padding:8px 5px;font-size:12px}.va-table input{width:62px}.va-camera button{min-height:36px;min-width:36px}.va-status{font-size:10px;min-height:24px}.va-chart{height:190px}.va-home-note{max-width:260px}.va-toast{bottom:70px}.va-dialog{max-height:93dvh}.va-editor-preview{width:120px;height:120px}}
@media(max-height:500px){.va-cover{padding:16px 26px}.va-cover h1{font-size:40px;margin:6px 0 10px}.va-cover .va-actions{margin:10px 0}.va-cover .va-home-note{display:none}.va-top{padding:5px 10px}.va-brand b{font-size:17px}.va-data{padding:4px 10px}.va-data b{font-size:12px}.va-minimap{width:65px;height:65px}.va-bottom{padding:4px 8px}.va-status{padding:2px 10px;min-height:17px}.va-camera{display:flex;top:8px}.va-maplabel{max-width:50%}.va-wide .va-world{min-height:80px}}
@media print{body>*{display:none!important}body .va,.va-world{display:block!important}.va{position:static!important;border:0}.va .va-top,.va .va-data,.va .va-bottom,.va .va-status,.va .va-cover,.va .va-camera,.va .va-speed,.va .va-minimap,.va .va-maplabel{display:none!important}.va-world{height:90vh!important}.va-canvas{display:block!important}}

.va-card,.va-news article{overflow-wrap:anywhere}
