.writing-shell { max-width: 960px; padding-block: 40px 64px; }
.writing-intro h1 { font: 500 clamp(32px, 5vw, 52px)/1.1 var(--serif); letter-spacing: -.025em; }
.writing-intro .lede { max-width: 760px; font-size: 18px; color: var(--ink-soft); }
.writing-form, .writing-plan-output { padding: 26px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface); margin: 26px 0; }
.writing-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.writing-field { min-width: 0; }
.writing-field label { display: block; font-weight: 600; margin-bottom: 6px; }
.writing-field input, .writing-field textarea { width: 100%; max-width: 100%; min-width: 0; min-height: 46px; font: inherit; padding: 10px; color: var(--ink); background: var(--surface); border: 1px solid var(--line-strong); border-radius: 8px; }
.writing-field small { display: block; color: var(--ink-soft); margin-top: 5px; }
.writing-weekdays { min-width: 0; padding: 14px; margin: 20px 0; border: 1px solid var(--line-strong); border-radius: 8px; }
.writing-weekdays legend { font-weight: 600; padding-inline: 5px; }
.writing-weekday-options { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.writing-weekday-options label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.writing-weekday-options input { width: 18px; height: 18px; }
.writing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.writing-actions .btn { min-height: 44px; white-space: normal; }
.writing-tool button:disabled { opacity: .55; cursor: not-allowed; }
.writing-help, .writing-status { font-size: 14px; color: var(--ink-soft); }
.writing-error { color: #8d291e; font-weight: 600; }
.writing-error:empty { display: none; }
.writing-summary { font-size: 20px; font-weight: 600; }
.writing-plan-output [hidden], .writing-tool [hidden] { display: none !important; }
.writing-plan-output p { overflow-wrap: anywhere; }
.writing-table-wrap { max-width: 100%; }
.writing-table { table-layout: fixed; width: 100%; border-collapse: collapse; font-size: 15px; }
.writing-table th, .writing-table td { padding: 9px 8px; border-bottom: 1px solid var(--line); text-align: right; overflow-wrap: anywhere; }
.writing-table th:first-child, .writing-table td:first-child { text-align: left; width: 42%; }
.writing-table caption { text-align: left; font-weight: 600; margin: 16px 0 8px; }
.writing-method { margin-top: 40px; }
.writing-method h2 { font-family: var(--serif); }
@media (max-width: 560px) {
  .writing-fields { grid-template-columns: minmax(0,1fr); }
  .writing-form, .writing-plan-output { padding: 18px; }
  .writing-table { font-size: 13px; }
  .writing-table th, .writing-table td { padding: 8px 4px; }
  .writing-actions .btn { flex: 1 1 100%; }
}
@media print {
  body.writing-tool > :not(main), .writing-tool .writing-intro, .writing-tool .writing-form, .writing-tool .writing-method, .writing-tool .writing-status, .writing-tool .writing-error, .writing-tool .writing-actions, .writing-tool #writing-handoff-note { display: none !important; }
  .writing-tool .writing-shell { padding: 0; width: 100%; max-width: none; }
  .writing-tool .writing-plan-output { margin: 0; padding: 0; border: 0; box-shadow: none; }
  .writing-tool .writing-table { font-size: 10pt; }
  .writing-tool .writing-table thead { display: table-header-group; }
  .writing-tool .writing-table tr { break-inside: avoid; }
  .writing-tool .writing-plan-output h2 { margin-top: 0; }
}
