[data-toantin-tool="lesson_toolkit"], .toantin-lesson-toolkit-root {
  --lt-blue: #155eef;
  --lt-blue-strong: #0f4fc7;
  --lt-navy: #16324f;
  --lt-muted: #63758a;
  --lt-border: rgba(15,58,110,.14);
  --lt-soft: #f5f9ff;
  --lt-surface: rgba(255,255,255,.96);
  --lt-shadow: 0 12px 35px rgba(15,58,110,.12);
  color: var(--lt-navy);
  font-family: system-ui,-apple-system,"Segoe UI",sans-serif;
}

.toantin-lesson-toolkit-root {
  width: 100%;
  min-width: 0;
}

.toantin-lesson-toolkit-root .lt-a3-generic-shell {
  display:flex;
  align-items:center;
  gap:.75rem;
  min-height:3rem;
  padding:.75rem 1rem;
  border:1px solid var(--lt-border);
  border-radius:14px;
  background:var(--lt-surface);
  box-shadow:var(--lt-shadow);
}

.toantin-lesson-toolkit-root .lt-a3-generic-shell span { color:var(--lt-muted); font-size:.875rem; }

.toantin-lesson-toolkit-root .lt-stage-topbar {
  display:flex;
  align-items:center;
  gap:.55rem;
  min-height:42px;
  padding:.35rem .55rem;
  margin-bottom:.45rem;
  border:1px solid var(--lt-border);
  border-radius:12px;
  background:rgba(255,255,255,.9);
  box-shadow:0 4px 16px rgba(15,58,110,.06);
}

.toantin-lesson-toolkit-root .lt-mode-badge,
.toantin-lesson-toolkit-root .lt-selection-badge {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 .65rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}

