/* Pilot-only additions; shared tokens come from senior-adventure.css. */
.isc-page { margin:0; background:var(--hs-canvas); color:var(--hs-ink); font-family:var(--hs-font-body); line-height:var(--hs-lh-body); }
.isc-wrap { width:min(100% - 32px, 900px); margin:0 auto; padding:24px 0 48px; }
.isc-hero { padding:clamp(24px,5vw,44px); border-radius:var(--hs-r-2xl); background:var(--hs-brand-grad); color:white; margin:24px 0; }
.isc-hero h1 { margin:8px 0 16px; font-family:var(--hs-font-display); font-size:var(--hs-fs-hero); line-height:1.15; }
.isc-hero p { max-width:65ch; }
.isc-kicker { font-weight:700; letter-spacing:.07em; text-transform:uppercase; font-size:var(--hs-fs-xs); }
.isc-panel { padding:24px; margin:20px 0; background:var(--hs-panel); border:var(--hs-bw) solid var(--hs-rule); border-radius:var(--hs-r-xl); box-shadow:var(--hs-stick-sm); }
.isc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; }
.isc-link { display:block; padding:18px; background:var(--hs-panel); border:var(--hs-bw) solid var(--hs-rule); border-radius:var(--hs-r-lg); color:var(--hs-info); text-decoration:none; min-height:var(--hs-tap); }
.isc-link:hover { border-color:var(--hs-info); background:var(--hs-info-bg); }
.isc-link span { display:block; color:var(--hs-muted); font-size:var(--hs-fs-sm); margin-top:8px; }
.isc-page a { color:var(--hs-info); overflow-wrap:anywhere; }
.isc-page .isc-hero a { color:white; }
.isc-tools { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.isc-button { display:inline-flex; align-items:center; justify-content:center; min-height:var(--hs-tap); padding:12px 18px; border:var(--hs-bw) solid var(--hs-rule); border-radius:var(--hs-r-md); background:var(--hs-info-bg); color:var(--hs-info); font:inherit; font-weight:700; cursor:pointer; }
.isc-page :focus-visible,.sa.isc-lesson :focus-visible { outline:3px solid var(--hs-info); outline-offset:3px; }
.isc-page h2,.isc-page h3 { font-family:var(--hs-font-display); line-height:1.25; }
.isc-page p,.isc-page li,.isc-page td,.isc-page th { overflow-wrap:anywhere; }
.isc-table { overflow-x:auto; margin:20px 0; border:var(--hs-bw) solid var(--hs-rule); border-radius:var(--hs-r-md); }
.isc-table table { border-collapse:collapse; width:100%; font-size:var(--hs-fs-sm); }
.isc-table caption { text-align:left; font-weight:600; padding:12px; color:var(--hs-ink-2); }
.isc-table th,.isc-table td { padding:12px; text-align:left; border-bottom:1px solid var(--hs-rule-soft); }
.isc-table th { background:var(--hs-info-bg); color:var(--hs-info); }
.isc-terms { display:grid; grid-template-columns:minmax(95px,.35fr) 1fr; gap:8px 16px; }
.isc-terms dt { font-weight:700; }
.isc-terms dd { margin:0; }
.isc-note { background:var(--hs-tint); padding:16px; border-left:4px solid var(--hs-info); margin:16px 0; }
.isc-question { margin:28px 0; break-inside:avoid; }
.isc-answer-lines { height:110px; border-bottom:1px solid var(--hs-rule); background:repeating-linear-gradient(transparent,transparent 31px,var(--hs-rule-soft) 32px,transparent 33px); }
.isc-question fieldset { margin:16px 0; border:var(--hs-bw) solid var(--hs-rule); border-radius:var(--hs-r-md); padding:16px; min-width:0; }
.isc-question legend { padding:0 8px; font-weight:700; }
.isc-option { display:flex; gap:12px; align-items:flex-start; padding:12px; min-height:var(--hs-tap); border-radius:var(--hs-r-sm); }
.isc-option:has(input:checked) { background:var(--hs-info-bg); }
.isc-option input { margin-top:5px; flex:none; }
.isc-feedback { background:var(--hs-tint); padding:16px; border-radius:var(--hs-r-md); }
.isc-feedback[data-result="correct"] { background:var(--hs-ok-bg); }
.isc-feedback[data-result="incorrect"] { background:var(--hs-bad-bg); }
.isc-status { padding:16px; border:var(--hs-bw) solid var(--hs-rule); border-radius:var(--hs-r-md); margin:16px 0; }
.teacher-key { margin-top:32px; padding:20px; border:2px dashed var(--hs-rule); border-radius:var(--hs-r-md); }
.teacher-key summary { font-weight:700; cursor:pointer; min-height:var(--hs-tap); }
.teacher-key li { margin-bottom:14px; }
.isc-lesson .sa-hero { background:var(--isc-gradient,var(--hs-brand-grad)); }
.isc-lesson .sa-hero-inner { display:block; }
.isc-lesson .sa-hero-desc { color:white; max-width:65ch; }
/* The shared v2 hero has an important background and light overlays. Keep the
   pilot's authored dark gradient and opaque small text for readable contrast. */
body.isc-lesson[data-sa-version="2"] .sa-hero { background:var(--isc-gradient,var(--hs-brand-grad))!important; }
body.isc-lesson[data-sa-version="2"] .sa-hero::before,
body.isc-lesson[data-sa-version="2"] .sa-hero::after { background:none; }
body.isc-lesson[data-sa-version="2"] .sa-hero :is(.sa-hero-eyebrow,.sa-hero-desc,.sa-hero-meta) { color:white!important; }
.isc-lesson .sa-topbar { flex-wrap:wrap; gap:12px; }
.isc-lesson .sa-worksheet-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); }
.isc-lesson .sa-step-content > .sa-card { margin-bottom:16px; }
.isc-lesson .isc-pilot-notice { color:var(--hs-ink-2); padding:16px; background:var(--hs-tint); border-radius:var(--hs-r-md); }
@media(max-width:600px) { .isc-panel { padding:18px; } .isc-terms { grid-template-columns:1fr; gap:4px; } .isc-terms dd { margin-bottom:12px; } .isc-table th,.isc-table td { padding:8px; } }
@media print {
 @page { size:A4; margin:16mm; }
 .isc-page { background:white; font-size:11pt; }
 .isc-wrap { width:100%; padding:0; }
 .isc-hero { padding:0; color:black; background:none; margin:0 0 20px; }
 .isc-hero h1 { font-size:22pt; }
 .isc-panel { padding:0; box-shadow:none; border:0; }
 .isc-tools,.isc-page nav,.isc-no-print { display:none!important; }
 .isc-question { break-inside:avoid; }
 .isc-answer-lines { height:90px; }
 .teacher-key { display:none; }
 .isc-page[data-print-key="true"] .teacher-key { display:block; break-before:page; border:0; padding:0; }
 .isc-page[data-print-key="true"] .teacher-key > * { display:block!important; }
 .isc-table { overflow:visible; }
 a { text-decoration:none; color:black!important; }
}

.isc-evidence { margin-block:24px; }
.isc-record-checkpoint { margin-block:24px; }
@media print { .isc-evidence .dx-fig { break-inside:avoid; } .isc-record-checkpoint { break-inside:avoid; } }
