:root { --resource-width: 1120px; }
body.resource-page { background: var(--ground-light); color: var(--text-dark); }
.resource-header { background: var(--ground-deep); color: var(--text-light); min-height: 80px; padding: var(--space-sm) max(var(--space-md),calc((100% - var(--resource-width))/2)); display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: var(--space-sm); }
.resource-header nav { display: flex; flex-wrap: wrap; gap: 20px; font-size: var(--reading-small); }
.resource-header a { min-height: 44px; display: inline-flex; align-items: center; }
.resource-main { max-width: var(--resource-width); margin-inline: auto; padding: var(--space-xl) var(--space-md) var(--space-section); }
.resource-main h1 { font-size: clamp(36px,4.6vw,62px); line-height: 1.3; max-width: 18em; }
.resource-main h2 { font-size: clamp(26px,3vw,36px); margin-bottom: var(--space-md); }
.resource-main h3 { font-size: 22px; margin-bottom: var(--space-sm); }
.resource-lead { font-size: 20px; color: var(--text-secondary); margin-block: var(--space-md) var(--space-lg); max-width: 44em; }
.resource-main section { margin-top: var(--space-xl); }
.resource-main p,.resource-main li { font-size: 16px; line-height: 1.85; }
.resource-main li+li { margin-top: 12px; }
.resource-main a:not(.button) { text-decoration: underline; text-underline-offset: 4px; }
.resource-main table { width: 100%; border-collapse: collapse; margin-block: var(--space-md); font-size: 16px; }
.resource-main th,.resource-main td { text-align: left; padding: var(--space-sm) 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.resource-main .button { background: var(--ground-deep); color: var(--text-light); }
.resource-main .resource-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-md); align-items: center; }
.resource-main .reading-note { background: var(--ground-panel); padding: var(--space-md); color: var(--text-secondary); margin-block: var(--space-md); }
.worksheet-line { min-height: 70px; border-bottom: 1px solid var(--line); padding-block: var(--space-sm); }
.study-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-block: 32px; }
.study-toolbar button { text-decoration: underline; text-underline-offset: 4px; }
.study-panel { padding: 32px; background: var(--ground-white); }
.study-panel h2 { font-size: 28px; }
.study-panel p { max-width: 65ch; }
.study-panel fieldset { border: 0; padding: 0; margin: 32px 0; min-width: 0; }
.study-panel legend { font-size: 18px; margin-bottom: var(--space-sm); }
.study-panel fieldset label,.consent-label { display: flex; gap: 12px; align-items: start; padding: 12px; min-height: 48px; background: var(--ground-light); margin-top: var(--space-xs); cursor: pointer; }
.study-panel input[type=radio],.study-panel input[type=checkbox] { flex: 0 0 auto; width: 20px; height: 20px; min-height: 20px; margin-top: 5px; accent-color: var(--signal-a); }
.study-panel select { margin-block: 12px var(--space-md); padding: var(--space-xs) 12px; max-width: 100%; color: var(--text-dark); background: var(--ground-light); }
#study-frame { width: 100%; height: 760px; border: 1px solid var(--line); background: var(--ground-light); margin-top: var(--space-md); }
.study-help { font-size: var(--reading-small) !important; color: var(--text-secondary); margin-top: var(--space-sm); }
#study-storage,#study-intro-status,#import-status { font-size: var(--reading-small); color: var(--text-secondary); margin-top: var(--space-sm); }
.resource-main input[type=file] { max-width: 100%; padding: var(--space-sm) 0; }
.summary-table { overflow-x: auto; }
.summary-table table { min-width: 540px; }
.method-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.method-steps p { color: var(--text-secondary); }
@media(max-width:600px) {
  .resource-main { padding: var(--space-lg) 20px var(--space-xl); }
  .resource-header { padding-inline: 20px; }
  .resource-header nav { gap: var(--space-sm); }
  .resource-lead { font-size: 18px; }
  .study-panel { padding: var(--space-md) var(--space-sm); }
  .resource-main th,.resource-main td { padding: 12px 6px; font-size: 14px; }
  .method-steps { grid-template-columns: minmax(0,1fr); }
  #study-frame { height: 680px; }
  .summary-table table { min-width: 0; table-layout: fixed; }
  .summary-table th,.summary-table td { overflow-wrap: break-word; padding-inline: 4px; }
}
@media print {
  .resource-header,.resource-actions,button { display: none !important; }
  .resource-main { padding: 0; max-width: none; }
  .resource-main section { break-inside: avoid; margin-top: var(--space-md); }
  .resource-main h1 { font-size: 30px; }
  .resource-main h2 { font-size: 22px; }
  .resource-main p,.resource-main li { font-size: 12px; }
}
