:root { --ink:#111; --muted:#555; --line:#808080; --green:#006b55; --yellow:#6b5200; --pink:#7b285c; --red:#a00000; --silver:#c0c0c0; --navy:#000080; --teal:#007b7b; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--teal); color:var(--ink); font:13px/1.55 Tahoma,"SimSun",sans-serif; letter-spacing:0; }
button,input,select { font:inherit; }
button { cursor:pointer; }
.shell { min-height:100vh; display:grid; grid-template-rows:auto 1fr auto; background-color:var(--teal); background-image:radial-gradient(#159292 1px,transparent 1px); background-size:4px 4px; }
.topbar { display:flex; align-items:center; gap:18px; min-height:48px; margin:8px 8px 0; padding:5px 8px; background:linear-gradient(90deg,#000080,#1084d0); color:#fff; border:2px solid; border-color:#fff #222 #222 #fff; }
.brand { margin-right:auto; }
.brand b { display:block; color:#fff; font-size:15px; }
.brand small,.top-meta { color:#e5efff; }
.clock { padding:2px 8px; color:#fff; background:#000; font:16px "Courier New",monospace; }
.workspace { display:grid; grid-template-columns:230px minmax(0,1fr); min-height:0; }
.sidebar { margin-left:8px; padding:12px 8px; background:var(--silver); border:2px solid; border-color:#fff #222 #222 #fff; }
.case-title { padding:0 8px 16px; border-bottom:1px solid var(--line); }
.case-title small { color:var(--navy); }
.case-title h1 { margin:4px 0 0; font-size:18px; }
.nav { display:grid; gap:5px; margin-top:14px; }
.nav button { padding:8px 10px; background:var(--silver); color:#111; border:2px solid; border-color:#fff #333 #333 #fff; text-align:left; }
.nav button:active,.nav button.active { background:#ddd; border-color:#333 #fff #fff #333; color:var(--navy); }
.content { min-width:0; margin-right:8px; padding:18px clamp(14px,3vw,36px); background:#ececec; border:2px solid; border-color:#444 #fff #fff #444; overflow:auto; }
.content-inner { max-width:980px; }
.section-head { margin:0 0 18px; padding:5px 8px; background:linear-gradient(90deg,#000080,#1084d0); color:#fff; border:1px solid #000; font-size:16px; }
.document { margin:0 0 18px; padding:18px 20px; background:#d9d6bf; color:#24251f; border:1px solid #8a8978; box-shadow:4px 4px 0 #050908; }
.document.dark { background:#fff; color:#111; border-color:#777; }
.document h2,.document h3 { margin-top:0; font-size:16px; }
.document .meta { color:#625f52; font-size:12px; }
.document.dark .meta { color:#666; }
.document ol { padding-left:22px; }
.document li { margin:8px 0; }
.stamp { display:inline-block; padding:4px 8px; color:#8a1d25; border:2px solid #8a1d25; transform:rotate(-2deg); }
.log { padding:14px; background:#000; color:#76ff76; border:2px inset #aaa; font-family:"Courier New",monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.evidence-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.evidence-tabs button,.action { padding:7px 12px; background:var(--silver); color:#111; border:2px solid; border-color:#fff #333 #333 #fff; }
.evidence-tabs button.active,.action:active { background:#ddd; color:var(--navy); border-color:#333 #fff #fff #333; }
.decision { display:grid; gap:16px; max-width:720px; }
.workbench { padding:3px; background:var(--silver); border:2px solid; border-color:#fff #222 #222 #fff; }
.workbench>.app-caption { margin:-1px -1px 8px; padding:4px 7px; background:linear-gradient(90deg,#000080,#1084d0); color:#fff; font-weight:bold; }
.workbench>label { display:grid; gap:4px; padding:0 10px; }
.workbench>.primary,.workbench>.feedback { margin-left:10px; margin-right:10px; }
.property-grid,.mount-grid,.track-console { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; padding:10px; }
.property-grid label,.mount-grid label,.track-console label { display:grid; gap:4px; align-content:start; }
.property-grid input,.property-grid select,.mount-grid select,.track-console select { width:100%; min-width:0; padding:6px; background:#fff; border:2px inset #ddd; }
.system-prefill { color:#777!important; text-decoration:line-through; }
.media-slot { min-height:74px; padding:10px; background:#999; color:#333; border:3px inset #ddd; }
.media-slot b,.media-slot span { display:block; }
.media-slot.mounted { background:#101710; color:#74ff74; font-family:"Courier New",monospace; }
.toggle-line { display:flex!important; align-items:center; gap:8px; margin:4px 10px; padding:9px; background:#ddd; border:2px inset #fff; }
.toggle-line input,.track-console input { width:auto!important; accent-color:var(--navy); }
.track-console label { display:flex; align-items:center; gap:8px; min-height:42px; padding:8px; background:#222; color:#8cff8c; border:3px inset #aaa; font-family:"Courier New",monospace; }
.target-counter { display:grid; grid-template-columns:1fr auto; gap:2px 14px; margin:10px; padding:12px; background:#000; color:#7cff7c; border:3px inset #aaa; font-family:"Courier New",monospace; }
.target-counter strong { grid-row:1/3; grid-column:2; font-size:30px; }
.decision fieldset { margin:0; padding:14px 16px; border:1px solid #777; background:var(--silver); }
.decision legend { color:var(--yellow); padding:0 6px; }
.decision label { display:block; margin:8px 0; }
.decision input[type="radio"] { accent-color:var(--green); }
.decision input[type="text"],.decision input:not([type]),.decision select { width:min(360px,100%); padding:6px; background:#fff; color:#111; border:2px inset #ddd; }
.field-grid fieldset:first-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; }
.field-grid fieldset:first-child legend { grid-column:1/-1; }
.primary { padding:7px 18px; background:var(--silver); color:#111; border:2px solid; border-color:#fff #222 #222 #fff; font-weight:bold; }
.primary:active { border-color:#222 #fff #fff #222; }
.primary:disabled { opacity:.35; cursor:default; }
.feedback { min-height:42px; margin-top:12px; padding:8px 10px; border:2px inset #ddd; background:#fff; color:#554100; }
.feedback.bad { border-color:var(--red); color:#f29a9a; }
.tool-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.tool { min-height:110px; padding:15px; background:var(--silver); border:2px solid; border-color:#fff #333 #333 #fff; }
.tool b { display:block; color:var(--green); margin-bottom:8px; }
.tool.locked { color:#59665f; }
.recorder { display:flex; gap:8px; align-items:center; padding:12px; background:#222; color:#7cff00; border:3px ridge #aaa; }
.recorder button { width:42px; height:34px; background:#521b2c; color:#fff; border:1px solid var(--pink); }
.rule-live { font-size:16px; }
.changed { color:#91214c; text-decoration:underline wavy; }
.spectrum { display:flex; justify-content:center; align-items:center; gap:12px; height:180px; background:#040807; border:1px solid var(--line); }
.spectrum i { width:12px; background:var(--green); box-shadow:0 0 12px #42be83; }
.spectrum i:nth-child(2),.spectrum i:nth-child(6) { height:70%; }
.spectrum i:nth-child(3),.spectrum i:nth-child(5) { height:35%; background:var(--yellow); }
.spectrum i:nth-child(4) { height:92%; background:var(--pink); }
.dial-label { display:grid; gap:10px; color:var(--yellow); }
.dial-label input { width:100%; accent-color:var(--green); }
.track-list { display:grid; gap:7px; margin:18px 0; }
.track-list span { padding:9px 12px; border-left:3px solid var(--line); background:#080e0d; }
.track-list .muted-track { color:#56645d; }
.track-list .found { color:var(--green); border-left-color:var(--green); }
.document table { width:100%; border-collapse:collapse; }
.document th,.document td { padding:8px; border:1px solid #878574; text-align:left; vertical-align:top; }
.optical-band { margin:18px 0; padding:24px 12px; color:rgba(125,230,170,var(--reveal)); border:1px solid #29483c; background:linear-gradient(90deg,#173f8c,#29a878,#d8dd57); font-weight:bold; text-shadow:0 1px #000; }
.shift-ledger>div { display:grid; grid-template-columns:130px 1fr; gap:8px; padding:9px 0; border-top:1px solid var(--line); }
.shift-ledger code { display:block; color:var(--green); overflow-wrap:anywhere; }
.statusbar { display:flex; gap:18px; margin:0 8px 7px; padding:5px 9px; background:var(--silver); border:2px solid; border-color:#fff #333 #333 #fff; color:#222; }
.statusbar span:last-child { margin-left:auto; }
.complete { min-height:100vh; display:grid; place-items:center; padding:20px; background:var(--teal); background-image:radial-gradient(#159292 1px,transparent 1px); background-size:4px 4px; text-align:left; }
.complete>div { width:min(680px,100%); min-width:0; padding:28px; background:var(--silver); border:2px solid; border-color:#fff #222 #222 #fff; box-shadow:8px 8px 0 #004e4e; }
.complete h1 { color:var(--navy); font-size:30px; }
.complete pre { padding:12px; background:#020403; color:var(--yellow); white-space:pre-wrap; overflow-wrap:anywhere; }
.complete a { color:var(--pink); }
@media (max-width:720px) {
  .topbar { align-items:flex-start; flex-wrap:wrap; }
  .top-meta { display:none; }
  .workspace { grid-template-columns:1fr; }
  .sidebar { border-right:0; border-bottom:1px solid var(--line); padding:10px; }
  .case-title { padding-bottom:8px; }
  .nav { grid-template-columns:repeat(4,1fr); margin-top:8px; }
  .nav button { padding:8px 4px; border-left:0; border-bottom:3px solid transparent; text-align:center; font-size:12px; }
  .nav button.active { border-bottom-color:var(--green); }
  .content { padding:18px 12px 80px; }
  .field-grid fieldset:first-child { grid-template-columns:1fr; }
  .property-grid,.mount-grid,.track-console { grid-template-columns:1fr; }
  .shift-ledger>div { grid-template-columns:1fr; }
  .statusbar { position:fixed; left:0; right:0; bottom:0; z-index:5; }
}
