:root{
  --a25-bg:#020708;
  --a25-panel:rgba(1,11,13,.88);
  --a25-panel-solid:#031013;
  --a25-cyan:#19e9f2;
  --a25-blue:#48bfff;
  --a25-green:#00f0a4;
  --a25-magenta:#f24bd7;
  --a25-violet:#8d6bff;
  --a25-white:#d8f5ff;
  --a25-muted:#72a9b6;
  --a25-yellow:#ffd43b;
  --a25-danger:#ff5578;
  --a25-line:rgba(25,233,242,.72);
  --a25-line-dim:rgba(25,233,242,.27);
  --a25-shadow:0 0 16px rgba(0,230,255,.08);
  --a25-radius:2px;
  --a25-gap:10px;
  --topbar:76px;
  --dock:42px;
  font-family:"IBM Plex Mono","Cascadia Mono","JetBrains Mono","Consolas","Lucida Console",monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#000;color:var(--a25-white)}
body{
  min-height:100vh;
  overflow-x:hidden;
  background-color:#000;
  background-image:linear-gradient(rgba(0,5,8,.08),rgba(0,5,8,.18)),url('./stratumnova.png');
  background-size:cover;
  background-position:center top;
  background-attachment:fixed;
}
body::after{
  content:"";pointer-events:none;position:fixed;inset:0;z-index:90;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px);
  mix-blend-mode:screen;opacity:.35;
}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--a25-yellow);outline-offset:2px}
.a25-shell{min-height:100vh;display:grid;grid-template-rows:var(--topbar) minmax(0,1fr) var(--dock);position:relative;z-index:2}
.topbar{
  display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(260px,1fr) minmax(300px,.9fr) auto;
  border:1px solid var(--a25-line);background:rgba(0,8,10,.88);backdrop-filter:blur(3px);min-width:0
}
.brand{display:flex;align-items:center;gap:16px;padding:8px 14px;border-right:1px solid var(--a25-line-dim);min-width:0}
.brand-mark{width:48px;height:48px;display:grid;place-items:center;color:var(--a25-green);font-size:34px;line-height:1;text-shadow:0 0 12px rgba(0,240,164,.45)}
.brand-copy{min-width:0}.brand-copy h1{margin:0;color:var(--a25-cyan);font-size:clamp(19px,2vw,34px);letter-spacing:.06em;white-space:nowrap}.brand-copy p{margin:0;color:var(--a25-green);letter-spacing:.12em;font-size:12px}
.motto{display:grid;place-items:center;color:var(--a25-blue);font-style:italic;letter-spacing:.08em;text-align:center;padding:8px}
.system-strip{display:grid;grid-template-columns:1fr 1fr;gap:3px 14px;align-content:center;padding:8px 14px;color:var(--a25-blue);font-size:12px}.system-strip b{color:var(--a25-green);font-weight:500}.system-strip span{white-space:nowrap}
.desktop{position:relative;min-height:0;padding:12px;display:grid;grid-template-columns:170px repeat(11,minmax(0,1fr));grid-template-rows:minmax(250px,1.35fr) minmax(200px,1fr);gap:var(--a25-gap);align-items:stretch}
.desktop[data-layout="clear"] .window{display:none}
.desktop[data-layout="game"] .window:not([data-window="game"]){display:none}
.desktop[data-layout="game"] .window[data-window="game"]{grid-column:2/-1;grid-row:1/-1}
.desktop[data-layout="balanced"] .window{display:flex}
.window{min-width:0;min-height:0;border:1px solid var(--a25-line);background:var(--a25-panel);box-shadow:var(--a25-shadow);backdrop-filter:blur(4px);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--a25-radius)}
.window.is-maximized{position:absolute!important;inset:12px!important;z-index:30!important;width:auto!important;height:auto!important;grid-column:auto!important;grid-row:auto!important}
.window.is-minimized{display:none!important}
.window-header{height:32px;flex:0 0 32px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--a25-line-dim);background:linear-gradient(90deg,rgba(0,40,33,.72),rgba(0,15,20,.82));color:var(--a25-cyan);padding:0 8px;letter-spacing:.04em}
.window-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.window-controls{display:flex;gap:5px}.window-controls button{width:25px;height:23px;padding:0;background:rgba(0,0,0,.28);border:1px solid var(--a25-line-dim);color:var(--a25-cyan);line-height:1}.window-controls button:hover{border-color:var(--a25-yellow);color:var(--a25-yellow)}
.window-body{flex:1;min-height:0;overflow:auto;padding:10px}
.window[data-window="tools"]{grid-column:1;grid-row:1/-1;background:rgba(0,8,10,.92)}
.window[data-window="game"]{grid-column:2/8;grid-row:1}
.window[data-window="config"]{grid-column:8/-1;grid-row:1}
.window[data-window="terminal"]{grid-column:2/6;grid-row:2}
.window[data-window="activity"]{grid-column:6/10;grid-row:2}
.window[data-window="summary"]{grid-column:10/-1;grid-row:2}
.tool-list{display:grid;gap:4px}.tool-button{min-height:40px;text-align:left;padding:8px 10px;border:1px solid transparent;border-bottom-color:var(--a25-line-dim);background:rgba(0,13,16,.55);color:var(--a25-blue)}.tool-button:hover,.tool-button.is-active{background:rgba(0,78,69,.32);border-color:var(--a25-green);color:var(--a25-white)}.tool-button small{display:block;color:var(--a25-muted);margin-top:2px}
.game-stage{height:100%;min-height:250px;border:1px solid var(--a25-line-dim);display:grid;place-items:center;position:relative;background:rgba(0,3,5,.4);overflow:hidden}
.game-stage::before{content:"STRATUMNOVA / FIXTURE DISPLAY";color:var(--a25-muted);letter-spacing:.14em;font-size:12px}.game-stage .stage-status{position:absolute;left:8px;bottom:8px;color:var(--a25-green);background:rgba(0,0,0,.7);padding:5px 7px;border:1px solid var(--a25-line-dim)}
.placeholder-grid{display:grid;gap:9px}.placeholder-row{display:grid;grid-template-columns:minmax(110px,.7fr) 1fr minmax(64px,.35fr);align-items:center;gap:8px;color:var(--a25-blue)}.placeholder-row input[type="range"]{width:100%;accent-color:var(--a25-green)}.value-box{border:1px solid var(--a25-line-dim);background:#001014;color:var(--a25-green);padding:6px;min-width:0;width:100%}
.terminal{height:100%;display:flex;flex-direction:column;gap:8px}.terminal-log{flex:1;min-height:90px;white-space:pre-wrap;color:var(--a25-blue);margin:0;overflow:auto}.terminal-entry{display:flex;gap:8px;align-items:center;border-top:1px solid var(--a25-line-dim);padding-top:7px}.prompt{color:var(--a25-green)}.terminal-entry input{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px solid var(--a25-line-dim);padding:5px;color:var(--a25-white)}
.log-lines{margin:0;padding:0;list-style:none;color:var(--a25-blue);line-height:1.55}.log-lines b{color:var(--a25-green);font-weight:500}.summary-grid{display:grid;grid-template-columns:1fr auto;gap:5px 12px;color:var(--a25-blue)}.summary-grid strong{color:var(--a25-green);font-weight:500}.meter{display:grid;grid-template-columns:repeat(20,1fr);gap:2px;margin-top:12px}.meter i{height:14px;background:var(--a25-green);box-shadow:0 0 7px rgba(0,240,164,.3)}
.desktop-actions{z-index:40;display:flex;gap:4px}.topbar-actions{position:static;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,1fr);align-self:stretch;min-width:96px;border-left:1px solid var(--a25-line-dim);background:rgba(0,8,10,.82);padding:4px}.desktop-actions button{background:rgba(0,8,10,.82);border:1px solid var(--a25-line);color:var(--a25-cyan);padding:4px 8px;min-height:0}.desktop-actions button:hover{color:var(--a25-yellow);border-color:var(--a25-yellow)}
.dock{border:1px solid var(--a25-line);background:rgba(0,8,10,.9);display:flex;align-items:center;gap:7px;padding:5px 10px;overflow-x:auto}.dock-label{color:var(--a25-green);margin-right:8px;white-space:nowrap}.dock button{border:1px solid var(--a25-line-dim);background:rgba(0,22,26,.7);color:var(--a25-blue);padding:6px 9px;white-space:nowrap}.dock button[aria-pressed="true"]{color:var(--a25-yellow);border-color:var(--a25-yellow)}
.desktop-hint{position:absolute;left:200px;top:16px;color:rgba(114,169,182,.75);letter-spacing:.06em;font-size:12px;pointer-events:none}
@media(max-width:1000px){:root{--topbar:104px}.topbar{grid-template-columns:minmax(0,1fr) minmax(270px,.9fr) auto}.motto{display:none}.brand-copy h1{font-size:24px}.desktop{grid-template-columns:150px repeat(5,minmax(0,1fr));grid-template-rows:auto auto auto}.window[data-window="tools"]{grid-column:1;grid-row:1/4}.window[data-window="game"]{grid-column:2/-1;grid-row:1}.window[data-window="config"]{grid-column:2/-1;grid-row:2}.window[data-window="terminal"]{grid-column:2/4;grid-row:3}.window[data-window="activity"]{grid-column:4/-1;grid-row:3}.window[data-window="summary"]{grid-column:2/-1;grid-row:4}.system-strip{font-size:11px}.desktop[data-layout="game"] .window[data-window="game"]{grid-column:1/-1;grid-row:1/5}}
@media(max-width:700px){body{background-attachment:scroll}.a25-shell{grid-template-rows:auto 1fr var(--dock)}.topbar{grid-template-columns:minmax(0,1fr) auto}.system-strip{display:none}.brand{border-right:0}.topbar-actions{grid-column:2;grid-row:1;min-width:78px}.desktop{display:flex;flex-direction:column;padding:8px}.window{min-height:180px}.window[data-window="tools"]{min-height:auto}.desktop-hint{display:none}.window.is-maximized{position:relative!important;inset:auto!important}.dock{position:sticky;bottom:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* BUILD 2 — manifest configuration editor */
.game-body{display:flex;flex-direction:column;gap:8px}.fixture-picker{display:grid;grid-template-columns:auto minmax(150px,260px) 1fr;gap:8px;align-items:center;color:var(--a25-blue)}.fixture-picker select,.config-field input[type="text"],.config-field input[type="number"],.config-field select{background:#001014;border:1px solid var(--a25-line-dim);color:var(--a25-white);padding:6px 8px;min-width:0;width:100%}.fixture-picker span{color:var(--a25-muted);font-size:12px}.game-stage{flex:1}
.config-shell{padding:0!important;overflow:hidden}.config-toolbar{display:flex;justify-content:space-between;gap:8px;padding:7px;border-bottom:1px solid var(--a25-line-dim);background:rgba(0,10,12,.72)}.config-tabs,.config-actions{display:flex;gap:5px;flex-wrap:wrap}.config-toolbar button{border:1px solid var(--a25-line-dim);background:rgba(0,20,24,.76);color:var(--a25-blue);padding:5px 8px}.config-toolbar button.is-active{border-color:var(--a25-yellow);color:var(--a25-yellow)}.config-toolbar button.accent{border-color:var(--a25-yellow);color:var(--a25-yellow)}
.config-layout{height:calc(100% - 45px);display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(260px,.85fr);min-height:0}.config-editor{padding:9px;overflow:auto;border-right:1px solid var(--a25-line-dim)}.config-section{display:grid;gap:7px}.config-field{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(130px,1fr) minmax(88px,.45fr);gap:8px;align-items:center;border-bottom:1px solid rgba(25,233,242,.11);padding:5px 0}.config-field label{color:var(--a25-blue)}.config-field .control-pair{display:flex;gap:7px;align-items:center;min-width:0}.config-field input[type="range"]{width:100%;accent-color:var(--a25-blue)}.config-field output{min-width:55px;border:1px solid var(--a25-line-dim);padding:5px;color:var(--a25-green);text-align:center}.config-field .field-meta{font-size:11px;color:var(--a25-muted);display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.badge{border:1px solid var(--a25-line-dim);padding:2px 4px}.badge.live{color:var(--a25-green)}.badge.reload{color:var(--a25-yellow)}.badge.readonly{color:var(--a25-magenta)}.badge.untested{color:var(--a25-danger);border-color:rgba(255,85,120,.55)}.config-field.is-selected{background:rgba(72,191,255,.08);box-shadow:inset 2px 0 var(--a25-blue)}.config-field input:disabled{opacity:.6;cursor:not-allowed}.reset-field{border:0;background:transparent;color:var(--a25-muted);padding:2px 4px}.reset-field:hover{color:var(--a25-yellow)}
.file-map{min-width:0;display:grid;grid-template-rows:auto minmax(120px,.65fr) minmax(160px,1fr);overflow:hidden}.file-map-head,.source-head{display:flex;justify-content:space-between;gap:8px;padding:7px;border-bottom:1px solid var(--a25-line-dim);color:var(--a25-cyan)}.file-map-head span{color:var(--a25-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-map-tree{overflow:auto;padding:7px}.tree-node{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--a25-blue);padding:3px 5px}.tree-node:hover,.tree-node.is-selected{background:rgba(0,240,164,.1);color:var(--a25-green)}.tree-node.depth-0{padding-left:5px}.tree-node.depth-1{padding-left:20px}.tree-node.depth-2{padding-left:36px}.tree-node.depth-3{padding-left:52px}.source-preview{min-height:0;border-top:1px solid var(--a25-line-dim);display:flex;flex-direction:column}.source-head button{border:1px solid var(--a25-line-dim);background:#001014;color:var(--a25-green);padding:3px 7px}.source-preview pre{margin:0;padding:8px;overflow:auto;flex:1;white-space:pre-wrap;color:var(--a25-blue);font-size:11px}.source-preview mark{background:rgba(255,212,59,.18);color:var(--a25-yellow)}
@media(max-width:1000px){.config-layout{grid-template-columns:1fr}.file-map{grid-template-rows:auto 180px 240px;border-top:1px solid var(--a25-line-dim)}.config-editor{border-right:0}.fixture-picker{grid-template-columns:1fr 1fr}.fixture-picker span{grid-column:1/-1}}
@media(max-width:700px){.config-field{grid-template-columns:1fr}.config-field .field-meta{justify-content:flex-start}.config-layout{height:auto}.config-shell{overflow:auto}.file-map{overflow:visible}.config-toolbar{flex-direction:column}.fixture-picker{grid-template-columns:1fr}}

/* BUILD 4 — multi-screen grid workspace */
.workspace-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px solid var(--a25-line-dim);padding:6px;background:rgba(0,8,12,.72)}
.pane-counts{display:flex;align-items:center;gap:4px}.pane-counts span{color:var(--a25-muted);margin-right:4px}.workspace-toolbar button{border:1px solid var(--a25-line-dim);background:#001014;color:var(--a25-blue);padding:5px 8px}.workspace-toolbar button:hover,.workspace-toolbar button.is-active{border-color:var(--a25-yellow);color:var(--a25-yellow)}
.sync-toggle{margin-left:auto;color:var(--a25-green);display:flex;align-items:center;gap:5px}.sync-toggle input{accent-color:var(--a25-green)}
.workspace-stage{display:block;padding:7px;min-height:270px}.workspace-grid{height:100%;min-height:245px;display:grid;gap:6px}.workspace-grid.panes-1{grid-template-columns:1fr}.workspace-grid.panes-2{grid-template-columns:repeat(2,1fr)}.workspace-grid.panes-3{grid-template-columns:repeat(3,1fr)}.workspace-grid.panes-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.workspace-grid.panes-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.workspace-grid.panes-9{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}
.workspace-pane{min-width:0;min-height:0;border:1px solid var(--a25-line-dim);background:rgba(0,7,11,.84);display:grid;grid-template-rows:auto 1fr;overflow:hidden}.pane-head{display:flex;gap:5px;align-items:center;padding:4px 5px;border-bottom:1px solid var(--a25-line-dim);background:rgba(0,25,31,.76)}.pane-head strong{color:var(--a25-cyan);font-weight:500;margin-right:auto}.pane-head select{max-width:112px;background:#001014;color:var(--a25-blue);border:1px solid var(--a25-line-dim);font:inherit;font-size:10px}.pane-body{min-height:0;overflow:auto;padding:7px;color:var(--a25-blue);font-size:11px;white-space:pre-wrap}.pane-body .metric{color:var(--a25-green)}.pane-body .warn{color:var(--a25-yellow)}.pane-body .diff{color:var(--a25-magenta)}
@media(max-width:1000px){.workspace-grid.panes-3,.workspace-grid.panes-6,.workspace-grid.panes-9{grid-template-columns:repeat(2,1fr)}.sync-toggle{margin-left:0}}
@media(max-width:700px){.workspace-grid,.workspace-grid.panes-2,.workspace-grid.panes-3,.workspace-grid.panes-4,.workspace-grid.panes-6,.workspace-grid.panes-9{grid-template-columns:1fr;grid-template-rows:none}.workspace-pane{min-height:170px}.workspace-stage{overflow:auto}.sync-toggle{width:100%}}
/* The fixture workspace claims fixed grid regions as neighboring windows collapse. */
.desktop.space-no-config .window[data-window="game"]{grid-column:2/-1}
.desktop.space-no-tools.space-no-config .window[data-window="game"]{grid-column:1/-1}
.desktop.space-no-bottom .window[data-window="game"]{grid-row:1/-1}

/* BUILD 5 — visitor inspectors, snapshot/test evidence, catalog and scrapyard */
.a25-modal{width:min(920px,92vw);max-height:82vh;border:1px solid var(--a25-line);background:rgba(0,8,12,.97);color:var(--a25-white);padding:0;box-shadow:0 0 40px rgba(0,230,255,.18)}.a25-modal::backdrop{background:rgba(0,0,0,.7)}.modal-shell{margin:0}.modal-shell>header{display:flex;align-items:center;padding:8px 10px;border-bottom:1px solid var(--a25-line);color:var(--a25-cyan)}.modal-shell>header strong{flex:1}.modal-shell>header button{border:1px solid var(--a25-line-dim);background:#001014;color:var(--a25-yellow)}.modal-body{padding:12px;max-height:72vh;overflow:auto}.inspector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.inspector-card{border:1px solid var(--a25-line-dim);padding:9px;background:rgba(0,16,20,.72)}.inspector-card h3{margin:0 0 6px;color:var(--a25-cyan);font-size:13px}.inspector-card p,.inspector-card pre{margin:5px 0;color:var(--a25-blue);white-space:pre-wrap;overflow-wrap:anywhere}.inspector-card .good{color:var(--a25-green)}.inspector-card .warn{color:var(--a25-yellow)}.inspector-card .bad{color:var(--a25-danger)}.inspector-actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.inspector-actions button,.inspector-actions label{border:1px solid var(--a25-line-dim);background:#001014;color:var(--a25-blue);padding:6px 8px}.inspector-actions button:hover,.inspector-actions label:hover{border-color:var(--a25-yellow);color:var(--a25-yellow)}.inspector-actions input[type=file]{display:none}.drop-zone{border:1px dashed var(--a25-green);padding:18px;text-align:center;color:var(--a25-green);margin:8px 0}.visitor-note{border-left:2px solid var(--a25-yellow);padding:7px 9px;background:rgba(255,212,59,.06);color:var(--a25-muted)}
