/* Fly Brain Lab v1.4.1. A compact responsive instrument panel with all 14 configured neural outputs and measured response charts. */
:root{color-scheme:dark;--bg:#10130f;--panel:#191d17;--panel2:#20251e;--line:#343b2e;--text:#edf0e4;--muted:#8e9885;--lime:#c4f36b;--orange:#ffac70;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--lime)}button{color:inherit}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}input:focus,select:focus{outline:1px solid var(--lime)}[hidden]{display:none!important}.app-shell{max-width:1640px;margin:auto;padding:0 44px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:750;letter-spacing:.05em}.brand-symbol{font-size:34px;line-height:1;color:var(--lime);margin-right:4px}.wordmark-light{color:var(--muted);font-weight:400}.top-actions{display:flex;gap:12px;align-items:center}.status-button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:9px 15px;display:flex;align-items:center;gap:8px;font-size:12px}.status-dot{width:6px;height:6px;background:#7b8572;border-radius:50%}.status-dot.online{background:var(--lime);box-shadow:0 0 9px #c4f36570}.status-dot.error{background:var(--orange)}.icon-button{background:transparent;border:1px solid var(--line);width:36px;height:36px;border-radius:50%;font-size:23px;line-height:1}.intro{display:flex;align-items:center;justify-content:space-between;padding:32px 0 12px;gap:24px}.eyebrow{font:10px var(--mono);letter-spacing:.13em;color:var(--muted);display:flex;align-items:center;gap:8px}.tiny-square{display:inline-block;width:5px;height:5px;background:var(--muted);vertical-align:middle}.tiny-square.lime{background:var(--lime);margin-right:5px}h1{font-size:clamp(30px,3.1vw,49px);line-height:1.1;letter-spacing:-.055em;font-weight:500;margin:16px 0 11px}h1 span{color:#99a18e}.intro a{color:var(--muted)}.specs{display:flex;align-items:center;gap:40px;padding-top:20px}.specs div:not(.spec-tag){display:flex;flex-direction:column;gap:4px}.specs strong{font:28px var(--mono);letter-spacing:-.08em;font-weight:400}.specs span{font:9px var(--mono);letter-spacing:.11em;color:var(--muted)}.spec-tag{border:1px solid var(--line);padding:9px 12px;font:10px var(--mono);color:#b3bcaa;transform:rotate(-2deg)}.spec-tag span{margin-left:15px;font-size:15px}.lab-grid{display:grid;grid-template-columns:minmax(245px,.86fr) minmax(340px,1.8fr) minmax(255px,.9fr);gap:16px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-heading{display:flex;align-items:center;gap:9px;padding:18px 18px 15px}.section-number{font:10px var(--mono);color:#7c8971;border:1px solid #3c4633;padding:2px 4px;border-radius:3px}h2{margin:0;font-size:14px;font-weight:500;letter-spacing:-.02em}.mini-label{margin-left:auto;font:8px var(--mono);color:var(--muted);letter-spacing:.06em}.tabs{display:flex;background:#10160e;border:1px solid #313d29;border-radius:9px;margin:0 18px 18px;padding:4px;gap:3px}.tab{flex:1;border:0;border-radius:6px;padding:8px 3px;background:transparent;color:var(--muted);font-size:12px}.tab.active{background:#37452b;color:#e2f3c8}.input-pane{padding:0 18px}.light-preview{height:205px;background:radial-gradient(ellipse at 50% 55%,#253318,#11160e 70%);border:1px solid #36442a;border-radius:10px;position:relative;overflow:hidden;margin-bottom:22px}.light-preview:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 3px,#101a1020 3px 4px);pointer-events:none}.light-orb{position:absolute;width:105px;height:105px;left:50%;top:35%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 40% 33%,#eaffc3,#b4ee66 40%,#5c8034 80%);box-shadow:0 0 40px #bcf36b35,0 0 100px #c4f36b20;opacity:.7}.preview-corners{display:flex;justify-content:space-between;padding:11px;font:8px var(--mono);color:#78945e;position:relative}.light-readout{position:absolute;bottom:15px;left:0;right:0;display:flex;flex-direction:column;align-items:center}.light-readout strong{font:33px var(--mono);letter-spacing:-.08em}.light-readout strong span{font-size:14px;color:#9eb77e;margin-left:4px}.light-readout>span{font:7px var(--mono);letter-spacing:.13em;color:#8d9e7b;margin-top:5px}.inline-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin:14px 0 8px;color:#c5cdbb}.inline-label output{font:11px var(--mono);color:var(--lime)}input[type=range]{width:100%;accent-color:var(--lime);height:19px;margin:6px 0;background:transparent;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font:8px var(--mono);color:#707e65;letter-spacing:.08em}.presets{display:flex;gap:5px;margin-top:18px}.presets button{flex:1;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--muted);padding:5px 1px;font-size:10px}.presets button.selected{color:var(--lime);border-color:#5c713f;background:#27311d}.run-controls{margin-top:24px;padding:0 18px 16px;border-top:1px solid var(--line)}input[type=number]{background:#11160e;border:1px solid #3c4633;color:var(--text);border-radius:6px;padding:6px;width:64px;text-align:right;font:12px var(--mono)}.inline-label>span{color:var(--muted);font:11px var(--mono)}.session-line{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;margin:18px 0 14px}.session-line span:last-child{color:var(--lime);font-family:var(--mono)}.run-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-radius:9px;border:1px solid #d0f398;background:var(--lime);color:#1d290b;font-weight:650;font-size:13px;box-shadow:0 4px 24px #c4f36b09;transition:background .15s,transform .15s}.run-button:hover:not(:disabled){background:#d7ff8d;transform:translateY(-1px)}.run-icon{font-size:18px}.button-tail{font:18px var(--mono);margin-left:auto;color:#678739}.run-footnote{font:8px var(--mono);text-align:center;color:#718065;margin:10px 0 0}.center-column{display:grid;gap:13px}.field-panel{background:radial-gradient(ellipse at 50% 55%,#20291a,#171c14 75%)}.field-panel .panel-heading{border-bottom:1px solid #2e3827}.field-stage{position:relative;height:337px;background-image:radial-gradient(#71855930 .7px,transparent .7px);background-size:19px 19px}.field-stage:after,.field-stage:before{position:absolute;content:"";pointer-events:none;background:#6277491c}.field-stage:after{height:1px;width:100%;top:50%}.field-stage:before{width:1px;height:100%;left:50%}.field-topline,.field-bottomline{position:absolute;left:16px;right:16px;display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.035em;color:#758968;z-index:1}.field-topline{top:14px}.field-bottomline{bottom:12px}.field-topline span:first-child{color:#9bac8b}#brainCanvas{display:block;width:100%;height:100%}.field-callout{position:absolute;bottom:48px;left:0;right:0;display:flex;align-items:center;flex-direction:column;gap:4px;text-shadow:0 1px 12px #000}.field-callout strong{font-size:20px;letter-spacing:-.03em;font-weight:500}.field-callout>span:last-child{font-size:10px;color:var(--muted)}.crosshair{font:22px var(--mono);color:#94b773}.field-legend{display:flex;gap:15px;padding:12px 17px;border-top:1px solid #2e3827;font-size:9px;color:#a1ac95}.field-legend>span{display:flex;align-items:center;gap:5px}.legend-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--lime)}.legend-dot.central{background:#efead0}.legend-dot.motor{background:var(--orange)}.field-legend small{margin-left:auto;font-size:8px;color:#6e7f61}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric{padding:16px 13px;background:#1b2017;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:8px}.metric>span{font:8px var(--mono);color:#9caa8b;letter-spacing:.04em}.metric strong{font:clamp(20px,2.1vw,31px) var(--mono);letter-spacing:-.065em;color:#e7eddb}.metric small{font-size:8px;color:#7d8b6e}.history-panel .panel-heading{padding-bottom:8px}.history-chart{height:98px;margin:0 16px;position:relative}#historyCanvas{display:block;width:100%;height:100%}.history-chart p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#718166;pointer-events:none}.history-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 17px;border-top:1px solid #2d3726;font:8px var(--mono);color:#7f8f71}.text-button{background:none;border:0;padding:3px 0;font-size:10px;color:#98a58b}.text-button:hover{color:var(--lime)}.output-panel{padding-bottom:15px}.output-heading{display:flex;justify-content:space-between;margin:9px 17px 16px;font:8px var(--mono);color:#89997a}.populations{min-height:207px;padding:0 17px}.empty-pop{height:202px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:#68785d;text-align:center;font-size:11px}.empty-bars{display:flex;gap:7px;align-items:flex-end;height:35px;opacity:.55}.empty-bars i{display:block;background:#657953;width:7px;height:18px;border-radius:2px}.empty-bars i:nth-child(2){height:30px}.empty-bars i:nth-child(3){height:22px}.empty-bars i:nth-child(4){height:34px}.empty-bars i:nth-child(5){height:12px}.population{margin-bottom:13px}.population-label{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:5px;font-size:10px;color:#b8c2ac}.population-label>span:last-child{font:10px var(--mono);color:#e1e7d8}.population-bar{height:4px;background:#2f3826;border-radius:3px;overflow:hidden}.population-bar i{display:block;height:100%;background:#b6de74;border-radius:3px;min-width:0;transition:width .4s}.neuron-heading{margin:20px 17px 10px;padding-top:17px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.neuron-heading h3{font-size:11px;margin:0;font-weight:500}.neuron-heading>span{font:9px var(--mono);color:#7e8e6f}.neuron-results{padding:0 17px;min-height:89px}.neuron-row{display:grid;grid-template-columns:1fr auto;gap:4px;padding:9px 0;border-bottom:1px solid #2b3524;font-size:10px}.neuron-row:last-child{border:0}.neuron-row strong{font-weight:500}.neuron-row small{color:#718264;font:8px var(--mono);display:block;margin-top:2px}.neuron-row>span{font:11px var(--mono);color:var(--lime);text-align:right}.decoder{margin:17px;border:1px solid var(--line);border-radius:8px;padding:9px 11px}.decoder summary{font-size:10px;color:#aab79d;display:flex;justify-content:space-between;list-style:none}.decoder p{margin-bottom:0}.decoder-values{display:flex;gap:12px;margin-top:11px;font:10px var(--mono);color:var(--lime)}.export-row{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:0 17px}.small-button{background:#252f1e;border:1px solid #414e35;border-radius:6px;padding:8px 11px;font-size:10px;color:#c2d2b1}.small-button:hover{border-color:#8da571}.quiet{font-size:10px;line-height:1.6;color:#8d9b80}.notice{padding:12px 16px;border-radius:9px;border:1px solid #876345;background:#35291e;color:#ffcd9e;font-size:12px;margin-bottom:17px}.notice.success{border-color:#5e7842;background:#242f1c;color:#c2df99}.image-drop{height:227px;border:1px dashed #54643f;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#131a0e;border-radius:10px;cursor:pointer}.image-drop:hover{border-color:var(--lime)}.image-drop img{width:100%;height:100%;object-fit:contain}.image-drop span{display:flex;flex-direction:column;align-items:center;gap:12px;color:#a6b992}.image-drop strong{font-size:14px;font-weight:500}.image-drop small{font-size:10px;color:var(--muted)}.upload-symbol{font:39px var(--mono)!important;color:var(--lime)!important}.file-info{display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);color:var(--muted);margin:10px 0;gap:8px}#imageInfo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse-art{height:77px;border:1px solid #414d32;border-radius:10px;display:flex;justify-content:center;align-items:center;gap:5px;font:40px var(--mono);background:radial-gradient(ellipse,#354621,#161e10);color:#6a834e}.pulse-art span{color:var(--lime);font-size:55px}.search-row{display:flex;gap:6px}.search-row select{min-width:0;flex:1}select{appearance:auto;max-width:100%;border:1px solid #414b37;background:#12190e;border-radius:6px;padding:8px 6px;font-size:11px;color:#c2cfb2}#neuronSelect{width:100%;font-family:var(--mono);font-size:10px}footer{display:flex;align-items:start;justify-content:space-between;gap:25px;padding:26px 2px 36px;color:#6e7c62;font:9px var(--mono);letter-spacing:.035em}footer>span{display:flex;gap:7px;align-items:center}footer details{max-width:480px;text-align:right}footer summary{list-style:none;color:#95a188;font:11px var(--font)}footer summary span{margin-left:20px}footer p{font:11px/1.6 var(--font);letter-spacing:0;color:#9aa88c}footer a{font-size:10px}dialog{background:#1b2116;color:var(--text);border:1px solid #586a43;border-radius:18px;padding:25px;max-width:430px;width:calc(100% - 28px);box-shadow:0 24px 90px #0009}dialog::backdrop{background:#080c08bd;backdrop-filter:blur(7px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:15px}.dialog-header h2{font-size:23px;margin:7px 0 0;letter-spacing:-.04em}.dialog-header .icon-button{flex-shrink:0}.dialog-header .eyebrow{font-size:8px}#connectForm>label{font-size:12px;color:#b5c3a5}.key-field{display:flex;border:1px solid #4b5a3b;border-radius:7px;background:#0e150b;margin:9px 0}.key-field input{flex:1;min-width:0;background:transparent;color:var(--text);border:0;padding:11px;font-size:13px;border-radius:7px}.key-field button{border:0;background:transparent;padding:0 13px;color:#a9b49d;font-size:20px}.settings-divider{height:1px;background:var(--line);margin:23px 0}.switch-line{display:flex;justify-content:space-between;gap:20px;align-items:center}.switch-line strong{font-size:12px;font-weight:500}.switch-line small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.switch-line input{accent-color:var(--lime);width:18px;height:18px}#topK{width:95px}.dialog-bottom{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;display:flex;justify-content:space-between;font:8px var(--mono);color:#8d9e7b}.connected-note{color:var(--lime);font-size:12px}.dialog-message{font-size:11px;color:var(--orange)}#rawDialog{max-width:850px}#rawOutput{font:10px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;overflow:auto;color:#bacaad}.drop-overlay{position:fixed;inset:12px;background:#11190cee;backdrop-filter:blur(12px);border:2px dashed var(--lime);z-index:100;border-radius:20px;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding:20px}.drop-overlay>span{font-size:70px;color:var(--lime)}.drop-overlay h2{font-size:30px;letter-spacing:-.05em}.drop-overlay p{color:var(--muted)}.keyboard-done{position:fixed;right:14px;bottom:12px;z-index:1000;background:var(--lime);color:#17220b;border:0;border-radius:20px;padding:9px 16px;font-size:12px;box-shadow:0 3px 14px #0008}.retry-button{margin-top:9px;width:100%;background:none;border:1px solid #a59b64;color:#e0d59a;border-radius:6px;padding:7px;font-size:10px}.spinning{display:inline-block;width:14px;height:14px;border:2px solid #26321044;border-top-color:#263210;border-radius:50%;animation:spin .7s linear infinite}.processing .field-stage{box-shadow:inset 0 0 65px #c4f36b0d}.processing .field-topline span:first-child{color:var(--lime)}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.app-shell{padding:0 58px}.field-stage{height:355px}.light-preview{height:223px}.populations{min-height:225px}}
@media(max-width:1100px){.app-shell{padding:0 23px}.lab-grid{grid-template-columns:270px minmax(320px,1fr)}.output-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;padding-bottom:18px}.output-panel>.panel-heading{grid-column:1/-1}.output-heading{grid-column:1;grid-row:2}.populations{grid-column:1;grid-row:3/6;min-height:0}.neuron-heading{grid-column:2;grid-row:2;border:0;padding-top:0;margin-top:9px}.neuron-results{grid-column:2;grid-row:3}.decoder{grid-column:2}.export-row{grid-column:2}.empty-pop{height:160px}.specs{gap:25px}.spec-tag{display:none}.field-stage{height:338px}}
@media(max-width:660px){.app-shell{padding:0 13px}.topbar{height:65px}.wordmark{font-size:12px;gap:6px}.brand-symbol{font-size:26px}.status-button{padding:7px 10px;font-size:10px}.top-actions{gap:6px}.icon-button{width:31px;height:31px;font-size:21px}.intro{padding:23px 3px 5px;align-items:start}.intro .eyebrow{font-size:7px;letter-spacing:.07em}h1{font-size:31px;margin-top:12px;line-height:1.13}.specs{flex-direction:column;gap:14px;align-items:flex-end;padding-top:25px}.specs strong{font-size:18px}.specs span{font-size:6px}.specs div:not(.spec-tag){align-items:flex-end}.lab-grid{grid-template-columns:1fr;gap:13px}.stimulus-panel .panel-heading{padding:14px 15px 10px}.tabs{margin:0 14px 12px}.input-pane{padding:0 14px}.light-preview{height:138px;width:42%;float:left;margin:0 17px 0 0}.light-orb{width:70px;height:70px;top:36%}.light-readout{bottom:10px}.light-readout strong{font-size:26px}.light-readout>span{font-size:6px}.preview-corners{font-size:6px;padding:8px;gap:6px}.presets{gap:4px;margin-top:18px}.presets button{font-size:9px;padding:5px 3px}.input-pane .inline-label{padding-top:9px;margin-top:0}.range-labels{font-size:7px}.input-pane:after{content:"";display:block;clear:both}.run-controls{margin-top:14px;padding:0 14px 13px;display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.run-controls>.inline-label{margin:11px 0 0;font-size:11px;justify-content:start}.run-controls>.inline-label span{margin-left:auto}.run-controls .session-line{grid-column:1;grid-row:2;margin:9px 0 2px;font-size:9px}.run-button{grid-column:2;grid-row:1/3;align-self:center;padding:12px;font-size:12px}.run-footnote{grid-column:1/-1;margin-top:12px;font-size:7px}.retry-button{grid-column:1/-1}.center-column{gap:10px}.field-stage{height:280px}.field-callout{bottom:38px}.field-callout strong{font-size:18px}.field-callout>span:last-child{font-size:9px}.field-legend{gap:13px;font-size:8px;padding:11px 14px}.field-legend small{font-size:7px}.metric-row{gap:7px}.metric{padding:12px 10px;gap:6px}.metric>span{font-size:7px}.metric strong{font-size:26px}.metric small{font-size:7px}.panel-heading{padding:14px 14px 12px}h2{font-size:13px}.mini-label{font-size:7px}.history-chart{height:90px}.output-panel{grid-column:auto;column-gap:0}.output-panel>.panel-heading{padding-bottom:7px}.populations{padding:0 14px}.output-heading{margin:10px 14px;font-size:7px}.neuron-heading{margin:8px 14px;font-size:8px}.neuron-heading h3{font-size:10px}.neuron-results{padding:0 14px}.neuron-row{font-size:9px;padding:7px 0}.neuron-row small{font-size:7px}.decoder{grid-column:1/-1;margin:15px 14px 10px}.export-row{grid-column:1/-1;margin:0 14px}.population-label{font-size:9px}.population-label>span:last-child{font-size:9px}.population{margin-bottom:13px}.empty-pop{height:146px;font-size:9px}.neuron-results{min-height:130px}.image-drop{height:173px}.image-drop img{object-fit:contain}.image-drop .upload-symbol{font-size:28px!important}.image-drop #imagePlaceholder{gap:6px}.pulse-art{display:none}.search-row{margin-bottom:12px}#pulseInput{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}#pulseInput .search-row{grid-column:1/-1;grid-row:2}#pulseInput label[for=cellType]{grid-column:1/-1}#pulseInput label[for=neuronSelect]{grid-column:1}#pulseInput label[for=current]{grid-column:2;grid-row:3}#neuronSelect{grid-column:1;grid-row:4}#current{grid-column:2;grid-row:4}#pulseInput .range-labels{grid-column:2}#pulseInput .quiet{grid-column:1/-1;margin-bottom:0}footer{padding:21px 2px 30px;flex-direction:column;gap:15px;font-size:7px}footer details{text-align:left}footer summary{font-size:10px}dialog{padding:20px}.dialog-header h2{font-size:23px}}

/* Fourteen-output measurement matrix. */
.outputs-stage{height:auto;min-height:337px}.output-matrix{min-height:337px;padding:45px 16px 38px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:stretch}.output-matrix-empty{grid-column:1/-1;align-self:center;justify-self:center;color:#718166;font-size:11px}.output-channel{min-width:0;min-height:112px;border:1px solid #34412c;border-radius:8px;background:linear-gradient(180deg,#20281b,#151b12);padding:8px 7px 7px;display:grid;grid-template-columns:1fr 8px;grid-template-rows:auto auto 1fr auto;column-gap:6px;overflow:hidden}.output-channel.control-output{border-color:#6e5a3e;background:linear-gradient(180deg,#30271d,#181a11);box-shadow:inset 0 2px 0 #ffad7550}.output-channel-head{grid-column:1/-1;display:flex;align-items:start;gap:5px;min-width:0}.output-channel-head>span{font:7px var(--mono);color:#738267}.output-channel-head strong{font-size:8px;line-height:1.15;font-weight:650;color:#dbe8ce;overflow-wrap:anywhere}.control-output .output-channel-head strong{color:#ffc091}.output-channel-meta{grid-column:1/-1;font:7px var(--mono);color:#75836c;margin:3px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.output-channel-value{align-self:center;min-width:0}.output-channel-value strong{display:block;font:20px/1 var(--mono);letter-spacing:-.08em;color:#edf0e4;overflow:hidden;text-overflow:ellipsis}.output-channel-value span{display:block;margin-top:3px;font:6px var(--mono);letter-spacing:.08em;color:#75836c}.output-channel-meter{grid-column:2;grid-row:3;position:relative;align-self:stretch;border-radius:4px;background:#2b3425;overflow:hidden}.output-channel-meter i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#d8ff90,#8db956);border-radius:4px;transition:height .45s}.control-output .output-channel-meter i{background:linear-gradient(#ffc596,#e58350)}.output-channel>small{grid-column:1/-1;font:6px/1.25 var(--mono);color:#738267;white-space:nowrap;margin-top:6px}.output-legend{align-items:center}.output-legend small{text-align:right}
@media(max-width:660px){.outputs-stage{min-height:450px}.output-matrix{min-height:450px;padding:43px 12px 37px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.output-channel{min-height:84px;padding:6px}.output-channel-value strong{font-size:17px}.output-channel>small{font-size:5.5px}.output-legend{flex-wrap:wrap}.output-legend small{width:100%;margin-left:0;text-align:left}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* v1.4.1: compact video progress and interrupt controls. */
.video-actions{display:flex;gap:8px;margin-top:10px}.video-actions button{flex:1}.video-status{font:11px/1.5 var(--mono);color:var(--lime);margin:10px 0;overflow-wrap:anywhere}#videoProgress{width:100%;height:6px;accent-color:var(--lime)}#videoPreview{width:100%;height:100%;object-fit:contain}.file-info{min-width:0}.file-info>span{overflow-wrap:anywhere;min-width:0}#videoPlaceholder{display:flex;flex-direction:column;align-items:center;gap:8px}

/* v1.4.1: let network outputs fill the space freed by the hidden response sidebar. */
@media(min-width:1101px){.lab-grid{grid-template-columns:minmax(245px,.86fr) minmax(340px,2.7fr)}}
/* Fly Brain Lab v1.7.0: collapsed-by-default activity canvas with crisp neuron pixels. */
.activity-panel{overflow:hidden}.activity-panel>summary{cursor:pointer;list-style:none;margin:0;user-select:none;min-height:64px}.activity-panel>summary::-webkit-details-marker{display:none}.activity-panel>summary:focus-visible{outline:2px solid var(--lime);outline-offset:-3px}.activity-panel h2{margin:0}.activity-chevron{font-size:22px;transition:transform .2s}.activity-panel[open] .activity-chevron{transform:rotate(180deg)}.activity-body{padding:0 18px 16px}.activity-lanes{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px 0;font:10px var(--mono);color:#91a49c;text-align:center}.activity-stage{position:relative;border-radius:10px;overflow:hidden;border:1px solid #293333;background:#0b100f}.activity-stage canvas{display:block;width:100%;height:auto;aspect-ratio:26/9;image-rendering:pixelated}.activity-stage p{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:22px;color:#8ba398;font-size:12px;pointer-events:none}.activity-stage p[hidden]{display:none}.activity-legend{display:flex;align-items:center;gap:8px;font:10px var(--mono);color:#9bb0a6;padding:12px 0 5px;flex-wrap:wrap}.activity-legend i{width:100px;height:5px;border-radius:8px;background:linear-gradient(90deg,#3366ff,#33ffff,#33ff66,#ffff33,#ff3333)}#activityScale{margin-left:auto}.activity-body>.quiet{font-size:11px;line-height:1.5;margin:8px 0 0}.activity-panel .mini-label{margin-left:auto;font-size:9px}@media(max-width:660px){.activity-body{padding:0 10px 12px}.activity-panel>summary{gap:8px}.activity-panel .mini-label{font-size:8px}.activity-lanes{font-size:8px}#activityScale{width:100%;margin:2px 0 0}}
.activity-about{font-size:11px;color:#91a49c;margin-top:10px}.activity-about summary{cursor:pointer}.activity-about p{font-size:11px;line-height:1.5}

/* v1.9.0: mapped retina and full-population grids with fixed activity colors. */
.activity-stage canvas{aspect-ratio:4/3;max-height:360px;object-fit:contain;background:#000}.activity-stage{background:#000}.activity-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.activity-group{min-width:0}.activity-group canvas{display:block;width:100%;height:auto;image-rendering:pixelated;background:#000;border:1px solid #293333;border-radius:4px}.activity-group h3,.activity-body>h3{font-size:12px;color:#b5c6bd;margin:10px 0}.activity-group p{font-size:10px;line-height:1.5}.activity-legend i{background:linear-gradient(90deg,#00f,#0ff,#0f0,#ff0,#f00)}
/* Fly Brain Lab v2.0.0: compact Random image guidance and prepared-input playback. */
.random-stage{position:relative;aspect-ratio:4/3;background:#10120f;border:1px solid #34392f;border-radius:14px;overflow:hidden;display:grid;place-items:center;margin-top:14px;text-align:center;color:#bfc8b4}
.random-stage img{width:100%;height:100%;object-fit:contain}
.random-stage small{display:block;margin-top:8px;font-size:12px}
#randomPrompt{min-width:0;width:100%;padding:12px;border:1px solid #626b55;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:16px}
#randomSource{display:block;overflow-wrap:anywhere;margin-top:10px}
#randomSpinner[hidden],#randomSource[hidden],#randomPreview[hidden],#randomPlaceholder[hidden]{display:none}
#randomProgress{width:100%;height:6px;accent-color:#c4f36b}
/* Fly Brain Lab v2.0.1: distinguish mapped-but-unlit retinal dots from unmapped space. */
.retinal-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0;font-size:12px}
.retinal-key span{display:inline-flex;align-items:center;gap:6px}
.retinal-key i{display:inline-block;width:9px;height:9px;border:1px solid #626762}
.retinal-key-gray{background:rgb(72,76,72)}
.retinal-key-black{background:#000}
