.layout-button-row {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.layout-button-row .choice-button {
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
}

.size-button {
  font-size: 0.95rem;
}

.orientation-button {
  aspect-ratio: auto;
  min-height: 48px;
  padding: 0;
}

.orientation-icon {
  background: currentColor;
  border: 0;
  border-radius: 0;
  display: block;
  height: 24px;
  position: static;
  width: 24px;
  -webkit-mask: var(--icon-url) center / contain no-repeat;
  mask: var(--icon-url) center / contain no-repeat;
}

.orientation-icon::after {
  content: none;
}

.orientation-icon-portrait {
  --icon-url: url("icons/portrait.svg?v=20260516b");
}

.orientation-icon-landscape {
  --icon-url: url("icons/landscape.svg?v=20260516b");
  width: 26px;
}

.history-search-row {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 44px;
}

.history-search-row .search-box {
  min-width: 0;
}

.history-search-row input {
  min-height: 44px;
}

.history-search-row .filter-toggle-button {
  min-height: 44px;
  padding: 0;
  width: 44px;
}

#showFolderCreateButton {
  align-items: center;
  background: var(--accent);
  border-color: var(--accent);
  color: #ffffff;
  display: inline-flex;
  gap: 8px;
}

#showFolderCreateButton:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  color: #ffffff;
}

.download-icon,
.favorite-icon,
.trash-icon,
.ui-icon {
  background: currentColor;
  display: inline-block;
  height: 18px;
  line-height: 1;
  position: relative;
  width: 18px;
  -webkit-mask: var(--icon-url) center / contain no-repeat;
  mask: var(--icon-url) center / contain no-repeat;
}

.download-icon {
  --icon-url: url("icons/download.svg?v=20260516b");
}

.favorite-icon {
  --icon-url: url("icons/star.svg?v=20260516b");
}

.trash-icon {
  --icon-url: url("icons/trash-xmark.svg?v=20260516b");
}

.settings-sliders-icon {
  --icon-url: url("icons/settings-sliders.svg?v=20260516b");
}

.add-folder-icon {
  --icon-url: url("icons/add-folder.svg?v=20260516b");
}

.disk-icon {
  --icon-url: url("icons/disk.svg?v=20260516b");
}

.download-icon::before,
.download-icon::after,
.favorite-icon::before,
.favorite-icon::after,
.trash-icon::before,
.trash-icon::after,
.filter-icon::before,
.filter-icon::after {
  box-shadow: none !important;
  content: none !important;
  display: none !important;
}

.favorite-action.is-favorite .favorite-icon {
  color: var(--accent);
}

@media (min-width: 760px) {
  .history-panel {
    z-index: 80;
  }

  .history-expand-button,
  .app-shell.history-expanded .history-expand-button {
    height: 72px;
    left: 0;
    right: auto;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 42px;
    z-index: 1000;
  }

  .app-shell.history-expanded .history-panel {
    z-index: 220;
  }

  .app-shell.history-expanded .history-list {
    gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
  }

  .app-shell.history-expanded .history-item {
    align-content: start;
    gap: 8px;
    padding: 9px;
  }

  .app-shell.history-expanded .history-open {
    align-content: start;
    gap: 8px;
  }

  .app-shell.history-expanded .history-thumb {
    max-height: 150px;
    object-fit: contain;
  }

  .app-shell.history-expanded .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1;
    max-height: 110px;
  }

  .app-shell.history-expanded .history-thumb.is-portrait {
    aspect-ratio: 1 / 1.414;
    max-height: 160px;
  }

  .app-shell.history-expanded .history-info {
    gap: 3px;
  }

  .app-shell.history-expanded .history-info strong {
    -webkit-line-clamp: 2;
    font-size: 13px;
    line-height: 1.18;
  }

  .app-shell.history-expanded .history-info small {
    font-size: 10.5px;
    line-height: 1.24;
    white-space: normal;
  }

  .app-shell.history-expanded .history-actions {
    display: flex;
    gap: 7px;
    grid-template-columns: none;
    justify-content: start;
  }

  .app-shell.history-expanded .history-actions .icon-action {
    aspect-ratio: auto;
    flex: 0 0 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    width: 38px;
  }
}

@media (max-width: 759px) {
  .layout-button-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.style-block label {
  display: block;
}

.style-select-row {
  align-items: stretch;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr);
}

.selected-palette-pill {
  align-items: center;
  background: var(--accent-soft);
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: 14px;
  color: var(--accent-dark);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 850;
  gap: 7px;
  justify-content: flex-start;
  max-width: none;
  min-height: 46px;
  padding: 8px 10px;
  width: 100%;
}

.selected-palette-pill[hidden],
.palette-modal[hidden] {
  display: none !important;
}

.selected-palette-pill span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.selected-palette-pill .palette-swatch {
  flex: 0 0 24px;
  height: 24px;
  width: 24px;
}

.palette-modal {
  align-items: center;
  background: rgba(15, 23, 42, 0.36);
  backdrop-filter: blur(8px);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  padding: 20px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 600;
}

.palette-dialog {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
  max-height: min(720px, 88vh);
  max-width: 620px;
  overflow: auto;
  padding: 20px;
  width: min(100%, 620px);
}

.palette-dialog-heading {
  align-items: start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 16px;
}

.palette-dialog-heading h3 {
  font-size: 1.35rem;
  line-height: 1.1;
}

.palette-dialog .palette-picker {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  margin: 0;
}

.palette-dialog .palette-option {
  min-height: 54px;
}

.folder-tools {
  gap: 9px;
  align-self: start;
  overflow: visible;
}

.advanced-settings {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.98));
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 10px;
}

.advanced-settings summary {
  align-items: center;
  color: var(--accent-dark);
  cursor: pointer;
  display: flex;
  font-weight: 850;
  gap: 9px;
  list-style: none;
  min-height: 42px;
  padding: 0 6px;
}

.advanced-settings summary::-webkit-details-marker {
  display: none;
}

.advanced-settings summary::after {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
  height: 8px;
  margin-left: auto;
  transform: rotate(45deg);
  transition: transform 0.16s ease;
  width: 8px;
}

.advanced-settings[open] summary::after {
  transform: rotate(225deg);
}

.advanced-settings > p {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  padding: 2px 6px 10px;
}

.advanced-settings .select-grid {
  grid-template-columns: 1fr;
}

.advanced-settings select {
  overflow: hidden;
  padding-right: 38px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.folder-create-row,
.folder-move-row {
  align-items: stretch;
}

.folder-create-row {
  grid-template-columns: minmax(0, 1fr) minmax(82px, auto);
}

.folder-move-row {
  grid-template-columns: minmax(0, 1fr) 44px;
}

.folder-move-row select {
  grid-column: 1 / -1;
  min-width: 0;
}

.folder-main-row,
.folder-create-row,
.folder-move-row {
  min-height: max-content;
}

.history-panel {
  grid-template-rows: auto auto auto auto minmax(0, 1fr);
}

.folder-move-row #moveSelectedButton {
  grid-column: 1;
}

.folder-move-row .small,
.folder-create-row .small {
  min-width: 0;
}

.folder-move-row .icon-only-button {
  width: 44px;
}

.library-tools {
  padding-top: 8px;
}

.library-tools .filter-grid {
  gap: 8px;
}

.bulk-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bulk-actions .icon-only-button {
  min-height: 42px;
}

@media (min-width: 760px) {
  .app-shell.history-expanded .history-panel {
    padding: 18px;
    overflow-x: hidden;
    width: min(860px, calc(100vw - 230px));
  }

  .app-shell.history-expanded .folder-tools {
    padding: 14px;
  }

  .app-shell.history-expanded .folder-main-row {
    grid-template-columns: minmax(180px, 1fr) minmax(108px, auto);
  }

  .app-shell.history-expanded .folder-create-row {
    grid-template-columns: minmax(180px, 1fr) 92px;
  }

  .app-shell.history-expanded .folder-move-row {
    grid-template-columns: minmax(0, 1fr) 44px;
  }

  .app-shell.history-expanded .folder-move-row select,
  .app-shell.history-expanded .history-search-row input,
  .app-shell.history-expanded .library-tools select {
    font-size: 0.92rem;
  }

  .app-shell.history-expanded .history-heading h2 {
    font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  }

  .app-shell.history-expanded .history-count,
  .app-shell.history-expanded #historyCount {
    height: 38px;
    min-width: 38px;
  }

  .app-shell.history-expanded .library-tools {
    padding: 12px;
  }

  .app-shell.history-expanded .history-list {
    grid-template-columns: repeat(auto-fill, minmax(178px, 1fr));
  }
}

.history-thumb {
  object-fit: contain !important;
}

.history-thumb.is-landscape {
  aspect-ratio: 1.414 / 1;
}

.history-thumb.is-portrait {
  aspect-ratio: 1 / 1.414;
}

@media (min-width: 760px) {
  .app-shell:not(.admin-mode):not(.history-expanded) {
    grid-template-columns: minmax(330px, 420px) minmax(0, 1fr) 76px;
  }

  .app-shell:not(.history-expanded) .history-panel {
    align-content: start;
    background: rgba(255, 255, 255, 0.9);
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 100vh;
    overflow: visible;
    padding: 18px 8px;
    width: 76px;
    z-index: 120;
  }

  .app-shell:not(.history-expanded) .history-heading {
    border-bottom: 0;
    display: grid;
    justify-items: center;
    padding: 0;
  }

  .app-shell:not(.history-expanded) .history-heading h2,
  .app-shell:not(.history-expanded) .folder-tools,
  .app-shell:not(.history-expanded) .history-search-row,
  .app-shell:not(.history-expanded) .library-tools,
  .app-shell:not(.history-expanded) .history-empty,
  .app-shell:not(.history-expanded) .history-check,
  .app-shell:not(.history-expanded) .history-thumb,
  .app-shell:not(.history-expanded) .history-info,
  .app-shell:not(.history-expanded) .history-actions {
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-heading-actions {
    display: grid;
    justify-items: center;
  }

  .app-shell:not(.history-expanded) #historyCount {
    height: 38px;
    min-width: 38px;
  }

  .app-shell:not(.history-expanded) .history-list {
    align-content: start;
    display: grid;
    gap: 10px;
    justify-items: center;
    padding-top: 16px;
  }

  .app-shell:not(.history-expanded) .history-item {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 22px rgba(19, 33, 43, 0.08);
    height: 48px;
    padding: 0;
    place-items: center;
    width: 48px;
  }

  .app-shell:not(.history-expanded) .history-item.is-active {
    background: var(--accent-soft);
    border-color: var(--accent);
  }

  .app-shell:not(.history-expanded) .history-open {
    align-items: center;
    color: var(--accent-dark);
    display: grid;
    height: 100%;
    justify-items: center;
    width: 100%;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    background: currentColor;
    content: "";
    display: block;
    height: 24px;
    -webkit-mask: url("icons/disk.svg?v=20260516b") center / contain no-repeat;
    mask: url("icons/disk.svg?v=20260516b") center / contain no-repeat;
    width: 24px;
  }

  .app-shell:not(.history-expanded) .history-expand-button,
  .app-shell.history-expanded .history-expand-button {
    box-shadow: 0 12px 26px rgba(19, 33, 43, 0.18);
    height: 78px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    z-index: 3000;
  }

  .app-shell.history-expanded .history-panel {
    overflow-x: visible;
  }
}

@media (max-width: 520px) {
  .style-select-row,
  .folder-main-row,
  .folder-create-row,
  .folder-move-row {
    grid-template-columns: 1fr;
  }

  .selected-palette-pill {
    max-width: none;
    width: 100%;
  }

  .folder-move-row .icon-only-button {
    width: 100%;
  }
}

/* Drawer polish v2 */
.layout-options-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.layout-options-grid fieldset {
  min-width: 0;
}

.layout-options-grid .layout-button-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.layout-options-grid .choice-button {
  min-height: 52px;
}

.library-tools .filter-grid {
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 42px 42px;
}

.library-tools .filter-grid > .icon-only-button {
  aspect-ratio: 1;
  min-height: 42px;
  min-width: 42px;
  padding: 0;
  width: 42px;
}

.library-tools .filter-grid > .icon-only-button:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

.history-actions {
  align-items: center;
  display: flex !important;
  gap: 10px;
  justify-content: center;
}

.history-actions .icon-action {
  aspect-ratio: 1;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--accent-dark);
  flex: 0 0 38px;
  min-height: 38px;
  padding: 0 !important;
  width: 38px;
}

.history-actions .icon-action:hover {
  background: var(--accent-soft) !important;
}

.history-actions .delete-action {
  color: var(--danger) !important;
}

.favorite-action.is-favorite,
.favorite-action.is-favorite .favorite-icon {
  color: #f59e0b !important;
}

.favorite-action.is-favorite .favorite-icon {
  filter: drop-shadow(0 2px 4px rgba(245, 158, 11, 0.28));
}

@media (min-width: 760px) {
  .app-shell:not(.admin-mode) {
    grid-template-columns: 420px minmax(520px, 1fr) 76px !important;
    min-width: 1016px;
    position: relative;
  }

  .control-panel {
    box-sizing: border-box;
    max-width: 420px;
    min-width: 420px;
    width: 420px;
  }

  .app-shell.history-expanded:not(.admin-mode) {
    grid-template-columns: 420px minmax(520px, 1fr) 76px !important;
  }

  .app-shell.history-expanded:not(.admin-mode)::before {
    background: rgba(15, 23, 42, 0.18);
    content: "";
    inset: 0;
    pointer-events: none;
    position: fixed;
    z-index: 180;
  }

  .app-shell.history-expanded .history-panel {
    --history-drawer-width: min(800px, calc(100vw - 96px));
    box-shadow: -28px 0 80px rgba(15, 23, 42, 0.24);
    overflow-x: visible !important;
    width: var(--history-drawer-width) !important;
    z-index: 5000 !important;
  }

  .app-shell:not(.history-expanded) .history-panel {
    overflow: visible;
  }

  .app-shell.history-expanded .history-expand-button {
    left: auto !important;
    position: fixed !important;
    right: calc(var(--history-drawer-width, min(800px, calc(100vw - 96px))) - 22px);
    top: 50%;
    transform: translate(50%, -50%) !important;
    z-index: 7000 !important;
  }

  .app-shell:not(.history-expanded) .history-item {
    height: 66px;
    width: 58px;
  }

  .app-shell:not(.history-expanded) .history-open {
    padding: 0;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-thumb {
    background: #ffffff;
    border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(19, 33, 43, 0.08);
    display: block !important;
    object-fit: contain !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-portrait {
    height: 54px;
    width: 38px;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-landscape {
    height: 40px;
    width: 54px;
  }

  .app-shell.history-expanded .history-actions {
    display: flex !important;
    justify-content: center;
  }
}

@media (max-width: 980px) and (min-width: 760px) {
  .app-shell.history-expanded .history-panel {
    --history-drawer-width: min(720px, calc(100vw - 80px));
  }

  .library-tools .filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) 42px 42px;
  }
}

@media (max-width: 620px) {
  .layout-options-grid,
  .library-tools .filter-grid {
    grid-template-columns: 1fr;
  }

  .library-tools .filter-grid > .icon-only-button {
    width: 100%;
  }
}

/* Drawer polish v3: keep the rail pinned to the viewport at medium widths. */
@media (min-width: 760px) {
  .app-shell:not(.admin-mode),
  .app-shell.history-expanded:not(.admin-mode) {
    grid-template-columns: 420px minmax(0, 1fr) !important;
    min-width: 0 !important;
    overflow-x: clip;
  }

  .output-panel {
    padding-right: 96px;
  }

  .history-panel,
  .app-shell.history-expanded .history-panel,
  .app-shell:not(.history-expanded) .history-panel {
    border-left: 1px solid var(--line);
    border-top: 0;
    bottom: 0;
    grid-column: auto !important;
    max-height: 100vh;
    min-height: 100vh;
    position: fixed !important;
    right: 0;
    top: 0;
  }

  .app-shell:not(.history-expanded) .history-panel {
    box-shadow: -18px 0 46px rgba(15, 23, 42, 0.12);
    width: 76px !important;
    z-index: 5000 !important;
  }

  .app-shell.history-expanded .history-panel {
    --history-drawer-width: clamp(320px, calc(100vw - 420px), 820px);
    width: var(--history-drawer-width) !important;
    z-index: 7000 !important;
  }

  .history-expand-button,
  .app-shell:not(.history-expanded) .history-expand-button {
    left: calc(100vw - 76px) !important;
    position: fixed !important;
    right: auto !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 9000 !important;
  }

  .app-shell.history-expanded .history-expand-button {
    left: calc(100vw - var(--history-drawer-width, clamp(320px, calc(100vw - 420px), 820px))) !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
  }
}

@media (min-width: 760px) and (max-width: 900px) {
  .control-panel {
    min-width: 420px;
    width: 420px;
  }

  .output-panel {
    min-width: 0;
    padding-left: 18px;
    padding-right: 92px;
  }

  .app-shell.history-expanded .history-list {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  }
}

/* Drawer polish v4 */
.output-toolbar .small-label {
  display: none !important;
}

#fileNameLabel[hidden],
#fileNameLabel:empty {
  display: none !important;
}

#fileNameLabel:not([hidden]) {
  color: var(--ink);
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  line-height: 1.15;
  margin: 0;
  overflow-wrap: anywhere;
}

.output-toolbar {
  align-items: center;
  gap: 14px;
  min-height: 0;
}

.selected-palette-pill {
  align-items: center !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), var(--accent-soft)) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line)) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(19, 33, 43, 0.08);
  color: var(--accent-dark) !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 62px !important;
  padding: 10px 14px !important;
}

.selected-palette-pill .palette-swatch {
  background: var(--swatch, linear-gradient(135deg, var(--accent), #facc15)) !important;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08), 0 6px 14px rgba(15, 23, 42, 0.12);
  display: block;
  flex: 0 0 38px !important;
  height: 38px !important;
  width: 38px !important;
}

.selected-palette-pill span:last-child {
  font-size: 0.9rem;
  letter-spacing: 0.08em;
}

.loading-overlay p {
  min-height: 1.45em;
  transition: opacity 0.18s ease;
}

/* generation-wait-card-v1 */
.generation-wait-card {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(15, 118, 110, 0.2) !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(19, 33, 43, 0.12) !important;
  color: var(--ink) !important;
  display: grid !important;
  gap: 4px !important;
  line-height: 1.35 !important;
  max-width: min(520px, calc(100% - 36px)) !important;
  padding: 10px 13px !important;
  text-align: left !important;
}

.generation-wait-card strong {
  color: var(--teal-dark) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.generation-wait-card span {
  color: var(--ink) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
}

/* generation-wait-card-visibility-v1 */
body:not(.is-generating) .generation-wait-card,
#loadingOverlay[hidden] .generation-wait-card,
.loading-overlay[hidden] .generation-wait-card {
  display: none !important;
}

body.is-generating #loadingOverlay:not([hidden]) .generation-wait-card {
  display: grid !important;
}

/* generation-wait-card-visibility-v2 */
.generation-wait-card {
  display: none !important;
}

#loadingOverlay:not([hidden]) .generation-wait-card,
.loading-overlay:not([hidden]) .generation-wait-card {
  display: grid !important;
}

/* teacher-preview-drawer-polish-v1 */
@media (min-width: 760px) {
  .app-shell:not(.admin-mode):not(.history-expanded) {
    grid-template-columns: minmax(330px, 420px) minmax(0, 1fr) 0 !important;
  }

  .app-shell:not(.history-expanded) #historyPanel {
    bottom: 0 !important;
    box-shadow: -12px 0 34px rgba(19, 33, 43, 0.08) !important;
    height: 100vh !important;
    left: auto !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    width: 78px !important;
  }

  .app-shell:not(.history-expanded) #outputPanel {
    padding-right: 22px !important;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    content: none !important;
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-item {
    border: 1px solid rgba(120, 154, 163, 0.24) !important;
    height: 58px !important;
    overflow: hidden !important;
    padding: 4px !important;
    width: 50px !important;
  }

  .app-shell:not(.history-expanded) .history-thumb {
    aspect-ratio: 1 / 1.414 !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    display: block !important;
    height: 50px !important;
    object-fit: contain !important;
    width: 38px !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
    height: 34px !important;
    width: 44px !important;
  }

  #loadingOverlay:not([hidden]) #generationWaitCard,
  #loadingOverlay:not([hidden]) .generation-wait-card,
  .loading-overlay:not([hidden]) #generationWaitCard,
  .loading-overlay:not([hidden]) .generation-wait-card {
    display: grid !important;
    margin-top: 4px !important;
    max-width: min(560px, calc(100% - 42px)) !important;
    position: relative !important;
    z-index: 6 !important;
  }
}

/* teacher-preview-drawer-polish-v2 */
@media (min-width: 760px) {
  .app-shell:not(.admin-mode):not(.history-expanded) {
    grid-template-columns: minmax(330px, 420px) minmax(0, 1fr) 0 !important;
  }

  .app-shell:not(.history-expanded) #outputPanel,
  .app-shell:not(.history-expanded) .output-panel {
    padding-right: 18px !important;
  }

  .app-shell:not(.history-expanded) #historyPanel,
  .app-shell:not(.history-expanded) .history-panel {
    bottom: 0 !important;
    box-shadow: -12px 0 34px rgba(19, 33, 43, 0.1) !important;
    height: 100vh !important;
    left: auto !important;
    max-width: 78px !important;
    min-width: 78px !important;
    overflow: hidden auto !important;
    padding: 12px 8px !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    width: 78px !important;
    z-index: 9000 !important;
  }

  .app-shell:not(.history-expanded) .history-heading {
    display: grid !important;
    justify-items: center !important;
    padding: 0 0 10px !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-heading > div:first-child,
  .app-shell:not(.history-expanded) .history-heading h2,
  .app-shell:not(.history-expanded) .folder-tools,
  .app-shell:not(.history-expanded) .history-search-row,
  .app-shell:not(.history-expanded) .library-tools,
  .app-shell:not(.history-expanded) .history-empty,
  .app-shell:not(.history-expanded) .history-check,
  .app-shell:not(.history-expanded) .history-info,
  .app-shell:not(.history-expanded) .history-actions {
    display: none !important;
  }

  .app-shell:not(.history-expanded) #historyCount {
    display: grid !important;
    height: 42px !important;
    margin: 0 auto 10px !important;
    min-width: 42px !important;
    place-items: center !important;
    text-align: center !important;
    width: 42px !important;
  }

  .app-shell:not(.history-expanded) .history-list {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: block !important;
    height: auto !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-open {
    background: #ffffff !important;
    border: 1px solid rgba(106, 139, 148, 0.28) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
    display: grid !important;
    min-height: 64px !important;
    overflow: hidden !important;
    padding: 4px !important;
    place-items: center !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    content: none !important;
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-thumb {
    background: #f8fbfa !important;
    border-radius: 9px !important;
    display: block !important;
    height: auto !important;
    max-height: 66px !important;
    max-width: 58px !important;
    object-fit: contain !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-portrait {
    aspect-ratio: 1 / 1.414 !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
  }

  .app-shell:not(.history-expanded) .history-expand-button {
    left: calc(100vw - 106px) !important;
    z-index: 9500 !important;
  }
}

@media (min-width: 760px) {
  .app-shell:not(.history-expanded) .history-heading {
    display: grid !important;
    justify-items: center !important;
    place-items: center !important;
    width: 100%;
  }

  .app-shell:not(.history-expanded) .history-heading-actions {
    display: grid !important;
    justify-items: center !important;
    place-items: center !important;
    width: 100%;
  }

  .app-shell:not(.history-expanded) #historyCount {
    display: grid !important;
    height: 42px !important;
    margin: 0 auto !important;
    min-width: 42px !important;
    place-items: center !important;
    text-align: center;
  }

  .app-shell.history-expanded .history-panel {
    padding: 22px !important;
  }

  .app-shell.history-expanded .history-heading {
    margin-bottom: 14px;
    padding-bottom: 16px;
  }

  .app-shell.history-expanded .folder-tools {
    gap: 16px !important;
    margin-bottom: 14px;
    padding: 18px 20px !important;
  }

  .app-shell.history-expanded .folder-main-row,
  .app-shell.history-expanded .folder-create-row,
  .app-shell.history-expanded .folder-move-row {
    gap: 14px !important;
  }

  .app-shell.history-expanded .history-search-row {
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) 58px !important;
    margin: 14px 0 16px;
  }

  .app-shell.history-expanded .history-search-row input,
  .app-shell.history-expanded .history-search-row .filter-toggle-button {
    min-height: 58px !important;
  }

  .app-shell.history-expanded .history-search-row .filter-toggle-button {
    width: 58px !important;
  }

  .app-shell.history-expanded .library-tools {
    margin-bottom: 16px;
    padding: 18px !important;
  }

  .app-shell.history-expanded .library-tools .filter-grid {
    align-items: center !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(3, minmax(118px, 1fr)) 48px 48px !important;
  }

  .app-shell.history-expanded .library-tools .filter-grid > select {
    min-width: 0;
  }

  .app-shell.history-expanded .library-tools .filter-grid > .icon-only-button {
    height: 48px !important;
    min-height: 48px !important;
    min-width: 48px !important;
    width: 48px !important;
  }

  .app-shell.history-expanded .library-tools .filter-grid > .icon-only-button:disabled {
    opacity: 0.28 !important;
    pointer-events: none;
  }

  .app-shell.history-expanded .selected-count {
    margin-top: 12px;
  }
}

@media (min-width: 760px) and (max-width: 980px) {
  .app-shell.history-expanded .library-tools .filter-grid {
    grid-template-columns: repeat(3, minmax(96px, 1fr)) 44px 44px !important;
  }
}

/* Drawer polish v5 */
.image-meta {
  display: none !important;
}

.output-panel {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

.output-toolbar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  gap: 12px !important;
  padding: 0 0 8px !important;
}

.download-button {
  border-radius: 18px !important;
}

body[data-document-type="handout"] #showRevisionEditorButton,
body[data-document-type="handout"] #revisionButton {
  background: var(--primary-gradient) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 16px 32px var(--accent-shadow) !important;
  color: #ffffff !important;
}

.choice-card strong {
  color: var(--ink) !important;
}

.choice-card small {
  color: var(--muted) !important;
}

.choice-card.is-selected strong {
  color: var(--accent-dark) !important;
}

.choice-card.is-selected small {
  color: color-mix(in srgb, var(--accent-dark) 78%, var(--muted)) !important;
}

select {
  -webkit-appearance: none;
  appearance: none;
  background-color: #ffffff;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 28px) calc(50% - 3px),
    calc(100% - 18px) calc(50% - 3px);
  background-repeat: no-repeat;
  background-size: 9px 9px, 9px 9px;
  overflow: hidden;
  padding-right: 64px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

select::-ms-expand {
  display: none;
}

.history-info {
  gap: 0 !important;
}

.history-info small {
  display: none !important;
}

#showFolderCreateButton {
  aspect-ratio: 1;
  display: grid !important;
  justify-content: center !important;
  min-height: 58px !important;
  min-width: 58px !important;
  padding: 0 !important;
  place-items: center !important;
  width: 58px !important;
}

#showFolderCreateButton .ui-icon {
  height: 24px;
  width: 24px;
}

