.task-three { --container: 1520px; --workspace-top: 112px; }
.task-three .practice-hero h1 { font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.15; }
.task-three-workspace { display:grid; grid-template-columns:minmax(270px,.9fr) minmax(350px,1.25fr) minmax(280px,.9fr); gap:20px; align-items:start; margin-top:22px; }
.task-three-workspace .practice-section { margin-top:0; padding:22px; }
.source-column, .task-three-production { position:sticky; top:var(--workspace-top); }
.sources-panel { max-height:calc(100dvh - var(--workspace-top) - 18px); overflow-y:auto; overscroll-behavior:contain; }
.task-three-workspace h2 { font-size:1.55rem; line-height:1.25; }
.source-document { border-top:1px solid var(--line); padding-top:18px; margin-top:20px; }
.source-document h3 { color:var(--blue); }
.task-three .source-document p { color:var(--ink); font-size:.94rem; line-height:1.75; margin-bottom:0; }
.task-three-prompt { font-size:.92rem; margin-bottom:20px; }
.task-three-writing .component-guidance { margin-top:0; }
.task-three-accents { padding:14px; margin-bottom:20px; border:1px solid var(--line); border-radius:18px; background:var(--gray); }
.task-three-accents .accent-grid { display:flex; flex-wrap:wrap; gap:6px; }
.task-three-accents button { min-width:34px; min-height:34px; padding:4px 8px; }
.task-three .help { color:var(--muted); font-size:.85rem; margin:0; }
.task-three-accents .help { margin-bottom:10px; }
.title-component { background:#f0f5fa; }
.summary-component { background:#f2f6f0; }
.opinion-component { background:#fcf2f0; }
.part-guide { color:var(--blue); font-size:.88rem; font-weight:700; margin:0; }
.task-three .part-counter { margin:0; font-size:.85rem; font-weight:700; color:var(--blue); }
.task-three textarea { min-height:220px; line-height:1.65; }
.task-three #opinion { min-height:310px; }
.task-three-preview-panel { display:flex; flex-direction:column; gap:12px; max-height:calc(100dvh - var(--workspace-top) - 18px); overflow:auto; }
.task-three-preview-panel .eyebrow, .task-three-preview-panel h2 { margin:0; }
.task-three .preview-label { margin:0; color:var(--blue); font-weight:800; }
.task-three .production-preview { white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid var(--line); border-radius:14px; padding:14px; min-height:180px; max-height:42dvh; overflow:auto; flex:1 1 auto; background:var(--white); line-height:1.7; }
.task-three .word-status { margin:0; padding:12px; }
.task-three #counter { color:var(--blue); }
.task-three .word-status[data-state="ok"] { background:var(--green-soft); }
.task-three .word-status[data-state="ok"] #counter { color:var(--green); }
.task-three .word-status[data-state="long"] #counter { color:var(--red); }
.task-three progress { display:block; width:100%; height:9px; accent-color:var(--blue); margin:10px 0; }
.task-three #status { font-size:.85rem; margin:0 0 6px; }
.task-three #download { flex:none; font-size:.85rem; padding:10px 14px; }
.task-three #message { margin:0; min-height:0; color:var(--blue); font-size:.85rem; }
@media (max-width:1149px) {
  .task-three-workspace { grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); }
  .source-column { grid-column:1 / -1; position:static; }
  .sources-panel { max-height:none; overflow:visible; }
  .source-documents { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
}
@media (max-width:1024px), (hover:none) and (pointer:coarse) { .task-three-accents { display:none; } }
@media (max-width:850px) {
  .task-three-workspace, .source-documents { grid-template-columns:1fr; }
  .task-three-production { position:static; }
  .task-three-preview-panel { max-height:none; overflow:visible; }
  .task-three .production-preview { max-height:none; overflow:visible; }
  .task-three-workspace .practice-section { padding:20px; }
}
