/* v3: the established palette and typography, with task-first composition. */
.site-header{min-height:72px;padding:12px 24px;gap:18px;flex-wrap:nowrap}
.brand{min-height:44px}
#navigation{display:flex;order:initial;width:auto;margin:0 0 0 auto;flex-wrap:nowrap;gap:8px}
#navigation button{padding:10px 14px;white-space:nowrap;font-size:.9375rem}
#language-toggle{padding:10px;flex-shrink:0}
.header-menu{position:relative;flex-shrink:0}
.header-menu>summary{padding:9px 10px;gap:6px;min-width:44px;min-height:44px}
.header-menu>summary:before{content:none}
.header-menu>summary:after{content:'⌄';font-size:1rem}
.menu-content{position:absolute;z-index:20;right:0;top:100%;width:270px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 12px 28px #10191520}
.menu-content button,.menu-content a{display:flex;align-items:center;text-align:left;width:100%;min-height:44px;padding:10px;border:0;background:none;font-size:.9375rem}
.preview-status{max-width:1260px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;color:var(--muted);font-size:.875rem}
#preview-help>summary{font-size:.875rem;padding:6px 0;min-height:44px}
#preview-help .help-content{position:absolute;z-index:15;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 32px));padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #10191520;max-height:72vh;overflow:auto;color:var(--ink)}
.help-content h2{font:600 1.1rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin-bottom:14px;letter-spacing:0}
.help-content p{line-height:1.7;font-size:.9375rem}
.task-page{padding:22px 0 36px;margin:0 auto}
.task-title{display:flex;gap:16px;align-items:baseline;justify-content:space-between;margin-bottom:24px}
.task-title h1{font-size:2.25rem;line-height:1.2}
.task-title .save-status{margin:0;padding:0;white-space:nowrap;max-width:none}
.proposal-workspace{max-width:780px}
.proposal-steps{display:grid;grid-template-columns:1fr 1fr 1.8fr;list-style:none;padding:0;margin:0 0 22px;gap:12px;color:var(--muted);font-size:.875rem}
.proposal-steps li{display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--line);padding:0 0 12px;line-height:1.35}
.proposal-steps li[aria-current]{color:var(--field);font-weight:650;border-color:var(--field)}
.proposal-steps li>span{border:1px solid var(--line);width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;font-size:.8125rem}
.proposal-steps li[aria-current]>span{border-color:var(--field);background:var(--green-soft)}
.proposal-form{gap:20px}
.proposal-form>.field-grid .comment-heading{min-height:28px}
.proposal-form .field-grid{gap:16px}
.proposal-field textarea{min-height:106px}
#proposal-stem{min-height:150px}
.proposal-options{gap:20px}
.proposal-field .field-label{font-size:1rem}
.comment-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;margin-bottom:4px}
.comment-heading .field-label{margin-bottom:0;line-height:1.4}
.mic-button{display:flex;gap:6px;align-items:center;justify-content:center;flex-shrink:0;padding:8px 10px;background:transparent;border-color:transparent;font-size:.875rem;min-height:44px;min-width:44px;color:var(--field)}
.mic-button svg{width:17px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.step-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:4px}
.task-page .step-actions>button{width:auto}
.review-page{max-width:1080px}
.review-page>.question-meta{margin-bottom:10px}
.review-page .stage-label{font-size:.875rem;line-height:1.5;margin:0 0 22px}
.review-intro-grid,.source-comment-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:32px;align-items:start}
.review-intro-grid{margin-bottom:24px}
.review-page .question-stem{font-size:1.45rem;line-height:1.6;margin-bottom:10px}
.general-comments{border-left:2px solid var(--line);padding-left:22px}
.general-comments textarea{min-height:116px}
.review-page .answer-list{display:grid;gap:12px}
.answer-review-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:32px;align-items:start;padding:0 0 10px;border-bottom:1px solid var(--line)}
.answer-review-row .answer-choice{margin:0;border:0;border-radius:5px;background:var(--surface);min-height:72px;line-height:1.7;padding:16px}
.answer-choice.read-only{cursor:default}
.answer-review-row .item-comments{padding:0 0 0 22px}
.item-comments>summary{font-size:.9375rem;min-height:48px;padding:12px 0;font-weight:500}
.item-comments .detail-content{padding-bottom:10px}
.item-comments textarea,.context-comment textarea{display:block;min-height:88px}
.item-comments .field-label{font-size:.9375rem}
.item-comments details>summary,.context-comment details>summary{font-size:.875rem}
.item-comments .detail-content>select{margin-bottom:14px}
.review-page .first-choice{margin:18px 0;color:var(--muted)}
.source-review{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
.current-key-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.current-key-row h2{font:600 1.1rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
.source-comment-grid{padding:24px 0;border-bottom:1px solid var(--line)}
.source-comment-grid h3{margin-bottom:12px}
.context-comment{padding-left:22px;border-left:2px solid var(--line)}
.source-reference,.missing-edition{font-size:1rem;line-height:1.7}
.missing-edition{color:var(--signal)}
.review-decision{padding-top:26px}
.review-page .verdict-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.problem-section{margin-top:12px}
.review-page .review-submit{margin-top:20px}
.review-page .review-below{margin-top:24px}
.review-page .provenance{margin-top:16px}
#dictation-dialog{border:1px solid var(--line);border-radius:10px;padding:24px;width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 28px);color:var(--ink);background:var(--surface);overflow:auto}
#dictation-dialog::backdrop{background:#10191599}
.dictation-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}
.dictation-top h2{font:600 1.2rem/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
.dictation-top button{padding:6px;flex-shrink:0;font-size:1.5rem}
.voice-privacy{font-size:.9375rem;line-height:1.65}
#dictation-dialog>.field-label{margin-top:16px}
#dictation-dialog .actions{margin:12px 0;flex-wrap:wrap}
#dictation-dialog .check-label{margin:12px 0;align-items:flex-start;font-size:.9375rem;line-height:1.5}
#dictation-dialog .check-label input{margin-top:4px}
#dictation-status{background:var(--soft);padding:12px;border-radius:5px;margin:12px 0;font-size:.9375rem}
#dictation-dialog[data-phase="recording"] #dictation-status{border-left:3px solid var(--signal)}
#dictation-dialog[data-phase="error"] #dictation-status{color:var(--signal)}
@media(max-width:1320px){.preview-status{margin:0 28px}}
@media(max-width:760px){
  .site-header{min-height:64px;padding:10px 16px;gap:6px;flex-wrap:nowrap}
  .brand{min-width:44px;gap:0}
  .brand-name{display:none}
  .brand-mark{width:36px;height:38px}
  #navigation{order:initial;display:flex;width:auto;margin:0 0 0 auto;gap:0;flex-wrap:nowrap}
  #navigation button{padding:10px;font-size:.875rem;text-align:center}
  .header-menu>summary{padding:9px 7px;font-size:.875rem;gap:4px}
  #language-toggle{padding:8px;min-width:44px}
  .menu-content{width:250px;right:-45px}
  .preview-status{margin:0 18px;min-height:44px;font-size:.8125rem}
  #preview-help>summary{font-size:.8125rem}
  .task-page{padding-top:12px}
  .task-title{display:block;margin-bottom:18px}
  .task-title h1{font-size:1.85rem;line-height:1.25}
  .task-title .save-status{margin-top:4px;font-size:.8125rem;line-height:1.5}
  .proposal-steps{grid-template-columns:1fr 1fr 1.8fr;gap:8px;font-size:.8125rem;margin-bottom:18px}
  .proposal-steps li{gap:6px;align-items:flex-start;padding-bottom:10px}
  .proposal-steps li>span{width:22px;height:22px;font-size:.75rem}
  .proposal-form>.field-grid{grid-template-columns:1fr 1.45fr;gap:12px}
  .proposal-form .field-grid.three{grid-template-columns:1fr}
  .proposal-options{grid-template-columns:1fr}
  .proposal-form{gap:18px}
  .proposal-form .field-grid .field-label{font-size:.9375rem}
  .proposal-form .field-grid select{padding-left:9px;padding-right:5px}
  #proposal-stem{min-height:164px}
  .mic-button{padding:8px 6px;font-size:.8125rem}
  .step-actions{gap:8px}
  .step-actions button{font-size:.875rem;padding:10px 12px}
  .review-intro-grid,.source-comment-grid,.answer-review-row{grid-template-columns:1fr;gap:14px}
  .review-intro-grid{margin-bottom:20px}
  .review-page .question-stem{font-size:1.3rem;line-height:1.6}
  .general-comments,.context-comment{padding-left:0;border-left:0}
  .general-comments textarea{min-height:96px}
  .answer-review-row{gap:0;padding-bottom:4px}
  .answer-review-row .item-comments{padding-left:12px}
  .answer-review-row .answer-choice{padding:16px 12px}
  .review-page .stage-label{font-size:.8125rem;margin-bottom:16px}
  .source-comment-grid{padding:22px 0}
  .source-explanation{font-size:1rem;line-height:1.75}
  .review-page .verdict-options{grid-template-columns:1fr}
  .review-page .review-submit{flex-direction:column;align-items:stretch}
  .review-page .review-submit button{width:100%}
  #dictation-dialog{padding:18px}
  #dictation-dialog .actions>button{flex:1}
}
@media print{.site-header,.preview-status,.mic-button{display:none!important}.task-page{max-width:none}.review-intro-grid,.source-comment-grid,.answer-review-row{display:block}}
