.report-head { margin-top: 26px; }

.ai-lab-entry {
  width: 100%;
  display: grid;
  grid-template-columns: 56px minmax(0,1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 15px;
  color: #eaf8ff;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(103,223,251,.3);
  border-radius: 14px 26px 14px 26px;
  background:
    radial-gradient(circle at 15% 10%,rgba(80,232,242,.13),transparent 12rem),
    linear-gradient(125deg,rgba(8,31,48,.98),rgba(22,19,57,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05),0 17px 36px rgba(0,0,0,.28);
}
.ai-lab-entry::after {
  content:"";
  position:absolute;
  inset:auto -15% 0 45%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  box-shadow:0 0 17px rgba(80,232,242,.8);
  animation:aiScan 3.6s ease-in-out infinite;
}
.ai-lab-entry:hover { border-color:rgba(115,247,184,.48);transform:translateY(-1px); }
.ai-entry-orb {
  width:56px;height:56px;display:grid;place-items:center;position:relative;
  border:1px solid rgba(80,232,242,.3);border-radius:50%;
  background:rgba(3,12,23,.72);box-shadow:inset 0 0 18px rgba(80,232,242,.09),0 0 24px rgba(80,232,242,.12);
}
.ai-entry-orb::before,.ai-entry-orb::after { content:"";position:absolute;border-radius:50%;border:1px solid; }
.ai-entry-orb::before { inset:7px;border-color:rgba(80,232,242,.42);border-top-color:transparent;animation:aiSpin 7s linear infinite; }
.ai-entry-orb::after { inset:13px;border-color:rgba(155,129,255,.55);border-bottom-color:transparent;animation:aiSpin 5s linear infinite reverse; }
.ai-entry-orb i { width:6px;height:6px;border-radius:50%;background:var(--positive);box-shadow:0 0 12px var(--positive); }
.ai-entry-orb b { position:absolute;color:#eaffff;font:900 9px "Bahnschrift",sans-serif;letter-spacing:.08em; }
.ai-entry-copy small { display:block;color:var(--cyan);font:800 7px "Bahnschrift",sans-serif;letter-spacing:.1em; }
.ai-entry-copy strong { display:block;margin-top:5px;font-size:15px;letter-spacing:-.03em; }
.ai-entry-copy em { display:block;margin-top:4px;color:#7995aa;font-size:8px;font-style:normal; }
.ai-entry-metrics { min-width:86px;display:grid;gap:5px;text-align:right; }
.ai-entry-metrics > span { display:block; }
.ai-entry-metrics small { color:#66849a;font-size:7px; }
.ai-entry-metrics b { display:block;color:#f5fbff;font:900 10px "Bahnschrift",sans-serif; }
.ai-entry-metrics i { color:var(--cyan);font-size:8px;font-style:normal;font-weight:900; }

.ai-detail {
  position:fixed;
  inset:0;
  z-index:90;
  width:100vw;
  max-width:none;
  height:100vh;
  height:100dvh;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding-bottom:34px;
  box-sizing:border-box;
  visibility:hidden;
  pointer-events:none;
  color:#dbeaf4;
  background:
    radial-gradient(circle at 50% -8%,rgba(110,78,255,.21),transparent 26rem),
    radial-gradient(circle at 10% 18%,rgba(80,232,242,.08),transparent 18rem),
    linear-gradient(180deg,#07101d,#030710 76%);
}
.ai-detail.open { visibility:visible;pointer-events:auto; }
.ai-detail-content {
  width:100%;max-width:720px;margin:0 auto;box-sizing:border-box;
  opacity:0;transform:translate3d(0,14px,0);
  transition:opacity .18s ease,transform .28s cubic-bezier(.2,.85,.3,1);
}
.ai-detail.open .ai-detail-content { opacity:1;transform:translate3d(0,0,0); }
html.ai-lab-active,body.ai-lab-active { overflow:hidden; }
body.ai-lab-active .app { z-index:60;overflow:visible; }
body.ai-lab-active .brief { visibility:hidden; }
body.ai-lab-active .detail { position:fixed;width:100vw;max-width:none;height:100vh;height:100dvh;z-index:95; }
body.ai-lab-active .detail-content { width:100%;max-width:720px;margin:0 auto;box-sizing:border-box; }
.ai-detail-header {
  position:sticky;top:0;z-index:5;
  display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;
  padding:11px 15px;
  background:rgba(4,9,18,.9);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(80,232,242,.13);
}
.ai-back-btn { width:auto;min-width:74px;height:44px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:6px; }
.ai-back-btn b { color:#b9d8e8;font-size:9px;white-space:nowrap; }
.ai-detail-header > div { text-align:center; }
.ai-detail-header small { display:block;color:#647f94;font:800 6px "Bahnschrift",sans-serif;letter-spacing:.12em; }
.ai-detail-header h2 { margin:2px 0 0;color:#eef9ff;font-size:14px; }
.ai-rerun { min-height:44px;padding:0 9px;color:var(--cyan);background:rgba(80,232,242,.055);border:1px solid rgba(80,232,242,.22);border-radius:9px 14px 9px 14px;font-size:9px;font-weight:900;cursor:pointer; }
.ai-rerun:disabled { color:#536b7d;border-color:rgba(91,121,143,.14);cursor:wait; }
.ai-detail-content { padding:10px 18px 28px; }
.ai-experiment-banner { display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:9px 11px;border:1px solid rgba(255,179,71,.24);border-radius:9px 15px 9px 15px;background:rgba(255,179,71,.055);color:#8ea5b5;font-size:7px; }
.ai-experiment-banner b { color:#ffbd61; }
.ai-experiment-banner span::before { content:"·";margin-right:6px;color:#526e84; }

.ai-command-card,.ai-panel { margin-top:11px;border:1px solid rgba(105,197,240,.16);border-radius:13px 23px 13px 23px;background:linear-gradient(145deg,rgba(11,27,45,.95),rgba(7,15,29,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.ai-command-card { padding:17px;overflow:clip;position:relative; }
.ai-command-card::after { content:"";position:absolute;width:180px;height:180px;right:-115px;top:-120px;border:23px solid rgba(155,129,255,.08);border-radius:50%;pointer-events:none; }
.ai-card-top { display:flex;justify-content:space-between;gap:12px;align-items:start; }
.ai-card-top small { color:#7290a6;font:800 7px "Bahnschrift",sans-serif;letter-spacing:.06em; }
.ai-card-top h1 { margin:5px 0 4px;color:#f1f9ff;font-size:20px;letter-spacing:-.045em; }
.ai-card-top p { margin:0;color:#7c96a9;font-size:8px;line-height:1.5; }
.ai-state-chip { flex:0 0 auto;padding:6px 8px;color:#ffbd61;border:1px solid rgba(255,189,97,.28);border-radius:999px;background:rgba(255,189,97,.055);font-size:7px;font-weight:900; }
.ai-objective-tabs { display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:15px;padding:4px;border:1px solid rgba(103,197,240,.13);border-radius:11px 18px 11px 18px;background:rgba(2,8,17,.7); }
.ai-objective-tabs button { min-height:52px;padding:8px;color:#708ba0;background:transparent;border:0;border-radius:8px 14px 8px 14px;cursor:pointer; }
.ai-objective-tabs b,.ai-objective-tabs small { display:block; }
.ai-objective-tabs b { font-size:10px; }
.ai-objective-tabs small { margin-top:3px;color:#587286;font-size:7px; }
.ai-objective-tabs button.active { color:#f3fbff;background:linear-gradient(135deg,rgba(164,93,29,.48),rgba(70,38,99,.56));box-shadow:inset 0 0 20px rgba(255,179,71,.06); }
.ai-objective-tabs button[data-ai-objective="risk"].active { background:linear-gradient(135deg,rgba(30,76,105,.58),rgba(64,43,116,.58));box-shadow:inset 0 0 20px rgba(80,232,242,.06); }
.ai-objective-tabs button.active small { color:#aebdcc; }
.ai-metric-grid { display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px; }
.ai-metric-grid > div { padding:11px;border:1px solid rgba(104,190,231,.1);border-radius:9px 15px 9px 15px;background:rgba(2,9,18,.58); }
.ai-metric-grid small,.ai-metric-grid span { display:block;color:#637f93;font-size:7px; }
.ai-metric-grid strong { display:block;margin:5px 0 3px;color:#f1f9ff;font:900 17px "Bahnschrift",sans-serif;letter-spacing:-.02em; }

.ai-panel { padding:16px; }
.ai-panel-title { display:flex;justify-content:space-between;gap:10px;align-items:start; }
.ai-panel-title h3 { margin:0;color:#edf7fe;font-size:13px; }
.ai-panel-title p { margin:4px 0 0;color:#6e899e;font-size:8px;line-height:1.45; }
.ai-panel-title > span,.ai-panel-title > b { flex:0 0 auto;color:#7895aa;font:800 7px "Bahnschrift",sans-serif; }
.ai-scenario-chart { height:90px;margin-top:15px;position:relative;border-radius:9px 15px 9px 15px;overflow:hidden;background:rgba(2,8,17,.72);border:1px solid rgba(105,194,236,.1); }
.ai-scenario-grid { position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr); }
.ai-scenario-grid i { border-right:1px solid rgba(103,153,182,.08); }
.ai-zero-line { position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed rgba(220,237,247,.28); }
.ai-zero-line span { position:absolute;left:4px;top:5px;color:#70899c;font-size:7px; }
.ai-forecast-beam { position:absolute;left:var(--left);width:var(--width);top:42px;height:9px;border-radius:999px;background:rgba(80,232,242,.28);border:1px solid rgba(80,232,242,.46);box-shadow:0 0 18px rgba(80,232,242,.16); }
.ai-forecast-beam i { position:absolute;left:var(--base);top:50%;width:3px;height:24px;transform:translate(-50%,-50%);background:#f5fbff;box-shadow:0 0 10px var(--cyan); }
.ai-scenario-dot { position:absolute;left:var(--x);top:46px;width:10px;height:10px;transform:translate(-50%,-50%);background:#07101d;border:2px solid;box-shadow:0 0 12px currentColor; }
.ai-scenario-dot.stress { color:#ff9f43;border-radius:2px;transform:translate(-50%,-50%) rotate(45deg); }
.ai-scenario-dot.base { color:#50e8f2;border-radius:50%; }
.ai-scenario-dot.upside { color:#b99fff;clip-path:polygon(50% 0,100% 100%,0 100%);border:0;background:#b99fff; }
.ai-scenario-values { display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px; }
.ai-scenario-values div { padding:8px;text-align:center;border-radius:8px 12px 8px 12px;background:rgba(2,9,18,.55); }
.ai-scenario-values small { display:block;color:#688398;font-size:7px; }
.ai-scenario-values b { display:block;margin-top:3px;color:#eaf7ff;font:900 11px "Bahnschrift",sans-serif; }
.ai-scenario-values div:first-child b { color:#ffb05c; }
.ai-scenario-values div:last-child b { color:#b99fff; }
.ai-method-note { margin:9px 0 0;color:#607a8e;font-size:7px;line-height:1.55; }

.ai-allocation-bar { display:flex;height:31px;margin-top:14px;overflow:hidden;border-radius:8px 13px 8px 13px;background:#111d2b; }
.ai-allocation-bar span { min-width:2px;height:100%;display:grid;place-items:center;color:#07101c;font:900 7px "Bahnschrift",sans-serif;overflow:hidden;white-space:nowrap; }
.ai-group-legend { display:flex;flex-wrap:wrap;gap:7px 10px;margin-top:9px; }
.ai-group-legend span { display:flex;align-items:center;gap:4px;color:#7892a5;font-size:7px; }
.ai-group-legend i { width:6px;height:6px;border-radius:2px;background:var(--group); }
.ai-holding-list { display:grid;gap:7px;margin-top:13px; }
.ai-holding-row { width:100%;display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:10px;align-items:center;padding:10px;color:#cbdbe6;text-align:left;cursor:pointer;background:rgba(3,10,20,.6);border:1px solid rgba(101,184,225,.09);border-radius:9px 14px 9px 14px; }
.ai-holding-row:disabled { cursor:default;opacity:.8; }
.ai-holding-row h4 { margin:0;font-size:10px; }
.ai-holding-row p { margin:3px 0 0;color:#607d92;font-size:7px; }
.ai-holding-weight { text-align:right; }
.ai-holding-weight b { display:block;color:#f2f8fc;font:900 11px "Bahnschrift",sans-serif; }
.ai-holding-weight small { display:block;margin-top:3px;color:#69869a;font-size:7px; }
.ai-weight-track { grid-column:1/-1;height:4px;overflow:hidden;border-radius:999px;background:rgba(94,143,169,.12); }
.ai-weight-track i { display:block;width:var(--w);height:100%;border-radius:inherit;background:var(--group); }

.ai-gate-chip { padding:6px 8px!important;border:1px solid rgba(255,179,71,.24);border-radius:999px;color:#ffb85a!important;background:rgba(255,179,71,.05); }
.ai-engine-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px; }
.ai-engine-stats div { padding:9px;text-align:center;border-radius:8px 12px 8px 12px;background:rgba(3,10,20,.62); }
.ai-engine-stats small { display:block;color:#657f93;font-size:7px; }
.ai-engine-stats b { display:block;margin-top:4px;color:#eaf7ff;font:900 11px "Bahnschrift",sans-serif; }
.ai-gate-list { display:grid;gap:6px;margin-top:11px; }
.ai-gate-list > div { display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:8px 12px 8px 12px;background:rgba(3,10,20,.58); }
.ai-gate-list span { color:#607a8e;font:800 7px "Bahnschrift",sans-serif; }
.ai-gate-list b { color:#9fb2c0;font-size:8px; }
.ai-gate-list em { font-size:7px;font-style:normal;font-weight:900; }
.ai-gate-list .pass em { color:var(--positive); }
.ai-gate-list .demo em { color:#b99fff; }
.ai-gate-list .pending em { color:#ffb05c; }
.ai-learning-rule { margin-top:12px;padding:11px;border-left:2px solid var(--cyan);background:rgba(80,232,242,.045);border-radius:0 10px 10px 0; }
.ai-learning-rule b { color:#dcecf5;font-size:9px; }
.ai-learning-rule p { margin:5px 0 0;color:#7893a6;font-size:8px;line-height:1.55; }

.ai-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px; }
.ai-actions button { min-height:44px;padding:10px;color:#9ab0bf;background:rgba(8,18,31,.9);border:1px solid rgba(103,190,230,.15);border-radius:10px 16px 10px 16px;font-size:9px;font-weight:900;cursor:pointer; }
.ai-actions .primary-ai { color:#031113;border:0;background:linear-gradient(90deg,var(--cyan),var(--positive));box-shadow:0 0 20px rgba(80,232,242,.14); }
.ai-action-note { margin:8px 3px 0;color:#607b8e;font-size:7px;line-height:1.55;text-align:center; }
.ai-detail button:focus-visible { outline:2px solid var(--cyan);outline-offset:2px; }

@keyframes aiSpin { to { transform:rotate(360deg); } }
@keyframes aiScan { 0%,100% { transform:translateX(-20%);opacity:.35; } 50% { transform:translateX(20%);opacity:1; } }

@media (max-width:420px) {
  .ai-lab-entry { grid-template-columns:48px minmax(0,1fr); }
  .ai-entry-orb { width:48px;height:48px; }
  .ai-entry-metrics { grid-column:1/-1;grid-template-columns:1fr 1fr auto;align-items:center;padding-top:8px;border-top:1px solid rgba(80,232,242,.09);text-align:left; }
  .ai-entry-metrics i { text-align:right; }
  .ai-entry-copy small,.ai-entry-metrics small { font-size:8px; }
  .ai-entry-copy em,.ai-entry-metrics i { font-size:9px; }
  .ai-entry-metrics b { font-size:11px; }
  .ai-card-top { display:block; }
  .ai-state-chip { display:inline-block;margin-top:9px; }
  .ai-detail-header { grid-template-columns:74px 1fr 78px; }
  .ai-detail-header .icon-btn { min-width:44px;min-height:44px; }
  .ai-detail-header small { font-size:8px; }
  .ai-rerun { padding:0 6px; }
  .ai-experiment-banner,.ai-card-top small,.ai-state-chip { font-size:9px; }
  .ai-card-top p,.ai-learning-rule p { font-size:10px; }
  .ai-objective-tabs b { font-size:11px; }
  .ai-objective-tabs small,.ai-metric-grid small,.ai-metric-grid span,.ai-panel-title p,.ai-panel-title > span,.ai-panel-title > b,.ai-scenario-values small,.ai-method-note,.ai-group-legend span,.ai-holding-row p,.ai-holding-weight small,.ai-engine-stats small,.ai-action-note { font-size:9px; }
  .ai-holding-row h4,.ai-engine-stats b { font-size:11px; }
  .ai-gate-list span,.ai-gate-list em { font-size:8px; }
  .ai-gate-list b,.ai-learning-rule b { font-size:9px; }
  .ai-method-note,.ai-action-note { line-height:1.65; }
}

@media (prefers-reduced-motion:reduce) {
  .ai-detail,.ai-detail-content { transition:none!important; }
  .ai-lab-entry::after,.ai-entry-orb::before,.ai-entry-orb::after { animation:none!important; }
}
