:root{color:#e5eef8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#05070d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button{font-family:inherit}.legion-app{color:#e5eef8;background:radial-gradient(circle at 74% 18%,#5eead424,#0000 32%),linear-gradient(135deg,#05070d 0%,#0d1220 48%,#070b12 100%);grid-template-columns:310px minmax(0,1fr);min-height:100svh;display:grid;overflow:hidden}.control-panel{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050912d6;border-right:1px solid #7dd3fc38;flex-direction:column;gap:26px;padding:32px 24px;display:flex;position:relative;overflow-y:auto;box-shadow:18px 0 60px #00000047}.kicker,.architect span,.gesture-panel-header span,.hand-tracking-header span,.section-label,.status-grid span,.topbar span{color:#8aa4b8;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:12px;line-height:1.2}.language-toggle{color:#dffdf7;min-width:52px;min-height:34px;font:inherit;cursor:pointer;background:#0f172ab8;border:1px solid #7dd3fc57;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800;position:absolute;top:24px;right:20px}.language-toggle:hover{background:#14b8a629;border-color:#5eead4b8}.control-panel h1{color:#f8fbff;letter-spacing:0;margin:8px 0 0;font-size:38px;font-weight:750;line-height:1}.status-grid{gap:10px;display:grid}.status-grid div,.gesture-panel,.hand-tracking-panel,.architect{background:#0f172ab8;border:1px solid #94a3b82e;border-radius:8px;padding:15px}.status-grid strong,.gesture-panel-header strong,.hand-tracking-header strong,.architect strong{color:#eafcff;margin-top:6px;font-size:18px;line-height:1.15;display:block}.mode-list{gap:9px;display:grid}.section-label{margin-bottom:-14px}.drone-count-control{background:#0f172a85;border:1px solid #7dd3fc2e;border-radius:8px;gap:10px;padding:13px;display:grid}.drone-count-control>span{color:#8aa4b8;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;line-height:1.2}.drone-count-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.drone-count-button{color:#c7d2de;min-height:34px;font:inherit;cursor:pointer;background:#02061775;border:1px solid #7dd3fc33;border-radius:8px;font-size:13px;font-weight:800}.drone-count-button:hover,.drone-count-button.active{color:#fff;background:#14b8a633;border-color:#5eead4b8}.mode-button{color:#c7d2de;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#0f172a8f;border:1px solid #7dd3fc33;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:border-color .16s,background .16s,color .16s,transform .16s;display:flex}.camera-toggle{color:#f8fbff;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#f7d56b1a;border:1px solid #f7d56b57;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:800;transition:border-color .16s,background .16s,transform .16s}.camera-preset-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.camera-preset-button{color:#c7d2de;min-height:38px;font:inherit;text-align:center;cursor:pointer;background:#02061775;border:1px solid #7dd3fc33;border-radius:8px;padding:6px 2px;font-size:10px;font-weight:700;line-height:1.2;transition:border-color .14s,background .14s,color .14s}.camera-preset-button:hover{color:#fff;background:#14b8a61f;border-color:#5eead49e}.camera-preset-button.active{color:#f7d56b;background:#f7d56b24;border-color:#f7d56bb8}.camera-toggle:hover,.camera-toggle.active{background:#f7d56b2e;border-color:#f7d56bb8;transform:translateY(-1px)}.mode-button:hover{color:#fff;border-color:#5eead49e;transform:translate(2px)}.mode-button.active{color:#fff;background:linear-gradient(135deg,#14b8a642,#3b82f629);border-color:#5eead4c7}.architect{margin-top:auto}.gesture-panel{gap:12px;display:grid}.gesture-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.gesture-toggle{color:#061014;min-height:36px;font:inherit;cursor:pointer;background:#5eead4;border:1px solid #5eead46b;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;transition:transform .16s,background .16s,border-color .16s}.gesture-toggle:hover{background:#99f6e4;transform:translateY(-1px)}.gesture-toggle:disabled{cursor:not-allowed;opacity:.46;transform:none}.gesture-toggle.on{color:#fecaca;background:#7f1d1d6b;border-color:#f871716b}.gesture-control-hint{color:#9fb2c4;margin:0;font-size:12px;line-height:1.35}.camera-preview{aspect-ratio:16/9;background:linear-gradient(135deg,#0f172ae6,#020617db),repeating-linear-gradient(90deg,#0000 0 12px,#5eead40f 12px 13px);border:1px solid #7dd3fc2e;border-radius:8px;position:relative;overflow:hidden}.camera-preview video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.camera-placeholder{color:#8aa4b8;text-align:center;background:#020617b8;place-items:center;padding:12px;font-size:12px;display:grid;position:absolute;inset:0}.gesture-readout{color:#b7c6d9;gap:6px;font-size:13px;line-height:1.25;display:grid}.gesture-badge{color:#dffdf7;text-transform:uppercase;letter-spacing:.04em;background:#14b8a624;border:1px solid #5eead452;border-radius:999px;width:fit-content;max-width:100%;padding:5px 8px;font-size:12px;font-weight:750}.gesture-readout small{color:#7f92a4;font-size:12px}.gesture-error{color:#fecaca;background:#7f1d1d3d;border:1px solid #f8717147;border-radius:8px;margin:0;padding:10px;font-size:12px;line-height:1.35}.sim-stage{min-height:100svh;position:relative}.sim-stage canvas{width:100%;height:100%;display:block}.topbar{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050912b3;border:1px solid #7dd3fc33;border-radius:8px;align-items:center;gap:14px;padding:14px 16px;display:flex;position:absolute;top:24px;right:28px}.demo-hud{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#050912c7,#0f172a94);border-left:3px solid #5eead4;border-radius:8px;width:min(420px,100% - 430px);padding:16px;position:absolute;top:24px;left:28px;box-shadow:0 18px 60px #0000003d}.demo-hud p{color:#5eead4;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.demo-hud h2{color:#f8fbff;letter-spacing:0;margin:0 0 12px;font-size:20px;font-weight:800;line-height:1.1}.demo-hud-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.demo-hud-grid span{color:#c7d2de;text-overflow:ellipsis;white-space:nowrap;background:#0206177a;border:1px solid #7dd3fc29;border-radius:6px;min-width:0;padding:7px 8px;font-size:12px;line-height:1.2;overflow:hidden}.acquired-alert{z-index:4;color:#eafff3;text-align:center;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;background:linear-gradient(135deg,#14532dc7,#064e3b8f);border:1px solid #22c55e8c;border-radius:8px;gap:8px;width:min(560px,100% - 48px);padding:18px 22px;font-size:34px;font-weight:900;line-height:1;animation:.92s ease-in-out infinite alternate acquiredFlash;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 60px #22c55e38,inset 0 0 28px #5eead41f}.acquired-alert span{color:#bbf7d0;letter-spacing:.08em;font-size:12px;font-weight:700}.debug-panel{z-index:3;color:#c7d2de;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050912b8;border:1px solid #7dd3fc33;border-radius:8px;width:min(320px,100% - 56px);max-height:min(58svh,520px);padding:14px;position:absolute;bottom:24px;right:28px;overflow-y:auto}.debug-panel-title{color:#f8fbff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:800}.debug-panel dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px;display:grid}.debug-panel dl div{background:#0f172ab8;border-radius:6px;min-width:0;padding:8px}.debug-panel dt,.debug-targets span{color:#8aa4b8;text-transform:uppercase;letter-spacing:.06em;font-size:10px;line-height:1.2}.debug-panel dd{color:#eafcff;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;font-weight:700;overflow:hidden}.debug-targets{gap:5px;display:grid}.debug-targets code{color:#dffdf7;text-overflow:ellipsis;white-space:nowrap;background:#0206178a;border:1px solid #94a3b829;border-radius:6px;padding:5px 7px;font:11px/1.25 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:block;overflow:hidden}.topbar strong{color:#f8fbff;letter-spacing:.04em;margin-top:4px;font-size:15px;display:block}.pulse{background:#5eead4;border-radius:999px;width:12px;height:12px;box-shadow:0 0 22px #5eead4e0}.pulse.acquired{background:#22c55e;animation:.76s ease-in-out infinite alternate targetPulse;box-shadow:0 0 28px #22c55ef2}@keyframes targetPulse{0%{transform:scale(1)}to{transform:scale(1.45)}}@keyframes acquiredFlash{0%{opacity:.78;transform:translate(-50%,-50%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1.02)}}.hand-tracking-panel{gap:12px;display:grid}.hand-tracking-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.hand-tracking-notice{color:#8aa4b8;text-align:center;margin:0;font-size:11px}.hand-tracking-map{aspect-ratio:1;background:#0206178a;border:1px solid #7dd3fc38;border-radius:8px;width:100%;max-height:110px;position:relative;overflow:hidden}.htmap-line-h{background:#7dd3fc24;height:1px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.htmap-line-v{background:#7dd3fc24;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.htmap-deadzone{background:#5eead414;border:1px solid #5eead433;width:24%;height:24%;position:absolute;top:38%;left:38%}.htmap-dot{background:#5eead4;border-radius:999px;width:10px;height:10px;transition:left 55ms linear,top 55ms linear;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 8px #5eead4b3}.htmap-label{color:#8aa4b8;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;font-size:9px;line-height:1;position:absolute}.htmap-top{top:3px;left:50%;transform:translate(-50%)}.htmap-bottom{bottom:3px;left:50%;transform:translate(-50%)}.htmap-left{top:50%;left:3px;transform:translateY(-50%)}.htmap-right{top:50%;right:3px;transform:translateY(-50%)}.htmap-velocity{background:#02061775;border:1px solid #5eead429;border-radius:6px;gap:5px;padding:8px 10px;font-size:11px;display:grid}.htmap-vel-title{color:#8aa4b8;text-transform:uppercase;letter-spacing:.07em;margin:0 0 4px;font-size:10px;font-weight:700}.htmap-vel-row{color:#b7c6d9;justify-content:space-between;align-items:center;display:flex}.htmap-vel-row strong{color:#eafcff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.reset-swarm-button{color:#c7d2de;width:100%;min-height:34px;font:inherit;cursor:pointer;background:#02061775;border:1px solid #7dd3fc47;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700;transition:border-color .14s,background .14s}.reset-swarm-button:hover{color:#dffdf7;background:#14b8a624;border-color:#5eead49e}.debug-snap{color:#dffdf7;background:#ff64000f;border:1px solid #ff8c0033;border-radius:6px;flex-wrap:wrap;gap:8px;margin-top:6px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;line-height:1.4;display:flex}.snap-armed-active{color:#ffb347;font-weight:800}.debug-tracking{color:#dffdf7;background:#0f172a8a;border-radius:6px;flex-wrap:wrap;gap:10px;padding:6px 8px;font-size:10px;line-height:1.4;display:flex}.blast-button{color:#fff8e1;width:100%;min-height:44px;font:inherit;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#dc50002e;border:1px solid #ff8c0080;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:800;transition:border-color .16s,background .16s,transform .16s}.blast-button:hover:not(:disabled){background:#dc500052;border-color:#ffa000e6;transform:translateY(-1px)}.blast-button:disabled,.blast-button.on-cooldown{opacity:.42;cursor:not-allowed;color:#8aa4b8;border-color:#94a3b847}.blast-flash{z-index:5;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,#ff82008c,#0000 60%);position:absolute;inset:0}.demo-hud-blast{text-align:center;letter-spacing:.08em;grid-column:1/-1;font-weight:800;animation:.5s ease-in-out infinite alternate blastHudPulse;color:#ffb347!important;background:#dc500029!important;border-color:#ff8c0073!important}@keyframes blastFlash{0%{opacity:1}to{opacity:0}}@keyframes blastHudPulse{0%{opacity:.65}to{opacity:1}}.gesture-guide{background:#0f172a85;border:1px solid #7dd3fc2e;border-radius:8px;overflow:hidden}.gesture-guide-toggle{color:#c7d2de;width:100%;min-height:40px;font:inherit;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:700;transition:background .16s,color .16s;display:flex}.gesture-guide-toggle:hover{color:#dffdf7;background:#5eead414}.gesture-guide-chevron{color:#5eead4;flex-shrink:0;font-size:10px}.gesture-guide-body{border-top:1px solid #7dd3fc24;max-height:260px;padding:8px 4px;overflow-y:auto}.gesture-guide-table{border-collapse:collapse;width:100%;font-size:11px;line-height:1.3}.gesture-guide-row{transition:background .14s}.gesture-guide-row td{vertical-align:middle;border-radius:4px;padding:5px 6px}.gesture-guide-row:hover td{background:#5eead40f}.gesture-guide-row.active td{background:#14b8a638}.gesture-guide-row.active .gesture-guide-name{color:#5eead4;font-weight:700}.gesture-guide-row.active .gesture-guide-action{color:#f7d56b;font-weight:700}.gesture-guide-emoji{text-align:center;width:28px;font-size:14px}.gesture-guide-name{color:#b7c6d9;width:44%}.gesture-guide-action{color:#8aa4b8;text-align:right}.boids-params{background:#02061775;border:1px solid #7dd3fc2e;border-radius:6px;margin-bottom:10px;overflow:hidden}.boids-params-toggle{color:#8aa4b8;width:100%;font:inherit;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:10px;font-weight:700;transition:color .14s,background .14s;display:flex}.boids-params-toggle:hover{color:#dffdf7;background:#5eead412}.boids-params-body{border-top:1px solid #7dd3fc1f;gap:5px;padding:8px;display:grid}.boids-slider-row{grid-template-columns:90px 1fr 36px;align-items:center;gap:6px;display:grid}.boids-slider-label{color:#8aa4b8;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.boids-slider{appearance:none;cursor:pointer;background:#5eead433;border-radius:2px;outline:none;width:100%;height:3px}.boids-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#5eead4;border-radius:50%;width:11px;height:11px;box-shadow:0 0 5px #5eead499}.boids-slider::-moz-range-thumb{cursor:pointer;background:#5eead4;border:0;border-radius:50%;width:11px;height:11px;box-shadow:0 0 5px #5eead499}.boids-slider-val{color:#eafcff;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}@media (width<=860px){.legion-app{grid-template-rows:auto minmax(520px,1fr);grid-template-columns:1fr;overflow:auto}.control-panel{border-bottom:1px solid #7dd3fc38;border-right:0;padding:20px}.control-panel h1{font-size:32px}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-list{grid-template-columns:repeat(2,minmax(0,1fr))}.drone-count-options{grid-template-columns:repeat(4,minmax(0,1fr))}.architect{margin-top:0}.sim-stage{min-height:560px}.topbar{justify-content:space-between;top:16px;left:16px;right:16px}.demo-hud{width:auto;top:82px;left:16px;right:16px}.demo-hud-grid{grid-template-columns:1fr}.debug-panel{width:min(320px,100% - 32px);bottom:16px;right:16px}}@media (width<=540px){.status-grid,.mode-list,.drone-count-options{grid-template-columns:1fr}}
