:root { color-scheme: dark; --bg:#080711; --panel:#12101c; --line:rgba(202,166,255,.2); --text:#f3edf9; --muted:#a9a0b3; --gold:#f4c36a; --cyan:#80e6ff; --red:#ff657e; }
* { box-sizing: border-box; }
html, body { margin:0; min-height:100%; background:radial-gradient(circle at 15% 0,rgba(109,64,172,.2),transparent 35rem),var(--bg); color:var(--text); font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif; }
body { min-height:100vh; }
.dash-head { position:sticky; z-index:20; top:0; display:flex; align-items:center; gap:24px; min-height:72px; padding:12px clamp(16px,3vw,38px); border-bottom:1px solid var(--line); background:rgba(8,7,17,.9); backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:10px; color:var(--text); text-decoration:none; font-weight:900; }
.brand img { width:38px; height:38px; border-radius:10px; }
.title { display:flex; flex-direction:column; min-width:150px; }
.title strong { font-size:1.08rem; }
.title span { color:var(--muted); font-size:.78rem; }
.actions { display:flex; align-items:center; justify-content:flex-end; flex:1; gap:10px; }
.actions label { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:.78rem; }
.actions select, .actions button, .actions a { min-height:38px; border:1px solid var(--line); border-radius:9px; padding:8px 11px; color:var(--text); background:#181522; font:inherit; font-size:.8rem; font-weight:700; text-decoration:none; cursor:pointer; }
main { padding:clamp(14px,2.5vw,32px); }
.notice { margin:0 0 18px; border:1px solid rgba(255,101,126,.45); border-radius:12px; padding:13px 15px; color:#ffd5dc; background:rgba(255,101,126,.08); }
.control-panel { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(300px,1.25fr); gap:18px 28px; margin-bottom:24px; border:1px solid var(--line); border-radius:18px; padding:clamp(18px,2.5vw,28px); background:linear-gradient(125deg,rgba(103,55,165,.17),transparent 52%),var(--panel); box-shadow:0 18px 50px rgba(0,0,0,.23); }
.control-copy h1 { margin:4px 0 8px; font-size:clamp(1.25rem,2.4vw,1.9rem); }
.control-copy p, .learning-note { margin:0; color:var(--muted); line-height:1.5; font-size:.82rem; }
.eyebrow { color:var(--gold); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.control-options { display:flex; align-items:center; justify-content:flex-end; gap:16px; flex-wrap:wrap; }
.control-options label { color:var(--muted); font-size:.78rem; }
.control-options select { margin-left:6px; border:1px solid var(--line); border-radius:8px; padding:8px 10px; color:var(--text); background:#0c0a12; }
.control-options .learning { display:flex; align-items:center; gap:8px; color:var(--text); }
.control-options input { width:17px; height:17px; accent-color:#9f62ed; }
.model-head { grid-column:1/-1; display:flex; justify-content:space-between; gap:14px; color:var(--muted); font-size:.77rem; }
.model-head strong { color:var(--text); }
.model-tools { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.model-tools input, .session-search input { min-width:min(280px,100%); border:1px solid var(--line); border-radius:9px; padding:9px 11px; color:var(--text); background:#0c0a12; outline:none; }
.model-tools input:focus, .session-search:focus-within { border-color:rgba(128,230,255,.55); box-shadow:0 0 0 3px rgba(128,230,255,.08); }
.model-tools button { border:1px solid var(--line); border-radius:8px; padding:8px 10px; color:var(--text); background:#181522; font:700 .72rem inherit; cursor:pointer; }
#selectionSummary { margin-left:auto; color:var(--cyan); font-size:.74rem; }
.model-list { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:9px; max-height:290px; overflow:auto; padding-right:4px; }
.model-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid var(--line); border-radius:11px; padding:10px 12px; background:#0c0a12; cursor:pointer; }
.model-row[hidden] { display:none; }
.model-row:has(input:checked) { border-color:rgba(159,98,237,.75); background:rgba(103,55,165,.16); }
.model-row input[type="checkbox"] { width:17px; height:17px; accent-color:#9f62ed; }
.model-info { min-width:0; }
.model-info strong, .model-info span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-info strong { font:700 .78rem "Cascadia Code",Consolas,monospace; }
.model-info span { margin-top:3px; color:var(--muted); font-size:.67rem; }
.model-count { width:58px; border:1px solid var(--line); border-radius:8px; padding:7px; color:var(--text); background:#181522; text-align:center; }
.control-actions { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.control-actions button { min-height:39px; border:1px solid var(--line); border-radius:9px; padding:8px 13px; color:var(--text); background:#181522; font:700 .78rem inherit; cursor:pointer; }
.control-actions button:disabled { opacity:.45; cursor:wait; }
.control-actions .primary { border-color:rgba(128,230,255,.4); background:linear-gradient(135deg,#6040a0,#263f79); }
.control-actions .danger { color:#ffc4ce; }
#runnerStatus { flex:1; min-width:180px; color:var(--muted); font-size:.75rem; text-align:right; }
.learning-note { grid-column:1/-1; border-top:1px solid var(--line); padding-top:13px; }
.learning-note code { color:#ead8ff; }
.coach-panel { margin:0 0 24px; border:1px solid rgba(244,195,106,.3); border-radius:18px; padding:clamp(16px,2.2vw,24px); background:radial-gradient(circle at 100% 0,rgba(244,195,106,.1),transparent 34rem),var(--panel); box-shadow:0 18px 50px rgba(0,0,0,.22); }
.coach-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.coach-head h2 { margin:4px 0 6px; font-size:clamp(1.1rem,2vw,1.5rem); }
.coach-head p { max-width:880px; margin:0; color:var(--muted); font-size:.77rem; line-height:1.5; }
.coach-switch { display:flex; flex:0 0 auto; align-items:center; gap:8px; border:1px solid var(--line); border-radius:9px; padding:8px 10px; color:#ead8ff; background:#181522; font-size:.72rem; font-weight:700; cursor:pointer; }
.coach-switch input { width:17px; height:17px; accent-color:#f4c36a; }
#coachTips { display:block; width:100%; min-height:170px; resize:vertical; margin-top:14px; border:1px solid var(--line); border-radius:12px; padding:13px 14px; color:var(--text); background:#09070e; font:13px/1.55 "Cascadia Code",Consolas,monospace; outline:none; }
#coachTips:focus { border-color:rgba(244,195,106,.55); box-shadow:0 0 0 3px rgba(244,195,106,.07); }
.coach-footer { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:10px; }
.coach-footer span { color:var(--muted); font-size:.68rem; }
#coachStatus { flex:1; min-width:220px; color:#e4d4ee; }
#coachCount { white-space:nowrap; }
.coach-footer button { border:1px solid var(--line); border-radius:8px; padding:8px 11px; color:var(--text); background:#181522; font:700 .7rem inherit; cursor:pointer; }
.coach-footer button.primary { border-color:rgba(244,195,106,.42); color:#ffe5ac; background:linear-gradient(135deg,#5d3e75,#664d27); }
.coach-footer button:disabled { opacity:.45; cursor:wait; }
.coach-note { margin:10px 0 0; border-top:1px solid var(--line); padding-top:9px; color:var(--muted); font-size:.67rem; }
.coach-note strong { color:var(--cyan); }
.mentor-panel { margin:0 0 24px; border:1px solid rgba(105,229,158,.3); border-radius:18px; padding:clamp(16px,2.2vw,24px); background:radial-gradient(circle at 0 0,rgba(105,229,158,.09),transparent 34rem),var(--panel); box-shadow:0 18px 50px rgba(0,0,0,.22); }
.mentor-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.mentor-head h2 { margin:4px 0 6px; font-size:clamp(1.1rem,2vw,1.5rem); }
.mentor-head p { max-width:820px; margin:0; color:var(--muted); font-size:.76rem; line-height:1.5; }
.mentor-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.mentor-actions button { border:1px solid var(--line); border-radius:8px; padding:9px 11px; color:var(--text); background:#181522; font:700 .7rem inherit; cursor:pointer; }
.mentor-actions button.primary { border-color:rgba(105,229,158,.42); color:#b8ffd1; background:linear-gradient(135deg,#275944,#38345f); }
.mentor-actions button.danger { color:#ff9caf; }
.mentor-actions button:disabled { opacity:.42; cursor:not-allowed; }
.mentor-status-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:15px; }
.mentor-status-grid article { border:1px solid var(--line); border-radius:10px; padding:9px 11px; background:rgba(5,4,9,.5); }
.mentor-status-grid span,.mentor-status-grid strong { display:block; }
.mentor-status-grid span { color:var(--muted); font-size:.58rem; letter-spacing:.05em; text-transform:uppercase; }
.mentor-status-grid strong { margin-top:3px; color:#8ff0b4; font-size:.95rem; }
.mentor-learning { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); gap:14px; margin-top:12px; }
.mentor-learning > div,.mentor-learning canvas { min-width:0; border:1px solid var(--line); border-radius:11px; padding:10px; background:#080711; }
.mentor-learning canvas { display:block; width:100%; height:170px; padding:0; }
.mentor-confidence-head { display:flex; justify-content:space-between; gap:12px; color:#dcd0e7; font-size:.72rem; }
.mentor-confidence-head span { color:#8ff0b4; }
.mentor-confidence-bar { display:block; height:7px; margin:8px 0 10px; overflow:hidden; border-radius:9px; background:rgba(255,255,255,.08); }
.mentor-confidence-bar i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#9f62ed,#80e6ff,#69e59e); transition:width .2s; }
.mentor-genes { max-width:none; }
#mentorPicks { margin:9px 0 0; color:var(--muted); font-size:.66rem; }
.mentor-note { margin:11px 0 0; color:var(--muted); font-size:.68rem; }
.session-hosts { position:fixed; left:-10000px; top:0; width:640px; height:360px; overflow:hidden; pointer-events:none; }
.session-hosts iframe { width:640px; height:360px; border:0; }
.genetics-lab { margin:0 0 20px; border:1px solid rgba(128,230,255,.22); border-radius:18px; padding:clamp(16px,2.2vw,24px); background:radial-gradient(circle at 90% 0,rgba(40,167,180,.12),transparent 35rem),var(--panel); box-shadow:0 18px 50px rgba(0,0,0,.22); }
.genetics-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.genetics-head h2 { margin:4px 0 6px; font-size:clamp(1.1rem,2vw,1.55rem); }
.genetics-head p { max-width:780px; margin:0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.genetics-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.genetics-actions button, .genome-actions button { border:1px solid var(--line); border-radius:8px; padding:8px 10px; color:var(--text); background:#181522; font:700 .7rem inherit; cursor:pointer; }
.genetics-actions button:disabled, .genome-actions button:disabled { opacity:.42; cursor:wait; }
.genetics-actions button:first-child { border-color:rgba(128,230,255,.4); background:linear-gradient(135deg,#244f66,#473574); }
.genetics-summary { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin:16px 0; }
.genetics-summary article { border:1px solid var(--line); border-radius:11px; padding:10px 12px; background:rgba(5,4,9,.45); }
.genetics-summary span, .genetics-summary strong { display:block; }
.genetics-summary span { color:var(--muted); font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; }
.genetics-summary strong { margin-top:3px; overflow:hidden; font-size:.94rem; text-overflow:ellipsis; white-space:nowrap; }
.genetics-summary .live-summary { border-color:rgba(105,229,158,.32); background:rgba(105,229,158,.055); }
.genetics-summary .live-summary strong { color:#8ff0b4; }
.autopilot-panel { margin:0 0 14px; border:1px solid rgba(159,98,237,.32); border-radius:14px; padding:14px; background:radial-gradient(circle at 100% 0,rgba(159,98,237,.12),transparent 32rem),rgba(5,4,9,.48); }
.autopilot-panel.active { border-color:rgba(105,229,158,.38); box-shadow:inset 0 0 32px rgba(105,229,158,.035); }
.autopilot-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.autopilot-head h3 { margin:2px 0 4px; font-size:1.08rem; }
.autopilot-head p { max-width:760px; margin:0; color:var(--muted); font-size:.7rem; line-height:1.45; }
.autopilot-switch { display:flex; flex:0 0 auto; align-items:center; gap:8px; color:var(--muted); cursor:pointer; }
.autopilot-switch input { position:absolute; opacity:0; pointer-events:none; }
.autopilot-switch span { position:relative; width:48px; height:25px; border:1px solid var(--line); border-radius:99px; background:#181522; }
.autopilot-switch span::after { content:""; position:absolute; left:3px; top:3px; width:17px; height:17px; border-radius:50%; background:#8f829e; transition:transform .16s,background .16s; }
.autopilot-switch input:checked + span { border-color:rgba(105,229,158,.45); background:rgba(105,229,158,.1); }
.autopilot-switch input:checked + span::after { transform:translateX(23px); background:#69e59e; box-shadow:0 0 12px rgba(105,229,158,.65); }
.autopilot-switch strong { min-width:26px; color:#b7a9c4; font-size:.72rem; }
.autopilot-panel.active .autopilot-switch strong { color:#8ff0b4; }
.autopilot-settings { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:9px; margin-top:14px; }
.autopilot-settings label { display:flex; min-width:0; flex-direction:column; gap:5px; color:var(--muted); font-size:.62rem; text-transform:uppercase; letter-spacing:.05em; }
.autopilot-settings select, .autopilot-settings input[type="number"] { width:100%; min-width:0; border:1px solid var(--line); border-radius:8px; padding:8px 9px; color:var(--text); background:#0c0a12; }
.autopilot-settings input[type="range"] { width:100%; accent-color:#9f62ed; }
.autopilot-settings output { float:right; color:var(--cyan); }
.autopilot-options { display:flex; flex-wrap:wrap; gap:9px 22px; margin-top:11px; color:#d2c5de; font-size:.7rem; }
.autopilot-options label { display:flex; align-items:center; gap:7px; }
.autopilot-options input { accent-color:#9f62ed; }
.autopilot-status-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:12px; }
.autopilot-status-grid article { border:1px solid var(--line); border-radius:9px; padding:8px 10px; background:rgba(17,14,25,.72); }
.autopilot-status-grid span, .autopilot-status-grid strong { display:block; }
.autopilot-status-grid span { color:var(--muted); font-size:.57rem; text-transform:uppercase; letter-spacing:.06em; }
.autopilot-status-grid strong { margin-top:3px; color:#e9ddf3; font-size:.82rem; }
.autopilot-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:11px; }
.autopilot-actions button { border:1px solid var(--line); border-radius:8px; padding:8px 11px; color:var(--text); background:#181522; font:700 .7rem inherit; cursor:pointer; }
.autopilot-actions .primary { border-color:rgba(128,230,255,.35); background:linear-gradient(135deg,#493270,#24495e); }
.autopilot-actions button:disabled { opacity:.45; cursor:wait; }
#autopilotHint { flex:1; min-width:230px; color:var(--muted); font-size:.67rem; text-align:right; }
.autopilot-history { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 14px; max-height:112px; overflow:auto; margin:11px 0 0; border-top:1px solid var(--line); padding:9px 0 0 20px; color:#bfb1cb; font:10px "Cascadia Code",Consolas,monospace; }
.autopilot-history:empty { display:none; }
.autopilot-history li::marker { color:#80e6ff; }
.autopilot-history time { margin-right:7px; color:#81758e; }
.knowledge-network { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,270px); align-items:center; gap:14px; margin:0 0 14px; border:1px solid var(--line); border-radius:12px; padding:8px 12px; background:rgba(5,4,9,.42); }
.knowledge-network canvas { display:block; width:100%; height:160px; }
.knowledge-network p { margin:0; color:var(--muted); font-size:.68rem; line-height:1.5; }
.knowledge-network strong { color:var(--cyan); }
.genetics-table-wrap { max-height:470px; overflow:auto; border:1px solid var(--line); border-radius:12px; }
.genetics-table { width:100%; border-collapse:collapse; font-size:.72rem; }
.genetics-table th { position:sticky; z-index:2; top:0; padding:9px 10px; color:var(--muted); background:#0c0a12; text-align:left; text-transform:uppercase; letter-spacing:.05em; font-size:.61rem; }
.genetics-table td { padding:10px; border-top:1px solid var(--line); vertical-align:top; }
.genetics-table tr.best { background:rgba(105,229,158,.055); }
.genetics-table tr.worst { background:rgba(255,101,126,.04); }
.genetics-table tr.selected { outline:1px solid rgba(128,230,255,.55); outline-offset:-1px; background:rgba(128,230,255,.06); }
.genome-select { width:16px; height:16px; margin:0 7px 0 0; accent-color:#80e6ff; vertical-align:middle; }
.genome-name { display:flex; align-items:center; gap:7px; font-weight:900; }
.genome-rank { color:var(--gold); min-width:24px; }
.genome-badge { border:1px solid var(--line); border-radius:99px; padding:2px 6px; color:var(--muted); font-size:.58rem; }
.genome-badge.best { color:#8ff0b4; border-color:rgba(105,229,158,.35); }
.genome-badge.worst { color:#ff9caf; border-color:rgba(255,101,126,.35); }
.genome-meta { display:block; margin-top:4px; color:var(--muted); font:10px "Cascadia Code",Consolas,monospace; }
.genome-live { display:inline-block; margin-top:5px; border:1px solid rgba(105,229,158,.35); border-radius:99px; padding:3px 7px; color:#8ff0b4; background:rgba(105,229,158,.07); font:700 10px "Cascadia Code",Consolas,monospace; }
.genome-waiting { border-color:rgba(255,190,100,.3); color:#ffd08b; background:rgba(255,190,100,.06); }
.fitness { color:var(--cyan); font-size:1rem; font-weight:900; }
.fitness-bar { display:block; width:120px; max-width:100%; height:4px; margin-top:5px; border-radius:3px; background:rgba(255,255,255,.08); }
.fitness-bar i { display:block; height:100%; border-radius:3px; background:linear-gradient(90deg,#9f62ed,#80e6ff,#69e59e); }
.gene-code { display:flex; max-width:390px; flex-wrap:wrap; gap:4px; }
.gene-code span { border:1px solid var(--line); border-radius:6px; padding:3px 5px; color:#d9c8ea; background:rgba(5,4,9,.4); font:9px "Cascadia Code",Consolas,monospace; }
.genome-actions { display:flex; gap:5px; flex-wrap:wrap; min-width:205px; }
.genome-actions .boost { color:#9cf6bf; }
.genome-actions .delete { color:#ff9caf; }
.genome-actions .start { color:#80e6ff; }
.balance-lab { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 14px; border:1px solid rgba(244,195,106,.24); border-radius:12px; padding:12px 14px; background:rgba(244,195,106,.035); }
.balance-lab h3 { margin:2px 0 4px; font-size:.95rem; }
.balance-lab p { max-width:780px; margin:0; color:var(--muted); font-size:.68rem; }
.balance-actions { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.balance-actions strong { color:var(--gold); font-size:.75rem; }
.balance-actions button { border:1px solid rgba(244,195,106,.3); border-radius:8px; padding:8px 10px; color:#ffe0a0; background:#181522; font:700 .68rem inherit; cursor:pointer; }
.genetics-empty { margin:14px 0 0; color:var(--muted); text-align:center; font-size:.76rem; }
.monitor-tools { display:flex; align-items:center; flex-wrap:wrap; gap:9px 14px; margin:0 0 16px; border:1px solid var(--line); border-radius:13px; padding:10px 12px; background:rgba(18,16,28,.82); }
.monitor-tools label { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:.72rem; }
.monitor-tools select { border:1px solid var(--line); border-radius:8px; padding:7px 9px; color:var(--text); background:#0c0a12; }
.session-search { flex:1; min-width:min(300px,100%); border:1px solid var(--line); border-radius:9px; padding-left:9px; }
.session-search input { width:100%; min-width:0; border:0; background:transparent; }
#performanceStatus { margin-left:auto; color:var(--muted); font-size:.69rem; }
.bot-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:clamp(12px,2vw,22px); align-items:start; }
.bot-grid.compact { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:12px; }
.bot-grid.large { grid-template-columns:repeat(auto-fit,minmax(min(100%,620px),1fr)); }
.bot-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 45%),var(--panel); box-shadow:0 18px 50px rgba(0,0,0,.28); }
.bot-card.stale { opacity:.68; }
.bot-card.filtered { display:none; }
.bot-card.human-mentor { border-color:rgba(105,229,158,.55); box-shadow:0 18px 55px rgba(38,150,95,.16); }
.bot-card.human-mentor .bot-head { background:linear-gradient(90deg,rgba(105,229,158,.1),transparent); }
.bot-card.human-mentor .bot-genome { color:#8ff0b4; }
.bot-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; }
.bot-head > div:first-child { min-width:0; display:flex; flex-direction:column; }
.bot-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bot-id { color:var(--muted); font:11px "Cascadia Code",Consolas,monospace; }
.bot-model { overflow:hidden; color:var(--cyan); font:10px "Cascadia Code",Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }
.bot-genome { overflow:hidden; color:var(--gold); font:10px "Cascadia Code",Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }
.bot-badges { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:.7rem; white-space:nowrap; }
.live-dot { width:8px; height:8px; border-radius:50%; background:#63e79b; box-shadow:0 0 12px #63e79b; }
.stale .live-dot { background:#ffb45d; box-shadow:none; }
.bot-state { border:1px solid var(--line); border-radius:99px; padding:3px 7px; text-transform:uppercase; letter-spacing:.05em; }
.bot-view { position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; border:0; border-block:1px solid var(--line); padding:0; background:#050409; color:var(--text); cursor:zoom-in; }
.bot-frame, .bot-map { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#050409; }
.bot-frame:not([src]), .bot-frame[src=""] { display:none; }
.bot-map { display:none; }
.bot-view.no-frame .bot-map { display:block; }
.fullscreen-hint { position:absolute; right:10px; bottom:9px; border:1px solid rgba(255,255,255,.2); border-radius:8px; padding:6px 9px; background:rgba(5,4,9,.72); font-size:.75rem; opacity:0; transition:opacity .15s; }
.bot-view:hover .fullscreen-hint, .bot-view:focus-visible .fullscreen-hint { opacity:1; }
.frame-wait { position:absolute; inset:0; display:grid; place-items:center; color:var(--muted); font-size:.8rem; }
.bot-view:not(.no-frame) .frame-wait { display:none; }
.bot-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); }
.bot-stats > div { position:relative; min-width:0; padding:9px 10px; background:var(--panel); }
.bot-stats span { display:block; color:var(--muted); font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; }
.bot-stats strong { display:block; overflow:hidden; text-overflow:ellipsis; font-size:.88rem; white-space:nowrap; }
.bot-stats i { display:block; height:3px; margin-top:5px; border-radius:2px; overflow:hidden; background:rgba(255,255,255,.09); }
.hp-bar { display:block; height:100%; background:linear-gradient(90deg,var(--red),#ffbd68,#69e59e); }
.bot-learning { padding:10px 13px 8px; border-top:1px solid var(--line); background:linear-gradient(90deg,rgba(128,230,255,.035),transparent); }
.learning-head, .learning-metrics { display:flex; align-items:center; gap:10px; }
.learning-head { justify-content:space-between; margin-bottom:5px; }
.learning-head strong { color:var(--cyan); font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; }
.learning-trend { color:var(--muted); font-size:.67rem; }
.learning-trend.up { color:#69e59e; }
.learning-trend.down { color:#ff8fa2; }
.learning-chart { display:block; width:100%; height:76px; border-radius:8px; background:rgba(5,4,9,.55); }
.learning-metrics { justify-content:space-between; margin-top:6px; color:var(--muted); font-size:.62rem; }
.learning-errors.has-errors { color:#ff9caf; }
.bot-build { display:flex; gap:10px; min-height:38px; align-items:center; padding:9px 13px; color:var(--muted); font-size:.7rem; }
.bot-build span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bot-weapons { flex:1; }
.bot-danger { color:#ff9caf; }
.stop-one { border:1px solid rgba(255,101,126,.28); border-radius:7px; padding:5px 7px; color:#ffc4ce; background:rgba(255,101,126,.07); font:700 .65rem inherit; cursor:pointer; }
.stop-one:hover { background:rgba(255,101,126,.16); }
.empty { width:min(700px,100%); margin:12vh auto; text-align:center; color:var(--muted); }
.empty .ghost { font-size:4rem; }
.empty h1 { color:var(--text); }
.empty code { display:block; overflow:auto; margin:12px 0 24px; border:1px solid var(--line); border-radius:10px; padding:13px; color:#ead8ff; background:#0c0a12; }
.bot-card:fullscreen { width:100vw; height:100vh; display:grid; grid-template-rows:auto minmax(0,1fr) auto auto auto; border:0; border-radius:0; background:#050409; }
.bot-card:fullscreen .bot-learning { display:none; }
.bot-card:fullscreen .bot-view { width:100%; height:100%; aspect-ratio:auto; cursor:zoom-out; }
.bot-card:fullscreen .bot-frame { object-fit:contain; }
.bot-card:fullscreen .fullscreen-hint { opacity:.8; }
.bot-card:fullscreen .bot-head { padding:14px 20px; background:#0c0a12; }
.bot-card:fullscreen .bot-stats { grid-template-columns:repeat(7,1fr); }
.live-viewer, .genome-detail { width:min(96vw,1500px); max-width:none; height:min(94vh,980px); border:1px solid rgba(128,230,255,.3); border-radius:16px; padding:0; color:var(--text); background:#07060b; box-shadow:0 30px 100px #000; }
.live-viewer::backdrop, .genome-detail::backdrop { background:rgba(0,0,0,.82); backdrop-filter:blur(5px); }
.live-viewer { display:none; grid-template-rows:auto minmax(0,1fr); }
.live-viewer[open] { display:grid; }
.live-viewer header, .genome-detail header { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding:12px 16px; background:#0c0a12; }
.live-viewer header div, .live-viewer header span { display:block; }
.live-viewer header span { color:var(--muted); font-size:.68rem; }
.live-viewer header button, .genome-detail header button { border:1px solid var(--line); border-radius:8px; padding:7px 10px; color:var(--text); background:#181522; cursor:pointer; }
.live-viewer-host { min-height:0; background:#000; }
.live-viewer-host iframe { display:block; width:100%; height:100%; border:0; }
.genome-detail { overflow:auto; }
.genome-detail header { position:sticky; z-index:3; top:0; }
.genome-detail h2 { margin:2px 0; }
.genome-detail header p { margin:0; color:var(--muted); font-size:.7rem; }
.genome-detail-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; padding:14px; }
.genome-detail-stats article { border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:var(--panel); }
.genome-detail-stats span, .genome-detail-stats strong { display:block; }
.genome-detail-stats span { color:var(--muted); font-size:.6rem; text-transform:uppercase; }
.genome-detail-stats strong { margin-top:3px; color:var(--cyan); font-size:1.1rem; }
.genome-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 14px 14px; }
.genome-charts section { min-width:0; border:1px solid var(--line); border-radius:11px; padding:10px; background:var(--panel); }
.genome-charts section:last-child { grid-column:1/-1; }
.genome-charts h3 { margin:0 0 6px; color:#d9c9e6; font-size:.75rem; }
.genome-charts canvas { display:block; width:100%; height:250px; border-radius:8px; background:#080711; }
.genome-detail footer { position:sticky; bottom:0; border-top:1px solid var(--line); padding:10px 14px; background:#0c0a12; text-align:right; }
.genome-detail footer button { border:1px solid rgba(128,230,255,.35); border-radius:8px; padding:9px 13px; color:var(--text); background:linear-gradient(135deg,#493270,#24495e); cursor:pointer; }

@media (max-width:780px) {
  .dash-head { flex-wrap:wrap; gap:8px 14px; }
  .title { min-width:0; flex:1; }
  .actions { flex-basis:100%; justify-content:flex-start; overflow:auto; }
  .actions label { display:none; }
  .coach-head { display:block; }
  .coach-switch { width:max-content; margin-top:12px; }
  .mentor-head { display:block; }
  .mentor-actions { justify-content:flex-start; margin-top:12px; }
  .mentor-status-grid { grid-template-columns:repeat(2,1fr); }
  .mentor-learning { grid-template-columns:1fr; }
  .bot-stats { grid-template-columns:repeat(3,1fr); }
  .bot-grid { grid-template-columns:1fr; }
  .control-panel { grid-template-columns:1fr; }
  .control-options { justify-content:flex-start; }
  #runnerStatus { flex-basis:100%; text-align:left; }
  .monitor-tools label:not(.session-search) { flex:1; justify-content:space-between; }
  #performanceStatus { flex-basis:100%; margin-left:0; }
  #selectionSummary { flex-basis:100%; margin-left:0; }
  .genetics-head { display:block; }
  .genetics-actions { margin-top:12px; justify-content:flex-start; }
  .genetics-summary { grid-template-columns:repeat(2,1fr); }
  .autopilot-head { display:block; }
  .autopilot-switch { margin-top:10px; }
  .autopilot-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .autopilot-status-grid { grid-template-columns:repeat(2,1fr); }
  .autopilot-history { grid-template-columns:1fr; }
  .genetics-table { min-width:880px; }
  .knowledge-network { grid-template-columns:1fr; }
  .knowledge-network p { padding:0 4px 5px; }
  .balance-lab { display:block; }
  .balance-actions { margin-top:10px; flex-wrap:wrap; }
  .genome-detail-stats { grid-template-columns:repeat(2,1fr); }
  .genome-charts { grid-template-columns:1fr; }
  .genome-charts section:last-child { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { .fullscreen-hint { transition:none; } }