.layout-options-grid {
  column-gap: 32px !important;
  row-gap: 14px !important;
}

.layout-options-grid fieldset {
  min-width: 0;
}

.orientation-button {
  align-items: center !important;
  display: grid !important;
  justify-items: center !important;
  place-items: center !important;
  text-align: center;
}

.orientation-icon {
  margin: auto !important;
}

@media (min-width: 760px) {
  .app-shell:not(.history-expanded) .history-heading > div:first-child {
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-heading,
  .app-shell:not(.history-expanded) .history-heading-actions {
    display: grid !important;
    justify-content: center !important;
    justify-items: center !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) #historyCount {
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    place-self: center !important;
  }

  .app-shell.history-expanded .folder-main-row {
    align-items: end !important;
    grid-template-columns: minmax(0, 1fr) 58px !important;
  }
}

/* Drawer polish v6 */
.choice-card,
.choice-card.is-selected {
  align-items: center !important;
  border-width: 2px !important;
  box-sizing: border-box !important;
  gap: 16px !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  min-height: 124px !important;
  padding: 18px 20px !important;
}

.choice-card .choice-icon,
.choice-card.is-selected .choice-icon {
  border-radius: 16px !important;
  height: 56px !important;
  width: 56px !important;
}

.choice-card strong,
.choice-card.is-selected strong {
  font-size: 1rem !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
}

.choice-card small,
.choice-card.is-selected small {
  font-size: 0.86rem !important;
  font-weight: 720 !important;
  line-height: 1.18 !important;
  margin-top: 6px !important;
}

body[data-document-type="handout"] #makeAnotherButton {
  background: color-mix(in srgb, var(--accent-soft) 86%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--accent) 58%, #ffffff) !important;
  box-shadow: none !important;
  color: var(--accent-dark) !important;
}

body[data-document-type="handout"] #makeAnotherButton:hover {
  background: var(--accent-soft) !important;
  border-color: var(--accent) !important;
  color: var(--accent-dark) !important;
}

/* Drawer polish v7 */
.choice-card-grid {
  gap: 12px !important;
}

.choice-card-grid .choice-card,
.choice-card-grid .choice-card.is-selected {
  align-items: center !important;
  border-width: 2px !important;
  box-sizing: border-box !important;
  gap: 12px !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  min-height: 106px !important;
  padding: 14px 16px !important;
}

.choice-card-grid .choice-card > span:last-child {
  min-width: 0 !important;
}

.choice-card-grid .choice-icon,
.choice-card-grid .choice-card.is-selected .choice-icon {
  border-radius: 14px !important;
  height: 44px !important;
  width: 44px !important;
}

.choice-card-grid .doc-icon::before,
.choice-card-grid .handout-icon::before {
  height: 24px !important;
  width: 20px !important;
}

.choice-card-grid .choice-card strong,
.choice-card-grid .choice-card.is-selected strong {
  font-size: 0.98rem !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
}

.choice-card-grid .choice-card small,
.choice-card-grid .choice-card.is-selected small {
  font-size: 0.82rem !important;
  font-weight: 720 !important;
  line-height: 1.16 !important;
  margin-top: 6px !important;
}

/* Teacher workflow v8 */
.topic-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: -6px;
}

.topic-suggestions button {
  background: color-mix(in srgb, var(--accent-soft) 74%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--accent) 44%, #ffffff);
  border-radius: 999px;
  color: var(--accent-dark);
  cursor: pointer;
  font-weight: 800;
  padding: 8px 12px;
}

.topic-suggestions button:hover {
  background: var(--accent-soft);
  border-color: var(--accent);
}

.answer-key-option {
  align-items: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 74%, #ffffff), #ffffff);
  border: 1px solid color-mix(in srgb, var(--accent) 34%, #d9e8e6);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  cursor: pointer;
  display: grid;
  gap: 14px;
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 78px;
  padding: 15px 16px;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.answer-key-option:hover,
.answer-key-option:focus-within {
  border-color: var(--accent);
  box-shadow: 0 14px 32px var(--accent-shadow);
  transform: translateY(-1px);
}

body[data-document-type="handout"] .answer-key-option,
.answer-key-option[hidden] {
  display: none;
}

.answer-key-option input[type="checkbox"] {
  -webkit-appearance: none;
  accent-color: var(--accent);
  appearance: none;
  background: #ffffff;
  border: 2px solid color-mix(in srgb, var(--accent) 42%, #d0dde0);
  border-radius: 12px;
  box-shadow: inset 0 0 0 4px #ffffff;
  cursor: pointer;
  display: grid;
  flex: 0 0 38px;
  height: 38px;
  margin: 0;
  min-height: 38px;
  padding: 0;
  place-items: center;
  position: relative;
  width: 38px;
}

.answer-key-option input[type="checkbox"]::after {
  border-bottom: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  content: "";
  height: 14px;
  opacity: 0;
  transform: rotate(45deg) translate(-1px, -2px);
  width: 8px;
}

.answer-key-option input[type="checkbox"]:checked {
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 8px 18px var(--accent-shadow);
}

.answer-key-option input[type="checkbox"]:checked::after {
  opacity: 1;
}

.answer-key-option strong {
  color: var(--ink);
  display: block;
  font-size: 0.95rem;
  line-height: 1.15;
}

.answer-key-option small {
  color: var(--muted);
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 4px;
}

.generation-limit {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
  margin: -4px 0 0;
  text-align: center;
}

.generation-limit.is-warning {
  color: var(--accent-dark);
}

.post-generate-actions {
  display: grid;
  gap: 12px;
}

body[data-document-type="handout"] .result-actions-panel .secondary-button,
body[data-document-type="handout"] #makeSimilarButton,
body[data-document-type="handout"] #makeAnotherButton {
  background: color-mix(in srgb, var(--accent-soft) 86%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--accent) 58%, #ffffff) !important;
  box-shadow: none !important;
  color: var(--accent-dark) !important;
}

body[data-document-type="handout"] .result-actions-panel .secondary-button:hover,
body[data-document-type="handout"] #makeSimilarButton:hover,
body[data-document-type="handout"] #makeAnotherButton:hover {
  background: var(--accent-soft) !important;
  border-color: var(--accent) !important;
  color: var(--accent-dark) !important;
}

/* monthly-limit-admin-fix-v1 */
.admin-create-form {
  grid-template-columns: minmax(180px, 1fr) minmax(140px, 190px) minmax(150px, 190px) 150px 150px !important;
}

.admin-fields {
  grid-template-columns: minmax(180px, 1fr) minmax(120px, 160px) minmax(150px, 190px) 92px 110px 90px 90px !important;
}

@media (max-width: 1280px) {
  .admin-create-form,
  .admin-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .admin-create-form,
  .admin-fields {
    grid-template-columns: 1fr !important;
  }
}

/* Admin image-quality controls */
.admin-settings-panel {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(280px, 430px);
  gap: 16px;
  align-items: end;
}

.admin-settings-panel h2 {
  color: var(--ink);
  font-size: clamp(1.3rem, 2vw, 1.85rem);
  line-height: 1.05;
  margin: 4px 0 8px;
}

.admin-settings-panel p {
  color: var(--muted);
  font-weight: 720;
  line-height: 1.35;
  margin: 0;
}

.admin-settings-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

@media (max-width: 760px) {
  .admin-settings-panel,
  .admin-settings-form {
    grid-template-columns: 1fr;
  }
}

/* compact-teacher-column-v1 */
.choice-card-grid .doc-icon::before,
.choice-card-grid .handout-icon::before {
  background: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  content: "" !important;
  height: 24px !important;
  width: 24px !important;
  -webkit-mask: var(--resource-icon-url) center / contain no-repeat !important;
  mask: var(--resource-icon-url) center / contain no-repeat !important;
}

.choice-card-grid .doc-icon::after,
.choice-card-grid .handout-icon::after {
  content: none !important;
  display: none !important;
}

.choice-card-grid .doc-icon {
  --resource-icon-url: url("icons/worksheet.svg?v=20260516a");
}

.choice-card-grid .handout-icon {
  --resource-icon-url: url("icons/handout.svg?v=20260516a");
}

.control-panel {
  gap: 10px !important;
  padding: 14px 18px !important;
}

.brand-row {
  gap: 10px !important;
}

.brand-row .brand-logo {
  flex-basis: 92px !important;
  height: 38px !important;
  width: 92px !important;
}

.brand-row .account-name {
  margin-top: 0 !important;
  padding: 5px 8px !important;
}

.form-stack {
  gap: 10px !important;
}

.control-section {
  gap: 8px !important;
  padding-top: 10px !important;
}

.control-section:first-child {
  padding-top: 0 !important;
}

.control-panel .section-heading {
  align-items: center !important;
  gap: 8px !important;
}

.control-panel .section-heading p {
  display: none !important;
}

.control-panel .step-mark {
  flex-basis: 24px !important;
  font-size: 12px !important;
  height: 24px !important;
  width: 24px !important;
}

.control-panel .section-heading h2 {
  font-size: 0.92rem !important;
}

.choice-card-grid {
  gap: 8px !important;
}

.choice-card-grid .choice-card,
.choice-card-grid .choice-card.is-selected {
  gap: 8px !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  min-height: 68px !important;
  padding: 9px 10px !important;
}

.choice-card-grid .choice-icon,
.choice-card-grid .choice-card.is-selected .choice-icon {
  border-radius: 11px !important;
  height: 36px !important;
  width: 36px !important;
}

.choice-card-grid .choice-card strong,
.choice-card-grid .choice-card.is-selected strong {
  font-size: 0.88rem !important;
  line-height: 1.04 !important;
}

.choice-card-grid .choice-card small,
.choice-card-grid .choice-card.is-selected small {
  font-size: 0.72rem !important;
  line-height: 1.1 !important;
  margin-top: 3px !important;
}

.grade-grid {
  gap: 6px !important;
}

.control-panel .choice-button {
  min-height: 34px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.layout-options-grid {
  column-gap: 18px !important;
  row-gap: 8px !important;
}

.layout-options-grid .choice-button {
  min-height: 38px !important;
}

.orientation-button {
  min-height: 38px !important;
}

.orientation-icon {
  height: 20px !important;
  width: 20px !important;
}

.orientation-icon-landscape {
  width: 22px !important;
}

.control-panel legend,
.control-panel .input-block span {
  font-size: 0.64rem !important;
  margin-bottom: 5px !important;
}

.control-panel input,
.control-panel select {
  height: 40px !important;
  min-height: 40px !important;
  padding-left: 11px !important;
}

.control-panel select {
  background-position: calc(100% - 18px) 17px, calc(100% - 12px) 17px !important;
  padding-right: 38px !important;
}

#additionalInput {
  max-height: 86px !important;
  min-height: 76px !important;
  padding: 10px 12px !important;
}

.topic-suggestions {
  gap: 6px !important;
  margin-top: -4px !important;
}

.topic-suggestions button {
  font-size: 0.72rem !important;
  padding: 6px 9px !important;
}

/* topic-chip-polish-v1 */
.control-panel .topic-suggestions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 8px 0 2px !important;
  padding: 0 1px !important;
}

.control-panel .topic-suggestions[hidden] {
  display: none !important;
}

.control-panel .topic-suggestions button,
.control-panel .topic-suggestions .topic-suggestion-chip {
  -webkit-appearance: none !important;
  appearance: none !important;
  align-items: center !important;
  background: color-mix(in srgb, var(--accent-soft) 76%, #ffffff) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, #ffffff) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  color: var(--accent-dark) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-size: 0.76rem !important;
  font-weight: 850 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.12 !important;
  min-height: 32px !important;
  max-width: 100% !important;
  padding: 7px 12px !important;
  text-align: center !important;
  white-space: nowrap !important;
  width: auto !important;
}

.control-panel .topic-suggestions button:hover,
.control-panel .topic-suggestions .topic-suggestion-chip:hover {
  background: #ffffff !important;
  border-color: color-mix(in srgb, var(--accent) 68%, #ffffff) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08) !important;
  transform: translateY(-1px) !important;
}

.control-panel .topic-suggestions button:focus-visible,
.control-panel .topic-suggestions .topic-suggestion-chip:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 24%, transparent) !important;
  outline-offset: 2px !important;
}

@media (max-width: 520px) {
  .control-panel .topic-suggestions {
    gap: 6px !important;
  }

  .control-panel .topic-suggestions button,
  .control-panel .topic-suggestions .topic-suggestion-chip {
    font-size: 0.7rem !important;
    min-height: 30px !important;
    padding: 6px 9px !important;
    white-space: normal !important;
  }
}

.answer-key-option {
  gap: 10px !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  min-height: 58px !important;
  padding: 10px 12px !important;
}

.answer-key-option input[type="checkbox"] {
  border-radius: 10px !important;
  flex-basis: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  width: 30px !important;
}

.answer-key-option strong {
  font-size: 0.82rem !important;
}

.answer-key-option small {
  font-size: 0.68rem !important;
  margin-top: 2px !important;
}

.advanced-settings {
  border-radius: 14px !important;
  padding: 6px !important;
}

.advanced-settings summary {
  min-height: 34px !important;
  padding: 0 6px !important;
}

.advanced-settings > p {
  display: none !important;
}

.advanced-settings .select-grid {
  gap: 8px !important;
  padding-top: 6px !important;
}

.summary-strip div {
  padding: 7px 8px !important;
}

.summary-strip span {
  font-size: 0.58rem !important;
}

.summary-strip strong {
  font-size: 0.74rem !important;
  margin-top: 2px !important;
}

#generateButton {
  min-height: 42px !important;
}

.generation-limit {
  font-size: 0.76rem !important;
  margin-top: -6px !important;
}

#statusMessage {
  font-size: 0.78rem !important;
  min-height: 16px !important;
}

#lockButton {
  min-height: 36px !important;
}

@media (max-height: 820px) and (min-width: 760px) {
  .control-panel {
    padding-bottom: 10px !important;
    padding-top: 10px !important;
  }

  .brand-row .brand-logo {
    height: 34px !important;
  }

  .control-panel .section-heading h2 {
    font-size: 0.86rem !important;
  }

  .control-section {
    gap: 7px !important;
    padding-top: 8px !important;
  }

  #additionalInput {
    max-height: 72px !important;
    min-height: 66px !important;
  }

  .summary-strip {
    display: none !important;
  }

  #lockButton {
    min-height: 32px !important;
  }
}

/* compact-brand-footer-v1 */
.brand-row {
  justify-content: center !important;
  min-height: 146px !important;
  padding: 12px 18px !important;
}

.brand-row .brand-logo {
  flex: 0 0 auto !important;
  height: 112px !important;
  max-height: calc(100% - 20px) !important;
  max-width: 94% !important;
  object-fit: contain !important;
  width: 360px !important;
}

.brand-row .brand-meta {
  display: none !important;
}

.panel-footer {
  align-items: center !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.75fr) !important;
  margin-top: auto !important;
}

.panel-footer .account-name {
  align-items: center !important;
  display: inline-flex !important;
  justify-content: center !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-height: 36px !important;
  overflow: hidden !important;
  padding: 6px 10px !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.panel-footer #lockButton {
  margin: 0 !important;
  min-height: 36px !important;
  width: 100% !important;
}

@media (max-height: 820px) and (min-width: 760px) {
  .brand-row {
    padding: 12px 16px !important;
  }

  .brand-row .brand-logo {
    height: 54px !important;
    width: 156px !important;
  }

  .panel-footer .account-name,
  .panel-footer #lockButton {
    min-height: 32px !important;
  }
}

/* compact-admin-dashboard-v1 */
.app-shell.admin-mode {
  background:
    radial-gradient(circle at 12% 10%, rgba(20, 184, 166, 0.12), transparent 28%),
    linear-gradient(135deg, #f8fbfb, #fff7ef) !important;
}

.admin-panel {
  display: grid !important;
  gap: 10px !important;
  min-height: 100vh !important;
  padding: 14px !important;
}

.admin-header {
  align-items: center !important;
  border-radius: 16px !important;
  gap: 12px !important;
  padding: 10px 12px !important;
}

.admin-header > div {
  min-width: 0 !important;
}

.admin-brand-logo {
  flex-basis: 104px !important;
  height: 42px !important;
  width: 104px !important;
}

.admin-header .small-label,
.admin-header p:not(.small-label),
.admin-settings-panel .small-label,
.admin-settings-panel p {
  display: none !important;
}

.admin-header h1 {
  font-size: 1.25rem !important;
  line-height: 1 !important;
}

#adminLockButton {
  min-height: 34px !important;
  padding: 0 14px !important;
}

.admin-stats {
  gap: 8px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-top: 0 !important;
}

.admin-stats div {
  align-items: center !important;
  border-radius: 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 44px !important;
  padding: 8px 10px !important;
}

.admin-stats span {
  font-size: 0.58rem !important;
  line-height: 1 !important;
}

.admin-stats strong {
  font-size: 1rem !important;
  margin-top: 0 !important;
}

.admin-create-panel,
.admin-account-card {
  border-radius: 16px !important;
  margin-top: 0 !important;
  padding: 10px !important;
}

.admin-settings-panel {
  align-items: end !important;
  gap: 10px !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
}

.admin-settings-panel h2 {
  font-size: 1rem !important;
  margin: 0 0 4px !important;
}

.admin-settings-form {
  gap: 8px !important;
  grid-template-columns: minmax(180px, 1fr) 118px !important;
}

.admin-create-panel:not(.admin-settings-panel) {
  align-items: end !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.admin-create-form {
  gap: 8px !important;
  grid-template-columns: minmax(150px, 1fr) 110px 140px 118px 104px !important;
}

.admin-actions {
  align-items: end !important;
  gap: 6px !important;
  margin-top: 0 !important;
}

.admin-actions button,
.admin-fields button,
.admin-row-actions button {
  border-radius: 12px !important;
  min-height: 32px !important;
  padding: 0 9px !important;
}

#adminStatus {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  min-height: 16px !important;
}

.admin-account-list {
  gap: 6px !important;
  margin-top: 0 !important;
}

.admin-account-card.admin-account-row {
  box-shadow: 0 10px 22px rgba(19, 33, 43, 0.045) !important;
  padding: 8px !important;
}

.admin-row-grid {
  align-items: end !important;
  display: grid !important;
  gap: 7px !important;
  grid-template-columns: minmax(160px, 1.2fr) 92px 116px 86px 74px 76px minmax(210px, 0.9fr) !important;
}

.admin-row-grid .input-block span,
.admin-settings-form .input-block span,
.admin-create-form .input-block span {
  font-size: 0.56rem !important;
  margin-bottom: 3px !important;
}

.admin-row-grid input,
.admin-settings-form select,
.admin-create-form input {
  height: 34px !important;
  min-height: 34px !important;
  padding-left: 9px !important;
}

.admin-mini-stat {
  align-self: stretch !important;
  background: #f8fbfb !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  display: grid !important;
  gap: 1px !important;
  padding: 5px 8px !important;
}

.admin-mini-stat span {
  color: var(--quiet) !important;
  font-size: 0.52rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.admin-mini-stat strong {
  color: var(--ink) !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
}

.admin-mini-stat small {
  color: var(--muted) !important;
  font-size: 0.58rem !important;
  font-weight: 800 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.admin-active-toggle {
  align-self: stretch !important;
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 8px !important;
}

.admin-row-actions {
  align-items: end !important;
  display: grid !important;
  gap: 5px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1180px) {
  .admin-row-grid {
    grid-template-columns: minmax(180px, 1fr) 96px 122px 86px 74px !important;
  }

  .admin-active-toggle,
  .admin-row-actions {
    grid-column: span 2 !important;
  }
}

@media (max-width: 820px) {
  .admin-panel {
    padding: 10px !important;
  }

  .admin-header,
  .admin-create-panel:not(.admin-settings-panel),
  .admin-settings-panel,
  .admin-settings-form,
  .admin-create-form,
  .admin-row-grid {
    grid-template-columns: 1fr !important;
  }

  .admin-header {
    align-items: start !important;
  }

  .admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .admin-active-toggle,
  .admin-row-actions {
    grid-column: auto !important;
  }
}

/* admin-generation-credits-v1 */
.admin-create-form {
  grid-template-columns: minmax(140px, 1fr) 100px 104px 118px 86px 104px 104px !important;
}

.admin-row-grid {
  grid-template-columns: minmax(150px, 1.15fr) 88px 100px 96px 86px 78px 70px 72px minmax(190px, 0.85fr) !important;
}

.admin-row-grid select,
.admin-row-grid input,
.admin-settings-form select,
.admin-create-form select,
.admin-create-form input {
  font-size: 0.78rem !important;
  height: 34px !important;
  min-height: 34px !important;
  padding-left: 9px !important;
}

.admin-row-grid select,
.admin-create-form select {
  padding-right: 28px !important;
}

.admin-mode-cell,
.admin-limit-cell,
.admin-credit-cell {
  min-width: 0 !important;
}

.admin-credit-cell input,
.admin-limit-cell input {
  text-align: center !important;
}

@media (max-width: 1380px) {
  .admin-create-form {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .admin-row-grid {
    grid-template-columns: minmax(180px, 1fr) 92px 104px 96px 86px 78px !important;
  }

  .admin-row-actions {
    grid-column: span 2 !important;
  }
}

@media (max-width: 820px) {
  .admin-create-form,
  .admin-row-grid {
    grid-template-columns: 1fr !important;
  }

  .admin-row-actions {
    grid-column: auto !important;
  }
}

/* security-hidden-panels-v1 */
#pinGate[hidden],
#appShell[hidden],
#teacherPanel[hidden],
#outputPanel[hidden],
#historyPanel[hidden],
#adminPanel[hidden],
#revisionForm[hidden],
#revisionEditor[hidden],
#libraryToolsPanel[hidden],
#folderCreatePanel[hidden],
#folderMoveRow[hidden],
#loadingOverlay[hidden],
#generatedImage[hidden],
#emptyOutput[hidden] {
  display: none !important;
}

.app-shell:not(.admin-mode) #adminPanel {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.app-shell.admin-mode #teacherPanel,
.app-shell.admin-mode #outputPanel,
.app-shell.admin-mode #historyPanel {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* credit-only-admin-v2 */
.admin-create-form {
  grid-template-columns: minmax(180px, 1fr) 110px 120px 104px 104px !important;
}

.admin-row-grid {
  grid-template-columns: minmax(160px, 1fr) 88px 108px 78px 78px 74px 76px minmax(150px, 0.85fr) !important;
}

.admin-row-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.admin-credit-cell {
  min-width: 0 !important;
}

.admin-credit-cell input {
  text-align: center !important;
}

@media (max-width: 1180px) {
  .admin-create-form,
  .admin-row-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .admin-row-actions {
    grid-column: span 3 !important;
  }
}

@media (max-width: 820px) {
  .admin-create-form,
  .admin-row-grid {
    grid-template-columns: 1fr !important;
  }

  .admin-row-actions {
    grid-column: auto !important;
  }
}

/* admin-credit-counter-v1 */
.admin-row-grid {
  grid-template-columns: minmax(160px, 1fr) 88px 108px 78px 78px 74px 76px minmax(150px, 0.85fr) !important;
}

.admin-limit-cell,
[data-admin-monthly-limit],
[data-reset-limit] {
  display: none !important;
}

.admin-row-actions button {
  cursor: pointer !important;
  transition: background 0.14s ease, color 0.14s ease, transform 0.08s ease, box-shadow 0.14s ease !important;
}

.admin-row-actions button:hover {
  background: var(--accent-soft) !important;
  box-shadow: 0 8px 18px rgba(19, 33, 43, 0.08) !important;
  color: var(--accent-dark) !important;
}

.admin-row-actions button:active {
  transform: translateY(1px) scale(0.98) !important;
}

.admin-row-actions .danger-button:hover {
  background: #fee4e2 !important;
  color: var(--danger) !important;
}

/* admin-files-and-switch-v1 */
.admin-row-grid {
  grid-template-columns: minmax(150px, 1fr) 82px 104px 82px 72px 72px 82px minmax(230px, 0.95fr) !important;
}

.admin-row-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.admin-credit-counter {
  justify-items: center !important;
  text-align: center !important;
}

.admin-switch {
  align-self: stretch !important;
  cursor: pointer !important;
  min-width: 0 !important;
}

.admin-switch input {
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 1px !important;
}

.admin-switch-track {
  align-items: center !important;
  background: #f1f5f9 !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  color: var(--muted) !important;
  display: grid !important;
  gap: 7px !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  height: 100% !important;
  min-height: 34px !important;
  padding: 4px 10px 4px 5px !important;
}

.admin-switch-track i {
  background: #94a3b8 !important;
  border-radius: 999px !important;
  display: block !important;
  height: 22px !important;
  width: 22px !important;
}

.admin-switch-track strong {
  font-size: 0.78rem !important;
  line-height: 1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.admin-switch input:checked + .admin-switch-track {
  background: color-mix(in srgb, var(--accent) 14%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--accent) 34%, var(--line)) !important;
  color: var(--accent-dark) !important;
}

.admin-switch input:checked + .admin-switch-track i {
  background: var(--accent) !important;
}

.admin-file-drawer {
  border-top: 1px solid var(--line) !important;
  grid-column: 1 / -1 !important;
  margin-top: 4px !important;
  padding-top: 10px !important;
}

.admin-file-drawer[hidden] {
  display: none !important;
}

.admin-file-grid {
  display: grid !important;
  gap: 9px !important;
  grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)) !important;
}

