/* Shared workbench shell. Each feature keeps its own calculation and content
   styles; this file standardizes only the frame, rhythm and action placement. */
:root {
  --workbench-paper: #f7f3eb;
  --workbench-card: #fffefa;
  --workbench-ink: #272f2c;
  --workbench-muted: #606963;
  --workbench-jade: #225c50;
  --workbench-gold: #826025;
  --workbench-line: #deded2;
  --workbench-radius: 14px;
}
body { min-height: 100vh; background: var(--workbench-paper); color: var(--workbench-ink); }
body > .topbar, body > .zw-top { width: min(1560px, calc(100% - 48px)); min-height: 76px; margin: 0 auto; padding: 0 12px; border-bottom: 1px solid var(--workbench-line); background: transparent; }
body > main, body > .zw-shell { width: min(1560px, calc(100% - 48px)); margin: 0 auto 64px; }
body .brand b, body .zw-brand, body h1, body h2, body h3 { color: var(--workbench-ink); }
body .page-heading, body .intro { padding: 38px 0 26px; }
body .page-heading h1, body .intro h1 { font-size: clamp(32px, 4vw, 46px); letter-spacing: 1px; }
body .workbench, body .workspace, body .zw-grid { gap: 24px; }
body .workbench > .panel, body .panel, body .zw-panel, body .input-panel, body .result-summary, body .ai-section, body .ai-panel, body .result-stage { border-radius: var(--workbench-radius); border-color: var(--workbench-line); box-shadow: 0 4px 20px #433b2308; }
body .section-heading, body .result-head, body .result-title, body .reading-head, body .ai-panel > header { gap: 16px; }
body .result-actions, body .ai-actions, body .reading-actions, body .zw-result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--workbench-line); }
body .result-actions button, body .reading-actions button, body .result-actions a, body .reading-actions a { min-height: 42px; }
body .result-actions button:first-child, body .reading-actions button:first-child { margin-right: auto; }
body details > summary, body .optional-context > summary { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; }
body .ai-section, body .ai-panel { margin-top: 20px; }
body footer, body .page-footer { width: min(1560px, calc(100% - 48px)); margin: 0 auto; padding: 22px 12px 30px; }
.workbench-actions { width: min(1560px, calc(100% - 48px)); margin: 0 auto; padding: 10px 12px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--workbench-line); background: color-mix(in srgb, var(--workbench-paper) 92%, white); }
.workbench-action { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 7px 13px; border: 1px solid var(--workbench-line); border-radius: 9px; background: var(--workbench-card); color: var(--workbench-jade); font: 600 12px/1.2 'Microsoft YaHei', sans-serif; text-decoration: none; cursor: pointer; }
.workbench-action:hover, .workbench-action:focus-visible { border-color: var(--workbench-jade); background: #eef5f1; outline: none; }
.workbench-action-reset { color: var(--workbench-ink); }
.workbench-task-hint { margin-left: auto; color: var(--workbench-muted); font-size: 11px; line-height: 1.5; }
.workbench-section-fold { margin: 12px 0; border: 1px solid var(--workbench-line); border-radius: 10px; background: var(--workbench-card); }
.workbench-section-fold > summary { padding: 11px 14px; color: var(--workbench-jade); font-weight: 700; cursor: pointer; list-style: none; }
.workbench-section-fold > summary::-webkit-details-marker { display: none; }
.workbench-section-fold > summary::after { content: '＋'; float: right; }
.workbench-section-fold[open] > summary::after { content: '−'; }
.workbench-section-fold > :not(summary) { margin-left: 14px; margin-right: 14px; }
.daily-score { display: inline-flex; align-items: center; margin-left: 8px; padding: 3px 8px; border: 1px solid #b7d3c0; border-radius: 999px; background: #e8f2e8; color: #2c6842; font: 600 12px/1.2 'Microsoft YaHei', sans-serif; letter-spacing: 0; vertical-align: middle; }
@media (max-width: 900px) {
  body > .topbar, body > .zw-top, body > main, body > .zw-shell, body footer, body .page-footer { width: calc(100% - 28px); }
  .workbench-actions { width: calc(100% - 28px); }
  body .result-actions, body .ai-actions, body .reading-actions, body .zw-result-actions { align-items: stretch; }
  body .result-actions > *, body .reading-actions > *, body .zw-result-actions > * { flex: 1 1 140px; }
  .workbench-task-hint { flex-basis: 100%; margin-left: 0; }
}
