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