.admin-file-card {
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  color: var(--ink) !important;
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
  padding: 8px !important;
  text-decoration: none !important;
  transition: transform 0.12s ease, box-shadow 0.12s ease !important;
}

.admin-file-card:hover {
  box-shadow: 0 10px 22px rgba(19, 33, 43, 0.1) !important;
  transform: translateY(-1px) !important;
}

.admin-file-card img {
  aspect-ratio: 1 / 1.28 !important;
  background: #f8fafc !important;
  border: 1px solid var(--line) !important;
  border-radius: 9px !important;
  object-fit: contain !important;
  width: 100% !important;
}

.admin-file-card strong,
.admin-file-card small {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.admin-file-card strong {
  font-size: 0.74rem !important;
}

.admin-file-card small {
  color: var(--muted) !important;
  font-size: 0.62rem !important;
  font-weight: 800 !important;
}

.admin-empty-files {
  color: var(--muted) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: 8px !important;
}

@media (max-width: 1280px) {
  .admin-row-grid {
    grid-template-columns: minmax(170px, 1fr) 90px 108px 84px 76px 76px !important;
  }

  .admin-row-actions {
    grid-column: span 3 !important;
  }
}

/* admin-compact-account-rows-v1 */
.admin-account-card.admin-account-row {
  padding: 6px 8px !important;
}

.admin-row-grid {
  align-items: center !important;
  gap: 6px !important;
  grid-template-columns: minmax(150px, 1.45fr) 88px 86px 62px 70px 82px minmax(160px, 0.8fr) 72px !important;
}

.admin-row-grid .input-block {
  margin: 0 !important;
}

.admin-row-grid .input-block span {
  font-size: 0.5rem !important;
  margin-bottom: 2px !important;
}

.admin-row-grid input {
  font-size: 0.78rem !important;
  height: 31px !important;
  min-height: 31px !important;
  padding: 0 8px !important;
}

.admin-mini-stat,
.admin-file-count-button,
.admin-switch-track {
  min-height: 31px !important;
}

.admin-mini-stat {
  align-items: center !important;
  border-radius: 10px !important;
  gap: 0 !important;
  padding: 4px 7px !important;
}

.admin-mini-stat span,
.admin-file-count-button span {
  font-size: 0.49rem !important;
  letter-spacing: 0.07em !important;
}

.admin-mini-stat strong,
.admin-file-count-button strong {
  font-size: 0.85rem !important;
}

.admin-file-count-button {
  align-items: center !important;
  background: #f8fbfb !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  color: var(--ink) !important;
  cursor: pointer !important;
  display: grid !important;
  gap: 0 !important;
  justify-items: center !important;
  padding: 4px 7px !important;
}

.admin-file-count-button:hover,
.admin-file-count-button[aria-expanded='true'] {
  background: var(--accent-soft) !important;
  border-color: color-mix(in srgb, var(--accent) 34%, var(--line)) !important;
  color: var(--accent-dark) !important;
}

.admin-switch-track {
  border-radius: 10px !important;
  gap: 5px !important;
  grid-template-columns: 19px minmax(0, 1fr) !important;
  padding: 4px 8px 4px 5px !important;
}

.admin-switch-track i {
  height: 18px !important;
  width: 18px !important;
}

.admin-switch-track strong {
  font-size: 0.68rem !important;
}

.admin-row-actions {
  align-items: center !important;
  gap: 4px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.admin-row-actions button {
  font-size: 0.72rem !important;
  min-height: 31px !important;
  padding: 0 7px !important;
}

.admin-row-message {
  color: var(--accent-dark) !important;
  font-size: 0.64rem !important;
  font-weight: 900 !important;
  min-height: 1em !important;
  overflow: hidden !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.admin-row-message.is-error {
  color: var(--danger) !important;
}

.admin-file-drawer {
  margin-top: 7px !important;
  padding-top: 8px !important;
}

.admin-file-grid {
  gap: 8px !important;
  grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)) !important;
}

.admin-file-card {
  border-radius: 10px !important;
  gap: 5px !important;
  padding: 6px !important;
}

.admin-file-card img {
  aspect-ratio: 1 / 1.28 !important;
  border-radius: 8px !important;
}

@media (max-width: 1180px) {
  .admin-row-grid {
    grid-template-columns: minmax(160px, 1fr) 90px 88px 66px 72px 84px !important;
  }

  .admin-row-actions,
  .admin-row-message {
    grid-column: span 2 !important;
  }
}

@media (max-width: 820px) {
  .admin-row-grid {
    grid-template-columns: 1fr !important;
  }

  .admin-row-actions,
  .admin-row-message {
    grid-column: auto !important;
  }
}

/* preview-pan-v1 */
.output-panel {
  contain: layout paint !important;
  overflow: hidden !important;
}

.output-toolbar {
  flex-wrap: wrap !important;
}

.preview-zoom-controls {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  gap: 4px !important;
  margin-left: auto !important;
  padding: 4px !important;
}

.preview-zoom-controls button {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--accent-dark) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  height: 34px !important;
  justify-content: center !important;
  min-width: 34px !important;
  padding: 0 10px !important;
}

.preview-zoom-controls button:hover {
  background: var(--accent-soft) !important;
}

#previewZoomLabel {
  color: var(--muted) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  min-width: 42px !important;
  text-align: center !important;
}

.preview-stage {
  cursor: default !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  touch-action: none !important;
}

.preview-stage.has-zoomed-preview {
  align-items: center !important;
  justify-items: center !important;
  place-items: center !important;
}

.preview-stage.can-pan-preview {
  cursor: grab !important;
}

.preview-stage.is-dragging-preview {
  cursor: grabbing !important;
}

#generatedImage {
  transform-origin: center center !important;
  transition: transform 0.16s ease, max-width 0.16s ease, max-height 0.16s ease !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

/* final-qa-polish-v1 */
.brand-row {
  align-items: center !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 132px !important;
  padding: 8px 16px !important;
}

.brand-row .brand-logo {
  display: block !important;
  height: 112px !important;
  max-height: 116px !important;
  object-fit: contain !important;
  width: min(94%, 380px) !important;
}

#adminPanel.admin-panel {
  max-width: min(1580px, calc(100vw - 24px)) !important;
  overflow-x: hidden !important;
}

#adminPanel .admin-account-list {
  overflow-x: hidden !important;
  padding-right: 0 !important;
}

#adminPanel .admin-account-table-pro {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
}

#adminPanel .admin-table-head-pro {
  display: none !important;
}

#adminPanel .admin-account-row-pro {
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid rgba(120, 154, 163, 0.24) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(19, 33, 43, 0.045) !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(210px, 1.2fr) minmax(148px, 0.72fr) minmax(218px, 0.95fr) minmax(66px, 0.28fr) minmax(72px, 0.3fr) minmax(112px, 0.42fr) minmax(136px, 0.5fr) !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding: 10px !important;
  width: 100% !important;
}

#adminPanel .admin-account-row-pro.is-viewing-files {
  align-items: start !important;
}

#adminPanel .admin-account-cell,
#adminPanel .admin-field,
#adminPanel .admin-inline-control,
#adminPanel .admin-credit-control,
#adminPanel .admin-action-bar {
  min-width: 0 !important;
}

#adminPanel .admin-account-cell {
  align-items: center !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
}

#adminPanel .admin-avatar {
  align-items: center !important;
  background: linear-gradient(135deg, #0f766e, #14b8a6) !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  display: inline-flex !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  height: 42px !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  width: 42px !important;
}

#adminPanel .admin-field {
  display: grid !important;
  gap: 4px !important;
}

#adminPanel .admin-field > span {
  color: #64748b !important;
  font-size: 0.56rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#adminPanel .admin-field input {
  border-radius: 12px !important;
  font-size: 0.82rem !important;
  height: 40px !important;
  min-height: 40px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 10px !important;
  text-overflow: ellipsis !important;
}

#adminPanel .admin-inline-control,
#adminPanel .admin-credit-control {
  align-items: center !important;
  border: 1px solid rgba(120, 154, 163, 0.28) !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 6px !important;
  padding: 4px !important;
}

#adminPanel .admin-inline-control {
  grid-template-columns: minmax(0, 1fr) 54px !important;
}

#adminPanel .admin-credit-control {
  grid-template-columns: 48px minmax(58px, 1fr) 48px !important;
}

#adminPanel .admin-inline-control input,
#adminPanel .admin-credit-control input {
  border: 0 !important;
  height: 32px !important;
  min-height: 32px !important;
}

#adminPanel .admin-credit-control input {
  text-align: center !important;
}

#adminPanel .admin-inline-control button,
#adminPanel .admin-credit-control button,
#adminPanel .admin-action-bar button {
  border: 0 !important;
  border-radius: 11px !important;
  cursor: pointer !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  height: 32px !important;
}

#adminPanel .admin-inline-control button,
#adminPanel .admin-credit-control button {
  background: rgba(15, 118, 110, 0.1) !important;
  color: #0f766e !important;
}

#adminPanel .admin-stat-pill,
#adminPanel .admin-files-pill {
  align-items: center !important;
  background: #f8fbfb !important;
  border: 1px solid rgba(120, 154, 163, 0.28) !important;
  border-radius: 14px !important;
  color: #0f172a !important;
  display: grid !important;
  gap: 2px !important;
  justify-items: center !important;
  min-height: 44px !important;
  padding: 6px 8px !important;
}

#adminPanel .admin-files-pill {
  cursor: pointer !important;
}

#adminPanel .admin-stat-pill span,
#adminPanel .admin-files-pill span {
  color: #64748b !important;
  font-size: 0.54rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

#adminPanel .admin-stat-pill strong,
#adminPanel .admin-files-pill strong {
  font-size: 1rem !important;
  line-height: 1 !important;
}

#adminPanel .admin-files-pill:hover,
#adminPanel .admin-files-pill[aria-expanded='true'] {
  background: rgba(20, 184, 166, 0.12) !important;
  border-color: rgba(20, 184, 166, 0.45) !important;
  color: #0f766e !important;
}

#adminPanel .admin-status-switch {
  cursor: pointer !important;
  min-width: 0 !important;
}

#adminPanel .admin-status-switch input {
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 1px !important;
}

#adminPanel .admin-status-switch span {
  align-items: center !important;
  background: #f8fbfb !important;
  border: 1px solid rgba(120, 154, 163, 0.28) !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 7px !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  min-height: 44px !important;
  padding: 5px 8px !important;
}

#adminPanel .admin-status-switch i {
  background: #94a3b8 !important;
  border-radius: 999px !important;
  display: block !important;
  height: 18px !important;
  width: 18px !important;
}

#adminPanel .admin-status-switch strong {
  color: #64748b !important;
  font-size: 0.78rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel .admin-status-switch input:checked + span {
  background: rgba(20, 184, 166, 0.14) !important;
  border-color: rgba(20, 184, 166, 0.44) !important;
}

#adminPanel .admin-status-switch input:checked + span i {
  background: #0f766e !important;
}

#adminPanel .admin-status-switch input:checked + span strong {
  color: #0f766e !important;
}

#adminPanel .admin-action-bar {
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: 1fr 1fr !important;
}

#adminPanel .admin-save-action {
  background: #0f766e !important;
  color: #ffffff !important;
}

#adminPanel .admin-delete-action {
  background: #fff1f2 !important;
  color: #be123c !important;
}

#adminPanel .admin-row-message {
  color: #0f766e !important;
  font-size: 0.68rem !important;
  font-weight: 900 !important;
  grid-column: 1 / -1 !important;
  min-height: 1em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel .admin-row-message.is-error {
  color: #be123c !important;
}

#adminPanel .admin-file-drawer {
  border-top: 1px solid rgba(120, 154, 163, 0.22) !important;
  grid-column: 1 / -1 !important;
  margin-top: 4px !important;
  overflow: hidden !important;
  padding-top: 10px !important;
}

#adminPanel .admin-file-drawer[hidden] {
  display: none !important;
}

#adminPanel .admin-file-grid {
  align-items: start !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
}

#adminPanel .admin-file-card {
  align-content: start !important;
  background: #ffffff !important;
  border: 1px solid rgba(120, 154, 163, 0.24) !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
  color: #0f172a !important;
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 8px !important;
  text-decoration: none !important;
}

#adminPanel .admin-file-preview {
  background: #f8fafc !important;
  border: 1px solid rgba(120, 154, 163, 0.24) !important;
  border-radius: 10px !important;
  display: block !important;
  overflow: hidden !important;
}

#adminPanel .admin-file-preview img {
  aspect-ratio: 3 / 4 !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  object-fit: contain !important;
  width: 100% !important;
}

#adminPanel .admin-file-card.is-landscape .admin-file-preview img {
  aspect-ratio: 4 / 3 !important;
}

#adminPanel .admin-file-text {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

#adminPanel .admin-file-text strong {
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  font-size: 0.8rem !important;
  line-height: 1.16 !important;
  min-height: 1.85rem !important;
  overflow: hidden !important;
  white-space: normal !important;
}

#adminPanel .admin-file-text small {
  color: #64748b !important;
  display: block !important;
  font-size: 0.64rem !important;
  font-weight: 800 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel .admin-file-actions {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: center !important;
}

#adminPanel .admin-file-icon-button {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #0f766e !important;
  cursor: pointer !important;
  display: inline-flex !important;
  height: 34px !important;
  justify-content: center !important;
  padding: 0 !important;
  width: 34px !important;
}

#adminPanel .admin-file-delete-button {
  color: #be123c !important;
}

#adminPanel .admin-file-icon-button:hover {
  background: rgba(15, 118, 110, 0.08) !important;
}

#adminPanel .admin-file-delete-button:hover {
  background: rgba(225, 29, 72, 0.08) !important;
}

@media (max-width: 1260px) {
  #adminPanel .admin-account-row-pro {
    grid-template-columns: minmax(210px, 1fr) minmax(150px, 0.7fr) minmax(210px, 0.9fr) minmax(76px, 0.35fr) minmax(96px, 0.5fr) !important;
  }

  #adminPanel .admin-status-switch,
  #adminPanel .admin-action-bar {
    grid-column: span 2 !important;
  }
}

@media (max-width: 820px) {
  .brand-row {
    min-height: 104px !important;
    padding: 6px 12px !important;
  }

  .brand-row .brand-logo {
    height: 88px !important;
    width: min(94%, 300px) !important;
  }

  #adminPanel .admin-account-row-pro {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-status-switch,
  #adminPanel .admin-action-bar {
    grid-column: auto !important;
  }
}

/* answer-key-card-fix-v2 */
.answer-key-option {
  align-items: center !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 74%, #ffffff), #ffffff) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, #d9e8e6) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05) !important;
  cursor: pointer;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  min-height: 78px !important;
  padding: 15px 16px !important;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.answer-key-option:hover,
.answer-key-option:focus-within {
  border-color: var(--accent) !important;
  box-shadow: 0 14px 32px var(--accent-shadow) !important;
  transform: translateY(-1px);
}

body[data-document-type="handout"] .answer-key-option,
.answer-key-option[hidden] {
  display: none !important;
}

.answer-key-option input[type="checkbox"] {
  -webkit-appearance: none !important;
  accent-color: var(--accent);
  appearance: none !important;
  background: #ffffff !important;
  border: 2px solid color-mix(in srgb, var(--accent) 42%, #d0dde0) !important;
  border-radius: 12px !important;
  box-shadow: inset 0 0 0 4px #ffffff !important;
  cursor: pointer;
  display: grid !important;
  flex: 0 0 38px !important;
  height: 38px !important;
  margin: 0 !important;
  min-height: 38px !important;
  padding: 0 !important;
  place-items: center;
  position: relative;
  width: 38px !important;
}

.answer-key-option input[type="checkbox"]::after {
  border-bottom: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  content: "";
  height: 14px;
  opacity: 0;
  transform: rotate(45deg) translate(-1px, -2px);
  width: 8px;
}

.answer-key-option input[type="checkbox"]:checked {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 8px 18px var(--accent-shadow) !important;
}

.answer-key-option input[type="checkbox"]:checked::after {
  opacity: 1;
}

body[data-document-type="handout"] .result-actions-panel .secondary-button,
body[data-document-type="handout"] #makeSimilarButton,
body[data-document-type="handout"] #makeAnotherButton {
  background: color-mix(in srgb, var(--accent-soft) 86%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--accent) 58%, #ffffff) !important;
  box-shadow: none !important;
  color: var(--accent-dark) !important;
}

body[data-document-type="handout"] .result-actions-panel .secondary-button:hover,
body[data-document-type="handout"] #makeSimilarButton:hover,
body[data-document-type="handout"] #makeAnotherButton:hover {
  background: var(--accent-soft) !important;
  border-color: var(--accent) !important;
  color: var(--accent-dark) !important;
}

/* large-teacher-logo-v1 */
.brand-row {
  justify-content: center !important;
  min-height: 146px !important;
  padding: 12px 18px !important;
}

.brand-row .brand-logo {
  flex: 0 0 auto !important;
  height: 112px !important;
  max-height: calc(100% - 20px) !important;
  max-width: 94% !important;
  object-fit: contain !important;
  width: 360px !important;
}

@media (max-height: 820px) and (min-width: 760px) {
  .brand-row {
    min-height: 124px !important;
  }

  .brand-row .brand-logo {
    height: 92px !important;
    width: 320px !important;
  }
}

/* admin-console-pro-v1 */
#adminPanel.admin-panel {
  gap: 14px !important;
  max-width: min(1480px, calc(100vw - 32px)) !important;
}

.admin-account-list {
  display: block !important;
  overflow-x: auto !important;
  padding: 2px 2px 12px !important;
  scrollbar-color: rgba(15, 118, 110, 0.35) transparent !important;
}

.admin-account-table-pro {
  display: grid !important;
  gap: 8px !important;
  min-width: 1080px !important;
}

.admin-table-head-pro,
.admin-account-row-pro {
  display: grid !important;
  grid-template-columns: minmax(250px, 1.55fr) 174px 220px 84px 104px 132px 156px !important;
  gap: 10px !important;
  align-items: center !important;
}

.admin-table-head-pro {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  padding: 0 16px 2px !important;
  text-transform: uppercase !important;
}

.admin-account-row-pro {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(148, 179, 185, 0.34) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05) !important;
  padding: 12px 14px !important;
}

.admin-account-cell,
.admin-inline-control,
.admin-credit-control,
.admin-action-bar {
  align-items: center !important;
  display: flex !important;
  min-width: 0 !important;
}

.admin-account-cell {
  gap: 12px !important;
}

.admin-avatar {
  align-items: center !important;
  background: linear-gradient(135deg, #0f766e, #14b8a6) !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  display: inline-flex !important;
  flex: 0 0 44px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  height: 44px !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  width: 44px !important;
}

.admin-field {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}

.admin-field > span,
.admin-stat-pill span,
.admin-files-pill span {
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  overflow: visible !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.admin-field input,
.admin-inline-control button,
.admin-credit-control button,
.admin-stat-pill,
.admin-files-pill,
.admin-status-switch span,
.admin-action-bar button {
  border-radius: 12px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  height: 44px !important;
  line-height: 1 !important;
}

.admin-field input {
  background: #ffffff !important;
  border: 1px solid rgba(120, 154, 163, 0.36) !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  width: 100% !important;
}

.admin-inline-control {
  gap: 6px !important;
}

.admin-inline-control input {
  flex: 1 1 auto !important;
}

.admin-inline-control button,
.admin-credit-control button {
  background: #eefaf7 !important;
  border: 1px solid rgba(20, 184, 166, 0.25) !important;
  color: #0f766e !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  font-weight: 900 !important;
  padding: 0 12px !important;
}

.admin-credit-control {
  background: #f8fafc !important;
  border: 1px solid rgba(120, 154, 163, 0.28) !important;
  border-radius: 14px !important;
  gap: 4px !important;
  padding: 3px !important;
}

.admin-credit-control input {
  border: 0 !important;
  height: 36px !important;
  text-align: center !important;
}

.admin-credit-control button {
  height: 36px !important;
  min-width: 46px !important;
  padding: 0 8px !important;
}

.admin-stat-pill,
.admin-files-pill {
  align-items: center !important;
  background: #f8fafc !important;
  border: 1px solid rgba(120, 154, 163, 0.3) !important;
  color: #0f172a !important;
  display: grid !important;
  gap: 3px !important;
  justify-items: center !important;
  min-width: 0 !important;
  padding: 6px 8px !important;
  text-align: center !important;
  width: 100% !important;
}

.admin-stat-pill strong,
.admin-files-pill strong {
  font-size: 18px !important;
  font-weight: 900 !important;
}

.admin-files-pill {
  cursor: pointer !important;
}

.admin-files-pill small {
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.admin-files-pill:hover,
.admin-files-pill[aria-expanded='true'] {
  background: #ecfdf5 !important;
  border-color: rgba(20, 184, 166, 0.48) !important;
  color: #0f766e !important;
}

.admin-status-switch {
  cursor: pointer !important;
  min-width: 0 !important;
}

.admin-status-switch input {
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 1px !important;
}

.admin-status-switch span {
  align-items: center !important;
  background: #f1f5f9 !important;
  border: 1px solid rgba(120, 154, 163, 0.34) !important;
  color: #64748b !important;
  display: flex !important;
  gap: 9px !important;
  justify-content: center !important;
  padding: 0 12px !important;
  white-space: nowrap !important;
}

.admin-status-switch i {
  background: #94a3b8 !important;
  border-radius: 50% !important;
  flex: 0 0 12px !important;
  height: 12px !important;
  width: 12px !important;
}

.admin-status-switch strong {
  font-size: 13px !important;
  font-weight: 900 !important;
}

.admin-status-switch input:checked + span {
  background: #dff7ef !important;
  border-color: rgba(20, 184, 166, 0.55) !important;
  color: #0f766e !important;
}

.admin-status-switch input:checked + span i {
  background: #0f9f8f !important;
}

.admin-action-bar {
  gap: 8px !important;
  justify-content: flex-end !important;
}

.admin-action-bar button {
  border: 0 !important;
  cursor: pointer !important;
  flex: 1 1 0 !important;
  font-weight: 900 !important;
  min-width: 0 !important;
  padding: 0 14px !important;
  text-align: center !important;
}

.admin-save-action {
  background: #0f766e !important;
  color: #ffffff !important;
}

.admin-delete-action {
  background: #fff1f2 !important;
  color: #be123c !important;
}

.admin-inline-control button:hover,
.admin-credit-control button:hover,
.admin-save-action:hover {
  filter: brightness(0.96) !important;
  transform: translateY(-1px) !important;
}

.admin-delete-action:hover {
  background: #ffe4e6 !important;
}

.admin-row-message,
.admin-file-drawer {
  grid-column: 1 / -1 !important;
}

.admin-row-message {
  color: #0f766e !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  min-height: 0 !important;
  padding-left: 56px !important;
}

.admin-row-message:empty {
  display: none !important;
}

.admin-row-message.is-error {
  color: #be123c !important;
}

.admin-file-drawer {
  background: #f8fafc !important;
  border: 1px solid rgba(120, 154, 163, 0.22) !important;
  border-radius: 16px !important;
  margin-top: 2px !important;
  padding: 12px !important;
}

.admin-file-grid {
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
}

.admin-file-card {
  background: #ffffff !important;
  border: 1px solid rgba(120, 154, 163, 0.22) !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 8px !important;
  padding: 8px !important;
  text-decoration: none !important;
}

.admin-file-card img {
  aspect-ratio: 3 / 4 !important;
  border-radius: 10px !important;
  object-fit: contain !important;
  width: 100% !important;
}

.admin-empty-state,
.admin-empty-files {
  color: #64748b !important;
  font-weight: 800 !important;
  padding: 18px !important;
}

@media (max-width: 1180px) {
  .admin-account-table-pro {
    min-width: 0 !important;
  }

  .admin-table-head-pro {
    display: none !important;
  }

  .admin-account-row-pro {
    grid-template-columns: minmax(220px, 1fr) minmax(160px, 0.7fr) minmax(210px, 0.9fr) 86px 104px 132px !important;
  }

  .admin-action-bar {
    grid-column: 1 / -1 !important;
    justify-content: stretch !important;
  }
}

@media (max-width: 760px) {
  .admin-account-row-pro {
    grid-template-columns: 1fr !important;
  }

  .admin-row-message {
    padding-left: 0 !important;
  }
}

/* teacher-logo-tight-v1 */
.brand-row {
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 124px !important;
  padding: 4px 14px 8px !important;
}

.brand-row .brand-logo {
  height: 108px !important;
  width: 360px !important;
}

@media (max-height: 820px) and (min-width: 760px) {
  .brand-row {
    min-height: 104px !important;
    padding: 2px 12px 6px !important;
  }

  .brand-row .brand-logo {
    height: 92px !important;
    width: 320px !important;
  }
}

/* teacher-logo-compact-v2 */
.brand-row {
  align-items: center !important;
  box-sizing: border-box !important;
  display: flex !important;
  height: auto !important;
  justify-content: center !important;
  min-height: 0 !important;
  padding: 8px 14px !important;
}

.brand-row .brand-logo {
  display: block !important;
  height: clamp(104px, 13vh, 150px) !important;
  max-height: 150px !important;
  object-fit: contain !important;
  width: min(94%, 650px) !important;
}

@media (max-height: 820px) and (min-width: 760px) {
  .brand-row {
    padding: 6px 12px !important;
  }

  .brand-row .brand-logo {
    height: clamp(86px, 12vh, 118px) !important;
  }
}

/* admin-fit-files-v2 */
#adminPanel.admin-panel {
  max-width: min(1580px, calc(100vw - 24px)) !important;
  overflow-x: hidden !important;
}

#adminPanel .admin-account-list {
  overflow-x: hidden !important;
  padding-right: 0 !important;
}

#adminPanel .admin-account-table-pro {
  min-width: 0 !important;
  width: 100% !important;
}

#adminPanel .admin-table-head-pro {
  display: none !important;
}

#adminPanel .admin-account-row-pro {
  box-sizing: border-box !important;
  grid-template-columns: minmax(230px, 1.25fr) minmax(150px, 0.72fr) minmax(220px, 0.9fr) minmax(70px, 0.3fr) minmax(72px, 0.32fr) minmax(112px, 0.42fr) minmax(142px, 0.55fr) !important;
  max-width: 100% !important;
  overflow: hidden !important;
  width: 100% !important;
}

