.check-shell { padding-bottom: 40px; }
.check-shell .story-breadcrumb { padding-block: 14px; }
.check-shell .story-header { max-width: 860px; margin: 8px 0 24px; }
.check-shell .story-header h1 { font-size: clamp(29px, 3.3vw, 44px); line-height: 1.35; margin-top: 12px; }
.check-shell .story-intro { font-size: 15px; line-height: 1.85; margin-top: 14px; }
.check-summary-jump { display: none; }
.check-notice { max-width: 800px; padding: 20px 24px; border-left: 3px solid #899e69; background: #eaf0de; }
.check-notice strong { font-size: 14px; line-height: 1.8; }
.check-notice p { margin-top: 8px; color: #52634b; font-size: 13px; line-height: 1.9; word-break: keep-all; }
.check-kind { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0 24px; }
.check-kind button { background: transparent; border: 1px solid #bdc9b4; border-radius: 4px; min-height: 46px; padding: 10px 18px; font-size: 14px; }
.check-kind button[aria-pressed="true"] { background: var(--ink); color: white; border-color: var(--ink); }
.check-layout { display: grid; grid-template-columns: minmax(0, 1fr) 276px; gap: 35px; align-items: start; }
.check-panel { min-width: 0; border-top: 2px solid var(--ink); padding-top: 25px; }
.check-panel:not([hidden]) ~ .check-panel:not([hidden]) { margin-top: 40px; }
.check-panel-heading h2 { margin-top: 12px; font-size: 28px; letter-spacing: -1px; }
.check-panel-heading > p:last-child { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.85; word-break: keep-all; }
.check-items { list-style: none; padding: 0; margin: 20px 0 0; }
.check-items li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px 14px; border-top: 1px solid var(--line); padding: 23px 0; }
.check-number { font-size: 12px; line-height: 2; color: var(--muted); }
.check-copy h3 { font-size: 17px; line-height: 1.7; font-weight: 650; word-break: keep-all; }
.check-copy p { font-size: 14px; line-height: 1.85; color: var(--muted); margin-top: 7px; word-break: keep-all; overflow-wrap: anywhere; }
.check-status { grid-column: 2; }
.check-status select { min-height: 44px; width: 170px; max-width: 100%; border: 1px solid #9cab93; border-radius: 3px; padding: 8px 11px; background: #fff; font: 14px var(--font); color: var(--ink); cursor: pointer; }
[data-check-state="recheck"] .check-status select { border-color: #ae6f40; background: #fff4e5; color: #754216; }
[data-check-state="pass"] .check-status select { background: #eaf1e5; border-color: #758f65; }
.check-related { display: flex; flex-wrap: wrap; gap: 10px 20px; border-top: 1px solid var(--line); padding-top: 20px; }
.check-related a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--green); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.check-summary { position: sticky; top: 110px; background: #edf0e6; border: 1px solid #d5dec9; padding: 24px 22px; border-radius: 5px; }
.check-summary h2 { font-size: 21px; margin: 14px 0 18px; letter-spacing: -.7px; }
#check-progress { font-size: 13px; line-height: 1.8; }
#check-progress-bar { display: block; width: 100%; height: 7px; margin-top: 15px; accent-color: #697963; }
.check-counts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 22px 0; }
.check-counts div { border-bottom: 1px solid #d3ddc7; padding-bottom: 9px; }
.check-counts dt { font-size: 12px; color: #5a6950; }
.check-counts dd { margin: 5px 0 0; font-size: 25px; }
.check-limit { font-size: 12px; line-height: 1.9; color: #5b6853; word-break: keep-all; }
.check-summary .button { border: 0; width: 100%; gap: 10px; font-size: 13px; }
.check-secondary, .check-reset { display: block; width: 100%; min-height: 44px; margin-top: 9px; border: 1px solid #a4b397; background: transparent; border-radius: 3px; font-size: 13px; }
.check-reset { border: 0; text-decoration: underline; text-underline-offset: 4px; color: #5b6853; }
.check-reset:disabled { color: #7e8879; cursor: default; text-decoration: none; }
.check-output-status { font-size: 12px; line-height: 1.8; margin-top: 12px; color: #4b603d; }
.check-output summary { min-height: 44px; padding-block: 12px; cursor: pointer; font-size: 13px; }
.check-output textarea { width: 100%; resize: vertical; min-height: 150px; max-height: 300px; padding: 12px; font: 13px/1.7 var(--font); border: 1px solid #afbea1; border-radius: 3px; }
.check-confirm { padding-top: 14px; border-top: 1px solid #bdcbb1; }
.check-confirm p { font-size: 13px; line-height: 1.8; }
.check-confirm > div { display: flex; gap: 8px; margin-top: 12px; }
.check-confirm button { min-height: 44px; padding: 8px 11px; border: 1px solid #9aa88c; background: #fff; border-radius: 3px; font-size: 12px; }
.check-noscript { padding-block: 20px; font-size: 14px; line-height: 1.8; }
.check-noscript a { text-decoration: underline; }
@media (max-width: 850px) {
  .check-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .check-summary-jump { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; margin: -10px 0 18px; color: var(--green); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
  .check-summary { position: static; }
  .check-counts { grid-template-columns: repeat(4, 1fr); }
  .check-output textarea { font-size: 16px; }
}
@media (max-width: 580px) {
  .check-shell .story-breadcrumb { padding-block: 10px; }
  .check-shell .story-header { margin-bottom: 18px; }
  .check-shell .story-header > .eyebrow { font-size: 9px; letter-spacing: 1px; }
  .check-notice { padding: 18px; }
  .check-kind { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .check-kind button { padding: 9px 6px; font-size: 12px; word-break: keep-all; }
  .check-panel-heading > .eyebrow { display: none; }
  .check-panel-heading h2 { font-size: 25px; margin-top: 0; }
  .check-items li { grid-template-columns: 22px minmax(0, 1fr); gap: 10px; }
  .check-status select { font-size: 16px; }
  .check-summary { padding: 22px 18px; }
}
@media print {
  .check-layout { display: block; }
  .check-summary, .check-kind { display: none; }
  .check-items li { break-inside: avoid; }
}
