/* Source: styles.css */
:root{--page:#eeeae2;--surface:#fffdf7;--soft:#edf0e8;--ink:#203a36;--muted:#5b6f69;--line:#b9c6bd;--action:#21594f;--focus:#126ddd;--danger:#7f322c;--good:#2d664e;--max:1180px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--page)}*{box-sizing:border-box}body{margin:0;background:var(--page);font-size:17px;line-height:1.55}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;color:#111;padding:.75rem 1rem;z-index:20}.skip:focus{top:1rem}button,a,input{font:inherit}button,.button{border:1px solid var(--action);border-radius:.75rem;min-height:48px;padding:.7rem 1rem;background:var(--action);color:#fff;font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}button:hover,.button:hover{filter:brightness(.95)}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.text-button{border:0;background:transparent;color:var(--action);padding:.5rem;min-height:44px}.danger{border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.55;cursor:not-allowed}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#e2e7df;border-right:1px solid var(--line);padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.brand{font-size:1.35rem;font-weight:800}.prototype-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}nav{display:grid;gap:.35rem}nav a{min-height:46px;padding:.6rem .75rem;border-radius:.65rem;color:var(--ink);text-decoration:none}nav a[aria-current=page]{background:var(--surface);font-weight:700}.save-note{margin-top:auto;font-size:.82rem;color:var(--muted)}main{width:min(100%,var(--max));padding:2rem clamp(1rem,4vw,3.5rem);margin:0 auto}.eyebrow{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;margin:.25rem 0 1rem}h2{font-size:1.35rem;margin:0 0 .5rem}p{max-width:65ch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:clamp(1rem,3vw,1.6rem)}.hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:1rem;margin-bottom:1.25rem}.hero-art{background:var(--soft);min-height:210px;display:grid;place-items:center;text-align:center;padding:1rem;border-radius:.9rem;border:1px dashed #8b9c92;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.path{display:grid;gap:.75rem;margin-top:1rem}.lesson-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:1rem}.node{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);font-weight:800}.lesson-meta{font-size:.88rem;color:var(--muted)}.locked{opacity:.78}.notice{padding:.85rem 1rem;border-left:4px solid var(--action);background:var(--soft);margin:1rem 0}.activity{max-width:740px;margin:0 auto}.activity-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.progress{height:8px;border-radius:99px;background:#dce3dc;overflow:hidden}.progress>span{display:block;height:100%;background:var(--action)}.teach-card{margin-top:1.25rem}.teach-card ul{padding-left:1.3rem}.choices{border:0;padding:0;margin:1.25rem 0;display:grid;gap:.65rem}.choice{display:flex;gap:.75rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:.8rem;padding:.85rem;cursor:pointer}.choice:has(input:checked){border:2px solid var(--action);background:var(--soft);padding:calc(.85rem - 1px)}.choice input{margin-top:.3rem}.feedback{margin-top:1rem;border-left:5px solid var(--good);background:var(--soft);padding:1rem;border-radius:.4rem}.feedback.wrong{border-color:#9a6218}.feedback h2{font-size:1.1rem}.summary-list{display:grid;gap:.75rem;margin:1rem 0}.stat{background:var(--soft);padding:1rem;border-radius:.75rem}.flashcard{min-height:250px;display:grid;align-content:center;text-align:center}.flashcard .term{font-size:2rem;font-weight:800}.flashcard .definition{font-size:1.2rem}.search{display:flex;gap:.6rem}.search input{flex:1;min-height:48px;border:1px solid var(--line);border-radius:.7rem;padding:.7rem}.guide-list{display:grid;gap:.75rem;margin-top:1rem}.guide-list dt{font-weight:800}.guide-list dd{margin:0;color:var(--muted)}.bottom-nav{display:none}.modal-backdrop{position:fixed;inset:0;background:rgba(20,35,31,.48);display:grid;place-items:center;padding:1rem;z-index:10}.modal{width:min(100%,480px);background:var(--surface);padding:1.5rem;border-radius:1rem;border:1px solid var(--line)}.status{font-size:.85rem;color:var(--muted)}@media(max-width:800px){body{padding-bottom:74px}.shell{display:block}.sidebar{display:none}main{padding:1.25rem 1rem}.hero{grid-template-columns:1fr}.hero-art{min-height:130px}.lesson-card{grid-template-columns:40px 1fr}.lesson-card .button{grid-column:1/-1}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--line);z-index:5;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{min-height:62px;display:grid;place-items:center;color:var(--ink);text-decoration:none;font-size:.85rem}.bottom-nav a[aria-current=page]{font-weight:800;background:var(--soft)}.activity-head{align-items:flex-start}.actions>*{flex:1 1 180px}}@media(prefers-reduced-motion:no-preference){button,.choice{transition:filter .15s,border-color .15s,background .15s}}


/* Source: prototype.css */
.prototype-strip{font-size:.78rem;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.65rem;margin-bottom:1.5rem}.route-diagram{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1.5rem}.route-diagram span{padding:.75rem;background:var(--soft);border:1px solid var(--line);border-radius:.6rem;font-weight:650;font-size:.85rem}.modal::backdrop{background:rgba(20,35,31,.5)}dialog.modal{color:var(--ink);margin:auto;max-height:calc(100dvh - 2rem);overflow:auto}.prototype-strip+.notice p{margin-top:0}.notice .actions{margin-top:.5rem}.panel[hidden]{display:none}.choices legend{padding:0;margin-bottom:.75rem}.choice input{min-width:18px;min-height:18px}.choice:focus-within{outline:3px solid var(--focus);outline-offset:3px}.flashcard button{max-width:100%}.flashcard>button{justify-self:center}.guide-list dd{color:var(--ink)}.save-note{color:#405951}.status,.lesson-meta{color:#405951}html[data-reduce-motion=true] *,html[data-reduce-motion=true] *::before,html[data-reduce-motion=true] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}main:focus,#feedback:focus,#card-answer:focus{outline:none}#feedback:focus-visible,#card-answer:focus-visible{outline:3px solid var(--focus);outline-offset:4px}@media(max-width:800px){body:has(.activity),body:has(main>.panel){padding-bottom:0}.activity-head{flex-wrap:wrap}.activity h1{font-size:clamp(1.65rem,6vw,2.5rem)}.route-diagram{align-items:stretch;flex-direction:column}.route-diagram b{transform:rotate(90deg);align-self:center}.hero-art{font-size:1rem}.panel{overflow-wrap:anywhere}.actions button,.actions .button{min-width:0}.modal .actions>*{flex-basis:120px}}
.lesson-card>button{white-space:normal}@media(max-width:800px){.lesson-card>button{grid-column:1/-1;width:100%}}
@media(max-width:800px){body:has(.shell .bottom-nav){padding-bottom:calc(74px + env(safe-area-inset-bottom))}body:not(:has(.bottom-nav)){padding-bottom:0}.hero-art{min-height:90px}}


/* Source: theme.css */
/* Original fantasy academy theme. Component surfaces stay calm and readable. */
:root{--page:#091e24;--surface:#f7f1e3;--soft:#e9eddf;--ink:#172d32;--muted:#40585b;--line:#a2aea3;--action:#155d68;--focus:#1378a0;--danger:#87392e;--good:#22523c;--max:1280px;--shell-text:#f7f1e3;--shell-muted:#bed1ce;--gold:#d5b875;--cyan:#88e4e7;--shell-raised:#102d34}
body{background:radial-gradient(ellipse at 80% 0,rgba(40,100,102,.19),transparent 45%),var(--page);color:var(--shell-text);font-size:16px;line-height:1.6}
h1,h2,.brand,.term{font-family:Georgia,"Times New Roman",serif}h1{font-size:clamp(2rem,4.3vw,3.45rem);font-weight:500;line-height:1.12;letter-spacing:-.035em;margin:.35rem 0 1rem}h2{font-size:1.4rem;line-height:1.3;font-weight:600;letter-spacing:-.015em}h3{font-size:1rem}a{color:var(--cyan);text-underline-offset:4px}p{line-height:1.65}.eyebrow{color:var(--gold);font-size:.72rem;letter-spacing:.15em;font-weight:700}.status,.lesson-meta{color:var(--shell-muted)}
.shell{grid-template-columns:216px minmax(0,1fr)}.sidebar{background:#0b2229;border-right:1px solid #2e484c;position:sticky;top:0;height:100dvh;padding:1.8rem 1.1rem;gap:2.6rem}.brand{display:flex;align-items:center;gap:.65rem;color:var(--shell-text);font-size:1.55rem;font-weight:600;letter-spacing:-.04em}.brand-mark{width:37px;height:42px;color:var(--gold);display:grid;place-items:center}.brand-mark svg{width:100%;height:100%}.prototype-label{color:var(--shell-muted);font-size:.64rem;letter-spacing:.13em;margin-top:.4rem}.sidebar nav{gap:.5rem}.sidebar nav a{display:flex;gap:.8rem;align-items:center;color:var(--shell-muted);border:1px solid transparent;border-radius:10px;font-size:.92rem;padding:.75rem .85rem;min-height:48px}.sidebar nav a:hover{background:#14353d}.sidebar nav a[aria-current=page]{color:var(--cyan);background:#163a41;border-color:#35545b;font-weight:650}.nav-icon{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;flex-shrink:0}.nav-icon svg{width:100%;height:100%}.sidebar-footer{margin-top:auto;border-top:1px solid #2e484c;padding:1.2rem .3rem 0}.sidebar-footer .save-note{margin:0;color:var(--shell-muted)}.save-note{color:var(--shell-muted)}
main{max-width:var(--max);padding:1.6rem clamp(1.2rem,3.5vw,3.2rem) 3rem}.app-topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.75rem;color:var(--shell-muted);padding-bottom:1.1rem;margin-bottom:2rem;border-bottom:1px solid #2e484c}.app-topbar .status{font-size:.72rem;color:var(--shell-muted)}.prototype-strip{color:var(--shell-muted);border-color:#2e484c;font-size:.72rem}.page-heading{margin-bottom:1.7rem}.page-heading h1{margin-bottom:.65rem}.page-heading>p:not(.eyebrow){color:var(--shell-muted);font-size:.95rem;max-width:62ch}.journey-layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:1.5rem;align-items:start}.journey-aside{display:grid;gap:1rem}.panel{color:var(--ink);background:var(--surface);border:1px solid #c6c9b8;border-radius:18px;padding:1.6rem;box-shadow:0 8px 24px #00000012}.panel .status,.panel .lesson-meta,.panel .eyebrow,.teach-card .status,.feedback .status{color:var(--muted)}.panel a,.feedback a,.notice a{color:#155d68}.panel .eyebrow{color:#704510}.panel p:last-child{margin-bottom:0}
button,.button{background:var(--action);border:1px solid var(--action);color:#fff;min-height:48px;border-radius:10px;font-size:.91rem;font-weight:650;padding:.75rem 1.1rem;box-shadow:0 3px 0 #073b44;transition:transform .15s,background .15s,box-shadow .15s;line-height:1.4}.secondary{background:transparent;color:var(--ink);border:1px solid #718480;box-shadow:none}.text-button{box-shadow:none;background:transparent;color:var(--cyan);border:0;min-height:44px}.actions{gap:.7rem}button:hover,.button:hover{filter:none;transform:translateY(-1px)}button:active,.button:active{transform:translateY(1px);box-shadow:none}button:disabled{opacity:1;background:#d8ddd2;border-color:#7b8880;color:#40585b;box-shadow:none;transform:none}.danger{color:var(--danger);border-color:var(--danger)}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.choice:focus-within{outline:3px solid #1378a0;outline-offset:3px;box-shadow:0 0 0 6px #f7f1e3}.skip{background:var(--surface);color:var(--ink);border-radius:8px}
.adventure-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:310px;overflow:hidden;border:1px solid #3d6266;border-radius:20px;background:#15363b;position:relative;margin-bottom:1.5rem}.hero-copy{position:relative;z-index:1;padding:2rem 0 2rem 2rem;display:flex;flex-direction:column;justify-content:center}.hero-copy h2{font-size:clamp(1.8rem,2.6vw,2.4rem);font-weight:500;color:var(--shell-text);line-height:1.15;max-width:13ch}.hero-copy p{font-size:.9rem;color:var(--shell-muted);max-width:32ch}.hero-copy .eyebrow,.hero-badge{color:var(--gold)}.hero-copy button{background:var(--cyan);border-color:var(--cyan);color:#102d34;box-shadow:0 3px 0 #3c9fa5}.hero-copy .secondary{background:transparent;color:var(--shell-text);border-color:#8aa7a8;box-shadow:none}.hero-scene{min-width:0;position:relative;display:flex;align-items:stretch}.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:center;min-height:310px}.hero-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#15363b,transparent 45%);pointer-events:none}.hero-badge{display:inline-flex;align-self:flex-start;border:1px solid #597365;background:#183c3e;border-radius:6px;padding:.25rem .55rem;font-size:.67rem;font-weight:650;letter-spacing:.06em;margin-bottom:.9rem}
.unit-path{background:var(--surface);color:var(--ink);border:1px solid #c6c9b8;border-radius:18px;padding:1.5rem}.path-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start;border-bottom:1px solid #d6d7c8;padding-bottom:1.1rem;margin-bottom:.5rem}.path-heading h2{margin:0}.path-heading .eyebrow{color:#704510;margin:.15rem 0 .4rem}.path-heading p{margin:.4rem 0 0;color:var(--muted);font-size:.82rem}.trail-list{list-style:none;margin:0;padding:.25rem 0}.trail-step{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;column-gap:1rem;align-items:center;min-height:100px;padding:1rem 0}.trail-node{width:48px;height:48px;display:grid;place-items:center;border:1px solid #94a59a;border-radius:50%;color:#40585b;background:#e7eadd;position:relative;z-index:1;font-weight:700}.trail-node svg{width:21px;height:21px}.trail-connector{position:absolute;left:23px;top:61px;bottom:-12px;width:2px;background:#bac8b9}.trail-step:last-child .trail-connector{display:none}.trail-copy strong{font-size:.97rem}.trail-copy p,.trail-copy .lesson-meta{font-size:.79rem;color:var(--muted);margin:.25rem 0 0}.trail-step[data-state=current] .trail-node{background:#155d68;color:#fff;border:4px solid #bdd9cc;box-shadow:0 0 0 4px #e1e9d7}.trail-step[data-state=complete] .trail-node{background:#22523c;color:#fff;border-color:#22523c}.trail-step[data-state=planned] .trail-copy strong{color:#40585b}.trail-action{font-size:.8rem;min-height:44px;padding:.6rem .8rem}.trail-step[data-state=planned] .trail-action{background:#e9ebdf;color:#40585b;border-color:#b0b8a8;box-shadow:none}
.guide-card{position:relative;background:#14343b;border:1px solid #375961;border-radius:18px;padding:1.3rem;color:var(--shell-text)}.guide-card h2{font-size:1.3rem}.guide-card p{color:var(--shell-muted);font-size:.85rem}.guide-mascot{display:block;width:100px;height:112px;object-fit:contain;margin:-.1rem auto 1rem}.guide-card .secondary{color:var(--cyan);border-color:#64858a;width:100%}.chapter-card{border:1px solid #375961;background:#102d34;border-radius:16px;padding:1.2rem}.chapter-card h2{font-size:1.1rem}.chapter-card p{font-size:.8rem;color:var(--shell-muted)}.chapter-card .eyebrow{color:var(--gold)}.progress-ring{width:72px;height:72px;border:5px solid #2f5459;border-top-color:var(--cyan);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font-size:1.1rem;font-weight:700;margin-bottom:.9rem}.icon-stat{display:flex;align-items:center;gap:.6rem}.icon-stat svg{width:18px;height:18px;color:var(--gold)}
.activity{max-width:790px}.activity-head{margin-bottom:1.4rem}.activity-head .status{color:var(--shell-muted)}.progress{height:6px;background:#2b4b51}.progress>span{background:var(--cyan)}.activity>.eyebrow{color:var(--gold)}.activity .teach-card{background:var(--surface);color:var(--ink);border:1px solid #c6c9b8;border-radius:18px;padding:clamp(1.2rem,3vw,2.3rem);margin-top:1.5rem}.activity .teach-card h1{font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:500}.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:1rem;align-items:start}.lesson-art{width:90px;height:105px;object-fit:contain}.notice{background:#e9eddf;color:var(--ink);border-color:#155d68;border-radius:0 10px 10px 0;font-size:.92rem;padding:1rem 1.1rem}.notice .status{color:var(--muted)}.choices{margin:1.4rem 0}.choices legend{color:var(--muted);font-size:.68rem}.choice{background:#fffcf4;border:1px solid #87988f;border-radius:10px;padding:1rem;min-height:56px;font-size:.94rem}.choice:has(input:checked){background:#e2eee5;border-color:#155d68;padding:calc(1rem - 1px)}.choice input{accent-color:#155d68;flex-shrink:0}.feedback{background:#e4efdf;color:#172d32;border-color:#22523c;border-radius:0 12px 12px 0}.feedback.wrong{background:#f7eaca;border-color:#704510}.feedback h2{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.05rem}#feedback:focus-visible,#card-answer:focus-visible{outline:3px solid #1378a0;outline-offset:5px}.route-diagram span{background:#e9eddf;border-color:#8d9f94;font-size:.75rem}.route-diagram b{color:#155d68}.summary-emblem{width:76px;height:76px;margin:0 auto 1rem;color:#704510;display:grid;place-items:center;background:#f1e6c9;border:1px solid #b29c65;border-radius:50%}.summary-emblem svg{width:36px;height:36px}.summary-list{gap:1rem}.stat{background:#e9eddf;border:1px solid #c6d0bc;color:var(--ink)}.stat strong{font-size:1.2rem}.review-intro{max-width:65ch;color:var(--shell-muted)}.flashcard{min-height:330px;padding:2.2rem;box-shadow:0 6px 0 #81978c,0 16px 40px #0002}.flashcard .term{font-size:2.5rem;color:#155d68}.flashcard .definition{font-size:1.05rem}.flashcard .actions{justify-content:center}.flashcard .status{color:var(--muted)}.guide-list{gap:1rem}.guide-list dt{font-size:1.15rem}.guide-list dd{color:var(--ink);margin-top:.4rem}.search input{width:100%;min-width:0;background:var(--surface);color:var(--ink);border-color:#8ba29a}.search .secondary{color:var(--shell-text);border-color:#8ba29a}.search input::placeholder{color:#526964}.modal{background:var(--surface);border:1px solid #a2aea3;color:var(--ink);box-shadow:0 20px 80px #0007}dialog.modal::backdrop{background:#04141aca;backdrop-filter:blur(3px)}details{margin-top:1rem}summary{cursor:pointer;min-height:44px;padding:.5rem 0}label[for=search]{color:var(--shell-text)}
@media(min-width:801px){body{padding-bottom:0!important}.bottom-nav{display:none}}
@media(max-width:1150px) and (min-width:801px){.journey-layout{grid-template-columns:minmax(0,1fr)}.journey-aside{grid-template-columns:1fr 1fr}.guide-card{display:grid;grid-template-columns:80px 1fr;column-gap:1rem}.guide-mascot{grid-row:1/4;width:80px;height:94px}.adventure-hero{grid-template-columns:1.1fr .9fr}}
@media(max-width:800px){body:has(.bottom-nav){padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}body:not(:has(.bottom-nav)){padding-bottom:0!important}.shell{display:block}.sidebar{display:none}main{padding:1rem 1rem 2rem}.app-topbar{font-size:.65rem;margin-bottom:1.3rem;gap:.6rem;align-items:flex-start}.app-topbar .status{font-size:.65rem;max-width:110px;text-align:right}.page-heading{margin-bottom:1.2rem}.page-heading h1{font-size:2.2rem}.page-heading>p:not(.eyebrow){font-size:.88rem}.journey-layout{grid-template-columns:minmax(0,1fr);gap:1rem}.journey-aside{grid-template-columns:minmax(0,1fr)}.adventure-hero{grid-template-columns:minmax(0,1fr);min-height:0;margin-bottom:1rem}.hero-copy{padding:1.5rem;order:2}.hero-copy h2{max-width:none;font-size:1.9rem}.hero-copy p{max-width:none;font-size:.88rem}.hero-scene{height:150px;order:1}.hero-scene img{min-height:0;height:150px;object-position:center 44%}.hero-scene:after{background:linear-gradient(0deg,#15363b,transparent 55%)}.hero-copy .actions>*{flex:1 1 100%}.hero-badge{font-size:.62rem;margin-bottom:.7rem}.unit-path,.panel{padding:1.2rem;border-radius:15px}.path-heading{flex-wrap:wrap}.trail-step{grid-template-columns:42px minmax(0,1fr);gap:.4rem .8rem;padding:1rem 0;min-height:100px}.trail-node{width:42px;height:42px;grid-row:1/3}.trail-connector{left:20px;top:57px;bottom:-11px}.trail-copy strong{font-size:.9rem}.trail-copy p,.trail-copy .lesson-meta{font-size:.76rem}.trail-action{grid-column:2;justify-self:start;min-height:44px}.bottom-nav{background:#0b2229;border-top:1px solid #3d6266;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px 8px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #0002;gap:4px}.bottom-nav a{color:var(--shell-muted);min-height:56px;border-radius:9px;font-size:.74rem;padding:.35rem;gap:.2rem;display:flex;flex-direction:column;justify-content:center;align-items:center}.bottom-nav a[aria-current=page]{background:#163a41;color:var(--cyan)}.bottom-nav .nav-icon{width:18px;height:18px}.activity{max-width:100%}.activity-head{gap:.6rem}.activity-head .status{font-size:.7rem;max-width:125px;text-align:right}.activity .teach-card{padding:1.2rem;margin-top:1.2rem}.activity .teach-card h1{font-size:1.85rem;line-height:1.2}.learning-layout{grid-template-columns:minmax(0,1fr)}.lesson-art{display:none}.choice{font-size:.92rem;padding:.9rem}.choice:has(input:checked){padding:calc(.9rem - 1px)}.actions>*{min-width:0}.flashcard{padding:1.5rem;min-height:310px}.flashcard .term{font-size:2rem}.flashcard .actions>*{flex:1 1 100%}.guide-card{padding:1.2rem}.guide-mascot{width:80px;height:92px;margin-bottom:.7rem}.search{gap:.5rem}.search button{padding:.6rem .75rem}.notice{font-size:.85rem}.summary-list{gap:.75rem}.route-diagram{flex-direction:column}.route-diagram span{font-size:.8rem}.modal{width:calc(100% - 2rem);max-width:480px}.panel{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:no-preference){.adventure-hero,.unit-path{animation:arrive .24s ease-out both}@keyframes arrive{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(forced-colors:active){button,.button,.choice,.trail-node,.panel,.unit-path,.chapter-card,.guide-card{border:1px solid CanvasText}.trail-connector{background:CanvasText}.progress>span{background:Highlight}nav a[aria-current=page]{outline:2px solid Highlight}.hero-scene:after{display:none}}


/* Source: polish.css */
/* Layout and detail for the illustrated academy views. */
button svg,.button svg{width:17px;height:17px;flex-shrink:0}.brand{text-decoration:none}.brand-subtitle{display:block;font-family:system-ui,sans-serif;font-size:8px;letter-spacing:1.4px;font-weight:600;color:var(--shell-muted);margin-top:3px;line-height:1.5}.topbar-location{display:flex;align-items:center;gap:9px}.topbar-location>svg{width:16px;height:16px;color:var(--gold)}.breadcrumb-divider{margin:0 9px;color:#64878a}.device-status{font-size:11px;color:var(--shell-muted);border:1px solid #365459;border-radius:20px;padding:5px 10px}.sidebar-callout{margin-top:auto;padding:0 12px;color:var(--gold)}.sidebar-callout>svg{width:26px;height:26px}.sidebar-callout p{font:italic 17px/1.5 Georgia,serif;color:var(--shell-muted)}.sidebar-footer{margin-top:0}.explorer-profile{display:flex;align-items:center;gap:10px;margin-bottom:16px}.profile-icon{width:36px;height:36px;border:1px solid #557275;border-radius:50%;display:grid;place-items:center;color:var(--gold)}.profile-icon svg{width:18px;height:18px}.explorer-profile strong{display:block;font-size:12px}.explorer-profile small{font-size:10px;color:var(--shell-muted)}.release-note{font-size:9px;color:#a2baba;display:block;margin-top:8px}.page-heading>p.eyebrow{margin-top:4px}.hero-badge{gap:6px;align-items:center}.hero-badge svg{width:13px;height:13px}.hero-meta{display:flex;gap:14px;flex-wrap:wrap;color:#bed1ce;font-size:11px;margin:10px 0 0}.hero-meta span{display:inline-flex;gap:5px;align-items:center}.hero-meta svg{width:13px;height:13px;color:var(--gold)}.hero-copy .actions{margin-top:23px}.hero-copy .actions>button.secondary{font-size:11px;min-height:40px}.hero-copy h2{max-width:14ch}.hero-scene{isolation:isolate}.hero-scene img{height:100%;position:absolute;inset:0;object-position:67% 50%}.hero-scene:before{content:"";position:absolute;inset:0;box-shadow:inset 0 -15px 35px #15363b44;z-index:1;pointer-events:none}.unit-count{background:#e8e8da;color:#40585b;padding:5px 8px;border:1px solid #b9c2af;border-radius:6px;font-size:10px;white-space:nowrap;margin-top:8px}.unit-path .lesson-card{padding:16px 0;background:transparent;border:0;border-radius:0}.unit-path .lesson-meta{font-size:12px}.trail-copy strong{font-weight:650}.planned-note{display:inline-block;margin-top:7px;font-size:10px;letter-spacing:.02em;color:#526760;background:#e6eadc;border:1px solid #b7c3b0;padding:2px 6px;border-radius:4px}.journey-footnote{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--shell-muted);margin:13px 0}.journey-footnote svg{width:14px;height:14px}.guide-card .eyebrow{font-size:9px;letter-spacing:1.5px;color:var(--gold)}.guide-card h2{font-weight:500}.guide-card p{font-size:12px}.guide-card .guide-mascot{width:107px;height:118px;filter:drop-shadow(0 5px 14px #70f3d629)}.chapter-progress{display:flex;align-items:center;gap:14px}.chapter-progress .progress-ring{width:64px;height:64px;flex-shrink:0;margin:0;font-size:19px;display:flex;align-items:center;justify-content:center;gap:2px}.progress-ring span{font-size:11px;color:var(--shell-muted)}.chapter-progress h2{font-size:17px;margin:0}.chapter-progress p{font-size:11px;margin:6px 0}.icon-stat{font-size:11px;border-top:1px solid #35555b;padding-top:14px;margin-top:16px;flex-wrap:wrap;gap:7px}.icon-stat span{color:var(--shell-muted);font-size:10px}.chapter-card .button.secondary{color:var(--cyan);border-color:#64858a;font-size:11px;min-height:42px;width:100%;padding:10px}.card-symbol{display:inline-flex;color:var(--gold);margin-bottom:10px}.card-symbol>svg{width:24px;height:24px}.chapter-card>p{font-size:12px}.focused-shell{min-height:100vh;max-width:1100px;margin:auto}.focused-shell main{padding-top:22px}.focused-footer{text-align:center;font:italic 13px Georgia,serif;color:var(--shell-muted);padding:8px 16px 35px}.activity-progress-label{display:flex;justify-content:space-between;align-items:center;gap:10px}.activity-progress-label .eyebrow{font-size:10px}.activity-progress-label>span{font-size:10px;color:var(--shell-muted)}.activity-reassurance{color:var(--shell-muted);font-size:11px;text-align:center;margin:20px auto;display:flex;align-items:center;justify-content:center;gap:6px}.activity-reassurance>svg{width:14px;height:14px}.learning-layout .eyebrow{font-size:9px;letter-spacing:1.5px}.learning-layout h1{margin-top:8px}.lesson-art{filter:drop-shadow(0 6px 8px #225d4520)}.notice.takeaway{display:flex;align-items:center;gap:12px}.takeaway>svg{flex-shrink:0;width:22px;height:22px;color:#155d68}.activity .teach-card p{font-size:16px}.activity .teach-card p.status{font-size:12px}.question-card>.eyebrow{color:#704510;font-size:9px;letter-spacing:1.4px}.feedback-heading{display:flex;align-items:center;gap:9px}.feedback-heading>span{display:grid;place-items:center;border-radius:50%;width:29px;height:29px;background:#d4e6c9}.feedback-heading svg{width:17px;height:17px}.feedback.wrong .feedback-heading>span{background:#ecdbb4}.feedback-heading h2{margin:0}.feedback p{font-size:14px!important}.feedback .actions button{min-height:46px}.choices legend{letter-spacing:1px}.activity .choice{font-size:15px}.completion-card{text-align:center}.completion-card h1{font-size:38px}.completion-takeaway{margin:0 auto 24px;color:var(--muted)}.completion-stats{display:grid;grid-template-columns:1fr 1fr;text-align:left}.completion-stats .stat{display:grid;gap:8px;padding:18px}.completion-stats .stat>svg{width:24px;height:24px;color:#155d68}.completion-stats .stat strong{font-size:17px}.completion-stats .stat span{font-size:11px;color:#40585b}.mission-card{text-align:left;margin-top:22px}.mission-card .eyebrow{color:#704510;font-size:9px;margin-top:0}.mission-card h2{font-size:22px}.mission-card p{font-size:14px}.mission-check{display:flex;align-items:center;gap:7px;font-size:12px;min-height:44px}.mission-check input{accent-color:#155d68;width:18px;height:18px}.completion-card>.actions{justify-content:center}.completion-card>.status{font-size:11px}.empty-state{text-align:center;max-width:680px;margin:25px auto}.empty-state p{margin-left:auto;margin-right:auto}.empty-state .actions{justify-content:center}.ready-card{max-width:650px;margin:30px auto}.ready-card .actions{justify-content:center}.ready-card{text-align:center}.ready-card p{margin-left:auto;margin-right:auto}.review-stage{max-width:660px;margin:28px auto 0}.flashcard{position:relative;background:linear-gradient(145deg,#fffaf0,#f1ecdc);border-color:#9eae9b;min-height:390px}.flashcard-mark{display:grid;place-items:center;width:52px;height:52px;background:#e2eadb;color:#155d68;border:1px solid #9eb4a1;border-radius:50%;margin:0 auto 22px}.flashcard-mark>svg{width:24px;height:24px}.flashcard .eyebrow{font-size:9px;letter-spacing:1.6px}.flashcard .term{font-weight:500;font-size:48px;line-height:1.2;margin-bottom:15px}.flashcard>p{margin:7px auto 22px}.flashcard .definition{border-top:1px solid #c6cdbb;margin:20px auto 0;padding:20px 0 12px;max-width:42ch}.flashcard #card-answer .status{font-size:12px}.flashcard .actions>*{min-width:120px}.card-count-dots{display:flex;justify-content:center;gap:7px;margin-top:24px}.card-count-dots span{width:7px;height:7px;background:#36565c;border-radius:50%}.card-count-dots .active{background:var(--cyan)}.search{position:relative;margin-top:10px;max-width:720px}.search input{padding-left:46px;font-size:14px;min-height:54px}.search-icon{position:absolute;top:16px;left:14px;color:#40585b}.search-icon>svg{width:20px;height:20px}.guide-list{grid-template-columns:1fr 1fr}.guide-entry{display:flex;gap:14px;align-items:flex-start}.glossary-symbol{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;color:#155d68;background:#e4ead9;border-radius:9px;border:1px solid #b8c5ad}.glossary-symbol svg{width:20px;height:20px}.guide-list dt{font:22px Georgia,serif;font-weight:500}.guide-list dd{font-size:13px;line-height:1.7}.progress-overview{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stat-symbol{width:44px;height:44px;display:grid;place-items:center;color:#155d68;background:#e4ead9;border-radius:12px;border:1px solid #b8c5ad;margin-bottom:15px}.stat-symbol>svg{width:23px;height:23px}.big-stat{font:50px/1 Georgia,serif;margin:20px 0;color:#155d68}.big-stat small{font:17px system-ui;color:#40585b}.progress-overview .panel>p:last-child{font-size:12px;color:#40585b}.journal-note{display:flex;gap:16px;margin-top:20px}.journal-note .card-symbol{margin:0;flex-shrink:0}.journal-note h2{margin:0;font-size:21px}.journal-note p{margin:7px 0 0;font-size:13px}.settings-stack{display:grid;gap:20px;max-width:900px}.section-icon{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#155d68}.section-icon>svg{width:21px;height:21px}.section-icon h2{margin:0}.settings-stack .panel>p{font-size:14px}.settings-stack .panel .status{font-size:12px}.settings-stack .actions{margin-top:20px}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.more-card{color:var(--ink);text-decoration:none}.more-card strong{font:26px Georgia,serif}.more-card p{font-size:13px}.more-card>svg{width:20px;height:20px;color:#155d68}.welcome-layout{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid #406269;border-radius:22px;overflow:hidden;margin:20px auto;max-width:1050px;background:#102d34}.welcome-scene{position:relative;min-height:590px;overflow:hidden}.welcome-scene>img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;position:absolute}.welcome-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#091e24aa,transparent 55%)}.scene-caption{position:absolute;z-index:1;bottom:32px;left:32px;right:24px;font:italic 28px Georgia,serif;color:#fff6df}.welcome-copy{padding:38px;align-self:center}.welcome-copy h1{font-size:43px}.welcome-copy>p{font-size:14px;color:var(--shell-muted)}.welcome-copy .eyebrow{color:var(--gold);font-size:9px}.welcome-copy .welcome-lead{font:22px Georgia,serif;color:var(--shell-text)}.welcome-guide{display:flex;gap:10px;align-items:center;margin:24px 0}.welcome-mascot{width:70px;height:80px;flex-shrink:0}.welcome-guide p{font:italic 14px/1.6 Georgia,serif;color:#c1ddd4}.welcome-copy .actions{flex-direction:column}.welcome-copy .actions .secondary{color:var(--shell-text);border-color:#6c8d91}.welcome-copy .actions>button{background:var(--cyan);color:#102d34;box-shadow:0 3px 0 #429a9f}.welcome-facts{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:10px;color:#c0d4cd;margin-top:24px}.welcome-facts span{display:inline-flex;gap:5px;align-items:center}.welcome-facts svg{width:13px;height:13px;color:var(--gold)}.welcome-copy>p.status{font-size:10px;margin-top:17px}.focused-shell .device-status{max-width:none}
@media(max-width:1150px) and (min-width:801px){.hero-copy{padding-left:24px}.journey-aside .guide-card{display:flex;gap:16px;align-items:center}.journey-aside .guide-card .guide-mascot{margin:0;width:85px;flex-shrink:0}.welcome-copy{padding:28px}.welcome-copy h1{font-size:36px}}
@media(max-width:800px){.brand-subtitle{display:none}.app-topbar{margin-bottom:23px}.topbar-location{gap:5px}.topbar-location>svg{width:14px;height:14px}.breadcrumb-divider{margin:0 4px}.device-status{font-size:9px;padding:4px 7px;max-width:118px;line-height:1.4}.page-heading h1{font-size:35px}.page-heading>p:not(.eyebrow){font-size:13px}.hero-scene img{height:150px}.hero-copy{padding:21px}.hero-copy h2{font-size:30px;max-width:none}.hero-meta{font-size:10px;gap:12px}.hero-copy .actions{margin-top:20px}.hero-copy .actions>button.secondary{min-height:44px}.hero-copy p{font-size:13px}.path-heading h2{font-size:23px}.unit-count{font-size:10px;margin-top:0}.trail-step{grid-template-columns:42px minmax(0,1fr)}.trail-action{font-size:12px}.guide-card{display:flex;gap:15px;align-items:center}.guide-card .guide-mascot{width:80px;height:90px;flex-shrink:0;margin:0}.guide-card h2{font-size:20px}.guide-card p{font-size:12px}.guide-card .eyebrow{font-size:8px}.journey-aside{margin-top:3px}.chapter-progress{gap:16px}.journey-footnote{font-size:10px;align-items:flex-start}.journey-footnote svg{flex-shrink:0}.activity-progress-label>span{display:none}.activity-head .text-button{font-size:12px;padding-left:0}.activity-head{margin-bottom:10px}.activity .teach-card h1{font-size:28px}.activity .teach-card p{font-size:15px}.question-card>.eyebrow{font-size:8px}.activity .choice{font-size:14px;line-height:1.55}.feedback p{font-size:13px!important}.activity-reassurance{font-size:10px;line-height:1.6}.completion-card h1{font-size:31px}.completion-stats{grid-template-columns:1fr}.completion-stats .stat{grid-template-columns:28px minmax(0,1fr);text-align:left;gap:3px 10px}.completion-stats .stat>svg{grid-row:1/3;width:24px;height:24px}.completion-stats .stat strong{font-size:16px}.completion-stats .stat span{font-size:11px}.completion-stats .stat br{display:none}.mission-card p{font-size:13px}.completion-card>.actions>*{flex-basis:100%}.flashcard{min-height:360px}.flashcard .term{font-size:39px}.flashcard .definition{font-size:15px}.flashcard-mark{margin-bottom:16px}.guide-list{grid-template-columns:1fr}.guide-list dt{font-size:21px}.guide-list dd{font-size:13px}.progress-overview{gap:12px}.progress-overview .panel{padding:16px}.progress-overview h2{font-size:19px}.big-stat{font-size:40px}.big-stat small{font-size:12px}.progress-overview .panel>p:last-child{font-size:11px}.journal-note h2{font-size:20px}.journal-note p{font-size:12px}.more-grid{grid-template-columns:1fr}.welcome-layout{grid-template-columns:1fr;margin-top:0}.welcome-scene{min-height:200px;height:200px}.welcome-scene>img{object-position:65% 53%}.scene-caption{font-size:23px;left:23px;bottom:20px}.welcome-copy{padding:24px}.welcome-copy h1{font-size:37px}.welcome-guide{margin:18px 0}.welcome-copy .actions{margin-top:18px}.welcome-copy .actions>*{flex:initial}.welcome-facts{font-size:10px}.focused-footer{font-size:12px;padding-bottom:28px}.ready-card .actions>*{flex-basis:100%}}
@media(max-width:360px){.progress-overview{grid-template-columns:1fr}.hero-badge{font-size:9px}.guide-card{gap:9px}.guide-card .guide-mascot{width:64px}.guide-card h2{font-size:19px}.topbar-location>svg{display:none}.device-status{max-width:100px}.welcome-copy{padding:20px}}
.button.secondary.on-dark{color:var(--shell-text);border-color:#8ba9ab}.hero-copy p{font-size:15px}.hero-meta{font-size:12px}.hero-badge{font-size:11px}.trail-copy p,.unit-path .lesson-meta{font-size:13px}.planned-note{font-size:12px}.guide-card p{font-size:14px}.guide-card .eyebrow{font-size:11px}.chapter-card>p{font-size:14px}.chapter-progress p{font-size:13px}.icon-stat,.icon-stat span{font-size:12px}.unit-count{font-size:12px}.journey-footnote{font-size:12px}.device-status{font-size:12px}.app-topbar{font-size:12px}.activity-progress-label .eyebrow{font-size:12px}.activity-progress-label>span{font-size:12px}.question-card>.eyebrow,.learning-layout .eyebrow{font-size:11px}.activity-reassurance{font-size:12px}.release-note{font-size:11px}.flashcard .eyebrow{font-size:12px}.chapter-card .button.secondary{font-size:13px}.completion-stats .stat span{font-size:13px}.completion-card>.status{font-size:12px}.welcome-copy>p.status{font-size:12px}.welcome-facts{font-size:12px}.welcome-copy .eyebrow{font-size:12px}.settings-stack .panel .status{font-size:13px}
@media(max-width:800px){.page-heading>p:not(.eyebrow),.hero-copy p{font-size:15px}.hero-meta{font-size:12px}.hero-badge{font-size:11px}.trail-copy p,.unit-path .lesson-meta,.planned-note{font-size:13px}.guide-card p{font-size:14px}.guide-card .eyebrow{font-size:11px}.activity .choice{font-size:15px}.activity-head .status,.activity-reassurance,.journey-footnote,.device-status,.app-topbar,.unit-count{font-size:12px}.completion-stats .stat span,.mission-card p{font-size:13px}.progress-overview .panel>p:last-child{font-size:13px}.welcome-facts{font-size:12px}.question-card>.eyebrow{font-size:11px}.device-status{max-width:130px}.app-topbar{align-items:center}.topbar-location{font-size:11px}}


/* Source: chapter.css */
/* Multi-lesson chapter states and original teaching diagrams. */
.trail-step[data-state=locked] .trail-node{background:#e7eadd;border-color:#94a59a;color:#40585b}.trail-step[data-state=locked] .trail-copy strong{color:#40585b}.prerequisite-link{grid-column:2;font-size:.8rem;color:#155d68;min-height:44px;display:inline-flex;align-items:center;justify-self:start}.trail-step[data-state=locked]{grid-template-columns:48px minmax(0,1fr)}.next-chapter-note{margin-top:1rem;border:1px dashed #577075;padding:1.2rem 1.4rem;border-radius:14px;background:#102d34}.next-chapter-note h2{font-size:1.3rem;margin:0}.next-chapter-note p:not(.eyebrow){font-size:.85rem;color:var(--shell-muted);margin-bottom:0}.next-chapter-note .eyebrow{font-size:.7rem}.abstract-map,.hud-demo{margin:1.4rem 0;border:1px solid #9aab9e;background:#e9eddf;border-radius:12px;padding:1.2rem}.map-bases{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;font-weight:700;color:#155d68}.map-lanes{display:grid;gap:.65rem;margin:1rem 0}.map-lanes>div{border:1px solid #849c8e;background:#fffaf0;border-radius:8px;padding:.6rem .9rem;font-weight:650;font-size:.9rem}.map-lanes>.map-river{background:#d7edef;border-color:#628d94;color:#155d68}.map-lanes>.map-jungle{background:#dce8d5;color:#22523c}.abstract-map figcaption,.hud-demo figcaption{font-size:.78rem;color:#40585b;line-height:1.6}.hud-demo{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.hud-tile{background:#fffcf4;padding:.9rem;border:1px solid #9aab9e;border-radius:9px}.hud-tile strong{display:block;font-size:.95rem}.hud-tile>span{display:block;font-size:.78rem;color:#40585b;margin:.3rem 0 .7rem}.hud-health,.hud-resource{height:8px;border-radius:4px;background:#22523c;width:85%}.hud-resource{background:#155d68;width:60%}.hud-abilities{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem}.hud-abilities span{min-width:44px;min-height:44px;border:1px solid #718480;border-radius:8px;background:#fffcf4;display:grid;place-items:center;font-weight:650;font-size:.85rem;padding:.5rem}.hud-demo figcaption{grid-column:1/-1}.checkpoint-rules{text-align:left;line-height:1.8;padding-left:1.3rem;color:#40585b}.checkpoint-weak{text-align:left;border:1px solid #aebca7;background:#e9eddf;padding:1.2rem;border-radius:12px;margin:1.2rem 0}.checkpoint-weak h2{font-size:1.15rem}.checkpoint-weak ul{margin-bottom:0;padding-left:1.2rem}.checkpoint-weak li>a{display:inline-flex;align-items:center;min-height:44px}.checkpoint-status{font-size:1.25rem;font-weight:650;color:#155d68}.question-assumptions{padding:.8rem 1rem;border-left:3px solid #155d68;background:#e9eddf;color:#40585b;font-size:.9rem}.card-count-dots{flex-wrap:wrap}.on-dark.secondary{color:#f7f1e3;border-color:#8ba7aa}.checkpoint-intro{max-width:780px;margin:auto}.progress-overview{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media(max-width:800px){.trail-step[data-state=locked]{grid-template-columns:42px minmax(0,1fr)}.next-chapter-note{padding:1rem}.trail-step>button.secondary{grid-column:2;justify-self:start;font-size:.8rem}.abstract-map,.hud-demo{padding:.9rem;margin:1rem 0}.hud-demo{grid-template-columns:1fr}.hud-tile>span{font-size:.8rem}.map-bases{font-size:.78rem}.checkpoint-rules{font-size:.9rem}.checkpoint-weak{padding:1rem}.progress-overview{grid-template-columns:1fr}.completion-card .actions{gap:.65rem}.card-count-dots{max-width:100%;gap:.45rem}}
.review-context{padding:1rem 1.2rem;border:1px solid #55787d;background:#102d34;border-radius:12px;margin-bottom:1.2rem;color:var(--shell-text)}.review-context p{font-size:.85rem;color:var(--shell-muted);margin:.4rem 0 0}
.panel a.button:not(.secondary){color:#fff}
.area-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.area-cards>div{padding:16px;border:1px solid #90a694;border-radius:10px;background:#fffcf4}.area-cards strong{display:flex;align-items:center;gap:7px;color:#155d68}.area-cards strong svg{width:19px;height:19px;flex-shrink:0}.area-cards span{font-size:13px;color:#40585b;display:block;margin-top:7px}.area-cards p{font-size:13px!important;line-height:1.6;margin:7px 0 0}.checkpoint-repeat{border:1px solid #c4b67a;background:#f4ebcf;color:#5b4716;border-radius:8px;padding:9px 12px;font-size:12px}@media(max-width:800px){.area-cards{grid-template-columns:1fr}.area-cards>div{padding:13px}}
.chapter-progress .chapter-ring{border:0;padding:5px}.chapter-ring .ring-core{width:100%;height:100%;background:#102d34;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px}.ring-core strong{font-size:19px;color:var(--cyan)}.ring-core small{font-size:11px;color:var(--shell-muted)}.checkpoint-weak li{margin:7px 0}.checkpoint-weak li button{font-size:13px}
.chapter-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:0 0 1.5rem}.chapter-choice{display:flex;gap:.9rem;align-items:center;padding:1rem 1.15rem;border:1px solid #557075;border-radius:13px;background:#102d34;color:#f7f1e3;text-decoration:none;min-height:84px}.chapter-choice.selected{border:2px solid #88e4e7;padding:calc(1rem - 1px) calc(1.15rem - 1px);background:#173b42}.chapter-choice-number{color:#d5b875;display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid #668386;border-radius:50%}.chapter-choice-number svg{width:18px;height:18px}.chapter-choice strong{display:block;font-size:.9rem;line-height:1.5}.chapter-choice small{display:block;color:#bed1ce;font-size:.78rem;margin-top:.2rem;line-height:1.5}.training-hero .hero-badge{color:#88e4e7;border-color:#64888c}.ability-demo,.scaling-demo,.defence-demo{padding:1.2rem;margin:1.3rem 0;border:1px solid #9aab9e;background:#e9eddf;border-radius:12px}.diagram-label{font-size:.7rem!important;color:#704510;letter-spacing:.08em;font-weight:700;margin-top:0}.ability-demo h2,.scaling-demo h2{font-size:1.3rem;margin:.4rem 0}.ability-demo>p:not(.diagram-label){font-size:.9rem!important}.ability-limits,.defence-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.ability-limits>div,.defence-pairs>div{display:grid;gap:.35rem;background:#fffcf4;border:1px solid #8a9e92;padding:1rem;border-radius:10px}.ability-limits svg,.defence-pairs svg{width:23px;height:23px;color:#155d68}.ability-limits span,.defence-pairs span{font-size:.85rem;color:#40585b}.defence-pairs{grid-template-columns:repeat(3,minmax(0,1fr))}.ability-demo figcaption,.scaling-demo figcaption,.defence-demo figcaption{font-size:.8rem;line-height:1.65;color:#40585b}.scaling-demo{display:grid;grid-template-columns:1fr 30px 1fr;gap:1rem}.scaling-column p:not(.diagram-label){font-size:.9rem!important}.scaling-divider{align-self:center;text-align:center;font-size:2rem;color:#155d68;font-weight:700}.scaling-demo figcaption{grid-column:1/-1;border-top:1px solid #a9b6a8;padding-top:.9rem}@media(max-width:800px){.chapter-selector{grid-template-columns:1fr;gap:.6rem;margin-bottom:1rem}.chapter-choice{min-height:72px;padding:.8rem 1rem}.chapter-choice.selected{padding:calc(.8rem - 1px) calc(1rem - 1px)}.chapter-choice strong{font-size:.86rem}.chapter-choice small{font-size:.76rem}.ability-demo,.scaling-demo,.defence-demo{padding:1rem}.ability-limits,.defence-pairs{grid-template-columns:1fr}.scaling-demo{grid-template-columns:1fr;gap:.5rem}.scaling-divider{text-align:left;font-size:1.6rem}.scaling-column p{margin-bottom:.5rem}.scaling-demo figcaption{margin-top:.6rem}.defence-pairs>div{grid-template-columns:26px 1fr;gap:.3rem .65rem}.defence-pairs>div svg{grid-row:1/3}.defence-pairs>div span{grid-column:2}}
.checkpoint-history{margin-top:1rem}.checkpoint-history-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #c6d0bc}.checkpoint-history-row:last-child{border-bottom:0;padding-bottom:0}.checkpoint-history-row p{margin:.3rem 0 0;color:#40585b;font-size:.85rem}.checkpoint-history-row button{flex-shrink:0}@media(max-width:800px){.checkpoint-history-row{flex-direction:column;align-items:flex-start}.checkpoint-history-row button{min-height:44px}}
.chapter-ring{width:68px;height:68px;flex-shrink:0;border-radius:50%;padding:5px;background:conic-gradient(#88e4e7 var(--chapter-fill,0%),#375961 0);display:grid;place-items:center}.ring-core{width:100%;height:100%;background:#102d34;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;font-size:20px;font-weight:700;color:#88e4e7}.ring-core small{font-size:12px;color:#bed1ce}@media(forced-colors:active){.chapter-ring{background:Canvas;border:2px solid CanvasText}.ring-core{color:CanvasText}}
.attack-range-demo{padding:1.2rem;margin:1.3rem 0;border:1px solid #9aab9e;background:#e9eddf;border-radius:12px}.attack-reach{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:.75rem;align-items:center;border:1px dashed #618d83;border-radius:14px;padding:1rem;margin:.9rem 0}.attacker-token,.target-token{display:grid;place-items:center;min-height:58px;padding:.65rem;text-align:center;border-radius:10px;background:#fffcf4;border:1px solid #718480;font-weight:650;font-size:.85rem;color:#172d32}.reach-label{font-size:.8rem;color:#22523c;text-align:center}.ability-waiting{border-left:3px solid #155d68;padding:.65rem .8rem;background:#fffcf4;font-size:.86rem;font-weight:650;color:#155d68}.attack-range-demo figcaption{font-size:.8rem;color:#40585b;line-height:1.65;margin-top:.8rem}@media(max-width:800px){.attack-range-demo{padding:1rem}.attack-reach{grid-template-columns:1fr;gap:.5rem;padding:.8rem}.attacker-token,.target-token{min-height:44px}.reach-label{padding:.2rem}.ability-waiting{font-size:.82rem}}
/* The chapter selector grows without exposing every lesson at once. */
.chapter-selector{grid-template-columns:repeat(3,minmax(0,1fr))}.chapter-choice{align-items:flex-start}.chapter-choice-number{margin-top:.15rem}.lane-hero .hero-badge{color:#dfd09d;border-color:#8a835e}@media(min-width:801px) and (max-width:1150px){.chapter-selector{grid-template-columns:1fr}.chapter-choice{min-height:70px;align-items:center;padding:.75rem 1rem}.chapter-choice.selected{padding:calc(.75rem - 1px) calc(1rem - 1px)}}@media(max-width:800px){.chapter-selector{grid-template-columns:1fr}.chapter-choice{align-items:center}}
.lane-demo{padding:1.2rem;margin:1.3rem 0;border:1px solid #9aab9e;background:#e9eddf;border-radius:12px}.lane-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:.8rem 0}.lane-comparison>div,.trade-checklist>div{background:#fffcf4;border:1px solid #8a9e92;border-radius:10px;padding:1rem}.lane-comparison h2{font-size:1.2rem;margin:.5rem 0}.lane-comparison p{font-size:.85rem!important;line-height:1.65;margin:.4rem 0 0}.lane-demo svg{width:23px;height:23px;color:#155d68}.lane-demo figcaption{font-size:.8rem;color:#40585b;line-height:1.65;margin-top:.8rem}.trade-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.8rem 0}.trade-checklist>div{display:grid;gap:.4rem}.trade-checklist strong{font-size:.9rem}.trade-checklist span{font-size:.83rem;color:#40585b;line-height:1.6}.recall-steps{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.7rem}.recall-steps li{display:flex;align-items:flex-start;gap:.8rem;padding:.8rem;background:#fffcf4;border:1px solid #8a9e92;border-radius:10px}.recall-steps li>span{width:30px;height:30px;flex-shrink:0;background:#155d68;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700}.recall-steps strong{font-size:.9rem}.recall-steps p{font-size:.85rem!important;line-height:1.6;margin:.3rem 0 0}@media(max-width:800px){.lane-demo{padding:1rem}.lane-comparison,.trade-checklist{grid-template-columns:1fr}.trade-checklist>div{grid-template-columns:25px 1fr;gap:.3rem .65rem}.trade-checklist svg{grid-row:1/3}.trade-checklist span{grid-column:2}}
.wave-state-demo{padding:1.2rem;margin:1.3rem 0;border:1px solid #9aab9e;background:#e9eddf;border-radius:12px}.wave-state-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.wave-example{padding:1rem;background:#fffcf4;border:1px solid #8a9e92;border-radius:10px}.wave-example>strong{font-size:.95rem;color:#172d32}.wave-example>p{font-size:.85rem!important;line-height:1.6;margin:.35rem 0 .9rem}.wave-track{height:65px;position:relative;border-bottom:2px solid #9aab9e;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 3px 7px}.turret-token{width:36px;height:45px;background:#e5e9dc;border:1px solid #718480;border-radius:5px 5px 0 0;display:grid;place-items:center}.turret-token svg{width:22px;height:22px;color:#40585b}.minion-group{display:flex;align-items:center;gap:4px;position:absolute;left:0;bottom:8px}.minion-group i{width:11px;height:14px;background:#155d68;border:1px solid #0b4852;border-radius:5px 5px 3px 3px}.reached .minion-group{left:auto;right:45px}.wave-state-demo figcaption{font-size:.8rem;color:#40585b;line-height:1.65;margin-top:.85rem}@media(max-width:800px){.wave-state-demo{padding:1rem}.wave-state-pair{grid-template-columns:1fr}.wave-example{padding:.9rem}.wave-track{height:55px}}
/* Four chapters stay readable as two columns, not four narrow cards. */
.chapter-selector:has(>.chapter-choice:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.watchtower-hero .hero-badge{color:#a8e4d7;border-color:#6f9a94}.vision-demo{padding:1.2rem;margin:1.3rem 0;border:1px solid #9aab9e;background:#e9eddf;border-radius:12px}.vision-demo svg{width:23px;height:23px;color:#155d68}.vision-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.85rem 0}.vision-evidence>div,.vision-limit-cards>div{background:#fffcf4;border:1px solid #8a9e92;border-radius:10px;padding:1rem}.vision-evidence strong{display:block;font-size:.92rem;margin:.45rem 0}.vision-evidence p,.vision-limit-cards p,.ward-question p{font-size:.85rem!important;line-height:1.65;margin:.3rem 0 0}.vision-demo figcaption{font-size:.8rem;color:#40585b;line-height:1.65;margin-top:.85rem}.ward-question{display:flex;gap:.8rem;align-items:flex-start;background:#fffcf4;padding:1rem;border:1px solid #718480;border-radius:10px;margin:.85rem 0}.ward-question>span{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#e1eee6}.ward-question strong,.vision-limit-cards strong{font-size:.92rem}.vision-limit-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.map-move-checks{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.7rem}.map-move-checks li{display:flex;gap:.8rem;align-items:flex-start;background:#fffcf4;border:1px solid #8a9e92;border-radius:10px;padding:.9rem}.map-move-checks li>span{flex-shrink:0}.map-move-checks strong{font-size:.92rem}.map-move-checks p{font-size:.85rem!important;line-height:1.65;margin:.3rem 0 0}@media(max-width:1150px){.chapter-selector:has(>.chapter-choice:nth-child(4)){grid-template-columns:1fr}}@media(max-width:800px){.vision-demo{padding:1rem}.vision-evidence,.vision-limit-cards{grid-template-columns:1fr}.vision-evidence>div{display:grid;grid-template-columns:25px 1fr;gap:.3rem .65rem}.vision-evidence svg{grid-row:1/3}.vision-evidence strong{margin:0}.vision-evidence p{grid-column:2}.ward-question{padding:.9rem}}
/* A fifth chapter remains a legible destination, not a narrow extra tab. */
.chapter-selector>.chapter-choice:nth-child(5):last-child{grid-column:1/-1}.workshop-hero .hero-badge{color:#e4c7a0;border-color:#9d8668}@media(max-width:1150px){.chapter-selector>.chapter-choice:nth-child(5):last-child{grid-column:auto}}
.position-demo{padding:1.2rem;margin:1.3rem 0;border:1px solid #9aab9e;background:#e9eddf;border-radius:12px}.position-demo svg{width:23px;height:23px;color:#155d68}.position-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:.85rem 0}.position-pair>div,.pair-readiness>div{background:#fffcf4;border:1px solid #8a9e92;border-radius:10px;padding:1rem}.position-pair h2{font-size:1.2rem;margin:.5rem 0}.position-pair p,.pair-readiness p{font-size:.85rem!important;line-height:1.65;margin:.4rem 0 0}.position-demo figcaption{font-size:.8rem;color:#40585b;line-height:1.65;margin-top:.85rem}.pair-readiness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.85rem 0}.pair-readiness>div{display:grid;align-content:start;gap:.35rem}.pair-readiness strong{font-size:.9rem}@media(max-width:800px){.position-demo{padding:1rem}.position-pair,.pair-readiness{grid-template-columns:1fr}.pair-readiness>div{grid-template-columns:25px 1fr;gap:.3rem .65rem}.pair-readiness svg{grid-row:1/3}.pair-readiness p{grid-column:2}}
/* A single native disclosure keeps the next lesson near the top. */
.chapter-switcher{margin:0 0 1.3rem;border:1px solid #557075;background:#102d34;border-radius:13px;overflow:visible}.chapter-switcher>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;cursor:pointer;border-radius:12px;min-height:76px}.chapter-switcher>summary::-webkit-details-marker{display:none}.chapter-current{display:grid;gap:.15rem}.chapter-current-kicker{font-size:.69rem;font-weight:650;letter-spacing:.05em;color:#d5b875}.chapter-current>strong{font-size:1rem;color:#f7f1e3}.chapter-current>small{font-size:.77rem;color:#bed1ce}.chapter-change{display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:#88e4e7;font-weight:650;white-space:nowrap}.chapter-change svg{width:18px;height:18px;transform:rotate(90deg)}.chapter-switcher[open]>summary{border-bottom:1px solid #375961}.chapter-switcher[open] .chapter-change svg{transform:rotate(-90deg)}.chapter-switcher>.chapter-selector{padding:0 1rem 1rem;margin:0}.chapter-switcher[open]>summary{margin-bottom:.2rem}.chapter-switcher>summary:hover{background:#173b42}.chapter-switcher>summary:focus-visible{outline:3px solid #1378a0;outline-offset:3px;box-shadow:0 0 0 6px #f7f1e3}@media(max-width:800px){.chapter-switcher{margin-bottom:1rem}.chapter-switcher>summary{padding:.85rem 1rem;gap:.7rem;align-items:center}.chapter-current>strong{font-size:.93rem}.chapter-current-kicker{font-size:.66rem}.chapter-current>small{font-size:.72rem}.chapter-change{font-size:.75rem;white-space:normal;max-width:75px;gap:.3rem;line-height:1.5}.chapter-change svg{flex-shrink:0;width:15px;height:15px}.chapter-switcher>.chapter-selector{padding:0 .8rem .8rem}}
.objectives-hero .hero-badge{color:#eed399;border-color:#9a865d}
/* Chapter six uses labelled conditions, not implied objective guarantees. */
.objective-demo{padding:1.2rem;margin:1.3rem 0;border:1px solid #9aab9e;background:#e9eddf;border-radius:12px}.objective-window{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.85rem 0}.objective-window>div{background:#fffcf4;border:1px solid #8a9e92;border-radius:10px;padding:1rem;display:grid;align-content:start;gap:.4rem}.objective-symbol{display:inline-flex;color:#155d68}.objective-symbol svg{width:23px;height:23px}.objective-window strong{font-size:.92rem}.objective-window p{font-size:.85rem!important;line-height:1.65;margin:0}.objective-demo figcaption{font-size:.8rem;color:#40585b;line-height:1.65;margin-top:.85rem}.objective-cycle{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.7rem}.objective-cycle li{display:flex;gap:.8rem;align-items:flex-start;background:#fffcf4;border:1px solid #8a9e92;border-radius:10px;padding:.9rem}.objective-cycle li>span{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#155d68;color:#fff;font-size:.8rem;font-weight:700}.objective-cycle strong{font-size:.92rem}.objective-cycle p{font-size:.85rem!important;line-height:1.65;margin:.3rem 0 0}@media(max-width:800px){.objective-demo{padding:1rem}.objective-window{grid-template-columns:1fr}.objective-window>div{grid-template-columns:25px 1fr;gap:.3rem .65rem}.objective-symbol{grid-row:1/3}.objective-window p{grid-column:2}}


/* Source: playful.css */
/* Final playful fantasy layer. No dependencies or changes to learning logic. */
:root{
  --play-shell:#0A252B;--play-shell-raised:#14383F;--play-shell-text:#F7FCF2;--play-shell-muted:#C5DDDA;
  --play-paper:#FFFCF4;--play-paper-soft:#F0F3E8;--play-ink:#172F35;--play-muted:#4B6265;
  --play-mint:#A7F3C5;--play-mint-ink:#103C32;--play-cyan:#A8EFF1;--play-coral:#FA9C86;--play-coral-ink:#672B20;--play-gold:#F4D575;
  --play-primary:#087E68;--play-primary-edge:#055445;--play-line:#82988C;
  --play-selected:#E4F4F5;--play-selected-ink:#145B66;
  --play-correct:#E1F7E6;--play-correct-ink:#185B36;--play-revisit:#FFF0DA;--play-revisit-ink:#70420D;
  --play-error:#FDEAE3;--play-error-ink:#883B2B;--play-radius:22px;
  --page:var(--play-shell);--surface:var(--play-paper);--soft:var(--play-paper-soft);--ink:var(--play-ink);--muted:var(--play-muted);
  --shell-text:var(--play-shell-text);--shell-muted:var(--play-shell-muted);--gold:var(--play-gold);--cyan:var(--play-cyan);--action:var(--play-primary);
  --play-font:ui-rounded,"SF Pro Rounded",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body{font-family:var(--play-font);font-size:17px;line-height:1.65;background:radial-gradient(ellipse at 85% 0,#24565c55,transparent 46%),var(--play-shell);color:var(--play-shell-text)}
h1,h2,h3,.brand,.term,.big-stat,.more-card strong,.welcome-lead,.focused-footer,.sidebar-callout p,.scene-caption,.welcome-guide p{font-family:var(--play-font);font-style:normal;font-weight:800;letter-spacing:-.025em}
h1{font-size:clamp(2.1rem,4vw,3.25rem);line-height:1.14}h2{font-size:1.45rem;line-height:1.3}h3{font-size:1.08rem;line-height:1.4}p{line-height:1.65}.brand{font-size:1.55rem}.brand-subtitle{font-size:10px;letter-spacing:.1em}.prototype-label,.eyebrow{font-size:12px;letter-spacing:.09em}.release-note{font-size:12px;line-height:1.6}.sidebar-callout p{font-size:17px;font-weight:650;line-height:1.55}.explorer-profile strong{font-size:14px}.explorer-profile small,.save-note{font-size:13px}
.status,.lesson-meta,.panel .status,.panel .lesson-meta,.trail-copy p,.trail-copy .lesson-meta{font-size:14px;line-height:1.6}.status,.lesson-meta{color:var(--play-shell-muted)}.panel .status,.panel .lesson-meta,.unit-path .lesson-meta,.unit-path p,.teach-card .status,.feedback .status{color:var(--play-muted)}.page-heading>p:not(.eyebrow){font-size:16px}.page-heading{margin-bottom:1.3rem}.page-heading h1{margin-bottom:.65rem}.app-topbar,.app-topbar .status,.device-status{font-size:12px}.app-topbar{margin-bottom:1.5rem}.device-status{background:#173c42;border:1px solid #66868a;padding:6px 10px}.topbar-location{line-height:1.6}
.panel,.unit-path,.chapter-card,.guide-card,.adventure-hero,.welcome-layout,.next-chapter-note,.modal{border-radius:var(--play-radius)}.panel,.unit-path{background:var(--play-paper);border:2px solid #b7c6b8;box-shadow:0 4px 0 #97ad9d33}.panel{padding:1.6rem}.chapter-card,.guide-card{background:var(--play-shell-raised);border:2px solid #4d7378}.chapter-card h2,.guide-card h2{font-family:var(--play-font);font-size:1.27rem;font-weight:800}.chapter-card>p,.guide-card p,.chapter-progress p{font-size:14px;color:var(--play-shell-muted)}.guide-card .eyebrow{font-size:12px;color:var(--play-gold)}.chapter-progress h2{font-size:18px}.chapter-progress p{font-size:13px}.icon-stat,.icon-stat span{font-size:13px}.guide-mascot{filter:drop-shadow(0 5px 12px #70f3d61c)}.chapter-ring{width:72px;height:72px}.ring-core{background:var(--play-shell-raised);font-size:22px}.ring-core small{font-size:13px}
button,.button{font-family:var(--play-font);font-size:16px;font-weight:800;line-height:1.4;min-height:52px;padding:.8rem 1.15rem;border:2px solid var(--play-primary-edge);border-radius:15px;background:var(--play-primary);color:#fff;box-shadow:0 4px 0 var(--play-primary-edge);transition:transform .12s,box-shadow .12s,background .12s;transform:none;text-align:center}
button:hover,.button:hover{filter:none;transform:translateY(-1px)}button:active,.button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--play-primary-edge)}.secondary{background:var(--play-paper);color:var(--play-ink);border-color:var(--play-line);box-shadow:0 3px 0 #82988c}.secondary:active{box-shadow:none}.danger{color:var(--play-error-ink);border-color:var(--play-error-ink);box-shadow:0 3px 0 #883b2b}.text-button{background:transparent;color:var(--play-cyan);border-color:transparent;box-shadow:none;min-height:44px;padding:.5rem}.text-button:active{box-shadow:none}.actions{gap:.85rem;margin-bottom:4px}
button:disabled{opacity:1;background:#E1E7DB;color:var(--play-muted);border-color:#82988c;box-shadow:none;transform:none;cursor:not-allowed}
.hero-copy button,.welcome-copy .actions>button{background:var(--play-mint);color:var(--play-mint-ink);border:2px solid #5bab82;box-shadow:0 4px 0 #4f9671}.hero-copy button:active,.welcome-copy .actions>button:active{box-shadow:0 1px 0 #4f9671}.hero-copy .secondary,.welcome-copy .actions .secondary,.chapter-card .button.secondary,.guide-card .secondary,.search .secondary,.on-dark.secondary{background:#173c42;color:var(--play-shell-text);border:2px solid #80a6a7;box-shadow:0 3px 0 #436c70}.hero-copy .actions>button.secondary,.chapter-card .button.secondary{font-size:14px;min-height:48px}.chapter-card .button.secondary{color:var(--play-cyan)}.hero-copy h2{font-size:clamp(1.9rem,2.7vw,2.65rem);line-height:1.15;max-width:16ch;font-weight:800}.hero-copy p{font-size:16px;line-height:1.65}.hero-meta{font-size:13px;gap:12px}.hero-badge{font-size:12px;color:var(--play-gold);border:1px solid #a78d4f;background:#24464a;border-radius:9px;padding:.35rem .65rem;letter-spacing:.05em}.hero-copy .actions{margin-top:1.5rem}.adventure-hero{border:2px solid #5a858b}.hero-copy{padding:1.8rem 0 1.8rem 1.8rem}.hero-scene img{object-position:67% 50%}
.sidebar{background:#0b242b;border-color:#426269}.sidebar nav a{font-size:16px;font-weight:650;min-height:50px;border-radius:14px}.sidebar nav a[aria-current=page]{color:var(--play-mint-ink);background:var(--play-mint);border-color:#68b890;box-shadow:0 3px 0 #426e5b}.sidebar nav a[aria-current=page] .nav-icon{color:var(--play-mint-ink)}.bottom-nav{background:#0b242b;border-top:2px solid #5e7e83}.bottom-nav a{font-size:13px;font-weight:650;border-radius:13px}.bottom-nav a[aria-current=page]{background:var(--play-mint);color:var(--play-mint-ink);box-shadow:inset 0 -3px 0 #73bc94}
.chapter-switcher{border:2px solid #5a8186;border-radius:17px;background:#14383f}.chapter-switcher>summary{border-radius:15px;min-height:84px}.chapter-current-kicker{font-size:12px;color:var(--play-gold)}.chapter-current>strong{font-size:17px;font-weight:800}.chapter-current>small{font-size:13px}.chapter-change{font-size:14px;color:var(--play-cyan)}.chapter-choice{border-radius:14px;border:2px solid #698b8f;background:#14383f}.chapter-choice.selected{border:3px solid var(--play-mint);background:#21494c;padding:calc(1rem - 1px) calc(1.15rem - 1px)}.chapter-choice strong{font-size:15px;font-weight:750}.chapter-choice small{font-size:13px}.chapter-choice-number{background:#24484c;color:var(--play-gold);border:2px solid #739a93}.chapter-selector{gap:.85rem}.path-heading h2{font-size:1.5rem}.path-heading p{font-size:15px}.unit-count{font-size:13px;background:#e1f0dd;color:var(--play-correct-ink);border:1px solid #94b08f;border-radius:9px;padding:6px 9px}.trail-step{min-height:112px}.trail-node{width:50px;height:50px;border:2px solid #8ca691;border-radius:17px;box-shadow:0 4px 0 #a0b2a0;background:#e9eee0;color:#4b6265}.trail-node svg{width:22px;height:22px}.trail-copy strong{font-size:16px;font-weight:800}.trail-connector{left:24px;width:3px;background:#9db69f}.trail-step[data-state=current] .trail-node{background:var(--play-cyan);color:var(--play-selected-ink);border:3px solid #2c8190;box-shadow:0 4px 0 #2c8190}.trail-step[data-state=complete] .trail-node{background:var(--play-mint);color:var(--play-mint-ink);border:2px solid #338e64;box-shadow:0 4px 0 #338e64}.trail-step[data-state=locked] .trail-node,.trail-step[data-state=planned] .trail-node{color:var(--play-muted);background:#e7ecdf;border-color:#8a9e92;box-shadow:0 3px 0 #a5b5a7}.trail-action,.trail-step>button.secondary{font-size:14px;min-height:48px}.planned-note{font-size:12px;color:var(--play-muted);padding:4px 7px;border-radius:7px}.prerequisite-link{font-size:14px;min-height:44px}.next-chapter-note{border:2px dashed #809a9b;background:#14383f}.next-chapter-note h2{font-size:1.4rem}.next-chapter-note p:not(.eyebrow){font-size:15px}.journey-footnote{font-size:13px;line-height:1.6}.journey-footnote svg{width:17px;height:17px;flex-shrink:0}
.activity{max-width:810px}.activity .teach-card{border:2px solid #b7c6b8;border-radius:24px;padding:clamp(1.25rem,3vw,2.1rem);box-shadow:0 5px 0 #688b7833}.activity .teach-card h1{font-family:var(--play-font);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;line-height:1.2}.activity .teach-card p{font-size:17px}.activity .teach-card p.status{font-size:14px}.activity .eyebrow,.learning-layout .eyebrow,.question-card>.eyebrow{font-size:12px}.activity-progress-label .eyebrow,.activity-progress-label>span{font-size:12px;line-height:1.5}.activity-head .text-button{font-size:15px}.activity-head .status{font-size:13px}.activity-reassurance{font-size:14px;line-height:1.6}.progress{height:11px;background:#31565c;border:1px solid #6a8c8e;border-radius:20px}.progress>span{background:var(--play-mint);border-radius:20px;box-shadow:inset 0 -3px 0 #75bb98}.lesson-art{width:95px;height:110px}.choices legend{font-size:12px;color:var(--play-muted);letter-spacing:.06em}.activity .choice,.choice{font-size:16px;line-height:1.6;background:var(--play-paper);border:2px solid #82988c;border-radius:16px;min-height:60px;padding:1rem;box-shadow:0 3px 0 #a6b5a5;gap:.8rem}.choice:has(input:checked){background:var(--play-selected);border:3px solid var(--play-selected-ink);padding:calc(1rem - 1px);box-shadow:0 3px 0 var(--play-selected-ink)}.choice input{accent-color:var(--play-selected-ink);width:19px;height:19px;margin-top:.2rem}.choice:has(input:disabled){cursor:default}.feedback{background:var(--play-correct);color:var(--play-ink);border:2px solid #79a487;border-left:6px solid var(--play-correct-ink);border-radius:16px;padding:1.15rem}.feedback.wrong{background:var(--play-revisit);border-color:#c6a765;border-left-color:var(--play-revisit-ink)}.feedback h2{font-family:var(--play-font);font-size:18px;font-weight:800}.feedback p{font-size:16px!important;line-height:1.65}.feedback-heading>span{width:34px;height:34px;background:#bde7c7;color:var(--play-correct-ink)}.feedback.wrong .feedback-heading>span{background:#f3d99a;color:var(--play-revisit-ink)}.feedback .actions button{min-height:50px}.question-assumptions{font-size:15px;border-left:4px solid #145b66;border-radius:0 12px 12px 0}.checkpoint-repeat{font-size:14px}.checkpoint-rules{font-size:16px;line-height:1.8}.checkpoint-weak{border-radius:17px}.checkpoint-history-row p{font-size:14px}
.notice{background:var(--play-paper-soft);color:var(--play-ink);border-left:5px solid var(--play-primary);border-radius:0 15px 15px 0;font-size:16px}.notice a,.panel a,.feedback a{color:#0b6f85}.notice .status{color:var(--play-muted)}#save-notice .notice{background:var(--play-revisit);border-left-color:var(--play-revisit-ink);border:2px solid #c6a765;border-left-width:5px;border-radius:14px}.stat{background:#e8f3df;border:2px solid #a3bf97;border-radius:18px}.completion-card h1{font-size:clamp(2rem,3.2vw,2.6rem)}.completion-stats .stat strong{font-size:18px}.completion-stats .stat span{font-size:14px}.mission-card .eyebrow{font-size:12px}.mission-card h2{font-family:var(--play-font);font-size:23px}.mission-card p{font-size:16px}.mission-check{font-size:15px;min-height:48px}.completion-card>.status{font-size:14px}.summary-emblem{width:82px;height:82px;background:var(--play-gold);color:#61450e;border:3px solid #b99331;box-shadow:0 4px 0 #b99331}.empty-state p{font-size:16px}.empty-state .guide-mascot{width:100px;height:110px}
.flashcard{min-height:350px;border:3px solid #8baea0;box-shadow:0 7px 0 #5a8b76,0 14px 25px #0002;border-radius:26px}.flashcard .term{font-family:var(--play-font);font-size:2.45rem;font-weight:850;line-height:1.2;color:#145b66}.flashcard .definition{font-size:18px;line-height:1.65}.flashcard>p,.flashcard .status{font-size:15px}.flashcard-mark{background:var(--play-cyan);border:2px solid #73afb5;box-shadow:0 3px 0 #73afb5;border-radius:16px}.card-count-dots span{width:10px;height:10px}.card-count-dots span.active{background:var(--play-mint)}.review-context{font-size:16px;border:2px solid #658c91;border-radius:16px}.review-context p{font-size:14px}
.guide-entry dt{font-family:var(--play-font);font-size:21px;font-weight:800}.guide-entry dd{font-size:16px;line-height:1.65}.glossary-symbol{border-radius:15px;background:#e2f4e7}.search input{font-size:16px;min-height:54px;border:2px solid #82988c;border-radius:15px;padding:.85rem}.search .secondary{min-height:54px}.guide-list{gap:1rem}.settings-stack .panel>p{font-size:16px}.settings-stack .panel .status{font-size:14px}.section-icon h2{font-size:24px}.section-icon>svg{width:24px;height:24px}.settings-stack summary{font-size:16px;font-weight:750}.settings-stack .choice{min-height:60px}.more-card strong{font-family:var(--play-font);font-size:25px;font-weight:800}.more-card p{font-size:15px}.big-stat{font-size:3rem;color:#087e68}.big-stat small{font-size:17px}.progress-overview .panel>p:last-child,.journal-note p{font-size:15px}.journal-note h2{font-size:23px}.journal-note{border-radius:20px}.checkpoint-status{font-size:18px}.modal{border:2px solid #b7c6b8;padding:1.6rem;color:var(--play-ink)}.modal h2{font-size:25px}.modal p{font-size:16px}.modal::backdrop{background:#03191ce0}
.welcome-copy h1{font-family:var(--play-font);font-size:clamp(2.1rem,3.5vw,2.85rem);font-weight:850}.welcome-copy>p{font-size:16px}.welcome-copy .welcome-lead{font:800 23px/1.4 var(--play-font);color:var(--play-shell-text)}.welcome-copy .eyebrow{font-size:12px}.welcome-guide p{font:650 16px/1.6 var(--play-font);color:var(--play-shell-muted)}.welcome-facts{font-size:13px}.welcome-copy>p.status{font-size:13px;line-height:1.6}.scene-caption{font-size:28px;font-weight:800;text-shadow:0 2px 5px #071b20}.focused-footer{font-size:14px;font-weight:650;letter-spacing:0;color:var(--play-shell-muted)}
/* New shared personality and earned-progress components supplied by views. */
.lumi-feedback{display:flex;gap:1rem;align-items:flex-start;color:var(--play-ink)}.lumi-feedback>img,.lumi-feedback .guide-mascot{width:64px;height:74px;object-fit:contain;flex-shrink:0;margin:0}.lumi-feedback>div{min-width:0}.lumi-feedback p{margin:.4rem 0}.journey-prompt{display:flex;gap:.9rem;align-items:center;background:#21494b;border:2px solid #77a79d;border-radius:20px;padding:1rem 1.2rem;margin:0 0 1.2rem;color:var(--play-shell-text)}.journey-prompt img{width:58px;height:66px;object-fit:contain;flex-shrink:0}.journey-prompt p{font-size:15px;line-height:1.6;margin:0}.journey-prompt strong{color:var(--play-mint)}.celebration{position:relative;display:flex;justify-content:center;align-items:center;gap:1rem;min-height:110px;margin:0 auto 1.2rem;width:fit-content;max-width:100%;padding:0 1.5rem}.celebration img{width:110px;height:120px;object-fit:contain;position:relative;z-index:1}.celebration:before,.celebration:after{content:"";position:absolute;pointer-events:none;width:15px;height:15px;background:var(--play-gold);clip-path:polygon(50% 0,62% 37%,100% 50%,62% 62%,50% 100%,37% 62%,0 50%,37% 37%)}.celebration:before{left:0;top:22%;transform:rotate(12deg)}.celebration:after{right:0;top:58%;background:var(--play-coral);transform:rotate(-15deg)}.milestone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin:1.25rem 0}.milestone-card{background:#F0F3E8;color:var(--play-ink);border:2px solid #93a798;border-radius:21px;padding:1.2rem;display:grid;align-content:start;gap:.55rem}.milestone-card h3{margin:0;font-size:18px}.milestone-card p{font-size:14px;line-height:1.6;margin:0;color:var(--play-muted)}.milestone-icon{width:54px;height:54px;display:grid;place-items:center;background:#e1e7db;color:#4b6265;border:2px solid #8a9e92;box-shadow:0 3px 0 #9dae9c;border-radius:17px;margin-bottom:.3rem}.milestone-icon svg{width:27px;height:27px}.milestone-status{font-size:13px;font-weight:800;color:var(--play-muted)}.milestone-card[data-earned=true]{background:var(--play-correct);border-color:#5a9d70;box-shadow:0 4px 0 #5a9d70}.milestone-card[data-earned=true] .milestone-icon{background:var(--play-mint);color:var(--play-mint-ink);border-color:#338e64;box-shadow:0 3px 0 #338e64}.milestone-card[data-earned=true] .milestone-status{color:var(--play-correct-ink)}.journal-hero{display:flex;align-items:center;gap:1.4rem;background:#21494b;border:2px solid #77a79d;border-radius:24px;padding:1.5rem;margin-bottom:1.5rem;color:var(--play-shell-text)}.journal-hero img{width:105px;height:118px;object-fit:contain;flex-shrink:0}.journal-hero h2{font-size:25px;margin:0 0 .5rem}.journal-hero p{font-size:16px;color:var(--play-shell-muted);margin:.4rem 0}.progress-meter{height:14px;border:2px solid #88a7a6;background:#173c42;border-radius:20px;overflow:hidden}.progress-meter>span,.progress-meter>div{display:block;height:100%;background:var(--play-mint);border-radius:20px;box-shadow:inset 0 -3px 0 #75bb98}
/* Consistent diagram captions and labels, rather than tiny technical footnotes. */
[class$="-demo"] figcaption,.abstract-map figcaption,.hud-demo figcaption,.scaling-demo figcaption{font-size:14px;line-height:1.65}.diagram-label{font-size:12px!important;letter-spacing:.07em}.position-pair p,.pair-readiness p,.objective-window p,.objective-cycle p,.vision-evidence p,.vision-limit-cards p,.ward-question p,.map-move-checks p,.lane-comparison p,.recall-steps p{font-size:15px!important}.trade-checklist span,.ability-limits span,.defence-pairs span{font-size:14px}.route-diagram span{font-size:14px}.route-diagram svg{width:20px;height:20px}
/* Dual contrasting focus rings work on both paper and the dark shell. */
button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.chapter-switcher>summary:focus-visible,.choice:focus-within,#feedback:focus-visible,#card-answer:focus-visible{outline:3px solid #103C32;outline-offset:3px;box-shadow:0 0 0 7px #FFFCF4}
@media(min-width:801px) and (max-width:1150px){.hero-copy{padding-left:1.5rem}.hero-copy h2{font-size:2.1rem}.chapter-choice.selected{padding:calc(.75rem - 1px) calc(1rem - 1px)}}
@media(max-width:800px){body{font-size:16px}main{padding:1rem 1rem 2rem}.page-heading h1{font-size:2.15rem}.page-heading>p:not(.eyebrow){font-size:15px}.app-topbar{font-size:11px;margin-bottom:1.2rem}.device-status{font-size:11px;max-width:120px}.app-topbar .status{font-size:11px}.hero-copy{padding:1.35rem}.hero-copy h2{font-size:1.9rem;max-width:none}.hero-copy p{font-size:15px}.hero-meta{font-size:12px}.hero-badge{font-size:11px}.hero-copy .actions>button.secondary{font-size:15px;min-height:50px}.panel,.unit-path{padding:1.2rem}.path-heading h2{font-size:1.4rem}.path-heading p{font-size:14px}.trail-step{grid-template-columns:44px minmax(0,1fr);gap:.5rem .8rem}.trail-node{width:44px;height:44px;border-radius:15px}.trail-connector{left:21px}.trail-copy strong{font-size:15px}.trail-copy p,.trail-copy .lesson-meta{font-size:13px}.trail-action,.trail-step>button.secondary{font-size:14px;min-height:48px}.chapter-current-kicker{font-size:11px}.chapter-current>strong{font-size:16px}.chapter-current>small{font-size:12px}.chapter-change{font-size:13px;max-width:78px}.chapter-choice strong{font-size:14px}.chapter-choice small{font-size:12px}.chapter-choice.selected{padding:calc(.8rem - 1px) calc(1rem - 1px)}.guide-card p,.chapter-card>p{font-size:14px}.guide-card .eyebrow{font-size:11px}.guide-card h2{font-size:21px}.journey-footnote{font-size:12px}.activity .teach-card{padding:1.2rem}.activity .teach-card h1{font-size:1.8rem}.activity .teach-card p{font-size:16px}.activity .teach-card p.status{font-size:13px}.activity .choice{font-size:16px;min-height:60px}.activity .eyebrow,.learning-layout .eyebrow,.question-card>.eyebrow{font-size:11px}.activity-head .text-button{font-size:14px}.activity-head .status{font-size:12px}.activity-progress-label .eyebrow{font-size:11px}.activity-reassurance{font-size:13px}.feedback p{font-size:15px!important}.feedback{padding:1rem}.feedback h2{font-size:17px}.completion-card h1{font-size:2rem}.completion-stats .stat strong{font-size:17px}.completion-stats .stat span{font-size:13px}.mission-card p{font-size:15px}.mission-check{font-size:14px;align-items:flex-start;line-height:1.65}.mission-check input{flex-shrink:0;margin-top:3px}.completion-card>.status{font-size:13px}.flashcard .term{font-size:2.2rem}.flashcard .definition{font-size:17px}.flashcard .status{font-size:14px}.guide-entry dt{font-size:21px}.guide-entry dd{font-size:15px}.settings-stack .panel>p{font-size:15px}.settings-stack .panel .status{font-size:13px}.more-card p{font-size:15px}.progress-overview h2{font-size:21px}.big-stat{font-size:2.7rem}.big-stat small{font-size:15px}.progress-overview .panel>p:last-child,.journal-note p{font-size:14px}.journal-note h2{font-size:22px}.welcome-copy h1{font-size:2.15rem}.welcome-copy .welcome-lead{font-size:21px}.welcome-copy>p{font-size:15px}.welcome-guide p{font-size:15px}.welcome-facts{font-size:12px}.welcome-copy>p.status{font-size:13px}.welcome-copy .eyebrow{font-size:11px}.scene-caption{font-size:24px}.focused-footer{font-size:13px}.lumi-feedback{gap:.7rem}.lumi-feedback>img,.lumi-feedback .guide-mascot{width:48px;height:58px}.journey-prompt{padding:.9rem 1rem;gap:.7rem}.journey-prompt img{width:48px;height:58px}.journey-prompt p{font-size:14px}.celebration img{width:90px;height:100px}.milestone-grid{grid-template-columns:1fr}.milestone-card{padding:1.1rem}.journal-hero{align-items:flex-start;gap:1rem;padding:1.2rem}.journal-hero img{width:70px;height:84px}.journal-hero h2{font-size:22px}.journal-hero p{font-size:15px}.modal h2{font-size:23px}.modal p{font-size:15px}.notice{font-size:15px}.bottom-nav a{font-size:12px;min-height:58px}.bottom-nav .nav-icon{width:19px;height:19px}}
@media(max-width:360px){.journal-hero{flex-direction:column}.journal-hero img{width:66px;height:76px}.chapter-change{font-size:12px;max-width:64px}.hero-copy .actions>*{min-width:0}.lumi-feedback>img{width:40px;height:50px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:hover,.button:hover,button:active,.button:active{transform:none}}
html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-reduce-motion=true] button:hover,html[data-reduce-motion=true] .button:hover,html[data-reduce-motion=true] button:active,html[data-reduce-motion=true] .button:active{transform:none}
@media(forced-colors:active){button,.button,.panel,.unit-path,.chapter-card,.guide-card,.chapter-switcher,.chapter-choice,.choice,.feedback,.milestone-card,.milestone-icon,.journey-prompt,.journal-hero{border:2px solid CanvasText;box-shadow:none}.choice:has(input:checked),.chapter-choice.selected,nav a[aria-current=page]{outline:2px solid Highlight}.milestone-status{color:CanvasText}.progress>span,.progress-meter>span,.progress-meter>div{background:Highlight}.celebration:before,.celebration:after{display:none}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.choice:focus-within,#feedback:focus-visible,#card-answer:focus-visible{outline:3px solid Highlight;box-shadow:none}}
/* Integration details: labelled wrappers, explicit answer outcomes and early CTA. */
.panel a.button,.notice a.button,.feedback a.button{color:#fff}.panel a.button.secondary,.notice a.button.secondary,.feedback a.button.secondary{color:var(--play-ink)}.hero-copy .button:not(.secondary){background:var(--play-mint);color:var(--play-mint-ink);border:2px solid #5bab82;box-shadow:0 4px 0 #4f9671}.hero-copy .button:not(.secondary):active{box-shadow:0 1px 0 #4f9671}.adventure-hero .hero-badge{color:var(--play-gold);background:#24464a;border-color:#a78d4f}.choice.answer-correct{background:var(--play-correct);border:3px solid var(--play-correct-ink);padding:calc(1rem - 1px);box-shadow:0 3px 0 var(--play-correct-ink)}.choice.answer-incorrect{background:var(--play-revisit);border:3px solid var(--play-revisit-ink);padding:calc(1rem - 1px);box-shadow:0 3px 0 var(--play-revisit-ink)}.progress-meter{height:auto;border:0;background:transparent;overflow:visible;border-radius:0;margin:1.2rem 0}.progress-meter>.progress{display:block;height:12px;background:#31565c;border:1px solid #6a8c8e;border-radius:20px;box-shadow:none}.progress-meter>.status{display:block;height:auto;background:transparent;box-shadow:none;border-radius:0;font-size:14px;text-align:center;color:var(--play-shell-muted);margin:.6rem 0 0}.celebration-stars{position:absolute;inset:0;pointer-events:none;color:var(--play-gold)}.celebration-stars svg{position:absolute;width:18px;height:18px;top:8%;left:15%}.celebration-stars svg:nth-child(2){left:auto;right:3%;top:25%;color:var(--play-coral)}.celebration-stars svg:nth-child(3){left:0;top:65%;color:var(--play-cyan)}.celebration[data-mood=practice]:before,.celebration[data-mood=practice]:after{background:var(--play-cyan)}.celebration:has(.celebration-stars):before,.celebration:has(.celebration-stars):after{display:none}
@media(max-width:800px){.hero-copy{order:0}.hero-scene{order:1;height:95px}.hero-scene img{height:95px;object-position:67% 59%}.hero-scene:after{background:linear-gradient(180deg,#15363b,transparent 75%)}.hero-meta{font-size:13px}.hero-badge{font-size:12px}.activity .eyebrow,.learning-layout .eyebrow,.question-card>.eyebrow,.activity-progress-label .eyebrow{font-size:12px}.chapter-current-kicker{font-size:12px}.chapter-current>small,.chapter-choice small{font-size:13px}.app-topbar,.app-topbar .status,.device-status{font-size:12px}.guide-card .eyebrow{font-size:12px}.milestone-card h3{font-size:18px}.progress-meter>.status{font-size:13px}.hero-copy .actions{margin-top:1.15rem}}
@media(forced-colors:active){.choice.answer-correct,.choice.answer-incorrect{border:3px solid CanvasText;box-shadow:none}.choice.answer-correct{outline:2px solid Highlight}.celebration-stars{display:none}}
.milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.milestone-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:.8rem}.milestone-heading h2{margin:.35rem 0 .5rem}.milestone-heading>p{font-size:14px;color:var(--play-shell-muted);margin:0 0 .5rem}.milestone-status{display:flex;align-items:flex-start;gap:.4rem}.milestone-status svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}.celebration+.summary-emblem{display:none}.journal-hero .button:not(.secondary){background:var(--play-mint);color:var(--play-mint-ink);border:2px solid #5bab82;box-shadow:0 4px 0 #4f9671}.journal-hero .button.secondary,main>.actions .secondary{background:#173c42;color:var(--play-shell-text);border:2px solid #80a6a7;box-shadow:0 3px 0 #436c70}.journal-hero>.actions{margin-top:1rem}@media(min-width:601px) and (max-width:1100px){.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.milestone-grid{grid-template-columns:1fr}}
/* Submitted semantic state must outrank the unsubmitted selected-radio style. */
.choice.answer-correct:has(input:checked){background:var(--play-correct);border:3px solid var(--play-correct-ink);padding:calc(1rem - 1px);box-shadow:0 3px 0 var(--play-correct-ink)}.choice.answer-incorrect:has(input:checked){background:var(--play-revisit);border:3px solid var(--play-revisit-ink);padding:calc(1rem - 1px);box-shadow:0 3px 0 var(--play-revisit-ink)}
@media(forced-colors:active){.choice.answer-correct:has(input:checked),.choice.answer-incorrect:has(input:checked){border:3px solid CanvasText;box-shadow:none;outline:2px solid Highlight}}


/* Source: motion.css */
/* Motion mini owns finite animations. The default page is always fully visible. */
:root {
  --motion-ease-out: cubic-bezier(.22,.75,.25,1);
  --motion-duration-short: 150ms;
  --motion-duration-enter: 260ms;
}
.motion-active { backface-visibility: hidden; }
/* Keep game text, answer choices and focus affordances available during every cue. */
.feedback-mascot, .celebration-mascot, .welcome-mascot,
.journal-mascot, .guide-mascot, .flashcard-mark { pointer-events: none; }
@media(prefers-reduced-motion:reduce) {
  #app .motion-active { animation: none !important; transition: none !important; transform: none !important; }
}
html[data-reduce-motion=true] #app .motion-active {
  animation: none !important; transition: none !important; transform: none !important;
}
@media(forced-colors:active) {
  #app .motion-active { animation: none !important; transition: none !important; transform: none !important; }
}

/* Replaced by explicit Motion events; old challenge CSS must not replay on remount. */
#app .challenge-celebration img,
#app .challenge-celebration::before,
#app .challenge-celebration::after { animation: none !important; }


/* Source: league-art.css */
/* Official asset recognition remains secondary to the learning action. */
.league-hero{margin:0;position:relative;overflow:hidden;min-width:0;isolation:isolate;background:#15363b}
.league-hero .league-image-wrap{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;background:#15363b}
.league-hero img{width:100%;height:100%;object-fit:cover;object-position:76% 38%;position:absolute;inset:0;min-height:0}
.league-art-caption{position:absolute;z-index:3;right:12px;bottom:12px;max-width:calc(100% - 24px);margin:0;padding:7px 10px;background:#102d34ed;color:#f7fcf2;border:1px solid #799799;border-radius:9px;font-size:13px;line-height:1.45;text-align:right}
.league-art-caption a{color:#a8eff1;text-underline-offset:3px}
.league-recognition{margin:1.4rem 0;padding:1.2rem;background:#14383f;border:2px solid #5a8186;border-radius:20px;color:#f7fcf2}
.league-recognition h2{font-size:1.25rem;margin:0 0 .45rem}.league-recognition>p{font-size:14px;line-height:1.65;margin:.35rem 0 .85rem;color:#c5ddda}
.league-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.75rem;align-items:start}
.league-champion{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.8rem .45rem;background:#21494b;border:1px solid #6a8e8b;border-radius:15px;min-width:0;text-align:center}
.league-champion .league-image-wrap{width:64px;height:64px;min-width:64px;min-height:64px;border:2px solid #93c7b2;border-radius:15px;overflow:hidden;background:#0a252b;position:relative;flex-shrink:0}
.league-champion img{width:64px;height:64px;max-width:100%;object-fit:cover;object-position:center}
.league-champion strong,.league-champion>span:not(.league-image-wrap){font-size:14px;font-weight:750;line-height:1.4;color:#f7fcf2;overflow-wrap:anywhere}
.league-examples{margin:1.3rem 0;padding:1.2rem;background:#edf3e7;border:2px solid #a5bba7;border-radius:18px;color:#172f35}
.league-examples h2{font-size:1.2rem;margin:0 0 .45rem}.league-examples>p{font-size:15px;line-height:1.65;margin:.35rem 0 .8rem}.league-examples .eyebrow{color:#70420d}
.league-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.8rem;margin:.9rem 0}
.league-icon-example{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.3rem .7rem;align-content:start;padding:1rem;background:#fffcf4;border:1px solid #82988c;border-radius:14px;min-width:0}
.league-icon-example .league-image-wrap{grid-row:1/3;width:48px;height:48px;min-width:48px;min-height:48px;border-radius:11px;border:1px solid #718c7b;overflow:hidden;background:#e1e7db;position:relative}
.league-icon-example img{width:48px;height:48px;max-width:100%;object-fit:contain;background:#102d34}
.league-icon-example strong{font-size:15px;line-height:1.4;align-self:end;font-weight:800;overflow-wrap:anywhere}.league-icon-example>span:not(.league-image-wrap){grid-column:2;font-size:13px;line-height:1.55;color:#4b6265;overflow-wrap:anywhere}
.league-examples figcaption{font-size:14px;line-height:1.65;margin:.85rem 0 0;color:#4b6265}
/* Text fallbacks retain each reserved image box without hiding its label. */
.league-image-wrap{position:relative;display:block}.league-image-fallback{display:none;position:absolute;inset:0;align-items:center;justify-content:center;padding:.35rem;text-align:center;color:#f7fcf2;background:#21494b;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.league-image-wrap.image-unavailable img,.league-image-wrap img[hidden]{display:none!important}.league-image-wrap.image-unavailable .league-image-fallback{display:flex}
.league-icon-example .league-image-fallback{background:#e1e7db;color:#4b6265;font-size:10px;padding:2px}.league-hero .league-image-fallback{font-size:14px;padding:1rem 1rem 3.2rem;background:#15363b;color:#c5ddda}
.riot-notice{max-width:1100px;margin:1.8rem auto 0;padding:1.2rem 1rem;color:#c5ddda;border-top:1px solid #66868a;font-size:14px;line-height:1.7;text-align:left}
.riot-notice small{font-size:14px;line-height:1.7;display:block}.riot-notice p{font-size:14px;line-height:1.7;max-width:none;margin:.4rem 0}.riot-notice a{color:#a8eff1;text-decoration:underline;text-underline-offset:3px;display:inline;overflow-wrap:anywhere}.riot-notice a:focus-visible,.league-art-caption a:focus-visible{outline:3px solid #103c32;outline-offset:3px;box-shadow:0 0 0 7px #fffcf4}
@media(max-width:1150px) and (min-width:801px){.league-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.league-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.league-hero{height:95px;min-height:95px;order:1}.league-hero img{height:95px;object-position:76% 42%}.league-art-caption{bottom:7px;right:8px;max-width:calc(100% - 16px);padding:4px 7px;font-size:12px;line-height:1.4;border-radius:7px}.league-recognition{padding:1rem;margin:1.1rem 0}.league-recognition h2{font-size:1.2rem}.league-recognition>p{font-size:14px}.league-roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.league-champion{padding:.7rem .3rem;gap:.4rem}.league-champion strong,.league-champion>span:not(.league-image-wrap){font-size:13px}.league-examples{padding:1rem}.league-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.league-icon-example{grid-template-columns:1fr;padding:.8rem}.league-icon-example .league-image-wrap{grid-row:auto}.league-icon-example strong{font-size:14px}.league-icon-example>span:not(.league-image-wrap){grid-column:auto;font-size:13px}.league-examples figcaption{font-size:14px}.league-hero .league-image-fallback{font-size:13px;padding:.7rem .8rem 2.7rem}.riot-notice{font-size:14px;margin-top:1.4rem;padding:1rem .3rem}}
@media(max-width:360px){.league-roster{grid-template-columns:repeat(2,minmax(0,1fr))}.league-icon-grid{grid-template-columns:1fr}.league-icon-example{grid-template-columns:48px minmax(0,1fr)}.league-icon-example .league-image-wrap{grid-row:1/3}.league-icon-example>span:not(.league-image-wrap){grid-column:2}}
@media(forced-colors:active){.league-recognition,.league-champion,.league-examples,.league-icon-example,.league-art-caption,.league-image-wrap{border:1px solid CanvasText}.league-art-caption,.league-image-fallback{color:CanvasText;background:Canvas}.riot-notice{border-top:1px solid CanvasText}.riot-notice a,.league-art-caption a{color:LinkText}}
/* Recognition cards need room for actual ability names, not broken syllables. */
.league-icon-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media(max-width:800px){.league-hero{height:160px;min-height:160px}.league-hero img{height:160px;object-position:76% 38%}.league-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.league-icon-grid{grid-template-columns:1fr}}
@media(max-width:800px){.league-hero.hero-scene:after{background:linear-gradient(180deg,#15363b40,transparent 55%)}}


/* Source: question-media.css */
/* Quiz references are optional recognition aids, never required visual clues. */
.quiz-media{margin:1.2rem 0;padding:1.1rem;background:#edf3e7;border:2px solid #a5bba7;border-radius:19px;color:#172f35}
.quiz-media h2,.quiz-media-title{font-family:var(--play-font,system-ui,sans-serif);font-size:17px;font-weight:800;line-height:1.45;margin:0 0 .55rem;letter-spacing:0}
.quiz-media-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin:.8rem 0;max-width:100%}
.quiz-media-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.55rem;background:#fffcf4;border:2px solid #82988c;border-radius:16px;padding:.9rem .65rem;min-width:0;text-align:center;box-shadow:0 3px 0 #b3c3b2}
.quiz-media-card .league-image-wrap{position:relative;width:80px;height:80px;min-width:80px;min-height:80px;border:2px solid #7b9b8b;border-radius:16px;overflow:hidden;background:#e1e7db;flex-shrink:0}
.quiz-media-card img{display:block;width:100%;height:100%;object-fit:contain;background:#102d34}.quiz-media-card[data-image-type=portrait] img{object-fit:cover}
.quiz-media-card strong,.quiz-media-card>.quiz-media-label,.quiz-media-card>span:not(.league-image-wrap){font-size:14px;line-height:1.5;font-weight:750;color:#172f35;overflow-wrap:anywhere;margin:0;max-width:100%}
.quiz-media-card p{font-size:14px!important;line-height:1.55;margin:0;color:#4b6265}
.quiz-media figcaption{font-size:14px;line-height:1.65;color:#4b6265;margin:.75rem 0 0;text-align:left}
.quiz-media-note{font-size:13px!important;line-height:1.65;color:#4b6265;margin:.75rem 0 0;padding-top:.65rem;border-top:1px solid #a5bba7}
.quiz-media .league-image-fallback{font-size:11px;line-height:1.4;color:#4b6265;background:#e1e7db;padding:4px;text-align:center}
/* Choice artwork is consistently weighted; the native radio keeps its semantics. */
.choices.visual-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;align-items:stretch}
.choices.visual-choices legend{grid-column:1/-1}
.choices.visual-choices .choice{display:grid;grid-template-columns:20px 56px minmax(0,1fr);column-gap:.7rem;row-gap:.4rem;align-items:center;align-content:center;min-width:0;min-height:100px;padding:1rem;position:relative;text-align:left}
.choices.visual-choices .choice input{width:19px;height:19px;min-width:19px;margin:0;align-self:center}
.quiz-choice-art{position:relative;display:block;width:56px;height:56px;min-width:56px;min-height:56px;overflow:hidden;flex-shrink:0;border:1px solid #7b9b8b;border-radius:12px;background:#e1e7db}
.quiz-choice-art img{display:block;width:100%;height:100%;object-fit:contain;background:#102d34}
.choices.visual-choices .choice>span:not(.quiz-choice-art):not(.league-image-wrap):not(.option-index):not(.option-text){min-width:0;font-size:16px;line-height:1.55;overflow-wrap:break-word;color:#172f35}
.choices.visual-choices .choice:has(input:checked){padding:calc(1rem - 1px)}
.choices.visual-choices .choice.answer-correct,.choices.visual-choices .choice.answer-incorrect{padding:calc(1rem - 1px)}
.quiz-choice-art .league-image-fallback{font-size:10px;line-height:1.3;color:#4b6265;background:#e1e7db;padding:2px}
.quiz-media .image-unavailable img,.quiz-choice-art.image-unavailable img,.quiz-choice-art img[hidden]{display:none!important}
.quiz-media .image-unavailable .league-image-fallback,.quiz-choice-art.image-unavailable .league-image-fallback{display:flex;align-items:center;justify-content:center;position:absolute;inset:0}
@media(min-width:1100px){.quiz-media-images:has(>.quiz-media-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.quiz-media{padding:1rem;margin:1rem 0}.quiz-media-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.quiz-media-card{padding:.8rem .5rem}.quiz-media-card .league-image-wrap{width:64px;height:64px;min-width:64px;min-height:64px;border-radius:14px}.quiz-media-card strong,.quiz-media-card>.quiz-media-label,.quiz-media-card>span:not(.league-image-wrap){font-size:14px}.quiz-media-title,.quiz-media h2{font-size:16px}.quiz-media-note{font-size:13px!important}.choices.visual-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.choices.visual-choices .choice{grid-template-columns:20px minmax(0,1fr);gap:.6rem;min-height:144px;align-content:start;padding:.9rem}.choices.visual-choices .choice input{align-self:start;margin-top:4px}.choices.visual-choices .quiz-choice-art{grid-column:2;grid-row:1}.choices.visual-choices .choice>span:not(.quiz-choice-art):not(.league-image-wrap):not(.option-index):not(.option-text){grid-column:1/-1;font-size:15px}.choices.visual-choices .choice:has(input:checked),.choices.visual-choices .choice.answer-correct,.choices.visual-choices .choice.answer-incorrect{padding:calc(.9rem - 1px)}}
@media(max-width:360px){.quiz-media-images,.choices.visual-choices{grid-template-columns:1fr}.quiz-media-card{flex-direction:row;text-align:left;justify-content:flex-start;gap:.8rem;padding:.8rem}.quiz-media-card .league-image-wrap{width:64px;height:64px;min-width:64px;min-height:64px}.choices.visual-choices .choice{grid-template-columns:20px 56px minmax(0,1fr);min-height:100px;align-content:center;align-items:center;gap:.65rem}.choices.visual-choices .choice input{margin:0;align-self:center}.choices.visual-choices .quiz-choice-art{grid-column:2;grid-row:auto}.choices.visual-choices .choice>span:not(.quiz-choice-art):not(.league-image-wrap):not(.option-index):not(.option-text){grid-column:3;font-size:15px}}
@media(forced-colors:active){.quiz-media,.quiz-media-card,.quiz-media-card .league-image-wrap,.quiz-choice-art{border:2px solid CanvasText;box-shadow:none}.quiz-media-note{border-top:1px solid CanvasText}.quiz-media .league-image-fallback,.quiz-choice-art .league-image-fallback{color:CanvasText;background:Canvas}.choices.visual-choices .choice:has(input:checked){outline:2px solid Highlight}}
.quiz-choice-art .league-image-wrap{width:100%;height:100%;min-width:0;min-height:0;position:relative;overflow:hidden;border-radius:inherit}.quiz-choice-art .league-image-wrap img{width:100%;height:100%}


/* Source: refinement.css */
/* Focused polish after the source/screen audit; the identity stays unchanged. */
.activity .question-card h1{font-size:clamp(1.65rem,2.5vw,2.15rem);line-height:1.28;letter-spacing:-.025em;margin:.55rem 0 1.1rem;max-width:36ch}
.activity .question-card.long-question h1{font-size:clamp(1.55rem,2.1vw,1.95rem);line-height:1.35;max-width:42ch}
.question-card .question-assumptions{font-size:15px;line-height:1.65;padding:.75rem .9rem;margin:1rem 0}
.question-card .quiz-media{padding:.95rem;margin:1rem 0}.question-card .quiz-media-images{margin:.65rem 0;gap:.65rem}.question-card .quiz-media-card{padding:.75rem .55rem}.question-card .quiz-media-note,.question-card .quiz-media figcaption{line-height:1.6;margin-top:.65rem}
.activity-progress-label{align-items:flex-start;gap:.75rem}.activity-progress-label>span{font-size:13px;line-height:1.55;text-align:right;max-width:42%}.activity-progress-label .eyebrow{line-height:1.6}.activity-progress-note{font-size:13px;color:var(--play-shell-muted,#c5ddda);margin:.45rem 0 0;line-height:1.6}
/* Session controls state which cards will change before a new set starts. */
.review-session-builder{padding:1.1rem 1.2rem;border:2px solid #6d9691;background:#14383f;border-radius:19px;margin:1.1rem 0;color:#f7fcf2}.review-session-builder h2{font-size:1.2rem;margin:0 0 .65rem}.review-session-builder p{font-size:14px;line-height:1.65;color:#c5ddda;margin:.5rem 0}.review-session-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem}.review-session-controls>label{display:flex;flex-direction:column;gap:.4rem;flex:1 1 180px;min-width:0;font-size:14px;font-weight:750;line-height:1.55}.review-session-controls select{font:inherit;font-weight:500;width:100%;min-height:48px;padding:.65rem 2rem .65rem .75rem;background:#fffcf4;color:#172f35;border:2px solid #82988c;border-radius:12px;max-width:100%}.review-session-controls input[type=checkbox]{width:19px;height:19px;accent-color:#087e68;flex-shrink:0}.review-session-controls>label:has(input[type=checkbox]){flex-direction:row;align-items:center;min-height:48px;font-weight:500}.review-session-controls button{min-height:48px}.review-session-controls .secondary{background:#173c42;color:#f7fcf2;border-color:#80a6a7;box-shadow:0 3px 0 #436c70}#review-session-status{font-size:14px;line-height:1.65;min-height:1.65em;margin:.7rem 0 0;color:#c5ddda}.review-session-builder .status{font-size:14px;color:#c5ddda}#review-session-form{margin:0}
/* Simple native filters keep all reference material discoverable. */
.guide-filters{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0;align-items:center}.guide-filters button{background:#173c42;color:#f7fcf2;border:2px solid #80a6a7;border-radius:999px;min-height:46px;font-size:14px;padding:.55rem 1rem;box-shadow:0 3px 0 #436c70}.guide-filters button[aria-pressed=true]{background:#a7f3c5;color:#103c32;border-color:#5bab82;box-shadow:0 3px 0 #4f9671}.guide-filters button:active{box-shadow:none}.guide-filters button:disabled{background:#e1e7db;color:#4b6265;border-color:#82988c;box-shadow:none}#search-status{font-size:14px;line-height:1.65;margin:.8rem 0;min-height:1.65em}#guide-empty{padding:1.2rem;border:2px dashed #85a29c;border-radius:18px;background:#14383f;color:#f7fcf2;margin:1rem 0}#guide-empty[hidden]{display:none!important}#guide-empty h2,#guide-empty h3{font-size:1.2rem;margin:0 0 .5rem}#guide-empty p{font-size:15px;line-height:1.65;color:#c5ddda;margin:.5rem 0}#guide-empty .secondary{background:#173c42;color:#f7fcf2;border-color:#80a6a7;box-shadow:0 3px 0 #436c70}
/* Inspection is a distinct button, never a nested answer-label interaction. */
.inspect-art{position:relative;z-index:4;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;font-size:13px;line-height:1.4;padding:.5rem .75rem;margin:.6rem 0 0;background:#173c42;color:#f7fcf2;border:2px solid #80a6a7;border-radius:11px;box-shadow:0 2px 0 #436c70}.inspect-art svg{width:16px;height:16px}.inspect-art:active{box-shadow:none}.quiz-media .inspect-art{background:#fffcf4;color:#172f35;border-color:#82988c;box-shadow:0 2px 0 #82988c}.league-hero .inspect-art{position:absolute;right:12px;top:12px;margin:0;background:#102d34ed;color:#f7fcf2}.league-champion .inspect-art{font-size:12px;padding:.45rem .55rem;width:100%;margin-top:.2rem}.league-art-caption:has(+.inspect-art){max-width:calc(100% - 24px)}
dialog.art-inspector{width:min(900px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:2px solid #a5bba7;border-radius:22px;background:#fffcf4;color:#172f35;overflow:auto;box-shadow:0 20px 75px #0006}.art-inspector::backdrop{background:#03191ce6}.art-inspector-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#fffcf4;border-bottom:1px solid #a5bba7;border-radius:20px 20px 0 0}.art-inspector-head h2,.art-inspector-head h3{font-size:1.3rem;line-height:1.4;margin:0;overflow-wrap:anywhere}.art-inspector-head button{flex-shrink:0;min-width:44px;min-height:44px;padding:.5rem .8rem;font-size:14px}.art-inspector figure{margin:0;padding:1.2rem;background:#edf3e7}.art-inspector figure>img{display:block;width:100%;max-height:64dvh;height:auto;object-fit:contain;object-position:center;background:#102d34;border-radius:13px}.art-inspector figure>.league-image-wrap{width:100%;height:min(60dvh,580px);min-height:180px;position:relative;overflow:hidden;background:#102d34;border-radius:13px}.art-inspector .league-image-wrap img{width:100%;height:100%;object-fit:contain}.art-inspector .league-image-fallback{font-size:15px;line-height:1.65;color:#c5ddda;background:#14383f;padding:1rem}.art-inspector figcaption{font-size:14px;line-height:1.65;margin:.9rem 0 0;color:#4b6265}.art-inspector p{font-size:15px;line-height:1.65}.art-inspector a{color:#0b6f85}
/* Notice remains readable; remove only excess space around repeated activity tails. */
.focused-shell .riot-notice{margin-top:1.2rem;padding-top:.9rem;padding-bottom:.6rem}.focused-shell .riot-notice p{margin:.35rem 0;line-height:1.65}.focused-shell .focused-footer{padding-top:.5rem;padding-bottom:1.1rem;margin:0}.focused-shell main{padding-bottom:1.4rem}
.review-session-controls select:focus-visible,.guide-filters button:focus-visible,.inspect-art:focus-visible,.art-inspector button:focus-visible,.art-inspector a:focus-visible{outline:3px solid #103c32;outline-offset:3px;box-shadow:0 0 0 7px #fffcf4}
@media(max-width:800px){.activity .question-card h1{font-size:1.6rem;line-height:1.3;letter-spacing:-.02em;margin:.45rem 0 .95rem;max-width:none}.activity .question-card.long-question h1{font-size:1.5rem;line-height:1.35;max-width:none}.question-card .question-assumptions{font-size:14px;padding:.7rem .85rem;margin:.85rem 0}.question-card .quiz-media{padding:.85rem;margin:.85rem 0}.question-card .quiz-media h2,.question-card .quiz-media-title{font-size:15px}.question-card .quiz-media-card{padding:.65rem .45rem}.question-card .quiz-media-note,.question-card .quiz-media figcaption{font-size:13px;line-height:1.6}.activity-progress-label>span{display:none}.review-session-builder{padding:1rem}.review-session-controls{gap:.75rem}.review-session-controls>label{flex-basis:100%}.review-session-controls button{flex:1 1 140px;min-height:48px}#review-session-status{font-size:14px}.guide-filters{gap:.55rem}.guide-filters button{font-size:14px;min-height:46px}.inspect-art{font-size:13px;min-height:44px}.league-hero .inspect-art{right:8px;top:8px;font-size:12px;padding:.4rem .6rem}.league-champion .inspect-art{font-size:12px}.art-inspector-head{padding:.85rem 1rem;gap:.65rem}.art-inspector-head h2,.art-inspector-head h3{font-size:1.15rem}.art-inspector figure{padding:1rem}.art-inspector figure>img{max-height:58dvh}.art-inspector figure>.league-image-wrap{height:52dvh;min-height:160px}.art-inspector figcaption{font-size:14px}.focused-shell .riot-notice{margin-top:1rem;padding-bottom:.4rem}.focused-shell main{padding-bottom:1rem}.focused-shell .focused-footer{padding-bottom:1rem}}
@media(prefers-reduced-motion:reduce){.inspect-art,.guide-filters button,.review-session-controls button{animation:none!important;transition:none!important;transform:none!important}}html[data-reduce-motion=true] .inspect-art,html[data-reduce-motion=true] .guide-filters button,html[data-reduce-motion=true] .review-session-controls button{animation:none!important;transition:none!important;transform:none!important}
@media(forced-colors:active){.review-session-builder,.guide-filters button,#guide-empty,.inspect-art,.art-inspector,.art-inspector-head,.review-session-controls select{border:2px solid CanvasText;box-shadow:none}.guide-filters button[aria-pressed=true]{outline:2px solid Highlight}.review-session-controls select:focus-visible,.guide-filters button:focus-visible,.inspect-art:focus-visible,.art-inspector button:focus-visible,.art-inspector a:focus-visible{outline:3px solid Highlight;box-shadow:none}.art-inspector .league-image-fallback{color:CanvasText;background:Canvas}}
/* Hero inspection lives in its own lower strip, never on top of the artwork. */
.league-hero:has(.inspect-art) .league-image-wrap{inset:0 0 56px;height:auto}.league-hero:has(.inspect-art) img{height:100%}.league-hero:has(.inspect-art):before,.league-hero:has(.inspect-art):after{bottom:56px}.league-hero:has(.inspect-art) .league-art-caption{bottom:66px}.league-hero .inspect-art{position:absolute;top:auto;right:12px;bottom:6px;margin:0;font-size:13px;min-height:44px;padding:.45rem .7rem}.league-icon-example .inspect-art{grid-column:1/-1;justify-self:start;min-height:44px;font-size:13px;padding:.45rem .65rem}.quiz-media-card .inspect-art{font-size:13px;min-height:44px;padding:.45rem .65rem}.league-champion .inspect-art{background:transparent;border:1px solid #80a6a7;box-shadow:none;min-height:44px;font-weight:650;padding:.4rem .45rem}
@media(max-width:800px){.league-hero:has(.inspect-art){height:216px;min-height:216px}.league-hero:has(.inspect-art) img{height:100%}.league-hero .inspect-art{top:auto;right:8px;bottom:6px;font-size:12px;min-height:44px}.league-icon-example .inspect-art,.quiz-media-card .inspect-art{font-size:12px;min-height:44px}}
[data-guide-scope][hidden],.guide-list[hidden],.guide-list [data-guide][hidden]{display:none!important}.review-chooser{margin:1.1rem 0}.review-chooser .review-session-controls{margin:0}.review-chooser .review-session-controls>div{min-width:0}
/* Integrated form uses sibling labels/selects; keep the checkbox on readable paper. */
.review-session-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:.75rem 1rem;align-items:start}.review-session-controls>label[for=review-chapter]{grid-column:1;grid-row:1}.review-session-controls>select{grid-column:1;grid-row:2}.review-session-controls>.choice{grid-column:2;grid-row:2;background:#fffcf4;color:#172f35;min-height:48px;line-height:1.6}.review-session-controls>.status{grid-column:1/-1}.review-session-controls>button{grid-column:1/-1;justify-self:start}.art-inspector figure>img[hidden],.art-inspector .league-image-wrap img[hidden]{display:none!important}
@media(max-width:800px){.review-session-controls{grid-template-columns:minmax(0,1fr)}.review-session-controls>label[for=review-chapter],.review-session-controls>select,.review-session-controls>.choice,.review-session-controls>.status,.review-session-controls>button{grid-column:1;grid-row:auto}.review-session-controls>button{justify-self:stretch}}

.art-inspector figure>img.icon-detail{width:min(256px,100%);margin-inline:auto;image-rendering:auto}
/* Keep the glossary icon clear of typed and placeholder text. */
.search input{padding-inline-start:46px;min-width:0}.search-icon{pointer-events:none}


/* Source: challenges.css */
/* Optional unscored picture practice: drag is an enhancement, buttons remain primary. */
.challenge-board{background:var(--play-paper,#fffcf4);color:var(--play-ink,#172f35);border:2px solid #a5bba7;border-radius:24px;padding:1.5rem;box-shadow:0 5px 0 #789d8633;margin:1.2rem 0}
.challenge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.challenge-head h1,.challenge-head h2{font-family:var(--play-font,system-ui,sans-serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;line-height:1.25;margin:.3rem 0 .6rem}.challenge-head p{font-size:15px;line-height:1.65;margin:.4rem 0;color:#4b6265}.challenge-head .eyebrow{font-size:12px;color:#70420d}.challenge-head img{width:68px;height:78px;object-fit:contain;flex-shrink:0}.challenge-status{font-size:14px;line-height:1.6;color:#4b6265;margin:.8rem 0;min-height:1.6em}.challenge-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);gap:1.2rem;align-items:start;margin:1rem 0}.challenge-tray,.challenge-targets{display:grid;gap:.8rem;min-width:0}.challenge-tray h2,.challenge-tray h3,.challenge-targets h2,.challenge-targets h3{font-size:16px;line-height:1.4;margin:0 0 .25rem;font-weight:800}.challenge-tray>p,.challenge-targets>p{font-size:14px;color:#4b6265;margin:0 0 .4rem}
.challenge-piece{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:.65rem;align-items:center;min-height:76px;width:100%;text-align:left;background:#fffcf4;color:#172f35;border:2px solid #82988c;border-radius:16px;padding:.85rem;box-shadow:0 3px 0 #82988c;font-size:15px;line-height:1.5;font-weight:750;touch-action:pan-y;cursor:pointer;min-width:0}.challenge-piece:has(.challenge-art){grid-template-columns:56px minmax(0,1fr) 24px}.challenge-piece>span:not(.challenge-art):not(.challenge-drag-handle){min-width:0;overflow-wrap:break-word}.challenge-piece[aria-pressed=true]{background:#e4f4f5;color:#145b66;border:3px solid #145b66;padding:calc(.85rem - 1px);box-shadow:0 3px 0 #145b66}.challenge-piece[data-placed=true]{background:#edf3e7;color:#4b6265;border-style:dashed;box-shadow:0 2px 0 #9dad9d}.challenge-piece[data-placed=true][aria-pressed=true]{background:#e4f4f5;color:#145b66;border-style:solid}.challenge-piece:active{transform:translateY(2px);box-shadow:none}.challenge-art{display:block;width:56px;height:56px;min-width:56px;min-height:56px;position:relative;overflow:hidden;border:1px solid #7b9b8b;border-radius:13px;background:#e1e7db}.challenge-art .league-image-wrap{width:100%;height:100%;min-width:0;min-height:0;position:relative;overflow:hidden;border-radius:inherit}.challenge-art img{display:block;width:100%;height:100%;object-fit:contain;background:#102d34}.challenge-art[data-image-type=portrait] img{object-fit:cover}.challenge-art img[hidden]{display:none!important}.challenge-art .league-image-fallback{font-size:10px;line-height:1.3;background:#e1e7db;color:#4b6265;padding:2px}.challenge-drag-handle,[data-drag-handle]{display:grid;place-items:center;min-width:24px;min-height:40px;border-radius:8px;color:#4b6265;background:#edf3e7;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.challenge-drag-handle svg,[data-drag-handle] svg{width:18px;height:18px;pointer-events:none}
.challenge-target{width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.55rem;min-height:94px;background:#edf3e7;color:#172f35;border:2px dashed #718d7d;border-radius:17px;padding:1rem;text-align:left;font-size:15px;line-height:1.55;box-shadow:none;cursor:pointer;min-width:0}.challenge-target>strong{font-size:16px;font-weight:800}.challenge-target>span,.challenge-target>p{font-size:14px;line-height:1.55;margin:0;overflow-wrap:break-word}.challenge-target[data-state=filled]{background:#fffcf4;border-style:solid;box-shadow:0 3px 0 #82988c}.challenge-target[data-drag-over=true]{background:#e4f4f5;border:3px solid #145b66;padding:calc(1rem - 1px);box-shadow:0 0 0 3px #a8eff1}.challenge-target[data-state=correct]{background:#e1f7e6;border:3px solid #185b36;padding:calc(1rem - 1px);box-shadow:0 3px 0 #5a9d70}.challenge-target[data-state=incorrect]{background:#fff0da;border:3px solid #70420d;padding:calc(1rem - 1px);box-shadow:0 3px 0 #b69250}.challenge-target:disabled{opacity:1;cursor:default;color:#172f35}.challenge-placed{display:block;background:#e4f4f5;color:#145b66;border:1px solid #7eaaab;border-radius:10px;padding:.5rem .65rem;font-size:14px;font-weight:750;line-height:1.5;overflow-wrap:break-word}.challenge-target[data-state=correct] .challenge-placed{background:#c9edcf;color:#185b36;border-color:#79a487}.challenge-target[data-state=incorrect] .challenge-placed{background:#f7e4bd;color:#70420d;border-color:#ba985b}
.challenge-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:1.2rem 0 .65rem}.challenge-actions button{min-height:48px;font-size:15px}.challenge-feedback{padding:1.1rem;border:2px solid #c6a765;border-left:6px solid #70420d;border-radius:16px;background:#fff0da;color:#172f35;margin:1.2rem 0}.challenge-feedback[data-result=correct]{background:#e1f7e6;border-color:#79a487;border-left-color:#185b36}.challenge-feedback h2,.challenge-feedback h3{font-size:18px;line-height:1.4;margin:0 0 .6rem}.challenge-feedback p{font-size:15px;line-height:1.65;margin:.5rem 0}.challenge-recap{margin:1rem 0;padding:1rem;border:1px solid #94b69a;border-radius:15px;background:#edf7e8;color:#172f35}.challenge-recap h2,.challenge-recap h3{font-size:17px;margin:0 0 .6rem}.challenge-recap ul,.challenge-recap ol{padding-left:1.25rem;margin:.6rem 0}.challenge-recap li{font-size:15px;line-height:1.65;margin:.5rem 0}.challenge-hints{padding:.8rem 1rem;border:1px solid #82988c;border-radius:13px;background:#edf3e7;color:#172f35;margin:1rem 0;font-size:14px;line-height:1.6}.challenge-hints label{display:flex;align-items:center;gap:.65rem;min-height:44px;cursor:pointer}.challenge-hints input{width:19px;height:19px;accent-color:#087e68;flex-shrink:0}.challenge-hints button{min-height:44px;font-size:14px}.challenge-hints p{font-size:14px;line-height:1.6;margin:.5rem 0}.challenge-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin:1.2rem 0}.challenge-links>a,.challenge-links>button{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;text-align:left;min-height:92px;padding:1.1rem;border:2px solid #80a6a7;border-radius:17px;background:#14383f;color:#f7fcf2;text-decoration:none;box-shadow:0 3px 0 #436c70}.challenge-links strong{font-size:16px;line-height:1.5}.challenge-links span,.challenge-links p{font-size:14px;line-height:1.55;color:#c5ddda;margin:0}.panel .challenge-links>a,.panel .challenge-links>button{color:#f7fcf2}.challenge-celebration{display:flex;align-items:center;justify-content:center;position:relative;min-height:90px;margin:.8rem auto;pointer-events:none}.challenge-celebration img{width:82px;height:94px;object-fit:contain;animation:challenge-lumi-cheer 650ms cubic-bezier(.2,.8,.25,1) 1 both;transform-origin:50% 90%}.challenge-celebration:before,.challenge-celebration:after{content:"";width:12px;height:12px;background:#f4d575;clip-path:polygon(50% 0,62% 37%,100% 50%,62% 62%,50% 100%,37% 62%,0 50%,37% 37%);margin:0 13px;animation:challenge-star-pop 600ms cubic-bezier(.2,.8,.25,1) 1 both}.challenge-celebration:after{background:#fa9c86;animation-delay:70ms}
.challenge-drag-ghost{position:fixed;z-index:10000;pointer-events:none;user-select:none;-webkit-user-select:none;width:230px;max-width:calc(100vw - 2rem);padding:.85rem;border:3px solid #145b66;border-radius:16px;background:#e4f4f5;color:#172f35;box-shadow:0 10px 24px #03191c55;opacity:.96;display:flex;align-items:center;gap:.7rem;font-size:15px;line-height:1.5;font-weight:750}.challenge-drag-ghost .challenge-art{width:48px;height:48px;min-width:48px;min-height:48px}.challenge-drag-ghost [data-drag-handle]{display:none}.challenge-dragging,.challenge-dragging [data-drag-handle]{cursor:grabbing}.challenge-dragging .challenge-board{user-select:none;-webkit-user-select:none}
.challenge-piece:focus-visible,.challenge-target:focus-visible,.challenge-actions button:focus-visible,.challenge-links a:focus-visible,.challenge-links button:focus-visible,.challenge-hints input:focus-visible,.challenge-hints button:focus-visible,.challenge-feedback:focus-visible{outline:3px solid #103c32;outline-offset:3px;box-shadow:0 0 0 7px #fffcf4}
@keyframes challenge-lumi-cheer{0%,100%{transform:translateY(0) scale(1)}20%{transform:translateY(2px) scale(1.07,.91)}48%{transform:translateY(-12px) scale(.96,1.06)}78%{transform:translateY(1px) scale(1.03,.97)}}@keyframes challenge-star-pop{from{transform:scale(.65);opacity:.3}55%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}
@media(max-width:800px){.challenge-board{padding:1.1rem;border-radius:20px}.challenge-head{gap:.7rem}.challenge-head h1,.challenge-head h2{font-size:1.55rem}.challenge-head p{font-size:14px}.challenge-head img{width:52px;height:62px}.challenge-layout{grid-template-columns:minmax(0,1fr);gap:1.2rem}.challenge-tray{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.challenge-tray>h2,.challenge-tray>h3,.challenge-tray>p{grid-column:1/-1}.challenge-piece{grid-template-columns:minmax(0,1fr) 24px;min-height:80px;padding:.75rem;gap:.45rem;font-size:14px;align-content:start}.challenge-piece:has(.challenge-art){grid-template-columns:56px minmax(0,1fr)}.challenge-piece:has(.challenge-art) .challenge-art{grid-column:1;grid-row:1}.challenge-piece:has(.challenge-art) [data-drag-handle]{grid-column:2;grid-row:1;justify-self:end}.challenge-piece:has(.challenge-art)>span:not(.challenge-art):not(.challenge-drag-handle){grid-column:1/-1}.challenge-piece[aria-pressed=true]{padding:calc(.75rem - 1px)}.challenge-target{min-height:88px;padding:.9rem;font-size:15px}.challenge-target[data-drag-over=true],.challenge-target[data-state=correct],.challenge-target[data-state=incorrect]{padding:calc(.9rem - 1px)}.challenge-target>strong{font-size:15px}.challenge-actions>*{flex:1 1 140px}.challenge-feedback,.challenge-recap{padding:1rem}.challenge-links{grid-template-columns:1fr}.challenge-drag-ghost{width:200px;font-size:14px}.challenge-celebration img{width:72px;height:84px}}
@media(max-width:360px){.challenge-tray{grid-template-columns:1fr}.challenge-piece:has(.challenge-art){grid-template-columns:56px minmax(0,1fr) 24px}.challenge-piece:has(.challenge-art) .challenge-art{grid-column:1;grid-row:1}.challenge-piece:has(.challenge-art)>span:not(.challenge-art):not(.challenge-drag-handle){grid-column:2;grid-row:1}.challenge-piece:has(.challenge-art) [data-drag-handle]{grid-column:3;grid-row:1}.challenge-head img{display:none}}
@media(prefers-reduced-motion:reduce){.challenge-celebration img,.challenge-celebration:before,.challenge-celebration:after{animation:none!important;transform:none!important;opacity:1!important}.challenge-piece,.challenge-target{transition:none!important}.challenge-piece:active{transform:none}}html[data-reduce-motion=true] .challenge-celebration img,html[data-reduce-motion=true] .challenge-celebration:before,html[data-reduce-motion=true] .challenge-celebration:after{animation:none!important;transform:none!important;opacity:1!important}html[data-reduce-motion=true] .challenge-piece:active{transform:none}
@media(forced-colors:active){.challenge-board,.challenge-piece,.challenge-target,.challenge-placed,.challenge-feedback,.challenge-recap,.challenge-hints,.challenge-links>a,.challenge-links>button,.challenge-art,.challenge-drag-ghost{border:2px solid CanvasText;box-shadow:none}.challenge-piece[aria-pressed=true],.challenge-target[data-drag-over=true]{outline:2px solid Highlight}.challenge-celebration img{animation:none!important;transform:none!important}.challenge-celebration:before,.challenge-celebration:after{display:none}.challenge-piece:focus-visible,.challenge-target:focus-visible,.challenge-actions button:focus-visible,.challenge-links a:focus-visible,.challenge-links button:focus-visible,.challenge-hints input:focus-visible,.challenge-hints button:focus-visible{outline:3px solid Highlight;box-shadow:none}}
/* The optional touch grip gets its own generous hit region inside the source button. */
.challenge-drag-handle,[data-drag-handle]{min-width:44px;min-height:44px}.challenge-piece{grid-template-columns:minmax(0,1fr) 44px}.challenge-piece:has(.challenge-art){grid-template-columns:56px minmax(0,1fr) 44px}@media(max-width:800px){.challenge-piece{grid-template-columns:minmax(0,1fr) 44px}.challenge-piece:has(.challenge-art){grid-template-columns:56px minmax(0,1fr)}}@media(max-width:360px){.challenge-piece:has(.challenge-art){grid-template-columns:56px minmax(0,1fr) 44px}}
/* Integrated markup: stacked introduction, nested gallery, explicit hidden semantics. */
.challenge-head{display:block}.challenge-head h1{margin:.35rem 0 .7rem}.challenge-head>.eyebrow{margin:0 0 .4rem}.challenge-head>.challenge-instructions{padding:.8rem .9rem;background:#edf3e7;border-left:4px solid #145b66;border-radius:0 12px 12px 0;font-size:14px;line-height:1.65}.challenge-head>.status{font-size:14px;line-height:1.6;color:#4b6265}.challenge-piece-copy{display:block;min-width:0}.challenge-piece-copy>strong{display:block;font-size:15px;line-height:1.5;color:inherit;font-weight:800}.challenge-piece-copy>span{display:block;font-size:14px;line-height:1.5;color:#4b6265;margin-top:.25rem}.challenge-piece[aria-pressed=true] .challenge-piece-copy>span{color:#145b66}.challenge-board [hidden],.challenge-feedback[hidden],.challenge-celebration[hidden],.challenge-actions button[hidden],.challenge-picture-hint[hidden],.picture-hint[hidden]{display:none!important}.challenge-links{display:block;background:#fffcf4;color:#172f35;border:2px solid #a5bba7;border-radius:22px;padding:1.3rem;box-shadow:0 4px 0 #97ad9d33}.challenge-links>h2{font-size:1.35rem;line-height:1.4;margin:.4rem 0 .65rem}.challenge-links>p{font-size:15px;line-height:1.65;color:#4b6265;margin:.5rem 0}.challenge-links>.eyebrow{font-size:12px;color:#70420d;letter-spacing:.08em}.challenge-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem;margin:1rem 0 .2rem}.challenge-gallery>a.button{display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:58px;padding:.85rem 1rem;text-align:left;white-space:normal;font-size:15px;line-height:1.5;background:#e1f7e6;color:#185b36;border:2px solid #79a487;border-radius:15px;box-shadow:0 3px 0 #5a9d70}.challenge-gallery>a.button svg{width:18px;height:18px;flex-shrink:0}.challenge-gallery>a.button:focus-visible{outline:3px solid #103c32;outline-offset:3px;box-shadow:0 0 0 7px #fffcf4}.challenge-celebration:not([data-animate=true]) img,.challenge-celebration:not([data-animate=true]):before,.challenge-celebration:not([data-animate=true]):after{animation:none!important;transform:none;opacity:1}.challenge-celebration>span{color:#f4d575;font-size:22px;margin-left:.6rem}
@media(max-width:800px){.challenge-head h1{font-size:1.5rem}.challenge-head>.challenge-instructions,.challenge-head>.status{font-size:14px}.challenge-links{padding:1.1rem}.challenge-gallery{grid-template-columns:1fr}.challenge-piece-copy>strong{font-size:14px}.challenge-piece-copy>span{font-size:14px}}
@media(forced-colors:active){.challenge-links,.challenge-gallery>a.button{border:2px solid CanvasText;box-shadow:none}.challenge-head>.challenge-instructions{border-left:4px solid CanvasText}.challenge-gallery>a.button:focus-visible{outline:3px solid Highlight;box-shadow:none}}

.challenge-piece:disabled{opacity:1;cursor:default}.challenge-session-note{font-size:14px;line-height:1.6;color:#4b6265}
/* Expanded practice stays browsable by chapter and explains the thinking step. */
.challenge-gallery-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem 1rem;margin:1.1rem 0 .65rem}.challenge-gallery-controls label{font-size:15px;font-weight:800;line-height:1.5;color:#172f35}.challenge-gallery-controls select{font-family:var(--play-font,system-ui,sans-serif);font-size:15px;line-height:1.5;font-weight:500;min-height:48px;min-width:210px;max-width:100%;padding:.65rem 2rem .65rem .8rem;border:2px solid #82988c;border-radius:12px;background:#fffcf4;color:#172f35;flex:1 1 240px}.challenge-gallery-count{font-size:14px!important;line-height:1.6!important;color:#4b6265!important;margin:.65rem 0!important;min-height:1.6em}.challenge-gallery-empty{padding:1rem;border:2px dashed #8da693;border-radius:14px;background:#edf3e7;color:#4b6265;font-size:15px;line-height:1.65;margin:1rem 0}.challenge-gallery-empty[hidden],.challenge-gallery-card[hidden],.challenge-gallery [data-challenge-chapter][hidden]{display:none!important}.challenge-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.challenge-gallery>a.challenge-gallery-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .6rem;align-items:start;align-content:start;justify-content:stretch;min-height:144px;padding:1.1rem;background:#fffcf4;color:#172f35;border:2px solid #82988c;border-radius:18px;box-shadow:0 3px 0 #82988c;text-align:left;white-space:normal}.challenge-gallery-card>strong{grid-column:1/-1;font-size:16px;line-height:1.5;color:#172f35;font-weight:800;overflow-wrap:break-word}.challenge-gallery-card>.challenge-type{grid-column:1/-1;font-size:14px;font-weight:650;line-height:1.5;color:#145b66}.challenge-gallery-card>.challenge-meta{grid-column:1;font-size:13px;line-height:1.6;font-weight:500;color:#4b6265;align-self:center}.challenge-stage-badge{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;width:fit-content;max-width:100%;padding:.25rem .55rem;border:1px solid #6f9c83;border-radius:9px;background:#e1f7e6;color:#185b36;font-size:12px;font-weight:800;line-height:1.5;letter-spacing:.025em;text-transform:none;white-space:normal}.challenge-stage-badge[data-stage=connect]{background:#e4f4f5;color:#145b66;border-color:#7eaaab}.challenge-stage-badge[data-stage=apply]{background:#fff0da;color:#70420d;border-color:#ba985b}.challenge-gallery-card>.challenge-stage-badge{grid-column:2;align-self:center;justify-self:end}.challenge-head .eyebrow>.challenge-stage-badge{vertical-align:middle;margin-left:.4rem}.challenge-gallery-controls select:focus-visible,.challenge-gallery>a.challenge-gallery-card:focus-visible{outline:3px solid #103c32;outline-offset:3px;box-shadow:0 0 0 7px #fffcf4}.challenge-gallery>a.challenge-gallery-card:active{box-shadow:none;transform:translateY(2px)}
@media(max-width:800px){.challenge-gallery{grid-template-columns:1fr;gap:.85rem}.challenge-gallery-controls{align-items:stretch;gap:.45rem}.challenge-gallery-controls label{flex-basis:100%;font-size:14px}.challenge-gallery-controls select{min-width:0;width:100%;flex-basis:100%;font-size:15px;min-height:48px}.challenge-gallery>a.challenge-gallery-card{min-height:138px;padding:1rem}.challenge-gallery-card>strong{font-size:16px}.challenge-gallery-card>.challenge-type{font-size:14px}.challenge-gallery-card>.challenge-meta{font-size:13px}.challenge-stage-badge{font-size:12px}.challenge-head .eyebrow>.challenge-stage-badge{margin-left:0;margin-top:.35rem;display:flex}.challenge-gallery-empty{font-size:14px}}
@media(max-width:360px){.challenge-gallery>a.challenge-gallery-card{grid-template-columns:minmax(0,1fr)}.challenge-gallery-card>.challenge-meta,.challenge-gallery-card>.challenge-stage-badge{grid-column:1;justify-self:start}}
@media(prefers-reduced-motion:reduce){.challenge-gallery>a.challenge-gallery-card:active{transform:none}}html[data-reduce-motion=true] .challenge-gallery>a.challenge-gallery-card:active{transform:none}
@media(forced-colors:active){.challenge-gallery-controls select,.challenge-gallery>a.challenge-gallery-card,.challenge-stage-badge,.challenge-gallery-empty{border:2px solid CanvasText;box-shadow:none}.challenge-gallery-controls select:focus-visible,.challenge-gallery>a.challenge-gallery-card:focus-visible{outline:3px solid Highlight;box-shadow:none}.challenge-stage-badge{color:CanvasText;background:Canvas}}
.challenge-stage-badge[data-stage=discover]{background:#e1f7e6;color:#185b36;border-color:#6f9c83}
@media(forced-colors:active){.challenge-stage-badge[data-stage]{color:CanvasText;background:Canvas;border:2px solid CanvasText}}
/* Bounded mobile polish: readable source rows and deliberate destination navigation. */
.challenge-piece-copy>.challenge-piece-state{font-size:14px;line-height:1.5;font-weight:500;color:#4b6265;margin-top:.25rem}.challenge-methods{font-size:14px;line-height:1.6;color:#4b6265;margin:.65rem 0 .9rem;padding:0}.challenge-methods summary{min-height:44px;font-size:14px;font-weight:650;line-height:1.6;padding:.5rem 0;cursor:pointer}.challenge-methods p{font-size:14px;line-height:1.6;margin:.4rem 0}.challenge-selection-note{position:sticky;top:8px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:.85rem;background:#e4f4f5;color:#145b66;border:2px solid #145b66;border-radius:15px;padding:.75rem 1rem;margin:.9rem 0;box-shadow:0 4px 12px #03191c22}.challenge-selected-label{display:block;min-width:0;font-size:15px;line-height:1.5;font-weight:750;overflow-wrap:break-word}.challenge-selection-note button{flex-shrink:0;min-height:44px;font-size:14px;padding:.55rem .75rem;background:#145b66;color:#fff;border:2px solid #103e47;box-shadow:0 3px 0 #103e47}.challenge-selection-note[hidden]{display:none!important}.challenge-target{scroll-margin-top:130px}.challenge-count{font-size:14px;line-height:1.6;color:#4b6265;margin:.8rem 0 .5rem;font-weight:650}.challenge-placed-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;min-width:0}.challenge-placed-chip{display:inline-flex;align-items:center;max-width:100%;padding:.45rem .6rem;background:#e4f4f5;color:#145b66;border:1px solid #7eaaab;border-radius:10px;font-size:14px;line-height:1.5;font-weight:650;overflow-wrap:break-word;white-space:normal;text-align:left}.challenge-target[data-state=correct] .challenge-placed-chip{background:#c9edcf;color:#185b36;border-color:#79a487}.challenge-target[data-state=incorrect] .challenge-placed-chip{background:#f7e4bd;color:#70420d;border-color:#ba985b}.challenge-bucket-count{display:block;font-size:13px;line-height:1.55;font-weight:500;color:#4b6265}.challenge-target .challenge-placed-list:empty{display:none}.challenge-recap-item{padding:.75rem 0;border-bottom:1px solid #b4c8ad}.challenge-recap-item:last-child{border-bottom:0}.challenge-recap-item>strong{font-size:15px;line-height:1.6;color:#172f35}.challenge-recap-item p{font-size:14px;line-height:1.65;margin:.4rem 0}.challenge-recap-item[data-result=retry]{border-left:3px solid #70420d;padding:.65rem .75rem;background:#fff0da;border-radius:0 10px 10px 0;margin:.6rem 0}.challenge-recap-item[data-result=correct]{color:#185b36}.challenge-recap-label{display:block;font-size:13px;line-height:1.5;font-weight:750;color:#4b6265;margin:.25rem 0}.challenge-recap-item[data-result=retry] .challenge-recap-label{color:#70420d}.challenge-recap-item[data-result=correct] .challenge-recap-label{color:#185b36}.challenge-board .challenge-placed-list[hidden],.challenge-board .challenge-count[hidden],.challenge-board .challenge-selection-note[hidden]{display:none!important}
@media(max-width:800px){.challenge-selection-note{gap:.65rem;padding:.65rem .8rem}.challenge-selected-label{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.challenge-selection-note button{font-size:13px;min-height:44px;max-width:120px}.challenge-methods{font-size:14px}.challenge-count{font-size:14px}.challenge-piece-copy>.challenge-piece-state{font-size:14px;font-weight:500}.challenge-target{scroll-margin-top:140px}}
@media(max-width:480px){.challenge-board[data-reading-cards=true] .challenge-tray{grid-template-columns:minmax(0,1fr)}.challenge-board[data-reading-cards=true] .challenge-piece{grid-template-columns:minmax(0,1fr) 44px;align-items:center;align-content:center;gap:.7rem;min-height:82px;padding:.8rem}.challenge-board[data-reading-cards=true] .challenge-piece:has(.challenge-art){grid-template-columns:56px minmax(0,1fr) 44px}.challenge-board[data-reading-cards=true] .challenge-piece .challenge-art{grid-column:1;grid-row:1}.challenge-board[data-reading-cards=true] .challenge-piece:has(.challenge-art)>.challenge-piece-copy{grid-column:2;grid-row:1}.challenge-board[data-reading-cards=true] .challenge-piece:has(.challenge-art)>[data-drag-handle]{grid-column:3;grid-row:1;justify-self:end}.challenge-board[data-reading-cards=true] .challenge-piece:not(:has(.challenge-art))>.challenge-piece-copy{grid-column:1;grid-row:1}.challenge-board[data-reading-cards=true] .challenge-piece:not(:has(.challenge-art))>[data-drag-handle]{grid-column:2;grid-row:1;justify-self:end}.challenge-board[data-reading-cards=true] .challenge-piece[aria-pressed=true]{padding:calc(.8rem - 1px)}.challenge-board[data-reading-cards=true] .challenge-piece-copy>strong{font-size:15px;font-weight:750;line-height:1.5}.challenge-board[data-reading-cards=true] .challenge-piece-copy>.challenge-piece-state{font-size:14px;line-height:1.5;margin-top:.25rem}.challenge-placed-chip{font-size:14px;padding:.4rem .55rem}.challenge-selection-note{top:8px}}
@media(max-width:360px){.challenge-selection-note{gap:.5rem;padding:.6rem}.challenge-selection-note button{max-width:104px;font-size:12px;padding:.5rem .6rem}.challenge-selected-label{font-size:13px}.challenge-board[data-reading-cards=true] .challenge-piece{gap:.55rem;padding:.7rem}.challenge-board[data-reading-cards=true] .challenge-piece[aria-pressed=true]{padding:calc(.7rem - 1px)}.challenge-board[data-reading-cards=true] .challenge-piece-copy>strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.challenge-selection-note button{transition:none!important;animation:none!important;transform:none!important}}html[data-reduce-motion=true] .challenge-selection-note button{transition:none!important;animation:none!important;transform:none!important}
@media(forced-colors:active){.challenge-selection-note,.challenge-selection-note button,.challenge-placed-chip,.challenge-recap-item[data-result=retry]{border:2px solid CanvasText;box-shadow:none}.challenge-selected-label,.challenge-count,.challenge-bucket-count,.challenge-recap-label{color:CanvasText}}
.challenge-head>.challenge-methods{font-size:14px;line-height:1.6;color:#4b6265;margin:.55rem 0 .75rem}


/* Source: challenge-rewards.css */
/* Saved practice rewards reuse the existing fantasy learning system. */
.challenge-reward-rule{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.35rem .65rem;margin:.5rem 0;border:1px solid #8da893;border-radius:10px;background:#edf3e7;color:#4b6265;font-size:13px;font-weight:650;line-height:1.5}.challenge-reward-panel{padding:1.1rem 1.2rem;margin:1rem 0;border:2px solid #79a487;border-radius:18px;background:#e1f7e6;color:#172f35}.challenge-reward-panel[data-new-reward=true]{border-color:#338e64;box-shadow:0 3px 0 #5a9d70}.challenge-reward-panel[data-new-reward=false]{background:#edf3e7;border-color:#8da893;box-shadow:none}.challenge-reward-xp{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;font-size:22px;font-weight:850;line-height:1.35;color:#185b36}.challenge-reward-panel h3,.challenge-reward-xp h3{font-family:var(--play-font,system-ui,sans-serif);font-size:1.25rem;font-weight:800;line-height:1.4;margin:0;color:#185b36}.challenge-reward-panel p{font-size:15px;line-height:1.65;margin:.6rem 0 0;color:#4b6265}.challenge-reward-panel[data-new-reward=false] .challenge-reward-xp,.challenge-reward-panel[data-new-reward=false] h3{color:#4b6265}.challenge-new-badges{display:flex;flex-wrap:wrap;gap:.5rem .65rem;list-style:none;padding:0;margin:.85rem 0 0}.challenge-new-badges li{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.4rem .65rem;border:1px solid #a48d43;border-radius:10px;background:#fff0b7;color:#61450e;font-size:14px;font-weight:750;line-height:1.5;overflow-wrap:break-word}.challenge-new-badges svg{width:17px;height:17px;flex-shrink:0}.challenge-save-note{font-size:14px;line-height:1.65;margin:.7rem 0;color:#4b6265;padding:.55rem .75rem;border-left:3px solid #718d7d;border-radius:0 10px 10px 0;background:#edf3e7}.challenge-save-note[data-state=error]{background:#fff0da;color:#70420d;border-left:4px solid #70420d;font-weight:650}.challenge-save-note[data-state=pending]{background:#e4f4f5;color:#145b66;border-left-color:#145b66}.challenge-save-note[data-state=saved]{color:#185b36;border-left-color:#5a9d70}.challenge-gallery-card>.challenge-gallery-status{grid-column:1/-1;display:inline-flex;align-items:center;gap:.35rem;width:fit-content;max-width:100%;padding:.25rem .55rem;border:1px solid #8da893;border-radius:8px;font-size:13px;font-weight:750;line-height:1.5;color:#4b6265;background:#edf3e7}.challenge-gallery-card>.challenge-gallery-status[data-status=progress]{background:#e4f4f5;color:#145b66;border-color:#7eaaab}.challenge-gallery-card>.challenge-gallery-status[data-status=complete]{background:#e1f7e6;color:#185b36;border-color:#79a487}.challenge-gallery-status svg{width:15px;height:15px;flex-shrink:0}.challenge-gallery-card>.challenge-meta{font-size:13px;line-height:1.6}
.challenge-practice-summary{margin:1.3rem 0;padding:1.4rem;background:#fffcf4;color:#172f35;border:2px solid #a5bba7;border-radius:22px;box-shadow:0 4px 0 #97ad9d33}.challenge-practice-summary h2{font-size:1.45rem;line-height:1.35;margin:0 0 .65rem}.challenge-practice-summary h3{font-size:1.15rem;line-height:1.4}.challenge-practice-summary p{font-size:15px;line-height:1.65;color:#4b6265;margin:.55rem 0}.challenge-practice-summary strong{color:#172f35}.challenge-practice-summary .big-stat{font-size:2.4rem;color:#087e68}.challenge-practice-summary .actions{margin-top:1rem}.challenge-practice-summary .button{min-height:48px}.challenge-practice-badges{margin:1.1rem 0 1.5rem;background:#14383f;color:#f7fcf2;border:2px solid #5a8186;border-radius:20px;padding:0 1.15rem 1.15rem}.challenge-practice-badges:not([open]){padding-bottom:0}.challenge-practice-badges>summary{font-size:17px;font-weight:800;line-height:1.5;min-height:58px;cursor:pointer;padding:1rem 0;list-style-position:inside;color:#f7fcf2}.challenge-practice-badges>summary::marker{color:#a7f3c5}.challenge-practice-badges>.milestone-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:.5rem 0 0}.challenge-practice-badges .milestone-card{padding:1.05rem;min-width:0}.challenge-practice-badges .milestone-card h3{font-size:16px;line-height:1.5;margin:0;overflow-wrap:break-word}.challenge-practice-badges .milestone-card p{font-size:14px;line-height:1.6}.challenge-practice-badges .milestone-status{font-size:13px;line-height:1.55}.challenge-practice-badges .milestone-icon{width:48px;height:48px;border-radius:15px}.challenge-practice-badges .milestone-icon svg{width:24px;height:24px}.challenge-practice-badges>summary:focus-visible{outline:3px solid #103c32;outline-offset:3px;box-shadow:0 0 0 7px #fffcf4;border-radius:12px}.challenge-reward-panel[hidden],.challenge-new-badges[hidden],.challenge-save-note[hidden]{display:none!important}
@media(max-width:1150px){.challenge-practice-badges>.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.challenge-reward-panel{padding:1rem}.challenge-reward-xp{font-size:20px}.challenge-reward-panel h3,.challenge-reward-xp h3{font-size:1.2rem}.challenge-reward-panel p{font-size:14px}.challenge-reward-rule{font-size:13px}.challenge-save-note{font-size:14px}.challenge-new-badges{gap:.5rem}.challenge-new-badges li{font-size:13px}.challenge-gallery-card>.challenge-gallery-status{font-size:13px}.challenge-practice-summary{padding:1.2rem}.challenge-practice-summary h2{font-size:1.35rem}.challenge-practice-summary p{font-size:14px}.challenge-practice-summary .actions>*{flex:1 1 100%;min-height:48px}.challenge-practice-badges{padding:0 1rem 1rem}.challenge-practice-badges>summary{font-size:16px;min-height:58px;padding:.9rem 0}.challenge-practice-badges>.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-practice-badges .milestone-card{padding:.95rem}.challenge-practice-badges .milestone-card h3{font-size:15px}}
@media(max-width:600px){.challenge-practice-badges>.milestone-grid{grid-template-columns:minmax(0,1fr)}}
@media(forced-colors:active){.challenge-reward-rule,.challenge-reward-panel,.challenge-new-badges li,.challenge-save-note,.challenge-gallery-card>.challenge-gallery-status,.challenge-practice-summary,.challenge-practice-badges{border:2px solid CanvasText;box-shadow:none}.challenge-practice-badges>summary::marker{color:CanvasText}.challenge-practice-badges>summary:focus-visible{outline:3px solid Highlight;box-shadow:none}.challenge-gallery-card>.challenge-gallery-status[data-status],.challenge-save-note[data-state]{color:CanvasText;background:Canvas}}
/* Introductory copy belongs to the dark disclosure, not its light badge cards. */
.challenge-practice-badges>p{color:#c5ddda;font-size:14px;line-height:1.65}.challenge-practice-badges>summary{color:#f7fcf2}.challenge-practice-badges .milestone-card p{color:#4b6265}
@media(forced-colors:active){.challenge-practice-badges>p,.challenge-practice-badges>summary,.challenge-practice-badges .milestone-card p{color:CanvasText}}
/* Reward ownership and device persistence are separate states. */
.challenge-reward-panel[data-save-state=unsaved],
.challenge-reward-panel[data-save-state=blocked]{
  background:#fff0da;
  color:#70420d;
  border:2px solid #9a641d;
  box-shadow:none;
}
.challenge-reward-panel[data-save-state=unsaved] :is(h3,p,.challenge-reward-xp),
.challenge-reward-panel[data-save-state=blocked] :is(h3,p,.challenge-reward-xp){color:#70420d}
.challenge-reward-panel[data-save-state=unsaved] .challenge-new-badges li,
.challenge-reward-panel[data-save-state=blocked] .challenge-new-badges li{
  background:#fffcf4;
  border-color:#9a641d;
  color:#70420d;
}
.challenge-finish-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.25rem}
.challenge-finish-actions :is(a,button){min-height:48px;white-space:normal;overflow-wrap:break-word}
.challenge-finish-actions[hidden],.challenge-recovery-summary[hidden]{display:none!important}
.challenge-practice-summary .challenge-recovery-summary{
  padding:.75rem .9rem;
  margin:.85rem 0;
  border-left:4px solid #9a641d;
  border-radius:0 10px 10px 0;
  background:#fff0da;
  color:#70420d;
  font-size:14px;
  line-height:1.65;
}
.challenge-practice-summary .challenge-recovery-summary :is(p,strong,a){color:#70420d}
.challenge-recovery-summary a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.challenge-finish-actions :is(a,button){flex:1 1 100%}}
@media(forced-colors:active){
  .challenge-reward-panel[data-save-state=unsaved],
  .challenge-reward-panel[data-save-state=blocked],
  .challenge-reward-panel[data-save-state=unsaved] .challenge-new-badges li,
  .challenge-reward-panel[data-save-state=blocked] .challenge-new-badges li,
  .challenge-practice-summary .challenge-recovery-summary{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
  .challenge-reward-panel[data-save-state=unsaved] :is(h3,p,.challenge-reward-xp),
  .challenge-reward-panel[data-save-state=blocked] :is(h3,p,.challenge-reward-xp),
  .challenge-practice-summary .challenge-recovery-summary :is(p,strong,a){color:CanvasText}
}


/* Source: daily-progress.css */
/* A gentle daily companion. Counts and milestones are supplied by saved state. */
.daily-progress-card{
  margin:1.25rem 0;padding:1.15rem 1.3rem;border:2px solid #a5bba7;border-radius:22px;
  background:var(--play-paper,#fffcf4);color:var(--play-ink,#172f35);box-shadow:0 3px 0 #97ad9d33;
}
.daily-progress-card[data-goal-met=true]{border-color:#79a487;background:#edf8ed}
.daily-progress-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.daily-progress-card h2{margin:0;font-size:1.2rem;line-height:1.35;color:#172f35}
.daily-progress-head img{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.daily-progress-card .eyebrow{margin:0 0 .35rem;color:#61450e;font-size:12px}
.daily-progress-card .daily-goal-count{margin:.65rem 0 .45rem;font-size:20px;font-weight:800;line-height:1.4;color:#103c32}
.daily-goal-meter{display:block;width:100%;height:14px;margin:.5rem 0 .9rem;overflow:hidden;appearance:none;border:1px solid #82988c;border-radius:8px;background:#e1e8df;accent-color:#087e68}
.daily-goal-meter::-webkit-progress-bar{background:#e1e8df;border-radius:8px}
.daily-goal-meter::-webkit-progress-value{background:#087e68;border-radius:8px}
.daily-goal-meter::-moz-progress-bar{background:#087e68;border-radius:8px}
.daily-progress-card .progress{height:14px;margin:.5rem 0 .9rem}
.daily-streak-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.9rem 0}
.daily-streak-stats>div{min-width:0;padding:.65rem .85rem;border:1px solid #a5bba7;border-radius:13px;background:#f0f3e8}
.daily-streak-stats strong{display:block;font-size:21px;line-height:1.35;color:#172f35}
.daily-streak-stats :is(span,dt){display:block;font-size:13px;line-height:1.5;color:#4b6265}
.daily-streak-stats dd{margin:0;color:#172f35}
.daily-progress-card .daily-progress-note{margin:.6rem 0 0;color:#4b6265;font-size:14px;line-height:1.6}
.daily-progress-card .actions{margin:.85rem 0 0;gap:.65rem}
.daily-progress-card :is(a.button,button){min-height:48px}
.daily-goal-settings{margin:0;padding:0;min-width:0;border:0;color:#172f35}
.daily-goal-settings legend{font-size:1.2rem;font-weight:800;line-height:1.4;padding:0;margin-bottom:.85rem}
.daily-goal-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.75rem 0}
.daily-goal-option{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.65rem .7rem;border:2px solid #82988c;border-radius:14px;background:#fffcf4;color:#172f35;font-size:15px;font-weight:750;line-height:1.4;cursor:pointer}
.daily-goal-option input{width:19px;height:19px;flex-shrink:0;accent-color:#087e68;margin:0}
.daily-goal-option:has(input:checked){background:#a7f3c5;border-color:#087e68;color:#103c32}
.daily-goal-option:has(input:focus-visible){outline:3px solid #103c32;outline-offset:3px}
.daily-goal-option:has(input:disabled){cursor:default;opacity:.75}
.daily-goal-settings .daily-goal-help{font-size:14px;line-height:1.65;color:#4b6265;margin:.7rem 0 0}
.daily-milestones{margin:1rem 0;color:#172f35}
.daily-milestones>summary{min-height:48px;cursor:pointer;font-size:16px;font-weight:800;line-height:1.5;padding:.7rem 0}
.daily-milestones>summary:focus-visible{outline:3px solid #103c32;outline-offset:3px;border-radius:8px}
.daily-milestones .milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.daily-milestones .milestone-card h3{font-size:16px;line-height:1.45}
.daily-milestones .milestone-card p{color:#4b6265;font-size:14px;line-height:1.6}
.daily-progress-card [hidden],.daily-goal-settings [hidden],.daily-milestones[hidden]{display:none!important}
@media(max-width:800px){
  .daily-progress-card{padding:1rem 1.1rem}
  .daily-progress-head img{width:52px;height:52px}
  .daily-milestones .milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .daily-progress-card h2{font-size:1.1rem}
  .daily-goal-options{grid-template-columns:minmax(0,1fr)}
  .daily-goal-option{justify-content:flex-start;padding:.75rem .9rem}
  .daily-progress-card .actions>*{flex:1 1 100%}
  .daily-milestones .milestone-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.daily-progress-card *,.daily-goal-settings *{animation:none!important;transition:none!important}}
html[data-reduce-motion=true] .daily-progress-card *,html[data-reduce-motion=true] .daily-goal-settings *{animation:none!important;transition:none!important}
@media(forced-colors:active){
  .daily-progress-card,.daily-progress-card[data-goal-met=true],.daily-streak-stats>div,.daily-goal-option,.daily-goal-option:has(input:checked){background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
  .daily-progress-card :is(h2,strong,span,dt,dd,p),.daily-goal-settings :is(legend,.daily-goal-help),.daily-milestones .milestone-card p{color:CanvasText}
  .daily-goal-option:has(input:checked){outline:2px solid Highlight;outline-offset:-5px}
  .daily-goal-option:has(input:focus-visible),.daily-milestones>summary:focus-visible{outline-color:Highlight}
  .daily-goal-meter{appearance:auto;accent-color:Highlight}
}
/* Quiet result companion: readable immediately, with no extra reward animation. */
.panel .daily-completion-note,.challenge-feedback .daily-completion-note{
  display:block;margin:.85rem 0 1rem;padding:.75rem .9rem;
  border:1px solid #7eaaab;border-left:4px solid #145b66;border-radius:0 12px 12px 0;
  background:#e4f4f5;color:#145b66;font-size:14px;font-weight:650;line-height:1.65;
  text-align:left;
}
.daily-completion-note[hidden]{display:none!important}
.daily-progress-card .challenge-recovery-summary{
  margin:.75rem 0;padding:.75rem .9rem;border-left:4px solid #9a641d;border-radius:0 10px 10px 0;
  background:#fff0da;color:#70420d;font-size:14px;line-height:1.65;
}
.daily-goal-option:has(input:disabled){opacity:1;cursor:not-allowed;border-style:dashed}
@media(forced-colors:active){
  .panel .daily-completion-note,.challenge-feedback .daily-completion-note,.daily-progress-card .challenge-recovery-summary{background:Canvas;color:CanvasText;border-color:CanvasText}
}
/* Learn keeps a short companion; full rules remain one native disclosure away. */
.daily-progress-card[data-compact=true]{padding:1rem 1.2rem}
.daily-progress-card[data-compact=true] .daily-goal-count{margin:.5rem 0 .4rem}
.daily-progress-card[data-compact=true] .daily-streak-stats{margin:.65rem 0;gap:.6rem}
.daily-progress-card[data-compact=true] .daily-streak-stats>div{padding:.5rem .75rem}
.daily-progress-card[data-compact=true] .daily-progress-note{margin:.45rem 0 0}
.daily-progress-card[data-compact=true] .actions{margin:.6rem 0 0}
.daily-rules{margin:.5rem 0 0;border-top:1px solid #b7c6b8;color:#172f35}
.daily-rules>summary{
  min-height:44px;padding:.65rem .15rem;font-size:14px;font-weight:750;line-height:1.5;
  cursor:pointer;color:#145b66;list-style-position:inside;
}
.daily-rules>summary::marker{color:#145b66}
.daily-rules>summary:focus-visible{outline:3px solid #103c32;outline-offset:2px;border-radius:8px}
.daily-progress-card .daily-rules .daily-progress-note{margin:.3rem 0 .65rem;font-size:14px;line-height:1.65;color:#4b6265}
.daily-rules[hidden]{display:none!important}
@media(max-width:480px){
  .daily-progress-card[data-compact=true]{padding:1rem}
  .daily-progress-card[data-compact=true] .daily-progress-head{gap:.65rem}
}
@media(forced-colors:active){
  .daily-rules{border-color:CanvasText;color:CanvasText}
  .daily-rules>summary,.daily-rules>summary::marker,.daily-progress-card .daily-rules .daily-progress-note{color:CanvasText}
  .daily-rules>summary:focus-visible{outline-color:Highlight}
}


/* Source: system-polish.css */
/* Shared recognition system. Existing semantic feedback states remain authoritative. */
:root{
 --rr-font:var(--play-font,system-ui,sans-serif);--rr-paper:var(--play-paper,#fffcf4);--rr-ink:var(--play-ink,#172f35);--rr-muted:var(--play-muted,#4b6265);
 --rr-line:#82988c;--rr-space-1:.25rem;--rr-space-2:.5rem;--rr-space-3:.75rem;--rr-space-4:1rem;--rr-space-6:1.5rem;
 --rr-radius-sm:12px;--rr-radius-card:18px;--rr-focus:#103c32;--rr-focus-halo:#fffcf4;
}
.lesson-visual-thumb{display:inline-flex;vertical-align:middle;width:64px;height:64px;flex:0 0 64px;align-items:center;justify-content:center}
.lesson-visual-thumb .league-image-wrap,.recognition-item .league-image-wrap,.guide-visual .league-image-wrap,.chapter-visual-strip .league-image-wrap{width:64px;height:64px;min-width:64px;min-height:64px;overflow:hidden;border:2px solid var(--rr-line);border-radius:var(--rr-radius-sm);background:#e1e7db;position:relative}
.lesson-visual-thumb img,.recognition-item img,.guide-visual img,.chapter-visual-strip img{display:block;width:100%;height:100%;object-fit:contain}
.lesson-visual-thumb[data-media-kind=portrait] img,.recognition-item[data-media-kind=portrait] img{object-fit:cover}
.lesson-visual-thumb img[hidden],.recognition-item img[hidden],.guide-visual img[hidden],.chapter-visual-strip img[hidden]{display:none!important}
.lesson-recognition-strip,.flashcard-visuals{margin:1.1rem 0;padding:1rem;border:1px solid #a5bba7;border-radius:var(--rr-radius-card);background:#edf3e7;color:var(--rr-ink);font-family:var(--rr-font)}
.lesson-recognition-strip :is(h2,h3),.flashcard-visuals :is(h2,h3){font-family:var(--rr-font);font-size:1.1rem;font-weight:800;line-height:1.4;color:var(--rr-ink);margin:0 0 .65rem}
.recognition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--rr-space-3);align-items:stretch}
.recognition-item{display:flex;align-items:center;flex-direction:column;gap:.5rem;min-width:0;padding:.85rem;background:var(--rr-paper);border:1px solid var(--rr-line);border-radius:var(--rr-radius-sm);text-align:center;color:var(--rr-ink)}
.recognition-item strong{font-family:var(--rr-font);font-size:15px;font-weight:800;line-height:1.45;color:var(--rr-ink);overflow-wrap:break-word}
.recognition-item small,.recognition-item .recognition-context{display:block;font-size:14px;line-height:1.55;color:var(--rr-muted);overflow-wrap:break-word}
.recognition-caption,.lesson-recognition-strip figcaption,.flashcard-visuals figcaption{display:block;font-size:14px;line-height:1.65;color:var(--rr-muted);margin:.75rem 0 0;text-align:left}
.recognition-item .league-image-fallback{font-size:11px;background:#e1e7db;color:var(--rr-muted)}
.recognition-item:has(.image-unavailable){border-style:dashed}
.recognition-item .inspect-art{min-height:44px;font-size:14px;padding:.4rem .65rem;margin:.25rem 0 0}
.guide-visual{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.65rem 0;max-width:100%}
.guide-visual .league-image-wrap{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:10px}
.chapter-visual-strip{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:.75rem 0}
.chapter-visual-strip>*{min-width:0}
.flashcard-visuals{text-align:left}
.flashcard-visuals .recognition-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
/* Hover is available only on unanswered, enabled choices; it never means correct. */
@media(hover:hover){
 .question-card .choice:not(.answer-correct):not(.answer-incorrect):not(:has(input:disabled)):not(:has(input:checked)):hover{background:#f0f3e8;border-color:#145b66}
}
.question-card .choice:has(input:focus-visible){outline:3px solid var(--rr-focus);outline-offset:3px;box-shadow:0 0 0 7px var(--rr-focus-halo)}
.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked){background:var(--play-selected,#e4f4f5);border-color:var(--play-selected-ink,#145b66)}
.lesson-recognition-strip[hidden],.flashcard-visuals[hidden],.guide-visual[hidden],.chapter-visual-strip[hidden],.recognition-item[hidden]{display:none!important}
@media(max-width:800px){.recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-recognition-strip,.flashcard-visuals{padding:.85rem}.recognition-item{padding:.75rem .6rem}.recognition-item strong{font-size:14px}}
@media(max-width:360px){.recognition-grid,.flashcard-visuals .recognition-grid{grid-template-columns:minmax(0,1fr)}.recognition-item{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;text-align:left}.recognition-item strong,.recognition-item small{flex:1 1 110px}}
@media(prefers-reduced-motion:reduce){.recognition-item,.lesson-visual-thumb{animation:none!important;transition:none!important}}
@media(forced-colors:active){
 .lesson-recognition-strip,.flashcard-visuals,.recognition-item,.lesson-visual-thumb .league-image-wrap,.recognition-item .league-image-wrap,.guide-visual .league-image-wrap,.chapter-visual-strip .league-image-wrap{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 .recognition-item :is(strong,small,.recognition-context),.recognition-caption,.lesson-recognition-strip figcaption,.flashcard-visuals figcaption,.recognition-item .league-image-fallback{background:Canvas;color:CanvasText}
 .question-card .choice:has(input:focus-visible){outline-color:Highlight;box-shadow:none}
 .question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked){background:Canvas;color:CanvasText;border-color:Highlight}
}
/* Integrated title rows keep long lesson names clear of passive artwork. */
.trail-visual-title{display:flex;align-items:center;gap:.8rem;min-width:0;margin:0 0 .35rem}
.trail-visual-title>strong{min-width:0;overflow-wrap:break-word;line-height:1.45}
.trail-visual-title .lesson-visual-thumb{margin:0}
.guide-visual-caption{display:block;max-width:65ch;margin:.3rem 0 .65rem;font-size:14px;font-weight:400;line-height:1.6;color:var(--rr-muted)}
.guide-visual{max-width:100%;margin:.65rem 0 .3rem}
.chapter-visual-strip{column-gap:.5rem}
@media(max-width:480px){.trail-visual-title{gap:.65rem}.chapter-visual-strip{gap:.5rem}.guide-visual-caption{font-size:14px}}
@media(forced-colors:active){.guide-visual-caption{color:CanvasText}}
/* Answer examples must not push flashcard rating controls needlessly far away. */
@media(min-width:361px) and (max-width:800px){.flashcard-visuals .recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* A single flashcard example uses the full row; two examples keep their paired layout. */
.flashcard-visuals .recognition-grid:has(>.recognition-item:only-child){grid-template-columns:minmax(0,1fr)}
/* Optional recognition follows the recall rating instead of delaying it. */
.flashcard-reference{margin:1rem 0 0;border-top:1px solid #b7c6b8;text-align:left;color:var(--rr-ink)}
.flashcard-reference>summary{
  min-height:44px;padding:.75rem .15rem;font-family:var(--rr-font);font-size:14px;font-weight:750;
  line-height:1.5;color:#145b66;cursor:pointer;list-style-position:inside;overflow-wrap:break-word;
}
.flashcard-reference>summary::marker{color:#145b66}
.flashcard-reference>summary:focus-visible{outline:3px solid var(--rr-focus);outline-offset:3px;border-radius:8px;box-shadow:0 0 0 7px var(--rr-focus-halo)}
.flashcard-reference .flashcard-visuals{margin:.25rem 0 .5rem}
.flashcard-reference[hidden],.flashcard-reference [hidden]{display:none!important}
@media(forced-colors:active){
 .flashcard-reference{border-color:CanvasText;color:CanvasText}
 .flashcard-reference>summary,.flashcard-reference>summary::marker{color:LinkText}
 .flashcard-reference>summary:focus-visible{outline-color:Highlight;box-shadow:none}
}


/* Source: launch-design.css */
/* LeagueLingo: clear, playful learning. Final theme layer, no learning-state logic. */
:root{
 --rr-canvas:#f7f8ff;--rr-surface:#fff;--rr-ink:#24304f;--rr-muted:#5b6480;
 --rr-primary:#4355db;--rr-primary-strong:#3041b5;--rr-blue-soft:#eaf1ff;--rr-line:#d5dcee;
 --rr-coral:#ff896d;--rr-yellow:#ffe18c;--rr-success:#eaf8ef;--rr-success-ink:#21643c;
 --rr-revisit:#fff0e9;--rr-revisit-ink:#8a3b24;--rr-focus:#243cb2;--rr-focus-halo:#fff;
 --rr-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --rr-radius-card:20px;--rr-radius-sm:12px;--rr-space-1:.25rem;--rr-space-2:.5rem;--rr-space-3:.75rem;--rr-space-4:1rem;--rr-space-6:1.5rem;
 --play-font:var(--rr-font);--play-shell:var(--rr-canvas);--play-shell-raised:#fff;--play-shell-text:var(--rr-ink);--play-shell-muted:var(--rr-muted);
 --play-paper:#fff;--play-paper-soft:#f1f4ff;--play-ink:var(--rr-ink);--play-muted:var(--rr-muted);
 --play-mint:#eaf1ff;--play-mint-ink:#3041b5;--play-cyan:#eaf1ff;--play-coral:var(--rr-coral);--play-coral-ink:var(--rr-revisit-ink);--play-gold:var(--rr-yellow);
 --play-primary:var(--rr-primary);--play-primary-edge:var(--rr-primary-strong);--play-line:var(--rr-line);
 --play-selected:#eaf1ff;--play-selected-ink:#3041b5;--play-correct:var(--rr-success);--play-correct-ink:var(--rr-success-ink);--play-revisit:var(--rr-revisit);--play-revisit-ink:var(--rr-revisit-ink);
 --play-error:#fff0e9;--play-error-ink:#8a3b24;--play-radius:20px;
 --page:var(--rr-canvas);--surface:#fff;--soft:#f1f4ff;--ink:var(--rr-ink);--muted:var(--rr-muted);--shell-text:var(--rr-ink);--shell-muted:var(--rr-muted);--shell-raised:#fff;
 --gold:#8a5c10;--cyan:var(--rr-primary);--action:var(--rr-primary);--good:var(--rr-success-ink);--danger:var(--rr-revisit-ink);--line:var(--rr-line);--max:1360px;
}
*{box-sizing:border-box}body{margin:0;font-family:var(--rr-font);font-size:16px;line-height:1.65;background:var(--rr-canvas);color:var(--rr-ink)}
h1,h2,h3,.brand,.term,.big-stat,.welcome-lead,.more-card strong{font-family:var(--rr-font);font-style:normal;color:var(--rr-ink);letter-spacing:-.03em;font-weight:750}
h1{font-size:clamp(2rem,3.4vw,3rem);line-height:1.17}h2{font-size:1.4rem;line-height:1.35}h3{font-size:1.08rem;line-height:1.45}p{line-height:1.65}a{color:var(--rr-primary-strong);text-underline-offset:3px}
.eyebrow{font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.07em;color:var(--rr-muted)}.supporting-eyebrow{display:none}
.status,.lesson-meta,.activity-reassurance,.release-note,.save-note,.page-heading>p:not(.eyebrow){color:var(--rr-muted)}.status,.lesson-meta{font-size:14px}
.shell{display:grid;grid-template-columns:224px minmax(0,1fr)}main{width:100%;max-width:1360px;padding:1.65rem clamp(1.25rem,3.5vw,3.5rem) 3rem}
.sidebar{background:#fff;border-right:1px solid var(--rr-line);padding:1.8rem 1.15rem;gap:2rem}.brand{font-size:1.5rem;color:var(--rr-ink);letter-spacing:-.04em}.brand-mark{width:32px;height:36px;color:var(--rr-primary)}.brand-subtitle{color:var(--rr-muted);font-size:10px;font-weight:650;letter-spacing:.08em}.sidebar nav{gap:.4rem}.sidebar nav a{min-height:48px;padding:.7rem .85rem;color:var(--rr-muted);font-size:15px;font-weight:600;border:1px solid transparent;border-radius:12px}.sidebar nav a:hover{background:#f1f4ff;color:var(--rr-primary-strong)}.sidebar nav a[aria-current=page]{background:var(--rr-blue-soft);border-color:#cad5ff;color:var(--rr-primary-strong);box-shadow:none}.sidebar nav a[aria-current=page] .nav-icon{color:var(--rr-primary)}
.sidebar-callout{padding:.5rem .3rem;color:var(--rr-primary)}.sidebar-callout p{font-size:15px;font-weight:450;line-height:1.7;color:var(--rr-muted)}.sidebar-footer{border-top:1px solid var(--rr-line)}.explorer-profile strong{font-weight:650;color:var(--rr-ink)}.explorer-profile small,.sidebar-footer .save-note{font-size:13px;color:var(--rr-muted)}.profile-icon{border-color:var(--rr-line);color:var(--rr-primary);background:var(--rr-blue-soft)}
.app-topbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.7rem;padding-bottom:1rem;border-bottom:1px solid var(--rr-line);font-size:13px;color:var(--rr-muted)}.topbar-location{color:var(--rr-muted);min-width:0}.topbar-location>svg{color:var(--rr-primary)}.breadcrumb-divider{color:#909ab2}.topbar-tools{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.device-status{background:#fff;border:1px solid var(--rr-line);border-radius:999px;color:var(--rr-muted);font-size:12px;padding:5px 10px}.settings-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.45rem .6rem;border-radius:10px;color:var(--rr-muted);font-size:14px;text-decoration:none}.settings-shortcut:hover{background:var(--rr-blue-soft);color:var(--rr-primary-strong)}.settings-shortcut svg{width:17px;height:17px}
.page-heading{max-width:760px;margin-bottom:1.65rem;padding-top:.1rem}.page-heading>.eyebrow{margin:0 0 .5rem;color:var(--rr-primary);font-size:12px}.page-heading h1{margin:.3rem 0 .7rem;font-size:clamp(2rem,3.25vw,2.85rem);line-height:1.2;max-width:25ch}.page-heading>p:not(.eyebrow){max-width:62ch;margin:.7rem 0 0;font-size:16px}
.panel,.unit-path,.chapter-card,.guide-card,.next-chapter-note,.welcome-layout,.journal-hero,.completion-card{border:1px solid var(--rr-line);border-radius:var(--rr-radius-card);background:#fff;color:var(--rr-ink);box-shadow:none}.panel{padding:1.6rem}.panel p,.panel .status,.panel .lesson-meta{color:var(--rr-muted)}.panel :is(h1,h2,h3,strong){color:var(--rr-ink)}.panel .eyebrow{color:var(--rr-primary)}.panel a,.notice a,.feedback a{color:var(--rr-primary-strong)}
button,.button{font-family:var(--rr-font);font-size:15px;font-weight:700;line-height:1.45;min-height:48px;padding:.75rem 1rem;border:1px solid var(--rr-primary-strong);border-radius:12px;background:var(--rr-primary);color:#fff;box-shadow:0 2px 0 var(--rr-primary-strong);transition:background .15s,transform .15s;transform:none;text-align:center}
button:hover,.button:hover{filter:none;background:var(--rr-primary-strong);transform:none}button:active,.button:active{transform:translateY(1px);box-shadow:none}
button.secondary,.button.secondary,.on-dark.secondary,.hero-copy .secondary,.welcome-copy .actions .secondary,.chapter-card .button.secondary,.guide-card .secondary,.search .secondary{background:#fff;color:var(--rr-primary-strong);border:1px solid #bac7ef;box-shadow:none}.secondary:hover,.button.secondary:hover,.on-dark.secondary:hover,.hero-copy .secondary:hover,.chapter-card .button.secondary:hover,.search .secondary:hover{background:var(--rr-blue-soft);color:var(--rr-primary-strong)}
button:disabled{background:#eef1f8;color:#65708a;border-color:#c8d0e2;box-shadow:none;opacity:1;transform:none;cursor:not-allowed}.text-button{min-height:44px;background:transparent;color:var(--rr-primary-strong);border:0;box-shadow:none;font-weight:650;padding:.5rem}.text-button:hover{background:var(--rr-blue-soft);color:var(--rr-primary-strong)}.actions{gap:.75rem;margin-bottom:0}.danger,button.secondary.danger{background:#fff;color:var(--rr-revisit-ink);border-color:#ca917e;box-shadow:none}.danger:hover{background:var(--rr-revisit)}
.adventure-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:330px;margin-bottom:1.6rem;border:1px solid #ccd7ff;border-radius:22px;background:var(--rr-blue-soft);box-shadow:none;overflow:hidden}.hero-copy{padding:2rem 0 2rem 2rem;color:var(--rr-ink)}.hero-copy h2{font-family:var(--rr-font);font-size:clamp(1.8rem,2.5vw,2.5rem);font-weight:750;line-height:1.2;max-width:17ch;color:var(--rr-ink)}.hero-copy p{font-size:16px;line-height:1.7;color:var(--rr-muted)}.hero-badge{border:0;border-radius:0;background:transparent;padding:0;margin-bottom:.85rem;color:var(--rr-primary-strong);font-size:12px;font-weight:700;letter-spacing:.04em}.hero-meta{font-size:13px;color:var(--rr-muted);gap:12px}.hero-copy .actions{margin-top:1.4rem}.hero-copy button,.welcome-copy .actions>button{background:var(--rr-primary);color:#fff;border:1px solid var(--rr-primary-strong);box-shadow:0 2px 0 var(--rr-primary-strong)}.hero-copy button:hover{background:var(--rr-primary-strong)}.hero-copy .actions>button.secondary{background:#fff;color:var(--rr-primary-strong);border:1px solid #bac7ef;box-shadow:none}
.hero-scene{background:#eaf1ff}.hero-scene:after{background:linear-gradient(90deg,#eaf1ff,transparent 38%)}.league-hero{background:#eaf1ff}.league-hero .league-image-wrap{background:#eaf1ff}.league-hero:has(.inspect-art):before{background:none}.league-art-caption{background:#fffffff0;color:var(--rr-ink);border:1px solid #c6cfe4;font-size:12px}.league-art-caption a{color:var(--rr-primary-strong)}.league-hero .inspect-art{background:#fff;color:var(--rr-primary-strong);border-color:#bac7ef;box-shadow:none}
.journey-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.5rem;align-items:start}.journey-aside{display:grid;gap:1.1rem}.journey-aside .daily-progress-card{margin:0}.chapter-card,.guide-card{padding:1.2rem}.chapter-card h2,.guide-card h2{font-size:1.1rem;font-weight:700;color:var(--rr-ink)}.chapter-card p,.guide-card p,.chapter-card>p,.chapter-progress p{color:var(--rr-muted);font-size:14px}.chapter-card .eyebrow,.guide-card .eyebrow{color:var(--rr-primary)}.chapter-progress h2{font-size:16px}.chapter-ring{width:64px;height:64px;background:conic-gradient(var(--rr-primary) var(--chapter-fill),#e1e6f7 0)}.ring-core{background:#fff;color:var(--rr-ink)}.icon-stat,.icon-stat span{font-size:13px;color:var(--rr-muted)}.icon-stat strong{color:var(--rr-ink)}.icon-stat svg,.card-symbol{color:var(--rr-primary)}.guide-mascot{filter:none}
.chapter-switcher{border:1px solid var(--rr-line);border-radius:16px;background:#fff;margin-bottom:1.5rem;color:var(--rr-ink)}.chapter-switcher>summary{min-height:72px;border-radius:15px;padding:.9rem 1.1rem}.chapter-current-kicker{font-size:12px;color:var(--rr-muted)}.chapter-current>strong{font-size:16px;font-weight:700;color:var(--rr-ink)}.chapter-current>small{font-size:13px;color:var(--rr-muted)}.chapter-change{font-size:14px;color:var(--rr-primary-strong)}.chapter-selector{gap:.75rem;border-color:var(--rr-line)}.chapter-choice{background:#f7f8ff;border:1px solid var(--rr-line);border-radius:12px;color:var(--rr-ink)}.chapter-choice:hover{background:var(--rr-blue-soft)}.chapter-choice.selected{background:var(--rr-blue-soft);border:2px solid var(--rr-primary);box-shadow:none}.chapter-choice strong{font-size:15px;font-weight:650;color:var(--rr-ink)}.chapter-choice small{font-size:13px;color:var(--rr-muted)}.chapter-choice-number{background:#fff;color:var(--rr-primary);border:1px solid #c8d3f5;border-radius:12px}.chapter-reference{border:1px solid var(--rr-line);border-radius:14px;background:#fff;color:var(--rr-ink)}.chapter-reference>summary{min-height:48px;padding:.85rem 1rem;font-size:14px;font-weight:650;list-style-position:inside;cursor:pointer}.chapter-reference .league-recognition{margin:0;padding:0 1rem 1rem;border:0;border-radius:0}
.unit-path{padding:1.5rem}.path-heading{align-items:flex-start;border:0;margin:0;padding:0 0 1rem;gap:1rem}.path-heading h2{font-size:1.35rem;font-weight:750}.path-heading .eyebrow{display:none}.path-heading p{font-size:14px;color:var(--rr-muted);margin:.4rem 0 0}.unit-count{border:1px solid #cad5ff;border-radius:8px;background:var(--rr-blue-soft);color:var(--rr-primary-strong);box-shadow:none;font-size:13px}
.trail-guide{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;margin:.1rem 0 1rem;border:1px solid #d7dfff;border-radius:16px;background:#f1f4ff;color:var(--rr-ink)}.trail-guide>img,.trail-guide .guide-mascot{width:56px;height:64px;flex:0 0 56px;object-fit:contain;filter:none;margin:0}.trail-guide p{font-size:14px;line-height:1.65;color:var(--rr-muted);margin:0}.trail-guide strong{color:var(--rr-ink);font-weight:650}
.trail-list{position:relative;isolation:isolate;margin:0;padding:.25rem 0;list-style:none}.trail-list:before{content:"";position:absolute;z-index:-1;left:25px;top:45px;bottom:48px;width:2px;background:#d4dcf7;border-radius:2px;pointer-events:none}.trail-step .trail-connector{display:none}
.unit-path .trail-step,.unit-path .trail-step[data-state=locked]{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:.7rem 1rem;align-items:center;min-height:122px;padding:1rem 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.unit-path .trail-node{width:52px;height:52px;border:2px solid #c6d0ef;border-radius:18px;background:#edf1fc;color:var(--rr-muted);box-shadow:0 3px 0 #d2daee;position:relative;z-index:1}.unit-path .trail-node svg{width:22px;height:22px}
.unit-path .trail-step[data-state=current] .trail-node{background:var(--rr-primary);border-color:var(--rr-primary-strong);color:#fff;box-shadow:0 3px 0 var(--rr-primary-strong),0 0 0 5px #eaf1ff}.unit-path .trail-step[data-state=complete] .trail-node{background:var(--rr-blue-soft);border-color:#a4b5f1;color:var(--rr-primary-strong);box-shadow:0 3px 0 #c7d3f5}.unit-path .trail-step[data-state=locked] .trail-node{background:#f1f3fa;border-color:#d1d8e8;color:#69748c;box-shadow:0 2px 0 #e0e5f0}
.unit-path .trail-step[data-step="4"] .trail-node{border-radius:50%;background:var(--rr-yellow);border-color:#d4b855;color:#725315;box-shadow:0 3px 0 #dac36c}.unit-path .trail-step[data-step="4"][data-state=locked] .trail-node{background:#f1f3fa;border-color:#d1d8e8;color:#69748c;box-shadow:0 2px 0 #e0e5f0}.unit-path .trail-step[data-step="4"][data-state=complete] .trail-node{background:var(--rr-blue-soft);border-color:#a4b5f1;color:var(--rr-primary-strong);box-shadow:0 3px 0 #c7d3f5}
.trail-copy{min-width:0}.trail-copy strong,.trail-copy>strong{color:var(--rr-ink);font-size:16px;font-weight:650;line-height:1.5}.trail-step[data-state=locked] .trail-copy strong{color:var(--rr-muted)}.trail-copy p,.trail-copy .lesson-meta{font-size:13px;color:var(--rr-muted)}.trail-visual-title{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem;min-width:0}.trail-visual-title .lesson-visual-thumb,.trail-visual-title .lesson-visual-thumb .league-image-wrap{width:56px;height:56px;min-width:56px;min-height:56px;flex-basis:56px}.trail-action{min-height:44px;font-size:14px;border-width:1px}.prerequisite-link,.trail-practice-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.45;color:var(--rr-primary-strong);text-decoration:underline;text-underline-offset:3px}.trail-practice-link{margin:.25rem 0 0;padding:.35rem 0;font-weight:550}.trail-review-stop{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--rr-line)}.trail-review-stop p{flex:1 1 220px;margin:0;font-size:14px;color:var(--rr-muted)}.trail-review-stop strong{color:var(--rr-ink)}.trail-review-stop :is(a,button){min-height:44px;font-size:14px}
.next-chapter-note{padding:1.4rem;margin-top:1.5rem;border-style:dashed;background:#fff}.next-chapter-note h2{font-size:1.3rem;color:var(--rr-ink)}.next-chapter-note p:not(.eyebrow),.journey-footnote{font-size:14px;color:var(--rr-muted)}.next-chapter-note .eyebrow{color:var(--rr-primary)}
.focused-shell{background:var(--rr-canvas);color:var(--rr-ink)}.activity{max-width:840px}.activity-head .status,.activity-head .text-button,.activity-progress-label{color:var(--rr-muted)}.activity-progress-label .eyebrow{color:var(--rr-primary)}.activity .teach-card,.activity .question-card{border:1px solid var(--rr-line);border-radius:20px;background:#fff;color:var(--rr-ink);box-shadow:none;padding:clamp(1.25rem,3vw,2.1rem)}.activity .teach-card h1{font-size:clamp(1.75rem,2.8vw,2.3rem);font-weight:750;line-height:1.25;color:var(--rr-ink)}.activity .teach-card p{font-size:17px;line-height:1.75;color:var(--rr-ink)}.activity .question-card h1{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:750;line-height:1.35;color:var(--rr-ink)}.activity .lesson-art{width:76px;height:90px}.question-card .eyebrow{color:var(--rr-primary);font-weight:650}.activity-reassurance{font-size:14px;color:var(--rr-muted)}
.progress{height:11px;border:1px solid #d0d8ef;border-radius:20px;background:#e8edf9}.progress>span{background:var(--rr-primary);border-radius:20px;box-shadow:none}.progress-meter{background:transparent;border:0}.progress-meter>.progress{background:#e8edf9;border:1px solid #d0d8ef;box-shadow:none}.progress-meter>.status{color:var(--rr-muted);background:transparent}.activity .progress{background:#e8edf9}
.choice,.activity .choice,.review-session-controls>.choice,.settings-stack .choice{background:#fff;color:var(--rr-ink);border:1px solid #bfcbe3;border-radius:14px;box-shadow:0 2px 0 #e1e6f2;padding:1rem;font-size:16px;font-weight:400;line-height:1.6;min-height:56px}.choice input{accent-color:var(--rr-primary)}
.choice:has(input:checked),.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked){background:var(--rr-blue-soft);color:var(--rr-ink);border:2px solid var(--rr-primary);padding:calc(1rem - 1px);box-shadow:0 2px 0 #b0bdf1}
.choice.answer-correct,.choice.answer-correct:has(input:checked),.question-card .choice.answer-correct:has(input:checked){background:var(--rr-success);color:var(--rr-ink);border:2px solid var(--rr-success-ink);padding:calc(1rem - 1px);box-shadow:none}
.choice.answer-incorrect,.choice.answer-incorrect:has(input:checked),.question-card .choice.answer-incorrect:has(input:checked){background:var(--rr-revisit);color:var(--rr-ink);border:2px solid var(--rr-revisit-ink);padding:calc(1rem - 1px);box-shadow:none}
@media(hover:hover){.question-card .choice:not(.answer-correct):not(.answer-incorrect):not(:has(input:disabled)):not(:has(input:checked)):hover{background:#f4f6ff;border-color:var(--rr-primary)}}
.feedback{background:var(--rr-success);color:var(--rr-ink);border:1px solid #aed5bb;border-left:4px solid var(--rr-success-ink);border-radius:14px;padding:1.2rem;box-shadow:none}.feedback.wrong{background:var(--rr-revisit);color:var(--rr-ink);border:1px solid #e9b8a9;border-left:4px solid var(--rr-revisit-ink)}.feedback h2{font-size:18px;font-weight:700;color:var(--rr-ink)}.feedback p{color:var(--rr-ink);font-size:16px!important;line-height:1.7}.feedback-heading>span{background:#c8e9d4;color:var(--rr-success-ink);width:30px;height:30px}.feedback.wrong .feedback-heading>span{background:#ffdacd;color:var(--rr-revisit-ink)}.lumi-feedback{gap:.75rem}.feedback-mascot{width:42px;height:46px}.question-assumptions{background:#f1f4ff;color:var(--rr-ink);border-left:3px solid var(--rr-primary);border-radius:0 12px 12px 0}
.notice,.takeaway{background:var(--rr-blue-soft);color:var(--rr-ink);border:1px solid #c7d3f5;border-left:4px solid var(--rr-primary);border-radius:12px;box-shadow:none}.notice p,.notice strong,.takeaway span{color:var(--rr-ink)}.takeaway svg{color:var(--rr-primary)}.mission-card{background:#f1f4ff;color:var(--rr-ink)}.mission-check,.mission-check .status{color:var(--rr-ink)}.checkpoint-weak{background:#f1f4ff;border-color:var(--rr-line);color:var(--rr-ink);border-radius:14px}.checkpoint-repeat,.checkpoint-rules{color:var(--rr-muted)}
/* Explanatory diagrams keep their labels and structure while sharing the new palette. */
.abstract-map,.hud-demo,.ability-demo,.range-demo,.stat-demo,.damage-demo,.trade-demo,.recall-demo,.wave-demo,.role-demo,.objective-demo,.vision-demo,.teaching-diagram,.concept-diagram{background:#f1f4ff;color:var(--rr-ink);border-color:#cad5f4;border-radius:14px}.abstract-map p,.hud-demo p{color:var(--rr-muted)}.map-bases{color:var(--rr-primary-strong)}.map-lanes>div,.hud-demo>div,.hud-tile{background:#fff;color:var(--rr-ink);border-color:#c8d3ee}.map-lanes>.map-river{background:#eaf1ff;color:var(--rr-primary-strong);border-color:#adbfef}
.league-recognition{background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:16px;padding:1.1rem}.league-recognition h2{color:var(--rr-ink);font-size:1.1rem}.league-recognition>p{color:var(--rr-muted);font-size:14px}.league-champion{background:#f5f7ff;border:1px solid #d5dcee;border-radius:12px;color:var(--rr-ink)}.league-champion strong,.league-champion>span:not(.league-image-wrap){color:var(--rr-ink);font-weight:650}.league-champion .league-image-wrap{background:#eaf1ff;border-color:#bac8ed;border-radius:12px}.league-champion .inspect-art{background:#fff;color:var(--rr-primary-strong);border:1px solid #bac7ef;box-shadow:none;font-weight:550}
.league-examples,.lesson-recognition-strip,.flashcard-visuals,.quiz-media{background:#f1f4ff;color:var(--rr-ink);border:1px solid #d4dcf5;border-radius:16px;padding:1rem}.league-examples .eyebrow,.lesson-recognition-strip>.eyebrow{color:var(--rr-muted);font-size:12px;font-weight:650;letter-spacing:.05em}.league-examples h2,.quiz-media h2,.quiz-media-title{color:var(--rr-ink);font-weight:700;font-size:16px}.league-examples figcaption,.recognition-caption,.lesson-recognition-strip figcaption,.flashcard-visuals figcaption,.quiz-media figcaption,.quiz-media-note{color:var(--rr-muted);font-size:14px;line-height:1.65}
.recognition-item,.league-icon-example,.quiz-media-card{background:#fff;color:var(--rr-ink);border:1px solid #c8d3eb;border-radius:12px;box-shadow:none;padding:.9rem;gap:.6rem}.recognition-item strong,.league-icon-example strong,.quiz-media-card strong,.quiz-media-card>.quiz-media-label{color:var(--rr-ink);font-weight:650}.recognition-item small,.recognition-item .recognition-context,.league-icon-example>span:not(.league-image-wrap),.quiz-media-card p{color:var(--rr-muted);font-size:14px}.recognition-item .inspect-art,.league-icon-example .inspect-art,.quiz-media-card .inspect-art{background:#fff;color:var(--rr-primary-strong);border:1px solid #bac7ef;box-shadow:none;font-weight:550;min-height:44px}
.lesson-visual-thumb .league-image-wrap,.recognition-item .league-image-wrap,.guide-visual .league-image-wrap,.chapter-visual-strip .league-image-wrap,.quiz-media-card .league-image-wrap,.league-icon-example .league-image-wrap,.quiz-choice-art{background:#eaf1ff;border-color:#bcc9e9;border-radius:12px}.recognition-item>.league-image-wrap{margin:.1rem 0 .15rem}.league-icon-example img,.quiz-media-card img{background:#eaf1ff}.guide-visual-caption{color:var(--rr-muted);font-size:14px}.chapter-visual-strip{gap:.5rem}.league-image-fallback,.recognition-item .league-image-fallback,.league-icon-example .league-image-fallback{background:#eaf1ff;color:var(--rr-muted)}.league-hero .league-image-fallback{background:#eaf1ff;color:var(--rr-muted)}.recognition-load-note{color:var(--rr-revisit-ink);background:var(--rr-revisit);border-radius:8px;padding:.6rem;font-size:14px}
.flashcard{background:#fff;border:1px solid var(--rr-line);border-radius:20px;box-shadow:none;color:var(--rr-ink)}.flashcard .term{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:750;color:var(--rr-primary-strong)}.flashcard>p,.flashcard .definition{color:var(--rr-ink);font-size:17px;line-height:1.75}.flashcard-mark{background:var(--rr-blue-soft);border:1px solid #b8c8f3;border-radius:14px;color:var(--rr-primary);box-shadow:none}.flashcard-reference{margin-top:1.2rem;border-color:var(--rr-line);color:var(--rr-ink)}.flashcard-reference>summary,.flashcard-reference>summary::marker{font-size:14px;color:var(--rr-primary-strong);font-weight:650;min-height:44px}.flashcard .eyebrow{color:var(--rr-muted)}.flashcard #card-answer{border-color:var(--rr-line)}
.review-session-builder,.review-chooser{background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:16px;box-shadow:none}.review-chooser h2,.review-session-builder h2{color:var(--rr-ink);font-size:1.3rem}.review-chooser p,.review-chooser label,.review-session-builder p,.review-session-controls>.status{color:var(--rr-muted)}.review-session-controls select,select,input[type=search]{background:#fff;color:var(--rr-ink);border:1px solid #b8c4df;border-radius:12px;min-height:48px;font-size:16px}.review-session-controls>.choice{background:#f7f8ff;color:var(--rr-ink)}.review-context{background:var(--rr-blue-soft);color:var(--rr-ink);border:1px solid #c8d5fa;border-radius:14px}.review-context p{color:var(--rr-muted)}
.guide-filters button{background:#fff;color:var(--rr-primary-strong);border:1px solid #bdc9ea;border-radius:12px;box-shadow:none;font-weight:600}.guide-filters button[aria-pressed=true]{background:var(--rr-blue-soft);border-color:var(--rr-primary);color:var(--rr-primary-strong);box-shadow:none}.guide-entry{background:#fff;border:1px solid var(--rr-line);border-radius:16px;box-shadow:none;color:var(--rr-ink)}.guide-entry h2,.guide-entry h3{font-size:1.2rem;font-weight:700;color:var(--rr-ink)}.guide-entry p{color:var(--rr-ink)}.guide-entry .term-icon{background:var(--rr-blue-soft);border-color:#c0cff7;color:var(--rr-primary)}.search-icon{color:var(--rr-primary)}#guide-empty{background:#fff;color:var(--rr-muted);border-color:var(--rr-line)}
.journal-hero{padding:1.5rem}.journal-hero h2{font-size:1.6rem;font-weight:750;color:var(--rr-ink)}.journal-hero p{color:var(--rr-muted)}.journal-hero .eyebrow{color:var(--rr-primary)}.journal-mascot{max-width:100px;max-height:120px;filter:none}.milestone-section{margin-top:1.75rem}.milestone-heading h2{font-size:1.4rem;color:var(--rr-ink)}.milestone-heading p,.milestone-section>.review-intro{color:var(--rr-muted)}.milestone-card,.challenge-practice-badges .milestone-card{background:#fff;border:1px solid var(--rr-line);border-radius:16px;box-shadow:none;color:var(--rr-ink)}.milestone-card[data-earned=true]{background:#eff3ff;border-color:#b7c6f5;box-shadow:none}.milestone-card[data-earned=false]{background:#f7f8fc;border-color:#d8deeb;opacity:1}.milestone-card h3{font-weight:700;color:var(--rr-ink)}.milestone-card p,.challenge-practice-badges .milestone-card p{color:var(--rr-muted)}.milestone-icon,.milestone-card[data-earned=true] .milestone-icon{background:var(--rr-yellow);color:#725315;border:1px solid #e0c66f;border-radius:13px;box-shadow:none}.milestone-card[data-earned=false] .milestone-icon{background:#eef1f9;color:#65708a;border-color:#d2d9e8}.milestone-status{color:var(--rr-muted);font-size:13px;font-weight:600}.milestone-card[data-earned=true] .milestone-status{color:var(--rr-primary-strong)}.progress-overview{gap:1rem}.big-stat,.challenge-practice-summary .big-stat{color:var(--rr-primary-strong);font-weight:700}.stat-symbol,.section-icon,.section-icon svg{color:var(--rr-primary)}.checkpoint-history-row{border-color:var(--rr-line)}.checkpoint-history-row p{color:var(--rr-muted)}.journal-note{background:#fff;color:var(--rr-ink)}.journal-note p{color:var(--rr-muted)}
.daily-progress-card,.daily-progress-card[data-goal-met=true],.challenge-practice-summary{background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:16px;box-shadow:none}.daily-progress-card h2,.challenge-practice-summary h2{color:var(--rr-ink);font-size:1.15rem;font-weight:700}.daily-progress-card .eyebrow,.challenge-practice-summary>.eyebrow{color:var(--rr-primary)}.daily-progress-card .daily-goal-count{color:var(--rr-primary-strong);font-weight:750}.daily-streak-stats>div{background:#f1f4ff;border-color:#d0dbf7;border-radius:12px}.daily-streak-stats strong{font-weight:700;color:var(--rr-ink);font-size:20px}.daily-streak-stats :is(span,dt){color:var(--rr-muted)}.daily-progress-card .daily-progress-note{color:var(--rr-muted)}.daily-goal-meter{background:#e8edf9;border-color:#c9d3ee;accent-color:var(--rr-primary)}.daily-goal-meter::-webkit-progress-bar{background:#e8edf9}.daily-goal-meter::-webkit-progress-value{background:var(--rr-primary)}.daily-goal-meter::-moz-progress-bar{background:var(--rr-primary)}.daily-rules{border-color:var(--rr-line);color:var(--rr-ink)}.daily-rules>summary,.daily-rules>summary::marker{color:var(--rr-primary-strong);font-weight:650}.daily-progress-card .daily-rules .daily-progress-note{color:var(--rr-muted)}.daily-goal-settings{color:var(--rr-ink)}.daily-goal-settings legend{color:var(--rr-ink);font-weight:700}.daily-goal-option{background:#fff;color:var(--rr-ink);border:1px solid #b8c4df;border-radius:12px;font-weight:600}.daily-goal-option input{accent-color:var(--rr-primary)}.daily-goal-option:has(input:checked){background:var(--rr-blue-soft);color:var(--rr-primary-strong);border:2px solid var(--rr-primary)}.daily-goal-settings .daily-goal-help{color:var(--rr-muted)}.daily-milestones{color:var(--rr-ink)}.daily-milestones>summary{font-weight:650}.daily-milestones .milestone-card p{color:var(--rr-muted)}
.panel .daily-completion-note,.challenge-feedback .daily-completion-note{background:var(--rr-blue-soft);color:var(--rr-primary-strong);border:1px solid #c6d3fa;border-left:4px solid var(--rr-primary);border-radius:0 12px 12px 0;font-weight:600}.challenge-practice-summary p,.challenge-practice-summary strong{color:var(--rr-ink)}.challenge-practice-badges{background:#f1f4ff;color:var(--rr-ink);border:1px solid #c8d5f5;border-radius:14px}.challenge-practice-badges>summary,.challenge-practice-badges>p{color:var(--rr-ink)}.challenge-practice-badges>summary::marker{color:var(--rr-primary)}
.challenge-board{background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:20px}.challenge-head h1{font-size:clamp(1.7rem,2.8vw,2.3rem);color:var(--rr-ink)}.challenge-head p,.challenge-methods{color:var(--rr-muted)}.challenge-instructions{background:var(--rr-blue-soft);border-color:var(--rr-primary);color:var(--rr-ink)}.challenge-reward-rule{background:#f1f4ff;border:1px solid #cbd5f1;border-radius:8px;color:var(--rr-muted);font-weight:500}.challenge-stage-badge{background:#f1f4ff;color:var(--rr-primary-strong);border:1px solid #c8d3f3;border-radius:8px;box-shadow:none;font-weight:650}.challenge-stage-badge[data-stage=discover]{background:var(--rr-blue-soft);color:var(--rr-primary-strong);border-color:#c8d3f3}.challenge-stage-badge[data-stage=connect]{background:#f1edff;color:#5941a4;border-color:#d4c9f7}.challenge-stage-badge[data-stage=apply]{background:#fff4da;color:#725315;border-color:#ead596}
.challenge-tray h2,.challenge-targets h2{color:var(--rr-ink)}.challenge-piece,.challenge-target{background:#fff;color:var(--rr-ink);border:1px solid #bbc8e3;border-radius:14px;box-shadow:0 2px 0 #e1e6f2}.challenge-piece:hover,.challenge-target:hover{background:#f3f6ff;color:var(--rr-ink)}.challenge-piece-copy strong,.challenge-target>strong{font-weight:650;color:var(--rr-ink)}.challenge-piece-copy span,.challenge-piece-state{color:var(--rr-muted)}.challenge-piece[aria-pressed=true]{background:var(--rr-blue-soft);color:var(--rr-ink);border:2px solid var(--rr-primary);box-shadow:none}.challenge-piece[data-placed=true]{background:#f1f4ff;color:var(--rr-ink);border-color:#b5c3e8}.challenge-piece:disabled,.challenge-target:disabled{background:#f7f9ff;color:var(--rr-ink);opacity:1}.challenge-art,.challenge-art .league-image-wrap{background:#eaf1ff;border-color:#c0ccec;border-radius:12px}.challenge-drag-handle{background:#edf1ff;color:var(--rr-primary);border-color:#d2dbf5;border-radius:10px}.challenge-picture-hint{color:var(--rr-muted)}.challenge-target[data-state=filled]{background:var(--rr-blue-soft);border-color:#99afee}.challenge-target[data-state=correct],.challenge-target[data-state=correct]:disabled{background:var(--rr-success);border:2px solid var(--rr-success-ink);color:var(--rr-ink)}.challenge-target[data-state=incorrect],.challenge-target[data-state=incorrect]:disabled{background:var(--rr-revisit);border:2px solid var(--rr-revisit-ink);color:var(--rr-ink)}.challenge-target[data-drag-over=true]{background:#e1eaff;border-color:var(--rr-primary);outline:2px solid var(--rr-primary)}.challenge-placed,.challenge-placed-chip{background:#edf2ff;color:var(--rr-primary-strong);border-color:#c5d2f5}.challenge-bucket-count,.challenge-pair-feedback{color:var(--rr-muted)}.challenge-target[data-state=correct] .challenge-pair-feedback{color:var(--rr-success-ink)}.challenge-target[data-state=incorrect] .challenge-pair-feedback{color:var(--rr-revisit-ink)}
.challenge-selection-note{background:#eaf1ff;color:var(--rr-ink);border:1px solid #adbfef;border-radius:12px;box-shadow:0 5px 18px #24304f12}.challenge-selected-label{color:var(--rr-ink)}.challenge-drag-ghost{background:#fff;color:var(--rr-ink);border:2px solid var(--rr-primary);box-shadow:0 12px 32px #24304f26;border-radius:14px}.challenge-count,.challenge-status,.challenge-session-note{color:var(--rr-muted)}.challenge-hints{background:#f1f4ff;color:var(--rr-ink);border:1px solid #cbd7f5;border-radius:14px}.challenge-hints p{color:var(--rr-muted)}
.challenge-feedback,.challenge-feedback[data-result=correct]{background:var(--rr-success);color:var(--rr-ink);border:1px solid #b8dac2;border-left:4px solid var(--rr-success-ink);border-radius:16px}.challenge-feedback[data-result=retry]{background:var(--rr-revisit);border-color:#e8b8a9;border-left-color:var(--rr-revisit-ink);color:var(--rr-ink)}.challenge-feedback h2,.challenge-feedback p{color:var(--rr-ink)}.challenge-reward-panel,.challenge-reward-panel[data-new-reward=true]{background:#fff;border:1px solid #b5d9c1;border-radius:14px;box-shadow:none;color:var(--rr-ink)}.challenge-reward-panel[data-new-reward=false]{background:#f4f6fb;border-color:#cdd5e5;box-shadow:none}.challenge-reward-panel h3,.challenge-reward-xp,.challenge-reward-panel[data-new-reward=false] h3,.challenge-reward-panel[data-new-reward=false] .challenge-reward-xp{color:var(--rr-ink);font-weight:750}.challenge-reward-panel p{color:var(--rr-muted)}.challenge-new-badges li{background:#fff5d4;color:#725315;border:1px solid #e6d18a;border-radius:9px;font-weight:650}.challenge-recap-item{background:#fff;border:1px solid #d0d8e8;border-radius:12px;color:var(--rr-ink)}.challenge-recap-item[data-result=correct]{background:#fff;border-color:#b9d7c3}.challenge-recap-item[data-result=retry]{background:#fff;border-color:#e6bcad}.challenge-recap-item p,.challenge-recap-item strong{color:var(--rr-ink)}.challenge-recap-label{color:var(--rr-success-ink)}.challenge-recap-item[data-result=retry] .challenge-recap-label{color:var(--rr-revisit-ink)}.challenge-celebration{color:#b58521}.challenge-celebration img{filter:none}
.challenge-links{background:#fff;color:var(--rr-ink)}.challenge-links>p,.challenge-gallery-count{color:var(--rr-muted)}.challenge-links h2{color:var(--rr-ink)}.challenge-gallery-card{background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:16px;box-shadow:none;text-align:left}.challenge-gallery-card:hover{background:#f5f7ff;color:var(--rr-ink)}.challenge-gallery-card strong{font-weight:700;color:var(--rr-ink)}.challenge-gallery-card .challenge-type,.challenge-gallery-card>.challenge-meta{color:var(--rr-muted)}.challenge-gallery-card>.challenge-gallery-status{background:#f1f3f9;color:var(--rr-muted);border-color:#d3dbea;font-weight:600}.challenge-gallery-card>.challenge-gallery-status[data-status=progress]{background:var(--rr-blue-soft);color:var(--rr-primary-strong);border-color:#bdcdf7}.challenge-gallery-card>.challenge-gallery-status[data-status=complete]{background:#eff3ff;color:var(--rr-primary-strong);border-color:#bdcdf7}
.challenge-save-note{background:#f1f4ff;color:var(--rr-muted);border-color:#aabce9}.challenge-save-note[data-state=saved]{background:#f1f4ff;color:var(--rr-primary-strong);border-color:var(--rr-primary)}.challenge-save-note[data-state=pending]{background:#f1f4ff;color:var(--rr-primary-strong);border-color:var(--rr-primary)}.challenge-save-note[data-state=error],.challenge-practice-summary .challenge-recovery-summary,.daily-progress-card .challenge-recovery-summary{background:var(--rr-revisit);color:var(--rr-revisit-ink);border-color:#bc7157}.challenge-reward-panel[data-save-state=unsaved],.challenge-reward-panel[data-save-state=blocked]{background:var(--rr-revisit);color:var(--rr-revisit-ink);border:1px solid #d99882;box-shadow:none}.challenge-reward-panel[data-save-state=unsaved] :is(h3,p,.challenge-reward-xp),.challenge-reward-panel[data-save-state=blocked] :is(h3,p,.challenge-reward-xp){color:var(--rr-revisit-ink)}.challenge-reward-panel[data-save-state=unsaved] .challenge-new-badges li,.challenge-reward-panel[data-save-state=blocked] .challenge-new-badges li{background:#fff;color:var(--rr-revisit-ink);border-color:#d99882}.challenge-practice-summary .challenge-recovery-summary :is(p,strong,a){color:var(--rr-revisit-ink)}
.settings-stack{gap:1.2rem}.settings-stack>.panel{border-radius:18px}.settings-stack h2{font-size:1.2rem;color:var(--rr-ink)}.section-icon{gap:.75rem;color:var(--rr-primary)}.settings-stack details>summary{min-height:44px;font-size:15px;color:var(--rr-primary-strong)}.settings-stack p{color:var(--rr-muted)}.more-card{background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:16px;box-shadow:none}.more-card strong{color:var(--rr-ink)}.more-card span{color:var(--rr-muted)}
.welcome-layout{overflow:hidden;border:1px solid #d2dbf7;background:#fff}.welcome-copy{background:#fff;padding:clamp(1.5rem,4vw,3.5rem);color:var(--rr-ink)}.welcome-copy h1{font-weight:800;font-size:clamp(2.1rem,4.3vw,3.5rem);line-height:1.12;letter-spacing:-.04em;color:var(--rr-ink)}.welcome-copy>p{color:var(--rr-muted)}.welcome-lead{font-size:1.4rem;font-weight:650;color:var(--rr-primary-strong)}.welcome-guide{border:1px solid #cbd7f7;border-radius:16px;background:#f1f4ff;color:var(--rr-ink)}.welcome-guide p{font-weight:450;font-size:17px;line-height:1.6;color:var(--rr-ink)}.welcome-facts{font-size:14px;color:var(--rr-muted)}.welcome-facts svg{color:var(--rr-primary)}.welcome-scene{background:#eaf1ff;color:var(--rr-ink)}.welcome-scene:before,.welcome-scene:after{background:none}.welcome-scene .scene-caption{font-family:var(--rr-font);font-weight:650;font-size:16px;color:var(--rr-primary-strong);background:transparent;text-shadow:none}
.celebration{margin-bottom:1rem;color:var(--rr-primary)}.celebration:before,.celebration:after{background:var(--rr-yellow)}.celebration[data-mood=practice]:before,.celebration[data-mood=practice]:after{background:#d2dcff}.celebration-stars{color:#d9a526}.celebration-stars svg:nth-child(2){color:var(--rr-coral)}.celebration-stars svg:nth-child(3){color:var(--rr-primary)}.summary-emblem{background:#fff3c7;color:#725315;border:1px solid #e5d08a;box-shadow:none;border-radius:16px}.completion-card{border-width:1px;border-radius:20px}.completion-stats .stat,.summary-list .stat{background:#f1f4ff;color:var(--rr-ink);border:1px solid #d1dbf5;border-radius:14px;box-shadow:none}.completion-stats strong{font-weight:700;color:var(--rr-ink)}.completion-stats span{color:var(--rr-muted)}
.art-inspector,.modal,dialog.modal{background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:20px;box-shadow:0 24px 80px #24304f33}.art-inspector::backdrop,.modal::backdrop{background:#24304fb3}.art-inspector-head{background:#fff;border-bottom:1px solid var(--rr-line);border-radius:19px 19px 0 0}.art-inspector-head h2{color:var(--rr-ink);font-weight:700}.art-inspector-head button{min-height:44px}.art-inspector figure{background:#f1f4ff}.art-inspector figure>img,.art-inspector figure>.league-image-wrap{border-radius:12px;background:#eaf1ff}.art-inspector .league-image-fallback{background:#eaf1ff;color:var(--rr-muted);font-size:15px}.art-inspector figcaption,.art-inspector p{color:var(--rr-muted)}.art-inspector a{color:var(--rr-primary-strong)}.modal h2,.modal p{color:var(--rr-ink)}
.riot-notice{color:var(--rr-muted);border-top:1px solid var(--rr-line);font-size:13px;line-height:1.7}.riot-notice p{color:var(--rr-muted);font-size:13px;line-height:1.7}.riot-notice a{color:var(--rr-primary-strong)}.focused-footer{font-family:var(--rr-font);font-size:14px;font-weight:450;color:var(--rr-muted)}
.boot-screen{min-height:100dvh;display:grid;place-items:center;max-width:none;padding:1.5rem;background:var(--rr-canvas)}.boot-card{width:min(100%,560px);padding:clamp(1.5rem,5vw,3rem)}.boot-card h1{font-size:clamp(1.7rem,4vw,2.3rem)}.boot-card>img{display:block;margin-bottom:1rem}.boot-card .eyebrow{color:var(--rr-primary)}.boot-card p{color:var(--rr-muted)}.boot-card button{margin-top:.5rem}
/* One focus language, independent of selection/correctness. */
button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.choice:has(input:focus-visible),.question-card .choice:has(input:focus-visible),.daily-goal-option:has(input:focus-visible){outline:3px solid var(--rr-focus);outline-offset:3px;box-shadow:0 0 0 6px #fff}
.daily-rules>summary:focus-visible,.daily-milestones>summary:focus-visible,.challenge-practice-badges>summary:focus-visible,.flashcard-reference>summary:focus-visible,.review-session-controls select:focus-visible,.guide-filters button:focus-visible,.inspect-art:focus-visible,.art-inspector button:focus-visible,.art-inspector a:focus-visible,.riot-notice a:focus-visible,.league-art-caption a:focus-visible{outline:3px solid var(--rr-focus);outline-offset:3px;box-shadow:0 0 0 6px #fff}
.skip{background:#fff;color:var(--rr-primary-strong)}
/* Narrow layouts retain primary action above artwork and a single readable trail axis. */
@media(max-width:1150px) and (min-width:801px){.journey-layout{grid-template-columns:minmax(0,1fr) 240px}.hero-copy{padding:1.5rem 0 1.5rem 1.5rem}.hero-copy h2{font-size:1.9rem}.unit-path .trail-step,.unit-path .trail-step[data-state=locked]{grid-template-columns:52px minmax(0,1fr)}.unit-path .trail-step>.trail-action,.unit-path .trail-step>.button{grid-column:2;justify-self:start}.journal-hero h2{font-size:1.4rem}}
@media(max-width:800px){
 .shell{display:block}.sidebar{display:none}main{padding:1rem 1rem 2rem}.page-heading{padding-top:0;margin-bottom:1.4rem}.page-heading h1{font-size:2rem;line-height:1.2;max-width:22ch}.page-heading>p:not(.eyebrow){font-size:15px;line-height:1.7}.app-topbar{font-size:12px;margin-bottom:1.4rem;gap:.5rem}.topbar-tools{gap:.3rem}.device-status{font-size:11px;max-width:125px}.settings-shortcut{font-size:13px;padding:.4rem .5rem}.topbar-location{min-width:0}
 .bottom-nav{background:#fff;border-top:1px solid var(--rr-line);padding-top:.4rem;gap:.3rem;box-shadow:0 -3px 18px #24304f08}.bottom-nav a{color:var(--rr-muted);border-radius:12px;font-size:12px;font-weight:600;min-height:52px}.bottom-nav a[aria-current=page]{background:var(--rr-blue-soft);color:var(--rr-primary-strong);box-shadow:none}.bottom-nav a[aria-current=page] .nav-icon{color:var(--rr-primary)}
 .journey-layout{display:flex;flex-direction:column;gap:1.3rem}.journey-layout>div,.journey-aside{width:100%;min-width:0}.journey-aside{display:grid;gap:1rem}.adventure-hero{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:20px;margin-bottom:1.3rem}.hero-copy{order:0;padding:1.5rem}.hero-copy h2{font-size:1.95rem;line-height:1.22;max-width:none}.hero-copy p{font-size:15px}.hero-badge{font-size:11px}.hero-copy .actions{margin-top:1rem}.hero-meta{font-size:12px}.hero-scene{order:1}.hero-scene:after{background:linear-gradient(180deg,#eaf1ff35,transparent 45%)}.league-hero.hero-scene:after{background:linear-gradient(180deg,#eaf1ff35,transparent 45%)}
 .chapter-switcher>summary{min-height:72px;padding:.8rem .9rem}.chapter-current>strong{font-size:15px}.chapter-current>small{font-size:12px}.chapter-change{font-size:13px}.unit-path{padding:1.1rem}.path-heading{padding-bottom:.85rem}.path-heading h2{font-size:1.25rem}.trail-guide{padding:.75rem;gap:.65rem;margin-bottom:.65rem}.trail-guide>img,.trail-guide .guide-mascot{width:46px;height:54px;flex-basis:46px}.trail-guide p{font-size:14px}.unit-path .trail-step,.unit-path .trail-step[data-state=locked]{grid-template-columns:44px minmax(0,1fr);gap:.45rem .8rem;min-height:122px;padding:.95rem 0}.unit-path .trail-node{width:44px;height:44px;border-radius:15px}.unit-path .trail-node svg{width:20px;height:20px}.trail-list:before{left:21px;top:38px;bottom:48px}.unit-path .trail-step>.trail-action,.unit-path .trail-step>.button,.unit-path .trail-step>.prerequisite-link{grid-column:2;justify-self:start;min-height:44px;margin:.15rem 0 0}.trail-copy strong{font-size:15px}.trail-practice-link{margin-top:.1rem}.trail-review-stop{gap:.65rem;padding-top:.9rem}.trail-review-stop :is(a.button,button){flex:1 1 100%}.next-chapter-note{padding:1.1rem}
 .panel{padding:1.25rem}.activity .teach-card,.activity .question-card{padding:1.25rem;border-radius:18px}.activity .teach-card h1{font-size:1.7rem;line-height:1.3}.activity .question-card h1{font-size:1.5rem;line-height:1.35}.activity .question-card.long-question h1{font-size:1.4rem;line-height:1.4}.activity .teach-card p{font-size:16px;line-height:1.75}.choice,.activity .choice{font-size:16px;padding:.9rem}.choice:has(input:checked),.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked),.choice.answer-correct,.choice.answer-incorrect,.choice.answer-correct:has(input:checked),.choice.answer-incorrect:has(input:checked),.question-card .choice.answer-correct:has(input:checked),.question-card .choice.answer-incorrect:has(input:checked){padding:calc(.9rem - 1px)}.feedback{padding:1rem}.feedback h2{font-size:17px}.feedback p{font-size:15px!important}.quiz-media{padding:.85rem}.quiz-media h2{font-size:15px}
 .recognition-item{padding:.8rem .6rem}.recognition-item strong{font-size:14px}.recognition-caption,.guide-visual-caption{font-size:14px}.lesson-recognition-strip,.flashcard-visuals{padding:.85rem}.flashcard .term{font-size:1.8rem}.flashcard .definition{font-size:16px}.journal-hero h2{font-size:1.4rem}.journal-mascot{max-width:80px;max-height:100px}.daily-progress-card,.challenge-practice-summary{border-radius:16px}.milestone-card{border-radius:14px}.welcome-copy h1{font-size:2.3rem}.welcome-lead{font-size:1.25rem}.welcome-guide p{font-size:16px}.welcome-copy{padding:1.5rem}.chapter-card{padding:1.1rem}.riot-notice{margin-top:1.4rem}
}
@media(max-width:360px){.app-topbar{align-items:flex-start}.topbar-tools{justify-content:flex-end}.settings-shortcut{font-size:12px}.page-heading h1{font-size:1.85rem}.hero-copy{padding:1.25rem}.hero-copy h2{font-size:1.8rem}.trail-visual-title .lesson-visual-thumb,.trail-visual-title .lesson-visual-thumb .league-image-wrap{width:48px;height:48px;min-width:48px;min-height:48px;flex-basis:48px}.trail-guide{gap:.6rem}.trail-guide>img,.trail-guide .guide-mascot{width:40px;height:48px;flex-basis:40px}.trail-guide p{font-size:13px;line-height:1.65}.unit-path .trail-step,.unit-path .trail-step[data-state=locked]{column-gap:.65rem}.activity .question-card,.activity .teach-card{padding:1.1rem}.chapter-change{max-width:70px}.welcome-copy{padding:1.25rem}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none;transform:none}}
html[data-reduce-motion=true] button,html[data-reduce-motion=true] .button{transition:none;transform:none}
/* Respect hidden data states and system high-contrast mode after every visual override. */
.trail-guide[hidden],.trail-review-stop[hidden],.recognition-load-note[hidden],.flashcard-reference[hidden],.challenge-feedback[hidden],.daily-completion-note[hidden]{display:none!important}
@media(forced-colors:active){
 body,.sidebar,.bottom-nav,.panel,.unit-path,.chapter-card,.chapter-reference,.chapter-switcher,.adventure-hero,.welcome-layout,.welcome-copy,.recognition-item,.lesson-recognition-strip,.flashcard-visuals,.daily-progress-card,.daily-progress-card[data-goal-met=true],.challenge-practice-summary,.milestone-card,.choice,.feedback,.challenge-piece,.challenge-target,.challenge-gallery-card,.art-inspector,.modal,.art-inspector-head,.art-inspector figure,.review-chooser,.guide-entry{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 button,.button,.sidebar nav a[aria-current=page],.bottom-nav a[aria-current=page]{box-shadow:none}
 .sidebar nav a[aria-current=page],.bottom-nav a[aria-current=page]{background:Canvas;color:Highlight;outline:1px solid Highlight}
 button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.choice:has(input:focus-visible),.question-card .choice:has(input:focus-visible),.daily-goal-option:has(input:focus-visible){outline-color:Highlight;box-shadow:none}
 .trail-list:before{background:CanvasText}.unit-path .trail-node,.unit-path .trail-step[data-state=current] .trail-node,.unit-path .trail-step[data-state=complete] .trail-node,.unit-path .trail-step[data-state=locked] .trail-node,.unit-path .trail-step[data-step="4"] .trail-node{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 .settings-shortcut,.chapter-reference,.recognition-caption,.guide-visual-caption,.daily-progress-card .daily-progress-note,.challenge-practice-badges>p,.challenge-practice-badges>summary,.challenge-practice-badges .milestone-card p,.riot-notice p,.feedback p,.feedback h2{color:CanvasText}
 .choice.answer-correct,.choice.answer-correct:has(input:checked),.choice.answer-incorrect,.choice.answer-incorrect:has(input:checked){background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 .choice:has(input:checked){outline:2px solid Highlight}.progress>span{background:Highlight}.daily-goal-meter{appearance:auto;accent-color:Highlight}
 .hero-scene:after{display:none}
}
/* Original coach composition: simple blue silhouette with two purposeful accents. */
.welcome-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:460px;padding:2rem;position:relative;overflow:hidden}
.welcome-coach-composition{position:relative;display:grid;place-items:center;width:min(100%,340px);aspect-ratio:1;isolation:isolate}
.welcome-coach-composition:before{content:"";position:absolute;width:88%;aspect-ratio:1;border-radius:42% 58% 55% 45%;background:#d5e2ff;z-index:-1}
.welcome-coach{width:76%;height:82%;object-fit:contain;filter:none}
.coach-shape{position:absolute;display:grid;place-items:center;width:64px;height:64px;border-radius:20px;transform:rotate(-9deg)}
.coach-shape svg{width:30px;height:30px}.coach-shape-one{left:0;top:11%;background:var(--rr-yellow);color:#725315}.coach-shape-two{right:0;bottom:15%;background:var(--rr-coral);color:#7b3424;transform:rotate(10deg)}
.welcome-scene .scene-caption{position:relative;inset:auto;margin:1rem 0 0;padding:0;color:var(--rr-primary-strong);font-size:17px;font-weight:650;background:transparent}
.chapter-ring .ring-core{background:#fff;color:var(--rr-ink)}
.adventure-hero .hero-badge,.lane-hero .hero-badge,.objectives-hero .hero-badge{color:var(--rr-primary-strong);background:transparent;border:0}
.chapter-switcher>summary:hover{background:#f1f4ff}.chapter-switcher[open]>summary{border-bottom-color:var(--rr-line)}
.chapter-switcher>summary:focus-visible{outline:3px solid var(--rr-focus);outline-offset:3px;box-shadow:0 0 0 6px #fff}
.scaling-demo,.defence-demo,.attack-range-demo,.lane-demo,.wave-state-demo,.position-demo{background:#f1f4ff;border-color:#cad5f4;color:var(--rr-ink);border-radius:14px}
.area-cards>div,.ability-limits>div,.defence-pairs>div,.attacker-token,.target-token,.ability-waiting,.lane-comparison>div,.trade-checklist>div,.recall-steps li,.wave-example,.vision-evidence>div,.vision-limit-cards>div,.ward-question,.map-move-checks li,.position-pair>div,.pair-readiness>div,.objective-window>div,.objective-cycle li{background:#fff;border-color:#cad5ed;color:var(--rr-ink)}
.scaling-demo figcaption,.defence-demo figcaption,.attack-range-demo figcaption,.lane-demo figcaption,.wave-state-demo figcaption,.position-demo figcaption,.vision-demo figcaption,.objective-demo figcaption,.trade-checklist span,.reach-label{color:var(--rr-muted)}
.lane-demo svg,.position-demo svg,.objective-symbol,.ability-waiting,.map-bases{color:var(--rr-primary-strong)}.attack-reach{border-color:#aebfeb}.map-lanes>.map-jungle{background:#f0edff;color:#5941a4;border-color:#ccbef0}
.hud-abilities span{background:#fff;border-color:#c8d3ee;color:var(--rr-ink)}.hud-health{background:#3a9761}.hud-resource{background:var(--rr-primary)}.recall-steps li>span,.objective-cycle li>span{background:var(--rr-primary);color:#fff}.ward-question>span{background:var(--rr-blue-soft);color:var(--rr-primary)}.map-move-checks svg{color:var(--rr-primary)}.turret-token{background:#dce5ff;border-color:#9baee2;color:var(--rr-primary-strong)}.minion-group i{background:var(--rr-primary)}.checkpoint-repeat{background:#fff5d4;border-color:#e5cf84;color:#725315}
@media(max-width:800px){.welcome-scene{min-height:270px;padding:1.4rem}.welcome-coach-composition{width:220px}.coach-shape{width:48px;height:48px;border-radius:15px}.coach-shape svg{width:24px;height:24px}.welcome-scene .scene-caption{font-size:15px;margin:.5rem 0 0}}
@media(forced-colors:active){.welcome-scene,.scaling-demo,.defence-demo,.attack-range-demo,.lane-demo,.wave-state-demo,.position-demo{background:Canvas;color:CanvasText;border-color:CanvasText}.welcome-coach-composition:before{background:Canvas;border:1px solid CanvasText}.coach-shape{background:Canvas;color:CanvasText;border:1px solid CanvasText}.chapter-ring .ring-core{background:Canvas;color:CanvasText}.chapter-switcher>summary:focus-visible{outline-color:Highlight;box-shadow:none}}
/* Keep supporting copy distinct from the action label on compact path entries. */
.trail-guide p>span,.trail-practice-link small{display:block}.trail-practice-link{gap:.4rem}.trail-practice-link small{font-size:12px;font-weight:400;color:var(--rr-muted)}.trail-practice-link>svg{width:18px;height:18px;flex:0 0 18px}.trail-review-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--rr-blue-soft);color:var(--rr-primary-strong);flex:0 0 40px}.trail-review-symbol svg{width:22px;height:22px}.trail-review-stop>div{flex:1 1 180px}.trail-guide-mascot{pointer-events:none}
@media(forced-colors:active){.trail-practice-link small{color:CanvasText}.trail-review-symbol{background:Canvas;color:CanvasText;border:1px solid CanvasText}}
/* Whole-app audit: resolve legacy feature selectors against the shared theme. */
:root{--focus:var(--rr-focus)}
.challenge-head>.challenge-instructions{background:var(--rr-blue-soft);color:var(--rr-ink);border-color:var(--rr-primary)}
.challenge-head .eyebrow{color:var(--rr-primary)}
.challenge-gallery>a.button,.challenge-gallery>a.challenge-gallery-card{background:#fff;color:var(--rr-ink);border-color:var(--rr-line);box-shadow:none}
.challenge-gallery>a.challenge-gallery-card:hover{background:#f5f7ff;color:var(--rr-ink)}
.challenge-gallery-controls select{background:#fff;color:var(--rr-ink);border:1px solid #b8c4df;border-radius:12px}
.challenge-gallery-empty{background:#f1f4ff;color:var(--rr-muted);border:1px dashed #b8c8ef}
.challenge-selection-note button{background:var(--rr-primary);color:#fff;border:1px solid var(--rr-primary-strong);box-shadow:none}
.challenge-selection-note button:hover{background:var(--rr-primary-strong)}
.challenge-piece[data-placed=true][aria-pressed=true]{background:var(--rr-blue-soft);color:var(--rr-ink);border-color:var(--rr-primary);border-style:solid}
.challenge-art img,.challenge-art .league-image-fallback,.quiz-choice-art img,.quiz-choice-art .league-image-fallback,.quiz-media .league-image-fallback{background:var(--rr-blue-soft);color:var(--rr-muted)}
.choices.visual-choices .choice>span:not(.quiz-choice-art):not(.league-image-wrap){color:var(--rr-ink)}
.quiz-media-note{border-top-color:var(--rr-line)}
.challenge-target[data-state=filled],.challenge-target[data-state=correct],.challenge-target[data-state=incorrect],.challenge-target[data-drag-over=true]{box-shadow:none}
.challenge-target[data-state=correct] .challenge-placed,.challenge-target[data-state=correct] .challenge-placed-chip{background:var(--rr-success);color:var(--rr-success-ink);border-color:#b2d6be}
.challenge-target[data-state=incorrect] .challenge-placed,.challenge-target[data-state=incorrect] .challenge-placed-chip{background:var(--rr-revisit);color:var(--rr-revisit-ink);border-color:#e4b8a7}
.challenge-recap{background:#fff;color:var(--rr-ink);border:1px solid var(--rr-line);border-radius:14px}
.training-hero .hero-badge,.watchtower-hero .hero-badge,.workshop-hero .hero-badge{background:transparent;color:var(--rr-primary-strong);border:0}
.diagram-label{color:var(--rr-primary);font-size:12px!important;letter-spacing:.06em}
.scaling-divider,.ability-limits svg,.defence-pairs svg,.position-pair svg,.pair-readiness svg,.vision-demo svg{color:var(--rr-primary-strong)}
.ability-limits span,.defence-pairs span,.vision-evidence span,.vision-limit-cards p,.pair-readiness p{color:var(--rr-muted)}
.scaling-demo figcaption{border-top-color:var(--rr-line)}
.modal-backdrop{background:#24304fb3}
#feedback:focus-visible,#card-answer:focus-visible,.choice:focus-within{outline:3px solid var(--rr-focus);outline-offset:3px;box-shadow:0 0 0 6px #fff}
@media(forced-colors:active){
 .challenge-head>.challenge-instructions,.challenge-gallery>a.button,.challenge-gallery>a.challenge-gallery-card,.challenge-gallery-controls select,.challenge-gallery-empty,.challenge-selection-note button,.challenge-piece[data-placed=true][aria-pressed=true],.challenge-art img,.challenge-art .league-image-fallback,.quiz-choice-art img,.quiz-choice-art .league-image-fallback,.quiz-media .league-image-fallback,.challenge-target[data-state=correct] .challenge-placed,.challenge-target[data-state=correct] .challenge-placed-chip,.challenge-target[data-state=incorrect] .challenge-placed,.challenge-target[data-state=incorrect] .challenge-placed-chip,.challenge-recap{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 .choices.visual-choices .choice>span:not(.quiz-choice-art):not(.league-image-wrap),.diagram-label,.scaling-divider,.ability-limits span,.defence-pairs span,.vision-evidence span,.vision-limit-cards p,.pair-readiness p{color:CanvasText}
 #feedback:focus-visible,#card-answer:focus-visible,.choice:focus-within{outline-color:Highlight;box-shadow:none}
}
.challenge-input-help{margin:.5rem 0;color:var(--rr-muted);font-size:14px}.challenge-input-help>summary{display:list-item;min-height:44px;padding:.6rem 0;color:var(--rr-primary-strong);font-weight:650;cursor:pointer}.challenge-input-help>p{margin:.25rem 0 .75rem;max-width:65ch;font-size:14px;line-height:1.65}
@media(forced-colors:active){.challenge-input-help,.challenge-input-help>summary{color:CanvasText}}
/* Inactive controls stay visibly quiet while retaining comfortable label contrast. */
button:disabled{color:var(--rr-muted)}
.challenge-recap-item{padding:.75rem .85rem;list-style:none}.challenge-recap-item>p:last-child{margin-bottom:0}
/* Editorial composition: hierarchy comes from scale and space, not nested containers. */
:root{--rr-canvas:#fff;--rr-radius-card:16px;--rr-radius-sm:10px;--page:#fff;--play-shell:#fff;--play-radius:16px;--rr-line:#e1e5ef;--line:#e1e5ef}
body,.focused-shell{background:#fff}.sidebar{background:#f8f9fc;border-right:1px solid #e9ecf3}.sidebar nav a{border-radius:9px;font-weight:550}.sidebar nav a[aria-current=page]{border-color:transparent;background:#eaf0ff}.sidebar-callout{display:none}.sidebar-footer{border-color:#e1e5ef}.sidebar nav{gap:.25rem}.brand{font-size:1.4rem}.app-topbar{margin-bottom:1.5rem;border-color:#edf0f5;padding-bottom:.85rem}.device-status{border:0;background:#f4f6fa;border-radius:8px;font-size:12px}.settings-shortcut{font-size:13px}.bottom-nav{box-shadow:none}
main{max-width:1360px;padding-top:1.4rem}.page-heading h1{font-weight:700;font-size:clamp(2rem,3.2vw,2.75rem)}.page-heading>.eyebrow{font-size:11px;letter-spacing:.08em}.page-heading>p:not(.eyebrow){font-weight:400;font-size:16px;line-height:1.7}.panel{border-radius:16px;border-color:#e1e5ef;box-shadow:none}.panel p{font-weight:400}h1,h2,h3{font-weight:700}button,.button{border-radius:9px;box-shadow:none;font-weight:650}button:active,.button:active{box-shadow:none;transform:translateY(1px)}
.chapter-heading{margin:0 0 1.5rem;padding:0}.chapter-heading-top{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.chapter-heading-copy{min-width:0;max-width:670px}.chapter-heading h1{margin:.3rem 0 .65rem;font-size:clamp(2rem,3.6vw,3rem);font-weight:700;line-height:1.15;letter-spacing:-.04em;color:var(--rr-ink)}.chapter-heading p{margin:0;color:var(--rr-muted);font-size:16px;line-height:1.7}.chapter-heading .eyebrow{margin:0 0 .4rem;color:var(--rr-primary);font-size:11px;letter-spacing:.1em}.chapter-heading-stats{flex:0 0 auto;min-width:130px;text-align:right;color:var(--rr-muted);font-size:13px;line-height:1.5}.chapter-heading-stats strong{display:block;font-size:25px;font-weight:700;color:var(--rr-ink);letter-spacing:-.03em}.chapter-mini-progress{display:flex;gap:5px;margin-top:.65rem;justify-content:flex-end}.chapter-mini-progress span{display:block;width:34px;height:4px;border-radius:2px;background:#e3e8f2}.chapter-mini-progress span[data-complete=true]{background:var(--rr-primary)}
.chapter-switcher{margin-bottom:1.5rem;border:0;border-bottom:1px solid #e1e5ef;border-radius:0;background:#fff}.chapter-switcher>summary{min-height:56px;padding:.65rem 0;border-radius:0}.chapter-switcher>summary:hover{background:#fafbfe}.chapter-current-kicker{display:none}.chapter-current>strong{font-size:14px;font-weight:650}.chapter-current>small{font-size:12px}.chapter-change{font-size:13px}.chapter-switcher>.chapter-selector{padding:.75rem 0 1rem}.chapter-choice{border-radius:10px;background:#fafbfe}.chapter-choice.selected{background:#eef3ff}.chapter-current{gap:.1rem}
.journey-layout{grid-template-columns:minmax(0,1fr) 258px;gap:2rem}.adventure-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:300px;border:0;border-radius:16px;background:#f5f7fc;box-shadow:none;margin-bottom:2rem}.hero-copy{padding:1.9rem}.hero-copy h2{font-weight:700;font-size:clamp(1.7rem,2.4vw,2.2rem);line-height:1.22;max-width:18ch;letter-spacing:-.035em}.hero-copy p{font-size:15px;line-height:1.7;max-width:34ch}.hero-copy .actions{margin-top:1.25rem}.hero-badge{font-size:11px;letter-spacing:.06em;margin-bottom:.7rem}.hero-meta{font-size:12px;gap:.6rem;flex-wrap:wrap}.hero-copy button,.welcome-copy .actions>button{box-shadow:none}.hero-copy .secondary{background:transparent}.hero-scene:after,.league-hero.hero-scene:after,.league-hero:has(.inspect-art):before,.league-hero:has(.inspect-art):after{display:none}.league-hero .league-image-wrap,.league-hero:has(.inspect-art) .league-image-wrap{inset:0;height:100%;background:#eef2fa}.league-hero img{object-position:72% center}.league-hero:has(.inspect-art) .league-art-caption{bottom:59px;right:12px;max-width:calc(100% - 24px);padding:5px 8px;background:#fffffff0;border:0;border-radius:6px;font-size:11px}.league-hero .inspect-art{right:12px;bottom:8px;min-height:44px;padding:.5rem .7rem;background:#fffffff0;border:0;box-shadow:none;font-size:12px;border-radius:8px;color:var(--rr-primary-strong)}
.unit-path{border:0;border-radius:0;padding:0;background:#fff}.path-heading{padding:0 0 .9rem;border-bottom:1px solid #e1e5ef;margin-bottom:.25rem}.path-heading h2{font-size:1.15rem;letter-spacing:-.02em}.path-heading p{font-size:13px}.unit-count{border:0;background:#f1f4fa;color:var(--rr-muted);font-size:12px;border-radius:6px;padding:5px 8px}
.trail-guide{border:0;background:transparent;border-radius:0;padding:.55rem 0;margin:0 0 .3rem;gap:.65rem}.trail-guide>img,.trail-guide .guide-mascot{width:36px;height:42px;flex-basis:36px}.trail-guide p{font-size:13px;color:var(--rr-muted)}.trail-list:before{display:none}.unit-path .trail-step,.unit-path .trail-step[data-state=locked]{grid-template-columns:32px minmax(0,1fr) auto;gap:.5rem .9rem;min-height:100px;padding:1rem 0;border-bottom:1px solid #edf0f5}.unit-path .trail-step:last-child{border-bottom:0}.unit-path .trail-node,.unit-path .trail-step[data-state=current] .trail-node,.unit-path .trail-step[data-state=complete] .trail-node,.unit-path .trail-step[data-state=locked] .trail-node,.unit-path .trail-step[data-step="4"] .trail-node,.unit-path .trail-step[data-step="4"][data-state=complete] .trail-node,.unit-path .trail-step[data-step="4"][data-state=locked] .trail-node{width:32px;height:32px;border-radius:10px;border-width:1px;box-shadow:none}.unit-path .trail-node svg{width:17px;height:17px}.trail-visual-title .lesson-visual-thumb,.trail-visual-title .lesson-visual-thumb .league-image-wrap{width:42px;height:42px;min-width:42px;min-height:42px;flex-basis:42px;border-radius:9px}.trail-copy strong{font-size:15px;font-weight:650}.trail-copy p,.trail-copy .lesson-meta{font-size:12px;line-height:1.55}.trail-action{font-size:13px;padding:.55rem .8rem;min-height:44px;border-radius:8px}.trail-step[data-state=current] .trail-action{background:var(--rr-primary);color:#fff;border-color:var(--rr-primary)}.trail-practice-link{min-height:44px;font-size:13px;margin:0;padding:.35rem 0}.trail-review-stop{margin-top:.75rem;padding-top:1rem;border-color:#edf0f5}.trail-review-stop p{font-size:13px}.trail-review-stop :is(a,button){font-size:13px}.next-chapter-note{border:0;border-top:1px solid #e1e5ef;border-radius:0;margin-top:1.5rem;padding:1.25rem 0;background:#fff}.next-chapter-note h2{font-size:1.15rem}.next-chapter-note p:not(.eyebrow){font-size:14px}
.journey-aside{padding-top:.25rem;gap:1.5rem}.journey-aside .daily-progress-card{border:0;border-left:1px solid #e1e5ef;border-radius:0;background:#fff;padding:.25rem 0 .25rem 1.25rem}.daily-progress-card h2{font-size:1rem}.daily-progress-head img{width:40px;height:44px}.daily-goal-count{font-size:18px}.daily-progress-card .eyebrow{font-size:10px;color:var(--rr-muted)}.daily-progress-card .actions a{font-size:13px;background:transparent;border:0;box-shadow:none;justify-content:flex-start;text-align:left;padding:.5rem 0}.daily-rules>summary{font-size:13px}.chapter-reference{border:0;border-top:1px solid #e1e5ef;border-radius:0;background:#fff}.chapter-reference>summary{padding:.75rem 0;font-size:13px}.chapter-reference .league-recognition{padding:0 0 1rem}.chapter-card{border:0;border-top:1px solid #e1e5ef;border-radius:0;padding:1rem 0}.chapter-card .eyebrow{color:var(--rr-muted);font-size:10px}.chapter-card h2{font-size:1rem}.chapter-card p{font-size:13px}
/* Focused activities use a reading stage, a choice list and one clear response. */
.activity{max-width:780px}.activity .teach-card,.activity .question-card{border:0;border-radius:0;background:#fff;padding:1rem 0 1.5rem;box-shadow:none}.activity .teach-card h1{font-size:clamp(1.8rem,2.9vw,2.4rem);font-weight:700;line-height:1.25}.activity .question-card h1{font-size:clamp(1.6rem,2.7vw,2.15rem);font-weight:700;line-height:1.3;letter-spacing:-.03em;max-width:32ch}.activity .eyebrow{font-size:11px;color:var(--rr-muted);letter-spacing:.07em}.activity-head{margin-bottom:.7rem}.activity .progress{height:5px;border:0;background:#e8edf7}.activity .choice,.question-card .choice{background:#f8f9fc;border:1px solid transparent;border-bottom-color:#e1e5ef;border-radius:8px;padding:1rem;box-shadow:none;min-height:60px;font-weight:400;line-height:1.6}.question-card .choice input{accent-color:var(--rr-primary)}.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked){background:#edf2ff;border:1px solid #7f94e8;border-left:3px solid var(--rr-primary);padding:1rem 1rem 1rem calc(1rem - 2px);box-shadow:none}.question-card .choice.answer-correct,.question-card .choice.answer-correct:has(input:checked){background:var(--rr-success);border:1px solid #9bc5aa;border-left:3px solid var(--rr-success-ink);padding:1rem 1rem 1rem calc(1rem - 2px);box-shadow:none}.question-card .choice.answer-incorrect,.question-card .choice.answer-incorrect:has(input:checked){background:var(--rr-revisit);border:1px solid #d9a18d;border-left:3px solid var(--rr-revisit-ink);padding:1rem 1rem 1rem calc(1rem - 2px);box-shadow:none}.feedback,.feedback.wrong{border:0;border-top:2px solid #a9d0b8;border-radius:0;padding:1.25rem 0 0;background:#fff;box-shadow:none}.feedback.wrong{border-top-color:#dea28b}.feedback h2{font-size:18px;font-weight:700}.feedback p{line-height:1.75}.question-assumptions{background:#f5f7fc;border:0;border-left:2px solid #a0b0df;border-radius:0;padding:.75rem 1rem}.quiz-media{background:transparent;border:0;border-top:1px solid #edf0f5;border-radius:0;padding:.8rem 0;margin:1rem 0}.quiz-media h2{font-size:14px;font-weight:650}.quiz-media figcaption,.quiz-media-note{font-size:13px}.quiz-media-card{border:0;background:#f7f9fd;border-radius:10px;box-shadow:none}.choices.visual-choices .choice{border-radius:10px}.quiz-choice-art{border:0;box-shadow:none}
@media(hover:hover){.question-card .choice:not(.answer-correct):not(.answer-incorrect):not(:has(input:disabled)):not(:has(input:checked)):hover{background:#f0f3fa;border-color:transparent;border-bottom-color:#cad4ea}}
.lesson-recognition-strip,.flashcard-visuals,.league-examples{background:#f7f9fc;border:0;border-radius:12px;padding:1rem}.recognition-item,.league-icon-example{background:transparent;border:0;border-radius:0;padding:.6rem;box-shadow:none}.recognition-item .inspect-art,.league-icon-example .inspect-art{border:0;background:transparent;padding:.4rem 0;color:var(--rr-primary-strong);font-size:13px}.league-icon-example{align-items:start}.recognition-caption,.league-examples figcaption{font-size:13px}.lesson-recognition-strip>.eyebrow,.league-examples>.eyebrow{font-size:10px;font-weight:600;letter-spacing:.06em}.takeaway{border:0;border-left:2px solid var(--rr-primary);border-radius:0;background:#f5f7fd;padding:1rem}.activity-reassurance{font-size:13px;margin-top:.75rem}.riot-notice{font-size:12px}.riot-notice p{font-size:12px;line-height:1.75}.focused-shell .riot-notice{margin-top:1rem}.focused-footer{font-size:12px}
/* Review is one deliberate question/answer composition, with controls secondary. */
.review-stage{max-width:760px;margin:0 auto}.flashcard{background:#fff;border:0;border-top:1px solid #e1e5ef;border-bottom:1px solid #e1e5ef;border-radius:0;padding:2rem 0;box-shadow:none;min-height:0}.flashcard-mark{display:none}.flashcard>.eyebrow{font-size:10px;color:var(--rr-muted);margin:0 0 .75rem}.flashcard .term{font-size:2rem;font-weight:700;letter-spacing:-.035em;color:var(--rr-ink);margin:0 0 .5rem}.flashcard>p{font-size:17px;margin:.5rem 0 1.2rem}.flashcard #card-answer{border-top:1px solid #edf0f5;padding-top:1.25rem}.flashcard .definition{font-size:18px;line-height:1.75;max-width:55ch;margin:0 auto 1.4rem}.flashcard #card-answer>.status{font-size:13px}.flashcard #card-answer>.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.8rem}.flashcard #card-answer>.actions button{min-height:48px;font-size:14px;background:#f8f9fc;border:1px solid #d8dfec;color:var(--rr-ink);box-shadow:none;font-weight:550}.flashcard #card-answer>.actions button:hover{background:#edf2ff;border-color:#94a7e6}.flashcard-reference{margin-top:1.5rem}.flashcard-reference>summary{font-size:13px;font-weight:550}.review-context{border:0;border-left:2px solid var(--rr-primary);border-radius:0;background:#f6f8fd;padding:.85rem 1rem}.review-context strong{font-weight:650}.review-context p{font-size:14px}.review-session-builder,.review-chooser{background:#fff;border:0;border-top:1px solid #e1e5ef;border-radius:0;padding:1rem 0;box-shadow:none}.review-session-builder>summary{min-height:48px;font-size:14px;font-weight:650;cursor:pointer;color:var(--rr-ink)}.review-session-controls{margin-top:1rem}.review-session-controls>.choice{background:#f8f9fc;border-color:#e1e5ef;border-radius:9px}.progress-meter{margin-top:1rem}.progress-meter>.progress{height:5px;border:0}.progress-meter>.status{font-size:12px}
/* Journal and tools use typography and grouping before extra containers. */
.journal-hero{border:0;border-bottom:1px solid #e1e5ef;border-radius:0;padding:0 0 1.75rem;margin-bottom:1.75rem;background:#fff}.journal-hero h2{font-size:1.55rem}.journal-hero .eyebrow{color:var(--rr-muted);font-size:10px}.journal-mascot{max-width:80px;max-height:96px}.progress-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:1.5rem 0 2rem;border-top:1px solid #e1e5ef;border-bottom:1px solid #e1e5ef}.progress-overview>.panel{border:0;border-radius:0;padding:1.5rem;background:#fff}.progress-overview>.panel+ .panel{border-left:1px solid #e1e5ef}.progress-overview h2{font-size:14px;font-weight:600;color:var(--rr-muted)}.progress-overview .stat-symbol{display:none}.progress-overview .big-stat{font-size:2.5rem;color:var(--rr-ink);font-weight:700;margin:.5rem 0}.progress-overview p{font-size:13px}.milestone-section{margin-top:2rem}.milestone-heading h2{font-size:1.25rem}.milestone-heading .eyebrow{font-size:10px;color:var(--rr-muted)}.milestone-card,.challenge-practice-badges .milestone-card{background:#fff;border:1px solid #e1e5ef;border-radius:12px;box-shadow:none;padding:1.1rem}.milestone-card[data-earned=true]{background:#fff;border-color:#cbd7f6}.milestone-card[data-earned=false]{background:#fafbfe}.milestone-icon,.milestone-card[data-earned=true] .milestone-icon{width:40px;height:40px;border-radius:10px;background:#fff5d7;border:0;box-shadow:none}.milestone-card h3{font-size:15px}.milestone-card p{font-size:13px}.milestone-status{font-size:12px}.challenge-practice-summary{border:0;border-top:1px solid #e1e5ef;border-radius:0;padding:1.5rem 0;background:#fff}.challenge-practice-summary>.eyebrow{color:var(--rr-muted);font-size:10px}.challenge-practice-summary h2{font-size:1.25rem}.challenge-practice-summary p{font-size:14px}.challenge-practice-badges{border:0;border-top:1px solid #e1e5ef;border-radius:0;background:#fff;padding:0}.challenge-practice-badges>summary{font-size:14px}.challenge-practice-badges>p{font-size:13px}.daily-progress-card{border:0;border-top:1px solid #e1e5ef;border-radius:0;background:#fff;padding:1.4rem 0}.daily-progress-card[data-goal-met=true]{background:#fff}.daily-streak-stats>div{background:#f6f8fc;border:0;border-radius:10px}.daily-progress-card .daily-progress-note{font-size:13px}.daily-goal-meter{height:6px;border:0}.settings-stack>.panel{border:0;border-top:1px solid #e1e5ef;border-radius:0;padding:1.5rem 0}.settings-stack h2{font-size:1.15rem}.daily-goal-option{border-radius:9px}.guide-entry{border:0;border-bottom:1px solid #e1e5ef;border-radius:0;background:#fff;padding:1.25rem 0}.guide-entry h2,.guide-entry h3{font-size:1.1rem}.guide-entry .term-icon{border:0;border-radius:9px;background:#f0f4ff}.guide-filters button{border-radius:8px;font-size:14px;min-height:44px}.guide-visual-caption{font-size:13px}.checkpoint-history{border:0;border-top:1px solid #e1e5ef;border-radius:0;padding:1.5rem 0}.checkpoint-history h2{font-size:1.25rem}.journal-note{border:0;border-top:1px solid #e1e5ef;border-radius:0;padding:1.25rem 0}
.challenge-board{border:0;border-radius:0;padding:1rem 0;box-shadow:none}.challenge-head h1{font-weight:700}.challenge-piece,.challenge-target{border-radius:10px;box-shadow:none}.challenge-feedback{border-radius:12px}.challenge-reward-panel{border-radius:10px}.challenge-recap{border:0;border-radius:0;background:transparent;padding:0}.challenge-recap-item,.challenge-recap-item[data-result=correct],.challenge-recap-item[data-result=retry]{border:0;border-bottom:1px solid #d5e1d9;border-radius:0;padding:1rem 0;background:transparent;list-style:none}.challenge-gallery>a.challenge-gallery-card{border:0;border-bottom:1px solid #e1e5ef;border-radius:0;background:#fff;padding:1.1rem 0;box-shadow:none}.challenge-gallery>a.challenge-gallery-card:hover{background:#fafbfe}.challenge-stage-badge{font-size:11px;border-radius:6px}.challenge-gallery-card strong{font-weight:650}.challenge-gallery-card .challenge-meta{font-size:12px}.challenge-save-note{border-radius:0}.challenge-links{border:0;border-top:1px solid #e1e5ef;border-radius:0;padding:1.5rem 0}.challenge-links h2{font-size:1.3rem}.welcome-layout{border:0;border-radius:16px}.welcome-copy h1{font-weight:750}.welcome-guide{border:0;border-left:2px solid #b6c5ef;border-radius:0;background:#f8f9fd}.welcome-scene{border-radius:16px}.art-inspector,.modal{border-radius:14px}.art-inspector-head{border-radius:13px 13px 0 0}.art-inspector figure{background:#f7f9fc}
@media(max-width:1150px) and (min-width:801px){.journey-layout{grid-template-columns:minmax(0,1fr) 230px;gap:1.5rem}.hero-copy{padding:1.5rem}.unit-path .trail-step,.unit-path .trail-step[data-state=locked]{grid-template-columns:32px minmax(0,1fr)}.unit-path .trail-step>.trail-action,.unit-path .trail-step>.button{grid-column:2;justify-self:start}.chapter-heading-stats{min-width:110px}}
@media(max-width:800px){
 main{padding:1rem 1rem 2rem}.app-topbar{margin-bottom:1.25rem}.page-heading h1{font-size:1.9rem}.chapter-heading{margin-bottom:1.2rem}.chapter-heading-top{gap:.9rem;align-items:flex-start}.chapter-heading h1{font-size:1.95rem;line-height:1.18;margin:.25rem 0 .6rem}.chapter-heading p{font-size:14px;line-height:1.65}.chapter-heading-stats{min-width:70px;font-size:11px}.chapter-heading-stats strong{font-size:21px}.chapter-mini-progress{gap:4px}.chapter-mini-progress span{width:19px}.chapter-heading .eyebrow{font-size:10px}.chapter-switcher{margin-bottom:1.25rem}.chapter-switcher>summary{min-height:54px;padding:.6rem 0}.chapter-current>strong{font-size:13px}.chapter-current>small{font-size:11px}.chapter-change{font-size:12px}
 .journey-layout{display:flex;gap:1.5rem}.adventure-hero{grid-template-columns:minmax(0,1fr);border-radius:14px;margin-bottom:1.5rem;min-height:0}.hero-copy{padding:1.4rem}.hero-copy h2{font-size:1.7rem;line-height:1.25;max-width:none}.hero-copy p{font-size:14px;max-width:none}.hero-copy .actions{margin-top:1rem}.hero-meta{font-size:11px}.hero-badge{font-size:10px}.league-hero:has(.inspect-art){height:190px;min-height:190px}.league-hero:has(.inspect-art) .league-image-wrap{height:100%;inset:0}.league-hero:has(.inspect-art) .league-art-caption{font-size:10px;bottom:57px}.league-hero .inspect-art{font-size:11px;min-height:44px}
 .unit-path{padding:0}.path-heading h2{font-size:1.1rem}.path-heading p{font-size:12px}.unit-path .trail-step,.unit-path .trail-step[data-state=locked]{grid-template-columns:30px minmax(0,1fr);gap:.4rem .75rem;padding:.9rem 0;min-height:94px}.unit-path .trail-node,.unit-path .trail-step[data-state=current] .trail-node,.unit-path .trail-step[data-state=complete] .trail-node,.unit-path .trail-step[data-state=locked] .trail-node,.unit-path .trail-step[data-step="4"] .trail-node{width:30px;height:30px;border-radius:9px;box-shadow:none}.trail-visual-title .lesson-visual-thumb,.trail-visual-title .lesson-visual-thumb .league-image-wrap{width:38px;height:38px;min-width:38px;min-height:38px;flex-basis:38px}.trail-copy strong{font-size:14px}.trail-copy p,.trail-copy .lesson-meta{font-size:12px}.trail-guide{padding:.5rem 0;margin-bottom:0}.trail-guide>img,.trail-guide .guide-mascot{width:32px;height:38px;flex-basis:32px}.trail-guide p{font-size:12px}.trail-action{font-size:13px}.trail-review-stop p{font-size:13px}.journey-aside .daily-progress-card{border-left:0;border-top:1px solid #e1e5ef;padding:1.25rem 0}.chapter-reference>summary{padding:.75rem 0}
 .activity .teach-card,.activity .question-card{border:0;border-radius:0;padding:.75rem 0 1.25rem}.activity .teach-card h1{font-size:1.65rem}.activity .question-card h1{font-size:1.5rem;line-height:1.35}.activity .question-card.long-question h1{font-size:1.4rem}.activity .teach-card p{font-size:16px;line-height:1.75}.activity .choice,.question-card .choice{font-size:16px;padding:.9rem}.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked),.question-card .choice.answer-correct,.question-card .choice.answer-correct:has(input:checked),.question-card .choice.answer-incorrect,.question-card .choice.answer-incorrect:has(input:checked){padding:.9rem .9rem .9rem calc(.9rem - 2px)}.feedback,.feedback.wrong{padding:1rem 0 0;border-radius:0}.quiz-media{padding:.75rem 0}.recognition-item,.league-icon-example{padding:.5rem}.lesson-recognition-strip,.league-examples{padding:.85rem}.flashcard{padding:1.5rem 0;border-radius:0}.flashcard .term{font-size:1.8rem}.flashcard .definition{font-size:16px;line-height:1.75}.flashcard #card-answer>.actions{gap:.5rem}.flashcard #card-answer>.actions button{font-size:13px;padding:.65rem .4rem}.review-session-builder,.review-chooser{padding:1rem 0;border-radius:0}.review-context{font-size:14px}.review-context p{font-size:13px}.journal-hero{padding:0 0 1.25rem;border-radius:0}.journal-hero h2{font-size:1.35rem}.journal-mascot{max-width:64px;max-height:80px}.progress-overview>.panel{padding:1.1rem .8rem}.progress-overview h2{font-size:13px}.progress-overview .big-stat{font-size:2rem}.progress-overview p{font-size:12px}.daily-progress-card,.challenge-practice-summary{padding:1.25rem 0;border-radius:0}.settings-stack>.panel{padding:1.25rem 0;border-radius:0}.guide-entry{padding:1.1rem 0;border-radius:0}.challenge-board{padding:.75rem 0}.challenge-links{padding:1.25rem 0}.welcome-copy{padding:1.4rem}.welcome-copy h1{font-size:2.2rem}.welcome-scene{border-radius:14px}.bottom-nav a{border-radius:9px}
}
@media(max-width:360px){.chapter-heading-top{gap:.6rem}.chapter-heading h1{font-size:1.75rem}.chapter-heading-stats{min-width:59px;font-size:10px}.chapter-mini-progress span{width:16px}.hero-copy{padding:1.2rem}.hero-copy h2{font-size:1.6rem}.activity .question-card,.activity .teach-card{padding:.6rem 0 1rem}.flashcard #card-answer>.actions button{font-size:12px}.unit-path .trail-step,.unit-path .trail-step[data-state=locked]{column-gap:.65rem}}
@media(forced-colors:active){
 .sidebar,.chapter-heading,.chapter-switcher,.adventure-hero,.hero-copy,.unit-path,.journey-aside .daily-progress-card,.activity .teach-card,.activity .question-card,.activity .choice,.question-card .choice,.feedback,.feedback.wrong,.flashcard,.review-context,.progress-overview>.panel,.guide-entry,.challenge-gallery>a.challenge-gallery-card{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 .chapter-mini-progress span{background:Canvas;border:1px solid CanvasText}.chapter-mini-progress span[data-complete=true]{background:Highlight}.chapter-heading-stats,.chapter-heading-stats strong,.chapter-heading p{color:CanvasText}
 .question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked),.question-card .choice.answer-correct,.question-card .choice.answer-correct:has(input:checked),.question-card .choice.answer-incorrect,.question-card .choice.answer-incorrect:has(input:checked){background:Canvas;color:CanvasText;border-color:CanvasText}
 .league-hero .inspect-art,.league-hero:has(.inspect-art) .league-art-caption{background:Canvas;color:CanvasText;border:1px solid CanvasText}
}
/* Integrated chapter and practice disclosures. */
.chapter-heading{max-width:none}.chapter-heading-stats strong>span{display:inline;font-size:14px;font-weight:500;color:var(--rr-muted);letter-spacing:0}.chapter-mini-progress{align-items:center;justify-content:flex-start;max-width:350px;margin-top:1.15rem;gap:6px}.chapter-mini-progress>span:not(.chapter-mini-checkpoint){flex:1 1 0;width:auto;height:4px}.chapter-mini-progress>.chapter-mini-checkpoint{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid #d7dfef;border-radius:8px;background:#f5f7fc;color:var(--rr-muted)}.chapter-mini-checkpoint svg{width:13px;height:13px}.chapter-mini-progress>.chapter-mini-checkpoint[data-complete=true]{background:#edf2ff;color:var(--rr-primary);border-color:#b9c9f2}.chapter-switcher .chapter-current-kicker{display:block;font-size:12px;color:var(--rr-muted);font-weight:550;letter-spacing:0}.chapter-switcher>summary{padding:.55rem 0}
.review-session-builder>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;min-height:48px;list-style-position:inside}.review-session-builder>summary strong{font-size:14px;font-weight:650}.review-session-builder>summary span{font-size:12px;font-weight:400;color:var(--rr-muted)}.review-session-builder[open]>summary{margin-bottom:.75rem}.review-challenge-disclosure{border-top:1px solid #e1e5ef;margin:1rem 0;padding:.3rem 0}.review-challenge-disclosure>summary{min-height:48px;padding:.65rem 0;font-size:14px;font-weight:650;color:var(--rr-ink);cursor:pointer;list-style-position:inside}.review-challenge-disclosure .challenge-links{border:0;padding:1rem 0;margin:0}.review-session-builder>summary:focus-visible,.review-challenge-disclosure>summary:focus-visible{outline:3px solid var(--rr-focus);outline-offset:3px;border-radius:6px;box-shadow:0 0 0 6px #fff}.review-challenge-disclosure[hidden]{display:none!important}
@media(max-width:800px){.topbar-context{display:none}.topbar-location{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;white-space:nowrap}.topbar-brand{font-size:12px}.topbar-tools{flex-wrap:nowrap;gap:.4rem;min-width:0}.app-topbar{align-items:center;min-height:52px}.device-status{max-width:112px;line-height:1.4;font-size:10px;padding:4px 7px}.settings-shortcut{min-height:44px;padding:.4rem .3rem;font-size:12px}.settings-shortcut svg{width:15px;height:15px}.chapter-heading-stats strong>span{font-size:12px}.chapter-mini-progress{max-width:240px;margin-top:.9rem}.review-session-builder>summary{gap:.6rem}.review-session-builder>summary strong{font-size:13px}.review-session-builder>summary span{font-size:11px}}
@media(max-width:360px){.topbar-location{gap:.3rem}.topbar-tools{gap:.2rem}.topbar-brand{font-size:11px}.device-status{max-width:104px}.chapter-heading-stats strong>span{font-size:11px}}
@media(forced-colors:active){.chapter-mini-progress>.chapter-mini-checkpoint{background:Canvas;color:CanvasText;border-color:CanvasText}.chapter-mini-progress>.chapter-mini-checkpoint[data-complete=true]{background:Canvas;color:Highlight;border-color:Highlight}.review-session-builder>summary:focus-visible,.review-challenge-disclosure>summary:focus-visible{outline-color:Highlight;box-shadow:none}.review-session-builder>summary span,.chapter-heading-stats strong>span{color:CanvasText}}
/* Chapter-complete links share the same primary action treatment as lesson buttons. */
.hero-copy .actions>a.button:not(.secondary){background:var(--rr-primary);color:#fff;border:1px solid var(--rr-primary-strong);box-shadow:none}.hero-copy .actions>a.button:not(.secondary):hover{background:var(--rr-primary-strong)}
.flashcard #card-answer .actions{gap:8px}.flashcard #card-answer .actions>button[data-rating]{min-width:0;width:100%;max-width:100%}
/* Studio composition: focused workspaces, distinctive feature modules, clear interaction. */
:root{--rr-canvas:#f4f6fb;--page:#f4f6fb;--play-shell:#f4f6fb;--rr-ink:#202b47;--play-ink:#202b47;--ink:#202b47;--rr-muted:#59657d;--play-muted:#59657d;--muted:#59657d;--rr-line:#dce2ee;--rr-radius-card:18px}
body,.focused-shell{background:var(--rr-canvas);color:var(--rr-ink)}h1,h2,h3{font-weight:700;letter-spacing:-.03em}h1{font-size:32px}h2{font-size:24px}h3{font-size:18px}p{font-weight:400}
.shell{grid-template-columns:192px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e2e7f1;padding:1.55rem .95rem;gap:1.75rem}.brand{font-size:1.32rem;gap:.5rem}.brand-mark{width:27px;height:30px}.brand-subtitle{font-size:9px;letter-spacing:.06em}.sidebar nav a{font-size:14px;border-radius:10px;min-height:46px;padding:.65rem .75rem}.sidebar nav a[aria-current=page]{background:#edf1ff;color:#3041b5;box-shadow:inset 3px 0 0 #4355db}.sidebar-footer{padding-top:1rem}.explorer-profile strong{font-size:12px}.explorer-profile small{font-size:11px}.sidebar-footer .save-note{font-size:11px}.sidebar-footer .release-note{font-size:10px}
main{max-width:1432px;padding:1.25rem clamp(1.25rem,3vw,2.75rem) 2.5rem}.app-topbar{margin-bottom:1.25rem;min-height:44px;border:0;padding:0;color:var(--rr-muted)}.topbar-brand{font-weight:650}.device-status{background:#fff;border:1px solid #e0e6f1;font-size:11px}.settings-shortcut{font-size:13px}.page-heading{margin-bottom:1.25rem}.page-heading h1{font-size:32px;font-weight:700;line-height:1.2;margin:.25rem 0 .5rem}.page-heading>p:not(.eyebrow){font-size:15px;margin:.5rem 0 0}.page-heading>.eyebrow{font-size:10px}
.chapter-heading{position:relative;padding:0;margin:0 0 1.2rem;max-width:none}.chapter-heading-top{align-items:center;gap:1.25rem}.chapter-heading h1{font-size:32px;line-height:1.2;margin:.2rem 0 .5rem}.chapter-heading p{font-size:14px;max-width:66ch;line-height:1.65}.chapter-heading .eyebrow{font-size:10px;letter-spacing:.09em}.chapter-heading-stats{font-size:11px;min-width:90px}.chapter-heading-stats strong{font-size:24px}.chapter-mini-progress{margin-top:.8rem;max-width:260px}.chapter-tools{display:flex;align-items:center;gap:1rem;justify-content:space-between;margin-top:.85rem}.chapter-tools .chapter-switcher{margin:0;border:0;background:transparent;min-width:190px;max-width:100%}.chapter-tools .chapter-switcher>summary{min-height:44px;padding:.45rem 0;gap:1rem}.chapter-tools .chapter-switcher[open]{background:#fff;border:1px solid #dce2ee;border-radius:12px;padding:.3rem .8rem;position:relative;z-index:4}.chapter-tools .chapter-switcher[open]>.chapter-selector{min-width:min(650px,100%)}
.learning-workspace,.journey-layout.learning-workspace{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:1.5rem;align-items:start}.learning-main{min-width:0}.learning-sidebar{min-width:0;display:grid;gap:1rem}.learning-sidebar>.daily-progress-card,.learning-sidebar>.chapter-card{margin:0;border:1px solid #e0e6f0;background:#fff;border-radius:16px;padding:1.15rem}.learning-sidebar .daily-progress-head img{width:56px;height:60px;object-fit:contain}.learning-sidebar .daily-progress-head{gap:.5rem}.learning-sidebar .daily-progress-card h2{font-size:16px}.learning-sidebar .daily-goal-count{font-size:20px}.learning-sidebar .daily-progress-card .eyebrow{font-size:9px}.learning-sidebar .daily-progress-card .actions a{background:#f3f5fb;border:0;border-radius:9px;padding:.6rem .75rem;text-align:center;justify-content:center;min-height:44px;font-size:12px}.learning-sidebar .chapter-card h2{font-size:16px}.learning-sidebar .chapter-card p{font-size:13px}.learning-sidebar .chapter-card .button{font-size:13px;background:#f4f6fb;border:1px solid #dce3ef}.learning-sidebar .chapter-reference{border:1px solid #e0e6f0;border-radius:14px;background:#fff;padding:0 .9rem}.learning-sidebar .chapter-reference>summary{font-size:12px}.learning-sidebar .chapter-reference .league-recognition{padding-top:.5rem}
.next-lesson-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:318px;border:0;border-radius:20px;overflow:hidden;background:#4355db;box-shadow:0 12px 28px #273b9d18;margin:0 0 1.35rem;isolation:isolate}.next-lesson-card .hero-copy{padding:1.8rem;position:relative;background:#4355db;color:#fff;display:flex;flex-direction:column;justify-content:center}.next-lesson-card .hero-copy h2{font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.035em;color:#fff;max-width:17ch;margin:.35rem 0 .8rem}.next-lesson-card .hero-copy p{color:#eef1ff;font-size:14px;line-height:1.7;max-width:34ch;margin:.4rem 0 .7rem}.next-lesson-card .hero-badge{font-size:10px;letter-spacing:.07em;font-weight:650;color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:6px;padding:.25rem .5rem;margin:0 0 .5rem}.next-lesson-card .hero-meta{color:#eef1ff;font-size:11px;margin-top:.7rem;gap:.6rem}.next-lesson-card .hero-meta svg{color:#fff}.next-lesson-card .hero-copy .actions{margin-top:1.25rem;gap:.65rem}.next-lesson-card .hero-copy .actions>button:not(.secondary),.next-lesson-card .hero-copy .actions>a.button:not(.secondary){background:#fff;color:#3041b5;border:1px solid #fff;box-shadow:0 3px 0 #2637ae;font-size:14px;font-weight:700;min-height:46px;border-radius:10px}.next-lesson-card .hero-copy .actions>button.secondary,.next-lesson-card .hero-copy .actions>a.secondary{background:transparent;color:#fff;border:1px solid #ffffff70;box-shadow:none;font-size:12px}.next-lesson-card .hero-copy .actions>button:not(.secondary):hover,.next-lesson-card .hero-copy .actions>a.button:not(.secondary):hover{background:#f0f3ff;color:#3041b5}.lesson-hero-art{position:relative;min-width:0;min-height:100%;overflow:hidden;background:#dce5ff}.lesson-hero-art>.league-hero{height:100%;min-height:318px;border:0;border-radius:0}.lesson-hero-art .league-image-wrap{height:100%;inset:0}.lesson-hero-art .league-hero img{height:100%;object-position:72% center}.lesson-hero-art .league-art-caption{font-size:10px;padding:4px 7px;border-radius:6px;background:#fffffff0;bottom:57px;max-width:calc(100% - 20px)}.lesson-hero-art .inspect-art{min-height:44px;font-size:11px;background:#fffffff0;padding:.4rem .6rem;border:0;border-radius:8px}
.learning-main .unit-path{background:#fff;border:1px solid #e0e6f0;border-radius:18px;padding:1.25rem}.learning-main .path-heading{border-bottom:1px solid #e8ecf3;padding-bottom:.85rem}.learning-main .path-heading h2{font-size:18px;font-weight:700}.learning-main .path-heading p{font-size:12px}.learning-main .trail-guide{padding:.6rem 0}.learning-main .trail-guide>img{width:46px;height:50px;flex-basis:46px;object-fit:contain}.learning-main .trail-guide p{font-size:12px}.learning-main .trail-step{padding:.85rem 0;min-height:94px;gap:.5rem .75rem}.learning-main .trail-copy strong{font-size:14px}.learning-main .trail-action{background:#f6f7fb;border-color:#dce2ee;color:#3041b5;font-size:12px;min-height:44px}.learning-main .trail-step[data-state=current] .trail-action{background:#4355db;border-color:#4355db;color:#fff}.learning-main .trail-node{width:32px;height:32px}.learning-main .trail-practice-link{font-size:12px}.learning-main .next-chapter-note{background:transparent;border:0;margin-top:1rem;padding:.75rem .2rem}.learning-main .next-chapter-note h2{font-size:17px}.learning-main .next-chapter-note p{font-size:13px}
.coach-note{display:flex;align-items:center;gap:.85rem;padding:1rem;border:1px solid #dce4f2;border-radius:16px;background:#fff}.coach-note-art,.coach-note>img{width:80px;height:88px;flex:0 0 80px;object-fit:contain}.coach-note p{font-size:13px;line-height:1.65;color:var(--rr-muted);margin:0}.coach-note strong{display:block;font-weight:650;color:var(--rr-ink);margin-bottom:.25rem}.guide-mascot,.lesson-art,.journal-mascot,.welcome-coach,.feedback-mascot,.challenge-celebration img,.celebration-mascot{object-fit:contain;filter:none}
/* Quiz becomes an explicit interaction workspace, not a document with radios. */
.focused-shell main{max-width:1020px}.activity{max-width:760px}.activity .question-card,.activity .teach-card{background:#fff;border:1px solid #e0e6f0;border-radius:18px;padding:1.75rem 2rem;box-shadow:0 8px 28px #24304f05}.activity .question-card h1{font-size:27px;line-height:1.35;font-weight:700;margin:.4rem 0 1rem;max-width:33ch}.activity .teach-card h1{font-size:28px;line-height:1.25}.activity .teach-card p{font-size:16px;line-height:1.75}.question-card>.eyebrow{font-size:10px;color:#66718a;letter-spacing:.08em}.activity-head{margin-bottom:.75rem}.activity .progress{height:5px;background:#e0e6f1}.activity .choices{gap:.7rem;margin:1.2rem 0}.question-card .choice{position:relative;display:flex;align-items:center;gap:.85rem;min-height:64px;padding:1rem;border:1px solid #d8e0ed;border-radius:12px;background:#fff;box-shadow:none;color:#202b47}.question-card .choice input{flex:0 0 18px;margin:0;accent-color:#4355db}.option-index{display:grid;place-items:center;width:28px;height:28px;min-width:28px;border:1px solid #dbe2ee;border-radius:7px;background:#f5f7fb;color:#66718a;font-size:12px;font-weight:650;line-height:1;flex:0 0 28px}.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked){border:2px solid #4355db;background:#f0f3ff;padding:calc(1rem - 1px);box-shadow:0 0 0 2px #4355db0a}.question-card .choice:has(input:checked) .option-index{background:#4355db;color:#fff;border-color:#4355db}.question-card .choice.answer-correct,.question-card .choice.answer-correct:has(input:checked){background:var(--rr-success);border:2px solid var(--rr-success-ink);padding:calc(1rem - 1px);box-shadow:none}.question-card .choice.answer-incorrect,.question-card .choice.answer-incorrect:has(input:checked){background:var(--rr-revisit);border:2px solid var(--rr-revisit-ink);padding:calc(1rem - 1px);box-shadow:none}.question-card .choice.answer-correct .option-index{background:#d2e9db;color:var(--rr-success-ink);border-color:#a5c8b1}.question-card .choice.answer-incorrect .option-index{background:#ffe0d3;color:var(--rr-revisit-ink);border-color:#e0ad99}
.question-action-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.85rem;margin-top:1.25rem;padding-top:1.15rem;border-top:1px solid #e6ebf3}.question-selection-status,.question-action-bar .status{font-size:13px;line-height:1.5;color:var(--rr-muted);margin:0;flex:1 1 220px}.question-action-bar button{min-height:48px;min-width:160px;font-size:14px;border-radius:10px}.keyboard-hint{display:block;font-size:11px;line-height:1.6;color:#66718a;margin:.65rem 0 0}.keyboard-hint kbd{font-family:inherit;font-size:10px;background:#f4f6fa;border:1px solid #dce3ee;border-radius:4px;padding:1px 4px;color:#59657d}.question-card .feedback,.question-card .feedback.wrong{margin-top:1.2rem;padding:1.1rem;background:#f4faf6;border:1px solid #c6decf;border-left:3px solid var(--rr-success-ink);border-radius:12px}.question-card .feedback.wrong{background:#fff6f1;border-color:#edc6b7;border-left-color:var(--rr-revisit-ink)}.question-card .feedback h2{font-size:17px}.question-card .feedback p{font-size:15px!important}.feedback-mascot{width:60px;height:66px}.lumi-feedback{gap:.75rem}.feedback .actions{margin-top:.85rem}.question-card .quiz-media{padding:.8rem 0}.question-card .quiz-media-title{font-size:13px}.question-card .quiz-media-note{font-size:12px}.question-assumptions{border-radius:8px;background:#f5f7fc;border-left:2px solid #c0ccee;font-size:14px}
.review-stage{max-width:760px}.flashcard{background:#fff;border:1px solid #dce3ef;border-radius:18px;padding:1.75rem 2rem;box-shadow:0 8px 28px #24304f05}.flashcard .term{font-size:28px;font-weight:700;margin:.2rem 0 .7rem}.flashcard>p{font-size:16px}.flashcard .definition{font-size:17px;line-height:1.75;max-width:52ch}.flashcard .eyebrow{font-size:10px;color:#66718a}.flashcard #card-answer>.actions>button[data-rating]{min-width:0;width:100%;max-width:100%;min-height:54px;border:1px solid #cfd9eb;background:#f7f9fc;border-radius:10px;color:#24304f;font-size:13px;font-weight:600}.flashcard #card-answer>.actions>button[data-rating]:hover{background:#edf2ff;border-color:#98ace7}.flashcard-reference>summary{font-size:12px}.review-context{background:transparent;border:0;padding:.2rem 0 .85rem}.review-context strong{font-size:13px}.review-context p{font-size:12px;margin:.3rem 0}.review-session-builder,.review-challenge-disclosure{margin:1rem 0 0;background:transparent;border:0;border-top:1px solid #dce3ef;border-radius:0}.review-session-builder>summary,.review-challenge-disclosure>summary{min-height:48px;font-size:13px}.review-session-builder>summary strong{font-size:13px}.review-session-builder>summary span{font-size:11px}
.journal-hero{background:#fff;border:1px solid #e0e6f0;border-radius:18px;padding:1.35rem 1.5rem;margin-bottom:1.25rem}.journal-hero h2{font-size:22px}.journal-hero p{font-size:14px}.journal-mascot{max-width:106px;max-height:118px}.progress-overview{background:#fff;border:1px solid #e0e6f0;border-radius:16px;margin:1.25rem 0 1.5rem;overflow:hidden}.progress-overview>.panel{background:#fff;padding:1.25rem 1.5rem}.progress-overview h2{font-size:13px}.progress-overview .big-stat{font-size:32px}.milestone-card{border-radius:12px;background:#fff}.milestone-card h3{font-size:14px}.daily-progress-card,.daily-progress-card[data-goal-met=true],.challenge-practice-summary{background:#fff;border:1px solid #e0e6f0;border-radius:16px;padding:1.25rem}.daily-progress-head img{width:58px;height:64px}.daily-progress-card h2{font-size:17px}.settings-stack>.panel{background:#fff;border:1px solid #e0e6f0;border-radius:16px;padding:1.4rem}.guide-entry{background:#fff;border:1px solid #e0e6f0;border-radius:14px;padding:1.2rem}.guide-entry h2,.guide-entry h3{font-size:17px}.guide-filters button{border-radius:9px;background:#fff}.guide-list{gap:1rem}.challenge-board{background:#fff;border:1px solid #e0e6f0;border-radius:18px;padding:1.5rem}.challenge-head h1{font-size:28px}.challenge-piece,.challenge-target{border-radius:12px;background:#fff}.challenge-recap-item{padding:1rem .25rem}.challenge-celebration img{width:100px;height:112px}.challenge-links{background:#fff;border:1px solid #e0e6f0;border-radius:16px;padding:1.25rem}.challenge-gallery>a.challenge-gallery-card{border:1px solid #e0e6f0;border-radius:12px;padding:1rem}.welcome-layout{background:#fff;border:1px solid #e0e6f0;border-radius:20px}.welcome-scene{background:#eef2fb;border-radius:0}.welcome-coach-composition{width:min(100%,360px)}.welcome-coach-composition:before{background:#dfe8ff}.welcome-coach{width:90%;height:95%}.welcome-copy h1{font-size:40px;line-height:1.12;font-weight:700}.welcome-copy{padding:2.5rem}.welcome-guide{background:#f7f9fd;border:1px solid #e0e7f2;border-radius:12px}.welcome-guide img{width:72px;height:80px;object-fit:contain}.welcome-lead{font-size:20px;font-weight:600}.welcome-guide p{font-size:15px}.welcome-scene .scene-caption{font-size:15px}.completion-card{background:#fff;border:1px solid #e0e6f0;border-radius:18px}.celebration-mascot{width:112px;height:124px}
@media(max-width:1150px) and (min-width:801px){.learning-workspace,.journey-layout.learning-workspace{grid-template-columns:minmax(0,1fr) 238px;gap:1.15rem}.next-lesson-card{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.next-lesson-card .hero-copy{padding:1.4rem}.next-lesson-card .hero-copy h2{font-size:24px}.next-lesson-card .hero-copy p{font-size:13px}.learning-main .trail-step{grid-template-columns:32px minmax(0,1fr)}.learning-main .trail-step>.trail-action{grid-column:2;justify-self:start}}
@media(max-width:800px){
 .shell{display:block}main{padding:1rem 1rem 2rem}.app-topbar{margin-bottom:1rem}.page-heading h1{font-size:27px}.page-heading>p:not(.eyebrow){font-size:14px}.chapter-heading{margin-bottom:1rem}.chapter-heading h1{font-size:28px}.chapter-heading p{font-size:13px}.chapter-heading-stats{min-width:64px;font-size:10px}.chapter-heading-stats strong{font-size:21px}.chapter-tools{margin-top:.6rem;gap:.6rem}.chapter-mini-progress{max-width:200px;margin-top:.65rem}.chapter-tools .chapter-switcher{min-width:0;width:100%}.chapter-tools .chapter-switcher>summary{min-height:44px}.chapter-tools .chapter-switcher[open]{width:100%}
 .learning-workspace,.journey-layout.learning-workspace{display:flex;flex-direction:column;gap:1.15rem}.learning-main,.learning-sidebar{width:100%;min-width:0}.learning-sidebar{display:grid;gap:1rem}.learning-sidebar>.daily-progress-card,.learning-sidebar>.chapter-card{padding:1rem;border:1px solid #e0e6f0}.next-lesson-card{grid-template-columns:minmax(0,1fr);border-radius:16px;min-height:0;margin-bottom:1.15rem}.next-lesson-card .hero-copy{padding:1.4rem}.next-lesson-card .hero-copy h2{font-size:25px;max-width:18ch;margin:.25rem 0 .65rem}.next-lesson-card .hero-copy p{font-size:14px;max-width:none}.next-lesson-card .hero-copy .actions{margin-top:1rem}.next-lesson-card .hero-copy .actions>*{flex:1 1 100%}.lesson-hero-art{height:170px;min-height:170px}.lesson-hero-art>.league-hero,.lesson-hero-art>.league-hero:has(.inspect-art){height:170px;min-height:170px}.lesson-hero-art .league-hero:has(.inspect-art) .league-image-wrap{height:100%;inset:0}.lesson-hero-art .league-hero:has(.inspect-art) .league-art-caption{font-size:9px;bottom:54px}.lesson-hero-art .league-hero .inspect-art{min-height:44px;font-size:10px}.learning-main .unit-path{padding:1rem;border-radius:16px}.learning-main .path-heading h2{font-size:17px}.learning-main .trail-copy strong{font-size:14px}.learning-main .trail-action{font-size:12px}.learning-main .trail-guide p{font-size:12px}.coach-note{padding:.85rem}.coach-note-art,.coach-note>img{width:64px;height:72px;flex-basis:64px}
 .activity .question-card,.activity .teach-card{padding:1.25rem;border-radius:16px}.activity .question-card h1{font-size:23px;line-height:1.35}.activity .question-card.long-question h1{font-size:21px}.activity .teach-card h1{font-size:25px}.activity .teach-card p{font-size:16px}.question-card .choice{min-height:64px;padding:.9rem;gap:.65rem;align-items:flex-start}.question-card .choice input{margin-top:.3rem}.option-index{margin-top:.1rem;width:25px;height:25px;min-width:25px;flex-basis:25px;font-size:11px}.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked),.question-card .choice.answer-correct,.question-card .choice.answer-correct:has(input:checked),.question-card .choice.answer-incorrect,.question-card .choice.answer-incorrect:has(input:checked){padding:calc(.9rem - 1px)}.question-action-bar{gap:.65rem;padding-top:.85rem;margin-top:1rem}.question-selection-status,.question-action-bar .status{font-size:12px;flex-basis:100%}.question-action-bar button{flex:1 1 100%;min-height:48px}.keyboard-hint{font-size:10px}.question-card .feedback,.question-card .feedback.wrong{padding:.9rem}.feedback-mascot{width:52px;height:58px}.question-card .feedback h2{font-size:16px}.question-card .feedback p{font-size:14px!important}
 .flashcard{padding:1.4rem 1.1rem;border-radius:16px}.flashcard .term{font-size:26px}.flashcard .definition{font-size:16px}.flashcard #card-answer>.actions>button[data-rating]{font-size:12px;min-height:52px;padding:.65rem .3rem}.journal-hero{padding:1.1rem;border-radius:16px}.journal-hero h2{font-size:21px}.journal-mascot{max-width:80px;max-height:92px}.progress-overview>.panel{padding:1rem}.progress-overview .big-stat{font-size:28px}.daily-progress-card,.daily-progress-card[data-goal-met=true],.challenge-practice-summary{padding:1rem;border-radius:14px}.settings-stack>.panel{padding:1.15rem}.guide-entry{padding:1rem;border-radius:12px}.challenge-board{padding:1rem;border-radius:16px}.challenge-head h1{font-size:25px}.challenge-links{padding:1rem}.welcome-copy{padding:1.5rem}.welcome-copy h1{font-size:31px}.welcome-scene{min-height:280px}.welcome-coach-composition{width:240px}.welcome-guide p{font-size:14px}.welcome-guide img{width:58px;height:66px}.celebration-mascot{width:100px;height:112px}.challenge-celebration img{width:88px;height:98px}
}
@media(max-width:360px){.chapter-heading h1{font-size:25px}.next-lesson-card .hero-copy{padding:1.2rem}.next-lesson-card .hero-copy h2{font-size:23px}.activity .question-card,.activity .teach-card{padding:1rem}.activity .question-card h1{font-size:22px}.question-card .choice{gap:.5rem;font-size:15px}.question-card .choice input{width:17px;min-width:17px}.option-index{width:22px;height:24px;min-width:22px;flex-basis:22px}.flashcard #card-answer>.actions>button[data-rating]{font-size:11px}.welcome-copy h1{font-size:29px}}
@media(forced-colors:active){.next-lesson-card,.next-lesson-card .hero-copy,.learning-main .unit-path,.learning-sidebar>.daily-progress-card,.learning-sidebar>.chapter-card,.activity .question-card,.activity .teach-card,.flashcard,.journal-hero,.progress-overview,.coach-note,.question-action-bar,.option-index,.question-card .choice,.question-card .feedback,.question-card .feedback.wrong{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}.next-lesson-card .hero-copy :is(h2,p,.hero-badge,.hero-meta){color:CanvasText}.next-lesson-card .hero-copy .actions>button:not(.secondary),.next-lesson-card .hero-copy .actions>a.button:not(.secondary){background:ButtonFace;color:ButtonText;border-color:ButtonText;box-shadow:none}.question-card .choice:has(input:checked) .option-index{background:Canvas;color:Highlight;border-color:Highlight}.keyboard-hint,.question-selection-status{color:CanvasText}}
/* Native inputs stay focusable/clickable; numbered cards carry the visible affordance. */
.question-card .choice>input[type=radio],.question-card .choices.visual-choices .choice>input[type=radio]{position:absolute;opacity:0;left:16px;top:20px;width:24px;height:24px;min-width:24px;margin:0;z-index:1}
.question-card .choice .option-text{min-width:0;flex:1 1 auto;line-height:1.6}
.question-card .choices.visual-choices .choice{display:grid;grid-template-columns:28px 56px minmax(0,1fr);column-gap:.75rem;row-gap:.6rem;align-items:center;align-content:center;min-height:112px}
.question-card .choices.visual-choices .choice>.option-index{grid-column:1;grid-row:1;margin:0;font-size:12px;color:#66718a;min-width:28px;line-height:1}
.question-card .choices.visual-choices .choice>.quiz-choice-art{grid-column:2;grid-row:1}
.question-card .choices.visual-choices .choice>.option-text{grid-column:3;grid-row:1;color:var(--rr-ink);font-size:15px;line-height:1.55}
.question-card .choices.visual-choices .choice:has(input:checked)>.option-index{color:#fff}
.lesson-stage-strip{display:flex;align-items:center;gap:.5rem;margin:.25rem 0 .8rem;flex-wrap:wrap}
.lesson-stage-strip>span{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;min-height:32px;border:1px solid transparent;border-radius:8px;font-size:11px;line-height:1.4;font-weight:600;color:#6b758a;background:transparent}
.lesson-stage-strip svg{width:14px;height:14px;flex:0 0 14px}
.lesson-stage-strip>span[data-stage=current]{background:#e8edff;border-color:#c7d2fa;color:#3041b5}
.lesson-stage-strip>span[data-stage=complete]{background:#f0f3fa;color:#4f5f7d}
.feedback-explanation,.feedback-revisit{margin:.9rem 0 0;padding-top:.75rem;border-top:1px solid #d8e5dc}
.feedback.wrong .feedback-explanation,.feedback.wrong .feedback-revisit{border-top-color:#eed3c5}
.feedback-explanation h3,.feedback-revisit h3{font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 .3rem;color:var(--rr-ink)}
.feedback-explanation p,.feedback-revisit p{margin:.3rem 0}
.flashcard #card-answer>.actions>button[data-rating]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:64px}
.flashcard #card-answer>.actions>button[data-rating] kbd{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;font-family:inherit;font-size:10px;font-weight:600;line-height:1;background:#fff;border:1px solid #d6deec;border-radius:4px;color:#66718a}
@media(max-width:800px){.lesson-stage-strip{gap:.35rem;margin:.1rem 0 .65rem}.lesson-stage-strip>span{padding:.35rem .5rem;font-size:10px;min-height:30px}.question-card .choices.visual-choices .choice{grid-template-columns:25px minmax(0,1fr);align-content:start;min-height:154px;column-gap:.6rem}.question-card .choices.visual-choices .choice>.option-index{grid-column:1;grid-row:1;font-size:11px;min-width:25px}.question-card .choices.visual-choices .choice>.quiz-choice-art{grid-column:2;grid-row:1;justify-self:start}.question-card .choices.visual-choices .choice>.option-text{grid-column:1/-1;grid-row:2;font-size:14px}.flashcard #card-answer>.actions>button[data-rating]{min-height:64px;gap:.3rem}}
@media(forced-colors:active){.lesson-stage-strip>span{background:Canvas;color:CanvasText;border-color:CanvasText}.lesson-stage-strip>span[data-stage=current]{background:Canvas;color:Highlight;border-color:Highlight}.question-card .choices.visual-choices .choice>.option-index,.question-card .choices.visual-choices .choice:has(input:checked)>.option-index{color:CanvasText}.flashcard #card-answer>.actions>button[data-rating] kbd{background:Canvas;color:CanvasText;border-color:CanvasText}}
/* Narrow workspace correction: chapter copy always gets a full readable row. */
@media(max-width:600px){
 .chapter-heading-top{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;column-gap:.85rem;row-gap:.65rem}
 .chapter-heading-copy{grid-column:1/-1;width:100%;max-width:none;min-width:0}
 .chapter-heading-copy h1{max-width:none;margin:.2rem 0 .45rem}
 .chapter-heading-copy>p:not(.eyebrow){max-width:none;font-size:13px;line-height:1.65}
 .chapter-heading-top>.chapter-tools{grid-column:1;grid-row:2;display:block;margin:0;min-width:0;max-width:100%}
 .chapter-heading-top>.chapter-heading-stats{grid-column:2;grid-row:2;min-width:0;text-align:right;font-size:10px}
 .chapter-tools .chapter-switcher{width:100%;min-width:0}
 .chapter-tools .chapter-switcher>summary{gap:.6rem;min-height:44px}
 .chapter-tools .chapter-current-kicker{font-size:11px}
 .chapter-tools .chapter-change{font-size:11px;max-width:none}
 .chapter-mini-progress{margin-top:.6rem}
}
/* Keep the tested short quiz within reach without shrinking body text or overlaying content. */
@media(max-width:800px){
 .focused-shell main{padding-top:.7rem}
 .focused-shell .app-topbar{min-height:40px;margin-bottom:.5rem}
 .activity-head{margin-bottom:.15rem}
 .activity-head .text-button{font-size:12px;padding:.4rem 0;min-height:44px}
 .lesson-stage-strip{margin:0 0 .35rem;gap:.3rem}
 .lesson-stage-strip>span{min-height:28px;padding:.3rem .45rem;font-size:10px}
 .activity-progress-label{margin:.3rem 0 .45rem}
 .activity-progress-label .eyebrow{font-size:10px;margin:0;line-height:1.5}
 .activity .question-card{margin-top:.8rem;padding:1rem}
 .activity .question-card>.eyebrow{margin:.1rem 0 .55rem;font-size:10px;line-height:1.5}
 .activity .question-card h1{font-size:22px;margin:.25rem 0 .7rem;line-height:1.35}
 .activity .question-card .choices{gap:.5rem;margin:1rem 0 .85rem}
 .question-card .choices legend{font-size:10px;margin-bottom:.6rem}
 .question-card .choice{min-height:56px;padding:.8rem .85rem;align-items:center;font-size:16px}
 .question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked),.question-card .choice.answer-correct,.question-card .choice.answer-correct:has(input:checked),.question-card .choice.answer-incorrect,.question-card .choice.answer-incorrect:has(input:checked){padding:calc(.8rem - 1px) calc(.85rem - 1px)}
 .question-action-bar{margin-top:.8rem;padding-top:.75rem;gap:.5rem}
 .activity .question-card .question-selection-status,.activity .question-card .question-action-bar .status{font-size:12px;line-height:1.5;margin:0}
 .activity .question-card .keyboard-hint{font-size:10px;line-height:1.5;margin:.4rem 0 0}
 .question-action-bar button{min-height:48px}
 .question-card .choices.visual-choices .choice{min-height:144px;align-items:start}
}
.flashcard #card-answer{border-top:1px solid var(--rr-line)}.flashcard #card-answer>.definition{border:0;padding-top:0}
/* Image recognition answers stay scannable: index, game icon, then the answer label. */
@media(max-width:800px){
 .question-card .choices.visual-choices{grid-template-columns:minmax(0,1fr)}
 .question-card .choices.visual-choices .choice{grid-template-columns:24px 48px minmax(0,1fr);align-items:center;align-content:center;gap:10px;min-height:80px;padding:12px}
 .question-card .choices.visual-choices .choice>.option-index{grid-column:1;grid-row:1;min-width:24px;justify-self:center}
 .question-card .choices.visual-choices .choice>.quiz-choice-art{grid-column:2;grid-row:1;width:48px;height:48px;min-width:48px;min-height:48px;justify-self:center}
 .question-card .choices.visual-choices .choice>.quiz-choice-art .league-image-wrap{width:48px;height:48px;min-width:48px;min-height:48px}
 .question-card .choices.visual-choices .choice>.option-text{grid-column:3;grid-row:1;font-size:15px;line-height:1.5;text-align:left}
}
/* Studio practice and progress: shared composition across every learning state. */
.challenge-board{padding:1.5rem;border:1px solid #dce3ef;border-radius:18px;background:#fff;box-shadow:0 8px 28px #24304f05}
.challenge-context{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0 0 .8rem;font-size:12px;line-height:1.6;color:var(--rr-muted)}
.challenge-context a{font-size:12px;color:#3041b5;min-height:44px;display:inline-flex;align-items:center}
.challenge-attempt-label{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:.25rem .55rem;border:1px solid #dce3ef;border-radius:6px;background:#f7f9fc;color:#59657d;font-size:11px;font-weight:600;line-height:1.5;margin:.25rem 0 .5rem}
.challenge-head{margin-bottom:1.1rem}.challenge-head h1{font-size:28px;line-height:1.25;font-weight:700;margin:.3rem 0 .65rem}.challenge-head p{font-size:14px;line-height:1.7}.challenge-head>.eyebrow{font-size:10px;letter-spacing:.07em;margin:.35rem 0}.challenge-head>.challenge-instructions{background:#edf2ff;border:0;border-left:3px solid #4355db;border-radius:0 10px 10px 0;padding:.8rem .95rem;font-size:14px;font-weight:500;line-height:1.65;color:#202b47;max-width:none;margin:.9rem 0 .5rem}.challenge-head .challenge-methods{font-size:12px;color:#59657d;margin:.35rem 0}
.challenge-input-help{margin:.2rem 0 .5rem}.challenge-input-help>summary{min-height:44px;padding:.55rem 0;font-size:12px;font-weight:550;line-height:1.6;color:#3041b5;cursor:pointer;list-style-position:inside}.challenge-input-help p{font-size:12px;max-width:64ch;color:#59657d;margin:.2rem 0 .6rem}.challenge-reward-rule{font-size:11px;line-height:1.55;background:#f5f7fb;border:1px solid #e1e6f0;color:#59657d;padding:.4rem .6rem;border-radius:7px;max-width:100%}
.challenge-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.15rem;margin:1.2rem 0}.challenge-tray,.challenge-targets{gap:.7rem}.challenge-tray>h2,.challenge-targets>h2{font-size:14px;font-weight:700;line-height:1.5;margin:0 0 .25rem;color:#202b47}
.challenge-piece{min-height:80px;padding:.85rem;background:#fff;border:1px solid #d4ddeb;box-shadow:none;border-radius:12px}.challenge-piece:hover{background:#f7f9fd}.challenge-piece[data-placed=true]{background:#f5f7fc;border:1px solid #d4ddeb;border-style:solid;box-shadow:none;color:#59657d}.challenge-piece[aria-pressed=true],.challenge-piece[data-placed=true][aria-pressed=true]{background:#edf2ff;border:2px solid #4355db;border-style:solid;box-shadow:0 0 0 2px #4355db0a;color:#202b47;padding:calc(.85rem - 1px)}.challenge-piece-copy strong{font-size:14px;font-weight:650;line-height:1.55;color:#202b47}.challenge-piece-copy .challenge-piece-state{font-size:12px;line-height:1.55;font-weight:400;color:#59657d}.challenge-piece-copy .challenge-picture-hint{font-size:12px;font-weight:500;color:#59657d}.challenge-art{border:1px solid #dce3ef;border-radius:10px}.challenge-drag-handle,[data-drag-handle]{background:#eff3fb;color:#596b97;min-width:44px;min-height:44px;border-radius:9px;border:0;box-shadow:none}
.challenge-target{background:#fbfcfe;border:1px dashed #c1cde2;border-radius:12px;min-height:96px;padding:.95rem;color:#202b47;box-shadow:none}.challenge-target>strong{font-size:14px;font-weight:650;line-height:1.55}.challenge-target[data-state=empty] .challenge-placed{background:transparent;color:#59657d;border:0;padding:0;font-size:12px;font-weight:400}.challenge-target[data-state=filled]{background:#f0f4ff;border:1px solid #9fb2e9;box-shadow:none}.challenge-target[data-state=filled] .challenge-placed{background:transparent;border:0;padding:0}.challenge-placed-list{gap:.4rem}.challenge-placed-chip{background:#fff;border:1px solid #c7d4f2;border-radius:7px;color:#3041b5;padding:.4rem .55rem;font-size:12px;font-weight:550}.challenge-bucket-count{font-size:11px;font-weight:500;margin-bottom:.3rem;color:#59657d}.challenge-target[data-state=correct],.challenge-target[data-state=correct]:disabled{border:2px solid #21643c;background:#eaf8ef;padding:calc(.95rem - 1px);box-shadow:none}.challenge-target[data-state=incorrect],.challenge-target[data-state=incorrect]:disabled{border:2px solid #8a3b24;background:#fff0e9;padding:calc(.95rem - 1px);box-shadow:none}.challenge-target[data-state=correct] .challenge-placed,.challenge-target[data-state=incorrect] .challenge-placed{background:transparent;border:0;padding:0}.challenge-target[data-drag-over=true]{border:2px solid #4355db;background:#eaf1ff;outline:2px solid #b5c4f2;padding:calc(.95rem - 1px)}.challenge-pair-feedback{font-size:12px;line-height:1.55}
.challenge-hints{background:#f7f9fc;border:1px solid #e0e7f2;border-radius:10px;padding:.75rem .9rem;margin:.75rem 0}.challenge-hints button{font-size:12px;min-height:44px;background:#fff;box-shadow:none}.challenge-hints p{font-size:12px;margin:.4rem 0 0}.challenge-selection-note{background:#edf2ff;border:1px solid #a9bbef;border-radius:12px;box-shadow:0 6px 18px #24304f12;padding:.75rem .85rem;gap:.65rem}.challenge-selected-label{font-size:12px;font-weight:550;line-height:1.55}.challenge-selection-note button{font-size:12px;min-height:44px;padding:.55rem .75rem;background:#4355db;box-shadow:none}
.challenge-count{font-size:12px;font-weight:550;margin:.9rem 0 .5rem;color:#59657d}.challenge-save-note{font-size:12px;padding:.55rem .75rem;border-radius:0 8px 8px 0}.challenge-session-note{font-size:12px;line-height:1.6}.challenge-status{font-size:12px}.challenge-actions{border-top:1px solid #e4e9f2;padding-top:1rem;margin:1rem 0 .25rem;gap:.7rem}.challenge-actions button{font-size:14px;min-height:48px}.challenge-actions .secondary{font-size:13px;background:#fff;box-shadow:none}
/* Results distinguish accomplishment, explanation and next action. */
.challenge-feedback,.challenge-feedback[data-result=correct]{background:#fff;color:#202b47;border:1px solid #c2ddcc;border-top:3px solid #21643c;border-left-width:1px;border-radius:14px;padding:1.25rem;margin:1.2rem 0 0}.challenge-feedback[data-result=retry]{background:#fff;border:1px solid #edc6b7;border-top:3px solid #8a3b24;color:#202b47}.challenge-result-heading{display:flex;align-items:center;gap:.9rem;margin:0 0 .6rem}.challenge-result-heading .challenge-celebration{position:relative;flex:0 0 86px;display:flex;align-items:center;justify-content:center;margin:0;max-width:86px;height:96px}.challenge-result-heading .challenge-celebration img{width:86px;height:96px;object-fit:contain}.challenge-result-heading h2{font-size:22px;line-height:1.3;letter-spacing:-.025em;font-weight:700;margin:0;max-width:25ch}.challenge-feedback>.challenge-feedback-copy{font-size:14px;line-height:1.7;margin:.45rem 0 1rem;color:#59657d}.challenge-reward-panel{padding:1rem 1.1rem;border-radius:12px;margin:.9rem 0;background:#f5f7fc;border:1px solid #dce3ef}.challenge-reward-panel[data-new-reward=true][data-save-state=saved]{background:#4355db;border-color:#4355db;box-shadow:0 6px 18px #4355db14;color:#fff}.challenge-reward-panel[data-new-reward=true][data-save-state=saved] :is(h3,.challenge-reward-xp){font-size:23px;color:#fff;font-weight:700;line-height:1.3}.challenge-reward-panel[data-new-reward=true][data-save-state=saved] p{font-size:13px;color:#eef1ff;line-height:1.6}.challenge-reward-panel[data-new-reward=false]{background:#f5f7fc;border-color:#dce3ef;box-shadow:none}.challenge-reward-panel[data-new-reward=false] :is(h3,.challenge-reward-xp){font-size:19px;color:#202b47;font-weight:700;line-height:1.4}.challenge-reward-panel p{font-size:13px;line-height:1.65;color:#59657d}.challenge-new-badges{margin:.7rem 0 0;gap:.5rem}.challenge-new-badges li{font-size:12px;font-weight:600;padding:.35rem .6rem;background:#fff4ce;color:#725315;border-color:#efdca0;border-radius:7px}.challenge-reward-panel[data-save-state=unsaved],.challenge-reward-panel[data-save-state=blocked]{background:#fff0e9;border:1px solid #d99883;box-shadow:none}.challenge-reward-panel[data-save-state=unsaved] :is(h3,p,.challenge-reward-xp),.challenge-reward-panel[data-save-state=blocked] :is(h3,p,.challenge-reward-xp){color:#8a3b24}.challenge-finish-actions{margin:.9rem 0 1.2rem}.challenge-finish-actions a{font-size:14px;min-height:48px}.challenge-recap{margin:1rem 0 0;padding:0;border:0;background:transparent;list-style:none}.challenge-recap-item,.challenge-recap-item[data-result=correct],.challenge-recap-item[data-result=retry]{list-style:none;margin:0;padding:.95rem 0;border:0;border-top:1px solid #e3e8f1;background:transparent;border-radius:0}.challenge-recap-label{font-size:11px;font-weight:650;line-height:1.5;display:block;margin:0 0 .35rem}.challenge-recap-item strong{font-size:14px;line-height:1.55;font-weight:650}.challenge-recap-item p{font-size:13px;line-height:1.7;margin:.4rem 0 0;color:#59657d}
/* A browsable practice catalogue, rather than a repeated stack of notices. */
.challenge-links{padding:1.4rem;background:#fff;border:1px solid #e0e6f0;border-radius:16px}.challenge-links>.eyebrow{font-size:10px;color:#66718a;letter-spacing:.07em}.challenge-links>h2{font-size:22px;line-height:1.3;margin:.2rem 0 .65rem}.challenge-links>p{font-size:14px;line-height:1.7;color:#59657d}.challenge-gallery-controls{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:1rem 0 .4rem}.challenge-gallery-controls label{font-size:12px;font-weight:650;color:#202b47}.challenge-gallery-controls select{min-height:46px;font-size:14px;background:#f9fafe;border:1px solid #ccd6e8;min-width:220px;border-radius:9px}.challenge-gallery-count{font-size:12px;color:#66718a;margin:.6rem 0 .9rem}.challenge-gallery{gap:.9rem}.challenge-gallery>a.challenge-gallery-card{position:relative;min-height:168px;border:1px solid #dce3ef;border-radius:12px;padding:1rem;gap:.45rem .6rem;background:#fff;box-shadow:none;transition:border-color .15s,background .15s}.challenge-gallery>a.challenge-gallery-card:hover{background:#f9fbff;border-color:#9db2ed}.challenge-gallery-card>strong{font-size:17px;font-weight:650;line-height:1.4;letter-spacing:-.02em}.challenge-gallery-card .challenge-stage-badge{font-size:10px;line-height:1.5;padding:.25rem .45rem;border-radius:5px;max-width:100%;justify-content:flex-start;text-align:left}.challenge-gallery-card .challenge-type{font-size:12px;font-weight:400;line-height:1.55;color:#66718a}.challenge-gallery-card>.challenge-gallery-status{font-size:11px;font-weight:550;padding:.2rem .45rem;border:0;border-radius:5px;background:#f1f4fa;color:#59657d;margin-top:.3rem}.challenge-gallery-card>.challenge-gallery-status[data-status=complete]{background:#eaf0ff;color:#3041b5}.challenge-gallery-card>.challenge-gallery-status[data-status=progress]{background:#eaf0ff;color:#3041b5}.challenge-gallery-card>.challenge-meta{font-size:11px;font-weight:400;line-height:1.5;color:#66718a;margin-top:.15rem}.challenge-gallery-empty{padding:1rem;border:1px dashed #bfcee9;background:#f7f9fd;border-radius:12px;font-size:14px}
/* Progress is a concise record first, with optional detail and collections below. */
.progress-support-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.15rem;margin:1.4rem 0;align-items:start}.progress-support-grid>.daily-progress-card,.progress-support-grid>.challenge-practice-summary{height:auto;min-width:0;margin:0;background:#fff;border:1px solid #e0e6f0;border-radius:16px;padding:1.25rem}.journal-hero{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:1.25rem;background:#fff;border:1px solid #e0e6f0;border-radius:18px;padding:1.5rem}.journal-hero>div:first-child{display:grid;place-items:center}.journal-mascot{width:110px;height:124px;max-width:110px;max-height:124px;object-fit:contain}.journal-hero h2{font-size:24px;line-height:1.3;font-weight:700}.journal-hero p{font-size:14px;line-height:1.7}.journal-hero .eyebrow{font-size:10px;margin:0 0 .4rem;color:#66718a}.journal-hero .actions{margin-top:1rem}.journal-hero .actions>a,.journal-hero .actions>button{min-height:46px;font-size:14px}
.progress-overview{margin:1.15rem 0 1.4rem;background:#fff;border:1px solid #e0e6f0;border-radius:16px;overflow:hidden}.progress-overview>.panel{padding:1.3rem 1.5rem}.progress-overview h2{font-size:12px;font-weight:600;line-height:1.5;color:#66718a}.progress-overview .big-stat{font-size:34px;font-weight:700;line-height:1.25;margin:.45rem 0 .65rem;color:#202b47}.progress-overview p{font-size:12px;line-height:1.7}.progress-overview .progress{height:6px;border:0}.progress-overview .big-stat small{font-size:14px;font-weight:400;color:#66718a}
.progress-support-grid .daily-progress-card h2,.progress-support-grid .challenge-practice-summary h2{font-size:19px;line-height:1.35;font-weight:700}.progress-support-grid .daily-progress-card .eyebrow,.progress-support-grid .challenge-practice-summary>.eyebrow{font-size:10px;color:#66718a}.daily-progress-card .daily-goal-count{font-size:21px;font-weight:700;line-height:1.4}.daily-streak-stats{gap:.7rem;margin:.85rem 0}.daily-streak-stats>div{background:#f5f7fc;border:1px solid #e7ecf5;border-radius:10px;padding:.7rem .85rem}.daily-streak-stats strong{font-size:22px;line-height:1.3;color:#202b47;font-weight:700}.daily-streak-stats span{font-size:11px;color:#66718a}.daily-progress-card .daily-progress-note{font-size:13px;line-height:1.7}.daily-progress-card .actions{margin-top:.95rem}.daily-progress-card .actions a{font-size:13px;min-height:44px}.daily-milestones>summary{font-size:13px;font-weight:650;min-height:48px}.daily-milestones>.milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-practice-summary p{font-size:13px;line-height:1.7;color:#59657d}.challenge-practice-summary p strong{font-size:15px;font-weight:650;line-height:1.5;color:#202b47}.challenge-practice-summary .actions{margin-top:1rem}.challenge-practice-summary .actions a{min-height:44px;font-size:13px}.challenge-practice-badges{border:0;border-top:1px solid #e4e9f2;background:transparent;border-radius:0;margin:1rem 0 0;padding:0}.challenge-practice-badges>summary{min-height:48px;font-size:13px;font-weight:650;padding:.75rem 0}.challenge-practice-badges>p{font-size:12px;line-height:1.7;color:#66718a}.challenge-practice-badges>.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.challenge-practice-badges .milestone-card{padding:.9rem}
.milestone-section{margin:1.6rem 0}.milestone-heading{align-items:flex-end;gap:1rem;margin-bottom:.65rem}.milestone-heading h2{font-size:22px;font-weight:700;line-height:1.3}.milestone-heading .eyebrow{font-size:10px;color:#66718a}.milestone-heading>p{font-size:12px;color:#66718a}.milestone-section>.review-intro{font-size:13px;line-height:1.7;margin:.5rem 0 1rem}.milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.milestone-card,.challenge-practice-badges .milestone-card{padding:1.1rem;border:1px solid #e0e6f0;background:#fff;border-radius:12px;box-shadow:none}.milestone-card[data-earned=true]{border-color:#cbd7f1;background:#fff}.milestone-card[data-earned=false]{border-color:#e0e6f0;background:#f8fafd}.milestone-card h3{font-size:15px;line-height:1.45;font-weight:650;letter-spacing:-.01em;margin:.75rem 0 .4rem}.milestone-card p{font-size:12px;line-height:1.7;color:#66718a;margin:.35rem 0}.milestone-icon,.milestone-card[data-earned=true] .milestone-icon{width:42px;height:42px;border:0;border-radius:12px;background:#fff4d0;color:#8a641d;box-shadow:none}.milestone-card[data-earned=false] .milestone-icon{background:#edf1f8;color:#77839b}.milestone-status{font-size:11px;font-weight:600;line-height:1.5;margin-top:.7rem}.milestone-card[data-earned=true] .milestone-status{color:#3041b5}.milestone-card[data-earned=false] .milestone-status{color:#66718a}.checkpoint-history{background:#fff;border:1px solid #e0e6f0;border-radius:16px;padding:1.3rem;margin:1.4rem 0}.checkpoint-history h2{font-size:20px}.checkpoint-history-row{padding:.9rem 0;gap:.8rem}.checkpoint-history-row strong{font-size:14px;font-weight:650}.checkpoint-history-row p{font-size:12px}.checkpoint-history-row button{min-height:44px;font-size:12px}.journal-note{border:0;background:transparent;padding:.7rem 0}.journal-note h2{font-size:16px}.journal-note p{font-size:13px;line-height:1.7}
/* Shared completion/review components supplied by the activity renderer. */
.review-card-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin:0 0 1.15rem;font-size:11px;line-height:1.6;font-weight:500;color:#66718a}.review-card-meta strong{font-size:11px;font-weight:650;color:#59657d}.review-rating-guide{font-size:12px;line-height:1.65;color:#59657d;margin:1rem 0 .45rem;text-align:center}.review-completion-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.1rem 0 1.3rem}.review-completion-summary>div,.review-completion-summary>article{background:#f5f7fc;border:1px solid #e0e7f2;border-radius:11px;padding:.9rem;text-align:center;min-width:0}.review-completion-summary strong{display:block;font-size:25px;font-weight:700;line-height:1.3;color:#202b47}.review-completion-summary span,.review-completion-summary p{font-size:11px;line-height:1.55;color:#66718a;margin:.35rem 0 0}.result-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.15rem 0}.result-actions>a,.result-actions>button{min-height:48px;font-size:14px}.result-actions .secondary{font-size:13px}.result-next-step{margin:1.2rem 0;padding:1.2rem;border:1px solid #ccd7f3;border-radius:14px;background:#f2f5ff}.result-next-step h2{font-size:20px;line-height:1.35;font-weight:700;margin:0 0 .5rem}.result-next-step p{font-size:14px;line-height:1.7;color:#59657d;margin:.4rem 0}.result-next-step .actions{margin-top:.9rem}.result-details{border-top:1px solid #e1e7f1;margin:1.15rem 0 0;padding:.2rem 0}.result-details>summary{min-height:48px;padding:.65rem 0;font-size:13px;font-weight:650;line-height:1.6;color:#3041b5;cursor:pointer;list-style-position:inside}.result-details>p{font-size:13px;line-height:1.7;color:#59657d}.result-details[hidden],.review-card-meta[hidden],.review-rating-guide[hidden],.review-completion-summary[hidden],.result-next-step[hidden]{display:none!important}
@media(max-width:1100px) and (min-width:801px){.progress-support-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-gallery>a.challenge-gallery-card{min-height:170px}.challenge-result-heading h2{font-size:21px}}
@media(max-width:800px){
 .challenge-board{padding:1.1rem;border-radius:16px}.challenge-context{font-size:11px;margin-bottom:.65rem}.challenge-context a{font-size:11px}.challenge-head h1{font-size:25px}.challenge-head p{font-size:13px}.challenge-head>.challenge-instructions{font-size:13px;padding:.75rem .8rem;margin:.8rem 0 .4rem}.challenge-head .challenge-methods{font-size:12px}.challenge-layout{grid-template-columns:minmax(0,1fr);gap:1.15rem;margin:1rem 0}.challenge-tray>h2,.challenge-targets>h2{font-size:13px}.challenge-piece{min-height:76px;padding:.8rem}.challenge-piece[aria-pressed=true],.challenge-piece[data-placed=true][aria-pressed=true]{padding:calc(.8rem - 1px)}.challenge-piece-copy strong{font-size:14px}.challenge-piece-copy .challenge-piece-state{font-size:12px}.challenge-target{min-height:92px;padding:.85rem}.challenge-target[data-state=correct],.challenge-target[data-state=correct]:disabled,.challenge-target[data-state=incorrect],.challenge-target[data-state=incorrect]:disabled,.challenge-target[data-drag-over=true]{padding:calc(.85rem - 1px)}.challenge-selected-label{font-size:11px}.challenge-selection-note{gap:.5rem;padding:.65rem}.challenge-selection-note button{font-size:11px;padding:.5rem .6rem}.challenge-actions{gap:.6rem}.challenge-actions button{min-height:48px}.challenge-feedback,.challenge-feedback[data-result=correct],.challenge-feedback[data-result=retry]{padding:1rem;border-radius:12px}.challenge-result-heading{gap:.7rem;margin-bottom:.5rem}.challenge-result-heading .challenge-celebration{flex-basis:66px;width:66px;height:76px;max-width:66px}.challenge-result-heading .challenge-celebration img{width:66px;height:76px}.challenge-result-heading h2{font-size:19px;line-height:1.35}.challenge-feedback>.challenge-feedback-copy{font-size:13px}.challenge-reward-panel{padding:.9rem}.challenge-reward-panel[data-new-reward=true][data-save-state=saved] :is(h3,.challenge-reward-xp){font-size:22px}.challenge-reward-panel[data-new-reward=false] :is(h3,.challenge-reward-xp){font-size:18px}.challenge-reward-panel p{font-size:12px}.challenge-new-badges li{font-size:11px}.challenge-recap-item strong{font-size:13px}.challenge-recap-item p{font-size:12px}.challenge-finish-actions a{font-size:13px}.challenge-links{padding:1.1rem}.challenge-links>h2{font-size:21px}.challenge-links>p{font-size:13px}.challenge-gallery-controls{gap:.45rem;margin-top:.85rem}.challenge-gallery-controls label{flex-basis:100%;font-size:12px}.challenge-gallery-controls select{width:100%;min-width:0;min-height:46px;font-size:14px}.challenge-gallery>a.challenge-gallery-card{min-height:156px;padding:1rem}.challenge-gallery-card>strong{font-size:16px}.challenge-gallery-card .challenge-stage-badge{font-size:10px}.challenge-gallery-card .challenge-type{font-size:12px}
 .progress-support-grid{grid-template-columns:minmax(0,1fr);gap:1rem;margin:1rem 0}.progress-support-grid>.daily-progress-card,.progress-support-grid>.challenge-practice-summary{padding:1.1rem;border-radius:14px}.journal-hero{grid-template-columns:76px minmax(0,1fr);gap:.9rem;padding:1.1rem;border-radius:16px}.journal-mascot{width:76px;height:86px;max-width:76px;max-height:86px}.journal-hero h2{font-size:21px}.journal-hero p{font-size:13px}.journal-hero .actions>a,.journal-hero .actions>button{min-height:46px;font-size:13px}.progress-overview>.panel{padding:1rem}.progress-overview .big-stat{font-size:29px}.progress-overview p{font-size:11px}.progress-support-grid .daily-progress-card h2,.progress-support-grid .challenge-practice-summary h2{font-size:18px}.daily-goal-count{font-size:20px}.daily-streak-stats strong{font-size:21px}.daily-milestones>.milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.milestone-heading h2{font-size:20px}.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.milestone-card{padding:1rem}.milestone-card h3{font-size:14px}.challenge-practice-badges>.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkpoint-history{padding:1.1rem}.checkpoint-history-row{align-items:flex-start}.checkpoint-history-row button{font-size:12px}.review-card-meta{font-size:10px;margin-bottom:1rem}.review-completion-summary{gap:.5rem}.review-completion-summary>div,.review-completion-summary>article{padding:.75rem .45rem}.review-completion-summary strong{font-size:23px}.review-completion-summary span,.review-completion-summary p{font-size:10px}.result-actions>*{flex:1 1 100%;min-height:48px}.result-next-step{padding:1rem}.result-next-step h2{font-size:19px}.result-next-step p{font-size:13px}.result-details>summary{font-size:12px}
}
@media(max-width:480px){.milestone-grid,.daily-milestones>.milestone-grid,.challenge-practice-badges>.milestone-grid{grid-template-columns:minmax(0,1fr)}.journal-hero{grid-template-columns:62px minmax(0,1fr);gap:.7rem}.journal-mascot{width:62px;height:74px;max-width:62px;max-height:74px}.journal-hero h2{font-size:19px}.daily-progress-head img{width:50px;height:56px}.challenge-result-heading h2{font-size:18px}.challenge-target>strong{font-size:13px}.challenge-selection-note button{max-width:116px;white-space:normal}.review-completion-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.challenge-gallery>a.challenge-gallery-card{transition:none}}
html[data-reduce-motion=true] .challenge-gallery>a.challenge-gallery-card{transition:none}
@media(forced-colors:active){.challenge-board,.challenge-head>.challenge-instructions,.challenge-attempt-label,.challenge-piece,.challenge-piece[data-placed=true],.challenge-piece[aria-pressed=true],.challenge-piece[data-placed=true][aria-pressed=true],.challenge-target,.challenge-target[data-state=filled],.challenge-feedback,.challenge-feedback[data-result=correct],.challenge-feedback[data-result=retry],.challenge-reward-panel,.challenge-reward-panel[data-new-reward=true][data-save-state=saved],.challenge-gallery>a.challenge-gallery-card,.progress-support-grid>.daily-progress-card,.progress-support-grid>.challenge-practice-summary,.journal-hero,.milestone-card,.checkpoint-history,.review-completion-summary>div,.review-completion-summary>article,.result-next-step{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}.challenge-reward-panel[data-new-reward=true][data-save-state=saved] :is(h3,p,.challenge-reward-xp),.challenge-result-heading h2,.review-card-meta,.review-rating-guide,.result-next-step p{color:CanvasText}.challenge-input-help>summary,.result-details>summary{color:LinkText}}
/* Placement and completion affordances share the studio activity language. */
.challenge-placement-progress{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin:.85rem 0 1rem;padding:.7rem .85rem;background:#f6f8fc;border:1px solid #e2e8f2;border-radius:10px}
.challenge-placement-progress>span{font-size:12px;font-weight:550;line-height:1.55;color:#59657d}
.challenge-placement-progress>progress{display:block;appearance:none;flex:1 1 150px;min-width:100px;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;background:#e1e8f5;accent-color:#4355db}
.challenge-placement-progress>progress::-webkit-progress-bar{background:#e1e8f5;border-radius:8px}
.challenge-placement-progress>progress::-webkit-progress-value{background:#4355db;border-radius:8px}
.challenge-placement-progress>progress::-moz-progress-bar{background:#4355db;border-radius:8px}
.review-complete{max-width:760px;margin:0 auto;background:#fff;border:1px solid #dce3ef;border-radius:18px;padding:1.75rem}
.review-completion-heading{display:flex;align-items:center;gap:1.2rem;margin:0 0 1.1rem;text-align:left}
.review-completion-heading>img{width:110px;height:122px;flex:0 0 110px;object-fit:contain}
.review-completion-heading h2{font-size:26px;line-height:1.3;font-weight:700;letter-spacing:-.03em;margin:.25rem 0 .5rem}
.review-completion-heading .eyebrow{font-size:10px;color:#66718a;margin:0 0 .25rem}
.review-completion-heading p{font-size:14px;line-height:1.7;margin:.4rem 0;color:#59657d}
.result-secondary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .85rem;margin:.85rem 0 1.15rem}
.result-secondary-actions>a,.result-secondary-actions>button{min-height:44px;font-size:13px;background:#fff;color:#3041b5;border:1px solid #ccd7ed;border-radius:9px;box-shadow:none}
.completion-card[data-result]{padding:1.6rem;background:#fff;border:1px solid #dce3ef;border-radius:18px}
.completion-card[data-result]>.eyebrow{font-size:10px;color:#66718a}
.completion-card[data-result] h1{font-size:30px;font-weight:700;line-height:1.25;letter-spacing:-.035em}
.completion-card[data-result=revisit]{border-top:3px solid #8a3b24}
.completion-card[data-result=passed]{border-top:3px solid #21643c}
.completion-card[data-result] .result-next-step{margin:1.2rem 0 .8rem}
.completion-card[data-result] .result-details .mission-card{background:#f7f9fd;border:1px solid #e0e7f2;border-left:3px solid #4355db;border-radius:10px;padding:1rem}
.completion-card[data-result] .result-details .mission-card h2{font-size:18px}
.completion-card[data-result] .result-details .mission-card p{font-size:14px;line-height:1.7}
@media(max-width:800px){.challenge-placement-progress{gap:.5rem;padding:.65rem .75rem}.challenge-placement-progress>span{font-size:11px}.challenge-placement-progress>progress{flex-basis:100%}.review-complete{padding:1.2rem;border-radius:16px}.review-completion-heading{gap:.85rem}.review-completion-heading>img{width:78px;height:88px;flex-basis:78px}.review-completion-heading h2{font-size:22px}.review-completion-heading p{font-size:13px}.result-secondary-actions{gap:.55rem}.result-secondary-actions>a,.result-secondary-actions>button{flex:1 1 100%;font-size:13px;min-height:44px}.completion-card[data-result]{padding:1.2rem;border-radius:16px}.completion-card[data-result] h1{font-size:25px;line-height:1.3}.completion-card[data-result] .result-details .mission-card{padding:.9rem}.completion-card[data-result] .result-details .mission-card h2{font-size:17px}.completion-card[data-result] .result-details .mission-card p{font-size:13px}}
@media(max-width:360px){.review-completion-heading>img{width:64px;height:74px;flex-basis:64px}.review-completion-heading h2{font-size:20px}.review-complete{padding:1rem}.completion-card[data-result]{padding:1rem}.completion-card[data-result] h1{font-size:23px}}
@media(forced-colors:active){.challenge-placement-progress,.review-complete,.completion-card[data-result],.completion-card[data-result] .result-details .mission-card{background:Canvas;color:CanvasText;border-color:CanvasText}.challenge-placement-progress>progress{appearance:auto;accent-color:Highlight}.challenge-placement-progress>span,.review-completion-heading p{color:CanvasText}}
/* The coach already marks completion; avoid a second decorative trophy block. */
.completion-card>.summary-emblem,.review-complete>.summary-emblem{display:none}
/* Reading text stays comfortable; compactness belongs to metadata and spacing. */
.challenge-head p,.challenge-head>.challenge-instructions{font-size:15px;line-height:1.7}
.challenge-head .challenge-methods,.challenge-input-help>summary,.challenge-input-help p{font-size:14px;line-height:1.65}
.challenge-selected-label{font-size:14px;font-weight:550;line-height:1.55}
.challenge-piece-copy strong,.challenge-target>strong{font-size:14px;line-height:1.55}
.challenge-piece-copy .challenge-piece-state,.challenge-piece-copy .challenge-picture-hint{font-size:13px;line-height:1.55}
.challenge-recap-item p{font-size:14px;line-height:1.7}
.challenge-recap-item strong{font-size:14px;line-height:1.6}
.challenge-feedback>.challenge-feedback-copy{font-size:14px;line-height:1.7}
.challenge-reward-panel p,.challenge-reward-panel[data-new-reward=true][data-save-state=saved] p{font-size:14px;line-height:1.65}
.challenge-links>p,.challenge-gallery-empty{font-size:14px;line-height:1.7}
.progress-overview p{font-size:14px;line-height:1.7}
.daily-progress-card .daily-progress-note,.challenge-practice-summary p{font-size:14px;line-height:1.7}
.review-rating-guide{font-size:14px;line-height:1.65}
.result-details>p,.review-completion-heading p,.result-next-step p{font-size:14px;line-height:1.7}
@media(max-width:800px){
 .challenge-head p,.challenge-head>.challenge-instructions{font-size:15px;line-height:1.7}
 .challenge-head .challenge-methods,.challenge-input-help>summary,.challenge-input-help p,.challenge-selected-label{font-size:14px}
 .challenge-piece-copy strong,.challenge-target>strong,.challenge-recap-item strong,.challenge-recap-item p{font-size:14px}
 .challenge-reward-panel p,.challenge-reward-panel[data-new-reward=true][data-save-state=saved] p{font-size:14px}
 .progress-overview p,.review-rating-guide,.result-next-step p,.review-completion-heading p{font-size:14px}
}
.challenge-attempt-label{font-size:12px;line-height:1.5}
.challenge-placement-progress>span{font-size:14px;line-height:1.55}

/* Completed and in-progress journeys share the same primary action. */
.journal-hero .actions>a.button:not(.secondary){background:#4355db;color:#fff;border:1px solid #3041b5;box-shadow:0 3px 0 #3041b5}
.journal-hero .actions>a.button:not(.secondary):active{box-shadow:0 1px 0 #3041b5}
@media(forced-colors:active){.journal-hero .actions>a.button:not(.secondary){background:ButtonFace;color:ButtonText;border-color:ButtonText;box-shadow:none}}
/* Responsive audit: preserve reading space between the mobile and wide layouts. */
@media(min-width:801px){
 .sidebar{overflow-y:auto;overscroll-behavior-y:contain}
 .sidebar>div,.sidebar>nav{flex-shrink:0}
}
@media(min-width:801px) and (max-width:1150px){
 .learning-workspace,.journey-layout.learning-workspace{grid-template-columns:minmax(0,1fr)}
 .journey-aside.learning-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:1rem}
 .learning-sidebar>.chapter-reference{grid-column:1/-1}
 .chapter-heading-top{flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem}
 .chapter-heading-copy{flex:1 1 100%;max-width:none}
 .chapter-tools{margin-top:0}
 .chapter-heading-stats{margin-left:auto}
 .chapter-tools:has(.chapter-switcher[open]){flex-basis:100%;width:100%}
 .chapter-tools .chapter-switcher[open]{width:100%}
}
@media(max-width:600px){
 .chapter-heading-top:has(.chapter-switcher[open])>.chapter-tools{grid-column:1/-1;grid-row:3;width:100%}
}


/* Source: editorial-design.css */
/* LeagueLingo editorial system. Final presentation layer; state and responsive structure stay in the app. */
:root {
  --ed-canvas: #fafaf7;
  --ed-surface: #ffffff;
  --ed-ink: #18202c;
  --ed-muted: #58616e;
  --ed-line: #dce0e2;
  --ed-soft: #f1f2ef;
  --ed-blue: #4355db;
  --ed-blue-ink: #3041b5;
  --ed-blue-soft: #eef1fd;
  --ed-success: #edf5ef;
  --ed-success-ink: #21643c;
  --ed-revisit: #fbf0ea;
  --ed-revisit-ink: #8a3b24;
  --rr-canvas: var(--ed-canvas);
  --rr-ink: var(--ed-ink);
  --rr-muted: var(--ed-muted);
  --rr-line: var(--ed-line);
  --play-shell: var(--ed-canvas);
  --play-ink: var(--ed-ink);
  --play-muted: var(--ed-muted);
  --page: var(--ed-canvas);
  --ink: var(--ed-ink);
  --muted: var(--ed-muted);
}
body, .focused-shell { background: var(--ed-canvas); color: var(--ed-ink); }
h1, h2, h3 { font-weight: 700; letter-spacing: -.035em; color: var(--ed-ink); }
p { font-weight: 400; }
a { color: var(--ed-blue-ink); }
main { padding-top: 1.4rem; }
.page-heading { max-width: 820px; margin-bottom: 1.75rem; }
.page-heading h1 { font-size: 38px; line-height: 1.15; font-weight: 700; margin: .3rem 0 .7rem; }
.page-heading > p:not(.eyebrow) { font-size: 16px; line-height: 1.7; color: var(--ed-muted); }
.page-heading > .eyebrow, .editorial-section-heading > .eyebrow { color: var(--ed-muted); font-size: 11px; letter-spacing: .09em; }
.sidebar { background: #f6f6f2; border-right-color: var(--ed-line); }
.sidebar nav a { font-size: 14px; font-weight: 500; border-radius: 6px; color: var(--ed-muted); }
.sidebar nav a[aria-current=page] { background: #eaeceb; color: var(--ed-ink); box-shadow: inset 2px 0 0 var(--ed-blue); }
.sidebar nav a[aria-current=page] .nav-icon { color: var(--ed-blue); }
.brand { color: var(--ed-ink); font-weight: 700; }
.brand-subtitle, .sidebar-footer .save-note, .explorer-profile small { color: var(--ed-muted); }
.app-topbar { border-bottom: 1px solid var(--ed-line); padding-bottom: .8rem; margin-bottom: 1.4rem; }
.device-status { border: 0; border-radius: 4px; background: var(--ed-soft); color: var(--ed-muted); }
.settings-shortcut { border-radius: 6px; color: var(--ed-muted); }
button, .button { border-radius: 8px; min-height: 48px; font-weight: 600; box-shadow: none; }
button:active, .button:active { box-shadow: none; transform: none; }
button.secondary, .button.secondary { background: transparent; border-color: #c9cfd5; color: var(--ed-ink); box-shadow: none; }
button.secondary:hover, .button.secondary:hover { background: #f0f1f0; color: var(--ed-ink); }
button:disabled { background: #eceeec; border-color: #d5d9dc; color: #626b76; box-shadow: none; }
.panel { border-radius: 12px; border-color: var(--ed-line); background: var(--ed-surface); box-shadow: none; }
.chapter-heading, .chapter-passport { max-width: none; padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--ed-line); }
.chapter-heading h1, .chapter-passport h1 { font-size: 40px; line-height: 1.15; font-weight: 700; letter-spacing: -.045em; }
.chapter-heading p, .chapter-passport p { font-size: 15px; line-height: 1.7; color: var(--ed-muted); }
.chapter-heading .eyebrow, .chapter-passport .eyebrow { color: var(--ed-muted); font-size: 10px; letter-spacing: .1em; }
.chapter-heading-stats strong { color: var(--ed-ink); font-size: 25px; font-weight: 600; }
.chapter-mini-progress > span:not(.chapter-mini-checkpoint) { height: 3px; border-radius: 0; background: #dce0e4; }
.chapter-mini-progress > span[data-complete=true]:not(.chapter-mini-checkpoint) { background: var(--ed-blue); }
.chapter-mini-progress > .chapter-mini-checkpoint { border-radius: 4px; background: transparent; border-color: var(--ed-line); }
.chapter-tools .chapter-switcher { background: transparent; }
.chapter-tools .chapter-switcher[open] { border-color: var(--ed-line); border-radius: 8px; background: #fff; }
.chapter-choice { border-color: var(--ed-line); border-radius: 7px; background: #fafaf8; }
.chapter-choice.selected { border-color: var(--ed-blue); background: #f0f2fb; }
.learning-workspace, .journey-layout.learning-workspace { gap: 2rem; }
.next-lesson-card { border: 0; border-radius: 12px; min-height: 320px; background: #f0f1ed; box-shadow: none; }
.next-lesson-card .hero-copy { background: #f0f1ed; color: var(--ed-ink); padding: 1.9rem; }
.next-lesson-card .hero-copy h2 { color: var(--ed-ink); font-size: 29px; line-height: 1.22; font-weight: 700; max-width: 17ch; }
.next-lesson-card .hero-copy p { color: var(--ed-muted); font-size: 15px; line-height: 1.7; }
.next-lesson-card .hero-badge { border: 0; border-radius: 0; background: transparent; color: var(--ed-muted); padding: 0; font-size: 10px; }
.next-lesson-card .hero-meta { color: var(--ed-muted); font-size: 12px; }
.next-lesson-card .hero-meta svg { color: var(--ed-muted); }
.next-lesson-card .hero-copy .actions > button:not(.secondary), .next-lesson-card .hero-copy .actions > a.button:not(.secondary) { background: var(--ed-blue); color: #fff; border-color: var(--ed-blue); box-shadow: none; border-radius: 8px; }
.next-lesson-card .hero-copy .actions > button:not(.secondary):hover, .next-lesson-card .hero-copy .actions > a.button:not(.secondary):hover { background: var(--ed-blue-ink); color: #fff; }
.next-lesson-card .hero-copy .actions > button.secondary, .next-lesson-card .hero-copy .actions > a.secondary { background: transparent; color: var(--ed-ink); border-color: #bfc7cd; box-shadow: none; }
.lesson-hero-art { background: #e7e9e7; }
.lesson-hero-art .league-hero img { object-position: 72% 45%; }
.lesson-hero-art .league-art-caption { background: #fffffff0; border: 0; color: var(--ed-ink); border-radius: 4px; }
.lesson-hero-art .inspect-art { border-radius: 5px; color: var(--ed-ink); box-shadow: none; }
.learning-main .unit-path { background: transparent; border: 0; border-radius: 0; padding: 0; }
.learning-main .path-heading { border-bottom-color: var(--ed-line); padding: .5rem 0 1rem; }
.learning-main .path-heading h2, .editorial-section-heading h2 { font-size: 21px; font-weight: 700; }
.learning-main .path-heading p { font-size: 14px; color: var(--ed-muted); }
.learning-main .trail-guide, .learning-main .coach-note { display: none; }
.learning-main .trail-step { border-bottom-color: var(--ed-line); padding: 1rem 0; gap: .6rem 1rem; }
.learning-main .trail-node, .learning-main .trail-step[data-state=current] .trail-node, .learning-main .trail-step[data-state=complete] .trail-node, .learning-main .trail-step[data-state=locked] .trail-node { border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ed-muted); }
.lesson-index { display: inline-block; color: var(--ed-muted); font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; }
.trail-step[data-state=current] .lesson-index { color: var(--ed-blue); }
.learning-main .trail-copy strong { font-size: 16px; font-weight: 600; line-height: 1.55; }
.learning-main .trail-copy p { font-size: 13px; color: var(--ed-muted); }
.learning-main .trail-action { background: transparent; border-color: #cbd0d5; color: var(--ed-ink); border-radius: 7px; font-size: 13px; }
.learning-main .trail-step[data-state=current] .trail-action { background: var(--ed-blue); border-color: var(--ed-blue); color: #fff; }
.learning-main .trail-practice-link { font-size: 13px; }
.learning-sidebar { gap: 1.5rem; }
.learning-sidebar > .daily-progress-card, .learning-sidebar > .chapter-card { padding: 0 0 1.2rem; border: 0; border-bottom: 1px solid var(--ed-line); border-radius: 0; background: transparent; }
.learning-sidebar .daily-progress-head img, .learning-sidebar .chapter-card > .card-symbol { display: none; }
.learning-sidebar .daily-progress-card h2, .learning-sidebar .chapter-card h2 { font-size: 17px; }
.learning-sidebar .daily-progress-card .actions a { background: transparent; border: 0; padding: .5rem 0; justify-content: flex-start; text-align: left; font-size: 13px; }
.learning-sidebar .chapter-reference { border: 0; border-bottom: 1px solid var(--ed-line); border-radius: 0; background: transparent; padding: 0; }
.activity { max-width: 780px; }
.activity .question-card, .activity .teach-card { border: 1px solid var(--ed-line); border-radius: 12px; box-shadow: none; padding: 1.7rem 1.9rem; }
.activity .question-card h1 { font-size: 28px; line-height: 1.32; font-weight: 700; }
.activity .teach-card h1 { font-size: 30px; line-height: 1.25; }
.activity .teach-card p { font-size: 16px; line-height: 1.75; }
.activity .question-card > .eyebrow, .activity-caption { color: var(--ed-muted); font-size: 11px; letter-spacing: .06em; }
.lesson-stage-strip > span { border-radius: 4px; font-weight: 500; }
.lesson-stage-strip > span[data-stage=current] { background: #eceff9; border-color: #d1d8ec; color: var(--ed-blue-ink); }
.question-card .choice { border-color: #d4dae0; border-radius: 8px; background: #fff; box-shadow: none; font-size: 16px; }
.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked) { border-color: var(--ed-blue); background: #f2f4fc; box-shadow: none; }
.option-index { border-radius: 4px; border-color: #d9dfe5; background: #f3f4f5; color: #626c78; font-weight: 500; }
.question-action-bar { border-top-color: var(--ed-line); }
.question-action-bar button { min-height: 48px; border-radius: 8px; }
.question-card .feedback, .question-card .feedback.wrong { background: #fff; border-radius: 8px; padding: 1.2rem; box-shadow: none; }
.question-card .feedback { border-color: #bfd8c7; border-left: 3px solid var(--ed-success-ink); }
.question-card .feedback.wrong { border-color: #e3bcad; border-left: 3px solid var(--ed-revisit-ink); }
.feedback-mascot { width: 64px; height: 72px; }
.feedback h2 { font-size: 19px; }
.feedback-explanation h3, .feedback-revisit h3 { font-size: 14px; }
.quiz-media, .lesson-recognition-strip, .league-examples { border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; padding: 1rem 0; }
.recognition-item, .league-icon-example, .quiz-media-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.recognition-caption, .league-examples figcaption { font-size: 14px; color: var(--ed-muted); }
.takeaway { border-radius: 0; border: 0; border-left: 2px solid var(--ed-blue); background: #f1f2f3; }
.review-context { background: transparent; border: 0; padding: .2rem 0 1rem; }
.flashcard { border: 1px solid var(--ed-line); border-radius: 12px; background: #fff; box-shadow: none; padding: 2rem; }
.flashcard .term { font-size: 31px; font-weight: 700; color: var(--ed-ink); }
.flashcard .definition { font-size: 18px; line-height: 1.75; }
.flashcard #card-answer > .actions > button[data-rating] { border-radius: 7px; background: #f4f5f5; border-color: #d4dbe1; color: var(--ed-ink); box-shadow: none; font-weight: 500; }
.review-card-meta { font-size: 12px; color: var(--ed-muted); }
.review-rating-guide { font-size: 14px; line-height: 1.7; }
.review-session-builder, .review-challenge-disclosure { border-top-color: var(--ed-line); }
.review-complete, .completion-card[data-result] { border-color: var(--ed-line); border-radius: 12px; box-shadow: none; padding: 1.75rem; }
.review-completion-summary > div, .review-completion-summary > article { border: 0; background: #f3f4f2; border-radius: 7px; }
.result-next-step { border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; padding: 1.25rem 0 .25rem; }
.result-next-step h2 { font-size: 22px; }
.result-secondary-actions > a, .result-secondary-actions > button { border-radius: 7px; background: transparent; color: var(--ed-ink); border-color: #ccd2d8; }
.journal-hero { border: 0; border-bottom: 1px solid var(--ed-line); border-radius: 0; background: transparent; box-shadow: none; padding: 0 0 1.5rem; grid-template-columns: minmax(0,1fr); }
.journal-hero > div:first-child:has(.journal-mascot), .journal-mascot { display: none; }
.journal-hero h2 { font-size: 27px; line-height: 1.25; }
.journal-hero p { font-size: 15px; line-height: 1.7; }
.journal-hero .actions > a.button:not(.secondary) { background: var(--ed-blue); color: #fff; border-color: var(--ed-blue); box-shadow: none; }
.journal-hero .actions > a.button:not(.secondary):active { box-shadow: none; }
.progress-overview, .progress-metrics { border: 0; border-top: 1px solid var(--ed-line); border-bottom: 1px solid var(--ed-line); border-radius: 0; background: transparent; }
.progress-overview > .panel { background: transparent; border: 0; border-radius: 0; padding: 1.4rem 1.5rem; }
.progress-overview > .panel + .panel { border-left: 1px solid var(--ed-line); }
.progress-overview .big-stat { font-size: 37px; font-weight: 600; }
.progress-overview p { font-size: 14px; line-height: 1.7; }.progress-overview p:not(.big-stat), .progress-metrics p:not(.big-stat) { color: var(--ed-muted); font-size: 14px !important; }
.progress-support-grid > .daily-progress-card, .progress-support-grid > .challenge-practice-summary { border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; padding: 1.2rem 0; }
.daily-progress-head > img { display: none; }
.daily-streak-stats > div { border: 0; border-radius: 6px; background: #f0f1ee; }
.daily-goal-meter { height: 5px; }
.milestone-heading h2 { font-size: 23px; }
.milestone-card, .challenge-practice-badges .milestone-card { border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; box-shadow: none; padding: 1.1rem 0; }
.milestone-card[data-earned=true], .milestone-card[data-earned=false] { background: transparent; border-color: var(--ed-line); }
.milestone-icon, .milestone-card[data-earned=true] .milestone-icon { width: 36px; height: 36px; border-radius: 6px; background: #efe9d8; color: #745b24; }
.milestone-card h3 { font-size: 16px; font-weight: 600; }
.milestone-card p { font-size: 14px; line-height: 1.7; }
.checkpoint-history { border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; padding: 1.3rem 0; }
.checkpoint-history h2 { font-size: 23px; }
.checkpoint-history-row strong { font-size: 15px; }
.checkpoint-history-row p { font-size: 14px; }
.challenge-board, .challenge-workspace { border: 1px solid var(--ed-line); border-radius: 12px; background: #fff; box-shadow: none; padding: 1.6rem; }
.challenge-head h1 { font-size: 30px; line-height: 1.25; }
.challenge-head p, .challenge-head > .challenge-instructions { font-size: 15px; line-height: 1.7; }
.challenge-head > .challenge-instructions { border-left: 2px solid var(--ed-blue); border-radius: 0; background: #f2f3f5; }
.challenge-stage-badge { border: 0; background: transparent; color: var(--ed-muted); padding-left: 0; font-size: 11px; }
.challenge-stage-badge[data-stage=discover], .challenge-stage-badge[data-stage=connect], .challenge-stage-badge[data-stage=apply] { background: transparent; color: var(--ed-muted); border: 0; }
.challenge-attempt-label { border: 0; border-radius: 0; background: transparent; color: var(--ed-muted); padding-left: 0; font-size: 12px; }
.challenge-placement-progress { border: 0; border-radius: 6px; background: #f3f4f2; }
.challenge-piece { border: 1px solid #d6dce2; border-radius: 8px; box-shadow: none; }
.challenge-piece[data-placed=true] { border-color: #d6dce2; background: #f3f4f5; box-shadow: none; }
.challenge-piece[aria-pressed=true], .challenge-piece[data-placed=true][aria-pressed=true] { background: #f1f3fb; border-color: var(--ed-blue); box-shadow: none; }
.challenge-drag-handle, [data-drag-handle] { background: #eef0f2; color: #66717d; border-radius: 6px; }
.challenge-target { background: #fafbfb; border-color: #c8d2dd; border-radius: 8px; }
.challenge-target[data-state=filled] { background: #f2f4fb; border-color: #a3b2d9; box-shadow: none; }
.challenge-selection-note { border-radius: 8px; background: #eef1fa; border-color: #b7c3e0; box-shadow: 0 4px 12px #18202c0c; }
.challenge-hints { border: 0; border-radius: 6px; background: #f3f4f2; }
.challenge-feedback, .challenge-feedback[data-result=correct], .challenge-feedback[data-result=retry] { border-radius: 8px; background: #fff; box-shadow: none; }
.challenge-result-heading h2 { font-size: 24px; line-height: 1.3; }
.challenge-reward-panel { border-radius: 7px; }
.challenge-reward-panel[data-new-reward=true][data-save-state=saved] { background: #f1f3fb; border-color: #c4cde5; box-shadow: none; }
.challenge-reward-panel[data-new-reward=true][data-save-state=saved] :is(h3,.challenge-reward-xp) { color: var(--ed-blue-ink); }
.challenge-reward-panel[data-new-reward=true][data-save-state=saved] p { color: var(--ed-muted); font-size: 14px; }
.challenge-links { background: transparent; border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; padding: 1.5rem 0; }
.challenge-links > h2 { font-size: 25px; }
.challenge-gallery > a.challenge-gallery-card { background: #fff; border: 1px solid var(--ed-line); border-radius: 8px; box-shadow: none; }
.challenge-gallery-card > strong { font-size: 18px; font-weight: 600; }
.challenge-gallery-card .challenge-stage-badge { font-size: 11px; padding-left: 0; background: transparent; }
.challenge-gallery-card > .challenge-gallery-status { background: #eef0f3; color: var(--ed-muted); border-radius: 4px; }
.challenge-gallery-card > .challenge-gallery-status[data-status=complete], .challenge-gallery-card > .challenge-gallery-status[data-status=progress] { background: #eceff9; color: var(--ed-blue-ink); }
.guide-entry { border: 0; border-bottom: 1px solid var(--ed-line); border-radius: 0; background: transparent; padding: 1.4rem 0; }
.guide-entry h2, .guide-entry h3 { font-size: 20px; font-weight: 600; }
.guide-entry p { font-size: 16px; line-height: 1.75; }
.guide-entry .term-icon { background: transparent; border: 0; color: var(--ed-muted); }
.guide-filters button { border-radius: 6px; background: transparent; border-color: #cbd2d9; }
.settings-stack > .panel { border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; padding: 1.5rem 0; }
.settings-stack h2 { font-size: 23px; }
.settings-stack p { font-size: 16px; line-height: 1.75; }
.daily-goal-option { border-radius: 7px; background: transparent; border-color: #cbd2d9; }
.review-session-controls select, select, input[type=search] { border-radius: 7px; background: #fff; border-color: #cbd2d9; }
.art-inspector, .modal { border-radius: 12px; background: #fff; }
.art-inspector-head { border-radius: 11px 11px 0 0; }
.art-inspector figure { background: #f3f4f1; }
.welcome-layout { border-radius: 12px; border-color: var(--ed-line); box-shadow: none; }
.welcome-copy h1 { font-size: 43px; line-height: 1.1; font-weight: 700; }
.welcome-guide { background: transparent; border: 0; border-left: 1px solid var(--ed-line); border-radius: 0; }
.riot-notice { border-color: var(--ed-line); color: var(--ed-muted); }
@media(max-width:1150px) and (min-width:801px) {
  .next-lesson-card .hero-copy { padding: 1.5rem; }
  .next-lesson-card .hero-copy h2 { font-size: 27px; }
  .next-lesson-card .hero-copy p { font-size: 15px; }
}
@media(max-width:800px) {
  main { padding-top: 1rem; }
  .page-heading h1 { font-size: 31px; }
  .chapter-heading h1, .chapter-passport h1 { font-size: 33px; }
  .chapter-heading p, .chapter-passport p { font-size: 15px; }
  .chapter-heading { margin-bottom: 1.2rem; padding-bottom: 1rem; }
  .next-lesson-card { border-radius: 10px; }
  .next-lesson-card .hero-copy { padding: 1.4rem; }
  .next-lesson-card .hero-copy h2 { font-size: 27px; max-width: 19ch; }
  .next-lesson-card .hero-copy p { font-size: 15px; }
  .learning-main .unit-path { padding: 0; border-radius: 0; }
  .learning-main .path-heading h2 { font-size: 21px; }
  .learning-main .trail-copy strong { font-size: 16px; }
  .learning-main .trail-action { font-size: 13px; }
  .learning-sidebar > .daily-progress-card, .learning-sidebar > .chapter-card { padding: 1.2rem 0; border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; }
  .activity .question-card, .activity .teach-card { border-radius: 10px; padding: 1.15rem; }
  .activity .question-card h1 { font-size: 25px; line-height: 1.35; }
  .activity .question-card.long-question h1 { font-size: 23px; }
  .activity .teach-card h1 { font-size: 27px; }
  .question-card .choice { font-size: 16px; }
  .question-card .feedback, .question-card .feedback.wrong { padding: 1rem; }
  .flashcard { padding: 1.5rem 1.15rem; border-radius: 10px; }
  .flashcard .term { font-size: 29px; }
  .flashcard .definition { font-size: 17px; }
  .review-complete, .completion-card[data-result] { padding: 1.25rem; border-radius: 10px; }
  .journal-hero { grid-template-columns: minmax(0,1fr); padding: 0 0 1.25rem; border-radius: 0; }
  .journal-hero h2 { font-size: 25px; }
  .progress-overview > .panel { padding: 1.2rem 1rem; }
  .progress-overview .big-stat { font-size: 34px; }
  .progress-overview p { font-size: 14px; }
  .progress-support-grid > .daily-progress-card, .progress-support-grid > .challenge-practice-summary { padding: 1.2rem 0; border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; }
  .challenge-board { padding: 1.2rem; border-radius: 10px; }
  .challenge-head h1 { font-size: 27px; }
  .challenge-head p, .challenge-head > .challenge-instructions { font-size: 15px; }
  .challenge-result-heading h2 { font-size: 22px; }
  .challenge-piece-copy strong, .challenge-target > strong, .challenge-selected-label, .challenge-recap-item strong, .challenge-recap-item p { font-size: 14px; }
  .challenge-links { padding: 1.3rem 0; border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; }
  .guide-entry { padding: 1.2rem 0; border-radius: 0; }
  .settings-stack > .panel { padding: 1.3rem 0; border-radius: 0; }
  .settings-stack h2 { font-size: 22px; }
  .welcome-copy h1 { font-size: 35px; }
  .bottom-nav { background: #fafaf7; border-top-color: var(--ed-line); box-shadow: none; }
  .bottom-nav a { border-radius: 5px; font-weight: 500; }
  .bottom-nav a[aria-current=page] { background: #e9eceb; color: var(--ed-ink); box-shadow: none; }
}
@media(max-width:360px) {
  .chapter-heading h1, .chapter-passport h1 { font-size: 30px; }
  .next-lesson-card .hero-copy { padding: 1.2rem; }
  .next-lesson-card .hero-copy h2 { font-size: 25px; }
  .activity .question-card, .activity .teach-card { padding: 1rem; }
  .activity .question-card h1 { font-size: 24px; }
  .challenge-board { padding: 1rem; }
  .challenge-head h1 { font-size: 25px; }
  .welcome-copy h1 { font-size: 32px; }
}
@media(forced-colors:active) {
  body, .sidebar, .next-lesson-card, .next-lesson-card .hero-copy, .learning-sidebar > .daily-progress-card, .learning-sidebar > .chapter-card, .journal-hero, .progress-overview, .progress-support-grid > .daily-progress-card, .progress-support-grid > .challenge-practice-summary, .challenge-board, .guide-entry, .settings-stack > .panel { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
  .next-lesson-card .hero-copy h2, .next-lesson-card .hero-copy p, .next-lesson-card .hero-meta, .chapter-heading p { color: CanvasText; }
  .next-lesson-card .hero-copy .actions > button:not(.secondary), .next-lesson-card .hero-copy .actions > a.button:not(.secondary), .journal-hero .actions > a.button:not(.secondary) { background: ButtonFace; color: ButtonText; border-color: ButtonText; box-shadow: none; }
  .sidebar nav a[aria-current=page], .bottom-nav a[aria-current=page] { color: Highlight; outline: 1px solid Highlight; background: Canvas; }
}
/* Renderer hooks: a chapter passport, reference-led flashcards and one milestone ledger. */
.sidebar-learning-record { display: grid; gap: .3rem; margin-bottom: 1.2rem; }
.sidebar-learning-record > span { font-size: 11px; color: var(--ed-muted); }
.sidebar-learning-record strong { font-size: 25px; font-weight: 600; color: var(--ed-ink); }
.sidebar-learning-record strong small { font-size: 11px; font-weight: 400; color: var(--ed-muted); }
.sidebar-learning-record a { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; font-size: 12px; }
.sidebar-learning-record a svg { width: 13px; height: 13px; }
.chapter-note, .chapter-learning-note { display: flex; align-items: flex-start; gap: .55rem; font-size: 14px; line-height: 1.7; color: var(--ed-muted); padding: .7rem 0; }.chapter-learning-note > svg { width: 15px; height: 15px; flex: 0 0 15px; margin-top: .25rem; }
.lesson-state-mark { display: block; margin-top: .15rem; color: var(--ed-muted); }
.lesson-state-mark svg { width: 13px; height: 13px; }
.daily-goal-indicator { font-size: 25px; font-weight: 600; line-height: 1.3; color: var(--ed-ink); font-variant-numeric: tabular-nums; }.daily-goal-indicator span { font-size: 14px; font-weight: 400; color: var(--ed-muted); }
.flashcard-question { display: grid; grid-template-columns: minmax(0,1fr) 100px; gap: 1.4rem; align-items: center; text-align: left; margin: .5rem 0 1.4rem; }
.flashcard-prompt { font-size: 16px; line-height: 1.75; margin: .6rem 0 0; color: var(--ed-ink); }
.flashcard-term-visual { margin: 0; text-align: center; }
.flashcard-term-visual .league-image-wrap { width: 64px; height: 64px; margin: 0 auto .5rem; border: 1px solid var(--ed-line); border-radius: 8px; overflow: hidden; }
.flashcard-term-visual img { width: 100%; height: 100%; object-fit: contain; }
.flashcard-term-visual figcaption { font-size: 14px; line-height: 1.5; color: var(--ed-muted); }
.editorial-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.editorial-section-heading > p { font-size: 13px; color: var(--ed-muted); }
.chapter-ledger-list { list-style: none; padding: 0; margin: 1rem 0; }
.chapter-ledger-row { display: grid; grid-template-columns: 28px 48px minmax(0,1fr) auto; align-items: center; gap: 1rem; }
.chapter-ledger-index { font-size: 13px; color: var(--ed-muted); font-variant-numeric: tabular-nums; }
.chapter-ledger-art .lesson-visual-thumb, .chapter-ledger-art .league-image-wrap { width: 48px; height: 48px; min-width: 48px; min-height: 48px; flex-basis: 48px; border-radius: 7px; }
.chapter-ledger-copy { min-width: 0; }.chapter-ledger-copy h3 { font-size: 19px; margin: 0 0 .35rem; }
.chapter-ledger-status { display: flex; align-items: flex-start; gap: .4rem; font-size: 14px; line-height: 1.6; }.chapter-ledger-status svg { width: 14px; height: 14px; flex: 0 0 14px; margin-top: .25rem; }
.chapter-ledger-progress { display: flex; gap: 4px; max-width: 135px; margin: .6rem 0; }.chapter-ledger-progress > span { width: 40px; height: 3px; background: #dce0e4; }.chapter-ledger-progress > span[data-complete=true] { background: var(--ed-blue); }
.chapter-ledger-row .chapter-ledger-count { font-size: 12px; color: var(--ed-muted); }.chapter-ledger-row > .button, .chapter-ledger-row > button { font-size: 13px; min-height: 44px; }
.editorial-welcome-art { grid-column: 1; grid-row: 1; justify-self: stretch; width: 100%; height: 100%; min-width: 0; min-height: 0; }.editorial-welcome-art > .league-hero { width: 100%; height: 100%; min-height: 0; }.welcome-scene { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) 120px; justify-content: stretch; align-items: stretch; min-width: 0; min-height: 560px; padding: 0; background: #f0f1ed; }.welcome-scene .welcome-coach-composition { grid-row: 2; justify-self: start; align-self: center; width: 112px; height: 120px; margin-left: 1rem; }.welcome-coach-composition:before, .welcome-scene .coach-shape { display: none; }.welcome-scene > .scene-caption { position: absolute; left: 135px; right: 1rem; bottom: 45px; font-size: 14px; font-weight: 500; line-height: 1.6; text-align: left; color: var(--ed-muted); margin: 0; }
@media(max-width:800px) { .chapter-ledger-row { grid-template-columns: 24px 42px minmax(0,1fr); gap: .7rem; }.chapter-ledger-row > .button, .chapter-ledger-row > button { grid-column: 3; justify-self: start; }.chapter-ledger-copy h3 { font-size: 18px; }.chapter-ledger-art .lesson-visual-thumb, .chapter-ledger-art .league-image-wrap { width: 42px; height: 42px; min-width: 42px; min-height: 42px; flex-basis: 42px; }.flashcard-question { grid-template-columns: minmax(0,1fr) 80px; gap: .9rem; }.flashcard-term-visual figcaption { font-size: 14px; }.welcome-scene { grid-template-rows: 240px 110px; min-height: 350px; }.welcome-scene .welcome-coach-composition { width: 100px; height: 110px; }.welcome-scene > .scene-caption { left: 120px; bottom: 40px; }.editorial-welcome-art > .league-hero:has(.inspect-art) { height: 240px; min-height: 240px; }.editorial-section-heading { align-items: flex-start; flex-wrap: wrap; } }
@media(max-width:600px) { .flashcard-question { grid-template-columns: minmax(0,1fr); }.flashcard-term-visual { display: flex; align-items: center; gap: .75rem; text-align: left; }.flashcard-term-visual .league-image-wrap { margin: 0; flex: 0 0 56px; width: 56px; height: 56px; }.chapter-ledger-row { grid-template-columns: 22px 36px minmax(0,1fr); gap: .6rem; }.chapter-ledger-copy h3 { font-size: 17px; } }
/* Final observed integration fixes: secondary action contrast and mobile onboarding order. */
#app a.button.secondary:not(.danger) { background: #fff; color: var(--ed-ink); border: 1px solid #c9cfd5; box-shadow: none; }
#app a.button.secondary:not(.danger):hover { background: #f1f2ef; color: var(--ed-ink); }
#app a.button.secondary.danger { background: #fff; color: var(--ed-revisit-ink); border-color: #c78d79; box-shadow: none; }
.welcome-layout > .welcome-scene { order: 0; }.welcome-layout > .welcome-copy { order: 1; }
.challenge-feedback[data-result=retry] .challenge-celebration > span { display: none; }
@media(max-width:800px) { .welcome-layout > .welcome-copy { order: 0; }.welcome-layout > .welcome-scene { order: 1; } }
@media(forced-colors:active) { #app a.button.secondary:not(.danger), #app a.button.secondary:not(.danger):hover, #app a.button.secondary.danger { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; } }
/* Editorial carry-through: the same presentation language in every activity state. */
.question-card .question-assumptions, .question-card .checkpoint-repeat {
  background: #f3f4f2; border: 0; border-left: 2px solid #aeb9cb;
  border-radius: 0; color: var(--ed-ink); font-size: 14px; line-height: 1.7;
}
.question-card .choice .option-text { color: var(--ed-ink); font-size: 16px; line-height: 1.6; }
.question-card .choice:not(.answer-correct):not(.answer-incorrect):has(input:checked) {
  background: #f1f3fb; border-color: var(--ed-blue); box-shadow: none;
}
.question-card .choice.answer-correct, .question-card .choice.answer-correct:has(input:checked) {
  background: var(--ed-success); color: var(--ed-ink); border-color: var(--ed-success-ink); box-shadow: none;
}
.question-card .choice.answer-incorrect, .question-card .choice.answer-incorrect:has(input:checked) {
  background: var(--ed-revisit); color: var(--ed-ink); border-color: var(--ed-revisit-ink); box-shadow: none;
}
.question-card .choice.answer-correct > .option-index, .question-card .choice.answer-correct:has(input:checked) > .option-index,
.question-card .choices.visual-choices .choice.answer-correct > .option-index,
.question-card .choices.visual-choices .choice.answer-correct:has(input:checked) > .option-index {
  background: #dceadf; color: var(--ed-success-ink); border-color: #a7c4b0;
}
.question-card .choice.answer-incorrect > .option-index, .question-card .choice.answer-incorrect:has(input:checked) > .option-index,
.question-card .choices.visual-choices .choice.answer-incorrect > .option-index,
.question-card .choices.visual-choices .choice.answer-incorrect:has(input:checked) > .option-index {
  background: #f3ddd2; color: var(--ed-revisit-ink); border-color: #d7aa96;
}
.question-card .feedback, .question-card .feedback.wrong { background: #fff; box-shadow: none; }
.question-card .feedback p, .question-card .feedback.wrong p {
  color: var(--ed-ink); font-size: 15px !important; line-height: 1.75;
}
.feedback-explanation, .feedback-revisit { border-top-color: var(--ed-line); }
.feedback-explanation h3, .feedback-revisit h3 { color: var(--ed-ink); font-size: 14px; font-weight: 600; }
.question-action-bar .question-selection-status, .question-card .keyboard-hint { color: var(--ed-muted); }
.flashcard, .review-complete, .empty-state:not(.review-complete) {
  background: #fff; border: 1px solid var(--ed-line); border-radius: 12px; box-shadow: none;
}
.empty-state:not(.review-complete) { padding: 1.75rem; max-width: 780px; }
.empty-state:not(.review-complete) > img { display: block; width: 96px; height: 108px; object-fit: contain; margin: 0 0 1.1rem; }
.empty-state:not(.review-complete) h2 { font-size: 25px; line-height: 1.3; font-weight: 700; }
.empty-state:not(.review-complete) p { font-size: 16px; line-height: 1.75; color: var(--ed-muted); }
.empty-state + .challenge-links { margin-top: 1.6rem; }
.flashcard .flashcard-prompt { font-size: 16px; line-height: 1.75; color: var(--ed-muted); }
.flashcard .definition { color: var(--ed-ink); font-size: 18px; line-height: 1.75; }
.flashcard #card-answer { border-top-color: var(--ed-line); }
.flashcard #card-answer > .actions > button[data-rating] {
  background: #f3f4f3; color: var(--ed-ink); border: 1px solid #cfd5db;
  border-radius: 7px; font-weight: 500; box-shadow: none;
}
.flashcard #card-answer > .actions > button[data-rating]:hover { background: #eceff7; border-color: #9baedc; }
.flashcard #card-answer > .actions > button[data-rating] kbd {
  background: #fff; color: var(--ed-muted); border-color: #d5dbe2; border-radius: 3px;
}
.review-completion-summary > div, .review-completion-summary > article { background: #f2f3f0; border: 0; border-radius: 6px; }
.review-completion-summary strong { color: var(--ed-ink); font-weight: 600; }
.review-completion-summary span, .review-rating-summary-label { color: var(--ed-muted); font-size: 12px; line-height: 1.6; }
.review-rating-guide, .review-completion-heading p, .result-next-step p { color: var(--ed-muted); font-size: 14px; line-height: 1.7; }
.review-complete .result-actions, .completion-card .result-actions { gap: .7rem; }
.challenge-piece { background: #fff; color: var(--ed-ink); border-color: #cfd6dd; box-shadow: none; }
.challenge-piece:hover { background: #f6f7f5; }
.challenge-piece[data-placed=true] { background: #f1f2f3; color: var(--ed-muted); border-color: #cfd6dd; box-shadow: none; }
.challenge-piece[aria-pressed=true], .challenge-piece[data-placed=true][aria-pressed=true] {
  background: #f0f2fa; color: var(--ed-ink); border-color: var(--ed-blue); box-shadow: none;
}
.challenge-piece-copy strong, .challenge-target > strong { color: var(--ed-ink); font-size: 14px; line-height: 1.6; }
.challenge-piece-copy .challenge-piece-state { color: var(--ed-muted); font-size: 13px; line-height: 1.6; }
.challenge-piece[aria-pressed=true] .challenge-drag-handle { background: #e2e8f8; color: var(--ed-blue-ink); }
.challenge-target[data-state=empty] { background: #fafbf9; border-color: #bfc9d5; }
.challenge-target[data-state=empty] .challenge-placed { color: var(--ed-muted); font-size: 14px; }
.challenge-target[data-state=filled] { background: #f1f3fa; border-color: #a9b8d8; }
.challenge-target[data-state=filled] .challenge-placed-chip { background: #fff; color: var(--ed-blue-ink); border-color: #cad3e6; }
.challenge-target[data-state=correct], .challenge-target[data-state=correct]:disabled { background: var(--ed-success); border-color: var(--ed-success-ink); }
.challenge-target[data-state=incorrect], .challenge-target[data-state=incorrect]:disabled { background: var(--ed-revisit); border-color: var(--ed-revisit-ink); }
.challenge-target[data-state=correct] .challenge-placed-chip { background: #f8fbf8; color: var(--ed-success-ink); border-color: #b6d0bf; }
.challenge-target[data-state=incorrect] .challenge-placed-chip { background: #fffaf7; color: var(--ed-revisit-ink); border-color: #dfb9a8; }
.challenge-selection-note { background: #eff2f9; border-color: #b7c4df; border-radius: 8px; }
.challenge-selection-note .challenge-selected-label { color: var(--ed-ink); font-size: 14px; line-height: 1.6; }
.challenge-actions { margin: 1rem 0; border-top-color: var(--ed-line); }
.challenge-actions > button { min-height: 48px; border-radius: 8px; box-shadow: none; }
.challenge-feedback, .challenge-feedback[data-result=correct], .challenge-feedback[data-result=retry] { background: #fff; box-shadow: none; }
.challenge-feedback[data-result=correct] { border-color: #bfd5c6; border-top-color: var(--ed-success-ink); }
.challenge-feedback[data-result=retry] { border-color: #e0baaa; border-top-color: var(--ed-revisit-ink); }
.challenge-feedback .challenge-recap-item p { color: var(--ed-muted); font-size: 14px; line-height: 1.75; }
.challenge-feedback .challenge-recap-item strong { color: var(--ed-ink); font-size: 14px; line-height: 1.6; }
.challenge-reward-panel[data-new-reward=false] { background: #f2f3f1; border-color: #d9dfe2; border-radius: 7px; box-shadow: none; }
.challenge-reward-panel[data-new-reward=false] :is(h3,.challenge-reward-xp) { color: var(--ed-ink); font-weight: 600; }
.challenge-reward-panel[data-save-state=unsaved], .challenge-reward-panel[data-save-state=blocked] { background: #fbf0ea; border-color: #d8aa95; box-shadow: none; }
.challenge-reward-panel[data-save-state=unsaved] :is(h3,p,.challenge-reward-xp), .challenge-reward-panel[data-save-state=blocked] :is(h3,p,.challenge-reward-xp) { color: var(--ed-revisit-ink); }
.daily-progress-card, .daily-progress-card[data-goal-met=true] { color: var(--ed-ink); }
.daily-progress-card .daily-goal-count { color: var(--ed-ink); font-weight: 600; }
.daily-streak-stats strong { color: var(--ed-ink); font-weight: 600; }
.daily-progress-card .daily-progress-note, .challenge-practice-summary p { color: var(--ed-muted); font-size: 14px; line-height: 1.7; }
.chapter-ledger-copy h3 > a { color: var(--ed-ink); text-decoration: underline; text-decoration-color: #b9c2cd; text-underline-offset: 4px; }
.chapter-ledger-copy h3 > a:hover { color: var(--ed-blue-ink); text-decoration-color: var(--ed-blue-ink); }
.chapter-ledger-row[data-earned=false] .chapter-ledger-status { color: var(--ed-muted); }
.chapter-ledger-row[data-earned=true] .chapter-ledger-status { color: #3f586a; }
.daily-milestones .milestone-card p, .challenge-practice-badges .milestone-card p { color: var(--ed-muted); font-size: 14px; line-height: 1.7; }
@media(max-width:800px) {
  .empty-state:not(.review-complete) { padding: 1.25rem; border-radius: 10px; }
  .empty-state:not(.review-complete) h2 { font-size: 23px; }
  .empty-state:not(.review-complete) p { font-size: 16px; }
  .flashcard .definition { font-size: 17px; }
  .question-card .choice .option-text { font-size: 16px; }
  .challenge-target > strong, .challenge-selected-label, .challenge-recap-item strong, .challenge-recap-item p { font-size: 14px; }
}
@media(forced-colors:active) {
  .question-card .choice.answer-correct, .question-card .choice.answer-correct:has(input:checked), .question-card .choice.answer-incorrect, .question-card .choice.answer-incorrect:has(input:checked), .empty-state:not(.review-complete), .review-complete, .challenge-piece, .challenge-piece[data-placed=true], .challenge-piece[aria-pressed=true], .challenge-piece[data-placed=true][aria-pressed=true], .challenge-target[data-state=empty], .challenge-target[data-state=filled], .challenge-target[data-state=correct], .challenge-target[data-state=incorrect], .challenge-feedback { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
  .question-card .choice.answer-correct > .option-index, .question-card .choice.answer-correct:has(input:checked) > .option-index, .question-card .choices.visual-choices .choice.answer-correct > .option-index, .question-card .choices.visual-choices .choice.answer-correct:has(input:checked) > .option-index, .question-card .choice.answer-incorrect > .option-index, .question-card .choice.answer-incorrect:has(input:checked) > .option-index, .question-card .choices.visual-choices .choice.answer-incorrect > .option-index, .question-card .choices.visual-choices .choice.answer-incorrect:has(input:checked) > .option-index { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .flashcard .definition, .challenge-target[data-state=empty] .challenge-placed, .challenge-piece-copy strong, .challenge-target > strong, .chapter-ledger-row[data-earned=true] .chapter-ledger-status, .chapter-ledger-row[data-earned=false] .chapter-ledger-status { color: CanvasText; }
  .chapter-ledger-copy h3 > a { color: LinkText; text-decoration-color: LinkText; }
}
.review-rating-definitions { max-width: 62ch; margin: .55rem auto .8rem; color: var(--ed-muted); font-size: 14px; line-height: 1.7; text-align: center; }
.challenge-retry-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: .85rem 0 1.15rem; }
.challenge-retry-actions > button { min-height: 48px; border-radius: 8px; font-size: 14px; box-shadow: none; }
.challenge-retry-actions[hidden] { display: none !important; }
@media(max-width:800px) { .challenge-retry-actions > button { flex: 1 1 100%; } }
@media(forced-colors:active) { .review-rating-definitions { color: CanvasText; } }
.challenge-retry-actions:not(:has(button:not([hidden]))) { display: none; }
.challenge-finish-actions > button.secondary { min-height: 48px; background: #fff; color: var(--ed-ink); border: 1px solid #c9cfd5; border-radius: 8px; box-shadow: none; }
@media(forced-colors:active) { .challenge-finish-actions > button.secondary { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; } }
/* Mobile activity polish: functional type, clear actions and safe navigation clearance. */
@media(max-width:800px) {
  .flashcard #card-answer > .actions > button[data-rating] {
    min-width: 0; width: 100%; max-width: 100%; min-height: 76px;
    padding: .65rem .35rem; font-size: 14px; line-height: 1.4; white-space: normal;
    overflow-wrap: normal; scroll-margin-bottom: calc(104px + env(safe-area-inset-bottom));
  }
  .flashcard #card-answer > .actions {
    align-items: stretch; gap: 8px;
    scroll-margin-bottom: calc(104px + env(safe-area-inset-bottom));
  }
  .challenge-selection-note > button {
    flex: 0 0 auto; min-height: 48px; max-width: 124px;
    padding: .55rem .7rem; font-size: 14px; line-height: 1.4; white-space: normal;
  }
  .progress-support-grid .daily-progress-card .actions > a.button.secondary {
    min-height: 44px; padding: .65rem .85rem;
    justify-content: center; text-align: center; font-size: 14px; line-height: 1.5;
  }
  .challenge-retry-actions > button, .challenge-finish-actions > a,
  .challenge-finish-actions > button, .question-action-bar > button {
    scroll-margin-bottom: calc(104px + env(safe-area-inset-bottom));
  }
}
@media(max-width:360px) {
  .progress-overview, .progress-metrics { grid-template-columns: minmax(0,1fr); }
  .progress-overview > .panel { padding: 1.1rem 0; }
  .progress-overview > .panel + .panel { border-left: 0; border-top: 1px solid var(--ed-line); }
  .progress-overview p:not(.big-stat) { max-width: 45ch; font-size: 14px; line-height: 1.7; }
  .challenge-selection-note { gap: .55rem; }
  .challenge-selection-note > button { max-width: 116px; padding: .55rem .6rem; }
}
.review-rating-help { margin: 1rem 0 0; border-top: 1px solid var(--ed-line); text-align: left; }
.review-rating-help > summary { min-height: 44px; padding: .65rem 0; font-size: 14px; line-height: 1.6; font-weight: 500; color: var(--ed-blue-ink); cursor: pointer; list-style-position: inside; }
.review-rating-help .review-rating-definitions { margin: .35rem 0 .75rem; font-size: 14px; line-height: 1.7; text-align: left; }
.save-options-link, button.secondary.save-options-link { min-height: 44px; margin-top: .65rem; padding: .6rem .85rem; background: #fff; color: var(--ed-ink); border: 1px solid #c9cfd5; border-radius: 7px; box-shadow: none; font-size: 14px; line-height: 1.5; white-space: normal; }
.review-rating-help[hidden], .save-options-link[hidden] { display: none !important; }
@media(forced-colors:active) { .review-rating-help > summary { color: LinkText; }.save-options-link, button.secondary.save-options-link { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; } }
/* Final contrast correction: small supporting status labels need full text contrast. */
.lesson-stage-strip > span[data-stage=upcoming], .daily-streak-stats span { color: var(--ed-muted); }
@media(forced-colors:active) {
  .lesson-stage-strip > span[data-stage=upcoming], .daily-streak-stats span { color: CanvasText; }
}
/* Optional checkpoint explanations stay readable without restarting a lesson. */
.checkpoint-reading { border-top: 1px solid var(--ed-line); margin-top: 1rem; text-align: left; }
.checkpoint-reading > summary { min-height: 44px; padding: .75rem 0; cursor: pointer; font-size: 15px; line-height: 1.6; color: var(--ed-blue-ink); }
.checkpoint-reading article { padding: .5rem 0; }
.checkpoint-reading article + article { border-top: 1px solid var(--ed-line); }
.checkpoint-reading h3 { font-size: 16px; line-height: 1.5; }
.checkpoint-reading p { font-size: 15px; line-height: 1.75; }
.checkpoint-explanations { margin: 1.25rem 0; scroll-margin-top: 1rem; }
.checkpoint-explanations > h2 { font-size: 20px; line-height: 1.4; }
.checkpoint-explanations > p { font-size: 15px; line-height: 1.7; }
.flashcard, .review-complete { scroll-margin-top: 1rem; }
.review-context-actions { display: flex; flex-wrap: wrap; gap: .5rem; }


/* Source: advertising.css */
/* One separated browse placement, sized by available content width, never viewport width. */
.ad-placement { container-type: inline-size; margin: 2rem 0 1.5rem; padding-top: 1rem; border-top: 1px solid var(--ed-line,#d9dfe5); }
.ad-label { margin: 0 0 .6rem; font-size: 14px; line-height: 1.5; color: var(--ed-muted,#59636f); font-weight: 500; }
.ad-frame { position: relative; display: grid; place-items: center; width: 100%; max-width: 970px; height: 250px; margin-inline: auto; overflow: hidden; background: #f6f7f7; border: 0; box-shadow: inset 0 0 0 1px #e0e4e8; border-radius: 8px; }
.ad-placeholder { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: .4rem; padding: 1rem; color: #66717e; text-align: center; pointer-events: none; }
.ad-placeholder strong { font-size: 15px; font-weight: 500; }.ad-placeholder span { font-size: 13px; }.ad-placeholder[hidden] { display: none; }
.sponsor-creative { display: flex; align-items: center; justify-content: center; gap: 1rem; width: 100%; height: 100%; padding: .75rem 1.25rem; color: #1c2836; text-decoration: none; background: #fff; }
.sponsor-copy { display: grid; gap: .2rem; max-width: 65ch; }.sponsor-copy > span { font-size: 13px; line-height: 1.4; }.sponsor-copy > strong { font-size: 17px; line-height: 1.35; }
.sponsor-creative img { max-width: 100%; max-height: 100%; object-fit: contain; }.has-sponsor-image { position: relative; padding: .25rem; }.has-sponsor-image .sponsor-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ad-frame > ins { position: relative; z-index: 1; flex: none; margin: 0; padding: 0; border: 0; }
.ad-footer-links { margin: 1rem 0; font-size: 13px; }.ad-footer-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ed-muted,#59636f); }
.privacy-content { max-width: 760px; }.privacy-content h2 { margin-top: 1.75rem; font-size: 21px; }.privacy-content p { line-height: 1.75; }
@container (min-width:300px) { .ad-frame { height: 100px; } }
@container (min-width:728px) { .ad-frame { height: 90px; } }
@container (max-width:249px) { .ad-content { display: none; } }
@media (max-width:599px) { .sponsor-creative { gap: .5rem; padding: .65rem; }.sponsor-copy > strong { font-size: 15px; }.sponsor-copy > span { font-size: 12px; } }
@media print { .ad-placement { display:none; } }

@container (min-width:300px) and (max-width:727px) { .sponsor-body { display:none; } }


/* Source: accounts.css */
/* Account presentation. Uses the existing matte editorial system; no global overrides. */
.account-page { max-width: 820px; margin: 0 auto 2rem; color: var(--ed-ink,#18202c); }
.account-heading { margin: .25rem 0 1.5rem; max-width: 640px; }
.account-heading h1 { font-size: clamp(28px,4vw,38px); line-height: 1.15; margin: .35rem 0 .7rem; font-weight: 700; }
.account-heading>p:not(.eyebrow) { font-size: 16px; line-height: 1.65; color: var(--ed-muted,#58616e); }
.account-heading .eyebrow { font-size: 11px; letter-spacing: .09em; color: var(--ed-muted,#58616e); }
.account-panel { background: #fff; border: 1px solid var(--ed-line,#dce0e2); border-radius: 14px; padding: 28px; }
.account-panel>h2 { font-size: 23px; line-height: 1.25; margin: 0 0 .8rem; }
.account-panel p, .account-dialog p { font-size: 15px; line-height: 1.65; color: var(--ed-muted,#58616e); }
.account-panel strong, .account-dialog strong { color: var(--ed-ink,#18202c); }
.account-identity { overflow-wrap: anywhere; margin: 0 0 1.2rem; }
.account-identity strong { display: block; font-size: 17px; margin-top: .15rem; }
.account-form { display: grid; gap: 18px; max-width: 480px; margin: 0 auto; }
.account-field { display: grid; gap: 7px; min-width: 0; }
.account-field label { font-size: 15px; color: var(--ed-ink,#18202c); font-weight: 600; }
.account-field input { width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; padding: 11px 12px; font: inherit; font-size: 16px; line-height: 1.4; color: var(--ed-ink,#18202c); background: #fff; border: 1px solid #8b929b; border-radius: 8px; }
.account-field input[aria-invalid=true] { border: 2px solid #8a3b24; }
.account-page .account-field-error { color: #8a3b24; margin: 0; font-size: 14px; }
.account-page button, .account-dialog button, .account-page a.button { min-height: 48px; border-radius: 8px; padding: 11px 16px; font-size: 15px; line-height: 1.4; font-weight: 600; text-align: center; white-space: normal; overflow-wrap: anywhere; box-shadow: none; max-width: 100%; }
.account-page button:not(.secondary), .account-dialog button:not(.secondary), .account-page a.button:not(.secondary) { background: #4355db; border: 1px solid #4355db; color: #fff; }
.account-page button.secondary, .account-dialog button.secondary { color: #18202c; background: #fff; border: 1px solid #a5acb5; }
.account-page button:hover:not(:disabled), .account-dialog button:hover:not(:disabled) { filter: brightness(.96); transform: none; }
.account-page button:disabled, .account-dialog button:disabled, .account-field input:disabled { opacity: 1; color: #58616e; background: #eef0f2; border-color: #c4c9cf; cursor: wait; }
.account-page :is(button,input,a):focus-visible, .account-dialog :is(button,input):focus-visible { outline: 3px solid #3041b5; outline-offset: 3px; }
.account-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.4rem; align-items: center; }
.account-auth-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 12px; margin: 1rem auto; }
.account-page .account-auth-links button { padding-inline: 8px; color: #3041b5; border-color: transparent; background: transparent; font-size: 14px; }
.account-google { display: block; width: 100%; max-width: 480px; margin-inline: auto; }
.account-divider { position: relative; text-align: center; max-width: 480px; margin: 1.5rem auto; display: flex; gap: 12px; align-items: center; }
.account-divider::before, .account-divider::after { content: ''; height: 1px; flex: 1; background: #dce0e2; }
.account-page .account-form-note, .account-page .account-fine-print { font-size: 14px; line-height: 1.6; }
.account-form-note { margin: -3px 0 0; }
.account-fine-print { margin: 1.25rem 0 0; }
.account-browse-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: .7rem; color: #3041b5; font-size: 15px; }
.account-message { border-radius: 8px; padding: 13px 15px; background: #eef1fd; border: 1px solid #cbd2f6; margin: 0 0 1.3rem; overflow-wrap: anywhere; }
.account-message-error { background: #fbf0ea; border-color: #dab8a7; }
.account-message p { margin: .25rem 0 0; color: #6d321f; }
.account-message-error>strong { color: #8a3b24; }
.account-progress-summary { padding: 17px 18px; border: 1px solid #dce0e2; border-radius: 10px; min-width: 0; }
.account-progress-summary h3 { margin: 0 0 .9rem; font-size: 18px; }
.account-progress-summary dl { margin: 0; }
.account-progress-summary dl>div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: .45rem 0; }
.account-progress-summary dt { font-size: 14px; color: #58616e; }
.account-progress-summary dd { font-size: 18px; font-weight: 700; margin: 0; color: #18202c; }
.account-progress-summary>p { margin: .8rem 0 0; font-size: 14px; overflow-wrap: anywhere; }
.account-sync-status { display: flex; gap: 11px; padding: 15px 17px; border-radius: 9px; background: #f1f2ef; margin: 0 0 1.2rem; }
.account-sync-status strong { font-size: 15px; line-height: 1.5; }
.account-sync-status p { margin: .25rem 0 0; font-size: 14px; line-height: 1.6; }
.account-status-dot { width: 8px; height: 8px; flex: 0 0 8px; margin-top: 7px; border-radius: 50%; background: #58616e; }
.account-sync-status[data-sync=saved] { background: #edf5ef; }
.account-sync-status[data-sync=saved] .account-status-dot { background: #21643c; }
.account-sync-status:is([data-sync=error],[data-sync=conflict],[data-sync=offline],[data-sync=pending]) { background: #fbf0ea; }
.account-sync-status:is([data-sync=error],[data-sync=conflict],[data-sync=offline],[data-sync=pending]) .account-status-dot { background: #8a3b24; }
.account-privacy-link { margin: 1rem 0; font-size: 14px; }
.account-privacy-link a { display: inline-flex; min-height: 44px; align-items: center; }
.account-dialog { box-sizing: border-box; width: min(560px,calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; color: #18202c; background: #fff; border: 1px solid #dce0e2; border-radius: 14px; padding: 26px; }
.account-dialog h2 { font-size: 25px; line-height: 1.2; margin: 0 0 1rem; }
.account-dialog::backdrop { background: rgb(24 32 44 / .48); }
.account-page [hidden], .account-dialog [hidden] { display: none !important; }
@media(max-width:600px) {
  .account-heading { margin-bottom: 1.1rem; }
  .account-panel { padding: 20px 16px; }
  .account-actions { flex-direction: column; align-items: stretch; }
  .account-actions>* { width: 100%; box-sizing: border-box; }
  .account-auth-links { flex-direction: column; }
  .account-dialog { padding: 22px 18px; }
  .account-page :is(input,button,a), .account-dialog :is(input,button) { scroll-margin-block: 90px; }
}
@media(prefers-reduced-motion:reduce) { .account-page *, .account-dialog * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media(forced-colors:active) {
  .account-panel, .account-progress-summary, .account-message, .account-sync-status, .account-dialog { background: Canvas; color: CanvasText; border: 1px solid CanvasText; }
  .account-page button, .account-dialog button, .account-page a.button, .account-field input { forced-color-adjust: auto; color: ButtonText; background: ButtonFace; border: 1px solid ButtonText; }
  .account-status-dot { background: CanvasText !important; }
}


/* Familiar account access controls; these do not store credentials or learning data. */
.account-access-switch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 480px; margin: 0 auto 1.5rem; border-bottom: 1px solid #dce0e2; }
.account-page .account-access-switch button { background: transparent; color: #58616e; border: 0; border-radius: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; min-width: 0; min-height: 48px; }
.account-page .account-access-switch button[aria-pressed=true] { color: #3041b5; border-bottom-color: #4355db; background: #eef1fd; }
.account-input-wrap { min-width: 0; }
.account-password-wrap { position: relative; }
.account-password-wrap input { padding-right: 76px; }
.account-page button.account-password-toggle { position: absolute; top: 1px; right: 1px; min-height: 46px; height: calc(100% - 2px); min-width: 64px; max-width: 74px; padding: 8px; color: #3041b5; background: #fff; border: 0; border-left: 1px solid #dce0e2; border-radius: 0 7px 7px 0; font-size: 14px; box-shadow: none; }
@media(forced-colors:active) { .account-page .account-access-switch button { color: ButtonText; background: ButtonFace; border-bottom-color: CanvasText; } .account-page .account-access-switch button[aria-pressed=true] { color: HighlightText; background: Highlight; } .account-page button.account-password-toggle { color: ButtonText; background: ButtonFace; border: 1px solid ButtonText; } }

.account-page button.account-password-toggle:disabled { color: #58616e; background: #eef0f2; cursor: wait; }


/* Source: layout-system.css */
/* Shared alignment and spacing. Layout only: preserve activity semantics and colours. */
:root {
  --layout-space-1: 8px;
  --layout-space-2: 16px;
  --layout-space-3: 24px;
  --layout-space-4: 32px;
  --layout-gutter: clamp(24px, 3vw, 44px);
  --layout-inset: 24px;
  --layout-section-gap: 32px;
}
.brand-lockup {
  display: inline-grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; justify-content: flex-start; gap: 4px 10px;
  min-width: 0; min-height: 44px; max-width: 100%; color: var(--ed-ink); text-decoration: none;
  font-family: var(--rr-font, system-ui, sans-serif); letter-spacing: -.035em;
}
.brand-lockup .brand-symbol {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 32px; width: 32px; height: 32px; padding: 0; margin: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; grid-column: 1; grid-row: 1;
}
.brand-symbol > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-copy { display: contents; }
.brand-wordmark { display: block; font-size: 21px; font-weight: 700; line-height: 32px; white-space: nowrap; grid-column: 2; grid-row: 1; }
.brand-lockup .brand-tagline { display: block; grid-column: 2; grid-row: 2; margin: 0; font-size: 8px; line-height: 1.3; letter-spacing: .045em; color: var(--ed-muted); }
.brand-lockup-compact { column-gap: 8px; }
.brand-lockup-compact .brand-symbol { width: 32px; height: 32px; flex-basis: 32px; }
.brand-lockup-compact .brand-wordmark { font-size: 15px; }
.brand-lockup:focus-visible { outline: 3px solid var(--ed-blue-ink); outline-offset: 5px; border-radius: 4px; }
.shell > main, .focused-shell > main { padding-inline: var(--layout-gutter); }
.shell > main, .focused-shell > main, .learning-main, .learning-sidebar,
.progress-support-grid > *, .chapter-heading-copy, .trail-copy,
.challenge-layout > *, .challenge-gallery-card, .guide-entry > *, .account-page { min-width: 0; }
.app-topbar { gap: 12px 20px; align-items: center; }
.topbar-location { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-width: 0; }
.topbar-context { display: inline-flex; align-items: center; gap: 8px; line-height: 1.5; }
.topbar-tools { gap: 8px; align-items: center; }
.device-status { line-height: 1.5; }
.page-heading, .account-heading { margin-bottom: var(--layout-space-3); }
.page-heading > :first-child, .account-heading > :first-child { margin-top: 0; }
.page-heading > :last-child, .account-heading > :last-child { margin-bottom: 0; }
.account-panel { padding: var(--layout-inset); }
.account-field, .account-form { min-width: 0; }
.account-field input { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.account-auth-links, .account-actions { gap: 8px 12px; }
.account-auth-links > button { min-height: 44px; white-space: normal; }
.activity, .flashcard, .challenge-board, .review-complete, .completion-card,
.settings-stack, .progress-support-grid, .chapter-ledger { min-width: 0; }
.question-action-bar { gap: 12px 20px; }
.question-action-bar > button { flex-shrink: 0; }
.result-secondary-actions, .challenge-finish-actions, .challenge-retry-actions,
.review-context-actions { align-items: center; gap: 12px; }
.actions > a.button, .actions > button, .result-secondary-actions > *,
.challenge-finish-actions > *, .challenge-retry-actions > * { max-width: 100%; white-space: normal; text-align: center; }
.challenge-selected-label, .challenge-piece-copy, .challenge-placed-chip,
.chapter-ledger-copy, .flashcard-prompt { overflow-wrap: anywhere; }
.chapter-ledger-row { column-gap: 16px; }
.chapter-ledger-copy h3 { margin-top: 0; }
.guide-search, .guide-filters, .challenge-gallery-controls, .review-session-controls { gap: 12px; }
.art-inspector, dialog.modal { max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; box-sizing: border-box; }
.art-inspector-head { gap: 16px; align-items: center; }
.art-inspector-head h2 { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.art-inspector-head > button { flex-shrink: 0; }
.riot-notice { margin-top: var(--layout-space-4); }
@media(min-width:801px) and (max-width:1150px) {
  .learning-workspace, .journey-layout.learning-workspace { grid-template-columns: minmax(0,1fr); }
  .journey-aside.learning-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
  :root { --layout-gutter: 16px; --layout-inset: 20px; --layout-section-gap: 24px; }
  .shell > main, .focused-shell > main { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
  .focused-shell > main { padding-bottom: 24px; }
  .app-topbar { margin-bottom: 20px; }
  .topbar-location { flex: 1 1 auto; }
  .topbar-context { display: none; }
  .topbar-tools { gap: 6px; }
  .topbar-tools .device-status { font-size: 11px; max-width: 125px; }
  .page-heading, .account-heading { margin-bottom: 20px; }
  .chapter-ledger-row { column-gap: 12px; }
  .account-panel { padding: var(--layout-inset); }
  .account-actions { align-items: stretch; }
  .account-actions > button { flex: 1 1 160px; }
  .challenge-finish-actions, .challenge-retry-actions { align-items: stretch; }
  .challenge-finish-actions > *, .challenge-retry-actions > * { flex: 1 1 160px; }
  .art-inspector, dialog.modal { max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
}
@media(max-width:420px) {
  .app-topbar { gap: 8px; }
  .app-topbar > .topbar-location { flex-basis: 100%; }
  .app-topbar > .topbar-tools { display: grid; grid-template-columns: minmax(0,1fr) auto auto; width: 100%; justify-content: stretch; gap: 12px; }
  .topbar-tools .device-status { min-width: 0; max-width: none; white-space: normal; overflow-wrap: anywhere; }
  .brand-lockup-compact .brand-wordmark { font-size: 16px; }
  .account-access-switch { gap: 4px; }
}
@media(forced-colors:active) {
  .brand-lockup, .brand-lockup .brand-tagline { color: LinkText; }
  .brand-lockup:focus-visible { outline-color: Highlight; }
}
/* Native chapter pickers need explicit touch sizing in mobile WebKit. */
#review-chapter, #challenge-chapter {
  display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0;
  min-height: 44px; height: 44px; block-size: 44px; min-block-size: 44px;
  padding: 10px 36px 10px 12px; font: inherit; font-size: 16px; line-height: 1.5;
}

/* One progress-section boundary and a readable phone-width metric measure. */
.journal-hero:has(+ .progress-metrics) { border-bottom: 0; }
@media(max-width:480px) {
  .progress-overview.progress-metrics { grid-template-columns: minmax(0,1fr); }
  .progress-overview.progress-metrics > .panel { padding: 20px 0; }
  .progress-overview.progress-metrics > .panel + .panel { border-left: 0; border-top: 1px solid var(--ed-line); }
}
/* The checkpoint helper is a plain button, so it shares lesson-action sizing explicitly. */
.learning-main .trail-step[data-step="4"] > button[data-action="open-checkpoint"] {
  min-width: min(100%,160px); width: max-content; max-width: 100%; min-height: 48px;
  padding: 10px 14px; gap: 8px; font-size: 14px; line-height: 1.5; white-space: normal;
}
@media(min-width:801px) and (max-width:1150px) {
  .learning-main .trail-step[data-step="4"] > button[data-action="open-checkpoint"] { grid-column: 2; justify-self: start; }
}
/* Outlined sidebar actions need the same inset as their progress-page counterpart. */
.learning-sidebar .daily-progress-card .actions > a.button.secondary {
  min-height: 44px; padding: .65rem .85rem; line-height: 1.5;
}


/* Source: landing.css */
/* Public course homepage. Shared editorial palette; all rules scoped to landing. */
.landing-page { --landing-width: 1160px; color: var(--ed-ink); background: var(--ed-canvas); }
.landing-page *, .landing-page *::before, .landing-page *::after { box-sizing: border-box; }
.landing-header, .landing-hero, .landing-proof, .landing-section,
.landing-final, .landing-footer { width: min(100%, var(--landing-width)); margin-inline: auto; }
.landing-page { padding: 0 clamp(16px,4vw,48px); }
.landing-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 92px; border-bottom: 1px solid var(--ed-line); }
.landing-header .brand-lockup { min-height: 44px; }
.landing-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
.landing-nav > a:not(.button) { display: inline-flex; align-items: center; min-height: 44px; color: var(--ed-muted); font-size: 14px; text-decoration: none; }
.landing-nav > a:not(.button):hover { color: var(--ed-blue-ink); text-decoration: underline; }
.landing-hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: clamp(24px,5vw,64px); align-items: start; padding-block: 64px 48px; }
.landing-hero-copy, .landing-hero-visual { min-width: 0; }
.landing-hero-copy { padding-top: 20px; }
.landing-eyebrow { margin: 0 0 16px; font-size: 12px; line-height: 1.6; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ed-blue-ink); }
.landing-hero h1 { margin: 0 0 24px; max-width: 14ch; font-size: clamp(38px,4.7vw,60px); line-height: 1.08; font-weight: 700; letter-spacing: -.045em; }
.landing-lead { margin: 0 0 24px; max-width: 48ch; font-size: 18px; line-height: 1.7; color: var(--ed-muted); }
.landing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 24px 0 16px; }
.landing-page .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; max-width: 100%; padding: 12px 20px; border-radius: 8px; font-size: 15px; line-height: 1.5; font-weight: 600; text-decoration: none; white-space: normal; text-align: center; box-shadow: none; }
.landing-page a.button:not(.secondary) { background: var(--ed-blue); border: 1px solid var(--ed-blue); color: #fff; }
.landing-page a.button:not(.secondary):hover { background: var(--ed-blue-ink); }
.landing-page a.button.secondary { background: #fff; border: 1px solid #c9cfd5; color: var(--ed-ink); }
.landing-page a:focus-visible, .landing-page summary:focus-visible { outline: 3px solid var(--ed-blue-ink); outline-offset: 4px; }
.landing-hero-copy > small, .landing-note { display: block; color: var(--ed-muted); font-size: 13px; line-height: 1.7; }
.landing-hero-visual { position: relative; padding: 20px 0 0 20px; }
.landing-hero-visual::before { content: ''; position: absolute; inset: 0 20px 20px 0; background: #e9ecf8; border-radius: 24px; z-index: 0; }
.landing-hero-visual > * { position: relative; }
.landing-hero-visual .league-hero { display: block; width: 100%; height: 290px; margin: 0; border-radius: 14px 14px 0 0; overflow: hidden; background: #e7e9ef; }
.landing-hero-visual .league-hero .league-image-wrap { width: 100%; height: 100%; }
.landing-hero-visual .league-hero img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 70% 38%; }
.landing-hero-visual .league-art-caption { position: absolute; bottom: 12px; left: 12px; right: auto; display: block; width: fit-content; max-width: calc(100% - 24px); text-align: left; margin: 0; padding: 8px 10px; border-radius: 5px; background: #ffffffed; color: var(--ed-ink); font-size: 12px; line-height: 1.5; }
.landing-hero-visual .inspect-art { position: absolute; top: 12px; right: 12px; z-index: 2; min-height: 44px; background: #fff; color: var(--ed-ink); border: 1px solid #dce0e2; }
.landing-demo { border: 1px solid var(--ed-line); border-top: 0; padding: 24px; border-radius: 0 0 14px 14px; background: #fff; box-shadow: 0 14px 30px #18202c08; }
.landing-demo h2, .landing-demo h3 { margin: 0 0 12px; font-size: 19px; line-height: 1.4; }
.landing-demo p { margin: 8px 0; font-size: 14px; line-height: 1.7; color: var(--ed-muted); }
.landing-demo ol { display: flex; gap: 12px; justify-content: space-between; list-style: none; padding: 0; margin: 20px 0 0; }
.landing-demo li { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.landing-demo li > span:first-child { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ed-blue-soft); color: var(--ed-blue-ink); }
.landing-proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 24px 0 32px; border-bottom: 1px solid var(--ed-line); }
.landing-proof > * { min-width: 0; }
.landing-proof strong { display: block; font-size: 24px; line-height: 1.3; font-weight: 700; }
.landing-proof span, .landing-proof p { font-size: 14px; line-height: 1.6; color: var(--ed-muted); margin: 4px 0 0; }
.landing-section { padding-block: 56px; }
.landing-section-heading { max-width: 650px; margin-bottom: 28px; }
.landing-section-heading h2, .landing-final h2 { margin: 0 0 12px; font-size: 32px; line-height: 1.2; }
.landing-section-heading p, .landing-final p { margin: 0; color: var(--ed-muted); font-size: 16px; line-height: 1.75; }
.landing-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.landing-feature { min-width: 0; padding-top: 20px; border-top: 2px solid #d6dcef; }
.landing-feature > svg { width: 28px; height: 28px; color: var(--ed-blue); }
.landing-feature h3 { margin: 12px 0 8px; font-size: 19px; line-height: 1.4; }
.landing-feature p { margin: 0; color: var(--ed-muted); font-size: 15px; line-height: 1.75; }
.landing-curriculum { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px; }
.landing-chapter { display: flex; align-items: flex-start; gap: 16px; min-width: 0; padding: 24px 0; border-top: 1px solid var(--ed-line); }
.landing-chapter > span:first-child { flex: 0 0 28px; color: var(--ed-blue-ink); font-size: 14px; font-variant-numeric: tabular-nums; line-height: 1.7; }
.landing-chapter h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.4; }
.landing-chapter p { margin: 0; color: var(--ed-muted); font-size: 15px; line-height: 1.7; }
.landing-final { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px; margin-bottom: 48px; background: #eef1fd; border-radius: 14px; }
.landing-final .landing-actions { flex-shrink: 0; margin: 0; }
.landing-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; padding: 24px 0; border-top: 1px solid var(--ed-line); font-size: 13px; line-height: 1.7; color: var(--ed-muted); }
.landing-footer p { margin: 0; }
.landing-footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
.landing-footer a { display: inline-flex; align-items: center; min-height: 44px; }
@media(max-width:1000px) {
  .landing-hero { gap: 32px; }
  .landing-hero h1 { font-size: 43px; }
  .landing-hero-visual .league-hero { height: 240px; }
  .landing-demo { padding: 20px; }
}
@media(max-width:800px) {
  .landing-header { min-height: 76px; gap: 12px; }
  .landing-header .brand-wordmark { font-size: 20px; }
  .landing-nav { gap: 12px; }
  .landing-hero { grid-template-columns: minmax(0,1fr); padding-block: 36px; gap: 32px; }
  .landing-hero h1 { max-width: 16ch; font-size: clamp(36px,7vw,48px); }
  .landing-hero-copy { padding-top: 0; }
  .landing-lead { font-size: 17px; }
  .landing-hero-visual { max-width: 560px; width: 100%; }
  .landing-hero-visual .league-hero { height: 230px; }
  .landing-feature-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .landing-section { padding-block: 36px; }
  .landing-section-heading h2, .landing-final h2 { font-size: 27px; }
  .landing-final { flex-direction: column; align-items: flex-start; gap: 24px; padding: 24px; }
}
@media(max-width:480px) {
  .landing-nav > a:not(.button) { font-size: 13px; }
  .landing-header .brand-wordmark { font-size: 18px; }
  .landing-header .brand-lockup { gap: 7px; }
  .landing-header .landing-nav { gap: 8px; }
  .landing-header .landing-nav > .button { padding: 10px 12px; font-size: 14px; }
  .landing-actions { align-items: stretch; }
  .landing-actions > .button { flex: 1 1 160px; }
  .landing-proof { gap: 16px; }
  .landing-proof strong { font-size: 21px; }
  .landing-proof span, .landing-proof p { font-size: 13px; }
  .landing-curriculum { grid-template-columns: minmax(0,1fr); }
  .landing-demo ol { gap: 8px; }
  .landing-demo li { gap: 5px; font-size: 13px; }
  .landing-demo li > span:first-child { width: 24px; height: 24px; }
}
@media(forced-colors:active) {
  .landing-hero-visual::before { display: none; }
  .landing-page a.button:not(.secondary), .landing-page a.button.secondary { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  .landing-page a:focus-visible, .landing-page summary:focus-visible { outline-color: Highlight; }
  .landing-demo li > span:first-child, .landing-final { background: Canvas; color: CanvasText; }
}
/* Native course preview and public-page structure. */
main.landing-main { width: 100%; max-width: none; margin: 0; padding: 0; }
.landing-hero h1 > span { display: block; color: var(--ed-blue-ink); }
.landing-hero-visual .league-hero.landing-art { position: relative; height: 200px; }
.landing-hero-visual .landing-art > img { position: static; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 70% 34%; }
.landing-demo .landing-eyebrow { margin: 0 0 10px; font-size: 10px; line-height: 1.6; }
.landing-demo-choices { display: block; width: 100%; max-width: 100%; min-width: 0; min-inline-size: 0; margin: 16px 0; padding: 0; border: 0; }
.landing-demo-choices > legend { float: none; width: 100%; max-width: 100%; max-inline-size: 100%; white-space: normal; overflow-wrap: anywhere; padding: 0; margin: 0 0 10px; color: var(--ed-muted); font-size: 14px; line-height: 1.6; }
.landing-demo-choice { display: flex; align-items: center; gap: 12px; min-height: 48px; margin: 0; padding: 12px; border: 1px solid #cbd2da; border-radius: 7px; color: var(--ed-ink); font-size: 14px; font-weight: 400; line-height: 1.5; cursor: pointer; background: #fff; }
.landing-demo-choice + .landing-demo-choice { margin-top: 8px; }
.landing-demo-choice > input[type=radio] { position: static; opacity: 1; appearance: auto; width: 18px; height: 18px; min-height: 0; flex: 0 0 18px; margin: 0; padding: 0; accent-color: var(--ed-blue); }
.landing-demo-choice > span { min-width: 0; }
.landing-demo-choice:has(input:checked) { background: var(--ed-blue-soft); border-color: var(--ed-blue); }
.landing-demo-choice:focus-within { outline: 3px solid var(--ed-blue-ink); outline-offset: 3px; }
.landing-demo:has(.landing-demo-explanation[open]) .landing-demo-choice[data-answer=correct] { background: var(--ed-success); border-color: var(--ed-success-ink); color: var(--ed-success-ink); }
.landing-demo-explanation { margin: 12px 0 0; padding: 0; border: 0; border-top: 1px solid var(--ed-line); background: transparent; border-radius: 0; }
.landing-demo-explanation > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 0; color: var(--ed-blue-ink); font-size: 14px; font-weight: 600; line-height: 1.5; list-style: none; cursor: pointer; }
.landing-demo-explanation > summary::-webkit-details-marker { display: none; }
.landing-demo-explanation > summary svg { width: 16px; height: 16px; flex-shrink: 0; }
.landing-demo-explanation[open] > summary svg { transform: rotate(180deg); }
.landing-demo-explanation > a, .landing-text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--ed-blue-ink); font-size: 14px; line-height: 1.6; font-weight: 600; }
.landing-demo-explanation > a svg, .landing-text-link svg, .landing-chapter h3 svg { width: 16px; height: 16px; flex-shrink: 0; }
.landing-demo p.landing-demo-note { margin: 12px 0 0; font-size: 12px; line-height: 1.6; }
.landing-curriculum { list-style: none; margin: 0; padding: 0; }
.landing-chapter-art { flex: 0 0 48px; display: block; width: 48px; height: 48px; border-radius: 8px; object-fit: cover; background: #e9ecf8; }
.landing-chapter > div { min-width: 0; }
.landing-chapter h3 > a { color: var(--ed-ink); text-decoration: none; }
.landing-chapter h3 > a:hover { color: var(--ed-blue-ink); text-decoration: underline; }
.landing-chapter h3 svg { vertical-align: middle; margin-left: 3px; }
.landing-faq-list { max-width: 800px; }
.landing-faq-list > details { padding: 0; margin: 0; border: 0; border-top: 1px solid var(--ed-line); border-radius: 0; background: transparent; }
.landing-faq-list > details:last-child { border-bottom: 1px solid var(--ed-line); }
.landing-faq-list summary { min-height: 56px; padding: 16px 0; color: var(--ed-ink); font-size: 16px; font-weight: 600; line-height: 1.5; cursor: pointer; list-style-position: inside; }
.landing-faq-list p { margin: 0 0 20px; color: var(--ed-muted); font-size: 15px; line-height: 1.75; }
.landing-riot { flex: 1 1 100%; padding-top: 16px; border-top: 1px solid var(--ed-line); }
.landing-riot p { font-size: 12px; line-height: 1.75; }
.landing-riot a { display: inline; min-height: 0; }
@media(max-width:800px) {
  .landing-hero-visual .league-hero.landing-art { height: 160px; }
}
@media(max-width:480px) {
  .landing-header { flex-wrap: wrap; padding-block: 12px; gap: 4px; }
  .landing-header > .landing-nav { flex: 1 1 100%; justify-content: space-between; }
  .landing-hero { padding-top: 28px; }
  .landing-chapter { gap: 12px; }
  .landing-chapter > span:first-child { flex-basis: 20px; }
  .landing-chapter h3 { font-size: 17px; }
  .landing-demo { padding: 18px; }
}
@media(forced-colors:active) {
  .landing-demo-choice, .landing-demo-choice:has(input:checked), .landing-demo:has(.landing-demo-explanation[open]) .landing-demo-choice[data-answer=correct] { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .landing-demo-choice:focus-within { outline-color: Highlight; }
}


/* Source: experience.css */
/* Small, explicit sensory controls; no persistent device preferences. */
.experience-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 7px; min-width: 44px; min-height: 44px; padding: 8px 11px; border: 1px solid var(--ed-line); border-radius: 8px; background: transparent; color: var(--ed-muted); font: inherit; font-size: 12px; line-height: 1.4; white-space: nowrap; box-shadow: none; }
.experience-toggle svg { flex: 0 0 18px; width: 18px; height: 18px; }
.experience-toggle .sound-waves, .experience-toggle[aria-pressed=true] .sound-muted { display: none; }
.experience-toggle[aria-pressed=true] .sound-waves { display: block; }
.experience-toggle[aria-pressed=true] { color: var(--ed-blue-ink); background: var(--ed-blue-soft); border-color: #bbc4ee; }
.experience-toggle:focus-visible { outline: 3px solid var(--ed-blue-ink); outline-offset: 3px; }
.topbar-location > .experience-toggle { margin-left: 8px; }
.landing-demo-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 12px; }
.landing-demo .landing-demo-toolbar .landing-eyebrow { margin: 0; flex: 1 1 180px; }
.experience-settings .actions { flex-wrap: wrap; gap: 12px; }
.experience-settings .actions > button { min-height: 44px; max-width: 100%; white-space: normal; }
.experience-settings > p { max-width: 65ch; }
.experience-settings [data-sound-status] { min-height: 1.5em; }
@media(max-width:800px) {
  .topbar-location { justify-content: space-between; }
  .topbar-location > .experience-toggle { margin-left: auto; }
}
@media(max-width:420px) {
  .topbar-location { width: 100%; }
  .topbar-location > .experience-toggle { padding-inline: 9px; font-size: 12px; }
}
@media(forced-colors:active) {
  .experience-toggle, .experience-toggle[aria-pressed=true] { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  .experience-toggle:focus-visible { outline-color: Highlight; }
}

