[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,
[data-toantin-host-demo] .lt-host-instrument-menu,
[data-toantin-host-demo] .lt-host-focus-menu { z-index:var(--lt-host-layer-popover,800) !important; }
[data-toantin-host-demo] .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); }
[data-toantin-host-demo] .lt-host-focus-title { grid-column:1/-1; padding:.15rem .25rem .4rem; font-size:.82rem; font-weight:800; color:#16324f; }
[data-toantin-host-demo] .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; }
[data-toantin-host-demo] .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-title { font-weight:700; color:var(--lt-navy,#0f3a6e); }
[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-panel-hosted .lt-help-head { position:sticky; top:0; z-index:2; }
.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-actions { margin-left:auto; display:flex; align-items:center; gap:.45rem; }
.toantin-lesson-toolkit-root .lt-help-fullscreen,
.toantin-lesson-toolkit-root .lt-help-close { width:36px; height:36px; padding:0; display:grid; place-items:center; border-radius:9px; }
.toantin-lesson-toolkit-root .lt-help-fullscreen[aria-pressed="true"] { border-color:rgba(37,99,235,.34); color:#0b63d8; background:#eef5ff; }
.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-help-panel:fullscreen,
[data-toantin-host-demo] .lt-host-window-frame:fullscreen .toantin-lesson-toolkit-root.lt-help-panel {
  max-height:none;
  height:100%;
  border-radius:0;
  box-shadow:none;
}
[data-toantin-host-demo] .lt-host-window-frame:fullscreen .lt-host-window-body {
  max-height:none;
  height:calc(100% - 42px);
}

.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); }
  [data-toantin-host-demo] .lt-host-focus-menu { grid-template-columns:1fr; width:min(300px,calc(100vw - 16px)) !important; }
  [data-toantin-host-demo] .lt-host-focus-title,[data-toantin-host-demo] .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)); }
@media (min-width:768px) { [data-toantin-host-demo] .lt-host-window-frame[data-window-kind="help"] { min-width:360px; min-height:260px; } }
[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;
}
[data-toantin-host-demo] .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);
}
[data-toantin-host-demo] .lt-host-toolbar-more-title {
  grid-column:1/-1;
  padding:.1rem .25rem .35rem;
  color:#16324f;
  font-size:.76rem;
  font-weight:800;
}
[data-toantin-host-demo] .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;
}
[data-toantin-host-demo] .lt-host-toolbar-more-action.is-active,
[data-toantin-host-demo] .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; }
  [data-toantin-host-demo] .lt-host-toolbar-more-menu { grid-template-columns:1fr; width:min(290px,calc(100vw - 16px)) !important; }
  [data-toantin-host-demo] .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,
  .toantin-lesson-toolkit-root .lt-help-fullscreen,
  [data-toantin-host-demo] .lt-host-toolkit-chrome .btn,
  [data-toantin-host-demo] .lt-host-instrument-item,
  [data-toantin-host-demo] .lt-host-focus-item,
  [data-toantin-host-demo] .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,
[data-toantin-host-demo] .lt-host-toolbar-more-action:focus-visible,
[data-toantin-host-demo] .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-resize-handle.is-n { left:18px; right:18px; top:-6px; width:auto; height:14px; cursor:ns-resize; }
[data-toantin-host-demo] .lt-host-resize-handle.is-e { right:-6px; top:18px; bottom:18px; width:14px; height:auto; cursor:ew-resize; }
[data-toantin-host-demo] .lt-host-resize-handle.is-s { left:18px; right:18px; bottom:-6px; width:auto; height:14px; cursor:ns-resize; }
[data-toantin-host-demo] .lt-host-resize-handle.is-w { left:-6px; top:18px; bottom:18px; width:14px; height:auto; cursor:ew-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; }
}

/* A10.4 — final visual / responsive / accessibility polish.
   Keep the accepted teaching runtime unchanged; this block only strengthens
   legibility, touch targets, focus affordances and high-contrast behavior. */
.toantin-lesson-toolkit-root .lt-full-object-meta small,
.toantin-lesson-toolkit-root .lt-full-metric-key,
.toantin-lesson-toolkit-root .lt-full-service-status,
.toantin-lesson-toolkit-root .lt-full-toolkit-meta small,
.toantin-lesson-toolkit-root .lt-context-caption,
.toantin-lesson-toolkit-root .lt-context-output,
.toantin-lesson-toolkit-root .lt-toolkit-card-status,
.toantin-lesson-toolkit-root .lt-toolkit-bridge-status,
.toantin-lesson-toolkit-root .lt-toolkit-bridge-action {
  font-size:.68rem;
}
.toantin-lesson-toolkit-root .lt-full-service-row,
.toantin-lesson-toolkit-root .lt-full-shortcuts,
.toantin-lesson-toolkit-root .lt-context-action-label,
.toantin-lesson-toolkit-root .lt-context-hint,
.toantin-lesson-toolkit-root .lt-full-property-label,
.toantin-lesson-toolkit-root .lt-full-toolkit-meta strong,
.toantin-lesson-toolkit-root .lt-toolkit-use-label {
  font-size:.72rem;
}

.toantin-lesson-toolkit-root .lt-library-filter:focus-visible,
.toantin-lesson-toolkit-root .lt-library-subject-tab:focus-visible,
.toantin-lesson-toolkit-root .lt-toolkit-use:focus-visible,
.toantin-lesson-toolkit-root .lt-toolkit-more:focus-visible,
.toantin-lesson-toolkit-root .lt-toolkit-remove:focus-visible,
.toantin-lesson-toolkit-root .lt-full-diagnostics-summary:focus-visible {
  outline:3px solid rgba(21,94,239,.38);
  outline-offset:2px;
}

@media (pointer:coarse), (max-width:767.98px) {
  .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-toolkit-reorder-action,
  .toantin-lesson-toolkit-root .lt-toolkit-more,
  .toantin-lesson-toolkit-root .lt-toolkit-remove,
  .toantin-lesson-toolkit-root .lt-toolkit-manage-trigger,
  .toantin-lesson-toolkit-root .lt-full-diagnostics-summary {
    min-height:44px;
  }
  .toantin-lesson-toolkit-root .lt-toolkit-more,
  .toantin-lesson-toolkit-root .lt-toolkit-remove,
  .toantin-lesson-toolkit-root .lt-toolkit-manage-trigger {
    min-width:44px;
  }
  .toantin-lesson-toolkit-root .lt-mode-badge,
  .toantin-lesson-toolkit-root .lt-selection-badge,
  .toantin-lesson-toolkit-root .lt-persistence-badge {
    font-size:.72rem;
  }
}

@container lt-library-shell (max-width:340px) {
  .toantin-lesson-toolkit-root .lt-library-search .form-control,
  .toantin-lesson-toolkit-root .lt-library-filter,
  .toantin-lesson-toolkit-root .lt-library-subject-tab {
    min-height:44px;
  }
  .toantin-lesson-toolkit-root .lt-library-search .form-control,
  .toantin-lesson-toolkit-root .lt-library-subject-tab {
    font-size:.74rem;
  }
}

@media (min-width:1600px) and (min-height:900px) {
  .toantin-lesson-toolkit-root .lt-library-subtitle,
  .toantin-lesson-toolkit-root .lt-library-status,
  .toantin-lesson-toolkit-root .lt-full-teacher-note,
  .toantin-lesson-toolkit-root .lt-help-section-text,
  .toantin-lesson-toolkit-root .lt-toolkit-management-status {
    font-size:.74rem;
  }
}

@media (forced-colors:active) {
  .toantin-lesson-toolkit-root :focus-visible,
  [data-toantin-host-demo] :focus-visible {
    outline:2px solid CanvasText;
    outline-offset:2px;
  }
  .toantin-lesson-toolkit-root .lt-selection-outline,
  .toantin-lesson-toolkit-root .lt-marquee {
    stroke:CanvasText;
  }
  [data-toantin-host-demo] .lt-tool-btn.is-active,
  [data-toantin-host-demo] .lt-tool-btn.is-toggle-active {
    border:2px solid CanvasText;
  }
}


