/* Iris 移动布局 — 简约版：底部 Tab + 列表/专注两态，复用页面原生按钮 */
@media (max-width: 900px) {
  :root {
    --iris-tab-h: 52px;
    --iris-top-h: 44px;
    --iris-actions-h: 52px;
  }

  body.iris-mobile {
    padding-bottom: calc(var(--iris-tab-h) + env(safe-area-inset-bottom, 0px));
  }

  /* 隐藏桌面冗余（底部 Tab 已覆盖模块导航） */
  .tri-switch,
  .tri-date,
  .side .card:has(.module-mini),
  body.iris-mobile .topbar .nav,
  body.iris-mobile .top,
  body.iris-mobile .date-chip {
    display: none !important;
  }

  body.iris-mobile .wrap:not(.home-page) {
    padding: 14px 14px calc(var(--iris-tab-h) + 20px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.iris-mobile .guide-block h2 {
    font-size: 18px !important;
  }

  /* 首页 · PWA 紧凑双 Tab（默认「我的修行」） */
  body.iris-mobile .wrap.home-page {
    padding: 10px 12px calc(var(--iris-tab-h) + 12px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.iris-mobile .home-mobile-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 10px;
  }

  body.iris-mobile .home-tab {
    min-height: 44px;
    padding: 10px 8px;
    border: 2px solid #2D3329;
    background: #fff;
    font: inherit;
    font-size: clamp(13px, 3.6vw, 15px);
    font-weight: 900;
    color: #273027;
    cursor: pointer;
    touch-action: manipulation;
    box-shadow: 3px 3px 0 rgba(45, 51, 41, 0.18);
  }

  body.iris-mobile .home-tab.active {
    background: var(--iris-theme-header-bg, linear-gradient(135deg, #3D3561 0%, #4A4068 100%));
    color: #fff;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
  }

  body.iris-mobile .home-split {
    display: block;
    max-height: none;
  }

  body.iris-mobile .home-col {
    display: none;
    max-height: none;
    overflow: visible;
  }

  body.iris-mobile .home-col.active {
    display: block;
  }

  body.iris-mobile .home-col-guide .home-guide-header {
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
  }

  body.iris-mobile .home-col-guide .home-guide-header h1 {
    font-size: clamp(18px, 5vw, 24px) !important;
    margin-bottom: 6px;
  }

  body.iris-mobile .home-col-guide .home-tagline {
    font-size: clamp(12px, 3.2vw, 14px);
  }

  body.iris-mobile .home-col-guide .home-guide {
    gap: 8px;
  }

  body.iris-mobile .home-col-guide .guide-block {
    padding: 12px 14px !important;
  }

  body.iris-mobile .home-col-guide .guide-full {
    display: none;
  }

  body.iris-mobile .home-col-guide .guide-teaser {
    display: block;
    margin: 0;
    font-size: clamp(13px, 3.5vw, 15px);
    line-height: 1.45;
    color: #6E6B5E;
    font-weight: 700;
  }

  body.iris-mobile .home-col-guide .guide-label {
    margin-bottom: 6px;
    font-size: 11px;
  }

  body.iris-mobile .home-gam-header {
    padding: 8px 12px 4px !important;
    margin-bottom: 8px !important;
    box-shadow: 3px 3px 0 rgba(45, 51, 41, 0.18);
  }

  body.iris-mobile .home-gam-header .iris-rainbow-hero,
  body.iris-mobile .iris-rainbow-hero-compact {
    min-height: 64px !important;
    margin-bottom: 0 !important;
  }

  body.iris-mobile .iris-rainbow-hero-compact .iris-rainbow-arc {
    width: min(280px, 92%);
  }

  body.iris-mobile .iris-rainbow-hero-compact .iris-rainbow-markers {
    gap: 14px;
    margin-top: 0;
  }

  body.iris-mobile .iris-rainbow-hero-compact .iris-rainbow-label {
    font-size: 9px;
  }

  body.iris-mobile .home-col-gam .iris-gam-panel {
    padding: 12px 14px !important;
    margin-bottom: 0 !important;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-more-wrap {
    margin-top: 8px;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-more-toggle {
    width: 100%;
    min-height: 44px;
    margin-top: 8px;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    border: 2px solid #2D3329;
    background: #fff;
    cursor: pointer;
    touch-action: manipulation;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-more-panel[hidden] {
    display: none !important;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-settings-toggle {
    width: 100%;
    min-height: 44px;
    margin-top: 10px;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    border: 2px solid #2D3329;
    background: color-mix(in srgb, #6B5B95 8%, #FFF9EF);
    cursor: pointer;
    touch-action: manipulation;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-settings-panel {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 2px dashed rgba(45, 51, 41, 0.25);
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-settings-panel[hidden] {
    display: none !important;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-tip-short {
    margin: 0 0 6px;
    font-size: clamp(12px, 3.2vw, 13px);
    color: #6E6B5E;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-head {
    margin-bottom: 8px;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-bars {
    margin: 8px 0;
    gap: 6px;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-tasks {
    margin-top: 8px;
    gap: 6px;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-bar-row {
    grid-template-columns: 72px 1fr 46px;
    font-size: 12px;
  }

  body.iris-mobile .iris-gam-panel.is-compact .iris-gam-task {
    padding: 7px 9px;
    font-size: 12px;
  }

  body.exam-mode,
  body.iris-mobile.exam-mode {
    padding-top: 0 !important;
    padding-right: 0 !important;
  }

  /* 顶栏：仅专注态 */
  #iris-mobile-topbar {
    display: none;
    position: sticky;
    top: 0;
    z-index: 10040;
    align-items: center;
    gap: 10px;
    min-height: var(--iris-top-h);
    padding: 6px 12px;
    background: #FFF9EF;
    border-bottom: 2px solid #2D3329;
    font-family: "Courier New", "Songti SC", monospace;
  }

  body.iris-mobile.mobile-focus #iris-mobile-topbar {
    display: flex;
  }

  #iris-mobile-topbar .back-btn {
    border: 2px solid #2D3329;
    background: #fff;
    font: inherit;
    font-weight: 900;
    padding: 5px 8px;
    cursor: pointer;
    flex-shrink: 0;
  }

  #iris-mobile-topbar b {
    flex: 1;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 底部 Tab（4 项） */
  #iris-mobile-tabbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10050;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: calc(var(--iris-tab-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: #FFF9EF;
    border-top: 3px solid #2D3329;
    font-family: "Courier New", "Songti SC", monospace;
  }

  #iris-mobile-tabbar a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #273027;
    font-size: 12px;
    font-weight: 900;
    border-right: 1px solid rgba(45, 51, 41, 0.15);
    min-height: 44px;
    padding: 4px 2px;
    text-align: center;
  }

  #iris-mobile-tabbar a:last-child { border-right: 0; }
  /* active tab gradient → assets/iris-design.css */
  #iris-mobile-tabbar a.active { background: rgba(92, 97, 77, 0.15); color: #5C614D; }

  /* —— 列表态：只显示侧栏选题 —— */
  body.iris-mobile.mobile-list .wrap { padding: 0 !important; }
  body.iris-mobile.mobile-list .shell,
  body.iris-mobile.mobile-list .layout { display: block !important; padding: 0 !important; }

  body.iris-mobile.mobile-list .side {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 12px !important;
    min-height: calc(100vh - var(--iris-tab-h) - env(safe-area-inset-bottom, 0px));
  }

  body.iris-mobile.mobile-list .shell > .main,
  body.iris-mobile.mobile-list .layout > .main {
    display: none !important;
  }

  body.iris-mobile.mobile-list .side .select { display: none; }

  /* —— 专注态：隐藏侧栏，全屏做题 —— */
  body.iris-mobile.mobile-focus .side { display: none !important; }

  body.iris-mobile.mobile-focus .shell > .main,
  body.iris-mobile.mobile-focus .layout > .main {
    display: block !important;
    min-height: calc(100vh - var(--iris-top-h) - var(--iris-tab-h) - env(safe-area-inset-bottom, 0px));
  }

  body.iris-mobile.mobile-focus .main .footer { display: none; }

  /* 单词：精简做题区，原生按钮吸底 */
  body.iris-mobile.mobile-focus #app.panel {
    border: 0 !important;
    box-shadow: none !important;
    overflow-x: hidden;
    max-width: 100%;
  }

  body.iris-mobile.mobile-focus #app .hero,
  body.iris-mobile.mobile-focus #app .exam-instructions,
  body.iris-mobile.mobile-focus #app .exam-meta,
  body.iris-mobile.mobile-focus #app .exam-heading,
  body.iris-mobile.mobile-focus #app .note {
    display: none !important;
  }

  body.iris-mobile.mobile-focus #app .exam-paper {
    padding: 10px 12px 72px !important;
    overflow-x: hidden;
    max-width: 100%;
  }

  body.iris-mobile.mobile-focus #app .timer-card {
    position: sticky;
    top: var(--iris-top-h);
    z-index: 5;
    scroll-margin-top: calc(var(--iris-top-h) + 6px);
  }

  body.iris-mobile.mobile-focus #app #timerToggleBtn {
    scroll-margin-top: calc(var(--iris-top-h) + 6px);
  }

  body.iris-mobile.mobile-focus #app .exam-paragraph {
    font-size: 15px !important;
    line-height: 1.62;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  body.iris-mobile.mobile-focus #app .exam-sentence {
    white-space: normal;
  }

  body.iris-mobile.mobile-focus #app .exam-blank {
    white-space: normal;
    max-width: 100%;
  }

  /* 单词：答案解析页 — 15px 可读字号，自适应无横滑 */
  body.iris-mobile.mobile-focus #app .answered-paper,
  body.iris-mobile.mobile-focus #app .detail-card,
  body.iris-mobile.mobile-focus #app .section,
  body.iris-mobile.mobile-focus #app .analysis-list {
    padding-left: 12px !important;
    padding-right: 12px !important;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
  }

  body.iris-mobile.mobile-focus #app .answered-paper {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body.iris-mobile.mobile-focus #app .detail-card {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  body.iris-mobile.mobile-focus #app .answered-paragraph,
  body.iris-mobile.mobile-focus #app .analysis-list,
  body.iris-mobile.mobile-focus #app .analysis-row,
  body.iris-mobile.mobile-focus #app .analysis-context,
  body.iris-mobile.mobile-focus #app .section,
  body.iris-mobile.mobile-focus #app .section .meta,
  body.iris-mobile.mobile-focus #app .source-line,
  body.iris-mobile.mobile-focus #app .wrong-table,
  body.iris-mobile.mobile-focus #app .reflection,
  body.iris-mobile.mobile-focus #app .reflection-card,
  body.iris-mobile.mobile-focus #app .reflection-card p,
  body.iris-mobile.mobile-focus #app .empty {
    font-size: 15px !important;
    line-height: 1.62;
    word-break: break-word;
    overflow-wrap: anywhere;
    max-width: 100%;
  }

  body.iris-mobile.mobile-focus #app .analysis-row .word,
  body.iris-mobile.mobile-focus #app .analysis-row .meaning,
  body.iris-mobile.mobile-focus #app .analysis-row .cloze {
    font-size: 15px !important;
    line-height: 1.62;
    word-break: break-word;
    overflow-wrap: anywhere;
    max-width: 100%;
  }

  body.iris-mobile.mobile-focus #app .section h3,
  body.iris-mobile.mobile-focus #app .reflection-card h3,
  body.iris-mobile.mobile-focus #app .answered-head h3 {
    font-size: 16px !important;
    line-height: 1.35;
  }

  body.iris-mobile.mobile-focus #app .detail-card h2 {
    font-size: 18px !important;
    line-height: 1.3;
    word-break: break-word;
  }

  body.iris-mobile.mobile-focus #app .detail-card .meta {
    font-size: 13px !important;
    line-height: 1.5;
    word-break: break-word;
  }

  body.iris-mobile.mobile-focus #app .detail-stat b {
    font-size: 18px !important;
  }

  body.iris-mobile.mobile-focus #app .analysis-row {
    display: block !important;
    padding: 12px !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.iris-mobile.mobile-focus #app .analysis-row > * + * {
    margin-top: 8px;
  }

  body.iris-mobile.mobile-focus #app .analysis-context-head {
    flex-wrap: wrap;
    gap: 6px;
  }

  body.iris-mobile.mobile-focus #app .wrong-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.iris-mobile.mobile-focus #app .exam-fill {
    width: calc(var(--letters, 3) * 0.92em + 14px) !important;
    min-width: 32px !important;
    height: 1.22em !important;
    max-width: 100%;
  }

  body.iris-mobile.mobile-focus #app .exam-input,
  body.iris-mobile.mobile-focus #app .exam-guide {
    font-size: 14px !important;
    letter-spacing: 0.08em;
  }

  body.iris-mobile.mobile-focus #app .exam-prefix,
  body.iris-mobile.mobile-focus #app .exam-suffix,
  body.iris-mobile.mobile-focus #app .exam-num {
    font-size: 0.95em;
  }

  body.iris-mobile.mobile-focus #app .timer-card strong {
    font-size: 17px !important;
  }

  body.iris-mobile.mobile-focus #app .timer-toggle {
    font-size: 13px;
    padding: 8px 10px;
    min-height: 44px;
  }

  body.iris-mobile.mobile-focus #app .actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: calc(var(--iris-tab-h) + env(safe-area-inset-bottom, 0px));
    z-index: 10055;
    margin: 0;
    padding: 8px 12px;
    padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
    background: rgba(255, 249, 239, 0.98);
    border-top: 2px solid #2D3329;
    pointer-events: auto;
    touch-action: manipulation;
  }

  body.iris-mobile.mobile-focus #app .actions .primary,
  body.iris-mobile.mobile-focus #app .actions .secondary {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    touch-action: manipulation;
  }

  body.iris-mobile.mobile-focus #app .analysis-list,
  body.iris-mobile.mobile-focus #app .section,
  body.iris-mobile.mobile-focus #app .reflection,
  body.iris-mobile.mobile-focus #app .review-topic,
  body.iris-mobile.mobile-focus #app .empty {
    padding-bottom: calc(var(--iris-actions-h) + 12px);
  }

  /* 阅读：左右分栏 + 一题一屏 */
  body.iris-mobile.mobile-focus .reader {
    height: calc(100vh - var(--iris-top-h) - var(--iris-tab-h) - env(safe-area-inset-bottom, 0px)) !important;
    min-height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.iris-mobile.mobile-focus .reader-head { display: none !important; }

  /* 阅读：移动端上下堆叠，原文全宽；图片可点按全屏 */
  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot {
    position: sticky;
    top: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 6px;
    padding: 4px 8px 0;
    background: var(--panel, #fbfbf8);
    scroll-margin-top: calc(var(--iris-top-h, 44px) + 6px);
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot .timer-card {
    grid-column: 1;
    min-width: 0;
    margin: 0;
    padding: 7px 9px;
    gap: 6px;
    box-shadow: none;
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot.is-collapsed .timer-card {
    display: flex;
    align-items: center;
    min-height: 36px;
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot.is-collapsed .timer-card > div {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot.is-collapsed .timer-card b {
    display: none;
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot.is-collapsed .timer-card span:first-of-type,
  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot.is-collapsed .timer-card i {
    display: none;
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot.is-collapsed .timer-card span {
    margin: 0;
    font-size: 12px;
    white-space: nowrap;
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot.is-collapsed .timer-card strong {
    font-size: 16px;
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-slot.is-collapsed .timer-card .timer-toggle {
    flex: 0 0 auto;
    padding: 6px 8px;
    min-height: 30px;
    font-size: 12px;
  }

  body.iris-mobile.mobile-focus .question-pane .reading-timer-compact-toggle {
    grid-column: 2;
    align-self: stretch;
    border: 2px solid var(--line, #2d3329);
    background: #fff;
    color: var(--ink, #111);
    border-radius: 0;
    padding: 0 8px;
    min-width: 44px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 900;
    touch-action: manipulation;
  }

  body.iris-mobile.mobile-focus .question-pane #timerToggleBtn {
    scroll-margin-top: calc(var(--iris-top-h, 44px) + 6px);
  }

  body.iris-mobile.mobile-focus .reading-workspace {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    height: 100% !important;
  }

  body.iris-mobile.mobile-focus .source-pane {
    border-right: 0 !important;
    border-bottom: 2px solid #2D3329 !important;
    max-height: min(48vh, 420px);
    min-height: 0;
  }

  body.iris-mobile.mobile-focus .source-pane:has(.source img) {
    max-height: min(52vh, 460px);
  }

  body.iris-mobile.mobile-focus .source-pane .source,
  body.iris-mobile.mobile-focus .source-pane .passage {
    font-size: 14px;
    line-height: 1.55;
    max-height: none !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  body.iris-mobile.mobile-focus .source-pane .source:has(img) {
    padding: 8px 10px !important;
    text-align: center;
  }

  body.iris-mobile.mobile-focus .source-pane .source img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: initial !important;
    margin: 0 auto;
    cursor: zoom-in;
    touch-action: manipulation;
  }

  body.iris-mobile.mobile-focus .source-pane.zoom-source .source img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: initial !important;
  }

  body.iris-mobile.mobile-focus .source-hint {
    display: block;
    margin: 0 10px 6px;
    font-size: 11px;
    font-weight: 700;
    color: rgba(45, 51, 41, 0.62);
    text-align: center;
  }

  body.iris-mobile.mobile-focus .question-pane {
    min-height: 0;
  }

  body.iris-mobile.mobile-focus .question-pane .questions {
    max-height: none !important;
    padding: 8px !important;
  }

  body.iris-mobile.mobile-focus .question-pane .question h3 {
    font-size: 14px;
    margin: 6px 0 8px;
  }

  body.iris-mobile.mobile-focus .question-pane .choice {
    padding: 8px !important;
    font-size: 13px;
  }

  /* —— 生活阅读 PWA 专注：原文占满剩余高度，题目区随内容收缩 —— */
  body.iris-mobile.iris-daily-reading.mobile-focus {
    overflow: hidden !important;
    height: 100vh;
    height: 100dvh;
    padding-bottom: 0 !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .wrap,
  body.iris-mobile.iris-daily-reading.mobile-focus .layout {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    height: calc(100vh - var(--iris-top-h) - var(--iris-tab-h) - env(safe-area-inset-bottom, 0px));
    height: calc(100dvh - var(--iris-top-h) - var(--iris-tab-h) - env(safe-area-inset-bottom, 0px));
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .layout > .main {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .reader {
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .reading-workspace {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: unset !important;
    grid-template-rows: unset !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .source-pane {
    flex: 1 1 auto !important;
    max-height: none !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .source-pane:has(.source img) {
    flex: 0 0 42% !important;
    max-height: 45% !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .source-pane .pane-title,
  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .pane-title {
    flex-shrink: 0;
    min-height: 34px;
    height: auto;
    padding: 4px 10px;
    font-size: 12px;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .source-pane .source,
  body.iris-mobile.iris-daily-reading.mobile-focus .source-pane .passage {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    font-size: 13px;
    line-height: 1.5;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane {
    flex: 0 0 auto !important;
    max-height: min(52%, 420px) !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .pane-title span {
    display: none;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .questions {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 4px 8px 0 !important;
    gap: 0 !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .question {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    padding: 6px 8px 4px !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .q-meta {
    flex-shrink: 0;
    margin-bottom: 4px;
    gap: 4px;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .q-meta .pill {
    font-size: 10px;
    padding: 2px 5px;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .question h3 {
    flex-shrink: 0;
    font-size: 13px;
    line-height: 1.4;
    margin: 2px 0 6px;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .answer-list {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    overflow: visible !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .choice {
    flex-shrink: 0;
    padding: 7px 8px !important;
    font-size: 12px;
    line-height: 1.35;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane .reveal {
    flex-shrink: 0;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.4;
    max-height: 28%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .iris-question-nav {
    flex-shrink: 0;
    padding: 4px 8px 6px;
    font-size: 11px;
    border-top: 1px solid rgba(45, 51, 41, 0.2);
  }

  /* 阅读 PWA 专注态：原文与题目固定分屏，两个区域独立滚动 */
  body.iris-mobile.mobile-focus:not(.reading-review-mode) .reading-workspace {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(190px, 45%) minmax(220px, 55%) !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.iris-mobile.mobile-focus:not(.reading-review-mode) .source-pane,
  body.iris-mobile.mobile-focus:not(.reading-review-mode) .question-pane {
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  body.iris-mobile.mobile-focus:not(.reading-review-mode) .source-pane {
    border-right: 0 !important;
    border-bottom: 2px solid #2D3329 !important;
  }

  body.iris-mobile.mobile-focus:not(.reading-review-mode) .source-pane .source,
  body.iris-mobile.mobile-focus:not(.reading-review-mode) .source-pane .passage,
  body.iris-mobile.mobile-focus:not(.reading-review-mode) .question-pane .questions {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  body.iris-mobile.mobile-focus:not(.reading-review-mode) .question-pane .questions {
    display: flex !important;
    flex-direction: column !important;
    padding: 8px !important;
    gap: 8px !important;
  }

  body.iris-mobile.mobile-focus:not(.reading-review-mode) .question-pane .question,
  body.iris-mobile.mobile-focus:not(.reading-review-mode) .question-pane .answer-list {
    flex: 0 0 auto !important;
    overflow: visible !important;
  }

  /* 题组完成 · 展开题目区以显示错题复盘（避免 52% 高度 + overflow:hidden 裁切） */
  body.iris-mobile.iris-daily-reading.mobile-focus.iris-set-review-active .reading-workspace,
  body.iris-mobile.iris-daily-reading.mobile-focus .reading-workspace:has(#iris-set-completion) {
    min-height: 0 !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus.iris-set-review-active .source-pane,
  body.iris-mobile.iris-daily-reading.mobile-focus .reading-workspace:has(#iris-set-completion) .source-pane {
    flex: 0 1 auto !important;
    max-height: 32% !important;
    min-height: 96px !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus.iris-set-review-active .question-pane,
  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane:has(#iris-set-completion) {
    flex: 1 1 auto !important;
    max-height: min(78%, 620px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane:has(#iris-set-completion) .questions {
    overflow: visible !important;
    padding-bottom: 8px !important;
  }

  body.iris-mobile.iris-daily-reading.mobile-focus .question-pane:has(#iris-set-completion) .iris-set-completion {
    flex-shrink: 0;
  }

  /* 错题复盘输入 · 键盘弹出时锁定布局，防止整页被顶上去 */
  body.iris-mobile.iris-review-input-focus {
    overflow: hidden !important;
    touch-action: manipulation;
  }

  body.iris-mobile.iris-review-input-focus.mobile-focus .wrap,
  body.iris-mobile.iris-review-input-focus.mobile-focus .layout {
    height: calc(var(--iris-kb-layout-h, 100vh) - var(--iris-top-h) - var(--iris-tab-h) - env(safe-area-inset-bottom, 0px)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.iris-mobile.iris-review-input-focus.mobile-focus .layout > .main,
  body.iris-mobile.iris-review-input-focus.mobile-focus .reader,
  body.iris-mobile.iris-review-input-focus.mobile-focus .reading-workspace {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.iris-mobile.iris-review-input-focus.iris-daily-reading.mobile-focus {
    height: var(--iris-kb-layout-h, 100vh) !important;
    padding-bottom: 0 !important;
  }

  body.iris-mobile.iris-review-input-focus.mobile-focus .question-pane:has(#iris-set-completion) {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  body.iris-mobile.iris-review-input-focus.iris-daily-reading.mobile-focus .question-pane:has(#iris-set-completion) {
    flex: 0 0 auto !important;
    max-height: min(52%, calc(var(--iris-kb-layout-h, 100vh) * 0.52)) !important;
  }

  body.iris-mobile.iris-review-input-focus.mobile-focus .source-pane .source,
  body.iris-mobile.iris-review-input-focus.mobile-focus .source-pane .passage {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .iris-question-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    border-top: 2px solid #2D3329;
    font-family: "Courier New", "Songti SC", monospace;
    font-size: 12px;
    font-weight: 900;
    color: rgba(45, 51, 41, 0.72);
  }

  body.iris-mobile #iris-settings-launch {
    bottom: calc(var(--iris-tab-h) + 10px + env(safe-area-inset-bottom, 0px));
  }

  #mobileStartReading { display: none; }
  body.iris-mobile.mobile-list #mobileStartReading { display: inline-flex !important; }
}

@media (min-width: 901px) {
  #iris-mobile-tabbar,
  #iris-mobile-topbar {
    display: none !important;
  }
}

/* 阅读题组完成 · 错题复盘（生活/学术通用） */
.iris-set-completion {
  margin-top: 14px;
  padding: 14px;
  border: 3px solid var(--line, #2D3329);
  background: color-mix(in srgb, var(--panel, #F4F0E6) 82%, white);
  box-shadow: var(--soft, 4px 4px 0 rgba(45, 51, 41, 0.12));
}

.iris-set-completion-head {
  font-weight: 900;
  font-size: 15px;
  margin-bottom: 10px;
  line-height: 1.35;
}

.iris-set-completion-note {
  margin: 0 0 12px;
  color: var(--muted, #6E6B5E);
  font-size: 14px;
}

.iris-set-completion-hint {
  margin: 10px 0 0;
  font-size: 12px;
  color: #B43B3B;
  font-weight: 700;
}

.iris-set-completion-actions {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.iris-next-section-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  filter: grayscale(0.35);
  background: #9a9688 !important;
  color: #fff !important;
  border-color: #7a7668 !important;
}

.iris-next-section-btn.is-ready:not(:disabled) {
  background: var(--accent, #5C614D) !important;
  color: #fff !important;
}

.iris-passage-footer {
  margin-top: 14px;
  padding: 12px 0 4px;
  border-top: 2px dashed color-mix(in srgb, var(--line, #2D3329) 55%, transparent);
  display: flex;
  justify-content: center;
  flex-shrink: 0;
}

.iris-redo-passage-btn {
  min-width: min(100%, 220px);
  font-weight: 800;
}

body.iris-mobile.mobile-focus .iris-passage-footer {
  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
}

body.reading-review-mode .iris-passage-footer {
  display: none;
}

.iris-review-table {
  display: grid;
  gap: 0;
  border: 2px solid var(--line, #2D3329);
  background: #fff;
}

.iris-review-row {
  display: grid;
  grid-template-columns: 52px minmax(88px, 120px) minmax(0, 1fr);
  gap: 0;
  border-bottom: 2px solid var(--line, #2D3329);
}

.iris-review-row:last-child {
  border-bottom: 0;
}

.iris-review-row-head {
  background: color-mix(in srgb, var(--panel, #F4F0E6) 70%, white);
  font-weight: 900;
  font-size: 12px;
}

.iris-review-row > div {
  padding: 10px;
  border-right: 2px solid var(--line, #2D3329);
  font-size: 13px;
  line-height: 1.45;
}

.iris-review-row > div:last-child {
  border-right: 0;
}

.iris-review-autofill {
  font-weight: 900;
  color: var(--primary, #5C614D);
}

.iris-review-checks {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.iris-review-check {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 4px 2px;
  cursor: pointer;
  touch-action: manipulation;
}

.iris-review-check input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  accent-color: var(--accent, #5C614D);
}

.iris-review-other {
  flex: 1 1 140px;
  min-width: 120px;
  border: 2px solid var(--line, #2D3329);
  padding: 8px 10px;
  font: inherit;
  min-height: 40px;
}

.iris-review-textarea {
  width: 100%;
  min-height: 88px;
  border: 2px solid var(--line, #2D3329);
  padding: 10px;
  font: inherit;
  resize: vertical;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .iris-review-row {
    grid-template-columns: 1fr;
  }

  .iris-review-row > div {
    border-right: 0;
    border-bottom: 1px solid rgba(45, 51, 41, 0.12);
  }

  .iris-review-row > div:first-child {
    font-weight: 900;
    background: color-mix(in srgb, var(--panel, #F4F0E6) 55%, white);
    padding-bottom: 4px;
  }

  .iris-review-row > div:nth-child(2) {
    padding-top: 4px;
    font-weight: 800;
  }

  .iris-review-row > div:last-child {
    border-bottom: 0;
  }

  .iris-review-row-head {
    display: none;
  }
}

/* 生活阅读 · 逐题错题复盘 */
.iris-wrong-q-list {
  display: grid;
  gap: 14px;
}

.iris-wrong-q-review {
  border: 2px solid var(--line, #2D3329);
  background: #fff;
  padding: 12px;
}

.iris-wrong-q-review[data-active="1"] {
  box-shadow: inset 0 0 0 2px var(--accent, #A8703F);
}

.iris-wrong-q-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 13px;
}

.iris-wrong-q-badge {
  background: var(--primary, #5C614D);
  color: #fff;
  border: 2px solid var(--line, #2D3329);
  padding: 2px 8px;
  font-weight: 900;
}

.iris-wrong-ans {
  color: var(--bad, #B43B3B);
}

.iris-correct-ans {
  color: var(--ok, #2E7D52);
}

.iris-review-focus-btn {
  margin-left: auto;
  border: 2px solid var(--line, #2D3329);
  background: var(--panel, #F4F0E6);
  font: inherit;
  font-weight: 900;
  padding: 8px 12px;
  min-height: 44px;
  cursor: pointer;
  touch-action: manipulation;
}

.iris-review-input {
  width: 100%;
  border: 2px solid var(--line, #2D3329);
  padding: 10px;
  font: inherit;
  min-height: 44px;
  line-height: 1.45;
}

.iris-evidence-display {
  min-height: 44px;
  padding: 10px;
  border: 2px dashed var(--line, #2D3329);
  background: color-mix(in srgb, var(--panel, #F4F0E6) 60%, white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  line-height: 1.5;
}

.iris-evidence-placeholder {
  color: var(--muted, #6E6B5E);
  font-family: "Courier New", "Songti SC", monospace;
  font-size: 13px;
}

.iris-comprehension-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.iris-comp-tag {
  border: 2px solid var(--line, #2D3329);
  background: #fff;
  font: inherit;
  font-weight: 900;
  padding: 10px 18px;
  min-height: 44px;
  min-width: 88px;
  cursor: pointer;
  touch-action: manipulation;
}

.iris-comp-tag.active[data-value="understood"] {
  background: #DDF3E8;
  border-color: var(--ok, #2E7D52);
  color: var(--ok, #2E7D52);
}

.iris-comp-tag.active[data-value="not_understood"] {
  background: #F8D8D5;
  border-color: var(--bad, #B43B3B);
  color: var(--bad, #B43B3B);
}

.iris-ai-feedback-panel {
  margin-top: 12px;
  border: 2px solid var(--line, #2D3329);
  background: color-mix(in srgb, var(--panel, #F4F0E6) 48%, white);
  padding: 10px;
  container-type: inline-size;
}

.iris-ai-feedback-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(min(100%, 260px), 0.85fr);
  gap: 10px;
  align-items: start;
}

.iris-ai-feedback-cell {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(45, 51, 41, 0.22);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: normal;
}

.iris-ai-source-cell {
  grid-column: 1 / -1;
  background: #fff;
}

.iris-ai-source-cell p {
  font-size: 14px;
  font-weight: 700;
}

.iris-ai-coach-cell {
  grid-row: span 2;
}

.iris-ai-feedback-cell h4 {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 900;
}

.iris-ai-feedback-cell p {
  margin: 0 0 8px;
}

.iris-ai-loop {
  display: grid;
  gap: 9px;
}

.iris-ai-coach-line,
.iris-ai-coach-analogy {
  border: 1px solid rgba(45, 51, 41, 0.16);
  background: #fff;
  border-radius: 4px;
  padding: 8px;
  font-family: "Songti SC", "SimSun", Georgia, serif;
}

.iris-ai-coach-analogy {
  color: var(--muted, #6E6B5E);
}

.iris-ai-coach-actions ol {
  margin: 0;
  padding-left: 20px;
}

.iris-ai-coach-actions li {
  margin: 0 0 5px;
  padding-left: 2px;
}

.iris-ai-muted {
  color: var(--muted, #6E6B5E);
}

.iris-ai-near-match {
  color: #B43B3B;
  font-weight: 900;
}

.iris-ai-transfer-source,
.iris-ai-transfer-type {
  color: var(--muted, #6E6B5E);
  font-size: 12px;
}

.iris-ai-transfer-stem {
  font-weight: 800;
}

.iris-variant-practice-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 6px 0 8px;
  padding: 9px 12px;
  border: 2px solid var(--line, #2D3329);
  background: var(--accent, #5C614D);
  color: #fff;
  box-shadow: 2px 2px 0 var(--line, #2D3329);
  text-decoration: none;
  font-weight: 900;
}

.iris-variant-practice-status {
  color: var(--muted, #6E6B5E);
  font-size: 12px;
}

.iris-variant-practice-status.ok {
  color: var(--ok, #2E7D52);
  font-weight: 900;
}

.iris-variant-return-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  padding: 8px 10px;
  border: 2px solid var(--line, #2D3329);
  background: #fff;
  box-shadow: 2px 2px 0 rgba(45, 51, 41, 0.18);
  font-size: 13px;
  font-weight: 900;
}

.iris-variant-return-btn {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 7px 10px;
}

.question.iris-variant-target-question {
  outline: 3px solid var(--accent, #5C614D);
  outline-offset: 2px;
}

.iris-ai-transfer-options {
  display: grid;
  gap: 6px;
  margin: 8px 0;
}

.iris-ai-transfer-option {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 6px;
  align-items: start;
  padding: 7px;
  border: 1px solid rgba(45, 51, 41, 0.28);
  background: #fff;
  cursor: pointer;
}

.iris-ai-transfer-option input {
  margin-top: 3px;
  accent-color: var(--accent, #5C614D);
}

.iris-ai-revision-input {
  min-height: 96px;
  resize: vertical;
}

.iris-ai-check-btn,
.iris-ai-hint-toggle {
  margin-top: 8px;
  border: 2px solid var(--line, #2D3329);
  background: #fff;
  color: var(--ink, #2D3329);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  padding: 7px 10px;
  cursor: pointer;
}

.iris-ai-hint-content {
  margin-top: 8px;
  padding: 8px;
  border: 1px dashed var(--line, #2D3329);
  background: #fff;
  color: var(--muted, #6E6B5E);
  font-size: 12px;
}

.iris-ai-hint-content[hidden] {
  display: none !important;
}

.iris-ai-judgement {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 800;
}

.iris-ai-judgement.ok {
  color: var(--ok, #2E7D52);
}

.iris-ai-judgement.warn {
  color: #B43B3B;
}

@media (max-width: 560px) {
  .iris-ai-tutor-head {
    align-items: center;
  }

  .iris-ai-tutor-head h3 {
    font-size: 14px;
  }

  .iris-ai-tutor-head p {
    font-size: 12px;
  }

  .iris-ai-presets {
    grid-template-columns: 1fr;
  }

  .iris-ai-preset {
    min-height: 36px;
    text-align: left;
  }
}

@container (max-width: 760px) {
  .iris-ai-feedback-grid {
    grid-template-columns: 1fr;
  }

  .iris-ai-source-cell,
  .iris-ai-coach-cell {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 980px) {
  .iris-ai-feedback-panel {
    padding: 8px;
  }
}

/* 原文证据句点击 */
.iris-evidence-mode .passage,
.iris-evidence-passage {
  user-select: none;
}

.iris-evidence-sentence {
  display: inline;
  padding: 4px 2px;
  margin: 0 1px;
  border-radius: 2px;
  cursor: pointer;
  touch-action: manipulation;
  line-height: 1.85;
  transition: background 0.12s ease;
}

.iris-evidence-sentence:hover,
.iris-evidence-sentence:focus {
  background: color-mix(in srgb, var(--accent, #A8703F) 22%, white);
  outline: 2px solid var(--accent, #A8703F);
  outline-offset: 1px;
}

.iris-evidence-sentence.selected {
  background: color-mix(in srgb, var(--ok, #2E7D52) 28%, white);
  box-shadow: inset 0 -2px 0 var(--ok, #2E7D52);
  font-weight: 600;
}

body.iris-mobile.mobile-focus .iris-evidence-sentence {
  padding: 6px 4px;
  min-height: 44px;
  display: inline;
}

/* 阅读 · 错题总结 */
body.reading-review-mode .layout > .side label[for="filterSelect"],
body.reading-review-mode .layout > .side label[for="sectionSelect"],
body.reading-review-mode .layout > .side .control,
body.reading-review-mode .layout > .side .toolbar {
  display: none !important;
}

body.reading-review-mode .layout {
  grid-template-columns: minmax(220px, 280px) 1fr !important;
}

body.reading-review-mode .iris-mistakes-head {
  margin-bottom: 16px;
}

/* 错题总结 · 可滚动全量内容（避免 mobile-focus 固定高度裁切） */
body.reading-review-mode.iris-mobile.mobile-focus .layout > .main {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

body.reading-review-mode.iris-mobile.mobile-focus #reader.reader,
body.reading-review-mode.iris-mobile.mobile-focus .reader {
  height: auto !important;
  min-height: calc(100vh - var(--iris-top-h) - var(--iris-tab-h) - env(safe-area-inset-bottom, 0px)) !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
}

#iris-mistakes-summary {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--iris-top-h, 0px) - var(--iris-tab-h, 0px) - env(safe-area-inset-bottom, 0px));
  padding-bottom: calc(var(--iris-tab-h, 0px) + 16px + env(safe-area-inset-bottom, 0px));
}

.iris-mistakes-hub-nav {
  position: sticky;
  top: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 10px 0 12px;
  margin: 0;
  background: color-mix(in srgb, var(--bg, #F7F3E8) 92%, white);
  border-bottom: 2px solid var(--line, #2D3329);
}

.iris-mistakes-hub-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 14px 10px;
  border: 2px solid var(--line, #2D3329);
  background: #fff;
  box-shadow: var(--soft, 3px 3px 0 rgba(0, 0, 0, 0.12));
  font: inherit;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  touch-action: manipulation;
  min-height: 52px;
}

.iris-mistakes-hub-btn.understood {
  color: var(--ok, #2E7D52);
}

.iris-mistakes-hub-btn.not-understood {
  color: var(--bad, #B43B3B);
}

.iris-mistakes-hub-btn:active {
  transform: translate(1px, 1px);
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.12);
}

.iris-mistakes-hub-label {
  flex: 0 0 auto;
}

.iris-mistakes-hub-body {
  flex: 1 1 auto;
  padding: 12px 0 0;
}

.iris-mistakes-hub-hint {
  margin: 0;
  font-size: 13px;
  color: var(--muted, #6E6B5E);
  line-height: 1.5;
}

.iris-mistakes-empty {
  margin-top: 8px;
}

.iris-mistakes-detail-view,
.iris-mistakes-academic-view {
  flex: 1 1 auto;
  min-height: 0;
}

.iris-mistakes-detail-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-top: 8px;
}

.iris-mistakes-back-link {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 8px 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--muted, #6E6B5E);
  cursor: pointer;
  touch-action: manipulation;
}

body.iris-mobile .iris-mistakes-back-link {
  display: none;
}

@media (max-width: 900px) {
  body.reading-review-mode.iris-mobile.mobile-focus .reader-head.iris-mistakes-head {
    display: block !important;
    padding: 12px 14px 0;
  }

  body.reading-review-mode.iris-mobile.mobile-focus .iris-mistakes-detail-view .iris-mistakes-detail-scroll {
    padding-top: 4px;
  }

  #iris-mistakes-summary {
    padding-left: 10px;
    padding-right: 10px;
  }

  .iris-mistakes-hub-nav {
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .iris-mistakes-detail-view .me-mistake-list {
    gap: 10px;
  }

  .iris-mistakes-detail-view .me-mistake-card {
    padding: 12px;
  }

  .iris-mistakes-detail-view .me-mistake-meta,
  .iris-mistakes-detail-view .me-mistake-details,
  .iris-mistakes-detail-view .me-mistake-detail-value {
    font-size: 13px;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 901px) {
  .iris-mistakes-hub-nav {
    position: static;
    padding-top: 4px;
  }

  #iris-mistakes-summary {
    min-height: auto;
  }
}

/* 错题卡片 */
.me-section {
  margin-bottom: 18px;
}

.me-section h2 {
  margin: 0 0 8px;
}

.me-subsection {
  margin-bottom: 22px;
}

.me-subsection h3 {
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.me-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  padding: 2px 8px;
  border: 2px solid var(--line, #2D3329);
  background: var(--panel, #F4F0E6);
  font-size: 13px;
}

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

.me-mistake-card {
  border: 2px solid var(--line, #2D3329);
  background: #fff;
  padding: 12px;
  box-shadow: var(--soft, 3px 3px 0 rgba(0, 0, 0, 0.12));
}

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

.me-mistake-tag {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 900;
  border: 2px solid var(--line, #2D3329);
}

.me-mistake-tag.understood {
  background: #DDF3E8;
  color: var(--ok, #2E7D52);
}

.me-mistake-tag.not-understood {
  background: #F8D8D5;
  color: var(--bad, #B43B3B);
}

.me-mistake-date {
  font-size: 12px;
  color: var(--muted, #6E6B5E);
}

.me-mistake-title {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.3;
}

.me-mistake-meta {
  margin: 0 0 8px;
  font-size: 13px;
}

.me-mistake-summary {
  margin: 0;
  font-size: 13px;
  color: var(--muted, #6E6B5E);
  line-height: 1.5;
}

.me-mistake-details {
  display: grid;
  gap: 8px;
  margin-top: 4px;
}

.me-mistake-detail-row {
  display: grid;
  gap: 2px;
}

.me-mistake-detail-label {
  font-size: 11px;
  font-weight: 900;
  color: var(--muted, #6E6B5E);
  letter-spacing: 0.02em;
}

.me-mistake-detail-value {
  font-size: 13px;
  line-height: 1.5;
  color: #273027;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

/* 全屏图片 lightbox — 移动 PWA + 桌面共用 */
.iris-image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10120;
  display: flex;
  flex-direction: column;
  background: rgba(18, 20, 16, 0.94);
  touch-action: pan-x pan-y pinch-zoom;
}

.iris-image-lightbox[hidden] {
  display: none !important;
}

.iris-image-lightbox-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-shrink: 0;
  min-height: 44px;
  padding: 8px 12px;
  padding-top: max(8px, env(safe-area-inset-top, 0px));
  background: rgba(255, 249, 239, 0.96);
  border-bottom: 2px solid #2D3329;
  font-family: "Courier New", "Songti SC", monospace;
  font-size: 13px;
  font-weight: 900;
  color: #273027;
}

.iris-image-lightbox-close {
  border: 2px solid #2D3329;
  background: #fff;
  font: inherit;
  font-weight: 900;
  font-size: 12px;
  padding: 6px 10px;
  cursor: pointer;
  min-height: 36px;
  touch-action: manipulation;
}

.iris-image-lightbox-stage {
  flex: 1;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 12px;
  padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
}

.iris-image-lightbox-stage img {
  display: block;
  width: 100%;
  max-width: min(100%, 1200px);
  height: auto;
  object-fit: contain;
  background: #fff;
  border: 2px solid rgba(255, 255, 255, 0.12);
}

body.iris-lightbox-open {
  overflow: hidden;
}

.iris-zoomable-image {
  cursor: zoom-in;
}

.source-pane .source img.iris-zoomable-image {
  cursor: zoom-in;
}

@media (max-width: 420px) {
  body.iris-dashboard-page {
    padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px));
  }

  .iris-dashboard-shell {
    width: calc(100% - 24px);
    padding: 12px 0 28px;
  }

  .iris-dashboard-head {
    align-items: flex-start;
    gap: 12px;
  }

  .iris-dashboard-head h1 {
    font-size: 24px;
  }

  .iris-dashboard-refresh {
    flex: 0 0 auto;
    padding: 7px 9px;
  }

  .iris-dashboard-app {
    gap: 14px;
    padding-top: 14px;
  }

  .iris-dashboard-loop dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iris-dashboard-loop dl > div {
    min-height: 104px;
    border-right: 1px solid rgba(255, 255, 255, 0.32);
    border-bottom: 1px solid rgba(255, 255, 255, 0.32);
  }

  .iris-dashboard-loop dl > div:nth-child(2n) {
    border-right: 0;
  }

  .iris-dashboard-loop dl > div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .iris-dashboard-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .iris-dashboard-ledger {
    min-width: 540px;
  }

  .iris-dashboard-trend {
    grid-template-columns: repeat(12, 32px);
  }

  .iris-dashboard-section-head {
    align-items: flex-start;
  }

  .iris-dashboard-state {
    min-height: 180px;
    padding: 20px 14px;
  }
}
