:root{color-scheme:dark;font-family:Segoe UI,sans-serif;background:#061017;color:#f4f7fb}html,body,#root{height:100%}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow:hidden;background:radial-gradient(circle at top,rgba(86,154,205,.28),transparent 28%),linear-gradient(180deg,#07111a,#03070a)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{height:100vh;padding:12px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.topbar,.panel{border:1px solid rgba(126,165,196,.18);background:#081119e0;box-shadow:0 18px 60px #0000003d}.topbar{border-radius:20px;padding:12px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-shrink:0}.topbar__controls,.metric-strip,.tag-row,.modal-card__header,.system-modal__layout{display:flex;gap:10px}.topbar__controls,.metric-strip,.tag-row{flex-wrap:wrap;align-items:center}.topbar__identity{display:flex;flex-direction:column;gap:6px;align-items:flex-end;color:#dbe7f1c7;font-size:13px}.topbar__campaign{padding:10px 14px;border-radius:999px;background:#081723e0;border:1px solid rgba(127,191,255,.2);color:#eaf2f8eb;white-space:nowrap}.topbar input,.topbar select,.sidebar input,.sidebar select,.panel input,.panel select{background:#08141ee6;border:1px solid rgba(123,170,205,.18);border-radius:10px;color:inherit;padding:10px 12px}.topbar button,.panel button,.button{border:0;border-radius:10px;padding:10px 12px;background:linear-gradient(135deg,#32739c,#2a5680);color:#fff}.button--ghost{background:#0b1925eb;border:1px solid rgba(114,158,188,.22)}.button--danger{border-color:#d3666659;color:#ffd2d2}.button--danger:hover{background:#441212f5}.workspace{display:grid;grid-template-columns:minmax(220px,250px) minmax(0,1fr) minmax(260px,310px);gap:12px;flex:1;min-height:0}.map-column,.sidebar,.stack,.faction-list{display:flex;flex-direction:column;gap:16px}.map-column{min-height:0}.sidebar{min-height:0;overflow:hidden}.sidebar>.panel--scroll{flex:1 1 0;min-height:0}.stack--compact{gap:6px}.panel{border-radius:18px;padding:16px;min-height:0}.panel h2,.modal-card h2,.system-modal__detail h3{margin:0 0 12px}.panel p,.modal-card p,.system-modal__detail p{margin:0 0 12px;line-height:1.5;color:#e2ebf2d1}.panel--metric{background:linear-gradient(160deg,#0d1f30f5,#07121bf5)}.eyebrow{margin:0 0 8px;letter-spacing:.24em;text-transform:uppercase;font-size:12px;color:#8dc0ea}h1{margin:0;font-size:22px}.map-frame{position:relative;border:1px solid rgba(126,165,196,.18);border-radius:28px;background:radial-gradient(circle at 50% 20%,rgba(76,124,161,.25),transparent 35%),linear-gradient(180deg,#081018f5,#03070af5);overflow:hidden;min-height:0;height:100%;flex:1 1 auto}.map-toolbar{position:absolute;top:14px;left:14px;display:flex;gap:8px;z-index:3}.map-toolbar button.active{background:#4aa3d3}.sector-canvas-shell,.sector-canvas{width:100%;height:100%}.sector-canvas-shell{min-height:0;height:100%}.sector-canvas{min-height:0;height:100%;touch-action:none}.sector-canvas canvas,.system-modal__scene canvas{display:block;width:100%;height:100%}.sector-canvas__legend,.sector-canvas__debug,.selection-card,.modal-card__subtext{color:#e0ebf4c7}.sector-canvas__debug{position:absolute;left:14px;top:14px;z-index:3;margin:0;padding:10px 12px;border-radius:14px;border:1px solid rgba(127,191,255,.22);background:#081723eb;box-shadow:0 0 18px #3177ab2e;font:12px/1.45 Consolas,SFMono-Regular,monospace;white-space:pre-wrap;pointer-events:none}.sector-debug-panel{position:absolute;left:14px;bottom:14px;z-index:4;width:min(340px,calc(100% - 28px));max-height:min(68%,640px);overflow:auto;padding:12px;border-radius:16px;border:1px solid rgba(127,191,255,.22);background:#081723f0;box-shadow:0 0 18px #3177ab2e;display:flex;flex-direction:column;gap:12px}.sector-debug-panel__header,.sector-debug-panel__buttons,.sector-debug-panel__field-row,.sector-debug-panel__status,.sector-debug-panel__section label{display:flex;gap:8px}.sector-debug-panel__header,.sector-debug-panel__field-row{align-items:center}.sector-debug-panel__header{justify-content:space-between}.sector-debug-panel__status,.sector-debug-panel__section label{flex-direction:column}.sector-debug-panel__status{font-size:12px;color:#e0ebf4b8}.sector-debug-panel__section{padding-top:10px;border-top:1px solid rgba(127,191,255,.12)}.sector-debug-panel__section:first-of-type{padding-top:0;border-top:0}.sector-debug-panel__section span{font-size:12px;color:#e0ebf4c7}.sector-debug-panel__buttons{flex-wrap:wrap}.sector-debug-panel__field-row input,.sector-debug-panel__field-grid input{min-width:0}.sector-debug-panel__field-row input{flex:1 1 0}.sector-debug-panel__field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sector-debug-panel__field-grid--dual{grid-template-columns:repeat(2,minmax(0,1fr))}.sector-canvas__legend{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:8px;z-index:3;text-align:right}.sector-canvas__legend span,.metric-strip span,.tag-row span,.selection-card span,.selection-card strong{padding:6px 10px;border-radius:999px;background:#081723e0;border:1px solid rgba(127,191,255,.2);box-shadow:0 0 18px #3177ab2e}.selection-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-radius:18px;background:#050d14e0;border:1px solid rgba(126,165,196,.15)}.compact-list,.campaign-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.compact-list li,.campaign-list li button,.faction-row{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;background:#0a1723d1}.panel--scroll{overflow:auto}.campaign-list li button{width:100%;align-items:flex-start;border:0;color:inherit}.draft-row,.launchpad,.modal-card__grid,.campaign-hub,.campaign-slots{display:grid;gap:12px}.draft-row{grid-template-columns:repeat(4,minmax(0,1fr))}.launchpad{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-hub{grid-template-columns:minmax(0,1.8fr) minmax(320px,420px);flex:1;min-height:0}.campaign-slots{grid-template-columns:repeat(5,minmax(0,1fr))}.campaign-slot{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:16px;border:1px solid rgba(126,165,196,.18);background:#0a1723d1;min-height:220px}.campaign-slot--empty{background:#0811199e;border-style:dashed}.campaign-slot__header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d6e4efb8;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.campaign-slot__label{color:#8dc0ea}.launchpad--single{grid-template-columns:minmax(320px,640px);justify-content:center;padding-top:12vh}.faction-row{flex-direction:row;justify-content:space-between;gap:16px}.error-banner{padding:12px 14px;border-radius:14px;background:#7a2626eb}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#02060ac7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:28px;z-index:50}.modal-card{width:min(1200px,100%);max-height:calc(100vh - 56px);overflow:auto;border-radius:28px;border:1px solid rgba(126,165,196,.18);background:#070e15f5;box-shadow:0 28px 80px #00000073;padding:20px}.modal-card--wide{width:min(1320px,100%)}.modal-card--system{width:min(1360px,100%)}.modal-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:16px}.modal-card__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-card__grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.system-modal__layout{align-items:stretch}.system-modal__scene{flex:1.4;min-height:480px;border-radius:22px;overflow:hidden;border:1px solid rgba(126,165,196,.14);background:radial-gradient(circle at center,#1b334d8c,#04070af0)}.system-modal__detail{flex:.9;padding:8px 8px 8px 18px}@media(max-width:1320px){.workspace{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch}.topbar__identity{align-items:flex-start}.selection-card,.system-modal__layout,.faction-row{flex-direction:column;align-items:stretch}.modal-card__grid,.modal-card__grid--triple,.campaign-hub,.campaign-slots,.launchpad,.draft-row{grid-template-columns:1fr}}
