:root{color-scheme:dark;--bg:#030b12;--surface:#07121c;--surface-2:#0a1824;--surface-3:#0e2030;--line:#203548;--line-strong:#35526a;--text:#e8edf2;--muted:#8190a0;--subtle:#5d7082;--gold:#e6ad27;--gold-soft:#6f5317;--green:#28ce74;--red:#ff4d51;--blue:#2da7e8;--orange:#f5a51f;--purple:#9155df;--shadow:#000b;--map:#04101a;--grid:#163043;--grid-strong:#3b5668;--focus:#ffd05a;--panel-width:334px;--right-width:440px}
:root[data-theme="light"]{color-scheme:light;--bg:#e9eef2;--surface:#f9fbfc;--surface-2:#eef3f6;--surface-3:#e1e9ee;--line:#bac8d1;--line-strong:#879ca9;--text:#132430;--muted:#516675;--subtle:#708390;--gold:#a86f00;--gold-soft:#f0d898;--green:#087d49;--red:#c52c32;--blue:#0879b2;--orange:#aa5d00;--purple:#6b38b0;--shadow:#35465340;--map:#edf4f7;--grid:#cedbe2;--grid-strong:#8ea3af;--focus:#7d4e00}
@media(prefers-color-scheme:light){:root[data-theme="system"]{color-scheme:light;--bg:#e9eef2;--surface:#f9fbfc;--surface-2:#eef3f6;--surface-3:#e1e9ee;--line:#bac8d1;--line-strong:#879ca9;--text:#132430;--muted:#516675;--subtle:#708390;--gold:#a86f00;--gold-soft:#f0d898;--green:#087d49;--red:#c52c32;--blue:#0879b2;--orange:#aa5d00;--purple:#6b38b0;--shadow:#35465340;--map:#edf4f7;--grid:#cedbe2;--grid-strong:#8ea3af;--focus:#7d4e00}}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font:12px Inter,"Segoe UI",system-ui,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.hide{display:none!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.app{height:100dvh;display:grid;grid-template-rows:50px minmax(0,1fr) auto 42px;background:var(--bg)}
.command-header{display:grid;grid-template-columns:300px minmax(420px,1fr) auto;align-items:center;border-bottom:1px solid var(--line);background:var(--surface);box-shadow:0 3px 20px var(--shadow);z-index:30}
.brand{display:flex;align-items:center;gap:10px;padding:0 14px}.brand>img{display:block;width:32px;height:32px;object-fit:contain}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.22em;font-weight:800}.brand strong{display:block;font-size:17px;letter-spacing:.06em}
.workspace-nav{justify-self:center;display:flex;height:34px;border:1px solid var(--line);border-radius:5px;overflow:hidden}.workspace-nav button,.workspace-nav a{min-width:138px;padding:0 20px;border:0;border-right:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.05em;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.workspace-nav button:last-child,.workspace-nav a:last-child{border-right:0}.workspace-nav button.on{color:var(--gold);background:var(--surface-3);box-shadow:inset 0 -2px var(--gold)}
.header-status{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-right:12px;color:var(--muted);font:9px ui-monospace,Consolas,monospace}.header-status>span:nth-child(2),.header-status>span:nth-child(3){display:none}.private-chip{padding:5px 7px;border:1px solid var(--line);border-radius:4px}.theme-switcher{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.theme-switcher button{min-height:28px;padding:0 7px;border:0;border-right:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:7px;font-weight:900}.theme-switcher button:last-child{border:0}.theme-switcher button.on{background:var(--gold-soft);color:var(--text)}
.workbench-main{min-height:0;display:grid;grid-template-columns:var(--panel-width) minmax(420px,1fr) var(--right-width);border-bottom:1px solid var(--gold-soft);background:var(--line)}
.panel{min-height:0;background:var(--surface);overflow:hidden}.panel h2,.panel h3{margin:0;font-weight:900;letter-spacing:.04em}.panel-heading{display:flex;align-items:center;justify-content:space-between;height:42px;padding:0 14px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:10px}.icon-button{border:0;background:transparent;color:var(--muted);font-size:8px;font-weight:900}
.people-panel{display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;border-right:1px solid var(--line)}
.roster-search{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:8px 13px 6px}.roster-search input{min-width:0;height:33px;padding:0 10px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2)}.roster-search>button{height:33px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface-3);font-size:7px;font-weight:900}#searchClear:not(:disabled){color:var(--blue);border-color:var(--blue)}
.results{position:absolute;z-index:100;top:45px;left:13px;right:13px;max-height:340px;overflow:auto;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);box-shadow:0 18px 50px var(--shadow)}.results button{display:flex;justify-content:space-between;width:100%;padding:9px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.results button:hover{background:var(--surface-3)}.results small{display:block;color:var(--muted);margin-top:2px}.results code{color:var(--gold)}
.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 13px 7px}.filter-row label,.roster-controls label{display:grid;gap:3px;color:var(--subtle);font-size:7px;font-weight:900;text-transform:uppercase}.filter-row select,.roster-controls select{height:29px;padding:0 7px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);text-transform:none}
.source-tabs{display:grid;grid-template-columns:1fr 1.35fr;margin:0 13px;border:1px solid var(--line);border-radius:4px;overflow:hidden}.source-tabs button{height:29px;border:0;border-right:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:900}.source-tabs button:last-child{border:0}.source-tabs button.on{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--surface));box-shadow:inset 0 -2px var(--blue)}
.bulk-row{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px}.bulk-row input{accent-color:var(--blue)}.bulk-row b{color:var(--blue);font:9px ui-monospace,Consolas,monospace}
.player-roster,.world-import{min-height:0;overflow:auto;padding:5px 9px 9px;scrollbar-color:var(--line-strong) transparent}.roster-loading,.empty-state{display:grid;place-items:center;min-height:120px;color:var(--muted);text-align:center}.empty-state.compact{min-height:90px;border:1px dashed var(--line);border-radius:5px}
.player-card{margin-bottom:5px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);overflow:hidden}.player-card[open]{border-color:var(--line-strong)}.player-card summary{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:7px;min-height:34px;padding:5px 8px;list-style:none;cursor:pointer}.player-card summary::-webkit-details-marker{display:none}.player-card summary:before{content:"›";color:var(--muted);font-size:14px;transform-origin:center}.player-card[open] summary:before{transform:rotate(90deg)}.player-card summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.player-card summary small{color:var(--muted);font-weight:500}.player-card summary code{color:var(--blue);font-size:8px}.player-villages{border-top:1px solid var(--line);background:var(--surface)}.village-choice{display:grid;grid-template-columns:auto 70px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:27px;padding:3px 8px;color:var(--muted);font-size:9px}.village-choice:hover{background:var(--surface-3)}.village-choice input{accent-color:var(--blue)}.village-choice code{color:var(--muted);font-size:8px}.village-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.village-choice em{color:var(--subtle);font-size:8px;font-style:normal}.village-choice.is-hammer em{color:var(--green)}
.scope-callout{display:grid;gap:6px;margin-bottom:7px;padding:9px;border:1px solid var(--gold);border-radius:5px;background:color-mix(in srgb,var(--gold) 8%,var(--surface));font-size:8px}.scope-callout b{color:var(--gold)}.scope-callout span{color:var(--muted);line-height:1.45}.scope-callout button,.load-more{min-height:31px;border:1px solid var(--gold);border-radius:4px;background:transparent;color:var(--gold);font-size:8px;font-weight:900}.load-more{width:calc(100% - 16px);margin:5px 8px}.mobile-panel-button,.mobile-close{display:none}
.world-import p{margin:3px 3px 10px;color:var(--muted);font-size:9px;line-height:1.5}.import-player{padding:9px;margin-bottom:6px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2)}.import-player header{display:flex;justify-content:space-between}.import-player button{margin-top:7px;width:100%;height:30px;border:1px solid var(--blue);border-radius:4px;background:transparent;color:var(--blue);font-weight:900;font-size:8px}
.people-actions{padding:8px 13px;border-top:1px solid var(--line);background:var(--surface-2)}.people-actions .primary{width:100%}.people-actions small{display:block;margin-top:7px;color:var(--muted);font-size:8px;text-align:center}.focused-plan-panel{position:absolute;z-index:20;left:var(--panel-width);top:50px;bottom:42px;width:300px;overflow:auto;padding:12px;border-right:1px solid var(--line);background:var(--surface);box-shadow:12px 0 35px var(--shadow)}
.map-column{min-width:0;min-height:0;display:grid;grid-template-rows:41px minmax(0,1fr);background:var(--map)}.map-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface)}.view-switcher{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.view-switcher button{height:29px;padding:0 17px;border:0;border-right:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:900}.view-switcher button:last-child{border:0}.view-switcher button.on{color:var(--text);background:var(--surface-3);box-shadow:inset 0 -2px var(--gold)}.mobile-theme-switcher{display:none}.map-layer-controls{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:8px}.map-layer-controls input{accent-color:var(--gold)}
.map{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--map);container-type:size}.map-frame{position:absolute;left:50%;top:50%;width:min(calc(100% - 86px),calc(100dvh - 370px));min-width:300px;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid var(--gold);border-radius:50%;overflow:hidden;box-shadow:0 0 40px color-mix(in srgb,var(--blue) 8%,transparent),inset 0 0 24px var(--shadow);background:var(--map)}.map canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.map-frame:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 40%,transparent);pointer-events:none}
.compass{position:absolute;color:var(--text);font:bold 9px ui-monospace,Consolas,monospace;text-align:center;pointer-events:none}.compass small{color:var(--muted);font-size:7px}.compass.north{top:9px;left:50%;transform:translateX(-50%)}.compass.south{bottom:8px;left:50%;transform:translateX(-50%)}.compass.west{left:9px;top:50%;transform:translateY(-50%)}.compass.east{right:9px;top:50%;transform:translateY(-50%)}
.hud{position:absolute;top:11px;left:11px;display:flex;gap:5px;flex-wrap:wrap}.hud code{padding:5px 7px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--muted);font-size:8px}.zoom{position:absolute;right:11px;bottom:11px;display:flex;border:1px solid var(--line);border-radius:5px;overflow:hidden}.zoom button{min-width:34px;height:34px;border:0;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,transparent);font-weight:900}.zoom button:last-child{border:0;padding:0 8px;font-size:7px}.map-legend{position:absolute;left:13px;bottom:13px;display:grid;gap:6px;padding:9px;border:1px solid var(--line);border-radius:5px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--muted);font-size:8px}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i,.legend i{width:7px;height:7px;border-radius:50%}.legend-def{background:var(--green)}.legend-off{background:var(--red)}.legend-friendly{background:var(--blue)}.legend-mixed{background:var(--purple)}.legend-support{background:var(--orange)}.legend-enemy{background:var(--orange)}
.map-empty{position:absolute;left:50%;top:50%;display:grid;gap:4px;transform:translate(-50%,-50%);padding:12px 18px;border:1px dashed var(--line-strong);border-radius:5px;background:color-mix(in srgb,var(--surface) 88%,transparent);text-align:center;pointer-events:none}.map-empty b{font-size:10px}.map-empty span{color:var(--muted);font-size:8px}.toast{position:absolute;z-index:50;left:50%;bottom:16px;transform:translateX(-50%);max-width:80%;padding:9px 13px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);box-shadow:0 10px 35px var(--shadow);font-size:9px}.toast.bad{border-color:var(--red);color:var(--red)}.loading{position:absolute;z-index:70;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:color-mix(in srgb,var(--map) 96%,transparent)}.loading span{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.loading small{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}
.operation-panel{display:grid;grid-template-rows:auto auto minmax(96px,1fr) auto auto auto;align-content:start;overflow-x:hidden;overflow-y:auto;border-left:1px solid var(--line)}.operation-summary{padding:11px 13px;border-bottom:1px solid var(--line)}.summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.summary-heading small{color:var(--muted);font-size:7px;font-weight:900}.summary-heading h2{margin-top:2px;font-size:17px}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:7px;font-weight:900;white-space:nowrap}.status-pill[data-status="PLANNED"],.status-pill[data-status="ACTIVE"]{color:var(--green);border-color:var(--green)}.status-pill[data-status="DISPATCHED"]{color:var(--blue);border-color:var(--blue)}.status-pill[data-status="CANCELLED"],.status-pill[data-status="PROBLEM"]{color:var(--red);border-color:var(--red)}.operation-controls-button{width:100%;margin-top:8px}.operation-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.operation-metrics div{padding:8px 4px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);text-align:center}.operation-metrics b{display:block;color:var(--green);font:700 18px ui-monospace,Consolas,monospace}.operation-metrics div:nth-child(2) b{color:var(--blue)}.operation-metrics div:nth-child(3) b{color:var(--orange)}.operation-metrics .danger b{color:var(--red)}.operation-metrics small{color:var(--muted);font-size:6px;font-weight:900;text-transform:uppercase}.operation-status-legacy{margin-top:8px}
.operation-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.operation-tabs button{height:36px;border:0;border-right:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:8px;font-weight:900}.operation-tabs button.on{color:var(--text);background:var(--surface-2);box-shadow:inset 0 -2px var(--gold)}.operation-tab-view{min-height:0;overflow:auto;padding:8px 11px}.roster-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.participant-roster{display:grid;gap:6px}.participant-group{border:1px solid var(--line);border-radius:5px;background:var(--surface-2);overflow:hidden}.participant-group>header{display:flex;justify-content:space-between;padding:7px 9px;border-bottom:1px solid var(--line);font-size:8px;font-weight:900}.participant-group>header b{color:var(--muted)}.participant-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:37px;padding:5px 9px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.participant-row:last-child{border-bottom:0}.participant-row:hover,.participant-row.selected{background:var(--surface-3)}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px color-mix(in srgb,var(--blue) 60%,transparent)}.participant-row[data-status="READY"] .status-dot{background:var(--green)}.participant-row[data-status="PROBLEM"] .status-dot{background:var(--red)}.participant-row[data-status="LAUNCHED"] .status-dot{background:var(--blue)}.participant-name b{display:block;font-size:9px}.participant-name small{display:block;margin-top:2px;color:var(--muted);font-size:7px}.participant-status{text-align:right}.participant-status b{display:block;color:var(--blue);font-size:7px}.participant-status small{color:var(--muted);font-size:7px}.participant-row[data-status="READY"] .participant-status b{color:var(--green)}.participant-row[data-status="PROBLEM"] .participant-status b{color:var(--red)}.participant-row.problem{border-left:2px solid var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface-2))}.problem-note{grid-column:2/-1;color:var(--red);font-size:7px}
.route-checklist{display:grid;gap:5px}.route-check{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2)}.route-check input{accent-color:var(--gold)}.route-check b{font-size:9px}.route-check small{display:block;color:var(--muted);font-size:7px}.leader-alert{display:flex;align-items:center;justify-content:space-between;margin:7px 11px;padding:9px;border:1px solid var(--red);border-radius:5px;background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red)}.leader-alert b,.leader-alert span{display:block;font-size:8px}.leader-alert span{margin-top:2px}.leader-alert button{height:29px;border:1px solid var(--red);border-radius:4px;background:transparent;color:var(--red);font-size:7px;font-weight:900}.right-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 11px 10px}.selected-panel,.live-intelligence,.help{padding:10px 12px;border-top:1px solid var(--line)}.selected-panel h3,.live-intelligence h3,.help h3{display:flex;justify-content:space-between;margin:0 0 8px;font-size:8px}.selected-panel{max-height:245px;overflow:auto}.live-intelligence,.help{display:none}
#selectedContent .title{font-size:13px;font-weight:900}#selectedContent .owner{margin-top:2px;color:var(--muted);font-size:8px}#selectedContent code{display:inline-block;margin-top:6px;padding:3px 5px;border-radius:3px;background:var(--surface-3);color:var(--gold)}#selectedContent .meta{display:grid;gap:3px;margin-top:7px;color:var(--muted);font-size:8px}.actions{display:grid;gap:5px;margin-top:9px}.actions button{min-height:30px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);text-align:left;font-size:8px;font-weight:800}.actions .blue{color:var(--blue);border-color:var(--blue)}.actions .green{color:var(--green);border-color:var(--green)}.actions .red{color:var(--red);border-color:var(--red)}.actions .orange{color:var(--orange);border-color:var(--orange)}
.revision-composer{border-top:1px solid var(--gold-soft);background:var(--surface);padding:8px 13px 9px}.revision-title{display:flex;align-items:center;gap:14px;margin-bottom:7px}.revision-title b{font-size:8px;letter-spacing:.08em}.revision-title span{color:var(--green);font-size:7px}.revision-grid{display:grid;grid-template-columns:340px 390px minmax(250px,1fr) 300px;gap:9px}.revision-grid>div{min-width:0}.revision-grid small{display:block;margin-bottom:5px;color:var(--muted);font-size:7px;font-weight:900}.scope-buttons,.action-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.scope-buttons button,.action-buttons button{min-height:46px;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:900}.scope-buttons button.on,.action-buttons button.on{border-color:var(--gold);color:var(--text);background:color-mix(in srgb,var(--gold) 10%,var(--surface-2))}.scope-buttons strong{display:block;margin-top:4px;color:var(--muted);font-size:7px;font-weight:500}.action-buttons{grid-template-columns:repeat(4,1fr)}.revision-editor{display:flex;align-items:flex-end;gap:6px;padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2)}.revision-editor>label,.revision-editor div label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.revision-editor input,.revision-editor select{width:100%;height:30px;padding:0 7px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.revision-target-fields,.revision-time-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:5px;width:100%}.revision-time-fields{grid-template-columns:1fr 1fr 1fr}.revision-summary{display:grid;grid-template-columns:1fr 1fr;gap:5px;border-left:1px solid var(--line);padding-left:10px}.revision-summary>small,.revision-summary ul{grid-column:1/-1}.revision-summary ul{display:grid;gap:3px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:7px}.revision-summary li:before{content:"✓";margin-right:6px;color:var(--green)}.revision-summary button{width:100%;min-height:35px}.revision-impact{margin-top:7px;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);font-size:8px}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.impact-grid div{padding:6px;border-left:2px solid var(--blue)}.impact-grid b,.impact-grid small{display:block}.impact-grid small{color:var(--muted)}
.workbench-footer{display:flex;border-top:1px solid var(--line);background:var(--surface)}.workbench-footer button{min-width:180px;padding:0 24px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.04em}.workbench-footer button.on{color:var(--gold);background:var(--surface-2);box-shadow:inset 0 2px var(--gold)}.workbench-footer span{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-left:4px;border-radius:50%;background:var(--red);color:white;font-size:7px}
.operation-controls-drawer{position:fixed;z-index:150;top:0;right:0;bottom:0;width:min(390px,100vw);overflow:auto;border-left:1px solid var(--line-strong);background:var(--surface);box-shadow:-24px 0 70px var(--shadow);transform:translateX(102%);transition:transform .18s ease}.operation-controls-drawer.open{transform:none}.drawer-head{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.drawer-head small{color:var(--gold);font-size:7px;font-weight:900}.drawer-head h2{margin:2px 0 0}.drawer-head button{height:30px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);font-size:8px;font-weight:900}#offPlanner>section{padding:12px 14px;border-bottom:1px solid var(--line)}#offPlanner h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 9px;font-size:9px}
.tool,.primary,footer button,.pick button{border:1px solid var(--line);border-radius:4px;background:var(--surface-2);color:var(--text);font-weight:800}.tool{min-height:32px;padding:0 10px;font-size:8px}.primary{min-height:34px;padding:7px 10px;border-color:var(--gold);background:var(--gold);color:#12100a;font-size:8px;font-weight:900}.pick{position:relative;padding:8px 36px 8px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2)}.pick.src{border-left:3px solid var(--blue)}.pick.tgt{border-left:3px solid var(--red)}.pick small{display:block;color:var(--muted);font-size:7px}.pick b{display:block;margin:3px 0;font-size:10px}.pick code{color:var(--gold);font-size:9px}.pick button{position:absolute;right:6px;top:50%;width:25px;height:25px;transform:translateY(-50%)}.arrow{text-align:center;height:17px;color:var(--muted)}.focused-plan-panel .primary{width:100%;margin-top:7px}.focused-plan-panel p{padding:7px;border:1px dashed var(--line);border-radius:4px;color:var(--muted);font-size:8px}.list{max-height:220px;overflow:auto}.muted{color:var(--muted);font-size:8px}.planrow{padding:7px 2px;border-bottom:1px solid var(--line)}.planrow small{display:block;margin-top:3px;color:var(--muted)}.planrow button{float:right;border:0;background:transparent;color:var(--red)}
.field-label{display:grid;gap:4px;color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.field-label select,.compact-form input,.compact-form select{width:100%;min-height:33px;padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2)}.button-row,.view-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.land-only{display:grid;gap:2px;margin-bottom:8px;padding:8px;border:1px solid var(--orange);border-left:3px solid var(--orange);border-radius:5px;background:color-mix(in srgb,var(--orange) 10%,var(--surface));color:var(--orange)}.land-only b,.land-only span{font-size:8px}.off-hint{margin:0 0 7px;color:var(--muted);font-size:8px}.selection-list{display:grid;gap:5px;max-height:190px;overflow:auto}.selection-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 7px;padding:8px 29px 8px 9px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:5px;background:var(--surface-2)}.selection-card.target{border-left-color:var(--red)}.selection-card small{grid-column:1/-1;color:var(--muted);font-size:7px}.selection-card select{grid-column:1/-1;height:29px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.selection-card button{position:absolute;right:4px;top:4px;border:0;background:transparent;color:var(--red)}.text-button{margin-top:6px;border:0;background:transparent;color:var(--muted);font-size:7px;font-weight:900}.unit-fieldset{margin:8px 0;padding:8px;border:1px solid var(--line);border-radius:5px}.unit-fieldset legend{color:var(--muted);font-size:7px}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.unit-choice{display:flex;align-items:center;gap:5px;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);font-size:8px}.unit-choice input[type=number]{width:46px}.wave-builder{display:grid;gap:6px}.wave-row{position:relative;display:grid;grid-template-columns:24px 1fr;gap:6px;padding:7px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2)}.wave-fields{display:grid;grid-template-columns:1fr 82px;gap:5px}.wave-fields input,.wave-fields select{min-width:0;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.wave-fields input[type=datetime-local]{grid-column:1/-1}.wave-row>button{position:absolute;right:3px;top:2px;border:0;background:transparent;color:var(--red)}.off-preview{max-height:190px;overflow:auto;padding:8px;border:1px dashed var(--line-strong);border-radius:5px}.preview-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.preview-route{padding:6px 2px;border-top:1px solid var(--line)}
.stats,.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.stats div,.status-grid div{padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2)}.stats b,.status-grid b{display:block}.stats small,.status-grid small{color:var(--muted);font-size:7px}.next-launch{margin-top:5px;padding:6px;border:1px dashed var(--line);border-radius:4px}
dialog{width:min(520px,calc(100vw - 20px));padding:0;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px var(--shadow)}dialog::backdrop{background:#02070bdd}dialog form{padding:14px}.modalHead{display:flex;justify-content:space-between;padding-bottom:9px;margin-bottom:11px;border-bottom:1px solid var(--line)}.modalHead small{color:var(--gold);font-size:7px}.modalHead h2{margin:2px 0 0}.modalHead button{border:0;background:transparent;color:var(--muted);font-size:20px}.form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form label{display:grid;gap:4px;color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.form .wide{grid-column:1/-1}.form input,.form select,.form textarea{width:100%;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);text-transform:none}.route{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;padding:8px;margin-bottom:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2)}.route span:last-child{text-align:right}.presets,.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.presets button{padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2)}.metrics{margin-top:9px}.metrics div{padding:7px;border:1px solid var(--line);border-radius:4px}.metrics small,.metrics b{display:block}.wide-dialog{width:min(1180px,calc(100vw - 24px));height:min(780px,calc(100dvh - 24px));max-width:none;max-height:none}.dialog-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;padding:14px}.view-tabs{display:flex;gap:5px;margin-bottom:8px}.view-tabs button{padding:7px 11px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2)}.view-tabs button.on{color:var(--gold);border-color:var(--gold)}.off-view-body{min-height:0;overflow:auto}.planning-groups{display:grid;gap:10px}.planning-group{overflow:hidden;border:1px solid var(--line);border-radius:5px}.planning-group>header{padding:8px;background:var(--surface-2)}.route-table{width:100%;border-collapse:collapse;font-size:8px}.route-table th,.route-table td{padding:7px;border-top:1px solid var(--line);text-align:left}.route-table th{color:var(--muted);font-size:7px}.route-table .route-sub{display:block;color:var(--muted)}.route-status{display:inline-block;padding:3px 5px;border:1px solid var(--line);border-radius:999px}.route-status.ready{color:var(--green)}.route-status.problem{color:var(--red)}.route-status.launched{color:var(--blue)}.timeline{display:grid;gap:6px}.timeline-item{display:grid;grid-template-columns:140px 1fr auto;gap:8px;padding:8px;border:1px solid var(--line);border-radius:4px}.timeline-time small,.timeline-route small{display:block;color:var(--muted)}footer{display:flex;justify-content:flex-end;gap:7px;margin-top:11px}footer button{padding:7px 11px}
.replacement-fields{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%}
.revision-time-fields{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.revision-unit-fieldset{grid-column:1/-1;margin:0;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.revision-unit-fieldset>summary{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:5px 8px;cursor:pointer;list-style:none;color:var(--muted);font-size:7px;font-weight:900}.revision-unit-fieldset>summary::-webkit-details-marker{display:none}.revision-unit-fieldset>summary:before{content:"›";margin-right:6px;color:var(--gold);font-size:13px}.revision-unit-fieldset[open]>summary:before{transform:rotate(90deg)}.revision-unit-fieldset>summary span{flex:1}.revision-unit-fieldset>summary b{color:var(--blue);font-size:7px}.revision-unit-fieldset>small{display:block;margin:0;padding:0 8px 5px;color:var(--muted);font-size:7px}.revision-unit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:126px;overflow-y:auto;overflow-x:hidden;padding:0 6px 6px}.revision-unit-choice{display:grid;grid-template-columns:auto minmax(0,1fr) 54px;align-items:center;gap:4px;min-width:0;padding:4px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2)}.revision-unit-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.revision-unit-choice input[type=number]{min-width:0;height:25px}.revision-wave-editor{display:grid;width:100%;max-height:150px;overflow:auto}.revision-wave-editor>small{margin-bottom:4px}.revision-wave-row{display:grid;grid-template-columns:32px minmax(100px,1fr) 78px minmax(150px,1fr);gap:4px;align-items:center;padding:4px;border-bottom:1px solid var(--line)}.revision-wave-row input,.revision-wave-row select{height:28px}.revision-wave-row code{color:var(--gold);font-size:8px}
@media(min-width:981px){body.people-collapsed .workbench-main{grid-template-columns:0 minmax(420px,1fr) var(--right-width)}body.people-collapsed .people-panel{visibility:hidden}}
@media(max-width:1250px){:root{--panel-width:300px;--right-width:360px}.command-header{grid-template-columns:230px 1fr auto}.workspace-nav button{min-width:118px;padding:0 12px}.header-status>span{display:none}.revision-grid{grid-template-columns:300px 320px 1fr 260px}.selected-panel{display:none}.map-layer-controls label{display:none}}
@media(max-width:980px){.app{grid-template-rows:50px minmax(0,1fr) auto 46px}.command-header{grid-template-columns:auto 1fr}.workspace-nav{justify-self:end;margin-right:8px}.workspace-nav button{min-width:105px;padding:0 8px;font-size:8px}.header-status{display:none}.workbench-main{position:relative;grid-template-columns:1fr;overflow-x:clip}.people-panel,.operation-panel{position:absolute;z-index:40;top:0;bottom:0;width:min(360px,92vw);box-shadow:0 15px 50px var(--shadow);transition:transform .18s ease}.people-panel{left:0;transform:translateX(-101%)}.operation-panel{right:0;transform:translateX(101%)}body.people-open .people-panel,body.operation-open .operation-panel{transform:none}.mobile-panel-button,.mobile-close{display:inline-flex;align-items:center;justify-content:center}.map-column{grid-column:1;grid-template-rows:50px minmax(0,1fr)}.map-toolbar{gap:8px}.view-switcher button,.mobile-theme-switcher button{min-height:44px}.mobile-theme-switcher{display:flex;flex:0 0 auto}.map-frame{width:min(calc(100% - 50px),calc(100dvh - 330px))}.revision-grid{grid-template-columns:1fr 1fr}.revision-editor,.revision-summary{min-height:76px}.workbench-footer button{min-width:0;flex:1;padding:0 8px}.focused-plan-panel{left:0;top:50px}.command-header .brand{padding-left:8px}}
@media(max-width:650px){html,body{font-size:13px}.command-header{grid-template-columns:1fr}.brand{display:none}.workspace-nav{justify-self:stretch;margin:0 5px}.workspace-nav button{flex:1;min-width:0;padding:0 4px;font-size:7px}.map-column{grid-template-rows:94px minmax(0,1fr)}.map-toolbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:46px 46px;gap:0 6px;padding:0 7px}.view-switcher{grid-column:1/-1;width:100%}.view-switcher button{flex:1;min-width:0;height:44px;padding:0 4px}.mobile-theme-switcher{grid-column:1;grid-row:2;justify-self:start}.mobile-theme-switcher button{min-width:44px;padding:0 5px}.map-layer-controls{grid-column:2;grid-row:2;gap:4px}.map-frame{width:calc(100% - 28px);min-width:240px}.map-legend{display:none}.compass.west,.compass.east{display:none}.revision-composer{max-height:48vh;overflow:auto;padding:8px}.revision-grid{grid-template-columns:1fr}.scope-buttons button,.action-buttons button,.tool,.primary,.zoom button,.theme-switcher button{min-height:44px}.revision-editor{align-items:stretch}.revision-summary{border-left:0;padding-left:0}.workbench-footer button{font-size:7px;padding:0 4px}.workbench-footer button:nth-child(3) span{display:none}.form{grid-template-columns:1fr}.form .wide{grid-column:auto}.unit-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.operation-controls-drawer{width:100vw}}
@media(max-width:1250px){.workspace-nav a{min-width:118px;padding:0 12px}}@media(max-width:980px){.workspace-nav a{min-width:105px;padding:0 8px;font-size:8px}}@media(max-width:650px){.workspace-nav a{flex:1;min-width:0;padding:0 4px;font-size:7px}}
.operation-status-legacy{display:none!important}
.theme-switcher button,.icon-button,.roster-search>button,.filter-row label,.roster-controls label,.summary-heading small,.status-pill,.operation-metrics small,.participant-group>header,.leader-alert button,.revision-grid small,.revision-editor>label,.revision-editor div label,.field-label,.form label,.modalHead small{font-size:8px}
.source-tabs button,.map-layer-controls,.view-switcher button,.hud code,.map-legend,.compass,.participant-name small,.participant-status b,.participant-status small,.problem-note,.route-check small,.leader-alert b,.leader-alert span,.selected-panel h3,.revision-title b,.revision-title span,.revision-summary ul,.revision-impact,.scope-buttons button,.action-buttons button,.tool,.primary,.workbench-footer button{font-size:9px}
.participant-name b,.player-card summary b{font-size:10px}.participant-row{line-height:1.25}.problem-note,.leader-alert span,.revision-summary ul{line-height:1.35}
.map-legend .marker-legend{display:block;margin-top:2px;padding-top:5px;border-top:1px solid var(--line);max-width:150px;line-height:1.35}
.revision-grid{grid-template-columns:340px 390px minmax(250px,1fr) 340px}.action-buttons button,#revisionApplyBtn{white-space:nowrap;font-size:8px}.revision-impact{max-height:116px;overflow:auto}.impact-grid div{padding:4px 6px}.impact-routes{display:grid;gap:5px;margin-top:5px}.impact-route{border:1px solid var(--line);border-radius:4px;overflow:hidden}.impact-route>header{display:flex;justify-content:space-between;padding:3px 6px;background:var(--surface);color:var(--muted);font-size:8px}.impact-compare section{display:grid;grid-template-columns:48px 100px minmax(110px,.8fr) minmax(130px,1fr) minmax(250px,1.4fr) auto;gap:6px;align-items:center;padding:3px 6px;border-top:1px solid var(--line);font-size:8px;line-height:1.25}.impact-compare section small{margin:0;color:var(--blue)}.impact-compare section b,.impact-compare section span,.impact-compare section time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.impact-compare section time{color:var(--muted);font-style:normal}.impact-compare section em{color:var(--gold);font-style:normal;white-space:nowrap}.impact-locked,.impact-more{margin:4px 0 0;color:var(--muted);font-size:8px}.impact-incomplete{display:grid;gap:4px;padding:7px;border:1px solid var(--red);color:var(--red)}
@media(max-width:1380px){.revision-grid{grid-template-columns:300px 320px minmax(220px,1fr) 280px}.action-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.action-buttons button{min-width:0;white-space:normal;line-height:1.15}.impact-compare section{grid-template-columns:44px 90px minmax(100px,.8fr) minmax(115px,1fr) minmax(190px,1.3fr) auto}}
@media(max-width:980px){.revision-grid{grid-template-columns:1fr 1fr}.impact-compare section{grid-template-columns:44px 90px 1fr}.impact-compare section time,.impact-compare section em{grid-column:2/-1}}
@media(max-width:650px){.revision-grid{grid-template-columns:1fr}.impact-compare section{grid-template-columns:44px 1fr}.impact-compare section span,.impact-compare section time,.impact-compare section em{grid-column:2}}
.action-buttons button,.workbench-footer button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.action-buttons .ti,.workbench-footer .ti{flex:0 0 auto;font-size:15px}.workbench-footer button{letter-spacing:.04em}
@media(max-width:650px){.action-buttons button,.workbench-footer button{gap:4px}.action-buttons .ti,.workbench-footer .ti{font-size:14px}}
@media(max-width:650px){.action-buttons button{min-width:0;padding:4px 2px;white-space:normal;font-size:7px;line-height:1.15}.player-card summary,.village-choice{min-height:44px}.player-card summary input[type=checkbox],.village-choice input[type=checkbox],#bulkSelectVillages{width:24px;height:24px}.icon-button,.mobile-close{min-height:44px}}
.map-node-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin:12px 0 6px;padding-top:9px;border-top:1px solid var(--line)}.map-node-heading b{font-size:8px;letter-spacing:.06em}.map-node-heading span{color:var(--muted);font-size:7px;text-align:right}.map-node-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:6px}.operation-node-row{grid-template-columns:auto minmax(0,1fr) auto auto}.operation-node-row .node-kind{width:9px;height:9px;border-radius:50%;background:var(--blue)}.operation-node-row.target .node-kind{border-radius:1px;background:var(--red);transform:rotate(45deg)}.operation-node-row button{min-height:29px;padding:4px 7px;border:1px solid var(--red);border-radius:4px;background:transparent;color:var(--red);font-size:7px;font-weight:900}.operation-node-row button:disabled{opacity:.45}.off-node-delete{font-weight:900}@media(max-width:650px){.map-node-heading{align-items:flex-start;flex-direction:column}.map-node-heading span{text-align:left}.map-node-actions{grid-template-columns:1fr}.operation-node-row{grid-template-columns:auto minmax(0,1fr) auto}.operation-node-row code{grid-column:2}.operation-node-row button{grid-column:3;grid-row:1/3;min-height:44px}}
.player-import-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--orange) 5%,var(--surface-2))}.player-import-actions span{color:var(--muted);font-size:7px;line-height:1.3}.player-import-actions button,.import-player .remove-import{min-height:30px;padding:5px 8px;border:1px solid var(--red);border-radius:4px;background:transparent;color:var(--red);font-size:7px;font-weight:900;white-space:nowrap}@media(max-width:650px){.player-import-actions{align-items:stretch;flex-direction:column}.player-import-actions button,.import-player .remove-import{min-height:44px}}
.operation-route-row{grid-template-columns:minmax(0,1fr) auto auto}.route-select{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0}.operation-route-row>button{min-height:29px;padding:4px 7px;border:1px solid var(--red);border-radius:4px;background:transparent;color:var(--red);font-size:7px;font-weight:900;white-space:nowrap}@media(max-width:650px){.operation-route-row{grid-template-columns:minmax(0,1fr) auto}.operation-route-row>code{grid-column:2}.operation-route-row>button{grid-column:1/-1;min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* V5.5.2 five-minute planner: explicit selection steps and a larger map. */
.quick-planner-rail{padding:9px 10px 7px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.quick-step-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quick-step-tabs button{display:grid;grid-template-columns:25px 1fr;grid-template-rows:1fr 1fr;align-items:center;min-height:50px;padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted);text-align:left}.quick-step-tabs button>b{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface-3);color:var(--muted);font-size:11px}.quick-step-tabs button>span{font-size:9px;font-weight:900}.quick-step-tabs button>small{font-size:7px}.quick-step-tabs button.on{border-color:var(--gold);color:var(--text);box-shadow:inset 0 -2px var(--gold)}.quick-step-tabs button.on>b{background:var(--gold);color:#111}.quick-planner-rail>p{margin:7px 2px 0;color:var(--muted);font-size:8px;line-height:1.4}
.quick-target-panel{min-height:0;overflow:auto;padding:11px;background:var(--surface)}.target-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.target-panel-heading small{color:var(--red);font-size:7px;font-weight:900}.target-panel-heading h3{margin:2px 0 0;font-size:13px}.target-panel-heading>b{padding:5px 7px;border:1px solid var(--line);border-radius:4px;color:var(--gold);font-size:8px}.quick-target-panel>p{margin:8px 0;color:var(--muted);font-size:8px;line-height:1.45}.quick-target-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.quick-target-search input{min-width:0;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);color:var(--text)}.quick-target-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.quick-target-actions button{display:flex;align-items:center;justify-content:center;gap:5px}.quick-target-results{display:grid;gap:5px;max-height:38vh;overflow:auto;margin-top:9px}.quick-target-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 7px;align-items:center;width:100%;min-height:48px;padding:7px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);color:var(--text);text-align:left}.quick-target-result:hover:not(:disabled){border-color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--surface-2))}.quick-target-result b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.quick-target-result small{grid-column:1;color:var(--muted);font-size:7px}.quick-target-result code{grid-column:2;grid-row:1/3;color:var(--red);font-size:8px}.quick-target-result:disabled{opacity:.55}.quick-target-result:disabled code{color:var(--green)}.quick-selected-targets{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.quick-selected-targets>div:first-child{display:flex;align-items:center;justify-content:space-between}.quick-selected-targets b{font-size:8px}.quick-selected-targets .text-button{width:auto}.quick-target-chip{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;margin-top:5px;padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2)}.quick-target-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-target-chip code{color:var(--red)}.quick-target-chip button{border:0;background:transparent;color:var(--red);font-size:16px}.quick-target-panel>#quickReviewRoutes{width:100%;margin-top:10px}.shortcut-hint{display:block;margin-top:8px;color:var(--muted);font-size:7px;line-height:1.45}.dialog-note{margin:0 14px 9px;color:var(--muted);font-size:8px;line-height:1.4}
.people-panel>.map-route-builder{position:static;z-index:auto;display:block;width:auto;margin:0;padding:9px 10px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface-2);box-shadow:none;transform:none}.people-panel>.map-route-builder.hide{display:none}.people-panel>.map-route-builder .map-builder-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:7px}.people-panel>.map-route-builder .map-builder-types button{min-width:0;padding:0 3px;white-space:normal}.people-panel>.map-route-builder>p{margin:7px 2px 0;color:var(--muted);font-size:8px;line-height:1.4}.quick-planner-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.quick-planner-actions button{min-height:32px}.quick-target-panel>#mapBuilderReview{width:100%;margin-top:10px}
body.quick-target-mode .people-panel>.roster-search,body.quick-target-mode .people-panel>.filter-row,body.quick-target-mode .people-panel>.source-tabs,body.quick-target-mode .people-panel>.bulk-row,body.quick-target-mode .people-panel>#playerRoster,body.quick-target-mode .people-panel>#worldImportPanel,body.quick-target-mode .people-panel>.people-actions{display:none!important}body.quick-target-mode #quickTargetPanel{display:block!important}
.quick-new-operation{width:100%;min-height:40px;margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:6px}.map-frame{width:min(calc(100% - 48px),calc(100cqh - 48px));min-width:320px}.map-route-builder{grid-template-columns:auto auto auto minmax(145px,1fr) auto auto auto;width:min(1120px,calc(100% - 54px))}.map-route-builder>button.on{border-color:var(--gold);box-shadow:inset 0 -2px var(--gold);color:var(--text)}.map-route-builder #mapAddTargets.on{border-color:var(--red);box-shadow:inset 0 -2px var(--red)}body.map-pick-hammers .map canvas{cursor:crosshair}body.map-pick-targets .map canvas{cursor:cell}
body.map-expanded .workbench-main{grid-template-columns:0 minmax(420px,1fr) 0}body.map-expanded .people-panel,body.map-expanded .operation-panel{visibility:hidden}body.map-expanded .map-frame{width:min(calc(100% - 70px),calc(100cqh - 42px))}

