/* Facility 9.1.2: compact, coherent controls, keeping source handlers intact. */
html body .lab-header .lab-main-menu > summary.toolbar-tab {
  box-sizing:border-box!important;min-height:36px!important;height:auto!important;
  padding:5px 8px!important;gap:5px!important;font-size:14px!important;
}
html body .lab-header .lab-main-menu .lab-symbol {width:15px!important;height:15px!important}
html body .lab-header .lab-main-menu .menu-chevron {width:11px!important;height:11px!important}
html body .lab-main-menu > .ll-anchored-panel {padding:5px!important;border-radius:9px!important}
html body .lab-main-menu > .ll-anchored-panel a {
  min-height:34px!important;padding:5px 7px!important;gap:6px!important;
  font-size:calc(14px * var(--lab-text-scale,1))!important;
}
html body .lab-main-menu > .ll-anchored-panel .lab-symbol {width:16px!important;height:16px!important;flex:none}
html body .lab-main-menu .lab-topic-picker select {height:34px!important;min-height:34px!important;margin:0 0 4px!important;font-size:13px!important}
html body .scope-header {
  display:flex!important;align-items:center!important;flex-flow:row wrap!important;
  justify-content:flex-start!important;column-gap:6px!important;row-gap:5px!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header > .scope-stage {
  flex:0 0 auto!important;margin:0 4px 0 0!important;width:auto!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header > .scope-example-controls {
  flex:0 1 auto!important;width:auto!important;max-width:100%!important;
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;
  margin:0!important;gap:4px!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header .scope-example-controls > .scope-example-menu {
  display:flex!important;flex:0 1 auto!important;max-width:calc(100% - 76px)!important;
  flex-direction:row!important;align-items:center!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header .scope-example-controls > .ll-support-control {
  flex:0 0 auto!important;margin:0!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header > .diagram-tools {
  display:flex!important;align-items:center!important;flex:0 1 auto!important;
  width:auto!important;max-width:100%!important;margin:0!important;gap:4px!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header :is(button,select,summary) {
  width:auto!important;max-width:100%!important;min-height:32px!important;
  font-size:calc(13px * var(--lab-text-scale,1))!important;
  padding:5px 7px!important;line-height:1.25!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header .scope-example-controls > button[data-example-step] {
  width:31px!important;min-width:31px!important;flex:0 0 31px!important;padding:3px!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header .scope-example-controls .scope-popout > summary {
  height:32px!important;min-height:32px!important;
  font:600 calc(13px * var(--lab-text-scale,1))/1.25 system-ui!important;
  padding:5px 8px!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header .ll-support-control > summary {
  background:#edf5ee!important;border-color:#b5cdbf!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header .scope-extension > summary {
  background:#f2f6f8!important;border-color:#c7d8dd!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header .scope-popout > summary::after {
  content:'⌄'!important;display:inline-block!important;margin-left:5px!important;
  font:600 13px/1 system-ui!important;vertical-align:1px!important;
}
html body :is(#ll2-app,#lles,#llpt) .scope-header .scope-popout[open] > summary::after {transform:rotate(180deg)}
html body .ll-anchored-panel {min-width:0!important;max-width:calc(100vw - 16px)!important}
html body .example-access > .ll-anchored-panel {resize:both!important;overflow:auto!important}
html body .ll-writing-starter {
  padding:8px 10px;margin:8px 0 0;border-left:3px solid #72aa85;
  background:#f2f8ed;border-radius:5px;font-size:calc(13px * var(--lab-text-scale,1));
}
html body .ll-writing-starter strong {display:block;margin-bottom:2px}
html body .ll-writing-starter p {margin:0!important;line-height:1.45!important}
html body .chapter-practice {
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;
  gap:5px!important;margin:8px 0!important;padding:7px 9px!important;
}
html body .chapter-practice h2 {font-size:14px!important;margin:0 8px 0 0!important;white-space:nowrap}
html body .chapter-practice :is(.ll-review-picker,.ll-more-practice) {margin:0!important}
html body .chapter-practice .ll-review-picker {display:flex;min-width:0;flex:0 1 220px}
html body .chapter-practice .ll-review-picker select {min-width:0;width:100%;max-width:100%;height:34px!important;font-size:13px!important}
html body .chapter-practice > button {min-height:34px!important;font-size:13px!important;padding:5px 9px!important}
html body .chapter-practice .ll-more-practice {flex:0 1 auto}
html body .chapter-practice .ll-more-practice > summary {cursor:pointer;padding:6px 8px;border:1px solid #c7d9d0;border-radius:7px;font-size:13px}
html body .chapter-practice .ll-more-practice[open] {flex-basis:100%}
html body .chapter-practice .ll-more-practice .practice-pack {width:auto!important;display:inline-flex!important;flex-wrap:wrap!important;margin:3px!important}
html body #atlas-check-dialog .check-dialog-header {
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:5px!important;
}
html body #atlas-check-dialog .check-dialog-header > div:first-child {flex:1 1 160px;min-width:0}
html body #atlas-check-dialog .dialog-reader {
  position:static!important;order:2!important;display:flex!important;flex:0 1 auto!important;
  flex-wrap:wrap!important;align-items:center!important;margin:0!important;padding:0!important;
  width:auto!important;min-width:0!important;background:transparent!important;
}
html body #atlas-check-dialog .dialog-reader > button,
html body #atlas-check-dialog .ll-practice-audio > summary {min-height:32px!important;font-size:13px!important;padding:5px 8px!important}
html body #atlas-check-dialog .ll-practice-audio {position:relative}
html body #atlas-check-dialog .ll-practice-audio > summary {
  display:list-item;border:1px solid #bbcec6;border-radius:7px;background:#eef6f2;cursor:pointer;
}
html body #atlas-check-dialog .ll-practice-audio-panel {display:flex;flex-wrap:wrap;gap:5px}
html body #atlas-check-dialog .ll-practice-audio-panel button {width:auto!important;min-height:32px!important;font-size:13px!important}
html body #atlas-check-dialog .check-dialog-header > .dialog-close {order:3!important;min-height:32px!important}
html body #atlas-check-dialog .practice-set-nav {display:flex!important;align-items:center!important;margin:4px 0!important}
html body #atlas-check-dialog .practice-set-nav .ll-set-picker {min-width:min(240px,100%);margin:0}
html body #atlas-check-dialog .practice-set-nav select {width:100%;min-height:34px;font-size:13px}
html body #atlas-check-dialog .dialog-question-nav {display:flex!important;flex-flow:row wrap!important;gap:3px!important;margin:3px 0!important}
html body #atlas-check-dialog .dialog-question-nav button {
  flex:0 0 auto!important;width:auto!important;min-width:31px!important;
  min-height:32px!important;padding:3px 5px!important;font-size:13px!important;
}
html body #atlas-check-dialog .dialog-question-nav small {font-size:10px!important;line-height:1!important}
html body #atlas-check-dialog .stepper {margin:4px 0!important;padding:0!important;font-size:12px!important}
html body #atlas-check-dialog .paper-panel {padding:9px!important}
html body #atlas-check-dialog .check-dialog-body {padding:8px!important}
html body .rubric-scope-dialog {
  box-sizing:border-box;width:min(650px,calc(100vw - 20px))!important;
  max-width:calc(100vw - 20px)!important;max-height:min(72dvh,560px)!important;
  padding:12px!important;border-radius:13px!important;
}
html body .rubric-scope-layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important}
html body .rubric-scope-dialog h2 {font-size:1.2rem!important}
html body .rubric-scope-dialog::backdrop {background:#102c2966!important;backdrop-filter:blur(2px)!important}
html body .draft-task-toolbar,html body .draft-model-heading,html body .draft-model-heading .draft-model-tabs,
html body .draft-diagram-options {
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:5px!important;
}
html body .draft-task-toolbar {margin:6px 0!important;padding:6px!important}
html body .draft-task-toolbar > div:first-child {flex:1 1 auto;min-width:130px}
html body .draft-task-toolbar h1 {margin:0!important;font-size:1.22rem!important}
html body .draft-task-toolbar .shape-tabs {display:flex!important;flex-flow:row wrap!important;margin:0!important;gap:4px!important}
html body .draft-task-toolbar :is(button,select) {min-height:32px!important;padding:5px 7px!important;font-size:13px!important}
html body .draft-model-heading > h2 {font-size:1.05rem!important;margin:0!important}
html body .draft-model-meta {font-size:12px!important;margin:0!important}
html body .draft-model-heading .draft-model-tabs {margin-left:auto!important}
html body .draft-model-heading .draft-model-tabs button {margin:0!important;min-height:32px!important;padding:5px 8px!important;font-size:13px!important}
html body .draft-diagram-options {margin:5px 0!important}
html body .draft-diagram-options label {min-width:0!important;margin:0!important;font-size:12px!important}
html body .draft-diagram-options select {max-width:180px!important;min-height:32px!important;font-size:12px!important}
html body .sound-topic-nav.ll-has-picker {
  display:flex!important;align-items:center!important;position:sticky!important;
  top:var(--lab-header-height,76px)!important;z-index:20!important;
  width:max-content!important;max-width:100%!important;padding:5px!important;margin:5px 0!important;
  background:#f5faf8!important;border:1px solid #c7d8d0;border-radius:9px;
}
html body .sound-topic-nav.ll-has-picker > a {display:none!important}
html body .sound-topic-nav .ll-sound-picker {display:block;min-width:0;margin:0!important}
html body .sound-topic-nav .ll-sound-picker select {width:min(320px,calc(100vw - 40px));max-width:100%;min-height:34px!important;font-size:13px!important}
html body .sound-hero {padding:8px!important;margin:5px 0!important;min-height:0!important}
html body .sound-hero h1 {margin:0!important;font-size:1.3rem!important}
html body .word-filters {display:flex!important;flex-flow:row wrap!important;align-items:end!important;gap:5px!important;margin:5px 0!important}
html body .word-filters > label {flex:1 1 145px!important;min-width:0!important;margin:0!important;font-size:12px!important}
html body .word-filters > label:first-child {flex:2 1 210px!important}
html body .word-filters :is(input,select) {width:100%!important;min-height:34px!important;padding:5px 8px!important;font-size:13px!important}
html body .word-library-summary {padding:5px 8px!important;margin:3px 0!important;font-size:13px!important}
html body .ll-time-note {
  position:absolute;z-index:4;max-width:min(250px,90%);padding:5px 8px;
  border:1px solid #a4c6b1;border-radius:7px;background:#f1f8e9;
  box-shadow:0 3px 12px #173f3922;color:#244e3d;font:600 12px/1.3 system-ui;
  pointer-events:none;
}
html body .ll-time-note[hidden] {display:none!important}
html body :is(#ll2-app,#lles,#llpt) .phrase-experiment:has(.ll-time-note) {position:relative!important}
html body :is(#ll2-app,#lles,#llpt) [data-parts=false] .phrase-token.ll-plural-mark .word-unsplit {display:none!important}
html body :is(#ll2-app,#lles,#llpt) [data-parts=false] .phrase-token.ll-plural-mark .word-split {display:inline!important}
html body :is(#ll2-app,#lles,#llpt) .phrase-token.ll-plural-mark .morpheme-suffix {
  fill:#a13761!important;text-decoration:underline;text-decoration-thickness:1px;
}
html body .ll-anchored-panel:popover-open,html body details[open] > :is(div,section,nav,ul,ol):not(.ll-anchored-panel),
html body .rubric-scope-dialog[open],html body .ll-reader-options:not([hidden]) {animation:llGentleAppear .16s ease-out both}
@keyframes llGentleAppear {from{opacity:.25}to{opacity:1}}
@media (max-width:700px) {
  html body .lab-header .lab-main-menu > summary.toolbar-tab {min-height:38px!important;padding:5px 7px!important}
  html body .lab-main-menu > .ll-anchored-panel a {min-height:40px!important}
  html body :is(#ll2-app,#lles,#llpt) .scope-header > .scope-stage {flex:0 0 auto!important}
  html body :is(#ll2-app,#lles,#llpt) .scope-header > .scope-example-controls {flex:1 1 auto!important}
  html body #atlas-check-dialog .check-dialog-header > div:first-child {flex-basis:55%!important}
  html body #atlas-check-dialog .dialog-reader {order:4!important;width:100%!important}
  html body .rubric-scope-layout {grid-template-columns:minmax(0,1fr)!important}
  html body .draft-model-heading .draft-model-tabs {margin-left:0!important}
}
@media (prefers-reduced-motion:reduce) {
  html body .ll-anchored-panel,html body details[open] > :is(div,section,nav,ul,ol),
  html body .rubric-scope-dialog,html body .ll-reader-options {animation:none!important;transition:none!important}
}
/* 9.1.3: align containers as well as their controls. */
html body .sound-topic-nav.ll-sound-follow {
  display:flex!important;flex-flow:row nowrap!important;align-items:center!important;
  position:sticky!important;top:var(--lab-header-height,76px)!important;z-index:25!important;
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  gap:4px!important;padding:6px!important;margin:6px 0 12px!important;
  overflow-x:auto!important;scrollbar-width:thin;overscroll-behavior-x:contain;
  border:1px solid #93bcae!important;border-radius:10px!important;
  background:#f5faf3f5!important;box-shadow:0 4px 14px #1e514419;
}
html body .sound-topic-nav.ll-sound-follow > a {
  display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;
  min-height:34px!important;padding:5px 9px!important;margin:0!important;
  border-radius:7px!important;font-size:13px!important;white-space:nowrap!important;
}
html body .sound-topic-nav.ll-sound-follow > a[aria-current=page] {background:#19594f!important;color:#fff!important}
html body :is(#ll2-app,#lles,#llpt) .sound-explorer {
  padding:12px!important;margin:8px 0!important;border-radius:15px!important;
  background:linear-gradient(125deg,#fff 60%,#f0f8e4)!important;
  border:1px solid #b7cdbd!important;box-shadow:0 6px 22px #24584a0d!important;
}
html body :is(#ll2-app,#lles,#llpt) .sound-explorer > .section-title,
html body :is(#ll2-app,#lles,#llpt) .sound-studio > .section-title {
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;
  gap:5px!important;margin:0 0 7px!important;padding:0!important;min-height:0!important;
}
html body :is(#ll2-app,#lles,#llpt) .sound-explorer > .section-title h2,
html body :is(#ll2-app,#lles,#llpt) .sound-studio > .section-title h2 {font-size:19px!important;margin:0 auto 0 0!important}
html body :is(#ll2-app,#lles,#llpt) .sound-explorer > .section-title a {font-size:12px!important;max-width:none!important;margin:0!important}
html body :is(#ll2-app,#lles,#llpt) .sound-explorer > p.fine {margin:3px 0 7px!important;font-size:12px!important}
html body :is(#ll2-app,#lles,#llpt) .sound-keyboard {gap:5px!important;margin:6px 0!important}
html body :is(#ll2-app,#lles,#llpt) .sound-keyboard button {
  min-height:50px!important;padding:5px!important;border-radius:8px!important;
  border:1px solid #c7d9cb!important;background:#fff!important;
}
html body :is(#ll2-app,#lles,#llpt) .sound-keyboard button[aria-pressed=true] {background:#e5f2b9!important;border-color:#80a942!important;box-shadow:inset 0 -3px #80a942!important}
html body :is(#ll2-app,#lles,#llpt) .sound-keyboard button small {margin:1px 0 0!important;font-size:11px!important}
html body :is(#ll2-app,#lles,#llpt) .sound-feature {
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;justify-content:flex-start!important;
  gap:8px!important;padding:9px 12px!important;margin:6px 0!important;min-height:0!important;
  border-radius:9px!important;background:linear-gradient(105deg,#e3f1d7,#e8f5f2)!important;
}
html body :is(#ll2-app,#lles,#llpt) .sound-feature .ipa-symbol {font-size:30px!important;margin:0!important;line-height:1.1!important}
html body :is(#ll2-app,#lles,#llpt) .sound-tags {display:flex!important;gap:4px!important;flex-wrap:wrap!important;margin:0!important}
html body :is(#ll2-app,#lles,#llpt) .sound-studio {padding:10px!important;margin:8px 0!important;border-radius:13px!important;background:#f6fafb!important}
html body :is(#ll2-app,#lles,#llpt) .sound-studio-grid {display:block!important;margin:0!important}
html body :is(#ll2-app,#lles,#llpt) .sound-studio-grid > [data-mouth-panel] {max-width:680px;margin:0 auto}
html body :is(#ll2-app,#lles,#llpt) .mouth-frame {position:relative!important;border-radius:11px!important;background:linear-gradient(135deg,#143e46,#1e5558)!important}
html body :is(#ll2-app,#lles,#llpt) .mouth-frame > svg {max-height:280px!important;width:100%!important;margin:0!important}
html body :is(#ll2-app,#lles,#llpt) .mouth-caption {min-height:0!important;padding:7px 12px!important;margin:0!important;font-size:13px!important;line-height:1.4!important}
html body .ll-sound-tools {display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:4px!important;margin:0!important}
html body .ll-compact-popout {position:relative;margin:0!important;padding:0!important;border:0!important;background:none!important}
html body .ll-compact-popout > summary {list-style:none!important;display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:32px!important;box-sizing:border-box!important;padding:5px 8px!important;border:1px solid #b4cec4!important;border-radius:7px!important;background:#eef6f2!important;color:#234f45!important;font:600 13px/1.3 system-ui!important;cursor:pointer}
html body .ll-compact-popout > summary::-webkit-details-marker {display:none}
html body .ll-compact-popout > summary::after {content:'⌄';font-size:12px}
html body .ll-compact-popout[open] > summary::after {transform:rotate(180deg)}
html body .ll-sound-tools > button {min-height:32px!important;width:auto!important;margin:0!important;padding:5px 9px!important;font-size:13px!important;background:#dcedb8!important;color:#21473c!important;border:1px solid #a8c78a!important}
html body .ll-compact-panel :is(p,label) {font-size:13px!important;line-height:1.45!important;margin:5px 0!important}
html body .ll-compact-panel .sound-console {margin:0!important;padding:0!important;border:0!important;background:none!important}
html body .ll-compact-panel .mouth-controls {display:flex!important;flex-flow:row wrap!important;gap:4px!important;margin:5px 0!important}
html body .ll-compact-panel .mouth-controls button {flex:1 1 auto!important;min-width:40px!important;min-height:34px!important;font-size:12px!important;padding:5px!important}
html body .ll-compact-panel audio {display:block;width:100%!important;max-width:100%!important;margin:5px 0!important}
html body .ll-compact-panel :is(.sound-feature-notes,.anatomy-inspector) {display:block!important;background:none!important;color:#234f45!important;margin:0!important;padding:0!important;border:0!important}
html body .ll-compact-panel select {max-width:100%!important;width:auto!important;min-height:32px!important;font-size:13px!important}
html body .ll-anatomy-menu {position:absolute!important;top:7px!important;right:7px!important;z-index:3}
html body .ll-sound-status:empty {display:none!important}
html body .ll-sound-status {margin:2px 0 5px!important;font-size:12px!important}
html body #atlas-check-dialog .check-dialog-header > .dialog-close {
  display:inline-grid!important;place-items:center!important;flex:0 0 32px!important;
  width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;
  min-height:32px!important;padding:0!important;margin:0 0 0 3px!important;font-size:24px!important;line-height:1!important;
}
html body #atlas-check-dialog .check-dialog-header {padding:7px 9px!important}
html body #atlas-check-dialog .ll-practice-route {display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:5px 8px!important;padding:4px 0!important;margin:0 0 5px!important;border-bottom:1px solid #d9e4dc}
html body #atlas-check-dialog .ll-practice-route > :is(.practice-set-nav,.dialog-question-nav,.stepper) {display:flex!important;flex:0 1 auto!important;align-items:center!important;width:auto!important;min-width:0!important;gap:3px!important;margin:0!important;padding:0!important}
html body #atlas-check-dialog .ll-practice-route .ll-set-picker {min-width:0!important;width:auto!important}
html body #atlas-check-dialog .ll-practice-route select {max-width:230px!important;min-height:32px!important;font-size:12px!important}
html body #atlas-check-dialog .ll-practice-route .stepper {margin-left:auto!important;font-size:12px!important;white-space:nowrap!important}
html body #atlas-check-dialog .ll-practice-route [hidden],html body #atlas-check-dialog .paper-panel > .eyebrow[hidden] {display:none!important}
html body #atlas-check-dialog .ll-source-tools {position:relative!important;padding:6px 8px!important;margin:4px 0 7px!important}
html body #atlas-check-dialog .ll-source-tools > summary {min-height:30px!important;padding:3px 120px 3px 0!important;font-size:13px!important}
html body #atlas-check-dialog .ll-source-tools .reading-diagram-bar {position:absolute!important;top:5px!important;right:7px!important;margin:0!important;padding:0!important;gap:3px!important}
html body #atlas-check-dialog .ll-source-tools .reading-diagram-bar button {min-height:28px!important;padding:3px 6px!important;font-size:12px!important}
html body #atlas-check-dialog .ll-source-tools [data-reading-state]:not(:empty) {position:absolute;right:0;top:100%;max-width:250px;background:white;padding:3px}
html body :is(#ll2-app,#lles,#llpt) .data-tabs {display:flex!important;flex-flow:row wrap!important;gap:4px!important;padding:5px!important;margin:6px 0 12px!important;width:fit-content!important;max-width:100%!important}
html body :is(#ll2-app,#lles,#llpt) .data-tabs a {display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:6px 12px!important;border-radius:8px!important;font-size:14px!important;font-weight:650!important;text-decoration:none!important;color:#365a50!important;background:transparent!important}
html body :is(#ll2-app,#lles,#llpt) .data-tabs a[aria-current=page] {background:#19554c!important;color:#fff!important}
@media(max-width:700px){
 html body #atlas-check-dialog .check-dialog-header .dialog-reader {width:auto!important;order:2!important;flex:0 1 auto!important}
 html body #atlas-check-dialog .check-dialog-header > div:first-child {flex:1 1 130px!important}
 html body #atlas-check-dialog .ll-practice-route .stepper {margin-left:0!important}
 html body .sound-topic-nav.ll-sound-follow {top:var(--lab-header-height,76px)!important}
 html body :is(#ll2-app,#lles,#llpt) .sound-studio > .section-title h2 {font-size:17px!important}
}

