:root{--bg: #f3f4ef;--surface: #ffffff;--surface-2: #eceee6;--text: #1d2118;--muted: #646b5c;--border: #d5d9cc;--accent: #4a5d3a;--accent-hover: #3c4d2f;--accent-text: #f4f6ee;--danger: #a33a2c;--danger-bg: #f8e6e2;--info-bg: #e7ece0;--ok: #2f6b3a;--radius: 8px;--shadow: 0 8px 28px rgb(0 0 0 / .14);color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:15px;line-height:1.45}@media (prefers-color-scheme: dark){:root{--bg: #15180f;--surface: #1e2217;--surface-2: #272c1f;--text: #e6e9dc;--muted: #9aa18e;--border: #353b2b;--accent: #7d9a5f;--accent-hover: #91ad73;--accent-text: #12150d;--danger: #e0806f;--danger-bg: #3a201b;--info-bg: #262d1d;--ok: #8cc38f;--shadow: 0 8px 28px rgb(0 0 0 / .5);color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h1,h2,h3{margin:0;font-weight:650}.muted{color:var(--muted)}.mono{font-family:ui-monospace,JetBrains Mono,Consolas,monospace}.center{text-align:center}.bad{color:var(--danger)}.splash{min-height:100vh}.btn{font:inherit;padding:8px 14px;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{border-color:transparent;background:transparent}.btn-block{width:100%;padding:11px}.btn:focus-visible,input:focus-visible,tr:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:not([type=checkbox]){font:inherit;width:100%;padding:9px 11px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text)}.field{display:grid;gap:5px;margin-bottom:14px}.field>span{font-weight:600;font-size:.93rem}.field small{font-size:.82rem}.input-row{display:flex;gap:8px}.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;cursor:pointer}.check input{margin-top:3px;width:17px;height:17px;accent-color:var(--accent)}.check small{font-size:.82rem}.alert{padding:10px 12px;border-radius:var(--radius);margin-bottom:14px}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-info{background:var(--info-bg)}.license-bar{margin:0;border-radius:0;text-align:center}.badge{display:inline-block;font-size:.78rem;padding:2px 8px;margin-right:6px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.badge-admin{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:380px;padding:28px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.login-head{display:flex;gap:14px;align-items:center;margin-bottom:22px}.login-head h1{font-size:1.6rem;letter-spacing:.04em}.login-head p{margin:0}.brand-mark{display:inline-block;width:22px;height:22px;border-radius:5px;background:var(--accent);clip-path:polygon(50% 12%,92% 88%,8% 88%)}.brand-mark-lg{width:44px;height:44px}.topbar{display:flex;align-items:center;gap:24px;padding:0 20px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:.06em}.topbar nav{display:flex;gap:4px;flex:1}.topbar nav a{padding:7px 12px;border-radius:var(--radius);color:var(--muted);text-decoration:none}.topbar nav a:hover{background:var(--surface-2);color:var(--text)}.topbar nav a.active{background:var(--surface-2);color:var(--text);font-weight:600}.me{display:flex;align-items:center;gap:8px}.me-name{font-weight:600}.content{max-width:1100px;margin:0 auto;padding:24px 20px 60px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.count{color:var(--muted);font-weight:400;font-size:1rem;margin-left:4px}.search{margin-bottom:12px;max-width:360px}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}.table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:none}.table-hover tbody tr{cursor:pointer}.table-hover tbody tr:hover{background:var(--surface-2)}.row-dim td{color:var(--muted)}.status{font-size:.85rem;padding:2px 8px;border-radius:999px;background:var(--surface-2)}.status-combat{background:var(--danger-bg);color:var(--danger);font-weight:600}.status-decision{background:var(--info-bg)}.empty{padding:40px;text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}.empty p{margin:4px 0}.dialog{width:min(480px,calc(100vw - 32px));padding:24px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.dialog::backdrop{background:#00000073}.dialog h3{margin-bottom:18px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);padding:10px 18px;background:var(--text);color:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow)}@media (max-width: 700px){.topbar{gap:10px;padding:0 12px}.me-name,.me .badge{display:none}.table th:nth-child(2),.table td:nth-child(2){display:none}}.small{font-size:.86rem}.btn-sm{padding:4px 10px;font-size:.86rem}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.link{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit}.link:hover{text-decoration:underline}.alert{position:relative}.alert-close{position:absolute;top:4px;right:8px;background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-top:14px}.card h3{margin-bottom:6px}.section{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:18px 0 8px}.content-full{height:calc(100vh - 56px)}.maps-page{display:grid;grid-template-columns:380px 1fr;height:100%}.maps-panel{overflow-y:auto;padding:18px 16px 40px;border-right:1px solid var(--border);background:var(--bg)}.maps-panel .search{max-width:none}.map{width:100%;height:100%}.map-list,.catalog{list-style:none;margin:0;padding:0}.map-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px;display:grid;gap:4px}.map-item-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.map-item-actions{display:flex;gap:6px;margin-top:4px}.status-map-ready{background:var(--info-bg);color:var(--ok)}.status-map-failed{background:var(--danger-bg);color:var(--danger)}.status-map-downloading,.status-map-processing{background:var(--info-bg);font-weight:600}.progress{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .4s}.progress-indeterminate{animation:indeterminate 1.4s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(300%)}}.crumbs{margin:4px 0 8px;font-size:.9rem}.catalog{max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:6px}.catalog li{display:flex;align-items:center;border-bottom:1px solid var(--border)}.catalog li:last-child{border-bottom:none}.catalog li.selected{background:var(--info-bg)}.catalog-name{flex:1;text-align:left;background:none;border:none;padding:8px 12px;font:inherit;color:var(--text);cursor:pointer}.catalog-name:hover{background:var(--surface-2)}.bbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin-top:10px}.bbox-grid .field{margin-bottom:8px}@media (max-width: 800px){.maps-page{grid-template-columns:1fr;grid-template-rows:auto 60vh}.content-full{height:auto}}.lang-switch{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-left:auto}.lang-switch button{font:inherit;font-size:.82rem;padding:4px 9px;border:none;background:transparent;color:var(--muted);cursor:pointer}.lang-switch button+button{border-left:1px solid var(--border)}.lang-switch button.active{background:var(--accent);color:var(--accent-text);font-weight:600}.login-head .lang-switch{align-self:flex-start}.map-wrap{position:relative;width:100%;height:100%}.layers-control{position:absolute;top:10px;left:10px;z-index:2}.layers-toggle{box-shadow:var(--shadow)}.layers-panel{margin-top:6px;padding:6px 12px;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.layers-panel .check{margin:7px 0;font-size:.9rem}.check.disabled{opacity:.55;cursor:default}.sat-license{font-size:.82rem;margin:-6px 0 10px}.select{font:inherit;width:100%;padding:8px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text)}.cursor-info{position:absolute;bottom:30px;right:10px;z-index:2;padding:4px 10px;font-size:.85rem;font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);pointer-events:none}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px}.tab{font:inherit;padding:8px 14px;border:none;background:none;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);font-weight:600;border-bottom-color:var(--accent)}.filter-row{display:flex;gap:6px;margin-bottom:10px}.row-actions{text-align:right;width:1%;white-space:nowrap}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:5px 7px;line-height:0}.map-item-actions>.btn-icon:first-child,.map-item-actions>:not(.btn-icon)+.btn-icon{margin-left:auto}.symbol-preview{display:inline-flex;gap:6px;align-items:center;vertical-align:middle}.symbol-preview svg{display:block}.ammo-set{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px 10px;margin:6px 0 4px}.ammo-set legend{font-weight:600;padding:0 4px}.ammo-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.ammo-row .check{margin:6px 0}.ammo-load{width:90px!important;padding:5px 8px!important}.tabs{flex-wrap:wrap}.dialog-wide{width:min(720px,calc(100vw - 32px))}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media (max-width: 560px){.grid-2{grid-template-columns:1fr}}.staff-row{display:grid;grid-template-columns:9em minmax(0,1fr) 4.5em auto auto auto;gap:6px;align-items:center;margin:6px 0}@media (max-width: 560px){.staff-row{grid-template-columns:1fr 4.5em auto auto auto}.staff-row>select:first-child{grid-column:1 / -1}}.staff-count{padding:6px 8px!important}.staff-add{margin:10px 0 0;flex-wrap:wrap}.staff-preview{margin:12px 0 0}.staff-preview summary{cursor:pointer;font-weight:600}.staff-totals{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0}.staff-totals dt{color:var(--muted)}.staff-tree,.staff-tree ul{list-style:none;padding-left:16px;margin:2px 0}.staff-tree{padding-left:0;max-height:320px;overflow:auto}.tree-label{display:inline-flex;gap:6px;align-items:center}.area-layer{border-top:1px solid var(--border);padding:6px 0 2px}.area-layer-head{display:flex;align-items:center;gap:8px}.area-layer-head>span:first-child{font-weight:600;min-width:5.5em}.area-layer-actions{margin-left:auto;display:inline-flex;gap:2px}.area-estimate{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:4px 0 12px}.area-estimate dt{color:var(--muted)}.pult-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:6px}.pult-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.pult-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.pult-card-head h3{flex:1 1 100%;min-width:0;margin:0;font-size:1.05rem;overflow-wrap:anywhere}.link.small{font-size:.86rem}.pult-situation{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pult-problems{margin:0;padding-left:18px;color:var(--danger)}.pult-runs{list-style:none;margin:0;padding:0;display:grid;gap:4px}.pult-runs li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;background:var(--surface-2);border-radius:var(--radius)}.pult-runs li .btn{margin-left:auto}.pult-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}.pult-actions>.btn-primary{margin-left:auto}.status-ready{background:var(--info-bg);color:var(--ok)}.status-draft{background:var(--surface-2)}fieldset.plain{border:none;padding:0;margin:0;min-width:0}textarea{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);resize:vertical}.pult-card>.link{align-self:flex-start}.editor-page{display:flex;flex-direction:column;height:100%}.editor-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px 0;border-bottom:1px solid var(--border)}.editor-head h2{margin:0;font-size:1.15rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}.editor-tabs{border-bottom:none;margin:0}.tab-later{opacity:.45;cursor:default}.editor-note{margin:10px 16px 0}.editor-form{width:100%;overflow-y:auto}.editor-page .field-page{flex:1;min-height:0;height:auto}.field-map{position:relative;min-height:0}.input-row.wrap{flex-wrap:wrap}.swatch{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;border:1px solid rgb(0 0 0 / .2)}.draw-list{list-style:none;margin:0;padding:0}.draw-list li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 4px;border-radius:var(--radius)}.draw-list li.selected{background:var(--surface-2)}.map-text-input{position:absolute;transform:translate(-50%,-120%);z-index:5}.map-text-input input{width:220px;box-shadow:var(--shadow)}input[type=color]{padding:2px;height:38px;width:100%}.sides-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.side-card{border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius);padding:10px 12px}.color-sm{width:46px!important;flex:none}.forces{max-width:1200px;overflow-y:auto;width:100%}.forces .card h3{margin-bottom:10px}.people{list-style:none;margin:0 0 8px;padding:0}.people li{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--border)}.people li>span:first-child{flex:1;min-width:0}.add-row{margin:8px 0}.add-row>input,.add-row>.select{flex:1 1 180px;width:auto}.select-sm{padding:3px 6px;font-size:.86rem;width:auto;max-width:220px}.unit-tree,.unit-tree ul{list-style:none;margin:0;padding:0}.unit-row{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:var(--radius)}.unit-row:hover{background:var(--surface-2)}.unit-row .unit-name{flex:1;min-width:0}.role-code{display:inline-block;font:600 12px/1.6 ui-monospace,monospace;padding:0 5px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);white-space:nowrap}.role-code:empty{display:none}.unit-row .role-code-input{flex:0 0 8.5em;width:8.5em;min-width:0;font:600 12px ui-monospace,monospace;padding:2px 5px}.relation-attached{border-color:var(--accent)}.relation-supporting{border-style:dashed}.relation-tag{font-size:11px;color:var(--muted);white-space:nowrap}.tree-toggle{width:18px;flex:none;background:none;border:none;padding:0;cursor:pointer;color:var(--muted);font:inherit}.warn{color:#b26a00;font-weight:600}.btn-primary .muted{color:inherit;opacity:.85}.drawing-map{position:relative;width:100%;height:100%}.draw-toolbar{position:absolute;top:10px;left:110px;right:60px;z-index:4;display:grid;gap:6px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-width:760px}.draw-toolbar.compact{right:auto;max-width:calc(100% - 170px);padding:4px 6px;gap:4px}.draw-toolbar.compact .btn-sm{min-width:30px;justify-content:center}.draw-toolbar .panel-toggle{margin-left:auto}.draw-toolbar.compact .panel-toggle{margin-left:0}.symbol-palette{display:flex;flex-wrap:wrap;gap:4px}.sym-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:3px 5px;cursor:pointer;line-height:0}.sym-btn.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.map-error{position:absolute;bottom:30px;left:10px;right:10px;z-index:5}.input-sm{padding:3px 6px!important;font-size:.86rem;width:90px}.field-inline{display:inline-flex;align-items:center;gap:4px}.cargo{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:4px 8px;margin:0;flex-basis:100%}.cargo legend{padding:0 4px}.fire-command{border-top:1px dashed var(--border);margin-top:6px;padding-top:6px;display:grid;gap:4px}.input-num{width:90px!important;flex:0 0 90px!important}.assets-table td{vertical-align:middle}.ammo-cell{display:inline-flex;align-items:center;gap:4px;margin:2px 8px 2px 0}.ammo-cell .input-sm{width:64px}.run-status{display:flex;align-items:center;gap:10px;margin:4px 0 10px}.run-actions{margin-bottom:8px}.timer{font-variant-numeric:tabular-nums;font-weight:600}.timer.warn{color:#b26a00}.side-card{cursor:pointer;margin-bottom:8px}.side-card.active{box-shadow:0 0 0 2px var(--accent)}.side-card-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.decision-text{white-space:pre-wrap;margin:6px 0}.ok{color:var(--ok)}.order-view{margin:6px 0}.order-view>div{margin-bottom:6px}.order-view dt{font-size:.82rem;color:var(--muted)}.order-view dd{margin:0;white-space:pre-wrap}.commander-page{flex:1;min-height:0;display:grid;grid-template-columns:7fr 3fr}.commander-map{position:relative;min-height:0}.commander-maps{position:relative;min-height:0;display:grid;grid-template-columns:1fr}.commander-maps.split{grid-template-columns:3fr 2fr}.decision-pane{display:flex;flex-direction:column;min-height:0;border-left:3px solid var(--border)}.decision-pane header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:13px}.decision-pane-map{position:relative;flex:1;min-height:0}.decision-open{position:absolute;top:10px;right:52px;z-index:3;box-shadow:var(--shadow)}.layer-edit{position:absolute;bottom:36px;left:10px;z-index:3;box-shadow:var(--shadow)}.staff-maps.split{grid-template-columns:1fr;grid-template-rows:3fr 2fr}.staff-maps .decision-pane{border-left:0;border-top:3px solid var(--border)}.staff-maps.split3{grid-template-columns:1fr;grid-template-rows:3fr 2fr 2fr}.inject-pane{flex:1;min-height:0;overflow:auto;padding:6px 10px}.inject-table th,.inject-table td{text-align:center}.inject-table td:nth-child(2),.inject-table td:last-child{text-align:left}.view-switch{position:absolute;top:10px;left:110px;z-index:3;margin:0;flex-wrap:wrap}.injects-open{position:absolute;top:46px;right:52px;z-index:3;box-shadow:var(--shadow)}@media (max-width: 900px){.commander-maps.split{grid-template-columns:1fr;grid-template-rows:1fr 40vh}}.to-battle{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#b71c1cf0;color:#fff;cursor:pointer;animation:to-battle 1s step-end 3 both}.to-battle span{font:800 clamp(64px,16vw,220px)/1 system-ui,sans-serif;letter-spacing:.04em;text-shadow:0 4px 24px rgba(0,0,0,.4)}@keyframes to-battle{0%{opacity:1}65%{opacity:0}}@media (prefers-reduced-motion: reduce){.to-battle{animation:none}}.draw-toolbar .num-field{display:inline-flex;align-items:center;gap:4px;font-size:13px}.draw-toolbar .num-field input{width:4.8em;padding:3px 5px}.commander-ribbon{overflow-y:auto;padding:14px 16px 40px;border-left:1px solid var(--border);background:var(--bg)}@media (max-width: 900px){.commander-page{grid-template-columns:1fr;grid-template-rows:60vh auto}}.field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.voice{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:400}.voice-rec{animation:rec-pulse 1.2s ease-in-out infinite}@keyframes rec-pulse{50%{opacity:.7}}.audio-clip{height:32px;max-width:100%;display:block;margin:4px 0}.battle-page{display:grid;grid-template-columns:320px 1fr 360px;height:100%}.staff-battle-panel{overflow-y:auto;padding:14px 16px 40px;border-left:1px solid var(--border);background:var(--bg)}@media (max-width: 1100px){.battle-page{grid-template-columns:1fr;grid-template-rows:auto 60vh auto}}.map-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:6px 10px;box-shadow:var(--shadow);display:flex;gap:8px;align-items:center}.unit-picker,.place-list{list-style:none;margin:0;padding:0}.unit-picker li,.place-list li{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:2px 0}.place-list li.selected{background:var(--surface-2)}.link.active{font-weight:700}.order-card{margin-top:8px}.journal{list-style:none;margin:0;padding:0;font-size:.88rem}.journal li{display:grid;grid-template-columns:3.4em 1fr;gap:6px;padding:4px 0;border-bottom:1px solid var(--border)}.jr-time{color:var(--muted);font-variant-numeric:tabular-nums}.jr-report-arrived .jr-text{color:var(--ok)}.jr-mediator-delay .jr-text{color:var(--danger)}.commander-map .toast{bottom:70px}.toast-bad{background:var(--danger);color:#fff}.jr-mediator .jr-text{color:var(--danger)}.inject{border-top:1px solid var(--border);margin-top:8px;padding-top:8px;display:grid;gap:6px}.inject h4{margin:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}.inject .grow{flex:1}.losses-box summary{cursor:pointer}.losses{overflow-x:auto}.losses-table{font-size:.84rem;width:100%}.losses-table th{font-size:.72rem;letter-spacing:0}.losses-table td,.losses-table th{padding:3px 6px}.losses-table td:not(:first-child),.losses-table th:not(:first-child){text-align:center}.losses-table tr.total td{border-top:2px solid var(--border)}.out-list{margin:4px 0;padding-left:16px}.live-badge{font-size:.78rem;white-space:nowrap}.live-badge.ok{color:var(--ok)}.live-badge.bad{color:var(--danger)}.report-box{margin:6px 0;display:grid;gap:6px}.report-box summary{cursor:pointer}.report-box[open]{display:grid;gap:6px}.jr-report-combat .jr-text{color:var(--accent);font-weight:600}.jr-organizer-order .jr-text{font-weight:600}.board{height:100vh;display:grid;grid-template-rows:auto 1fr 150px;background:var(--bg)}.board-head{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.board-head h1{font-size:1.1rem;margin:0}.board-head .grow{flex:1}.board-clock{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.board-score{border-left:4px solid var(--border);padding-left:8px;font-size:.9rem}.board-maps{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;min-height:0}.board-map{display:grid;grid-template-rows:auto 1fr;min-height:0}.board-map h2{font-size:.95rem;margin:0;padding:4px 8px;border-bottom:3px solid var(--border)}.board-map-body{position:relative;min-height:0}.board-map-body>*{height:100%}.board-journal{overflow:auto;padding:4px 12px;border-top:1px solid var(--border)}@media (max-width: 1100px){.board{height:auto;grid-template-rows:auto auto auto}.board-maps{grid-template-columns:1fr}.board-map{height:60vh}}.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:6px 0 12px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}.cert h3{margin:10px 0 2px;font-size:1rem}.grid-form{display:grid;gap:8px;max-width:640px}.review-map{display:grid;grid-template-rows:1fr auto}.review-map .drawing-map{min-height:0}.timeline{padding:6px 12px 8px;background:var(--surface);border-top:1px solid var(--border)}.timeline input[type=range]{width:100%;margin:0}.timeline-ticks{position:relative;height:14px;margin:0 8px}.tick{position:absolute;top:2px;width:4px;height:10px;margin-left:-2px;border:0;padding:0;border-radius:2px;cursor:pointer}.tick-order{background:#2e7d32}.tick-report{background:#1565c0}.tick-mediator{background:#c62828}.tick-comment{background:#f9a825}.tick-contact{background:#e65100}.timeline-legend{display:flex;gap:14px;flex-wrap:wrap}.timeline-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.replay-clock{display:flex;align-items:baseline;gap:8px;margin:10px 0 6px}.jr-pick{cursor:pointer}.jr-pick:hover{background:var(--surface-2)}.jr-active{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}.jr-review-comment .jr-text{color:#8d6e00;font-weight:600}.print-report{display:none}@media print{body *{visibility:hidden}.print-report,.print-report *{visibility:visible}.print-report{display:block;position:absolute;inset:0 auto auto 0;width:100%;padding:12px;background:#fff;color:#000}.print-report audio,.print-report .audio-clip{display:none}}.conditions{display:inline-block;font-size:.82rem;padding:2px 8px;border-radius:999px;background:var(--surface-2);margin:2px 0 6px}.conditions-night{background:#263238;color:#eceff1}.conditions-twilight{background:#5d4037;color:#fbe9e7}.map-twilight .maplibregl-canvas{filter:brightness(.8) saturate(.85)}.map-night .maplibregl-canvas{filter:brightness(.62) saturate(.7)}.weather-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 10px}.contacts{border:1px solid var(--danger);border-radius:var(--radius);padding:6px 8px;margin:6px 0}.contacts ul{margin:4px 0;padding-left:18px}.btn-pr{width:100%;margin:8px 0;font-weight:700;letter-spacing:.02em}.task-form-head{display:flex;align-items:center;justify-content:space-between}.task-form .tabs-sm{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.executor-list{list-style:none;margin:0;padding:0;max-height:180px;overflow-y:auto}.executor-list li{padding:2px 0}.task-cards .task-card{padding:8px 10px;margin-bottom:8px;display:grid;gap:6px}.task-card.task-issued{border-left:4px solid #ef6c00}.task-card.task-accepted,.task-card.task-executing,.task-card.task-arrived{border-left:4px solid var(--ok)}.task-report{display:grid;gap:6px}.task-journal{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:8px}.task-journal th{text-align:left;font-weight:600;color:var(--muted);padding:2px 4px}.task-journal thead tr.sub th{font-weight:400;font-style:italic;border-bottom:1px solid var(--border)}.task-journal td{padding:3px 4px;vertical-align:top}.task-journal tbody{border-bottom:1px solid var(--border)}.task-journal tr.task-reply td{color:var(--muted)}.task-journal td:first-child{white-space:nowrap;width:1%}.task-journal td.to-waiting{background:#ef6c0029}.task-journal td.to-accepted{background:#2e7d3229}.task-journal td.to-overdue{background:#c6282838;font-weight:600}.task-journal tbody.task-failed tr.task-reply td{color:inherit;background:#facc1552}.task-journal tbody.task-done tr.task-reply td{color:inherit}.drone-picture{margin:6px 0}.drone-picture summary{cursor:pointer;font-weight:600}.drone-picture-view{position:relative;margin-top:4px;border-radius:6px;overflow:hidden;background:#111}.drone-picture-map{height:200px;width:100%}.drone-picture-off{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;color:#eee;background:#0009;font-size:.86rem}.drone-picture-cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#ffb300;font-size:22px;pointer-events:none;text-shadow:0 0 2px #000}.help-btn{width:32px;height:32px;padding:0;border-radius:50%;border:1px solid var(--border);font-weight:700}.help-panel{position:fixed;top:0;right:0;bottom:0;z-index:1000;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--surface);color:var(--text);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000002e}.help-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.help-head h3{margin:0}.help-body{flex:1;overflow-y:auto;padding:12px 16px;line-height:1.5}.help-body h4{margin:16px 0 6px}.help-body ul{margin:0;padding-left:20px}.help-body li{margin-bottom:6px}.help-foot{padding:10px 16px;border-top:1px solid var(--border);margin:0}.login-tools{display:flex;align-items:center;gap:8px}
