.prog-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);align-items:center;margin-bottom:var(--s10)}@media (min-width:1024px){.prog-hero{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s12)}}.prog-hero__text{display:grid;gap:var(--s3);min-width:0}.prog-hero__title{margin:0}.prog-hero__lead{margin:0;max-width:62ch;font-size:var(--fs-body);font-weight:600;line-height:1.6;color:var(--text-2)}.prog-hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s3)}.prog-hero__now{font:800 var(--fs-small)/1.3 var(--font-body);color:var(--text-3)}.prog-hero__art{position:relative;isolation:isolate;display:grid;place-items:center;min-height:280px}.prog-hero__art:before{content:"";position:absolute;z-index:-1;width:min(100%,320px);aspect-ratio:1;border-radius:50%;background:var(--pedestal)}.prog-hero__st1{position:absolute;top:8%;left:4%}.prog-hero__st2{position:absolute;right:2%;bottom:14%}@media (max-width:1023px){.prog-hero__art{min-height:200px}}@media (max-width:767px){.prog-hero{margin-bottom:var(--s8)}.prog-hero__art{order:-1;min-height:190px}.prog-hero__st1{left:0;top:4%}.prog-hero__st2{right:0;bottom:6%}.prog-hero__cta .ui-btn{flex:1 1 100%}}.prog-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3) var(--s4);margin-bottom:var(--s8)}.prog-filters__count{font:700 var(--fs-small)/1.3 var(--font-body);color:var(--text-3)}.prog-filters__count b{font-weight:900;color:var(--text)}.prog-group{margin-top:var(--section-gap);scroll-margin-top:calc(var(--topbar-h) + var(--s6))}.prog-group:first-of-type{margin-top:0}.prog-group__head{display:flex;align-items:baseline;gap:var(--s2) var(--s4);flex-wrap:wrap;margin-bottom:var(--s5)}.prog-group__count{padding:4px var(--s3);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--ring);font:800 var(--fs-caption)/1.2 var(--font-body);color:var(--text-2)}.prog-group__note{margin:0;flex:1 1 240px;font-size:var(--fs-small);font-weight:600;color:var(--text-3)}.prog-covers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--s6);margin:0;padding:0;list-style:none}.prog-covers>li{display:flex;min-width:0}.prog-covers>li>.ui-cover{flex:1}.home .prog-covers{grid-template-columns:repeat(auto-fill,minmax(min(100%,248px),1fr))}.prog-cond-link{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px;position:relative;z-index:6}.theme-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6) var(--s10);align-items:center;margin-bottom:var(--s8)}@media (min-width:1024px){.theme-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.theme-hero__main{display:grid;gap:var(--s3);min-width:0}.theme-hero__back{justify-self:start;display:inline-flex;align-items:center;min-height:var(--row);color:var(--text-3);font:800 var(--fs-small)/1 var(--font-body);text-decoration:none}.theme-hero__back:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.theme-hero__chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.theme-hero__title{overflow-wrap:anywhere}.theme-hero__lead{margin:0;max-width:var(--measure);font-size:var(--fs-body);font-weight:600;line-height:1.6;color:var(--text-2)}.theme-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4) var(--s6);margin-top:var(--s2)}.theme-hero__progress{display:flex;align-items:center;gap:var(--s3);flex:1 1 220px;max-width:360px;font:900 var(--fs-caption)/1 var(--font-body)}.theme-hero__progress .ui-segs{flex:1}.theme-hero__deadline{display:inline-flex;align-items:center;gap:var(--s2);justify-self:start;margin:0;padding:6px var(--s3);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--ring);font:800 var(--fs-small)/1.3 var(--font-body);color:var(--text-2)}.theme-hero__deadline--warn{background:var(--warning-tint);color:var(--warning);box-shadow:inset 0 0 0 var(--bw) var(--warning)}.theme-hero__cover{position:relative;min-width:0}.theme-hero__cover .ui-coverart{transform:rotate(1deg)}@media (max-width:1023px){.theme-hero__cover{max-width:440px}}@media (max-width:767px){.theme-hero__cover .ui-coverart{transform:none}.theme-hero__actions .ui-btn{flex:1 1 100%}.theme-hero__progress{max-width:none}}.theme-map{margin-bottom:var(--s8)}.theme-map__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--s3) var(--s6)}.theme-map__says{align-self:flex-end}.theme-map .ui-lvl__map{margin-top:var(--s16)}@media (max-width:767px){.theme-map .ui-lvl__map{margin-top:var(--s12)}}.theme-split{margin-bottom:var(--s2)}@media (min-width:1024px){.theme-split{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}.theme-rail{display:grid;gap:var(--s5);min-width:0}.theme-rail__card{display:grid;gap:var(--s3)}.theme-practice{display:flex;gap:var(--s2);flex-wrap:wrap}.theme-cond__lead{margin:0;padding:var(--s3) var(--s5) 0;font-size:var(--fs-small);font-weight:600;line-height:1.55;color:var(--text-2)}.theme-cond__list{display:grid;gap:var(--s2);margin:0;padding:var(--s2) var(--s4) var(--s5);list-style:none}.theme-cond__row{display:grid;grid-template-columns:28px auto minmax(0,1fr) auto;gap:var(--s1) var(--s3);align-items:center;min-height:56px;padding:var(--s3) var(--s4);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--ring);font-size:var(--fs-ui);font-weight:700;line-height:1.4}.theme-cond__row:first-child[data-state=now]{background:var(--card);box-shadow:inset 0 0 0 var(--bw-strong) var(--accent),0 4px 0 var(--accent-edge)}.theme-cond__row[data-state=warn]{box-shadow:inset 0 0 0 var(--bw) var(--warning)}.theme-cond__mark{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-1);background:var(--raised);color:var(--text-3)}.theme-cond__row[data-state=done] .theme-cond__mark{background:var(--toast-golden);color:var(--toast-ink);box-shadow:inset 0 0 0 2px var(--toast-crust)}.theme-cond__row[data-state=now] .theme-cond__mark{background:var(--accent);color:var(--on-accent)}.theme-cond__row[data-state=warn] .theme-cond__mark{background:var(--warning-tint);color:var(--warning)}.theme-cond__row[data-state=locked] .theme-cond__title{color:var(--text-3)}.theme-cond__title{min-width:0}.theme-cond__title a{color:inherit;text-decoration:none}.theme-cond__title a:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.theme-cond__note{grid-column:3/-1;font-size:var(--fs-caption);font-weight:600;line-height:1.45;color:var(--text-3)}.theme-cond__note a{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.theme-cond__side{justify-self:end;font:800 var(--fs-caption)/1.3 var(--font-body);color:var(--text-2);white-space:nowrap}@media (max-width:767px){.theme-cond__list,.theme-cond__row{padding-inline:var(--s3)}.theme-cond__row{grid-template-columns:28px auto minmax(0,1fr)}.theme-cond__title{grid-column:1/-1}.theme-cond__side{grid-column:3;grid-row:1}.theme-cond__note{grid-column:1/-1}}.theme-optional{margin-top:var(--s4)}.theme-optional>summary{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:0 var(--s4);border:var(--bw) dashed var(--border-strong);border-radius:var(--r-3);font:800 var(--fs-ui)/1.3 var(--font-body);cursor:pointer;list-style:none}.theme-optional>summary::-webkit-details-marker{display:none}.theme-optional>summary:hover{background:var(--raised)}.theme-optional[open]>summary{margin-bottom:var(--s3)}.theme-optional__note{font-size:var(--fs-caption);font-weight:600;color:var(--text-3)}.theme-optional__chev{margin-left:auto;color:var(--text-3);transition:transform var(--dur) var(--ease)}.theme-optional[open] .theme-optional__chev{transform:rotate(180deg)}.theme-defense{scroll-margin-top:calc(var(--topbar-h) + var(--s6))}.theme-defense__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);align-items:start}@media (min-width:1024px){.theme-defense__card{padding-right:240px;min-height:300px}}.theme-defense__main{display:grid;gap:var(--s5);max-width:760px}.theme-defense__text{margin:0;font-size:var(--fs-ui);font-weight:600;line-height:1.6;color:var(--text-2)}.theme-defense__label{margin:0 0 var(--s2);font:800 var(--fs-key)/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--warm-text)}.theme-defense__checks{display:grid;gap:var(--s2);margin:0;padding:0;list-style:none;font-size:var(--fs-ui);font-weight:700}.theme-defense__checks li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:var(--s2);align-items:start}.theme-defense__checks li>svg{margin-top:3px;color:var(--text-3)}.theme-defense__checks li[data-ok]>svg{color:var(--success)}.theme-defense__booked{display:grid;gap:var(--s3);padding:var(--s4);background:var(--accent-tint);border-radius:var(--r-3);box-shadow:inset 0 0 0 var(--bw) var(--accent-edge)}.theme-defense__when{font:900 var(--fs-h3)/1.3 var(--font-display)}.theme-attempts{display:grid;gap:var(--s2);margin:0;padding:0;list-style:none}.theme-attempts li{display:grid;gap:var(--s2);padding:var(--s3) var(--s4);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--ring)}.theme-attempts__top{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.theme-attempts__date{font:500 var(--fs-caption)/1.3 var(--font-mono);color:var(--text-3)}.theme-attempts__note{margin:0;font-size:var(--fs-small);font-weight:600;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.theme-attempts__note b{font-weight:800;color:var(--text-3)}.theme-defense__hint{margin:var(--s2) 0 0;font-size:var(--fs-caption);font-weight:600;line-height:1.5;color:var(--text-3)}.theme-defense__pre{white-space:pre-wrap;overflow-wrap:anywhere}.theme-written{display:grid;gap:var(--s5);margin:0;padding:0;list-style:none}.theme-written__label{display:inline;font-weight:800;line-height:1.5}.theme-written__n{font-family:var(--font-mono);color:var(--text-3)}.theme-written__q{margin:0 0 var(--s2);font-weight:800;line-height:1.5}.theme-defense__answers summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center}.theme-defense__answers[open] summary{margin-bottom:var(--s3)}.theme-readiness{display:grid;gap:var(--s2);margin:0;padding:0;list-style:none;font-size:var(--fs-ui);font-weight:700}.theme-readiness li{display:grid;gap:var(--s1);padding:var(--s3) var(--s4);border-radius:var(--r-3);background:var(--surface);box-shadow:var(--ring)}.theme-readiness__note{margin:0;font-size:var(--fs-small);font-weight:600;color:var(--text-2)}.slot-days{display:grid;gap:var(--s5)}.slot-day__title{margin:0 0 var(--s2);font:800 var(--fs-key)/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--s2);margin:0;padding:0;list-style:none}.slot-btn{display:grid;gap:2px;width:100%;min-height:56px;padding:var(--s2) var(--s3);border:var(--bw) solid var(--border-strong);border-radius:var(--r-3);background:var(--card);box-shadow:0 4px 0 var(--edge);color:var(--text);text-align:left;cursor:pointer;transition:transform var(--dur-press) var(--ease),background-color var(--dur) var(--ease)}.slot-btn:hover{background:var(--raised)}.slot-btn:active{transform:translateY(4px);box-shadow:var(--shadow-press)}.slot-btn[aria-pressed=true]{border-color:var(--accent);box-shadow:0 4px 0 var(--accent-edge)}.slot-btn:disabled{color:var(--text-3);cursor:not-allowed}.slot-btn b{font:600 var(--fs-ui)/1.2 var(--font-mono)}.slot-btn span{font-size:var(--fs-key);font-weight:700;color:var(--text-3)}@media (prefers-reduced-motion:reduce){.slot-btn:active{transform:none}}@media (max-width:767px){.theme-cond__note a,.theme-cond__title a{display:inline-flex;align-items:center;min-height:var(--row)}}.prog-placement__how{display:grid;gap:var(--s5);align-items:center}@media (min-width:900px){.prog-placement__how{grid-template-columns:minmax(0,1fr) auto}}.prog-placement__aside{display:inline-flex;align-items:center;gap:var(--s3);flex-wrap:wrap;justify-content:flex-end}.prog-placement{margin-block:var(--s6)}