.progress{gap:var(--s5);width:min(100%,1160px);padding:var(--s5) var(--gutter) var(--s7);margin:0 auto;display:grid}.progress:focus{outline:none}.progress-head{justify-content:space-between;align-items:flex-end;gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.progress-head>div{gap:var(--s1);display:grid}.progress-title{letter-spacing:-.01em;font-size:24px}.save-state{align-items:center;gap:var(--s2);color:var(--ink-2);flex-wrap:wrap;font-size:13px;display:flex}.save-glyph{border:1.5px solid;border-radius:50%;width:10px;height:10px}.save-state[data-state=saved] .save-glyph{background:var(--accent);border-color:var(--accent)}.save-state[data-state=loading] .save-glyph{border-style:dashed;animation:1.6s linear infinite save-spin}.save-state[data-state=offline],.save-state[data-state=error]{padding:2px var(--s2);border-radius:var(--radius);background:var(--warn-wash);color:var(--warn-ink)}.save-state[data-state=offline] .save-glyph,.save-state[data-state=error] .save-glyph{border-radius:1px;transform:rotate(45deg)}.save-retry{min-height:32px;padding:0 var(--s3);font-size:13px}@keyframes save-spin{to{transform:rotate(360deg)}}.save-state[data-state=offline] #save-text,.save-state[data-state=error] #save-text{flex:14em}.dash{gap:var(--s6);display:grid}.dash-top{gap:var(--s5);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.dash-panel{min-width:0}.dash-heading{font-size:17px}.item-head{justify-content:space-between;align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.item-name{gap:var(--s2);align-items:baseline;min-width:0;display:inline-flex}.item-id{min-width:2.6em;color:var(--ink-2);flex:none;font-size:13px}.item-title{overflow-wrap:anywhere;font-weight:500}.stage-badge{border:1px solid var(--rule-strong);color:var(--ink-2);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:1px 8px;font-size:12px;font-weight:500;display:inline-flex}.stage-glyph{border:1.5px solid;border-radius:50%;width:8px;height:8px;display:inline-block}.stage-unattempted{color:var(--ink-3);border-style:dashed}.stage-unattempted .stage-glyph{border-style:dotted}.stage-introduced .stage-glyph{background:linear-gradient(90deg,currentColor 50%,#0000 50%)}.stage-practised{border-color:var(--pilot-edge);background:var(--pilot-wash);color:var(--pilot-ink)}.stage-practised .stage-glyph{background:linear-gradient(#0000 35%,currentColor 35%)}.stage-demonstrated{border-color:var(--accent);background:var(--station-wash);color:var(--accent);font-weight:600}.stage-demonstrated .stage-glyph{background:currentColor}.coverage-lead{color:var(--ink-2);font-size:15px}.coverage-num{color:var(--ink);margin-right:2px;font-size:32px;font-weight:600;line-height:1}.meter{gap:2px;height:10px;display:flex}.meter>span{border-radius:2px;flex-basis:0;min-width:4px}.meter-demonstrated,.swatch-demonstrated{background:var(--accent)}.meter-practised,.swatch-practised{background:#5d93c9}.meter-introduced,.swatch-introduced{background:var(--pilot-edge)}.meter-rest,.swatch-unattempted{background:var(--rule)}.stage-counts{gap:2px;font-size:14px;display:grid}.stage-count{align-items:center;gap:var(--s2);display:flex}.swatch{border-radius:2px;flex:none;width:10px;height:10px}.swatch-unattempted{border:1px dashed var(--ink-3);background:0 0}.stage-count-label{flex:1}.stage-count-num{color:var(--ink-2);font-size:13px}.estimate-note{gap:var(--s1);padding:var(--s2) var(--s3);border-left:3px solid var(--warn-ink);background:var(--paper-raised);color:var(--ink-2);font-size:13px;display:grid}.estimate-note strong{color:var(--ink)}.rules-version{font-size:12px}.how summary{cursor:pointer;color:var(--ink);text-underline-offset:2px;text-decoration:underline}.how p{margin-top:var(--s1)}.next-list,.revisit-list{gap:var(--s3);display:grid}.next-item,.revisit-item{gap:var(--s1);padding:var(--s3);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);justify-items:start;display:grid}.next-item .item-head,.revisit-item .item-head{width:100%}.next-why{color:var(--ink-2);font-size:14px}.next-go{min-height:36px;margin-top:var(--s1);padding:6px var(--s3);align-items:center;font-size:13px;line-height:1.3;text-decoration:none;display:inline-flex}.revisit-item{border-left:3px solid var(--warn-ink)}.revisit-score{color:var(--warn-ink);white-space:nowrap;font-size:13px}.error-list{gap:2px;width:100%;font-size:14px;display:grid}.error-list li{justify-content:space-between;gap:var(--s3);display:flex}.error-list li:before{content:"–";color:var(--ink-3)}.error-list li span:first-of-type{flex:1}.error-count{color:var(--ink-3);white-space:nowrap;font-size:12px}.tag-weak{border-color:var(--warn-ink);color:var(--warn-ink);background:var(--warn-wash)}.section-block{border-top:1px solid var(--rule)}.section-summary{justify-content:space-between;align-items:baseline;gap:var(--s1) var(--s4);padding:var(--s3) 0;cursor:pointer;flex-wrap:wrap;list-style:none;display:flex}.section-summary::-webkit-details-marker{display:none}.section-title{align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;font-size:16px;display:flex}.section-title:before{content:"▸";color:var(--ink-3);align-self:center;font-size:12px}.section-block[open] .section-title:before{content:"▾"}.section-num{letter-spacing:.04em;color:var(--ink-3);font-size:12px;font-weight:500}.section-counts{color:var(--ink-2);font-size:13px}.item-list{margin-bottom:var(--s4);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);display:grid}.item{gap:var(--s1) var(--s4);padding:var(--s3);border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.item:first-child{border-top:0}.item .item-head{grid-column:1/-1}.item-note{color:var(--ink-2);font-size:13px}.item-note-gap,.item-note-later{color:var(--ink-3);font-style:italic}.item-unattempted{background:var(--paper)}.item-unattempted .item-title,.item-unattempted .item-id{color:var(--ink-3);font-weight:400}.item-demonstrated{box-shadow:inset 3px 0 0 var(--accent)}.item-practised{box-shadow:inset 3px 0 0 var(--pilot-edge)}.item-stats{gap:var(--s1) var(--s4);flex-wrap:wrap;grid-column:1/-1;display:flex}.stat{display:grid}.stat dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.stat dd{font-size:14px}.item .fine{grid-column:1/-1}@media (max-width:1000px){.dash-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dash-top>:first-child{grid-column:1/-1}}@media (max-width:720px){.progress{padding:var(--s4) var(--s4) var(--s6)}.dash-top{grid-template-columns:minmax(0,1fr)}}@media (forced-colors:active){.meter>span,.swatch{border:1px solid canvastext}.stage-badge{border-color:canvastext}}
