    :root {
      --paper: #f6f4ef;
      --panel: #fffdfa;
      --ink: #17213b;
      --muted: #778092;
      --line: #e5e1d8;
      --blue: #4169e1;
      --blue-soft: #eaf0ff;
      --green: #68b884;
      --green-soft: #edf8f1;
      --red: #d84a43;
      --amber: #d99b2b;
      --amber-soft: #fff5d8;
      --shadow: 0 14px 38px rgba(36, 31, 24, .1);
      --radius: 8px;
      --layout-gap: 18px;
      --nav-width: 172px;
      --left-pane: 62%;
      --layout-columns: minmax(420px, var(--left-pane)) minmax(320px, 1fr);
      font-family: "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scrollbar-gutter: stable;
    }

    [hidden] {
      display: none !important;
    }

    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      min-height: 100vh;
    }

    button,
    textarea,
    input {
      font: inherit;
    }

    .app {
      width: 100%;
      min-width: 0;
      min-height: 100vh;
      padding: 20px 24px 28px;
      display: flex;
      flex-direction: column;
    }

    .site-footer {
      margin-top: auto;
      padding: 28px 16px 0;
      text-align: center;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
    }

    .site-footer a {
      color: inherit;
      text-decoration: none;
    }

    .site-footer a:hover {
      color: var(--blue);
      text-decoration: underline;
    }

    .shell {
      max-width: 1680px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: var(--nav-width) minmax(0, 1fr);
      gap: 0;
      align-items: start;
      position: relative;
    }

    .nav-resizer {
      position: absolute;
      top: 0;
      bottom: 0;
      left: var(--nav-width);
      width: 14px;
      transform: translateX(-50%);
      border: 0;
      padding: 0;
      background: transparent;
      cursor: col-resize;
      z-index: 4;
      touch-action: none;
      user-select: none;
    }

    .nav-resizer::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 6px;
      width: 2px;
      border-radius: 999px;
      background: rgba(119, 128, 146, .35);
      transition: background .16s ease, width .16s ease, left .16s ease;
    }

    .nav-resizer:hover::before,
    body.resizing-nav .nav-resizer::before {
      left: 5px;
      width: 4px;
      background: rgba(65, 105, 225, .72);
    }

    .side-nav {
      position: sticky;
      top: 0;
      z-index: 6;
      min-height: 100vh;
      padding: 20px 14px;
      border-right: 1px solid var(--line);
      background: rgba(255, 253, 250, .72);
      backdrop-filter: blur(12px);
      display: grid;
      align-content: start;
      gap: 14px;
    }

    .nav-head {
      display: grid;
      gap: 8px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--line);
    }

    .brand-mark {
      font-family: Georgia, "Times New Roman", "Songti SC", serif;
      font-size: 24px;
      font-weight: 700;
      padding: 8px 8px 0;
    }

    .brand-compact {
      display: none;
    }

    .nav-toggle {
      position: absolute;
      top: 50vh;
      right: -17px;
      width: 34px;
      height: 34px;
      border: 1px solid var(--line);
      border-radius: 50%;
      background: #fff;
      color: #40516d;
      cursor: pointer;
      padding: 0;
      z-index: 10;
      display: grid;
      place-items: center;
      box-shadow: 0 10px 24px rgba(36, 31, 24, .14);
      transform: translateY(-50%);
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
    }

    .nav-toggle:hover {
      border-color: rgba(65, 105, 225, .45);
      background: var(--blue-soft);
      color: var(--blue);
      box-shadow: 0 14px 28px rgba(65, 105, 225, .18);
      transform: translateY(-50%) scale(1.04);
    }

    .nav-toggle:focus-visible {
      outline: 3px solid rgba(65, 105, 225, .22);
      outline-offset: 3px;
    }

    .nav-toggle::before {
      content: "";
      width: 9px;
      height: 9px;
      border-left: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: translateX(2px) rotate(45deg);
    }

    .shell.nav-collapsed .nav-toggle::before {
      transform: translateX(-2px) rotate(225deg);
    }

    .nav-list {
      display: grid;
      gap: 6px;
    }

    .nav-item {
      border: 0;
      border-radius: 7px;
      background: transparent;
      color: #4b5568;
      cursor: pointer;
      min-height: 42px;
      padding: 0 12px;
      text-align: left;
      font-weight: 900;
    }

    .nav-item.active {
      background: var(--blue);
      color: #fff;
      box-shadow: 0 8px 22px rgba(65, 105, 225, .22);
    }

    .shell.nav-collapsed {
      grid-template-columns: 40px minmax(0, 1fr);
    }

    .shell.nav-collapsed .side-nav {
      padding: 20px 2px 16px;
      gap: 10px;
    }

    .shell.nav-collapsed .nav-resizer {
      display: none;
    }

    .shell.nav-collapsed .nav-head {
      padding-bottom: 10px;
    }

    .shell.nav-collapsed .brand-mark {
      width: 100%;
      overflow: hidden;
      white-space: nowrap;
      padding: 8px 0 0 5px;
      text-align: left;
      font-size: 24px;
    }

    .shell.nav-collapsed .brand-full {
      display: inline;
    }

    .shell.nav-collapsed .brand-compact {
      display: none;
    }

    .shell.nav-collapsed .nav-toggle {
      right: -17px;
    }

    .shell.nav-collapsed .nav-list {
      display: none;
    }

    .page {
      display: none;
    }

    .page.active {
      display: block;
    }

    #page-solve {
      position: relative;
    }

    .page-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .page-panel {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 22px;
      display: grid;
      gap: 12px;
      align-content: start;
      min-width: 0;
    }

    .page-panel.wide {
      grid-column: 1 / -1;
    }

    .page-panel h2,
    .page-panel h3 {
      margin: 0;
      font-family: Georgia, "Times New Roman", "Songti SC", serif;
      letter-spacing: 0;
    }

    .page-panel p {
      margin: 0;
      color: #4d586d;
      line-height: 1.75;
    }

    .page-list {
      display: grid;
      gap: 10px;
    }

    .list-pager {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      margin-top: 12px;
    }

    .list-pager[hidden] {
      display: none;
    }

    .list-pager button {
      min-height: 32px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fff;
      color: var(--ink);
      padding: 0 12px;
      font: inherit;
      cursor: pointer;
    }

    .list-pager button:disabled {
      cursor: not-allowed;
      opacity: .45;
    }

    .stat-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    .stat-item {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 14px;
      display: grid;
      gap: 6px;
    }

    .stat-number {
      font-size: 28px;
      font-weight: 900;
      color: var(--blue);
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    }

    .hero {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: flex-end;
      margin-bottom: 14px;
    }

    h1 {
      margin: 0 0 8px;
      font-family: Georgia, "Times New Roman", "Songti SC", serif;
      font-size: clamp(20px, 1.8vw, 28px);
      font-weight: 600;
      letter-spacing: 0;
    }

    .subtitle {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.6;
    }

    .subtitle[hidden] {
      display: none;
    }

    .subtitle-meta {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .hero-actions {
      display: grid;
      gap: 8px;
      justify-items: end;
    }

    .auth-user {
      display: inline-flex;
      gap: 8px;
      align-items: center;
      color: var(--muted);
      font-size: 13px;
      font-weight: 800;
    }

    .auth-user[hidden] {
      display: none;
    }

    .auth-link {
      border: 0;
      background: transparent;
      color: var(--blue);
      cursor: pointer;
      padding: 0;
      font-weight: 900;
    }

    .auth-user-name {
      color: var(--muted);
    }

    .auth-user-name:hover {
      color: var(--blue);
    }

    .user-center-grid {
      display: grid;
      gap: 16px;
    }

    .user-center-tabs {
      display: inline-flex;
      width: fit-content;
      max-width: 100%;
      padding: 4px;
      gap: 4px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: rgba(246, 248, 255, .88);
    }

    .user-center-tab {
      min-height: 40px;
      padding: 8px 22px;
      border: 0;
      border-radius: 999px;
      color: var(--muted);
      background: transparent;
      font: inherit;
      font-weight: 850;
      cursor: pointer;
      transition: color .18s ease, background .18s ease, box-shadow .18s ease;
    }

    .user-center-tab:hover {
      color: var(--blue);
    }

    .user-center-tab.active {
      color: #fff;
      background: var(--blue);
      box-shadow: 0 8px 18px rgba(65, 105, 225, .2);
    }

    .user-center-tab-panels {
      min-width: 0;
    }

    .user-center-tab-panels [hidden] {
      display: none;
    }

    .user-center-tab-panels > .page-panel {
      display: grid;
      gap: 22px;
      padding: 26px;
      border: 1px solid rgba(87, 106, 145, .16);
      border-radius: 20px;
      background: linear-gradient(145deg, #fff 0%, #fbfcff 100%);
      box-shadow: 0 14px 34px rgba(39, 59, 102, .08);
    }

    .user-password-panel {
      width: 100%;
      max-width: 520px;
      padding: 18px 20px;
      gap: 10px;
      justify-self: start;
    }

    .user-center-section-head {
      display: flex;
      justify-content: space-between;
      align-items: start;
      gap: 16px;
    }

    .user-center-section-head h2 {
      margin-bottom: 6px;
      letter-spacing: -.02em;
    }

    .user-center-section-head p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
    }

    .quota-hero {
      min-height: 142px;
      padding: 24px 28px;
      border: 1px solid rgba(65, 105, 225, .24);
      border-radius: 16px;
      background: linear-gradient(135deg, #eef4ff 0%, #f8fbff 68%, #fff 100%);
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 24px;
      overflow: hidden;
      position: relative;
    }

    .quota-hero::after {
      content: "";
      width: 180px;
      height: 180px;
      border-radius: 50%;
      background: rgba(65, 105, 225, .08);
      position: absolute;
      right: -64px;
      top: -82px;
      pointer-events: none;
    }

    .quota-hero-copy {
      min-width: 0;
      display: grid;
      gap: 7px;
      position: relative;
      z-index: 1;
    }

    .quota-hero-kicker {
      color: var(--blue);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .12em;
    }

    .quota-hero-label {
      color: var(--ink);
      font-size: 19px;
      letter-spacing: -.02em;
    }

    .quota-hero-meta {
      color: var(--muted);
      font-size: 13px;
    }

    .quota-hero-value {
      color: var(--blue);
      font-size: clamp(34px, 5vw, 56px);
      font-variant-numeric: tabular-nums;
      line-height: .95;
      overflow-wrap: anywhere;
      text-align: left;
      position: relative;
      z-index: 1;
    }

    .points-quota-hero {
      border-color: rgba(215, 145, 47, .28);
      background: linear-gradient(135deg, #fff7e8 0%, #fffaf3 68%, #fff 100%);
    }

    .points-quota-hero::after {
      background: rgba(215, 145, 47, .1);
    }

    .points-quota-hero .quota-hero-kicker,
    .points-quota-hero .quota-hero-value {
      color: #c17a18;
    }

    .token-usage-groups {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .token-balance-row {
      min-height: 66px;
      padding: 14px 18px;
      border: 1px solid rgba(65, 105, 225, .28);
      border-radius: 8px;
      background: var(--blue-soft);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }

    .token-balance-row span {
      color: var(--muted);
      font-size: 15px;
      font-weight: 900;
    }

    .token-balance-row strong {
      color: var(--blue);
      font-size: clamp(26px, 3vw, 38px);
      line-height: 1;
      overflow-wrap: anywhere;
      text-align: right;
    }

    .token-usage-group {
      display: grid;
      gap: 10px;
      padding: 18px;
      border: 1px solid rgba(87, 106, 145, .14);
      border-radius: 14px;
      background: rgba(255, 255, 255, .82);
    }

    .token-usage-group h3 {
      margin: 0;
      color: var(--ink);
      font-size: 16px;
    }

    .token-stat-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .token-stat-grid.today {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .token-stat-card {
      min-height: 104px;
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfaf7;
      display: grid;
      gap: 10px;
      align-content: center;
    }

    .token-stat-card.primary {
      border-color: rgba(65, 105, 225, .28);
      background: var(--blue-soft);
    }

    .token-stat-card span {
      color: var(--muted);
      font-size: 13px;
      font-weight: 850;
    }

    .token-stat-card strong {
      color: var(--ink);
      font-size: clamp(26px, 3vw, 38px);
      font-variant-numeric: tabular-nums;
      line-height: 1;
      overflow-wrap: anywhere;
    }

    .token-stat-card.primary strong {
      color: var(--blue);
    }

    .points-usage-panel .token-stat-card strong {
      color: #a86512;
    }

    .points-usage-panel .token-stat-card {
      background: #fffdf9;
    }

    .user-center-note {
      font-size: 13px;
    }

    .user-center-note.error,
    .user-password-message.error {
      color: var(--red);
    }

    .user-password-form {
      width: min(100%, 420px);
      display: grid;
      gap: 10px;
    }

    .user-password-form label {
      display: grid;
      gap: 7px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 850;
    }

    .user-password-form input {
      width: 100%;
      min-height: 38px;
      padding: 7px 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      color: var(--ink);
      background: #fff;
      outline: none;
    }

    .user-password-form input:focus {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .user-password-message {
      min-height: 20px;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.5;
    }

    .user-password-message.success {
      color: #247344;
    }

    .user-password-form .btn {
      width: fit-content;
      min-width: 112px;
      justify-self: center;
      justify-content: center;
    }

    .auth-screen {
      position: fixed;
      inset: 0;
      z-index: 20;
      display: grid;
      place-items: center;
      padding: 24px;
      background: rgba(246, 244, 239, .92);
      backdrop-filter: blur(10px);
    }

    .auth-screen.hidden {
      display: none;
    }

    .auth-card {
      width: min(430px, 100%);
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: 0 24px 70px rgba(23, 33, 59, .18);
      padding: 24px;
      display: grid;
      gap: 14px;
    }

    .auth-card h2 {
      margin: 0;
      font-family: Georgia, "Times New Roman", "Songti SC", serif;
      font-size: 28px;
      letter-spacing: 0;
    }

    .auth-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }

    .auth-form {
      display: grid;
      gap: 12px;
    }

    .auth-form label {
      display: grid;
      gap: 7px;
      color: #39435a;
      font-weight: 800;
    }

    .auth-form input {
      width: 100%;
      height: 42px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: var(--ink);
      padding: 0 12px;
      outline: none;
    }

    .auth-form input:focus {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .auth-error {
      color: #a34038;
      font-size: 13px;
      font-weight: 800;
      min-height: 18px;
    }

    #authSubmit {
      justify-content: center;
      text-align: center;
    }

    .auth-test-account {
      padding-top: 13px;
      border-top: 1px solid var(--line);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      gap: 10px;
      text-align: center;
      font-size: 15px;
      font-weight: 700;
    }

    .auth-test-account strong {
      color: #4565ec;
      font-size: 16px;
      font-weight: 900;
      letter-spacing: .02em;
      user-select: all;
    }

    .auth-test-account > span {
      color: #b35f68;
    }

    .auth-test-account .auth-test-account-copy {
      min-width: 160px;
      min-height: 34px;
      padding: 6px 12px;
      border-color: rgba(69, 101, 236, .28);
      background: rgba(69, 101, 236, .08);
      color: #4565ec;
      font-size: 13px;
      font-weight: 900;
      justify-content: center;
      text-align: center;
    }

    .auth-test-account .auth-test-account-copy:hover {
      border-color: rgba(69, 101, 236, .5);
      background: rgba(69, 101, 236, .14);
      color: #3859e2;
    }

    .app.auth-locked {
      pointer-events: none;
      user-select: none;
    }

    .composer {
      margin-bottom: 14px;
    }

    .primary-column > .composer {
      margin-bottom: 0;
    }

    .composer label {
      display: block;
      color: #39435a;
      font-weight: 700;
      margin-bottom: 8px;
    }

    .problem-entry-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }

    .composer .problem-entry-head > label {
      margin: 0;
    }

    .problem-entry-title-row {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .composer .problem-entry-title-row > label {
      margin: 0;
    }

    .ai-lesson-list-tab {
      min-height: 28px;
      padding: 3px 11px;
      border: 1px solid #dce4f5;
      border-radius: 999px;
      background: #f6f8ff;
      color: #62708f;
      font: inherit;
      font-size: 12px;
      font-weight: 800;
      cursor: pointer;
      transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
    }

    .ai-lesson-list-tab:hover,
    .ai-lesson-list-tab:focus-visible,
    .ai-lesson-list-tab.active {
      border-color: rgba(65, 105, 225, .42);
      background: var(--blue-soft);
      color: var(--blue);
      outline: none;
      box-shadow: 0 3px 10px rgba(65, 105, 225, .1);
    }

    .ai-lesson-record-panel {
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #dfe6f5;
      border-radius: 12px;
      background: #f8faff;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
    }

    .ai-lesson-record-panel[hidden] {
      display: none;
    }

    .ai-lesson-record-panel-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 8px;
      color: #39435a;
      font-size: 13px;
    }

    .ai-lesson-record-panel-head button {
      border: 0;
      background: transparent;
      color: var(--blue);
      font: inherit;
      font-size: 12px;
      font-weight: 800;
      cursor: pointer;
    }

    .ai-lesson-record-list {
      display: grid;
      gap: 7px;
      max-height: 330px;
      overflow: auto;
      padding-right: 2px;
    }

    .ai-lesson-record-empty {
      padding: 12px 8px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }

    .ai-lesson-record-empty.error {
      color: #b54d58;
    }

    .ai-lesson-record-item {
      position: relative;
      display: grid;
      gap: 5px;
      width: 100%;
      padding: 10px 12px;
      border: 1px solid #e0e6f2;
      border-radius: 10px;
      background: #fff;
      color: var(--ink);
      font: inherit;
      text-align: left;
      cursor: pointer;
      transition: border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
    }

    .ai-lesson-record-item:hover,
    .ai-lesson-record-item:focus-visible {
      border-color: rgba(65, 105, 225, .4);
      background: #fbfcff;
      outline: none;
      transform: translateY(-1px);
      box-shadow: 0 5px 14px rgba(55, 73, 122, .08);
    }

    .ai-lesson-record-item.loading {
      opacity: .62;
      pointer-events: none;
    }

    .ai-lesson-record-title {
      display: -webkit-box;
      overflow: hidden;
      color: #303b55;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.5;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    .ai-lesson-record-meta {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      color: #8a96ad;
      font-size: 11px;
      line-height: 1.4;
    }

    .ai-lesson-record-meta > span:first-child {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .ai-lesson-record-action {
      color: var(--blue);
      font-size: 12px;
      font-weight: 800;
    }

    .composer-grid {
      display: grid;
      grid-template-columns: var(--layout-columns);
      gap: var(--layout-gap);
      align-items: stretch;
    }

    .problem-entry,
    .composer-tools {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 14px;
    }

    .speech-active {
      border-color: rgba(65, 105, 225, .72) !important;
      background: #f7f9ff !important;
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .14), var(--shadow) !important;
    }

    .composer-tools {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 8px;
    }

    .history-box {
      border-top: 1px solid var(--line);
      padding-top: 8px;
      display: grid;
      gap: 6px;
      min-height: 0;
    }

    .history-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
    }

    .collapse-toggle {
      border: 0;
      background: transparent;
      color: #39435a;
      cursor: pointer;
      padding: 0;
      font-weight: 900;
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .collapse-toggle::before {
      content: "▸";
      color: var(--muted);
      font-size: 13px;
      transition: transform .16s ease;
    }

    .collapsible.open .collapse-toggle::before {
      transform: rotate(90deg);
    }

    .collapsible:not(.open) .history-list,
    .collapsible:not(.open) .mistake-list {
      display: none;
    }

    .history-list {
      display: grid;
      gap: 7px;
      max-height: 188px;
      overflow: auto;
      padding-right: 2px;
    }

    .history-empty {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
      padding: 8px 0;
    }

    .history-item {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 9px 10px;
      display: grid;
      gap: 6px;
      cursor: pointer;
      text-align: left;
    }

    .history-item:hover {
      border-color: rgba(65, 105, 225, .45);
      background: #fbfcff;
    }

    .history-item.active {
      border-color: rgba(65, 105, 225, .72);
      background: #f4f7ff;
    }

    .history-title {
      color: var(--ink);
      font-weight: 800;
      line-height: 1.45;
      font-size: 13px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .history-title-preview {
      display: grid;
      gap: 5px;
      -webkit-line-clamp: unset;
      overflow: visible;
    }

    .history-preview-stem {
      min-width: 0;
    }

    .history-preview-stem > p {
      margin: 0;
      color: inherit;
      line-height: inherit;
    }

    .history-title-clamped {
      display: block;
      max-height: 2.9em;
      overflow: hidden;
    }

    .history-title-clamped .history-preview-stem > p {
      display: inline;
    }

    .history-title-clamped .history-preview-stem > p + p::before {
      content: " ";
    }

    .mistake-list .history-title-preview {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .mistake-list .history-item.mistake-expanded .history-title-preview {
      display: grid;
      -webkit-line-clamp: unset;
      overflow: visible;
    }

    .history-item .mistake-question-detail {
      display: grid;
      gap: 8px;
      max-height: none;
      overflow: visible;
      text-align: left;
      font-weight: 700;
    }

    .history-meta {
      color: var(--muted);
      font-size: 12px;
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: center;
    }

    .mistake-review-meta {
      min-width: 0;
      display: grid;
      gap: 3px;
      text-align: left;
      line-height: 1.45;
    }

    .mistake-review-meta > span:first-child {
      color: #52627e;
      font-weight: 800;
    }

    .history-delete {
      border: 0;
      background: transparent;
      color: #9a4b45;
      cursor: pointer;
      padding: 0;
      font-size: 12px;
      font-weight: 800;
    }

    .history-actions {
      display: inline-flex;
      gap: 10px;
      align-items: center;
      justify-content: flex-end;
      flex-shrink: 0;
    }

    .history-edit {
      border: 0;
      background: transparent;
      color: var(--brand);
      cursor: pointer;
      padding: 0;
      font-size: 12px;
      font-weight: 800;
    }

    .history-action-pill {
      display: inline-flex;
      min-height: 30px;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(65, 105, 225, .25);
      border-radius: 999px;
      background: #f4f7ff;
      color: var(--brand);
      cursor: pointer;
      padding: 0 12px;
      font-size: 13px;
      font-weight: 900;
      white-space: nowrap;
    }

    .history-action-pill.secondary {
      border-color: rgba(38, 115, 77, .24);
      background: #f2fbf6;
      color: #26734d;
    }

    .history-action-pill.danger {
      border-color: rgba(154, 75, 69, .25);
      background: #fff3f2;
      color: #9a4b45;
    }

    .history-action-pill.export {
      border-color: rgba(104, 83, 36, .24);
      background: #fff8df;
      color: #85611b;
    }

    .history-action-pill:hover {
      filter: brightness(.98);
    }

    .history-practice {
      border: 0;
      background: transparent;
      color: #26734d;
      cursor: pointer;
      padding: 0;
      font-size: 12px;
      font-weight: 800;
    }

    .mistake-box {
      border-top: 1px solid var(--line);
      padding-top: 8px;
      display: grid;
      gap: 6px;
    }

    .mistake-list {
      display: grid;
      gap: 7px;
      max-height: 148px;
      overflow: auto;
      padding-right: 2px;
    }

    .practice-panel {
      display: none;
    }

    .practice-panel.show {
      display: block;
    }

    .choice-list {
      display: grid;
      gap: 9px;
      margin-top: 10px;
    }

    .choice-option {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 10px 12px;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 10px;
      align-items: start;
      text-align: left;
      cursor: pointer;
      line-height: 1.55;
    }

    .choice-option.selected {
      border-color: rgba(65, 105, 225, .65);
      background: var(--blue-soft);
    }

    .choice-letter {
      width: 26px;
      height: 26px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: #10224d;
      color: #fff;
      font-weight: 900;
      font-size: 13px;
    }

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

    .practice-feedback {
      color: var(--muted);
      font-weight: 800;
      line-height: 1.65;
    }

    .practice-feedback.wrong {
      color: #a34038;
    }

    .practice-feedback.correct {
      color: #247344;
    }

    .practice-next {
      display: none;
    }

    .practice-next.show {
      display: inline-flex;
    }

    .train-source {
      margin-top: 12px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fbfaf7;
      padding: 12px;
      color: var(--muted);
      font-weight: 800;
      line-height: 1.55;
      min-width: 0;
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
    }

    .train-source-label {
      display: block;
      margin-bottom: 6px;
      color: #5f6b82;
    }

    .train-source-stem {
      color: var(--ink);
      white-space: pre-wrap;
    }

    .train-source-choices {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px 16px;
      margin-top: 8px;
    }

    .train-source-choice {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px;
      align-items: start;
      min-width: 0;
    }

    .train-source-choice b {
      color: var(--ink);
    }

    .train-source-choice span {
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .similar-board {
      display: grid;
      gap: 12px;
    }

    .similar-card {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      padding: 16px;
      display: grid;
      gap: 12px;
    }

    .similar-card-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      color: var(--muted);
      font-size: 13px;
      font-weight: 900;
    }

    .similar-problem {
      color: var(--ink);
      font-weight: 850;
      line-height: 1.65;
      white-space: pre-wrap;
    }

    .similar-choices {
      display: grid;
      gap: 8px;
    }

    .choice-two-column-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px 12px;
    }

    .similar-choice {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 9px 11px;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 9px;
      align-items: start;
      text-align: left;
      cursor: pointer;
      line-height: 1.55;
    }

    .choice-two-column-grid .similar-choice {
      min-width: 0;
    }

    .choice-two-column-grid .similar-choice > span:last-child {
      min-width: 0;
      font-size: var(--exam-choice-text-scale, 100%);
    }

    .similar-choice.selected {
      border-color: rgba(65, 105, 225, .65);
      background: var(--blue-soft);
    }

    .similar-choice.correct {
      border-color: rgba(36, 115, 68, .45);
      background: rgba(104, 184, 132, .13);
    }

    .similar-choice.wrong {
      border-color: rgba(163, 64, 56, .45);
      background: rgba(209, 74, 63, .09);
    }

    .similar-feedback {
      min-height: 22px;
      color: var(--muted);
      font-weight: 850;
      line-height: 1.6;
    }

    .similar-feedback.wrong {
      color: #a34038;
    }

    .similar-feedback.correct {
      color: #247344;
    }

    .paper-uploader {
      display: grid;
      gap: 10px;
    }

    .paper-uploader-area {
      display: grid;
      gap: 10px;
      grid-column: 1 / -1;
    }

    .paper-input-frame {
      min-height: 230px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      display: grid;
      align-items: center;
      padding: 12px;
      cursor: pointer;
      caret-color: transparent;
      outline: none;
    }

    .paper-input-frame:focus-within,
    .paper-input-frame:hover {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .paper-preview {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      align-items: stretch;
      min-height: 206px;
      border: 1px dashed #cfc8ba;
      border-radius: 6px;
      background: #fbfaf7;
      color: var(--muted);
      font-weight: 850;
      line-height: 1.7;
      text-align: center;
      padding: 12px;
      gap: 10px;
    }

    .paper-placeholder {
      display: grid;
      gap: 4px;
      place-items: center;
      grid-column: 1 / -1;
    }

    .paper-preview.show .paper-placeholder {
      display: none;
    }

    #paperPreviewList {
      display: contents;
    }

    .paper-page-card {
      position: relative;
      min-height: 168px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 34px 8px 8px;
      display: grid;
      gap: 8px;
      align-content: start;
    }

    .paper-page-card img {
      width: 100%;
      height: 128px;
      object-fit: contain;
      border-radius: 6px;
      background: #f8f8f8;
      cursor: zoom-in;
    }

    .paper-page-order {
      position: absolute;
      top: 8px;
      left: 8px;
      border-radius: 999px;
      background: var(--ink);
      color: #fff;
      padding: 3px 8px;
      font-size: 12px;
      font-weight: 900;
    }

    .paper-page-tools {
      position: absolute;
      top: 6px;
      right: 6px;
      display: flex;
      gap: 4px;
    }

    .paper-page-tool {
      width: 26px;
      height: 26px;
      border: 1px solid var(--line);
      border-radius: 50%;
      background: rgba(255, 255, 255, .94);
      color: var(--ink);
      cursor: pointer;
      display: grid;
      place-items: center;
      font-weight: 900;
      font-size: 14px;
    }

    .paper-page-tool:disabled {
      opacity: .38;
      cursor: not-allowed;
    }

    .paper-page-name {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .paper-status {
      color: var(--muted);
      font-weight: 800;
      line-height: 1.6;
    }

    .paper-board {
      display: grid;
      gap: 14px;
    }

    .paper-library-list {
      grid-template-columns: 1fr;
      gap: 10px;
    }

    .paper-library-card {
      position: relative;
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 13px;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      text-align: left;
      cursor: pointer;
      box-shadow: 0 10px 28px rgba(36, 31, 24, .06);
      transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
    }

    .paper-library-card:hover {
      transform: translateY(-2px);
      border-color: rgba(65, 105, 225, .5);
      box-shadow: 0 16px 34px rgba(36, 31, 24, .1);
      background: #fffefe;
    }

    .paper-library-card.active {
      border-color: rgba(65, 105, 225, .75);
      background: linear-gradient(135deg, #fff, #f5f8ff);
      box-shadow: 0 16px 36px rgba(65, 105, 225, .14);
    }

    .paper-library-main {
      min-width: 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 6px 14px;
      align-items: center;
    }

    .paper-library-head {
      grid-column: 1;
      display: block;
    }

    .paper-library-title {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.4;
      font-weight: 950;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .paper-library-time {
      display: inline-flex;
      align-items: center;
      min-height: 26px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fbfaf7;
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
      white-space: nowrap;
      padding: 0 9px;
    }

    .paper-library-meta {
      grid-column: 1;
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      align-items: center;
    }

    .paper-library-chip {
      min-height: 26px;
      display: inline-flex;
      align-items: center;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fbfaf7;
      color: #566176;
      padding: 0 9px;
      font-size: 12px;
      font-weight: 900;
      white-space: nowrap;
    }

    .paper-library-chip.strong {
      border-color: rgba(65, 105, 225, .22);
      background: var(--blue-soft);
      color: var(--blue);
    }

    .paper-library-chip.score {
      border-color: rgba(217, 155, 43, .28);
      background: var(--amber-soft);
      color: #85611b;
    }

    .paper-library-summary {
      grid-column: 1;
      color: #596579;
      font-size: 13px;
      line-height: 1.55;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .paper-library-time-text {
      color: var(--muted);
      font-weight: 850;
    }

    .paper-library-actions {
      grid-column: 2;
      grid-row: 1 / span 3;
      display: flex;
      justify-content: flex-end;
      gap: 8px;
      flex-wrap: wrap;
      padding-top: 2px;
      min-width: 300px;
    }

    .paper-library-actions .history-action-pill {
      min-height: 32px;
      padding: 0 12px;
      border-radius: 7px;
    }

    .paper-library-toolbar {
      position: sticky;
      top: 12px;
      z-index: 5;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: stretch;
      gap: 8px;
      padding: 10px;
      width: 132px;
      box-sizing: border-box;
      border: 1px solid rgba(214, 224, 242, .92);
      border-radius: 14px;
      background: rgba(255, 255, 255, .9);
      box-shadow: 0 10px 28px rgba(63, 83, 126, .1);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }

    .paper-view-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 132px;
      align-items: start;
      gap: 16px;
    }

    .paper-view-document {
      min-width: 0;
    }

    .paper-library-toolbar .btn {
      width: 100%;
      min-height: 44px;
      padding: 7px 10px;
      border-radius: 10px;
      border-color: #d8e2f4;
      background: #f8faff;
      color: #52647f;
      box-shadow: none;
    }

    .paper-layout-picker {
      display: block;
      width: 100%;
      color: #71809a;
      font-size: 12px;
      font-weight: 850;
    }

    .paper-layout-picker select {
      width: 100%;
      min-height: 36px;
      padding: 0 34px 0 12px;
      border: 1px solid #d8e2f4;
      border-radius: 10px;
      background-color: #f8faff;
      color: #3e526f;
      font: inherit;
      font-weight: 900;
      outline: none;
    }

    .paper-question-choice-layout-control {
      width: fit-content;
      min-height: 34px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 10px auto;
      padding: 0 8px 0 11px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #f8faff;
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
    }

    .paper-question-choice-layout-control select {
      min-height: 28px;
      border: 0;
      background: transparent;
      color: var(--ink);
      font: inherit;
      font-weight: 900;
      outline: none;
      cursor: pointer;
    }

    .paper-view-panel {
      gap: 16px;
      background:
        radial-gradient(circle at 8% 0%, rgba(219, 232, 255, .72), transparent 28%),
        radial-gradient(circle at 94% 4%, rgba(240, 229, 255, .65), transparent 24%),
        #f5f7fb;
    }

    .paper-view-head {
      display: flex;
      justify-content: space-between;
      align-items: start;
      gap: 16px;
      border-bottom: 1px solid var(--line);
      padding-bottom: 14px;
    }

    .paper-view-head p {
      margin-top: 6px;
    }

    .paper-view-board {
      max-width: 1400px;
      width: 100%;
      margin: 0 auto;
    }

    .paper-view-board .exam-paper {
      gap: 18px;
      padding: clamp(18px, 2.5vw, 32px);
      border-color: #dce4f2;
      border-radius: 20px;
      background: #f6f8fc;
      box-shadow: 0 18px 46px rgba(46, 67, 111, .12);
    }

    .paper-view-board .exam-paper-title {
      position: relative;
      overflow: hidden;
      gap: 10px;
      padding: clamp(22px, 3vw, 34px);
      border: 1px solid #dce5f5;
      border-radius: 16px;
      background: linear-gradient(135deg, rgba(239, 244, 255, .98), rgba(251, 249, 255, .98));
      box-shadow: 0 8px 24px rgba(74, 95, 140, .07);
    }

    .paper-view-board .exam-paper-title::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 5px;
      background: linear-gradient(180deg, #7898ee, #9a86e8);
    }

    .paper-view-board .exam-paper-title h2 {
      color: #24334f;
      font-size: clamp(25px, 3vw, 34px);
      letter-spacing: .04em;
    }

    .paper-view-board .exam-paper-kicker {
      width: fit-content;
      margin: 0 auto;
      padding: 4px 11px;
      border-radius: 999px;
      background: #e9efff;
      color: #5a73b7;
      font-family: inherit;
      font-size: 12px;
      font-weight: 900;
    }

    .paper-view-board .exam-paper-subtitle,
    .paper-view-board .exam-paper-summary {
      color: #71809a;
      font-size: 14px;
      font-weight: 750;
      line-height: 1.65;
    }

    .paper-view-board .exam-paper-overview {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
    }

    .paper-view-board .exam-paper-overview span {
      display: inline-flex;
      align-items: center;
      min-height: 30px;
      padding: 0 11px;
      border: 1px solid #d9e3f6;
      border-radius: 999px;
      background: rgba(255, 255, 255, .82);
      color: #526682;
      font-family: inherit;
      font-size: 12px;
      font-weight: 850;
    }

    .paper-view-board .exam-paper-instructions {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: start;
      gap: 12px;
      width: min(820px, 100%);
      margin: 4px auto 0;
      padding: 13px 16px;
      border: 1px solid #d8e3f7;
      border-radius: 12px;
      background: rgba(255, 255, 255, .78);
      color: #586981;
      text-align: left;
      font-family: inherit;
      font-size: 13px;
      line-height: 1.7;
    }

    .paper-view-board .exam-paper-instructions-label-hidden {
      display: block;
    }

    .paper-view-board .exam-paper-instructions strong {
      padding: 2px 8px;
      border-radius: 7px;
      background: #e8efff;
      color: #5270bc;
      white-space: nowrap;
    }

    .paper-view-board .exam-paper-instructions p {
      margin: 0;
      white-space: pre-line;
    }

    .paper-view-board .exam-paper-content {
      display: grid;
      gap: 18px;
    }

    .paper-view-board .exam-section {
      gap: 12px;
      padding: 16px;
      border: 1px solid #dfe6f2;
      border-radius: 16px;
      background: #edf1f7;
    }

    .paper-view-board .exam-section-title {
      margin: 0;
      padding: 2px 2px 12px;
      border-bottom: 1px solid #d5deec;
      color: #344766;
      font-size: 19px;
    }

    .paper-view-board .exam-section-instruction {
      margin: 0;
      padding: 10px 12px;
      border-radius: 10px;
      background: #f8faff;
      color: #70809a;
    }

    .paper-view-board .exam-question {
      gap: 12px;
      padding: clamp(16px, 2vw, 22px);
      border: 1px solid #dfe6f1;
      border-radius: 13px;
      background: #fff;
      box-shadow: 0 5px 15px rgba(74, 91, 126, .055);
    }

    .paper-view-board .exam-question-main {
      grid-template-columns: 32px minmax(0, 1fr);
      gap: 10px;
      font-size: 17px;
      line-height: 1.8;
    }

    .paper-view-board .exam-question-number {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      min-height: 32px;
      border-radius: 9px;
      background: #edf2ff;
      color: #5876c3;
      font-family: inherit;
      font-size: 14px;
      line-height: 1;
    }

    .paper-view-board .exam-choice {
      padding: 8px 10px;
      border: 1px solid #e3e9f3;
      border-radius: 9px;
      background: #fafbfe;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] {
      max-width: 1680px;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] {
      max-width: 980px;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-paper {
      gap: 22px;
      padding: clamp(28px, 4vw, 48px);
      border-color: #d7dbe2;
      border-radius: 3px;
      background: #fff;
      box-shadow: 0 12px 34px rgba(42, 54, 76, .13);
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-paper-title {
      gap: 8px;
      padding: 8px 8px 20px;
      border: 0;
      border-bottom: 2px solid #3d4655;
      border-radius: 0;
      background: #fff;
      box-shadow: none;
      text-align: center;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-paper-title::before {
      display: none;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-paper-kicker {
      padding: 0;
      background: transparent;
      color: #5c6573;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-paper-overview span {
      min-height: 0;
      padding: 0 4px;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: #515b69;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-paper-instructions {
      width: 100%;
      padding: 10px 12px;
      border-color: #d9dde4;
      border-radius: 2px;
      background: #fff;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-paper-instructions strong {
      padding: 0;
      background: transparent;
      color: #3f4b5d;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-paper-content {
      display: grid;
      gap: 22px;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-section {
      display: grid;
      gap: 5px;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-section-title {
      padding: 4px 0 8px;
      border-bottom: 1px solid #aeb6c2;
      color: #303b4b;
      font-size: 17px;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-section-instruction {
      padding: 4px 0;
      border-radius: 0;
      background: transparent;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-question {
      gap: 8px;
      padding: 11px 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-question-number {
      justify-content: flex-start;
      min-height: auto;
      border-radius: 0;
      background: transparent;
      color: #25334a;
    }

    .paper-view-board[data-paper-layout="a4-portrait"] .exam-choice {
      padding: 2px 0;
      border: 0;
      border-radius: 0;
      background: transparent;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-paper {
      border-radius: 12px;
      background: #fff;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-paper-title {
      padding: 20px 24px;
      border: 0;
      border-bottom: 2px solid #2f3c52;
      border-radius: 0;
      background: #fff;
      box-shadow: none;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-paper-title::before {
      display: none;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-paper-content {
      display: block;
      columns: 2;
      column-gap: 40px;
      column-rule: 1px dashed #cbd3df;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-section {
      display: block;
      margin: 0 0 14px;
      padding: 0 18px;
      border: 0;
      border-radius: 0;
      background: transparent;
      break-inside: auto;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-section-title {
      padding: 5px 0 7px;
      border-bottom: 1px solid #9ea9ba;
      font-size: 16px;
      break-after: avoid;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-question {
      margin-bottom: 8px;
      padding: 8px 0;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      break-inside: avoid;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-question-main {
      grid-template-columns: 26px minmax(0, 1fr);
      gap: 6px;
      font-size: 14px;
      line-height: 1.7;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-question-number {
      justify-content: flex-start;
      width: 26px;
      min-height: auto;
      border-radius: 0;
      background: transparent;
      color: #25334a;
      font-size: 13px;
    }

    .paper-view-board[data-paper-layout="a3-landscape"] .exam-choice {
      padding: 2px 0;
      border: 0;
      border-radius: 0;
      background: transparent;
    }

    .exam-paper {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      box-shadow: var(--shadow);
      padding: clamp(22px, 3vw, 42px);
      color: var(--ink);
      display: grid;
      gap: 22px;
      font-family: "Songti SC", "STSong", "Times New Roman", serif;
    }

    .exam-paper-watermark-layer {
      position: absolute;
      inset: 0;
      z-index: 2;
      width: 100%;
      height: 100%;
      pointer-events: none;
      user-select: none;
    }

    .exam-paper-title,
    .exam-paper-content {
      position: relative;
      z-index: 1;
    }

    .exam-paper-content {
      display: grid;
      gap: 22px;
    }

    .exam-paper-title {
      text-align: center;
      display: grid;
      gap: 8px;
      padding-bottom: 14px;
      border-bottom: 1px solid var(--line);
    }

    .exam-paper-title h2 {
      font-size: clamp(24px, 3vw, 34px);
      line-height: 1.25;
      margin: 0;
      letter-spacing: 0;
    }

    .exam-paper-kicker,
    .exam-paper-subtitle,
    .exam-paper-summary {
      color: var(--muted);
      font-size: 14px;
      font-weight: 800;
      line-height: 1.6;
    }

    .exam-paper-overview {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 8px 14px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 800;
    }

    .exam-paper-instructions {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 10px;
      padding: 10px 12px;
      border: 1px solid #dce5f4;
      border-radius: 10px;
      background: #f8faff;
      color: #596981;
      text-align: left;
      font-size: 13px;
      line-height: 1.65;
    }

    .exam-paper-instructions p {
      margin: 0;
      white-space: pre-line;
    }

    .exam-section {
      display: grid;
      gap: 16px;
    }

    .exam-section-title {
      color: var(--ink);
      font-size: 21px;
      font-weight: 950;
      line-height: 1.45;
      padding: 6px 0 8px;
      border-bottom: 2px solid #e6ded2;
    }

    .exam-section-instruction {
      margin-top: -8px;
      color: var(--muted);
      font-size: 15px;
      font-weight: 750;
      line-height: 1.7;
    }

    .exam-question {
      display: grid;
      gap: 10px;
      break-inside: avoid;
      page-break-inside: avoid;
    }

    .exam-question-main {
      display: grid;
      grid-template-columns: 2.2em minmax(0, 1fr);
      gap: 8px;
      align-items: start;
      width: 100%;
      color: var(--ink);
      font-size: 18px;
      font-weight: 850;
      line-height: 1.85;
    }

    .exam-question-number {
      width: 2.2em;
      font-weight: 950;
    }

    .exam-question-score {
      color: var(--muted);
      font-size: .86em;
      font-weight: 800;
      white-space: nowrap;
    }

    .exam-question-body {
      width: 100%;
      margin: 0;
      padding: 0;
      min-width: 0;
    }

    .exam-question-body > p {
      margin: 0 0 8px;
      line-height: inherit;
    }

    .exam-question-body > p:last-child {
      margin-bottom: 0;
    }

    .exam-question-body > :first-child {
      margin-top: 0;
    }

    .exam-source-image {
      display: grid;
      place-items: center;
      padding: 2px 0 6px;
    }

    .exam-source-image img {
      max-width: min(78%, 560px);
      max-height: 300px;
      object-fit: contain;
      cursor: zoom-in;
      background: #fff;
    }

    .exam-choice-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px 36px;
      margin-left: 0;
      margin-right: 0;
      width: 100%;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.75;
    }

    .exam-question-body > .latex-choice-grid,
    .exam-question-body > .exam-choice-grid {
      width: 100%;
      margin-left: 0;
      margin-right: 0;
    }

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

    .exam-choice {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px;
      align-items: start;
      min-width: 0;
    }

    .exam-choice > span {
      font-size: var(--exam-choice-text-scale, 100%);
    }

    .parse-result-card-body .exam-choice {
      cursor: pointer;
    }

    .parse-result-card-body .exam-choice:hover {
      border-color: #9db5ed;
      background: #f3f6ff;
    }

    .exam-choice b {
      color: var(--ink);
      font-weight: 850;
    }

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

    .exam-paper .latex-image {
      background: #fff;
    }

    .paper-view-board .exam-paper .paper-choice-row-layout {
      gap: 20px 52px;
      margin-top: 18px;
      margin-bottom: 22px;
    }

    .paper-view-board .exam-paper .paper-choice-row-layout .latex-choice,
    .paper-view-board .exam-paper .paper-choice-row-layout .exam-choice {
      align-items: flex-start;
      min-height: 34px;
      line-height: 1.8;
    }

    .exam-paper .latex-choice b {
      color: var(--ink);
      font-weight: 850;
    }

    .exam-paper .markdown-table-wrap {
      overflow-x: auto;
      margin: 12px 0 10px;
      border: 1px solid #e2dcd2;
      border-radius: 7px;
      background: #fff;
    }

    .exam-paper table.markdown-table {
      width: 100%;
      min-width: min(620px, 100%);
      border-collapse: collapse;
      table-layout: auto;
      font-family: "Songti SC", "STSong", "Times New Roman", serif;
      font-size: 16px;
      line-height: 1.7;
    }

    .exam-paper table.markdown-table th,
    .exam-paper table.markdown-table td {
      border: 1px solid #e2dcd2;
      padding: 10px 12px;
      vertical-align: middle;
      text-align: left;
      word-break: normal;
      overflow-wrap: break-word;
    }

    .exam-paper table.markdown-table th {
      background: #f7f3ea;
      color: var(--ink);
      font-weight: 900;
    }

    .exam-paper table.markdown-table th:first-child,
    .exam-paper table.markdown-table td:first-child {
      width: 6.5em;
      white-space: nowrap;
      text-align: center;
      font-weight: 900;
    }

    .exam-answer-space {
      min-height: 170px;
      border: 0;
      background: none;
      margin: 8px 0 4px calc(2.2em + 8px);
    }

    .exam-answer-space.long {
      min-height: 260px;
    }

    .exam-answer-space.chinese-dictation-space {
      min-height: 90px;
    }

    .exam-answer-space.chinese-medium-space {
      min-height: 170px;
    }

    .exam-answer-space.chinese-reading-space {
      min-height: 280px;
    }

    .exam-question.chinese-writing-question {
      break-inside: auto;
      page-break-inside: auto;
    }

    .exam-writing-space-label {
      margin: 8px 0 0 calc(2.2em + 8px);
      color: var(--muted);
      font-size: 13px;
      font-weight: 800;
    }

    .exam-answer-space.chinese-writing-space {
      min-height: 720px;
      border: 1px solid #d5cec3;
      background-image:
        linear-gradient(to right, rgba(213, 206, 195, .76) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(213, 206, 195, .76) 1px, transparent 1px);
      background-size: 28px 28px;
    }

    .assemble-grid {
      grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr);
      align-items: start;
    }

    .assemble-filters {
      grid-template-columns: repeat(4, minmax(130px, 1fr));
      margin-bottom: 0;
    }

    .assemble-actions {
      display: flex;
      gap: 8px;
      align-items: end;
      flex-wrap: wrap;
    }

    .assemble-score-actions {
      grid-column: 1 / -1;
      display: flex;
      align-items: end;
      gap: 10px;
      min-width: 0;
    }

    .assemble-score-actions > label {
      flex: 1 1 0;
      min-width: 110px;
    }

    .assemble-score-actions .assemble-actions {
      margin-left: auto;
      flex: 0 0 auto;
      justify-content: flex-end;
      align-items: center;
      padding-top: 0;
    }

    .assemble-status-hidden {
      display: none;
    }

    .assemble-pool-panel,
    .assemble-basket-panel {
      min-height: 0;
    }

    .assemble-pool-panel {
      align-self: stretch;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      height: var(--assemble-pool-height, clamp(620px, calc(100vh - 250px), 860px));
      min-height: clamp(620px, calc(100vh - 250px), 860px);
    }

    .assemble-panel-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }

    .assemble-panel-head h2 {
      margin: 0;
    }

    .assemble-panel-note {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      line-height: 1.5;
    }

    .assemble-basket-toolbar {
      display: flex;
      gap: 8px;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
    }

    .assemble-basket-actions,
    .assemble-preview-tools {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-wrap: wrap;
    }

    .assemble-preview-tools {
      justify-content: flex-end;
    }

    .assemble-mini-btn {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink);
      min-height: 30px;
      padding: 5px 9px;
      font: inherit;
      font-size: 12px;
      font-weight: 900;
      cursor: pointer;
    }

    .assemble-mini-btn:hover:not(:disabled) {
      border-color: rgba(65, 105, 225, .45);
      background: var(--blue-soft);
    }

    .assemble-mini-btn:disabled {
      opacity: .45;
      cursor: not-allowed;
    }

    .assemble-mini-btn.danger {
      color: var(--danger);
      border-color: rgba(178, 69, 55, .28);
    }

    .assemble-candidate-list {
      display: grid;
      align-content: start;
      gap: 8px;
      min-height: 0;
      max-height: none;
      overflow: auto;
      padding-right: 4px;
    }

    .assemble-question-card {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 10px;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 10px;
      align-items: start;
      cursor: pointer;
    }

    .assemble-question-card:hover {
      border-color: rgba(65, 105, 225, .42);
      background: #fbfcff;
    }

    .assemble-question-card.active {
      border-color: rgba(65, 105, 225, .65);
      background: var(--blue-soft);
    }

    .assemble-question-card input {
      margin-top: 4px;
    }

    .assemble-question-body {
      display: grid;
      gap: 5px;
      min-width: 0;
    }

    .assemble-question-title {
      color: var(--ink);
      font-weight: 900;
      line-height: 1.45;
    }

    .assemble-question-meta {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      line-height: 1.45;
    }

    .assemble-question-meta.strong {
      color: var(--blue);
    }

    .assemble-preview-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
    }

    .assemble-preview-head .paper-question-head {
      flex: 1;
      min-width: 220px;
    }

    .assemble-basket-panel .exam-paper {
      gap: 18px;
      padding: clamp(20px, 2.4vw, 30px);
    }

    .assemble-basket-panel .exam-paper-title h2 {
      font-size: clamp(22px, 2.4vw, 28px);
    }

    .assemble-basket-panel .exam-question-main {
      font-size: 16px;
    }

    .assemble-basket-panel .exam-choice-grid {
      gap: 8px 22px;
      font-size: 15px;
    }

    .assemble-question-tools {
      display: flex;
      justify-content: flex-end;
      gap: 6px;
      flex-wrap: wrap;
      font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
    }

    .single-question-item {
      display: grid;
      gap: 8px;
    }

    .single-question-item .single-question-list-actions {
      flex-wrap: wrap;
      gap: 6px;
    }

    .single-question-updated-at {
      margin-right: 2px;
      color: #929db1;
      font-weight: 700;
    }

    .single-question-item .single-question-list-action {
      min-height: 32px;
      padding: 0 12px;
      border-radius: 9px;
      border-color: #dfe6f2;
      background: #fff;
      color: #52607a;
      box-shadow: 0 3px 9px rgba(55, 73, 122, .045);
      transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
    }

    .single-question-item .single-question-list-action.is-ai {
      border-color: rgba(239, 145, 70, .24);
      background: #fff8f1;
      color: #b86522;
    }

    .single-question-item .single-question-list-action.is-similar {
      border-color: rgba(55, 153, 105, .22);
      background: #f3fbf7;
      color: #2d7e56;
    }

    .single-question-item .single-question-list-action.is-edit {
      border-color: rgba(76, 111, 255, .24);
      background: var(--blue-soft);
      color: var(--blue);
    }

    .single-question-item .single-question-list-action:hover,
    .single-question-item .single-question-list-action:focus-visible {
      filter: none;
      outline: none;
      transform: translateY(-1px);
      box-shadow: 0 7px 16px rgba(55, 73, 122, .11);
    }

    .single-question-filters {
      display: grid;
      grid-template-columns: minmax(180px, 1.5fr) repeat(6, minmax(100px, 1fr)) auto;
      gap: 10px;
      align-items: end;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fbfaf7;
      margin-bottom: 12px;
    }

    .single-question-filters label {
      display: grid;
      gap: 6px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
    }

    .single-question-filters label > span {
      display: block;
    }

    .single-question-filters input,
    .single-question-filters select {
      width: 100%;
      min-height: 36px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink);
      padding: 7px 9px;
      font: inherit;
      outline: none;
    }

    .single-filter-actions {
      display: flex;
      gap: 8px;
      align-items: center;
    }

    .single-filter-actions .btn {
      white-space: nowrap;
    }

    .single-question-filters.similar-filters {
      grid-template-columns: repeat(3, minmax(130px, 1fr)) auto;
    }

    .public-library-tabs {
      display: flex;
      gap: 8px;
      margin-bottom: 12px;
    }

    .single-question-filters.public-library-filters {
      grid-template-columns: minmax(180px, 1.5fr) repeat(6, minmax(96px, 1fr)) auto;
    }

    .single-question-filters.public-library-filters.paper-mode {
      grid-template-columns: minmax(180px, 1.5fr) repeat(4, minmax(96px, 1fr)) auto;
    }

    .management-public-library-grid {
      display: block;
    }

    .management-public-library-subtabs {
      display: inline-flex;
      gap: 4px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #f6f4ef;
      padding: 3px;
      margin-bottom: 14px;
    }

    .management-public-library-subtab {
      border: 0;
      border-radius: 6px;
      background: transparent;
      color: var(--muted);
      padding: 8px 18px;
      font: inherit;
      font-size: 13px;
      font-weight: 900;
      cursor: pointer;
    }

    .management-public-library-subtab.active {
      background: #fff;
      color: var(--brand);
      box-shadow: 0 1px 4px rgba(33, 44, 72, .12);
    }

    .management-public-library-section {
      border: 1px solid rgba(65, 105, 225, .22);
      border-radius: 8px;
      background: #fff;
      padding: 14px;
      min-width: 0;
    }

    .management-public-library-section[hidden] {
      display: none;
    }

    .public-library-publish {
      display: block;
      background: var(--blue-soft);
    }

    .management-public-section-head {
      display: grid;
      gap: 10px;
      margin-bottom: 12px;
    }

    .management-public-filter-grid {
      display: grid;
      grid-template-columns: minmax(180px, 1.5fr) repeat(4, minmax(100px, 1fr)) auto;
      gap: 8px;
      align-items: end;
    }

    .management-public-filter-grid label {
      display: grid;
      gap: 5px;
      min-width: 0;
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
    }

    .management-public-filter-grid input,
    .management-public-filter-grid select {
      width: 100%;
      min-width: 0;
    }

    .management-public-publish-actions {
      display: flex;
      justify-content: flex-end;
      margin-top: 12px;
    }

    .management-public-library-list {
      margin-top: 0;
      max-height: 520px;
      overflow: auto;
    }

    .public-library-publish[hidden] {
      display: none;
    }

    .public-source-picker {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      overflow: hidden;
    }

    .public-source-toolbar {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      border-bottom: 1px solid var(--line);
      background: #fbfaf7;
      color: var(--muted);
      padding: 6px 10px;
      font-size: 12px;
      font-weight: 900;
    }

    .public-source-batch-actions {
      display: inline-flex;
      gap: 6px;
    }

    .public-source-batch-actions[hidden] {
      display: none;
    }

    .public-source-batch-actions button {
      border: 0;
      background: transparent;
      color: var(--brand);
      padding: 2px 4px;
      font: inherit;
      cursor: pointer;
    }

    .public-source-list {
      max-height: 460px;
      display: grid;
      overflow: auto;
    }

    .public-source-choice {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 9px;
      align-items: start;
      border-bottom: 1px solid #eeeae2;
      padding: 9px 10px;
      cursor: pointer;
    }

    .public-source-choice:last-child {
      border-bottom: 0;
    }

    .public-source-choice:hover {
      background: #f7f9ff;
    }

    .public-source-choice input {
      margin-top: 3px;
    }

    .public-source-choice span {
      min-width: 0;
      display: grid;
      gap: 3px;
    }

    .public-source-choice strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.45;
    }

    .public-source-choice small {
      color: var(--muted);
      font-size: 11px;
      line-height: 1.4;
    }

    .public-library-card {
      cursor: default;
    }

    .public-library-card[data-public-item] {
      cursor: pointer;
    }

    .public-library-detail {
      border-top: 1px solid var(--line);
      padding-top: 14px;
      overflow: auto;
    }

    .public-library-detail[hidden] {
      display: none;
    }

    .public-single-preview,
    .public-paper-preview {
      border-radius: 8px;
      background: #fbfaf7;
      padding: 14px;
    }

    .public-answer-title {
      margin: 14px 0 8px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 900;
    }

    @media (max-width: 1100px) {
      .single-question-filters.public-library-filters {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
      }

      .management-public-filter-grid {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
      }

    }

    .single-question-filters.mistake-filters {
      grid-template-columns: repeat(5, minmax(110px, 1fr)) auto;
    }

    .similar-filter-actions {
      display: flex;
      gap: 8px;
      align-items: end;
      justify-content: flex-end;
      flex-wrap: nowrap;
    }

    .similar-filter-actions .btn {
      white-space: nowrap;
    }

    .single-question-filters.assemble-filters {
      grid-template-columns: repeat(6, minmax(110px, 1fr));
    }

    .single-question-detail {
      padding: 8px 0 2px;
    }

    .single-question-edit-form {
      display: grid;
      gap: 14px;
    }

    .single-question-edit-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 9px 10px;
      padding: 12px;
      border: 1px solid #e2e8f3;
      border-radius: 12px;
      background: rgba(248, 250, 255, .78);
    }

    .single-question-edit-form label {
      display: grid;
      gap: 4px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }

    .single-question-edit-form input,
    .single-question-edit-form select,
    .single-question-edit-form textarea {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
      padding: 7px 9px;
      line-height: 1.4;
      outline: none;
      font: inherit;
    }

    .single-question-edit-form .single-question-meta-field input,
    .single-question-edit-form .single-question-meta-field select {
      min-height: 36px;
      font-size: 13px;
      font-weight: 750;
    }

    .single-question-source-field {
      grid-column: span 4;
    }

    .single-question-edit-form textarea {
      min-height: 86px;
      resize: vertical;
    }

    .single-search-select {
      position: relative;
    }

    .single-search-select::after {
      content: "⌄";
      position: absolute;
      top: 50%;
      right: 10px;
      color: var(--muted);
      font-size: 14px;
      pointer-events: none;
      transform: translateY(-56%);
    }

    .single-search-select input {
      padding-right: 30px;
    }

    .single-search-options {
      position: absolute;
      z-index: 30;
      top: calc(100% + 4px);
      right: 0;
      left: 0;
      max-height: 220px;
      overflow-y: auto;
      padding: 4px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      box-shadow: 0 10px 26px rgba(28, 39, 70, .15);
    }

    .single-search-options button {
      display: block;
      width: 100%;
      padding: 8px 9px;
      border: 0;
      border-radius: 5px;
      background: transparent;
      color: var(--ink);
      text-align: left;
      cursor: pointer;
    }

    .single-search-options button[hidden] {
      display: none;
    }

    .single-search-options button:hover,
    .single-search-options button:focus-visible {
      background: rgba(65, 105, 225, .1);
      outline: none;
    }

    .single-search-options.empty::after {
      content: "没有匹配项，可直接保留输入内容";
      display: block;
      padding: 8px 9px;
      color: var(--muted);
      font-weight: 500;
    }

    .single-question-edit-form .parse-textarea,
    .single-question-edit-form .parse-preview {
      min-height: 0;
      height: 240px;
    }

    .single-question-edit-form .single-question-paper-editor-grid > .parse-editor-panel:nth-child(1) .parse-textarea,
    .single-question-edit-form .single-question-paper-editor-grid > .parse-editor-panel:nth-child(2) .parse-preview {
      min-height: 156px;
      height: auto;
      overflow: visible;
    }

    .single-question-edit-form .single-question-paper-editor-grid > .parse-editor-panel:nth-child(1) .parse-textarea {
      overflow: hidden;
      resize: none;
      field-sizing: content;
    }

    .single-question-edit-form .parse-editor-panel:nth-child(1),
    .single-question-edit-form .parse-editor-panel:nth-child(2),
    .single-question-edit-form .parse-editor-panel:nth-child(3),
    .single-question-edit-form .parse-editor-panel:nth-child(4) {
      min-height: 0;
    }

    .single-question-edit-form .parse-textarea.solution,
    .single-question-edit-form .parse-preview.solution {
      min-height: 0;
      height: 180px;
    }

    .math-symbol-toolbar {
      position: relative;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      min-height: 36px;
    }

    .math-symbol-trigger {
      min-height: 36px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink);
      padding: 7px 12px;
      font: 900 14px/1 Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
      cursor: pointer;
    }

    .math-symbol-trigger:hover,
    .math-symbol-trigger.active {
      border-color: rgba(65, 105, 225, .5);
      background: var(--blue-soft);
    }

    .math-symbol-popover {
      position: absolute;
      z-index: 20;
      top: calc(100% + 6px);
      left: 0;
      width: min(440px, calc(100vw - 360px));
      box-shadow: 0 14px 38px rgba(36, 31, 24, .16);
    }

    .math-symbol-popover[hidden] {
      display: none;
    }

    .math-symbol-panel {
      display: grid;
      gap: 10px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fbfaf7;
    }

    .math-symbol-tabs {
      display: flex;
      gap: 4px;
      padding: 3px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #f1eee8;
    }

    .math-symbol-tab {
      flex: 1;
      min-height: 30px;
      border: 0;
      border-radius: 6px;
      background: transparent;
      color: var(--muted);
      font: 900 14px/1 Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
      cursor: pointer;
    }

    .math-symbol-tab.active {
      background: #fff;
      color: var(--ink);
      box-shadow: 0 1px 4px rgba(36, 31, 24, .08);
    }

    .math-symbol-page[hidden] {
      display: none;
    }

    .math-symbol-page {
      max-height: 230px;
      overflow-y: auto;
      padding-right: 2px;
    }

    .math-text-symbol-page {
      display: grid;
      gap: 14px;
      max-height: 300px;
      padding: 4px 2px 2px;
    }

    .math-symbol-group {
      display: grid;
      gap: 7px;
    }

    .math-symbol-group-title {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .04em;
    }

    .math-symbol-group-title::after {
      content: "";
      height: 1px;
      flex: 1;
      background: var(--line);
    }

    .math-text-symbol-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
    }

    .math-text-symbol-button {
      height: 38px;
      border-radius: 8px;
      background: #fff;
      color: #253452;
      font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
      font-size: 13px;
      font-weight: 800;
      transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
    }

    .math-text-symbol-button:hover {
      border-color: rgba(76, 111, 255, .52);
      background: #f3f6ff;
      box-shadow: 0 5px 12px rgba(76, 111, 255, .12);
      transform: translateY(-1px);
    }

    .math-color-picker {
      display: grid;
      gap: 10px;
      padding: 10px;
      border: 1px solid #e2e7f2;
      border-radius: 10px;
      background: #fff;
    }

    .math-color-picker-head {
      display: grid;
      grid-template-columns: 44px auto minmax(90px, 1fr) auto;
      gap: 8px;
      align-items: center;
    }

    .math-color-current-swatch {
      width: 44px;
      height: 28px;
      border: 1px solid rgba(24, 36, 61, .18);
      border-radius: 4px;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32);
    }

    .math-color-value-label {
      color: var(--ink);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    .math-color-value-input {
      min-width: 0;
      height: 30px;
      padding: 4px 8px;
      border: 1px solid #dce3f1;
      border-radius: 6px;
      background: #fbfcff;
      color: var(--ink);
      font: 700 12px/1 Inter, monospace;
      text-transform: uppercase;
    }

    .math-color-value-input:focus {
      outline: 2px solid rgba(76, 111, 255, .18);
      border-color: rgba(76, 111, 255, .48);
    }

    .math-color-confirm {
      height: 30px;
      padding: 0 13px;
      border: 0;
      border-radius: 6px;
      background: #f4a13a;
      color: #fff;
      font-size: 12px;
      font-weight: 850;
      cursor: pointer;
    }

    .math-color-confirm:hover {
      background: #e58e25;
      box-shadow: 0 4px 10px rgba(229, 142, 37, .2);
    }

    .math-color-palette {
      display: grid;
      grid-template-columns: repeat(10, minmax(0, 1fr));
      gap: 4px;
    }

    .math-color-swatch {
      width: 100%;
      aspect-ratio: 1.45;
      min-height: 22px;
      padding: 0;
      border: 1px solid rgba(24, 36, 61, .12);
      border-radius: 3px;
      cursor: pointer;
      transition: transform .12s ease, box-shadow .12s ease;
    }

    .math-color-swatch:hover,
    .math-color-swatch.active {
      z-index: 1;
      transform: scale(1.08);
      box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(76, 111, 255, .72);
    }

    .math-symbol-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
      gap: 6px;
    }

    .math-symbol-button {
      width: 100%;
      min-width: 0;
      height: 34px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: var(--ink);
      font: 800 15px/1 Georgia, "Times New Roman", "Songti SC", serif;
      font-weight: 900;
      cursor: pointer;
    }

    .math-symbol-button.wide {
      grid-column: span 2;
    }

    .math-symbol-button:hover {
      border-color: rgba(65, 105, 225, .5);
      background: var(--blue-soft);
    }

    .math-text-large {
      font-size: 1.35em;
    }

    .math-text-small {
      font-size: .82em;
    }

    .single-question-edit-grid .math-symbol-toolbar {
      align-self: end;
    }

    .single-question-edit-tools {
      align-self: end;
      display: flex;
      grid-column: 1 / -1;
      align-items: center;
      gap: 7px;
      min-width: 0;
      flex-wrap: wrap;
      padding-top: 2px;
    }

    .single-question-edit-tools .math-symbol-toolbar,
    .single-question-edit-tools .single-question-edit-actions {
      min-height: 32px;
    }

    .single-question-edit-tools .math-symbol-trigger,
    .single-question-edit-tools .single-question-choice-btn,
    .single-question-edit-tools .single-question-tags-btn,
    .single-question-edit-tools .single-question-ai-btn,
    .single-question-edit-tools .single-question-edit-actions .btn {
      height: 32px;
      min-height: 32px;
      border-color: rgba(36, 31, 24, .14);
      padding: 5px 10px;
      font-size: 13px;
      line-height: 1;
      box-sizing: border-box;
    }

    .single-question-edit-tools .math-symbol-trigger:hover,
    .single-question-edit-tools .math-symbol-trigger.active,
    .single-question-edit-tools .single-question-choice-btn:hover:not(:disabled),
    .single-question-edit-tools .single-question-tags-btn:hover:not(:disabled),
    .single-question-edit-tools .single-question-ai-btn:hover:not(:disabled),
    .single-question-edit-tools .single-question-edit-actions .btn:hover:not(:disabled) {
      border-color: rgba(65, 105, 225, .26);
      box-shadow: 0 4px 10px rgba(20, 30, 56, .08);
    }

    .single-question-edit-tools .single-question-symbol-trigger {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-width: 118px;
      padding: 3px 8px 3px 4px;
      border: 1px solid rgba(76, 111, 255, .22);
      border-radius: 10px;
      background: linear-gradient(135deg, #f2f5ff 0%, #e7edff 100%);
      color: #4964cf;
      font-weight: 750;
      letter-spacing: .01em;
      box-shadow: 0 4px 10px rgba(76, 111, 255, .1);
      transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
    }

    .single-question-edit-tools .single-question-symbol-trigger:hover,
    .single-question-edit-tools .single-question-symbol-trigger.active {
      border-color: rgba(76, 111, 255, .34);
      background: linear-gradient(135deg, #eaf0ff 0%, #dfe7ff 100%);
      color: #3f5bc9;
      box-shadow: 0 6px 13px rgba(76, 111, 255, .15);
      transform: translateY(-1px);
      filter: saturate(1.05);
    }

    .single-question-edit-tools .single-question-symbol-trigger:focus-visible {
      outline: 3px solid rgba(76, 111, 255, .2);
      outline-offset: 2px;
    }

    .single-question-symbol-mark {
      display: inline-grid;
      width: 24px;
      height: 24px;
      place-items: center;
      flex: 0 0 24px;
      border: 1px solid rgba(76, 111, 255, .16);
      border-radius: 7px;
      background: rgba(76, 111, 255, .09);
      color: #4964cf;
      font: 800 15px/1 Georgia, "Times New Roman", serif;
    }

    .single-question-symbol-caret {
      margin-left: auto;
      font-size: 11px;
      line-height: 1;
      opacity: .82;
      transition: transform .16s ease;
    }

    .single-question-symbol-trigger.active .single-question-symbol-caret {
      transform: rotate(180deg);
    }

    .single-question-edit-tools .single-question-choice-btn {
      border-color: rgba(76, 111, 255, .22);
      background: var(--blue-soft);
      color: var(--blue);
    }

    .single-question-edit-tools .single-question-tags-btn {
      border-color: rgba(76, 111, 255, .22);
      background: #f7f8ff;
      color: #536abf;
    }

    .single-question-ai-btn {
      align-self: end;
      justify-self: start;
      min-height: 36px;
      padding: 7px 14px;
      border-color: rgba(239, 145, 70, .24) !important;
      background: #fff8f1 !important;
      color: #b86522 !important;
      white-space: nowrap;
    }

    .single-question-edit-actions {
      align-self: end;
      justify-self: start;
      display: flex;
      gap: 6px;
      min-height: 36px;
      align-items: center;
    }

    .single-question-edit-actions .btn {
      min-height: 36px;
      padding: 7px 14px;
      white-space: nowrap;
    }

    .single-question-edit-actions .single-question-delete-btn {
      border-color: rgba(221, 90, 101, .24);
      background: #fff7f8;
      color: #bd4f5a;
      box-shadow: none;
    }

    .single-question-edit-actions .single-question-cancel-btn {
      background: #f8faff;
      color: #65728a;
    }

    @media (max-width: 900px) {
      .paper-library-list {
        grid-template-columns: 1fr;
      }

      .paper-library-card {
        grid-template-columns: 1fr;
      }

      .paper-library-main {
        grid-template-columns: 1fr;
      }

      .paper-library-head {
        display: grid;
      }

      .paper-library-actions {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        min-width: 0;
      }

      .single-question-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .single-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
      }

      .single-question-filters.similar-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .similar-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        flex-wrap: wrap;
      }

      .assemble-grid,
      .assemble-filters {
        grid-template-columns: 1fr;
      }

      .assemble-score-actions {
        display: grid;
        grid-template-columns: 1fr;
      }

      .assemble-score-actions .assemble-actions {
        margin-left: 0;
        justify-content: flex-start;
      }

      .single-question-filters.assemble-filters {
        grid-template-columns: 1fr;
      }

      .single-question-edit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .single-question-edit-tools {
        grid-column: 1 / -1;
      }

      .math-symbol-popover {
        position: static;
        width: 100%;
        margin-top: 8px;
      }

      .parse-editor-grid {
        grid-template-columns: 1fr;
      }

      .parse-textarea,
      .parse-preview {
        height: 300px;
      }

      .parse-textarea.solution,
      .parse-preview.solution {
        height: 200px;
      }
    }

    .paper-question {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      box-shadow: var(--shadow);
      padding: 18px;
      display: grid;
      gap: 12px;
    }

    .paper-source-image {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fbfaf7;
      padding: 10px;
      display: grid;
      gap: 8px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 850;
    }

    .paper-source-image img {
      width: 100%;
      max-height: 260px;
      object-fit: contain;
      border-radius: 6px;
      background: #fff;
      cursor: zoom-in;
    }

    .paper-question-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      color: var(--muted);
      font-size: 13px;
      font-weight: 900;
    }

    .paper-stem {
      color: var(--ink);
      font-weight: 850;
      line-height: 1.7;
      white-space: pre-wrap;
    }

    .paper-answer-input {
      width: 100%;
      min-height: 76px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink);
      padding: 10px 12px;
      line-height: 1.6;
      resize: vertical;
      outline: none;
    }

    .paper-answer-input:focus {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .paper-practice-grade-model {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 12px;
      padding: 12px 14px;
      border: 1px solid #dce6f8;
      border-radius: 10px;
      background: #f7f9ff;
      color: var(--muted);
      font-size: 13px;
      font-weight: 750;
    }

    .paper-practice-grade-model label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--ink);
    }

    .paper-practice-grade-model select {
      min-width: 130px;
      border: 1px solid #cfdaed;
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
      padding: 8px 10px;
      font: inherit;
    }

    .english-grade-panel {
      display: grid;
      gap: 12px;
      margin-top: 14px;
      padding: 16px;
      border: 1px solid #d9e3f6;
      border-radius: 12px;
      background: linear-gradient(145deg, #f6f8ff, #fcfdff);
      color: #26364d;
    }

    .english-grade-panel.meets_expectations {
      border-color: #bfe1ce;
      background: linear-gradient(145deg, #f0fbf5, #fbfffd);
    }

    .english-grade-panel.partially_meets {
      border-color: #ead9a9;
      background: linear-gradient(145deg, #fffbef, #fffefa);
    }

    .english-grade-panel.needs_improvement {
      border-color: #efc9c5;
      background: linear-gradient(145deg, #fff6f5, #fffdfd);
    }

    .english-grade-head,
    .english-grade-actions,
    .english-grade-title {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .english-grade-head {
      justify-content: space-between;
    }

    .english-grade-title span,
    .english-grade-model,
    .english-grade-note {
      color: var(--muted);
      font-size: 13px;
      font-weight: 750;
    }

    .english-grade-note {
      margin: 0;
      line-height: 1.7;
    }

    .english-grade-summary {
      font-weight: 800;
      line-height: 1.75;
    }

    .english-grade-section,
    .english-grade-criteria,
    .english-grade-improvements {
      display: grid;
      gap: 8px;
    }

    .english-grade-section ul {
      margin: 0;
      padding-left: 20px;
      line-height: 1.7;
    }

    .english-grade-criteria,
    .english-grade-improvements {
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }

    .english-grade-criteria > div,
    .english-grade-improvements > div,
    .english-grade-corrected > div {
      padding: 11px 12px;
      border: 1px solid rgba(130, 151, 190, .2);
      border-radius: 9px;
      background: rgba(255, 255, 255, .76);
      line-height: 1.7;
    }

    .english-grade-criteria span,
    .english-grade-improvements span {
      font-weight: 850;
    }

    .english-grade-criteria p,
    .english-grade-improvements p {
      margin: 5px 0 0;
    }

    .paper-explanation {
      display: none;
      border: 1px solid #d9e5d9;
      border-radius: 7px;
      background: #f7fbf7;
      padding: 12px;
      line-height: 1.7;
      color: #26364d;
    }

    .paper-explanation.show {
      display: grid;
      gap: 8px;
    }

    .paper-explanation-content p,
    .paper-explanation-step p {
      margin: 0;
    }

    .paper-explanation-steps,
    .paper-explanation-step {
      display: grid;
      gap: 6px;
    }

    .parse-shell {
      display: grid;
      gap: 10px;
    }

    .parse-topbar {
      padding: 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
    }

    .parse-title {
      display: grid;
      gap: 6px;
    }

    .parse-title h2 {
      display: none;
      margin: 0;
      font-family: Georgia, "Times New Roman", "Songti SC", serif;
      letter-spacing: 0;
    }

    .parse-title p {
      display: none;
      margin: 0;
      color: var(--muted);
      line-height: 1.6;
      font-weight: 750;
    }

    .parse-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px;
    }

    .parse-question-strip {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 8px 10px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 10px;
      align-items: center;
    }

    .parse-question-strip h3 {
      margin: 0;
      font-size: 14px;
      letter-spacing: 0;
    }

    .parse-meta {
      display: grid;
      grid-template-columns: minmax(160px, 220px) minmax(150px, 190px);
      gap: 8px;
    }

    .parse-meta input,
    .parse-meta select {
      min-width: 0;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink);
      padding: 9px 10px;
      font-weight: 850;
      outline: none;
    }

    .parse-meta input:focus,
    .parse-meta select:focus,
    .parse-textarea:focus {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .parse-textarea.drag-over {
      border-color: rgba(65, 105, 225, .72);
      background: #eef4ff;
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .14);
    }

    .parse-meta input::placeholder {
      color: #aeb6c5;
      font-weight: 750;
    }

    @media (max-width: 760px) {
      .parse-meta {
        grid-template-columns: minmax(0, 1fr);
      }
    }

    .parse-alert {
      display: inline-flex;
      align-items: center;
      justify-self: start;
      max-width: min(760px, 100%);
      min-height: 32px;
      border-radius: 999px;
      background: var(--blue-soft);
      color: #294da8;
      padding: 7px 12px;
      font-weight: 850;
      line-height: 1.45;
      overflow-wrap: anywhere;
      text-align: left;
    }

    .parse-alert.green {
      background: var(--green-soft);
      color: #247344;
    }

    .parse-alert.amber {
      background: var(--amber-soft);
      color: #8a5d00;
    }

    .parse-alert.red {
      background: rgba(209, 74, 63, .12);
      color: #a34038;
    }

    .parse-workbench {
      display: grid;
      grid-template-columns: 300px minmax(0, 1fr);
      gap: 12px;
      align-items: start;
    }

    .parse-back-to-top {
      position: fixed;
      z-index: 30;
      right: 14px;
      bottom: 22px;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid rgba(87, 112, 151, .2);
      border-radius: 50%;
      background: rgba(255, 255, 255, .4);
      color: rgba(42, 66, 104, .86);
      box-shadow: 0 5px 18px rgba(39, 67, 109, .08);
      font: 700 25px/1 Arial, sans-serif;
      cursor: pointer;
      opacity: .7;
      transition: background .18s ease, color .18s ease, opacity .18s ease, transform .18s ease;
    }

    .parse-back-to-top:hover,
    .parse-back-to-top:focus-visible {
      background: rgba(255, 255, 255, .72);
      color: #416dbb;
      opacity: 1;
      outline: none;
      transform: translateY(-2px);
    }

    .parse-scroll-pane {
      position: relative;
      min-width: 0;
    }

    .parse-panel-back-to-top {
      position: fixed;
      right: auto;
      bottom: auto;
      z-index: 120;
    }

    .parse-workbench.manual-mode {
      grid-template-columns: minmax(0, 1fr);
    }

    .parse-workbench.manual-mode .parse-side {
      display: none;
    }

    .parse-side,
    .parse-main-card {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--panel);
      box-shadow: var(--shadow);
    }

    .parse-side {
      position: sticky;
      top: 14px;
      padding: 10px;
      display: grid;
      gap: 10px;
    }

    .parse-side-section {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 9px;
      display: grid;
      gap: 8px;
    }

    .parse-side-section.is-hidden {
      display: none !important;
    }

    .parse-side-section h3 {
      margin: 0;
      font-size: 14px;
      letter-spacing: 0;
    }

    .parse-side-field {
      display: grid;
      gap: 5px;
    }

    .parse-side-field label {
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
    }

    .parse-side-field input {
      width: 100%;
      min-height: 36px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink);
      padding: 0 10px;
      font-weight: 850;
      outline: none;
    }

    .parse-side-field input:focus {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .parse-side-field input::placeholder {
      color: #aeb6c5;
      font-weight: 750;
    }

    .parse-stat-list {
      display: grid;
      gap: 6px;
    }

    .parse-stat {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      border-radius: 7px;
      background: #f8f9fc;
      padding: 8px 10px;
      color: #4b5568;
      font-size: 13px;
      font-weight: 850;
    }

    .parse-stat.warning {
      background: var(--amber-soft);
      color: #8a651f;
    }

    .parse-upload {
      min-height: 132px;
      border: 1px dashed #cfc8ba;
      border-radius: 7px;
      background: #fbfaf7;
      color: var(--muted);
      padding: 10px;
      display: grid;
      gap: 8px;
      align-content: center;
      text-align: center;
      cursor: pointer;
      caret-color: transparent;
      outline: none;
      font-size: 13px;
      font-weight: 850;
      line-height: 1.6;
    }

    .parse-upload:hover,
    .parse-upload:focus-within,
    .parse-upload.drag-over {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .parse-upload.drag-over {
      background: #eef4ff;
      color: #2d4f9e;
    }

    .parse-thumb-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      max-height: min(640px, calc(100vh - 280px));
      overflow-y: auto;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
      padding-right: 4px;
    }

    .parse-thumb-grid::-webkit-scrollbar {
      width: 9px;
    }

    .parse-thumb-grid::-webkit-scrollbar-thumb {
      border: 2px solid transparent;
      border-radius: 999px;
      background: #b9c6e2;
      background-clip: padding-box;
    }

    .parse-thumb-grid::-webkit-scrollbar-track {
      border-radius: 999px;
      background: #edf1f9;
    }

    .parse-word-source-status {
      min-height: 40px;
      padding: 9px 11px;
      border: 1px solid #cfe2d4;
      border-radius: 9px;
      display: flex;
      align-items: center;
      background: #f0faf3;
      color: #2f7043;
      font-size: 12px;
      font-weight: 850;
      line-height: 1.5;
    }

    .parse-word-source-status[hidden] {
      display: none;
    }

    .parse-word-source-status.is-error {
      border-color: #efd7a7;
      background: #fff8e8;
      color: #8a651f;
    }

    .parse-images-loading {
      grid-column: 1 / -1;
      min-height: 112px;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 7px;
      border: 1px solid #d9e2f5;
      border-radius: 7px;
      background: #f5f8ff;
      color: #405170;
      text-align: center;
    }

    .parse-images-loading small {
      color: var(--muted);
      font-weight: 700;
    }

    .parse-images-loading-spinner {
      width: 24px;
      height: 24px;
      border: 3px solid #d7e0f3;
      border-top-color: var(--primary);
      border-radius: 50%;
      animation: parse-image-loading-spin .8s linear infinite;
    }

    @keyframes parse-image-loading-spin {
      to { transform: rotate(360deg); }
    }

    .parse-thumb {
      position: relative;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 22px 6px 6px;
      display: grid;
      gap: 5px;
      min-height: 112px;
    }

    .parse-thumb img {
      width: 100%;
      height: 78px;
      object-fit: contain;
      border-radius: 5px;
      background: #f7f7f7;
      cursor: zoom-in;
    }

    .parse-thumb span {
      position: absolute;
      top: 5px;
      left: 6px;
      font-size: 11px;
      color: var(--muted);
      font-weight: 900;
    }

    .parse-thumb-remove {
      position: absolute;
      top: 4px;
      right: 5px;
      width: 22px;
      height: 22px;
      border: 1px solid var(--line);
      border-radius: 50%;
      background: #fff;
      color: #8b2d2d;
      cursor: pointer;
      font-size: 14px;
      line-height: 1;
      font-weight: 900;
    }

    .parse-thumb-remove:hover {
      border-color: #c94b4b;
      background: #fff1f1;
    }

    .parse-upload-actions {
      display: grid;
      grid-template-columns: minmax(170px, 1fr) minmax(86px, .55fr);
      gap: 8px;
    }

    /* 试卷操作按钮放在试卷名输入框上方，便于上传后立即保存或解析。 */
    #parseImageManageSection .parse-upload-actions {
      order: -1;
    }

    .parse-upload-actions .btn {
      width: 100%;
      justify-content: center;
    }

    #parseChooseImageBtn {
      grid-column: 1;
      grid-row: 1;
    }

    #parseClearImagesBtn {
      grid-column: 2;
      grid-row: 1;
    }

    #parseAnalyzeBtn {
      grid-column: 1 / -1;
      grid-row: 2;
    }

    .parse-question-list {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      min-width: 0;
    }

    .parse-q-chip {
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fff;
      color: #4b5568;
      min-height: 30px;
      padding: 0 10px;
      cursor: pointer;
      font-size: 12px;
      font-weight: 900;
    }

    .parse-q-chip.active {
      background: var(--blue);
      color: #fff;
      border-color: var(--blue);
    }

    .parse-q-chip.success {
      background: #ecfdf3;
      color: #217347;
      border-color: rgba(59, 140, 92, .35);
    }

    .parse-q-chip.warning {
      background: #fff7df;
      color: #9a6a12;
      border-color: rgba(209, 151, 45, .45);
    }

    .parse-q-chip:disabled {
      cursor: not-allowed;
      opacity: .6;
    }

    .parse-q-remove {
      border-color: rgba(201, 75, 75, .35);
      color: #a34038;
      padding: 0 9px;
    }

    .parse-q-remove:hover {
      background: #fff1f1;
      border-color: #c94b4b;
    }

    .parse-main-card {
      padding: 12px;
      display: grid;
      gap: 10px;
    }

    .parse-question-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      border-bottom: 1px solid var(--line);
      padding-bottom: 9px;
    }

    .parse-question-title-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      align-items: center;
      min-width: 0;
    }

    .parse-question-title-actions > .btn {
      height: 40px;
      min-height: 40px;
      padding: 0 14px;
      border-radius: 11px;
      border-color: #dfe6f2;
      background: rgba(255, 255, 255, .96);
      color: #50607d;
      font-size: 13px;
      font-weight: 850;
      box-shadow: 0 4px 11px rgba(55, 73, 122, .06);
    }

    .parse-question-title-actions > .btn:hover:not(:disabled) {
      border-color: rgba(76, 111, 255, .42);
      background: #fff;
      color: var(--blue);
      box-shadow: 0 8px 18px rgba(55, 73, 122, .13);
      transform: translateY(-2px);
    }

    #parseCurrentAiSolveBtn {
      border-color: rgba(245, 151, 91, .28);
      background: #fff8f1;
      color: #c66b2f;
    }

    #parseManualCropBtn,
    #parseQuestionVisionCropBtn {
      border-color: rgba(107, 139, 213, .24);
      background: #f7f9ff;
      color: #516da9;
    }

    #parseChoiceManageBtn,
    #parsePaperAddBtn {
      background: #f8faff;
      color: #53658b;
    }

    .parse-question-title-actions #parseMathSymbolSlot,
    .parse-question-title-actions #parseChoiceManageBtn {
      display: none !important;
    }

    #parseCurrentDeleteBtn,
    #parsePaperDeleteBtn {
      border-color: rgba(221, 90, 101, .24);
      background: #fff8f8;
      color: #bd4f5a;
      box-shadow: 0 3px 9px rgba(189, 79, 90, .05);
    }

    #parseCurrentDeleteBtn:hover:not(:disabled),
    #parsePaperDeleteBtn:hover:not(:disabled) {
      border-color: rgba(221, 90, 101, .42);
      background: #fff1f2;
      color: #a83e49;
    }

    /* 解析题卡的保存、删除操作移至题卡内部，顶部不再显示重复按钮。 */
    #parseCurrentBankBtn,
    #parseCurrentSaveBtn,
    #parseCurrentDeleteBtn,
    #parsePaperDeleteBtn {
      display: none !important;
    }

    .parse-symbol-slot {
      position: relative;
    }

    .parse-symbol-slot .math-symbol-trigger {
      font-weight: 500;
    }

    .parse-symbol-slot .parse-symbol-trigger {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-width: 118px;
      height: 40px;
      min-height: 40px;
      padding: 3px 10px 3px 5px;
      border: 1px solid rgba(76, 111, 255, .22);
      border-radius: 10px;
      background: linear-gradient(135deg, #f2f5ff 0%, #e8edff 100%);
      color: #4964cf;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .01em;
      box-shadow: 0 4px 10px rgba(76, 111, 255, .1);
    }

    .parse-symbol-slot .parse-symbol-trigger:hover,
    .parse-symbol-slot .parse-symbol-trigger.active {
      border-color: rgba(76, 111, 255, .34);
      background: linear-gradient(135deg, #eaf0ff 0%, #dfe7ff 100%);
      color: #3f5bc9;
      box-shadow: 0 6px 13px rgba(76, 111, 255, .15);
      transform: translateY(-1px);
    }

    .parse-symbol-slot .parse-symbol-trigger:focus-visible {
      outline: 3px solid rgba(76, 111, 255, .2);
      outline-offset: 2px;
    }

    .parse-symbol-mark {
      display: inline-grid;
      width: 27px;
      height: 27px;
      place-items: center;
      flex: 0 0 27px;
      border: 1px solid rgba(76, 111, 255, .16);
      border-radius: 8px;
      background: rgba(76, 111, 255, .09);
      color: #4964cf;
      font: 800 16px/1 Georgia, "Times New Roman", serif;
    }

    .parse-symbol-caret {
      margin-left: auto;
      font-size: 11px;
      line-height: 1;
      opacity: .82;
      transition: transform .16s ease;
    }

    .parse-symbol-trigger.active .parse-symbol-caret {
      transform: rotate(180deg);
    }

    .parse-symbol-slot .math-symbol-popover {
      right: 0;
      left: auto;
      width: min(440px, calc(100vw - 48px));
    }

    .parse-question-head strong {
      font-size: 18px;
    }

    .parse-badge {
      border-radius: 999px;
      background: var(--amber-soft);
      color: #8a651f;
      padding: 6px 10px;
      font-size: 12px;
      font-weight: 900;
    }

    .manual-meta-panel {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
      gap: 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fbfaf7;
      padding: 10px;
    }

    .manual-meta-panel.is-hidden {
      display: none;
    }

    .manual-meta-field {
      display: grid;
      gap: 5px;
      min-width: 0;
    }

    .manual-meta-field.is-hidden {
      display: none;
    }

    .manual-meta-field label {
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
    }

    .manual-meta-field select,
    .manual-meta-field input,
    .manual-meta-field textarea {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink);
      min-height: 36px;
      padding: 0 10px;
      font-weight: 800;
      outline: none;
    }

    .manual-meta-field select:focus,
    .manual-meta-field input:focus,
    .manual-meta-field textarea:focus {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .manual-meta-field textarea {
      min-height: 132px;
      padding: 10px;
      line-height: 1.65;
      resize: vertical;
      font-weight: 650;
    }

    .english-material-assignment-field,
    .english-material-field {
      grid-column: 1 / -1;
    }

    .parse-material-compact-card {
      gap: 8px;
      padding: 11px 12px;
      border: 1px solid #dfe6f2;
      border-radius: 12px;
      background: rgba(255, 255, 255, .7);
    }

    .parse-material-compact-row {
      display: grid;
      grid-template-columns: minmax(260px, 1.35fr) minmax(210px, 1fr) auto;
      align-items: end;
      gap: 10px;
      min-width: 0;
    }

    .parse-material-compact-control {
      display: grid;
      gap: 5px;
      min-width: 0;
    }

    .parse-material-compact-control.is-hidden {
      display: none;
    }

    .parse-material-compact-actions {
      display: flex;
      gap: 8px;
      align-items: center;
      min-height: 42px;
      white-space: nowrap;
    }

    .parse-material-compact-actions .btn {
      min-height: 42px;
      padding: 0 14px;
    }

    .parse-material-compact-card > .english-material-field {
      padding-top: 8px;
      border-top: 1px solid #e5eaf4;
    }

    .parse-material-compact-card #parseQuestionMaterialInput {
      min-height: 160px;
      max-height: 220px;
      overflow-y: auto;
      resize: vertical;
    }

    .chinese-section-field {
      grid-column: span 2;
    }

    #parseChineseSectionInstructionField {
      grid-column: 1 / -1;
    }

    #parseChineseSectionInstructionInput {
      min-height: 76px;
    }

    .manual-meta-help {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }

    .english-question-material {
      display: grid;
      gap: 8px;
      padding: 14px 16px;
      border: 1px solid #d8e1f4;
      border-radius: 8px;
      background: #f8faff;
      color: var(--ink);
      font-family: "Times New Roman", "Noto Serif SC", serif;
      line-height: 1.75;
    }

    .english-question-material-title {
      font-size: 1.05em;
    }

    .english-question-material-instruction {
      color: var(--muted);
      font-weight: 750;
      white-space: pre-wrap;
    }

    .english-question-material-text {
      font-weight: 600;
      white-space: pre-wrap;
      overflow-wrap: anywhere;
    }

    .single-question-material-field {
      grid-column: 1 / -1;
    }

    .single-question-material-field.is-hidden {
      display: none;
    }

    .single-question-material-field textarea {
      min-height: 150px;
      resize: vertical;
      font-family: "Times New Roman", "Noto Serif SC", serif;
      line-height: 1.65;
    }

    .parse-editor-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 10px;
      align-items: stretch;
      grid-auto-rows: minmax(0, auto);
    }

    .parse-editor-panel {
      display: grid;
      grid-template-rows: 32px minmax(0, 1fr);
      gap: 8px;
      min-width: 0;
      min-height: 0;
    }

    .parse-editor-panel h3 {
      margin: 0;
      font-size: 14px;
      letter-spacing: 0;
      min-height: 32px;
      display: flex;
      align-items: center;
    }

    .parse-editor-head {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
    }

    .parse-editor-head h3 {
      margin: 0;
    }

    .parse-editor-head .btn {
      min-height: 30px;
      padding: 0 11px;
      font-size: 12px;
    }

    .parse-question-editor-head {
      justify-content: space-between;
    }

    .parse-question-ai-status {
      display: inline-flex;
      align-items: center;
      min-height: 26px;
      padding: 3px 10px;
      border: 1px solid #ffd4b8;
      border-radius: 999px;
      background: #fff5ed;
      color: #d86525;
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    .parse-question-ai-status[hidden] {
      display: none;
    }

    .parse-question-ai-status.is-error {
      border-color: #f3bec3;
      background: #fff1f2;
      color: #c53e4c;
    }

    .parse-textarea {
      width: 100%;
      min-height: 0;
      height: 360px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: #25304a;
      padding: 12px;
      line-height: 1.6;
      resize: none;
      overflow: auto;
      outline: none;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 13px;
    }

    .parse-textarea[readonly] {
      background: #f8f9fc;
      color: #697386;
      cursor: default;
    }

    .parse-textarea.solution {
      height: 220px;
    }

    .parse-solution-editor-wrap {
      position: relative;
      min-width: 0;
      min-height: 0;
    }

    .parse-material-editor-wrap {
      position: relative;
      min-width: 0;
      min-height: 0;
    }

    .parse-solution-editor-wrap .parse-textarea.solution {
      display: block;
      width: 100%;
    }

    .parse-solution-vision-progress,
    .parse-material-vision-progress {
      position: absolute;
      inset: 1px;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
      padding: 24px;
      border-radius: 9px;
      background: rgba(248, 250, 255, .96);
      color: #46536d;
      font-size: 14px;
      font-weight: 750;
      line-height: 1.7;
      text-align: center;
      pointer-events: none;
    }

    .parse-solution-vision-progress[hidden],
    .parse-material-vision-progress[hidden] {
      display: none;
    }

    .parse-solution-vision-spinner {
      width: 26px;
      height: 26px;
      border: 3px solid #dfe7fb;
      border-top-color: #5573e9;
      border-radius: 50%;
      animation: parse-solution-vision-spin .8s linear infinite;
    }

    @keyframes parse-solution-vision-spin {
      to {
        transform: rotate(360deg);
      }
    }

    .parse-preview {
      min-height: 0;
      height: 360px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 16px;
      line-height: 1.8;
      color: #27324a;
      overflow: auto;
    }

    .latex-text-align-left { text-align: left; }
    .latex-text-align-center { text-align: center; }
    .latex-text-align-right { text-align: right; }
    .latex-question-list {
      margin: .25em 0;
      padding-left: 1.6em;
    }
    .latex-question-list-ordered {
      list-style: none;
      padding-left: 0;
    }
    .latex-question-list-ordered > li {
      padding-left: 1.6em;
      text-indent: -1.6em;
    }
    .latex-question-number {
      user-select: text;
    }

    .parse-preview.solution {
      height: 220px;
    }

    .parse-preview h4,
    .parse-preview h5 {
      margin: 0 0 10px;
      color: #16213b;
      line-height: 1.45;
    }

    .parse-preview h4 {
      font-size: 20px;
    }

    .parse-preview h5 {
      font-size: 17px;
    }

    .parse-preview .markdown-table-wrap {
      overflow-x: auto;
      margin: 12px 0;
      border: 1px solid #e2dcd2;
      border-radius: 7px;
      background: #fff;
    }

    .parse-preview table.markdown-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 520px;
      font-size: 15px;
      line-height: 1.65;
    }

    .parse-preview table.markdown-table th,
    .parse-preview table.markdown-table td {
      border: 1px solid #e2dcd2;
      padding: 10px 12px;
      vertical-align: top;
      text-align: left;
    }

    .parse-preview table.markdown-table th {
      background: #f7f3ea;
      color: #16213b;
      font-weight: 800;
    }

    /* 原生 Word 题目可能包含长材料、实验步骤和多列表格，预览区完整展开。 */
    .parse-preview.native-word-preview {
      height: auto;
      min-height: 360px;
      overflow: visible;
    }

    .parse-textarea.native-word-content {
      min-height: 360px;
      overflow-y: hidden;
      resize: vertical;
    }

    .parse-preview.native-word-preview .markdown-table-wrap {
      max-width: 100%;
      overflow-x: visible;
    }

    .parse-preview.native-word-preview table.markdown-table {
      width: 100%;
      min-width: 0;
      table-layout: fixed;
      font-size: 13px;
      line-height: 1.55;
    }

    .parse-preview.native-word-preview table.markdown-table th,
    .parse-preview.native-word-preview table.markdown-table td {
      padding: 8px 6px;
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
    }

    .parse-preview.native-word-preview table.markdown-table th:first-child,
    .parse-preview.native-word-preview table.markdown-table td:first-child {
      width: 52px;
      text-align: center;
    }

    .parse-editor-panel:nth-child(1),
    .parse-editor-panel:nth-child(2) {
      min-height: 400px;
    }

    .parse-editor-panel:nth-child(3),
    .parse-editor-panel:nth-child(4) {
      min-height: 260px;
    }

    .manual-crop-modal {
      position: fixed;
      inset: 0;
      z-index: 90;
      background: rgba(20, 28, 44, .72);
      display: none;
      align-items: center;
      justify-content: center;
      padding: 24px;
    }

    .manual-crop-modal.show {
      display: flex;
    }

    #parseChoiceEditModal {
      background: transparent;
    }

    .manual-crop-panel {
      width: min(1120px, 96vw);
      max-height: 92vh;
      background: #fff;
      border-radius: 8px;
      box-shadow: 0 24px 70px rgba(14, 21, 37, .28);
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      overflow: hidden;
    }

    .question-vision-mode-panel {
      width: min(520px, calc(100vw - 32px));
      padding: 24px;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(35, 52, 95, 0.24);
    }

    .parse-analysis-panel {
      width: min(760px, calc(100vw - 32px));
      max-height: min(90vh, 780px);
      overflow: auto;
      border: 1px solid rgba(104, 128, 190, .18);
      background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    }

    .parse-choice-edit-panel {
      width: min(620px, calc(100vw - 32px));
      padding: 24px;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(35, 52, 95, .24);
    }

    .parse-choice-edit-panel.compact-size-panel {
      width: min(372px, calc(100vw - 24px));
      padding: 14px;
      border: 1px solid #e2e8f2;
      border-radius: 15px;
      box-shadow: 0 18px 48px rgba(35, 52, 95, .18);
    }

    .parse-add-mode-panel {
      width: min(520px, calc(100vw - 32px));
      padding: 24px;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(35, 52, 95, .24);
    }

    .parse-add-mode-options {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .parse-add-mode-option {
      min-height: 112px;
      padding: 18px;
      border: 1px solid #dce5f4;
      border-radius: 15px;
      background: #f8faff;
      color: var(--ink);
      cursor: pointer;
      display: grid;
      align-content: center;
      gap: 8px;
      text-align: left;
      transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    }

    .parse-add-mode-option:hover:not(:disabled),
    .parse-add-mode-option:focus-visible {
      border-color: #7b95ff;
      box-shadow: 0 10px 24px rgba(74, 105, 229, .14);
      outline: none;
      transform: translateY(-1px);
    }

    .parse-add-mode-option.active {
      border-color: #607dce;
      background: #f2f5ff;
      box-shadow: 0 8px 20px rgba(74, 105, 229, .12);
    }

    .parse-add-mode-option strong {
      font-size: 18px;
    }

    .parse-add-mode-option small {
      color: var(--muted);
      line-height: 1.55;
    }

    .parse-add-mode-option:disabled {
      cursor: not-allowed;
      opacity: .55;
    }

    .parse-add-mode-option.danger:hover:not(:disabled),
    .parse-add-mode-option.danger:focus-visible {
      border-color: #e58e98;
      box-shadow: 0 10px 24px rgba(196, 62, 78, .12);
    }

    .parse-add-mode-option.danger strong {
      color: #bf3f4e;
    }

    .parse-choice-batch-panel {
      width: min(760px, calc(100vw - 32px));
      max-height: calc(100vh - 32px);
      padding: 24px;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(35, 52, 95, .24);
      display: flex;
      flex-direction: column;
    }

    .parse-choice-batch-hint {
      margin: -5px 0 15px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }

    .parse-choice-batch-hint.is-error {
      color: #c94455;
    }

    .parse-choice-batch-symbol-slot {
      margin-bottom: 12px;
    }

    .parse-choice-batch-list {
      min-height: 0;
      overflow: auto;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .parse-choice-batch-row {
      min-width: 0;
      padding: 10px 11px;
      border: 1px solid #dfe6f2;
      border-radius: 12px;
      background: #f8faff;
      display: grid;
      grid-template-columns: auto 26px minmax(0, 1fr);
      align-items: center;
      gap: 8px;
    }

    .parse-choice-batch-row.is-selected {
      border-color: #91a6ff;
      background: #f4f6ff;
    }

    .parse-choice-batch-row input[type="checkbox"] {
      width: 18px;
      height: 18px;
      accent-color: var(--primary);
    }

    .parse-choice-batch-label {
      color: var(--ink);
      font-size: 16px;
      font-weight: 900;
    }

    .parse-choice-batch-input {
      width: 100%;
      min-width: 0;
      min-height: 40px;
      padding: 8px 10px;
      border: 1px solid #dfe6f2;
      border-radius: 9px;
      background: #fff;
      color: var(--ink);
      font-family: "Times New Roman", "Songti SC", serif;
    }

    .parse-choice-delete-preview {
      min-width: 0;
      overflow: hidden;
      color: #46536d;
      font-family: "Times New Roman", "Songti SC", serif;
      font-size: 14px;
      line-height: 1.45;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .parse-choice-batch-actions {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      margin-top: 18px;
    }

    .parse-choice-edit-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 18px;
    }

    .parse-choice-edit-head strong {
      color: var(--ink);
      font-size: 20px;
    }

    .compact-size-panel .parse-choice-edit-head {
      gap: 10px;
      margin-bottom: 10px;
    }

    .compact-size-panel .parse-choice-edit-head strong {
      font-size: 14px;
      font-weight: 850;
    }

    .parse-choice-edit-close {
      width: 34px;
      height: 34px;
      border: 0;
      border-radius: 50%;
      background: #f2f5fb;
      color: var(--muted);
      cursor: pointer;
      font-size: 22px;
      line-height: 1;
    }

    .compact-size-panel .parse-choice-edit-close {
      width: 28px;
      height: 28px;
      font-size: 18px;
    }

    .parse-choice-edit-actions {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 10px;
    }

    .parse-choice-edit-actions[hidden] {
      display: none;
    }

    .parse-choice-edit-actions .btn {
      min-height: 42px;
      padding: 9px 12px;
    }

    .parse-choice-size-editor {
      display: grid;
      gap: 10px;
      margin-top: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .parse-choice-size-editor[hidden] {
      display: none;
    }

    .parse-choice-size-scope {
      display: inline-flex;
      justify-self: start;
      gap: 3px;
      padding: 3px;
      border-radius: 10px;
      background: #edf1f8;
    }

    .parse-choice-size-scope button,
    .parse-choice-size-row button {
      border: 1px solid transparent;
      background: transparent;
      color: #60708c;
      font: inherit;
      font-weight: 800;
      cursor: pointer;
    }

    .parse-choice-size-scope button {
      min-height: 28px;
      padding: 0 9px;
      border-radius: 8px;
      font-size: 12px;
    }

    .parse-choice-size-scope button.active {
      border-color: #d5dfef;
      background: #fff;
      color: #4167bd;
      box-shadow: 0 2px 6px rgba(55, 73, 122, .08);
    }

    .parse-choice-size-row {
      display: grid;
      grid-template-columns: minmax(76px, 1fr) 30px 62px 30px;
      align-items: center;
      gap: 6px;
      min-height: 32px;
    }

    .parse-choice-size-row > span {
      color: #42506a;
      font-size: 12px;
      font-weight: 800;
    }

    .parse-choice-size-row button {
      width: 30px;
      height: 30px;
      padding: 0;
      border-color: #d5dfef;
      border-radius: 8px;
      background: #fff;
      color: #486bc0;
      font: 900 18px/1 Arial, sans-serif;
      box-shadow: 0 1px 2px rgba(55, 73, 122, .05);
    }

    .parse-choice-size-row button:hover:not(:disabled),
    .parse-choice-size-row button:focus-visible {
      border-color: #86aaf1;
      background: #edf3ff;
      outline: none;
    }

    .parse-choice-size-row button:disabled {
      cursor: not-allowed;
      opacity: .35;
    }

    .parse-choice-size-row output {
      color: #33415d;
      font-size: 12px;
      font-weight: 850;
      text-align: center;
    }

    .parse-choice-size-editor > p {
      margin: 0;
      color: #7c899f;
      font-size: 11px;
      line-height: 1.5;
    }

    .parse-choice-symbol-slot,
    .parse-choice-batch-symbol-slot {
      position: relative;
      min-width: 0;
    }

    .parse-choice-symbol-slot .math-symbol-trigger {
      width: 100%;
      min-height: 42px;
      padding: 9px 12px;
    }

    .parse-choice-symbol-slot .math-symbol-popover,
    .parse-choice-batch-symbol-slot .math-symbol-popover {
      width: min(440px, calc(100vw - 64px));
    }

    .parse-choice-symbol-slot .math-symbol-popover {
      right: 0;
      left: auto;
    }

    .parse-choice-text-editor {
      display: grid;
      gap: 9px;
      margin-top: 18px;
      padding-top: 18px;
      border-top: 1px solid #e4eaf5;
    }

    .parse-choice-text-editor[hidden] {
      display: none;
    }

    .parse-choice-text-editor label {
      color: #46536d;
      font-size: 13px;
      font-weight: 850;
    }

    .parse-choice-text-editor textarea {
      width: 100%;
      min-height: 112px;
      padding: 12px 13px;
      border: 1px solid #dfe6f2;
      border-radius: 11px;
      resize: vertical;
      color: var(--ink);
      font-family: "Times New Roman", "Songti SC", serif;
      line-height: 1.65;
    }

    .parse-choice-text-editor > span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.55;
    }

    .parse-choice-text-actions {
      display: flex;
      justify-content: flex-end;
      gap: 9px;
    }

    .single-question-tags-panel {
      display: grid;
      gap: 12px;
    }

    .single-question-tags-field {
      display: grid;
      gap: 8px;
      color: #46536d;
      font-size: 13px;
      font-weight: 850;
    }

    .single-question-tags-field textarea {
      width: 100%;
      min-height: 112px;
      padding: 12px 13px;
      border: 1px solid #dfe6f2;
      border-radius: 11px;
      resize: vertical;
      color: var(--ink);
      font: inherit;
      line-height: 1.65;
      box-sizing: border-box;
    }

    .single-question-tags-hint {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.55;
    }

    .parse-choice-preview-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px 12px;
      margin-top: 14px;
    }

    .parse-choice-preview-item {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 9px;
      align-items: center;
      min-width: 0;
      min-height: 48px;
      padding: 10px 12px;
      border: 1px solid #dfe6f2;
      border-radius: 11px;
      background: #fbfcff;
      color: var(--ink);
      cursor: pointer;
      text-align: left;
    }

    button.parse-choice-preview-item:hover,
    button.parse-choice-preview-item:focus-visible {
      border-color: rgba(76, 111, 255, .55);
      background: #f2f5ff;
      outline: none;
      box-shadow: 0 6px 16px rgba(76, 111, 255, .1);
    }

    .parse-choice-preview-item.is-static {
      cursor: default;
    }

    .parse-choice-preview-item.is-choice-image-pick-mode {
      border-color: #ef9b3d;
      background: #fffaf2;
      box-shadow: 0 0 0 3px rgba(239, 155, 61, .12);
    }

    .parse-choice-preview-item.is-choice-image-pick-mode [data-latex-image-wrapper].is-choice-image-pick-target {
      outline: 2px dashed #ef8a24;
      outline-offset: 3px;
      cursor: pointer;
      transition: outline-color .15s ease, filter .15s ease, transform .15s ease;
    }

    .parse-choice-preview-item.is-choice-image-pick-mode [data-latex-image-wrapper].is-choice-image-pick-target:hover {
      outline-color: #d9680d;
      filter: drop-shadow(0 3px 6px rgba(217, 104, 13, .2));
      transform: translateY(-1px);
    }

    .parse-choice-preview-label {
      display: inline-flex;
      width: 30px;
      height: 30px;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: linear-gradient(135deg, #607dce, #4f64a8);
      color: #fff;
      font-weight: 900;
    }

    .parse-choice-preview-content {
      min-width: 0;
      font-size: var(--exam-choice-text-scale, 100%);
      line-height: 1.6;
    }

    .parse-choice-preview-content:empty::after {
      content: "空选项";
      color: #a1aabd;
      font-size: 13px;
    }

    .question-vision-mode-head {
      margin-bottom: 18px;
      color: var(--ink);
      font-size: 20px;
    }

    .parse-analysis-head {
      display: flex;
      align-items: center;
      gap: 12px;
      padding-bottom: 16px;
      border-bottom: 1px solid #edf1f8;
    }

    .parse-analysis-head > span:last-child {
      display: grid;
      gap: 3px;
    }

    .parse-analysis-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 600;
    }

    .parse-analysis-head-icon {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 13px;
      background: linear-gradient(135deg, #ffb14a, #ff7d45);
      color: #fff;
      font-size: 18px;
      font-weight: 900;
      box-shadow: 0 8px 20px rgba(255, 132, 67, .24);
    }

    .parse-analysis-grade-field {
      display: grid;
      gap: 7px;
      margin: 0;
    }

    .parse-analysis-meta-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      margin: 0 0 20px;
    }

    .parse-answer-keyword-card {
      display: grid;
      gap: 10px;
      margin-top: 18px;
      padding: 16px;
      border: 1px solid #dfe8f8;
      border-radius: 15px;
      background: linear-gradient(135deg, #f8faff 0%, #fffaf5 100%);
      transition: border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
    }

    .parse-answer-keyword-card:focus-within {
      border-color: #8caeff;
      box-shadow: 0 0 0 3px rgba(84, 126, 232, .1);
    }

    .parse-answer-keyword-card.is-standby {
      background: #fafbfe;
    }

    .parse-answer-keyword-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }

    .parse-answer-keyword-head > span {
      display: grid;
      gap: 3px;
    }

    .parse-answer-keyword-head strong {
      color: var(--ink);
      font-size: 15px;
      font-weight: 900;
    }

    .parse-answer-keyword-head small,
    .parse-answer-keyword-card > small {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }

    .parse-answer-keyword-head button {
      border: 1px solid #f1c99f;
      border-radius: 999px;
      padding: 6px 11px;
      background: #fff8f0;
      color: #b86424;
      font: inherit;
      font-size: 12px;
      font-weight: 800;
      cursor: pointer;
    }

    .parse-answer-keyword-head button:hover {
      border-color: #eea965;
      background: #fff1e2;
    }

    .parse-answer-keyword-card input {
      width: 100%;
      min-height: 44px;
      padding: 9px 12px;
      border: 1px solid #d9e2f2;
      border-radius: 11px;
      outline: none;
      background: #fff;
      color: var(--ink);
      font: inherit;
    }

    .parse-answer-keyword-card input:focus {
      border-color: #7ea4fb;
    }

    .parse-answer-keyword-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      min-height: 27px;
    }

    .parse-answer-keyword-chips span {
      padding: 5px 9px;
      border: 1px solid #dbe5ff;
      border-radius: 999px;
      background: #fff;
      color: #4f6aa7;
      font-size: 12px;
      font-weight: 800;
      box-shadow: 0 3px 9px rgba(67, 94, 153, .06);
    }

    .parse-answer-keyword-chips em {
      color: #d85f55;
      font-size: 12px;
      font-style: normal;
    }

    .parse-answer-keyword-error:empty {
      display: none;
    }

    .parse-answer-keyword-error {
      color: #d84b44 !important;
      font-weight: 700;
    }

    .parse-analysis-grade-field label {
      color: var(--ink);
      font-size: 15px;
      font-weight: 850;
    }

    .parse-analysis-grade-field select {
      width: 100%;
      min-height: 42px;
      padding: 8px 12px;
      border: 1px solid #dfe6f5;
      border-radius: 10px;
      background: #fff;
      color: var(--ink);
      font: inherit;
    }

    .parse-analysis-grade-field small {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }

    @media (max-width: 680px) {
      .parse-analysis-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 460px) {
      .parse-analysis-meta-grid {
        grid-template-columns: 1fr;
      }
    }

    .question-vision-mode-options {
      display: grid;
      gap: 12px;
    }

    .question-vision-mode-option {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      padding: 16px;
      border: 1px solid #dfe6f5;
      border-radius: 14px;
      cursor: pointer;
    }

    .question-vision-mode-option:has(input:checked) {
      border-color: var(--primary);
      background: #f3f6ff;
    }

    .question-vision-mode-option input {
      margin-top: 4px;
    }

    .question-vision-mode-option span {
      display: grid;
      gap: 4px;
    }

    .question-vision-mode-option small {
      color: var(--muted);
    }

    .question-vision-mode-actions {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      margin-top: 22px;
    }

    .paper-export-format-panel {
      position: relative;
      width: min(560px, calc(100vw - 32px));
      padding: 28px;
      border-radius: 22px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(35, 52, 95, 0.24);
    }

    .paper-export-format-close {
      position: absolute;
      top: 16px;
      right: 16px;
      width: 34px;
      height: 34px;
      border: 0;
      border-radius: 50%;
      background: #f2f5fb;
      color: var(--muted);
      cursor: pointer;
      font-size: 22px;
      line-height: 1;
    }

    .paper-export-format-close:hover {
      background: #e8edf8;
      color: var(--ink);
    }

    .paper-export-format-head {
      display: grid;
      gap: 6px;
      padding-right: 44px;
      margin-bottom: 20px;
    }

    .paper-export-format-head strong {
      color: var(--ink);
      font-size: 22px;
    }

    .paper-export-format-head span {
      color: var(--muted);
      font-size: 14px;
    }

    .paper-export-format-options {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .paper-export-format-option {
      display: flex;
      align-items: center;
      gap: 14px;
      min-height: 112px;
      padding: 18px;
      border: 1px solid #dfe6f5;
      border-radius: 16px;
      background: #fff;
      color: var(--ink);
      cursor: pointer;
      text-align: left;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

    .paper-export-format-option:hover,
    .paper-export-format-option:focus-visible {
      transform: translateY(-2px);
      border-color: var(--primary);
      box-shadow: 0 10px 24px rgba(75, 103, 230, 0.13);
      outline: none;
    }

    .paper-export-format-option > span:last-child {
      display: grid;
      gap: 5px;
    }

    .paper-export-format-option strong {
      font-size: 16px;
    }

    .paper-export-format-option small {
      color: var(--muted);
      line-height: 1.45;
    }

    .paper-export-format-icon {
      display: inline-flex;
      flex: 0 0 48px;
      width: 48px;
      height: 48px;
      align-items: center;
      justify-content: center;
      border-radius: 13px;
      color: #fff;
      font-size: 15px;
      font-weight: 900;
      letter-spacing: -.02em;
    }

    .paper-export-format-option.pdf .paper-export-format-icon {
      background: linear-gradient(135deg, #f06767, #d94a55);
    }

    .paper-export-format-option.word .paper-export-format-icon {
      background: linear-gradient(135deg, #4f80e8, #3159bd);
      font-size: 22px;
    }

    .paper-export-format-option.print .paper-export-format-icon {
      background: linear-gradient(135deg, #778092, #4b5568);
    }

    .paper-export-setup-panel {
      display: grid;
      gap: 14px;
    }

    .paper-export-setup-panel .paper-export-format-head {
      margin-bottom: 2px;
    }

    .paper-export-setup-label {
      color: var(--muted);
      font-size: 13px;
      font-weight: 850;
    }

    .paper-export-setup-input {
      width: 100%;
      min-height: 46px;
      padding: 10px 12px;
      border: 1px solid #dfe6f5;
      border-radius: 10px;
      color: var(--ink);
      background: #fff;
      font: inherit;
      outline: none;
    }

    .paper-export-setup-input:focus {
      border-color: var(--primary);
      box-shadow: 0 0 0 3px rgba(75, 103, 230, 0.12);
    }

    .paper-export-setup-actions {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      margin-top: 4px;
    }

    @media (max-width: 560px) {
      .paper-export-format-panel {
        padding: 24px 20px;
      }

      .paper-export-format-options {
        grid-template-columns: 1fr;
      }

      .paper-export-format-option {
        min-height: 92px;
      }
    }

    .manual-crop-head,
    .manual-crop-actions {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      padding: 12px 14px;
      border-bottom: 1px solid var(--line);
    }

    .manual-crop-actions {
      border-top: 1px solid var(--line);
      border-bottom: 0;
    }

    .manual-crop-head strong {
      font-size: 16px;
    }

    .manual-crop-tools {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
      justify-content: flex-end;
    }

    .manual-crop-zoom {
      display: inline-flex;
      gap: 6px;
      align-items: center;
      padding: 4px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fbfaf7;
    }

    .manual-crop-page {
      display: inline-flex;
      gap: 8px;
      align-items: center;
      color: var(--muted);
      font-size: 13px;
      font-weight: 900;
    }

    .manual-crop-page select {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      padding: 7px 9px;
      font: inherit;
      color: var(--ink);
    }

    .manual-crop-page-actions {
      display: inline-flex;
      gap: 6px;
      align-items: center;
    }

    .manual-crop-page-actions .btn {
      padding: 7px 10px;
      white-space: nowrap;
    }

    .manual-crop-stage {
      position: relative;
      overflow: auto;
      background: #f7f7f4;
      padding: 14px;
      cursor: crosshair;
      user-select: none;
    }

    .manual-crop-image-wrap {
      position: relative;
      width: fit-content;
      margin: 0 auto;
      line-height: 0;
    }

    .manual-crop-image-wrap img {
      max-width: min(1000px, 88vw);
      max-height: 70vh;
      width: auto;
      height: auto;
      background: #fff;
      box-shadow: 0 0 0 1px var(--line);
      pointer-events: none;
    }

    .manual-crop-selection {
      position: absolute;
      border: 2px solid var(--blue);
      background: rgba(65, 105, 225, .16);
      box-shadow: 0 0 0 9999px rgba(20, 28, 44, .18);
      display: none;
      pointer-events: none;
    }

    .manual-crop-selection.show {
      display: block;
    }

    .latex-choice-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px 24px;
      margin: 12px 0;
    }

    .latex-choice-grid > br {
      display: none;
    }

    .latex-choice {
      display: flex;
      gap: 8px;
      align-items: baseline;
      font-weight: 850;
    }

    .latex-choice b {
      color: var(--blue);
    }

    .latex-image {
      display: grid;
      place-items: center;
      position: relative;
      box-sizing: border-box;
      margin: 14px auto 4px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fbfaf7;
      padding: 10px;
      max-width: 520px;
    }

    .latex-image.is-user-sized {
      width: var(--latex-block-image-width);
      max-width: 100%;
    }

    .latex-image.is-user-sized img {
      height: auto;
      max-height: none;
    }

    .latex-image img {
      width: 100%;
      max-height: 260px;
      object-fit: contain;
      cursor: zoom-in;
    }

    .latex-image[style*="transform:translate"] {
      will-change: transform;
    }

    .latex-image-caption {
      width: 100%;
      margin-top: 8px;
      color: #53627b;
      font-size: 13px;
      font-weight: 600;
      line-height: 1.4;
      text-align: center;
    }

    .latex-inline-image {
      display: inline-flex;
      align-items: center;
      position: relative;
      box-sizing: border-box;
      max-width: 100%;
      margin: 0 .08em;
      vertical-align: -.12em;
      line-height: 1;
    }

    .latex-inline-image img {
      display: inline-block;
      width: auto;
      height: var(--latex-inline-image-height, 1.2em);
      max-width: min(100%, 1000px);
      max-height: var(--latex-inline-image-height, 1.2em);
      object-fit: contain;
      vertical-align: baseline;
    }

    .parse-preview [data-latex-image-wrapper] [data-parse-rendered-image] {
      cursor: pointer;
    }

    .parse-preview [data-latex-image-wrapper].is-resize-selected {
      outline: 2px solid #4b70ed;
      outline-offset: 3px;
    }

    .parse-preview [data-latex-image-wrapper].is-resizing {
      user-select: none;
    }

    .parse-image-resize-handle {
      position: absolute;
      z-index: 3;
      width: 12px;
      height: 12px;
      border: 2px solid #fff;
      border-radius: 3px;
      background: #4267df;
      box-shadow: 0 1px 5px rgba(38, 62, 135, .35);
      touch-action: none;
    }

    .latex-inline-image .parse-image-resize-handle {
      width: 8px;
      height: 8px;
      border-width: 1px;
    }

    .parse-image-resize-handle.nw {
      top: 0;
      left: 0;
      cursor: nwse-resize;
      transform: translate(-50%, -50%);
    }

    .parse-image-resize-handle.ne {
      top: 0;
      right: 0;
      cursor: nesw-resize;
      transform: translate(50%, -50%);
    }

    .parse-image-resize-handle.sw {
      bottom: 0;
      left: 0;
      cursor: nesw-resize;
      transform: translate(-50%, 50%);
    }

    .parse-image-resize-handle.se {
      right: 0;
      bottom: 0;
      cursor: nwse-resize;
      transform: translate(50%, 50%);
    }

    math msqrt > *,
    math mroot > *:first-child {
      padding-top: .16em;
    }

    .math-frac {
      display: inline-grid;
      grid-template-rows: auto auto;
      vertical-align: middle;
      text-align: center;
      line-height: 1.05;
      margin: 0 2px;
    }

    .math-frac > span:first-child {
      border-bottom: 1px solid currentColor;
      padding: 0 3px 1px;
    }

    .math-frac > span:last-child {
      padding: 1px 3px 0;
    }

    .math-sqrt {
      display: inline-flex;
      align-items: flex-end;
      vertical-align: -0.12em;
      margin: 0 2px;
      line-height: 1;
      font-family: Georgia, "Times New Roman", serif;
      font-style: normal;
    }

    .math-sqrt-symbol {
      font-size: 1.28em;
      line-height: .86;
      transform: translateY(.05em);
    }

    .math-root-index {
      align-self: flex-start;
      font-size: .58em;
      line-height: 1;
      margin-right: -.18em;
      transform: translate(.12em, -.24em);
    }

    .math-sqrt-radicand {
      display: inline-block;
      border-top: 2px solid currentColor;
      padding: .08em .08em 0 .12em;
      min-width: .62em;
      line-height: 1.05;
      transform: translateX(-.02em);
    }

    .math-cases {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      vertical-align: middle;
      margin: 0 4px;
      font-family: Georgia, "Times New Roman", serif;
    }

    .math-cases-brace {
      font-size: 2.35em;
      line-height: .9;
      font-style: normal;
    }

    .math-cases-lines {
      display: inline-grid;
      gap: 2px;
      line-height: 1.18;
    }

    /* KaTeX 的 cases 表格首列默认带 arraycolsep，题干中的方程组需与左大括号内侧对齐。 */
    .math-cases-katex mtable {
      transform: translateX(-.42em);
    }

    .math-cases-katex mtable > mtr > mtd {
      text-align: left;
    }

    .math-inline {
      font-family: Georgia, "Times New Roman", serif;
      font-style: italic;
      white-space: nowrap;
    }

    .math-blank {
      display: inline-block;
      min-width: 5.5em;
      border-bottom: 2px solid currentColor;
      transform: translateY(-.08em);
    }

    .math-underline {
      display: inline-block;
      border-bottom: 1.6px solid currentColor;
      line-height: 1.05;
      padding: 0 .08em;
    }

    .math-overline {
      display: inline-block;
      border-top: 1.6px solid currentColor;
      line-height: 1.05;
      padding: .03em .08em 0;
    }

    .math-vector {
      display: inline-block;
      position: relative;
      line-height: 1.05;
      padding: .22em .06em 0;
    }

    .math-vector::before {
      content: "";
      position: absolute;
      left: .03em;
      right: .04em;
      top: .08em;
      border-top: 1.4px solid currentColor;
    }

    .math-vector::after {
      content: "";
      position: absolute;
      top: .025em;
      right: .02em;
      width: .16em;
      height: .16em;
      border-top: 1.4px solid currentColor;
      border-right: 1.4px solid currentColor;
      transform: rotate(45deg);
      transform-origin: center;
    }

    .math-hat {
      display: inline-block;
      position: relative;
      padding-top: .12em;
    }

    .math-hat::before {
      content: "^";
      position: absolute;
      left: 50%;
      top: -.42em;
      transform: translateX(-50%);
      font-size: .85em;
      line-height: 1;
    }

    .failure-details {
      display: none;
      margin-top: 10px;
      border: 1px solid #f1c7c7;
      border-radius: 7px;
      background: #fff8f8;
      color: #713131;
      overflow: hidden;
    }

    .failure-details.show {
      display: block;
    }

    .failure-details summary {
      cursor: pointer;
      padding: 10px 12px;
      font-weight: 900;
      color: #8a2f2f;
      list-style-position: inside;
    }

    .failure-detail-body {
      display: grid;
      gap: 8px;
      padding: 0 12px 12px;
      font-size: 13px;
      line-height: 1.65;
    }

    .failure-detail-row {
      display: grid;
      grid-template-columns: 76px 1fr;
      gap: 10px;
    }

    .failure-detail-label {
      color: #9a5a5a;
      font-weight: 850;
    }

    .failure-detail-value {
      color: #582727;
      word-break: break-word;
      white-space: pre-wrap;
    }

    .problem-input-frame {
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      overflow: hidden;
    }

    .problem-input-frame:focus-within {
      border-color: rgba(65, 105, 225, .62);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .12);
    }

    .problem-input-frame.previewing textarea,
    .problem-input-frame.previewing .image-attachment {
      display: none;
    }

    .solve-question-preview {
      min-height: 122px;
      max-height: 380px;
      overflow: auto;
      padding: 14px 16px;
      color: #27324a;
      line-height: 1.8;
      background: #fff;
    }

    .solve-question-preview[hidden] {
      display: none;
    }

    .solve-question-preview p {
      margin: 0 0 10px;
    }

    .solve-question-preview p:last-child {
      margin-bottom: 0;
    }

    textarea {
      width: 100%;
      min-height: 122px;
      resize: vertical;
      border: 0;
      border-radius: 0;
      color: var(--ink);
      background: transparent;
      line-height: 1.65;
      padding: 11px 12px;
      outline: none;
      display: block;
    }

    textarea:focus {
      box-shadow: none;
    }

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

    .upload-box {
      margin-top: 10px;
      border: 1px dashed #cfc8ba;
      border-radius: 7px;
      background: #fbfaf7;
      padding: 10px;
      display: grid;
      gap: 9px;
    }

    .upload-row {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .upload-status {
      display: inline-flex;
      align-items: center;
      max-width: min(520px, 100%);
      min-height: 32px;
      border-radius: 999px;
      background: var(--blue-soft);
      color: #294da8;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.45;
      padding: 7px 12px;
      overflow-wrap: anywhere;
      text-align: left;
    }

    .upload-status.green {
      background: var(--green-soft);
      color: #247344;
    }

    .upload-status.amber {
      background: var(--amber-soft);
      color: #8a5d00;
    }

    .upload-status.red {
      background: rgba(209, 74, 63, .12);
      color: #a34038;
    }

    .paste-hint {
      color: #526071;
      font-size: 13px;
      line-height: 1.5;
    }

    .image-attachment {
      position: relative;
      display: none;
      margin: 0 12px 12px;
      width: min(100%, 520px);
      border: 1px solid #d7d1c7;
      border-radius: 6px;
      background: #fbfaf7;
      padding: 8px;
    }

    .image-attachment.show {
      display: block;
    }

    .image-preview {
      max-height: 126px;
      max-width: 100%;
      border-radius: 6px;
      object-fit: contain;
      background: #fff;
      display: block;
      cursor: zoom-in;
    }

    .remove-image {
      position: absolute;
      top: 6px;
      right: 6px;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      border: 1px solid rgba(23, 33, 59, .15);
      background: rgba(255, 255, 255, .94);
      color: var(--ink);
      cursor: pointer;
      display: grid;
      place-items: center;
      font-weight: 900;
      box-shadow: 0 4px 12px rgba(23, 33, 59, .12);
    }

    .student-controls {
      display: flex;
      justify-content: flex-start;
      gap: 12px;
      align-items: center;
      flex-wrap: wrap;
    }

    .segmented {
      display: inline-flex;
      gap: 4px;
      padding: 4px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #f8f7f3;
    }

    .segmented button {
      border: 0;
      border-radius: 5px;
      background: transparent;
      color: #596274;
      height: 30px;
      padding: 0 11px;
      cursor: pointer;
      font-weight: 800;
    }

    .segmented button.active {
      background: #fff;
      color: var(--blue);
      box-shadow: 0 1px 6px rgba(36, 31, 24, .08);
    }

    .btn {
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: var(--ink);
      height: 38px;
      padding: 0 13px;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      white-space: nowrap;
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
      will-change: transform;
    }

    .btn:hover:not(:disabled) {
      transform: translateY(-2px) scale(1.015);
      box-shadow: 0 7px 16px rgba(20, 30, 56, .12);
      border-color: rgba(65, 105, 225, .42);
    }

    .btn:disabled {
      opacity: .52;
      cursor: not-allowed;
      transform: none;
      box-shadow: none;
    }

    .btn.primary {
      border-color: #244fc5;
      background: var(--blue);
      color: #fff;
      font-weight: 700;
    }

    .btn.icon {
      width: 38px;
      padding: 0;
      justify-content: center;
      font-size: 18px;
    }

    .btn:active {
      transform: translateY(1px);
      box-shadow: 0 2px 8px rgba(20, 30, 56, .10);
    }

    @media (prefers-reduced-motion: reduce) {
      .btn {
        transition: none;
      }

      .btn:hover,
      .btn:active {
        transform: none;
      }
    }

    .insight-strip {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      margin-bottom: 0;
    }

    .flow-keypoint {
      display: grid;
      gap: 10px;
    }

    .flow-keypoint:empty {
      display: none;
    }

    .lesson-column .insight-strip {
      border-top: 1px solid var(--line);
      padding-top: 14px;
    }

    .insight-card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 14px 16px;
      min-width: 0;
    }

    .insight-card .mini-label {
      margin-bottom: 8px;
    }

    .parameter-card {
      display: grid;
      gap: 8px;
    }

    .voice-panel {
      display: grid;
      gap: 5px;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 7px 10px;
    }

    .voice-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
      color: #39435a;
      font-weight: 800;
      font-size: 13px;
    }

    .voice-status {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      text-align: right;
    }

    .voice-controls {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      align-items: center;
    }

    .voice-controls .btn {
      height: 26px;
      padding: 0 9px;
      font-size: 12px;
    }

    .rate-control {
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 7px;
      align-items: center;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
    }

    .rate-control input[type="range"] {
      height: 14px;
    }

    .workspace {
      display: grid;
      grid-template-columns: var(--layout-columns);
      gap: var(--layout-gap);
      align-items: start;
    }

    .column-resizer {
      position: absolute;
      top: 0;
      bottom: 0;
      left: calc(var(--left-pane) + (var(--layout-gap) / 2));
      width: 16px;
      transform: translateX(-50%);
      border: 0;
      padding: 0;
      background: transparent;
      cursor: col-resize;
      z-index: 3;
      touch-action: none;
      user-select: none;
    }

    .column-resizer::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 7px;
      width: 2px;
      border-radius: 999px;
      background: rgba(119, 128, 146, .28);
      transition: background .16s ease, width .16s ease, left .16s ease;
    }

    .column-resizer:hover::before,
    body.resizing-layout .column-resizer::before {
      left: 6px;
      width: 4px;
      background: rgba(65, 105, 225, .72);
    }

    .stage {
      min-width: 0;
      position: sticky;
      top: 16px;
      align-self: start;
      max-height: calc(100vh - 24px);
    }

    .lesson-column .stage {
      position: sticky;
      top: 16px;
      max-height: none;
    }

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

    .section-head h2 {
      margin: 0;
      font-family: Georgia, "Times New Roman", "Songti SC", serif;
      font-size: 23px;
      letter-spacing: 0;
    }

    .chart-shell {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow: hidden;
      position: relative;
    }

    .visual-fallback {
      display: none;
      min-height: 360px;
      padding: 18px;
      align-content: start;
      gap: 14px;
      background: #fff;
    }

    .visual-fallback.show {
      display: grid;
    }

    .visual-fallback img {
      max-width: 100%;
      max-height: 280px;
      object-fit: contain;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      cursor: zoom-in;
    }

    .visual-note {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fbfaf7;
      padding: 14px 16px;
      color: #33405a;
      line-height: 1.75;
      font-weight: 700;
      white-space: pre-wrap;
    }

    .chart-shell.text-mode canvas,
    .chart-shell.text-mode .chart-tools {
      display: none;
    }

    canvas {
      width: 100%;
      height: clamp(360px, calc(100vh - 98px), 640px);
      min-height: 360px;
      display: block;
      background: #fff;
    }

    .lesson-column canvas {
      height: clamp(320px, 42vh, 460px);
      min-height: 320px;
    }

    .lesson-column .visual-fallback {
      min-height: 320px;
    }

    .chart-tools {
      position: absolute;
      right: 18px;
      bottom: 18px;
      display: flex;
      gap: 4px;
      padding: 4px;
      border-radius: 6px;
      background: rgba(255, 255, 255, .82);
      border: 1px solid rgba(229, 225, 216, .92);
      backdrop-filter: blur(8px);
    }

    .legend {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      padding: 0;
      color: #364158;
      font-weight: 700;
      font-size: 13px;
    }

    .legend span {
      display: inline-flex;
      gap: 6px;
      align-items: center;
      white-space: nowrap;
    }

    .swatch {
      width: 24px;
      height: 4px;
      border-radius: 999px;
      display: inline-block;
    }

    .primary-column,
    .lesson-column {
      display: grid;
      gap: 14px;
      align-content: start;
    }

    .lesson-column {
      gap: 10px;
    }

    #page-solve .lesson-column > .composer-tools,
    #page-solve #problemPanel {
      display: none;
    }

    .panel {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding: 22px;
    }

    .panel h2 {
      margin: 0 0 15px;
      padding-bottom: 13px;
      border-bottom: 1px solid var(--line);
      font-family: Georgia, "Times New Roman", "Songti SC", serif;
      font-size: 24px;
      letter-spacing: 0;
    }

    .flow-panel {
      align-self: start;
      min-height: 360px;
    }

    .flow-panel .steps {
      gap: 14px;
    }

    .flow-panel {
      max-height: clamp(520px, calc(100vh - 24px), 760px);
      overflow: auto;
    }

    .flow-locked {
      border: 1px dashed #cfc8ba;
      border-radius: 7px;
      background: #fbfaf7;
      padding: 16px;
      color: var(--muted);
      line-height: 1.7;
      font-weight: 800;
    }

    .field-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 12px;
      align-items: center;
      color: var(--muted);
      font-weight: 700;
    }

    input[type="range"] {
      width: 100%;
      accent-color: var(--blue);
    }

    .value-readout {
      color: var(--blue);
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 22px;
      font-weight: 800;
      min-width: 68px;
      text-align: right;
    }

    .mini-card {
      margin-top: 0;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: linear-gradient(180deg, #fff, #fbfcff);
      padding: 14px 16px;
    }

    .mini-label {
      color: var(--muted);
      font-weight: 700;
      margin-bottom: 7px;
    }

    .result {
      color: #54a16e;
      font-size: 24px;
      font-weight: 800;
    }

    .answer-toggle {
      margin-top: 12px;
    }

    .mono {
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-weight: 800;
      line-height: 1.55;
    }

    .problem-text {
      line-height: 1.75;
      font-size: 16px;
    }

    .tags {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-top: 12px;
    }

    .tag {
      border-radius: 999px;
      background: var(--blue-soft);
      color: #294da8;
      font-size: 13px;
      font-weight: 800;
      padding: 7px 11px;
    }

    .tag.green {
      background: var(--green-soft);
      color: #247344;
    }

    .tag.amber {
      background: var(--amber-soft);
      color: #8a5d00;
    }

    .tag.red {
      background: rgba(209, 74, 63, .12);
      color: #a34038;
    }

    .tag.similar-progress-tag {
      max-width: min(520px, 100%);
      overflow-wrap: anywhere;
      text-align: left;
      justify-self: start;
      align-self: start;
    }

    .steps {
      display: grid;
      gap: 12px;
    }

    .step {
      display: grid;
      grid-template-columns: 36px 1fr;
      gap: 12px;
      align-items: start;
      border: 1px solid transparent;
      border-radius: 8px;
      padding: 8px;
      margin: -8px;
      transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
    }

    .badge {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: #10224d;
      color: #fff;
      display: grid;
      place-items: center;
      font-weight: 800;
      box-shadow: 0 6px 15px rgba(16, 34, 77, .22);
    }

    .step strong {
      display: block;
      font-size: 17px;
      margin-bottom: 5px;
    }

    .step p {
      margin: 0;
      color: #3e4658;
      line-height: 1.7;
    }

    .notice {
      background: #fff8e8;
      border: 1px solid #f0dcae;
      border-radius: 7px;
      color: #6f541d;
      padding: 12px 14px;
      line-height: 1.7;
      margin-top: 12px;
    }

    .export-box {
      position: fixed;
      inset: auto 24px 24px auto;
      max-width: min(460px, calc(100vw - 48px));
      background: #17213b;
      color: #fff;
      border-radius: 8px;
      padding: 13px 14px;
      box-shadow: 0 18px 48px rgba(23, 33, 59, .28);
      opacity: 0;
      transform: translateY(12px);
      pointer-events: none;
      transition: .18s ease;
    }

    .export-box.show {
      opacity: 1;
      transform: translateY(0);
    }

    .image-lightbox {
      position: fixed;
      inset: 0;
      z-index: 40;
      display: none;
      place-items: center;
      padding: 66px 28px 28px;
      background: rgba(18, 24, 39, .78);
      backdrop-filter: blur(10px);
      overflow: auto;
    }

    .image-lightbox.show {
      display: grid;
    }

    .image-lightbox img {
      max-width: min(1180px, 96vw);
      max-height: calc(100vh - 100px);
      object-fit: contain;
      border-radius: 8px;
      background: #fff;
      box-shadow: 0 24px 80px rgba(0, 0, 0, .34);
      cursor: zoom-in;
      transform: scale(var(--lightbox-zoom, 1));
      transform-origin: center center;
      transition: transform .14s ease;
    }

    .image-lightbox.zoomed img {
      cursor: zoom-out;
    }

    .lightbox-tools {
      position: fixed;
      top: 18px;
      right: 70px;
      z-index: 42;
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px;
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: 999px;
      background: rgba(255, 255, 255, .92);
      box-shadow: 0 12px 36px rgba(0, 0, 0, .18);
    }

    .lightbox-tool {
      width: 34px;
      height: 34px;
      border: 0;
      border-radius: 50%;
      background: transparent;
      color: var(--ink);
      font-size: 18px;
      font-weight: 900;
      cursor: pointer;
      display: grid;
      place-items: center;
    }

    .lightbox-tool:hover {
      background: rgba(37, 99, 235, .1);
      color: var(--blue);
    }

    .lightbox-zoom-value {
      min-width: 50px;
      text-align: center;
      color: var(--muted);
      font-size: 13px;
      font-weight: 800;
    }

    .lightbox-close {
      position: fixed;
      top: 18px;
      right: 18px;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, .34);
      background: rgba(255, 255, 255, .92);
      color: var(--ink);
      cursor: pointer;
      display: grid;
      place-items: center;
      font-size: 24px;
      font-weight: 900;
      box-shadow: 0 12px 36px rgba(0, 0, 0, .22);
    }

    @media (max-width: 560px) {
      .manual-meta-panel {
        grid-template-columns: 1fr;
      }

      .lightbox-tools {
        right: 18px;
        top: 68px;
      }
    }

    @media (max-width: 1060px) {
      .shell {
        grid-template-columns: 1fr;
      }

      .shell.nav-collapsed {
        grid-template-columns: 1fr;
      }

      .side-nav {
        position: static;
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--line);
      }

      .shell.nav-collapsed .side-nav {
        padding: 20px 14px;
      }

      .nav-resizer {
        display: none;
      }

      .nav-head {
        border-bottom: 0;
        padding-bottom: 0;
      }

      .brand-mark {
        border-bottom: 0;
        padding-bottom: 0;
      }

      .shell.nav-collapsed .brand-mark {
        padding: 8px 8px 0;
        text-align: left;
        font-size: 24px;
      }

      .shell.nav-collapsed .brand-full {
        display: inline;
      }

      .shell.nav-collapsed .brand-compact {
        display: none;
      }

      .nav-toggle {
        display: none;
      }

      .nav-list {
        display: flex;
        overflow: auto;
        padding-bottom: 2px;
      }

      .shell.nav-collapsed .nav-list {
        display: flex;
      }

      .nav-item {
        white-space: nowrap;
      }

      .shell.nav-collapsed .nav-item {
        display: block;
        min-height: 42px;
        padding: 0 12px;
        text-align: left;
        font-size: inherit;
      }

      .hero,
      .composer-grid,
      .workspace {
        grid-template-columns: 1fr;
      }

      .column-resizer {
        display: none;
      }

      .hero {
        display: block;
      }

      .subtitle-meta {
        justify-content: flex-start;
        margin-top: 10px;
      }

      .hero-actions {
        justify-items: start;
        margin-top: 10px;
      }

      .section-head {
        display: grid;
        gap: 8px;
      }

      .stage {
        position: static;
        max-height: none;
      }

      .flow-panel {
        max-height: none;
        overflow: visible;
      }

      .legend {
        justify-content: flex-start;
      }

      .composer-tools {
        padding: 14px;
      }

      .page-grid,
      .stat-grid {
        grid-template-columns: 1fr;
      }

    }

    .whiteboard-history-panel {
      overflow: hidden;
      padding: 0;
    }

    .whiteboard-history-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 20px 24px;
      border-bottom: 1px solid #e8edf4;
      background: linear-gradient(135deg, #fff 0%, #f7f9fc 100%);
    }

    .whiteboard-history-heading > div {
      min-width: 0;
    }

    .whiteboard-history-heading-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      flex: 0 0 auto;
    }

    .whiteboard-history-heading-actions button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      min-height: 36px;
      padding: 0 12px;
      border: 1px solid #dbe5f5;
      border-radius: 10px;
      background: #f7f9ff;
      color: #5272b1;
      font: inherit;
      font-size: 13px;
      font-weight: 750;
      cursor: pointer;
    }

    .whiteboard-history-heading-actions button:hover {
      border-color: #b9cbed;
      background: #eef4ff;
    }

    .whiteboard-history-heading-actions svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .whiteboard-history-eyebrow {
      color: #7184a4;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
    }

    .whiteboard-history-heading h2 {
      margin: 4px 0 2px;
      color: #293956;
      font-size: 20px;
      font-weight: 850;
    }

    .whiteboard-history-heading p {
      max-width: 72vw;
      margin: 0;
      overflow: hidden;
      color: #8794a9;
      font-size: 13px;
      font-weight: 650;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .whiteboard-history-updated {
      flex: 0 0 auto;
      color: #8b97aa;
      font-size: 12px;
    }

    .whiteboard-history-content {
      padding: 18px;
      background: #f5f7fa;
    }

    .whiteboard-history-queue {
      padding: 12px 18px 0;
      background: #f5f7fa;
    }

    .whiteboard-history-queue-heading {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 8px;
      color: #293956;
    }

    .whiteboard-history-queue-heading strong {
      font-size: 14px;
      font-weight: 850;
    }

    .whiteboard-history-queue-heading > span {
      color: #7f8da4;
      font-size: 12px;
    }

    .whiteboard-history-queue ol {
      display: flex;
      gap: 8px;
      overflow-x: auto;
      margin: 0;
      padding: 0 0 8px;
      list-style: none;
    }

    .whiteboard-history-queue li {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 220px;
      max-width: 360px;
      padding: 8px 10px;
      border: 1px solid #dce7df;
      border-radius: 10px;
      background: #fff;
      color: #51627d;
      font-size: 12px;
    }

    .whiteboard-history-queue li.active {
      border-color: #8fb6a0;
      background: #edf5ef;
      color: #2d664f;
    }

    .whiteboard-history-queue-order {
      display: grid;
      width: 22px;
      height: 22px;
      flex: 0 0 22px;
      place-items: center;
      border-radius: 7px;
      background: #eef2f7;
      color: #75839a;
      font-weight: 800;
    }

    .whiteboard-history-queue li.active .whiteboard-history-queue-order {
      background: #287456;
      color: #fff;
    }

    .whiteboard-history-queue li strong {
      flex: 0 0 auto;
      color: inherit;
      font-size: 12px;
    }

    .whiteboard-history-queue-summary {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .whiteboard-history-queue-current {
      flex: 0 0 auto;
      color: #287456;
      font-weight: 800;
    }

    .whiteboard-history-writing-surface {
      height: min(900px, 78vh);
      min-height: 520px;
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: 14px;
      box-shadow: 0 12px 34px rgba(28, 73, 57, .13);
    }

    .whiteboard-history-question {
      max-height: none;
    }

    .whiteboard-history-board {
      min-height: 0;
    }

    .whiteboard-history-footer .question-center-whiteboard-toolbar button:disabled,
    .whiteboard-history-footer .question-center-whiteboard-toolbar input:disabled {
      opacity: 1;
      cursor: default;
    }

    .whiteboard-history-panel:fullscreen {
      box-sizing: border-box;
      width: 100vw;
      height: 100vh;
      overflow: auto;
      border: 0;
      border-radius: 0;
      background: #f5f7fa;
    }

    .whiteboard-history-panel:fullscreen .whiteboard-history-writing-surface {
      height: calc(100vh - 260px);
      min-height: 420px;
    }

    .whiteboard-history-canvas {
      position: absolute;
      z-index: 2;
      inset: 0;
      width: 100%;
      height: 100%;
      min-height: 0;
      background: transparent;
      pointer-events: none;
    }

    @media (max-width: 720px) {
      .whiteboard-history-heading {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px;
      }

      .whiteboard-history-heading p {
        max-width: 88vw;
      }

      .whiteboard-history-heading-actions {
        width: 100%;
        justify-content: space-between;
      }

      .whiteboard-history-content {
        padding: 10px;
      }

      .whiteboard-history-queue {
        padding: 10px 10px 0;
      }

      .whiteboard-history-writing-surface {
        height: 72vh;
        min-height: 500px;
      }
    }

    @media (max-width: 720px) {
      .app {
        padding: 16px;
      }

      .token-stat-grid {
        grid-template-columns: 1fr;
      }

      .token-usage-groups {
        grid-template-columns: 1fr;
      }

      .quota-hero {
        align-items: flex-start;
        padding: 20px;
      }

      .quota-hero-value {
        align-self: start;
      }

      .token-stat-grid.today {
        grid-template-columns: 1fr;
      }

      .manual-meta-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .parse-material-compact-row {
        grid-template-columns: 1fr;
      }

      .parse-material-compact-actions {
        flex-wrap: wrap;
      }

      h1 {
        font-size: 27px;
      }

      .composer {
        padding: 12px;
        margin-bottom: 10px;
      }

      .composer-grid {
        gap: 10px;
      }

      .composer-tools {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }

      .composer-tools > div:first-child {
        grid-column: auto;
        display: grid;
        align-items: stretch;
        gap: 6px;
      }

      .composer-tools label {
        margin: 0;
      }

      .composer-tools .actions {
        gap: 7px;
      }

      textarea {
        min-height: 86px;
      }

      .insight-card {
        padding: 12px;
      }

      .voice-panel {
        padding: 12px;
      }

      .voice-controls .btn {
        flex: 1 1 auto;
        justify-content: center;
      }

      .result {
        font-size: 20px;
      }

      .mono {
        font-size: 14px;
      }

      canvas {
        min-height: 340px;
        height: 48vh;
      }

      .panel {
        padding: 18px;
      }
    }

    /* 试卷解析：左侧原卷页面，右侧按当前 PDF 页面展示解析题卡。 */
    .parse-source-preview-section {
      min-width: 0;
    }

    .parse-source-preview-section.drag-over {
      border-color: rgba(76, 111, 255, .72);
      box-shadow: 0 0 0 3px rgba(76, 111, 255, .12);
    }

    .parse-source-preview-head,
    .parse-page-card-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }

    .parse-source-preview-head-meta {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 8px;
    }

    .parse-source-range {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      color: #7f8ba0;
      font-size: 11px;
      font-weight: 800;
      white-space: nowrap;
    }

    .parse-source-range input {
      width: 48px;
      height: 28px;
      padding: 0 5px;
      border: 1px solid #dfe6f2;
      border-radius: 7px;
      background: #fff;
      color: #34415c;
      font: inherit;
      text-align: center;
    }

    .parse-source-range input:focus {
      border-color: #7c9df4;
      outline: none;
      box-shadow: 0 0 0 2px rgba(76, 111, 255, .12);
    }

    .parse-source-range .btn {
      min-height: 28px;
      padding: 0 7px;
      border-radius: 7px;
      font-size: 11px;
    }

    .parse-source-preview-head h3,
    .parse-page-card-head h3 {
      margin: 0;
      color: #34415c;
      font-size: 14px;
    }

    .parse-source-preview-head span,
    .parse-page-card-head span {
      color: #8b98ad;
      font-size: 11px;
      font-weight: 800;
    }

    .parse-source-preview {
      min-height: 160px;
      max-height: calc(100vh - 300px);
      overflow: auto;
      border: 1px solid #e1e8f3;
      border-radius: 11px;
      background: #f3f6fb;
      padding: 8px;
      scrollbar-width: thin;
    }

    .parse-source-page {
      display: grid;
      gap: 5px;
      width: 125%;
      min-width: 125%;
      margin: 0 0 10px;
      padding: 6px;
      box-sizing: border-box;
      border: 1px solid transparent;
      border-radius: 9px;
      background: #fff;
    }

    .parse-source-page:last-child {
      margin-bottom: 0;
    }

    .parse-source-page.is-current {
      border-color: rgba(76, 111, 255, .52);
      box-shadow: 0 0 0 2px rgba(76, 111, 255, .08);
    }

    .parse-source-page figcaption {
      color: #7f8ba0;
      font-size: 11px;
      font-weight: 800;
      text-align: center;
    }

    .parse-source-preview img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 6px;
      background: #fff;
      box-shadow: 0 4px 16px rgba(55, 73, 122, .12);
      cursor: zoom-in;
    }

    .parse-source-page-empty {
      min-height: 120px;
      display: grid;
      place-items: center;
      margin: 0 0 10px;
      border: 1px dashed #dbe3ef;
      border-radius: 9px;
      color: #8b98ad;
      font-size: 12px;
      font-weight: 750;
    }

    .parse-source-preview-empty {
      min-height: 140px;
      display: grid;
      place-items: center;
      color: #8b98ad;
      font-size: 12px;
      font-weight: 750;
      text-align: center;
    }

    .parse-source-crop-toolbar {
      position: sticky;
      top: 0;
      z-index: 3;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin: 0 0 10px;
      padding: 8px 10px;
      border: 1px solid #cbd9f4;
      border-radius: 9px;
      background: rgba(247, 250, 255, .96);
      color: #55709f;
      font-size: 12px;
      font-weight: 700;
    }

    .parse-source-crop-actions {
      display: inline-flex;
      gap: 6px;
    }

    .parse-source-crop-actions .btn {
      min-height: 28px;
      padding: 0 9px;
      font-size: 11px;
    }

    .parse-source-page.is-crop-target {
      position: relative;
      cursor: crosshair;
    }

    .parse-source-page.is-crop-target img[data-parse-source-crop-image] {
      cursor: crosshair;
      user-select: none;
    }

    .parse-source-crop-selection {
      position: absolute;
      z-index: 2;
      display: none;
      border: 2px solid #4c6fff;
      background: rgba(76, 111, 255, .16);
      box-shadow: 0 0 0 1px rgba(255, 255, 255, .8);
      pointer-events: none;
    }

    .parse-source-crop-selection.show {
      display: block;
    }

    .parse-page-card-board {
      display: grid;
      gap: 9px;
      min-width: 0;
      padding: 10px;
      border: 1px solid #e1e8f3;
      border-radius: 13px;
      background: linear-gradient(145deg, #fbfcff, #f7f8ff);
    }

    .parse-page-card-board.is-hidden {
      display: none !important;
    }

    .parse-page-cards {
      display: grid;
      gap: 10px;
      min-width: 0;
    }

    .parse-question-card {
      margin: 0;
      border: 1px solid #dfe6f2;
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 5px 16px rgba(55, 73, 122, .06);
      cursor: pointer;
      transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    }

    .parse-question-card:hover,
    .parse-question-card.is-current {
      border-color: rgba(76, 111, 255, .68);
      box-shadow: 0 8px 20px rgba(76, 111, 255, .12);
    }

    .parse-question-card:hover {
      transform: translateY(-1px);
    }

    #page-userManagement {
      min-width: 0;
    }

    #userManagementRoot {
      display: grid;
      gap: 14px;
      min-width: 0;
    }

    .management-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      width: fit-content;
      padding: 3px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .management-tab {
      min-width: 92px;
      min-height: 38px;
      padding: 7px 16px;
      border: 0;
      border-radius: 6px;
      background: transparent;
      color: #566176;
      cursor: pointer;
    }

    .management-tab.active {
      background: var(--blue-soft);
      color: #244ebf;
      font-weight: 700;
    }

    .management-panel {
      min-width: 0;
      border-top: 1px solid var(--line);
      background: var(--panel);
    }

    .management-panel[hidden],
    .management-check[hidden],
    .management-form-grid label[hidden] {
      display: none !important;
    }

    .management-toolbar {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 0 12px;
    }

    .management-filters {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      min-width: 0;
    }

    .management-filters input,
    .management-filters select,
    .management-form-grid input,
    .management-form-grid select,
    .management-field input {
      min-height: 40px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: var(--ink);
      font: inherit;
      outline: none;
    }

    .management-filters input,
    .management-filters select {
      min-width: 150px;
      padding: 8px 10px;
    }

    .management-filters input:focus,
    .management-filters select:focus,
    .management-form-grid input:focus,
    .management-form-grid select:focus,
    .management-field input:focus {
      border-color: rgba(65, 105, 225, .65);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .1);
    }

    .management-summary {
      padding: 0 0 10px;
      color: var(--muted);
      font-size: 14px;
    }

    .management-table-wrap {
      min-width: 0;
      overflow-x: auto;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .management-table {
      width: 100%;
      min-width: 1080px;
      border-collapse: collapse;
      table-layout: auto;
    }

    .management-table.management-knowledge-table {
      min-width: 760px;
    }

    .management-table th,
    .management-table td {
      padding: 12px 14px;
      border-bottom: 1px solid #ece9e2;
      text-align: left;
      vertical-align: middle;
      white-space: nowrap;
    }

    .management-table th {
      color: #667187;
      background: #faf9f6;
      font-size: 13px;
      font-weight: 700;
    }

    .management-table tbody tr:last-child td {
      border-bottom: 0;
    }

    .management-table tbody tr:hover {
      background: #fcfcfa;
    }

    .management-current {
      display: inline-block;
      margin-left: 8px;
      color: #3158bd;
      font-size: 12px;
      font-weight: 500;
    }

    .management-status {
      display: inline-block;
      padding: 3px 8px;
      border-radius: 6px;
      font-size: 13px;
      font-weight: 700;
    }

    .management-status.success {
      color: #267747;
      background: var(--green-soft);
    }

    .management-status.danger {
      color: #a23b35;
      background: #fbecea;
    }

    .management-status.muted {
      color: #687184;
      background: #f0f1f3;
    }

    .management-row-actions {
      display: flex;
      gap: 6px;
    }

    .btn.compact {
      min-height: 34px;
      padding: 5px 10px;
      font-size: 13px;
    }

    .btn.danger-outline {
      border-color: rgba(216, 74, 67, .45);
      color: #b33e38;
    }

    .management-empty {
      height: 96px;
      color: var(--muted);
      text-align: center !important;
    }

    .management-empty.error,
    .management-form-error {
      color: #b33e38;
    }

    .management-pagination {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
      padding-top: 12px;
      color: var(--muted);
      font-size: 14px;
    }

    .management-technical-document-panel {
      padding-top: 16px;
    }

    .management-technical-document-list-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 14px;
      padding: 16px 18px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: #fff;
    }

    .management-technical-document-list-toolbar > div {
      display: grid;
      gap: 4px;
    }

    .management-technical-document-list-toolbar strong {
      color: var(--ink);
      font-size: 20px;
    }

    .management-technical-document-list-toolbar span {
      color: var(--muted);
      font-size: 13px;
    }

    .management-technical-document-list-toolbar b {
      color: #365dcc;
    }

    .management-technical-document-list-view[hidden],
    .management-technical-document-detail-view[hidden] {
      display: none !important;
    }

    .management-technical-document-cards {
      gap: 12px;
    }

    .management-technical-document-card .paper-library-main {
      grid-template-rows: auto auto auto auto;
    }

    .management-technical-document-card .paper-library-actions {
      grid-row: 1 / span 4;
      min-width: 180px;
    }

    .management-technical-document-card:disabled {
      cursor: not-allowed;
      opacity: .68;
    }

    .management-technical-document-workspace {
      min-width: 0;
    }

    .management-technical-document-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 12px;
      padding: 14px 16px;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: #fff;
    }

    .management-technical-document-heading {
      display: grid;
      flex: 1 1 360px;
      gap: 3px;
    }

    .management-technical-document-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px;
    }

    .management-technical-document-toolbar strong {
      color: var(--ink);
      font-size: 17px;
    }

    .management-technical-document-toolbar span {
      color: var(--muted);
      font-size: 13px;
    }

    .management-technical-document {
      max-width: 1180px;
      min-height: 360px;
      margin: 0 auto;
      padding: clamp(22px, 4vw, 54px);
      border: 1px solid var(--line);
      border-radius: 12px;
      background: #fff;
      color: #28334d;
      box-shadow: 0 10px 30px rgba(55, 73, 122, .06);
      font-size: 15px;
      line-height: 1.78;
      overflow-wrap: anywhere;
    }

    .management-technical-document h1,
    .management-technical-document h2,
    .management-technical-document h3,
    .management-technical-document h4 {
      color: #182441;
      line-height: 1.35;
      scroll-margin-top: 24px;
    }

    .management-technical-document h1 {
      margin: 0 0 28px;
      padding-bottom: 16px;
      border-bottom: 2px solid #e7ebf5;
      font-size: clamp(28px, 4vw, 38px);
    }

    .management-technical-document h2 {
      margin: 44px 0 18px;
      padding-bottom: 9px;
      border-bottom: 1px solid #e8ecf5;
      font-size: 24px;
    }

    .management-technical-document h3 {
      margin: 30px 0 12px;
      font-size: 19px;
    }

    .management-technical-document h4 {
      margin: 24px 0 10px;
      font-size: 16px;
    }

    .management-technical-document p,
    .management-technical-document ul,
    .management-technical-document ol {
      margin: 10px 0 16px;
    }

    .management-technical-document li + li {
      margin-top: 5px;
    }

    .management-technical-document a {
      color: #315cc9;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;
    }

    .management-technical-document code {
      padding: 2px 6px;
      border-radius: 5px;
      background: #f0f3fa;
      color: #9a3f54;
      font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
      font-size: .9em;
    }

    .management-document-code {
      margin: 18px 0;
      border: 1px solid #dde4f1;
      border-radius: 9px;
      background: #172037;
      overflow: hidden;
    }

    .management-document-code > span {
      display: block;
      padding: 7px 12px;
      border-bottom: 1px solid rgba(255, 255, 255, .08);
      color: #aebbd4;
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .management-document-code pre {
      max-width: 100%;
      margin: 0;
      padding: 16px;
      overflow: auto;
      color: #e9eefb;
      line-height: 1.55;
      tab-size: 2;
    }

    .management-document-code code {
      padding: 0;
      background: transparent;
      color: inherit;
      font-size: 13px;
      white-space: pre;
    }

    .management-technical-document blockquote {
      margin: 16px 0;
      padding: 10px 18px;
      border-left: 4px solid #7088df;
      background: #f5f7ff;
      color: #59657d;
    }

    .management-technical-document blockquote p {
      margin: 4px 0;
    }

    .management-document-table-wrap {
      margin: 18px 0;
      overflow-x: auto;
      border: 1px solid #dde4f1;
      border-radius: 8px;
    }

    .management-document-table-wrap table {
      width: 100%;
      min-width: 620px;
      border-collapse: collapse;
    }

    .management-document-table-wrap th,
    .management-document-table-wrap td {
      padding: 10px 12px;
      border-right: 1px solid #e7ebf3;
      border-bottom: 1px solid #e7ebf3;
      text-align: left;
      vertical-align: top;
    }

    .management-document-table-wrap th {
      background: #f5f7fb;
      color: #44506a;
      font-size: 13px;
      white-space: nowrap;
    }

    .management-document-table-wrap tr:last-child td {
      border-bottom: 0;
    }

    .management-document-table-wrap th:last-child,
    .management-document-table-wrap td:last-child {
      border-right: 0;
    }

    .management-document-task {
      display: flex;
      align-items: flex-start;
      gap: 7px;
      list-style: none;
    }

    .management-document-task input {
      margin-top: 6px;
    }

    .management-document-status {
      display: grid;
      min-height: 260px;
      place-items: center;
      color: var(--muted);
      text-align: center;
    }

    .management-document-status.error {
      color: #b33e38;
    }

    .management-technical-document-editor {
      display: grid;
      gap: 9px;
      min-height: 520px;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 10px 30px rgba(55, 73, 122, .06);
    }

    .management-technical-document-editor[hidden],
    .management-technical-document[hidden],
    .management-technical-document-actions [hidden] {
      display: none !important;
    }

    .management-technical-document-editor label {
      color: #44506a;
      font-size: 14px;
      font-weight: 800;
    }

    .management-technical-document-editor textarea {
      width: 100%;
      min-height: min(68vh, 760px);
      resize: vertical;
      padding: 16px;
      border: 1px solid #d9e0ee;
      border-radius: 8px;
      background: #fbfcff;
      color: #24304a;
      font: 14px/1.65 "SFMono-Regular", Consolas, "Liberation Mono", monospace;
      outline: none;
      tab-size: 2;
    }

    .management-technical-document-editor textarea:focus {
      border-color: rgba(65, 105, 225, .7);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .1);
    }

    .management-technical-document-editor-foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      color: var(--muted);
      font-size: 13px;
    }

    .management-technical-document-editor-foot .error {
      color: #b33e38;
    }

    .management-dialog {
      width: min(620px, calc(100vw - 32px));
      max-height: calc(100vh - 40px);
      padding: 0;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel);
      color: var(--ink);
      box-shadow: var(--shadow);
    }

    .management-dialog::backdrop {
      background: rgba(23, 33, 59, .38);
    }

    .required-password-dialog {
      width: min(500px, calc(100vw - 32px));
    }

    .management-dialog form {
      display: grid;
      gap: 16px;
      padding: 20px;
    }

    .management-dialog-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--line);
    }

    .management-dialog-head h2 {
      margin: 0;
      font-size: 20px;
    }

    .management-dialog-close {
      width: 34px;
      height: 34px;
      padding: 0;
      border: 0;
      background: transparent;
      color: #697388;
      cursor: pointer;
      font-size: 24px;
      line-height: 1;
    }

    .management-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .management-form-grid.single-column {
      grid-template-columns: 1fr;
    }

    .management-form-grid label,
    .management-field {
      display: grid;
      gap: 7px;
      color: #5f6a80;
      font-size: 14px;
      font-weight: 700;
    }

    .management-form-grid input,
    .management-form-grid select,
    .management-field input {
      width: 100%;
      padding: 9px 11px;
    }

    .management-field-hint {
      color: #8a94a8;
      font-size: 12px;
      font-weight: 500;
    }

    .management-expiry-actions {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 7px;
      margin-top: 12px;
      color: #697388;
      font-size: 13px;
      font-weight: 700;
    }

    .management-check {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #525d72;
      font-size: 14px;
    }

    .management-check input {
      width: 17px;
      height: 17px;
    }

    .management-dialog-copy {
      margin: 0;
      color: #59647a;
    }

    .management-form-error {
      min-height: 20px;
      font-size: 14px;
    }

    .management-dialog-actions {
      display: flex;
      justify-content: flex-end;
      gap: 8px;
      padding-top: 4px;
    }

    @media (max-width: 820px) {
      .management-toolbar {
        align-items: stretch;
        flex-direction: column;
      }

      .management-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .management-filters input,
      .management-filters select {
        width: 100%;
        min-width: 0;
      }

      .management-form-grid {
        grid-template-columns: 1fr;
      }

      .management-technical-document-toolbar {
        align-items: stretch;
        flex-direction: column;
      }

      .management-technical-document-list-toolbar {
        align-items: stretch;
        flex-direction: column;
      }

      .management-technical-document-actions {
        justify-content: flex-start;
      }

      .management-technical-document-card .paper-library-actions {
        min-width: 0;
      }

      .management-technical-document {
        padding: 20px 16px;
      }

      .management-technical-document-editor {
        min-height: 420px;
        padding: 12px;
      }

      .management-technical-document-editor-foot {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
      }
    }

    /* First visual refresh: a lighter, more focused teaching workspace. */
    :root {
      --paper: #f4f7ff;
      --panel: rgba(255, 255, 255, .9);
      --ink: #202a44;
      --muted: #74809a;
      --line: #e3e9f5;
      --blue: #4c6fff;
      --blue-soft: #eef2ff;
      --green: #50b985;
      --green-soft: #edfbf4;
      --red: #dd5a65;
      --amber: #f1a23d;
      --amber-soft: #fff6e5;
      --orange: #ff8a45;
      --orange-dark: #f56d36;
      --violet: #8a71f6;
      --cyan: #4dbed3;
      --surface-glass: rgba(255, 255, 255, .78);
      --shadow: 0 16px 44px rgba(55, 73, 122, .09);
      --shadow-sm: 0 7px 22px rgba(55, 73, 122, .07);
      --shadow-md: 0 18px 48px rgba(55, 73, 122, .12);
      --radius: 15px;
      --nav-width: 172px;
    }

    body {
      background:
        radial-gradient(circle at 7% 4%, rgba(188, 219, 255, .58), transparent 28%),
        radial-gradient(circle at 92% 8%, rgba(227, 209, 255, .52), transparent 25%),
        radial-gradient(circle at 82% 86%, rgba(255, 224, 197, .44), transparent 26%),
        linear-gradient(145deg, #f8fbff 0%, #f5f6ff 48%, #fff9f6 100%);
      background-attachment: fixed;
    }

    button,
    textarea,
    input,
    select {
      font-family: "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
    }

    .shell {
      max-width: 1780px;
      gap: 18px;
    }

    .app {
      padding: 24px 28px 34px 10px;
    }

    .side-nav {
      top: 16px;
      min-height: calc(100vh - 32px);
      margin: 16px 0 16px 16px;
      padding: 12px 10px;
      border: 1px solid rgba(224, 231, 245, .92);
      border-radius: 20px;
      background: rgba(255, 255, 255, .76);
      box-shadow: 0 18px 54px rgba(68, 82, 128, .1);
      backdrop-filter: blur(22px) saturate(135%);
      -webkit-backdrop-filter: blur(22px) saturate(135%);
      gap: 8px;
    }

    .nav-head {
      padding: 0 4px 8px;
      border-color: rgba(220, 227, 241, .8);
    }

    .brand-mark,
    .shell.nav-collapsed .brand-mark {
      padding: 3px 6px 0;
      font-family: "Inter", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
      font-size: 19px;
      font-weight: 950;
      letter-spacing: -.04em;
      color: #263454;
    }

    .brand-mark::after {
      content: "";
      display: inline-block;
      width: 7px;
      height: 7px;
      margin-left: 6px;
      border-radius: 3px;
      background: linear-gradient(135deg, var(--orange), #ffbb68);
      box-shadow: 0 4px 10px rgba(255, 138, 69, .3);
      vertical-align: 2px;
    }

    .nav-list {
      gap: 2px;
    }

    @media (min-width: 1061px) {
      .side-nav {
        height: calc(100vh - 32px);
        min-height: 0;
        grid-template-rows: auto minmax(0, 1fr);
        align-content: stretch;
      }

      .nav-list {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-right: 2px;
        scrollbar-width: thin;
        scrollbar-color: rgba(116, 128, 154, .38) transparent;
      }
    }

    .nav-item {
      position: relative;
      min-height: 38px;
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 0 10px;
      border-radius: 10px;
      color: #56627a;
      font-size: 15px;
      font-weight: 850;
      transition: color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
    }

    .nav-item::before {
      content: none;
    }

    .nav-icon {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.9;
      stroke-linecap: round;
      stroke-linejoin: round;
      opacity: .72;
      transition: opacity .18s ease, transform .18s ease;
    }

    .nav-item:hover:not(.active) {
      color: var(--blue);
      background: rgba(238, 242, 255, .82);
      transform: translateX(2px);
    }

    .nav-item:hover:not(.active) .nav-icon {
      opacity: 1;
      transform: scale(1.08);
    }

    .nav-item.active {
      background: linear-gradient(135deg, #5579ff 0%, #4566ea 100%);
      color: #fff;
      box-shadow: 0 11px 24px rgba(76, 111, 255, .25);
    }

    .nav-item.active .nav-icon {
      opacity: 1;
    }

    .nav-item:focus-visible {
      outline: 3px solid rgba(76, 111, 255, .22);
      outline-offset: 2px;
    }

    .nav-toggle {
      right: -18px;
      width: 36px;
      height: 36px;
      border-color: #dfe6f3;
      color: #687693;
      box-shadow: 0 10px 28px rgba(55, 73, 122, .16);
    }

    .nav-resizer {
      left: calc(var(--nav-width) + 9px);
    }

    .nav-resizer::before {
      background: rgba(151, 164, 190, .22);
    }

    .hero {
      min-height: 72px;
      margin-bottom: 18px;
      padding: 3px 2px 0;
      align-items: center;
    }

    .app:not(.page-hero-visible) {
      padding-top: 10px;
    }

    .app:not(.page-hero-visible) > .hero {
      display: none;
    }

    h1,
    .page-panel h2,
    .page-panel h3,
    .parse-title h2 {
      font-family: "Inter", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
      letter-spacing: -.025em;
    }

    h1 {
      margin-bottom: 7px;
      color: #263454;
      font-size: clamp(24px, 2vw, 31px);
      font-weight: 950;
    }

    .subtitle {
      color: #7a879f;
      font-size: 14px;
      font-weight: 650;
    }

    .auth-user {
      min-height: 38px;
      padding: 0 5px 0 12px;
      border: 1px solid rgba(224, 231, 244, .86);
      border-radius: 999px;
      background: rgba(255, 255, 255, .72);
      box-shadow: var(--shadow-sm);
    }

    .auth-link {
      min-height: 29px;
      padding: 0 9px;
      border-radius: 999px;
    }

    .auth-link:hover {
      background: var(--blue-soft);
    }

    .page-grid {
      gap: 18px;
    }

    .page-panel {
      padding: 22px;
      border-color: rgba(224, 231, 244, .9);
      border-radius: 18px;
      background: rgba(255, 255, 255, .84);
      box-shadow: var(--shadow);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }

    .page-panel h2,
    .page-panel h3 {
      color: #2b3857;
      font-weight: 900;
    }

    input,
    select,
    textarea {
      accent-color: var(--blue);
    }

    .single-question-filters,
    .manual-meta-panel {
      padding: 15px;
      border-color: #e4eaf6;
      border-radius: 14px;
      background: linear-gradient(135deg, rgba(244, 248, 255, .95), rgba(250, 247, 255, .88));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
      gap: 12px;
      margin-bottom: 17px;
    }

    .single-question-filters label,
    .manual-meta-field label,
    .parse-side-field label {
      color: #71809b;
      font-weight: 800;
    }

    .single-question-filters input,
    .single-question-filters select,
    .manual-meta-field input,
    .manual-meta-field select,
    .parse-meta input,
    .parse-meta select,
    .parse-side-field input {
      min-height: 42px;
      border-color: #dfe6f2;
      border-radius: 10px;
      background: rgba(255, 255, 255, .94);
      box-shadow: 0 3px 10px rgba(63, 78, 118, .035);
      transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
    }

    .single-question-filters input:focus,
    .single-question-filters select:focus,
    .manual-meta-field input:focus,
    .manual-meta-field select:focus,
    .parse-meta input:focus,
    .parse-meta select:focus,
    .parse-side-field input:focus,
    .paper-answer-input:focus,
    .parse-textarea:focus {
      border-color: rgba(76, 111, 255, .66);
      background: #fff;
      box-shadow: 0 0 0 4px rgba(76, 111, 255, .11);
      outline: none;
    }

    .btn {
      height: 40px;
      min-height: 40px;
      padding: 0 15px;
      border-color: #dfe6f2;
      border-radius: 10px;
      background: rgba(255, 255, 255, .94);
      color: #44516d;
      font-size: 13px;
      font-weight: 800;
      box-shadow: 0 4px 12px rgba(55, 73, 122, .045);
    }

    .btn:hover:not(:disabled) {
      border-color: rgba(76, 111, 255, .42);
      background: #fff;
      color: var(--blue);
      box-shadow: 0 9px 22px rgba(55, 73, 122, .12);
      transform: translateY(-2px);
    }

    .btn.primary,
    #parseSaveBtn,
    #parseCurrentSaveBtn {
      border-color: transparent;
      background: linear-gradient(135deg, #5579ff, #4566e9);
      color: #fff;
      box-shadow: 0 9px 20px rgba(76, 111, 255, .22);
    }

    #parseAnalyzeBtn,
    #parseCurrentAiSolveBtn,
    #manualAiSolveBtn {
      border-color: transparent;
      background: linear-gradient(135deg, #ff9b52, var(--orange-dark));
      color: #fff;
      box-shadow: 0 9px 20px rgba(245, 109, 54, .22);
    }

    .btn.primary:hover:not(:disabled),
    #parseSaveBtn:hover:not(:disabled),
    #parseCurrentSaveBtn:hover:not(:disabled),
    #parseAnalyzeBtn:hover:not(:disabled),
    #parseCurrentAiSolveBtn:hover:not(:disabled),
    #manualAiSolveBtn:hover:not(:disabled) {
      border-color: transparent;
      color: #fff;
      filter: saturate(1.06);
    }

    .btn.primary:hover:not(:disabled),
    #parseSaveBtn:hover:not(:disabled),
    #parseCurrentSaveBtn:hover:not(:disabled) {
      background: linear-gradient(135deg, #6384ff, #3859dc);
      color: #fff;
    }

    #parseAnalyzeBtn:hover:not(:disabled),
    #parseCurrentAiSolveBtn:hover:not(:disabled),
    #manualAiSolveBtn:hover:not(:disabled) {
      background: linear-gradient(135deg, #ffa55f, #ea5f2d);
      color: #fff;
    }

    .btn.danger {
      border-color: rgba(221, 90, 101, .24);
      background: #fff8f8;
      color: #bd4f5a;
      box-shadow: none;
    }

    .history-empty {
      min-height: 116px;
      padding: 28px;
      border: 1px dashed #d9e2f2;
      border-radius: 14px;
      background: linear-gradient(135deg, rgba(244, 248, 255, .82), rgba(255, 249, 244, .72));
      color: #8390a7;
      display: grid;
      place-items: center;
      text-align: center;
      line-height: 1.75;
    }

    /* Paper library */
    #page-paper .page-panel {
      padding: 20px;
    }

    .library-subject-tabs {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      padding: 0 8px;
      border-bottom: 1px solid #e3e9f4;
      overflow-x: auto;
      scrollbar-width: thin;
    }

    .library-subject-tab {
      position: relative;
      flex: 0 0 auto;
      min-width: 82px;
      min-height: 46px;
      padding: 0 20px;
      border: 0;
      border-radius: 11px 11px 0 0;
      background: transparent;
      color: #6c7890;
      font: inherit;
      font-size: 15px;
      font-weight: 800;
      cursor: pointer;
      transition: color .18s ease, background .18s ease, transform .18s ease;
    }

    .library-subject-tab::after {
      content: "";
      position: absolute;
      left: 20px;
      right: 20px;
      bottom: -1px;
      height: 3px;
      border-radius: 999px 999px 0 0;
      background: linear-gradient(90deg, #6985ff, #4363ef);
      opacity: 0;
      transform: scaleX(.4);
      transition: opacity .18s ease, transform .18s ease;
    }

    .library-subject-tab:hover {
      background: linear-gradient(180deg, rgba(86, 116, 246, .08), rgba(86, 116, 246, .025));
      color: #44577f;
    }

    .library-subject-tab.active {
      background: linear-gradient(180deg, rgba(76, 111, 255, .13), rgba(76, 111, 255, .035));
      color: #4565ec;
      text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
    }

    .library-subject-tab.active::after {
      opacity: 1;
      transform: scaleX(1);
    }

    .library-subject-tab.active:hover {
      color: #3859e2;
    }

    .library-subject-tab:focus-visible {
      outline: 3px solid rgba(76, 111, 255, .2);
      outline-offset: 2px;
    }

    /* 题库中心：按参考题库网站还原顶部筛选、左侧目录、中间题目卡片和右侧快捷操作。 */
    .question-center-page {
      width: 100%;
      min-width: 0;
      margin-top: 0;
    }

    .question-center-topbar {
      min-height: 54px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 6px 8px;
      border: 1px solid #e2e7f0;
      border-radius: 12px;
      background: rgba(255, 255, 255, .9);
      box-shadow: 0 5px 18px rgba(55, 73, 122, .06);
    }

    .question-center-tabs {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 5px;
      overflow-x: auto;
      scrollbar-width: thin;
      scrollbar-color: #b9c5d8 transparent;
    }

    .question-center-tab,
    .question-center-pager button {
      flex: 0 0 auto;
      min-height: 36px;
      padding: 0 13px;
      border: 1px solid #dfe5ef;
      border-radius: 9px;
      background: #fff;
      color: #3f4d68;
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease;
    }

    .question-center-year-filter {
      flex: 0 0 auto;
      min-height: 36px;
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 0;
      border: 0;
      background: transparent;
      color: #3f4d68;
      font-size: 13px;
      font-weight: 800;
    }

    .question-center-year-filter input {
      width: 76px;
      height: 36px;
      box-sizing: border-box;
      min-width: 0;
      padding: 5px 5px;
      border: 1px solid #dfe5ef;
      border-radius: 7px;
      background: #f8faff;
      color: #3f4d68;
      font: inherit;
      font-size: 13px;
      font-weight: 700;
    }

    .question-center-year-filter input:focus {
      outline: 2px solid rgba(91, 131, 207, .24);
      border-color: #8da9da;
    }

    .question-center-select-filter {
      flex: 0 0 auto;
      width: 76px;
      box-sizing: border-box;
      min-height: 36px;
      display: inline-flex;
      align-items: center;
      padding: 0 4px;
      border: 1px solid #dfe5ef;
      border-radius: 9px;
      background: #fff;
      color: #3f4d68;
      font-size: 13px;
      font-weight: 800;
      white-space: nowrap;
    }

    .question-center-select-filter select {
      width: 100%;
      max-width: none;
      min-width: 0;
      height: 28px;
      box-sizing: border-box;
      padding: 0 17px 0 4px;
      border: 0;
      border-radius: 6px;
      background: #f8faff;
      color: #3f4d68;
      font: inherit;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
    }

    .question-center-topic-filter {
      padding: 0 4px;
    }

    .question-center-topic-filter select {
      width: 100%;
      max-width: none;
      min-width: 0;
      padding-right: 17px;
      padding-left: 4px;
    }

    .question-center-top-search-group {
      flex: 0 0 310px;
      min-width: 230px;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .question-center-top-search {
      flex: 1 1 auto;
      width: 100%;
      min-width: 0;
      height: 36px;
      padding: 0 11px;
      border: 1px solid #e1e5eb;
      border-radius: 8px;
      background: #fff;
      color: #33405b;
      font: inherit;
      font-size: 13px;
      outline: none;
    }

    .question-center-search-button {
      flex: 0 0 auto;
      min-height: 36px;
      padding: 0 14px;
      border: 1px solid #4a7fe2;
      border-radius: 8px;
      background: #4a7fe2;
      color: #fff;
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      transition: background .16s ease, transform .16s ease;
    }

    .question-center-search-button:hover {
      background: #3e70cf;
      transform: translateY(-1px);
    }

    .question-center-top-search:focus {
      border-color: #7db4d6;
      box-shadow: 0 0 0 3px rgba(38, 173, 185, .12);
    }

    .question-center-tab:hover,
    .question-center-pager button:hover:not(:disabled) {
      border-color: #b7c8e5;
      color: #2f60a2;
      transform: translateY(-1px);
    }

    .question-center-tab.active {
      border-radius: 999px;
      border-color: #dae3f0;
      background: linear-gradient(180deg, #fff, #eef3fb);
      color: #233b62;
      box-shadow: inset 0 -2px 0 #6e97cf;
    }

    .question-center-tab.reset {
      background: #eef0f3;
      color: #788399;
    }

    .question-center-pager {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      gap: 6px;
      color: #56647c;
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    .question-center-pager button {
      min-height: 35px;
      padding: 0 11px;
      border: 0;
      background: #f0f2f6;
      color: #738098;
    }

    .question-center-pager button:disabled {
      cursor: not-allowed;
      opacity: .48;
    }

    .question-center-page-count,
    .question-center-item-count {
      min-height: 35px;
      display: inline-flex;
      align-items: center;
      padding: 0 10px;
      border-radius: 9px;
      background: #f1f3f6;
    }

    .question-center-layout {
      min-height: 680px;
      display: grid;
      grid-template-columns: 250px minmax(0, 1fr) 108px;
      gap: 12px;
      margin-top: 12px;
    }

    .question-center-sidebar,
    .question-center-results,
    .question-center-actions {
      min-width: 0;
      border: 1px solid #e2e7ef;
      border-radius: 12px;
      background: rgba(255, 255, 255, .86);
      box-shadow: 0 7px 20px rgba(55, 73, 122, .055);
    }

    .question-center-sidebar {
      position: sticky;
      top: 16px;
      align-self: start;
      max-height: calc(100vh - 32px);
      display: flex;
      flex-direction: column;
      gap: 9px;
      padding: 12px;
      overflow-y: auto;
      overscroll-behavior: contain;
      background: #f3f4f6;
    }

    .question-center-sidebar-head {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .question-center-sidebar-head select {
      min-width: 0;
      flex: 1;
      height: 36px;
      padding: 0 10px;
      border: 0;
      border-radius: 8px;
      background: linear-gradient(135deg, #f6a43a 0%, #ee8d22 100%);
      color: #fff;
      font: inherit;
      font-size: 14px;
      font-weight: 850;
      outline: none;
      box-shadow: 0 5px 12px rgba(221, 126, 25, .18);
    }

    .question-center-directory-btn {
      height: 36px;
      padding: 0 10px;
      border: 0;
      border-radius: 8px;
      background: #fff;
      color: #42516d;
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      white-space: nowrap;
    }

    .question-center-directory-search {
      width: 100%;
      height: 36px;
      padding: 0 11px;
      border: 1px solid #e1e5eb;
      border-radius: 8px;
      background: #fff;
      color: #33405b;
      font: inherit;
      font-size: 13px;
      outline: none;
    }

    .question-center-directory-search:focus {
      border-color: #7db4d6;
      box-shadow: 0 0 0 3px rgba(38, 173, 185, .12);
    }

    .question-center-tree {
      min-height: 0;
      flex: 1;
      overflow-y: auto;
      padding: 2px 0;
      scrollbar-width: thin;
    }

    .question-center-tree-empty {
      padding: 14px 12px;
      color: #8a95a8;
      font-size: 12px;
      line-height: 1.6;
    }

    .question-center-directory-modal {
      position: fixed;
      inset: 0;
      z-index: 80;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
      background: rgba(15, 23, 42, .34);
    }

    .question-center-directory-dialog {
      width: min(1120px, 96vw);
      height: min(760px, 92vh);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 24px 80px rgba(15, 23, 42, .28);
    }

    .question-center-directory-dialog-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 20px;
      border-bottom: 1px solid #e5e7eb;
    }

    .question-center-directory-dialog-head h2,
    .question-center-directory-dialog-main h3 { margin: 0; color: #1e293b; }
    .question-center-directory-dialog-head h2 { font-size: 24px; }
    .question-center-directory-dialog-head small { color: #71829d; font-size: 15px; }
    .question-center-directory-dialog-head button,
    .qdm-section-head button,
    .qdm-edit-row button,
    .qdm-child-row button { min-height: 34px; margin-left: 8px; padding: 0 14px; border: 0; border-radius: 8px; background: #3b97ed; color: #fff; font: inherit; cursor: pointer; }
    .question-center-directory-dialog-head button.muted,
    .qdm-section-head button.muted { background: #e5e7eb; color: #334155; }
    .qdm-add-child-row { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; padding: 10px; border: 1px solid #bfdbfe; border-radius: 8px; background: #f8fbff; }
    .qdm-add-child-row .qdm-edit-row { flex: 1; min-width: 0; }
    .qdm-add-child-row > button.muted { min-height: 34px; margin-left: 0; padding: 0 14px; border: 0; border-radius: 8px; background: #e5e7eb; color: #334155; font: inherit; cursor: pointer; }
    .qdm-section-head button.danger,
    .question-center-directory-dialog-head button.danger { background: #f35b62; }
    .question-center-directory-dialog-body { min-height: 0; flex: 1; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 18px; padding: 18px; background: #f8fafc; }
    .question-center-directory-dialog-tree { min-height: 0; overflow: auto; padding: 12px 10px; border-radius: 10px; background: #f1f3f5; }
    .question-center-directory-dialog-tree button { display: block; width: 100%; min-height: 44px; border: 0; border-radius: 8px; background: #fff; color: #334155; text-align: left; font: inherit; cursor: pointer; }
    .question-center-directory-dialog-tree button + button { margin-top: 8px; }
    .question-center-directory-dialog-tree button.active { background: #3294eb; color: #fff; }
    .question-center-directory-dialog-tree button span { display: inline-block; width: 20px; }
    .question-center-directory-dialog-main { min-width: 0; overflow: auto; }
    .question-center-directory-dialog-main section { margin-bottom: 16px; padding: 16px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
    .question-center-directory-add-root { border-color: #bfdbfe !important; background: #f8fbff !important; }
    .qdm-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
    .qdm-edit-row, .qdm-child-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
    .qdm-edit-row select, .qdm-edit-row input, .qdm-color-control select, .qdm-child-row select, .qdm-child-row input { width: 100%; min-height: 42px; box-sizing: border-box; padding: 0 12px; border: 1px solid #dbe3ed; border-radius: 8px; background: #fff; color: #334155; font: inherit; }
    .qdm-color-control { display: flex; align-items: center; gap: 8px; min-width: 0; }
    .qdm-color-control select { flex: 1; min-width: 0; }
    .qdm-color-swatch { width: 18px; height: 18px; flex: 0 0 18px; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #cbd5e1, 0 2px 5px rgba(51, 65, 85, .16); }
    .qdm-child-row + .qdm-child-row { margin-top: 8px; }
    .question-center-directory-batch textarea { width: 100%; min-height: 150px; box-sizing: border-box; resize: vertical; padding: 12px; border: 1px solid #dbe3ed; border-radius: 8px; color: #334155; font: inherit; line-height: 1.6; }
    @media (max-width: 760px) {
      .question-center-directory-dialog-body { grid-template-columns: 1fr; }
      .question-center-directory-dialog-tree { max-height: 180px; }
      .question-center-directory-dialog-head { align-items: flex-start; flex-direction: column; }
      .qdm-add-child-row { align-items: stretch; flex-direction: column; }
    }

    .question-center-tree-item {
      width: 100%;
      min-height: 39px;
      display: grid;
      grid-template-columns: 7px minmax(0, 1fr) auto;
      align-items: center;
      gap: 8px;
      padding: 0 10px;
      border: 0;
      border-radius: 7px;
      background: transparent;
      color: #45516a;
      text-align: left;
      font: inherit;
      font-size: 13px;
      cursor: pointer;
    }

    .question-center-tree-item:hover,
    .question-center-tree-item.active {
      background: #fff;
      color: #245f90;
    }

    .question-center-tree-item.is-drop-target {
      background: #e8f3ff;
      color: #175f9c;
      box-shadow: inset 0 0 0 2px #6aaef0;
    }

    .question-center-tree-item b {
      color: #8792a5;
      font-size: 12px;
    }

    .question-center-tree-depth-1 { padding-left: 24px; }
    .question-center-tree-depth-2 { padding-left: 38px; }
    .question-center-tree-depth-3 { padding-left: 52px; }
    .question-center-tree-depth-4 { padding-left: 66px; }
    .question-center-tree-depth-5 { padding-left: 80px; }

    .question-center-tree-marker {
      width: 4px;
      height: 20px;
      border-radius: 4px;
      background: var(--question-directory-color, #3b82f6);
      opacity: .9;
    }

    .question-center-card-drag-handle {
      flex: 0 0 auto;
      padding: 2px 4px;
      color: #9aa7ba;
      font-weight: 900;
      letter-spacing: -3px;
      cursor: grab;
      user-select: none;
    }
    .question-center-card-drag-handle:active { cursor: grabbing; }
    .question-center-card.is-dragging { opacity: .55; }

    .question-center-directory-picker-modal {
      position: fixed;
      inset: 0;
      z-index: 86;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
    }

    .question-center-directory-picker-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(15, 23, 42, .34);
      backdrop-filter: blur(2px);
    }

    .question-center-directory-picker {
      position: relative;
      width: min(560px, 94vw);
      max-height: min(720px, 90vh);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 14px;
      background: #fff;
      box-shadow: 0 24px 80px rgba(15, 23, 42, .26);
    }

    .question-center-directory-picker > header {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 16px;
      padding: 18px 20px 14px;
      border-bottom: 1px solid #e8edf4;
    }

    .question-center-directory-picker h2 { margin: 0; color: #1f2d45; font-size: 21px; }
    .question-center-directory-picker p { margin: 6px 0 0; color: #77859d; font-size: 13px; }
    .question-center-directory-picker > header > button {
      width: 36px;
      height: 36px;
      border: 0;
      border-radius: 50%;
      background: #f2f5f9;
      color: #53627a;
      font: inherit;
      font-size: 25px;
      cursor: pointer;
    }

    .question-center-directory-picker-tree {
      min-height: 160px;
      overflow-y: auto;
      padding: 12px 16px;
      background: #f7f9fc;
    }

    .question-center-directory-picker-tree label {
      min-height: 44px;
      display: grid;
      grid-template-columns: auto 5px minmax(0, 1fr);
      align-items: center;
      gap: 10px;
      margin-left: calc(var(--question-directory-depth, 0) * 20px);
      padding: 0 12px;
      border-radius: 9px;
      color: #374760;
      cursor: pointer;
    }

    .question-center-directory-picker-tree label:hover { background: #fff; }
    .question-center-directory-picker-tree input { width: 18px; height: 18px; accent-color: #4f8ee8; }
    .question-center-directory-picker-marker { width: 5px; height: 24px; border-radius: 5px; background: var(--question-directory-color, #3b82f6); }

    .question-center-directory-picker > footer {
      display: grid;
      grid-template-columns: auto 1fr auto auto;
      gap: 10px;
      padding: 14px 18px;
      border-top: 1px solid #e8edf4;
      background: #fff;
    }

    .question-center-directory-picker > footer button {
      min-height: 38px;
      padding: 0 16px;
      border: 0;
      border-radius: 8px;
      background: #5594e5;
      color: #fff;
      font: inherit;
      font-weight: 750;
      cursor: pointer;
    }

    .question-center-directory-picker > footer button.muted { background: #edf1f6; color: #53627a; }
    .question-center-directory-picker > footer button.danger-outline { border: 1px solid #f3b7bb; background: #fff; color: #d85660; }
    .question-center-directory-picker > footer button:disabled { cursor: not-allowed; opacity: .45; }

    .question-center-results {
      display: flex;
      flex-direction: column;
      padding: 10px;
      background: #f5f6f7;
    }

    .question-center-cards {
      min-height: 0;
      display: grid;
      gap: 10px;
      overflow-y: auto;
      padding: 2px;
      scrollbar-width: thin;
    }

    .question-center-bottom-pager {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      gap: 8px;
      padding: 10px 2px 2px;
      color: #687791;
      font-size: 12px;
      font-weight: 800;
    }

    .question-center-bottom-pager button {
      min-height: 34px;
      padding: 0 13px;
      border: 1px solid #dfe5ef;
      border-radius: 9px;
      background: #fff;
      color: #52637f;
      font: inherit;
      cursor: pointer;
    }

    .question-center-bottom-pager button:disabled {
      opacity: .48;
      cursor: not-allowed;
    }

    .question-center-bottom-pager span {
      padding: 0 6px;
    }

    .question-center-card {
      position: relative;
      display: grid;
      gap: 8px;
      padding: 10px;
      border: 1px solid #e7e9ee;
      border-radius: 10px;
      background: #fff;
      box-shadow: 0 4px 12px rgba(48, 67, 94, .05);
    }

    .question-center-card.selected {
      border-color: #7ac6c5;
      box-shadow: 0 0 0 2px rgba(10, 180, 170, .12);
    }

    .question-center-card-head,
    .question-center-card-foot {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }

    .question-center-card-head {
      color: #75829a;
      font-size: 12px;
      font-weight: 700;
    }

    .question-center-card-index {
      width: 26px;
      height: 26px;
      display: inline-grid;
      place-items: center;
      flex: 0 0 auto;
      border-radius: 8px;
      background: #f1f4f8;
      color: #7891b4;
      font-weight: 850;
    }

    .question-center-card-source {
      min-width: 0;
      flex: 1;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .question-center-card-author {
      flex: 0 0 auto;
      color: #7f8998;
      white-space: nowrap;
    }

    .question-center-card-body {
      min-height: 126px;
      display: flex;
      align-items: flex-start;
      gap: 9px;
      width: 100%;
      padding: 17px 19px;
      border: 1px dashed #d8e2ef;
      border-radius: 9px;
      background: #fff;
      color: #26354e;
      text-align: left;
      font: inherit;
      cursor: pointer;
    }

    .question-center-card-body:hover {
      border-color: #9fc1dd;
      background: #fbfdff;
    }

    .question-center-card-number {
      flex: 0 0 auto;
      font-size: 18px;
      font-weight: 850;
    }

    .question-center-card-content {
      min-width: 0;
      flex: 1;
      font-size: 16px;
      line-height: 1.65;
    }

    .question-center-card-content p {
      margin: 0;
    }

    .question-center-card-content .katex-display {
      margin: .25em 0;
      text-align: left;
    }

    .question-center-card-foot {
      justify-content: space-between;
      flex-wrap: wrap;
      padding: 0 2px;
    }

    .question-center-card-tags,
    .question-center-card-actions {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
    }

    .question-center-tag,
    .question-center-card-actions button {
      min-height: 29px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 10px;
      border: 1px solid #e2e8f0;
      border-radius: 999px;
      background: #f9fbfd;
      color: #748299;
      font: inherit;
      font-size: 12px;
      font-weight: 750;
    }

    .question-center-tag-directory {
      border-color: var(--question-directory-color, #3b82f6);
      background: color-mix(in srgb, var(--question-directory-color, #3b82f6) 7%, #fff);
      color: var(--question-directory-color, #3b82f6);
    }

    .question-center-card-actions button {
      cursor: pointer;
    }

    .question-center-ai-menu,
    .question-center-whiteboard-menu {
      position: relative;
      display: inline-flex;
    }

    .question-center-card-actions .question-center-ai-submenu {
      position: absolute;
      z-index: 20;
      left: 0;
      bottom: calc(100% + 7px);
      display: flex;
      flex-direction: column;
      min-width: 108px;
      gap: 4px;
      padding: 6px;
      border: 1px solid #dfe6f2;
      border-radius: 11px;
      background: #fff;
      box-shadow: 0 10px 28px rgba(43, 56, 87, .16);
    }

    .question-center-card-actions .question-center-whiteboard-submenu {
      position: absolute;
      z-index: 20;
      left: 0;
      bottom: calc(100% + 7px);
      display: flex;
      flex-direction: column;
      min-width: 108px;
      gap: 4px;
      padding: 6px;
      border: 1px solid #dfe6f2;
      border-radius: 11px;
      background: #fff;
      box-shadow: 0 10px 28px rgba(43, 56, 87, .16);
    }

    .question-center-card-actions .question-center-ai-submenu button {
      width: 100%;
      justify-content: flex-start;
      border: 0;
      border-radius: 7px;
      background: transparent;
      color: #526483;
      white-space: nowrap;
    }

    .question-center-card-actions .question-center-whiteboard-submenu button {
      width: 100%;
      justify-content: flex-start;
      border: 0;
      border-radius: 7px;
      background: transparent;
      color: #526483;
      white-space: nowrap;
    }

    .question-center-card-actions .question-center-ai-submenu button:hover,
    .question-center-card-actions .question-center-ai-submenu button:focus-visible,
    .question-center-card-actions .question-center-whiteboard-submenu button:hover,
    .question-center-card-actions .question-center-whiteboard-submenu button:focus-visible {
      background: #f1f5ff;
      color: #405fe8;
      outline: none;
    }

    .question-center-card-actions button:hover,
    .question-center-card-actions button.in-basket {
      border-color: #86d29d;
      background: #ebfff0;
      color: #35af61;
    }

    .question-center-card-actions .question-center-card-whiteboard {
      border-color: #d6e2fa;
      background: #f3f7ff;
      color: #5576bc;
    }

    .question-center-card-actions .question-center-card-whiteboard:hover {
      border-color: #adc3f1;
      background: #eaf0ff;
      color: #3c63b3;
    }

    .question-center-card-actions button:first-child {
      color: #9ca7b7;
    }

    .question-center-card-actions .question-center-select-check {
      width: 29px;
      padding: 0;
      border-radius: 8px;
      color: #fff;
    }

    .question-center-card-actions .question-center-select-check.checked {
      border-color: #62c780;
      background: #62c780;
      color: #fff;
    }

    .question-center-card-summary {
      display: none;
    }

    .question-center-actions {
      position: sticky;
      top: 16px;
      align-self: start;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 8px;
      padding: 10px 8px;
      background: #f3f4f5;
    }

    .question-center-actions button {
      min-height: 38px;
      padding: 0 7px;
      border: 0;
      border-radius: 8px;
      background: #4b83de;
      color: #fff;
      font: inherit;
      font-size: 13px;
      font-weight: 850;
      cursor: pointer;
      box-shadow: 0 4px 9px rgba(61, 110, 201, .15);
    }

    .question-center-actions button:hover {
      filter: brightness(1.06);
      transform: translateY(-1px);
    }

    .question-center-actions button.danger {
      background: linear-gradient(135deg, #f6a43a 0%, #ee8d22 100%);
      box-shadow: 0 5px 12px rgba(221, 126, 25, .2);
    }

    .question-center-basket-tools {
      display: grid;
      gap: 7px;
      padding: 6px;
      border: 1px solid #dce9ea;
      border-radius: 16px;
      background: linear-gradient(160deg, #ffffff 0%, #f5fbfa 100%);
      box-shadow: 0 6px 17px rgba(37, 104, 116, .1);
    }

    .question-center-actions .question-center-basket-clear {
      min-height: 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      padding: 3px 4px;
      border: 1px solid #f4d2d5;
      border-radius: 9px;
      background: rgba(255, 247, 247, .92);
      color: #cf5960;
      font-size: 10px;
      line-height: 1.25;
      box-shadow: none;
    }

    .question-center-actions .question-center-basket-clear svg {
      width: 14px;
      height: 14px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .question-center-actions .question-center-basket-clear:hover {
      border-color: #ffb8bc;
      background: #ffeded;
      filter: none;
      transform: none;
    }

    .question-center-actions .question-center-basket-clear:disabled {
      border-color: #e3e7ee;
      background: #f5f6f8;
      color: #aab2c0;
      box-shadow: none;
      cursor: default;
      transform: none;
    }

    .question-center-basket-button {
      position: relative;
      width: 100%;
      min-width: 0;
      height: 66px;
      min-height: 66px;
      display: grid;
      place-items: center;
      margin-top: 0;
      padding: 0;
      border: 1px solid #d9ebe9;
      border-radius: 14px;
      background: linear-gradient(145deg, #fff 0%, #f3fbfa 100%);
      color: #0aa69f;
      box-shadow: 0 5px 14px rgba(37, 104, 116, .12), inset 0 1px 0 rgba(255, 255, 255, .9);
      cursor: pointer;
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease;
    }

    .question-center-basket-button:hover {
      transform: translateY(-2px);
      border-color: #9edbd6;
      color: #078f89;
      box-shadow: 0 8px 19px rgba(37, 104, 116, .17), inset 0 1px 0 #fff;
    }

    .question-center-basket-button svg {
      width: 35px;
      height: 35px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .question-center-basket-button b {
      position: absolute;
      top: -7px;
      right: -7px;
      min-width: 23px;
      height: 23px;
      display: grid;
      place-items: center;
      box-sizing: border-box;
      padding: 0 5px;
      border: 2px solid #fff;
      border-radius: 999px;
      background: #ff4d57;
      color: #fff;
      font-size: 12px;
      font-weight: 850;
      line-height: 1;
      box-shadow: 0 3px 8px rgba(239, 68, 68, .26);
    }

    .question-center-teaching-button {
      border-color: #d9e3f7;
      background: linear-gradient(145deg, #fff 0%, #f5f8ff 100%);
      color: #5576bc;
      box-shadow: 0 5px 14px rgba(70, 101, 157, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
    }

    .question-center-teaching-button:hover {
      border-color: #b9c9ec;
      color: #405f9c;
      box-shadow: 0 8px 19px rgba(70, 101, 157, .15), inset 0 1px 0 #fff;
    }

    .question-center-teaching-button b {
      background: #5879c5;
      box-shadow: 0 3px 8px rgba(70, 101, 157, .24);
    }

    .question-center-action-divider {
      height: 1px;
      margin: 2px 8px;
      border-top: 1px dashed #b7bdc7;
    }

    .question-center-basket-modal {
      position: fixed;
      inset: 0;
      z-index: 1300;
      display: grid;
      place-items: center;
      padding: 22px;
    }

    .question-center-whiteboard-modal {
      position: fixed;
      inset: 0;
      z-index: 1350;
      display: grid;
      place-items: center;
      padding: 0;
    }

    .question-center-whiteboard-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(22, 34, 56, .48);
      backdrop-filter: blur(4px);
    }

    .question-center-whiteboard-dialog {
      position: relative;
      box-sizing: border-box;
      width: 100vw;
      height: 100vh;
      height: 100dvh;
      display: grid;
      grid-template-rows: minmax(0, 1fr);
      overflow: hidden;
      border: 0;
      border-radius: 0;
      background: #f6f8fc;
      box-shadow: 0 26px 90px rgba(22, 34, 56, .32);
    }

    .question-center-whiteboard-close-floating {
      position: absolute;
      z-index: 25;
      top: 12px;
      right: 14px;
      width: 36px;
      height: 36px;
      display: grid;
      place-items: center;
      padding: 0 0 2px;
      border: 1px solid rgba(255, 255, 255, .24);
      border-radius: 50%;
      background: rgba(24, 63, 50, .78);
      color: #fffbe8;
      font: inherit;
      font-size: 25px;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 4px 14px rgba(9, 31, 23, .2);
      transition: background .16s ease, transform .16s ease;
    }

    .question-center-whiteboard-close-floating:hover {
      background: #183f32;
      transform: scale(1.05);
    }

    .question-center-whiteboard-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      min-width: 0;
      padding: 14px 20px;
      border-bottom: 1px solid #e6ebf3;
      background: #fff;
    }

    .question-center-whiteboard-header > div:first-child {
      display: grid;
      gap: 3px;
      min-width: 0;
    }

    .question-center-whiteboard-header h2 {
      margin: 0;
      color: #293956;
      font-size: 18px;
      font-weight: 850;
    }

    .question-center-whiteboard-header > div:first-child span {
      overflow: hidden;
      color: #8b97aa;
      font-size: 12px;
      font-weight: 650;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .question-center-whiteboard-header-actions {
      display: flex;
      align-items: center;
      gap: 9px;
      flex: 0 0 auto;
    }

    .question-center-whiteboard-header-actions > span {
      color: #7f8da4;
      font-size: 12px;
      white-space: nowrap;
    }

    .question-center-whiteboard-header-actions button {
      min-height: 35px;
      padding: 0 13px;
      border: 1px solid #dbe5f5;
      border-radius: 10px;
      background: #f7f9ff;
      color: #5272b1;
      font: inherit;
      font-size: 13px;
      font-weight: 750;
      cursor: pointer;
    }

    .question-center-whiteboard-header-actions .question-center-whiteboard-close {
      width: 35px;
      padding: 0;
      border-color: #e6eaf1;
      border-radius: 50%;
      background: #f5f7fa;
      color: #68768c;
      font-size: 23px;
      line-height: 1;
    }

    .question-center-whiteboard-content {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: minmax(0, 1fr) auto;
      gap: 0;
      min-height: 0;
      overflow: hidden;
      padding: 0;
      background: #205c46;
    }

    .question-center-whiteboard-writing-surface {
      position: relative;
      display: grid;
      grid-template-rows: minmax(70px, auto) minmax(0, 1fr);
      min-height: 0;
      overflow: hidden;
      background: #205c46;
    }

    .question-center-whiteboard-question {
      min-width: 0;
      min-height: 0;
      overflow: auto;
      padding: 12px 22px;
      border-bottom: 1px solid rgba(255, 255, 255, .17);
      background: #205c46;
      color: #fffbe8;
    }

    .question-center-whiteboard-question > span {
      display: block;
      margin-bottom: 5px;
      color: rgba(255, 251, 232, .68);
      font-size: 12px;
      font-weight: 800;
    }

    .question-center-whiteboard-question > div {
      color: #fffbe8;
      font-size: 15px;
      line-height: 1.7;
      overflow-wrap: anywhere;
    }

    .question-center-whiteboard-question * {
      color: #fffbe8 !important;
      background-color: transparent !important;
      border-color: rgba(255, 255, 255, .2) !important;
      box-shadow: none !important;
    }

    .question-center-whiteboard-board {
      display: contents;
    }

    .question-center-whiteboard-toolbar {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px;
      padding: 9px 14px;
      border: 0;
      background: #183f32;
    }

    .question-center-whiteboard-shape-picker {
      position: relative;
      display: inline-flex;
      flex: 0 0 auto;
    }

    .question-center-whiteboard-shape-menu {
      position: absolute;
      z-index: 35;
      left: 0;
      bottom: calc(100% + 8px);
      display: grid;
      grid-template-columns: repeat(2, minmax(88px, 1fr));
      gap: 5px;
      min-width: 196px;
      padding: 8px;
      border: 1px solid rgba(255, 255, 255, .22);
      border-radius: 12px;
      background: #14382e;
      box-shadow: 0 12px 30px rgba(0, 0, 0, .3);
    }

    .question-center-whiteboard-shape-menu[hidden] {
      display: none;
    }

    .question-center-whiteboard-toolbar .question-center-whiteboard-shape-menu button {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 7px;
      width: auto;
      height: 34px;
      padding: 0 8px;
      border-radius: 8px;
      background: rgba(255, 255, 255, .06);
      font-size: 12px;
      white-space: nowrap;
    }

    .question-center-whiteboard-toolbar .question-center-whiteboard-shape-menu button svg {
      width: 17px;
      height: 17px;
      flex: 0 0 auto;
    }

    .question-center-whiteboard-toolbar .question-center-whiteboard-shape-menu button.active {
      border-color: rgba(255, 255, 255, .5);
      background: rgba(255, 255, 255, .2);
    }

    .question-center-whiteboard-toolbar button {
      width: 38px;
      height: 38px;
      display: inline-grid;
      place-items: center;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: 10px;
      background: rgba(255, 255, 255, .08);
      color: #edf5e7;
      font: inherit;
      font-size: 12px;
      font-weight: 750;
      cursor: pointer;
    }

    .question-center-whiteboard-toolbar button svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .question-center-whiteboard-toolbar button:hover,
    .question-center-whiteboard-toolbar button.active {
      border-color: rgba(255, 255, 255, .34);
      background: rgba(255, 255, 255, .2);
      color: #fffbe8;
    }

    .question-center-whiteboard-toolbar button.clear {
      color: #ffd9cf;
    }

    .question-center-whiteboard-toolbar i {
      width: 1px;
      height: 22px;
      margin: 0 3px;
      background: rgba(255, 255, 255, .22);
    }

    .question-center-whiteboard-toolbar .spacer {
      flex: 1 1 8px;
    }

    .question-center-whiteboard-navigation {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      flex: 0 0 auto;
    }

    .question-center-whiteboard-toolbar .question-center-whiteboard-navigation button {
      width: auto;
      min-width: 58px;
      padding: 0 10px;
      border-radius: 9px;
      color: #f5f8ee;
      white-space: nowrap;
    }

    .question-center-whiteboard-toolbar .question-center-whiteboard-navigation button:disabled {
      opacity: .42;
      cursor: not-allowed;
    }

    .question-center-whiteboard-navigation [data-qwb-progress] {
      min-width: 76px;
      color: rgba(245, 248, 238, .8);
      font-size: 12px;
      font-weight: 750;
      text-align: center;
      white-space: nowrap;
    }

    .question-center-whiteboard-queue-panel {
      position: absolute;
      z-index: 30;
      right: 50%;
      bottom: 84px;
      width: min(560px, calc(100% - 28px));
      max-height: min(62vh, 600px);
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      overflow: hidden;
      transform: translateX(50%);
      border: 1px solid #dce7df;
      border-radius: 16px;
      background: #fbfdf9;
      box-shadow: 0 18px 48px rgba(9, 31, 23, .35);
      color: #293956;
      pointer-events: auto;
    }

    .question-center-whiteboard-queue-panel > header,
    .question-center-whiteboard-queue-panel > footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 15px;
      background: #fff;
    }

    .question-center-whiteboard-queue-panel > header {
      border-bottom: 1px solid #e9eee9;
    }

    .question-center-whiteboard-queue-panel > header > div {
      display: grid;
      gap: 3px;
    }

    .question-center-whiteboard-queue-panel > header strong {
      font-size: 14px;
    }

    .question-center-whiteboard-queue-panel > header span,
    .question-center-whiteboard-queue-order {
      color: #7e8b9d;
      font-size: 11px;
      white-space: nowrap;
    }

    .question-center-whiteboard-queue-panel > ol {
      display: grid;
      align-content: start;
      gap: 5px;
      overflow: auto;
      margin: 0;
      padding: 9px;
      list-style: none;
    }

    .question-center-whiteboard-queue-empty {
      padding: 24px 18px;
      color: #73839b;
      text-align: center;
      font-size: 14px;
    }

    .question-center-whiteboard-queue-panel li {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 5px;
      padding: 6px 8px;
      border: 1px solid transparent;
      border-radius: 10px;
    }

    .question-center-whiteboard-queue-panel li.selected {
      border-color: #dce8df;
      background: #f0f6f0;
    }

    .question-center-whiteboard-queue-panel li > label {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 1 1 auto;
      cursor: pointer;
    }

    .question-center-whiteboard-queue-panel input[type="checkbox"] {
      width: 16px;
      height: 16px;
      flex: 0 0 auto;
      accent-color: #287456;
      cursor: pointer;
    }

    .question-center-whiteboard-queue-number {
      flex: 0 0 auto;
      color: #34445d;
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    .question-center-whiteboard-queue-summary {
      overflow: hidden;
      color: #69778b;
      font-size: 11px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .question-center-whiteboard-queue-panel li > button,
    .question-center-whiteboard-queue-panel > footer button {
      min-width: 34px;
      height: 30px;
      padding: 0 9px;
      border: 1px solid #dce5df;
      border-radius: 8px;
      background: #fff;
      color: #50675c;
      font: inherit;
      font-size: 12px;
      font-weight: 750;
      cursor: pointer;
    }

    .question-center-whiteboard-queue-panel button:disabled {
      opacity: .38;
      cursor: not-allowed;
    }

    .question-center-whiteboard-queue-panel > footer {
      justify-content: flex-end;
      border-top: 1px solid #e9eee9;
    }

    .question-center-whiteboard-queue-panel > footer .primary {
      border-color: #287456;
      background: #287456;
      color: #fff;
    }

    .question-center-whiteboard-toolbar > input[type="text"] {
      width: 145px;
      min-width: 100px;
      height: 34px;
      box-sizing: border-box;
      padding: 0 9px;
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: 8px;
      font: inherit;
      font-size: 12px;
    }

    .question-center-whiteboard-color {
      width: 27px;
      height: 27px;
      display: grid;
      place-items: center;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: 8px;
      cursor: pointer;
    }

    .question-center-whiteboard-color input {
      width: 35px;
      height: 35px;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: pointer;
    }

    .question-center-whiteboard-size {
      display: flex;
      align-items: center;
      gap: 5px;
      color: #8793a7;
      font-size: 11px;
      white-space: nowrap;
    }

    .question-center-whiteboard-size input {
      width: 72px;
      accent-color: #d4dca7;
    }

    .question-center-whiteboard-canvas-wrap {
      grid-row: 2;
      min-height: 0;
      overflow: hidden;
      background-color: #205c46;
      background-image: radial-gradient(ellipse at 50% 45%, rgba(255, 255, 255, .035), transparent 75%);
      touch-action: none;
    }

    .question-center-whiteboard-writing-surface > canvas {
      position: absolute;
      inset: 0;
      z-index: 3;
      width: 100%;
      height: 100%;
      display: block;
      background: transparent;
      touch-action: none;
    }

    .question-center-whiteboard-writing-surface > canvas[data-tool="pen"] {
      cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='m4 17 11-11 5 5L9 22H4z' fill='%23fffbe8' stroke='%23142e25' stroke-width='1.5'/%3E%3Cpath d='m4 17-1 5 5-1' fill='%23e6c98a' stroke='%23142e25' stroke-width='1.2'/%3E%3C/svg%3E") 3 21, crosshair;
    }

    .question-center-whiteboard-writing-surface > canvas[data-tool="eraser"] {
      cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='m4 15 9-9 7 7-8 8H7z' fill='%23f1d9d2' stroke='%233b302b' stroke-width='1.5'/%3E%3Cpath d='m9 10 7 7' fill='none' stroke='%233b302b' stroke-width='1.5'/%3E%3C/svg%3E") 7 18, crosshair;
    }

    .question-center-whiteboard-writing-surface > canvas[data-tool="text"] {
      cursor: text;
    }

    .question-center-whiteboard-writing-surface > canvas[data-tool="line"],
    .question-center-whiteboard-writing-surface > canvas[data-tool="rect"],
    .question-center-whiteboard-writing-surface > canvas[data-tool="circle"],
    .question-center-whiteboard-writing-surface > canvas[data-tool="ellipse"],
    .question-center-whiteboard-writing-surface > canvas[data-tool="triangle"],
    .question-center-whiteboard-writing-surface > canvas[data-tool="arrow"] {
      cursor: crosshair;
    }

    .question-center-whiteboard-footer {
      display: grid;
      grid-template-rows: auto auto;
      background: #183f32;
    }

    .question-center-whiteboard-hint {
      padding: 0 14px 8px;
      background: #183f32;
      color: rgba(238, 245, 231, .67);
      font-size: 11px;
    }

    .question-center-whiteboard-confirm-layer {
      position: absolute;
      inset: 0;
      z-index: 20;
      display: grid;
      place-items: center;
      padding: 18px;
      background: rgba(12, 25, 21, .38);
      animation: question-center-confirm-fade-in .16s ease-out;
    }

    .question-center-whiteboard-confirm {
      width: min(350px, 100%);
      box-sizing: border-box;
      padding: 20px 22px 18px;
      border: 1px solid #e7ebf1;
      border-radius: 20px;
      background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
      box-shadow: 0 24px 72px rgba(13, 28, 24, .28);
      text-align: center;
      animation: question-center-confirm-pop-in .2s cubic-bezier(.2, .75, .25, 1.1);
    }

    .question-center-whiteboard-confirm-icon {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      margin: 0 auto 10px;
      border: 1px solid #f3dfd5;
      border-radius: 17px;
      background: linear-gradient(145deg, #fff6f0, #ffebe2);
      color: #bf684b;
    }

    .question-center-whiteboard-confirm-icon svg {
      width: 21px;
      height: 21px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .question-center-whiteboard-confirm h3 {
      margin: 0;
      color: #26364d;
      font-size: 17px;
      font-weight: 800;
      letter-spacing: .01em;
    }

    .question-center-whiteboard-confirm p {
      margin: 8px 0 17px;
      color: #78869a;
      font-size: 13px;
      line-height: 1.7;
    }

    .question-center-whiteboard-confirm-actions {
      display: flex;
      justify-content: center;
      gap: 10px;
    }

    .question-center-whiteboard-confirm-actions button {
      min-width: 96px;
      min-height: 36px;
      padding: 0 14px;
      border: 1px solid #dfe5ed;
      border-radius: 12px;
      background: #f7f9fc;
      color: #5d6b7f;
      font: inherit;
      font-size: 13px;
      font-weight: 750;
      cursor: pointer;
      transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    }

    .question-center-whiteboard-confirm-actions button:hover {
      transform: translateY(-1px);
      box-shadow: 0 5px 14px rgba(35, 52, 77, .1);
    }

    .question-center-whiteboard-confirm-actions [data-qwb-confirm-clear] {
      border-color: #bd684d;
      background: linear-gradient(135deg, #c8785b, #b95f48);
      color: #fff;
    }

    @keyframes question-center-confirm-fade-in {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    @keyframes question-center-confirm-pop-in {
      from { opacity: 0; transform: translateY(8px) scale(.97); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .question-center-basket-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(22, 34, 56, .42);
      backdrop-filter: blur(3px);
    }

    .question-center-basket-dialog {
      position: relative;
      width: min(1500px, 100%);
      max-height: min(90vh, 1000px);
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      overflow: hidden;
      border: 1px solid #e1e7f1;
      border-radius: 18px;
      background: #f7f9fd;
      box-shadow: 0 24px 80px rgba(24, 39, 67, .28);
    }

    .question-center-basket-workspace {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(290px, 340px);
      min-height: 0;
      overflow: hidden;
    }

    .question-center-basket-head,
    .question-center-basket-pager {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 20px;
      background: #fff;
    }

    .question-center-basket-head {
      border-bottom: 1px solid #e8edf5;
    }

    .question-center-basket-head h2 {
      margin: 0 0 4px;
      color: #24334e;
      font-size: 20px;
    }

    .question-center-basket-head span,
    .question-center-basket-pager span {
      color: #7e8ca4;
      font-size: 13px;
      font-weight: 700;
    }

    .question-center-basket-close {
      width: 38px;
      height: 38px;
      border: 0;
      border-radius: 50%;
      background: #f0f3f8;
      color: #62718a;
      font-size: 26px;
      cursor: pointer;
    }

    .question-center-basket-head-actions {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
    }

    .question-center-basket-back {
      min-height: 38px;
      padding: 0 15px;
      border: 1px solid #d8e3f7;
      border-radius: 12px;
      background: #f7f9ff;
      color: #526b9a;
      font: inherit;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
    }

    .question-center-basket-back:hover {
      border-color: #bfd0f2;
      background: #eff4ff;
    }

    .question-center-basket-list {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 12px;
      min-height: 180px;
      overflow-y: auto;
      padding: 16px 20px;
    }

    .question-center-basket-settings {
      display: flex;
      flex-direction: column;
      gap: 10px;
      min-width: 0;
      overflow-y: auto;
      padding: 16px;
      border-left: 1px solid #e1e8f4;
      background: linear-gradient(180deg, #fbfcff 0%, #f7f9fd 100%);
      scrollbar-width: thin;
      scrollbar-color: #cbd6e8 transparent;
    }

    .question-center-basket-settings-heading,
    .question-center-basket-subheading {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 8px;
    }

    .question-center-basket-settings-heading {
      position: sticky;
      top: -16px;
      z-index: 5;
      margin: -16px -16px 0;
      padding: 14px 16px 11px;
      border-bottom: 1px solid #e8edf5;
      background: rgba(251, 252, 255, .96);
      backdrop-filter: blur(10px);
    }

    .question-center-basket-settings-heading span,
    .question-center-basket-subheading span {
      color: #98a4b8;
      font-size: 12px;
      font-weight: 650;
      white-space: nowrap;
    }

    .question-center-setting-template {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto auto;
      align-items: center;
      gap: 6px;
      padding: 8px;
      border: 1px solid #e2e9f4;
      border-radius: 12px;
      background: #f4f7fc;
    }

    .question-center-setting-template select,
    .question-center-setting-template button {
      min-width: 0;
      height: 34px;
      padding: 0 9px;
      border: 1px solid #dbe4f1;
      border-radius: 9px;
      background: #fff;
      color: #50627f;
      font: inherit;
      font-size: 12px;
      font-weight: 700;
    }

    .question-center-setting-template button {
      cursor: pointer;
    }

    .question-center-setting-template button:hover:not(:disabled) {
      border-color: #b8c9ed;
      background: #eef3ff;
      color: #4564a8;
    }

    .question-center-setting-template button:disabled {
      opacity: .48;
      cursor: not-allowed;
    }

    .question-center-basket-settings h3,
    .question-center-basket-type-settings h4 {
      margin: 0;
      color: #263754;
    }

    .question-center-basket-settings h3 {
      font-size: 17px;
      letter-spacing: .02em;
    }

    .question-center-basket-field {
      display: flex;
      flex-direction: column;
      gap: 5px;
      color: #60718d;
      font-size: 13px;
      font-weight: 750;
    }

    .question-center-basket-field input,
    .question-center-basket-field textarea,
    .question-center-basket-field select {
      width: 100%;
      box-sizing: border-box;
      min-height: 35px;
      padding: 7px 9px;
      border: 1px solid #dbe4f1;
      border-radius: 10px;
      background: rgba(255, 255, 255, .88);
      color: #30415e;
      font: inherit;
      font-size: 14px;
      font-weight: 550;
      transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
    }

    .question-center-basket-field input:focus,
    .question-center-basket-field textarea:focus,
    .question-center-basket-field select:focus {
      outline: 0;
      border-color: #9db6ec;
      background: #fff;
      box-shadow: 0 0 0 3px rgba(94, 132, 221, .11);
    }

    .question-center-basket-field textarea {
      min-height: 66px;
      resize: vertical;
    }

    .question-center-basket-field-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }

    .question-center-basket-field small {
      margin-top: -30px;
      align-self: flex-end;
      padding-right: 9px;
      color: #8896aa;
      pointer-events: none;
    }

    .question-center-basket-answer-toggle {
      display: flex;
      align-items: center;
      gap: 8px;
      min-height: 35px;
      padding: 0 10px;
      border: 1px solid #e7ecf4;
      border-radius: 10px;
      background: rgba(255, 255, 255, .68);
      color: #556783;
      font-size: 13px;
      font-weight: 700;
    }

    .question-center-basket-watermark-settings {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 11px;
      border: 1px solid #e4eaf5;
      border-radius: 14px;
      background: linear-gradient(145deg, #fff 0%, #f8faff 100%);
      box-shadow: 0 4px 14px rgba(59, 83, 132, .045);
    }

    .question-center-basket-subheading {
      align-items: center;
      padding-bottom: 2px;
    }

    .question-center-basket-subheading h4 {
      margin: 0;
      color: #405576;
      font-size: 13px;
      font-weight: 850;
    }

    .question-center-watermark-image-field {
      display: grid;
      gap: 6px;
    }

    .question-center-watermark-image-heading {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      color: #60718d;
      font-size: 13px;
      font-weight: 750;
    }

    .question-center-watermark-image-heading small {
      align-self: auto;
      margin: 0;
      padding: 0;
      color: #9aa6b9;
      font-size: 11px;
      font-weight: 550;
      white-space: nowrap;
      pointer-events: none;
    }

    .question-center-watermark-position-grid {
      grid-template-columns: minmax(0, 1.45fr) minmax(110px, .75fr);
    }

    .question-center-watermark-image-actions {
      display: flex;
      align-items: end;
      flex-wrap: wrap;
      gap: 8px;
    }

    .question-center-watermark-image-actions select {
      width: auto;
      min-width: 88px;
      min-height: 34px;
      padding: 4px 7px;
      border: 1px solid #d6e1f4;
      border-radius: 9px;
      background: #fff;
      color: #405474;
      font: inherit;
      font-size: 13px;
    }

    .question-center-watermark-upload {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      min-height: 34px;
      padding: 0 11px;
      border: 1px solid #d6e1f4;
      border-radius: 10px;
      background: #f7f9ff;
      color: #526b9a;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
    }

    .question-center-watermark-upload input {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      opacity: 0;
      pointer-events: none;
    }

    .question-center-watermark-preview {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .question-center-watermark-preview img {
      width: 72px;
      height: 50px;
      object-fit: contain;
      border: 1px solid #e0e7f3;
      border-radius: 8px;
      background: #fff;
    }

    .question-center-watermark-preview button,
    .question-center-watermark-image-actions button {
      min-height: 34px;
      padding: 0 12px;
      border: 1px solid #efcaca;
      border-radius: 9px;
      background: #fff8f8;
      color: #c65d64;
      font: inherit;
      cursor: pointer;
    }

    .question-center-watermark-opacity {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 5px 8px;
      padding: 7px 9px 6px;
      border: 1px solid #ebeff6;
      border-radius: 10px;
      background: rgba(255, 255, 255, .72);
    }

    .question-center-watermark-opacity span {
      color: #7183a0;
      font-size: 11px;
      font-variant-numeric: tabular-nums;
    }

    .question-center-watermark-opacity input[type="range"] {
      grid-column: 1 / -1;
      width: 100%;
      accent-color: #6f8de5;
      height: 18px;
      min-height: 18px;
      margin: 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      appearance: none;
      -webkit-appearance: none;
      cursor: pointer;
    }

    .question-center-watermark-opacity input[type="range"]::-webkit-slider-runnable-track {
      height: 4px;
      border-radius: 999px;
      background: linear-gradient(to right, #6f8de5 0%, #6f8de5 var(--range-progress, 50%), #dce3ef var(--range-progress, 50%), #dce3ef 100%);
    }

    .question-center-watermark-opacity input[type="range"]::-webkit-slider-thumb {
      width: 16px;
      height: 16px;
      box-sizing: border-box;
      margin-top: -6px;
      border: 2px solid #fff;
      border-radius: 50%;
      background: #6f8de5;
      box-shadow: 0 1px 4px rgba(63, 91, 157, .28);
      -webkit-appearance: none;
      appearance: none;
    }

    .question-center-watermark-opacity input[type="range"]::-moz-range-track {
      height: 4px;
      border-radius: 999px;
      background: #dce3ef;
    }

    .question-center-watermark-opacity input[type="range"]::-moz-range-progress {
      height: 4px;
      border-radius: 999px;
      background: #6f8de5;
    }

    .question-center-watermark-opacity input[type="range"]::-moz-range-thumb {
      width: 12px;
      height: 12px;
      box-sizing: border-box;
      border: 2px solid #fff;
      border-radius: 50%;
      background: #6f8de5;
      box-shadow: 0 1px 4px rgba(63, 91, 157, .28);
    }

    .question-center-watermark-opacity input[type="range"]:focus-visible {
      outline: 2px solid rgba(111, 141, 229, .3);
      outline-offset: 3px;
    }

    .question-center-watermark-live-preview {
      position: relative;
      min-height: 104px;
      overflow: hidden;
      border: 1px solid #e1e8f3;
      border-radius: 11px;
      background:
        linear-gradient(rgba(255, 255, 255, .9), rgba(255, 255, 255, .9)),
        repeating-linear-gradient(0deg, transparent 0 25px, #edf1f8 25px 26px);
    }

    .question-center-watermark-live-preview > span {
      position: absolute;
      top: 7px;
      left: 9px;
      z-index: 3;
      color: #8995aa;
      font-size: 10px;
      font-weight: 700;
    }

    .question-center-watermark-live-preview b,
    .question-center-watermark-live-preview img {
      position: absolute;
      top: 56%;
      left: 50%;
      max-width: 42%;
      max-height: 68px;
      pointer-events: none;
      transform: translate(-50%, -50%) scale(var(--watermark-scale, 1));
    }

    .question-center-watermark-live-preview b {
      color: #536480;
      font-size: 20px;
      white-space: nowrap;
      transform: translate(-50%, -50%) rotate(-20deg) scale(var(--watermark-scale, 1));
    }

    .question-center-watermark-live-preview [data-position="left"] {
      left: 22%;
    }

    .question-center-watermark-live-preview [data-position="right"] {
      left: 78%;
    }

    .question-center-basket-answer-toggle input {
      accent-color: #4d82e8;
    }

    .question-center-basket-type-settings {
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 10px 11px 7px;
      border: 1px solid #e7ecf4;
      border-radius: 13px;
      background: rgba(255, 255, 255, .75);
    }

    .question-center-basket-type-settings h4 {
      font-size: 14px;
    }

    .question-center-basket-type-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto auto;
      align-items: center;
      gap: 7px;
      padding: 7px 0;
      border-bottom: 1px solid #edf1f7;
    }

    .question-center-basket-type-name {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
      color: #405270;
      font-size: 12px;
    }

    .question-center-basket-type-name span,
    .question-center-basket-muted {
      color: #8a97aa;
      font-size: 11px;
    }

    .question-center-basket-type-row label {
      display: flex;
      align-items: center;
      gap: 4px;
      color: #74829a;
      font-size: 11px;
      white-space: nowrap;
    }

    .question-center-basket-type-row input {
      width: 54px;
      height: 30px;
      box-sizing: border-box;
      padding: 3px 5px;
      border: 1px solid #dbe4f1;
      border-radius: 7px;
      color: #344662;
      font: inherit;
      font-size: 12px;
    }

    .question-center-basket-type-order {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    .question-center-basket-type-order button {
      width: 22px;
      height: 19px;
      padding: 0;
      border: 1px solid #e0e7f2;
      border-radius: 5px;
      background: #f8faff;
      color: #527ec8;
      line-height: 1;
      cursor: pointer;
    }

    .question-center-basket-type-order button:disabled {
      color: #c1cad7;
      cursor: default;
    }

    .question-center-basket-score-summary {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      padding: 10px 11px;
      border: 1px solid #e2eafb;
      border-radius: 11px;
      background: linear-gradient(120deg, #f4f7ff, #f8faff);
      color: #71819b;
      font-size: 12px;
    }

    .question-center-basket-score-summary b {
      color: #315fae;
      font-size: 14px;
    }

    .question-center-basket-warning {
      margin: 0;
      color: #bd6b24;
      font-size: 12px;
      line-height: 1.5;
    }

    .question-center-basket-generate {
      min-height: 42px;
      border: 0;
      border-radius: 10px;
      background: linear-gradient(135deg, #5b86eb, #4774d5);
      color: #fff;
      font: inherit;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      box-shadow: 0 6px 14px rgba(64, 108, 207, .18);
    }

    .question-center-basket-generate:disabled {
      opacity: .55;
      cursor: default;
      box-shadow: none;
    }

    .question-center-basket-status {
      min-height: 18px;
      color: #4d7a5d;
      font-size: 12px;
      line-height: 1.5;
    }

    .question-center-basket-list > .question-center-card {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr);
      flex: 0 0 auto;
      align-self: stretch;
      height: auto;
      gap: 0;
      overflow: hidden;
    }

    .question-center-basket-list > .question-center-card > .parse-result-card-body {
      display: block !important;
      min-height: 0;
      height: auto;
      overflow: visible;
      visibility: visible;
    }

    .question-center-actions .question-center-basket-button {
      grid-template-rows: 1fr auto;
      gap: 1px;
      height: auto;
      min-height: 74px;
      padding: 6px 0;
      background: linear-gradient(145deg, #fff 0%, #f3fbfa 100%);
      color: #0aa69f;
    }

    .question-center-actions .question-center-basket-button:hover {
      transform: none;
      filter: none;
      border-color: #9edbd6;
      background: linear-gradient(145deg, #fff 0%, #f3fbfa 100%);
      color: #078f89;
      box-shadow: 0 8px 19px rgba(37, 104, 116, .17), inset 0 1px 0 #fff;
    }

    .question-center-actions .question-center-basket-button svg,
    .question-center-actions .question-center-basket-button:hover svg {
      display: block;
      visibility: visible;
      opacity: 1;
    }

    .question-center-basket-label {
      display: block;
      color: inherit;
      font-size: 11px;
      font-weight: 800;
      line-height: 1;
    }

    .question-center-basket-list > .question-center-card > .parse-result-card-foot {
      display: flex !important;
      visibility: visible;
    }

    .question-center-basket-list .question-center-card-source {
      display: none;
    }

    .question-center-basket-list .question-center-card-author {
      margin-left: auto;
    }

    .question-center-basket-list .question-center-card-actions button:disabled {
      opacity: .45;
      cursor: not-allowed;
    }

    .question-center-basket-list .question-center-card-actions .question-center-basket-move {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      border-color: #cfdcf1;
      background: #f7faff;
      color: #5277b8;
    }

    .question-center-basket-list .question-center-card-actions .question-center-basket-move:hover:not(:disabled) {
      border-color: #9eb9e8;
      background: #edf4ff;
      color: #3265bb;
    }

    .question-center-basket-list .question-center-card-actions .question-center-basket-move span {
      font-size: 15px;
      line-height: 1;
    }

    .question-center-basket-pager button {
      min-height: 34px;
      padding: 0 14px;
      border: 1px solid #d8e3f5;
      border-radius: 9px;
      background: #fff;
      color: #477bd2;
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
    }

    .question-center-basket-pager {
      justify-content: center;
      border-top: 1px solid #e8edf5;
    }

    .question-center-basket-pager button:disabled {
      color: #aeb8c8;
      cursor: default;
    }

    .question-center-basket-empty {
      display: grid;
      min-height: 180px;
      place-items: center;
      color: #8491a7;
      font-weight: 700;
    }

    @media (max-width: 780px) {
      .question-center-basket-modal {
        padding: 10px;
      }

      .question-center-basket-dialog {
        max-height: 94vh;
        border-radius: 14px;
      }

      .question-center-basket-head,
      .question-center-basket-list {
        padding-right: 12px;
        padding-left: 12px;
      }
    }

    @media (max-width: 1150px) {
      .question-center-layout {
        grid-template-columns: 220px minmax(0, 1fr);
      }

      .question-center-actions {
        position: static;
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
      }

      .question-center-actions button {
        min-width: 94px;
      }

      .question-center-action-divider {
        width: 1px;
        height: 24px;
        margin: 0 2px;
        border-top: 0;
        border-left: 1px dashed #b7bdc7;
      }
    }

    @media (max-width: 900px) {
      .question-center-whiteboard-modal {
        padding: 0;
      }

      .question-center-whiteboard-content {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(140px, .35fr) minmax(300px, 1fr);
        overflow: auto;
      }

      .question-center-whiteboard-question {
        max-height: 260px;
      }

      .question-center-basket-workspace {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(220px, 1fr) auto;
        overflow-y: auto;
      }

      .question-center-basket-settings {
        border-top: 1px solid #e4eaf4;
        border-left: 0;
      }
    }

    @media (max-width: 620px) {
      .question-center-whiteboard-dialog {
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        border-radius: 0;
      }

      .question-center-whiteboard-header {
        align-items: flex-start;
        padding: 11px 12px;
      }

      .question-center-whiteboard-header h2 {
        font-size: 15px;
      }

      .question-center-whiteboard-header-actions {
        gap: 5px;
      }

      .question-center-whiteboard-header-actions > span {
        display: none;
      }

      .question-center-whiteboard-header-actions button {
        min-height: 32px;
        padding: 0 9px;
        font-size: 11px;
      }

      .question-center-whiteboard-content {
        grid-template-rows: minmax(0, 1fr) auto;
      }

      .question-center-whiteboard-question {
        padding: 8px 12px;
      }

      .question-center-whiteboard-toolbar {
        gap: 4px;
        padding: 7px;
      }

      .question-center-whiteboard-toolbar button {
        width: 32px;
        height: 32px;
        padding: 0;
        font-size: 11px;
      }

      .question-center-whiteboard-toolbar i {
        display: none;
      }

      .question-center-whiteboard-toolbar .spacer {
        display: none;
      }

      .question-center-whiteboard-navigation {
        order: 10;
        width: 100%;
        margin: 2px 0;
      }

      .question-center-whiteboard-toolbar .question-center-whiteboard-navigation button {
        flex: 1 1 auto;
      }

      .question-center-whiteboard-queue-panel {
        bottom: 120px;
        max-height: 55vh;
      }
    }

    @media (max-width: 780px) {
      .question-center-topbar {
        align-items: stretch;
        flex-direction: column;
      }

      .question-center-pager {
        justify-content: flex-end;
      }

      .question-center-layout {
        grid-template-columns: 1fr;
      }

      .question-center-sidebar {
        position: static;
        max-height: none;
        min-height: 260px;
        overflow: visible;
      }

      .question-center-card-author {
        display: none;
      }
    }

    .paper-library-list {
      gap: 12px;
    }

    .paper-library-card {
      padding: 16px 17px;
      border-color: #e2e8f3;
      border-radius: 15px;
      background: rgba(255, 255, 255, .88);
      box-shadow: 0 8px 24px rgba(55, 73, 122, .065);
    }

    .paper-library-card::before {
      content: "";
      position: absolute;
      left: 0;
      top: 17px;
      bottom: 17px;
      width: 4px;
      border-radius: 0 6px 6px 0;
      background: linear-gradient(180deg, var(--blue), var(--violet));
      opacity: 0;
      transform: scaleY(.55);
      transition: opacity .18s ease, transform .18s ease;
    }

    .paper-library-card:hover,
    .paper-library-card.active {
      border-color: rgba(76, 111, 255, .38);
      background: #fff;
      box-shadow: 0 16px 36px rgba(55, 73, 122, .12);
    }

    .paper-library-card:hover::before,
    .paper-library-card.active::before {
      opacity: 1;
      transform: scaleY(1);
    }

    .paper-library-title {
      color: #2b3857;
      font-size: 16px;
      font-weight: 900;
    }

    .paper-library-chip {
      min-height: 25px;
      border-color: transparent;
      background: #f0f4fb;
      color: #66738d;
      font-weight: 800;
    }

    .paper-library-chip.score {
      border-color: transparent;
      background: #fff2df;
      color: #b06b21;
    }

    .paper-library-time-text {
      color: #929db1;
      font-weight: 700;
    }

    .paper-library-actions .history-action-pill {
      min-height: 34px;
      padding: 0 13px;
      border-radius: 9px;
      border-color: #e0e7f2;
      background: #f8faff;
      color: #53617c;
      font-weight: 800;
    }

    .paper-library-actions .history-action-pill.secondary {
      border-color: rgba(76, 111, 255, .2);
      background: var(--blue-soft);
      color: var(--blue);
    }

    .paper-library-actions .history-action-pill.export {
      border-color: rgba(80, 185, 133, .2);
      background: var(--green-soft);
      color: #31855e;
    }

    .paper-library-actions .history-action-pill.danger {
      border-color: rgba(221, 90, 101, .18);
      background: #fff7f8;
      color: #bd4f5a;
    }

    /* Paper parsing workbench */
    .parse-shell {
      gap: 14px;
    }

    .parse-alert {
      min-height: 38px;
      padding: 8px 15px;
      border: 1px solid rgba(76, 111, 255, .1);
      border-radius: 11px;
      background: linear-gradient(135deg, #edf3ff, #f4f0ff);
      color: #4962a0;
      font-size: 13px;
      font-weight: 750;
      box-shadow: 0 6px 18px rgba(76, 111, 255, .07);
    }

    .parse-topbar {
      min-height: 52px;
      padding: 7px 9px;
      border: 1px solid rgba(224, 231, 244, .88);
      border-radius: 14px;
      background: rgba(255, 255, 255, .7);
      box-shadow: var(--shadow-sm);
    }

    .parse-meta {
      grid-template-columns: minmax(108px, 122px) minmax(150px, 176px) minmax(128px, 146px);
      gap: 5px;
    }

    .parse-meta select {
      min-height: 36px;
      padding: 0 11px;
      border-radius: 9px;
      font-size: 13px;
      font-weight: 750;
    }

    .parse-workbench {
      grid-template-columns: 312px minmax(0, 1fr);
      gap: 15px;
      min-width: 0;
    }

    .parse-view-tabs {
      position: relative;
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 2px 0 10px;
      padding: 4px;
      border: 1px solid #e2e8f3;
      border-radius: 12px;
      background: #f6f8fc;
    }

    .parse-view-tabs > .parse-alert {
      position: absolute;
      top: 50%;
      left: var(--parse-status-left, 52%);
      transform: translateY(-50%);
      width: max-content;
      min-width: 0;
      max-width: min(48%, calc(100% - var(--parse-status-left, 52%) - 12px), 720px);
      min-height: 30px;
      margin: 0;
      padding: 5px 11px;
      border-radius: 8px;
      box-shadow: none;
      font-size: 12px;
      line-height: 1.4;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .parse-view-tab {
      min-height: 36px;
      padding: 0 18px;
      border: 1px solid transparent;
      border-radius: 9px;
      background: transparent;
      color: #71809a;
      font: inherit;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
    }

    .parse-view-tab.active {
      border-color: #cbd9f4;
      background: #fff;
      color: #416dbb;
      box-shadow: 0 2px 7px rgba(65, 105, 225, .1);
    }

    .parse-view-tab:disabled {
      color: #aab3c2;
      cursor: default;
      opacity: .62;
    }

    .parse-view-tab[data-parse-view-tab="edit"] {
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .parse-edit-tab-close {
      display: none;
      width: 18px;
      height: 18px;
      align-items: center;
      justify-content: center;
      border-radius: 5px;
      color: #74809a;
      font: 700 16px/1 Arial, sans-serif;
    }

    .parse-view-tab[data-parse-view-tab="edit"].active .parse-edit-tab-close {
      display: inline-flex;
    }

    .parse-view-tab[data-parse-view-tab="edit"].active .parse-edit-tab-close:hover {
      background: #eef2fb;
      color: #c84b57;
    }

    .parse-workbench.parse-view-analysis .parse-source-preview-section {
      display: none !important;
    }

    .parse-doc2x-result-section {
      display: none;
    }

    .parse-workbench.parse-view-source,
    .parse-workbench.parse-view-result {
      grid-template-columns: minmax(240px, var(--parse-source-width, 520px)) 13px minmax(0, 1fr);
    }

    .parse-workbench.parse-view-source .parse-source-resizer,
    .parse-workbench.parse-view-source .parse-main-card,
    .parse-workbench.parse-view-result .parse-source-resizer,
    .parse-workbench.parse-view-result .parse-main-card {
      display: block;
    }

    .parse-workbench.parse-view-source .parse-side,
    .parse-workbench.parse-view-result .parse-side {
      position: sticky;
      display: grid;
      padding: 12px;
      border: 1px solid rgba(224, 231, 244, .92);
      background: rgba(255, 255, 255, .86);
      box-shadow: var(--shadow);
    }

    .parse-workbench.parse-view-source .parse-side #parseImageManageSection,
    .parse-workbench.parse-view-result .parse-side #parseImageManageSection {
      display: none;
    }

    .parse-workbench.parse-view-result .parse-source-preview-section {
      display: none;
    }

    .parse-workbench.parse-view-result .parse-doc2x-result-section {
      display: block;
      min-height: min(1350px, 123vh);
    }

    .parse-doc2x-result {
      display: block;
      min-height: min(1170px, calc(150vh - 270px));
      max-height: calc(150vh - 270px);
      overflow: auto;
      padding: 4px;
    }

    .parse-doc2x-continuous {
      min-height: 100%;
      padding: 12px 14px;
      background: #fff;
    }

    .parse-doc2x-result-fragment {
      display: contents;
    }

    .parse-doc2x-markdown {
      color: #26344c;
      font-size: 14px;
      line-height: 1.75;
      overflow-wrap: anywhere;
    }

    /* 识别结果是一份连续内容，只由最外层容器提供一条滚动条。 */
    .parse-doc2x-markdown.parse-preview.parse-doc2x-continuous {
      height: auto;
      max-height: none;
      overflow: visible;
    }

    .parse-doc2x-markdown .latex-image {
      max-width: 100%;
      background: #fff;
    }

    .parse-recognition-context-menu {
      position: fixed;
      z-index: 1200;
      min-width: 118px;
      padding: 5px;
      border: 1px solid #d9e2f1;
      border-radius: 10px;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 10px 28px rgba(37, 62, 103, .18);
    }

    .parse-recognition-context-menu[hidden] {
      display: none;
    }

    .parse-recognition-context-menu button {
      width: 100%;
      padding: 8px 12px;
      border: 0;
      border-radius: 7px;
      background: transparent;
      color: #315da8;
      cursor: pointer;
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      text-align: left;
    }

    .parse-recognition-context-menu button:hover {
      background: #eef4ff;
    }

    .parse-recognition-context-separator {
      display: block;
      height: 1px;
      margin: 4px 6px;
      background: #e5ebf5;
    }

    .parse-recognition-boundary {
      position: relative;
      display: inline-block;
      width: 0;
      height: 0;
      margin: 0;
      padding: 0;
      user-select: none;
      vertical-align: baseline;
    }

    .parse-recognition-boundary-label {
      position: absolute;
      z-index: 4;
      top: 50%;
      left: 5px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 22px;
      min-width: 42px;
      min-height: 22px;
      box-sizing: border-box;
      padding: 0;
      border-radius: 999px;
      color: #fff;
      font: 800 11px/16px system-ui, sans-serif;
      letter-spacing: .04em;
      text-align: center;
      text-indent: 0 !important;
      overflow-wrap: normal;
      white-space: nowrap;
      word-break: keep-all;
      writing-mode: horizontal-tb;
      transform: translateY(-50%);
      box-shadow: 0 2px 7px rgba(43, 79, 140, .18);
      pointer-events: none;
    }

    .parse-recognition-boundary-start .parse-recognition-boundary-label {
      background: linear-gradient(135deg, #2bbf9b, #189477);
    }

    .parse-recognition-boundary-end .parse-recognition-boundary-label {
      background: linear-gradient(135deg, #ff9a4d, #ef6c32);
    }

    ::highlight(parse-recognition-boundary-range) {
      color: inherit;
      background-color: rgba(116, 176, 255, .24);
    }

    .parse-workbench.parse-view-source .parse-source-preview-section {
      min-height: min(1350px, 123vh);
    }

    .parse-workbench.parse-view-source .parse-source-preview {
      min-height: min(1170px, calc(150vh - 270px));
      max-height: calc(150vh - 270px);
    }

    .app:has(#page-parse.active) #manualQuestionMetaPanel {
      display: none !important;
    }

    /* 试卷解析页顶部采用紧凑布局，减少标题区下方的无效留白。 */
    .app:has(#page-parse.active) .hero {
      min-height: 54px;
      margin-bottom: 8px;
    }

    .app:has(#page-parse.active) .parse-shell {
      gap: 8px;
    }

    .app:has(#page-parse.active) .parse-alert {
      min-height: 32px;
      padding: 6px 12px;
    }

    .app:has(#page-parse.active) .parse-topbar {
      min-height: 44px;
      padding: 5px 8px;
    }

    .parse-side,
    .parse-main-card {
      border-color: rgba(224, 231, 244, .92);
      border-radius: 17px;
      background: rgba(255, 255, 255, .86);
      box-shadow: var(--shadow);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }

    .parse-side {
      top: 16px;
      padding: 12px;
      gap: 12px;
    }

    .parse-side-section {
      padding: 12px;
      border-color: #e5ebf5;
      border-radius: 13px;
      background: rgba(255, 255, 255, .9);
    }

    .parse-upload {
      min-height: 154px;
      padding: 18px 12px;
      border: 1.5px dashed #c9d7f1;
      border-radius: 13px;
      background:
        radial-gradient(circle at 15% 15%, rgba(192, 220, 255, .42), transparent 38%),
        linear-gradient(145deg, #f7faff, #fbf8ff);
      color: #70809d;
      font-size: 13px;
      font-weight: 750;
    }

    .parse-upload::before {
      content: "＋";
      width: 43px;
      height: 43px;
      margin: 0 auto 2px;
      border-radius: 13px;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, #e5edff, #efe9ff);
      color: var(--blue);
      font-size: 25px;
      font-weight: 500;
      box-shadow: inset 0 0 0 1px rgba(76, 111, 255, .09);
    }

    .parse-upload:has(.parse-thumb) {
      padding: 10px;
    }

    .parse-upload:has(.parse-thumb)::before {
      display: none;
    }

    .parse-upload-actions {
      gap: 9px;
    }

    .parse-stat-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    .parse-stat {
      min-height: 66px;
      padding: 10px;
      border: 1px solid #e5ebf6;
      border-radius: 11px;
      background: linear-gradient(145deg, #f2f6ff, #fafcff);
      display: grid;
      align-content: center;
      gap: 4px;
      color: #71809a;
    }

    .parse-stat strong {
      color: var(--blue);
      font-size: 20px;
    }

    .parse-stat.warning {
      border-color: #f6e6c9;
      background: linear-gradient(145deg, #fff8e9, #fffdf8);
    }

    .parse-stat.warning strong {
      color: #d7892b;
    }

    .parse-main-card {
      padding: 15px;
      gap: 13px;
      min-width: 0;
    }

    .parse-question-strip {
      min-width: 0;
      max-width: 100%;
      min-height: 42px;
      padding: 7px 10px;
      overflow: hidden;
      border-color: #e5ebf5;
      border-radius: 12px;
      background: linear-gradient(135deg, #f7f9ff, #fbf9ff);
    }

    .parse-question-list {
      min-width: 0;
      max-width: 100%;
      flex-wrap: nowrap;
      gap: 4px;
      padding: 1px 0 5px;
      overflow-x: auto;
      overflow-y: hidden;
      scrollbar-gutter: stable;
      scrollbar-width: auto;
      scrollbar-color: #7184ad transparent;
    }

    .parse-question-list::-webkit-scrollbar {
      height: 12px;
      background: transparent;
    }

    .parse-question-list::-webkit-scrollbar-thumb {
      border-radius: 999px;
      background: #7184ad;
      border: 2px solid transparent;
    }

    .parse-question-list::-webkit-scrollbar-track {
      border-radius: 999px;
      background: transparent;
    }

    .parse-question-list .history-empty {
      min-height: auto;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      display: block;
      color: #8c98ad;
      text-align: left;
    }

    .parse-q-chip {
      flex: 0 0 auto;
      min-width: 29px;
      min-height: 27px;
      padding: 0 7px;
      border-color: #dfe6f3;
      background: #fff;
      color: #64718b;
      font-size: 11px;
    }

    .parse-q-chip.active {
      border-color: transparent;
      background: linear-gradient(135deg, var(--blue), #6e67e9);
      box-shadow: 0 6px 14px rgba(76, 111, 255, .2);
    }

    .parse-question-head {
      padding: 2px 1px 12px;
      border-color: #e8edf5;
    }

    .parse-question-head strong {
      color: #2c3958;
      font-size: 17px;
    }

    .parse-badge {
      background: #fff1df;
      color: #b66d24;
      font-weight: 850;
    }

    .parse-editor-grid {
      gap: 13px;
    }

    .parse-paper-editor-grid {
      grid-template-columns:
        minmax(0, var(--parse-editor-left, 50fr))
        13px
        minmax(0, var(--parse-editor-right, 50fr));
      column-gap: 0;
      row-gap: 13px;
    }

    .parse-paper-editor-grid > .parse-editor-panel:nth-child(1) {
      grid-column: 1;
      grid-row: 1;
    }

    .parse-paper-editor-grid > .parse-editor-panel:nth-child(2) {
      grid-column: 3;
      grid-row: 1;
    }

    .parse-paper-editor-grid > .parse-editor-panel:nth-child(3) {
      grid-column: 1;
      grid-row: 2;
    }

    .parse-paper-editor-grid > .parse-editor-panel:nth-child(4) {
      grid-column: 3;
      grid-row: 2;
    }

    .parse-column-resizer {
      position: relative;
      grid-column: 2;
      grid-row: 1 / 3;
      width: 13px;
      min-width: 13px;
      height: 100%;
      border: 0;
      padding: 0;
      background: transparent;
      cursor: col-resize;
      touch-action: none;
      user-select: none;
    }

    .parse-column-resizer::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 6px;
      width: 2px;
      border-radius: 999px;
      background: rgba(119, 128, 146, .35);
      transition: left .16s ease, width .16s ease, background .16s ease, box-shadow .16s ease;
    }

    .parse-column-resizer:hover::before,
    .parse-column-resizer:focus-visible::before,
    body.resizing-parse-editor .parse-column-resizer::before {
      left: 5px;
      width: 4px;
      background: rgba(65, 105, 225, .72);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .08);
    }

    .parse-column-resizer:focus-visible {
      outline: none;
    }

    body.resizing-parse-editor,
    body.resizing-parse-editor * {
      cursor: col-resize !important;
      user-select: none !important;
    }

    .parse-editor-panel {
      padding: 12px;
      border: 1px solid #e5ebf4;
      border-radius: 13px;
      background: rgba(249, 251, 255, .8);
      gap: 9px;
    }

    .parse-editor-panel h3 {
      color: #46536d;
      font-size: 13px;
      font-weight: 850;
    }

    /* 试卷解析编辑区进一步压缩元数据、标题和答案区域的留白。 */
    .app:has(#page-parse.active) .manual-meta-panel {
      gap: 7px;
      padding: 9px 10px;
      margin-bottom: 9px;
    }

    .app:has(#page-parse.active) .manual-meta-field {
      gap: 3px;
    }

    .app:has(#page-parse.active) .manual-meta-field label {
      font-size: 11px;
    }

    .app:has(#page-parse.active) .manual-meta-field input,
    .app:has(#page-parse.active) .manual-meta-field select {
      min-height: 36px;
      padding: 0 9px;
      font-size: 13px;
    }

    .app:has(#page-parse.active) .parse-editor-grid {
      gap: 9px;
    }

    .app:has(#page-parse.active) .parse-editor-panel {
      padding: 9px;
      gap: 5px;
      grid-template-rows: 24px minmax(0, 1fr);
    }

    .app:has(#page-parse.active) .parse-editor-panel h3 {
      min-height: 24px;
      font-size: 12px;
    }

    .app:has(#page-parse.active) .parse-answer-fields {
      gap: 8px;
      margin-top: 8px;
      padding: 10px 12px;
      border-radius: 12px;
    }

    .app:has(#page-parse.active) .parse-answer-fields label {
      gap: 4px;
      font-size: 12px;
    }

    .app:has(#page-parse.active) .parse-answer-fields input,
    .app:has(#page-parse.active) .parse-answer-fields textarea {
      min-height: 38px;
      padding: 8px 10px;
      line-height: 1.45;
    }

    .app:has(#page-parse.active) .parse-answer-fields textarea {
      min-height: 62px;
    }

    .app:has(#page-parse.active) .parse-answer-fields small {
      font-size: 11px;
      line-height: 1.35;
    }

    .parse-textarea,
    .parse-preview {
      border-color: #dfe6f2;
      border-radius: 10px;
      background: #fff;
      box-shadow: inset 0 1px 3px rgba(55, 73, 122, .035);
    }

    .parse-textarea[readonly] {
      background: #f6f8fc;
    }

    /* 单题编辑：压缩信息密度，并让题目正文随内容自然展开。 */
    #page-questionBank .single-question-detail > .paper-question {
      gap: 12px;
      padding: 14px;
      border-radius: 14px;
      background: rgba(255, 255, 255, .96);
      box-shadow: 0 10px 28px rgba(55, 73, 122, .08);
    }

    #page-questionBank .single-question-edit-head {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 9px;
      padding: 0 1px 10px;
      border-bottom: 1px solid #e5eaf3;
    }

    #page-questionBank .single-question-edit-head strong {
      min-width: 0;
      overflow: hidden;
      color: #34415c;
      font-size: 13px;
      font-weight: 800;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .single-question-edit-kicker,
    .single-question-edit-number {
      display: inline-flex;
      align-items: center;
      min-height: 24px;
      padding: 0 8px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 850;
      white-space: nowrap;
    }

    .single-question-edit-kicker {
      background: #eaf0ff;
      color: #4562c9;
    }

    .single-question-edit-number {
      border: 1px solid #e1e7f0;
      background: #fff;
      color: #6a7891;
    }

    #page-questionBank .single-question-edit-grid {
      padding: 11px;
      border-color: #e2e8f3;
      background: #f8faff;
    }

    #page-questionBank .single-question-edit-tools {
      padding-top: 9px;
      border-top: 1px solid #e5eaf3;
    }

    #page-questionBank .single-question-authoring-card .single-question-edit-tools {
      grid-column: auto;
      padding-top: 0;
      border-top: 0;
      justify-content: flex-end;
    }

    #page-questionBank .single-question-left-editor {
      display: grid;
      gap: 10px;
      min-width: 0;
    }

    #page-questionBank .single-question-paper-editor-grid > .parse-editor-panel:nth-child(1) {
      grid-template-rows: minmax(0, auto);
      gap: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    #page-questionBank .single-question-authoring-card {
      display: grid;
      gap: 8px;
      min-width: 0;
      padding: 10px;
      border: 1px solid #e3e8f2;
      border-radius: 12px;
      background: #f5f7fb;
    }

    #page-questionBank .single-question-authoring-question {
      background: #f1f3f7;
    }

    #page-questionBank .single-question-authoring-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-width: 0;
    }

    #page-questionBank .single-question-authoring-head h3 {
      margin: 0;
      color: #7040db;
      font-size: 16px;
      font-weight: 800;
      line-height: 1.35;
      white-space: nowrap;
    }

    #page-questionBank .single-question-authoring-question .single-question-authoring-head {
      align-items: flex-start;
    }

    #page-questionBank .single-question-authoring-question .parse-result-card-format-toolbar {
      justify-content: flex-end;
      flex: 1 1 auto;
      min-width: 0;
    }

    #page-questionBank .single-question-authoring-question .single-question-edit-tools {
      min-width: 0;
      flex: 1;
      flex-wrap: wrap;
    }

    #page-questionBank .single-question-authoring-card [data-single-auto-resize] {
      min-height: 0;
      height: auto;
      overflow: hidden;
      resize: none;
    }

    #page-questionBank .single-question-paper-editor-grid .parse-textarea.solution[data-single-auto-resize] {
      min-height: 0;
      height: auto;
      overflow: hidden;
      resize: none;
    }

    #page-questionBank .single-question-figure-card p {
      margin: 0;
      padding: 10px 11px;
      border-radius: 9px;
      background: #fff;
      color: #71809a;
      font-size: 12px;
      line-height: 1.65;
    }

    #page-questionBank .single-question-figure-preview {
      display: grid;
      place-items: center;
      min-height: 96px;
      padding: 8px;
      border-radius: 9px;
      background: #fff;
    }

    #page-questionBank .single-question-figure-preview img {
      display: block;
      max-width: 100%;
      max-height: 240px;
      object-fit: contain;
    }

    #page-questionBank .single-question-authoring-status {
      min-width: 0;
      overflow: hidden;
      color: #8490a5;
      font-size: 11px;
      line-height: 1.45;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #page-questionBank .single-question-choice-editor-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    #page-questionBank .single-question-choice-editor-card {
      display: grid;
      gap: 5px;
      padding: 8px;
      border-radius: 9px;
      background: #fff;
      color: #7040db;
      font-size: 13px;
      font-weight: 800;
    }

    #page-questionBank .single-question-choice-editor-card textarea {
      min-height: 64px;
      padding: 9px 10px;
      border-color: #e0e5ef;
      border-radius: 8px;
      background: #fbfcff;
      color: #33415d;
      font-size: 13px;
      line-height: 1.55;
    }

    #page-questionBank .single-question-topic-editor select {
      min-height: 38px;
      border-color: #e0e5ef;
      font-size: 13px;
    }

    #page-questionBank .single-question-tags-editor .single-question-tags-btn {
      height: 32px;
      min-height: 32px;
      padding: 5px 11px;
      color: #2f6fd0;
    }

    #page-questionBank .single-question-tag-list {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      min-height: 34px;
      align-items: center;
      padding: 7px 9px;
      border-radius: 8px;
      background: #fff;
      color: #60708d;
      font-size: 12px;
    }

    #page-questionBank .single-question-tag-list span:not(.is-empty) {
      padding: 4px 8px;
      border-radius: 999px;
      background: #eef3ff;
      color: #536bb8;
    }

    #page-questionBank .single-question-tag-list .is-empty {
      color: #9aa5b8;
    }

    @media (max-width: 900px) {
      #page-questionBank .single-question-choice-editor-grid {
        grid-template-columns: 1fr;
      }
    }

    #page-questionBank .single-question-paper-editor-grid {
      row-gap: 10px;
    }

    #page-questionBank .single-question-paper-editor-grid .parse-editor-panel {
      grid-template-rows: 25px minmax(0, 1fr);
      gap: 5px;
      padding: 9px;
      border-radius: 11px;
      background: #f9fbff;
    }

    #page-questionBank .single-question-paper-editor-grid .parse-editor-panel h3 {
      min-height: 25px;
      font-size: 12px;
    }

    #page-questionBank .single-question-paper-editor-grid .parse-textarea,
    #page-questionBank .single-question-paper-editor-grid .parse-preview {
      padding: 11px 12px;
      font-size: 14px;
      line-height: 1.65;
    }

    #page-questionBank .single-question-paper-editor-grid .parse-preview .latex-image {
      background: #fff;
    }

    #page-questionBank .single-question-detail .parse-preview .latex-image {
      background: #fff;
    }

    @media (min-width: 901px) and (max-width: 1100px) {
      .single-question-edit-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .single-question-source-field {
        grid-column: span 2;
      }
    }

    /* 试卷解析编辑框与右侧预览统一中文字体、字号和行高，避免左右观感不一致。 */
    .app:has(#page-parse.active) .parse-textarea {
      font-family: Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
      font-size: 15px;
      line-height: 1.8;
    }

    .app:has(#page-parse.active) .parse-preview {
      font-size: 15px;
    }

    /* Practice cards */
    #page-paperPractice .page-panel {
      min-height: calc(100vh - 145px);
      padding: clamp(18px, 2.5vw, 30px);
    }

    #page-paperPractice .paper-board {
      width: min(100%, 1160px);
      margin: 0 auto;
      gap: 18px;
    }

    #page-paperPractice .history-empty {
      min-height: 360px;
      position: relative;
      padding-top: 120px;
      font-size: 15px;
      font-weight: 750;
    }

    #page-paperPractice .history-empty::before {
      content: "";
      position: absolute;
      top: 74px;
      left: 50%;
      width: 48px;
      height: 58px;
      border: 2px solid #9fb4e5;
      border-radius: 10px;
      background: linear-gradient(145deg, #fff, #eef3ff);
      box-shadow: 10px 10px 0 #e9e2ff;
      transform: translateX(-50%) rotate(-4deg);
    }

    .paper-question {
      padding: clamp(18px, 2vw, 26px);
      border-color: #e1e8f3;
      border-radius: 17px;
      background: rgba(255, 255, 255, .93);
      box-shadow: var(--shadow-sm);
      gap: 16px;
    }

    .paper-question:first-child {
      background:
        radial-gradient(circle at 92% 15%, rgba(224, 213, 255, .45), transparent 30%),
        linear-gradient(135deg, #f1f6ff, #fffafd);
      border-color: rgba(76, 111, 255, .14);
    }

    .paper-question-head {
      color: #78859c;
      font-weight: 800;
    }

    .paper-practice-history {
      overflow: hidden;
      border: 1px solid #dfe7f5;
      border-radius: 15px;
      background: rgba(255, 255, 255, .94);
      box-shadow: var(--shadow-sm);
    }

    .paper-practice-history > summary {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 20px;
      color: #33415f;
      font-weight: 850;
      cursor: pointer;
    }

    .paper-practice-history > summary::marker {
      color: #5d77c7;
    }

    .paper-practice-history > summary span:last-child {
      color: #7c89a1;
      font-size: 13px;
    }

    .paper-practice-history-list {
      display: grid;
      gap: 10px;
      max-height: 440px;
      overflow: auto;
      padding: 0 16px 16px;
    }

    .paper-practice-history-item {
      display: grid;
      gap: 8px;
      padding: 13px 15px;
      border: 1px solid #e4eaf4;
      border-radius: 11px;
      background: #fbfcff;
      color: #4a5871;
      line-height: 1.6;
      white-space: pre-wrap;
    }

    .paper-practice-history-meta {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .paper-practice-history-meta time {
      margin-left: auto;
      color: #8994a8;
      font-size: 12px;
    }

    .paper-practice-history-result {
      padding: 2px 9px;
      border-radius: 999px;
      background: #edf1f8;
      color: #65728a;
      font-size: 12px;
      font-weight: 850;
    }

    .paper-practice-history-result.correct {
      background: #e8f7ef;
      color: #2f8159;
    }

    .paper-practice-history-result.wrong {
      background: #fff0ef;
      color: #c45750;
    }

    .paper-practice-history-more {
      justify-self: center;
      min-width: 132px;
      margin-top: 4px;
    }

    .practice-history-page {
      display: grid;
      gap: 18px;
    }

    .practice-history-page-head {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 18px;
      padding: 20px 22px;
      border: 1px solid #dfe7f5;
      border-radius: 16px;
      background: linear-gradient(135deg, #f1f6ff, #fffafd);
      box-shadow: var(--shadow-sm);
    }

    .practice-history-page-head > div {
      display: grid;
      gap: 8px;
    }

    .practice-history-page-head .practice-history-page-actions {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .practice-history-page-head h2,
    .practice-history-page-head p {
      margin: 0;
    }

    .practice-history-page-head p {
      color: #7b879d;
      font-size: 14px;
      font-weight: 700;
    }

    .practice-paper-list {
      display: grid;
      gap: 0;
      overflow: hidden;
      border: 1px solid #e0e7f3;
      border-radius: 15px;
      background: #fff;
      box-shadow: var(--shadow-sm);
    }

    .practice-paper-list-head,
    .practice-paper-list-row {
      display: grid;
      grid-template-columns: minmax(280px, 1fr) 88px 88px 88px minmax(128px, auto) 92px;
      align-items: center;
      gap: 14px;
    }

    .practice-paper-list-head {
      padding: 11px 18px;
      border-bottom: 1px solid #e5ebf5;
      background: #f6f8fc;
      color: #7c889d;
      font-size: 12px;
      font-weight: 800;
    }

    .practice-paper-list-head span:not(:first-child) {
      text-align: center;
    }

    .practice-paper-list-row {
      min-width: 0;
      padding: 16px 18px;
      border: 0;
      border-bottom: 1px solid #edf0f6;
      background: #fff;
      color: #33405d;
      text-align: left;
      cursor: pointer;
      transition: background .16s ease, box-shadow .16s ease;
    }

    .practice-paper-list-row:last-child {
      border-bottom: 0;
    }

    .practice-paper-list-row:hover {
      background: #f8faff;
      box-shadow: inset 3px 0 #4c6fff;
    }

    .practice-paper-list-main {
      display: grid;
      gap: 5px;
      min-width: 0;
    }

    .practice-paper-list-main > div {
      display: flex;
      align-items: center;
      gap: 9px;
      min-width: 0;
    }

    .practice-paper-list-main strong {
      min-width: 0;
      overflow: hidden;
      color: #27344f;
      font-size: 16px;
      line-height: 1.5;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .practice-paper-list-main span {
      flex: 0 0 auto;
      padding: 3px 9px;
      border-radius: 999px;
      background: #edf2ff;
      color: #536fbf;
      font-size: 12px;
      font-weight: 850;
    }

    .practice-paper-list-main p {
      overflow: hidden;
      margin: 0;
      color: #7b879b;
      font-size: 13px;
      line-height: 1.5;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .practice-paper-list-metrics {
      display: contents;
    }

    .practice-paper-list-stat {
      display: flex;
      align-items: baseline;
      justify-content: center;
      gap: 3px;
      color: #748096;
    }

    .practice-paper-list-stat b {
      color: #3c4b69;
      font-size: 16px;
      font-weight: 900;
    }

    .practice-paper-list-stat small {
      font-size: 12px;
      font-weight: 750;
    }

    .practice-paper-list-row time {
      color: #8b96a9;
      font-size: 13px;
      font-weight: 650;
      text-align: center;
    }

    .practice-paper-list-action {
      color: #4c6fff;
      font-size: 13px;
      font-weight: 850;
      text-align: right;
      white-space: nowrap;
    }

    .practice-paper-list-action span {
      font-size: 18px;
      vertical-align: -1px;
    }

    .practice-paper-more {
      justify-self: center;
      min-width: 150px;
    }

    .practice-question-record-list {
      display: grid;
      gap: 10px;
    }

    .practice-question-record {
      display: grid;
      grid-template-columns: minmax(100px, auto) minmax(0, 1fr) auto;
      align-items: center;
      gap: 16px;
      padding: 15px 17px;
      border: 1px solid #e1e8f3;
      border-radius: 13px;
      background: #fff;
      box-shadow: var(--shadow-sm);
    }

    .practice-question-record-number {
      color: #2e3d5c;
      font-size: 16px;
      font-weight: 900;
    }

    .practice-question-record-meta {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px 13px;
      color: #718097;
      font-size: 13px;
      font-weight: 750;
    }

    .practice-question-record-meta time {
      margin-left: auto;
      color: #939cad;
      font-weight: 650;
    }

    .practice-answer-toolbar {
      display: flex;
      justify-content: flex-end;
    }

    @media (max-width: 1040px) {
      .practice-paper-list-head {
        display: none;
      }

      .practice-paper-list-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px 16px;
      }

      .practice-paper-list-metrics {
        display: flex;
        grid-column: 1;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px 16px;
      }

      .practice-paper-list-stat {
        justify-content: flex-start;
      }

      .practice-paper-list-row time {
        text-align: left;
      }

      .practice-paper-list-action {
        grid-column: 2;
        grid-row: 1 / 3;
        align-self: center;
      }
    }

    @media (max-width: 860px) {
      .practice-paper-list-row {
        padding: 14px;
      }

      .practice-history-page-head,
      .practice-question-record {
        align-items: stretch;
        grid-template-columns: 1fr;
      }

      .practice-history-page-head {
        flex-direction: column;
      }

      .practice-history-page-head .practice-history-page-actions {
        align-self: stretch;
        flex-wrap: wrap;
      }

      .practice-question-record-meta time {
        width: 100%;
        margin-left: 0;
      }
    }

    .paper-practice-section {
      display: grid;
      gap: 5px;
      margin: 10px 2px -2px;
      padding: 14px 18px;
      border-left: 4px solid #4c6fff;
      border-radius: 0 12px 12px 0;
      background: linear-gradient(90deg, #eef3ff, rgba(255, 255, 255, .72));
      color: #263554;
    }

    .paper-practice-section strong {
      font-size: 18px;
      line-height: 1.45;
    }

    .paper-practice-section span {
      color: #72809a;
      font-size: 13px;
      font-weight: 750;
      line-height: 1.6;
    }

    .paper-stem {
      color: #2f3a55;
      font-size: 16px;
      line-height: 1.85;
    }

    .paper-answer-input {
      min-height: 104px;
      padding: 14px 15px;
      border-color: #dfe6f2;
      border-radius: 11px;
      background: #fbfcff;
    }

    .paper-answer-input.english-task-answer,
    .paper-answer-input.english-translation-answer {
      min-height: 138px;
      font-family: "Times New Roman", "Songti SC", serif;
      line-height: 1.75;
    }

    .paper-answer-input.english-writing-answer {
      min-height: 230px;
      font-family: "Times New Roman", "Songti SC", serif;
      font-size: 16px;
      line-height: 1.9;
    }

    .paper-answer-input.chinese-subjective-answer,
    .paper-answer-input.chinese-dictation-answer {
      min-height: 148px;
      font-family: "Songti SC", "STSong", serif;
      line-height: 1.85;
    }

    .paper-answer-input.chinese-writing-answer {
      min-height: 280px;
      font-family: "Songti SC", "STSong", serif;
      font-size: 16px;
      line-height: 1.9;
    }

    .chinese-writing-count {
      margin-top: -4px;
      color: #7b8498;
      font-size: 13px;
      font-weight: 700;
      text-align: right;
    }

    .chinese-writing-count.warning {
      color: #c66a24;
    }

    .chinese-writing-count.ok {
      color: #33815d;
    }

    .chinese-answer-fields {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin-top: 16px;
      padding: 16px;
      border: 1px solid #d9e3f5;
      border-radius: 16px;
      background: #f8faff;
    }

    .chinese-answer-fields.is-hidden {
      display: none;
    }

    .chinese-answer-fields label {
      display: grid;
      gap: 8px;
      color: #34415a;
      font-weight: 700;
    }

    .chinese-answer-fields textarea {
      min-height: 150px;
      padding: 12px 14px;
      border: 1px solid #ccd8ed;
      border-radius: 12px;
      background: #fff;
      color: #27334c;
      font: inherit;
      font-weight: 400;
      line-height: 1.7;
      resize: vertical;
    }

    .single-question-answer-fields {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 16px;
      padding: 16px;
      border: 1px solid #d9e3f5;
      border-radius: 16px;
      background: #f8faff;
    }

    .single-question-answer-fields label {
      display: grid;
      gap: 8px;
      color: #34415a;
      font-weight: 700;
    }

    .single-question-answer-fields textarea,
    .single-question-answer-fields input,
    .single-question-answer-fields select {
      min-height: 86px;
      padding: 12px 14px;
      border: 1px solid #ccd8ed;
      border-radius: 12px;
      background: #fff;
      color: #27334c;
      font: inherit;
      font-weight: 400;
      line-height: 1.7;
      resize: vertical;
    }

    .single-question-answer-fields select {
      min-height: 46px;
      resize: none;
    }

    .single-question-answer-fields input {
      min-height: 46px;
      resize: none;
    }

    .single-question-answer-fields small {
      color: #7b8498;
      font-size: 12px;
      line-height: 1.5;
      font-weight: 600;
    }

    .chinese-answer-guide {
      display: grid;
      gap: 12px;
      margin-top: 14px;
    }

    .chinese-answer-guide-section {
      display: grid;
      gap: 6px;
      padding: 12px 14px;
      border-left: 4px solid #7897e8;
      border-radius: 8px;
      background: #f5f8ff;
    }

    .chinese-answer-guide-section > strong {
      color: #2f477f;
    }

    .mistake-chinese-answer-guide {
      margin-top: 16px;
    }

    .paper-reference-answer-content {
      padding: 12px 14px;
      border: 1px solid rgba(89, 163, 126, .22);
      border-radius: 10px;
      background: rgba(255, 255, 255, .72);
      color: #2f4b3d;
      font-family: "Times New Roman", "Songti SC", serif;
      line-height: 1.8;
      white-space: pre-wrap;
    }

    @media (max-width: 900px) {
      .chinese-answer-fields,
      .single-question-answer-fields {
        grid-template-columns: 1fr;
      }
    }

    .similar-choice {
      border-color: #e0e7f2;
      border-radius: 12px;
      background: #fbfcff;
    }

    .similar-choice:hover,
    .similar-choice.selected {
      border-color: rgba(76, 111, 255, .45);
      background: var(--blue-soft);
    }

    .choice-letter {
      background: linear-gradient(135deg, #607dce, #4f64a8);
    }

    .practice-feedback {
      color: #7f8ba1;
      font-weight: 750;
    }

    .paper-explanation {
      padding: 18px;
      border-color: #cfe9dc;
      border-radius: 12px;
      background: linear-gradient(145deg, #f0fbf5, #fbfffd);
    }

    .site-footer {
      color: #97a1b3;
    }

    @media (max-width: 1260px) {
      .paper-library-main {
        grid-template-columns: 1fr;
      }

      .paper-library-actions {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        min-width: 0;
        margin-top: 4px;
      }

      .parse-workbench {
        grid-template-columns: 278px minmax(0, 1fr);
      }
    }

    @media (max-width: 1060px) {
      .shell {
        gap: 0;
      }

      .side-nav {
        margin: 10px;
        min-height: auto;
        border: 1px solid rgba(224, 231, 245, .92);
        border-radius: 16px;
        padding: 12px;
      }

      .nav-head {
        padding-bottom: 4px;
      }

      .nav-list {
        gap: 6px;
      }

      .nav-item {
        padding: 0 15px;
      }

      .nav-item::before {
        display: none;
      }

      .app {
        padding: 12px 18px 28px;
      }
    }

    @media (max-width: 900px) {
      .paper-view-layout {
        grid-template-columns: minmax(0, 1fr);
      }

      .paper-library-toolbar {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
      }

      .paper-library-toolbar .btn {
        flex: 1 1 120px;
        width: auto;
      }

      .paper-library-toolbar .paper-layout-picker {
        flex: 1 1 150px;
      }

      .parse-workbench {
        grid-template-columns: 1fr;
      }

      .parse-paper-editor-grid {
        grid-template-columns: 1fr;
        gap: 13px;
      }

      .parse-paper-editor-grid > .parse-editor-panel:nth-child(1),
      .parse-paper-editor-grid > .parse-editor-panel:nth-child(2),
      .parse-paper-editor-grid > .parse-editor-panel:nth-child(3),
      .parse-paper-editor-grid > .parse-editor-panel:nth-child(4) {
        grid-column: 1;
        grid-row: auto;
      }

      .parse-column-resizer {
        display: none;
      }

      .parse-side {
        position: static;
      }

      .parse-stat-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .app {
        padding: 10px 12px 24px;
      }

      .hero {
        min-height: 58px;
        margin-bottom: 12px;
      }

      h1 {
        font-size: 24px;
      }

      .page-panel,
      #page-paper .page-panel {
        padding: 14px;
        border-radius: 15px;
      }

      .single-question-filters {
        padding: 12px;
      }

      .library-subject-tabs {
        margin: 0 -4px;
        padding: 0 2px;
        gap: 4px;
      }

      .library-subject-tab {
        min-width: 68px;
        min-height: 42px;
        padding: 0 14px;
      }

      .library-subject-tab::after {
        left: 14px;
        right: 14px;
      }

      .parse-topbar,
      .parse-meta {
        grid-template-columns: 1fr;
      }

      .parse-main-card {
        padding: 11px;
      }

      .parse-question-head {
        align-items: flex-start;
        flex-direction: column;
      }

      .parse-editor-panel {
        padding: 9px;
      }

      .paper-library-actions .history-action-pill {
        flex: 1 1 auto;
        justify-content: center;
      }

      .choice-two-column-grid {
        grid-template-columns: 1fr;
      }

      .choice-two-column-grid.paper-choice-row-layout {
        grid-template-columns: repeat(var(--paper-choice-columns, 2), minmax(0, 1fr));
      }

      .parse-choice-edit-actions,
      .parse-add-mode-options,
      .parse-choice-batch-list,
      .parse-choice-preview-grid {
        grid-template-columns: 1fr;
      }
    }

    /* 试卷解析标签保留独立拖入入口，缩略图仍交给原卷预览统一展示。 */
    #parseInputFrame .parse-thumb-grid {
      display: none;
    }

    .parse-workbench.parse-view-analysis #parseInputFrame {
      display: grid;
      min-height: 126px;
    }

    .parse-workbench.parse-view-source #parseInputFrame {
      display: none;
    }

    .parse-workbench.parse-view-result #parseInputFrame {
      display: none;
    }

    .parse-analysis-upload-settings {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 10px;
      padding: 9px 10px;
      border: 1px solid #e3e9f3;
      border-radius: 10px;
      background: #f8faff;
    }

    .parse-analysis-upload-settings-title {
      color: #5f6f89;
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    /* 题号列表回到原来的横向题号条位置。 */
    .parse-main-card {
      grid-template-columns: minmax(0, 1fr);
    }

    .parse-main-card > .parse-question-strip,
    .parse-main-card > .parse-question-head,
    .parse-main-card > .manual-meta-panel,
    .parse-main-card > .parse-editor-grid,
    .parse-main-card > .parse-page-card-board,
    .parse-main-card > .parse-answer-fields {
      grid-column: auto;
      grid-row: auto;
    }

    .parse-main-card > .parse-question-strip {
      position: static;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 10px;
    }

    .parse-question-sequence-warning {
      grid-column: 1 / -1;
      padding: 9px 12px;
      border: 1px solid rgba(217, 145, 31, .35);
      border-radius: 9px;
      background: rgba(255, 244, 214, .78);
      color: #8a5b12;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.55;
    }

    .parse-question-sequence-warning[hidden] {
      display: none !important;
    }

    .parse-main-card .parse-question-list {
      display: flex;
      grid-template-columns: none;
      max-height: none;
      overflow-x: auto;
      overflow-y: hidden;
      padding: 1px 0 5px;
    }

    .parse-main-card .parse-q-chip {
      width: auto;
      min-height: 27px;
      justify-content: center;
      border-radius: 999px;
      text-align: center;
    }

    /* 原卷预览与解析题卡之间的可调分隔条。 */
    @media (min-width: 901px) {
      .parse-workbench {
        grid-template-columns: minmax(240px, var(--parse-source-width, 520px)) 13px minmax(0, 1fr);
      }
    }

    .parse-source-resizer {
      position: relative;
      align-self: stretch;
      width: 13px;
      min-width: 13px;
      min-height: 100%;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: col-resize;
      touch-action: none;
      user-select: none;
    }

    .parse-source-resizer::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 6px;
      width: 2px;
      border-radius: 999px;
      background: rgba(119, 128, 146, .35);
      transition: left .16s ease, width .16s ease, background .16s ease, box-shadow .16s ease;
    }

    .parse-source-resizer:hover::before,
    .parse-source-resizer:focus-visible::before,
    body.resizing-parse-source .parse-source-resizer::before {
      left: 5px;
      width: 4px;
      background: rgba(65, 105, 225, .72);
      box-shadow: 0 0 0 3px rgba(65, 105, 225, .08);
    }

    .parse-source-resizer:focus-visible {
      outline: none;
    }

    body.resizing-parse-source,
    body.resizing-parse-source * {
      cursor: col-resize !important;
      user-select: none !important;
    }

    @media (max-width: 900px) {
      .parse-source-resizer {
        display: none;
      }
    }

    /* 试卷解析编辑区改为无卡片边框，减少题目与答案区域的视觉割裂。 */
    .app:has(#page-parse.active) .parse-editor-panel,
    .app:has(#page-parse.active) .parse-answer-fields {
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }

    .app:has(#page-parse.active) .parse-editor-panel {
      padding: 0;
    }

    .app:has(#page-parse.active) .parse-textarea,
    .app:has(#page-parse.active) .parse-preview,
    .app:has(#page-parse.active) .parse-answer-fields input,
    .app:has(#page-parse.active) .parse-answer-fields textarea {
      border: 0;
      border-radius: 8px;
      background: #fff;
      box-shadow: none;
    }

    .app:has(#page-parse.active) .parse-answer-fields {
      padding: 0;
    }

    /* 试卷解析结果采用“我的题库”式题卡列表；编辑区保留在手工录题模式使用。 */
    .app:has(#page-parse.active) .parse-workbench:not(.manual-mode):not(.parse-card-editing) .parse-editor-grid,
    .app:has(#page-parse.active) .parse-workbench:not(.manual-mode):not(.parse-card-editing) .parse-answer-fields {
      display: none !important;
    }

    .app:has(#page-parse.active) .parse-workbench:not(.manual-mode) .parse-page-card-board {
      border: 0;
      padding: 0;
      background: transparent;
      box-shadow: none;
    }

    .app:has(#page-parse.active) .parse-workbench:not(.manual-mode) .parse-page-card-head {
      padding: 2px 2px 0;
    }

    .app:has(#page-parse.active) .parse-workbench:not(.manual-mode) .parse-page-card-head h3 {
      color: #273652;
      font-size: 16px;
    }

    .app:has(#page-parse.active) .parse-workbench:not(.manual-mode) .parse-page-cards {
      gap: 12px;
    }

    .parse-result-card {
      gap: 0;
      padding: 0;
      overflow: hidden;
      border-color: #e0e7f2;
      background: #fff;
      box-shadow: 0 5px 16px rgba(55, 73, 122, .055);
      cursor: pointer;
    }

    .parse-result-card-empty {
      min-height: 180px;
      display: grid;
      place-items: center;
      padding: 24px;
      border: 1px dashed #dbe3ef;
      border-radius: 12px;
      background: #fbfcff;
      color: #8b98ad;
      font-size: 13px;
      font-weight: 750;
      text-align: center;
    }

    .parse-result-card:hover,
    .parse-result-card.selected,
    .parse-result-card.is-current {
      border-color: rgba(76, 111, 255, .68);
      box-shadow: 0 8px 20px rgba(76, 111, 255, .12);
    }

    .parse-result-card-head {
      min-height: 42px;
      padding: 8px 12px;
      border-bottom: 1px solid #edf1f7;
      background: #f8faff;
    }

    .parse-result-card:has(.parse-result-card-hover-save) .parse-result-card-head {
      padding-right: 82px;
    }

    .parse-result-card-hover-save {
      position: absolute;
      z-index: 6;
      top: 8px;
      right: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 27px;
      padding: 0 10px;
      border: 1px solid #cbd9f3;
      border-radius: 999px;
      background: #f7faff;
      color: #476eb5;
      font: inherit;
      font-size: 11px;
      font-weight: 750;
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .14s ease, background-color .14s ease, border-color .14s ease;
    }

    .parse-result-card:hover .parse-result-card-hover-save,
    .parse-result-card:focus-within .parse-result-card-hover-save {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    .parse-result-card-hover-save:hover:not(:disabled),
    .parse-result-card-hover-save:focus-visible {
      border-color: #86d29d;
      background: #ebfff0;
      color: #35af61;
      outline: none;
    }

    .parse-result-card-hover-save:disabled {
      cursor: not-allowed;
      opacity: .5;
    }

    .parse-result-card-head .question-center-card-source {
      color: #33415d;
      font-size: 13px;
    }

    .parse-result-card-head .question-center-card-author {
      color: #7e8ba0;
      font-size: 11px;
    }

    .parse-result-card-body {
      min-width: 0;
      padding: 14px 16px 8px;
    }

    .parse-result-card-body > .exam-question {
      gap: 8px;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }

    .parse-result-card-body .markdown-table-wrap {
      max-width: 100%;
      margin: 12px 0;
      overflow-x: auto;
      border: 1px solid #dfe6f2;
      border-radius: 7px;
      background: #fff;
    }

    .parse-result-card-body table.markdown-table {
      width: 100%;
      min-width: 420px;
      border-collapse: collapse;
      color: #26344c;
      font-size: .92em;
      line-height: 1.55;
    }

    .parse-result-card-body table.markdown-table th,
    .parse-result-card-body table.markdown-table td {
      position: relative;
      border: 1px solid #dfe6f2;
      padding: 8px 10px;
      vertical-align: top;
      text-align: left;
    }

    .parse-result-card-body table.markdown-table th {
      background: #f6f8fc;
      font-weight: 800;
    }

    .parse-result-card-body .parse-table-cell-resize-handle {
      position: absolute;
      right: -1px;
      bottom: -1px;
      z-index: 3;
      width: 14px;
      height: 14px;
      border-right: 3px solid rgba(74, 111, 230, .72);
      border-bottom: 3px solid rgba(74, 111, 230, .72);
      border-radius: 0 0 3px;
      cursor: nwse-resize;
      opacity: 0;
      touch-action: none;
      transition: opacity .15s ease, border-color .15s ease;
    }

    .parse-result-card-body table.markdown-table th:hover > .parse-table-cell-resize-handle,
    .parse-result-card-body table.markdown-table td:hover > .parse-table-cell-resize-handle,
    .parse-result-card-body table.markdown-table th.is-resizing > .parse-table-cell-resize-handle,
    .parse-result-card-body table.markdown-table td.is-resizing > .parse-table-cell-resize-handle {
      opacity: 1;
    }

    .parse-result-card-body table.markdown-table th.is-resizing,
    .parse-result-card-body table.markdown-table td.is-resizing {
      outline: 2px solid rgba(74, 111, 230, .42);
      outline-offset: -2px;
    }

    .parse-preview .parse-table-cell-resize-handle,
    .exam-paper .parse-table-cell-resize-handle {
      display: none;
    }

    .parse-result-card-editor {
      display: grid;
      gap: 12px;
      margin: 0 14px 12px;
      padding: 14px;
      border: 1px solid #dfe7f4;
      border-radius: 12px;
      background: linear-gradient(180deg, #f8faff, #f4f7fc);
    }

    .parse-card-edit-modal {
      display: none;
    }

    .single-question-card-modal {
      position: fixed;
      z-index: 1200;
      inset: 0;
      display: grid;
      place-items: center;
      padding: 16px;
      background: rgba(31, 43, 67, .32);
      backdrop-filter: blur(2px);
    }

    .single-question-card-modal[hidden] {
      display: none;
    }

    .single-question-card-dialog {
      display: grid;
      grid-template-rows: 44px minmax(0, 1fr);
      width: min(1500px, calc(100vw - 32px));
      height: min(900px, calc(100dvh - 32px));
      min-height: 0;
      overflow: hidden;
      border: 1px solid #dce4f1;
      border-radius: 16px;
      background: #f7f9fd;
      box-shadow: 0 22px 70px rgba(24, 38, 67, .24);
    }

    .single-question-card-dialog-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 0 14px;
      border-bottom: 1px solid #e3e9f3;
      background: #fff;
      color: #33415d;
      font-size: 14px;
    }

    .single-question-card-dialog-close {
      display: grid;
      place-items: center;
      width: 30px;
      height: 30px;
      border: 1px solid #e1e8f2;
      border-radius: 8px;
      background: #f7f9fd;
      color: #697894;
      font-size: 20px;
      line-height: 1;
      cursor: pointer;
    }

    .single-question-card-dialog-close:hover {
      border-color: #cbd7ea;
      background: #eef3fb;
      color: #3e5f9f;
    }

    .single-question-card-dialog-host {
      min-width: 0;
      min-height: 0;
      overflow: auto;
    }

    .single-question-card-dialog-host > .parse-workbench {
      width: 100%;
      height: 100%;
      min-height: 0;
    }

    .single-question-card-dialog-host .parse-card-edit-dialog-panel {
      height: calc(100dvh - 110px);
      min-height: 0;
      max-height: none;
    }

    .parse-workbench.parse-view-edit {
      display: block;
    }

    .parse-workbench.parse-view-edit > .parse-side,
    .parse-workbench.parse-view-edit > .parse-source-resizer,
    .parse-workbench.parse-view-edit > .parse-main-card > :not(.parse-page-card-board),
    .parse-workbench.parse-view-edit .parse-page-cards > .parse-result-card:not(:has(.parse-card-edit-modal)),
    .parse-workbench.parse-view-edit .parse-result-card:has(.parse-card-edit-modal) > .parse-result-card-head,
    .parse-workbench.parse-view-edit .parse-result-card:has(.parse-card-edit-modal) > .parse-result-card-body,
    .parse-workbench.parse-view-edit .parse-result-card:has(.parse-card-edit-modal) > .parse-result-card-foot,
    .parse-workbench.parse-view-edit .parse-result-card:has(.parse-card-edit-modal) > .parse-result-card-answer {
      display: none !important;
    }

    .parse-workbench.parse-view-edit > .parse-main-card,
    .parse-workbench.parse-view-edit .parse-page-card-board,
    .parse-workbench.parse-view-edit .parse-page-cards,
    .parse-workbench.parse-view-edit .parse-result-card:has(.parse-card-edit-modal) {
      display: block;
      min-width: 0;
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      box-shadow: none;
    }

    .parse-workbench.parse-view-edit .parse-card-edit-modal {
      display: block;
    }

    .parse-card-edit-dialog-panel {
      position: relative;
      display: grid;
      grid-template-rows: minmax(0, 1fr);
      width: 100%;
      height: calc(100vh - 165px);
      min-height: 640px;
      max-height: 920px;
      overflow: hidden;
      border: 1px solid #dbe4f2;
      border-radius: 18px;
      background: #f7f9fd;
      box-shadow: 0 14px 38px rgba(43, 61, 101, .12);
    }

    .parse-card-edit-dialog-workspace {
      display: grid;
      grid-template-columns: minmax(480px, .95fr) minmax(520px, 1.05fr);
      min-height: 0;
      height: 100%;
    }

    .parse-card-edit-dialog-editor,
    .parse-card-edit-dialog-preview {
      min-width: 0;
      min-height: 0;
      overflow: auto;
    }

    .parse-card-edit-dialog-editor {
      padding: 10px;
      border-right: 1px solid #e1e7f1;
      background: #f5f7fb;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }

    .parse-card-edit-dialog-editor::-webkit-scrollbar {
      width: 0;
      height: 0;
      display: none;
    }

    .parse-card-edit-dialog-editor .parse-result-card-editor {
      margin: 0;
      border: 0;
      background: transparent;
    }

    .parse-card-edit-dialog-preview {
      padding: 8px;
      background: #eef3fa;
    }

    .parse-card-live-preview-card {
      margin: 0;
      background: #fff;
      box-shadow: 0 10px 28px rgba(61, 79, 116, .08);
    }

    .parse-card-live-preview-card .parse-result-card-body {
      min-height: 260px;
    }

    .parse-card-live-preview-details {
      display: grid;
      gap: 7px;
      margin: 0 12px 12px;
      padding-top: 9px;
      border-top: 1px solid #e8edf5;
    }

    .parse-card-live-preview-details-difficulty {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #74809a;
      font-size: 12px;
    }

    .parse-card-live-preview-details-difficulty > strong {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      color: #e5a52f;
      font-size: 13px;
      letter-spacing: .04em;
    }

    .parse-card-live-preview-details-difficulty small {
      color: #64728a;
      font-size: 11px;
      font-weight: 650;
      letter-spacing: 0;
    }

    .parse-card-live-preview-detail {
      display: grid;
      grid-template-columns: 72px minmax(0, 1fr);
      gap: 8px;
      padding: 8px 10px;
      border: 1px solid #e6ebf3;
      border-radius: 9px;
      background: #fbfcff;
    }

    .parse-card-live-preview-detail > strong {
      color: #5876ba;
      font-size: 12px;
      line-height: 1.65;
    }

    .parse-card-live-preview-detail > div {
      min-width: 0;
      color: #536079;
      font-size: 13px;
      line-height: 1.65;
      overflow-wrap: anywhere;
    }

    .parse-card-live-preview-detail > div > :first-child {
      margin-top: 0;
    }

    .parse-card-live-preview-detail > div > :last-child {
      margin-bottom: 0;
    }

    .parse-card-live-preview-empty {
      color: #a0a9b8;
    }

    .parse-result-card-editor-head,
    .parse-result-card-editor-foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }

    .parse-result-card-editor-head > div {
      display: grid;
      gap: 3px;
    }

    .parse-result-card-editor-tools {
      display: inline-flex !important;
      align-items: center;
      gap: 7px;
      flex-wrap: wrap;
    }

    .parse-result-card-editor-tool {
      min-height: 30px;
      padding: 0 10px;
      border: 1px solid #cbd9f4;
      border-radius: 8px;
      background: #fff;
      color: #416dbb;
      font: inherit;
      font-size: 12px;
      font-weight: 750;
      cursor: pointer;
    }

    .parse-result-card-editor-tool:hover {
      border-color: #8eacf0;
      background: #f5f8ff;
    }

    .parse-result-card-editor-head strong {
      color: #2e4268;
      font-size: 13px;
    }

    .parse-result-card-editor-head span,
    .parse-result-card-editor-foot > span {
      color: #8491a7;
      font-size: 11px;
      font-weight: 700;
    }

    .parse-result-card-editor-badge {
      padding: 4px 8px;
      border-radius: 999px;
      background: #e8efff;
      color: #5576bb !important;
      font-size: 10px !important;
      font-weight: 850 !important;
      white-space: nowrap;
    }

    .parse-result-card-editor-meta {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }

    .parse-result-card-editor-meta label,
    .parse-result-card-editor-field {
      display: grid;
      gap: 5px;
      color: #64738d;
      font-size: 11px;
      font-weight: 800;
    }

    .parse-result-card-editor-meta input,
    .parse-result-card-editor-meta select,
    .parse-result-card-editor-tags input,
    .parse-result-card-editor-standard-answer input,
    .parse-result-card-editor-standard-answer select,
    .parse-result-card-editor-field textarea {
      width: 100%;
      box-sizing: border-box;
      border: 1px solid #dce5f2;
      border-radius: 8px;
      background: #fff;
      color: #33415d;
      font: inherit;
      outline: none;
    }

    .parse-result-card-editor-meta input,
    .parse-result-card-editor-meta select {
      height: 32px;
      padding: 0 8px;
      font-size: 12px;
      font-weight: 700;
    }

    .parse-result-card-editor-tags input {
      height: 38px;
      padding: 0 10px;
      font-size: 12px;
      font-weight: 600;
    }

    .parse-result-card-editor-standard-answer input,
    .parse-result-card-editor-standard-answer select {
      width: 100%;
      min-height: 38px;
      box-sizing: border-box;
      padding: 0 10px;
      font-size: 13px;
      font-weight: 600;
    }

    .parse-result-card-editor-standard-answer [hidden] {
      display: none;
    }

    .parse-result-card-editor-difficulty {
      min-width: 0;
      margin: 0;
      padding: 9px 12px 11px;
      border: 1px solid #e1e8f4;
      border-radius: 10px;
      background: #fff;
    }

    .parse-result-card-editor-difficulty legend {
      padding: 0 4px;
      color: #64738d;
      font-size: 11px;
      font-weight: 800;
    }

    .parse-result-card-editor-stars {
      display: flex;
      align-items: center;
      min-height: 26px;
      gap: 2px;
    }

    .parse-result-card-editor-star {
      width: 20px;
      height: 20px;
      padding: 0;
      border: 0;
      border-radius: 7px;
      background: transparent;
      color: #d5dce8;
      font: inherit;
      font-size: 15px;
      line-height: 1;
      cursor: pointer;
      transition: color .15s ease, background .15s ease, transform .15s ease;
    }

    .parse-result-card-editor-star:hover,
    .parse-result-card-editor-star:focus-visible {
      background: #fff7e7;
      color: #f2b84b;
      outline: none;
      transform: translateY(-1px);
    }

    .parse-result-card-editor-star.active {
      color: #f3aa2f;
    }

    [data-parse-card-difficulty-label] {
      margin-left: 7px;
      color: #7d899e;
      font-size: 11px;
      font-weight: 650;
    }

    .parse-result-card-editor-field textarea {
      min-height: 74px;
      padding: 9px 10px;
      resize: none;
      font-size: 13px;
      font-weight: 550;
      line-height: 1.6;
    }

    .parse-result-card-content-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      min-width: 0;
    }

    .parse-result-card-format-toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 3px;
      padding: 3px;
      border: 1px solid #e1e7f1;
      border-radius: 8px;
      background: #f7f9fc;
    }

    .parse-result-card-format-toolbar > button {
      display: inline-grid;
      place-items: center;
      min-width: 25px;
      height: 25px;
      padding: 0 5px;
      border: 1px solid transparent;
      border-radius: 5px;
      background: transparent;
      color: #53627c;
      font: 700 12px/1 Arial, sans-serif;
      cursor: pointer;
    }

    .parse-result-card-format-toolbar > button:hover,
    .parse-result-card-format-toolbar > button:focus-visible {
      border-color: #cfdbef;
      background: #fff;
      color: #426bd0;
      outline: none;
    }

    .parse-result-card-format-toolbar > button:disabled {
      cursor: default;
      opacity: .38;
    }

    .parse-result-card-format-toolbar > button[data-parse-card-format="undo"],
    .parse-result-card-format-toolbar > button[data-parse-card-format="redo"] {
      color: #34445f;
      font-weight: 900;
      font-size: 15px;
      -webkit-text-stroke: .7px currentColor;
    }

    .parse-result-card-format-toolbar > button:disabled[data-parse-card-format="undo"],
    .parse-result-card-format-toolbar > button:disabled[data-parse-card-format="redo"] {
      color: #596982;
      opacity: .72;
    }

    .parse-result-card-color-tool {
      position: relative;
      display: inline-grid;
      place-items: center;
      width: 25px;
      height: 25px;
      border-radius: 5px;
      color: #d34e5b;
      cursor: pointer;
    }

    .parse-result-card-color-tool:hover,
    .parse-result-card-color-tool:focus-within {
      background: #fff;
      box-shadow: inset 0 0 0 1px #cfdbef;
    }

    .parse-result-card-color-tool > span {
      font-size: 14px;
      line-height: 1;
    }

    .parse-result-card-color-tool > input {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      cursor: pointer;
    }

    .parse-result-card-format-toolbar > button[data-parse-card-format^="align-"] {
      font-size: 0;
    }

    .parse-result-card-format-toolbar > button[data-parse-card-format^="align-"]::before {
      content: "";
      width: 14px;
      height: 13px;
      background-image: linear-gradient(#53627c, #53627c), linear-gradient(#53627c, #53627c), linear-gradient(#53627c, #53627c);
      background-size: 14px 1px, 9px 1px, 12px 1px;
      background-repeat: no-repeat;
    }

    .parse-result-card-format-toolbar > button[data-parse-card-format="align-left"]::before { background-position: left top, left center, left bottom; }
    .parse-result-card-format-toolbar > button[data-parse-card-format="align-center"]::before { background-position: center top, center center, center bottom; }
    .parse-result-card-format-toolbar > button[data-parse-card-format="align-right"]::before { background-position: right top, right center, right bottom; }

    .parse-result-card-format-toolbar > i {
      width: 1px;
      height: 17px;
      margin: 0 2px;
      background: #dce3ee;
    }

    .parse-result-card-format-toolbar .math-symbol-toolbar {
      margin: 0;
    }

    .parse-result-card-format-toolbar .math-symbol-trigger {
      min-width: 0;
      height: 25px;
      min-height: 25px;
      padding: 0 7px;
      border-radius: 5px;
      font-size: 11px;
    }

    .parse-result-card-format-toolbar .parse-symbol-mark,
    .parse-result-card-format-toolbar .parse-symbol-caret {
      display: none;
    }

    .parse-card-symbol-slot .math-symbol-popover {
      right: 0;
      left: auto;
      width: min(360px, calc(100vw - 24px));
      border-radius: 10px;
      box-shadow: 0 14px 34px rgba(38, 55, 91, .18);
    }

    .parse-card-symbol-slot .math-symbol-popover.is-viewport-fitted {
      position: fixed;
      z-index: 1000;
      right: auto;
      max-height: calc(100vh - 24px);
      max-height: calc(100dvh - 24px);
      overflow-y: auto;
      overscroll-behavior: contain;
    }

    .parse-card-symbol-slot .math-symbol-panel {
      gap: 6px;
      padding: 7px;
      border-color: #dce5f2;
      border-radius: 10px;
      background: #fff;
    }

    .parse-card-symbol-slot .math-symbol-tabs {
      gap: 2px;
      border-color: #e1e8f3;
      border-radius: 8px;
      background: #f3f6fb;
    }

    .parse-card-symbol-slot .math-symbol-tab {
      min-height: 26px;
      border-radius: 6px;
      color: #73819a;
      font-size: 12px;
    }

    .parse-card-symbol-slot .math-symbol-tab.active {
      color: #426bd0;
      box-shadow: 0 1px 4px rgba(50, 74, 119, .12);
    }

    .parse-card-symbol-slot .math-symbol-page {
      max-height: min(260px, calc(100vh - 128px));
      max-height: min(260px, calc(100dvh - 128px));
      overflow-y: auto;
    }

    .parse-card-symbol-slot .math-symbol-grid {
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 4px;
    }

    .parse-card-symbol-slot .math-symbol-button {
      display: grid;
      place-items: center;
      width: 100%;
      min-width: 0;
      height: 32px;
      padding: 0 2px;
      border-color: #e0e7f2;
      border-radius: 7px;
      background: #fbfcfe;
      color: #485771;
      font-family: "KaTeX_Main", "STIX Two Math", "Cambria Math", Georgia, serif;
      font-size: 12px;
      font-weight: 600;
      line-height: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: clip;
    }

    .parse-card-symbol-slot .math-symbol-button.wide {
      grid-column: span 1;
    }

    .parse-card-symbol-slot .math-symbol-button:hover {
      border-color: #9bb7ee;
      background: #edf3ff;
      color: #4168c9;
    }

    @media (max-width: 760px) {
      .parse-result-card-content-head {
        align-items: flex-start;
        flex-direction: column;
      }

      .parse-result-card-format-toolbar {
        width: 100%;
      }
    }

    .parse-result-card-editor-image-input {
      width: 100%;
      min-height: 120px;
      box-sizing: border-box;
      padding: 10px;
      border: 1px solid #dce5f2;
      border-radius: 8px;
      background: #fff;
      color: #53627b;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 12px;
      font-weight: 550;
      line-height: 1.5;
      outline: none;
      resize: none;
      text-align: left;
    }

    .parse-result-card-image-captions {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 8px;
    }

    .parse-result-card-image-captions label {
      display: grid;
      gap: 5px;
      color: #64738d;
      font-size: 11px;
      font-weight: 800;
    }

    .parse-result-card-image-captions input {
      min-height: 36px;
      box-sizing: border-box;
      padding: 7px 9px;
      border: 1px solid #dce5f2;
      border-radius: 8px;
      background: #fff;
      color: #33415a;
      font: inherit;
      font-size: 13px;
      font-weight: 550;
      outline: none;
    }

    .parse-result-card-editor-image-controls {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      align-items: center;
      padding-top: 2px;
    }

    .parse-result-card-editor-image-head {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-wrap: wrap;
      gap: 10px;
    }

    .parse-result-card-editor-image-layout-row {
      display: flex;
      justify-content: flex-start;
      width: 100%;
      margin-left: 0;
    }

    .parse-result-card-editor-image-head > span {
      margin-right: auto;
      color: #64738d;
      font-size: 11px;
      font-weight: 800;
    }

    .parse-result-card-editor-image-control-group {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: #64738d;
      font-size: 11px;
      font-weight: 800;
    }

    .parse-result-card-editor-image-control-buttons {
      display: inline-flex;
      flex-wrap: wrap;
      gap: 4px;
    }

    .parse-result-card-editor-image-control {
      min-height: 26px;
      padding: 0 8px;
      border: 1px solid #d7e1f0;
      border-radius: 7px;
      background: #fff;
      color: #6f7f99;
      font: inherit;
      font-size: 11px;
      font-weight: 700;
      cursor: pointer;
    }

    .parse-result-card-editor-image-control.active {
      border-color: #86aaf1;
      background: #edf3ff;
      color: #416dbd;
    }

    .parse-result-card-editor-field textarea:focus,
    .parse-result-card-editor-tags input:focus,
    .parse-result-card-editor-standard-answer input:focus,
    .parse-result-card-editor-standard-answer select:focus,
    .parse-result-card-editor-image-input:focus,
    .parse-result-card-editor-choice textarea:focus,
    .parse-result-card-editor-meta input:focus,
    .parse-result-card-editor-meta select:focus {
      border-color: #86aaf1;
      box-shadow: 0 0 0 3px rgba(76, 111, 255, .1);
    }

    .parse-result-card-editor-choices {
      display: grid;
      gap: 8px;
      padding: 10px;
      border: 1px solid #e1e8f4;
      border-radius: 10px;
      background: rgba(255, 255, 255, .62);
    }

    .parse-result-card-editor-section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }

    .parse-result-card-editor-solution-head {
      justify-content: flex-start;
    }

    .parse-result-card-editor-image-head > .parse-result-card-editor-section-head {
      justify-content: flex-start;
      flex: 0 0 auto;
    }

    .parse-result-card-editor-image-head > .parse-result-card-editor-section-head .parse-result-card-editor-tool {
      margin-left: 2px;
    }

    .parse-result-card-editor-section-head strong {
      color: #5d35d6;
      font-size: 12px;
    }

    .parse-result-card-editor-choice-title,
    .parse-result-card-editor-choice-actions {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .parse-result-card-editor-choice-actions button {
      width: 26px;
      height: 26px;
      padding: 0;
      border: 1px solid #d7e1f0;
      border-radius: 7px;
      background: #fff;
      color: #516dba;
      font: 800 17px/1 Arial, sans-serif;
      cursor: pointer;
    }

    .parse-result-card-editor-choice-actions button:hover:not(:disabled),
    .parse-result-card-editor-choice-actions button:focus-visible {
      border-color: #86aaf1;
      background: #edf3ff;
      outline: none;
    }

    .parse-result-card-editor-choice-actions button:disabled {
      cursor: not-allowed;
      opacity: .4;
    }

    .parse-result-card-editor-section-head span {
      color: #8794a9;
      font-size: 11px;
      font-weight: 650;
    }

    .parse-result-card-editor-choice-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    .parse-result-card-editor-choice-layout {
      display: inline-flex;
      gap: 4px;
      margin-left: auto;
    }

    .parse-result-card-editor-choice-layout-button {
      min-height: 26px;
      padding: 0 8px;
      border: 1px solid #d7e1f0;
      border-radius: 7px;
      background: #fff;
      color: #6f7f99;
      font: inherit;
      font-size: 11px;
      font-weight: 700;
      cursor: pointer;
    }

    .parse-result-card-editor-choice-layout-button.active {
      border-color: #86aaf1;
      background: #edf3ff;
      color: #416dbd;
    }

    .parse-result-card-editor-choice-layout-button:disabled {
      cursor: not-allowed;
      opacity: .45;
    }

    .parse-result-card-editor-choice-layout-hint {
      color: #8794a9;
      font-size: 11px;
      font-weight: 650;
    }

    .parse-result-card-editor-choice {
      display: grid;
      grid-template-columns: 30px minmax(0, 1fr);
      align-items: start;
      gap: 7px;
    }

    .parse-result-card-editor-choice > span {
      display: grid;
      place-items: center;
      min-height: 32px;
      border-radius: 8px;
      background: #e9efff;
      color: #4e70cc;
      font-size: 13px;
      font-weight: 850;
    }

    .parse-result-card-editor-choice > span small {
      display: none;
    }

    .parse-result-card-editor-choice textarea {
      width: 100%;
      box-sizing: border-box;
      min-height: 42px;
      padding: 8px 9px;
      border: 1px solid #dce5f2;
      border-radius: 8px;
      background: #fff;
      color: #33415d;
      font: inherit;
      outline: none;
      resize: none;
      overflow-y: hidden;
      font-size: 12px;
      line-height: 1.55;
    }

    .parse-result-card-editor-foot {
      padding-top: 2px;
    }

    .parse-result-card-editor-foot .parse-result-card-actions {
      margin-left: auto;
    }

    .parse-result-card-body .exam-question-main {
      grid-template-columns: 2.2em minmax(0, 1fr);
      width: 100%;
      font-size: 15px;
      line-height: 1.7;
      color: #5d6c84;
      font-weight: 400;
    }

    .parse-result-card-body .exam-question-body {
      width: 100%;
      margin: 0;
      padding: 0;
    }

    .parse-result-card-body .exam-question-number {
      color: #5d6c84;
      font-weight: 400;
    }

    .parse-result-card-body .exam-choice-grid {
      gap: 10px;
      margin: 14px 0 0;
      width: 100%;
      font-size: 14px;
      color: #5d6c84;
      font-weight: 400;
      line-height: 1.65;
    }

    .parse-result-card-body .exam-choice {
      min-height: 42px;
      padding: 9px 11px;
      border: 1px solid #e1e8f4;
      border-radius: 10px;
      background: #fbfcff;
      box-sizing: border-box;
    }

    .parse-result-card-body .exam-choice b {
      color: #6684c7;
      font-weight: 400;
    }

    .parse-result-card-body .exam-source-image img {
      max-width: min(86%, 560px);
      max-height: 280px;
      border: 1px solid #edf1f7;
      border-radius: 8px;
      background: #fff;
    }

    .parse-result-card-body [data-latex-image-wrapper].is-resize-selected {
      outline: 2px solid #4b70ed;
      outline-offset: 3px;
    }

    .parse-result-card-body [data-latex-image-wrapper].is-resizing {
      user-select: none;
      will-change: width, height, transform;
    }

    .parse-result-card-body [data-latex-image-wrapper].is-image-moving {
      opacity: .55;
      cursor: grabbing;
    }

    .parse-result-card-body [data-parse-card-image-drop-position].is-image-drop-target {
      outline: 2px dashed #5d82e8;
      outline-offset: 5px;
      border-radius: 6px;
      background: rgba(93, 130, 232, .08);
    }

    /* 解析题卡中的题图统一使用纯白底，避免继承通用题图容器的暖色背景。 */
    .parse-result-card-body .exam-source-image,
    .parse-result-card-body .latex-image,
    .parse-result-card-body .latex-inline-image,
    .parse-result-card-body .latex-image img,
    .parse-result-card-body .latex-inline-image img {
      background: #fff;
    }

    /* 题卡题图在首次拖动前后保持同一套等比例尺寸规则，避免解除通用高度上限时突然放大。 */
    .parse-result-card-body .latex-image img {
      height: auto;
      max-height: 260px;
    }

    .parse-result-card-body .latex-image.is-user-sized img {
      max-height: none;
    }

    /* Doc2X 的宽度比例以整页为基准；在窄题卡内直接套用会过小，因此只在题卡预览中设置可读下限。 */
    .parse-result-card-body .latex-image.is-doc2x-sized:not(.is-manually-sized) {
      min-width: min(42%, 220px);
    }

    .latex-image.image-align-left,
    .exam-question-body[data-image-align="left"] .latex-image {
      margin-left: 0;
      margin-right: auto;
    }

    .latex-image.image-align-right,
    .exam-question-body[data-image-align="right"] .latex-image {
      margin-left: auto;
      margin-right: 0;
    }

    .exam-question-body[data-image-align="center"] .latex-image {
      margin-left: auto;
      margin-right: auto;
    }

    .exam-question-body[data-image-layout="row"] .latex-image {
      display: inline-grid;
      vertical-align: top;
      width: calc(50% - 12px);
      margin-left: 4px;
      margin-right: 4px;
    }

    /* Markdown 会把分开的题图分别放进段落；一行模式下展开这些段落，
       让多张题图进入同一个行布局，而不是每个段落各占一行。 */
    .exam-question-body[data-image-layout="row"] > p:has(> .latex-image) {
      display: contents;
    }

    .exam-question-body[data-image-layout="row"] .latex-image.is-user-sized {
      width: min(var(--latex-block-image-width, 100%), calc(50% - 12px));
      max-width: calc(50% - 12px);
    }

    .exam-question-body[data-image-layout="row"] .latex-image.is-doc2x-sized {
      min-width: 0;
    }

    .exam-question-body[data-image-layout="row"] .latex-image.image-align-left {
      margin-left: 0;
      margin-right: 8px;
    }

    .exam-question-body[data-image-layout="row"] .latex-image.image-align-right {
      margin-left: 8px;
      margin-right: 0;
    }

    .exam-question-body[data-image-layout="row"][data-image-align="left"] .latex-image {
      margin-left: 0;
      margin-right: 8px;
    }

    .exam-question-body[data-image-layout="row"][data-image-align="right"] .latex-image {
      margin-left: 8px;
      margin-right: 0;
    }

    .parse-result-card-foot {
      min-height: 38px;
      padding: 7px 14px 10px;
      border-top: 1px solid #f0f3f8;
    }

    .parse-result-card-foot .question-center-tag {
      min-height: 25px;
      padding: 0 8px;
      font-size: 11px;
    }

    .parse-result-card-foot .question-center-tag:last-child {
      max-width: 48%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .parse-result-card-hint {
      color: #8b98ad;
      font-size: 11px;
      font-weight: 750;
    }

    .parse-result-card-actions {
      margin-left: auto;
    }

    .parse-result-card-actions button {
      min-height: 27px;
      padding: 0 10px;
      border-color: #cbd9f3;
      background: #f7faff;
      color: #476eb5;
      font-size: 11px;
    }

    .parse-result-card-actions button:first-child {
      color: #476eb5;
    }

    .parse-result-card-actions .parse-result-card-answer-toggle.active {
      border-color: #8eacf0;
      background: #edf3ff;
      color: #3f68bd;
    }

    .parse-result-card-actions .parse-result-card-answer-toggle:disabled {
      border-color: #e2e8f1;
      background: #f7f9fc;
      color: #a4afbf;
    }

    .parse-result-card-actions button.danger {
      border-color: #f0c8cb;
      background: #fff8f8;
      color: #c55b63;
    }

    .parse-result-card-actions button:disabled {
      cursor: not-allowed;
      opacity: .5;
    }

    /* 解析页顶部题号条和操作区与下方题卡保持同一紧凑密度。 */
    .parse-main-card > .parse-question-strip {
      min-height: 42px;
      padding: 8px 12px;
      gap: 8px;
      border-color: #e0e7f2;
      border-radius: 12px;
      background: #f8faff;
      box-shadow: none;
    }

    .parse-main-card > .parse-question-strip h3 {
      color: #33415d;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.2;
    }

    .parse-main-card > .parse-question-strip .parse-question-list {
      gap: 4px;
      padding: 0;
      scrollbar-width: thin;
    }

    .parse-main-card > .parse-question-strip .parse-q-chip {
      height: 27px;
      min-height: 27px;
      padding: 0 8px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 800;
      box-shadow: none;
    }

    .parse-main-card > .parse-question-head {
      min-height: 38px;
      padding: 7px 14px 10px;
      border-top: 1px solid #f0f3f8;
      border-bottom: 0;
    }

    .parse-main-card > .parse-question-head .parse-question-title-actions {
      gap: 6px;
    }

    .parse-main-card > .parse-question-head .parse-question-title-actions > .btn {
      height: 27px;
      min-height: 27px;
      padding: 0 10px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 800;
      box-shadow: none;
    }

    .parse-main-card > .parse-question-head #parsePaperAddBtn,
    .parse-main-card > .parse-question-head #parseSaveBtn {
      height: 32px;
      min-height: 32px;
      padding: 0 13px;
      border-radius: 10px;
      font-size: 12px;
    }

    .parse-main-card > .parse-question-head #parseSaveBtn {
      border-color: transparent;
      background: linear-gradient(135deg, #a5b9ff, #aaa6f0);
      box-shadow: 0 6px 14px rgba(137, 151, 235, .12);
    }

    .parse-main-card > .parse-question-strip .parse-q-chip.active {
      border-color: transparent;
      background: linear-gradient(135deg, #a5b9ff, #aaa6f0);
      box-shadow: 0 4px 10px rgba(137, 151, 235, .12);
    }

    .parse-result-card-answer {
      display: grid;
      gap: 8px;
      margin: 8px 14px 12px;
      padding-top: 10px;
      border-top: 1px dashed #dfe6f2;
    }

    .parse-result-card-answer-block {
      display: grid;
      grid-template-columns: 38px minmax(0, 1fr);
      align-items: start;
      gap: 8px;
      padding: 8px 10px;
      border: 1px solid #e6ebf3;
      border-radius: 9px;
      background: #fbfcff;
    }

    .parse-result-card-answer-block > strong {
      color: #5876ba;
      font-size: 12px;
      line-height: 1.65;
    }

    .parse-result-card-answer summary {
      padding: 8px 0 4px;
      color: #536fae;
      font-size: 12px;
      font-weight: 850;
      cursor: pointer;
    }

    .parse-result-card-answer-body {
      padding: 4px 0 2px;
      color: #536079;
      font-size: 13px;
      line-height: 1.65;
    }

    .parse-result-card-answer-body > p {
      margin: 0 0 5px;
    }

    .parse-result-card-answer-body .markdown-table-wrap {
      max-width: 100%;
      margin: 8px 0;
      overflow-x: auto;
      border: 1px solid #dfe6f2;
      border-radius: 7px;
      background: #fff;
    }

    .parse-result-card-answer-body table.markdown-table {
      width: 100%;
      min-width: 360px;
      border-collapse: collapse;
      color: #3d4d69;
      font-size: 1em;
      line-height: 1.55;
    }

    .parse-result-card-answer-body table.markdown-table th,
    .parse-result-card-answer-body table.markdown-table td {
      position: relative;
      border: 1px solid #dfe6f2;
      padding: 7px 9px;
      vertical-align: top;
      text-align: left;
      white-space: normal;
    }

    .parse-result-card-answer-body table.markdown-table th {
      background: #f3f6fc;
      color: #334b78;
      font-weight: 800;
    }

    .parse-result-card-answer-body .parse-table-cell-resize-handle {
      display: none;
    }

    .parse-result-card-answer-empty {
      padding: 8px 10px;
      border: 1px solid #e6ebf3;
      border-radius: 9px;
      background: #fbfcff;
      color: #8a96aa;
      font-size: 12px;
    }

    .parse-result-card-topic {
      border-color: #ddd3ff !important;
      background: #faf8ff !important;
      color: #6944c8 !important;
    }

    .parse-result-card-empty-tag {
      color: #97a2b4 !important;
    }

    @media (max-width: 900px) {
      .parse-view-tabs {
        flex-wrap: wrap;
      }

      .parse-view-tabs > .parse-alert {
        position: static;
        transform: none;
        width: auto;
        flex: 1 0 100%;
        max-width: 100%;
        justify-content: flex-start;
        margin: 0;
      }

      .parse-card-edit-dialog-panel {
        width: 100%;
        height: auto;
        min-height: 760px;
      }

      .parse-card-edit-dialog-workspace {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(0, 1fr) minmax(260px, .75fr);
      }

      .parse-card-edit-dialog-editor {
        border-right: 0;
        border-bottom: 1px solid #e1e7f1;
      }

      .single-question-card-modal {
        padding: 6px;
      }

      .single-question-card-dialog {
        grid-template-rows: 42px minmax(0, 1fr);
        width: calc(100vw - 12px);
        height: calc(100dvh - 12px);
        border-radius: 12px;
      }

      .single-question-card-dialog-host .parse-card-edit-dialog-panel {
        min-height: 0;
      }

      .single-question-card-dialog-host .parse-card-edit-dialog-workspace {
        grid-template-rows: minmax(320px, 1fr) minmax(240px, .8fr);
      }

      .parse-result-card-head .question-center-card-author {
        display: none;
      }

      .single-question-bank-card .parse-result-card-head .question-center-card-author {
        display: block;
        max-width: 56%;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 10px;
      }

      .parse-result-card-body .exam-choice-grid {
        grid-template-columns: 1fr;
        margin-left: 0;
      }

      .parse-result-card-editor-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .parse-result-card-editor-choice-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 540px) {
      .parse-result-card-editor-head,
      .parse-result-card-editor-foot {
        align-items: flex-start;
        flex-direction: column;
      }

      .parse-result-card-editor-foot .parse-result-card-actions {
        margin-left: 0;
      }
    }

    /* 试卷题库：沿用“我的题库”的克制灰蓝视觉，避免操作区出现过多高饱和色。 */
    #page-paper .page-panel.wide {
      padding: 18px 20px 24px;
      border-color: #e5eaf2;
      background: rgba(255, 255, 255, .9);
      box-shadow: 0 10px 30px rgba(57, 72, 105, .055);
    }

    #page-paper .library-subject-tabs {
      gap: 6px;
      padding: 0 4px 9px;
      border-bottom-color: #e7ebf2;
    }

    #page-paper .library-subject-tab {
      min-width: 76px;
      min-height: 40px;
      padding: 0 16px;
      border-radius: 10px;
      color: #69758a;
      font-size: 14px;
      font-weight: 800;
    }

    #page-paper .library-subject-tab::after {
      left: 22px;
      right: 22px;
      bottom: -10px;
      height: 2px;
      background: #6f91c2;
    }

    #page-paper .library-subject-tab:hover {
      background: #f4f6fa;
      color: #354967;
    }

    #page-paper .library-subject-tab.active,
    #page-paper .library-subject-tab.active:hover {
      background: #eef3fa;
      color: #355786;
      text-shadow: none;
      box-shadow: inset 0 0 0 1px rgba(111, 145, 194, .1);
    }

    #page-paper .single-question-filters.public-library-filters.paper-mode {
      gap: 11px;
      margin: 16px 0 18px;
      padding: 14px;
      border: 1px solid #e5eaf2;
      border-radius: 14px;
      background: #f7f9fc;
      box-shadow: none;
    }

    #page-paper .single-question-filters label {
      gap: 7px;
      color: #6c7890;
      font-size: 12px;
      font-weight: 800;
    }

    #page-paper .single-question-filters input,
    #page-paper .single-question-filters select,
    #page-paper .single-question-filters .combobox-input {
      min-height: 41px;
      border-color: #dfe5ee;
      border-radius: 9px;
      background: #fff;
      color: #33405a;
      box-shadow: 0 1px 2px rgba(48, 61, 90, .025);
    }

    #page-paper .single-question-filters input:hover,
    #page-paper .single-question-filters select:hover,
    #page-paper .single-question-filters .combobox-input:hover {
      border-color: #cdd7e5;
    }

    #page-paper .single-filter-actions {
      align-self: end;
    }

    #page-paper .single-filter-actions .btn {
      min-height: 41px;
      height: 41px;
      border-radius: 9px;
      box-shadow: none;
    }

    #page-paper #paperFilterSearchBtn {
      border-color: #5e7fae;
      background: #5e7fae;
      color: #fff;
      box-shadow: 0 5px 14px rgba(70, 96, 134, .16);
    }

    #page-paper #paperFilterSearchBtn:hover:not(:disabled) {
      border-color: #526f99;
      background: #526f99;
      color: #fff;
      box-shadow: 0 7px 18px rgba(70, 96, 134, .2);
      transform: translateY(-1px);
    }

    #page-paper #paperFilterResetBtn {
      border-color: #dce3ed;
      background: #fff;
      color: #68758b;
    }

    #page-paper .paper-library-list {
      gap: 11px;
    }

    #page-paper .paper-library-card {
      padding: 17px 19px;
      border-color: #e3e8f0;
      border-radius: 14px;
      background: #fff;
      box-shadow: 0 5px 16px rgba(54, 69, 101, .045);
      transform: none;
    }

    #page-paper .paper-library-card::before {
      top: 18px;
      bottom: 18px;
      width: 3px;
      background: #7896bf;
    }

    #page-paper .paper-library-card:hover,
    #page-paper .paper-library-card.active {
      border-color: #cbd7e7;
      background: #fff;
      box-shadow: 0 11px 28px rgba(54, 69, 101, .09);
      transform: translateY(-1px);
    }

    #page-paper .paper-library-main {
      gap: 7px 18px;
    }

    #page-paper .paper-library-title {
      color: #263754;
      font-size: 16px;
      line-height: 1.45;
      font-weight: 850;
    }

    #page-paper .paper-library-meta {
      gap: 6px;
    }

    #page-paper .paper-library-chip,
    #page-paper .paper-library-chip.strong,
    #page-paper .paper-library-chip.score {
      min-height: 24px;
      padding: 0 9px;
      border: 0;
      background: #f1f4f8;
      color: #6c7890;
      font-size: 11px;
      font-weight: 750;
    }

    #page-paper .paper-library-time-text {
      color: #98a2b3;
      font-size: 12px;
      font-weight: 700;
    }

    #page-paper .paper-library-actions {
      gap: 7px;
      align-items: center;
    }

    #page-paper .paper-library-actions .history-action-pill,
    #page-paper .paper-library-actions .history-action-pill.export {
      min-width: 58px;
      min-height: 33px;
      padding: 0 12px;
      border: 1px solid #dce3ed;
      border-radius: 9px;
      background: #fff;
      color: #52617a;
      font-size: 12px;
      font-weight: 800;
      box-shadow: none;
      transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
    }

    #page-paper .paper-library-actions .history-action-pill:hover,
    #page-paper .paper-library-actions .history-action-pill.export:hover {
      border-color: #bfcde0;
      background: #f5f8fc;
      color: #355786;
      filter: none;
      transform: translateY(-1px);
    }

    #page-paper .paper-library-actions .history-action-pill.secondary {
      border-color: #cbd9ee;
      background: #eef4fc;
      color: #41658f;
    }

    #page-paper .paper-library-actions .history-action-pill.secondary:hover {
      border-color: #aec2df;
      background: #e7f0fb;
      color: #31547e;
    }

    #page-paper .paper-library-actions .history-action-pill.danger {
      border-color: #ead9dc;
      background: #fff;
      color: #a56770;
    }

    #page-paper .paper-library-actions .history-action-pill.danger:hover {
      border-color: #e1bec4;
      background: #fff6f7;
      color: #a34f5b;
    }

    @media (max-width: 720px) {
      #page-paper .page-panel.wide {
        padding: 13px;
      }

      #page-paper .library-subject-tab {
        min-width: 66px;
        padding: 0 12px;
      }

      #page-paper .paper-library-card {
        padding: 14px;
      }
    }
