html body.assistant-permanent-v14 .course-assistant-toggle,
html body.assistant-permanent-v14 .lab-mobile-assistant,
html body.assistant-permanent-v14 #home-assistant-toggle{display:none!important}
html body.assistant-permanent-v14 .lab-assistant{display:flex!important;visibility:visible!important;transform:none!important;translate:none!important}
html body.assistant-permanent-v14 .lab-assistant[hidden]{display:flex!important}
.chapter-bridge-v14{margin:0!important;color:#475569!important;font-size:13.5px!important;line-height:1.35!important;flex:1;min-width:0;max-width:58ch;font-weight:500}
.source-toolbar:has(.chapter-bridge-v14){display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:46px;height:auto!important}
.course-topbar:has(.chapter-bridge-v14){flex-wrap:wrap;flex-basis:auto!important;gap:4px 16px}
.course-topbar .chapter-bridge-v14{max-width:none;flex-basis:55%}
.course-topbar .course-toolbar{margin-left:auto}
html body.course-new .course-context{min-height:140px!important;grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr)!important;gap:16px!important}
html body.course-new .course-context .course-loop{height:126px!important;min-height:126px!important}
html body.course-new .course-context .course-loop svg{width:100%;height:100%}
html body.course-new .course-context .course-equations{font-size:16px!important;gap:14px!important}
html body.course-new .course-context .course-case-note{display:none}
html body.course-new .chapter-workspace:has(.course-context){grid-template-rows:auto 146px minmax(0,1fr)!important}
html body.course-new .chapter-toolbar .case-return-v14{margin-left:auto}
html body.course-new .time-plots{grid-template-columns:1.45fr 1fr!important;grid-template-rows:minmax(0,1fr)!important}
html body.course-new .time-plots .response-panel{grid-column:auto!important;grid-row:auto!important}
.case-advanced-v14{margin-top:18px}
.case-advanced-v14 .routh-panel{height:auto;min-height:220px;margin-top:10px}
.case-advanced-v14 .course-chart{height:auto!important;min-height:150px!important}
.v14-response-line{stroke:#0284c7!important}
.v14-metric-guide{stroke:#475569!important}
.v14-settle-band{fill:rgba(2,132,199,.08)!important}
.v14-root-svg .v14-tick{font-size:17px!important;fill:#0f172a!important}
html body.pid-embedded .design-metrics strong{font-size:16px!important}
html body.pid-embedded .design-metrics span{font-size:14px!important}
html body.pid-embedded .design-actions button{font-size:16px!important}
.concept-svg-label:has(br){flex-direction:column;gap:0}
html body:is([data-page="time"],[data-page="root"]) .source-toolbar{display:flex!important;gap:14px!important}
html body:is([data-page="time"],[data-page="root"]) .source-toolbar h1{flex:1;min-width:0}
html body:is([data-page="time"],[data-page="root"]) .source-case-link{flex:0 0 auto}
html body[data-page="frequency"] .source-toolbar{display:flex!important;gap:14px!important}
html body[data-page="frequency"] .source-toolbar h1{flex:0 0 auto}
html body[data-page="frequency"] .source-toolbar .chapter-bridge-v14{flex:1;min-width:120px}
html body[data-page="frequency"] .source-toolbar .source-examples,html body[data-page="frequency"] .source-case-link{flex:0 0 auto}
@media(min-width:1101px){
 html body.mission-home.assistant-permanent-v14 .mission-main{margin-right:var(--assistant-panel-width,336px);padding-right:22px;grid-template-rows:minmax(0,1fr) 108px;gap:14px}
 html body.mission-home.assistant-permanent-v14 .mission-hero{grid-template-columns:minmax(270px,28%) minmax(0,1fr);gap:20px}
 html body.mission-home.assistant-permanent-v14 .mission-copy h1{font-size:22px!important}
 html body.mission-home.assistant-permanent-v14 .mission-copy p{font-size:16px!important}
 html body.mission-home.assistant-permanent-v14 .mission-copy{padding-left:0}
 html body.mission-home.assistant-permanent-v14 .mission-background{gap:16px;padding-inline:0}
 html body.mission-home.assistant-permanent-v14 .mission-background article+article{padding-left:16px}
}
@media(max-width:1100px){
 html body.assistant-permanent-v14{overflow:auto!important;height:auto!important;min-height:100dvh}
 html body.assistant-permanent-v14>.lab-assistant,html body.assistant-permanent-v14 .lab-layout>.lab-assistant{position:relative!important;inset:auto!important;width:100%!important;height:460px!important;border-top:2px solid #0284c7;box-shadow:none!important}
 html body.mission-home.assistant-permanent-v14 .mission-main{height:740px!important}
 html body.assistant-permanent-v14 .lab-layout{height:auto!important;display:block!important}
 html body.course-new.assistant-permanent-v14 main.page-shell{width:100%!important;min-height:620px;height:calc(100dvh - 98px)}
 .chapter-bridge-v14{display:none}
}
@media(prefers-reduced-motion:reduce){html body.assistant-permanent-v14 .lab-assistant{transition:none!important}}

body[data-page="concepts"] .course-case-label,body[data-page="modeling"] .course-case-label{display:none!important}

/* ============================================================================
 * High-Tech Telemetry Assistant Sidebar & Loading / Scan Animations
 * ============================================================================ */
@keyframes telemetryPulseDot {
  0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(2,132,199,.45); }
  50% { opacity: .65; transform: scale(.88); box-shadow: 0 0 0 4px rgba(2,132,199,0); }
}
@keyframes telemetryWaveBar {
  0%, 100% { transform: scaleY(.35); opacity: .5; }
  50% { transform: scaleY(1); opacity: 1; }
}
@keyframes telemetryShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@keyframes telemetryCardIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes telemetryRowIn {
  from { opacity: 0; transform: translateX(-6px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes telemetryScanSweep {
  0% { transform: translateX(-100%); opacity: .9; }
  100% { transform: translateX(220%); opacity: 0; }
}

html body .lab-assistant{
  background:#f8fafc!important;
  border-left:1px solid #cbd5e1!important;
  color:#0f172a!important;
  gap:8px!important;
  padding:12px 12px 10px!important;
}
html body :is(.lab-assistant,#course-assistant,#lab-assistant) .lab-assistant-head{
  background:#0f172a!important;
  border:1px solid #1e293b!important;
  border-radius:5px!important;
  padding:7px 10px!important;
}
html body :is(.lab-assistant,#course-assistant,#lab-assistant) .lab-assistant-head h2{
  color:#f8fafc!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:.04em;
}
html body .lab-assistant .assistant-connect{
  background:#1e293b!important;
  color:#e2e8f0!important;
  border:1px solid #475569!important;
  border-radius:4px!important;
  padding:3px 9px!important;
  font-size:12px!important;
  font-weight:500!important;
}
html body .lab-assistant .assistant-connect:hover{
  background:#334155!important;
  border-color:#38bdf8!important;
  color:#ffffff!important;
}
html body .lab-assistant .assistant-mode{
  background:#f1f5f9!important;
  border:1px solid #cbd5e1!important;
  border-radius:5px!important;
  padding:4px 9px!important;
  font-size:12px!important;
  color:#475569!important;
}
html body .lab-assistant .assistant-status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
html body .lab-assistant .telemetry-live-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#0284c7;
  animation:telemetryPulseDot 2.2s infinite ease-in-out;
}
html body .lab-assistant .assistant-mode select{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #94a3b8!important;
  border-radius:4px!important;
  padding:2px 6px!important;
  font-size:12px!important;
}
html body .lab-assistant .assistant-context{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid #cbd5e1!important;
  border-radius:0!important;
  padding:2px 2px 6px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:6px!important;
}
html body .lab-assistant .assistant-context .ctx-pill{
  display:inline-flex;
  align-items:baseline;
  width:fit-content;
  background:transparent!important;
  color:#0284c7;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  font-size:12.5px!important;
  font-weight:700;
  line-height:1.35!important;
  white-space:nowrap;
}
html body .lab-assistant .assistant-context .ctx-sub{
  font-size:12.5px!important;
  line-height:1.35!important;
  color:#334155;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
html body .lab-assistant .assistant-messages{
  gap:8px!important;
  padding:2px 2px 4px 0!important;
}
html body .lab-assistant .assistant-clear-btn{
  background:#ffffff!important;
  color:#334155!important;
  border:1px solid #94a3b8!important;
  border-radius:3px!important;
  padding:1px 7px!important;
  font-size:11px!important;
  font-weight:600!important;
  margin-left:auto;
  flex:none;
}
html body .lab-assistant .assistant-clear-btn:hover{
  background:#e0f2fe!important;
  border-color:#0284c7!important;
  color:#0369a1!important;
}
html body .lab-assistant .assistant-message.answer{
  position:relative;
  overflow:hidden;
  background:#ffffff!important;
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0284c7!important;
  border-radius:6px!important;
  padding:9px 10px 8px!important;
  box-shadow:0 1px 3px rgba(15,23,42,.04)!important;
  animation:telemetryCardIn .24s cubic-bezier(.16,1,.3,1) both;
}
html body .lab-assistant .assistant-message.answer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:45%;
  height:2px;
  background:linear-gradient(90deg,transparent,#38bdf8,transparent);
  animation:telemetryScanSweep .65s ease-out 1;
  pointer-events:none;
}
html body .lab-assistant .assistant-message-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:6px;
}
html body .lab-assistant .assistant-message-label{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  font-size:11px!important;
  font-weight:700!important;
  color:#0284c7!important;
  margin:0!important;
  letter-spacing:.05em;
}
html body .lab-assistant .telemetry-scan-dot{
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:1px;
  background:#0284c7;
}

/* Telemetry Loading Card & Equalizer Bars */
html body .lab-assistant .assistant-message.answer.is-loading{
  padding:12px 10px!important;
}
html body .lab-assistant .assistant-loading-head{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11.5px!important;
  font-weight:700;
  letter-spacing:.04em;
  color:#0284c7;
  margin-bottom:8px;
}
html body .lab-assistant .telemetry-bars{
  display:inline-flex;
  align-items:flex-end;
  gap:2px;
  height:12px;
}
html body .lab-assistant .telemetry-bars i{
  display:block;
  width:2.5px;
  height:100%;
  background:#0284c7;
  border-radius:1px;
  transform-origin:bottom;
  animation:telemetryWaveBar .7s infinite ease-in-out;
}
html body .lab-assistant .telemetry-bars i:nth-child(2){animation-delay:.12s}
html body .lab-assistant .telemetry-bars i:nth-child(3){animation-delay:.24s}
html body .lab-assistant .telemetry-bars i:nth-child(4){animation-delay:.36s}
html body .lab-assistant .assistant-skeleton{
  display:flex;
  flex-direction:column;
  gap:6px;
}
html body .lab-assistant .sk-line{
  height:20px;
  border-radius:4px;
  background:linear-gradient(90deg,#f1f5f9 25%,#e0f2fe 50%,#f1f5f9 75%);
  background-size:200% 100%;
  animation:telemetryShimmer 1.1s infinite linear;
}
html body .lab-assistant .sk-w85{width:92%}
html body .lab-assistant .sk-w65{width:74%}

html body :is(.lab-assistant,.lab-dialog) .msg-body{
  display:flex;
  flex-direction:column;
  gap:5px;
}
html body :is(.lab-assistant,.lab-dialog) .msg-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:5px;
  align-items:baseline;
  background:#f8fafc;
  border:0;
  border-left:2.5px solid #0284c7;
  border-radius:2px;
  padding:5px 8px;
  animation:telemetryRowIn .24s cubic-bezier(.16,1,.3,1) both;
}
html body :is(.lab-assistant,.lab-dialog) .msg-badge{
  display:inline;
  font-size:12.5px!important;
  line-height:1.45!important;
  font-weight:700;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  white-space:nowrap;
}
html body :is(.lab-assistant,.lab-dialog) .msg-badge.neutral{
  color:#0f172a;
}
html body :is(.lab-assistant,.lab-dialog) .msg-badge.accent{
  color:#0284c7;
}
html body :is(.lab-assistant,.lab-dialog) .msg-badge.warn{
  color:#b91c1c;
}
html body :is(.lab-assistant,.lab-dialog) .msg-text{
  font-size:12.5px!important;
  line-height:1.45!important;
  color:#1e293b;
}
html body :is(.lab-assistant,.lab-dialog) .msg-num{
  color:#0369a1;
  font-weight:700;
  background:transparent;
  padding:0;
  border-radius:0;
  font-variant-numeric:tabular-nums;
}
html body :is(.lab-assistant,.lab-dialog) .msg-sep{
  color:#94a3b8;
  margin:0 4px;
}
html body :is(.lab-assistant,.lab-dialog) .msg-callout{
  background:#f0f9ff;
  border:0;
  border-left:2.5px solid #0284c7;
  border-radius:2px;
  padding:5px 8px;
  font-size:12px!important;
  line-height:1.4!important;
  color:#0c4a6e;
  font-weight:500;
  margin-top:1px;
  display:flex;
  align-items:baseline;
  gap:5px;
  animation:telemetryRowIn .26s cubic-bezier(.16,1,.3,1) both;
}
html body :is(.lab-assistant,.lab-dialog) .msg-callout .callout-tag{
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700;
  background:transparent!important;
  color:#0284c7;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  flex:none;
}
html body :is(.lab-assistant,.lab-dialog) .msg-bullet,
html body :is(.lab-assistant,.lab-dialog) .msg-para{
  margin:0!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  color:#1e293b;
}
html body .lab-assistant .assistant-message.user{
  background:#f1f5f9!important;
  border:1px solid #cbd5e1!important;
  border-left:2.5px solid #0f172a!important;
  border-radius:4px!important;
  padding:5px 8px!important;
  display:flex;
  align-items:baseline;
  gap:6px;
}
html body .lab-assistant .assistant-message.user .user-q-badge{
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:700;
  color:#0284c7;
  background:transparent!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  flex:none;
}
html body .lab-assistant .assistant-message.user p{
  margin:0!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:600;
  color:#0f172a!important;
}
html body .lab-assistant .assistant-message .message-source{
  font-size:10.5px!important;
  letter-spacing:.04em;
  color:#64748b!important;
  margin-top:5px!important;
  padding-top:4px;
  border-top:1px dashed #cbd5e1;
}
html body .lab-assistant .assistant-suggestions{
  gap:6px!important;
  padding-top:6px!important;
  border-top:1px solid #cbd5e1!important;
}
html body .lab-assistant .assistant-suggestions button{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  border-left:2.5px solid #0284c7!important;
  border-radius:4px!important;
  padding:5px 10px!important;
  font-size:12.5px!important;
  font-weight:600!important;
  text-align:left!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
html body .lab-assistant .assistant-suggestions button:hover{
  background:#f0f9ff!important;
  border-color:#0284c7!important;
  color:#0369a1!important;
}
html body .lab-assistant .assistant-compose{
  gap:6px!important;
  padding-top:6px!important;
  border-top:1px solid #cbd5e1!important;
}
html body .lab-assistant .assistant-compose textarea{
  min-height:46px!important;
  padding:6px 9px!important;
  font-size:12.5px!important;
  line-height:1.4!important;
  border:1px solid #94a3b8!important;
  border-radius:4px!important;
}
html body .lab-assistant .assistant-compose-row span{
  font-size:11.5px!important;
  color:#64748b!important;
}
html body .lab-assistant .assistant-compose button[type=submit]{
  font-size:12.5px!important;
  padding:4px 13px!important;
  border-radius:4px!important;
  font-weight:600!important;
  background:#0f172a!important;
  border:1px solid #0f172a!important;
  color:#ffffff!important;
}
html body .lab-assistant .assistant-compose button[type=submit]:hover{
  background:#0284c7!important;
  border-color:#0284c7!important;
}