@media(max-width:980px){.map-frame{width:min(calc(100% - 36px),calc(100cqh - 36px));min-width:260px}.map-route-builder{grid-template-columns:auto auto minmax(0,1fr) auto auto auto;width:calc(100% - 24px)}.map-builder-types{grid-column:1/-1}.quick-target-results{max-height:none}body.map-expanded .people-panel,body.map-expanded .operation-panel{visibility:visible}}
@media(max-width:650px){.map-frame{width:min(calc(100% - 18px),calc(100cqh - 18px));min-width:230px}.map-route-builder{grid-template-columns:1fr 1fr auto;max-height:210px}.map-route-builder #mapAddHammers,.map-route-builder #mapAddTargets{grid-column:auto}.map-route-builder #mapBuilderReview{grid-column:1/-1}.quick-target-result{min-height:52px}.quick-target-actions button,.quick-target-search button,.quick-target-panel>#quickReviewRoutes{min-height:44px}}

/* V5.5.2 route builder and World Data controls. */
.world-data-tools{margin-bottom:8px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface-2);overflow:hidden}.world-data-tools summary{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:7px 9px;cursor:pointer;list-style:none;color:var(--blue);font-size:8px;font-weight:900}.world-data-tools summary::-webkit-details-marker{display:none}.world-data-tools summary b{color:var(--muted);font-size:7px}.world-data-tools>p,.world-data-tools>small,.world-data-host,.world-data-paste,.world-data-actions,.world-data-manual,.world-data-tools>.full{margin-left:9px;margin-right:9px}.world-data-tools>small{display:block;margin-top:7px;margin-bottom:9px;color:var(--muted);font-size:7px;line-height:1.45}.world-data-host{display:grid;gap:4px;margin-top:7px;margin-bottom:7px;color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.world-data-host input{width:100%;min-height:36px;padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text);font:inherit;text-transform:none}.world-data-host small{font-size:7px;font-weight:600;line-height:1.4;text-transform:none}.world-data-actions,.world-data-manual{display:grid;grid-template-columns:1fr 1fr;gap:5px}.world-data-manual{margin-top:5px}.world-data-manual button{min-height:38px;white-space:normal}.world-data-paste{display:grid;gap:4px;margin-top:7px;color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.world-data-paste textarea{width:100%;max-height:105px;resize:vertical;padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.world-data-tools>.full{width:calc(100% - 18px);margin-top:5px}
.legend-real{background:var(--red)}.legend-fake{background:var(--blue)}.legend-chief{background:#e6c229}.legend-cleaner{background:var(--orange)}.legend-scout{background:var(--purple)}
.map-route-builder{position:absolute;z-index:24;top:10px;left:50%;display:grid;grid-template-columns:auto auto minmax(140px,1fr) auto auto auto;align-items:center;gap:6px;width:min(960px,calc(100% - 90px));padding:6px;border:1px solid var(--line-strong);border-radius:6px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 10px 28px var(--shadow);transform:translateX(-50%)}.map-route-builder>button{min-height:32px}.map-route-builder>span{min-width:0;color:var(--muted);font-size:8px;line-height:1.25}.map-builder-types{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.map-builder-types button{min-height:30px;padding:0 7px;border:0;border-right:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:7px;font-weight:900}.map-builder-types button:last-child{border-right:0}.map-builder-types button.on{box-shadow:inset 0 -3px currentColor;background:var(--surface-3)}.map-builder-types .real{color:var(--red)}.map-builder-types .fake{color:var(--blue)}.map-builder-types .chief{color:#e6c229}.map-builder-types .cleaner{color:var(--orange)}.map-builder-types .scout{color:var(--purple)}body.map-builder-active .map canvas{cursor:crosshair}
.actions .off-route-open{color:var(--gold);border-color:var(--gold)}
.off-preset-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}.off-preset-tabs button{min-height:31px;padding:5px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);color:var(--muted);font-size:7px;font-weight:900}.off-preset-tabs button.on{border-color:var(--gold);color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--surface-2))}.wave-presets{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 7px}
@media(max-width:980px){.map-route-builder{top:7px;width:calc(100% - 28px);grid-template-columns:auto minmax(0,1fr) auto auto auto}.map-builder-types{grid-column:1/-1;grid-row:2}.map-builder-types button{flex:1}.map-route-builder>span{grid-column:2}}
@media(max-width:650px){.map-route-builder{top:5px;grid-template-columns:1fr auto auto;gap:4px}.map-route-builder>button{min-height:44px}.map-route-builder #mapAddHammers{grid-column:1}.map-route-builder>span{grid-column:1/-1;grid-row:3}.map-builder-types{grid-column:1/-1;grid-row:2;overflow:auto}.map-builder-types button{min-width:66px;min-height:44px}.map-route-builder #mapBuilderReview{grid-column:1/-1;grid-row:4}.map-route-builder #mapBuilderNewSet,.map-route-builder #mapBuilderCancel{min-width:44px;padding:0 7px}.off-preset-tabs button{min-height:44px}.wave-presets{grid-template-columns:1fr 1fr}}

/* Keep five-minute planner overrides last so older responsive rules cannot shrink it. */
.map-frame{width:min(calc(100% - 48px),calc(100cqh - 48px));min-width:320px}.map-route-builder{grid-template-columns:auto auto auto minmax(145px,1fr) auto auto auto;width:min(1120px,calc(100% - 54px))}.map-route-builder>button.on{border-color:var(--gold);box-shadow:inset 0 -2px var(--gold);color:var(--text)}.map-route-builder #mapAddTargets.on{border-color:var(--red);box-shadow:inset 0 -2px var(--red)}
@media(max-width:980px){.map-frame{width:min(calc(100% - 36px),calc(100cqh - 36px));min-width:260px}.map-route-builder{top:7px;width:calc(100% - 24px);grid-template-columns:auto auto minmax(0,1fr) auto auto auto}.map-builder-types{grid-column:1/-1;grid-row:2}.map-route-builder>span{grid-column:3}}
@media(max-width:650px){.map-frame{width:min(calc(100% - 18px),calc(100cqh - 18px));min-width:230px}.people-panel>.map-route-builder{display:block;max-height:none}.people-panel>.map-route-builder.hide{display:none}.people-panel>.map-route-builder .map-builder-types{grid-template-columns:repeat(3,minmax(0,1fr))}.people-panel>.map-route-builder .map-builder-types button{min-height:44px}.quick-planner-actions button{min-height:44px}}
.world-member-link{display:grid;gap:6px;padding:10px;border:1px solid var(--line);background:var(--panel-2)}.world-member-link label{display:grid;gap:6px}.world-member-link select{width:100%}.world-member-link small{color:var(--muted)}.import-player-actions{display:flex;gap:8px;flex-wrap:wrap}

/* V5.5.9 planning controls, hammer defaults, quick access and member checks. */
.hammer-source-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.hammer-source-tabs button{min-width:0;padding-inline:4px;font-size:7px}.hammer-bulk-editor{display:grid;gap:7px;margin-bottom:8px;padding:8px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface-2)}.hammer-bulk-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.hammer-bulk-head label{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:900}.hammer-bulk-fields{display:grid;grid-template-columns:1fr 1fr;gap:5px}.hammer-bulk-fields label{display:grid;gap:3px;color:var(--muted);font-size:7px;font-weight:900}.hammer-bulk-editor>small{color:var(--muted);font-size:7px;line-height:1.35}.hammer-choice{grid-template-columns:auto minmax(0,1fr) auto}.hammer-choice>input{width:18px;height:18px}.hammer-focus{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border:0;background:transparent;color:inherit;text-align:left}.hammer-focus span{min-width:0}.hammer-focus b,.hammer-focus small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hammer-star{width:32px;min-height:32px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--muted);font-size:18px}.hammer-star.on{border-color:var(--gold);color:var(--gold)}
.village-choice{grid-template-columns:auto 58px minmax(0,1fr) auto auto}.village-star{display:grid;place-items:center;width:30px;min-height:30px;padding:0;border:0;background:transparent;color:var(--muted);font-size:17px}.village-star.on{color:var(--gold)}
.planning-editor{position:sticky;z-index:4;top:0;display:grid;grid-template-columns:auto minmax(480px,1fr) auto;gap:8px;align-items:end;margin-bottom:10px;padding:10px;border:1px solid var(--gold);border-radius:5px;background:var(--surface)}.planning-selection{display:grid;gap:5px}.planning-selection label{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:900}.planning-fields{display:grid;grid-template-columns:1.5fr repeat(4,minmax(100px,1fr));gap:5px}.planning-fields label{display:grid;gap:3px;color:var(--muted);font-size:7px;font-weight:900}.planning-fields input,.planning-fields select{min-width:0}.planning-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.planning-actions button{min-height:39px;white-space:nowrap}.planning-editor>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:8px}.route-table tr.selected{background:color-mix(in srgb,var(--gold) 8%,transparent)}.route-table td:first-child,.route-table th:first-child{width:48px;text-align:center}.route-table td:first-child input{width:18px;height:18px}
.connection-test{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:12px}.connection-test>header{grid-column:1/-1;display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.connection-test h3{margin:0 0 4px}.connection-test p{margin:0;color:var(--muted);font-size:9px}.connection-picker,.connection-results{padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2)}.connection-picker-head,.connection-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.connection-picker-head label{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:900}.connection-members,.connection-recipient-list{display:grid;gap:4px;max-height:48vh;overflow:auto}.connection-members label,.connection-recipient-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;min-height:38px;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.connection-members input{width:18px;height:18px}.connection-members code{color:var(--muted);font-size:7px}.connection-picker>.primary{width:100%;margin-top:8px}.connection-recipient-list i{width:9px;height:9px;border-radius:50%;background:var(--muted)}.connection-recipient-list [data-status="ACKNOWLEDGED"] i{background:var(--green)}.connection-recipient-list [data-status="DELIVERED"] i{background:var(--blue)}.connection-recipient-list [data-status="FAILED"] i{background:var(--red)}.connection-recipient-list b,.connection-recipient-list small{display:block}.connection-recipient-list small{color:var(--muted);font-size:7px}.connection-recipient-list strong{font-size:7px}.connection-summary{color:var(--muted);font-size:8px}
@media(max-width:1100px){.planning-editor{grid-template-columns:1fr}.planning-fields{grid-template-columns:1fr 1fr 1fr}.planning-actions{grid-template-columns:1fr 1fr}.connection-test{grid-template-columns:1fr}}
@media(max-width:650px){.hammer-bulk-fields,.planning-fields,.planning-actions{grid-template-columns:1fr}.hammer-source-tabs{grid-template-columns:1fr 1fr}.planning-editor{position:static}.planning-actions button,.connection-picker>.primary{min-height:44px}.connection-test>header{flex-direction:column}.connection-members label{min-height:44px}.hammer-choice>input{width:24px;height:24px}.hammer-star,.village-star{min-height:44px;width:44px}}