.toantin-lesson-toolkit-root .lt-mode-badge { color:#fff; background:linear-gradient(135deg,var(--lt-blue),#4887ff); }
.toantin-lesson-toolkit-root .lt-selection-badge { color:var(--lt-navy); background:#eef4ff; border:1px solid rgba(21,94,239,.13); }
.toantin-lesson-toolkit-root .lt-stage-hint { margin-left:auto; color:var(--lt-muted); font-size:.76rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.toantin-lesson-toolkit-root .lt-persistence-badge {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  max-width:240px;
  padding:0 .65rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#176b55;
  background:#eaf8f3;
  border:1px solid rgba(23,107,85,.15);
}
.toantin-lesson-toolkit-root .lt-persistence-badge[data-status="dirty"],
.toantin-lesson-toolkit-root .lt-persistence-badge[data-status="autosaving"],
.toantin-lesson-toolkit-root .lt-persistence-badge[data-status="reconnecting"],
.toantin-lesson-toolkit-root .lt-persistence-badge[data-status="connectivity-lost"] { color:#8a5b08; background:#fff7df; border-color:rgba(138,91,8,.18); }
.toantin-lesson-toolkit-root .lt-persistence-badge[data-status="safe-local-only"],
.toantin-lesson-toolkit-root .lt-persistence-badge[data-status="local-only"] { color:#8a5b08; background:#fff7df; border-color:rgba(138,91,8,.18); }
.toantin-lesson-toolkit-root .lt-persistence-badge[data-status="persistence-error"],
.toantin-lesson-toolkit-root .lt-persistence-badge[data-status="recovery-failed"] { color:#a13b31; background:#fff0ee; border-color:rgba(161,59,49,.18); }
.toantin-lesson-toolkit-root .lt-eraser-mode { width:160px; min-height:32px; border-radius:9px; }

.toantin-lesson-toolkit-root .lt-stage-frame {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(15,58,110,.16);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 8px 26px rgba(15,58,110,.08);
}

.toantin-lesson-toolkit-root .lt-stage {
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  background:#fff;
  touch-action:none;
  cursor:crosshair;
  user-select:none;
  -webkit-user-select:none;
}

.toantin-lesson-toolkit-root .lt-stage:focus-visible { outline:3px solid rgba(21,94,239,.45); outline-offset:-3px; }
.toantin-lesson-toolkit-root .lt-object { cursor:grab; }
.toantin-lesson-toolkit-root .lt-object:active { cursor:grabbing; }
.toantin-lesson-toolkit-root .lt-object-hit { pointer-events:all; }
.toantin-lesson-toolkit-root .lt-object.is-selected { filter:drop-shadow(0 2px 3px rgba(21,94,239,.2)); }
.toantin-lesson-toolkit-root .lt-selection-outline { fill:rgba(21,94,239,.045); stroke:var(--lt-blue); stroke-width:2; stroke-dasharray:9 6; vector-effect:non-scaling-stroke; }

.toantin-lesson-toolkit-root .lt-selection-group-outline { fill:rgba(21,94,239,.025); }
.toantin-lesson-toolkit-root .lt-selection-member-outline { fill:rgba(21,94,239,.018); stroke-opacity:.55; }
.toantin-lesson-toolkit-root .lt-object-rotate-handle { pointer-events:all; cursor:grab; }
.toantin-lesson-toolkit-root .lt-object-rotate-handle:active { cursor:grabbing; }
.toantin-lesson-toolkit-root .lt-object-rotate-hit { fill:transparent; stroke:none; pointer-events:all; }
.toantin-lesson-toolkit-root .lt-object-rotate-chrome { opacity:0; transition:opacity .12s ease, filter .12s ease; }
.toantin-lesson-toolkit-root .lt-object-rotate-bg { fill:#fff; stroke:#155eef; stroke-width:2; vector-effect:non-scaling-stroke; filter:drop-shadow(0 2px 5px rgba(15,58,110,.18)); }
.toantin-lesson-toolkit-root .lt-object-rotate-glyph { fill:none; stroke:#155eef; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.toantin-lesson-toolkit-root .lt-object-rotate-handle:hover .lt-object-rotate-chrome,
.toantin-lesson-toolkit-root .lt-object-rotate-handle:focus-visible .lt-object-rotate-chrome,
.toantin-lesson-toolkit-root .lt-selection-layer[data-rotating="true"] .lt-object-rotate-chrome { opacity:1; filter:brightness(1.03); }
@media (hover:none), (pointer:coarse) {
  .toantin-lesson-toolkit-root .lt-object-rotate-chrome { opacity:.78; }
}
@media (prefers-reduced-motion:reduce) {
  .toantin-lesson-toolkit-root .lt-object-rotate-chrome { transition:none; }
}
.toantin-lesson-toolkit-root .lt-marquee { fill:rgba(21,94,239,.08); stroke:var(--lt-blue); stroke-width:2; stroke-dasharray:10 6; vector-effect:non-scaling-stroke; }
.toantin-lesson-toolkit-root .lt-draft { vector-effect:non-scaling-stroke; }

.toantin-lesson-toolkit-root .lt-contextbar {
  display:flex;
  align-items:center;
  gap:.45rem;
  min-height:44px;
  padding:.4rem .5rem;
  margin:0 0 .45rem;
  border:1px solid rgba(21,94,239,.15);
  border-radius:12px;
  background:rgba(247,250,255,.96);
  box-shadow:0 5px 16px rgba(15,58,110,.07);
}
.toantin-lesson-toolkit-root .lt-contextbar[hidden] { display:none !important; }
.toantin-lesson-toolkit-root .lt-context-title { font-size:.78rem; font-weight:800; white-space:nowrap; margin-right:.1rem; }
.toantin-lesson-toolkit-root .lt-context-field { display:flex; align-items:center; }
.toantin-lesson-toolkit-root .lt-color-input { width:38px; height:32px; padding:.2rem; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-width-select { width:78px; min-height:32px; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-fill-switch { display:flex; align-items:center; gap:.3rem; margin:0; min-height:32px; white-space:nowrap; font-size:.78rem; }
.toantin-lesson-toolkit-root .lt-text-editor { flex:1 1 160px; min-width:120px; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-context-delete { display:inline-flex; align-items:center; justify-content:center; width:auto; min-width:max-content; min-height:36px; height:auto; padding:.38rem .7rem; border-radius:9px; margin-left:auto; white-space:nowrap; flex:0 0 auto; }
.toantin-lesson-toolkit-root :focus-visible { outline:3px solid rgba(21,94,239,.38); outline-offset:2px; }

[data-toantin-host-demo] {
  --host-blue:#155eef;
  --host-navy:#16324f;
  --host-muted:#66788d;
  --host-border:rgba(15,58,110,.14);
  color:var(--host-navy);
}
[data-toantin-host-demo] .lt-demo-shell { border:1px solid var(--host-border); border-radius:18px; background:#f8fbff; padding:.65rem; box-shadow:0 14px 40px rgba(15,58,110,.1); }
[data-toantin-host-demo] .lt-demo-head { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:.55rem; }
[data-toantin-host-demo] .lt-demo-brand { display:flex; align-items:center; gap:.5rem; margin-right:auto; min-width:0; }
[data-toantin-host-demo] .lt-demo-logo { width:44px; height:44px; flex:0 0 44px; display:block; object-fit:contain; border-radius:50%; background:transparent; box-shadow:0 5px 14px rgba(21,94,239,.16); }
[data-toantin-host-demo] .lt-demo-brand strong { font-size:.88rem; line-height:1.15; }
[data-toantin-host-demo] .lt-demo-brand small { display:block; color:var(--host-muted); font-size:.69rem; }
[data-toantin-host-demo] .lt-host-controls { display:flex; gap:.35rem; flex-wrap:wrap; align-items:center; }
[data-toantin-host-demo] .lt-host-controls .btn { min-height:38px; border-radius:10px; font-size:.78rem; }
[data-toantin-host-demo] .lt-home-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  min-height:44px;
  padding:.4rem .7rem;
  border-radius:10px;
  font-size:.76rem;
  font-weight:800;
  white-space:nowrap;
  text-decoration:none;
}
[data-toantin-host-demo] .lt-home-link svg { flex:0 0 auto; }

[data-toantin-host-demo] .lt-demo-workspace { display:flex; flex-direction:column; gap:.6rem; align-items:stretch; min-width:0; }
[data-toantin-host-demo] .lt-demo-workspace[data-orientation="vertical"] { flex-direction:row; align-items:flex-start; }
[data-toantin-host-demo] .lt-toolbar-wrap { display:flex; gap:.5rem; align-items:flex-start; margin:0; flex:0 0 auto; }
[data-toantin-host-demo] .lt-tool-stage-host { flex:1 1 auto; min-width:0; }
[data-toantin-host-demo] .lt-toolbar {
  display:flex;
  align-items:center;
  gap:.3rem;
  width:max-content;
  max-width:100%;
  padding:.35rem;
  border:1px solid rgba(15,58,110,.14);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 7px 22px rgba(15,58,110,.09);
  backdrop-filter:blur(10px);
}
[data-toantin-host-demo] .lt-toolbar[data-orientation="vertical"] { flex-direction:column; }
[data-toantin-host-demo] .lt-toolbar-group { display:flex; gap:.25rem; align-items:center; }
[data-toantin-host-demo] .lt-toolbar[data-orientation="vertical"] .lt-toolbar-group { flex-direction:column; }
[data-toantin-host-demo] .lt-toolbar-separator { width:1px; height:30px; background:rgba(15,58,110,.12); margin:0 .08rem; }
[data-toantin-host-demo] .lt-toolbar[data-orientation="vertical"] .lt-toolbar-separator { width:30px; height:1px; }
[data-toantin-host-demo] .lt-tool-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  min-width:44px;
  min-height:44px;
  padding:.45rem .65rem;
  border:0;
  border-radius:11px;
  color:var(--host-navy);
  background:transparent;
  transition:background .15s ease,transform .15s ease,box-shadow .15s ease;
}
[data-toantin-host-demo] .lt-tool-btn:hover:not(:disabled) { background:#eef4ff; }
[data-toantin-host-demo] .lt-tool-btn:active:not(:disabled) { transform:translateY(1px); }
[data-toantin-host-demo] .lt-tool-btn.is-active { color:#fff; background:linear-gradient(135deg,#155eef,#3d7cff); box-shadow:0 5px 13px rgba(21,94,239,.22); }
[data-toantin-host-demo] .lt-tool-btn.is-toggle-active { color:#0f4fc7; background:#e8f1ff; box-shadow:inset 0 0 0 1px rgba(21,94,239,.22); }
[data-toantin-host-demo] .lt-tool-btn:disabled { opacity:.34; cursor:not-allowed; }
[data-toantin-host-demo] .lt-tool-btn .lt-tool-label { font-size:.76rem; font-weight:700; white-space:nowrap; }
[data-toantin-host-demo] .lt-toolbar[data-density="compact"] .lt-tool-label,
[data-toantin-host-demo] .lt-toolbar[data-orientation="vertical"] .lt-tool-label { display:none; }
[data-toantin-host-demo] .lt-toolbar[data-density="compact"] .lt-tool-btn { width:44px; padding:.4rem; }
[data-toantin-host-demo] .lt-toolbar[data-density="collapsed"] { padding:.25rem; }
[data-toantin-host-demo] .lt-toolbar[data-density="collapsed"] .lt-toolbar-group,
[data-toantin-host-demo] .lt-toolbar[data-density="collapsed"] .lt-toolbar-separator { display:none; }
[data-toantin-host-demo] .lt-toolbar-open-pill { display:none; border:0; min-height:40px; padding:.35rem .7rem; border-radius:999px; background:#155eef; color:#fff; font-weight:800; font-size:.76rem; }
[data-toantin-host-demo] .lt-toolbar[data-density="collapsed"] .lt-toolbar-open-pill { display:inline-flex; align-items:center; gap:.4rem; }
[data-toantin-host-demo] .lt-toolbar[data-orientation="vertical"][data-density="compact"] { width:54px; align-items:center; }
[data-toantin-host-demo] .lt-status { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; color:var(--host-muted); font-size:.76rem; }
[data-toantin-host-demo] .lt-status-dot { width:8px; height:8px; border-radius:50%; background:#1aa981; box-shadow:0 0 0 4px rgba(26,169,129,.1); }

@media (max-width: 575.98px) {
  .toantin-lesson-toolkit-root .lt-stage-hint { display:none; }
  .toantin-lesson-toolkit-root .lt-stage-topbar { min-height:38px; padding:.3rem .4rem; }
  .toantin-lesson-toolkit-root .lt-mode-badge,.toantin-lesson-toolkit-root .lt-selection-badge,.toantin-lesson-toolkit-root .lt-persistence-badge { min-height:26px; font-size:.68rem; padding:0 .5rem; }
  .toantin-lesson-toolkit-root .lt-contextbar { overflow-x:auto; flex-wrap:nowrap; }
  .toantin-lesson-toolkit-root .lt-fill-switch { display:none; }
  .toantin-lesson-toolkit-root .lt-stage { min-height:0; max-height:none; }
  [data-toantin-host-demo] .lt-demo-shell { border-radius:14px; padding:.45rem; }
  [data-toantin-host-demo] .lt-demo-brand strong { font-size:.8rem; }
  [data-toantin-host-demo] .lt-host-controls { width:100%; overflow-x:auto; flex-wrap:nowrap; padding-bottom:.1rem; }
  [data-toantin-host-demo] .lt-demo-workspace, [data-toantin-host-demo] .lt-demo-workspace[data-orientation="vertical"] { flex-direction:column; }
  [data-toantin-host-demo] .lt-toolbar-wrap { overflow-x:auto; padding-bottom:.15rem; }
  [data-toantin-host-demo] .lt-toolbar { flex-shrink:0; }
  [data-toantin-host-demo] .lt-toolbar .lt-tool-label { display:none; }
  [data-toantin-host-demo] .lt-tool-btn { width:44px; padding:.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  [data-toantin-host-demo] .lt-tool-btn { transition:none; }
}

/* A5 — Teaching instruments */
[data-toantin-tool="lesson_toolkit"] .lt-object[data-object-type="instrument"] { cursor: move; }
[data-toantin-tool="lesson_toolkit"] .lt-object[data-object-type="instrument"].is-selected .lt-object-content { filter: drop-shadow(0 8px 16px rgba(15,23,42,.18)); }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-range { width: 92px; min-width: 72px; margin: 0 .2rem; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-number { width: 84px; min-width: 72px; }
@media (max-width: 576px) {
  [data-toantin-tool="lesson_toolkit"] .lt-instrument-range { width: 72px; }
  [data-toantin-tool="lesson_toolkit"] .lt-instrument-number { width: 72px; }
}
[data-toantin-host-demo] .lt-host-instrument-menu { position:absolute; z-index:40; width:240px; padding:.55rem; display:grid; grid-template-columns:1fr 1fr; gap:.35rem; border-radius:14px; }
[data-toantin-host-demo] .lt-host-instrument-title { grid-column:1/-1; font-size:.85rem; font-weight:700; color:#334155; padding:.2rem .25rem .35rem; }
[data-toantin-host-demo] .lt-host-instrument-item { min-height:44px; white-space:normal; line-height:1.15; }

/* A6 — Teaching Library Engine / qualification packs */
.toantin-lesson-toolkit-root.lt-library-panel {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  max-height:min(78vh,860px);
  border:1px solid var(--lt-border);
  border-radius:16px;
  background:var(--lt-surface);
  box-shadow:var(--lt-shadow);
  overflow:hidden;
}
.toantin-lesson-toolkit-root .lt-library-head {
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.75rem;
  border-bottom:1px solid var(--lt-border);
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.toantin-lesson-toolkit-root .lt-library-title-wrap { min-width:170px; display:flex; flex-direction:column; }
.toantin-lesson-toolkit-root .lt-library-title { font-size:.95rem; }
.toantin-lesson-toolkit-root .lt-library-subtitle { color:var(--lt-muted); font-size:.72rem; }
.toantin-lesson-toolkit-root .lt-library-search { position:relative; flex:1 1 320px; max-width:620px; margin-left:auto; }
.toantin-lesson-toolkit-root .lt-library-search-icon { position:absolute; left:.62rem; top:50%; transform:translateY(-50%); color:var(--lt-muted); pointer-events:none; }
.toantin-lesson-toolkit-root .lt-library-search .form-control { min-height:40px; padding-left:2rem; border-radius:11px; border-color:rgba(15,58,110,.16); }
.toantin-lesson-toolkit-root .lt-library-nav { padding:.55rem .7rem .35rem; background:#fbfdff; border-bottom:1px solid rgba(15,58,110,.08); }
.toantin-lesson-toolkit-root .lt-library-filter-row { display:flex; gap:.4rem; overflow-x:auto; padding-bottom:.45rem; scrollbar-width:thin; }
.toantin-lesson-toolkit-root .lt-library-filter { display:inline-flex; align-items:center; gap:.35rem; min-height:38px; white-space:nowrap; border-radius:10px; }
.toantin-lesson-toolkit-root .lt-library-subjects { display:flex; gap:.35rem; overflow-x:auto; padding:.05rem 0 .25rem; scrollbar-width:thin; }
.toantin-lesson-toolkit-root .lt-library-subject-tab { min-height:36px; border:1px solid transparent; border-radius:999px; padding:.3rem .72rem; background:transparent; color:var(--lt-muted); font-weight:700; font-size:.74rem; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-library-subject-tab:hover { background:#eef4ff; color:var(--lt-blue); }
.toantin-lesson-toolkit-root .lt-library-subject-tab.is-active { color:#0f4fc7; background:#e8f1ff; border-color:rgba(21,94,239,.18); }
.toantin-lesson-toolkit-root .lt-library-status { min-height:34px; padding:.4rem .75rem; color:var(--lt-muted); font-size:.72rem; display:flex; align-items:center; }
.toantin-lesson-toolkit-root .lt-library-body { overflow:auto; padding:0 .75rem .75rem; min-height:180px; }
.toantin-lesson-toolkit-root .lt-library-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:.55rem; }
.toantin-lesson-toolkit-root .lt-library-card { display:flex; flex-direction:column; min-height:158px; padding:.65rem; border:1px solid rgba(15,58,110,.12); border-radius:13px; background:#fff; box-shadow:0 4px 14px rgba(15,58,110,.05); }
.toantin-lesson-toolkit-root .lt-library-card:hover { border-color:rgba(21,94,239,.3); box-shadow:0 8px 20px rgba(15,58,110,.09); }
.toantin-lesson-toolkit-root .lt-library-card-top { display:flex; align-items:center; justify-content:space-between; gap:.4rem; }
.toantin-lesson-toolkit-root .lt-library-card-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#155eef; background:#eef4ff; }
.toantin-lesson-toolkit-root .lt-library-favorite { width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:10px; background:transparent; color:#94a3b8; }
.toantin-lesson-toolkit-root .lt-library-favorite:hover { background:#fff7db; color:#ca8a04; }
.toantin-lesson-toolkit-root .lt-library-favorite.is-active { color:#ca8a04; background:#fff7db; }
.toantin-lesson-toolkit-root .lt-library-card-label { margin-top:.5rem; font-size:.82rem; line-height:1.25; min-height:2.1em; }
.toantin-lesson-toolkit-root .lt-library-card-meta { display:flex; flex-wrap:wrap; gap:.25rem; margin:.4rem 0 .55rem; }
.toantin-lesson-toolkit-root .lt-library-chip { display:inline-flex; align-items:center; min-height:22px; padding:0 .4rem; border-radius:999px; background:#e8f1ff; color:#0f4fc7; font-size:.64rem; font-weight:700; }
.toantin-lesson-toolkit-root .lt-library-chip.is-soft { background:#f1f5f9; color:#64748b; }
.toantin-lesson-toolkit-root .lt-library-use { margin-top:auto; min-height:38px; border-radius:10px; font-weight:700; }
.toantin-lesson-toolkit-root .lt-library-empty { grid-column:1/-1; min-height:180px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; padding:1.2rem; border:1px dashed rgba(15,58,110,.16); border-radius:14px; color:var(--lt-muted); text-align:center; background:#fbfdff; }
.toantin-lesson-toolkit-root .lt-library-empty strong { color:var(--lt-navy); }
.toantin-lesson-toolkit-root .lt-library-empty-icon { width:50px; height:50px; border-radius:14px; display:grid; place-items:center; color:#155eef; background:#eef4ff; }
[data-toantin-host-demo] .lt-host-library-shell { flex:0 0 min(440px,36vw); min-width:320px; max-width:520px; border:1px solid var(--host-border); border-radius:16px; background:#fff; box-shadow:0 14px 32px rgba(15,58,110,.12); overflow:hidden; }
[data-toantin-host-demo] .lt-host-library-shell[hidden] { display:none !important; }
[data-toantin-host-demo] .lt-host-library-chrome { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.45rem .6rem; border-bottom:1px solid var(--host-border); background:#f8fbff; }
[data-toantin-host-demo] .lt-host-library-host { min-width:0; }
[data-toantin-host-demo] .lt-demo-workspace[data-orientation="vertical"] .lt-host-library-shell { align-self:stretch; }
@media (max-width: 991.98px) {
  [data-toantin-host-demo] .lt-host-library-shell { width:100%; max-width:none; min-width:0; flex-basis:auto; }
  .toantin-lesson-toolkit-root .lt-library-head { align-items:stretch; flex-direction:column; }
  .toantin-lesson-toolkit-root .lt-library-search { width:100%; max-width:none; margin-left:0; }
}
@media (max-width: 575.98px) {
  .toantin-lesson-toolkit-root.lt-library-panel { max-height:72vh; border-radius:13px; }
  .toantin-lesson-toolkit-root .lt-library-title-wrap { min-width:0; }
  .toantin-lesson-toolkit-root .lt-library-subtitle { display:none; }
  .toantin-lesson-toolkit-root .lt-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
  .toantin-lesson-toolkit-root .lt-library-card { min-height:150px; padding:.55rem; }
  .toantin-lesson-toolkit-root .lt-library-card-label { font-size:.76rem; }
  .toantin-lesson-toolkit-root .lt-library-chip.is-soft { display:none; }
}
[data-toantin-host-demo] .lt-demo-stage-row { display:flex; align-items:flex-start; gap:.6rem; width:100%; min-width:0; }
[data-toantin-host-demo] .lt-demo-stage-row > .lt-tool-stage-host { flex:1 1 auto; min-width:0; }
@media (max-width: 991.98px) { [data-toantin-host-demo] .lt-demo-stage-row { flex-direction:column; } }
@media (max-width: 991.98px) {
  [data-toantin-host-demo] .lt-demo-stage-row > .lt-tool-stage-host,
  [data-toantin-host-demo] .lt-demo-stage-row > .lt-host-library-shell { width:100%; }
}

/* A7 — My Toolkits / mini-toolbar. Scoped to Tool or standalone Host mock only. */
.toantin-lesson-toolkit-root .lt-library-card-actions { display:flex; gap:.35rem; margin-top:auto; }
.toantin-lesson-toolkit-root .lt-library-card-actions .lt-library-use { flex:1 1 auto; margin-top:0; }
.toantin-lesson-toolkit-root .lt-library-add-toolkit { min-width:58px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; gap:.25rem; border-radius:10px; font-weight:700; }
.toantin-lesson-toolkit-root.lt-toolkit-bar { display:flex; flex-direction:column; gap:.35rem; min-width:240px; max-width:min(760px,82vw); padding:.45rem; border:1px solid rgba(15,58,110,.12); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 12px 28px rgba(15,58,110,.12); backdrop-filter:blur(12px); }
.toantin-lesson-toolkit-root .lt-toolkit-head { display:flex; align-items:center; gap:.45rem; min-height:40px; padding:.15rem .2rem .35rem; border-bottom:1px solid rgba(15,58,110,.08); }
.toantin-lesson-toolkit-root .lt-toolkit-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--lt-navy); font-size:.84rem; }
.toantin-lesson-toolkit-root .lt-toolkit-head-actions { display:flex; gap:.25rem; margin-left:auto; }
.toantin-lesson-toolkit-root .lt-toolkit-head-btn { width:36px; height:36px; padding:0; display:grid; place-items:center; border-radius:10px; }
.toantin-lesson-toolkit-root .lt-toolkit-items { display:flex; align-items:stretch; gap:.32rem; overflow:auto; scrollbar-width:thin; padding:.1rem; }
.toantin-lesson-toolkit-root[data-orientation="vertical"] { min-width:64px; width:max-content; max-width:260px; }
.toantin-lesson-toolkit-root[data-orientation="vertical"] .lt-toolkit-items { flex-direction:column; max-height:60vh; }
.toantin-lesson-toolkit-root .lt-toolkit-item { position:relative; display:flex; align-items:center; min-width:78px; border:1px solid rgba(15,58,110,.10); border-radius:11px; background:#fff; }
.toantin-lesson-toolkit-root .lt-toolkit-use { min-width:76px; min-height:52px; border:0; border-radius:10px; background:transparent; color:var(--lt-navy); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.15rem; padding:.35rem .5rem; font-weight:700; font-size:.68rem; }
.toantin-lesson-toolkit-root .lt-toolkit-use:hover { background:#eef4ff; color:#0f4fc7; }
.toantin-lesson-toolkit-root .lt-toolkit-use:disabled { color:#94a3b8; background:#f8fafc; }
.toantin-lesson-toolkit-root .lt-toolkit-use-icon { display:grid; place-items:center; color:#155eef; }
.toantin-lesson-toolkit-root .lt-toolkit-use-label { max-width:104px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-toolkit-remove { position:absolute; right:-5px; top:-5px; width:24px; height:24px; padding:0; display:grid; place-items:center; border:1px solid rgba(15,58,110,.12); border-radius:999px; background:#fff; color:#64748b; opacity:0; transition:opacity .15s ease,background .15s ease; }
.toantin-lesson-toolkit-root .lt-toolkit-item:hover .lt-toolkit-remove,.toantin-lesson-toolkit-root .lt-toolkit-remove:focus-visible { opacity:1; }
.toantin-lesson-toolkit-root .lt-toolkit-remove:hover { background:#fff1f2; color:#dc2626; }
.toantin-lesson-toolkit-root[data-compact="true"] .lt-toolkit-use { min-width:48px; width:48px; min-height:48px; padding:.25rem; }
.toantin-lesson-toolkit-root[data-compact="true"] .lt-toolkit-use-label { display:none; }
.toantin-lesson-toolkit-root[data-collapsed="true"] .lt-toolkit-items,.toantin-lesson-toolkit-root[data-collapsed="true"] .lt-toolkit-empty { display:none; }
.toantin-lesson-toolkit-root .lt-toolkit-empty { padding:.8rem; color:var(--lt-muted); font-size:.72rem; text-align:center; border:1px dashed rgba(15,58,110,.15); border-radius:10px; background:#fbfdff; }
[data-toantin-host-demo] .lt-host-toolkit-shell { position:absolute; left:1rem; bottom:1rem; z-index:20; max-width:min(760px,calc(100% - 2rem)); }
[data-toantin-host-demo] .lt-host-toolkit-shell[hidden] { display:none !important; }
[data-toantin-host-demo] .lt-host-toolkit-chrome { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.35rem .5rem; border:1px solid var(--host-border); border-bottom:0; border-radius:13px 13px 0 0; background:#f8fbff; box-shadow:0 8px 20px rgba(15,58,110,.08); }
[data-toantin-host-demo] .lt-host-toolkit-host .lt-toolkit-bar { border-top-left-radius:0; border-top-right-radius:0; }
@media (max-width:600px){
  .toantin-lesson-toolkit-root.lt-toolkit-bar { max-width:calc(100vw - 1rem); min-width:0; }
  .toantin-lesson-toolkit-root .lt-toolkit-head { min-height:36px; }
  .toantin-lesson-toolkit-root .lt-toolkit-use { min-width:56px; min-height:48px; }
  [data-toantin-host-demo] .lt-host-toolkit-shell { left:.5rem; right:.5rem; bottom:.5rem; max-width:none; }
  .toantin-lesson-toolkit-root .lt-library-add-toolkit span { display:none; }
  .toantin-lesson-toolkit-root .lt-library-add-toolkit { min-width:40px; width:40px; padding:0; }
}

/* A8 — Cloud Temp / Owner Catalog / Host Bridges */
.toantin-lesson-toolkit-root .lt-toolkit-cloud { display:flex; align-items:center; gap:.35rem; padding:.28rem .2rem .15rem; color:var(--lt-muted); font-size:.68rem; }
.toantin-lesson-toolkit-root .lt-toolkit-cloud[hidden] { display:none !important; }
.toantin-lesson-toolkit-root .lt-toolkit-cloud-label { font-weight:700; color:var(--lt-navy); white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-toolkit-cloud-ttl { width:auto; min-width:92px; min-height:34px; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-toolkit-cloud-upload { width:36px; height:36px; padding:0; display:grid; place-items:center; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-toolkit-cloud-status { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.toantin-lesson-toolkit-root[data-compact="true"] .lt-toolkit-cloud-label,
.toantin-lesson-toolkit-root[data-compact="true"] .lt-toolkit-cloud-status { display:none; }
.toantin-lesson-toolkit-root[data-orientation="vertical"] .lt-toolkit-cloud { flex-direction:column; align-items:stretch; }
.toantin-lesson-toolkit-root[data-orientation="vertical"] .lt-toolkit-cloud-ttl { min-width:0; width:100%; }

.toantin-lesson-toolkit-root.lt-owner-catalog-panel { display:flex; flex-direction:column; gap:.65rem; min-width:320px; max-width:780px; max-height:min(78vh,760px); padding:.75rem; border:1px solid var(--lt-border); border-radius:16px; background:var(--lt-surface); box-shadow:var(--lt-shadow); overflow:auto; }
.toantin-lesson-toolkit-root .lt-owner-catalog-head { display:flex; align-items:flex-end; gap:.75rem; }
.toantin-lesson-toolkit-root .lt-owner-catalog-title { display:flex; flex-direction:column; min-width:220px; }
.toantin-lesson-toolkit-root .lt-owner-catalog-title strong { color:var(--lt-navy); }
.toantin-lesson-toolkit-root .lt-owner-catalog-title span { color:var(--lt-muted); font-size:.72rem; }
.toantin-lesson-toolkit-root .lt-owner-catalog-head .form-control { margin-left:auto; max-width:300px; min-height:40px; border-radius:10px; }
.toantin-lesson-toolkit-root .lt-owner-catalog-form { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; gap:.45rem; }
.toantin-lesson-toolkit-root .lt-owner-catalog-form .form-control { min-height:40px; border-radius:10px; }
.toantin-lesson-toolkit-root .lt-owner-catalog-form .btn { min-height:40px; display:inline-flex; align-items:center; gap:.3rem; border-radius:10px; }
.toantin-lesson-toolkit-root .lt-owner-catalog-status { color:var(--lt-muted); font-size:.72rem; }
.toantin-lesson-toolkit-root .lt-owner-catalog-list { display:grid; gap:.4rem; }
.toantin-lesson-toolkit-root .lt-owner-catalog-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.5rem; align-items:center; padding:.55rem .65rem; border:1px solid rgba(15,58,110,.12); border-radius:12px; background:#fff; }
.toantin-lesson-toolkit-root .lt-owner-catalog-row-main { min-width:0; display:flex; flex-direction:column; }
.toantin-lesson-toolkit-root .lt-owner-catalog-row-main code { color:#64748b; font-size:.68rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:700px){
  .toantin-lesson-toolkit-root .lt-owner-catalog-head { align-items:stretch; flex-direction:column; }
  .toantin-lesson-toolkit-root .lt-owner-catalog-head .form-control { max-width:none; width:100%; margin-left:0; }
  .toantin-lesson-toolkit-root .lt-owner-catalog-form { grid-template-columns:1fr; }
  .toantin-lesson-toolkit-root .lt-owner-catalog-row { grid-template-columns:minmax(0,1fr) auto; }
  .toantin-lesson-toolkit-root .lt-owner-catalog-row > .btn { grid-column:1/-1; }
}

/* A9 — Full Tool / cross-product polish. All Tool CSS remains scoped. */
.toantin-lesson-toolkit-root.lt-full-tool {
  display:flex; flex-direction:column; gap:.65rem; width:min(1180px,100%); max-height:min(86vh,900px);
  padding:.75rem; border:1px solid var(--lt-border); border-radius:16px; background:var(--lt-surface);
  box-shadow:0 18px 48px rgba(15,58,110,.16); overflow:auto; overscroll-behavior:contain;
}
.toantin-lesson-toolkit-root .lt-full-head { display:flex; align-items:center; gap:.7rem; min-height:50px; padding-bottom:.55rem; border-bottom:1px solid rgba(15,58,110,.1); }
.toantin-lesson-toolkit-root .lt-full-title { display:flex; align-items:center; gap:.55rem; min-width:0; color:var(--lt-navy); }
.toantin-lesson-toolkit-root .lt-full-title > svg { flex:0 0 auto; color:var(--lt-blue); }
.toantin-lesson-toolkit-root .lt-full-title div { min-width:0; display:flex; flex-direction:column; }
.toantin-lesson-toolkit-root .lt-full-title strong { font-size:.92rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-full-title small { color:var(--lt-muted); font-size:.7rem; }
.toantin-lesson-toolkit-root .lt-full-close { margin-left:auto; }
.toantin-lesson-toolkit-root .lt-full-btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:.35rem; border-radius:10px; font-weight:700; }
.toantin-lesson-toolkit-root .lt-full-icon-btn { width:44px; min-width:44px; padding:0; }
.toantin-lesson-toolkit-root .lt-full-icon-btn span { display:none; }
.toantin-lesson-toolkit-root .lt-full-actions { display:flex; gap:.4rem; flex-wrap:wrap; }
.toantin-lesson-toolkit-root .lt-full-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr); gap:.65rem; min-width:0; }
.toantin-lesson-toolkit-root .lt-full-card { min-width:0; padding:.7rem; border:1px solid rgba(15,58,110,.1); border-radius:14px; background:#fff; box-shadow:0 4px 16px rgba(15,58,110,.045); }
.toantin-lesson-toolkit-root .lt-full-card-head { display:flex; align-items:center; gap:.5rem; margin-bottom:.55rem; }
.toantin-lesson-toolkit-root .lt-full-card-title { margin:0 0 .55rem; color:var(--lt-navy); font-size:.82rem; font-weight:800; }
.toantin-lesson-toolkit-root .lt-full-card-head .lt-full-card-title { margin:0; }
.toantin-lesson-toolkit-root .lt-full-card-head .badge { margin-left:auto; }
.toantin-lesson-toolkit-root .lt-full-object-list { display:grid; gap:.35rem; max-height:360px; overflow:auto; scrollbar-width:thin; }
.toantin-lesson-toolkit-root .lt-full-object-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.35rem; align-items:center; padding:.3rem; border:1px solid transparent; border-radius:11px; background:#f8fbff; }
.toantin-lesson-toolkit-root .lt-full-object-row[data-selected="true"] { border-color:rgba(21,94,239,.34); background:#eef4ff; }
.toantin-lesson-toolkit-root .lt-full-object-main { min-height:44px; min-width:0; display:flex; align-items:center; padding:.35rem .5rem; border:0; border-radius:9px; background:transparent; color:var(--lt-navy); text-align:left; }
.toantin-lesson-toolkit-root .lt-full-object-main:hover { background:rgba(21,94,239,.07); }
.toantin-lesson-toolkit-root .lt-full-object-meta { display:flex; flex-direction:column; min-width:0; }
.toantin-lesson-toolkit-root .lt-full-object-meta strong { font-size:.75rem; }
.toantin-lesson-toolkit-root .lt-full-object-meta small { color:var(--lt-muted); font-size:.62rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-full-session-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; }
.toantin-lesson-toolkit-root .lt-full-metric { min-width:0; display:flex; flex-direction:column; gap:.12rem; padding:.55rem; border-radius:10px; background:#f7faff; border:1px solid rgba(15,58,110,.08); }
.toantin-lesson-toolkit-root .lt-full-metric[data-tone="ok"] { background:#effaf6; }
.toantin-lesson-toolkit-root .lt-full-metric[data-tone="warn"] { background:#fff8e8; }
.toantin-lesson-toolkit-root .lt-full-metric[data-tone="danger"] { background:#fff2f0; }
.toantin-lesson-toolkit-root .lt-full-metric-key { color:var(--lt-muted); font-size:.63rem; }
.toantin-lesson-toolkit-root .lt-full-metric-value { font-size:.72rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-full-service-list { display:grid; gap:.3rem; }
.toantin-lesson-toolkit-root .lt-full-service-row { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:.4rem; min-height:32px; font-size:.68rem; }
.toantin-lesson-toolkit-root .lt-full-service-dot { width:8px; height:8px; border-radius:50%; background:#b0becb; }
.toantin-lesson-toolkit-root .lt-full-service-dot[data-enabled="true"] { background:#18a77c; box-shadow:0 0 0 3px rgba(24,167,124,.1); }
.toantin-lesson-toolkit-root .lt-full-service-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.toantin-lesson-toolkit-root .lt-full-service-status { color:var(--lt-muted); font-size:.62rem; text-align:right; }
.toantin-lesson-toolkit-root .lt-full-shortcuts { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.35rem .55rem; align-items:center; font-size:.68rem; }
.toantin-lesson-toolkit-root .lt-full-shortcuts kbd { justify-self:start; min-width:30px; text-align:center; border-radius:7px; background:#16324f; color:#fff; box-shadow:none; }
.toantin-lesson-toolkit-root .lt-full-empty { padding:1rem; border:1px dashed rgba(15,58,110,.16); border-radius:10px; background:#fbfdff; color:var(--lt-muted); font-size:.72rem; text-align:center; }
[data-toantin-host-demo] .lt-host-full-shell { position:fixed; inset:5vh 3vw auto; z-index:60; max-width:1180px; margin:auto; }
[data-toantin-host-demo] .lt-host-full-shell[hidden] { display:none !important; }
[data-toantin-host-demo] .lt-host-full-chrome { min-height:44px; display:flex; align-items:center; gap:.5rem; padding:.35rem .55rem; border:1px solid var(--host-border); border-bottom:0; border-radius:14px 14px 0 0; background:#f8fbff; box-shadow:0 12px 30px rgba(15,58,110,.11); }
[data-toantin-host-demo] .lt-host-full-chrome .lt-host-full-title { font-size:.78rem; font-weight:800; }
[data-toantin-host-demo] .lt-host-full-chrome .lt-host-full-spacer { flex:1; }
[data-toantin-host-demo] .lt-host-full-host .lt-full-tool { border-top-left-radius:0; border-top-right-radius:0; max-height:80vh; }
[data-toantin-host-demo][data-full-maximized="true"] .lt-host-full-shell { inset:.35rem; max-width:none; }
[data-toantin-host-demo][data-full-maximized="true"] .lt-host-full-host .lt-full-tool { width:100%; max-height:calc(100vh - 4rem); }

@media (max-width: 767.98px) {
  .toantin-lesson-toolkit-root.lt-full-tool { max-height:86vh; border-radius:14px; padding:.55rem; }
  .toantin-lesson-toolkit-root .lt-full-title small { display:none; }
  .toantin-lesson-toolkit-root .lt-full-actions { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }
  .toantin-lesson-toolkit-root .lt-full-actions .lt-full-btn { flex:0 0 auto; }
  .toantin-lesson-toolkit-root .lt-full-grid { grid-template-columns:1fr; }
  .toantin-lesson-toolkit-root .lt-full-object-list { max-height:240px; }
  [data-toantin-host-demo] .lt-host-full-shell { inset:.5rem; max-width:none; }
  [data-toantin-host-demo] .lt-host-full-host .lt-full-tool { max-height:calc(100vh - 3.6rem); }
}
@media (max-width: 390px) {
  .toantin-lesson-toolkit-root .lt-full-btn span { display:none; }
  .toantin-lesson-toolkit-root .lt-full-btn { width:44px; min-width:44px; padding:0; }
  .toantin-lesson-toolkit-root .lt-full-session-grid { grid-template-columns:1fr; }
  .toantin-lesson-toolkit-root .lt-full-service-status { display:none; }
  .toantin-lesson-toolkit-root .lt-full-service-row { grid-template-columns:10px minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .toantin-lesson-toolkit-root *, [data-toantin-host-demo] .lt-tool-btn { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

[data-toantin-host-demo] .lt-host-drag-handle { width:32px; min-width:32px; height:44px; border:1px solid rgba(15,58,110,.12); border-radius:10px; background:#fff; color:#64748b; cursor:grab; touch-action:none; user-select:none; }
[data-toantin-host-demo] .lt-host-drag-handle:active { cursor:grabbing; }
[data-toantin-host-demo] .lt-toolbar-wrap[data-pinned="true"] .lt-host-drag-handle { opacity:.45; cursor:not-allowed; }

/* OWNER FIX 01 — high-fidelity direct manipulation */
[data-toantin-tool="lesson_toolkit"] .lt-instrument-visual {
  filter: drop-shadow(0 10px 18px rgba(15, 23, 42, .16));
}
[data-toantin-tool="lesson_toolkit"] .lt-instrument-control-layer { pointer-events:none; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-selection-shape {
  fill:rgba(21,94,239,.035);
  stroke:#155eef;
  stroke-width:2;
  stroke-dasharray:9 7;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
}
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle {
  pointer-events:all;
  cursor:grab;
  touch-action:none;
  outline:none;
}
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle[data-instrument-handle="rotate"] { cursor:grab; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle[data-instrument-handle="scale"] { cursor:nwse-resize; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle[data-instrument-handle="length"],
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle[data-instrument-handle="compass-radius"] { cursor:ew-resize; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle[data-instrument-handle="compass-draw"] { cursor:crosshair; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle[data-instrument-handle="delete"] { cursor:pointer; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle-hit { fill:transparent; stroke:none; pointer-events:all; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle-bg {
  fill:rgba(255,255,255,.98);
  stroke:#155eef;
  stroke-width:2.2;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 5px 11px rgba(15,23,42,.2));
}
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle-danger .lt-instrument-handle-bg { stroke:#dc2626; fill:#fff7f7; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle-accent .lt-instrument-handle-bg { stroke:#0ea5e9; fill:#effaff; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle-glyph {
  fill:none;
  stroke:#155eef;
  stroke-width:2.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
}
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle-danger .lt-instrument-handle-glyph { stroke:#dc2626; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle-accent .lt-instrument-handle-glyph { stroke:#0284c7; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle:focus-visible .lt-instrument-handle-bg,
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle:hover .lt-instrument-handle-bg {
  stroke-width:4;
}
[data-toantin-tool="lesson_toolkit"] .lt-direct-text-editor {
  position:absolute;
  z-index:8;
  resize:none;
  overflow:hidden;
  border:2px solid #155eef;
  border-radius:10px;
  background:rgba(255,255,255,.97);
  color:#16324f;
  box-shadow:0 10px 26px rgba(15,58,110,.2);
  padding:.35rem .5rem;
  line-height:1.2;
  transform-origin:left top;
  touch-action:manipulation;
}
[data-toantin-tool="lesson_toolkit"] .lt-direct-text-editor:focus {
  outline:3px solid rgba(21,94,239,.18);
  outline-offset:1px;
}
@media (max-width:575.98px) {
  [data-toantin-tool="lesson_toolkit"] .lt-instrument-handle-bg { stroke-width:3; }
}

/* OWNER FIX 02-B — professional math instruments */
[data-toantin-tool="lesson_toolkit"] .lt-object[data-object-type="instrument"] .lt-object-content { transform-box:fill-box; transform-origin:center; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle { transition:filter .12s ease; }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-handle:hover { filter:brightness(1.03); }
[data-toantin-tool="lesson_toolkit"] .lt-instrument-selection-shape { stroke-linecap:round; stroke-linejoin:round; }

/* OWNER FIX 02-C — commercial toolbar/window layering + Help. */
[data-toantin-host-demo] {
  --lt-host-layer-stage: 10;
  --lt-host-layer-toolbar: 700;
  --lt-host-layer-popover: 800;
  --lt-host-layer-window: 900;
  --lt-host-layer-full: 950;
}
[data-toantin-host-demo] .lt-demo-stage-row { position:relative; isolation:isolate; z-index:var(--lt-host-layer-stage); }
[data-toantin-host-demo] .lt-toolbar-wrap {
  position:relative;
  z-index:var(--lt-host-layer-toolbar);
  max-width:calc(100vw - 1rem);
  min-width:0;
  will-change:transform;
  transform:translate3d(0,0,0);
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-dragging="true"] { z-index:calc(var(--lt-host-layer-toolbar) + 20); }
[data-toantin-host-demo] .lt-toolbar {
  width:auto;
  max-width:calc(100vw - 58px);
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  flex-wrap:nowrap;
}
[data-toantin-host-demo] .lt-toolbar::-webkit-scrollbar { display:none; }
[data-toantin-host-demo] .lt-toolbar-group { flex:0 0 auto; }
[data-toantin-host-demo] .lt-tool-btn { width:44px; min-width:44px; padding:.4rem; flex:0 0 44px; }
[data-toantin-host-demo] .lt-tool-btn .lt-tool-label { display:none !important; }
[data-toantin-host-demo] .lt-toolbar[data-orientation="vertical"] { max-width:54px; max-height:calc(100vh - 1rem); overflow-x:hidden; overflow-y:auto; }
[data-toantin-host-demo] .lt-toolbar[data-orientation="vertical"] .lt-toolbar-group { flex:0 0 auto; }
[data-toantin-host-demo] .lt-host-drag-handle { position:relative; z-index:2; box-shadow:0 5px 16px rgba(15,58,110,.11); }
[data-toantin-host-demo] .lt-host-instrument-menu,
[data-toantin-host-demo] .lt-host-focus-menu,
.lt-host-instrument-menu,
.lt-host-focus-menu { z-index:var(--lt-host-layer-popover,800) !important; }
.lt-host-focus-menu { padding:.55rem; display:grid; grid-template-columns:1fr 1fr; gap:.35rem; border:1px solid rgba(15,58,110,.14); border-radius:14px; background:rgba(255,255,255,.98); backdrop-filter:blur(12px); }
.lt-host-focus-title { grid-column:1/-1; padding:.15rem .25rem .4rem; font-size:.82rem; font-weight:800; color:#16324f; }
.lt-host-focus-item { min-height:44px; display:flex; align-items:center; justify-content:flex-start; gap:.45rem; border-radius:10px; font-weight:700; font-size:.72rem; }
.lt-host-focus-item:last-child { grid-column:1/-1; justify-content:center; }

[data-toantin-host-demo] .lt-host-toolkit-shell {
  position:fixed;
  left:16px;
  top:90px;
  bottom:auto;
  right:auto;
  z-index:var(--lt-host-layer-window);
  max-width:min(780px,calc(100vw - 16px));
  max-height:calc(100vh - 16px);
  border-radius:14px;
  filter:drop-shadow(0 20px 38px rgba(15,58,110,.18));
  will-change:left,top;
}
[data-toantin-host-demo] .lt-host-toolkit-shell[data-dragging="true"] { z-index:calc(var(--lt-host-layer-window) + 20); }
[data-toantin-host-demo] .lt-host-toolkit-shell[data-pinned="true"] .lt-host-toolkit-grip { opacity:.35; }
[data-toantin-host-demo] .lt-host-toolkit-shell[data-minimized="true"] .lt-host-toolkit-host { display:none; }
[data-toantin-host-demo] .lt-host-toolkit-shell[data-minimized="true"] .lt-host-toolkit-chrome { border-bottom:1px solid var(--host-border); border-radius:13px; }
[data-toantin-host-demo] .lt-host-toolkit-chrome { cursor:grab; touch-action:none; user-select:none; justify-content:flex-start; background:rgba(248,251,255,.98); }
[data-toantin-host-demo] .lt-host-toolkit-shell[data-pinned="true"] .lt-host-toolkit-chrome { cursor:default; }
[data-toantin-host-demo] .lt-host-toolkit-chrome:active { cursor:grabbing; }
[data-toantin-host-demo] .lt-host-toolkit-grip { color:#64748b; font-weight:900; letter-spacing:-2px; padding-right:.15rem; }
[data-toantin-host-demo] .lt-host-toolkit-spacer,
[data-toantin-host-demo] .lt-host-help-spacer { flex:1 1 auto; }
[data-toantin-host-demo] .lt-host-window-icon { width:34px; min-width:34px; height:34px; padding:0; display:grid; place-items:center; border-radius:9px; }
[data-toantin-host-demo] .lt-host-toolkit-host { max-height:min(70vh,640px); overflow:auto; border-radius:0 0 13px 13px; }

[data-toantin-host-demo] .lt-host-full-shell { z-index:var(--lt-host-layer-full); }
[data-toantin-host-demo] .lt-host-library-shell { position:relative; z-index:calc(var(--lt-host-layer-stage) + 2); }

[data-toantin-host-demo] .lt-host-help-shell {
  position:fixed;
  top:5vh;
  right:1rem;
  z-index:var(--lt-host-layer-window);
  width:min(520px,calc(100vw - 2rem));
  max-height:90vh;
}
[data-toantin-host-demo] .lt-host-help-shell[hidden] { display:none !important; }
[data-toantin-host-demo] .lt-host-help-chrome { min-height:42px; display:flex; align-items:center; gap:.5rem; padding:.35rem .5rem; border:1px solid var(--host-border); border-bottom:0; border-radius:13px 13px 0 0; background:#f8fbff; box-shadow:0 12px 30px rgba(15,58,110,.12); }
[data-toantin-host-demo] .lt-host-help-host .lt-help-panel { border-top-left-radius:0; border-top-right-radius:0; }
.toantin-lesson-toolkit-root.lt-help-panel { display:flex; flex-direction:column; max-height:calc(90vh - 42px); overflow:hidden; border:1px solid var(--lt-border); border-radius:14px; background:#fff; box-shadow:0 16px 40px rgba(15,58,110,.14); }
.toantin-lesson-toolkit-root .lt-help-head { display:flex; align-items:center; gap:.6rem; padding:.65rem .75rem; border-bottom:1px solid var(--lt-border); background:linear-gradient(180deg,#fff,#f8fbff); }
.toantin-lesson-toolkit-root .lt-help-title { min-width:0; display:flex; align-items:center; gap:.5rem; color:var(--lt-navy); }
.toantin-lesson-toolkit-root .lt-help-title > svg { color:var(--lt-blue); flex:0 0 auto; }
.toantin-lesson-toolkit-root .lt-help-title > div { min-width:0; display:flex; flex-direction:column; }
.toantin-lesson-toolkit-root .lt-help-title strong { font-size:.88rem; }
.toantin-lesson-toolkit-root .lt-help-title small { color:var(--lt-muted); font-size:.68rem; }
.toantin-lesson-toolkit-root .lt-help-close { margin-left:auto; width:36px; height:36px; padding:0; display:grid; place-items:center; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-help-body { overflow:auto; padding:.65rem; display:grid; gap:.45rem; }
.toantin-lesson-toolkit-root .lt-help-section { padding:.6rem .65rem; border:1px solid rgba(15,58,110,.1); border-radius:11px; background:#fbfdff; }
.toantin-lesson-toolkit-root .lt-help-section-title { margin:0 0 .25rem; color:var(--lt-navy); font-size:.78rem; font-weight:800; }
.toantin-lesson-toolkit-root .lt-help-section-text { margin:0; color:#526579; font-size:.7rem; line-height:1.45; }

.toantin-lesson-toolkit-root .lt-library-card { align-items:stretch; }
.toantin-lesson-toolkit-root .lt-library-card-label { text-align:center; display:flex; align-items:center; justify-content:center; }
.toantin-lesson-toolkit-root .lt-library-card-meta { justify-content:center; }
.toantin-lesson-toolkit-root .lt-library-card-actions { display:grid; grid-template-columns:58px minmax(0,1fr); align-items:center; gap:.35rem; }
.toantin-lesson-toolkit-root .lt-library-card-actions .lt-library-use { width:100%; display:inline-flex; align-items:center; justify-content:center; }
.toantin-lesson-toolkit-root .lt-library-card[data-bridge-available="false"] { background:#fbfcfe; }
.toantin-lesson-toolkit-root .lt-library-card[data-bridge-available="false"] .lt-library-use { color:#64748b; background:#eef2f7; border-color:#dbe3ec; }
.toantin-lesson-toolkit-root .lt-library-availability { display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:0 .42rem; border-radius:999px; font-size:.62rem; font-weight:800; background:#effaf6; color:#08795a; }
.toantin-lesson-toolkit-root .lt-library-availability.is-degraded { background:#fff5df; color:#8a5b08; }

@media (max-width:600px){
  [data-toantin-host-demo] .lt-toolbar-wrap { max-width:calc(100vw - .5rem); }
  [data-toantin-host-demo] .lt-toolbar { max-width:calc(100vw - 52px); }
  [data-toantin-host-demo] .lt-host-toolkit-shell { max-width:calc(100vw - 16px); }
  [data-toantin-host-demo] .lt-host-help-shell { top:.5rem; right:.5rem; width:calc(100vw - 1rem); }
  .lt-host-focus-menu { grid-template-columns:1fr; width:min(300px,calc(100vw - 16px)) !important; }
  .lt-host-focus-title,.lt-host-focus-item:last-child { grid-column:1; }
}

/* A9-R1 — Unified Host Window / Layer Architecture.
   Host/demo infrastructure only: Tool Core/state remain untouched. */
[data-toantin-host-demo] {
  --lt-host-layer-window-root: 900;
}
[data-toantin-host-demo] .lt-host-window-root {
  position:fixed;
  inset:0;
  z-index:var(--lt-host-layer-window-root);
  pointer-events:none;
  overflow:visible;
}
[data-toantin-host-demo] .lt-host-window-frame {
  position:absolute !important;
  margin:0 !important;
  max-width:none !important;
  max-height:calc(100vh - 16px);
  display:flex;
  flex-direction:column;
  min-width:0;
  box-sizing:border-box;
  pointer-events:auto;
  border-radius:14px;
  filter:drop-shadow(0 20px 38px rgba(15,58,110,.18));
  will-change:left,top;
}
[data-toantin-host-demo] .lt-host-window-frame[hidden] { display:none !important; }
[data-toantin-host-demo] .lt-host-window-frame[data-active-window="true"] { filter:drop-shadow(0 24px 44px rgba(15,58,110,.24)); }
[data-toantin-host-demo] .lt-host-window-chrome {
  width:100%;
  box-sizing:border-box;
  cursor:grab;
  touch-action:none;
  user-select:none;
  flex:0 0 auto;
}
[data-toantin-host-demo] .lt-host-window-frame[data-dragging="true"] .lt-host-window-chrome { cursor:grabbing; }
[data-toantin-host-demo] .lt-host-window-frame[data-pinned="true"] .lt-host-window-chrome,
[data-toantin-host-demo] .lt-host-window-frame[data-maximized="true"] .lt-host-window-chrome,
[data-toantin-host-demo] .lt-host-window-frame[data-mobile-window="true"] .lt-host-window-chrome { cursor:default; }
[data-toantin-host-demo] .lt-host-window-body {
  width:100%;
  min-width:0;
  max-width:none;
  box-sizing:border-box;
  overflow:auto;
}
[data-toantin-host-demo] .lt-host-window-frame[data-minimized="true"] .lt-host-window-body { display:none; }
[data-toantin-host-demo] .lt-host-window-frame[data-minimized="true"] .lt-host-window-chrome {
  border-bottom:1px solid var(--host-border);
  border-radius:13px;
}
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="full"] { width:min(900px,calc(100vw - 16px)); }
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="help"] { width:min(500px,calc(100vw - 16px)); }
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="toolkit"] { width:min(560px,calc(100vw - 16px)); }
[data-toantin-host-demo] .lt-host-window-frame .lt-host-full-chrome,
[data-toantin-host-demo] .lt-host-window-frame .lt-host-help-chrome,
[data-toantin-host-demo] .lt-host-window-frame .lt-host-toolkit-chrome { width:100%; box-sizing:border-box; }
[data-toantin-host-demo] .lt-host-window-frame .lt-host-full-host,
[data-toantin-host-demo] .lt-host-window-frame .lt-host-help-host,
[data-toantin-host-demo] .lt-host-window-frame .lt-host-toolkit-host { width:100%; min-width:0; max-width:none; box-sizing:border-box; }
[data-toantin-host-demo] .lt-host-window-frame .toantin-lesson-toolkit-root.lt-full-tool,
[data-toantin-host-demo] .lt-host-window-frame .toantin-lesson-toolkit-root.lt-help-panel,
[data-toantin-host-demo] .lt-host-window-frame .toantin-lesson-toolkit-root.lt-toolkit-bar {
  width:100%;
  min-width:0;
  max-width:none;
  box-sizing:border-box;
  border-top-left-radius:0;
  border-top-right-radius:0;
  box-shadow:none;
}
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="full"] .lt-host-window-body { max-height:calc(100vh - 72px); }
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="help"] .lt-host-window-body { max-height:calc(100vh - 72px); }
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="toolkit"] .lt-host-window-body { max-height:min(70vh,640px); }
[data-toantin-host-demo] .lt-host-window-frame[data-maximized="true"] {
  width:auto !important;
  max-width:none !important;
  max-height:none;
  border-radius:14px;
}
[data-toantin-host-demo] .lt-host-window-frame[data-maximized="true"] .lt-host-window-body { flex:1 1 auto; max-height:none; min-height:0; }
[data-toantin-host-demo] .lt-host-window-frame[data-maximized="true"] .toantin-lesson-toolkit-root.lt-full-tool { max-height:none; height:100%; }
[data-toantin-host-demo] .lt-host-window-frame[data-mobile-window="true"] {
  width:auto !important;
  max-width:none !important;
  max-height:none;
}
[data-toantin-host-demo] .lt-host-window-frame[data-mobile-window="true"] .lt-host-window-body { flex:1 1 auto; min-height:0; max-height:none; }
[data-toantin-host-demo] .lt-host-window-frame[data-mobile-window="true"] .toantin-lesson-toolkit-root.lt-full-tool,
[data-toantin-host-demo] .lt-host-window-frame[data-mobile-window="true"] .toantin-lesson-toolkit-root.lt-help-panel,
[data-toantin-host-demo] .lt-host-window-frame[data-mobile-window="true"] .toantin-lesson-toolkit-root.lt-toolkit-bar { max-height:none; height:100%; }

/* A9-R3 — Cross-input Pointer Drag & Drop */
.toantin-lesson-toolkit-root .lt-library-card[data-dnd-source="true"] {
  cursor: grab;
  touch-action: pan-y;
}
.toantin-lesson-toolkit-root .lt-library-card.lt-dnd-source-active,
.toantin-lesson-toolkit-root .lt-toolkit-item.lt-dnd-source-active {
  cursor: grabbing;
  opacity: .72;
}
.toantin-lesson-toolkit-root .lt-toolkit-item[data-dnd-source="true"] {
  touch-action: none;
}
.toantin-lesson-toolkit-root .lt-toolkit-items.lt-dnd-target-active,
.toantin-lesson-toolkit-root .lt-stage.lt-dnd-target-active {
  transition: box-shadow .12s ease, outline-color .12s ease, background-color .12s ease;
}
.toantin-lesson-toolkit-root .lt-toolkit-items.lt-dnd-target-valid {
  outline: 2px dashed rgba(21,94,239,.5);
  outline-offset: 3px;
  background: rgba(232,241,255,.72);
}
.toantin-lesson-toolkit-root .lt-toolkit-items.lt-dnd-target-invalid {
  outline: 2px dashed rgba(220,38,38,.35);
  outline-offset: 3px;
}
.toantin-lesson-toolkit-root .lt-stage.lt-dnd-target-valid {
  outline: 3px solid rgba(21,94,239,.35);
  outline-offset: -4px;
}
.toantin-lesson-toolkit-root .lt-stage.lt-dnd-target-invalid {
  outline: 3px solid rgba(220,38,38,.28);
  outline-offset: -4px;
}
.toantin-lesson-toolkit-root .lt-toolkit-drop-marker {
  flex: 0 0 4px;
  min-width: 4px;
  min-height: 48px;
  align-self: stretch;
  border-radius: 999px;
  background: #155eef;
  box-shadow: 0 0 0 3px rgba(21,94,239,.13);
  pointer-events: none;
}
.toantin-lesson-toolkit-root[data-orientation="vertical"] .lt-toolkit-drop-marker {
  width: 100%;
  min-width: 100%;
  min-height: 4px;
  height: 4px;
}
.toantin-lesson-toolkit-root .lt-toolkit-reorder-wrap {
  position: absolute;
  left: -5px;
  top: -5px;
  z-index: 4;
}
.toantin-lesson-toolkit-root .lt-toolkit-more {
  width: 24px;
  height: 24px;
  padding: 0 0 3px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(15,58,110,.12);
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  font-weight: 900;
  line-height: 1;
  opacity: 0;
}
.toantin-lesson-toolkit-root .lt-toolkit-item:hover .lt-toolkit-more,
.toantin-lesson-toolkit-root .lt-toolkit-more:focus-visible,
.toantin-lesson-toolkit-root .lt-toolkit-more[aria-expanded="true"] {
  opacity: 1;
}
.toantin-lesson-toolkit-root .lt-toolkit-reorder-menu {
  position: absolute;
  z-index: 20;
  left: 0;
  top: 28px;
  width: max-content;
  min-width: 150px;
  padding: .3rem;
  border: 1px solid rgba(15,58,110,.12);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15,58,110,.16);
}
.toantin-lesson-toolkit-root .lt-toolkit-reorder-menu[hidden] { display: none !important; }
.toantin-lesson-toolkit-root .lt-toolkit-reorder-action {
  width: 100%;
  min-height: 36px;
  padding: .35rem .55rem;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--lt-navy);
  text-align: left;
  font-size: .72rem;
  font-weight: 700;
}
.toantin-lesson-toolkit-root .lt-toolkit-reorder-action:hover,
.toantin-lesson-toolkit-root .lt-toolkit-reorder-action:focus-visible {
  background: #eef4ff;
  color: #0f4fc7;
  outline: none;
}
@media (pointer: coarse) {
  .toantin-lesson-toolkit-root .lt-toolkit-more,
  .toantin-lesson-toolkit-root .lt-toolkit-remove { opacity: 1; }
  .toantin-lesson-toolkit-root .lt-toolkit-more,
  .toantin-lesson-toolkit-root .lt-toolkit-remove { width: 30px; height: 30px; }
}

/* A9-R4 — Teaching-time UX simplification. */
[data-toantin-host-demo] .lt-toolbar[data-density="compact"] {
  overflow-y: visible;
}
@media (min-width: 900px) {
  [data-toantin-host-demo] .lt-toolbar {
    overflow-x: visible;
    max-width: none;
  }
}
[data-toantin-host-demo] .lt-toolbar-group[data-priority-tier="A"],
[data-toantin-host-demo] .lt-toolbar-group[data-priority-tier="B"],
[data-toantin-host-demo] .lt-toolbar-group[data-priority-tier="C"] {
  display:flex;
  align-items:center;
  gap:.2rem;
}
[data-toantin-host-demo] .lt-toolbar-group[data-priority-tier="A"] {
  padding-right:.25rem;
}
[data-toantin-host-demo] .lt-toolbar-group[data-priority-tier="C"] {
  padding-left:.15rem;
  margin-left:.1rem;
  border-left:1px solid rgba(15,58,110,.10);
}
[data-toantin-host-demo] .lt-toolbar-more-trigger {
  font-weight:900;
  letter-spacing:1px;
}
[data-toantin-host-demo] .lt-toolbar-more-dots {
  display:block;
  transform:translateY(-2px);
  font-size:1rem;
  line-height:1;
}
.lt-host-toolbar-more-menu {
  z-index:var(--lt-host-layer-popover,800) !important;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.3rem;
  padding:.55rem;
  border:1px solid rgba(15,58,110,.14);
  border-radius:14px;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(12px);
}
.lt-host-toolbar-more-title {
  grid-column:1/-1;
  padding:.1rem .25rem .35rem;
  color:#16324f;
  font-size:.76rem;
  font-weight:800;
}
.lt-host-toolbar-more-action {
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.42rem;
  border-radius:10px;
  color:#16324f;
  font-size:.7rem;
  font-weight:700;
}
.lt-host-toolbar-more-action.is-active,
.lt-host-toolbar-more-action.is-toggle-active {
  color:#0f4fc7;
  background:#eaf2ff;
}
@media (max-width:600px){
  [data-toantin-host-demo] .lt-toolbar { overflow-x:auto; }
  .lt-host-toolbar-more-menu { grid-template-columns:1fr; width:min(290px,calc(100vw - 16px)) !important; }
  .lt-host-toolbar-more-title { grid-column:1; }
}

.toantin-lesson-toolkit-root.lt-toolkit-bar { position:relative; }
.toantin-lesson-toolkit-root .lt-toolkit-management {
  position:absolute;
  top:46px;
  right:.45rem;
  z-index:30;
  width:min(360px,calc(100vw - 24px));
  max-height:min(70vh,560px);
  overflow:auto;
  display:grid;
  gap:.55rem;
  padding:.65rem;
  border:1px solid rgba(15,58,110,.14);
  border-radius:13px;
  background:rgba(255,255,255,.99);
  box-shadow:0 16px 34px rgba(15,58,110,.18);
  backdrop-filter:blur(12px);
}
.toantin-lesson-toolkit-root .lt-toolkit-management[hidden] { display:none !important; }
.toantin-lesson-toolkit-root .lt-toolkit-manage-trigger { font-size:.9rem; font-weight:900; letter-spacing:1px; }
.toantin-lesson-toolkit-root .lt-toolkit-management-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem; }
.toantin-lesson-toolkit-root .lt-toolkit-management-actions { display:grid; grid-template-columns:1fr 1fr; gap:.35rem; }
.toantin-lesson-toolkit-root .lt-toolkit-management-actions .btn { min-height:40px; display:flex; align-items:center; justify-content:flex-start; gap:.35rem; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-toolkit-management-danger { display:flex; gap:.4rem; padding-top:.45rem; border-top:1px solid rgba(15,58,110,.08); }
.toantin-lesson-toolkit-root .lt-toolkit-management-status { min-height:18px; color:var(--lt-muted); font-size:.68rem; }
.toantin-lesson-toolkit-root .lt-toolkit-management .lt-toolkit-cloud { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.35rem; align-items:center; padding:.5rem; border-radius:10px; background:#f6f9ff; }
.toantin-lesson-toolkit-root .lt-toolkit-management .lt-toolkit-cloud-label { grid-column:1/-1; }
.toantin-lesson-toolkit-root .lt-toolkit-management .lt-toolkit-cloud-status { grid-column:1/-1; }
.toantin-lesson-toolkit-root[data-orientation="vertical"] .lt-toolkit-management { right:auto; left:calc(100% + 8px); top:0; }
@media (max-width:600px){
  .toantin-lesson-toolkit-root .lt-toolkit-management { position:fixed; left:8px; right:8px; top:64px; width:auto; max-height:calc(100vh - 80px); }
}

.toantin-lesson-toolkit-root .lt-full-grid-teacher {
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
.toantin-lesson-toolkit-root .lt-full-teacher-summary { display:grid; gap:.4rem; }
.toantin-lesson-toolkit-root .lt-full-teacher-note { padding:.5rem .55rem; border-radius:9px; background:#f8fbff; color:var(--lt-muted); font-size:.68rem; line-height:1.4; }
.toantin-lesson-toolkit-root .lt-full-task-actions { display:flex; flex-wrap:wrap; gap:.4rem; }
.toantin-lesson-toolkit-root .lt-full-session-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
.toantin-lesson-toolkit-root .lt-full-diagnostics {
  border:1px solid rgba(15,58,110,.10);
  border-radius:12px;
  background:#f8fbff;
}
.toantin-lesson-toolkit-root .lt-full-diagnostics-summary {
  cursor:pointer;
  min-height:42px;
  display:flex;
  align-items:center;
  padding:.55rem .7rem;
  color:#526579;
  font-size:.72rem;
  font-weight:800;
}
.toantin-lesson-toolkit-root .lt-full-diagnostics-body { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:.65rem; padding:0 .7rem .7rem; }
.toantin-lesson-toolkit-root .lt-full-diagnostics:not([open]) .lt-full-diagnostics-body { display:none; }
@media (max-width:760px){
  .toantin-lesson-toolkit-root .lt-full-grid-teacher,
  .toantin-lesson-toolkit-root .lt-full-diagnostics-body { grid-template-columns:1fr; }
}

/* A9-R5 — contextual controls + Full Tool minimum canonical functions. */
.toantin-lesson-toolkit-root .lt-context-control { flex:0 0 auto; }
.toantin-lesson-toolkit-root .lt-context-caption { color:var(--lt-muted); font-size:.62rem; font-weight:700; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-context-field { gap:.3rem; }
.toantin-lesson-toolkit-root .lt-context-select { width:auto; min-width:92px; min-height:34px; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-context-range { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.1rem .35rem; min-width:126px; margin:0; }
.toantin-lesson-toolkit-root .lt-context-range-head { display:contents; }
.toantin-lesson-toolkit-root .lt-context-range .form-range { grid-column:1/-1; width:126px; margin:0; }
.toantin-lesson-toolkit-root .lt-context-output { color:var(--lt-navy); font-size:.62rem; font-weight:800; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-context-switch { display:flex; align-items:center; gap:.35rem; min-height:34px; margin:0; white-space:nowrap; font-size:.72rem; }
.toantin-lesson-toolkit-root .lt-context-action { min-height:34px; display:inline-flex; align-items:center; gap:.28rem; border-radius:9px; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-context-action-label { font-size:.68rem; font-weight:700; }
.toantin-lesson-toolkit-root .lt-context-hint { color:var(--lt-muted); font-size:.68rem; white-space:nowrap; }
.toantin-lesson-toolkit-root .lt-full-property-field { display:grid; grid-template-columns:minmax(76px,.65fr) minmax(0,1.35fr); align-items:center; gap:.5rem; min-height:42px; }
.toantin-lesson-toolkit-root .lt-full-property-label { color:var(--lt-muted); font-size:.68rem; font-weight:700; }
.toantin-lesson-toolkit-root .lt-full-property-field .form-control-color { width:48px; min-height:36px; padding:.2rem; }
.toantin-lesson-toolkit-root .lt-full-toolkit-manager { display:grid; gap:.35rem; margin-top:.55rem; padding-top:.55rem; border-top:1px solid rgba(15,58,110,.08); }
.toantin-lesson-toolkit-root .lt-full-toolkit-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.45rem; align-items:center; padding:.4rem; border:1px solid rgba(15,58,110,.09); border-radius:10px; background:#f8fbff; }
.toantin-lesson-toolkit-root .lt-full-toolkit-meta { display:flex; min-width:0; flex-direction:column; }
.toantin-lesson-toolkit-root .lt-full-toolkit-meta strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem; }
.toantin-lesson-toolkit-root .lt-full-toolkit-meta small { color:var(--lt-muted); font-size:.62rem; }
@media (max-width:760px){
  .toantin-lesson-toolkit-root .lt-context-action-label { display:none; }
  .toantin-lesson-toolkit-root .lt-context-action { width:40px; justify-content:center; padding-inline:0; }
  .toantin-lesson-toolkit-root .lt-context-range { min-width:108px; }
  .toantin-lesson-toolkit-root .lt-context-range .form-range { width:108px; }
}

/* A9-R6 — responsive / touch / LCD / accessibility qualification. */
[data-toantin-host-demo] .lt-toolbar[data-mobile-layout="true"] {
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:start;
  gap:.25rem;
  width:max-content;
  max-width:100%;
  overflow:visible;
}
[data-toantin-host-demo] .lt-toolbar[data-mobile-layout="true"] .lt-toolbar-group[data-priority-tier="A"] {
  display:grid;
  grid-template-columns:repeat(3,44px);
  grid-auto-rows:44px;
  gap:.2rem;
  padding-right:0;
}
[data-toantin-host-demo] .lt-toolbar[data-mobile-layout="true"] .lt-toolbar-group[data-priority-tier="C"] {
  display:flex;
  margin:0;
  padding:0;
  border-left:0;
}

/* Keep the docked Library usable inside the current viewport while its body scrolls. */
.toantin-lesson-toolkit-root.lt-library-panel { max-height:min(70vh,760px); }
@media (max-width:991.98px) {
  .toantin-lesson-toolkit-root.lt-library-panel { max-height:min(62vh,680px); }
}
@media (max-width:575.98px) {
  .toantin-lesson-toolkit-root.lt-library-panel { max-height:64vh; }
}

@media (max-width:599.98px) {
  [data-toantin-host-demo] .lt-toolbar-wrap {
    overflow:visible;
    align-items:flex-start;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:.35rem;
    row-gap:.25rem;
    width:max-content;
    max-width:100%;
  }
  [data-toantin-host-demo] .lt-toolbar-wrap > .lt-host-drag-handle { grid-column:1; grid-row:1 / span 2; }
  [data-toantin-host-demo] .lt-toolbar-wrap > .lt-toolbar { grid-column:2; grid-row:1; max-width:100%; overflow:visible; }
  [data-toantin-host-demo] .lt-toolbar-wrap > .lt-toolbar-inline-chrome { grid-column:2; grid-row:2; justify-self:start; align-self:start; }
  [data-toantin-host-demo] .lt-toolbar { overflow:visible; }
  .toantin-lesson-toolkit-root .lt-contextbar {
    flex-wrap:wrap;
    align-items:flex-end;
    align-content:flex-start;
    overflow-x:visible;
    overflow-y:auto;
    max-height:min(44vh,320px);
    overscroll-behavior:contain;
  }
  .toantin-lesson-toolkit-root .lt-context-title { flex:1 0 100%; min-height:28px; display:flex; align-items:center; }
  .toantin-lesson-toolkit-root .lt-context-hint { flex:1 0 100%; white-space:normal; line-height:1.35; }
  .toantin-lesson-toolkit-root .lt-context-action-label { display:none; }
  .toantin-lesson-toolkit-root .lt-context-action { width:44px; min-width:44px; padding-inline:0; justify-content:center; }
  .toantin-lesson-toolkit-root .lt-context-range,
  .toantin-lesson-toolkit-root .lt-context-range .form-range { min-width:118px; width:118px; }
  .toantin-lesson-toolkit-root .lt-full-property-field { grid-template-columns:1fr; gap:.25rem; }
  .toantin-lesson-toolkit-root .lt-full-property-label { font-size:.72rem; }
}

/* Effective touch targets: coarse pointer and small-screen teaching surfaces use >=44 CSS px. */
@media (pointer:coarse), (max-width:767.98px) {
  [data-toantin-host-demo] .lt-host-controls .btn,
  [data-toantin-host-demo] .lt-host-window-chrome .btn,
  [data-toantin-host-demo] .lt-host-library-chrome .btn,
  [data-toantin-host-demo] .lt-host-full-chrome .btn,
  [data-toantin-host-demo] .lt-host-help-chrome .btn,
  [data-toantin-host-demo] .lt-host-toolkit-chrome .btn,
  [data-toantin-host-demo] .lt-host-instrument-item,
  .lt-host-focus-item,
  .lt-host-toolbar-more-action {
    min-width:44px;
    min-height:44px;
  }
  [data-toantin-host-demo] .lt-host-drag-handle { width:44px; min-width:44px; height:44px; }

  .toantin-lesson-toolkit-root .lt-context-select,
  .toantin-lesson-toolkit-root .lt-color-input,
  .toantin-lesson-toolkit-root .lt-width-select,
  .toantin-lesson-toolkit-root .lt-eraser-mode,
  .toantin-lesson-toolkit-root .lt-context-action,
  .toantin-lesson-toolkit-root .lt-text-editor,
  .toantin-lesson-toolkit-root .lt-context-switch,
  .toantin-lesson-toolkit-root .lt-context-range .form-range {
    min-height:44px;
    height:44px;
    padding-block:14px;
    box-sizing:border-box;
  }
  .toantin-lesson-toolkit-root .lt-color-input { width:44px; }
  .toantin-lesson-toolkit-root .lt-context-switch { padding-block:.3rem; }

  .toantin-lesson-toolkit-root .lt-library-search .form-control,
  .toantin-lesson-toolkit-root .lt-library-filter,
  .toantin-lesson-toolkit-root .lt-library-subject-tab,
  .toantin-lesson-toolkit-root .lt-library-favorite,
  .toantin-lesson-toolkit-root .lt-library-add-toolkit,
  .toantin-lesson-toolkit-root .lt-library-use {
    min-height:44px;
  }
  .toantin-lesson-toolkit-root .lt-library-favorite { width:44px; height:44px; }
  .toantin-lesson-toolkit-root .lt-library-add-toolkit { min-width:44px; }

  .toantin-lesson-toolkit-root .lt-toolkit-head { min-height:44px; }
  .toantin-lesson-toolkit-root .lt-toolkit-head-btn,
  .toantin-lesson-toolkit-root .lt-toolkit-more,
  .toantin-lesson-toolkit-root .lt-toolkit-remove,
  .toantin-lesson-toolkit-root .lt-toolkit-cloud-upload {
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
  }
  .toantin-lesson-toolkit-root .lt-toolkit-item { min-width:96px; }
  .toantin-lesson-toolkit-root .lt-toolkit-reorder-action,
  .toantin-lesson-toolkit-root .lt-toolkit-management-actions .btn,
  .toantin-lesson-toolkit-root .lt-toolkit-management-danger .btn,
  .toantin-lesson-toolkit-root .lt-toolkit-cloud-ttl,
  .toantin-lesson-toolkit-root .lt-toolkit-name-input { min-height:44px; }
  .toantin-lesson-toolkit-root .lt-toolkit-reorder-menu { top:44px; }

  .toantin-lesson-toolkit-root .lt-full-diagnostics-summary,
  .toantin-lesson-toolkit-root .lt-full-property-field .form-control,
  .toantin-lesson-toolkit-root .lt-full-property-field .form-select,
  .toantin-lesson-toolkit-root .lt-full-property-field .form-control-color,
  .toantin-lesson-toolkit-root .lt-full-toolkit-row .btn { min-height:44px; }
  .toantin-lesson-toolkit-root .lt-full-property-field .form-control-color { width:48px; }
}

/* Keyboard focus must remain visible on Host-owned chrome as well as Tool surfaces. */
[data-toantin-host-demo] .lt-tool-btn:focus-visible,
[data-toantin-host-demo] .lt-host-drag-handle:focus-visible,
[data-toantin-host-demo] .lt-host-window-chrome button:focus-visible,
.lt-host-toolbar-more-action:focus-visible,
.lt-host-focus-item:focus-visible {
  outline:3px solid rgba(21,94,239,.42);
  outline-offset:2px;
}

/* Projector/LCD readability: do not leave R5 micro-labels at support-panel scale. */
@media (min-width:1600px) and (min-height:900px) {
  .toantin-lesson-toolkit-root .lt-context-caption,
  .toantin-lesson-toolkit-root .lt-context-output,
  .toantin-lesson-toolkit-root .lt-context-action-label,
  .toantin-lesson-toolkit-root .lt-full-property-label { font-size:.72rem; }
  .toantin-lesson-toolkit-root .lt-context-hint,
  .toantin-lesson-toolkit-root .lt-full-teacher-note { font-size:.74rem; }
}

/* A9-R8 OWNER FIX 01 — desktop/LCD two-row teaching toolbar.
   Host still owns toolbar chrome; Tool descriptor only declares row preference. */
@media (min-width:900px) {
  [data-toantin-host-demo] .lt-toolbar[data-orientation="horizontal"][data-desktop-two-row="true"] {
    display:grid;
    grid-template-rows:repeat(2,44px);
    grid-auto-flow:row;
    align-items:center;
    gap:.22rem;
    width:max-content;
    max-width:calc(100vw - 76px);
    overflow:visible;
    padding:.3rem .35rem;
  }
  [data-toantin-host-demo] .lt-toolbar[data-orientation="horizontal"][data-desktop-two-row="true"] .lt-toolbar-row {
    display:flex;
    align-items:center;
    gap:.22rem;
    min-width:0;
    height:44px;
  }
  [data-toantin-host-demo] .lt-toolbar[data-orientation="horizontal"][data-desktop-two-row="true"] .lt-toolbar-row .lt-toolbar-group {
    display:flex;
    align-items:center;
    gap:.16rem;
    margin:0;
    padding:0;
    border:0;
  }
  [data-toantin-host-demo] .lt-toolbar[data-orientation="horizontal"][data-desktop-two-row="true"] .lt-toolbar-row .lt-toolbar-group + .lt-toolbar-group {
    margin-left:.18rem;
    padding-left:.36rem;
    border-left:1px solid rgba(15,58,110,.12);
  }
  [data-toantin-host-demo] .lt-toolbar[data-orientation="horizontal"][data-desktop-two-row="true"] .lt-tool-btn {
    width:44px;
    min-width:44px;
    min-height:44px;
    flex:0 0 44px;
    padding:.4rem;
  }
  [data-toantin-host-demo] .lt-toolbar[data-orientation="horizontal"][data-desktop-two-row="true"][data-density="collapsed"] .lt-toolbar-row {
    display:none;
  }
  [data-toantin-host-demo] .lt-toolbar-wrap[data-layout="two-row"] .lt-host-drag-handle {
    align-self:stretch;
    min-height:96px;
    height:auto;
  }
}

/* A9-R8 OWNER FIX 03 — Stage viewport must remain PAGE LOGICAL aspect-correct.
   Do not cap only the SVG height while leaving width at 100%: that creates letterbox
   inside the interactive SVG and clamps Pen/Highlighter/Eraser into a smaller region. */
.toantin-lesson-toolkit-root .lt-stage-frame > .lt-stage {
  inline-size:100%;
  block-size:100%;
}
.toantin-lesson-toolkit-root .lt-stage-frame[data-reference-viewport-fit="true"] {
  max-inline-size:100%;
}


/* A9-R8 OWNER FIX 04 — Owner requires the reference whiteboard to span the full
   available Host content width, aligned with the bars above. Keep PAGE LOGICAL
   aspect-ratio intact: width is full, height follows 1600:900, so vertical scroll
   is preferable to a centered/shrunken fake page. */
[data-toantin-host-demo] .lt-tool-stage-host > .toantin-lesson-toolkit-root,
[data-toantin-host-demo] .toantin-lesson-toolkit-root .lt-stage-frame {
  inline-size:100%;
  max-inline-size:none;
}
[data-toantin-host-demo] .toantin-lesson-toolkit-root .lt-stage-frame {
  margin-inline:0;
}
[data-toantin-host-demo] .lt-host-controls .lt-home-link { min-height:44px; }

/* A9-R8 OWNER FIX 05 — Owner live instrument/toolkit/toolbar usability fixes. */
/* The personal Toolkit must always identify items by full Vietnamese name; compact
   mode may reduce spacing but must not degrade to indistinguishable icon-only rows. */
.toantin-lesson-toolkit-root .lt-toolkit-use-label {
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}
.toantin-lesson-toolkit-root[data-compact="true"] .lt-toolkit-use-label { display:inline; }
.toantin-lesson-toolkit-root[data-compact="true"] .lt-toolkit-use {
  width:auto;
  min-width:0;
  padding:.32rem .48rem;
  gap:.38rem;
}
.toantin-lesson-toolkit-root .lt-toolkit-item { min-width:max-content; }
.toantin-lesson-toolkit-root .lt-toolkit-quick-orient { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }

/* The Host toolbar wrapper is a floating chrome box, not a full-width stretched
   flex item. Width:max-content is required so horizontal drag has real travel. */
[data-toantin-host-demo] .lt-toolbar-wrap {
  align-self:flex-start;
  width:max-content;
  max-width:calc(100vw - 1rem);
}

/* A9-R8 OWNER FIX 06 — consolidated Owner teaching UX batch. */
/* Main floating toolbar: Host-owned orientation + pin must be visible on the toolbar itself. */
[data-toantin-host-demo] .lt-toolbar-inline-chrome {
  display:flex;
  align-items:center;
  gap:.25rem;
  align-self:stretch;
  padding:.25rem;
  border:1px solid rgba(15,58,110,.12);
  border-radius:11px;
  background:rgba(255,255,255,.96);
  box-shadow:0 5px 16px rgba(15,58,110,.08);
}
[data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon { min-width:44px; width:44px; height:44px; }
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-toolbar-inline-chrome,
[data-toantin-host-demo] .lt-demo-workspace[data-orientation="vertical"] .lt-toolbar-inline-chrome { flex-direction:column; align-self:flex-start; }

/* Standard pointer semantics: Arrow selects/edits objects; Hand pans the Host viewport. */
[data-toantin-tool="lesson_toolkit"] .lt-stage.is-hand-panning,
[data-toantin-tool="lesson_toolkit"] .lt-stage[data-interaction-mode="hand"] { cursor:grabbing; }

/* Interactive focus widgets (Screen Shade + Magnifier). */
[data-toantin-tool="lesson_toolkit"] .lt-focus-widget-drag { cursor:move; }
[data-toantin-tool="lesson_toolkit"] .lt-focus-widget-button { cursor:pointer; }
[data-toantin-tool="lesson_toolkit"] .lt-focus-resize-handle { cursor:nwse-resize; }
[data-toantin-tool="lesson_toolkit"] .lt-focus-resize-handle[data-focus-handle="ne"],
[data-toantin-tool="lesson_toolkit"] .lt-focus-resize-handle[data-focus-handle="sw"] { cursor:nesw-resize; }
[data-toantin-tool="lesson_toolkit"] .lt-focus-resize-handle[data-focus-handle="n"],
[data-toantin-tool="lesson_toolkit"] .lt-focus-resize-handle[data-focus-handle="s"] { cursor:ns-resize; }
[data-toantin-tool="lesson_toolkit"] .lt-focus-resize-handle[data-focus-handle="e"],
[data-toantin-tool="lesson_toolkit"] .lt-focus-resize-handle[data-focus-handle="w"] { cursor:ew-resize; }

/* Host windows may expose Windows-like corner resizing without leaking geometry into Tool state. */
[data-toantin-host-demo] .lt-host-resize-handle { position:absolute; width:18px; height:18px; z-index:4; touch-action:none; }
[data-toantin-host-demo] .lt-host-resize-handle.is-nw { left:-5px; top:-5px; cursor:nwse-resize; }
[data-toantin-host-demo] .lt-host-resize-handle.is-ne { right:-5px; top:-5px; cursor:nesw-resize; }
[data-toantin-host-demo] .lt-host-resize-handle.is-se { right:-5px; bottom:-5px; cursor:nwse-resize; }
[data-toantin-host-demo] .lt-host-resize-handle.is-sw { left:-5px; bottom:-5px; cursor:nesw-resize; }
[data-toantin-host-demo] .lt-host-window-frame[data-pinned="true"] .lt-host-resize-handle,
[data-toantin-host-demo] .lt-host-window-frame[data-maximized="true"] .lt-host-resize-handle,
[data-toantin-host-demo] .lt-host-window-frame[data-mobile-window="true"] .lt-host-resize-handle { display:none; }
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="toolkit"] { min-width:360px; min-height:220px; }
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="toolkit"] .lt-host-window-body { flex:1 1 auto; min-height:0; max-height:none; }
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="toolkit"] .toantin-lesson-toolkit-root.lt-toolkit-bar { height:100%; max-height:none; }
[data-toantin-host-demo] .lt-host-window-frame[data-window-kind="toolkit"] .lt-toolkit-items { flex:1 1 auto; min-height:0; }

/* Shared classroom widgets in a personal Toolkit: status is explicit; no dead/fake button. */
.toantin-lesson-toolkit-root .lt-toolkit-item.is-bridge { min-width:168px; }
.toantin-lesson-toolkit-root .lt-toolkit-item.is-bridge .lt-toolkit-use { min-width:160px; min-height:104px; padding:.55rem .65rem; gap:.25rem; }
.toantin-lesson-toolkit-root .lt-toolkit-bridge-status { display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:0 .45rem; border-radius:999px; font-size:.62rem; font-weight:800; }
.toantin-lesson-toolkit-root .lt-toolkit-bridge-status.is-ready { background:#e8f8f2; color:#08795a; }
.toantin-lesson-toolkit-root .lt-toolkit-bridge-status.is-unavailable { background:#fff4df; color:#8a5b08; }
.toantin-lesson-toolkit-root .lt-toolkit-bridge-action { font-size:.64rem; font-weight:800; color:#155eef; }
.toantin-lesson-toolkit-root .lt-toolkit-use:disabled .lt-toolkit-bridge-action { color:#94a3b8; }

/* Teaching Library behaves as a tall Host sidebar and can collapse to a narrow rail. */
[data-toantin-host-demo] .lt-host-library-shell {
  position:fixed;
  top:12px;
  right:12px;
  bottom:12px;
  left:auto;
  width:min(520px,42vw);
  min-width:320px;
  max-width:520px;
  height:auto;
  z-index:calc(var(--lt-host-layer-popover) + 10);
  display:flex;
  flex-direction:column;
  transition:width .16s ease;
}
[data-toantin-host-demo] .lt-host-library-spacer { flex:1 1 auto; }
[data-toantin-host-demo] .lt-host-library-host { flex:1 1 auto; min-height:0; overflow:hidden; }
[data-toantin-host-demo] .lt-host-library-host > .toantin-lesson-toolkit-root.lt-library-panel { height:100%; max-height:none; border-radius:0 0 14px 14px; box-shadow:none; }
.toantin-lesson-toolkit-root.lt-library-panel { max-height:none; }
.toantin-lesson-toolkit-root .lt-library-body { flex:1 1 auto; min-height:0; }
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] { width:52px; min-width:52px; max-width:52px; }
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-library-host,
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-library-title,
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-full-spacer,
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-library-spacer,
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] [id$="library-close"] { display:none; }
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-library-chrome,
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-full-chrome { height:100%; flex-direction:column; justify-content:flex-start; padding:.4rem; border-bottom:0; }
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] [id$="library-collapse"] { min-width:44px; width:44px; height:44px; }

@media (max-width:767.98px) {
  [data-toantin-host-demo] .lt-host-library-shell { left:8px; right:8px; top:8px; bottom:8px; width:auto; max-width:none; min-width:0; }
  [data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] { left:auto; width:52px; min-width:52px; max-width:52px; }
}

@media (prefers-reduced-motion: reduce) {
  [data-toantin-host-demo] .lt-host-library-shell { transition:none; }
}

/* Fix06 — Toolkit empty/create state and shared Host classroom widgets. */
.toantin-lesson-toolkit-root .lt-toolkit-empty {
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:1rem;
}
.toantin-lesson-toolkit-root .lt-toolkit-empty-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:#155eef; background:#eef4ff; }
.toantin-lesson-toolkit-root .lt-toolkit-empty-title { color:var(--lt-navy); font-size:.82rem; }
.toantin-lesson-toolkit-root .lt-toolkit-empty-text { max-width:360px; text-align:center; line-height:1.45; }
.toantin-lesson-toolkit-root .lt-toolkit-empty-library { min-height:40px; margin-top:.2rem; }

[data-toantin-host-demo] .lt-host-classroom-widget-host { flex:1 1 auto; min-height:0; overflow:auto; background:#fff; border-radius:0 0 14px 14px; }
[data-toantin-host-demo] .lt-shared-widget-demo { min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; padding:1rem; background:linear-gradient(180deg,#fff,#f8fbff); }
[data-toantin-host-demo] .lt-shared-widget-badge { align-self:flex-start; display:inline-flex; min-height:26px; align-items:center; padding:0 .55rem; border-radius:999px; background:#e8f1ff; color:#0f4fc7; font-size:.68rem; font-weight:800; }
[data-toantin-host-demo] .lt-shared-widget-time { font-variant-numeric:tabular-nums; font-size:clamp(3rem,8vw,5.2rem); line-height:1; font-weight:900; letter-spacing:.02em; color:#0f3a6e; }
[data-toantin-host-demo] .lt-shared-widget-actions { display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap; }
[data-toantin-host-demo] .lt-shared-widget-actions .btn { min-width:76px; min-height:44px; }
[data-toantin-host-demo] .lt-shared-score-grid { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
[data-toantin-host-demo] .lt-shared-score-card { display:flex; flex-direction:column; align-items:center; gap:.6rem; padding:1rem; border:1px solid rgba(15,58,110,.12); border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(15,58,110,.06); }
[data-toantin-host-demo] .lt-shared-score-card strong { color:#16324f; }
[data-toantin-host-demo] .lt-shared-score-value { font-size:3rem; line-height:1; font-weight:900; color:#155eef; }
[data-toantin-host-demo] .lt-shared-widget-info { display:flex; flex-direction:column; gap:.35rem; max-width:420px; padding:1rem; border:1px solid rgba(15,58,110,.12); border-radius:14px; background:#fff; color:#526579; }
[data-toantin-host-demo] .lt-shared-widget-info strong { color:#16324f; }
@media (max-width:575.98px){[data-toantin-host-demo] .lt-shared-score-grid{grid-template-columns:1fr;}}

/* A9-R8 OWNER FIX 07 — focused visual polish from Owner review of horizontal,
   vertical and collapsed-Library states. Host chrome only; no Core/state change. */
[data-toantin-host-demo] .lt-demo-shell {
  background:#f4f8fc;
}
[data-toantin-host-demo] .lt-demo-brand small {
  color:#5f7287;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.035em;
}
[data-toantin-host-demo] .lt-host-controls {
  gap:.45rem;
}
[data-toantin-host-demo] .lt-host-controls .btn,
[data-toantin-host-demo] .lt-host-primary-actions .btn {
  min-height:44px;
}
[data-toantin-host-demo] .lt-host-action-icon {
  width:44px;
  min-width:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* One visual toolbar object: drag grip, Tool controls and Host chrome share one frame. */
[data-toantin-host-demo] .lt-toolbar-wrap {
  gap:.2rem;
  padding:.3rem;
  border:1px solid rgba(15,58,110,.14);
  border-radius:16px;
  background:rgba(255,255,255,.97);
  box-shadow:0 9px 26px rgba(15,58,110,.1);
  backdrop-filter:blur(10px);
}
[data-toantin-host-demo] .lt-toolbar-wrap > .lt-toolbar {
  border:0;
  border-radius:11px;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  padding:.05rem;
}
[data-toantin-host-demo] .lt-toolbar-wrap > .lt-host-drag-handle {
  border:0;
  border-right:1px solid rgba(15,58,110,.1);
  border-radius:10px 0 0 10px;
  background:transparent;
  box-shadow:none;
}
[data-toantin-host-demo] .lt-toolbar-inline-chrome {
  gap:.18rem;
  align-self:stretch;
  justify-content:center;
  padding:.05rem 0 .05rem .32rem;
  margin-left:.1rem;
  border:0;
  border-left:1px solid rgba(15,58,110,.1);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
[data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon {
  border-color:transparent;
  background:transparent;
}
[data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon:hover {
  background:#eef4ff;
  border-color:rgba(21,94,239,.12);
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-pinned="true"] {
  box-shadow:0 7px 20px rgba(15,58,110,.08), inset 0 0 0 1px rgba(21,94,239,.08);
}
/* Chrome owns collapse/expand, so do not show a second open-pill inside the Tool row. */
[data-toantin-host-demo] .lt-toolbar-wrap .lt-toolbar-open-pill { display:none; }

/* Vertical mode keeps the same frame and gains clearer semantic grouping. */
[data-toantin-host-demo] .lt-toolbar[data-orientation="vertical"] .lt-toolbar-group + .lt-toolbar-group {
  margin-top:.28rem;
  padding-top:.38rem;
  border-top:1px solid rgba(15,58,110,.11);
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-toolbar-inline-chrome {
  border-left:1px solid rgba(15,58,110,.1);
  padding-left:.3rem;
}

/* Teacher-facing status is slightly easier to read on desktop/LCD without becoming a third toolbar. */
.toantin-lesson-toolkit-root .lt-mode-badge,
.toantin-lesson-toolkit-root .lt-selection-badge,
.toantin-lesson-toolkit-root .lt-persistence-badge {
  min-height:30px;
}
.toantin-lesson-toolkit-root .lt-mode-badge,
.toantin-lesson-toolkit-root .lt-selection-badge { font-size:.79rem; }
.toantin-lesson-toolkit-root .lt-persistence-badge { font-size:.75rem; }
.toantin-lesson-toolkit-root .lt-stage-hint { font-size:.78rem; }
.toantin-lesson-toolkit-root .lt-stage-frame {
  background:#fff;
  border-color:rgba(15,58,110,.18);
}

/* True collapsed Library rail: return drawing space instead of reserving a full-height white column. */
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] {
  top:50%;
  right:0;
  bottom:auto;
  left:auto;
  width:44px;
  min-width:44px;
  max-width:44px;
  height:56px;
  min-height:56px;
  transform:translateY(-50%);
  border-radius:16px 0 0 16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(15,58,110,.16);
}
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-library-chrome,
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-full-chrome {
  width:44px;
  height:56px;
  min-height:56px;
  padding:6px 0;
  align-items:center;
  justify-content:center;
  border:0;
  background:#fff;
}
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] [id$="library-collapse"] {
  width:40px;
  min-width:40px;
  height:44px;
  min-height:44px;
  border:0;
  border-radius:12px 0 0 12px;
  background:#fff;
  color:#155eef;
}
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] [id$="library-collapse"]:hover {
  background:#eef4ff;
}

@media (max-width:599.98px) {
  [data-toantin-host-demo] .lt-toolbar-wrap {
    padding:.25rem;
  }
  [data-toantin-host-demo] .lt-toolbar-wrap > .lt-host-drag-handle {
    border-right:0;
  }
  [data-toantin-host-demo] .lt-toolbar-inline-chrome {
    border-left:0;
    margin-left:0;
    padding-left:0;
  }
}

@media (max-width:767.98px) {
  [data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] {
    top:50%;
    right:0;
    left:auto;
    bottom:auto;
    width:44px;
    min-width:44px;
    max-width:44px;
    height:56px;
  }
}


/* Fix07 live visual correction — prevent vertical toolbar chrome/icon overlap.
   Explicit grid tracks keep drag rail, Tool icon rail and Host chrome rail independent. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] {
  display:grid;
  grid-template-columns:32px 54px 48px;
  grid-auto-flow:row;
  align-items:start;
  column-gap:.16rem;
  row-gap:0;
  width:max-content;
  max-width:calc(100vw - 1rem);
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] > .lt-host-drag-handle {
  grid-column:1;
  grid-row:1;
  width:32px;
  min-width:32px;
  height:100%;
  min-height:88px;
  align-self:stretch;
  border:0;
  border-right:1px solid rgba(15,58,110,.1);
  border-radius:10px 0 0 10px;
  overflow:hidden;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] > .lt-toolbar {
  grid-column:2;
  grid-row:1;
  width:54px;
  min-width:54px;
  max-width:54px;
  align-items:center;
  overflow:visible;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-toolbar-group {
  width:44px;
  min-width:44px;
  max-width:44px;
  align-items:center;
  gap:.16rem;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-tool-btn {
  width:44px;
  min-width:44px;
  max-width:44px;
  height:44px;
  min-height:44px;
  padding:.4rem;
  flex:0 0 44px;
  overflow:hidden;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-tool-btn .lt-tool-label {
  display:none;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-tool-btn svg,
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-host-window-icon svg {
  display:block;
  flex:0 0 auto;
  margin:0;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] > .lt-toolbar-inline-chrome {
  grid-column:3;
  grid-row:1;
  width:48px;
  min-width:48px;
  max-width:48px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  align-self:start;
  gap:.16rem;
  margin:0;
  padding:.05rem 0 0 .18rem;
  border:0;
  border-left:1px solid rgba(15,58,110,.1);
  overflow:visible;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] > .lt-toolbar-inline-chrome .lt-host-window-icon {
  width:44px;
  min-width:44px;
  max-width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  flex:0 0 44px;
  overflow:hidden;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-toolbar-group + .lt-toolbar-group {
  width:44px;
  margin-top:.34rem;
  padding-top:.42rem;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-toolbar-separator {
  width:36px;
  max-width:36px;
  margin:.18rem auto;
}
/* Text must never intrude into adjacent icon cells. */
[data-toantin-host-demo] .lt-toolbar-wrap button {
  box-sizing:border-box;
}
[data-toantin-host-demo] .lt-demo-brand > div { min-width:0; }
[data-toantin-host-demo] .lt-demo-brand strong {
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:575.98px) {
  [data-toantin-host-demo] .lt-demo-brand { max-width:100%; }
  [data-toantin-host-demo] .lt-demo-brand strong { max-width:250px; }
}

/* A9-R8 OWNER FIX 08 — resizable Teaching Library + invariant Toolkit launcher cards.
   Host geometry remains Host-owned; Tool items only reflow inside the available surface. */
[data-toantin-host-demo] .lt-host-library-shell {
  width:var(--lt-library-expanded-width, min(520px,42vw));
  min-width:220px;
  max-width:min(760px,calc(100vw - 48px));
}
[data-toantin-host-demo] .lt-host-library-resize-handle {
  position:absolute;
  left:-6px;
  top:64px;
  bottom:16px;
  width:12px;
  z-index:5;
  cursor:ew-resize;
  touch-action:none;
  outline:none;
}
[data-toantin-host-demo] .lt-host-library-resize-handle::before {
  content:"";
  position:absolute;
  left:4px;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:999px;
  background:rgba(21,94,239,.16);
  transition:background .14s ease,box-shadow .14s ease,transform .14s ease;
}
[data-toantin-host-demo] .lt-host-library-resize-handle:hover::before,
[data-toantin-host-demo] .lt-host-library-resize-handle:focus-visible::before,
[data-toantin-host-demo] .lt-host-library-shell[data-resizing="true"] .lt-host-library-resize-handle::before {
  background:#3b82f6;
  box-shadow:0 0 0 4px rgba(59,130,246,.12);
  transform:scaleX(1.15);
}
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] .lt-host-library-resize-handle { display:none; }
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] [id$="library-collapse"] {
  position:relative;
  width:42px;
  min-width:42px;
  height:48px;
  color:#fff;
  border:1px solid rgba(255,255,255,.72);
  border-radius:14px 0 0 14px;
  background:linear-gradient(145deg,#3b82f6 0%,#155eef 52%,#0f4fc7 100%);
  box-shadow:0 10px 22px rgba(21,94,239,.28), inset 0 1px 0 rgba(255,255,255,.7), inset 0 -2px 0 rgba(5,47,128,.2);
  text-shadow:0 1px 1px rgba(0,0,0,.16);
  transform:translateZ(0);
}
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] [id$="library-collapse"]:hover,
[data-toantin-host-demo] .lt-host-library-shell[data-collapsed="true"] [id$="library-collapse"]:focus-visible {
  color:#fff;
  background:linear-gradient(145deg,#60a5fa 0%,#2477ef 48%,#155eef 100%);
  box-shadow:0 12px 26px rgba(21,94,239,.34), 0 0 0 4px rgba(59,130,246,.12), inset 0 1px 0 rgba(255,255,255,.78);
}
[data-toantin-host-demo] .lt-library-tab-chevron {
  position:absolute;
  right:2px;
  bottom:2px;
  display:grid;
  place-items:center;
  width:15px;
  height:15px;
  border-radius:999px;
  background:#fff;
  color:#155eef;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:0 2px 6px rgba(15,58,110,.2);
}

/* Library cards naturally fall back to one column at the minimum sidebar width. */
.toantin-lesson-toolkit-root .lt-library-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));
}

/* Toolkit is a launcher grid, not a row of resizable mini-apps. Every item keeps
   the same visual dimensions; only the number of rows/columns changes. */
.toantin-lesson-toolkit-root .lt-toolkit-items {
  display:grid;
  grid-template-columns:repeat(auto-fill,132px);
  grid-auto-rows:112px;
  justify-content:center;
  align-content:start;
  align-items:start;
  gap:10px;
  overflow:auto;
  min-width:0;
  min-height:0;
  padding:.35rem;
}
.toantin-lesson-toolkit-root[data-orientation="vertical"] .lt-toolkit-items {
  display:grid;
  grid-template-columns:repeat(auto-fill,132px);
  max-height:none;
}
.toantin-lesson-toolkit-root .lt-toolkit-item,
.toantin-lesson-toolkit-root .lt-toolkit-item.is-bridge {
  width:132px;
  min-width:132px;
  max-width:132px;
  height:112px;
  min-height:112px;
  max-height:112px;
  box-sizing:border-box;
  overflow:visible;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 14px rgba(15,58,110,.06);
  transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}
.toantin-lesson-toolkit-root .lt-toolkit-item:hover,
.toantin-lesson-toolkit-root .lt-toolkit-item:focus-within {
  border-color:rgba(21,94,239,.28);
  box-shadow:0 9px 20px rgba(15,58,110,.11);
  transform:translateY(-1px);
}
.toantin-lesson-toolkit-root .lt-toolkit-use,
.toantin-lesson-toolkit-root .lt-toolkit-item.is-bridge .lt-toolkit-use,
.toantin-lesson-toolkit-root[data-compact="true"] .lt-toolkit-use {
  width:100%;
  min-width:0;
  max-width:none;
  height:100%;
  min-height:0;
  padding:12px 10px 10px;
  gap:5px;
  border-radius:13px;
  display:grid;
  grid-template-rows:30px minmax(30px,auto) 22px;
  place-items:center;
  align-content:center;
}
.toantin-lesson-toolkit-root .lt-toolkit-use-icon {
  width:30px;
  height:30px;
  border-radius:9px;
  background:#eef4ff;
  color:#155eef;
}
.toantin-lesson-toolkit-root .lt-toolkit-use-label,
.toantin-lesson-toolkit-root[data-compact="true"] .lt-toolkit-use-label {
  display:-webkit-box;
  width:100%;
  max-width:108px;
  min-height:30px;
  overflow:hidden;
  white-space:normal;
  text-overflow:ellipsis;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-height:1.25;
  text-align:center;
  font-size:.7rem;
  font-weight:800;
  color:var(--lt-navy);
}
.toantin-lesson-toolkit-root .lt-toolkit-card-status {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:108px;
  min-height:21px;
  padding:0 .42rem;
  overflow:hidden;
  border-radius:999px;
  font-size:.59rem;
  font-weight:800;
  white-space:nowrap;
  text-overflow:ellipsis;
  background:#f1f5f9;
  color:#64748b;
}
.toantin-lesson-toolkit-root .lt-toolkit-card-status.is-ready { background:#e8f8f2; color:#08795a; }
.toantin-lesson-toolkit-root .lt-toolkit-card-status.is-unavailable { background:#fff4df; color:#8a5b08; }
.toantin-lesson-toolkit-root .lt-toolkit-card-status.is-neutral { background:#eef4ff; color:#0f4fc7; }
.toantin-lesson-toolkit-root .lt-toolkit-bridge-status,
.toantin-lesson-toolkit-root .lt-toolkit-bridge-action { display:none; }
.toantin-lesson-toolkit-root .lt-toolkit-remove,
.toantin-lesson-toolkit-root .lt-toolkit-more {
  opacity:0;
  transition:opacity .12s ease,background .12s ease;
}
.toantin-lesson-toolkit-root .lt-toolkit-item:hover .lt-toolkit-remove,
.toantin-lesson-toolkit-root .lt-toolkit-item:hover .lt-toolkit-more,
.toantin-lesson-toolkit-root .lt-toolkit-item:focus-within .lt-toolkit-remove,
.toantin-lesson-toolkit-root .lt-toolkit-item:focus-within .lt-toolkit-more {
  opacity:1;
}
.toantin-lesson-toolkit-root .lt-toolkit-drop-marker {
  width:132px;
  min-width:132px;
  height:112px;
  min-height:112px;
  border:2px dashed rgba(21,94,239,.5);
  border-radius:14px;
  background:rgba(232,241,255,.55);
}

@media (hover:none), (pointer:coarse) {
  .toantin-lesson-toolkit-root .lt-toolkit-remove,
  .toantin-lesson-toolkit-root .lt-toolkit-more { opacity:1; }
}
@media (max-width:767.98px) {
  [data-toantin-host-demo] .lt-host-library-resize-handle { display:none; }
  [data-toantin-host-demo] .lt-host-library-shell { width:auto; min-width:0; max-width:none; }
}
@media (prefers-reduced-motion:reduce) {
  [data-toantin-host-demo] .lt-host-library-resize-handle::before,
  .toantin-lesson-toolkit-root .lt-toolkit-item { transition:none; }
}

/* Fix08 container-responsive Library internals: panel width, not viewport width,
   decides when header/search/filter density must compact. */
[data-toantin-host-demo] .lt-host-library-shell {
  container-type:inline-size;
  container-name:lt-library-shell;
}
@container lt-library-shell (max-width:340px) {
  .toantin-lesson-toolkit-root .lt-library-head {
    flex-direction:column;
    align-items:stretch;
    gap:.45rem;
    padding:.6rem;
  }
  .toantin-lesson-toolkit-root .lt-library-title-wrap { min-width:0; }
  .toantin-lesson-toolkit-root .lt-library-subtitle { display:none; }
  .toantin-lesson-toolkit-root .lt-library-search {
    flex:none;
    width:100%;
    max-width:none;
    margin-left:0;
  }
  .toantin-lesson-toolkit-root .lt-library-search .form-control {
    min-height:38px;
    font-size:.72rem;
  }
  .toantin-lesson-toolkit-root .lt-library-nav { padding:.45rem .55rem .3rem; }
  .toantin-lesson-toolkit-root .lt-library-filter-row { gap:.3rem; }
  .toantin-lesson-toolkit-root .lt-library-filter { min-height:36px; padding-inline:.55rem; }
  .toantin-lesson-toolkit-root .lt-library-subject-tab { min-height:34px; padding-inline:.58rem; }
  .toantin-lesson-toolkit-root .lt-library-status { padding-inline:.6rem; }
  .toantin-lesson-toolkit-root .lt-library-body { padding:0 .55rem .6rem; }
}
@container lt-library-shell (max-width:280px) {
  [data-toantin-host-demo] .lt-host-library-title {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.8rem;
  }
  [data-toantin-host-demo] .lt-host-library-chrome,
  [data-toantin-host-demo] .lt-host-full-chrome { gap:.25rem; padding-inline:.42rem; }
}