#adminPanel .admin-account-cell,
#adminPanel .admin-field,
#adminPanel .admin-inline-control,
#adminPanel .admin-credit-control,
#adminPanel .admin-action-bar {
  min-width: 0 !important;
}

#adminPanel .admin-action-bar {
  grid-column: auto !important;
}

#adminPanel .admin-action-bar button {
  height: 44px !important;
}

#adminPanel .admin-field input {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#adminPanel .admin-file-drawer {
  overflow: hidden !important;
}

#adminPanel .admin-file-grid {
  align-items: start !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
}

#adminPanel .admin-file-card {
  align-content: start !important;
  background: #ffffff !important;
  border: 1px solid rgba(120, 154, 163, 0.24) !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
  color: #0f172a !important;
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 8px !important;
  text-decoration: none !important;
}

#adminPanel .admin-file-preview {
  background: #f8fafc !important;
  border: 1px solid rgba(120, 154, 163, 0.24) !important;
  border-radius: 10px !important;
  display: block !important;
  overflow: hidden !important;
}

#adminPanel .admin-file-preview img {
  aspect-ratio: 3 / 4 !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  object-fit: contain !important;
  width: 100% !important;
}

#adminPanel .admin-file-card.is-landscape .admin-file-preview img {
  aspect-ratio: 4 / 3 !important;
}

#adminPanel .admin-file-text {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

#adminPanel .admin-file-text strong {
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  font-size: 0.8rem !important;
  line-height: 1.16 !important;
  min-height: 1.85rem !important;
  overflow: hidden !important;
  white-space: normal !important;
}

#adminPanel .admin-file-text small {
  color: #64748b !important;
  display: block !important;
  font-size: 0.64rem !important;
  font-weight: 800 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel .admin-file-actions {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: center !important;
}

#adminPanel .admin-file-icon-button {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #0f766e !important;
  cursor: pointer !important;
  display: inline-flex !important;
  height: 34px !important;
  justify-content: center !important;
  padding: 0 !important;
  width: 34px !important;
}

#adminPanel .admin-file-delete-button {
  color: #be123c !important;
}

#adminPanel .admin-file-icon-button:hover {
  background: rgba(15, 118, 110, 0.08) !important;
}

#adminPanel .admin-file-delete-button:hover {
  background: rgba(225, 29, 72, 0.08) !important;
}

@media (max-width: 1260px) {
  #adminPanel .admin-account-row-pro {
    grid-template-columns: minmax(210px, 1fr) minmax(150px, 0.7fr) minmax(210px, 0.9fr) minmax(76px, 0.35fr) minmax(96px, 0.5fr) !important;
  }

  #adminPanel .admin-status-switch,
  #adminPanel .admin-action-bar {
    grid-column: span 2 !important;
  }
}

@media (max-width: 780px) {
  #adminPanel .admin-account-row-pro {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-status-switch,
  #adminPanel .admin-action-bar {
    grid-column: auto !important;
  }
}

/* preview-zoom-v1 */
.output-toolbar {
  flex-wrap: wrap !important;
}

.preview-zoom-controls {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  gap: 4px !important;
  margin-left: auto !important;
  padding: 4px !important;
}

.preview-zoom-controls button {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--accent-dark) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  height: 34px !important;
  justify-content: center !important;
  min-width: 34px !important;
  padding: 0 10px !important;
}

.preview-zoom-controls button:hover {
  background: var(--accent-soft) !important;
}

#previewZoomLabel {
  color: var(--muted) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  min-width: 42px !important;
  text-align: center !important;
}

.preview-stage {
  overflow: auto !important;
}

.preview-stage.has-zoomed-preview {
  align-items: start !important;
  justify-items: center !important;
  place-items: start center !important;
}

#generatedImage {
  transition: width 0.16s ease, max-width 0.16s ease, max-height 0.16s ease !important;
}

/* final-deploy-qa-polish-v1 */
.brand-row { align-items: center !important; box-sizing: border-box !important; display: flex !important; justify-content: center !important; min-height: 132px !important; padding: 8px 16px !important; }
.brand-row .brand-logo { display: block !important; height: 112px !important; max-height: 116px !important; object-fit: contain !important; width: min(94%, 380px) !important; }
#adminPanel.admin-panel { max-width: min(1580px, calc(100vw - 24px)) !important; overflow-x: hidden !important; }
#adminPanel .admin-account-list, #adminPanel .admin-account-table-pro { max-width: 100% !important; min-width: 0 !important; overflow-x: hidden !important; width: 100% !important; }
#adminPanel .admin-table-head-pro { display: none !important; }
#adminPanel .admin-account-row-pro { box-sizing: border-box !important; gap: 8px !important; grid-template-columns: minmax(210px, 1.2fr) minmax(148px, 0.72fr) minmax(218px, 0.95fr) minmax(66px, 0.28fr) minmax(72px, 0.3fr) minmax(112px, 0.42fr) minmax(136px, 0.5fr) !important; max-width: 100% !important; overflow: hidden !important; width: 100% !important; }
#adminPanel .admin-account-cell, #adminPanel .admin-field, #adminPanel .admin-inline-control, #adminPanel .admin-credit-control, #adminPanel .admin-action-bar { min-width: 0 !important; }
#adminPanel .admin-action-bar { display: grid !important; gap: 6px !important; grid-column: auto !important; grid-template-columns: 1fr 1fr !important; }
#adminPanel .admin-field input { min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; }
#adminPanel .admin-file-drawer { overflow: hidden !important; }
#adminPanel .admin-file-grid { align-items: start !important; display: grid !important; gap: 12px !important; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important; }
#adminPanel .admin-file-card { align-content: start !important; box-sizing: border-box !important; min-width: 0 !important; overflow: hidden !important; }
#adminPanel .admin-file-actions { align-items: center !important; display: flex !important; gap: 12px !important; justify-content: center !important; }
#adminPanel .admin-file-icon-button { align-items: center !important; background: transparent !important; border: 0 !important; border-radius: 999px !important; cursor: pointer !important; display: inline-flex !important; height: 34px !important; justify-content: center !important; padding: 0 !important; width: 34px !important; }
#adminPanel .admin-file-delete-button { color: #be123c !important; }
@media (max-width: 1260px) {
  #adminPanel .admin-account-row-pro { grid-template-columns: minmax(210px, 1fr) minmax(150px, 0.7fr) minmax(210px, 0.9fr) minmax(76px, 0.35fr) minmax(96px, 0.5fr) !important; }
  #adminPanel .admin-status-switch, #adminPanel .admin-action-bar { grid-column: span 2 !important; }
}
@media (max-width: 820px) {
  .brand-row { min-height: 104px !important; padding: 6px 12px !important; }
  .brand-row .brand-logo { height: 88px !important; width: min(94%, 300px) !important; }
  #adminPanel .admin-account-row-pro { grid-template-columns: 1fr !important; }
  #adminPanel .admin-status-switch, #adminPanel .admin-action-bar { grid-column: auto !important; }
}



