.aiq {
    --ink: #12324b;
    --muted: #4d6470;
    --line: #cbdde3;
    --paper: #f5fafb;
    --soft: #edf7f7;
    --mint: #cfeee2;
    --teal: #006b77;
    --blue: #005b78;
    --gold: #af7a18;
    --rose: #b94a62;
    color: var(--ink);
    font-family: inherit;
    clear: both;
    width: 100%;
    max-width: 100%;
    margin: 24px 0 0;
  }

  .aiq * {
    box-sizing: border-box;
  }

  .aiq button,
  .aiq input,
  .aiq select {
    font: inherit;
  }

  .aiq button {
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    cursor: pointer;
    border-radius: 6px;
    min-height: 42px;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
  }

  .aiq button:hover,
  .aiq button:focus-visible {
    border-color: var(--teal);
    outline: 3px solid #007d89;
    outline-offset: 3px;
  }

  .aiq button:active {
    transform: translateY(1px);
  }

  .aiq button[disabled] {
    cursor: not-allowed;
    opacity: .55;
  }

  .aiq-dashboard {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 18px;
    align-items: start;
  }

  .aiq-workspace,
  .aiq-side,
  .aiq-search-band,
  .aiq-summary {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
  }

  .aiq-workspace {
    min-height: 620px;
  }

  .aiq-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 14px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    border-radius: 8px 8px 0 0;
  }

  .aiq-tabs,
  .aiq-filter {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 4px;
    background: #edf2f6;
    border: 1px solid var(--line);
    border-radius: 7px;
  }

  .aiq-tabs button,
  .aiq-filter button {
    min-height: 36px;
    padding: 0 13px;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-weight: 700;
  }

  .aiq-tabs button.is-active,
  .aiq-filter button.is-active {
    background: #fff;
    color: var(--ink);
    box-shadow: 0 1px 3px rgba(22, 33, 47, .12);
  }

  .aiq-pane {
    padding: 18px;
  }

  .aiq-mode {
    display: none;
  }

  .aiq-mode.is-active {
    display: block;
  }

  .aiq-lesson-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr);
    gap: 16px;
    align-items: stretch;
  }

  .aiq-study {
    display: grid;
    gap: 14px;
    align-content: start;
    min-height: 390px;
  }

  .aiq-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
  }

  .aiq-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 2px 9px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--muted);
    font-size: .85rem;
    font-weight: 700;
  }

  .aiq-card-title {
    margin: 0;
    font-size: clamp(1.8rem, 5vw, 3rem);
    letter-spacing: 0;
    line-height: 1.05;
  }

  .aiq-definition {
    font-size: 1.18rem;
    line-height: 1.58;
    margin: 0;
  }

  .aiq-note {
    border-left: 4px solid var(--teal);
    background: var(--soft);
    padding: 14px 16px;
    color: #26384a;
  }

  .aiq-note strong {
    display: block;
    margin-bottom: 4px;
  }

  .aiq-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 8px;
  }

  .aiq-primary {
    background: var(--teal) !important;
    border-color: var(--teal) !important;
    color: #fff !important;
    font-weight: 800;
    padding: 0 16px;
  }

  .aiq-secondary {
    font-weight: 800;
    padding: 0 14px;
  }

  .aiq-link {
    color: var(--blue);
    font-weight: 800;
    text-decoration: none;
  }

  .aiq-link:hover {
    text-decoration: underline;
  }

  .aiq-stack {
    display: grid;
    gap: 10px;
  }

  .aiq-stack button {
    text-align: left;
    min-height: 54px;
    padding: 10px 12px;
    background: #fff;
  }

  .aiq-stack button.is-current {
    border-color: var(--teal);
    background: #f2fbf8;
  }

  .aiq-quiz-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
  }

  .aiq-scoreline {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .aiq-question {
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 8px;
    padding: 18px;
  }

  .aiq-prompt {
    color: var(--muted);
    margin: 0 0 8px;
    font-weight: 800;
  }

  .aiq-question h2 {
    margin: 0;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .aiq-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 18px;
  }

  .aiq-options button {
    padding: 14px;
    text-align: left;
    min-height: 84px;
    background: #fff;
  }

  .aiq-options button.is-correct {
    border-color: #22815a;
    background: #edf9f2;
  }

  .aiq-options button.is-wrong {
    border-color: #bd5b5b;
    background: #fff0ef;
  }

  .aiq-feedback {
    margin-top: 14px;
    padding: 14px;
    border-radius: 8px;
    background: #f3f6fa;
    border: 1px solid var(--line);
    display: none;
  }

  .aiq-feedback.is-visible {
    display: block;
  }

  .aiq-feedback h3 {
    margin: 0 0 6px;
    letter-spacing: 0;
  }

  .aiq-feedback p {
    margin: 0;
  }

  .aiq-input-row {
    display: flex;
    gap: 10px;
    margin-top: 18px;
  }

  .aiq-input-row input,
  .aiq-search {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0 12px;
    background: #fff;
    color: var(--ink);
  }

  .aiq-match {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
    margin-top: 16px;
  }

  .aiq-match-column {
    display: grid;
    gap: 8px;
  }

  .aiq-match button {
    min-height: 58px;
    padding: 10px;
    text-align: left;
  }

  .aiq-match button.is-selected {
    border-color: var(--blue);
    background: #eef5ff;
  }

  .aiq-match button.is-matched {
    border-color: #22815a;
    background: #edf9f2;
    color: #26513e;
  }

  .aiq-side {
    padding: 16px;
    display: grid;
    gap: 16px;
  }

  .aiq-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .aiq-stat {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    min-height: 82px;
  }

  .aiq-stat b {
    display: block;
    font-size: 1.7rem;
    line-height: 1;
    margin-bottom: 6px;
  }

  .aiq-stat span {
    color: var(--muted);
    font-size: .88rem;
    font-weight: 700;
  }

  .aiq-mastery {
    display: grid;
    gap: 8px;
  }

  .aiq-bar {
    height: 12px;
    background: #e7edf3;
    border-radius: 999px;
    overflow: hidden;
  }

  .aiq-bar span {
    display: block;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--teal), var(--blue));
    transition: width .25s ease;
  }

  .aiq-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .aiq-list li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #e4eaf1;
    padding: 0 0 8px;
  }

  .aiq-list small {
    color: var(--muted);
    white-space: nowrap;
  }

  .aiq-search-band {
    margin-top: 18px;
    padding: 16px;
  }

  .aiq-search-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
  }

  .aiq-term {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    min-height: 150px;
    display: grid;
    align-content: start;
    gap: 8px;
  }

  .aiq-term h3 {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .aiq-term p {
    margin: 0;
    color: var(--muted);
    font-size: .95rem;
    line-height: 1.45;
  }

  .aiq-summary {
    display: none;
    margin-top: 16px;
    padding: 18px;
  }

  .aiq-summary.is-visible {
    display: block;
  }

  .aiq-summary h2 {
    margin-top: 0;
    letter-spacing: 0;
  }

  .aiq-hidden {
    display: none !important;
  }

  @media (max-width: 860px) {
    .aiq-dashboard,
    .aiq-lesson-grid,
    .aiq-match {
      grid-template-columns: 1fr;
    }

    .aiq-options,
    .aiq-search-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 560px) {
    .aiq-toolbar,
    .aiq-quiz-head,
    .aiq-input-row {
      display: grid;
    }

    .aiq-tabs,
    .aiq-filter {
      width: 100%;
    }

    .aiq-tabs button,
    .aiq-filter button {
      flex: 1 1 auto;
      padding: 0 9px;
    }

    .aiq-pane {
      padding: 12px;
    }
  }
/* Game-library refinements: a focused play surface and optional supporting material. */
.aiq { margin-top:16px; }
.aiq-dashboard { display:block; }
.aiq-workspace { min-height:0; background:#fff; border-radius:12px; }
.aiq-toolbar { display:grid; grid-template-columns:1fr; gap:14px; background:#f5fafb; border-radius:12px 12px 0 0; padding:20px 24px; }
.aiq-tabs,.aiq-filter { width:fit-content; max-width:100%; border:0; background:transparent; padding:0; gap:8px; }
.aiq-tabs button,.aiq-filter button { min-height:44px; border:1px solid #cbdde3; background:#fff; }
.aiq-tabs button.is-active,.aiq-filter button.is-active { background:#006b77; color:#fff; box-shadow:none; border-color:#006b77; }
.aiq-pane { padding:26px; }
.aiq-quiz-head { align-items:flex-start; }
.aiq-quiz-head h2 { margin:0; font-size:clamp(20px,2.5vw,25px); line-height:1.5; }
.aiq-question { border:0; padding:0; }
.aiq-options button { background:#f5fafb; font-weight:bold; min-height:76px; }
.aiq button:disabled { opacity:1; }
.aiq button.aiq-primary:disabled { background:#e8eff1!important; color:#526873!important; border-color:#cbdde3!important; }
.aiq-options button.is-correct::after { content:" — correct"; }
.aiq-options button.is-wrong::after { content:" — your choice"; }
.aiq-feedback { background:#edf7f7; border:0; border-left:4px solid #006b77; border-radius:0; padding:18px; }
.aiq-side { display:grid; grid-template-columns:1fr 1fr; gap:24px; background:#fff; border:0; padding:22px 0; }
.aiq-side h2,.aiq-search-band h2 { font-size:20px; }
.aiq-side > button { align-self:start; justify-self:start; min-height:44px; }
.aiq-search-band { padding:20px 0; background:#fff; border:0; margin:0; }
.aiq-summary { margin:0 26px 26px; background:#edf7f7; border:0; border-left:4px solid #006b77; border-radius:0; }
.aiq-bar span { background:#006b77; }
.aiq-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.aiq [hidden] { display:none!important; }
.aiq input { font:inherit; }
.aiq-quiz-head>div { min-width:0; }
.aiq-scoreline { flex-shrink:0; }
@media(max-width:640px) { .aiq-pane,.aiq-toolbar { padding:18px; } .aiq-side { grid-template-columns:1fr; } .aiq-summary { margin:0 18px 18px; } .aiq-quiz-head { display:block; } .aiq-scoreline { justify-content:flex-start; margin-top:14px; } }
@media(prefers-reduced-motion:reduce) { .aiq * { transition:none!important; } }

/* Concept icon pilot: fixed geometry, visible explanations, no animation. */
.aiq .aiq-search {box-sizing:border-box; max-width:100%; min-width:0;}
.aiq-concept {display:flex; align-items:center; gap:1.25rem; margin:1.25rem 0; padding:1rem; border:1px solid #d5e3df; border-radius:12px; background:#f7faf7;}
.aiq-concept img {display:block; flex:0 0 144px; width:144px; height:144px; max-width:none;}
.aiq-concept figcaption {font-style:normal; min-width:0; color:#12324b; line-height:1.55;}
.aiq-concept figcaption p {margin:.4rem 0; font-size:1rem;}
.aiq-concept figcaption small {display:block; color:#415963; font-size:.83rem; line-height:1.5;}
.aiq-feedback .aiq-concept {background:#fffdf7; margin-bottom:0;}
.aiq-feedback .aiq-concept img {width:80px; height:80px; flex-basis:80px;}
.aiq-concept-thumb {display:inline-flex; vertical-align:middle; margin-right:.6rem;}
.aiq-concept-thumb img {width:40px; height:40px; max-width:none;}
.aiq-match-column button.is-matched {opacity:1; color:#12324b;}
@media(max-width:600px) {
 .aiq-concept {gap:.8rem; padding:.75rem; align-items:flex-start;}
 .aiq-concept img {width:88px; height:88px; flex-basis:88px;}
 .aiq-feedback .aiq-concept img {width:64px; height:64px; flex-basis:64px;}
}
@media(max-width:360px) {.aiq-concept {flex-direction:column;} }

/* Complete concept set: compact thumbnails stay within existing text controls. */
#nearbyTerms button {display:flex; align-items:center; gap:.6rem; text-align:left;}
#nearbyTerms .aiq-concept-thumb {flex:0 0 40px; margin:0;}
.aiq-term h3 a {display:flex; align-items:center; gap:.6rem;}
.aiq-term h3 .aiq-concept-thumb {flex:0 0 32px; margin:0;}
.aiq-term h3 .aiq-concept-thumb img {width:32px; height:32px;}
#reviewList li > span {display:flex; align-items:center; min-width:0; gap:.6rem;}
#reviewList .aiq-concept-thumb {flex:0 0 32px; margin:0;}
#reviewList .aiq-concept-thumb img {width:32px; height:32px;}
#reviewList li > small {flex-shrink:0;}
