/* The dashboard stays a dark instrument panel beneath the bright valley battle.
   It is intentionally independent from the public-page cards in ui.css. */
.play-deck{display:block}
.unified-dashboard{margin-top:18px;min-height:0;overflow:visible;border:1px solid var(--lp-instrument-border);border-radius:var(--lp-card-radius);background:var(--lp-instrument);color:var(--lp-instrument-text);box-shadow:var(--lp-shadow)}
.dashboard-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--lp-instrument-border)}
.dashboard-toolbar>div{flex:1;min-width:220px}.dashboard-toolbar h2{margin:0;font-size:24px;letter-spacing:-.02em}.dashboard-status{font-size:14px;color:var(--lp-instrument-muted)}
.cockpit-live,.cockpit-retry,.copy-identity{border:1px solid #87a9b2;background:var(--lp-instrument-raised);color:var(--lp-instrument-text);font-weight:750}.cockpit-live,.cockpit-retry{padding:8px 12px}.cockpit-live:disabled{opacity:.55}

/* Navigation precedes the tall evidence panes, so it remains available while
   reading a gate graph on a phone. */
.dashboard-timeline{position:sticky;top:8px;z-index:3;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 24px;border-bottom:1px solid var(--lp-instrument-border);background:#173546f5;box-shadow:0 6px 14px #0c243133}
.dashboard-timeline strong{margin-right:6px;font-size:14px}.timeline-shot{min-height:44px;padding:6px 12px;border:1px solid #6b8c97;border-radius:10px;background:#214453;color:var(--lp-instrument-text);font-size:13px;line-height:1.25}.timeline-shot small{display:block;margin-top:2px;font-size:12px;color:#cce0dc}.timeline-shot[aria-pressed=true]{border-color:#ffe39a;background:#2d5360;box-shadow:inset 0 0 0 2px var(--lp-gold)}

.dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dashboard-side{min-width:0}.dashboard-side+.dashboard-side{border-left:1px solid var(--lp-instrument-border)}
.side-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:3px solid #759ac0}.side-heading h3{margin:0;color:#a8d0ff;font-size:18px}.side-orange .side-heading{border-bottom-color:#d58a61}.side-orange .side-heading h3{color:#ffc29c}.side-phase{max-width:58%;color:#c0d5d8;text-align:right;font-size:13px;line-height:1.35}.is-current>.side-heading{background:#244a58}.is-pending>.side-heading{background:#31566a}
/* Both sides retain the same 01–04 sequence. They deliberately size their
   own expanded details; a 37-bit expansion on one side no longer creates a
   blank matching row on the other. */
.side-pane{display:block;min-width:0}.side-pane>.cockpit-section,.side-pane>.cockpit-empty{padding:20px 24px;border-bottom:1px solid #426272;min-width:0}.side-pane>.cockpit-empty{min-height:220px}.side-pane .cockpit-section h2,.side-pane .cockpit-empty h2{margin:0;color:#fffaf0;font-size:16px}.cockpit-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.cockpit-hint,.cockpit-empty p{margin:8px 0 0;color:var(--lp-instrument-muted);font-size:14px;line-height:1.55}.source-badge,.gate-count{display:inline-block;padding:3px 7px;border:1px solid #719aa4;border-radius:99px;color:#d9ece7;font-size:13px;white-space:nowrap}

.identity-title{margin:10px 0;color:#ffe08a;font-size:15px;font-weight:800}.identity-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.identity-fact{padding:7px 4px;border-radius:8px;background:#264b5d;text-align:center}.identity-fact span{display:block;color:#b7d0d5;font-size:13px}.identity-fact strong{display:block;margin-top:2px;color:#fff8e5;font-size:16px}.identity-provenance{margin-top:10px;color:#c5dad8;font-size:14px}.identity-provenance summary{cursor:pointer}.hash-line{margin:9px 0 0;color:#c8dcda;font:600 13px/1.55 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.identity-copy-row{display:flex;align-items:flex-start;gap:8px}.identity-copy-row code{flex:1;min-width:0}.copy-identity{flex:none;min-width:0;min-height:44px;padding:5px 8px;font-size:13px}

.sense-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.sense-item{min-width:0;padding:9px 5px;border:1px solid #426c77;border-radius:8px;background:#204657;color:#edf5ef;font-size:14px;line-height:1.35;text-align:center;overflow-wrap:anywhere}.sense-item b{display:block;margin-bottom:3px;color:#a8ddd3;font-size:13px}.input-bits-details{margin-top:10px;color:#d3e4df;font-size:14px}.input-bits-details summary{cursor:pointer}.input-bits-details .pin-grid{margin-top:10px}.pin-grid{display:grid;grid-template-columns:repeat(8,minmax(40px,1fr));gap:5px;margin-top:10px}.pin-bit{min-width:0;min-height:40px;padding:3px;border:1px solid #4e7480;border-radius:7px;background:#284b5b;color:#fff;display:grid;place-items:center;line-height:1}.signal-bit{cursor:default}.pin-bit.bit-1{background:#d69c25;border-color:#ffdc75;color:#273522;box-shadow:inset 0 0 0 1px #ffe9a0}.pin-index{font-size:12px;opacity:.82}.pin-bit strong{font-size:15px}.pin-caption{margin:9px 0 0;color:#dcebe2;font-size:13px;line-height:1.55;overflow-wrap:anywhere}

.output-picker{display:grid;gap:5px;margin-bottom:12px;color:#d6e7e2;font-size:14px}.output-picker select,.gate-finder input{width:100%;border:1px solid #77969f;background:#203f4d;color:#ecf3ef}.output-picker select{min-height:44px}.fanin-map-scroll,.gate-map-scroll{max-width:100%;overflow:auto;border-radius:10px}.fanin-map{display:block;margin-top:8px;border:1px solid #587b86;border-radius:8px;background:#102b38}.fanin-wire{fill:none;stroke:#a4c5c9;stroke-width:1.6}.fanin-node{fill:#345b69;stroke:#b3d3d4;stroke-width:1.4}.fanin-node.value-1{fill:#e1a62d;stroke:#fff0a8}.fanin-node.selected{stroke:#fffdf5;stroke-width:3}.fanin-map text{fill:#f4faf2;font:600 13px ui-monospace,SFMono-Regular,monospace;pointer-events:none}.fanin-map g:focus .fanin-node{stroke:#fff0a8;stroke-width:3}

.gate-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:10px;color:#c4dcda;font-size:14px}.gate-controls>span{margin-right:auto;padding-bottom:10px}.gate-finder{display:grid;gap:4px;min-width:150px;font-size:13px;color:#c4dcda}.gate-finder input{min-height:44px;padding:7px 9px}.gate-zoom{min-height:44px;min-width:44px;padding:4px 10px;border:1px solid #638b95;border-radius:8px;background:#22495a;color:#eaf5ee;font-weight:900}.gate-zoom:disabled{opacity:.4}.gate-map{display:block;width:100%;min-height:180px;margin:0;border:1px solid #416372;border-radius:9px;background:#0c2533;cursor:crosshair}.gate-detail{margin-top:12px;padding:11px;border:1px solid #527a84;border-radius:9px;background:#214453;color:#e4eeea;font-size:14px;line-height:1.55}.gate-detail strong{color:#ffe08a}.gate-detail p{margin:5px 0;overflow-wrap:anywhere}.gate-wire{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:9px 0;padding:8px;border-radius:7px;background:#143543;font-size:13px}.gate-wire i{color:#b8dbd4;font-style:normal}.wire-node{padding:3px 5px;border:1px solid #638b95;border-radius:5px;color:#edf8ef}.wire-node.selected{border-color:#f0bf44;background:#c98e1c;color:#1d3034}

.output-section{background:#14303f}.action-explanation{margin:10px 0 0;color:#fff0c4;font-size:16px;font-weight:800;line-height:1.5}.shot-outcome{font-size:16px;color:#ffd091;font-weight:800}.memory-timeline{display:flex;align-items:stretch;gap:6px;margin-top:10px}.memory-step{flex:1;display:grid;gap:3px;padding:8px 4px;border:1px solid #567985;border-radius:8px;background:#244958;text-align:center}.memory-step span{color:#c5d9dc;font-size:13px}.memory-step strong{color:#ffe08a;font-size:15px;letter-spacing:.06em}.memory-arrow{align-self:center;color:#b6ddd5;font-style:normal}.phase-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.phase-picker button{min-height:44px;padding:7px 12px;border:1px solid #638b95;border-radius:8px;background:#22495a;color:#eaf5ee;font-weight:800;font-size:14px}.phase-picker button.selected{background:#d69c25;border-color:#ffe091;color:#21323a}
.unified-dashboard .history-panel{border-radius:0 0 var(--lp-card-radius) var(--lp-card-radius)}.unified-dashboard .history-picker{display:none}.unified-dashboard .history-content{grid-template-columns:1fr}.side-pane details summary{display:flex;align-items:center;min-height:44px}.side-pane button:focus-visible,.side-pane select:focus-visible,.side-pane input:focus-visible,.timeline-shot:focus-visible{outline:3px solid #fff0ae;outline-offset:3px}

@media(max-width:760px){.unified-dashboard{border-radius:12px}.dashboard-toolbar{padding:16px}.dashboard-toolbar h2{font-size:22px}.dashboard-toolbar>div{min-width:0}.dashboard-timeline{top:0;padding:12px 16px}.dashboard-columns{grid-template-columns:1fr}.dashboard-side+.dashboard-side{border-left:0;border-top:3px solid #496a76}.side-heading,.side-pane>.cockpit-section,.side-pane>.cockpit-empty{padding:16px}.side-pane>.cockpit-empty{min-height:180px}.side-phase{max-width:62%;font-size:13px}.side-pane .sense-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-copy-row{display:block}.copy-identity{margin-top:7px}.pin-grid{grid-template-columns:repeat(7,minmax(40px,1fr))}.gate-controls>span{width:100%;padding-bottom:0}.gate-finder{flex:1}.memory-timeline{gap:4px}.memory-arrow{display:none}.unified-dashboard .history-panel{border-radius:0 0 12px 12px}}
@media(prefers-reduced-motion:no-preference){.side-heading,.timeline-shot{transition:background-color .2s ease,border-color .2s ease}}
/* Pair corresponding stages, including expanded details and translated copy. */
@media(min-width:761px){
 .dashboard-columns{grid-template-rows:repeat(6,auto);align-items:stretch}
 .dashboard-side{display:grid;grid-template-rows:subgrid;grid-row:1 / span 6}
 .side-blue{grid-column:1}.side-orange{grid-column:2}
 .side-pane{display:grid;grid-template-rows:subgrid;grid-row:2 / span 5}
}
@media(max-width:760px){
 .dashboard-side,.side-pane{display:contents}
 .side-heading,.side-pane>.cockpit-section,.side-pane>.cockpit-empty{grid-column:1}
 .side-blue>.side-heading{grid-row:1}.side-orange>.side-heading{grid-row:2}
 .side-blue .side-pane>:nth-child(1){grid-row:3}.side-orange .side-pane>:nth-child(1){grid-row:4}
 .side-blue .side-pane>:nth-child(2){grid-row:5}.side-orange .side-pane>:nth-child(2){grid-row:6}
 .side-blue .side-pane>:nth-child(3){grid-row:7}.side-orange .side-pane>:nth-child(3){grid-row:8}
 .side-blue .side-pane>:nth-child(4){grid-row:9}.side-orange .side-pane>:nth-child(4){grid-row:10}
 .side-blue .side-pane>:nth-child(5){grid-row:11}.side-orange .side-pane>:nth-child(5){grid-row:12}
 .side-pane>.cockpit-section::before{display:block;margin-bottom:12px;font-size:12px;font-weight:800}
 .side-blue .cockpit-section::before{content:'● BLUE';color:#a8d0ff}.side-orange .cockpit-section::before{content:'● ORANGE';color:#ffc29c}
}
