/* PeatLogic R1: a focused reading measure and original local SVG context. */
.assessment-page .main-content { padding-bottom:190px; }
.assessment-page .app-footer { padding-bottom:155px; }
.assessment-shell { width:100%; max-width:820px; margin:0 auto; min-width:0; }
.assessment-heading { padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--border); scroll-margin-top:100px; }
.assessment-heading::before { content:""; display:block; height:10px; width:190px; margin-bottom:20px; background:var(--dayak-pattern) repeat-x left/96px 16px; }
.assessment-topline { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.assessment-topline .eyebrow { margin:0; }
.assessment-heading h1 { font-size:clamp(1.65rem,3vw,2.4rem); margin:12px 0; }
.assessment-heading p { margin:8px 0 18px; max-width:65ch; }
.assessment-progress { display:flex; justify-content:space-between; gap:12px; margin:18px 0 9px; font-size:.95rem; }
.assessment-shell progress { display:block; width:100%; height:8px; appearance:none; border:0; border-radius:20px; background:#e1e6dc; accent-color:var(--primary); }
.assessment-shell progress::-webkit-progress-bar { background:#e1e6dc; border-radius:20px; }
.assessment-shell progress::-webkit-progress-value { background:linear-gradient(90deg,var(--primary),#649780); border-radius:20px; }
.assessment-shell progress::-moz-progress-bar { background:var(--primary); border-radius:20px; }
.assessment-card { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:26px; min-width:0; box-shadow:0 5px 20px #183e3408; }
.peat-visual { margin:0 0 22px; min-width:0; }
.peat-visual img { display:block; width:100%; height:auto; max-height:190px; object-fit:contain; border-radius:10px; }
.peat-visual figcaption { font-size:.8rem; line-height:1.6; padding:10px; }
.answer-fieldset { border:0; padding:0; margin:0; min-width:0; width:100%; }
.question-prompt { display:block; width:100%; max-width:100%; padding:0; margin:0 0 22px; font-size:1.13rem; font-weight:600; line-height:1.7; overflow-wrap:anywhere; white-space:pre-line; }
.answer-choices { display:grid; gap:12px; min-width:0; }
.answer-card { position:relative; display:grid; grid-template-columns:20px 36px minmax(0,1fr); align-items:start; gap:12px; border:1.5px solid #bfc9bc; border-radius:10px; min-height:60px; padding:16px; cursor:pointer; line-height:1.65; background:#fffef9; transition:border-color .15s,background .15s; }
.answer-card:hover { background:#f1f5eb; border-color:#5a8067; }
.answer-card:has(input:checked) { background:#e9f1e7; border:2px solid #315d44; padding:15.5px; box-shadow:inset 4px 0 #315d44; }
.answer-card:focus-within { outline:3px solid var(--water); outline-offset:3px; }
.answer-card input { width:18px; height:18px; margin:8px 0 0; accent-color:var(--primary); }
.answer-card input:focus-visible { outline:0; }
.answer-letter { width:34px; height:34px; display:grid; place-items:center; background:#eef0e6; color:var(--primary); border-radius:8px; font-weight:700; }
.answer-card:has(input:checked) .answer-letter { background:var(--primary); color:white; }
.answer-text { min-width:0; overflow-wrap:anywhere; align-self:center; font-size:1rem; }
.answer-card:has(input:disabled) { cursor:default; }
.stimulus-data { margin:0 0 24px; }
.stimulus-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:.9rem; }
.stimulus-table caption { text-align:left; font-weight:600; margin-bottom:8px; }
.stimulus-table th,.stimulus-table td { padding:12px; border:1px solid var(--border); text-align:left; overflow-wrap:anywhere; white-space:normal; }
.stimulus-table thead { background:#e9eee3; }
.stimulus-cards { display:none; }
.quiz-feedback { border:1px solid #a3b8a1; border-left:5px solid var(--primary); background:#edf3e9; margin-top:22px; padding:18px; border-radius:8px; scroll-margin:110px 170px; }
.quiz-feedback.is-review { border-color:#c8b48c; border-left-color:#8c6a30; background:#f7f0df; }
.quiz-feedback strong { font-size:1.05rem; }.quiz-feedback p { margin:8px 0; }
.draft-status { color:var(--muted); font-size:.82rem; line-height:1.7; margin:18px 4px; }
.draft-status.error { color:var(--danger); }.draft-status .button { margin-top:10px; }
.assessment-actions { position:fixed; z-index:46; left:50%; bottom:14px; transform:translateX(-50%); width:calc(100% - 40px); max-width:820px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px 16px; padding:14px 20px; border:1px solid #b9c4b4; border-top:3px solid #9d7f40; border-radius:10px; background:#fffdf4; box-shadow:0 -4px 22px #193d3217; }
.question-help { grid-column:1/-1; font-size:.8rem; text-align:center; color:var(--muted); }
.assessment-actions .quiet { min-height:44px; text-decoration:underline; font-size:.85rem; }
.assessment-actions .button { padding:12px 18px; }
.assessment-shell button:disabled { opacity:.55; cursor:not-allowed; }
.answer-review { padding:28px; }.answer-review h2 { font-size:1.8rem; }
.review-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:24px 0; }
.review-number { min-height:70px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:#fffdf6; border:1px solid #aebaaa; border-radius:8px; color:var(--primary); padding:10px 3px; }
.review-number.answered { background:#eaf1e5; border-color:#718f6d; }.review-number span { font-size:.68rem; }.review-number b { font-size:1.1rem; }
.assessment-confirm { max-width:530px; width:calc(100% - 32px); padding:28px; color:var(--text); border:1px solid var(--gold); border-radius:12px; background:var(--surface); }
.assessment-confirm::backdrop { background:#10291fcc; }.assessment-confirm .actions { justify-content:flex-end; flex-wrap:wrap; }
.assessment-page .network-notice,.assessment-page .music-feedback:not(:empty) { bottom:155px; }
.assessment-page [hidden] { display:none!important; }
.learning-stage>.peat-visual { max-width:650px; margin-inline:auto; }
.indicator-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.indicator-card h3 { font-size:1rem; line-height:1.55; }.indicator-card p { margin:8px 0 0; }
@media(max-width:600px) {
 .journey-ui.assessment-page .main-content { padding-inline:14px; padding-bottom:180px; }
 .assessment-card { padding:18px 14px; border-radius:12px; }
 .assessment-heading { margin-bottom:14px; padding-bottom:16px; }.assessment-heading p { font-size:.91rem; }
 .assessment-topline { font-size:.72rem; }.assessment-topline .small-text { font-size:.72rem; }
 .question-prompt { font-size:1rem; margin-bottom:18px; line-height:1.75; }
 .peat-visual { margin-bottom:18px; }.peat-visual img { max-height:125px; }
 .answer-card { grid-template-columns:16px 28px minmax(0,1fr); gap:9px; padding:13px 10px; }
 .answer-card:has(input:checked) { padding:12.5px 9.5px; }
 .answer-card input { width:16px; height:16px; margin-top:6px; }.answer-letter { width:28px; height:28px; font-size:.88rem; }.answer-text { font-size:.96rem; line-height:1.65; }
 .stimulus-table { display:none; }.stimulus-cards { display:grid; gap:10px; }
 .stimulus-record { border:1px solid var(--border); background:#f1f3e9; padding:14px; border-radius:8px; }
 .stimulus-record h3 { font-size:1rem; margin:0 0 10px; }.stimulus-record dl { margin:0; }.stimulus-record dt { font-size:.8rem; color:var(--muted); margin-top:9px; }.stimulus-record dd { margin:2px 0 0; font-size:.95rem; overflow-wrap:anywhere; }
 .assessment-actions { left:0; bottom:0; transform:none; width:100%; border-radius:0; padding:10px 14px max(12px,env(safe-area-inset-bottom)); gap:8px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .assessment-actions .button { padding:11px 9px; font-size:.86rem; white-space:normal; }
 .assessment-actions [data-previous] { grid-column:1; grid-row:2; }.assessment-actions [data-next] { grid-column:2; grid-row:2; }
 .assessment-actions [data-open-review] { grid-column:1/-1; min-height:32px; padding:2px; }
 .question-help { font-size:.75rem; }.answer-review { padding:20px 14px; }.review-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
 .quiz-feedback { padding:15px; }.indicator-cards { grid-template-columns:minmax(0,1fr); }
 .assessment-confirm .button { width:100%; }.assessment-confirm .actions { flex-direction:column; }
 .guided-page .bottom-actions>.button:first-child span { display:inline; }.bottom-actions .button { white-space:normal; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .answer-card { transition:none; } }

/* Reserve the actual footer height when text size or line wrapping changes. */
.journey-ui.assessment-page .main-content,.journey-ui.assessment-page .app-footer,
.journey-ui.guided-page .main-content,.journey-ui.guided-page .app-footer { padding-bottom:max(180px,var(--fixed-nav-space,180px)); }
.answer-card,.quiz-feedback { scroll-margin-bottom:var(--fixed-nav-space,180px); }
.assessment-page .network-notice,.assessment-page .music-feedback:not(:empty) { bottom:var(--fixed-nav-space,180px); }

.question-progress-sticky { position:sticky; top:calc(var(--shell-header-height,82px) + 9px); z-index:35; background:var(--surface); padding:12px 14px; margin-bottom:16px; border:1px solid var(--border); border-radius:8px; box-shadow:0 3px 12px #193d320a; }
.question-progress-sticky .assessment-progress { margin:0 0 8px; }
