/* v176 production DOM adaptations. The supplied Gemini design stays separate. */
html, body { overflow-x: visible; }
.shell:has(#login-view:not([hidden])) {
  padding: 24px 16px 48px !important;
  width: min(960px, 100%);
}
.topbar .ui-brand { flex: 1 1 200px; }
.topbar .session-box { flex: 1 1 480px; }
#user-label { margin: 0; overflow-wrap: anywhere; }
.ui-current-module {
  display: inline-block; padding: 4px 10px; border: 1px solid var(--brand-border);
  border-radius: var(--radius-pill); background: var(--brand-soft);
  color: var(--brand-strong); font-size: .85rem; font-weight: 650;
}
.navigation-toolbar { margin: 8px 0; flex-wrap: wrap; }
.navigation-status:empty, #global-message:empty { display: none; }
.navigation-sort-list { padding-left: 0; }
.navigation-sort-row { background: var(--panel-soft); border-radius: var(--radius-sm); }
#app #navigation-tabs > button.tab.active { display: flex !important; }
#navigation-tabs[hidden] { display: none !important; }
#navigation-tabs[inert] { visibility: hidden; }
.nav-category-pill:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.workspace-tabs { position: static; }
.workspace-tabs > button[aria-selected="true"] { background: var(--panel); color: var(--brand-strong); border-color: var(--line); box-shadow: var(--shadow-xs); }
.workspace-panel, .view-panel, .control-row > *, .section-heading > * { min-width: 0; max-width: 100%; }
.control-row > input, .control-row > select { flex-shrink: 1; }
button, input, select, textarea { max-width: 100%; }
button.quiet, button.secondary { border-radius: var(--radius-sm); }
/* Production calls secondary buttons quiet; the design calls them ghost. */
button.quiet { color: var(--ink-secondary); background: var(--panel); border: 1px solid var(--line-strong); box-shadow: var(--shadow-xs); }
button.quiet:hover:not(:disabled) { color: var(--brand-strong); background: var(--brand-soft); border-color: var(--brand-border); }
#automatic-review-host { margin: 0; align-items: center; gap: 6px; }
#automatic-review-host > button.quiet { min-height: 36px; padding: 5px 10px; font-size: .82rem; border-radius: var(--radius-pill); }
#automatic-review-host > span[role="status"] { display: block; flex: 1 1 100%; overflow-wrap: anywhere; }
#automatic-review-host > span[role="status"]::before { display: none; }
.topbar:has(#automatic-review-tasks:not([hidden])) { z-index: 95; }
.automatic-review-task-status { display: inline-block; padding: 3px 8px; border: 1px solid var(--line); border-radius: var(--radius-pill); font-weight: 650; }
.automatic-review-task-status.is-complete { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.automatic-review-task-status.is-queued, .automatic-review-task-status.is-checked { color: var(--muted); background: var(--panel-soft); }
.automatic-review-task-list > li > div { width: 100%; display: flex; flex-wrap: wrap; gap: 6px 10px; justify-content: space-between; }
.automatic-review-task-list > li > small { display: block; width: 100%; }
.automatic-review-notice { max-width: 100%; overflow-wrap: anywhere; }
.grading-inspector.panel {
  inset-block: 16px; right: 16px; width: var(--inspector-width); max-width: calc(100vw - 24px);
  padding: 0; gap: 0; overflow: hidden;
}
.grading-inspector-header { flex: 0 0 auto; padding: 16px; }
.grading-inspector-body { flex: 1 1 auto; min-height: 0; padding: 18px; overflow-y: auto; }
.grading-inspector-body > *, .grading-inspector-slot { min-width: 0; max-width: 100%; }
.grading-inspector .ai-review-badge { margin-top: 6px; margin-bottom: 6px; }
.grading-inspector .memory-consolidation { gap: 12px; }
.memory-glossary > p, .memory-glossary > h4, .memory-glossary > ul { margin: 12px 16px; }
.memory-glossary-words { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.memory-glossary summary { gap: 12px; }
.memory-glossary summary::after { flex: 0 0 auto; content: "展开 ▾"; }
.memory-glossary[open] summary::after { content: "收起 ▴"; }
.memory-date-controls { align-items: center; }
.memory-date-controls label { margin: 0; }
.memory-consolidation .memory-context { overflow-wrap: anywhere; }
.preview-recall { padding: 12px; margin-top: 12px; background: var(--panel-soft); border: 1px solid var(--line); border-radius: var(--radius-md); }
.preview-result-filters { padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--panel-soft); }
.word-plan-answer-row { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--panel); }
.word-plan-answer-row + .word-plan-answer-row { margin-top: 12px; }
.word-plan-answer-row .word-plan-prompt { font-family: var(--font-reading); }
@media (min-width: 1024px) {
  #navigation-tabs { left: max(16px, calc((100vw - 1600px) / 2 + 16px)); }
  .shell:has(> .grading-inspector:not([hidden])) #navigation-tabs { left: 16px; }
  #automatic-review-host .automatic-review-tasks { right: 0; width: min(560px, calc(100vw - var(--sidebar-width) - 80px)); }
}
@media (min-width: 1280px) and (max-width: 1439px) {
  .shell:has(> .grading-inspector:not([hidden])) { --sidebar-width: 200px; --inspector-width: 380px; }
}
@media (min-width: 1440px) and (max-width: 1599px) {
  .shell:has(> .grading-inspector:not([hidden])) { --sidebar-width: 216px; --inspector-width: 420px; }
}
@media (max-width: 1023px) {
  .grading-inspector.panel { inset-block: 8px; right: 8px; width: min(480px, calc(100vw - 16px)); }
  #navigation-tabs { min-width: 0; max-height: 65vh; overflow-y: auto; }
  #automatic-review-host .automatic-review-tasks { position: fixed; left: 12px; right: 12px; bottom: 12px; top: auto; width: auto; max-height: 68vh; }
}
@media (max-width: 768px) {
  .topbar .session-box { flex-basis: 100%; }
  .nav-category-pill { min-height: 44px; }
  .grading-inspector.panel { inset: 0; width: 100%; max-width: 100%; border-radius: 0; }
  .grading-inspector-header { padding: 12px; }
  .grading-inspector-body { padding: 12px; }
  .memory-glossary summary { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
  #navigation-tabs, #ui-shell-nav-toolbar, .navigation-toolbar, #automatic-review-host { display: none !important; }
  .shell { max-width: none; padding: 0 !important; }
}
