/* Readable controls; introductory screens retain their original spacing. */
label{font-size:14px}
input::placeholder{font-size:14px;color:#7b7487}
label>small,.form-panel label>small{font-size:13px;color:#655e73}
.back-link,.forgot-link,.auth-bottom,.auth-art>small,.auth-copyright{font-size:14px;color:#655e73}
.auth-card .eyebrow,.auth-art .eyebrow{font-size:12px;letter-spacing:.1em;color:#655e73}
.auth-card>p,.auth-art p{font-size:16px;color:#655e73;line-height:1.6}
.auth-card .checkbox-label{font-size:13px;line-height:1.55}
.auth-card input:not([type=checkbox]),.auth-card .segmented button{font-size:16px}
.auth-card .button,.auth-card .auth-bottom,.auth-card .forgot-link{font-size:15px}
.textbook-grid{align-items:start;row-gap:24px}
.textbook-field,.textbook-grid>label{min-width:0}
.textbook-field>label{margin-bottom:8px}
.textbook-field select{max-width:100%;font-size:14px;text-overflow:ellipsis}
.textbook-source{display:grid;gap:6px;margin-top:10px;font-size:13px;line-height:1.5;color:#655e73;overflow-wrap:anywhere}
.textbook-source:empty{display:none}
.textbook-source a{color:#5441cf;text-decoration:underline;text-underline-offset:3px;width:fit-content}
.textbook-custom{margin-top:14px}
.textbook-custom[hidden]{display:none}
.textbook-note,.field-note{font-size:14px;line-height:1.6;color:#655e73}
.textbook-note{margin:4px 0 20px;max-width:800px}
.field-note{font-size:13px;margin:10px 0 0}

@media(min-width:901px){
  .site-header nav,.header-actions,.button.small,.inline-link,.demo-input .button{font-size:14px}
  .eyebrow,.hero .eyebrow,.closing .eyebrow,.page-heading .eyebrow,.today-card .eyebrow,.welcome-card .eyebrow,.completion .eyebrow{font-size:12px;letter-spacing:.11em}
  .hero-note,.hero-subjects span,.value-strip,.feature-top,.level-track,.skill-badges span,.grade-number small,.grade-row>span>small,.badge,.chart-title>span,.chart-caption,.parent-preview-bottom small,.demo-head>span,.grade-pill,.price-note,.price-card-top>span,.footer,.footer p,.footer>div>b,.footer .requisites span{font-size:13px;color:#655e73}
  .preview-head,.floating-label,.label-bottom b,.preview-answer small,.preview-foot,.parent-preview-top,.parent-preview-bottom b{font-size:13px}
  .label-bottom small,.preview-topic,.preview-correct,.preview-progress+small{font-size:12px;color:#655e73}
  .preview-meta,.preview-success,.preview-footer,.parent-preview-top .badge{font-size:12px;color:#655e73}
  .exercise-meta>span:not(.badge),.exercise-topic,.lesson-top>span{font-size:13px;color:#655e73}
  .feedback p,.hint p{font-size:15px;line-height:1.6}
  .topbar-label,.sidebar-label,.child-option small,.parent-chip small,.sidebar-bottom,.verify-banner,.verify-banner button,.badge,.stat-card>span,.panel-note,.skill-stat span,.history-list small,.history-list>div>span:last-child,.info-row,.school-row small,.answer-help,.lesson-encouragement{font-size:13px;color:#655e73}
  .sidebar-nav button,.child-option,.add-child,.page-heading p,.toggle-row small,.school-row b,.school-row select,.school-row input,.search-label input,.form-panel .button,.history-list+.button,.page-heading>.button,.today-card .button,.exercise-card label,.exercise-actions .button.text{font-size:14px}
}
@media(min-width:621px) and (max-width:850px){
  .textbook-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .auth-copyright{font-size:13px;line-height:1.5}
  .textbook-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .textbook-field select,.textbook-custom input{font-size:16px}
}

.timer-settings{border:1px solid #dcd8eb;border-radius:16px;padding:18px;margin:24px 0;min-width:0}
.timer-settings legend{padding:0 8px;font-size:16px;font-weight:650;color:var(--ink)}
.timer-settings .toggle-row{padding-top:0;border-bottom:0}
.timer-settings label[hidden]{display:none}
.timer-settings .field-note{margin-top:0}
.exercise-timer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;background:#efecff;border:1px solid #cfc6ff;border-radius:14px;padding:12px 16px;margin-bottom:22px;color:#4734ae;font-size:14px}
.exercise-timer[hidden]{display:none}
.exercise-timer strong{font-size:25px;font-variant-numeric:tabular-nums;margin-left:auto}
.exercise-timer small{flex-basis:100%;font-size:13px;line-height:1.5}
.exercise-timer.ending,.exercise-timer.expired{background:#fff4e6;border-color:#e3ad69;color:#87501d}