/* teacher-preview-drawer-polish-v3 */
@media (min-width: 760px) {
  .app-shell:not(.admin-mode):not(.history-expanded) {
    grid-template-columns: minmax(330px, 420px) minmax(0, 1fr) 0 !important;
  }

  .app-shell:not(.history-expanded) #outputPanel,
  .app-shell:not(.history-expanded) .output-panel {
    padding-right: 18px !important;
  }

  .app-shell:not(.history-expanded) #historyPanel,
  .app-shell:not(.history-expanded) .history-panel {
    bottom: 0 !important;
    height: 100vh !important;
    left: auto !important;
    max-width: 78px !important;
    min-width: 78px !important;
    overflow: hidden auto !important;
    padding: 12px 8px !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    width: 78px !important;
    z-index: 9000 !important;
  }

  .app-shell:not(.history-expanded) .history-heading > div:first-child,
  .app-shell:not(.history-expanded) .history-heading h2,
  .app-shell:not(.history-expanded) .folder-tools,
  .app-shell:not(.history-expanded) .history-search-row,
  .app-shell:not(.history-expanded) .library-tools,
  .app-shell:not(.history-expanded) .history-empty,
  .app-shell:not(.history-expanded) .history-check,
  .app-shell:not(.history-expanded) .history-info,
  .app-shell:not(.history-expanded) .history-actions {
    display: none !important;
  }

  .app-shell:not(.history-expanded) #historyCount {
    display: grid !important;
    height: 42px !important;
    margin: 0 auto 10px !important;
    min-width: 42px !important;
    place-items: center !important;
    text-align: center !important;
    width: 42px !important;
  }

  .app-shell:not(.history-expanded) .history-list {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: block !important;
    height: auto !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-open {
    background: #ffffff !important;
    border: 1px solid rgba(106, 139, 148, 0.28) !important;
    border-radius: 12px !important;
    display: grid !important;
    min-height: 64px !important;
    overflow: hidden !important;
    padding: 4px !important;
    place-items: center !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    content: none !important;
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-thumb {
    background: #f8fbfa !important;
    border-radius: 9px !important;
    display: block !important;
    height: auto !important;
    max-height: 66px !important;
    max-width: 58px !important;
    object-fit: contain !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-portrait {
    aspect-ratio: 1 / 1.414 !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
  }

  .app-shell:not(.history-expanded) .history-expand-button {
    left: calc(100vw - 106px) !important;
    z-index: 9500 !important;
  }

  #loadingOverlay:not([hidden]) #generationWaitCard,
  #loadingOverlay:not([hidden]) .generation-wait-card,
  .loading-overlay:not([hidden]) #generationWaitCard,
  .loading-overlay:not([hidden]) .generation-wait-card {
    display: grid !important;
  }
}

/* teacher-preview-drawer-polish-v4 */
@media (min-width: 760px) {
  .app-shell:not(.admin-mode):not(.history-expanded) {
    grid-template-columns: minmax(330px, 420px) minmax(0, 1fr) 0 !important;
  }

  .app-shell:not(.history-expanded) #outputPanel,
  .app-shell:not(.history-expanded) .output-panel {
    padding-right: 126px !important;
  }

  .app-shell:not(.history-expanded) #historyPanel,
  .app-shell:not(.history-expanded) .history-panel {
    bottom: 0 !important;
    height: 100vh !important;
    left: auto !important;
    max-width: 108px !important;
    min-width: 108px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 14px 10px 18px !important;
    position: fixed !important;
    right: 0 !important;
    scrollbar-width: thin !important;
    top: 0 !important;
    width: 108px !important;
    z-index: 9000 !important;
  }

  .app-shell:not(.history-expanded) .history-heading {
    display: grid !important;
    justify-items: center !important;
    padding: 0 0 12px !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) #historyCount {
    display: grid !important;
    height: 46px !important;
    margin: 0 auto 12px !important;
    min-width: 46px !important;
    place-items: center !important;
    text-align: center !important;
    width: 46px !important;
  }

  .app-shell:not(.history-expanded) .history-list {
    align-content: start !important;
    display: grid !important;
    gap: 14px !important;
    grid-auto-rows: max-content !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    overflow: visible !important;
    padding: 0 0 18px !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: block !important;
    height: 82px !important;
    min-height: 82px !important;
    padding: 0 !important;
    width: 78px !important;
  }

  .app-shell:not(.history-expanded) .history-open {
    background: #ffffff !important;
    border: 1px solid rgba(106, 139, 148, 0.28) !important;
    border-radius: 14px !important;
    display: grid !important;
    height: 82px !important;
    min-height: 82px !important;
    overflow: hidden !important;
    padding: 6px !important;
    place-items: center !important;
    position: relative !important;
    width: 78px !important;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    content: none !important;
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-thumb {
    background: #f8fbfa !important;
    border-radius: 10px !important;
    display: block !important;
    height: 70px !important;
    max-height: 70px !important;
    max-width: 58px !important;
    object-fit: contain !important;
    position: relative !important;
    width: 58px !important;
    z-index: 1 !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-portrait {
    aspect-ratio: 1 / 1.414 !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
    height: 46px !important;
    max-height: 46px !important;
    width: 66px !important;
    max-width: 66px !important;
  }

  .app-shell:not(.history-expanded) .history-expand-button {
    left: calc(100vw - 136px) !important;
    z-index: 9500 !important;
  }
}

@keyframes armResourceSpin {
  to { transform: rotate(360deg); }
}

.history-open.is-loading-image::after,
.preview-stage.is-image-loading::after {
  animation: armResourceSpin 0.85s linear infinite;
  border: 3px solid rgba(13, 128, 118, 0.16);
  border-top-color: var(--accent);
  border-radius: 999px;
  content: "";
  display: block;
  height: 28px;
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 50%;
  width: 28px;
  z-index: 4;
}

.history-open.is-loading-image::after {
  margin-left: -14px;
  margin-top: -14px;
}

.history-open.is-loading-image .history-thumb {
  opacity: 0.24;
}

.preview-stage {
  position: relative !important;
}

.preview-stage.is-image-loading::after {
  height: 44px;
  margin-left: -22px;
  margin-top: -22px;
  width: 44px;
}

/* teacher-preview-drawer-open-restore-v7 */
@media (min-width: 760px) {
  .app-shell.history-expanded:not(.admin-mode) .history-panel {
    background: rgba(255, 255, 255, 0.985) !important;
    border-left: 1px solid var(--line) !important;
    box-shadow: -26px 0 60px rgba(19, 33, 43, 0.18) !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 22px !important;
    width: min(800px, calc(100vw - 270px)) !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-list {
    align-content: start !important;
    display: grid !important;
    gap: 14px !important;
    grid-auto-rows: auto !important;
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)) !important;
    justify-items: stretch !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 0 24px !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-item {
    align-content: start !important;
    background: rgba(247, 251, 251, 0.96) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 8px 18px rgba(19, 33, 43, 0.06) !important;
    display: grid !important;
    gap: 8px !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 9px !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-check {
    display: grid !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-open {
    align-content: start !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    display: grid !important;
    gap: 8px !important;
    height: auto !important;
    justify-content: stretch !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    place-items: stretch !important;
    text-align: left !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-thumb {
    aspect-ratio: 1 / 1.414 !important;
    background: #ffffff !important;
    border: 1px solid var(--line) !important;
    border-radius: 8px !important;
    display: block !important;
    height: auto !important;
    max-height: 160px !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: top center !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
    max-height: 110px !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-info {
    display: grid !important;
    gap: 3px !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-info strong {
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    font-size: 13px !important;
    line-height: 1.18 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-actions {
    align-items: center !important;
    display: flex !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    margin-top: 2px !important;
  }
}

@media (max-width: 920px) and (min-width: 760px) {
  .app-shell.history-expanded:not(.admin-mode) .history-panel {
    width: min(680px, calc(100vw - 190px)) !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-list {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  }
}

/* saved-document-open-loading-v1 */
body.is-generating #loadingOverlay:not([hidden]) .generation-wait-card,
#loadingOverlay:not([hidden]) .generation-wait-card,
.loading-overlay:not([hidden]) .generation-wait-card,
.generation-wait-card {
  display: none !important;
}

.history-open.is-opening-saved::after {
  animation: armResourceSpinV5 0.85s linear infinite !important;
  border: 3px solid rgba(13, 128, 118, 0.16) !important;
  border-radius: 999px !important;
  border-top-color: var(--accent) !important;
  content: '' !important;
  display: block !important;
  height: 28px !important;
  left: 50% !important;
  margin-left: -14px !important;
  margin-top: -14px !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 50% !important;
  width: 28px !important;
  z-index: 8 !important;
}

.history-open.is-opening-saved .history-thumb {
  opacity: 0.28 !important;
}

/* saved-document-open-loading-v2 */
.history-open.is-opening-saved,
.history-open.is-loading-image {
  overflow: visible !important;
  position: relative !important;
}

.history-open.is-opening-saved::after,
.history-open.is-loading-image::after {
  animation: armResourceSpin 0.85s linear infinite !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 3px solid rgba(13, 128, 118, 0.18) !important;
  border-radius: 999px !important;
  border-top-color: var(--accent) !important;
  box-shadow: 0 8px 22px rgba(19, 33, 43, 0.18) !important;
  content: '' !important;
  display: block !important;
  height: 30px !important;
  left: 50% !important;
  margin-left: -15px !important;
  margin-top: -15px !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 50% !important;
  width: 30px !important;
  z-index: 30 !important;
}

.history-open.is-opening-saved .history-thumb,
.history-open.is-loading-image .history-thumb {
  opacity: 0.24 !important;
}

.preview-stage.is-image-loading::after {
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 10px 28px rgba(19, 33, 43, 0.18) !important;
  z-index: 25 !important;
}

/* saved-document-open-loading-v3 */
.history-open.is-opening-saved::after,
.history-open.is-loading-image::after {
  content: none !important;
  display: none !important;
}

.history-open.is-opening-saved .history-thumb,
.history-open.is-loading-image .history-thumb {
  opacity: 1 !important;
}

/* resource-button-fit-polish-v2 */
.choice-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.choice-card-grid .choice-card[data-field="documentType"],
.choice-card-grid .choice-card[data-field="documentType"].is-selected {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  justify-content: center !important;
  min-height: 84px !important;
  min-width: 0 !important;
  padding: 8px 5px !important;
  text-align: center !important;
}

.choice-card-grid .choice-card[data-field="documentType"] > span:last-child {
  display: grid !important;
  gap: 1px !important;
  justify-items: center !important;
  min-width: 0 !important;
  width: 100% !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .choice-icon,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .choice-icon {
  flex: 0 0 46px !important;
  height: 46px !important;
  width: 46px !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .doc-icon::before,
.choice-card-grid .choice-card[data-field="documentType"] .handout-icon::before,
.choice-card-grid .choice-card[data-field="documentType"] .enhance-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .doc-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .handout-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .enhance-icon::before {
  height: 34px !important;
  width: 34px !important;
}

.choice-card-grid .choice-card[data-field="documentType"] strong,
.choice-card-grid .choice-card[data-field="documentType"].is-selected strong {
  font-size: clamp(0.72rem, 2.1vw, 0.88rem) !important;
  line-height: 0.96 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  white-space: normal !important;
}

.choice-card-grid .choice-card[data-field="documentType"] small,
.choice-card-grid .choice-card[data-field="documentType"].is-selected small {
  font-size: 0.62rem !important;
  line-height: 1.05 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  white-space: normal !important;
}

.original-layout-button {
  min-height: 62px !important;
  padding: 8px 12px !important;
}

.original-layout-button > span {
  font-size: 0.92rem !important;
  line-height: 1 !important;
}

#originalSizeButton.original-layout-button {
  min-height: 62px !important;
  padding: 8px 12px !important;
}

/* resource-button-fit-polish-v1 */
.choice-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.choice-card-grid .choice-card[data-field="documentType"],
.choice-card-grid .choice-card[data-field="documentType"].is-selected {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  justify-content: center !important;
  min-height: 84px !important;
  min-width: 0 !important;
  padding: 8px 5px !important;
  text-align: center !important;
}

.choice-card-grid .choice-card[data-field="documentType"] > span:last-child {
  display: grid !important;
  gap: 1px !important;
  justify-items: center !important;
  min-width: 0 !important;
  width: 100% !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .choice-icon,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .choice-icon {
  flex: 0 0 42px !important;
  height: 42px !important;
  width: 42px !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .doc-icon::before,
.choice-card-grid .choice-card[data-field="documentType"] .handout-icon::before,
.choice-card-grid .choice-card[data-field="documentType"] .enhance-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .doc-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .handout-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .enhance-icon::before {
  height: 30px !important;
  width: 30px !important;
}

.choice-card-grid .choice-card[data-field="documentType"] strong,
.choice-card-grid .choice-card[data-field="documentType"].is-selected strong {
  font-size: clamp(0.72rem, 2.1vw, 0.88rem) !important;
  line-height: 0.96 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  white-space: normal !important;
}

.choice-card-grid .choice-card[data-field="documentType"] small,
.choice-card-grid .choice-card[data-field="documentType"].is-selected small {
  font-size: 0.62rem !important;
  line-height: 1.05 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  white-space: normal !important;
}

.original-layout-button {
  min-height: 62px !important;
  padding: 8px 12px !important;
}

.original-layout-button > span {
  font-size: 0.92rem !important;
  line-height: 1 !important;
}

/* resource-icon-theme-polish-v1 */
.choice-card-grid .choice-card[data-field="documentType"] {
  --resource-card-accent: #0f766e;
  --resource-card-dark: #0a5d57;
  --resource-card-soft: #dff5f1;
  --resource-card-shadow: rgba(15, 118, 110, 0.18);
  background: linear-gradient(135deg, color-mix(in srgb, var(--resource-card-soft) 76%, #ffffff), #ffffff) !important;
  border-color: color-mix(in srgb, var(--resource-card-accent) 38%, var(--line)) !important;
  color: var(--resource-card-dark) !important;
}

.choice-card-grid .choice-card[data-value="handout"] {
  --resource-card-accent: #ea580c;
  --resource-card-dark: #9a3412;
  --resource-card-soft: #ffedd5;
  --resource-card-shadow: rgba(234, 88, 12, 0.2);
}

.choice-card-grid .choice-card[data-value="enhance"] {
  --resource-card-accent: #2563eb;
  --resource-card-dark: #1d4ed8;
  --resource-card-soft: #dbeafe;
  --resource-card-shadow: rgba(37, 99, 235, 0.2);
}

.choice-card-grid .choice-card[data-field="documentType"] strong,
.choice-card-grid .choice-card[data-field="documentType"].is-selected strong {
  color: var(--resource-card-dark) !important;
}

.choice-card-grid .choice-card[data-field="documentType"] small,
.choice-card-grid .choice-card[data-field="documentType"].is-selected small {
  color: color-mix(in srgb, var(--resource-card-dark) 76%, var(--muted)) !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .choice-icon,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .choice-icon {
  background: color-mix(in srgb, var(--resource-card-soft) 78%, #ffffff) !important;
  color: var(--resource-card-accent) !important;
}

.choice-card-grid .choice-card[data-field="documentType"].is-selected {
  background: linear-gradient(135deg, var(--resource-card-soft), #ffffff) !important;
  border-color: var(--resource-card-accent) !important;
  box-shadow: 0 12px 24px var(--resource-card-shadow) !important;
  color: var(--resource-card-dark) !important;
}

.choice-card-grid .choice-card[data-field="documentType"]:hover {
  border-color: var(--resource-card-accent) !important;
  box-shadow: 0 12px 24px var(--resource-card-shadow) !important;
}

.choice-card-grid .doc-icon {
  --resource-icon-url: url("/icons/document-add.svg?v=20260524a") !important;
}

.choice-card-grid .handout-icon {
  --resource-icon-url: url("/icons/feed.svg?v=20260524a") !important;
}

.choice-card-grid .doc-icon::before,
.choice-card-grid .handout-icon::before,
.choice-card-grid .choice-card.is-selected .doc-icon::before,
.choice-card-grid .choice-card.is-selected .handout-icon::before {
  background: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  content: "" !important;
  display: block !important;
  height: 24px !important;
  -webkit-mask: var(--resource-icon-url) center / contain no-repeat !important;
  mask: var(--resource-icon-url) center / contain no-repeat !important;
  width: 24px !important;
}

.choice-card-grid .doc-icon::after,
.choice-card-grid .handout-icon::after,
.choice-card-grid .choice-card.is-selected .doc-icon::after,
.choice-card-grid .choice-card.is-selected .handout-icon::after {
  content: none !important;
  display: none !important;
}

.enhance-drop-icon {
  background: color-mix(in srgb, #dbeafe 74%, #ffffff) !important;
  border: 1px solid color-mix(in srgb, #2563eb 22%, var(--line)) !important;
  border-radius: 14px !important;
  color: #2563eb !important;
}

.enhance-drop-icon::before {
  background: currentColor !important;
  border: 0 !important;
  content: "" !important;
  height: 28px !important;
  left: 50% !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  -webkit-mask: url("/icons/archive-up.svg?v=20260524a") center / contain no-repeat !important;
  mask: url("/icons/archive-up.svg?v=20260524a") center / contain no-repeat !important;
  width: 28px !important;
}

.enhance-drop-icon::after {
  content: none !important;
  display: none !important;
}

/* enhance-test-mode-v1 */
body[data-document-type="enhance"] {
  --accent: #2563eb;
  --accent-dark: #1d4ed8;
  --accent-soft: #dbeafe;
  --accent-shadow: rgba(37, 99, 235, 0.24);
}

.enhance-icon::before {
  width: 20px;
  height: 24px;
  border: 2px solid currentColor;
  border-radius: 4px;
}

.enhance-icon::after {
  width: 18px;
  height: 18px;
  background:
    linear-gradient(currentColor, currentColor) center / 2px 18px no-repeat,
    linear-gradient(currentColor, currentColor) center / 18px 2px no-repeat;
  border-radius: 999px;
  transform: rotate(45deg);
}

.enhance-panel {
  display: grid;
  gap: 10px;
}

.enhance-panel[hidden],
#enhanceChoiceButton[hidden] {
  display: none !important;
}

.enhance-upload-block input[type="file"] {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  display: flex;
  font-weight: 750;
  min-height: 46px;
  padding: 10px;
  width: 100%;
}

.enhance-upload-block small {
  color: var(--muted);
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 6px;
}

.enhance-check-grid {
  display: grid;
  gap: 8px;
}

.enhance-check-option {
  align-items: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 72%, #ffffff), #ffffff);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line));
  border-radius: 14px;
  color: var(--accent-dark);
  cursor: pointer;
  display: grid;
  font-size: 0.86rem;
  font-weight: 850;
  gap: 10px;
  grid-template-columns: 28px minmax(0, 1fr);
  min-height: 44px;
  padding: 8px 10px;
}

.enhance-check-option input {
  accent-color: var(--accent);
  height: 22px;
  margin: 0;
  width: 22px;
}

body[data-document-type="enhance"] #generateButton,
body[data-document-type="enhance"] #showRevisionEditorButton,
body[data-document-type="enhance"] #revisionButton {
  background: linear-gradient(135deg, #2563eb, #0ea5e9) !important;
  border-color: #2563eb !important;
  box-shadow: 0 16px 32px rgba(37, 99, 235, 0.22) !important;
}

body[data-document-type="enhance"] .choice-card.is-selected,
body[data-document-type="enhance"] .choice-button.is-selected {
  background: #dbeafe !important;
  border-color: #2563eb !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.22) !important;
  color: #1d4ed8 !important;
}

body[data-document-type="enhance"] .choice-card:focus-visible,
body[data-document-type="enhance"] .choice-button:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.36) !important;
  outline-offset: 2px !important;
}

body[data-document-type="enhance"] .choice-card.is-selected .choice-icon {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #1d4ed8 !important;
}

/* enhance-test-mode-v2 */
.choice-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.choice-card-grid .choice-card,
.choice-card-grid .choice-card.is-selected {
  gap: 7px !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  min-height: 66px !important;
  padding: 8px !important;
}

.choice-card-grid .choice-icon,
.choice-card-grid .choice-card.is-selected .choice-icon {
  height: 32px !important;
  width: 32px !important;
}

.choice-card-grid .choice-card strong,
.choice-card-grid .choice-card.is-selected strong {
  font-size: 0.82rem !important;
  white-space: nowrap !important;
}

.choice-card-grid .choice-card small,
.choice-card-grid .choice-card.is-selected small {
  font-size: 0.66rem !important;
  line-height: 1.05 !important;
  margin-top: 2px !important;
}

.enhance-drop-zone {
  align-items: center;
  aspect-ratio: 1 / 1;
  background: linear-gradient(145deg, #eff6ff, #ffffff);
  border: 2px dashed color-mix(in srgb, var(--accent) 42%, var(--line));
  border-radius: 18px;
  color: var(--accent-dark);
  cursor: pointer;
  display: grid;
  justify-items: center;
  min-height: 150px;
  padding: 16px;
  text-align: center;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.enhance-drop-zone:hover,
.enhance-drop-zone:focus-visible,
.enhance-drop-zone.is-dragging {
  border-color: var(--accent);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.2);
  outline: none;
  transform: translateY(-1px);
}

.enhance-drop-zone.has-file {
  background: linear-gradient(145deg, #dbeafe, #ffffff);
  border-style: solid;
}

.enhance-drop-icon {
  border: 3px solid currentColor;
  border-radius: 14px;
  height: 48px;
  position: relative;
  width: 48px;
}

.enhance-drop-icon::before {
  border-left: 3px solid currentColor;
  border-top: 3px solid currentColor;
  content: "";
  height: 16px;
  left: 50%;
  position: absolute;
  top: 11px;
  transform: translateX(-50%) rotate(45deg);
  width: 16px;
}

.enhance-drop-icon::after {
  background: currentColor;
  content: "";
  height: 22px;
  left: 50%;
  position: absolute;
  top: 14px;
  transform: translateX(-50%);
  width: 3px;
}

.enhance-drop-zone strong {
  font-size: 1rem;
  font-weight: 900;
}

.enhance-drop-zone small,
.enhance-file-name {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.25;
}

.enhance-file-name {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-document-type="enhance"] .size-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body[data-document-type="enhance"] .size-row .choice-button {
  font-size: 0.72rem !important;
  min-height: 38px !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
}

body[data-document-type="enhance"] .step-mark,
body[data-document-type="enhance"] .show-folder-create,
body[data-document-type="enhance"] .folder-create-button,
body[data-document-type="enhance"] .library-filter-toggle,
body[data-document-type="enhance"] .history-expand-button {
  background: linear-gradient(135deg, #2563eb, #0ea5e9) !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

body[data-document-type="enhance"] .summary-strip,
body[data-document-type="enhance"] .answer-key-option,
body[data-document-type="enhance"] .advanced-settings,
body[data-document-type="enhance"] .input-block input:focus,
body[data-document-type="enhance"] .input-block textarea:focus,
body[data-document-type="enhance"] .input-block select:focus {
  border-color: color-mix(in srgb, #2563eb 42%, var(--line)) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

body:not([data-document-type="enhance"]) .original-size-button[hidden],
body[data-document-type="worksheet"] .original-size-button,
body[data-document-type="handout"] .original-size-button {
  display: none !important;
}

/* enhance-polish-v1 */
.choice-card-grid .enhance-icon::before,
.choice-card-grid .choice-card.is-selected .enhance-icon::before {
  background: currentColor !important;
  border: 0 !important;
  content: "" !important;
  display: block !important;
  height: 24px !important;
  -webkit-mask: url("/icons/enhance.svg") center / contain no-repeat;
  mask: url("/icons/enhance.svg") center / contain no-repeat;
  width: 24px !important;
}

.choice-card-grid .enhance-icon::after,
.choice-card-grid .choice-card.is-selected .enhance-icon::after {
  display: none !important;
}

.original-layout-wrap {
  margin-top: 10px;
}

#originalLayoutWrap[hidden],
#originalSizeButton[hidden],
body:not([data-document-type="enhance"]) #originalLayoutWrap {
  display: none !important;
}

.original-layout-button {
  align-items: center;
  display: grid !important;
  gap: 2px;
  justify-items: center;
  min-height: 48px !important;
  width: 100%;
}

.original-layout-button small {
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.1;
}

body.enhance-original-layout .size-row .choice-button,
body.enhance-original-layout .orientation-row .choice-button {
  background: #ffffff !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
  color: var(--ink) !important;
}

body.enhance-original-layout .orientation-row {
  opacity: 0.58;
}

body[data-document-type="enhance"] #makeSimilarButton,
body[data-document-type="enhance"] #makeAnotherButton {
  background: linear-gradient(135deg, #eff6ff, #dbeafe) !important;
  border-color: #2563eb !important;
  color: #1d4ed8 !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.13) !important;
}

body[data-document-type="enhance"] #makeSimilarButton:hover,
body[data-document-type="enhance"] #makeAnotherButton:hover {
  background: linear-gradient(135deg, #dbeafe, #bfdbfe) !important;
}

.enhance-drop-zone {
  aspect-ratio: auto !important;
  gap: 3px 12px !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  justify-items: start !important;
  min-height: 88px !important;
  padding: 12px 14px !important;
  text-align: left !important;
}

.enhance-drop-icon {
  grid-row: 1 / 4 !important;
  height: 38px !important;
  width: 38px !important;
}

.enhance-drop-zone strong,
.enhance-drop-zone small,
.enhance-drop-zone .enhance-file-name {
  max-width: 100%;
  min-width: 0;
}

.enhance-drop-zone.has-file {
  background: linear-gradient(135deg, #eff6ff, #ffffff) !important;
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.11) !important;
}

.enhance-drop-zone.has-file .enhance-file-name {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(37, 99, 235, 0.22);
  border-radius: 999px;
  color: #1d4ed8 !important;
  display: inline-flex;
  font-size: 0.72rem !important;
  gap: 6px;
  margin-top: 2px;
  max-width: 100%;
  padding: 5px 9px;
}

.enhance-drop-zone.has-file .enhance-file-name::before {
  background: #2563eb;
  border-radius: 3px;
  content: "";
  flex: 0 0 auto;
  height: 12px;
  width: 9px;
}

/* generation-loading-note-width-v2 */
#loadingOverlay #loadingHint,
.loading-overlay #loadingHint {
  display: block !important;
  line-height: 1.35 !important;
  margin: 10px auto 0 !important;
  max-width: min(44ch, calc(100% - 48px)) !important;
  text-align: center !important;
  white-space: pre-line !important;
  width: fit-content !important;
}

/* generation-loading-note-width-v1 */
#loadingOverlay #loadingHint,
.loading-overlay #loadingHint {
  display: block !important;
  line-height: 1.35 !important;
  margin: 10px auto 0 !important;
  max-width: min(620px, calc(100% - 48px)) !important;
  text-align: center !important;
}

/* preview-spinner-final-v1 */
.preview-stage.is-image-loading::after {
  animation-name: armPreviewSpinnerSpin !important;
  animation-duration: 0.7s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-play-state: running !important;
  background: conic-gradient(from 0deg, rgba(12, 128, 118, 0), rgba(12, 128, 118, 0.18), var(--accent), #f59e0b, rgba(12, 128, 118, 0)) !important;
  border: 0 !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) rotate(0deg);
}

/* saved-document-open-loading-v5 */
@keyframes armPreviewSpinnerSpin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.preview-stage.is-image-loading::after {
  animation-delay: 0s !important;
  animation-direction: normal !important;
  animation-duration: 0.7s !important;
  animation-fill-mode: none !important;
  animation-iteration-count: infinite !important;
  animation-name: armPreviewSpinnerSpin !important;
  animation-play-state: running !important;
  animation-timing-function: linear !important;
  background: conic-gradient(from 0deg, rgba(12, 128, 118, 0), rgba(12, 128, 118, 0.18), var(--accent), #f59e0b, rgba(12, 128, 118, 0)) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 28px rgba(19, 33, 43, 0.18) !important;
  content: '' !important;
  display: block !important;
  height: 46px !important;
  left: 50% !important;
  margin: 0 !important;
  mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px)) !important;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px)) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) rotate(0deg);
  transform-origin: center center !important;
  width: 46px !important;
  will-change: transform !important;
  z-index: 35 !important;
}

.preview-stage.is-image-loading::after {
  animation: armResourceSpin 0.85s linear infinite !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 3px solid rgba(13, 128, 118, 0.18) !important;
  border-radius: 999px !important;
  border-top-color: var(--accent) !important;
  box-shadow: 0 10px 28px rgba(19, 33, 43, 0.18) !important;
  content: '' !important;
  display: block !important;
  height: 44px !important;
  left: 50% !important;
  margin-left: -22px !important;
  margin-top: -22px !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 50% !important;
  width: 44px !important;
  z-index: 25 !important;
}

/* saved-document-open-loading-v4 */
.history-open.is-opening-saved::after,
.history-open.is-loading-image::after {
  animation: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  inset: auto !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: static !important;
  transform: none !important;
  width: 0 !important;
}

.history-open.is-opening-saved .history-thumb,
.history-open.is-loading-image .history-thumb {
  opacity: 1 !important;
}

/* resource-button-fit-polish-v3 */
.choice-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.choice-card-grid .choice-card[data-field="documentType"],
.choice-card-grid .choice-card[data-field="documentType"].is-selected {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  justify-content: center !important;
  min-height: 84px !important;
  min-width: 0 !important;
  padding: 8px 5px !important;
  text-align: center !important;
}

.choice-card-grid .choice-card[data-field="documentType"] > span:last-child {
  display: grid !important;
  gap: 1px !important;
  justify-items: center !important;
  min-width: 0 !important;
  width: 100% !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .choice-icon,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .choice-icon {
  flex: 0 0 46px !important;
  height: 46px !important;
  width: 46px !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .doc-icon::before,
.choice-card-grid .choice-card[data-field="documentType"] .handout-icon::before,
.choice-card-grid .choice-card[data-field="documentType"] .enhance-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .doc-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .handout-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .enhance-icon::before {
  height: 34px !important;
  width: 34px !important;
}

.choice-card-grid .choice-card[data-field="documentType"] strong,
.choice-card-grid .choice-card[data-field="documentType"].is-selected strong {
  font-size: clamp(0.72rem, 2.1vw, 0.88rem) !important;
  line-height: 0.96 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  white-space: normal !important;
}

.choice-card-grid .choice-card[data-field="documentType"] small,
.choice-card-grid .choice-card[data-field="documentType"].is-selected small {
  font-size: 0.62rem !important;
  line-height: 1.05 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  white-space: normal !important;
}

.original-layout-button {
  min-height: 62px !important;
  padding: 8px 12px !important;
}

.original-layout-button > span {
  font-size: 0.92rem !important;
  line-height: 1 !important;
}

/* enhance-layout-order-polish-v3 */
body[data-document-type="enhance"] #generatorForm > * {
  order: 20;
}

body[data-document-type="enhance"] #generatorForm > .control-section[aria-labelledby="typeLabel"] {
  order: 1;
}

body[data-document-type="enhance"] #generatorForm > .control-section[aria-labelledby="levelLabel"] {
  order: 2;
}

body[data-document-type="enhance"] #generatorForm > .control-section[aria-labelledby="topicLabel"] {
  order: 3;
}

body[data-document-type="enhance"] #generatorForm > .control-section[aria-labelledby="layoutLabel"] {
  order: 4;
}

body[data-document-type="enhance"] #generatorForm > .summary-strip {
  order: 5;
}

body[data-document-type="enhance"] #generatorForm > #generateButton {
  order: 6;
}

body[data-document-type="enhance"] #generatorForm > #generationLimitLabel {
  order: 7;
}

body[data-document-type="enhance"] .size-row,
body[data-document-type="enhance"] .orientation-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body[data-document-type="enhance"] .layout-options-grid .choice-button,
body[data-document-type="enhance"] .layout-options-grid .choice-button.is-selected {
  font-size: 13px !important;
  min-height: 38px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

body[data-document-type="enhance"] .control-section[aria-labelledby="topicLabel"] .step-mark,
body[data-document-type="enhance"] .control-section[aria-labelledby="layoutLabel"] .step-mark {
  color: transparent !important;
  position: relative !important;
}

body[data-document-type="enhance"] .control-section[aria-labelledby="topicLabel"] .step-mark::after,
body[data-document-type="enhance"] .control-section[aria-labelledby="layoutLabel"] .step-mark::after {
  color: #ffffff !important;
  content: "3";
  display: grid;
  inset: 0;
  place-items: center;
  position: absolute;
}

body[data-document-type="enhance"] .control-section[aria-labelledby="layoutLabel"] .step-mark::after {
  content: "4";
}

/* level-set-v1 */
body[data-document-type="levelset"] {
  --accent: #7c3aed;
  --accent-dark: #5b21b6;
  --accent-soft: #ede9fe;
  --accent-shadow: rgba(124, 58, 237, 0.24);
  --primary-gradient: linear-gradient(135deg, #7c3aed, #2563eb);
}

.choice-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.choice-card-grid .choice-card[data-value="levelset"] {
  border-color: color-mix(in srgb, #7c3aed 36%, var(--line)) !important;
}

.choice-card-grid .choice-card[data-value="levelset"] .choice-icon {
  background: #ede9fe !important;
  color: #6d28d9 !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .level-set-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .level-set-icon::before {
  background: currentColor !important;
  border-radius: 4px !important;
  content: "" !important;
  display: block !important;
  height: 30px !important;
  width: 30px !important;
  -webkit-mask:
    linear-gradient(#000 0 0) 3px 4px / 24px 5px no-repeat,
    linear-gradient(#000 0 0) 3px 13px / 18px 5px no-repeat,
    linear-gradient(#000 0 0) 3px 22px / 28px 5px no-repeat;
  mask:
    linear-gradient(#000 0 0) 3px 4px / 24px 5px no-repeat,
    linear-gradient(#000 0 0) 3px 13px / 18px 5px no-repeat,
    linear-gradient(#000 0 0) 3px 22px / 28px 5px no-repeat;
}

.choice-card-grid .choice-card[data-field="documentType"] .level-set-icon::after,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .level-set-icon::after {
  background: currentColor !important;
  border-radius: 999px !important;
  content: "5" !important;
  color: #ffffff !important;
  display: grid !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  height: 20px !important;
  place-items: center !important;
  position: absolute !important;
  right: 3px !important;
  top: 3px !important;
  width: 20px !important;
}

.level-set-panel {
  display: grid;
  gap: 10px;
}

.level-set-panel[hidden],
#levelSetChoiceButton[hidden] {
  display: none !important;
}

.level-set-kind-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.level-set-kind-grid .choice-button {
  align-content: center;
  display: grid;
  gap: 2px;
  min-height: 58px;
}

.level-set-kind-grid .choice-button strong,
.level-set-kind-grid .choice-button small {
  display: block;
  line-height: 1.08;
}

.level-set-drop-zone {
  align-items: center;
  background: linear-gradient(145deg, #f5f3ff, #ffffff);
  border: 2px dashed color-mix(in srgb, #7c3aed 40%, var(--line));
  border-radius: 16px;
  color: #5b21b6;
  cursor: pointer;
  display: grid;
  gap: 3px 12px;
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 88px;
  padding: 12px 14px;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.level-set-drop-zone:hover,
.level-set-drop-zone:focus-visible,
.level-set-drop-zone.is-dragging {
  border-color: #7c3aed;
  box-shadow: 0 14px 30px rgba(124, 58, 237, 0.18);
  outline: none;
  transform: translateY(-1px);
}

.level-set-drop-zone.has-file {
  background: linear-gradient(145deg, #ede9fe, #ffffff);
  border-style: solid;
}

.level-set-drop-icon {
  align-self: center;
  background: currentColor;
  display: block;
  grid-row: 1 / 4;
  height: 38px;
  width: 38px;
  -webkit-mask:
    linear-gradient(#000 0 0) 6px 8px / 26px 5px no-repeat,
    linear-gradient(#000 0 0) 6px 17px / 20px 5px no-repeat,
    linear-gradient(#000 0 0) 6px 26px / 30px 5px no-repeat;
  mask:
    linear-gradient(#000 0 0) 6px 8px / 26px 5px no-repeat,
    linear-gradient(#000 0 0) 6px 17px / 20px 5px no-repeat,
    linear-gradient(#000 0 0) 6px 26px / 30px 5px no-repeat;
}

.level-set-drop-zone strong {
  font-size: 0.94rem;
  font-weight: 900;
}

.level-set-drop-zone small,
.level-set-file-name {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.2;
}

.level-set-file-name {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-document-type="levelset"] #generateButton,
body[data-document-type="levelset"] #showRevisionEditorButton,
body[data-document-type="levelset"] #revisionButton {
  background: linear-gradient(135deg, #7c3aed, #2563eb) !important;
  border-color: #7c3aed !important;
  box-shadow: 0 16px 32px rgba(124, 58, 237, 0.22) !important;
}

body[data-document-type="levelset"] .choice-card.is-selected,
body[data-document-type="levelset"] .choice-button.is-selected {
  background: #ede9fe !important;
  border-color: #7c3aed !important;
  box-shadow: 0 12px 24px rgba(124, 58, 237, 0.2) !important;
  color: #5b21b6 !important;
}

body[data-document-type="levelset"] .choice-card.is-selected .choice-icon {
  background: rgba(255, 255, 255, 0.34) !important;
  color: #5b21b6 !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected {
  background: #ede9fe !important;
  background-image: linear-gradient(135deg, #ede9fe, #ffffff) !important;
  border-color: #7c3aed !important;
  box-shadow: 0 12px 24px rgba(124, 58, 237, 0.2) !important;
  color: #5b21b6 !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected strong,
body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected small {
  color: #5b21b6 !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected .choice-icon {
  background: #ddd6fe !important;
  color: #6d28d9 !important;
}

body[data-document-type="levelset"] .step-mark,
body[data-document-type="levelset"] .history-expand-button {
  background: linear-gradient(135deg, #7c3aed, #2563eb) !important;
  border-color: #7c3aed !important;
  color: #ffffff !important;
}

.level-set-badge {
  background: #ede9fe;
  border: 1px solid #c4b5fd;
  border-radius: 999px;
  color: #5b21b6;
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  margin-right: 5px;
  padding: 3px 6px;
  vertical-align: 1px;
}

/* level-set-theme-polish-v1 */
:root {
  --level-set-main: #7b5aa6;
  --level-set-dark: #594076;
  --level-set-mid: #8f72b6;
  --level-set-soft: #f3eef9;
  --level-set-soft-strong: #e9def4;
  --level-set-border: rgba(123, 90, 166, 0.36);
  --level-set-shadow: rgba(89, 64, 118, 0.18);
}

body[data-document-type="levelset"] {
  --accent: var(--level-set-main) !important;
  --accent-dark: var(--level-set-dark) !important;
  --accent-soft: var(--level-set-soft) !important;
  --accent-shadow: var(--level-set-shadow) !important;
  --primary-gradient: linear-gradient(135deg, #6f5395, #9a7ac0) !important;
}

.choice-card-grid .choice-card[data-value="levelset"] {
  border-color: var(--level-set-border) !important;
}

.choice-card-grid .choice-card[data-value="levelset"] .choice-icon {
  background: var(--level-set-soft) !important;
  color: var(--level-set-main) !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .level-set-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .level-set-icon::before {
  background: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  content: "" !important;
  display: block !important;
  height: 34px !important;
  width: 34px !important;
  -webkit-mask: url("/icons/level-set.svg") center / contain no-repeat !important;
  mask: url("/icons/level-set.svg") center / contain no-repeat !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .level-set-icon::after,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .level-set-icon::after {
  content: none !important;
  display: none !important;
}

body[data-document-type="levelset"] #generateButton,
body[data-document-type="levelset"] #showRevisionEditorButton,
body[data-document-type="levelset"] #revisionButton,
body[data-document-type="levelset"] #makeSimilarButton,
body[data-document-type="levelset"] #makeAnotherButton,
body[data-document-type="levelset"] .folder-create-button,
body[data-document-type="levelset"] .show-folder-create,
body[data-document-type="levelset"] .library-filter-toggle {
  background: linear-gradient(135deg, #6f5395, #9a7ac0) !important;
  border-color: var(--level-set-main) !important;
  box-shadow: 0 16px 32px var(--level-set-shadow) !important;
  color: #ffffff !important;
}

body[data-document-type="levelset"] #makeSimilarButton.secondary,
body[data-document-type="levelset"] #makeAnotherButton.secondary {
  background: var(--level-set-soft) !important;
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card.is-selected,
body[data-document-type="levelset"] .choice-button.is-selected {
  background: linear-gradient(135deg, var(--level-set-soft), #ffffff) !important;
  border-color: var(--level-set-main) !important;
  box-shadow: 0 12px 24px var(--level-set-shadow) !important;
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card.is-selected strong,
body[data-document-type="levelset"] .choice-card.is-selected small,
body[data-document-type="levelset"] .choice-button.is-selected strong,
body[data-document-type="levelset"] .choice-button.is-selected small {
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card.is-selected .choice-icon,
body[data-document-type="levelset"] .choice-button.is-selected .choice-icon {
  background: var(--level-set-soft-strong) !important;
  color: var(--level-set-main) !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected {
  background: linear-gradient(135deg, var(--level-set-soft), #ffffff) !important;
  border-color: var(--level-set-main) !important;
  box-shadow: 0 12px 24px var(--level-set-shadow) !important;
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected strong,
body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected small {
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected .choice-icon {
  background: var(--level-set-soft-strong) !important;
  color: var(--level-set-main) !important;
}

body[data-document-type="levelset"] .step-mark,
body[data-document-type="levelset"] .history-expand-button {
  background: linear-gradient(135deg, #6f5395, #9a7ac0) !important;
  border-color: var(--level-set-main) !important;
  color: #ffffff !important;
}

body[data-document-type="levelset"] .answer-key-option,
body[data-document-type="levelset"] .advanced-settings,
body[data-document-type="levelset"] .summary-strip,
body[data-document-type="levelset"] .level-set-panel,
body[data-document-type="levelset"] .level-set-drop-zone {
  border-color: var(--level-set-border) !important;
}

body[data-document-type="levelset"] .level-set-drop-zone {
  background: linear-gradient(145deg, var(--level-set-soft), #ffffff) !important;
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .level-set-drop-zone:hover,
body[data-document-type="levelset"] .level-set-drop-zone:focus-visible,
body[data-document-type="levelset"] .level-set-drop-zone.is-dragging {
  border-color: var(--level-set-main) !important;
  box-shadow: 0 14px 30px var(--level-set-shadow) !important;
}

body[data-document-type="levelset"] .level-set-drop-zone.has-file {
  background: linear-gradient(145deg, var(--level-set-soft-strong), #ffffff) !important;
}

body[data-document-type="levelset"] input:focus,
body[data-document-type="levelset"] textarea:focus,
body[data-document-type="levelset"] select:focus {
  border-color: var(--level-set-main) !important;
  box-shadow: 0 0 0 4px rgba(123, 90, 166, 0.13) !important;
}

.level-set-badge {
  background: var(--level-set-soft) !important;
  border-color: rgba(123, 90, 166, 0.28) !important;
  color: var(--level-set-dark) !important;
}



/* responsive-device-layouts-v1 */
html {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
}

.app-shell,
.control-panel,
.output-panel,
.history-panel,
.admin-panel {
  max-width: 100vw;
}

button,
a,
input,
select,
textarea {
  touch-action: manipulation;
}

@media (min-width: 901px) and (max-width: 1180px) {
  .app-shell:not(.admin-mode),
  .app-shell.history-expanded:not(.admin-mode) {
    grid-template-columns: minmax(320px, 360px) minmax(0, 1fr) !important;
    min-width: 0 !important;
  }

  .control-panel {
    max-width: 360px !important;
    min-width: 320px !important;
    width: auto !important;
  }

  .output-panel {
    min-width: 0 !important;
    padding: 18px 92px 18px 18px !important;
  }

  .brand-row {
    padding: 6px 12px !important;
  }

  .brand-row .brand-logo {
    height: clamp(72px, 9vh, 104px) !important;
    width: min(100%, 310px) !important;
  }

  .preview-stage {
    min-height: calc(100vh - 122px) !important;
    padding: 20px !important;
  }
}

@media (max-width: 900px) {
  .app-shell:not(.admin-mode),
  .app-shell.history-expanded:not(.admin-mode) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .app-shell.history-expanded:not(.admin-mode)::before {
    display: none !important;
  }

  .control-panel {
    border-bottom: 1px solid var(--line) !important;
    border-right: 0 !important;
    box-shadow: 0 12px 34px rgba(19, 33, 43, 0.06) !important;
    max-width: none !important;
    min-height: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 14px !important;
    width: 100% !important;
  }

  .brand-row {
    min-height: 0 !important;
    padding: 8px 12px !important;
  }

  .brand-row .brand-logo {
    height: clamp(70px, 12vw, 110px) !important;
    max-height: 112px !important;
    width: min(92vw, 420px) !important;
  }

  .form-stack {
    gap: 12px !important;
  }

  .control-section {
    gap: 10px !important;
    padding-top: 12px !important;
  }

  .choice-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .choice-card-grid .choice-card,
  .choice-card-grid .choice-card.is-selected {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    min-height: 64px !important;
    padding: 10px !important;
  }

  .choice-card-grid .choice-card small,
  .choice-card-grid .choice-card.is-selected small {
    display: none !important;
  }

  .grade-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  .layout-options-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .layout-options-grid .layout-button-row {
    gap: 6px !important;
  }

  .layout-options-grid .choice-button {
    min-height: 42px !important;
  }

  #additionalInput {
    max-height: none !important;
    min-height: 92px !important;
  }

  .panel-footer {
    bottom: 0 !important;
    margin-top: 6px !important;
    position: sticky !important;
    z-index: 30 !important;
  }

  .output-panel {
    contain: none !important;
    gap: 12px !important;
    min-height: auto !important;
    overflow: visible !important;
    padding: 14px !important;
    position: relative !important;
    top: auto !important;
  }

  .output-toolbar {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    min-height: 0 !important;
    padding: 0 0 8px !important;
  }

  .output-toolbar h2 {
    max-width: 100% !important;
  }

  .download-button {
    min-height: 42px !important;
    min-width: 0 !important;
    padding: 0 14px !important;
    width: auto !important;
  }

  .preview-zoom-controls {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin-left: 0 !important;
  }

  .preview-stage {
    min-height: min(72vh, 680px) !important;
    padding: 16px !important;
  }

  #generatedImage {
    max-height: min(68vh, 640px) !important;
  }

  .history-panel,
  .app-shell.history-expanded .history-panel,
  .app-shell:not(.history-expanded) .history-panel {
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
    bottom: auto !important;
    box-shadow: none !important;
    grid-column: 1 / -1 !important;
    max-height: none !important;
    min-height: auto !important;
    overflow: visible !important;
    padding: 14px !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    z-index: auto !important;
  }

  .history-expand-button,
  .app-shell:not(.history-expanded) .history-expand-button,
  .app-shell.history-expanded .history-expand-button {
    display: none !important;
  }

  .history-heading,
  .app-shell:not(.history-expanded) .history-heading {
    border-bottom: 1px solid var(--line) !important;
    display: flex !important;
    justify-content: space-between !important;
    padding: 0 0 12px !important;
  }

  .app-shell:not(.history-expanded) .history-heading > div:first-child,
  .app-shell:not(.history-expanded) .history-heading h2 {
    display: block !important;
  }

  .app-shell:not(.history-expanded) .history-heading-actions {
    display: flex !important;
  }

  .app-shell:not(.history-expanded) #historyCount {
    display: grid !important;
  }

  .app-shell:not(.history-expanded) .folder-tools,
  .app-shell:not(.history-expanded) .history-search-row {
    display: grid !important;
  }

  .app-shell:not(.history-expanded) .history-empty {
    display: block !important;
  }

  .folder-tools {
    margin-top: 12px !important;
  }

  .folder-main-row {
    align-items: end !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
  }

  #showFolderCreateButton {
    min-height: 48px !important;
    min-width: 48px !important;
    width: 48px !important;
  }

  .history-search-row {
    grid-template-columns: minmax(0, 1fr) 48px !important;
    margin-top: 10px !important;
  }

  .library-tools .filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) 42px 42px !important;
  }

  .history-list,
  .app-shell:not(.history-expanded) .history-list,
  .app-shell.history-expanded .history-list {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(auto-fill, minmax(138px, 1fr)) !important;
    padding-top: 12px !important;
  }

  .history-item,
  .app-shell:not(.history-expanded) .history-item {
    display: grid !important;
    height: auto !important;
    padding: 8px !important;
    width: 100% !important;
  }

  .history-check,
  .app-shell:not(.history-expanded) .history-check {
    display: grid !important;
  }

  .history-open,
  .app-shell:not(.history-expanded) .history-open {
    display: grid !important;
    height: auto !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    display: none !important;
  }

  .history-thumb,
  .app-shell:not(.history-expanded) .history-thumb {
    display: block !important;
    height: auto !important;
    object-fit: contain !important;
    width: 100% !important;
  }

  .history-thumb.is-landscape,
  .app-shell:not(.history-expanded) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
  }

  .history-thumb.is-portrait,
  .app-shell:not(.history-expanded) .history-thumb.is-portrait {
    aspect-ratio: 1 / 1.414 !important;
  }

  .history-info,
  .app-shell:not(.history-expanded) .history-info {
    display: grid !important;
  }

  .history-actions,
  .app-shell:not(.history-expanded) .history-actions {
    display: flex !important;
  }
}

@media (max-width: 620px) {
  .pin-gate {
    padding: max(16px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)) !important;
  }

  .pin-layout {
    width: min(100%, 390px) !important;
  }

  .pin-card {
    border-radius: 22px !important;
    gap: 16px !important;
    padding: 24px !important;
  }

  .pin-logo {
    height: 76px !important;
    width: min(82vw, 260px) !important;
  }

  .pin-card h1 {
    font-size: clamp(1.25rem, 7vw, 1.75rem) !important;
  }

  .control-panel,
  .output-panel,
  .history-panel {
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }

  .brand-row .brand-logo {
    height: clamp(58px, 20vw, 86px) !important;
    width: min(92vw, 340px) !important;
  }

  .choice-card-grid {
    gap: 8px !important;
  }

  .choice-card-grid .choice-card,
  .choice-card-grid .choice-card.is-selected {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    min-height: 70px !important;
    text-align: center !important;
  }

  .choice-card-grid .choice-icon,
  .choice-card-grid .choice-card.is-selected .choice-icon {
    height: 34px !important;
    width: 34px !important;
  }

  .summary-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .layout-options-grid {
    column-gap: 14px !important;
  }

  .layout-options-grid legend {
    min-height: 1.2em !important;
  }

  .advanced-settings summary {
    font-size: 0.95rem !important;
  }

  .preview-stage {
    min-height: 58vh !important;
    padding: 12px !important;
  }

  .paper-icon {
    width: min(58vw, 210px) !important;
  }

  .empty-state h3 {
    font-size: 1.15rem !important;
  }

  .empty-state p {
    font-size: 0.86rem !important;
  }

  .library-tools .filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) 42px 42px !important;
  }

  .history-list,
  .app-shell:not(.history-expanded) .history-list,
  .app-shell.history-expanded .history-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 380px) {
  .control-panel {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .layout-options-grid {
    column-gap: 10px !important;
  }

  .layout-options-grid .choice-button {
    min-height: 38px !important;
  }

  .grade-grid {
    gap: 5px !important;
  }

  .control-panel .choice-button {
    font-size: 0.76rem !important;
  }

  .history-list,
  .app-shell:not(.history-expanded) .history-list,
  .app-shell.history-expanded .history-list {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-height: 560px) and (orientation: landscape) and (max-width: 900px) {
  .brand-row .brand-logo {
    height: 54px !important;
  }

  .control-panel {
    padding-top: 8px !important;
  }

  .preview-stage {
    min-height: 78vh !important;
  }

  .panel-footer {
    position: static !important;
  }
}

@media (max-width: 1180px) {
  .app-shell.admin-mode {
    grid-template-columns: 1fr !important;
    overflow-x: hidden !important;
  }

  #adminPanel.admin-panel {
    max-width: 100vw !important;
    overflow-x: hidden !important;
    padding: 14px !important;
    width: 100% !important;
  }

  #adminPanel .admin-account-list,
  #adminPanel .admin-account-table-pro {
    overflow-x: hidden !important;
    width: 100% !important;
  }

  #adminPanel .admin-account-row-pro {
    align-items: stretch !important;
    grid-template-columns: minmax(260px, 1.2fr) minmax(170px, 0.8fr) minmax(240px, 1fr) !important;
  }

  #adminPanel .admin-stat-pill,
  #adminPanel .admin-files-pill,
  #adminPanel .admin-status-switch,
  #adminPanel .admin-action-bar {
    grid-column: auto !important;
  }

  #adminPanel .admin-file-grid {
    grid-template-columns: repeat(auto-fill, minmax(138px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .admin-panel {
    gap: 12px !important;
  }

  .admin-header {
    align-items: center !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 12px !important;
  }

  .admin-header > div {
    align-items: center !important;
    min-width: 0 !important;
  }

  .admin-brand-logo {
    flex-basis: auto !important;
    height: 44px !important;
    width: min(42vw, 180px) !important;
  }

  .admin-header h1 {
    font-size: clamp(1.05rem, 4vw, 1.35rem) !important;
  }

  #adminLockButton {
    min-width: 94px !important;
    padding: 0 12px !important;
  }

  .admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .admin-settings-panel,
  .admin-settings-form,
  .admin-create-panel:not(.admin-settings-panel),
  .admin-create-form {
    grid-template-columns: 1fr !important;
  }

  .admin-create-panel:not(.admin-settings-panel) {
    display: grid !important;
  }

  .admin-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #adminPanel .admin-account-row-pro {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    padding: 12px !important;
  }

  #adminPanel .admin-account-cell,
  #adminPanel .admin-credit-field,
  #adminPanel .admin-row-message,
  #adminPanel .admin-file-drawer {
    grid-column: 1 / -1 !important;
  }

  #adminPanel .admin-inline-control {
    grid-template-columns: minmax(0, 1fr) 58px !important;
  }

  #adminPanel .admin-credit-control {
    grid-template-columns: 54px minmax(0, 1fr) 54px !important;
  }

  #adminPanel .admin-action-bar {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 620px) {
  #adminPanel.admin-panel {
    padding: 10px !important;
  }

  .admin-header {
    grid-template-columns: 1fr !important;
  }

  .admin-header > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .admin-brand-logo {
    height: 62px !important;
    width: min(72vw, 270px) !important;
  }

  #adminLockButton {
    justify-self: stretch !important;
    width: 100% !important;
  }

  .admin-stats {
    gap: 8px !important;
  }

  .admin-stats div {
    min-height: 52px !important;
  }

  #adminPanel .admin-account-row-pro {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-account-cell {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  #adminPanel .admin-action-bar,
  .admin-actions {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-file-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 390px) {
  .admin-stats {
    grid-template-columns: 1fr 1fr !important;
  }

  #adminPanel .admin-file-grid {
    grid-template-columns: 1fr !important;
  }
}
/* end responsive-device-layouts-v1 */

/* Drawer thumbnail visibility repair */
@media (min-width: 901px) {
  .app-shell:not(.history-expanded) {
    grid-template-columns: minmax(390px, 420px) minmax(0, 1fr) 112px !important;
  }

  .app-shell:not(.history-expanded) .output-panel {
    padding-right: 128px !important;
  }

  .app-shell:not(.history-expanded) .history-panel {
    align-content: start !important;
    overflow: hidden auto !important;
    padding: 16px 10px !important;
    width: 112px !important;
  }

  .app-shell:not(.history-expanded) .history-heading {
    align-items: center !important;
    display: grid !important;
    justify-items: center !important;
    padding: 0 0 10px !important;
  }

  .app-shell:not(.history-expanded) .history-heading > div:first-child,
  .app-shell:not(.history-expanded) .history-heading h2,
  .app-shell:not(.history-expanded) .folder-tools,
  .app-shell:not(.history-expanded) .history-search-row,
  .app-shell:not(.history-expanded) .library-tools,
  .app-shell:not(.history-expanded) .history-empty,
  .app-shell:not(.history-expanded) .history-check,
  .app-shell:not(.history-expanded) .history-info,
  .app-shell:not(.history-expanded) .history-actions {
    display: none !important;
  }

  .app-shell:not(.history-expanded) #historyCount {
    display: grid !important;
    height: 44px !important;
    margin: 0 auto !important;
    min-width: 44px !important;
    place-items: center !important;
    width: 44px !important;
  }

  .app-shell:not(.history-expanded) .history-list {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: block !important;
    height: auto !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-open {
    background: #ffffff !important;
    border: 1px solid rgba(106, 139, 148, 0.28) !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
    display: grid !important;
    min-height: 72px !important;
    overflow: hidden !important;
    padding: 5px !important;
    place-items: center !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-thumb {
    background: #f8fbfa !important;
    border-radius: 10px !important;
    display: block !important;
    height: auto !important;
    max-height: 82px !important;
    max-width: 82px !important;
    object-fit: contain !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-portrait {
    aspect-ratio: 1 / 1.414 !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
  }

  .app-shell:not(.history-expanded) .history-expand-button {
    left: calc(100vw - 112px) !important;
    z-index: 9500 !important;
  }
}

@media (min-width: 760px) and (max-width: 900px) {
  .app-shell:not(.history-expanded) .history-panel {
    width: 104px !important;
  }

  .app-shell:not(.history-expanded) .history-expand-button {
    left: calc(100vw - 104px) !important;
  }

  .app-shell:not(.history-expanded) .output-panel {
    padding-right: 116px !important;
  }

  .app-shell:not(.history-expanded) .history-thumb {
    max-height: 76px !important;
    max-width: 76px !important;
  }
}

/* admin-mobile-polish-v1 */
.app-shell.admin-mode {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  width: 100% !important;
}

#adminPanel.admin-panel,
#adminPanel * {
  box-sizing: border-box !important;
}

#adminPanel.admin-panel {
  overflow-x: hidden !important;
  width: 100% !important;
}

#adminPanel .admin-create-panel,
#adminPanel .admin-settings-panel,
#adminPanel .admin-account-row-pro,
#adminPanel .admin-stats > div {
  max-width: 100% !important;
  min-width: 0 !important;
}

#adminPanel .admin-settings-form,
#adminPanel .admin-create-form,
#adminPanel .admin-actions {
  min-width: 0 !important;
  width: 100% !important;
}

#adminPanel input,
#adminPanel select,
#adminPanel button {
  max-width: 100% !important;
  min-width: 0 !important;
}

#adminPanel .admin-stats strong {
  display: block !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  #adminPanel.admin-panel {
    gap: 10px !important;
    padding: 10px !important;
  }

  #adminPanel .admin-header {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
    padding: 10px !important;
  }

  #adminPanel .admin-header > div {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 94px minmax(0, 1fr) !important;
    justify-items: start !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  #adminPanel .admin-brand-logo {
    height: 42px !important;
    justify-self: start !important;
    width: 94px !important;
  }

  #adminPanel .admin-header h1 {
    font-size: 1.35rem !important;
    line-height: 1.02 !important;
  }

  #adminPanel .admin-header p:not(.small-label) {
    display: none !important;
  }

  #adminPanel #adminLockButton {
    height: 42px !important;
    justify-self: stretch !important;
    width: 100% !important;
  }

  #adminPanel .admin-stats {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #adminPanel .admin-stats > div {
    align-items: center !important;
    display: grid !important;
    gap: 3px !important;
    min-height: 58px !important;
    padding: 10px !important;
  }

  #adminPanel .admin-stats span {
    font-size: 0.58rem !important;
    letter-spacing: 0.11em !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere !important;
  }

  #adminPanel .admin-stats strong {
    font-size: clamp(1rem, 4.8vw, 1.32rem) !important;
    line-height: 1 !important;
  }

  #adminPanel .admin-settings-panel,
  #adminPanel .admin-create-panel {
    display: grid !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  #adminPanel .admin-settings-panel > div:first-child p:not(.small-label) {
    display: none !important;
  }

  #adminPanel .admin-settings-panel h2 {
    font-size: 1.05rem !important;
  }

  #adminPanel .admin-settings-form,
  #adminPanel .admin-create-form,
  #adminPanel .admin-actions {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-settings-form .input-block,
  #adminPanel .admin-create-form .input-block {
    width: 100% !important;
  }

  #adminPanel .admin-settings-form select,
  #adminPanel .admin-create-form input {
    width: 100% !important;
  }

  #adminPanel .admin-settings-form button,
  #adminPanel .admin-create-form button,
  #adminPanel .admin-actions button {
    height: 44px !important;
    justify-content: center !important;
    width: 100% !important;
  }

  #adminPanel .admin-account-list,
  #adminPanel .admin-account-table-pro {
    display: grid !important;
    gap: 10px !important;
    overflow: visible !important;
    width: 100% !important;
  }

  #adminPanel .admin-table-head-pro {
    display: none !important;
  }

  #adminPanel .admin-account-row-pro {
    align-items: stretch !important;
    display: grid !important;
    gap: 9px !important;
    grid-template-areas:
      "avatar name"
      "pin pin"
      "credits credits"
      "used files"
      "status status"
      "actions actions"
      "message message"
      "drawer drawer" !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    overflow: visible !important;
    padding: 12px !important;
  }

  #adminPanel .admin-account-cell {
    display: contents !important;
  }

  #adminPanel .admin-avatar {
    align-self: end !important;
    grid-area: avatar !important;
    height: 46px !important;
    width: 46px !important;
  }

  #adminPanel .admin-name-field {
    grid-area: name !important;
  }

  #adminPanel .admin-pin-field {
    grid-area: pin !important;
  }

  #adminPanel .admin-credit-field {
    grid-area: credits !important;
  }

  #adminPanel .admin-stat-pill {
    grid-area: used !important;
  }

  #adminPanel .admin-files-pill {
    grid-area: files !important;
  }

  #adminPanel .admin-status-switch {
    grid-area: status !important;
  }

  #adminPanel .admin-action-bar {
    display: grid !important;
    gap: 8px !important;
    grid-area: actions !important;
    grid-template-columns: 1fr 1fr !important;
  }

  #adminPanel .admin-row-message {
    grid-area: message !important;
    padding-left: 0 !important;
  }

  #adminPanel .admin-file-drawer {
    grid-area: drawer !important;
  }

  #adminPanel .admin-field {
    display: grid !important;
    gap: 5px !important;
  }

  #adminPanel .admin-field > span {
    font-size: 0.62rem !important;
    letter-spacing: 0.11em !important;
  }

  #adminPanel .admin-field input,
  #adminPanel .admin-inline-control button,
  #adminPanel .admin-credit-control button,
  #adminPanel .admin-stat-pill,
  #adminPanel .admin-files-pill,
  #adminPanel .admin-status-switch span,
  #adminPanel .admin-action-bar button {
    height: 44px !important;
  }

  #adminPanel .admin-inline-control {
    display: grid !important;
    gap: 7px !important;
    grid-template-columns: minmax(0, 1fr) 68px !important;
  }

  #adminPanel .admin-credit-control {
    display: grid !important;
    gap: 7px !important;
    grid-template-columns: 58px minmax(0, 1fr) 58px !important;
  }

  #adminPanel .admin-stat-pill,
  #adminPanel .admin-files-pill {
    min-height: 54px !important;
    padding: 6px !important;
  }

  #adminPanel .admin-status-switch span {
    justify-content: center !important;
    width: 100% !important;
  }
}

