/* Author: Sandeep Belgavi. AI in Production lab engine styles. */
.aip{--aip-bg:#0b1430;--aip-panel:#14204a;--aip-line:#2a3a70;--aip-text:#e6e9f5;--aip-muted:#a3aed0;--aip-accent:#8b5cf6;--aip-good:#22c55e;--aip-bad:#f87171;--aip-warn:#fbbf24;
  background:var(--aip-bg);color:var(--aip-text);border-radius:18px;padding:18px;margin:26px 0;font:15px/1.5 Inter,system-ui,sans-serif;box-shadow:0 18px 50px #080d2440;border:1px solid #2d2a6b}
.aip *{box-sizing:border-box}
.aip-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.aip-top h3{margin:0;font:700 18px Sora,Inter,sans-serif;color:#fff;letter-spacing:-.02em}
.aip-badge{font-size:12px;color:#c4b5fd;text-transform:uppercase;letter-spacing:1.5px;font-weight:700}
.aip-score{font-size:13px;color:var(--aip-muted)}.aip-score b{color:var(--aip-warn);font-size:16px}
.aip-grid{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px}
@media(max-width:820px){.aip-grid{grid-template-columns:1fr}.aip-stage{order:-1}}
.aip-controls{background:var(--aip-panel);border:1px solid var(--aip-line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0}
.aip-ctl label{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--aip-muted)}
.aip-ctl output{color:#fff;font-weight:700;font-variant-numeric:tabular-nums}
.aip-ctl input[type=range]{width:100%;accent-color:var(--aip-accent);margin:4px 0 0}
.aip-ctl select{width:100%;margin-top:4px;background:#0e1838;color:var(--aip-text);border:1px solid var(--aip-line);border-radius:8px;padding:7px;font:inherit}
.aip-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--aip-text);cursor:pointer}
.aip-toggle input{accent-color:var(--aip-accent);width:17px;height:17px}
.aip-presets,.aip-events,.aip-actions{display:flex;flex-wrap:wrap;gap:6px}
.aip-sub{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#8f9bc2;font-weight:700;margin-bottom:-4px}
.aip button,.content-shell .aip button{background:#232f62;color:var(--aip-text);border:1px solid #3a4a86;border-radius:999px;padding:6px 12px;font:600 12.5px Inter,sans-serif;cursor:pointer;min-height:32px}
.aip button:hover,.content-shell .aip button:hover{background:#3b3486;border-color:var(--aip-accent)}
.aip button[aria-pressed=true]{background:#7c2d12;border-color:#fb923c;color:#ffedd5}
.aip-stage{min-width:0;display:flex;flex-direction:column;gap:12px}
.aip-canvas-wrap{position:relative;background:#081028;border:1px solid var(--aip-line);border-radius:14px;overflow:hidden}
.aip-canvas-wrap canvas{display:block;width:100%;height:300px}
@media(max-width:600px){.aip-canvas-wrap canvas{height:240px}}
.aip-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.aip-metric{background:var(--aip-panel);border:1px solid var(--aip-line);border-radius:12px;padding:9px 11px;min-width:0}
.aip-metric span{display:block;font-size:11.5px;color:var(--aip-muted);line-height:1.3}
.aip-metric strong{display:block;font:700 20px Sora,Inter,sans-serif;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aip-metric em{font-style:normal;font-size:11.5px;font-weight:700}
.aip-metric em.up{color:var(--aip-good)}.aip-metric em.down{color:var(--aip-bad)}
.aip-metric.flash{animation:aipflash .7s}
@keyframes aipflash{from{border-color:var(--aip-accent);box-shadow:0 0 0 3px #8b5cf655}to{}}
.aip-insight{background:#101b40;border-left:4px solid var(--aip-accent);border-radius:10px;padding:10px 14px;font-size:14px;color:#dfe3f3;min-height:44px}
.aip-insight b{color:#fff}
.aip-missions{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.aip-mission{background:var(--aip-panel);border:1px solid var(--aip-line);border-radius:14px;padding:12px 14px;position:relative}
.aip-mission h4{margin:0 0 4px;font:700 14.5px Sora,Inter,sans-serif;color:#fff;padding-right:58px}
.aip-mission p{margin:0;font-size:13.5px;color:#cdd3ea;line-height:1.5}
.aip-mission .aip-stars{position:absolute;top:11px;right:12px;color:#4b5683;font-size:15px;letter-spacing:1px}
.aip-mission .aip-stars .on{color:var(--aip-warn)}
.aip-mission.active{border-color:var(--aip-accent);box-shadow:0 0 0 2px #8b5cf640}
.aip-mission.done{border-color:#166534;background:#0f2a22}
.aip-mission.locked{opacity:.55}
.aip-mission .aip-hint{margin-top:8px;font-size:12.5px;color:#fde68a;display:none}
.aip-mission.show-hint .aip-hint{display:block}
.aip-mission .aip-mbtns{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.aip-mission .aip-live{margin-top:6px;font-size:12px;color:var(--aip-muted)}
.aip-toast{position:absolute;left:50%;top:14px;transform:translate(-50%,-30px);opacity:0;background:#14532d;color:#dcfce7;border:1px solid #22c55e;border-radius:999px;padding:7px 16px;font-weight:700;font-size:14px;transition:.35s;pointer-events:none;z-index:3;white-space:nowrap}
.aip-toast.show{transform:translate(-50%,0);opacity:1}
.aip-foot{margin-top:12px;font-size:12px;color:#8f9bc2;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.aip-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.aip-noscript{background:#fef3c7;color:#78350f;padding:12px;border-radius:10px}
.aip-progress{display:inline-flex;gap:3px;vertical-align:middle}
.aip-progress i{width:22px;height:6px;border-radius:3px;background:#2a3566;display:inline-block}
.aip-progress i.on{background:var(--aip-warn)}
/* hub */
.aip-hub-track{margin:34px 0}.aip-hub-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.aip-hub-card{background:#fff;border:1px solid #dcd8f5;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px}
.aip-hub-card h3{margin:0;font-size:17px}.aip-hub-card p{margin:0;font-size:14px;line-height:1.55;color:#3b4766}
.aip-hub-card .aip-hub-links{display:flex;gap:14px;font-size:14px;font-weight:600;margin-top:auto;padding-top:6px}
.aip-hub-card .aip-hub-stars{font-size:13px;color:#b45309;font-weight:700;min-height:18px}
.aip-hub-total{background:#101b36;color:#fff;border-radius:14px;padding:16px 20px;display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.aip-hub-total strong{font:700 26px Sora,sans-serif;color:#fbbf24}
