/* Shared turquoise palette based on Walter's mint belly and petrol-blue eyes. */
:root{--ink:#103f50;--muted:#486c78;--deep:#0b5166;--teal:#126b80;--aqua:#e4f7f5;--line:#c8e5e5;--gold:#b8edeb;--coral:#146c80;--paper:#fff;--accent:#56bfc9;--soft:#eefaf9;--edge:#add8dc;background:#f2fbfa;color:var(--ink)}
body,.progress-page,.teacher-page{background:linear-gradient(160deg,#f5fcfb 0%,#edf8fa 60%,#f1faf7 100%);color:var(--ink);min-height:100vh}
/* Navigation focuses this heading for screen readers, without a browser ring. */
.shelf-intro h1[data-focus]:focus{outline:none}
.brand{text-decoration:none;border-radius:8px}.brand[aria-disabled="true"]{cursor:wait}
.topbar,.progress-top,.teacher-top{border-color:var(--line)}
.brand-mark{background:transparent;color:var(--deep);width:46px;height:46px;border-radius:0;flex-shrink:0}.brand-mark>img{display:block;width:100%;height:100%;object-fit:contain}.brand{color:var(--deep)}
.paper,.progress-panel,.teacher-panel{border-color:var(--line)}.paper{box-shadow:0 7px 0 #dceff0}
.primary{background:linear-gradient(145deg,#11788c,#0b5166);border-color:#0b6074;color:#fff}.primary:hover:not(:disabled){background:#094c62;border-color:#094c62}.secondary{border-color:#a8d5da;color:var(--deep)}.secondary:hover{background:#e8f8f7}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,.syllable-control:focus-within,.spike-edit-form textarea:focus-visible{outline-color:#107d94}
.syllable-control{border-color:#a7d3d8;background:#fff}.syllable-status,.level-badge{background:#dcf4f1;color:#0d5b70}
.level-choice,.choice{background:#f0faf9;border-color:#b0d9da}.level-choice:hover,.choice:hover{background:#dcf3f1;border-color:#47a5b1}.choice:nth-child(2){background:#eef6fc;border-color:#b4d5e6}.choice:nth-child(2):hover{background:#deedf8;border-color:#77b3cc}
.level-icon{background:linear-gradient(145deg,#c4f1e9,#a0dfeb);color:#0b5267}.choice-token{background:#fff;border-color:#c1dfe2}
.answer{border-color:#badade;background:#fafdfe}.answer:hover{background:#edf9f8}.answer:has(input:checked){border-color:#21889a;background:#e3f5f3}.answer:focus-within{outline-color:#107d94}
.name-form input{border-color:#91c5cd}.name-form input[aria-invalid="true"]{border-color:#9d361c}.end-tag{background:#b8eeea;color:#0c5266}.progress-steps li{background:#cfe8ea}
.question-numbers span{border-color:#bddbe0}.question-numbers .answered{background:#d6f1e9;border-color:#a3d4c9;color:#155947}.question-numbers .current{background:var(--deep);outline-color:#76d4da;border-color:var(--deep);color:#fff}
.result-note,.earned-reward{background:#eaf8f4;border-color:#a6d7d0}.earned-picture{background:#fafffd}.save-status,.mail-status{background:#edf9f6;border-color:#b6dcd4}.result-status,.save-success,.mail-success{color:#206449}.result-status.incorrect,.error-note{color:#9d361c}
#reading-content .reading-section--focus{border-color:#3c9fad;background:#effaf8;box-shadow:0 3px 12px #0e64780d}dialog{border-color:#b4d7dc;box-shadow:0 24px 90px #053a4f55}dialog::backdrop{background:#073e50a8}
.book-card{border-color:#c0e0e3;box-shadow:0 5px 15px #0d627410}.book-card:hover{border-color:#409dab;box-shadow:0 10px 24px #0d627423}.book-picture{background:#e2f4f3;aspect-ratio:3/2}.book-number{background:#f5fffd;color:#0c566b;box-shadow:0 2px 6px #103e4812}.book-link{border-color:#dfedf0}.shelf-facts>span{background:#fff;border-color:#c3e2e5}
.student-progress{background:linear-gradient(115deg,#e1f5ef,#e3f4fa);border-color:#add7d9}.spike-slot{border-color:#b8d7da;background:#f7fcfb;color:#91b9be}.spike-slot.filled{background:#c7eeeb;border-color:#7ec2c5}
.total-panel{background:linear-gradient(140deg,#e9f9f1,#dff3f5);border-color:#acd8d4}.total-track{background:#bfdfdd}.total-track>span{background:#2b93a3}.board-panel{background:linear-gradient(155deg,#e7f7f5,#e4f2f9)}
.tier-tab{background:#f2f9fa;border-color:#c1dde1}.tier-tab:hover{background:#e9f7f5;border-color:#87bcc7}.tier-tab[aria-selected="true"]{background:linear-gradient(130deg,#dbf4e9,#cdeef1);border-color:#448f9b;box-shadow:0 3px 0 #a0cdd0}
.collection-slot{background:#f5faf9;border-color:#bdd9db}.collection-slot.earned{background:#e1f5ed;border-color:#90c9c1}.collection-slot>span{color:#486c76}.first-result{background:#eff9f7}
.sea-status::before,.sea-status::after{border-color:#67b9c4}.sea-steps{border-color:#a1cfd5}.sea-step{background:linear-gradient(#fafffe,#d9edef);border-color:#a9cfd7;color:#426d79}.sea-step.reached{background:#c0e6e6;border-color:#79b6c1;color:#215c6b}.sea-step.current{background:linear-gradient(#91e3dc,#4fb5c5);border-color:#1a7185;color:#083e50;box-shadow:0 -3px 0 #f1fffd}
.sea-status .sea-next{background:#f6fffc;border-color:#9bd1d0;color:#0b5367}.sea-status .sea-next.complete{background:#c9eee4}.sea-next .sea-star{color:#137887}.student-board{border-color:#afd3db}
.teacher-stats>div{background:linear-gradient(135deg,#e1f4ee,#e1f1f8);border-color:#b3d9dd}.table-scroll,th,td{border-color:#d9e9ec}thead th{background:#e8f6f6;color:#2b626f}tbody tr:nth-child(even){background:#f6fbfc}.mini-track{background:#deecee}.mini-track>span{background:#379cac}.stage-pill{background:#dff4ef;border-color:#a5d4ce}.award-badge{background:#dff4ea}
.filter-label select,.password-form input{border-color:#abd1d8}.spike-edit-form #spike-total{border-color:#8dc0cb}.spike-preview{background:#eaf8f5;border-color:#b5dcd7}.spike-preview>p{border-color:#b8d9d9}.spike-edit-form textarea{border-color:#aed0d7}.spike-corrections{background:#f5fbfc}.test-account-badge{background:#e9f6f5;border-color:#b1d4d7;color:#3c6770}
.check-list li,#report{border-color:#bfdee2}.check-list .failed{border-color:#bc7048;background:#fff6ed}
@media(max-width:480px){.brand-mark{width:39px;height:39px}.story-cover{grid-template-columns:minmax(0,1fr) 100px}.story-cover .eyebrow{grid-column:1;grid-row:1}.story-cover h1{grid-column:1 / -1;grid-row:2;margin-top:12px;overflow-wrap:break-word}.cover-art{grid-column:2;grid-row:1;height:auto;aspect-ratio:3/2}.book-picture{aspect-ratio:3/2}}
@media print{body,.progress-page,.teacher-page{background:#fff}.paper{box-shadow:none}}
@media(forced-colors:active){.primary{background:ButtonFace;color:ButtonText}.sea-step.current,.tier-tab[aria-selected="true"]{outline:3px solid Highlight}}