@media (max-width: 390px) {
  #adminPanel.admin-panel {
    padding: 8px !important;
  }

  #adminPanel .admin-header > div {
    grid-template-columns: 82px minmax(0, 1fr) !important;
  }

  #adminPanel .admin-brand-logo {
    width: 82px !important;
  }

  #adminPanel .admin-header h1 {
    font-size: 1.18rem !important;
  }

  #adminPanel .admin-account-row-pro {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    padding: 10px !important;
  }

  #adminPanel .admin-avatar {
    height: 42px !important;
    width: 42px !important;
  }

  #adminPanel .admin-credit-control {
    grid-template-columns: 52px minmax(0, 1fr) 52px !important;
  }
}
/* end admin-mobile-polish-v1 */

/* answer-key-visibility-v1 */
.history-item.is-answer-key .history-open {
  background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%) !important;
  border-color: rgba(249, 115, 22, 0.35) !important;
}

.answer-key-badge {
  align-items: center !important;
  background: #f97316 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  display: inline-flex !important;
  font-size: 0.62rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  margin: 0 6px 3px 0 !important;
  padding: 5px 7px !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}
/* end answer-key-visibility-v1 */

/* admin-desktop-compact-final-v1 */
#adminPanel.admin-panel {
  align-content: start !important;
  display: grid !important;
  gap: 14px !important;
  grid-auto-rows: max-content !important;
  max-width: 100% !important;
  min-height: 100vh !important;
  padding: clamp(12px, 1.4vw, 22px) !important;
}

#adminPanel .admin-header,
#adminPanel .admin-stats > div,
#adminPanel .admin-create-panel {
  align-self: start !important;
  box-sizing: border-box !important;
}

#adminPanel .admin-header {
  min-height: 76px !important;
  padding: 16px 20px !important;
}

#adminPanel .admin-header > div {
  align-items: center !important;
  display: flex !important;
  gap: 16px !important;
  min-width: 0 !important;
}

#adminPanel .admin-brand-logo {
  flex: 0 0 150px !important;
  height: 50px !important;
  max-height: 50px !important;
  object-fit: contain !important;
  width: 150px !important;
}

#adminPanel .admin-header h1 {
  font-size: clamp(1.45rem, 1.9vw, 2rem) !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}

#adminPanel .admin-header .small-label,
#adminPanel .admin-header p:not(.small-label) {
  display: none !important;
}

#adminPanel #adminLockButton {
  height: 46px !important;
  min-height: 46px !important;
  min-width: 120px !important;
  width: auto !important;
}

#adminPanel .admin-stats {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
}

#adminPanel .admin-stats > div {
  align-items: center !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 58px !important;
  padding: 12px 16px !important;
}

#adminPanel .admin-stats span {
  font-size: 0.68rem !important;
  line-height: 1.1 !important;
  overflow-wrap: anywhere !important;
}

#adminPanel .admin-stats strong {
  font-size: clamp(1.15rem, 1.5vw, 1.55rem) !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-width: 0 !important;
}

#adminPanel .admin-settings-panel {
  align-items: end !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: minmax(150px, 210px) minmax(0, 1fr) !important;
  min-height: 82px !important;
  padding: 16px !important;
}

#adminPanel .admin-settings-panel h2 {
  font-size: 1.25rem !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

#adminPanel .admin-settings-panel p,
#adminPanel .admin-settings-panel .small-label {
  display: none !important;
}

#adminPanel .admin-settings-form {
  align-items: end !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(260px, 1fr) 150px !important;
}

#adminPanel .admin-create-panel:not(.admin-settings-panel) {
  align-items: end !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 94px !important;
  padding: 16px !important;
}

#adminPanel .admin-create-form {
  align-items: end !important;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: minmax(220px, 1fr) 150px 150px 132px 128px !important;
}

#adminPanel .admin-create-form .input-block span,
#adminPanel .admin-settings-form .input-block span {
  font-size: 0.68rem !important;
  margin-bottom: 5px !important;
}

#adminPanel .admin-create-form input,
#adminPanel .admin-settings-form select,
#adminPanel .admin-create-form button,
#adminPanel .admin-settings-form button,
#adminPanel .admin-actions button {
  height: 46px !important;
  min-height: 46px !important;
}

#adminPanel .admin-actions {
  align-items: end !important;
  display: flex !important;
  gap: 8px !important;
  margin: 0 !important;
}

#adminPanel #adminStatus {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  min-height: 18px !important;
}

#adminPanel .admin-account-list {
  margin-top: 0 !important;
}

@media (max-width: 1180px) {
  #adminPanel .admin-settings-panel,
  #adminPanel .admin-create-panel:not(.admin-settings-panel),
  #adminPanel .admin-settings-form,
  #adminPanel .admin-create-form {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}

@media (max-width: 760px) {
  #adminPanel .admin-header {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-header > div {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
  }

  #adminPanel .admin-brand-logo {
    width: 110px !important;
  }

  #adminPanel .admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* end admin-desktop-compact-final-v1 */

/* admin-account-list-render-fix-v1 */
#adminPanel #adminAccountList,
#adminPanel .admin-account-list,
#adminPanel .admin-account-table-pro {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
  visibility: visible !important;
}

#adminPanel .admin-account-table-pro {
  display: grid !important;
  gap: 8px !important;
}

#adminPanel .admin-account-row-pro {
  display: grid !important;
}

#adminPanel .admin-file-missing {
  align-items: center;
  color: #64748b;
  display: flex;
  font-size: 0.8rem;
  font-weight: 800;
  height: 100%;
  justify-content: center;
  width: 100%;
}
/* end admin-account-list-render-fix-v1 */

/* revision-change-rows-v1 */
.revision-request-block {
  display: grid !important;
  gap: 8px !important;
  margin-top: 10px !important;
}

.revision-help {
  color: var(--muted) !important;
  font-size: 0.78rem !important;
  font-weight: 750 !important;
  line-height: 1.28 !important;
  margin: 0 !important;
}

.revision-rows {
  display: grid !important;
  gap: 8px !important;
}

.revision-row {
  align-items: stretch !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(0, 1fr) 42px !important;
}

.revision-row input {
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  color: var(--ink) !important;
  font: inherit !important;
  font-size: 0.9rem !important;
  font-weight: 750 !important;
  height: 42px !important;
  min-width: 0 !important;
  padding: 0 12px !important;
  width: 100% !important;
}

.revision-row input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent) !important;
  outline: 0 !important;
}

.revision-row-add {
  align-items: center !important;
  background: var(--accent) !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-size: 1.35rem !important;
  font-weight: 900 !important;
  height: 42px !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  width: 42px !important;
}

body[data-document-type="handout"] .revision-row-add {
  background: var(--accent) !important;
}

/* teacher-preview-drawer-polish-v5 */
@media (min-width: 760px) {
  .app-shell:not(.admin-mode):not(.history-expanded) {
    grid-template-columns: minmax(330px, 420px) minmax(0, 1fr) 0 !important;
  }

  .app-shell:not(.history-expanded) #outputPanel,
  .app-shell:not(.history-expanded) .output-panel {
    padding-right: 132px !important;
  }

  .app-shell:not(.history-expanded) #historyPanel,
  .app-shell:not(.history-expanded) .history-panel {
    align-content: start !important;
    bottom: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    height: 100vh !important;
    left: auto !important;
    max-width: 112px !important;
    min-width: 112px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 14px 10px 20px !important;
    position: fixed !important;
    right: 0 !important;
    scrollbar-width: thin !important;
    top: 0 !important;
    width: 112px !important;
    z-index: 9000 !important;
  }

  .app-shell:not(.history-expanded) .history-heading {
    align-items: center !important;
    display: grid !important;
    justify-items: center !important;
    padding: 0 0 14px !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) #historyCount {
    align-items: center !important;
    display: grid !important;
    height: 48px !important;
    justify-content: center !important;
    margin: 0 auto 12px !important;
    min-width: 48px !important;
    place-items: center !important;
    text-align: center !important;
    width: 48px !important;
  }

  .app-shell:not(.history-expanded) .history-list {
    align-content: start !important;
    display: grid !important;
    gap: 16px !important;
    grid-auto-rows: max-content !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 0 22px !important;
    width: 100% !important;
  }

  .app-shell:not(.history-expanded) .history-item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: block !important;
    flex: 0 0 auto !important;
    height: 84px !important;
    margin: 0 !important;
    min-height: 84px !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 82px !important;
  }

  .app-shell:not(.history-expanded) .history-open {
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid rgba(106, 139, 148, 0.28) !important;
    border-radius: 14px !important;
    display: grid !important;
    height: 84px !important;
    justify-content: center !important;
    min-height: 84px !important;
    overflow: hidden !important;
    padding: 6px !important;
    place-items: center !important;
    position: relative !important;
    width: 82px !important;
  }

  .app-shell:not(.history-expanded) .history-open::before {
    content: none !important;
    display: none !important;
  }

  .app-shell:not(.history-expanded) .history-thumb {
    background: #f8fbfa !important;
    border-radius: 10px !important;
    display: block !important;
    height: 72px !important;
    max-height: 72px !important;
    max-width: 60px !important;
    object-fit: contain !important;
    position: relative !important;
    width: 60px !important;
    z-index: 1 !important;
  }

  .app-shell:not(.history-expanded) .history-thumb.is-landscape {
    height: 48px !important;
    max-height: 48px !important;
    max-width: 68px !important;
    width: 68px !important;
  }

  .app-shell:not(.history-expanded) .history-expand-button {
    left: calc(100vw - 140px) !important;
    z-index: 9500 !important;
  }
}

