*{box-sizing:border-box}html,body{margin:0;height:100%;color:#dce7ef;background:#0a131d;font:14px/1.45 "Segoe UI",Arial,sans-serif}body{--panel:#12212e;--surface:#182e3e;--line:#2b4050;--muted:#9bb0bf;--accent:#79ddcc;--red:#ffa59c;--gold:#e7cb86;display:flex;flex-direction:column}[hidden]{display:none!important}button,input,textarea,select{font:inherit;color:inherit;min-width:0}button{background:var(--surface);border:1px solid var(--line);padding:8px 12px;border-radius:2px;cursor:pointer;white-space:nowrap}button:hover{background:#26465a}button.active,.primary{background:#79ddcc!important;color:#0a292c!important;border-color:#79ddcc!important}.quiet{background:transparent;border:0;color:var(--muted)}.danger,.error{color:var(--red)}button:disabled{opacity:.45;cursor:default}input,select,textarea{background:#0c1b27;border:1px solid var(--line);border-radius:2px;padding:8px 10px;width:100%}textarea{resize:vertical}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{display:block;color:var(--muted);font-size:12px;margin:14px 0}label>input,label>select,label>textarea{margin-top:5px;font-size:14px}.check{display:flex;align-items:center;gap:8px;font-size:12px}.check input{width:15px;margin:0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--muted)}h1{font-size:23px;font-weight:500;margin:4px 0 0}h2{font-size:16px;font-weight:500;margin:0 0 10px}h3{font-size:13px;font-weight:500}small,.muted{color:var(--muted)}small{display:block;font-size:11px}.spaced{margin-top:24px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.row>h2{margin:0}.row>input{flex:1}.row>select{width:auto}.actions,.tools{display:flex;gap:6px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.logo{background:var(--accent);color:#0b2931;border-radius:2px;padding:8px;font-weight:700;letter-spacing:-1px}.brand strong{font-size:13px;letter-spacing:2px}.brand small{font-size:10px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 20px;border-bottom:1px solid var(--line);background:#101e2a;flex-shrink:0}.header-mission{flex:1;min-width:0}.header-mission span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-mission small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app{display:flex;flex:1;min-height:0}.rail{width:225px;flex-shrink:0;background:#101e2a;padding:22px 14px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.rail>select{margin:10px 0;font-size:12px}.rail>button{font-size:12px}nav{display:flex;flex-direction:column;margin:24px -2px;gap:5px}nav button{text-align:left;padding:12px 10px;border:0;background:transparent;color:var(--muted);font-size:13px}.rail-bottom{margin-top:auto;display:flex;flex-direction:column;gap:9px}.rail-bottom span{font-size:11px;color:var(--muted)}.rail-bottom button{white-space:normal;text-align:left;padding:8px 0;font-size:11px}main{flex:1;min-width:0;min-height:0}main>section{height:100%;display:flex;flex-direction:column}.viewbar{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;flex-shrink:0}.viewbar .tools button{font-size:12px;padding:7px 9px}.viewbar>select{width:auto}.map-layout,.flow-layout{display:grid;grid-template-columns:225px minmax(100px,1fr) 330px;flex:1;min-height:0}.entity-pane{background:#11212e;border-right:1px solid var(--line);padding:16px 12px;overflow:auto}.entity-pane>input{margin:10px 0;font-size:12px}.entity-item{display:block;width:100%;text-align:left;margin:4px 0;padding:9px;background:transparent;border-color:transparent;white-space:normal;font-size:12px}.entity-item.active{background:#213e4f!important;color:inherit!important;border-color:#4b7885!important}.entity-item strong{font-weight:500;display:block;overflow-wrap:anywhere}.entity-item small{font-size:10px;margin-top:3px}.entity-pane .row span{font-size:11px;color:var(--muted)}.legend{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:11px}.friend{color:var(--accent)}.hostile{color:var(--red)}.civil{color:var(--gold)}.map-stage{position:relative;min-height:300px;background:#143c4b}#map{position:absolute;inset:0}.inspector{background:#11212e;padding:20px 16px;overflow:auto;border-left:1px solid var(--line)}.inspector h2{margin:8px 0 20px;overflow-wrap:anywhere}.inspector .code{font-size:11px}.inspector button{font-size:12px}.inspector .arg{margin:10px 0}.inspector label{font-size:11px}.inspector textarea{min-height:48px}.map-note{border-left:2px solid var(--accent);padding:8px 12px;margin:16px 0;font-size:11px;color:var(--muted)}#map-hint,#coordinate-readout,#map-status,#measure-readout{position:absolute;pointer-events:none;background:#0a192be8;padding:8px 12px;font-size:11px;border-radius:2px;max-width:calc(100% - 25px)}#map-hint{left:12px;top:12px}#coordinate-readout{left:12px;bottom:35px; font-variant-numeric:tabular-nums}#map-status{left:12px;bottom:70px}#measure-readout{left:12px;top:50px;color:var(--accent)}.maplibregl-ctrl-attrib{font-size:10px!important}.unit-marker{width:25px;height:25px;border:2px solid #122737;background:var(--accent);color:#142b33;padding:0;border-radius:50%;box-shadow:0 0 0 5px #06142433}.unit-marker.hostile{background:var(--red);border-radius:1px;transform:rotate(45deg)}.unit-marker.civil{background:var(--gold);border-radius:1px}.unit-marker.selected{box-shadow:0 0 0 3px #eee9,0 0 0 6px #04121c55}.coordinate-marker{width:11px;height:11px;border:2px solid #d4dce3;border-radius:1px;background:#638496;padding:0}.maplibregl-popup-content{background:#152633!important;color:#dce7ef;padding:12px!important}.maplibregl-popup-tip{border-top-color:#152633!important}.scroll-content{padding:24px;overflow:auto;min-height:0;flex:1}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mission-grid article{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:22px;min-width:0}.localized-card{border-bottom:1px solid var(--line);padding:14px 0}.localized-card .row strong{font-weight:500;font-size:12px}.metadata-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.metadata-group .localized-card{border:1px solid var(--line);border-radius:3px;padding:16px;background:var(--panel)}.code{font:12px/1.7 Consolas,"Cascadia Code",monospace;tab-size:4;white-space:pre;overflow:auto;color:#c6e2e1}.source-layout{display:grid;grid-template-columns:minmax(200px,1fr) 325px;flex:1;min-height:0}.source-layout>div{padding:18px;display:flex;flex-direction:column;min-height:0}.source-layout>aside{padding:18px;overflow:auto;border-left:1px solid var(--line)}#source-text{flex:1;resize:none;min-height:300px}#source-status{font-size:12px;padding-top:10px}#variables .entity-item{font-family:Consolas,monospace}#archive-files button{width:100%;text-align:left;white-space:normal;font-size:11px;margin:3px 0}.table-wrap{overflow:auto;margin-top:18px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{color:var(--muted);font-weight:500}td,th{padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}td .quiet{padding:3px}#api-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#api-summary details{padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:2px;min-width:0}#api-summary summary{font:12px Consolas,monospace;overflow-wrap:anywhere;cursor:pointer}#api-summary pre{white-space:pre-wrap;font-size:11px}.validation-entry{border-left:3px solid var(--accent);background:var(--panel);padding:12px 15px;margin:8px 0;font-size:13px}.validation-entry.warning{border-color:var(--gold)}.validation-entry.error{border-color:var(--red)}footer{padding:8px 20px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);background:#0e1c28;display:flex;justify-content:space-between;gap:15px;flex-shrink:0}#graph-viewport{position:relative;overflow:hidden;background-color:#0c1d29;background-image:radial-gradient(#37526370 1px,transparent 1px);background-size:20px 20px;cursor:grab}#graph-world{position:absolute;transform-origin:0 0}#graph-edges{position:absolute;inset:0;overflow:visible;pointer-events:none}#graph-nodes{position:absolute;inset:0}.graph-node{position:absolute;width:200px;padding:12px;background:#182f40;border:1px solid #3a596c;border-radius:3px;font-size:11px;box-shadow:0 6px 18px #030b1733;cursor:grab}.graph-node.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.graph-node.fired{background:#24594d}.graph-node .kind{font-size:9px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.graph-node strong{display:block;font:12px Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:4px 0}.graph-node small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-node .node-connect{position:absolute;right:-8px;top:35px;width:16px;height:16px;border-radius:50%;border:2px solid #8ac9d4;background:#123146;padding:0;cursor:crosshair}.graph-node.trigger{border-left:3px solid #98aefa}.graph-node.process{border-left:3px solid #d8c289}.graph-node.objective{border-left:3px solid #79ddcc}.graph-node.outcome{border-left:3px solid #ffa59c}.palette-item{display:block;text-align:left;width:100%;white-space:normal;padding:9px;margin:4px 0;font:11px Consolas,monospace;background:transparent}#rehearsal-log{font-size:11px;margin-top:12px;color:var(--muted);overflow-wrap:anywhere}#graph-empty{position:absolute;padding:30px}.dependency-chip{display:inline-block;font-size:10px;margin:3px;padding:4px 7px;background:#203d50;border-radius:2px}.call-editor{margin:16px 0;padding-top:12px;border-top:1px solid var(--line)}.call-editor h3{font:12px Consolas,monospace;color:var(--accent);overflow-wrap:anywhere}dialog{color:#dce7ef;background:#12212e;border:1px solid #3b586e;border-radius:4px;padding:24px;width:min(760px,calc(100% - 32px));max-height:90vh;overflow:auto}dialog::backdrop{background:#03101ec4}dialog .code{width:100%}dialog h2{margin:0}#research-dialog p{font-size:13px;color:var(--muted)}a{color:var(--accent)}#block-fields .arg-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#block-fields h3{color:var(--accent)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tag{font-size:10px;border:1px solid var(--line);padding:3px 6px;border-radius:2px;color:var(--muted)}.flow-status{font-size:11px;color:var(--gold);margin:12px 0}
@media(max-width:1450px){.rail{width:190px}.map-layout,.flow-layout{grid-template-columns:200px minmax(100px,1fr) 290px}.viewbar{padding:16px}.viewbar .tools{gap:4px}.viewbar .tools button{font-size:11px;padding:6px 7px}.header-mission{display:none}.source-layout{grid-template-columns:minmax(200px,1fr) 285px}}
@media(max-width:1100px){.rail{width:170px}.map-layout,.flow-layout{grid-template-columns:minmax(180px,1fr) 275px}.map-layout>.entity-pane,.flow-layout>.entity-pane{display:none}.mission-grid{grid-template-columns:1fr}.metadata-group{grid-template-columns:1fr}.brand small{display:none}#api-summary{grid-template-columns:repeat(2,1fr)}.source-layout{grid-template-columns:1fr 240px}}
@media(max-width:760px){html,body{height:auto;min-height:100%}.app{display:block}header{flex-wrap:wrap;padding:12px}.rail{width:100%;padding:12px;display:block;border-bottom:1px solid var(--line)}.rail>.eyebrow,.rail-bottom{display:none}.rail>select{width:calc(100% - 145px);display:inline-block}.rail>button{display:inline-block;margin-left:8px}nav{flex-direction:row;flex-wrap:wrap;margin:8px 0 0;gap:4px}nav button{font-size:11px;padding:8px}.map-layout,.flow-layout{display:flex;flex-direction:column}.map-stage{height:500px;flex:none}.map-layout>.entity-pane,.flow-layout>.entity-pane{display:block;max-height:225px}.inspector{border-left:0;border-top:1px solid var(--line);max-height:none}.viewbar{display:block}.viewbar .tools{margin-top:10px}main>section{height:auto;min-height:600px}.viewbar h1{font-size:20px}.source-layout{display:block}.source-layout>div{height:650px}.source-layout>aside{border-left:0}#graph-viewport{height:650px;flex:none}.scroll-content{overflow:visible;padding:16px}.mission-grid article{padding:16px}#api-summary{grid-template-columns:1fr}.tools button{font-size:11px}.actions button{font-size:11px;padding:7px}footer{font-size:10px}.header-mission{display:none}.form-grid{grid-template-columns:1fr}#block-fields .arg-grid{grid-template-columns:1fr}.row>input{flex-basis:100%}}

.campaign-step{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:18px;margin:12px 0;cursor:grab}.campaign-step>div:first-of-type{flex:1;min-width:0}.campaign-step strong{font-weight:500;overflow-wrap:anywhere}.campaign-step .step-index{color:var(--accent);font:18px Consolas,monospace}.campaign-step small{margin-top:4px;overflow-wrap:anywhere}.campaign-step button{font-size:12px}@media(max-width:760px){.campaign-step{flex-wrap:wrap}.campaign-step>.actions{width:100%}.rail>#package-picker{width:100%}}
.type-reference{padding:12px;border-bottom:1px solid var(--line)}.type-reference summary{font:12px Consolas,monospace;cursor:pointer;overflow-wrap:anywhere}.type-reference>button{margin:12px 0}.type-reference>div{display:flex;flex-wrap:wrap;gap:7px}.type-reference .quiet{white-space:normal;text-align:left;border:1px solid var(--line);font-size:11px}#depth-profile{width:100%;height:230px}#depth-result,#gis-status{margin-top:10px;overflow-wrap:anywhere}
.map-unit-label{display:block;position:absolute;top:31px;left:50%;transform:translateX(-50%);background:#0b1c2cdb;padding:2px 5px;border-radius:1px;font-size:11px;white-space:nowrap;pointer-events:none;color:#d9e8ef;text-align:center}
.graph-legend{position:absolute;bottom:10px;left:12px;right:12px;padding:8px;background:#0b1928e0;pointer-events:none;font-size:11px;color:var(--muted)}
