:root{color-scheme:light;--paper:#f8f5ec;--surface:#fffefa;--ink:#162533;--muted:#4c606b;--line:#d9ddd5;--amber:#f9c75d;--amber-ink:#543a09;--teal:#116859;--teal-bg:#e3f1e8;--blue:#214f73;--blue-bg:#e9f3fb;--rust:#9b392b;--shadow:0 18px 48px #1a344011;--sans:"Atkinson Hyperlegible Next",system-ui,-apple-system,sans-serif;--display:"Bricolage Grotesque",system-ui,-apple-system,sans-serif;--reading-size:22px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 var(--sans)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,.button{min-height:48px;min-width:48px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.58rem 1rem;border:1px solid transparent;border-radius:.65rem;color:var(--ink);background:var(--amber);font-weight:750;cursor:pointer;text-decoration:none;text-align:center;line-height:1.25}button:hover,.button:hover{filter:brightness(.96)}button:disabled{opacity:.48;cursor:default}button.secondary,.button.secondary{background:var(--surface);border-color:var(--line)}button.ghost,.button.ghost{background:transparent;border-color:var(--line)}button.dark,.button.dark{background:var(--ink);color:white}button.small,.button.small{padding:.48rem .68rem}button[aria-pressed=true],.choice.selected{border-color:var(--teal);background:var(--teal-bg);color:#154d43;box-shadow:inset 0 0 0 1px var(--teal)}:focus-visible{outline:3px solid #175f9e;outline-offset:3px}a{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;font-family:var(--display);letter-spacing:-.035em}h1{font-size:clamp(2.3rem,6vw,4.4rem);margin-bottom:.6rem}h2{font-size:clamp(1.35rem,3.8vw,2rem);margin-bottom:.65rem}h3{font-size:1.17rem;margin-bottom:.5rem}p:last-child{margin-bottom:0}.muted{color:var(--muted)}.small-text{font-size:.9rem}.skip{position:fixed;z-index:20;top:.5rem;left:.5rem;background:white;padding:.6rem;transform:translateY(-160%)}.skip:focus{transform:none}.loading{padding:10vh 1rem;text-align:center}.masthead{background:var(--ink);color:white}.mast-inner{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:.6rem;max-width:1170px;margin:auto;padding:.55rem clamp(.8rem,3vw,1.65rem)}.brand{padding:.4rem .3rem;background:transparent;color:white;font-family:var(--display);font-size:1.26rem;letter-spacing:-.035em;white-space:nowrap}.mark{width:34px;height:27px;border:2px solid var(--amber);border-radius:5px;display:inline-grid;place-items:center;color:var(--amber);margin-right:.15rem;line-height:1;font-size:.86rem}.top-actions{display:flex;gap:.45rem;align-items:center}.top-actions button{background:transparent;border-color:#75818a;color:white}.top-actions button:hover{background:#344554}.profile-name{color:#e5eadf;font-size:.9rem;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell{max-width:1170px;margin:auto;padding:clamp(1rem,4vw,2.2rem) clamp(.85rem,3.2vw,1.65rem) 3rem}.narrow{max-width:850px;margin:auto}.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,1fr);background:#1d3442;color:white;border-radius:1.3rem;min-height:328px;box-shadow:var(--shadow)}.hero-copy{position:relative;z-index:2;padding:clamp(1.35rem,5vw,3rem);align-self:center}.hero h1{max-width:14ch}.hero p{color:#e4e9e2;max-width:40ch;margin-bottom:1.35rem}.hero-kicker,.eyebrow{font-size:.77rem;font-weight:820;letter-spacing:.095em;text-transform:uppercase;margin:0 0 .65rem}.hero-kicker{color:#ffdb8c}.hero-art{position:relative;min-height:100%;overflow:hidden;background:radial-gradient(ellipse at 66% 43%,#519185 0%,#316959 32%,#224858 59%,#1d3442 77%)}.hero-art::before{content:"";position:absolute;inset:19% 11% 18% 14%;border:2px solid #f8cf7990;border-radius:10px;transform:rotate(-8deg);box-shadow:0 0 0 13px #f8cf7926,0 0 0 28px #f8cf7914;background:radial-gradient(circle at 65% 31%,#ffe3a4 0 12%,transparent 12.5%),linear-gradient(152deg,transparent 52%,#27445b 52.5% 100%),linear-gradient(204deg,transparent 54%,#183343 54.5% 100%),linear-gradient(180deg,#ca965e,#435e61 90%)}.hero-art::after{content:"";position:absolute;inset:31% 23% 33% 29%;border:1px solid #ffedb973;border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 30px #ffd57922}.hero-meta,.actions,.tags{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.hero-meta{margin-top:1.2rem;font-size:.86rem;color:#e4e9e2;gap:.65rem 1.05rem}.intro-grid,.grid-2,.grid-4{display:grid;gap:1rem}.intro-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tile,.card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:clamp(.95rem,3vw,1.45rem);box-shadow:var(--shadow);min-width:0}.tile h2{font-size:1.14rem;margin-bottom:.35rem}.tile p{font-size:.95rem;color:var(--muted)}.tile-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:1.15rem;font-weight:750;margin-bottom:.65rem;background:var(--teal-bg);color:var(--teal)}.tile:nth-child(2) .tile-icon{background:#ffedc2;color:#68490e}.tile:nth-child(3) .tile-icon{background:var(--blue-bg);color:var(--blue)}.footnote{margin-top:1.15rem;text-align:center;color:var(--muted);font-size:.86rem}.session-bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem}.session-bar strong{font-size:.98rem}.steps{display:grid;grid-template-columns:repeat(var(--step-count),minmax(0,1fr));gap:.35rem;margin-bottom:1rem}.step{border-top:4px solid var(--line);color:var(--muted);font-size:.77rem;padding-top:.26rem}.step.done{border-color:var(--teal)}.step.current{border-color:#9c5e12;color:var(--ink);font-weight:800}.section-title{font-size:clamp(1.85rem,5vw,3.25rem)}.warmup,.result-card{padding:clamp(1.2rem,6vw,3rem);background:linear-gradient(145deg,#fffefa,#fff2cd)}.warmup p,.question-prompt,.big-copy{font-size:clamp(1.16rem,3vw,1.45rem);line-height:1.55;max-width:60ch}.reader{padding:clamp(.9rem,4vw,2rem)}.read-tools{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:.45rem;flex-wrap:wrap;background:var(--surface);padding:.35rem 0 .5rem;margin:0 0 1rem;border-bottom:1px solid var(--line)}.read-tools button{font-size:.92rem}.reader-flow{max-width:65ch;margin:auto}.paragraph{font-size:var(--reading-size);line-height:1.65;scroll-margin-top:92px;margin:0 0 1.2rem}.reading-font .paragraph{font-family:"Atkinson Hyperlegible Next",Verdana,sans-serif;letter-spacing:.035em;word-spacing:.07em}.picture{background:var(--blue-bg);color:#183c56;border:1px solid #bed8e9;border-left:5px solid #427dab;border-radius:.75rem;padding:.8rem 1rem;margin:0 0 1.4rem}.picture p{font-size:1.03rem;margin-bottom:.65rem}.picture.confirmed{border-left-color:var(--teal)}.picture .eyebrow{margin-bottom:.22rem}.picture button{color:#173d58}.reader-footer{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:space-between}.reader-footer .actions{margin-left:auto}.response,.choice,.score-option,.checkline{display:flex;align-items:center;gap:.55rem}.choices{display:grid;gap:.55rem;margin:.8rem 0 1rem}.choice{background:var(--surface);border-color:var(--line);width:100%;text-align:left;justify-content:flex-start;padding:.72rem .9rem;font-weight:650}.choice-letter{border-radius:50%;background:#edf0eb;display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;flex:none}.clarity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1.1rem 0}.clarity button{min-height:66px;justify-content:flex-start;text-align:left}.order-list{padding-left:0;list-style:none;display:grid;gap:.45rem}.order-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center;border:1px solid var(--line);background:#f8faf6;border-radius:.65rem;padding:.3rem .3rem .3rem .65rem;cursor:grab}.order-controls{display:flex;gap:.2rem}.order-controls button{padding:.2rem}.question-nav{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-top:1rem}.progress{height:8px;overflow:hidden;background:#e7e9e1;border-radius:30px;margin:0 0 .65rem}.progress span{display:block;background:var(--teal);height:100%;border-radius:inherit}.adult-nav{display:flex;flex-wrap:wrap;gap:.45rem;border-bottom:1px solid var(--line);padding-bottom:.75rem;margin-bottom:1.25rem}.adult-nav button{background:var(--surface);border-color:var(--line)}.adult-nav button[aria-current=page]{background:var(--ink);color:white;border-color:var(--ink)}.adult-header,.between{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.65rem}.adult-header{margin-bottom:1.1rem}.adult-header h1{margin-bottom:.35rem}.stack{display:grid;gap:1rem}.data-card .stat{font-family:var(--display);font-size:clamp(1.65rem,5vw,3rem);line-height:1;font-weight:800;margin:.45rem 0 .3rem;letter-spacing:-.04em}.data-card .muted{font-size:.88rem}.notice{padding:.8rem 1rem;border-radius:.65rem;background:var(--teal-bg);color:#174b41;border:1px solid #abcdbd}.notice.warn{background:#fff2d5;color:#674311;border-color:#e6c883}.notice.error{background:#fbeae3;color:#762d23;border-color:#e6b8a8}.pill{display:inline-block;vertical-align:middle;padding:.22rem .56rem;border-radius:2rem;background:var(--teal-bg);color:#175346;font-size:.78rem;font-weight:800}.pill.planned{background:#eeeee8;color:#48575c}.pill.warn{background:#fff0c8;color:#694709}.pill.alert{background:#f9e3df;color:#8a3527}.pill.progressing{background:var(--blue-bg);color:var(--blue)}.chart-frame{margin:.5rem 0 0;min-height:205px}.chart-frame svg{display:block;width:100%;height:auto;overflow:visible}.chart-note{display:flex;flex-wrap:wrap;gap:.25rem .9rem;color:var(--muted);font-size:.8rem;margin-top:.45rem}.legend-dot{display:inline-block;width:.66rem;height:.66rem;border-radius:50%;margin-right:.27rem}.barlist{display:grid;gap:.6rem;margin-top:.7rem}.bar-label{display:flex;justify-content:space-between;gap:.45rem;font-size:.9rem}.bar-rail{background:#e7ede5;border-radius:8px;height:9px;overflow:hidden;margin-top:.18rem}.bar-rail span{display:block;background:var(--teal);height:100%;border-radius:8px}.bar-rail span.weak{background:#a45821}.week-bar{display:flex;align-items:center;gap:.55rem;font-size:.9rem}.week-bar>span{width:4.8rem;flex:none}.week-bar>div{display:flex;gap:2px;flex:1;height:14px}.week-bar i{border-radius:2px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);white-space:nowrap}td button{font-size:.88rem}.history-notes{min-width:12ch;overflow-wrap:anywhere}.filter-bar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:flex-end;margin-bottom:.8rem}.filter-bar label{min-width:10rem;flex:1}.filter-bar .search{flex:2}.week-group{border:1px solid var(--line);border-radius:.8rem;background:var(--surface);overflow:hidden}.week-group summary{cursor:pointer;min-height:54px;padding:.78rem .95rem;font-weight:750}.week-group[open] summary{border-bottom:1px solid var(--line);background:#f3f5ee}.library-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.65rem .9rem;border-bottom:1px solid var(--line)}.library-row:last-child{border-bottom:0}.library-row p{margin:0}.library-row .actions{justify-content:flex-end}.resource-list{display:flex;flex-wrap:wrap;gap:.45rem}.field{display:grid;gap:.23rem;font-size:.94rem;font-weight:720}.field input,.field select,.field textarea,.field-control{width:100%;min-height:48px;border:1px solid #aabbb7;border-radius:.55rem;background:var(--surface);color:var(--ink);padding:.55rem .65rem}.field textarea{min-height:92px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.wide{grid-column:1/-1}.checkline{min-height:48px;border:1px solid var(--line);border-radius:.55rem;padding:.45rem .6rem;background:#fafbf5;cursor:pointer}.checkline input{width:1.25rem;height:1.25rem;accent-color:var(--teal);flex:none}.checklist{display:grid;gap:.33rem;margin:.55rem 0}.score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.65rem 0}.score-grid button{padding:.45rem .3rem}.score-card{scroll-margin-top:1rem}.score-card p{margin-bottom:.55rem}.score-card details{margin-top:.55rem}.score-card summary{min-height:48px;cursor:pointer;padding:.55rem 0}.divider{border-top:1px solid var(--line);padding-top:.85rem;margin-top:.85rem}.toast{position:fixed;bottom:.8rem;left:50%;translate:-50% 0;max-width:min(92vw,32rem);width:max-content;z-index:8;background:var(--ink);color:white;border-radius:.6rem;padding:.65rem .9rem;box-shadow:var(--shadow)}.toast:empty{display:none}dialog{max-height:90dvh;max-width:min(92vw,660px);width:100%;padding:1.15rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);color:var(--ink);box-shadow:0 15px 60px #16253355}dialog::backdrop{background:#152431a6}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.dialog-head h2{margin:0}.dialog-head button{padding:.2rem}.error-text{color:var(--rust);font-size:.95rem;min-height:1.35rem;margin:.35rem 0}.nowrap{white-space:nowrap}.summary-list{padding-left:1.25rem}.summary-list li{margin:.3rem 0}.no-margin{margin:0}.hidden{display:none!important}
@media(max-width:740px){.hero{grid-template-columns:1fr;min-height:unset}.hero-art{display:none}.hero-copy{padding:1.4rem 1.2rem}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.intro-grid{gap:.5rem}.tile{padding:.65rem}.tile h2{font-size:1rem}.tile p{font-size:.84rem}.tile-icon{width:30px;height:30px}.profile-name{display:none}.library-row{grid-template-columns:1fr}.library-row .actions{justify-content:flex-start}.chart-frame{min-height:unset}}
@media(max-width:380px){.mast-inner{padding:.35rem .45rem}.brand{font-size:1.04rem}.mark{width:27px;height:23px}.top-actions button{padding:.35rem .5rem}.step{font-size:.69rem}.form-grid{grid-template-columns:1fr}.read-tools button{font-size:.82rem}.tile p{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:0s!important}}
@media print{body{background:white;color:black}.masthead,.adult-nav,.no-print,.toast,.skip{display:none!important}.shell{padding:0}.card{box-shadow:none;border:0;padding:0}.print-only{display:block}h1{font-size:28pt}.weekly{max-width:none}.weekly td,.weekly th{padding:5px}.weekly tr{break-inside:avoid}}

/* Adult workspace */
.adult-shell {
  --workspace-line: #d6e1dc;
  --workspace-paper: #f1f5f1;
  --workspace-teal: #174d44;
  max-width: 1360px;
  padding-top: 1.25rem;
  font-size: .875rem;
  line-height: 1.48;
  scrollbar-color: #9fbab0 transparent;
  accent-color: var(--teal);
}
.adult-shell ::selection, .reading-report ::selection { background: #bce4d4; color: #163d35; }
.adult-layout { display: grid; grid-template-columns: 10.75rem minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.adult-sidebar { position: sticky; top: 1rem; }
.adult-nav {
  display: grid;
  gap: .1875rem;
  background: #eaf0e9;
  border: 1px solid #d4e0d6;
  border-radius: .75rem;
  padding: .5rem;
  margin: 0;
}
.adult-nav button { min-height: 44px; justify-content: flex-start; text-align: left; padding: .5rem .625rem; border: 1px solid transparent; background: transparent; font-weight: 600; color: #28463e; }
.adult-nav button:hover { background: #dae8de; }
.adult-nav button[aria-current=page] { color: #fff; background: var(--workspace-teal); border-color: var(--workspace-teal); }
.adult-nav button.history-shortcut { margin-top: .375rem; border-top-color: #c9d8ce; border-radius: .1875rem .1875rem .5rem .5rem; }
.adult-content { min-width: 0; }
.adult-content > .narrow { width: 100%; }
.adult-content .section-title, .reading-report .section-title { font-family: var(--sans); font-size: 1.75rem; letter-spacing: -.025em; }
.adult-content h2, .reading-report h2 { font-family: var(--sans); font-size: 1.0625rem; letter-spacing: -.015em; }
.adult-content h3, .reading-report h3 { font-family: var(--sans); font-size: .9375rem; }
.adult-content .card { padding: .875rem 1rem; box-shadow: none; border-color: var(--workspace-line); }
.adult-content .stack, .adult-dashboard.stack { gap: .875rem; }
.adult-dashboard .adult-header { margin: 0; align-items: center; }
.adult-content button, .adult-content .button { min-height: 44px; }
.adult-dashboard .chart-frame { min-height: 0; }
.adult-dashboard .chart-frame svg { max-height: 15rem; }
.adult-dashboard .bar-label, .adult-dashboard .small-text { font-size: .8125rem; }
.adult-dashboard .bar-label { align-items: center; }
.adult-dashboard .bar-rail { height: 7px; }
.dashboard-section-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .25rem; }
.dashboard-section-head h2 { margin: 0; }
.progress-band { padding: .875rem 1rem; background: var(--workspace-paper); border: 1px solid var(--workspace-line); border-radius: .75rem; }
.progress-band.imported-band { background: #edf3f8; border-color: #d6e3ed; }
.progress-band h2 { color: #253b38; margin-bottom: .625rem; }
.metric-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; gap: .5rem 0; }
.metric-strip > div { min-width: 0; padding: .125rem .75rem; border-inline-start: 1px solid #d1ded7; }
.metric-strip > div:first-child { border-inline-start: 0; padding-inline-start: 0; }
.metric-strip dt { color: #465f58; font-size: .75rem; line-height: 1.3; }
.metric-strip dd { margin: .25rem 0 0; color: #172e2a; font-size: 1.125rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.25; }
.heat { display: inline-flex; align-items: center; justify-content: center; min-width: 2.6rem; padding: .2rem .45rem; border-radius: .3rem; font-size: .75rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.3; white-space: nowrap; }
.heat-low { color: #7d2c25; background: #f7e0db; }
.heat-mid { color: #694211; background: #f7e8bd; }
.heat-high { color: #14523d; background: #d8ecdd; }
.heat-none { color: #445953; background: #e7ece8; font-weight: 600; }
.clarity-1 { color: #36566a; background: #ecf2f5; }
.clarity-2 { color: #244e65; background: #daeaf3; }
.clarity-3 { color: #174761; background: #c2deec; }
.clarity-4 { color: #123a52; background: #a9d2e6; }
.history-panel { border: 1px solid var(--workspace-line); border-radius: .75rem; background: var(--surface); }
.history-heading, .history-row { cursor: pointer; list-style: none; position: relative; padding-inline-end: 2.25rem; }
.history-heading::-webkit-details-marker, .history-row::-webkit-details-marker { display: none; }
.history-heading::after, .history-row::after { content: ''; position: absolute; inset-inline-end: 1.05rem; top: 50%; width: .45rem; height: .45rem; border: solid #42685d; border-width: 0 2px 2px 0; transform: translateY(-65%) rotate(45deg); }
.history-panel[open] > .history-heading::after, .history-entry[open] > .history-row::after { transform: translateY(-30%) rotate(225deg); }
.history-heading { display: flex; align-items: center; min-height: 56px; padding-block: .625rem; padding-inline-start: 1rem; border-radius: .75rem; background: #e7efe8; scroll-margin-top: 1rem; }
.history-panel[open] > .history-heading { border-radius: .75rem .75rem 0 0; }
.history-heading strong { font-size: 1.0625rem; }
.history-meta { color: #36574e; font-size: .75rem; margin-inline-start: .75rem; }
.history-heading:hover, .history-row:hover { background: #eef4ee; }
.history-legend { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; font-size: .75rem; padding: .625rem 1rem; }
.history-legend .heat { min-width: 0; }
.clarity-legend { margin-inline-start: .5rem; }
.history-columns, .history-row { display: grid; grid-template-columns: minmax(0, 1fr) 5.5rem 4rem 4.75rem; gap: .5rem; align-items: center; padding-inline-start: 1rem; padding-inline-end: 2.25rem; }
.history-columns { min-height: 1.875rem; border-top: 1px solid var(--workspace-line); color: #496159; font-size: .75rem; background: #f4f7f3; }
.history-entry { border-top: 1px solid #e1e8e2; }
.history-row { min-height: 52px; padding-block: .375rem; }
.history-name { min-width: 0; overflow-wrap: anywhere; }
.history-name > span { display: block; color: #4e665e; font-size: .75rem; }
.history-duration { color: #486058; font-variant-numeric: tabular-nums; }
.history-score > small, .history-clarity > small { display: none; }
.history-body { display: grid; gap: .625rem; padding: .625rem 1rem .875rem; background: #f4f7f2; }
.history-body > button { justify-self: start; }
.history-body p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.history-facts { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem .75rem; font-size: .8125rem; }
.history-footer, .history-empty { padding: .625rem 1rem; margin: 0; }
.history-footer { border-top: 1px solid var(--workspace-line); }

/* Reading progress report */
.report-toolbar { display: flex; align-items: end; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.report-toolbar .field { min-width: 9rem; }
.reading-report { color: #1b302b; background: var(--surface); border: 1px solid #d4e0d6; border-radius: .75rem; padding: 1.25rem; font-size: .875rem; }
.report-export { max-width: 1040px; }
.report-header { padding-block-end: .625rem; border-bottom: 1px solid #b8d0c2; }
.report-header p { margin-bottom: .25rem; }
.reading-report section { margin-top: 1rem; }
.reading-report section section { margin-top: 0; }
.reading-report .metric-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem 0; }
.reading-report .metric-strip > div:nth-child(3n + 1) { border-inline-start: 0; padding-inline-start: 0; }
.reading-report table { font-size: .8125rem; }
.reading-report th, .reading-report td { text-align: left; }
.reading-report tbody th { color: #263e35; }
.reading-report .table-wrap { max-width: 100%; overflow-x: auto; }
.report-skill-list > div { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .25rem 0; border-bottom: 1px solid #e1e8e2; }
.report-skill-list small { color: #4c6058; }
.report-notes { padding-inline-start: 1.2rem; }
.report-notes > li + li { margin-top: .5rem; }
.report-notes p { margin: .125rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.report-method { padding: .75rem .875rem; background: #f0f5ef; border-radius: .5rem; }
.report-method dl { margin: 0; }
.report-method dl > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .5rem; padding-block: .2rem; }
.report-method dt { font-weight: 700; }
.report-method dd { margin: 0; color: #405d52; }

@media (max-width: 820px) {
  .adult-layout { display: block; }
  .adult-sidebar { position: static; margin-bottom: .875rem; }
  .adult-nav { display: flex; flex-wrap: wrap; }
  .adult-nav button { flex: 1 0 auto; justify-content: center; text-align: center; }
  .adult-nav button.history-shortcut { margin: 0; border-top-color: transparent; border-radius: .5rem; }
}
@media (max-width: 560px) {
  .adult-shell { padding-top: .75rem; }
  .adult-nav button { min-height: 44px; font-size: .8125rem; }
  .adult-dashboard .adult-header { align-items: flex-start; }
  .adult-dashboard .adult-header .actions { justify-content: flex-start; }
  .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-strip > div:nth-child(odd) { border-inline-start: 0; padding-inline-start: 0; }
  .history-meta { display: block; margin-inline-start: 0; }
  .history-columns, .history-duration { display: none; }
  .history-row { grid-template-columns: minmax(0, 1fr) auto auto; }
  .history-score > small, .history-clarity > small { display: block; color: #4e665e; font-size: .6875rem; }
  .reading-report { padding: .875rem; }
  .reading-report .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reading-report .metric-strip > div:nth-child(3n + 1):not(:nth-child(odd)) { border-inline-start: 1px solid #d1ded7; padding-inline-start: .75rem; }
  .report-method dl > div { display: block; }
}
@media print {
  .adult-layout { display: block; }
  .adult-shell, .report-export { max-width: none; padding: 0; }
  .reading-report { border: 0; padding: 0; background: #fff; color: #162533; font-size: 10pt; line-height: 1.34; }
  .reading-report .section-title { font-size: 20pt; margin-bottom: .3rem; }
  .reading-report .report-header { padding-bottom: .4rem; }
  .reading-report section { margin-top: .65rem; }
  .reading-report h2 { font-size: 11pt; margin-bottom: .35rem; }
  .reading-report h3 { font-size: 10pt; margin-bottom: .3rem; }
  .reading-report .metric-strip { row-gap: .45rem; }
  .reading-report .metric-strip dd { margin-top: .125rem; font-size: 12pt; }
  .reading-report th, .reading-report td { padding: .35rem .45rem; }
  .reading-report h2, .reading-report h3 { break-after: avoid; }
  .reading-report .table-wrap { overflow: visible; }
  .reading-report table { width: 100%; font-size: 9pt; }
  .reading-report tr, .report-notes li, .metric-strip { break-inside: avoid; }
  .reading-report thead { display: table-header-group; }
  .reading-report .heat, .report-method { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

.session-bar { flex-wrap: wrap; }
.export-preview { max-width: 48rem; margin-inline: auto; }
.export-controls { margin-bottom: 1.25rem; }
@media print {
  .export-preview { max-width: none; }
}

.mobile-adult-controls { display: none; }
@media (max-width: 820px) {
  .mobile-adult-controls { display: flex; justify-content: space-between; gap: .5rem; }
  .mobile-adult-controls button { min-height: 44px; }
  .adult-nav { display: none; margin-top: .5rem; }
  .adult-nav.mobile-open { display: flex; }
  .adult-nav button.history-shortcut { display: none; }
}

dialog button.danger { color: #fff; background: #8e3328; }
dialog button.danger:hover { background: #76291f; }
