/* Literacy Hub learning view: Providence colours and assessment source rhythm. */
@media(scripting:none){[data-hub-scan-start]{display:none}}
[data-hub-combined-response]{margin:1.2rem 0}
[data-hub-combined-fieldset]{min-width:0;margin:1rem 0;padding:0;border:0}
[data-hub-combined-fieldset]>legend{margin-bottom:.65rem;color:var(--dark);font-weight:700;line-height:1.5}
[data-hub-combined-fieldset]>label{display:block;margin:.3rem 0 .5rem;color:var(--dark);font-weight:650}
[data-hub-combined-answer]{display:block;width:100%;min-height:48px;padding:.7rem .85rem;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit;color:var(--ink)}
[data-hub-combined-answer]:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
[data-hub-combined-fieldset]:disabled [data-hub-combined-answer]{background:var(--pale);color:var(--muted)}
[data-hub-combined-fieldset]>.hub-question-help{margin:.7rem 0 0}
.hub-step-nav.hub-writing-next>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;max-width:600px}
.hub-step-nav.hub-writing-next>div:last-child>p{margin:0}
@media(max-width:760px){.hub-step-nav.hub-writing-next{flex-direction:column;align-items:stretch;gap:1rem}.hub-step-nav.hub-writing-next>div:last-child{max-width:100%}}
.hub-inference-principle{padding-top:.6rem!important;padding-bottom:1rem!important;color:var(--navy);font-size:.86rem;line-height:1.5}
.hub-inference-principle p{margin:.3rem 0 0;color:var(--muted)}
.hub-source-clue:has(input:checked){background:#fff3c4;border-color:var(--blue)}
.hub-inference-reveal textarea{width:100%;box-sizing:border-box;margin:.6rem 0 1rem;padding:.75rem;border:1px solid var(--line);font:inherit}
.hub-inference-reveal .hub-source-copy{white-space:pre-line}
[data-hub-inference-choices]:disabled{opacity:.65}
[data-hub-inference-choices],.hub-inference-reveal>fieldset{min-width:0;margin:1rem 0;padding:0;border:0}
[data-hub-inference-choices]>legend,.hub-inference-reveal>fieldset>legend{margin-bottom:.65rem;color:var(--navy);font-weight:700;line-height:1.5}
.hub-preview-page .site-header{box-shadow:none}
.hub-intro{padding-top:2rem!important;padding-bottom:1.2rem!important}
.hub-intro h1{margin:0 0 .45rem;font-size:clamp(2.3rem,4vw,3.3rem)}
.hub-intro>p:last-child{max-width:720px;margin:0;color:var(--muted)}
.hub-stage-path{border-block:1px solid var(--line);background:#fff}
.hub-stage-path-inner{width:min(1180px,100%);margin:auto;padding:.8rem clamp(1rem,4vw,3rem) .55rem}
.hub-stage-path-summary{margin-bottom:.65rem}
.hub-stage-path-summary .eyebrow{margin:0;color:var(--blue);font-size:.67rem}
.hub-stage-path-summary strong{display:block;color:var(--dark);font-size:.9rem}
.hub-stage-path-scroll{overflow-x:auto;scrollbar-width:thin}
.hub-stage-path-scroll:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}
.hub-stage-path-list{display:flex;gap:3px;min-width:980px;margin:0;padding:0 0 .25rem;list-style:none}
.hub-stage-path-list li{flex:1;min-width:0;position:relative;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%);background:#e7edf4}
.hub-stage-path-list li:first-child{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}
.hub-stage-path-list li.is-done{background:var(--good)}
.hub-stage-path-list li.is-current{background:var(--yellow)}
.hub-stage-path-list li>a,.hub-stage-path-list li>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:70px;padding:.42rem .65rem .42rem 1rem;color:var(--dark);font-size:.71rem;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap}
.hub-stage-path-list li.is-done>a,.hub-stage-path-list li.is-done>span{color:#fff}
.hub-stage-path-list li>a:hover{text-decoration:underline;text-underline-offset:3px}
.hub-stage-path-list li>a:focus-visible{outline:3px solid var(--dark);outline-offset:-5px}
.hub-stage-path-icon{display:grid;width:21px;height:21px;place-items:center;flex:none;border:2px solid #9aaec2;border-radius:50%;background:#fff}
.hub-stage-path-list li.is-done .hub-stage-path-icon{border-color:#fff;color:var(--good)}
.hub-stage-path-list li.is-done .hub-stage-path-icon::before{content:'✓';font-size:.72rem;font-weight:900}
.hub-stage-path-list li.is-current .hub-stage-path-icon{border-color:var(--dark);background:var(--dark)}
.hub-stage-path-list li.is-current .hub-stage-path-icon::before{content:'';width:5px;height:5px;border-radius:50%;background:#fff}
.hub-stage-rail-cue{display:none;margin:.3rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}
@media(max-width:900px){.hub-stage-rail-cue{display:block}}
@media(forced-colors:active){.hub-stage-path-list li,.hub-stage-path-list li:first-child{clip-path:none;border:1px solid CanvasText}.hub-stage-path-list li.is-current{border:3px solid Highlight}.hub-stage-path-list li.is-done>a,.hub-stage-path-list li.is-done>span{color:CanvasText}.hub-stage-path-icon{border-color:CanvasText}.hub-stage-path-list li.is-current .hub-stage-path-icon{border-color:Highlight}}
.hub-stage-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-top:1.25rem!important;padding-bottom:1rem!important}
.hub-stage-heading .eyebrow{margin-bottom:.3rem}
.hub-stage-heading h2{margin:0;font-size:1.5rem}
.hub-stage-heading>p{margin:0;color:var(--muted);font-size:.82rem}
.hub-check-note{padding-top:0!important;color:var(--muted);font-size:.82rem}
.hub-reading-work{display:grid;grid-template-columns:minmax(0,57fr) minmax(340px,43fr);max-width:1180px;min-height:490px;margin:0 auto;border:1px solid var(--line);background:#fff}
.hub-reading-work-no-source{display:block;max-width:780px;min-height:0}
.hub-reading-work-no-source>.hub-question{padding:clamp(1.6rem,4vw,3rem)}
.hub-writing-work{grid-template-columns:minmax(280px,40fr) minmax(0,60fr)}
.hub-reading-work>.hub-source,.hub-reading-work>.hub-question{min-width:0;padding:clamp(1.4rem,3vw,2.8rem)}
.hub-source{border-right:1px solid var(--line);font-family:Arial,Verdana,"Segoe UI",sans-serif}
.hub-source h2{margin-bottom:1.2rem;font-size:1.2rem;letter-spacing:-.01em}
.hub-source-copy{white-space:pre-line;line-height:1.65}
.hub-source-sections{display:grid;gap:.25rem}
.hub-source-sections h3{margin:1rem 0 0;color:var(--navy);font-size:1rem;line-height:1.35}
.hub-source-sections h3:first-child{margin-top:0}
.hub-source-sections .hub-source-copy{margin:0}
.hub-source-choice{display:inline-flex;align-items:center;gap:.55rem;max-width:100%;min-height:48px;margin:.15rem 0;padding:.35rem .55rem;border:1px solid var(--line);border-radius:4px;background:var(--pale);color:var(--ink);white-space:normal;cursor:pointer;vertical-align:middle}
.hub-source-task-cue{margin:1rem 0 .7rem;padding-left:.7rem;border-left:3px solid var(--blue);color:var(--muted);font-size:.9rem;line-height:1.5}
.hub-source-task-cue strong{color:var(--ink)}
.hub-source-choice input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--blue)}
.hub-source-choice span{min-width:0;overflow-wrap:anywhere}
.hub-source-choice:has(input:checked){border-color:var(--blue);background:#e6f0fa}
.hub-source-choice:focus-within{outline:3px solid var(--yellow);outline-offset:2px}
.hub-source-choice.is-evidence-key{border-color:var(--blue);background:#fff3c4}
.hub-source-choice-return{margin:1rem 0;color:var(--muted);font-size:.88rem}
.hub-source-choice-return a{color:var(--blue);font-weight:750}
.hub-source-figure{margin:0 0 1rem}
.hub-source-image-cue{display:none;margin:.25rem 0 .6rem;color:var(--muted);font-family:"Fira Sans",Arial,sans-serif;font-size:.82rem}
.hub-source-image-fit{min-height:48px;margin:0 0 0 .15rem;padding:.4rem .55rem;border:0;border-radius:4px;background:transparent;color:var(--blue);font-size:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hub-source-image-fit[hidden]{display:none}
.hub-source-image-fit:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-source-image-status{margin:.5rem 0;color:var(--muted);font-family:"Fira Sans",Arial,sans-serif;font-size:.82rem;line-height:1.45}
.hub-source-image-status[hidden]{display:none}
.hub-source-image-scroll{max-width:100%;overflow-x:auto}
.hub-source-image-scroll.is-fit .hub-source-image-frame{width:100%}
.hub-source-image-scroll.is-fit img{max-width:100%}
.hub-source-image-frame{position:relative;display:block;width:100%}
.hub-source-figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.hub-image-evidence-outline{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none}
.hub-image-evidence-outline rect{fill:none;vector-effect:non-scaling-stroke}
.hub-image-evidence-border{stroke:#041e42;stroke-width:6px}
.hub-image-evidence-accent{stroke:#ffc600;stroke-width:3px}
@media(forced-colors:active){.hub-image-evidence-outline rect{forced-color-adjust:none}.hub-image-evidence-border{stroke:CanvasText}.hub-image-evidence-accent{stroke:Canvas}}
.hub-source-figure figcaption{margin-top:.45rem;color:var(--muted);font-family:"Fira Sans",Arial,sans-serif;font-size:.79rem;line-height:1.45}
.hub-source-figure figcaption a{color:var(--blue);font-weight:750}
@media(max-width:1050px){.hub-source-image-cue{display:block}.hub-source-image-frame{width:580px}.hub-source-figure img{max-width:none}}
.hub-evidence-mark{padding:.08rem .1rem;background:#fff0aa;color:var(--dark);box-decoration-break:clone}
.hub-source-evidence-note{margin:1rem 0;color:var(--dark);font-size:.9rem}
.hub-author-table-evidence{display:grid;gap:.8rem;border-top:1px solid var(--line);padding-top:1rem}
.hub-author-table-evidence p{margin:0;color:var(--muted);font-size:.9rem}
.hub-author-image-evidence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;border-top:1px solid var(--line);padding-top:1rem}
.hub-author-image-evidence p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.9rem}
@media(max-width:720px){.hub-author-image-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hub-table-wrap{max-width:100%;overflow-x:auto}
.hub-table-wrap table{width:100%;border-collapse:collapse;font-size:.9rem}
.hub-table-wrap th,.hub-table-wrap td{padding:.65rem .55rem;border-bottom:1px solid var(--line);text-align:left}
.hub-table-wrap th{background:var(--pale);color:var(--dark);font-weight:800}
.hub-table-wrap tr:nth-child(even) td{background:#fafbfd}
.hub-source-description{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem}
.hub-source-description summary{color:var(--blue);cursor:pointer;font-weight:750}
.hub-source-credit{margin:1.25rem 0 0;padding-top:.75rem;border-top:1px solid var(--line);color:var(--muted);font-family:"Fira Sans",Arial,sans-serif;font-size:.78rem;line-height:1.5;overflow-wrap:anywhere}
.hub-source-credit a{color:var(--blue);font-weight:750;white-space:nowrap}
.hub-question h2{max-width:650px;margin:.1rem 0 1.25rem;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.35}
.hub-question-help{margin:-.4rem 0 1.3rem;color:var(--muted);font-size:.9rem}
.hub-teaching-copy{max-width:63ch;font-size:1.08rem;line-height:1.7}
.hub-module-preview-work{display:grid;grid-template-columns:minmax(0,57fr) minmax(320px,43fr);max-width:1180px;min-height:370px;margin:0 auto;border:1px solid var(--line);background:#fff}
.hub-module-preview-work>section{min-width:0;padding:clamp(1.4rem,3vw,2.8rem)}
.hub-module-preview-work>section:first-child{border-right:1px solid var(--line)}
.hub-module-preview-work h2{margin:.15rem 0 1.25rem;color:var(--dark);font-size:clamp(1.25rem,2vw,1.55rem)}
.hub-module-preview-work .hub-teaching-copy{white-space:pre-line}
.hub-preview-assessment-note{max-width:60ch;color:var(--muted);font-size:.88rem;line-height:1.6}
.hub-module-preview-list{margin:0;padding:0;list-style:none}
.hub-module-preview-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.7rem;align-items:start;padding:.85rem 0;border-top:1px solid var(--line)}
.hub-module-preview-list li:first-child{border-top:0}
.hub-module-preview-list li>div{min-width:0}
.hub-module-preview-list b{display:block;color:var(--dark);font-size:.9rem;line-height:1.4}
.hub-module-preview-list small{display:block;margin-top:.2rem;color:var(--muted);font-size:.75rem}
.hub-module-preview-list a,.hub-preview-unavailable{grid-column:2;font-size:.8rem;font-weight:750}
.hub-module-preview-list a{color:var(--blue)}
.hub-preview-unavailable{color:var(--muted)}
.hub-rollout-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.hub-rollout-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;border-block:1px solid var(--line);background:#fff}
.hub-rollout-status>div{display:grid;align-content:start;gap:.25rem;padding:.75rem 0}
.hub-rollout-status span{color:var(--muted);font-size:.77rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.hub-rollout-status b{color:var(--dark);font-size:1.15rem}
.hub-rollout-status small,.hub-rollout-row small{color:var(--muted);font-size:.8rem;line-height:1.45}
.hub-rollout-search-form{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem}
.hub-rollout-search-form label{flex:1 1 100%;font-size:.85rem;font-weight:750}
.hub-rollout-search-form input,.hub-rollout-search-form select{flex:1 1 280px;min-height:48px;padding:.65rem .75rem;border:1px solid #cbd5df;border-radius:4px;background:#fff;color:var(--dark);font:inherit}
.hub-rollout-list{margin-top:1rem;border-top:1px solid var(--line)}
.hub-rollout-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:70px;padding:.75rem 0;border-bottom:1px solid var(--line)}
.hub-rollout-row>div{min-width:0}
.hub-rollout-row b,.hub-rollout-row small{display:block}
.hub-rollout-row b{color:var(--dark)}
.hub-rollout-row form{flex:none}
.hub-rollout-row .button{min-height:42px}
.hub-rollout-row>span,.hub-rollout-note{color:var(--muted);font-size:.84rem}
.hub-rollout-note{margin-top:1rem}
@media(max-width:760px){.hub-rollout-heading{align-items:flex-start;flex-direction:column}.hub-rollout-status{grid-template-columns:1fr}.hub-rollout-status>div+div{border-top:1px solid var(--line)}.hub-rollout-row{align-items:flex-start;flex-direction:column}.hub-rollout-row form,.hub-rollout-row .button{width:100%}}
@media(max-width:760px){.hub-module-preview-work{display:block;margin-inline:1rem}.hub-module-preview-work>section:first-child{border-right:0;border-bottom:1px solid var(--line)}}
.hub-options{display:grid;gap:.55rem}
.hub-evidence-options .hub-option{align-items:flex-start;line-height:1.5}
.hub-tone-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-bottom:1rem}
.hub-tone-options .hub-option{min-width:0;min-height:108px;flex-direction:column;align-items:flex-start;gap:.65rem;padding:.75rem .55rem;border-top:4px solid var(--blue);border-radius:3px;line-height:1.25;overflow-wrap:anywhere}
.hub-tone-options .hub-option>span:last-child{font-size:.86rem;font-weight:750}
@media(max-width:420px){.hub-tone-options{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-tone-options .hub-option{min-height:82px}}
.hub-tone-preview .hub-option{cursor:default}
.hub-tone-selected{display:none;font-size:.72rem!important;font-weight:750;color:var(--blue)}
.hub-tone-judgement .hub-option>span:first-of-type{font-size:.86rem;font-weight:750}
.hub-tone-options input:checked~.hub-tone-selected{display:block}
.hub-sequence-choices{margin:0 0 1.2rem;padding:0;list-style:none}
.hub-sequence-choices li{display:flex;gap:.8rem;align-items:flex-start;padding:.65rem 0;border-bottom:1px solid var(--line);line-height:1.5}
.hub-sequence-choices b{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border:1px solid #bbc7d4;border-radius:50%;color:var(--blue);font-size:.76rem}
.hub-sequence-slots{display:grid;gap:.85rem;margin-bottom:1.2rem}
.hub-sequence-slots label{display:grid;gap:.35rem;font-size:.88rem;font-weight:750}
.hub-sequence-slots select{width:100%;min-height:48px;padding:.6rem;border:1px solid #cbd5df;border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.hub-sequence-slots select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-activity-author-form:has(select[name="interaction_type"] option:is([value="sequence"],[value="matching"],[value="sort"],[value="gap_fill"],[value="worked_example"]):checked) .hub-author-options{display:none}
.hub-activity-author-form:has(select[name="interaction_type"] option:not([value="worked_example"]):checked) .hub-author-worked{display:none}
.hub-activity-author-form:has(select[name="interaction_type"] option[value="worked_example"]:checked) .hub-author-check,.hub-activity-author-form:has(select[name="interaction_type"] option[value="worked_example"]:checked) label:has(input[name="timer_seconds"]),.hub-activity-author-form:has(select[name="interaction_type"] option[value="worked_example"]:checked) label:has(textarea[name="hints"]),.hub-activity-author-form:has(select[name="interaction_type"] option[value="worked_example"]:checked) label:has(select[name="form_code"]){display:none}
.hub-activity-author-form:has(select[name="interaction_type"] option[value="sequence"]:checked) .hub-author-sequence{display:block}
.hub-activity-author-form:has(select[name="interaction_type"] option[value="matching"]:checked) .hub-author-matching{display:block}
.hub-activity-author-form:has(select[name="interaction_type"] option[value="sort"]:checked) .hub-author-sort{display:block}
.hub-activity-author-form:has(select[name="interaction_type"] option[value="gap_fill"]:checked) .hub-author-gap{display:block}
.hub-activity-author-form:has(select[name="interaction_type"] option:is([value="sequence"],[value="matching"],[value="sort"],[value="gap_fill"]):checked) label:has(input[name="timer_seconds"]){display:none}
.hub-activity-author-form:has(select[name="interaction_type"] option:not([value="sequence"]):checked) .hub-author-sequence{display:none}
.hub-activity-author-form:has(select[name="interaction_type"] option:not([value="matching"]):checked) .hub-author-matching{display:none}
.hub-activity-author-form:has(select[name="interaction_type"] option:not([value="sort"]):checked) .hub-author-sort{display:none}
.hub-activity-author-form:has(select[name="interaction_type"] option:not([value="gap_fill"]):checked) .hub-author-gap{display:none}
.hub-matching-rows{display:grid;gap:1rem;margin:0 0 1.2rem}
.hub-matching-rows label{display:grid;gap:.45rem;padding:.85rem;border:1px solid var(--line);border-radius:4px;font-weight:750;line-height:1.45}
.hub-matching-rows label>span{font-size:.84rem;font-weight:500}
.hub-matching-rows select{width:100%;min-height:48px;padding:.6rem;border:1px solid #cbd5df;border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.hub-matching-rows select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-placement-board{margin:1rem 0 1.2rem}
.hub-placement-instruction,.hub-placement-status{font-size:.84rem;line-height:1.5;color:var(--muted);font-weight:500}
.hub-placement-zone{padding:.65rem 0;border-top:1px solid var(--line)}
.hub-placement-target{display:block;width:100%;min-height:44px;padding:.6rem .7rem;margin:0 0 .4rem;border:1px dashed #9eafc2;border-radius:4px;background:var(--pale,#f3f6f9);color:var(--dark);text-align:left;font:inherit;font-size:.84rem;font-weight:750;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}
.hub-placement-cards{display:grid;gap:.4rem}
.hub-placement-card{display:flex;gap:.6rem;align-items:flex-start;width:100%;min-height:44px;padding:.7rem;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);text-align:left;font:inherit;font-size:.84rem;line-height:1.5;cursor:grab;overflow-wrap:anywhere}
.hub-placement-card-index{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid #bdc9d6;border-radius:4px;color:var(--blue);font-size:.72rem;font-weight:750}
.hub-placement-card:hover,.hub-placement-card.is-selected{border-color:var(--blue)}
.hub-placement-card.is-selected{background:#fff9df;box-shadow:inset 3px 0 var(--yellow)}
.hub-placement-card:focus-visible,.hub-placement-target:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-placement-zone.is-drag-over .hub-placement-target{background:#e8f0f8;border-color:var(--blue);border-style:solid}
.hub-placement-card:disabled,.hub-placement-target:disabled{cursor:default}
[data-hub-placement-native]{margin:.8rem 0 1rem}
[data-hub-placement-native]>summary{min-height:44px;padding:.55rem 0;color:var(--blue);font-size:.84rem;font-weight:750;cursor:pointer}
[data-hub-placement-native]>summary:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
[data-hub-placement] fieldset{min-width:0}
.hub-placement-board[hidden]{display:none}
.hub-search-image{margin:1.1rem 0 1.6rem}
.hub-search-image>.hub-source-image-cue{display:block}
.hub-search-image-zoom{min-height:44px;padding:.35rem .5rem;border:0;background:transparent;color:var(--blue);font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hub-search-image-zoom:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-search-image-zoom[hidden]{display:none}
.hub-search-image-scroll{max-width:100%;max-height:360px;overflow:auto;border:1px solid var(--line);background:#fff;overscroll-behavior:contain}
.hub-search-image-canvas{position:relative;width:100%;margin-inline:auto}
.hub-search-image-canvas>img{display:block;width:100%;height:auto;max-width:none}
[data-hub-search-image-areas]{position:absolute;inset:0}
.hub-search-image-area{position:absolute;padding:0;border:2px dashed var(--blue);border-radius:3px;background:transparent;cursor:pointer}
.hub-search-image-area:hover{border-style:solid}
.hub-search-image-area:focus-visible,.hub-search-image-detail[aria-pressed="true"]{outline:3px solid var(--yellow);outline-offset:2px;border-style:solid}
.hub-search-image-area:disabled{cursor:default}
.hub-search-image-selection{position:absolute;border:2px solid var(--blue);border-radius:3px;pointer-events:none}
.hub-search-image-scroll:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-search-image figcaption{margin:.6rem 0;font-size:.78rem;line-height:1.5;color:var(--muted)}
[data-hub-search-image-areas][hidden],.hub-search-image-area[hidden],.hub-search-image-selection[hidden]{display:none}
.hub-gap-blank{display:inline-block;min-width:3rem;border-bottom:2px solid var(--blue);color:var(--dark);font-weight:800;text-align:center}
.hub-scan-timer{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:0 0 1.2rem;padding:.9rem 0;border-block:1px solid var(--line)}
.hub-scan-timer>div{flex:1 1 100%}
.hub-scan-timer strong{color:var(--dark);font-size:.85rem}
.hub-scan-timer p{margin:.3rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}
.hub-scan-timer .button{min-height:48px;padding:.6rem .8rem;font-size:.85rem}
.hub-scan-clock{color:var(--dark);font-size:.84rem;font-variant-numeric:tabular-nums;font-weight:800}
.hub-scan-status{flex:1 1 100%;color:var(--dark)!important}
.hub-stage-instruction{padding-top:0!important;padding-bottom:1rem!important;color:var(--muted);font-size:.88rem}
.hub-option{display:flex;align-items:center;gap:.85rem;width:100%;min-height:55px;padding:.72rem .9rem;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}
.hub-option:hover{border-color:var(--blue);background:var(--pale)}
.hub-option>span:first-child{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border:1px solid #bbc7d4;border-radius:50%;color:var(--blue);font-size:.77rem;font-weight:850}
.hub-option.is-selected{border:2px solid var(--blue);background:#eef5fc}
.hub-option.is-selected>span:first-child{border-color:var(--blue);background:var(--blue);color:#fff}
.hub-feedback{margin-top:1rem;padding:1rem 1.15rem;border-left:4px solid var(--blue);background:var(--pale);line-height:1.55}
.hub-feedback.is-correct{border-left-color:var(--good);background:#eef8f2}
.hub-feedback.is-incorrect{border-left-color:var(--review);background:#fff8e8}
.hub-feedback p{margin:.35rem 0 0}
.hub-writing-form{margin-top:1.4rem}
.hub-writing-form label{display:block;margin-bottom:.45rem;font-weight:700;color:var(--ink)}
.hub-writing-form textarea{display:block;width:100%;min-height:10rem;padding:1rem;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:inherit;line-height:1.6;resize:vertical}
.hub-writing-form textarea:focus{outline:3px solid var(--blue);outline-offset:2px}
.hub-writing-form textarea:disabled{background:var(--pale)}
.hub-writing-meta{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin:.55rem 0 1rem;color:var(--muted);font-size:.88rem}
.hub-writing-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.hub-writing-actions .hub-hint-trigger{margin-top:0}
.hub-writing-model{margin-top:1.6rem;padding:1.25rem 1.4rem;border-left:4px solid var(--blue);background:var(--pale);line-height:1.6}
.hub-writing-model h3{margin:.55rem 0 .4rem;font-size:1.05rem}
.hub-writing-model p{margin:.5rem 0}
.hub-writing-model ul{margin:.5rem 0 1rem;padding-left:1.4rem}
.hub-writing-model-response{white-space:pre-line}
.hub-writing-annotations{margin:.5rem 0 1rem;padding-left:1.4rem}
.hub-writing-annotations li{padding:.35rem 0}
.hub-writing-annotations q{display:block;font-weight:700;color:var(--dark)}
.hub-writing-annotations span{display:block}
.hub-writing-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.7rem}
.hub-writing-comparison>div{min-width:0;padding:.75rem;background:#fff;border:1px solid var(--line)}
.hub-writing-comparison p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:640px){.hub-writing-comparison{grid-template-columns:1fr}}
.hub-worked-example{margin-top:1.2rem;border-top:1px solid var(--line);line-height:1.55}
.hub-worked-example>.eyebrow{margin:.9rem 0 .4rem}
.hub-worked-example>p:not(.eyebrow){padding:.7rem 0;margin:0;border-bottom:1px solid var(--line)}
.hub-worked-example b{display:block;margin-bottom:.15rem;color:var(--dark)}
.hub-worked-reasoning{white-space:pre-line}
.hub-worked-example small{display:block;margin-top:.8rem;color:var(--muted)}
.hub-form-error{color:var(--review);font-weight:700}
.hub-diagnostic-heading{padding-top:2rem!important;padding-bottom:1.4rem!important}
.hub-diagnostic-heading h1{margin:.2rem 0 .45rem}
.hub-diagnostic-heading p:last-child{max-width:700px;color:var(--muted)}
.hub-diagnostic-intro{max-width:850px;padding-top:1.5rem!important;padding-bottom:3rem!important}
.hub-diagnostic-intro h2{margin:.15rem 0 .6rem;font-size:clamp(1.5rem,3vw,2rem)}
.hub-diagnostic-intro>p{max-width:64ch;line-height:1.6}
.hub-confidence-form{margin-top:1.5rem}
.hub-confidence-form fieldset{margin:0 0 1.5rem;padding:1rem 0;border:0;border-top:1px solid var(--line)}
.hub-confidence-form legend{padding:.5rem 0;font-weight:800}
.hub-confidence-options{display:flex;gap:.55rem}
.hub-confidence-options label{position:relative;display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:5px;cursor:pointer}
.hub-confidence-options label:has(input:checked){border:2px solid var(--blue);background:var(--pale);color:var(--blue);font-weight:800}
.hub-confidence-options input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.hub-confidence-options label:has(input:focus-visible){outline:3px solid var(--yellow);outline-offset:2px}
.hub-confidence-form fieldset p{margin:.6rem 0 0;color:var(--muted);font-size:.84rem}
.hub-diagnostic-progress{display:flex;align-items:center;gap:1rem;padding-top:1rem!important;padding-bottom:1rem!important;color:var(--dark);font-size:.87rem;font-weight:800}
.hub-diagnostic-progress progress{flex:1;max-width:430px;height:.55rem;accent-color:var(--blue)}
.hub-diagnostic-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:3rem;padding-top:1.5rem!important;padding-bottom:3rem!important}
.hub-diagnostic-result h2{margin:.2rem 0 .75rem}
.hub-diagnostic-next{padding-right:2rem;border-right:1px solid var(--line)}
.hub-diagnostic-next p:not(.eyebrow){line-height:1.6}
.hub-diagnostic-result dl{margin:1.2rem 0}
.hub-diagnostic-result dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.hub-diagnostic-result dt{font-weight:700}
.hub-diagnostic-result dd{margin:0;color:var(--muted);text-align:right}
.hub-diagnostic-summary>p{color:var(--muted);font-size:.88rem}
.hub-diagnostic-sample{white-space:pre-wrap;padding:1.1rem;border:1px solid var(--line);background:#fff;line-height:1.7}
.hub-diagnostic-feedback{margin-top:1.2rem;padding:1rem 1.2rem;border-left:3px solid var(--blue);background:var(--pale)}
.hub-diagnostic-feedback h3{margin:.55rem 0 .2rem;font-size:1rem}
.hub-diagnostic-feedback p{margin:.2rem 0 .8rem}
.hub-diagnostic-feedback small{color:var(--muted)}
.hub-diagnostic-review-form{margin-top:1.5rem}
.hub-diagnostic-review-form h3{margin:.3rem 0}
.hub-diagnostic-review-form label{display:block;margin:1rem 0 .4rem;font-weight:750}
.hub-diagnostic-review-form textarea{display:block;width:100%;padding:.8rem;border:1px solid var(--line);border-radius:4px;font:inherit;line-height:1.5;resize:vertical}
.hub-diagnostic-review-form textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-diagnostic-review-form .button{margin-top:1.2rem}
.hub-diagnostic-review-items{border-top:1px solid var(--line)}
.hub-diagnostic-review-items details{border-bottom:1px solid var(--line)}
.hub-diagnostic-review-items summary{display:flex;align-items:baseline;gap:1rem;padding:1rem .25rem;cursor:pointer;list-style:none}
.hub-diagnostic-review-items summary::-webkit-details-marker{display:none}
.hub-diagnostic-review-items summary>span{flex:0 0 84px;color:var(--blue);font-size:.8rem;font-weight:800}
.hub-diagnostic-review-items summary>b{font-size:.96rem}
.hub-diagnostic-review-body{padding:1.3rem 1.6rem;background:#fff;line-height:1.6}
.hub-diagnostic-review-body .hub-source-description{max-width:700px}
.hub-diagnostic-review-body ol{margin:1rem 0;padding-left:1.5rem}
.hub-diagnostic-review-body li{padding:.3rem 0}
.hub-diagnostic-review-body li p{margin:.15rem 0;color:var(--muted);font-size:.86rem}
.hub-teacher-diagnostic{margin-top:1.2rem;margin-bottom:1.2rem;padding-block:1.5rem!important;border-block:1px solid var(--line)}
.hub-teacher-diagnostic h2{margin:.3rem 0}
.hub-teacher-diagnostic p:not(.eyebrow){margin:.4rem 0 .7rem;color:var(--muted)}
.hub-progress-diagnostic{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.2rem!important;border-bottom:1px solid var(--line)}
.hub-progress-diagnostic h2{margin:.2rem 0}
.hub-progress-diagnostic p:last-child{margin:.3rem 0;color:var(--muted)}
@media(max-width:760px){.hub-progress-diagnostic{align-items:flex-start;flex-direction:column}}
.hub-practice-heading{padding-top:2rem!important;padding-bottom:1.3rem!important}
.hub-practice-heading h1{margin:.2rem 0 .45rem}
.hub-practice-heading p:last-child{max-width:690px;color:var(--muted)}
.hub-practice-menu{padding-top:.5rem!important;padding-bottom:2rem!important}
.hub-practice-choice{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem .1rem;border-top:1px solid var(--line)}
.hub-practice-choice h2{margin:.1rem 0 .35rem;font-size:1.4rem}
.hub-practice-choice p:last-child{margin:0;color:var(--muted)}
.hub-practice-choice .eyebrow{margin:0;font-size:.68rem}
.hub-practice-choice form,.hub-practice-choice .button{flex:0 0 auto}
.hub-practice-history{padding-top:0!important}
.hub-practice-history-list{border-top:1px solid var(--line)}
.hub-practice-history-list a,.hub-practice-history-list>div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem .1rem;border-bottom:1px solid var(--line);text-decoration:none}
.hub-practice-history-list b,.hub-practice-history-list small{display:block}
.hub-practice-history-list small{color:var(--muted)}
.hub-reading-follow-up-list>a>span{min-width:0;overflow-wrap:anywhere}
.hub-reading-follow-up-list small{line-height:1.45}
.hub-practice-history-list strong{font-size:.82rem}
.hub-practice-source-part.is-later{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.hub-practice-work .hub-feedback{scroll-margin-top:3.5rem}
.hub-practice-work .hub-feedback + .hub-answer-form{margin-top:1rem}
.hub-challenge-stages{padding-top:.5rem!important;padding-bottom:1.5rem!important}
.hub-challenge-empty{padding:1.5rem .1rem 1.25rem;border-top:1px solid var(--line)}
.hub-challenge-empty h2{margin:0 0 .35rem;font-size:1.4rem}
.hub-challenge-empty p{max-width:650px;margin:.1rem 0 .8rem;color:var(--muted)}
.hub-challenge-planned{border-top:1px solid var(--line)}
.hub-challenge-planned>summary{padding:1rem .1rem;color:var(--dark);font-weight:750;cursor:pointer}
.hub-challenge-planned>summary:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-challenge-manual{display:block;max-width:230px;margin:0 0 .65rem;color:var(--dark);font-size:.82rem;line-height:1.4}
.hub-challenge-writing{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-block:1px solid var(--line);padding-block:1.5rem!important}
.hub-challenge-writing h2{margin:.2rem 0 .4rem}
.hub-challenge-writing p:last-child{max-width:700px;margin:0;color:var(--muted)}
.hub-challenge-writing .text-link{flex:0 0 auto}
.hub-challenge-heading{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-top:1.5rem!important;padding-bottom:.9rem!important}
.hub-challenge-heading h1{margin:.2rem 0 .4rem;font-size:clamp(2rem,3.5vw,2.8rem)}
.hub-challenge-heading p:last-child{margin:0;color:var(--muted)}
.hub-challenge-clock{flex:0 0 auto;min-width:160px;text-align:right}
.hub-challenge-clock span,.hub-challenge-clock strong{display:block}
.hub-challenge-clock span{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hub-challenge-clock strong{color:var(--dark);font-size:1.35rem;font-variant-numeric:tabular-nums}
.hub-challenge-overview{padding-top:.7rem!important;padding-bottom:1rem!important}
.hub-challenge-overview-details{border-block:1px solid var(--line)}
.hub-challenge-overview summary{display:flex;align-items:center;gap:.7rem;min-height:52px;padding:.55rem 0;color:var(--dark);cursor:pointer;list-style:none;font-size:.87rem;font-weight:800}
.hub-challenge-overview summary::-webkit-details-marker{display:none}
.hub-challenge-overview summary:before{content:"";flex:0 0 auto;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid var(--blue)}
.hub-challenge-overview details[open] summary:before{transform:rotate(90deg)}
.hub-challenge-overview summary>span:last-child{margin-left:auto;color:var(--muted);font-size:.8rem;font-weight:650;text-align:right}
.hub-challenge-overview-links{display:flex;flex-wrap:wrap;gap:.35rem;padding:.2rem 0 1rem}
.hub-challenge-overview a{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:5px;color:var(--blue);font-size:.8rem;font-weight:800;text-decoration:none}
.hub-challenge-overview a.is-answered{border-color:var(--dark);background:var(--dark);color:#fff}
.hub-challenge-overview a.is-current{outline:3px solid var(--yellow);outline-offset:1px}
.hub-challenge-work{min-height:500px}
.hub-challenge-save{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.2rem}
.hub-challenge-save p{margin:0;color:var(--muted);font-size:.83rem}
.hub-challenge-question-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.4rem}
.hub-challenge-question-actions a:last-child{margin-left:auto}
.hub-challenge-actions{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.8rem!important}
.hub-challenge-actions h2{margin:.2rem 0 .35rem;font-size:1.3rem}
.hub-challenge-actions p:last-child{margin:0;color:var(--muted);font-size:.87rem}
.hub-challenge-actions>div:last-child{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.hub-challenge-actions form{margin:0}
.hub-challenge-actions .button{white-space:nowrap}
.hub-challenge-paused{padding-block:3rem!important;border-block:1px solid var(--line)}
.hub-challenge-paused h2{margin:0 0 .4rem}
.hub-challenge-paused p{max-width:680px;color:var(--muted)}
.hub-practice-review-list details>div details{margin-top:1rem;border:0}
.hub-practice-review-list details>div details summary{display:block;width:max-content;max-width:100%;padding:.4rem 0;color:var(--blue);font-size:.87rem;font-weight:800}
.hub-practice-review-list details>div details .hub-source-copy{white-space:pre-line}
@media(max-width:760px){.hub-challenge-writing,.hub-challenge-heading,.hub-challenge-actions{align-items:flex-start;flex-direction:column}.hub-challenge-clock{text-align:left}.hub-challenge-actions>div:last-child{align-items:stretch;flex-direction:column;width:100%}.hub-challenge-actions .button{width:100%}}
.hub-practice-result{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding-top:1rem!important;padding-bottom:2rem!important;border-bottom:1px solid var(--line)}
.hub-practice-result>div:first-child{padding-right:2rem;border-right:1px solid var(--line)}
.hub-practice-result h2{margin:.2rem 0 .5rem}
.hub-practice-result p:not(.eyebrow){max-width:48ch;line-height:1.6}
.hub-practice-review{padding-top:2rem!important;padding-bottom:2rem!important}
.hub-practice-review-list{margin-top:1rem;border-top:1px solid var(--line)}
.hub-practice-review-list details{border-bottom:1px solid var(--line)}
.hub-practice-review-list summary{display:grid;grid-template-columns:85px minmax(0,1fr) 90px;gap:1rem;align-items:baseline;padding:1rem 0;cursor:pointer;list-style:none}
.hub-writing-game-review-list summary{grid-template-columns:165px minmax(0,1fr) 90px}
.hub-practice-review-list summary::-webkit-details-marker{display:none}
.hub-practice-review-list summary span{color:var(--blue);font-size:.76rem;font-weight:800}
.hub-practice-review-list summary>b{font-size:.94rem}
.hub-practice-review-list summary>strong{color:var(--muted);font-size:.8rem;text-align:right}
.hub-practice-review-list details>div{max-width:760px;padding:0 0 1.2rem 101px;line-height:1.6}
.hub-writing-game-review-list details>div{padding-left:181px}
.hub-practice-review-list details>div p{margin:.4rem 0}
.hub-practice-profile{padding-top:1rem!important;padding-bottom:3rem!important}
.hub-practice-profile>p{color:var(--muted)}
.hub-practice-profile dl{max-width:720px}
.hub-practice-profile dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.hub-practice-profile dt{font-weight:700}
.hub-practice-profile dd{margin:0;color:var(--muted)}
@media(max-width:760px){.hub-practice-choice{align-items:flex-start;flex-direction:column;gap:1rem}.hub-practice-result{display:block}.hub-practice-result>div:first-child{margin-bottom:1.5rem;padding:0 0 1.5rem;border-right:0;border-bottom:1px solid var(--line)}.hub-practice-review-list summary{grid-template-columns:58px 1fr;gap:.55rem}.hub-practice-review-list summary>strong{grid-column:2;text-align:left}.hub-practice-review-list details>div{padding-left:0}.hub-practice-profile dl>div{align-items:flex-start;flex-direction:column;gap:.1rem}}
@media(max-width:760px){.hub-writing-game-review-list summary{grid-template-columns:100px 1fr}.hub-writing-game-review-list details>div{padding-left:0}}
@media(max-width:760px){.hub-diagnostic-result{display:block}.hub-diagnostic-next{margin-bottom:2rem;padding:0 0 2rem;border-right:0;border-bottom:1px solid var(--line)}.hub-diagnostic-progress{align-items:flex-start;flex-direction:column}.hub-diagnostic-progress progress{width:100%}}
.hub-hint-trigger{min-height:48px;margin-top:.5rem;padding:.55rem .65rem;border:0;background:none;color:var(--blue);cursor:pointer;font-size:.86rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.hub-next-note{color:var(--muted)}
.hub-step-nav{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-top:1rem!important;padding-bottom:2.5rem!important}
.hub-step-nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;flex-wrap:wrap}
.hub-step-nav-actions form{margin:0}
.hub-step-nav-note{margin:0;color:var(--muted);font-size:.92rem}
.hub-step-nav a:not(.button){font-weight:750;text-decoration:none}
.hub-mobile-jump{display:none}
.hub-preview-page :is(.hub-option,.hub-hint-trigger,.hub-stage-rail a,.hub-step-nav a):focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
@media(max-width:760px){
  .hub-stage-heading{align-items:start;flex-direction:column}
  .hub-reading-work{display:block;border-inline:0}
  .hub-mobile-jump{position:sticky;top:0;z-index:2;display:flex;justify-content:center;gap:1.5rem;padding:.6rem 1rem;border-bottom:1px solid var(--line);background:#fff}
  .hub-mobile-jump a{display:grid;min-height:48px;place-items:center;padding:0 .45rem;font-size:.83rem;font-weight:800;text-decoration:none}
  .hub-reading-work>.hub-source,.hub-reading-work>.hub-question{scroll-margin-top:4.5rem}
  .hub-source{border-right:0;border-bottom:1px solid var(--line)}
  .hub-reading-work>.hub-source,.hub-reading-work>.hub-question{padding:1.4rem 1rem}
  .hub-step-nav{align-items:stretch}
}
@media(prefers-reduced-motion:reduce){.hub-preview-page *{scroll-behavior:auto!important}}
.hub-pathway-choices{padding-top:.35rem!important;padding-bottom:1.5rem!important}
.hub-pathway-choices h2{font-size:1.2rem;margin-bottom:.85rem}
.hub-pathway-choices>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.hub-pathway-choices a{display:flex;flex-direction:column;gap:.3rem;min-width:0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--dark);text-decoration:none}
.hub-pathway-choices a:hover,.hub-pathway-choices a:focus-visible{border-color:var(--blue);box-shadow:0 10px 22px rgba(4,30,66,.08)}
.hub-pathway-choices a>strong{font-size:1rem;line-height:1.3}
.hub-pathway-choices a>small{color:var(--muted);line-height:1.4}
@media(max-width:760px){.hub-pathway-choices>div{grid-template-columns:1fr}}
.hub-pathway-lead{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:.3rem;background:var(--dark);color:#fff}
.hub-pathway-lead .eyebrow,.hub-pathway-lead h2{color:#fff}
.hub-pathway-lead h2{margin:.1rem 0 .5rem;font-size:clamp(1.5rem,2.5vw,2.2rem)}
.hub-pathway-lead p:last-child{max-width:650px;margin:0;color:#dbe7f4}
.hub-pathway-lead .hub-teacher-note{margin-top:.55rem!important;color:#fff!important;font-size:.87rem}
.hub-pathway-lead .button{border-color:var(--yellow);background:var(--yellow);color:var(--dark);white-space:nowrap}
.hub-module-section{padding-top:2rem!important}
.hub-module-list{margin-top:1rem;border-top:1px solid var(--line)}
.hub-module-row{display:grid;grid-template-columns:minmax(0,1fr) 115px 100px;gap:1rem;align-items:center;min-height:98px;padding:1rem .15rem;border-bottom:1px solid var(--line)}
.hub-upcoming-modules{margin-top:1rem;border-top:1px solid var(--line)}
.hub-upcoming-modules summary{padding:1.05rem .15rem;color:var(--dark);font-weight:750;cursor:pointer}
.hub-upcoming-modules summary span{display:block;margin:.2rem 0 0 1.1rem;color:var(--muted);font-size:.83rem;font-weight:400}
.hub-upcoming-modules .hub-module-list{margin-top:0}
.hub-module-code{color:var(--blue);font-size:.78rem;font-weight:850;letter-spacing:.08em}
.hub-module-row h3{margin:0 0 .2rem;color:var(--dark);font-size:1rem}
.hub-module-row p{margin:0;color:var(--muted);font-size:.83rem}
.hub-module-state{color:var(--muted);font-size:.8rem;font-weight:700}
.hub-module-row form{text-align:right}
.hub-module-row button{border:0;background:none;color:var(--blue);cursor:pointer;font-size:.85rem}
.hub-module-unavailable{color:var(--muted);font-size:.79rem;text-align:right}
.hub-challenge-link{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1rem;margin-bottom:2rem;border-top:1px solid var(--line)}
.hub-writing-resume{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;border-bottom:1px solid var(--line)}
.hub-writing-resume h2{margin:.2rem 0;font-size:1.2rem}
.hub-writing-resume p:last-child{margin:.2rem 0;color:var(--muted);font-size:.88rem}
.hub-challenge-link h2{margin-bottom:.4rem;font-size:1.35rem}
.hub-challenge-link p:last-child{max-width:700px;margin:0;color:var(--muted);font-size:.9rem}
.hub-challenge-link .button{white-space:nowrap}
.hub-session-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.8rem!important;padding-bottom:1.1rem!important}
.hub-session-heading h1{margin:0 0 .3rem;font-size:clamp(2rem,3.5vw,2.8rem)}
.hub-session-heading p:last-child{margin:0;color:var(--muted)}
.hub-session-links{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}
.hub-writing-submitted{white-space:pre-wrap;line-height:1.65}
.hub-writing-review-form{display:grid;gap:1.15rem;max-width:720px;margin:1.2rem 0 2rem}
.hub-writing-review-work{min-height:0}
.hub-writing-review-form fieldset{display:grid;gap:.7rem;margin:0;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:6px}
.hub-writing-review-form legend{padding:0 .35rem;color:var(--dark);font-weight:800}
.hub-writing-review-form label{display:grid;gap:.4rem;color:var(--dark);font-size:.88rem;font-weight:750}
.hub-writing-review-form fieldset label{display:flex;align-items:flex-start;gap:.6rem;font-weight:500;line-height:1.45}
.hub-writing-review-form input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:var(--blue)}
.hub-writing-review-form select,.hub-writing-review-form textarea{width:100%;min-height:46px;padding:.6rem .75rem;border:1px solid #b8c8d9;border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.hub-writing-review-form .button{justify-self:start}
.hub-writing-review-form :is(input,select,textarea):focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hub-writing-limit-note{margin:.5rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}
.hub-challenge-rest{padding-block:1.2rem!important;border-top:1px solid var(--line)}
.hub-help-heading{padding-top:2rem!important;padding-bottom:1rem!important}
.hub-help-heading h1{margin:.2rem 0 .45rem}
.hub-help-heading p:last-child{max-width:700px;color:var(--muted)}
.hub-help-jump{display:flex;gap:1.4rem;flex-wrap:wrap;padding-top:.4rem!important;padding-bottom:1.5rem!important}
.hub-help-jump a{color:var(--blue);font-size:.86rem;font-weight:750;text-decoration:none}
.hub-help-section{padding-top:1rem!important;padding-bottom:1.5rem!important;scroll-margin-top:1rem}
.hub-help-list{border-top:1px solid var(--line)}
.hub-help-list details{border-bottom:1px solid var(--line);scroll-margin-top:1rem}
.hub-help-list summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:60px;padding:.8rem .1rem;color:var(--dark);cursor:pointer;font-weight:800;list-style:none}
.hub-help-list summary::-webkit-details-marker{display:none}
.hub-help-list summary span:last-child{color:var(--blue);font-size:1.25rem;font-weight:400}
.hub-help-list details[open] summary span:last-child{transform:rotate(45deg)}
.hub-text-feedback summary>span:first-child{display:flex;flex-direction:column;gap:.2rem}
.hub-text-feedback summary small{color:var(--muted);font-size:.85rem;font-weight:500}
.hub-text-next>div:first-child{flex:1}
.hub-text-next .hub-step-nav-actions{flex-shrink:0;max-width:450px}
@media(max-width:760px){.hub-text-next{flex-direction:column;align-items:stretch;gap:1rem}.hub-text-next .hub-step-nav-actions{flex-direction:column;align-items:stretch;max-width:none}.hub-text-next .button{width:100%}}
.hub-help-content{max-width:720px;padding:0 .1rem 1.3rem;line-height:1.6}
.hub-help-content p{margin:.65rem 0}
.hub-help-content b{color:var(--dark)}
.hub-help-check{padding:.85rem 1rem;border-left:3px solid var(--yellow);background:#f3f7fb}
.hub-help-return{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:2rem;border-top:1px solid var(--line)}
.hub-help-return p{width:100%;margin:0;color:var(--dark);font-weight:800}
.hub-help-list summary:focus-visible,.hub-help-jump a:focus-visible,.hub-session-links a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.hub-answer-form fieldset{min-width:0;margin:0;padding:0;border:0}
.hub-answer-form fieldset:disabled{opacity:.78}
.hub-answer-form fieldset:disabled .hub-check-answer{display:none}
.hub-preview-check-choices{min-width:0;margin:0;padding:0;border:0}
.hub-preview-check-choices>.button{margin-top:1.1rem}
.hub-option:has(input:checked){border:2px solid var(--blue);background:#eef5fc}
.hub-option input{position:absolute;opacity:0;width:1px;height:1px;scroll-margin-block:7rem}
.hub-option:focus-within{outline:3px solid var(--yellow);outline-offset:3px}
.hub-option-letter{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border:1px solid #bbc7d4;border-radius:50%;color:var(--blue);font-size:.77rem;font-weight:850}
.hub-clue-options .hub-option-letter{border-radius:6px}
.hub-option:has(input:checked) .hub-option-letter{background:var(--blue);border-color:var(--blue);color:#fff}
@media(forced-colors:active){.hub-option:has(input:checked) .hub-option-letter{forced-color-adjust:none;background:CanvasText;border-color:CanvasText;color:Canvas}}
.hub-check-answer{margin-top:1.1rem}
.hub-hint-form{margin-top:.5rem}
.hub-result-summary{max-width:850px!important;margin-top:1rem;margin-bottom:3rem;border-top:4px solid var(--yellow);background:#fff}
.hub-result-summary>strong{display:block;color:var(--dark);font-size:clamp(2.4rem,5vw,4rem);line-height:1.1}
.hub-result-summary h2{margin:.8rem 0 .3rem}
.hub-result-summary>p:not(.eyebrow){max-width:650px;color:var(--muted)}
.hub-check-review{max-width:850px!important;margin-bottom:3rem}
.hub-check-reteach{max-width:850px!important;margin-bottom:2rem;border-top:1px solid var(--line)}
.hub-check-reteach>h2{margin:.1rem 0 1rem;color:var(--dark)}
.hub-check-reteach>.hub-teaching-copy{white-space:pre-line}
.hub-check-reteach .hub-module-preview-work{margin:1.5rem 0}
.hub-check-reteach .hub-reteach-source{font-family:Arial,Verdana,"Segoe UI",sans-serif}
.hub-reteach-explanation{white-space:pre-line;line-height:1.65}
.hub-review-item{padding:1.2rem 0;border-top:1px solid var(--line)}
.hub-review-item h3{margin:0 0 .45rem;color:var(--dark);font-size:1.05rem}
.hub-review-item p{margin:.35rem 0;line-height:1.55}
.hub-review-source{margin-top:.7rem;border-top:1px solid var(--line);padding-top:.7rem}
.hub-review-source>summary{color:var(--blue);font-weight:750;cursor:pointer}
.hub-review-source .eyebrow{margin-top:1rem}
.hub-teacher-profile{margin-top:1.2rem;margin-bottom:1.2rem;border-top:1px solid var(--line)}
.hub-teacher-skill-list{border-top:1px solid var(--line)}
.hub-teacher-skill-list>div{display:grid;grid-template-columns:50px minmax(0,1fr) 120px 270px;gap:1rem;align-items:center;padding:.85rem .2rem;border-bottom:1px solid var(--line)}
.hub-teacher-skill-list small{color:var(--muted)}
.hub-teacher-errors{padding-top:.7rem}
.hub-teacher-errors h3{font-size:1rem}
.hub-teacher-errors ul{margin:.3rem 0;padding-left:1.4rem}
.hub-teacher-target-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.hub-teacher-target-form h3{margin:.1rem 0 .6rem;color:var(--dark);font-size:1rem}
.hub-teacher-target-form form{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem}
.hub-teacher-target-form label{display:grid;gap:.3rem;min-width:220px;color:var(--dark);font-size:.83rem;font-weight:750}
.hub-teacher-target-form label:first-child{flex:1 1 240px}
.hub-teacher-target-form label:nth-of-type(2){flex:2 1 270px}
.hub-teacher-target-form select,.hub-teacher-target-form input{width:100%;min-height:46px;padding:.55rem .7rem;border:1px solid #b8c8d9;border-radius:6px;background:#fff;color:var(--ink)}
.hub-teacher-target-form .optional{display:inline;color:var(--muted);font-weight:400}
.hub-teacher-target-form .button{min-height:46px}
@media(max-width:760px){.hub-teacher-profile .section-title{align-items:flex-start;flex-direction:column;gap:.35rem}.hub-teacher-profile .section-title>span{font-size:.82rem}.hub-teacher-skill-list>div{grid-template-columns:40px minmax(0,1fr)}.hub-teacher-skill-list>div span:nth-child(3),.hub-teacher-skill-list small{grid-column:2}}
.hub-review-notice{margin-top:.4rem;border-top:3px solid var(--yellow);background:#fff}
.hub-review-notice strong{color:var(--dark)}
.hub-review-notice p{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}
.hub-review-instructions{margin:.85rem 0;padding-left:1.4rem;max-width:76ch}
.hub-review-instructions li{padding-left:.25rem;margin:.45rem 0;line-height:1.55}
.hub-review-response-format{max-width:76ch;color:var(--muted)}
.hub-review-pack-instructions{padding-top:1rem!important;padding-bottom:1rem!important;max-width:90ch;line-height:1.55}
.hub-review-pack-instructions a{color:var(--blue);text-underline-offset:3px}
.hub-review-pack-nav{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem!important;padding-bottom:1rem!important;border-bottom:1px solid var(--line)}
.hub-review-pack-nav a,.hub-review-pack-sections a,.hub-review-pack-end a{color:var(--blue);text-underline-offset:3px}
.hub-review-pack-sections{display:flex;flex-wrap:wrap;gap:.4rem 1.15rem;align-items:baseline;padding-top:1rem!important;padding-bottom:1.25rem!important;border-bottom:1px solid var(--line)}
.hub-review-pack-sections span{color:var(--muted);font-size:.74rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.hub-review-pack-copy{max-width:1040px;padding-top:1.65rem!important;padding-bottom:2rem!important;overflow-wrap:anywhere}
.hub-review-pack-copy h2{margin:2.25rem 0 .75rem;padding-top:.35rem;border-top:1px solid var(--line);color:var(--dark);font-size:1.5rem;scroll-margin-top:1rem}
.hub-review-pack-copy h3{margin:1.7rem 0 .55rem;color:var(--dark);font-size:1.15rem}
.hub-review-pack-copy h4{margin:1.35rem 0 .4rem;color:var(--dark);font-size:1rem}
.hub-review-pack-copy p,.hub-review-pack-copy li{line-height:1.65}
.hub-review-pack-copy p{margin:.65rem 0}
.hub-review-pack-copy ul,.hub-review-pack-copy ol{padding-left:1.4rem}
.hub-review-pack-copy blockquote{margin:1rem 0;padding:.1rem 1rem;border-left:3px solid var(--yellow);color:var(--muted)}
.hub-review-pack-copy pre{max-width:100%;padding:1rem;overflow-x:auto;background:#fff;border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}
.hub-review-pack-copy code{font-size:.88em}
.hub-review-table-wrap{max-width:100%;overflow-x:auto}
.hub-review-pack-copy table{width:max-content;max-width:none;border-collapse:collapse;background:#fff}
.hub-review-pack-copy th,.hub-review-pack-copy td{padding:.55rem .75rem;border:1px solid var(--line);text-align:left;vertical-align:top}
.hub-review-pack-copy th{background:#f3f7fb;color:var(--dark)}
.hub-review-pack-copy img{max-width:100%;height:auto}
.hub-review-pack-end{padding-bottom:2rem!important}
.hub-review-path{padding-top:1.3rem!important;padding-bottom:1.8rem!important}
.hub-final-gaps{max-width:72ch;padding-left:1.3rem;line-height:1.65}
.hub-final-detail{max-width:72ch;margin:.8rem 0 1.1rem;color:var(--muted);font-size:.88rem}
.hub-final-detail summary{color:var(--blue);cursor:pointer;font-weight:750}
.hub-final-hash{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:baseline;font-size:.84rem}
.hub-final-hash span{color:var(--muted);font-weight:750}
.hub-final-hash code{overflow-wrap:anywhere;color:var(--dark)}
.hub-final-attestation-form{display:grid;gap:.65rem;max-width:620px}
.hub-final-attestation-form>label:first-of-type{font-size:.86rem;font-weight:750}
.hub-final-attestation-form input:not([type=checkbox]){width:100%;min-height:46px;padding:.55rem .7rem;border:1px solid #b8c8d9;border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.hub-final-attestation-check{line-height:1.5}
.hub-final-attestation-form .button{justify-self:start}
@media(max-width:600px){.hub-final-page .hub-review-path .section-title{align-items:flex-start;flex-direction:column;gap:.35rem}.hub-final-page .hub-review-path .section-title>span{font-size:.82rem}}
.hub-review-module-list{border-top:1px solid var(--line)}
.hub-review-module-row{display:grid;grid-template-columns:52px minmax(0,1fr) 105px 120px;gap:1rem;align-items:center;min-height:88px;padding:.85rem .2rem;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.hub-review-module-row:hover{background:#f3f7fb}
.hub-review-module-row b{display:block;color:var(--dark)}
.hub-review-module-row small{display:block;margin-top:.15rem;color:var(--muted);font-size:.82rem}
.hub-review-module-row>span:nth-child(3){color:var(--muted);font-size:.82rem}
.hub-review-module-row>strong{color:var(--blue);font-size:.82rem;text-align:right}
.hub-review-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.hub-review-contract{border-top:1px solid var(--line)}
.hub-review-contract ul{margin:.5rem 0 1rem;padding-left:1.4rem}
.hub-review-contract p{margin:.4rem 0;color:var(--muted);font-size:.9rem}
.hub-spec-review{margin-top:1.2rem;padding-top:.8rem;border-top:1px solid var(--line)}
.hub-spec-review h3{margin:.2rem 0 .7rem;color:var(--dark);font-size:1rem}
.hub-module-spec-fields{min-width:0;margin:1.3rem 0 0;padding:1rem 0 0;border:0;border-top:1px solid var(--line)}
.hub-module-spec-fields legend{padding:0 .5rem 0 0;color:var(--dark);font-size:1.05rem;font-weight:750}
.hub-module-spec-fields>p{max-width:72ch;margin:.2rem 0 1rem;color:var(--muted);font-size:.88rem}
.hub-spec-code-help{margin:0 0 1rem;color:var(--muted);font-size:.84rem}
.hub-spec-code-help summary{color:var(--blue);cursor:pointer;font-weight:750}
.hub-spec-code-help ul{columns:2;max-width:760px;margin:.7rem 0;padding-left:1.3rem;line-height:1.6}
@media(max-width:600px){.hub-spec-code-help ul{columns:1}}
.hub-pack-spec{border-top:1px solid var(--line);padding-top:1.2rem!important;padding-bottom:1.2rem!important}
.hub-pack-spec h2{margin:0 0 .7rem;color:var(--dark);font-size:1.15rem}
.hub-pack-spec p{margin:.45rem 0;color:var(--muted);font-size:.86rem;line-height:1.5}
.hub-pack-spec ul{margin:.1rem 0 .8rem;padding-left:1.4rem;color:var(--muted);font-size:.86rem;line-height:1.5}
.hub-review-stage{display:grid;grid-template-columns:minmax(230px,31fr) minmax(0,69fr);gap:2rem;padding:1.3rem 0;border-top:1px solid var(--line)}
.hub-review-stage h3{margin:.3rem 0;color:var(--dark);font-size:1.1rem}
.hub-review-stage p{margin:.25rem 0;color:var(--muted);font-size:.85rem;line-height:1.5}
.hub-replacement-script-stage{display:block}
.hub-replacement-script-stage>div{max-width:72ch}
.hub-review-empty{color:var(--muted);font-size:.85rem}
.hub-review-activity-list{border-top:1px solid var(--line)}
.hub-review-activity-list a{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .2rem;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.hub-review-activity-list a:hover{background:#f3f7fb}
.hub-review-activity-list b{font-size:.88rem}
.hub-review-activity-list small{display:block;margin-top:.2rem;color:var(--muted);font-size:.76rem}
.hub-review-activity-list strong{flex:0 0 auto;color:var(--blue);font-size:.82rem}
.hub-review-work{margin-top:.4rem}
.hub-review-options{border-top:1px solid var(--line)}
.hub-review-options>div{display:flex;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.hub-review-options>div>span{color:var(--blue);font-size:.82rem;font-weight:800}
.hub-review-options p{margin:0;font-size:.86rem;line-height:1.45}
.hub-review-options small{display:block;margin-top:.25rem;color:var(--muted);font-size:.76rem}
.hub-review-options .is-correct{background:#f3f7fb}
.hub-review-explanation{margin-top:1.4rem}
.hub-review-explanation b{color:var(--dark);font-size:.85rem}
.hub-review-explanation p{margin:.2rem 0 .8rem;line-height:1.5}
.hub-review-provenance{margin-top:2rem;margin-bottom:3rem;border-top:1px solid var(--line)}
.hub-review-provenance p{color:var(--muted);font-size:.88rem;overflow-wrap:anywhere}
.hub-replacement-hash{overflow-wrap:anywhere}
.hub-review-provenance ul{padding-left:1.4rem;color:var(--dark);font-size:.88rem}
.hub-editor-section{padding-top:1.4rem!important;padding-bottom:2rem!important;border-top:1px solid var(--line)}
.hub-editor-section>.section-title{margin-bottom:1rem}
.hub-editor-section>p,.hub-editor-note{max-width:760px;color:var(--muted);font-size:.88rem;line-height:1.55}
.hub-writing-author-form,.hub-diagnostic-author-form{max-width:760px;gap:1rem}
.hub-writing-author-form label,.hub-diagnostic-author-form label{display:block;color:var(--dark);font-weight:700}
.hub-writing-author-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.hub-writing-author-form select,.hub-writing-author-form textarea,.hub-diagnostic-author-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.hub-diagnostic-author-form select,.hub-diagnostic-author-form textarea{display:block;width:100%;max-width:100%;margin-top:.4rem}
.hub-writing-author-form textarea,.hub-diagnostic-author-form textarea{line-height:1.5}
.hub-writing-author-form input[type=checkbox]{width:18px;height:18px;margin-right:.4rem;vertical-align:middle;accent-color:var(--blue)}
.hub-writing-author-form .field-hint,.hub-diagnostic-author-form .field-hint{display:block;margin-top:.2rem;color:var(--muted);font-size:.78rem;font-weight:400}
.hub-diagnostic-author-form fieldset{border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem 1.2rem;margin:0;min-width:0}
.hub-diagnostic-author-form legend{padding:0 .35rem;color:var(--blue);font-size:.88rem;font-weight:800}
.hub-diagnostic-author-form fieldset>p{color:var(--muted);font-size:.88rem;line-height:1.55;margin:.15rem 0 1rem}
.hub-diagnostic-author-form fieldset label+label{margin-top:.85rem}
.hub-reading-composer-block{max-width:980px;padding:1.25rem 0;border-top:1px solid var(--line)}
.hub-reading-composer-block h3{margin:0 0 .3rem;color:var(--dark);font-size:1.12rem}
.hub-reading-composer-block>p{color:var(--muted);font-size:.88rem;line-height:1.55}
.hub-reading-composer-list{margin-top:1rem;border-top:1px solid var(--line)}
.hub-reading-composer-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.88rem;line-height:1.45}
.hub-reading-composer-row>span{min-width:0;overflow-wrap:anywhere}
.hub-reading-composer-row form{margin:0}
.hub-reading-composer-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;flex:none}
.hub-reading-composer-actions button,.hub-reading-composer-row>form button{padding:0;border:0;background:transparent;font:inherit;cursor:pointer}
.hub-source-key-option{display:flex!important;align-items:flex-start;gap:.5rem;margin:.45rem 0;font-weight:500!important}
.hub-source-key-option input{flex:none;width:18px!important;height:18px;margin:.1rem 0 0!important;accent-color:var(--blue)}
.hub-reading-option-edit{padding:1rem 0;border-top:1px solid var(--line)}
.hub-reading-option-edit:first-of-type{border-top:0}
.hub-reading-option-edit>p{margin:0 0 .5rem;color:var(--dark)}
.hub-reading-option-edit label+label{margin-top:.7rem}
@media(max-width:600px){.hub-reading-composer-row{align-items:flex-start;flex-direction:column}.hub-reading-composer-actions{width:100%;justify-content:flex-start}}
.hub-source-review{max-width:1000px;border-block:1px solid var(--line);background:#fff}
.hub-source-review .hub-source{border:0;padding:1rem 0}
.hub-review-gates{max-width:850px;border-top:1px solid var(--line)}
.hub-review-gate{display:grid;grid-template-columns:135px minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.hub-review-gate>b{color:var(--dark);text-transform:capitalize}
.hub-review-gate>span{color:var(--muted);font-size:.88rem}
.hub-review-gate form label{display:block;margin-bottom:.7rem;font-size:.86rem;line-height:1.45}
.hub-review-gate form input[type=checkbox]{width:18px;height:18px;margin-right:.4rem;vertical-align:middle;accent-color:var(--blue)}
.hub-author-options{margin:1rem 0 0;padding:0;border:0;border-top:1px solid var(--line)}
.hub-writing-author-types{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center;margin:.3rem 0 1.2rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.hub-writing-author-types strong{color:var(--dark)}
.hub-author-options legend{padding:.7rem 0;color:var(--dark);font-weight:800}
.hub-author-options>p{max-width:700px;margin:0 0 .4rem;color:var(--muted);font-size:.85rem}
.hub-author-option{padding:1rem 0;border-bottom:1px solid var(--line)}
.hub-author-option h3{margin:0 0 .5rem;color:var(--blue);font-size:.9rem}
.hub-author-option label{margin:.65rem 0}
.hub-author-option input[type=radio]{width:18px;height:18px;margin-right:.4rem;vertical-align:middle;accent-color:var(--blue)}
.hub-module-edit>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;color:var(--dark);cursor:pointer;list-style:none}
.hub-module-edit>summary::-webkit-details-marker{display:none}
.hub-module-edit>summary b{display:block;font-size:1.13rem}
.hub-module-edit[open]>summary{margin-bottom:1rem;border-bottom:1px solid var(--line)}
.hub-module-edit>p,.hub-module-attestation label{max-width:760px;color:var(--muted);font-size:.88rem;line-height:1.55}
.hub-module-stage-edit{border-top:1px solid var(--line)}
.hub-module-stage-edit label{padding:.85rem 0;border-bottom:1px solid var(--line)}
.hub-module-attestation label{display:block;margin-bottom:1rem;color:var(--dark)}
.hub-module-attestation input[type=checkbox]{width:18px;height:18px;margin-right:.4rem;vertical-align:middle;accent-color:var(--blue)}
@media(max-width:600px){.hub-review-gate{grid-template-columns:1fr;gap:.3rem}}
@media(max-width:600px){.hub-review-contract .section-title,.hub-module-stage-section>.section-title{align-items:flex-start;flex-direction:column;gap:.25rem}.hub-review-contract .section-title>span,.hub-module-stage-section>.section-title>span{max-width:100%;font-size:.82rem;line-height:1.5}.hub-module-stage-section>.section-title{margin-bottom:.5rem}}
@media(max-width:760px){.hub-review-module-row{grid-template-columns:40px minmax(0,1fr)}.hub-review-module-row>span:nth-child(3),.hub-review-module-row>strong{grid-column:2;text-align:left}.hub-review-heading{align-items:flex-start;flex-direction:column}.hub-review-stage{display:block}.hub-review-stage>div:first-child{margin-bottom:.8rem}}
@media(max-width:760px){.hub-pathway-lead,.hub-challenge-link,.hub-writing-resume,.hub-session-heading{align-items:start;flex-direction:column}.hub-module-row{grid-template-columns:minmax(0,1fr);gap:.4rem .7rem}.hub-module-state{grid-column:1}.hub-module-row form,.hub-module-unavailable{grid-column:1;text-align:left}}
.hub-progress-target{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:.4rem;background:var(--dark);color:#fff}
.hub-progress-target h2,.hub-progress-target .eyebrow{color:#fff}
.hub-progress-target h2{margin:.15rem 0 .45rem;font-size:clamp(1.5rem,2.6vw,2.2rem)}
.hub-progress-target p:last-child{max-width:700px;margin:0;color:#dbe7f4}
.hub-progress-target .button{border-color:var(--yellow);background:var(--yellow);color:var(--dark);white-space:nowrap}
.hub-progress-skills{margin-top:1rem}
.hub-progress-list{border-top:1px solid var(--line)}
.hub-progress-row{display:grid;grid-template-columns:minmax(0,1fr) 125px 130px;align-items:center;gap:1rem;padding:1rem .15rem;border-bottom:1px solid var(--line)}
.hub-progress-row b{display:block;color:var(--dark)}
.hub-progress-row small{display:block;margin-top:.2rem;color:var(--muted);font-size:.82rem}
.hub-progress-row strong{color:var(--dark);font-size:.84rem}
.hub-progress-row a{color:var(--blue);font-size:.83rem;font-weight:750;text-align:right;text-decoration:none}
.hub-progress-explainer{max-width:75ch;margin:1rem 0 0;color:var(--muted);font-size:.85rem}
.hub-progress-history{margin-top:1rem;border-top:1px solid var(--line)}
.hub-progress-history>summary{color:var(--dark);cursor:pointer;font-size:1.08rem;font-weight:800}
.hub-progress-history>.result-columns,.hub-progress-history>div>.result-columns{padding-inline:0}
@media(max-width:760px){.hub-progress-target{align-items:start;flex-direction:column}.hub-progress-row{grid-template-columns:minmax(0,1fr);gap:.35rem .7rem}.hub-progress-row strong,.hub-progress-row a{grid-column:1;text-align:left}}
.hub-pack-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}
.hub-pack-heading h1{margin:.2rem 0 .45rem}
.hub-pack-heading p:last-child{max-width:62ch;color:var(--muted)}
.hub-pack-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.hub-pack-intro{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
.hub-pack-intro h2{margin:0 0 .45rem;color:var(--dark);font-size:1.45rem}
.hub-pack-intro>p{max-width:85ch;color:var(--muted);line-height:1.55}
.hub-pack-intro dl{display:grid;grid-template-columns:130px 100px minmax(0,1fr);gap:1.5rem;margin:1.5rem 0;border-block:1px solid var(--line)}
.hub-pack-intro dl>div{padding:.75rem 0;min-width:0}
.hub-pack-intro dt{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.hub-pack-intro dd{margin:.3rem 0 0;color:var(--dark);font-weight:750;overflow-wrap:anywhere}
.hub-pack-intro code,.hub-pack-revision code{font-size:.75rem;overflow-wrap:anywhere}
.hub-pack-index{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}
.hub-pack-index a{color:var(--blue);font-size:.83rem;font-weight:750;text-decoration:none}
.hub-pack-index a:hover,.hub-pack-review-link:hover{text-decoration:underline}
.hub-pack-stage{padding-top:1.8rem!important;padding-bottom:2rem!important;border-top:3px solid var(--dark)}
.hub-pack-stage-heading{display:flex;align-items:center;gap:1rem}
.hub-pack-stage-heading>span{color:var(--blue);font-size:1.6rem;font-weight:850}
.hub-pack-stage-heading .eyebrow{margin:0}
.hub-pack-stage-heading h2{margin:.15rem 0;color:var(--dark);font-size:1.5rem}
.hub-pack-teaching{max-width:78ch;margin:.8rem 0 1.4rem;color:var(--ink);line-height:1.6;white-space:pre-line}
.hub-pack-source-group{padding:1rem 0 1.5rem;border-top:1px solid var(--line)}
.hub-pack-source-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.hub-pack-source-head .eyebrow{margin:0}
.hub-pack-source-head p:last-child{margin:.1rem 0;color:var(--muted);font-size:.8rem}
.hub-pack-source{max-width:880px;padding:1rem 0;border-bottom:1px solid var(--line)}
.hub-pack-source .hub-source-figure img{max-width:600px}
.hub-pack-source .hub-source-copy{max-width:76ch}
.hub-pack-source .hub-table-wrap{max-width:850px}
.hub-pack-print-description{display:none}
.hub-pack-question{padding:1.45rem 0 1.7rem;border-bottom:1px solid var(--line)}
.hub-pack-question-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.02em}
.hub-pack-question h3{max-width:75ch;margin:.5rem 0 1rem;color:var(--dark);font-size:1.16rem;line-height:1.4}
.hub-pack-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.4rem;max-width:980px;padding-left:1.6rem}
.hub-pack-options li{padding:.65rem .2rem;border-top:1px solid var(--line);line-height:1.45}
.hub-pack-options li::marker{color:var(--blue);font-weight:800}
.hub-pack-options b{display:block;color:var(--dark)}
.hub-pack-options span{display:block;margin:.15rem 0;color:var(--blue);font-size:.76rem;font-weight:800}
.hub-pack-options p{margin:.2rem 0 0;color:var(--muted);font-size:.84rem}
.hub-pack-options .is-correct{background:var(--pale)}
.hub-pack-answer{max-width:80ch;line-height:1.55}
.hub-pack-answer p{white-space:pre-line}
.hub-pack-answer li{margin:.35rem 0}
.hub-pack-answer small{display:block;color:var(--muted)}
.hub-pack-rationale{max-width:90ch;margin-top:1rem}
.hub-pack-rationale p{margin:.35rem 0;line-height:1.5}
.hub-pack-rationale b{color:var(--dark)}
.hub-pack-revision{margin:1rem 0 .5rem;color:var(--muted);font-size:.75rem;overflow-wrap:anywhere}
.hub-pack-issues{color:#923c27;font-size:.82rem}
.hub-pack-review-link{font-size:.83rem;font-weight:750}
.hub-pack-end{padding-top:2rem!important;padding-bottom:3rem!important;border-top:3px solid var(--dark)}
.hub-pack-end p{max-width:75ch;color:var(--muted);line-height:1.55}
@media(max-width:760px){.hub-pack-heading,.hub-pack-source-head,.hub-pack-question-meta{align-items:flex-start;flex-direction:column}.hub-pack-intro dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.hub-pack-intro dl>div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.hub-pack-options{grid-template-columns:1fr}.hub-pack-source .hub-source-figure img{max-width:100%}}
@media print{@page{size:A4;margin:15mm}.hub-review-pack-page{background:#fff!important;color:#111!important}.hub-review-pack-page .site-header,.hub-review-pack-page footer,.hub-review-pack-page .skip-link,.hub-review-pack-page .hub-pack-actions,.hub-review-pack-page .hub-pack-index,.hub-review-pack-page .hub-pack-review-link,.hub-review-pack-page .hub-pack-end .button,.hub-review-pack-page .hub-source-image-cue,.hub-review-pack-page .hub-source-figure figcaption,.hub-review-pack-page .hub-pack-source .hub-source-description{display:none!important}.hub-review-pack-page main{padding:0!important}.hub-review-pack-page .section{max-width:none!important;margin:0!important;padding:0 0 8mm!important}.hub-review-pack-page .hub-pack-stage{break-before:page;padding-top:6mm!important}.hub-review-pack-page .hub-pack-question{break-inside:avoid-page}.hub-review-pack-page .hub-pack-source-group{break-inside:auto}.hub-review-pack-page .hub-pack-source .hub-source-figure img{max-width:145mm;max-height:150mm;object-fit:contain}.hub-review-pack-page .hub-pack-print-description{display:block;max-width:145mm;font-size:9pt;line-height:1.35}.hub-review-pack-page .hub-pack-options{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-review-pack-page a{color:#041e42!important;text-decoration:none!important}}
.find-it-editor{min-width:0}.find-it-editor fieldset{display:grid;gap:.65rem;min-width:0;border:0;border-top:1px solid var(--line);padding:1.25rem 0;margin:0}.find-it-editor legend{color:var(--dark);font-weight:750;padding:.5rem 0}.find-it-editor textarea{width:100%;max-width:100%;min-width:0;padding:.65rem;border:1px solid var(--line);border-radius:7px;background:#fff}.find-it-editor input[type="checkbox"]{display:inline-block;width:auto;margin-right:.5rem}
.hub-keyword-fieldset{min-width:0;margin:0;padding:0;border:0}.hub-keyword-fieldset legend{padding:0;margin-bottom:.5rem}
.hub-refresher-tools{padding-top:1rem!important;padding-bottom:1rem!important}.hub-refresher-tools p{max-width:75ch}.hub-refresher-tools form{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.hub-refresher-tools label{font-weight:700;color:var(--dark)}.hub-refresher-tools select{min-width:0;max-width:100%;padding:.6rem;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--dark)}
.hub-search-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.hub-search-table .hub-source-choice,.hub-search-table th label{display:flex;align-items:center;gap:.35rem;min-height:44px;white-space:normal}.hub-search-table .hub-source-choice{margin:0}.hub-search-table th input{width:auto;min-width:1rem}.hub-search-table td:has(input:disabled){color:var(--muted)}
.hub-search-table{min-width:560px}.hub-search-table .hub-source-choice span{white-space:nowrap;overflow-wrap:normal}.hub-search-table th[scope="row"],.hub-search-table thead th:first-child{position:sticky;left:0;z-index:1}.hub-search-table tr:has([data-hub-search-section]:checked)>th,.hub-search-table tr:has([data-hub-search-section]:checked)>td{background:#e6f0fa}
.hub-find-model-steps{list-style:none;margin:0 0 1rem;padding:0}.hub-find-model-steps h3{margin:.5rem 0;color:var(--dark)}.hub-find-model-steps p{margin:.6rem 0}.hub-find-model-muted th,.hub-find-model-muted td{color:var(--muted)}.hub-find-model-scan{animation:hub-find-scan .7s ease-out}@keyframes hub-find-scan{from{box-shadow:0 -3.5rem 0 -2px var(--yellow)}to{box-shadow:0 0 0 2px var(--yellow)}}@media(prefers-reduced-motion:reduce){.hub-find-model-scan{animation:none}}
.hub-placement-preview-fieldset{border:0;padding:0;margin:0;min-width:0}