@keyframes armResourceSpinV5 {
  to { transform: rotate(360deg); }
}

.history-open.is-loading-image::after,
.preview-stage.is-image-loading::after {
  animation: armResourceSpinV5 0.85s linear infinite !important;
  border: 3px solid rgba(13, 128, 118, 0.16) !important;
  border-radius: 999px !important;
  border-top-color: var(--accent) !important;
  content: "" !important;
  display: block !important;
  left: 50% !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 50% !important;
  z-index: 6 !important;
}

.history-open.is-loading-image::after {
  height: 28px !important;
  margin-left: -14px !important;
  margin-top: -14px !important;
  width: 28px !important;
}

.history-open.is-loading-image .history-thumb {
  opacity: 0.24 !important;
}

.preview-stage {
  position: relative !important;
}

.preview-stage.is-image-loading::after {
  height: 44px !important;
  margin-left: -22px !important;
  margin-top: -22px !important;
  width: 44px !important;
}

/* teacher-preview-drawer-open-restore-v8 */
@media (min-width: 760px) {
  .app-shell.history-expanded:not(.admin-mode) .history-panel {
    background: rgba(255, 255, 255, 0.985) !important;
    border-left: 1px solid var(--line) !important;
    box-shadow: -26px 0 60px rgba(19, 33, 43, 0.18) !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 22px !important;
    width: min(800px, calc(100vw - 270px)) !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-list {
    align-content: start !important;
    display: grid !important;
    gap: 14px !important;
    grid-auto-rows: auto !important;
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)) !important;
    justify-items: stretch !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 0 24px !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-item {
    align-content: start !important;
    background: rgba(247, 251, 251, 0.96) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 8px 18px rgba(19, 33, 43, 0.06) !important;
    display: grid !important;
    gap: 8px !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 9px !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-check {
    display: grid !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-open {
    align-content: start !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    display: grid !important;
    gap: 8px !important;
    height: auto !important;
    justify-content: stretch !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    place-items: stretch !important;
    text-align: left !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-thumb {
    aspect-ratio: 1 / 1.414 !important;
    background: #ffffff !important;
    border: 1px solid var(--line) !important;
    border-radius: 8px !important;
    display: block !important;
    height: auto !important;
    max-height: 160px !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: top center !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
    max-height: 110px !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-info {
    display: grid !important;
    gap: 3px !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-info strong {
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    font-size: 13px !important;
    line-height: 1.18 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-actions {
    align-items: center !important;
    display: flex !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    margin-top: 2px !important;
  }
}

@media (max-width: 920px) and (min-width: 760px) {
  .app-shell.history-expanded:not(.admin-mode) .history-panel {
    width: min(680px, calc(100vw - 190px)) !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-list {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  }
}

/* teacher-preview-drawer-open-restore-v11 */
@media (min-width: 760px) {
  .app-shell.history-expanded:not(.admin-mode) .history-panel {
    background: rgba(255, 255, 255, 0.985) !important;
    border-left: 1px solid var(--line) !important;
    box-shadow: -26px 0 60px rgba(19, 33, 43, 0.18) !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 22px !important;
    width: min(800px, calc(100vw - 270px)) !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-list {
    align-content: start !important;
    display: grid !important;
    gap: 14px !important;
    grid-auto-rows: auto !important;
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)) !important;
    justify-items: stretch !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 0 24px !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-item {
    align-content: start !important;
    background: rgba(247, 251, 251, 0.96) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 8px 18px rgba(19, 33, 43, 0.06) !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-rows: minmax(184px, auto) auto !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 242px !important;
    overflow: visible !important;
    padding: 9px !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-check {
    display: grid !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-open {
    align-content: start !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    display: grid !important;
    gap: 8px !important;
    height: auto !important;
    justify-content: stretch !important;
    min-height: 184px !important;
    overflow: visible !important;
    padding: 0 !important;
    place-items: stretch !important;
    text-align: left !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-thumb {
    aspect-ratio: 1 / 1.414 !important;
    background: #ffffff !important;
    border: 1px solid var(--line) !important;
    border-radius: 8px !important;
    display: block !important;
    height: auto !important;
    max-height: 160px !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: top center !important;
    width: 100% !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-thumb.is-landscape {
    aspect-ratio: 1.414 / 1 !important;
    max-height: 110px !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-info {
    display: grid !important;
    gap: 3px !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-info strong {
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    font-size: 13px !important;
    line-height: 1.18 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-actions {
    align-items: center !important;
    display: flex !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    margin-top: 2px !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-actions .icon-action {
    border: 0 !important;
    box-shadow: none !important;
    height: 30px !important;
    min-height: 30px !important;
    width: 30px !important;
  }
}

@media (max-width: 920px) and (min-width: 760px) {
  .app-shell.history-expanded:not(.admin-mode) .history-panel {
    width: min(680px, calc(100vw - 190px)) !important;
  }

  .app-shell.history-expanded:not(.admin-mode) .history-list {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  }
}

/* saved-document-open-loading-v4 */
.history-open.is-opening-saved::after,
.history-open.is-loading-image::after {
  animation: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  inset: auto !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: static !important;
  transform: none !important;
  width: 0 !important;
}

.history-open.is-opening-saved .history-thumb,
.history-open.is-loading-image .history-thumb {
  opacity: 1 !important;
}

/* saved-document-open-loading-v5 */
@keyframes armPreviewSpinnerSpin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.preview-stage.is-image-loading::after {
  animation-delay: 0s !important;
  animation-direction: normal !important;
  animation-duration: 0.7s !important;
  animation-fill-mode: none !important;
  animation-iteration-count: infinite !important;
  animation-name: armPreviewSpinnerSpin !important;
  animation-play-state: running !important;
  animation-timing-function: linear !important;
  background: conic-gradient(from 0deg, rgba(12, 128, 118, 0), rgba(12, 128, 118, 0.18), var(--accent), #f59e0b, rgba(12, 128, 118, 0)) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 28px rgba(19, 33, 43, 0.18) !important;
  content: '' !important;
  display: block !important;
  height: 46px !important;
  left: 50% !important;
  margin: 0 !important;
  mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px)) !important;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px)) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) rotate(0deg);
  transform-origin: center center !important;
  width: 46px !important;
  will-change: transform !important;
  z-index: 35 !important;
}

/* generation-loading-note-width-v1 */
#loadingOverlay #loadingHint,
.loading-overlay #loadingHint {
  display: block !important;
  line-height: 1.35 !important;
  margin: 10px auto 0 !important;
  max-width: min(620px, calc(100% - 48px)) !important;
  text-align: center !important;
}

/* generation-loading-note-width-v2 */
#loadingOverlay #loadingHint,
.loading-overlay #loadingHint {
  display: block !important;
  line-height: 1.35 !important;
  margin: 10px auto 0 !important;
  max-width: min(44ch, calc(100% - 48px)) !important;
  text-align: center !important;
  white-space: pre-line !important;
  width: fit-content !important;
}

/* resource-button-fit-polish-v4 */
.choice-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.choice-card-grid .choice-card[data-field="documentType"],
.choice-card-grid .choice-card[data-field="documentType"].is-selected {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  justify-content: center !important;
  min-height: 84px !important;
  min-width: 0 !important;
  padding: 8px 5px !important;
  text-align: center !important;
}

.choice-card-grid .choice-card[data-field="documentType"] > span:last-child {
  display: grid !important;
  gap: 1px !important;
  justify-items: center !important;
  min-width: 0 !important;
  width: 100% !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .choice-icon,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .choice-icon {
  flex: 0 0 46px !important;
  height: 46px !important;
  width: 46px !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .doc-icon::before,
.choice-card-grid .choice-card[data-field="documentType"] .handout-icon::before,
.choice-card-grid .choice-card[data-field="documentType"] .enhance-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .doc-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .handout-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .enhance-icon::before {
  height: 34px !important;
  width: 34px !important;
}

.choice-card-grid .choice-card[data-field="documentType"] strong,
.choice-card-grid .choice-card[data-field="documentType"].is-selected strong {
  font-size: clamp(0.72rem, 2.1vw, 0.88rem) !important;
  line-height: 0.96 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  white-space: normal !important;
}

.choice-card-grid .choice-card[data-field="documentType"] small,
.choice-card-grid .choice-card[data-field="documentType"].is-selected small {
  font-size: 0.62rem !important;
  line-height: 1.05 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  white-space: normal !important;
}

#originalSizeButton.original-layout-button {
  min-height: 62px !important;
  padding: 8px 12px !important;
}

#originalSizeButton.original-layout-button > span {
  font-size: 0.92rem !important;
  line-height: 1 !important;
}

/* level-set-ui-v1 */
body[data-document-type="levelset"] {
  --theme: #7c3aed;
  --theme-dark: #5b21b6;
  --theme-soft: #ede9fe;
  --theme-border: rgba(124, 58, 237, 0.42);
}

.choice-card-grid .choice-card[data-value="levelset"] {
  border-color: rgba(124, 58, 237, 0.34) !important;
}

.choice-card-grid .choice-card[data-value="levelset"] .choice-icon {
  background: rgba(124, 58, 237, 0.12) !important;
  color: #6d28d9 !important;
}

.choice-card-grid .level-set-icon::before {
  background: currentColor;
  content: "";
  display: block;
  height: 28px;
  -webkit-mask: radial-gradient(circle at 50% 20%, #000 0 10%, transparent 11%), linear-gradient(#000 0 0) center 43% / 52% 48% no-repeat, linear-gradient(#000 0 0) center 90% / 70% 14% no-repeat;
  mask: radial-gradient(circle at 50% 20%, #000 0 10%, transparent 11%), linear-gradient(#000 0 0) center 43% / 52% 48% no-repeat, linear-gradient(#000 0 0) center 90% / 70% 14% no-repeat;
  width: 28px;
}

body[data-document-type="levelset"] .choice-card[data-value="levelset"].is-selected,
body[data-document-type="levelset"] .choice-button.is-selected {
  background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
  border-color: #6d28d9 !important;
  color: #ffffff !important;
}

.level-set-panel {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.level-set-panel[hidden] {
  display: none !important;
}

.level-set-kind-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.level-set-kind-grid .choice-button {
  align-items: center;
  display: grid;
  justify-items: start;
  min-height: 58px;
  padding: 10px 12px;
}

.level-set-kind-grid .choice-button small {
  color: inherit;
  font-size: 0.68rem;
  line-height: 1.05;
  opacity: 0.76;
}

.level-set-drop-zone {
  align-items: center;
  background: linear-gradient(135deg, #f5f3ff, #ffffff);
  border: 1px dashed rgba(124, 58, 237, 0.45);
  border-radius: 12px;
  cursor: pointer;
  display: grid;
  gap: 4px 12px;
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 84px;
  padding: 12px 14px;
}

.level-set-drop-zone.is-dragging,
.level-set-drop-zone.has-file {
  background: linear-gradient(135deg, #ede9fe, #ffffff);
  border-color: #7c3aed;
}

.level-set-drop-icon {
  background: #7c3aed;
  border-radius: 12px;
  grid-row: 1 / 4;
  height: 40px;
  position: relative;
  width: 40px;
}

.level-set-drop-icon::before {
  background: #ffffff;
  content: "";
  display: block;
  height: 24px;
  left: 8px;
  position: absolute;
  top: 8px;
  -webkit-mask: linear-gradient(#000 0 0) center / 100% 100% no-repeat;
  mask: linear-gradient(#000 0 0) center / 100% 100% no-repeat;
  width: 24px;
}

.level-set-file-name {
  color: #6d28d9;
  font-size: 0.72rem;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.level-set-badge {
  background: #ede9fe;
  border: 1px solid rgba(124, 58, 237, 0.35);
  border-radius: 999px;
  color: #5b21b6;
  display: inline-flex;
  font-size: 0.68rem;
  font-weight: 1000;
  margin-left: 4px;
  padding: 2px 6px;
}


/* level-set-theme-polish-v2 */
:root {
  --level-set-main: #7b5aa6;
  --level-set-dark: #594076;
  --level-set-mid: #8f72b6;
  --level-set-soft: #f3eef9;
  --level-set-soft-strong: #e9def4;
  --level-set-border: rgba(123, 90, 166, 0.36);
  --level-set-shadow: rgba(89, 64, 118, 0.18);
}

body[data-document-type="levelset"] {
  --accent: var(--level-set-main) !important;
  --accent-dark: var(--level-set-dark) !important;
  --accent-soft: var(--level-set-soft) !important;
  --accent-shadow: var(--level-set-shadow) !important;
  --primary-gradient: linear-gradient(135deg, #6f5395, #9a7ac0) !important;
}

.choice-card-grid .choice-card[data-value="levelset"] {
  border-color: var(--level-set-border) !important;
}

.choice-card-grid .choice-card[data-value="levelset"] .choice-icon {
  background: var(--level-set-soft) !important;
  color: var(--level-set-main) !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .level-set-icon::before,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .level-set-icon::before {
  background: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  content: "" !important;
  display: block !important;
  height: 34px !important;
  width: 34px !important;
  -webkit-mask: url("/icons/level-set.svg") center / contain no-repeat !important;
  mask: url("/icons/level-set.svg") center / contain no-repeat !important;
}

.choice-card-grid .choice-card[data-field="documentType"] .level-set-icon::after,
.choice-card-grid .choice-card[data-field="documentType"].is-selected .level-set-icon::after {
  content: none !important;
  display: none !important;
}

body[data-document-type="levelset"] #generateButton,
body[data-document-type="levelset"] #showRevisionEditorButton,
body[data-document-type="levelset"] #revisionButton,
body[data-document-type="levelset"] #makeSimilarButton,
body[data-document-type="levelset"] #makeAnotherButton,
body[data-document-type="levelset"] .folder-create-button,
body[data-document-type="levelset"] .show-folder-create,
body[data-document-type="levelset"] .library-filter-toggle {
  background: linear-gradient(135deg, #6f5395, #9a7ac0) !important;
  border-color: var(--level-set-main) !important;
  box-shadow: 0 16px 32px var(--level-set-shadow) !important;
  color: #ffffff !important;
}

body[data-document-type="levelset"] #makeSimilarButton.secondary,
body[data-document-type="levelset"] #makeAnotherButton.secondary {
  background: var(--level-set-soft) !important;
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card.is-selected,
body[data-document-type="levelset"] .choice-button.is-selected {
  background: linear-gradient(135deg, var(--level-set-soft), #ffffff) !important;
  border-color: var(--level-set-main) !important;
  box-shadow: 0 12px 24px var(--level-set-shadow) !important;
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card.is-selected strong,
body[data-document-type="levelset"] .choice-card.is-selected small,
body[data-document-type="levelset"] .choice-button.is-selected strong,
body[data-document-type="levelset"] .choice-button.is-selected small {
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card.is-selected .choice-icon,
body[data-document-type="levelset"] .choice-button.is-selected .choice-icon {
  background: var(--level-set-soft-strong) !important;
  color: var(--level-set-main) !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected {
  background: linear-gradient(135deg, var(--level-set-soft), #ffffff) !important;
  border-color: var(--level-set-main) !important;
  box-shadow: 0 12px 24px var(--level-set-shadow) !important;
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected strong,
body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected small {
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected .choice-icon {
  background: var(--level-set-soft-strong) !important;
  color: var(--level-set-main) !important;
}

body[data-document-type="levelset"] .step-mark,
body[data-document-type="levelset"] .history-expand-button {
  background: linear-gradient(135deg, #6f5395, #9a7ac0) !important;
  border-color: var(--level-set-main) !important;
  color: #ffffff !important;
}

body[data-document-type="levelset"] .answer-key-option,
body[data-document-type="levelset"] .advanced-settings,
body[data-document-type="levelset"] .summary-strip,
body[data-document-type="levelset"] .level-set-panel,
body[data-document-type="levelset"] .level-set-drop-zone {
  border-color: var(--level-set-border) !important;
}

body[data-document-type="levelset"] .level-set-drop-zone {
  background: linear-gradient(145deg, var(--level-set-soft), #ffffff) !important;
  color: var(--level-set-dark) !important;
}

body[data-document-type="levelset"] .level-set-drop-zone:hover,
body[data-document-type="levelset"] .level-set-drop-zone:focus-visible,
body[data-document-type="levelset"] .level-set-drop-zone.is-dragging {
  border-color: var(--level-set-main) !important;
  box-shadow: 0 14px 30px var(--level-set-shadow) !important;
}

body[data-document-type="levelset"] .level-set-drop-zone.has-file {
  background: linear-gradient(145deg, var(--level-set-soft-strong), #ffffff) !important;
}

body[data-document-type="levelset"] input:focus,
body[data-document-type="levelset"] textarea:focus,
body[data-document-type="levelset"] select:focus {
  border-color: var(--level-set-main) !important;
  box-shadow: 0 0 0 4px rgba(123, 90, 166, 0.13) !important;
}

.level-set-badge {
  background: var(--level-set-soft) !important;
  border-color: rgba(123, 90, 166, 0.28) !important;
  color: var(--level-set-dark) !important;
}

/* level-set-all-accounts-v1 */
.choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"] {
  --resource-card-accent: #7b5aa6 !important;
  --resource-card-dark: #594076 !important;
  --resource-card-soft: #f3e8ff !important;
  --resource-card-shadow: rgba(89, 64, 118, 0.18) !important;
  background: linear-gradient(145deg, #fbf7ff 0%, #f5edff 58%, #ffffff 100%) !important;
  border-color: rgba(123, 90, 166, 0.48) !important;
  box-shadow: 0 10px 20px rgba(89, 64, 118, 0.1) !important;
  color: #594076 !important;
}

.choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"] strong,
.choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"] small {
  color: #594076 !important;
}

.choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"] .choice-icon {
  background: #f0ddff !important;
  color: #7b5aa6 !important;
}

.choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"]:hover {
  border-color: #7b5aa6 !important;
  box-shadow: 0 14px 26px rgba(89, 64, 118, 0.14) !important;
}

.choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"]:focus,
.choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"]:focus-visible {
  outline: 3px solid rgba(123, 90, 166, 0.26) !important;
  outline-offset: 2px !important;
}

body[data-document-type="levelset"] .choice-card-grid .choice-card[data-field="documentType"][data-value="levelset"].is-selected {
  background: linear-gradient(145deg, #f0ddff 0%, #fbf7ff 62%, #ffffff 100%) !important;
  border-color: #7b5aa6 !important;
  box-shadow: 0 16px 30px rgba(89, 64, 118, 0.2) !important;
  color: #594076 !important;
}
/* end-level-set-all-accounts */

/* level-set-preview-navigation-v1 */
.preview-stage.has-level-set-nav {
  overflow: visible !important;
}

.level-set-preview-nav[hidden],
.level-set-level-dock[hidden] {
  display: none !important;
}

.level-set-preview-nav {
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 18;
}

.level-set-side-button {
  align-items: center;
  background: linear-gradient(135deg, #f3eef9, #ffffff);
  border: 1px solid rgba(123, 90, 166, 0.36);
  border-radius: 999px;
  box-shadow: 0 18px 34px rgba(89, 64, 118, 0.18);
  color: #594076;
  cursor: pointer;
  display: inline-flex;
  font-size: 1.75rem;
  font-weight: 950;
  height: 62px;
  justify-content: center;
  line-height: 1;
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  width: 62px;
}

.level-set-side-button.is-prev {
  left: 46px;
}

.level-set-side-button.is-next {
  right: 46px;
}

.level-set-side-button:hover:not(:disabled) {
  box-shadow: 0 22px 44px rgba(89, 64, 118, 0.25);
  transform: translateY(-50%) scale(1.04);
}

.level-set-side-button:disabled:not(.is-loading-next) {
  cursor: default;
  opacity: 0.34;
}

.level-set-side-button.is-loading-next {
  cursor: wait;
  opacity: 1;
}

.level-set-side-button.is-loading-next span {
  opacity: 0.28;
}

.level-set-side-button.is-loading-next::before {
  animation: levelSetArrowOrbit 0.9s linear infinite;
  border: 4px solid rgba(123, 90, 166, 0.16);
  border-top-color: #7b5aa6;
  border-radius: 999px;
  content: "";
  height: 36px;
  position: absolute;
  width: 36px;
}

.level-set-side-button.is-ready-next {
  animation: levelSetReadyPop 1.2s ease-in-out infinite;
  background: linear-gradient(135deg, #e9def4, #ffffff);
  border-color: #7b5aa6;
}

.level-set-side-button.is-ready-next::after {
  animation: levelSetReadySpark 1.1s ease-in-out infinite;
  background:
    radial-gradient(circle, #7b5aa6 0 3px, transparent 4px) 50% 0 / 100% 100% no-repeat,
    radial-gradient(circle, #f59e0b 0 3px, transparent 4px) 100% 50% / 100% 100% no-repeat,
    radial-gradient(circle, #2563eb 0 3px, transparent 4px) 0 50% / 100% 100% no-repeat;
  border-radius: 999px;
  content: "";
  inset: -10px;
  pointer-events: none;
  position: absolute;
}

.level-set-level-dock {
  align-items: center;
  backdrop-filter: blur(8px);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(123, 90, 166, 0.16);
  border-radius: 24px;
  bottom: 18px;
  box-shadow: 0 16px 34px rgba(89, 64, 118, 0.16);
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  justify-content: center;
  max-width: min(520px, 100%);
  padding: 8px 10px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(520px, calc(100% - 96px));
  z-index: 21;
}

.level-set-level-button {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(123, 90, 166, 0.34);
  border-radius: 18px;
  box-shadow: 0 12px 22px rgba(89, 64, 118, 0.12);
  color: #594076;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 950;
  height: 50px;
  justify-content: center;
  min-width: 58px;
  padding: 0 15px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.level-set-level-button.is-ready {
  background: linear-gradient(135deg, #f3eef9, #ffffff);
}

.level-set-level-button.is-active {
  background: #7b5aa6;
  border-color: #7b5aa6;
  box-shadow: 0 16px 30px rgba(89, 64, 118, 0.24);
  color: #ffffff;
}

.level-set-level-button.is-waiting {
  color: rgba(89, 64, 118, 0.45);
  cursor: wait;
  overflow: hidden;
  position: relative;
}

.level-set-level-button.is-waiting::after {
  animation: levelSetDockLoading 1.3s ease-in-out infinite;
  background: linear-gradient(90deg, transparent, rgba(123, 90, 166, 0.22), transparent);
  content: "";
  inset: 0;
  position: absolute;
}

.level-set-level-button:disabled {
  cursor: default;
  opacity: 0.54;
}

.level-set-level-button:hover:not(:disabled) {
  box-shadow: 0 18px 32px rgba(89, 64, 118, 0.2);
  transform: translateY(-2px);
}

.history-item {
  --history-accent: #0f766e;
  --history-dark: #0a5d57;
  --history-soft: #dff5f1;
  --history-border: rgba(15, 118, 110, 0.22);
}

.history-item.history-type-handout {
  --history-accent: #ea580c;
  --history-dark: #9a3412;
  --history-soft: #ffedd5;
  --history-border: rgba(234, 88, 12, 0.24);
}

.history-item.history-type-enhance {
  --history-accent: #2563eb;
  --history-dark: #1d4ed8;
  --history-soft: #dbeafe;
  --history-border: rgba(37, 99, 235, 0.24);
}

.history-item.history-type-levelset {
  --history-accent: #7b5aa6;
  --history-dark: #594076;
  --history-soft: #f3eef9;
  --history-border: rgba(123, 90, 166, 0.28);
}

.history-item.history-type-answer-key {
  --history-accent: #c2410c;
  --history-dark: #9a3412;
  --history-soft: #fff7ed;
  --history-border: rgba(194, 65, 12, 0.24);
}

.history-item .history-open {
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
}

.history-item.is-active {
  border-color: var(--history-accent) !important;
  box-shadow: 0 16px 30px color-mix(in srgb, var(--history-accent) 16%, transparent) !important;
}

.history-item .history-thumb {
  background: linear-gradient(145deg, color-mix(in srgb, var(--history-soft) 70%, #ffffff), #ffffff) !important;
  border-color: color-mix(in srgb, var(--history-accent) 42%, var(--line)) !important;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--history-accent) 12%, transparent) !important;
}

.history-item .history-info strong {
  color: var(--ink) !important;
}

.history-item .history-info small {
  color: var(--muted) !important;
}

.level-set-group-card .level-set-group-open {
  gap: 10px;
  position: relative;
}

.level-set-group-thumb {
  background: linear-gradient(145deg, #f3eef9, #ffffff);
  border: 2px solid #7b5aa6;
  border-radius: 14px;
  box-shadow: 0 12px 26px rgba(89, 64, 118, 0.16);
  display: grid;
  padding: 6px;
  position: relative;
  width: 100%;
}

.level-set-group-thumb .history-thumb {
  border: 0 !important;
  box-shadow: none !important;
  grid-area: 1 / 1;
  width: 100%;
}

.level-set-group-count {
  align-items: center;
  background: #7b5aa6;
  border-radius: 999px;
  box-shadow: 0 10px 18px rgba(89, 64, 118, 0.22);
  color: #ffffff;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 950;
  height: 28px;
  justify-content: center;
  min-width: 42px;
  padding: 0 8px;
  position: absolute;
  right: 8px;
  top: 8px;
}

.history-expanded .level-set-group-card .history-info small {
  display: block !important;
  font-size: 0.72rem;
  font-weight: 850;
  margin-top: 3px;
}

.app-shell:not(.history-expanded) .level-set-group-count {
  display: none !important;
}

.level-set-download-menu {
  background: #ffffff;
  border: 1px solid rgba(123, 90, 166, 0.26);
  border-radius: 18px;
  box-shadow: 0 22px 44px rgba(15, 23, 42, 0.18);
  display: grid;
  gap: 7px;
  padding: 8px;
  position: fixed;
  width: 250px;
  z-index: 80;
}

.level-set-download-menu[hidden] {
  display: none !important;
}

.level-set-download-menu button {
  background: linear-gradient(135deg, #f3eef9, #ffffff);
  border: 1px solid rgba(123, 90, 166, 0.18);
  border-radius: 14px;
  color: #594076;
  cursor: pointer;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 900;
  min-height: 44px;
  padding: 10px 12px;
  text-align: left;
}

.level-set-download-menu button:hover:not(:disabled) {
  background: #7b5aa6;
  border-color: #7b5aa6;
  color: #ffffff;
}

.level-set-download-menu button:disabled {
  cursor: default;
  opacity: 0.46;
}

@keyframes levelSetArrowOrbit {
  to {
    transform: rotate(360deg);
  }
}

@keyframes levelSetReadyPop {
  0%, 100% {
    transform: translateY(-50%) scale(1);
  }
  50% {
    transform: translateY(-50%) scale(1.1);
  }
}

@keyframes levelSetReadySpark {
  0%, 100% {
    opacity: 0.35;
    transform: scale(0.86) rotate(0deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.05) rotate(18deg);
  }
}

@keyframes levelSetDockLoading {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@media (max-width: 720px) {
  .level-set-side-button {
    height: 50px;
    width: 50px;
  }

  .level-set-side-button.is-prev {
    left: 14px;
  }

  .level-set-side-button.is-next {
    right: 14px;
  }

  .level-set-level-button {
    height: 44px;
    min-width: 50px;
  }

  .level-set-level-dock {
    bottom: 10px;
    gap: 6px;
    padding: 6px 7px;
    width: min(360px, calc(100% - 24px));
  }
}
/* end-level-set-preview-navigation */

/* resource-first-flow-v1 */
#resourceChooserSection {
  overflow: visible !important;
}

#resourceChoiceGrid[hidden],
#resourceSelectedPanel[hidden],
body[data-resource-stage="chooser"] #generatorForm > :not(#resourceChooserSection) {
  display: none !important;
}

body[data-resource-stage="options"] #resourceChoiceGrid,
body[data-resource-stage="options"] #resourceChooserSection > .section-heading {
  display: none !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid {
  animation: resourceChooserIn 360ms cubic-bezier(0.16, 1, 0.3, 1) both;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] {
  border-radius: 20px !important;
  gap: 10px !important;
  min-height: 138px !important;
  overflow: hidden !important;
  padding: 16px 10px !important;
  position: relative !important;
  transform-origin: center !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-value="worksheet"] {
  --resource-card-accent: #0f766e;
  --resource-card-dark: #0a5d57;
  --resource-card-soft: #dff5f1;
  --resource-card-shadow: rgba(15, 118, 110, 0.18);
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-value="handout"] {
  --resource-card-accent: #ea580c;
  --resource-card-dark: #9a3412;
  --resource-card-soft: #ffedd5;
  --resource-card-shadow: rgba(234, 88, 12, 0.2);
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-value="enhance"] {
  --resource-card-accent: #2563eb;
  --resource-card-dark: #1d4ed8;
  --resource-card-soft: #dbeafe;
  --resource-card-shadow: rgba(37, 99, 235, 0.2);
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-value="levelset"] {
  --resource-card-accent: var(--level-set-main, #7b5aa6);
  --resource-card-dark: var(--level-set-dark, #594076);
  --resource-card-soft: var(--level-set-soft, #f3eef9);
  --resource-card-shadow: var(--level-set-shadow, rgba(89, 64, 118, 0.18));
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-value="chatmaker"] {
  --resource-card-accent: #e85d75;
  --resource-card-dark: #b93450;
  --resource-card-soft: #fff1f4;
  --resource-card-shadow: rgba(232, 93, 117, 0.2);
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"],
body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"].is-selected {
  background: linear-gradient(180deg, color-mix(in srgb, var(--resource-card-soft) 72%, #ffffff), #ffffff) !important;
  border-color: color-mix(in srgb, var(--resource-card-accent) 40%, var(--line)) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--resource-card-accent) 10%, transparent) !important;
  color: var(--resource-card-dark) !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] strong,
body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"].is-selected strong {
  color: var(--resource-card-dark) !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] small,
body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"].is-selected small {
  color: color-mix(in srgb, var(--resource-card-dark) 76%, var(--muted)) !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] .choice-icon,
body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"].is-selected .choice-icon {
  background: color-mix(in srgb, var(--resource-card-soft) 78%, #ffffff) !important;
  color: var(--resource-card-accent) !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"]::after {
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.78), transparent);
  bottom: 0;
  content: "";
  left: -120%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: skewX(-18deg);
  width: 42%;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"]:hover {
  transform: translateY(-3px) scale(1.01) !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"]:active {
  transform: translateY(0) scale(0.98) !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"].is-resource-launching {
  animation: resourceLaunch 190ms cubic-bezier(0.2, 0.9, 0.2, 1) both !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"].is-resource-launching::after {
  animation: resourceShine 260ms ease-out both;
  opacity: 1;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] .choice-icon {
  flex-basis: 62px !important;
  height: 62px !important;
  width: 62px !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] .doc-icon::before,
body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] .handout-icon::before,
body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] .enhance-icon::before,
body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] .level-set-icon::before,
body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] .chat-maker-icon::before {
  height: 42px !important;
  width: 42px !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] strong {
  font-size: clamp(1.05rem, 3vw, 1.28rem) !important;
  line-height: 1.02 !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] small {
  font-size: 0.78rem !important;
  line-height: 1.1 !important;
}

#resourceSelectedPanel {
  animation: resourceOptionsIn 300ms cubic-bezier(0.16, 1, 0.3, 1) both;
  display: grid !important;
  gap: 10px !important;
}

body[data-resource-stage="options"] .brand-row {
  min-height: 68px !important;
  padding: 2px 12px !important;
}

body[data-resource-stage="options"] .brand-row .brand-logo {
  height: 60px !important;
  max-height: 64px !important;
  width: min(90%, 244px) !important;
}

body[data-resource-stage="options"] #resourceSelectedPanel {
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
}

.resource-back-button {
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line));
  border-radius: 999px;
  color: var(--accent-dark);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 900;
  gap: 7px;
  justify-self: start;
  min-height: 34px;
  padding: 6px 12px;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.resource-back-button:hover,
.resource-back-button:focus-visible {
  background: var(--accent-soft);
  box-shadow: 0 10px 20px var(--accent-shadow);
  outline: none;
  transform: translateX(-2px);
}

.selected-resource-card {
  --selected-resource-accent: var(--accent);
  --selected-resource-dark: var(--accent-dark);
  --selected-resource-soft: var(--accent-soft);
  align-items: center;
  background: linear-gradient(180deg, color-mix(in srgb, var(--selected-resource-soft) 76%, #ffffff), #ffffff);
  border: 1px solid color-mix(in srgb, var(--selected-resource-accent) 34%, var(--line));
  border-radius: 18px;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--selected-resource-accent) 13%, transparent);
  color: var(--selected-resource-dark);
  display: grid;
  gap: 12px;
  grid-template-columns: 58px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  padding: 13px;
}

body[data-resource-stage="options"] .selected-resource-card {
  gap: 9px;
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 50px;
  padding: 6px 9px;
}

.selected-resource-card[data-resource="handout"] {
  --selected-resource-accent: #ea580c;
  --selected-resource-dark: #9a3412;
  --selected-resource-soft: #ffedd5;
}

.selected-resource-card[data-resource="enhance"] {
  --selected-resource-accent: #2563eb;
  --selected-resource-dark: #1d4ed8;
  --selected-resource-soft: #dbeafe;
}

.selected-resource-card[data-resource="levelset"] {
  --selected-resource-accent: var(--level-set-main, #7b5aa6);
  --selected-resource-dark: var(--level-set-dark, #594076);
  --selected-resource-soft: var(--level-set-soft, #f3eef9);
}

.selected-resource-card[data-resource="chatmaker"] {
  --selected-resource-accent: #e85d75;
  --selected-resource-dark: #b93450;
  --selected-resource-soft: #fff1f4;
}

.selected-resource-card .choice-icon {
  background: color-mix(in srgb, var(--selected-resource-soft) 78%, #ffffff) !important;
  color: var(--selected-resource-accent) !important;
  height: 58px !important;
  width: 58px !important;
}

body[data-resource-stage="options"] .selected-resource-card .choice-icon {
  height: 38px !important;
  width: 38px !important;
}

.selected-resource-card .choice-icon::before {
  height: 36px !important;
  width: 36px !important;
}

body[data-resource-stage="options"] .selected-resource-card .choice-icon::before {
  height: 24px !important;
  width: 24px !important;
}

.selected-resource-card .doc-icon {
  --selected-resource-icon: url("/icons/document-add.svg?v=20260524a");
}

.selected-resource-card .handout-icon {
  --selected-resource-icon: url("/icons/feed.svg?v=20260524a");
}

.selected-resource-card .enhance-icon {
  --selected-resource-icon: url("/icons/enhance.svg");
}

.selected-resource-card .level-set-icon {
  --selected-resource-icon: url("/icons/level-set.svg");
}

.selected-resource-card .chat-maker-icon {
  --selected-resource-icon: url("/icons/chat-maker.svg?v=20260602a");
}

.selected-resource-card .doc-icon::before,
.selected-resource-card .handout-icon::before,
.selected-resource-card .enhance-icon::before,
.selected-resource-card .level-set-icon::before,
.selected-resource-card .chat-maker-icon::before {
  background: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  content: "" !important;
  display: block !important;
  -webkit-mask: var(--selected-resource-icon) center / contain no-repeat !important;
  mask: var(--selected-resource-icon) center / contain no-repeat !important;
}

.selected-resource-card .doc-icon::after,
.selected-resource-card .handout-icon::after,
.selected-resource-card .enhance-icon::after,
.selected-resource-card .level-set-icon::after,
.selected-resource-card .chat-maker-icon::after {
  content: none !important;
  display: none !important;
}

.selected-resource-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.selected-resource-copy small {
  color: color-mix(in srgb, var(--selected-resource-dark) 72%, var(--muted));
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.selected-resource-copy strong {
  color: var(--selected-resource-dark);
  font-size: 1.22rem;
  font-weight: 950;
  line-height: 1;
}

.selected-resource-copy em {
  color: color-mix(in srgb, var(--selected-resource-dark) 82%, var(--muted));
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.15;
}

body[data-resource-stage="options"] .selected-resource-copy strong {
  font-size: 0.94rem;
}

body[data-resource-stage="options"] .selected-resource-copy em {
  font-size: 0.66rem;
}

body[data-resource-stage="options"] .form-stack {
  gap: 8px !important;
}

body[data-resource-stage="options"] .control-section {
  gap: 6px !important;
  padding-top: 8px !important;
}

body[data-resource-stage="options"] .control-panel .section-heading h2 {
  font-size: 0.88rem !important;
}

body[data-resource-stage="options"] .control-panel .step-mark {
  flex-basis: 22px !important;
  font-size: 11px !important;
  height: 22px !important;
  width: 22px !important;
}

body[data-resource-stage="options"] .control-panel .choice-button {
  min-height: 32px !important;
}

body[data-resource-stage="options"] .layout-options-grid .choice-button,
body[data-resource-stage="options"] .orientation-button {
  min-height: 34px !important;
}

body[data-resource-stage="options"] .control-panel input,
body[data-resource-stage="options"] .control-panel select {
  height: 36px !important;
  min-height: 36px !important;
}

body[data-resource-stage="options"] #additionalInput {
  max-height: 62px !important;
  min-height: 54px !important;
  padding: 8px 10px !important;
}

body[data-resource-stage="options"] .answer-key-option {
  gap: 8px !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  min-height: 50px !important;
  padding: 8px 10px !important;
}

body[data-resource-stage="options"] .answer-key-option input[type="checkbox"] {
  border-radius: 9px !important;
  flex-basis: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  width: 28px !important;
}

body[data-resource-stage="options"] .answer-key-option strong {
  font-size: 0.78rem !important;
}

body[data-resource-stage="options"] .answer-key-option small {
  font-size: 0.64rem !important;
  line-height: 1.15 !important;
}

body[data-resource-stage="options"] .advanced-settings {
  padding: 5px !important;
}

body[data-resource-stage="options"] .advanced-settings summary {
  min-height: 30px !important;
}

body[data-resource-stage="options"] #generateButton {
  min-height: 40px !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] .enhance-drop-zone {
  min-height: 68px !important;
  padding: 8px 12px !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] .enhance-drop-icon {
  height: 32px !important;
  width: 32px !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] .enhance-check-grid {
  gap: 6px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] .enhance-check-option {
  font-size: 0.7rem !important;
  gap: 5px !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  min-height: 34px !important;
  padding: 6px !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] .enhance-check-option input {
  height: 18px !important;
  width: 18px !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] .advanced-settings {
  display: none !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] .level-set-panel {
  gap: 7px !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] .level-set-kind-grid .choice-button {
  min-height: 38px !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] .level-set-drop-zone {
  min-height: 56px !important;
  padding: 8px 12px !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] .level-set-drop-icon {
  height: 32px !important;
  width: 32px !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] #additionalInput {
  max-height: 44px !important;
  min-height: 38px !important;
}

body[data-resource-stage="options"] #generatorForm > .control-section:not(#resourceChooserSection),
body[data-resource-stage="options"] #generatorForm > .summary-strip,
body[data-resource-stage="options"] #generatorForm > #generateButton,
body[data-resource-stage="options"] #generatorForm > #generationLimitLabel {
  animation: optionSectionIn 280ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

body[data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="levelLabel"] {
  animation-delay: 35ms;
}

body[data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="layoutLabel"] {
  animation-delay: 70ms;
}

body[data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="topicLabel"] {
  animation-delay: 105ms;
}

body[data-resource-stage="options"] #generatorForm > .summary-strip,
body[data-resource-stage="options"] #generatorForm > #generateButton,
body[data-resource-stage="options"] #generatorForm > #generationLimitLabel {
  animation-delay: 135ms;
}

body[data-resource-stage="options"] #generatorForm > * {
  order: 50 !important;
}

body[data-resource-stage="options"] #generatorForm > #resourceChooserSection {
  order: 1 !important;
}

body[data-resource-stage="options"] #generatorForm > .summary-strip {
  display: none !important;
}

body[data-document-type="worksheet"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="levelLabel"],
body[data-document-type="handout"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="levelLabel"] {
  order: 2 !important;
}

body[data-document-type="worksheet"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="layoutLabel"],
body[data-document-type="handout"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="layoutLabel"] {
  order: 3 !important;
}

body[data-document-type="worksheet"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="topicLabel"],
body[data-document-type="handout"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="topicLabel"] {
  order: 4 !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="typeLabel"] {
  order: 1 !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="topicLabel"] {
  order: 2 !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="levelLabel"] {
  order: 3 !important;
}

body[data-document-type="enhance"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="layoutLabel"] {
  order: 4 !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="typeLabel"] {
  order: 1 !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="topicLabel"] {
  order: 2 !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="levelLabel"] {
  order: 3 !important;
}

body[data-document-type="levelset"][data-resource-stage="options"] #generatorForm > .control-section[aria-labelledby="layoutLabel"] {
  order: 4 !important;
}

body[data-resource-stage="options"] #generatorForm > .summary-strip {
  order: 5 !important;
}

body[data-resource-stage="options"] #generatorForm > #generateButton {
  order: 6 !important;
}

body[data-resource-stage="options"] #generatorForm > #generationLimitLabel {
  order: 7 !important;
}

@keyframes resourceChooserIn {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes resourceOptionsIn {
  from { opacity: 0; transform: translateX(-16px) scale(0.98); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes optionSectionIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes resourceLaunch {
  0% { transform: scale(1); }
  55% { transform: scale(1.045); }
  100% { transform: scale(0.985); }
}

@keyframes resourceShine {
  from { left: -120%; }
  to { left: 140%; }
}

@media (max-width: 540px) {
  body[data-resource-stage="chooser"] #resourceChoiceGrid {
    gap: 10px !important;
  }

  body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] {
    min-height: 122px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #resourceSelectedPanel,
  body[data-resource-stage="chooser"] #resourceChoiceGrid,
  body[data-resource-stage="options"] #generatorForm > .control-section:not(#resourceChooserSection),
  body[data-resource-stage="options"] #generatorForm > .summary-strip,
  body[data-resource-stage="options"] #generatorForm > #generateButton,
  body[data-resource-stage="options"] #generatorForm > #generationLimitLabel,
  body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"].is-resource-launching,
  body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"].is-resource-launching::after {
    animation: none !important;
  }

  body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"],
  .resource-back-button {
    transition: none !important;
  }
}
/* end-resource-first-flow */

/* chat-maker-resource-v1 */
body[data-document-type="chatmaker"] {
  --accent: #e85d75;
  --accent-dark: #b93450;
  --accent-soft: #fff1f4;
  --accent-shadow: rgba(232, 93, 117, 0.2);
  --primary-gradient: linear-gradient(135deg, #e85d75, #f97358);
}

#chatMakerChoiceButton[hidden],
#chatMakerPanel[hidden] {
  display: none !important;
}

.chat-maker-icon {
  --resource-icon-url: url("icons/chat-maker.svg?v=20260602a");
}

.choice-card-grid .chat-maker-icon::before,
.choice-card-grid .choice-card.is-selected .chat-maker-icon::before,
.selected-resource-card .chat-maker-icon::before,
.chat-maker-intro .chat-maker-icon::before {
  background: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  content: "" !important;
  display: block !important;
  height: 34px !important;
  width: 34px !important;
  -webkit-mask: var(--resource-icon-url) center / contain no-repeat !important;
  mask: var(--resource-icon-url) center / contain no-repeat !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-field="documentType"] .chat-maker-icon::before {
  height: 42px !important;
  width: 42px !important;
}

body[data-resource-stage="options"] .selected-resource-card .chat-maker-icon::before {
  height: 24px !important;
  width: 24px !important;
}

.chat-maker-intro .chat-maker-icon::before {
  height: 30px !important;
  width: 30px !important;
}

.choice-card-grid .chat-maker-icon::after,
.selected-resource-card .chat-maker-icon::after,
.chat-maker-intro .chat-maker-icon::after {
  content: none !important;
  display: none !important;
}

body[data-resource-stage="chooser"] #resourceChoiceGrid .choice-card[data-value="chatmaker"] {
  --resource-card-accent: #e85d75;
  --resource-card-dark: #b93450;
  --resource-card-soft: #fff1f4;
  --resource-card-shadow: rgba(232, 93, 117, 0.18);
}

.selected-resource-card[data-resource="chatmaker"] {
  --selected-resource-accent: #e85d75;
  --selected-resource-dark: #b93450;
  --selected-resource-soft: #fff1f4;
}

.selected-resource-card .chat-maker-icon {
  --resource-icon-url: url("/icons/chat-maker.svg?v=20260602a");
}

body[data-document-type="chatmaker"] #generatorForm > .control-section[aria-labelledby="levelLabel"],
body[data-document-type="chatmaker"] #generatorForm > .control-section[aria-labelledby="layoutLabel"],
body[data-document-type="chatmaker"] .summary-strip,
body[data-document-type="chatmaker"] #generateButton,
body[data-document-type="chatmaker"] #generationLimitLabel {
  display: none !important;
}

body[data-document-type="chatmaker"] #topicLabel {
  font-size: 1.08rem;
}

.chat-maker-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: min(62vh, 640px);
}

.chat-maker-intro {
  align-items: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 78%, #ffffff), #ffffff);
  border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
  border-radius: 16px;
  display: grid;
  gap: 10px;
  grid-template-columns: 46px minmax(0, 1fr);
  padding: 12px;
}

.chat-maker-intro .choice-icon {
  background: color-mix(in srgb, var(--accent-soft) 72%, #ffffff) !important;
  color: var(--accent);
  height: 46px !important;
  width: 46px !important;
}

.chat-maker-intro strong,
.chat-maker-review strong {
  color: var(--accent-dark);
  display: block;
  font-weight: 900;
}

.chat-maker-intro small,
.chat-maker-review p {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.chat-maker-window {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
  border-radius: 18px;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  min-height: 260px;
  max-height: min(50vh, 460px);
  overflow: auto;
  padding: 10px;
}

.chat-maker-messages {
  display: grid;
  gap: 8px;
}

.chat-message {
  border-radius: 14px;
  font-size: 0.9rem;
  line-height: 1.35;
  max-width: 92%;
  padding: 9px 11px;
  white-space: pre-wrap;
}

.chat-message.is-assistant {
  background: #ffffff;
  border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
  color: var(--ink);
  justify-self: start;
}

.chat-message.is-user {
  background: var(--accent);
  color: #ffffff;
  justify-self: end;
}

.chat-message.is-thinking {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  min-height: 38px;
  min-width: 62px;
}

.typing-dot {
  animation: chatMakerTyping 1.05s ease-in-out infinite;
  background: var(--accent);
  border-radius: 999px;
  display: block;
  height: 8px;
  opacity: 0.35;
  width: 8px;
}

.typing-dot:nth-child(2) {
  animation-delay: 0.16s;
}

.typing-dot:nth-child(3) {
  animation-delay: 0.32s;
}

.chat-maker-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.chat-maker-chips button {
  background: color-mix(in srgb, var(--accent-soft) 82%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--accent) 34%, #ffffff);
  border-radius: 999px;
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
  padding: 7px 10px;
}

.chat-maker-review {
  background: linear-gradient(135deg, #ffffff, color-mix(in srgb, var(--accent-soft) 74%, #ffffff));
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: 18px;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--accent) 12%, transparent);
  display: grid;
  gap: 8px;
  padding: 12px;
}

.chat-maker-review > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.chat-maker-review-actions {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

.chat-maker-review-actions .primary-button,
.chat-maker-review-actions .secondary-button,
body[data-document-type="chatmaker"] #showRevisionEditorButton,
body[data-document-type="chatmaker"] #revisionButton,
body[data-document-type="chatmaker"] #makeSimilarButton,
body[data-document-type="chatmaker"] #makeAnotherButton {
  background: color-mix(in srgb, var(--accent-soft) 88%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--accent) 54%, #ffffff) !important;
  color: var(--accent-dark) !important;
}

.chat-maker-review-actions .primary-button,
body[data-document-type="chatmaker"] #showRevisionEditorButton,
body[data-document-type="chatmaker"] #revisionButton {
  background: var(--primary-gradient) !important;
  color: #ffffff !important;
}

.chat-maker-composer {
  display: grid;
  gap: 8px;
  margin-top: auto;
}

.chat-maker-input-row {
  align-items: stretch;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 78px;
}

.chat-maker-input-row textarea {
  min-height: 54px;
  resize: vertical;
}

.chat-maker-input-row button {
  min-height: 54px;
}

.chat-maker-input-row button.is-loading {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.chat-send-spinner {
  animation: chatMakerSpin 0.78s linear infinite;
  border: 3px solid color-mix(in srgb, var(--accent) 20%, #ffffff);
  border-radius: 999px;
  border-top-color: var(--accent);
  display: inline-block;
  height: 22px;
  width: 22px;
}

.chat-maker-panel .ghost-button.small {
  min-height: 34px;
  padding: 7px 12px;
}

body[data-document-type="chatmaker"] .control-panel .step-mark {
  background: var(--primary-gradient) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

body[data-document-type="chatmaker"] #chatMakerSendButton,
body[data-document-type="chatmaker"] #chatMakerKeepChattingButton,
body[data-document-type="chatmaker"] #chatMakerRestartButton,
body[data-document-type="chatmaker"] #makeSimilarButton,
body[data-document-type="chatmaker"] #makeAnotherButton {
  background: color-mix(in srgb, var(--accent-soft) 88%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--accent) 46%, #ffffff) !important;
  box-shadow: none !important;
  color: var(--accent-dark) !important;
}

body[data-document-type="chatmaker"] #chatMakerGenerateButton,
body[data-document-type="chatmaker"] #showRevisionEditorButton,
body[data-document-type="chatmaker"] #revisionButton {
  background: var(--primary-gradient) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 30px var(--accent-shadow) !important;
  color: #ffffff !important;
}

body[data-document-type="chatmaker"] .download-button:not(.is-disabled),
body[data-document-type="chatmaker"] #downloadButton:not([disabled]),
body[data-document-type="chatmaker"] #downloadVisibleButton:not([disabled]) {
  background: var(--primary-gradient) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 30px var(--accent-shadow) !important;
  color: #ffffff !important;
}

body[data-document-type="chatmaker"] .download-button:not(.is-disabled) svg,
body[data-document-type="chatmaker"] .download-button:not(.is-disabled) img,
body[data-document-type="chatmaker"] #downloadButton:not([disabled]) svg,
body[data-document-type="chatmaker"] #downloadButton:not([disabled]) img,
body[data-document-type="chatmaker"] #downloadVisibleButton:not([disabled]) svg,
body[data-document-type="chatmaker"] #downloadVisibleButton:not([disabled]) img {
  color: #ffffff !important;
  filter: brightness(0) invert(1) !important;
}

body[data-document-type="chatmaker"] .history-item {
  border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
}

@keyframes chatMakerTyping {
  0%,
  80%,
  100% {
    opacity: 0.35;
    transform: translateY(0) scale(0.9);
  }

  40% {
    opacity: 1;
    transform: translateY(-4px) scale(1);
  }
}

@keyframes chatMakerSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 759px) {
  .chat-maker-review-actions,
  .chat-maker-input-row {
    grid-template-columns: 1fr;
  }
}
/* end-chat-maker-resource */
