/* Contribution and review pages. Shared shell, private data kept by the module. */
#fy-reading-modes .contribution-page{max-width:1120px;margin-inline:auto;min-width:0}
#fy-reading-modes .contribution-page :is(h1,h2,h3,p,dd,a,label,li){overflow-wrap:anywhere}
#fy-reading-modes .contribution-page :is(button,a,input,select,textarea){touch-action:manipulation}
#fy-reading-modes .contribution-page :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--fy-accent);outline-offset:3px}
#fy-reading-modes .contribution-page section.article-section[tabindex="-1"]:focus-visible{outline:none}
#fy-reading-modes .contribution-page section.article-section[tabindex="-1"]:focus-visible>h2{outline:2px solid var(--fy-accent);outline-offset:4px}
#fy-reading-modes .contribution-page :is(.primary-button,.quiet-button,.back-link){min-height:44px}
#fy-reading-modes .contribution-page .page-heading{align-items:flex-start}
#fy-reading-modes .contribution-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;min-width:0}
#fy-reading-modes .contribution-actions :is(a,button){max-width:100%;white-space:normal}
#fy-reading-modes .contribution-caption{font-size:12px;line-height:1.85;color:var(--fy-muted,#666663);margin:10px 0}
#fy-reading-modes .contribution-banner{padding:15px 19px;margin:0 0 23px;background:var(--fy-warm);border-left:2px solid #a78a7a;font-size:13px;line-height:1.85}
#fy-reading-modes .contribution-banner p{margin:0 0 7px}
#fy-reading-modes .contribution-banner p:last-child{margin-bottom:0}
#fy-reading-modes .contribution-banner .contribution-actions{margin-top:12px}
#fy-reading-modes .contribution-list{border-top:1px solid var(--fy-line)}
#fy-reading-modes .contribution-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;border-bottom:1px solid var(--fy-line);padding:23px 0}
#fy-reading-modes .contribution-row>div{min-width:0}
#fy-reading-modes .contribution-row h2{font-size:18px;line-height:1.6;margin:7px 0}
#fy-reading-modes .contribution-row h2 a:hover{text-decoration:underline;text-underline-offset:4px}
#fy-reading-modes .contribution-row p{font-size:13px;color:var(--fy-muted,#666663);margin:5px 0;line-height:1.8}
#fy-reading-modes .contribution-row-meta{display:flex;gap:7px 17px;flex-wrap:wrap;color:var(--fy-muted,#666663);font-size:12px}
#fy-reading-modes .contribution-row .contribution-actions{margin:0;justify-content:flex-end}
#fy-reading-modes .contribution-status{display:inline-block;color:var(--fy-muted,#666663);font-size:12px;line-height:1.6}
#fy-reading-modes .contribution-status.is-returned{color:var(--fy-accent)}
#fy-reading-modes .contribution-form-wrap{max-width:940px;margin-inline:auto}
#fy-reading-modes .contribution-overview{display:flex;flex-wrap:wrap;gap:13px 30px;margin:-8px 0 24px;min-width:0}
#fy-reading-modes .contribution-overview>div{display:flex;align-items:baseline;gap:10px;min-width:0;max-width:100%}
#fy-reading-modes .contribution-overview dt{font-size:12px;line-height:1.8;color:var(--fy-muted,#666663);flex:none}
#fy-reading-modes .contribution-overview dd{font-size:13px;line-height:1.8;margin:0;color:var(--fy-ink);min-width:0}
#fy-reading-modes .contribution-contents{max-width:940px;margin:0 auto 22px;min-width:0}
#fy-reading-modes .contribution-page .contribution-chapter-nav{padding:0 17px;border:0;background:var(--fy-warm)}
#fy-reading-modes .contribution-page .contribution-chapter-nav>summary{min-height:44px;margin:0 0 0 14px;padding:11px 0;font-size:13px;line-height:1.7;cursor:pointer}
#fy-reading-modes .contribution-page .contribution-chapter-nav[open]>summary{margin-bottom:0}
#fy-reading-modes .contribution-chapter-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 12px;padding:0 0 12px;min-width:0}
#fy-reading-modes .contribution-page .contribution-chapter-links a{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 9px;border-left:2px solid transparent;line-height:1.7;font-size:13px;min-width:0;text-decoration:none}
#fy-reading-modes .contribution-page .contribution-chapter-links a[aria-current="location"]{border-left-color:var(--fy-accent);color:var(--fy-accent)}
#fy-reading-modes .contribution-chapter-links a>span{font:11px Consolas,monospace;color:var(--fy-muted,#666663)}
#fy-reading-modes .contribution-page .article-paper.contribution-reading-paper,#fy-reading-modes .contribution-page .article-paper.contribution-form-paper{padding:0;max-width:940px;margin-inline:auto;background:transparent;min-width:0}
#fy-reading-modes .contribution-page .contribution-caption{font-size:12px;line-height:1.85;margin:10px 0;color:var(--fy-muted,#666663)}
#fy-reading-modes .contribution-form{margin:20px 0 0;min-width:0}
#fy-reading-modes .contribution-fieldset{min-width:0;min-inline-size:0;border:0;background:var(--fy-paper);padding:26px 30px 30px;margin:0 0 22px;scroll-margin-top:calc(var(--app-header-height,82px) + 24px)}
#fy-reading-modes .contribution-fieldset legend{float:left;width:100%;font-size:19px;font-weight:500;line-height:1.6;margin:0 0 22px;padding:0}
#fy-reading-modes .contribution-number{display:inline-block;min-width:27px;margin-right:8px;font:12px Consolas,monospace;color:var(--fy-accent)}
#fy-reading-modes .contribution-fields{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;min-width:0}
#fy-reading-modes .contribution-field{display:flex;flex-direction:column;min-width:0;gap:7px}
#fy-reading-modes .contribution-field.is-wide{grid-column:1 / -1}
#fy-reading-modes .contribution-field label{font-size:13px;line-height:1.7;color:var(--fy-ink)}
#fy-reading-modes .contribution-required{font-size:11px;font-weight:400;color:var(--fy-accent);margin-left:7px}
#fy-reading-modes .contribution-field :is(input,select,textarea){display:block;width:100%;min-width:0;max-width:100%;min-height:44px;border:1px solid #bfbfba;border-radius:3px;background:#fcfcf9;color:var(--fy-ink);padding:10px 12px;font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}
#fy-reading-modes .contribution-field textarea{min-height:130px;resize:vertical;line-height:1.85}
#fy-reading-modes .contribution-field :is(input,textarea)::placeholder{color:#74746f;opacity:1}
#fy-reading-modes .contribution-field [aria-invalid="true"]{border-color:var(--fy-accent)}
#fy-reading-modes .contribution-field :disabled{background:#efefea;color:#666663}
#fy-reading-modes .contribution-field :is(.field-hint,.field-error){font-size:12px;line-height:1.8;margin:0}
#fy-reading-modes .contribution-field .field-hint{color:var(--fy-muted,#666663)}
#fy-reading-modes .contribution-field .field-error{color:var(--fy-accent)}
#fy-reading-modes .contribution-errors{border-left:2px solid var(--fy-accent);background:var(--fy-paper);padding:18px 21px;margin:18px 0 23px}
#fy-reading-modes .contribution-errors h2{font-size:16px;line-height:1.7;margin:0 0 10px}
#fy-reading-modes .contribution-errors ul{margin:0;padding-left:20px;font-size:13px;line-height:1.9}
#fy-reading-modes .contribution-errors button{display:inline;padding:7px 0;border:0;background:transparent;color:var(--fy-accent);text-decoration:underline;text-underline-offset:3px;text-align:left;min-height:44px;font:inherit}
#fy-reading-modes .contribution-preview{background:var(--fy-paper);padding:30px 34px;min-width:0}
#fy-reading-modes .contribution-preview-section{padding:24px 0;border-top:1px solid var(--fy-line);scroll-margin-top:calc(var(--app-header-height,82px) + 24px)}
#fy-reading-modes .contribution-preview-section.article-section{margin-top:0}
#fy-reading-modes .contribution-preview-section:first-child{border-top:0;padding-top:0}
#fy-reading-modes .contribution-preview-section:last-child{padding-bottom:0}
#fy-reading-modes .contribution-preview-section h2{font-size:19px;line-height:1.6;margin:0 0 18px}
#fy-reading-modes .contribution-preview-fields{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 25px}
#fy-reading-modes .contribution-preview-fields>div{min-width:0}
#fy-reading-modes .contribution-preview-fields>.is-wide{grid-column:1 / -1}
#fy-reading-modes .contribution-preview-fields dt{font-size:12px;color:var(--fy-muted,#666663);margin:0 0 5px}
#fy-reading-modes .contribution-preview-fields dd{font-size:14px;line-height:1.9;color:var(--fy-ink);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
#fy-reading-modes .contribution-preview-fields .is-empty{color:var(--fy-muted,#666663)}
#fy-reading-modes .contribution-page .contribution-preview-fields .is-empty{font-size:13px;line-height:1.75}
#fy-reading-modes .contribution-missing{border-top:1px solid var(--fy-line);margin-top:19px;padding-top:7px;min-width:0}
#fy-reading-modes .contribution-missing>summary{font-size:13px;line-height:1.8;min-height:44px;padding:8px 0;cursor:pointer;color:var(--fy-muted,#666663);overflow-wrap:anywhere}
#fy-reading-modes .contribution-missing>summary>span{display:block;font-size:12px;margin-left:15px;line-height:1.8}
#fy-reading-modes .contribution-missing .contribution-preview-fields{margin-top:12px}
#fy-reading-modes .contribution-review-note{margin-top:26px;background:var(--fy-warm);padding:23px 26px}
#fy-reading-modes .contribution-review-note h2{font-size:18px;margin:0 0 15px}
#fy-reading-modes .contribution-plain{white-space:pre-wrap;overflow-wrap:anywhere}
#fy-reading-modes .contribution-page .contribution-fieldset.article-section{padding:26px 30px 30px;margin:0 0 22px;border:0}
#fy-reading-modes[data-mode="workbench"] .contribution-page .contribution-fieldset.article-section{padding:24px 27px 27px}
#fy-reading-modes .contribution-review-note.article-section{scroll-margin-top:calc(var(--app-header-height,82px) + 24px)}
#fy-reading-modes .contribution-state{padding:28px 0;max-width:720px}
#fy-reading-modes .contribution-state h2{font-size:21px;line-height:1.6;margin:0 0 12px}
#fy-reading-modes .contribution-state p{font-size:14px;line-height:1.85;color:var(--fy-muted,#666663);margin:0 0 13px}
#fy-reading-modes .contribution-footer{border-top:1px solid var(--fy-line);padding-top:16px;margin-top:30px;color:var(--fy-muted,#666663);font-size:12px;line-height:1.8}
#fy-reading-modes[data-mode="workbench"] .contribution-row{padding-block:18px}
#fy-reading-modes[data-mode="workbench"] .contribution-fieldset{padding:24px 27px 27px}
@media(max-width:900px){
  #fy-reading-modes .contribution-page .page-heading{display:block}
  #fy-reading-modes .contribution-page .page-actions{justify-content:flex-start;margin-top:17px}
}
@media(max-width:620px){
  #fy-reading-modes .contribution-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px 0}
  #fy-reading-modes .contribution-row .contribution-actions{justify-content:flex-start}
  #fy-reading-modes .contribution-row h2{font-size:17px}
  #fy-reading-modes .contribution-fieldset,#fy-reading-modes[data-mode="workbench"] .contribution-fieldset{padding:22px 19px 25px;margin-bottom:18px}
  #fy-reading-modes .contribution-page .contribution-fieldset.article-section,#fy-reading-modes[data-mode="workbench"] .contribution-page .contribution-fieldset.article-section{padding:22px 19px 25px;margin-bottom:18px}
  #fy-reading-modes .contribution-overview{margin-top:-4px;gap:10px 22px}
  #fy-reading-modes .contribution-chapter-links{grid-template-columns:minmax(0,1fr);gap:2px;padding-bottom:10px}
  #fy-reading-modes .contribution-page .contribution-chapter-nav{padding-inline:13px}
  #fy-reading-modes .contribution-missing>summary>span{margin-left:0}
  #fy-reading-modes .contribution-fieldset legend{font-size:18px;margin-bottom:18px}
  #fy-reading-modes .contribution-fields,#fy-reading-modes .contribution-preview-fields{grid-template-columns:minmax(0,1fr);gap:19px}
  #fy-reading-modes .contribution-field :is(input,select,textarea){font-size:16px}
  #fy-reading-modes .contribution-field textarea{min-height:140px}
  #fy-reading-modes .contribution-preview{padding:23px 20px}
  #fy-reading-modes .contribution-preview-section h2{font-size:18px}
  #fy-reading-modes .contribution-preview-fields dd{font-size:14px}
  #fy-reading-modes .contribution-actions{gap:10px}
  #fy-reading-modes .contribution-actions :is(.quiet-button,.primary-button){flex:1 1 135px}
  #fy-reading-modes .contribution-banner{padding:14px 16px}
  #fy-reading-modes .contribution-review-note{padding:20px 18px}
}
@media(prefers-reduced-motion:reduce){#fy-reading-modes .contribution-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){
  #fy-reading-modes .contribution-page section.article-section[tabindex="-1"]:focus-visible>h2{outline-color:Highlight}
}