/* UI-V2-A — Unified Toolbar/Workspace V2 Host chrome qualification.
   Host owns geometry; Tool Core/state remain unchanged. */
[data-toantin-host-demo] .lt-toolbar-wrap {
  overflow:visible;
  contain:layout style;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="horizontal"] {
  min-width:min(500px,calc(100vw - 16px));
  min-height:58px;
  max-height:160px;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="horizontal"] > .lt-toolbar {
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  align-self:stretch;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] {
  grid-template-columns:32px minmax(54px,108px) 48px;
  min-width:142px;
  min-height:min(220px,calc(100vh - 16px));
  max-width:240px;
  max-height:calc(100vh - 16px);
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] > .lt-toolbar {
  width:auto;
  min-width:54px;
  max-width:108px;
  height:100%;
  max-height:none;
  display:flex;
  flex-flow:column wrap;
  align-content:flex-start;
  justify-content:flex-start;
  overflow:hidden;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-toolbar-group {
  flex:0 0 auto;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] .lt-toolbar-group[data-toolbar-group="more"] {
  margin-top:.34rem;
}
[data-toantin-host-demo] .lt-toolbar[data-desktop-two-row="true"] {
  max-height:none;
}
[data-toantin-host-demo] .lt-toolbar[data-desktop-two-row="true"] .lt-toolbar-group[data-toolbar-group="more"] {
  margin-left:.18rem;
  padding-left:.36rem;
  border-left:1px solid rgba(15,58,110,.12);
}
[data-toantin-host-demo] .lt-host-toolbar-more-menu {
  grid-template-columns:1fr 1fr;
  min-width:min(280px,calc(100vw - 16px));
}
[data-toantin-host-demo] .lt-host-toolbar-more-section-title {
  grid-column:1/-1;
  margin:.2rem .15rem -.02rem;
  padding:.35rem .25rem .18rem;
  border-top:1px solid rgba(15,58,110,.08);
  color:#64748b;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
[data-toantin-host-demo] .lt-host-toolbar-more-title + .lt-host-toolbar-more-section-title {
  margin-top:0;
  border-top:0;
  padding-top:.08rem;
}
[data-toantin-host-demo] .lt-host-toolbar-resize-handle {
  position:absolute;
  z-index:8;
  touch-action:none;
  user-select:none;
}
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-nw,
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-ne,
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-se,
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-sw {
  width:18px;
  height:18px;
}
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-nw { left:-6px; top:-6px; cursor:nwse-resize; }
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-ne { right:-6px; top:-6px; cursor:nesw-resize; }
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-se { right:-6px; bottom:-6px; cursor:nwse-resize; }
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-sw { left:-6px; bottom:-6px; cursor:nesw-resize; }
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-n { left:18px; right:18px; top:-7px; height:14px; cursor:ns-resize; }
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-e { top:18px; right:-7px; bottom:18px; width:14px; cursor:ew-resize; }
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-s { left:18px; right:18px; bottom:-7px; height:14px; cursor:ns-resize; }
[data-toantin-host-demo] .lt-host-toolbar-resize-handle.is-w { top:18px; left:-7px; bottom:18px; width:14px; cursor:ew-resize; }
[data-toantin-host-demo] .lt-toolbar-wrap[data-pinned="true"] .lt-host-toolbar-resize-handle,
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] .lt-host-toolbar-resize-handle { display:none; }
[data-toantin-host-demo] .lt-toolbar-wrap[data-resizing="true"] {
  box-shadow:0 11px 30px rgba(15,58,110,.14),inset 0 0 0 1px rgba(21,94,239,.12);
}
@media (max-width:599.98px) {
  [data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="horizontal"] {
    min-width:calc(100vw - 16px);
    max-width:calc(100vw - 16px);
  }
  [data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="horizontal"] > .lt-toolbar {
    overflow-x:auto;
    overscroll-behavior-inline:contain;
  }
  [data-toantin-host-demo] .lt-host-toolbar-more-menu { grid-template-columns:1fr; }
  [data-toantin-host-demo] .lt-host-toolbar-more-section-title { grid-column:1; }
}

/* UI-V2-B — contextual object interaction, Text Box and Host Toast. */
.toantin-lesson-toolkit-root {
  --lt-layer-context-menu: 46;
  --lt-context-menu-shadow: 0 16px 38px rgba(15, 42, 86, .16);
}
.toantin-lesson-toolkit-root .lt-object[tabindex="0"]:focus-visible .lt-object-content {
  filter: drop-shadow(0 0 0.22rem rgba(13,91,239,.42));
}
.toantin-lesson-toolkit-root .lt-svg-text-box {
  width:100%;
  height:100%;
  box-sizing:border-box;
  display:block;
  overflow:hidden;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-family:inherit;
  line-height:1.25;
  border-radius:7px;
  user-select:none;
}
.toantin-lesson-toolkit-root .lt-text-create-draft {
  fill:rgba(13,91,239,.055);
  stroke:#0d5bef;
  stroke-width:2;
  stroke-dasharray:8 6;
  vector-effect:non-scaling-stroke;
}
.toantin-lesson-toolkit-root .lt-text-resize-handle {
  pointer-events:all;
  outline:none;
}
.toantin-lesson-toolkit-root .lt-text-resize-hit { fill:transparent; stroke:none; }
.toantin-lesson-toolkit-root .lt-text-resize-grip {
  fill:#fff;
  stroke:#0d5bef;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 2px 3px rgba(15,42,86,.14));
}
.toantin-lesson-toolkit-root .lt-text-resize-handle:focus-visible .lt-text-resize-grip { stroke:#102a56; stroke-width:3; }
.toantin-lesson-toolkit-root .lt-text-resize-handle.is-n,
.toantin-lesson-toolkit-root .lt-text-resize-handle.is-s { cursor:ns-resize; }
.toantin-lesson-toolkit-root .lt-text-resize-handle.is-e,
.toantin-lesson-toolkit-root .lt-text-resize-handle.is-w { cursor:ew-resize; }
.toantin-lesson-toolkit-root .lt-text-resize-handle.is-nw,
.toantin-lesson-toolkit-root .lt-text-resize-handle.is-se { cursor:nwse-resize; }
.toantin-lesson-toolkit-root .lt-text-resize-handle.is-ne,
.toantin-lesson-toolkit-root .lt-text-resize-handle.is-sw { cursor:nesw-resize; }
.toantin-lesson-toolkit-root .lt-object-context-menu {
  position:fixed;
  z-index:var(--lt-layer-context-menu);
  width:min(264px, calc(100vw - 16px));
  max-height:min(520px, calc(100vh - 16px));
  overflow:auto;
  display:grid;
  gap:4px;
  padding:8px;
  background:#fff;
  border:1px solid #d8e5f5;
  border-radius:12px;
  box-shadow:var(--lt-context-menu-shadow);
  color:#14213d;
}
.toantin-lesson-toolkit-root .lt-object-context-menu[hidden] { display:none !important; }
.toantin-lesson-toolkit-root .lt-object-context-title {
  padding:7px 9px 6px;
  color:#102a56;
  font-size:.78rem;
  font-weight:800;
  border-bottom:1px solid #e5edf8;
  margin-bottom:2px;
}
.toantin-lesson-toolkit-root .lt-object-context-action {
  appearance:none;
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 9px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#163b73;
  font:inherit;
  font-size:.85rem;
  font-weight:650;
  text-align:left;
}
.toantin-lesson-toolkit-root .lt-object-context-action:hover,
.toantin-lesson-toolkit-root .lt-object-context-action:focus-visible { background:#eef5ff; color:#0d5bef; outline:none; }
.toantin-lesson-toolkit-root .lt-object-context-action.is-danger { color:#c42e3a; }
.toantin-lesson-toolkit-root .lt-object-context-action.is-danger:hover,
.toantin-lesson-toolkit-root .lt-object-context-action.is-danger:focus-visible { background:#fff1f2; color:#b42331; }
.toantin-lesson-toolkit-root .lt-full-object-row { grid-template-columns:minmax(0,1fr) auto auto auto; }
.toantin-lesson-toolkit-root .lt-full-icon-btn {
  width:38px;
  min-width:38px;
  min-height:38px;
  padding:.3rem;
}
.toantin-lesson-toolkit-root .lt-full-icon-btn > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

[data-toantin-host-demo] .lt-host-toast-root {
  position:fixed;
  top:14px;
  right:14px;
  z-index:1700;
  width:min(360px,calc(100vw - 28px));
  display:grid;
  gap:8px;
  pointer-events:none;
}
[data-toantin-host-demo] .lt-host-toast {
  pointer-events:auto;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px 12px;
  border:1px solid #d8e5f5;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,42,86,.16);
  color:#14213d;
  font-size:.86rem;
  line-height:1.4;
}
[data-toantin-host-demo] .lt-host-toast[data-tone="success"] { border-color:#b7ead7; background:#f0fdf8; }
[data-toantin-host-demo] .lt-host-toast[data-tone="warning"] { border-color:#fde0a6; background:#fffaf0; }
[data-toantin-host-demo] .lt-host-toast[data-tone="danger"] { border-color:#fecdd3; background:#fff1f2; }
@media (pointer:coarse) {
  .toantin-lesson-toolkit-root .lt-object-context-action { min-height:44px; }
  .toantin-lesson-toolkit-root .lt-full-icon-btn { width:44px; min-width:44px; min-height:44px; }
}
@media (max-width:575.98px) {
  .toantin-lesson-toolkit-root .lt-object-context-menu { width:min(300px,calc(100vw - 12px)); }
  .toantin-lesson-toolkit-root .lt-full-object-row { grid-template-columns:minmax(0,1fr) repeat(3,44px); }
  [data-toantin-host-demo] .lt-host-toast-root { top:8px; right:8px; width:calc(100vw - 16px); }
}
@media (prefers-reduced-motion:reduce) {
  .toantin-lesson-toolkit-root .lt-object-context-action,
  [data-toantin-host-demo] .lt-host-toast { transition:none !important; }
}


/* Owner feedback FB-02/FB-03 — Host-managed teaching fullscreen.
   Standalone intentionally avoids the browser Fullscreen API so Escape remains a Tool
   interaction key. Exit is explicit through the fullscreen button; popovers remain inside
   the fullscreen Host shell and therefore stay interactive. */
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen {
  position:fixed;
  inset:0;
  z-index:var(--lt-host-layer-window,700);
  inline-size:100vw;
  block-size:100dvh;
  max-inline-size:none !important;
  margin:0 !important;
  padding:.55rem;
  border:0;
  border-radius:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  overscroll-behavior:contain;
  background:#f4f8fc;
}
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-demo-head,
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-status { flex:0 0 auto; }
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-demo-workspace {
  flex:1 1 auto;
  min-block-size:0;
  overflow:auto;
}
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-host-toolbar-more-menu,
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-host-instrument-menu,
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-host-focus-menu {
  z-index:var(--lt-host-layer-popover,800) !important;
}

/* OWNER TOOLBAR AUDIT PATCH 05 — FB-04..FB-08.
   Final Host-chrome overrides after the 2026-10-11 owner screenshot audit.
   Goals: true collapse, compact vertical orientation, clean teaching fullscreen,
   hover/touch quick dock and a restrained 3D icon language. */

/* FB-08 — subtle 3D icon tiles. The vector language stays consistent; depth comes
   from a tiny raised surface + optical shadow rather than glossy/neon decoration. */
[data-toantin-host-demo] .lt-tool-btn,
[data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon,
[data-toantin-host-demo] .lt-fullscreen-dock-action,
[data-toantin-host-demo] .lt-fullscreen-dock-trigger {
  position:relative;
  isolation:isolate;
  overflow:visible;
}
[data-toantin-host-demo] .lt-tool-btn::before,
[data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon::before,
[data-toantin-host-demo] .lt-fullscreen-dock-action::before,
[data-toantin-host-demo] .lt-fullscreen-dock-trigger::before {
  content:"";
  position:absolute;
  inset:5px;
  z-index:-1;
  border:1px solid rgba(15,58,110,.10);
  border-radius:10px;
  background:linear-gradient(155deg,#ffffff 8%,#f4f8ff 58%,#e6effb 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 2px 4px rgba(15,42,86,.13),0 1px 1px rgba(15,42,86,.08);
  transition:transform 150ms ease,box-shadow 150ms ease,background 150ms ease,border-color 150ms ease;
}
[data-toantin-host-demo] .lt-tool-btn > svg,
[data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon > svg,
[data-toantin-host-demo] .lt-fullscreen-dock-action > svg,
[data-toantin-host-demo] .lt-fullscreen-dock-trigger > svg,
[data-toantin-host-demo] .lt-toolbar-more-dots {
  position:relative;
  z-index:1;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.95)) drop-shadow(0 1.4px 1px rgba(15,42,86,.22));
}
[data-toantin-host-demo] .lt-tool-btn:hover:not(:disabled)::before,
[data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon:hover::before,
[data-toantin-host-demo] .lt-fullscreen-dock-action:hover::before,
[data-toantin-host-demo] .lt-fullscreen-dock-trigger:hover::before {
  transform:translateY(-1px);
  border-color:rgba(13,91,239,.18);
  box-shadow:inset 0 1px 0 #fff,0 4px 8px rgba(15,42,86,.16),0 1px 2px rgba(13,91,239,.12);
}
[data-toantin-host-demo] .lt-tool-btn:active:not(:disabled)::before,
[data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon:active::before,
[data-toantin-host-demo] .lt-fullscreen-dock-action:active::before,
[data-toantin-host-demo] .lt-fullscreen-dock-trigger:active::before {
  transform:translateY(1px);
  box-shadow:inset 0 2px 4px rgba(15,42,86,.14),0 1px 1px rgba(15,42,86,.08);
}
[data-toantin-host-demo] .lt-tool-btn.is-active::before {
  border-color:rgba(255,255,255,.28);
  background:linear-gradient(145deg,#4a8cff 0%,#155eef 58%,#0d4bd1 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 5px 11px rgba(13,91,239,.28);
}
[data-toantin-host-demo] .lt-tool-btn.is-active { background:transparent; box-shadow:none; }
[data-toantin-host-demo] .lt-tool-btn.is-toggle-active::before {
  background:linear-gradient(145deg,#f7fbff,#dceaff);
  border-color:rgba(13,91,239,.22);
}

/* FB-04 — true collapsed Toolbar. Do not let persisted expanded dimensions remain
   visible as a large empty white card. Collapsed chrome is Grip | Pin | Expand. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:.15rem !important;
  inline-size:max-content !important;
  block-size:56px !important;
  min-inline-size:0 !important;
  min-block-size:56px !important;
  max-inline-size:calc(100vw - 16px) !important;
  max-block-size:56px !important;
  padding:.25rem !important;
  overflow:visible !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] > .lt-toolbar {
  display:none !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] > .lt-host-drag-handle {
  display:inline-flex !important;
  flex:0 0 32px !important;
  inline-size:32px !important;
  block-size:48px !important;
  min-inline-size:32px !important;
  min-block-size:48px !important;
  align-self:center !important;
  border-right:1px solid rgba(15,58,110,.10) !important;
  border-radius:10px 0 0 10px !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] > .lt-toolbar-inline-chrome {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  align-self:center !important;
  inline-size:auto !important;
  min-inline-size:0 !important;
  block-size:48px !important;
  min-block-size:48px !important;
  gap:.1rem !important;
  padding:0 0 0 .18rem !important;
  margin:0 !important;
  border-left:1px solid rgba(15,58,110,.10) !important;
  border-top:0 !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] #toolbar-reset,
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] #sample-toolbar-reset,
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] #toolbar-orient-inline {
  display:none !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] .lt-host-window-icon {
  inline-size:44px !important;
  min-inline-size:44px !important;
  block-size:44px !important;
  min-block-size:44px !important;
}

/* FB-06/07 — vertical mode is one compact command rail by default. Host controls
   sit below the command rail instead of occupying a third permanent white column. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"][data-density="compact"] {
  display:grid !important;
  grid-template-columns:28px minmax(52px,1fr) !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  column-gap:.16rem !important;
  row-gap:.2rem !important;
  inline-size:max-content;
  min-inline-size:92px !important;
  max-inline-size:188px !important;
  min-block-size:220px;
  padding:.28rem !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"][data-density="compact"] > .lt-host-drag-handle {
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  inline-size:28px !important;
  min-inline-size:28px !important;
  block-size:100% !important;
  min-block-size:88px !important;
  align-self:stretch !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"][data-density="compact"] > .lt-toolbar {
  grid-column:2 !important;
  grid-row:1 !important;
  inline-size:100% !important;
  min-inline-size:52px !important;
  max-inline-size:none !important;
  min-block-size:0 !important;
  block-size:100% !important;
  display:flex !important;
  flex-flow:column wrap !important;
  align-content:flex-start !important;
  justify-content:flex-start !important;
  gap:.18rem !important;
  padding:.04rem !important;
  overflow:auto !important;
  scrollbar-width:none;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"][data-density="compact"] > .lt-toolbar::-webkit-scrollbar { display:none; }
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"][data-density="compact"] .lt-toolbar-group {
  inline-size:44px !important;
  min-inline-size:44px !important;
  max-inline-size:44px !important;
  gap:.12rem !important;
  margin-inline:0 !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"][data-density="compact"] > .lt-toolbar-inline-chrome {
  grid-column:2 !important;
  grid-row:2 !important;
  display:flex !important;
  flex-direction:column !important;
  inline-size:48px !important;
  min-inline-size:48px !important;
  max-inline-size:48px !important;
  align-items:center !important;
  justify-self:start !important;
  gap:.1rem !important;
  padding:.28rem 0 0 !important;
  margin:0 !important;
  border-left:0 !important;
  border-top:1px solid rgba(15,58,110,.10) !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"][data-density="compact"] > .lt-toolbar-inline-chrome .lt-host-window-icon {
  inline-size:44px !important;
  min-inline-size:44px !important;
  block-size:44px !important;
  min-block-size:44px !important;
}

/* Keep horizontal mode visually balanced and prevent dead space introduced by an
   old persisted height. Main controls own the flexible middle track. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="horizontal"][data-density="compact"] {
  align-items:stretch;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="horizontal"][data-density="compact"] > .lt-toolbar {
  align-self:stretch;
  align-items:center;
  align-content:center;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="horizontal"][data-density="compact"] > .lt-toolbar-inline-chrome {
  align-self:stretch;
  align-items:center;
}

/* FB-05 — clean teaching fullscreen. Header/status/status-strip disappear; only
   Toolbar/context when needed + teaching page remain. Host navigation becomes one
   compact right-edge icon that reveals Home/Reset/Exit on hover, keyboard focus or touch. */
[data-toantin-host-demo] .lt-fullscreen-quick-dock { display:none; }
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen {
  padding:.4rem !important;
  gap:.35rem;
}
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-demo-head,
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen > .lt-status,
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-stage-topbar {
  display:none !important;
}
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-demo-workspace {
  flex:1 1 auto;
  min-block-size:0;
  gap:.35rem;
  overflow:auto;
}
[data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-fullscreen-quick-dock {
  position:fixed;
  top:10px;
  right:10px;
  z-index:calc(var(--lt-host-layer-popover,800) - 5);
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:.2rem;
  padding:.24rem;
  transform:none;
  border:1px solid rgba(15,58,110,.14);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  box-shadow:0 9px 26px rgba(15,58,110,.15);
  backdrop-filter:blur(10px);
}
[data-toantin-host-demo] .lt-fullscreen-quick-actions {
  display:flex;
  align-items:center;
  gap:.12rem;
  inline-size:0;
  max-inline-size:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  transform:translateX(8px);
  transition:max-inline-size 160ms ease,inline-size 160ms ease,opacity 130ms ease,transform 160ms ease;
}
[data-toantin-host-demo] .lt-fullscreen-quick-dock:hover .lt-fullscreen-quick-actions,
[data-toantin-host-demo] .lt-fullscreen-quick-dock:focus-within .lt-fullscreen-quick-actions,
[data-toantin-host-demo] .lt-fullscreen-quick-dock[data-expanded="true"] .lt-fullscreen-quick-actions {
  inline-size:92px;
  max-inline-size:92px;
  opacity:1;
  pointer-events:auto;
  transform:translateX(0);
}
[data-toantin-host-demo] .lt-fullscreen-dock-action,
[data-toantin-host-demo] .lt-fullscreen-dock-trigger {
  flex:0 0 44px;
  inline-size:44px;
  block-size:44px;
  min-inline-size:44px;
  min-block-size:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#0f4fc7;
  text-decoration:none;
  cursor:pointer;
}
[data-toantin-host-demo] .lt-fullscreen-dock-trigger {
  color:#155eef;
}
[data-toantin-host-demo] .lt-fullscreen-dock-action:focus-visible,
[data-toantin-host-demo] .lt-fullscreen-dock-trigger:focus-visible {
  outline:3px solid rgba(13,91,239,.28);
  outline-offset:1px;
}

@media (max-width:599.98px) {
  [data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen { padding:.25rem !important; }
  [data-toantin-host-demo] .lt-demo-shell.is-app-fullscreen .lt-fullscreen-quick-dock { top:8px; right:8px; bottom:auto; }
  [data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] { max-inline-size:calc(100vw - 8px) !important; }
}
@media (pointer:coarse) {
  [data-toantin-host-demo] .lt-fullscreen-quick-dock:hover .lt-fullscreen-quick-actions:not(:focus-within) {
    /* Touch uses the explicit trigger; do not depend on sticky synthetic hover. */
  }
}
@media (prefers-reduced-motion:reduce) {
  [data-toantin-host-demo] .lt-tool-btn::before,
  [data-toantin-host-demo] .lt-toolbar-inline-chrome .lt-host-window-icon::before,
  [data-toantin-host-demo] .lt-fullscreen-quick-actions { transition:none !important; }
}

/* OWNER FB-09 — SMART AUTO LAYOUT TOOLBAR (PATCH 06).
   Toolbar is a content-fit control surface, not a resizable window. Manual edge/corner
   resize is removed; P1 stays on the main rail, P2 fills safe viewport capacity and
   remaining P2/P3 live in grouped More. Host persists x/y/orientation/pin/collapse only. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"] {
  inline-size:max-content !important;
  block-size:max-content !important;
  min-inline-size:0 !important;
  min-block-size:0 !important;
  max-inline-size:calc(100vw - 16px) !important;
  max-block-size:calc(100vh - 16px) !important;
}
[data-toantin-host-demo] .lt-host-toolbar-resize-handle {
  display:none !important;
  pointer-events:none !important;
}

/* Horizontal: one clean content-fit row on ordinary desktop. When the viewport is
   physically too narrow even for P1 + Host chrome, only the Tool-command rail scrolls;
   secondary commands have already moved to More, so the page itself never overflows. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="horizontal"][data-density="compact"] {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:.16rem !important;
  inline-size:max-content !important;
  block-size:auto !important;
  padding:.28rem !important;
  overflow:visible !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="horizontal"][data-density="compact"] > .lt-host-drag-handle {
  flex:0 0 28px !important;
  inline-size:28px !important;
  min-inline-size:28px !important;
  block-size:auto !important;
  min-block-size:52px !important;
  align-self:stretch !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="horizontal"][data-density="compact"] > .lt-toolbar {
  display:flex !important;
  flex:0 1 auto !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  align-content:center !important;
  gap:.18rem !important;
  inline-size:max-content !important;
  min-inline-size:0 !important;
  max-inline-size:calc(100vw - 230px) !important;
  block-size:auto !important;
  min-block-size:52px !important;
  padding:.04rem !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="horizontal"][data-density="compact"] > .lt-toolbar::-webkit-scrollbar { display:none; }
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="horizontal"][data-density="compact"] .lt-toolbar-group {
  flex:0 0 auto !important;
  flex-wrap:nowrap !important;
  gap:.12rem !important;
  margin:0 !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="horizontal"][data-density="compact"] .lt-toolbar-group + .lt-toolbar-group {
  margin-left:.14rem !important;
  padding-left:.28rem !important;
  border-left:1px solid rgba(15,58,110,.10) !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="horizontal"][data-density="compact"] > .lt-toolbar-inline-chrome {
  flex:0 0 auto !important;
  align-self:stretch !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:.08rem !important;
  padding:.04rem 0 .04rem .24rem !important;
  margin:0 !important;
}

/* Vertical: exactly one command column. Height is content-driven; JS limits P2 before
   render so the column stays within the viewport and More absorbs the remainder. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="vertical"][data-density="compact"] {
  display:grid !important;
  grid-template-columns:28px 52px !important;
  grid-template-rows:auto auto !important;
  column-gap:.14rem !important;
  row-gap:.18rem !important;
  inline-size:max-content !important;
  min-inline-size:92px !important;
  max-inline-size:92px !important;
  block-size:max-content !important;
  min-block-size:0 !important;
  max-block-size:calc(100vh - 16px) !important;
  padding:.28rem !important;
  overflow:visible !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="vertical"][data-density="compact"] > .lt-host-drag-handle {
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  inline-size:28px !important;
  min-inline-size:28px !important;
  block-size:100% !important;
  min-block-size:56px !important;
  align-self:stretch !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="vertical"][data-density="compact"] > .lt-toolbar {
  grid-column:2 !important;
  grid-row:1 !important;
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:.12rem !important;
  inline-size:52px !important;
  min-inline-size:52px !important;
  max-inline-size:52px !important;
  block-size:max-content !important;
  min-block-size:0 !important;
  max-block-size:calc(100vh - 190px) !important;
  padding:.02rem !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  scrollbar-width:none;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="vertical"][data-density="compact"] > .lt-toolbar::-webkit-scrollbar { display:none; }
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="vertical"][data-density="compact"] .lt-toolbar-group {
  inline-size:44px !important;
  min-inline-size:44px !important;
  max-inline-size:44px !important;
  flex:0 0 auto !important;
  gap:.08rem !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="vertical"][data-density="compact"] .lt-toolbar-group + .lt-toolbar-group {
  margin-top:.12rem !important;
  padding-top:.24rem !important;
  border-top:1px solid rgba(15,58,110,.10) !important;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="vertical"][data-density="compact"] > .lt-toolbar-inline-chrome {
  grid-column:2 !important;
  grid-row:2 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  inline-size:48px !important;
  min-inline-size:48px !important;
  max-inline-size:48px !important;
  block-size:max-content !important;
  gap:.06rem !important;
  padding:.22rem 0 0 !important;
  margin:0 !important;
  border-left:0 !important;
  border-top:1px solid rgba(15,58,110,.10) !important;
}

/* Collapsed contract remains Grip | Pin | Expand and is also content-fit. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-density="collapsed"] {
  inline-size:max-content !important;
  block-size:56px !important;
  max-inline-size:calc(100vw - 16px) !important;
}

@media (max-width:599.98px) {
  [data-toantin-host-demo] .lt-toolbar-wrap[data-auto-layout="true"][data-orientation="horizontal"][data-density="compact"] > .lt-toolbar {
    max-inline-size:calc(100vw - 222px) !important;
  }
}


/* Pen Workspace Build 3 + FB-17/18/19 — adaptive contextual chrome; scoped to lesson_toolkit. */
[data-toantin-host-demo] .lt-toolbar-wrap{position:relative}
[data-toantin-host-demo] .lt-host-pen-workspace{position:fixed;left:var(--lt-pen-ws-left,32px);top:var(--lt-pen-ws-top,104px);z-index:var(--lt-host-layer-panel,620);width:min(860px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:min(270px,calc(100vh - 16px));overscroll-behavior:contain}
[data-toantin-host-demo] .lt-toolbar-wrap[data-density="collapsed"] + .lt-host-pen-workspace{display:none!important}
[data-toantin-host-demo] .lt-host-pen-launcher{--lt-pen-launcher-color:#155eef;position:fixed;left:var(--lt-pen-launcher-left,72px);top:var(--lt-pen-launcher-top,72px);z-index:calc(var(--lt-host-layer-panel,620) + 1);width:40px;height:40px;border:1px solid rgba(15,58,110,.18);border-radius:12px;background:rgba(255,255,255,.98);color:#155eef;box-shadow:0 8px 22px rgba(15,58,110,.18),0 1px 4px rgba(15,58,110,.08);display:grid;place-items:center;padding:0;cursor:pointer;backdrop-filter:blur(10px)}
[data-toantin-host-demo] .lt-host-pen-launcher[hidden]{display:none!important}
[data-toantin-host-demo] .lt-host-pen-launcher:hover{background:#f5f9ff;border-color:#98b8df;transform:translateY(-1px)}
[data-toantin-host-demo] .lt-host-pen-launcher:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
[data-toantin-host-demo] .lt-host-pen-launcher-icon{display:grid;place-items:center}
[data-toantin-host-demo] .lt-host-pen-launcher-swatch{position:absolute;right:5px;bottom:5px;width:10px;height:4px;border-radius:999px;background:var(--lt-pen-launcher-color);box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 0 2px rgba(15,23,42,.10)}
.toantin-lesson-toolkit-root.lt-pen-workspace{--lt-pen-border:#dbe4ef;--lt-pen-ink:#16324f;position:relative;display:grid;gap:0;padding:.34rem .42rem .42rem;border:1px solid rgba(15,58,110,.15);border-radius:16px;background:rgba(255,255,255,.985);box-shadow:0 18px 42px rgba(15,58,110,.20),0 2px 8px rgba(15,58,110,.07);backdrop-filter:blur(14px);color:var(--lt-pen-ink);overflow:visible}
.toantin-lesson-toolkit-root .lt-pen-workspace-chrome{position:absolute;right:.45rem;top:.42rem;z-index:9;display:flex;align-items:center;gap:.22rem;padding:.12rem;border-radius:10px;background:rgba(255,255,255,.86);box-shadow:0 1px 5px rgba(15,58,110,.08);backdrop-filter:blur(8px)}
.toantin-lesson-toolkit-root .lt-pen-workspace-action{width:30px;height:30px;border:1px solid transparent;border-radius:8px;background:transparent;color:#52677f;display:grid;place-items:center;padding:0;cursor:pointer}
.toantin-lesson-toolkit-root .lt-pen-workspace-action:hover,.toantin-lesson-toolkit-root .lt-pen-workspace-action:focus-visible{background:#edf4fd;border-color:#c8d9ec;color:#16324f;outline:none}
.toantin-lesson-toolkit-root .lt-pen-workspace-close:hover,.toantin-lesson-toolkit-root .lt-pen-workspace-close:focus-visible{background:#fff1f0;border-color:#f2c4c0;color:#b42318}
.toantin-lesson-toolkit-root .lt-pen-preset-bar{display:flex;align-items:flex-end;gap:.14rem;min-height:78px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:.16rem 4.9rem .28rem .12rem;border-bottom:1px solid rgba(15,58,110,.08)}
.toantin-lesson-toolkit-root .lt-pen-preset{--pen-tone:#155EEF;--pen-opacity:1;position:relative;border:1px solid transparent;background:transparent;color:#16324f;border-radius:10px;min-width:58px;width:58px;height:70px;padding:.18rem .14rem .14rem;display:grid;grid-template-rows:60px 3px;place-items:center;align-content:center;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.toantin-lesson-toolkit-root .lt-pen-preset:hover{background:#f1f5f9;border-color:#d8e3ef;transform:translateY(-1px)}
.toantin-lesson-toolkit-root .lt-pen-preset:focus-visible{outline:3px solid rgba(37,99,235,.27);outline-offset:1px;border-color:#7fb0ff}
.toantin-lesson-toolkit-root .lt-pen-preset.is-active{background:linear-gradient(#eef5ff,#e4efff);border-color:#8eb8ff;box-shadow:inset 0 0 0 1px rgba(21,94,239,.08),0 2px 6px rgba(21,94,239,.10)}
.toantin-lesson-toolkit-root .lt-pen-preset.is-active::before{content:"";position:absolute;left:11px;right:11px;top:-5px;height:3px;border-radius:999px;background:#2563eb;box-shadow:0 1px 2px rgba(37,99,235,.24)}
.toantin-lesson-toolkit-root .lt-pen-glyph{position:relative;width:34px;height:58px;display:block;filter:drop-shadow(0 2px 2px rgba(15,23,42,.18))}
.toantin-lesson-toolkit-root .lt-pen-svg{width:34px;height:72px;transform:translateY(-5px);overflow:visible}
.toantin-lesson-toolkit-root .lt-pen-svg-shadow{fill:#0f172a;opacity:.14;transform:translate(1px,1px)}
.toantin-lesson-toolkit-root .lt-pen-svg-body{fill:var(--pen-tone);fill-opacity:var(--pen-opacity);stroke:#55687b;stroke-width:.8}
.toantin-lesson-toolkit-root .lt-pen-svg-highlight{fill:rgba(255,255,255,.56)}
.toantin-lesson-toolkit-root .lt-pen-svg-ferrule{fill:#e5e7eb;stroke:#66788a;stroke-width:.75}
.toantin-lesson-toolkit-root .lt-pen-svg-nib{fill:#d7dee6;stroke:#536474;stroke-width:.8}
.toantin-lesson-toolkit-root .lt-pen-svg-nib-line{fill:none;stroke:#536474;stroke-width:.8;stroke-linecap:round}
.toantin-lesson-toolkit-root .lt-pen-svg-nib-hole{fill:#52606d}
.toantin-lesson-toolkit-root .lt-pen-svg-brush{fill:var(--pen-tone);stroke:#536474;stroke-width:.7}
.toantin-lesson-toolkit-root .lt-pen-svg-chisel{fill:var(--pen-tone);fill-opacity:.86;stroke:#536474;stroke-width:.7}
.toantin-lesson-toolkit-root .lt-pen-preset-ink{width:28px;height:3px;border-radius:999px;background:var(--pen-tone);opacity:var(--pen-opacity);box-shadow:0 0 0 1px rgba(15,23,42,.05)}
.toantin-lesson-toolkit-root .lt-pen-preset-caption{display:none}
.toantin-lesson-toolkit-root .lt-pen-eraser-wrap{display:grid;grid-template-columns:58px 22px;align-items:end;position:relative;margin-left:.12rem;padding-left:.28rem;border-left:1px solid rgba(15,58,110,.10)}
.toantin-lesson-toolkit-root .lt-pen-eraser{width:58px;min-width:58px}
.toantin-lesson-toolkit-root .lt-eraser-glyph{position:relative;width:27px;height:52px;display:block;filter:drop-shadow(0 2px 2px rgba(15,23,42,.16));transform:translateY(2px)}
.toantin-lesson-toolkit-root .lt-eraser-glyph::before{content:"";position:absolute;left:4px;right:4px;top:4px;height:34px;border:1px solid #657789;border-radius:3px 3px 1px 1px;background:linear-gradient(90deg,#cbd5e1 0 18%,#e5e7eb 18% 82%,#fff 82%)}
.toantin-lesson-toolkit-root .lt-eraser-glyph::after{content:"";position:absolute;left:5px;right:5px;top:38px;height:10px;border:1px solid #775c86;border-radius:1px 1px 4px 4px;background:linear-gradient(#f5d8ff,#d19be3)}
.toantin-lesson-toolkit-root .lt-pen-eraser-more{border:1px solid transparent;background:transparent;color:#52677f;border-radius:7px;min-width:22px;width:22px;height:32px;align-self:end;margin-bottom:3px;font-weight:900;padding:0;display:grid;place-items:center;cursor:pointer}
.toantin-lesson-toolkit-root .lt-pen-eraser-more:hover,.toantin-lesson-toolkit-root .lt-pen-eraser-more:focus-visible{background:#edf3fb;border-color:#cddbeb;outline:none}
.toantin-lesson-toolkit-root .lt-pen-eraser-menu{position:absolute;top:75px;right:.45rem;z-index:8;display:grid;min-width:232px;padding:.38rem;border:1px solid rgba(15,58,110,.16);border-radius:11px;background:#fff;box-shadow:0 16px 34px rgba(15,58,110,.20)}
.toantin-lesson-toolkit-root .lt-pen-eraser-menu[hidden]{display:none!important}
.toantin-lesson-toolkit-root .lt-pen-menu-action{min-height:40px;border:0;border-radius:8px;background:transparent;text-align:left;padding:.44rem .58rem;font-size:.72rem;font-weight:720;color:#16324f;display:flex;align-items:center;gap:.48rem}
.toantin-lesson-toolkit-root .lt-pen-menu-action:hover,.toantin-lesson-toolkit-root .lt-pen-menu-action:focus-visible{background:#eef5ff;outline:none}
.toantin-lesson-toolkit-root .lt-pen-menu-action.is-danger{color:#b42318}
.toantin-lesson-toolkit-root .lt-pen-menu-divider{height:1px;background:#e8eef5;margin:.2rem .18rem}
.toantin-lesson-toolkit-root .lt-pen-properties{min-height:70px;display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:.5rem .46rem .12rem;background:#fff}
.toantin-lesson-toolkit-root .lt-pen-property-summary{display:grid;grid-template-columns:auto auto;grid-template-areas:"preview title" "preview hint";align-items:center;column-gap:.44rem;min-width:150px;padding-right:.55rem;border-right:1px solid #e5edf5}
.toantin-lesson-toolkit-root .lt-pen-stroke-preview{grid-area:preview;width:48px;height:34px;display:grid;place-items:center;position:relative}
.toantin-lesson-toolkit-root .lt-pen-stroke-preview::before{content:"";width:46px;height:var(--preview-width,5px);max-height:18px;border-radius:999px;background:var(--preview-color,#155eef);opacity:var(--preview-opacity,1);transform:rotate(-6deg);box-shadow:0 1px 1px rgba(15,23,42,.08)}
.toantin-lesson-toolkit-root .lt-pen-stroke-preview[data-tip="highlighter"]::before{border-radius:2px;transform:rotate(-4deg)}
.toantin-lesson-toolkit-root .lt-pen-prop-title{grid-area:title;font-size:.76rem;line-height:1.1}
.toantin-lesson-toolkit-root .lt-pen-engine-hint{grid-area:hint;display:inline-flex;align-items:center;min-height:19px;color:#64748b;font-size:.58rem;font-weight:700;white-space:nowrap}
.toantin-lesson-toolkit-root .lt-pen-property-group{display:flex;align-items:center;gap:.28rem;min-height:38px;padding-right:.44rem;border-right:1px solid #edf2f7}
.toantin-lesson-toolkit-root .lt-pen-property-group:last-child{border-right:0;padding-right:0}
.toantin-lesson-toolkit-root .lt-pen-prop-label{font-size:.61rem;color:#64748b;font-weight:750;margin-right:.08rem;white-space:nowrap}
.toantin-lesson-toolkit-root .lt-pen-color-row{display:flex;align-items:center;gap:.18rem;max-width:430px;overflow-x:auto;scrollbar-width:thin;padding:2px}
.toantin-lesson-toolkit-root .lt-pen-color{--swatch:#155eef;position:relative;width:25px;height:25px;flex:0 0 25px;border-radius:3px;border:1px solid #bcc9d7;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);padding:0;cursor:pointer}
.toantin-lesson-toolkit-root .lt-pen-color:hover{transform:translateY(-1px);box-shadow:0 2px 5px rgba(15,58,110,.16),inset 0 0 0 1px rgba(255,255,255,.55)}
.toantin-lesson-toolkit-root .lt-pen-color:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.toantin-lesson-toolkit-root .lt-pen-color.is-active{box-shadow:0 0 0 2px #fff,0 0 0 4px #2563eb}
.toantin-lesson-toolkit-root .lt-pen-color-check{display:none;position:absolute;inset:0;place-items:center;font-size:.73rem;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.65)}
.toantin-lesson-toolkit-root .lt-pen-color.is-active .lt-pen-color-check{display:grid}
.toantin-lesson-toolkit-root .lt-pen-more-color,.toantin-lesson-toolkit-root .lt-pen-width{min-height:30px;border:1px solid #d8e1eb;background:#fff;border-radius:7px;color:#334155;font-size:.62rem;font-weight:720}
.toantin-lesson-toolkit-root .lt-pen-more-color{height:30px;padding:0 .5rem;display:inline-flex;align-items:center;gap:.28rem;white-space:nowrap}
.toantin-lesson-toolkit-root .lt-pen-more-color:hover,.toantin-lesson-toolkit-root .lt-pen-width:hover{background:#f5f9ff;border-color:#a9c4e6}
.toantin-lesson-toolkit-root .lt-pen-native-color{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.toantin-lesson-toolkit-root .lt-pen-widths{display:flex;align-items:center;gap:.16rem}
.toantin-lesson-toolkit-root .lt-pen-width{width:31px;padding:0;display:grid;place-items:center;cursor:pointer}
.toantin-lesson-toolkit-root .lt-pen-width.is-active{border-color:#6d9eff;background:#eaf2ff;box-shadow:inset 0 0 0 1px rgba(37,99,235,.08)}
.toantin-lesson-toolkit-root .lt-pen-width:focus-visible{outline:2px solid #2563eb;outline-offset:1px}
.toantin-lesson-toolkit-root .lt-pen-width-dot{border-radius:50%;background:#24364a;display:block;max-width:18px;max-height:18px}
.toantin-lesson-toolkit-root .lt-pen-opacity{gap:.38rem;min-width:180px}
.toantin-lesson-toolkit-root .lt-pen-opacity input{width:110px;accent-color:#2563eb}
.toantin-lesson-toolkit-root .lt-pen-opacity-value{min-width:34px;font-size:.61rem;font-weight:750;color:#52677f;text-align:right}
.toantin-lesson-toolkit-root .lt-ink-shape{pointer-events:none;shape-rendering:geometricPrecision}
.toantin-lesson-toolkit-root .lt-ink-highlighter{mix-blend-mode:multiply}
@media(max-width:900px){.toantin-lesson-toolkit-root .lt-pen-palette-row{max-width:225px}.toantin-lesson-toolkit-root .lt-pen-property-summary{position:sticky;left:0;z-index:2;background:#fff}}
@media(max-width:600px){[data-toantin-host-demo] .lt-host-pen-workspace{position:fixed;left:8px!important;right:8px;top:auto!important;bottom:8px;width:auto;max-width:none;max-height:min(48vh,390px)}.toantin-lesson-toolkit-root.lt-pen-workspace{border-radius:15px;overflow:auto}.toantin-lesson-toolkit-root .lt-pen-preset-bar{min-height:74px;padding-right:4.6rem}.toantin-lesson-toolkit-root .lt-pen-preset{min-width:54px;width:54px;height:68px;grid-template-rows:58px 3px}.toantin-lesson-toolkit-root .lt-pen-properties{padding-bottom:.28rem}.toantin-lesson-toolkit-root .lt-pen-property-summary{min-width:138px}.toantin-lesson-toolkit-root .lt-pen-stroke-preview{width:38px}.toantin-lesson-toolkit-root .lt-pen-stroke-preview::before{width:36px}}
@media(prefers-reduced-motion:reduce){.toantin-lesson-toolkit-root .lt-pen-preset,.toantin-lesson-toolkit-root .lt-pen-color,[data-toantin-host-demo] .lt-host-pen-launcher{transition:none!important;transform:none!important}}


/* OWNER FB-20/21/22/23 — Smart Dock + artistic Pen Mini Rail.
   Host chrome only: Tool Core/state remain unchanged. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side]:not([data-dock-side="none"]){
  position:fixed!important;
  z-index:calc(var(--lt-host-layer-toolbar,700) + 5);
  transition:transform .28s cubic-bezier(.22,.78,.24,1),box-shadow .24s ease,opacity .18s ease;
  will-change:transform;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"]{
  transition-duration:.28s,.22s,.16s;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="true"]{
  transition-duration:.28s,.24s,.18s;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side]:not([data-dock-side="none"])[data-auto-hide="true"]::after{
  content:"";
  position:absolute;
  z-index:20;
  pointer-events:none;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(59,130,246,.18),#2563eb 24%,#7c3aed 55%,#06b6d4 82%,rgba(59,130,246,.18));
  box-shadow:0 0 10px rgba(37,99,235,.64),0 0 18px rgba(124,58,237,.30),inset 0 1px 0 rgba(255,255,255,.82);
  opacity:.88;
  filter:brightness(1) saturate(1);
  transition:box-shadow .26s ease,filter .26s ease,opacity .22s ease,transform .30s cubic-bezier(.16,1,.3,1);
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="top"][data-auto-hide="true"]::after,
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="bottom"][data-auto-hide="true"]::after{
  left:16%;right:16%;height:5px;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="top"][data-auto-hide="true"]::after{bottom:1px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="bottom"][data-auto-hide="true"]::after{top:1px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="left"][data-auto-hide="true"]::after,
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="right"][data-auto-hide="true"]::after{
  top:16%;bottom:16%;width:5px;
  background:linear-gradient(180deg,rgba(59,130,246,.18),#2563eb 24%,#7c3aed 55%,#06b6d4 82%,rgba(59,130,246,.18));
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="left"][data-auto-hide="true"]::after{right:1px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="right"][data-auto-hide="true"]::after{left:1px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-auto-hide-intent="true"]::after{
  opacity:1;
  filter:brightness(1.34) saturate(1.18);
  box-shadow:0 0 16px rgba(37,99,235,.92),0 0 30px rgba(124,58,237,.52),0 0 44px rgba(6,182,212,.24),inset 0 1px 0 rgba(255,255,255,.96);
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="top"][data-auto-hide="true"][data-auto-hide-intent="true"]::after,
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="bottom"][data-auto-hide="true"][data-auto-hide-intent="true"]::after{transform:scaleX(1.10)}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="left"][data-auto-hide="true"][data-auto-hide-intent="true"]::after,
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side="right"][data-auto-hide="true"][data-auto-hide-intent="true"]::after{transform:scaleY(1.10)}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="top"]{transform:translate3d(0,calc(-100% + 7px),0)!important}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="bottom"]{transform:translate3d(0,calc(100% - 7px),0)!important}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="left"]{transform:translate3d(calc(-100% + 7px),0,0)!important}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="right"]{transform:translate3d(calc(100% - 7px),0,0)!important}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="true"]{transform:translate3d(0,0,0)!important}


[data-toantin-host-demo] .lt-toolbar-auto-hide-rail{display:none}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"] > :not(.lt-toolbar-auto-hide-rail){pointer-events:none}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"] > .lt-toolbar-auto-hide-rail{
  display:block;position:absolute;z-index:31;border:0;background:transparent;padding:0;margin:0;cursor:pointer;touch-action:manipulation;border-radius:999px;
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="top"] > .lt-toolbar-auto-hide-rail,
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="bottom"] > .lt-toolbar-auto-hide-rail{left:8%;right:8%;height:18px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="top"] > .lt-toolbar-auto-hide-rail{bottom:-5px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="bottom"] > .lt-toolbar-auto-hide-rail{top:-5px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="left"] > .lt-toolbar-auto-hide-rail,
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="right"] > .lt-toolbar-auto-hide-rail{top:8%;bottom:8%;width:18px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="left"] > .lt-toolbar-auto-hide-rail{right:-5px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"][data-auto-hide-revealed="false"][data-dock-side="right"] > .lt-toolbar-auto-hide-rail{left:-5px}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"] > .lt-toolbar-auto-hide-rail:focus-visible{outline:2px solid rgba(37,99,235,.88);outline-offset:2px}
/* FB-20: minimized pen launcher becomes a thin 3D ink rail that hugs the Pen trigger. */
[data-toantin-host-demo] .lt-host-pen-launcher{
  --lt-pen-launcher-color:#155eef;
  position:fixed;
  left:var(--lt-pen-launcher-left,72px);
  top:var(--lt-pen-launcher-top,72px);
  z-index:calc(var(--lt-host-layer-panel,620) + 2);
  width:76px;
  height:10px;
  min-width:10px;
  min-height:10px;
  border:0;
  border-radius:999px 72% 999px 68%;
  background:
    linear-gradient(180deg,rgba(255,255,255,.86) 0,rgba(255,255,255,.20) 32%,rgba(15,23,42,.10) 100%),
    var(--lt-pen-launcher-color);
  color:var(--lt-pen-launcher-color);
  box-shadow:0 3px 9px rgba(15,58,110,.22),0 0 0 1px rgba(255,255,255,.82),0 0 12px color-mix(in srgb,var(--lt-pen-launcher-color) 36%,transparent);
  padding:0;
  cursor:pointer;
  overflow:visible;
  transform-origin:center;
  transition:filter .22s ease,transform .26s cubic-bezier(.22,.78,.24,1),box-shadow .22s ease,opacity .18s ease;
  touch-action:manipulation;
}
[data-toantin-host-demo] .lt-host-pen-launcher[data-rail-axis="vertical"]{
  width:10px;
  height:76px;
  border-radius:72% 999px 68% 999px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.86) 0,rgba(255,255,255,.20) 32%,rgba(15,23,42,.10) 100%),
    var(--lt-pen-launcher-color);
}
[data-toantin-host-demo] .lt-host-pen-launcher::before{
  content:"";
  position:absolute;
  inset:2px 7px auto 7px;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  filter:blur(.15px);
}
[data-toantin-host-demo] .lt-host-pen-launcher[data-rail-axis="vertical"]::before{inset:7px auto 7px 2px;width:2px;height:auto}
[data-toantin-host-demo] .lt-host-pen-launcher::after{
  content:"";
  position:absolute;
  left:10%;right:10%;bottom:-3px;height:4px;
  border-radius:50%;
  background:color-mix(in srgb,var(--lt-pen-launcher-color) 22%,transparent);
  filter:blur(3px);
  opacity:.75;
}
[data-toantin-host-demo] .lt-host-pen-launcher[data-rail-axis="vertical"]::after{left:auto;right:-3px;top:10%;bottom:10%;width:4px;height:auto}
[data-toantin-host-demo] .lt-host-pen-launcher:hover,
[data-toantin-host-demo] .lt-host-pen-launcher:focus-visible{
  filter:saturate(1.08) brightness(1.06);
  transform:scale(1.045);
  box-shadow:0 4px 13px rgba(15,58,110,.25),0 0 0 2px rgba(255,255,255,.9),0 0 16px color-mix(in srgb,var(--lt-pen-launcher-color) 46%,transparent);
  outline:none;
}
[data-toantin-host-demo] .lt-host-pen-launcher-icon,
[data-toantin-host-demo] .lt-host-pen-launcher-swatch{display:none!important}

@media(prefers-reduced-motion:reduce){
  [data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-dock-side]:not([data-dock-side="none"]),
  [data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-auto-hide="true"]::after,
  [data-toantin-host-demo] .lt-host-pen-launcher{transition:none!important}
}
@media(max-width:600px){
  [data-toantin-host-demo] .lt-host-pen-workspace{
    left:var(--lt-pen-ws-left,8px)!important;
    right:auto!important;
    top:var(--lt-pen-ws-top,96px)!important;
    bottom:auto!important;
    width:min(374px,calc(100vw - 16px));
    max-width:calc(100vw - 16px);
    max-height:min(48vh,390px);
  }
}

/* FINAL V1.1 — canonical fullscreen Close/Exit + Home command placement.
   Home is the first Host navigation command. The red X is fullscreen-only,
   travels with Smart Dock, and is the single application Exit control. */
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-home-command,
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-exit-canonical {
  flex:0 0 44px;
  inline-size:44px;
  min-inline-size:44px;
  block-size:44px;
  min-block-size:44px;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-home-command { order:-100; }
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-exit-canonical { order:1000; color:#b42318; }
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-exit-canonical[hidden] { display:none !important; }
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-exit-canonical::before {
  border-color:rgba(180,35,24,.18);
  background:linear-gradient(145deg,#fff7f6 0%,#ffe7e3 58%,#ffd5cf 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 3px 7px rgba(180,35,24,.16),0 1px 1px rgba(127,29,29,.08);
}
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-exit-canonical:hover:not(:disabled)::before,
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-exit-canonical:focus-visible::before {
  border-color:rgba(180,35,24,.36);
  background:linear-gradient(145deg,#fff 0%,#ffe0db 48%,#ffc8c0 100%);
  box-shadow:inset 0 1px 0 #fff,0 5px 11px rgba(180,35,24,.22),0 0 0 2px rgba(239,68,68,.08);
}
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-exit-canonical:disabled { opacity:.52; cursor:not-allowed; }
[data-toantin-host-demo] .lt-toolbar > .lt-toolbar-exit-canonical svg { stroke-width:2.2; }

/* Horizontal: Home is first command, X is the far-right terminal command.
   Vertical: V1.1 requires X at the top of Smart Dock; Home remains the first
   navigation/Tool command immediately after the canonical Exit chrome. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] > .lt-toolbar > .lt-toolbar-exit-canonical { order:-200; }
[data-toantin-host-demo] .lt-toolbar-wrap[data-orientation="vertical"] > .lt-toolbar > .lt-toolbar-home-command { order:-100; }

/* The superseded detached fullscreen quick dock must never become a second Exit. */
[data-toantin-host-demo] .lt-fullscreen-quick-dock { display:none !important; }

/* V1.1 final — keep canonical Home/Exit chrome reachable on narrow fullscreen
   horizontal Toolbars while the middle command rail remains scrollable. */
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-orientation="horizontal"] > .lt-toolbar > .lt-toolbar-home-command {
  position:sticky;
  left:0;
  z-index:4;
  background:rgba(248,251,255,.96);
}
[data-toantin-host-demo] .lt-toolbar-wrap[data-fullscreen-smart="true"][data-orientation="horizontal"] > .lt-toolbar > .lt-toolbar-exit-canonical {
  position:sticky;
  right:0;
  z-index:5;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,242,240,.98));
}
