:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12121c;--panel:#1b1b2a;--border:#2c2c44;--text:#e8e8f2;--muted:#9a9ab5;--accent:#7c7ce0}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,sans-serif}#app{min-height:100vh;display:flex}#sidebar{background:var(--panel);border-right:1px solid var(--border);width:300px;padding:16px;overflow-y:auto}#sidebar h1{margin:0;font-size:1.3rem}.subtitle{color:var(--muted);margin:2px 0 0;font-size:.85rem}.version{color:var(--muted);opacity:.7;font-family:ui-monospace,monospace;font-size:.7rem}.meta{align-items:center;gap:8px;margin:6px 0 16px;display:flex}#lang{background:var(--panel);color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:2px 4px;font-size:.75rem}.meta-link{color:var(--muted);font-size:.75rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.meta-link:hover{color:#fff}.map-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:.85rem;display:flex}#map-picker{background:var(--panel);color:#fff;border:1px solid var(--border);border-radius:4px;flex:1;min-width:0;padding:4px;font-size:.8rem}body.importer{grid-template:"head head""regions main"1fr/320px 1fr;min-height:100vh;display:grid}.importer-head{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;grid-area:head;align-items:baseline;gap:18px;padding:14px 18px;display:flex}.importer-head h1{margin:0;font-size:1.05rem}.importer-head h1 a{color:var(--accent);text-decoration:none}.importer-head .subtitle{color:var(--muted);flex:1;min-width:240px;margin:0;font-size:.8rem}.importer-head .meta{align-items:center;gap:10px;margin:0;display:flex}.importer-main{flex-direction:column;grid-area:main;gap:18px;min-width:0;padding:18px;display:flex}.regions{border-right:1px solid var(--border);border-top:0;grid-area:regions;margin:0;padding:14px;overflow-y:auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.panel h2{color:var(--accent);margin:0 0 12px;font-size:.95rem}.hint{color:var(--muted);margin:10px 0 0;font-size:.78rem;line-height:1.5}.drop{border:2px dashed var(--border);text-align:center;color:var(--muted);cursor:pointer;border-radius:8px;padding:26px 16px;font-size:.85rem;display:block}.drop:hover,.drop.over{border-color:var(--accent);color:var(--text)}.drop input{margin:0 auto 10px;display:block}.tuning{flex-wrap:wrap;gap:18px;display:flex}.tuning label{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.tuning input[type=range]{width:130px}.tuning output{min-width:34px;color:var(--text);font-family:ui-monospace,monospace}.summary{color:var(--text);margin:14px 0 0;font-size:.82rem}.preview-wrap{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.preview-stage{border:1px solid var(--border);background:#0b0b18;border-radius:6px;flex:420px;min-width:0;height:62vh;min-height:320px;position:relative;overflow:hidden}#preview{cursor:grab;width:100%;height:100%;image-rendering:pixelated;display:block}#preview.dragging{cursor:grabbing}.preview-zoom{flex-direction:column;gap:6px;display:flex;position:absolute;top:8px;right:8px}.preview-zoom button{border:1px solid var(--border);width:30px;height:30px;color:var(--text);cursor:pointer;background:#0c0c18d9;border-radius:6px;padding:0;font-size:1rem;line-height:1}.preview-zoom button:hover{background:#7c7ce059}.preview-legend{min-width:150px}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:.8rem;display:flex}#issues{margin:0 0 14px;padding-left:18px;font-size:.8rem;line-height:1.6}#issues .error{color:#ff8a80}#issues .warn{color:#ffd479}#issues .ok{color:#7ddc9a;margin:0;padding-left:0;list-style:none}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}#map-name{background:var(--bg);min-width:160px;color:var(--text);border:1px solid var(--border);border-radius:5px;flex:1;padding:7px 9px;font-size:.85rem}.actions button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:5px;padding:7px 12px;font-size:.85rem}.actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.actions button:disabled{opacity:.45;cursor:not-allowed}#region-list{margin:0;padding:0;font-size:.8rem;list-style:none}li.region{cursor:default;border-radius:4px;align-items:center;gap:8px;padding:4px 6px;display:flex}li.region:hover,li.region.selected{background:#7c7ce02e}.swatch{border:1px solid #ffffff4d;border-radius:3px;flex:none;width:12px;height:12px}.region-label{flex:none;font-family:ui-monospace,monospace}.preview-legend .toggle select{color:inherit;font:inherit;background:#00000059;border:1px solid #fff3;border-radius:6px;padding:3px 6px}.preview-legend .toggle select:focus-visible{outline-offset:1px;outline:2px solid #7c7ce0}.names-file{margin-top:10px;font-size:.9rem}.names-file input[type=file]{max-width:260px;color:var(--muted);font-size:.85rem}#busy{color:#ffd479}.region-label.named{font-family:inherit;font-weight:600}.namerow{align-items:center;gap:8px;margin-bottom:8px;display:flex}.namerow label{color:var(--muted);flex:none}.namerow input{min-width:0;color:inherit;font:inherit;background:#00000059;border:1px solid #fff3;border-radius:6px;flex:1;padding:6px 8px}.namerow input:focus-visible{outline-offset:1px;outline:2px solid #7c7ce0}.region-meta{color:var(--muted);align-items:center;gap:5px;margin-left:auto;display:flex}.badge{color:#ffd479;background:#ffd4792e;border-radius:999px;padding:1px 5px;font-size:.66rem;font-style:normal}@media (width<=800px){body.importer{grid-template-columns:1fr;grid-template-areas:"head""main""regions"}.regions{border-right:0;border-top:1px solid var(--border);max-height:40vh}}#sidebar section{margin-bottom:18px}#controls .row{align-items:center;gap:8px;margin-bottom:10px;display:flex}#controls button{border:1px solid var(--border);width:42px;height:36px;color:var(--text);cursor:pointer;background:#26263a;border-radius:6px;font-size:1.1rem}#controls button:hover{border-color:var(--accent);background:#32324e}.round-label{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem}.speed{color:var(--muted);font-size:.85rem;display:block}.speed input{width:100%;accent-color:var(--accent)}.speed strong{color:var(--text)}.seed-row{align-items:center;gap:6px;margin-top:12px;display:flex}.seed-row label{color:var(--muted);font-size:.85rem}.seed-row input{background:var(--bg);border:1px solid var(--border);min-width:0;color:var(--text);font-variant-numeric:tabular-nums;border-radius:6px;flex:1;padding:5px 8px}#controls button.btn-wide{width:auto;height:30px;padding:0 10px;font-size:.85rem}#sidebar h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:.78rem}#log-list{flex-direction:column;gap:4px;max-height:min(30vh,260px);margin:0;padding:0;font-size:.82rem;list-style:none;display:flex;overflow-y:auto}#log-list li{background:#20202f;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;display:flex}#log-list li.empty{color:var(--muted);background:0 0;font-style:italic}#log-list .round{color:var(--muted);font-variant-numeric:tabular-nums;min-width:2.4em}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.stat-rows{max-height:min(38vh,420px);padding-right:2px;overflow-y:auto}.stat-row{align-items:center;gap:6px;margin-bottom:6px;font-size:.82rem;display:flex}.stat-row .name{min-width:1.1em;font-weight:600}.stat-row .bar{background:#2a2a3e;border-radius:4px;flex:1;height:8px;overflow:hidden}.stat-row .fill{border-radius:4px;height:100%;transition:width .3s}.stat-row .count{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:2.6em}.winner{color:#e8dc6c;margin-bottom:10px;font-size:.95rem;font-weight:700}.during{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.during-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;font-size:.72rem}.during-row{margin-bottom:4px;font-size:.82rem}.during-row strong{color:var(--text)}#log-list .name{font-weight:600}#log-list .arrow{color:var(--muted)}#log-list .gained{color:var(--muted);margin-left:auto;font-size:.75rem}#stage{flex:1;padding:24px;display:flex}#map-wrap{flex:1;min-width:0;position:relative}#map{touch-action:none;cursor:grab;background:#0d0d15;border-radius:8px;width:100%;height:100%;display:block;position:absolute;inset:0;box-shadow:0 8px 32px #00000073}#map.dragging{cursor:grabbing}#zoom-controls{z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;right:12px}#zoom-controls button{border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b1b2ae0;border-radius:8px;font-size:1.05rem;line-height:1}#zoom-controls button:hover{border-color:var(--accent);background:#32324e}#minimap{border:1px solid var(--border);cursor:crosshair;touch-action:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d0d15d1;border-radius:6px;width:170px;position:absolute;bottom:12px;right:12px}
