/* Challenge reading scale and layout. Scoped to the exam so classroom rules cannot shrink it. */
body[data-mode="exam"]{font:18px/1.85 var(--body);overflow-wrap:anywhere}
body[data-mode="exam"] *,body[data-mode="exam"] *::before,body[data-mode="exam"] *::after{box-sizing:border-box}
body[data-mode="exam"] :is(.quest-shell,.quest-toolbar,.challenge,.challenge-title,.drag-workspace,.thinking-board,.module-bank,.exam-ticket,.exam-cover,.exam-rules,.treasure,.grand-workbench,.grand-islands article){min-width:0}
body[data-mode="exam"] :is(h1,h2,.challenge-title h3,.treasure-head h3){font-family:var(--display);font-weight:900;line-height:1.5;letter-spacing:.02em}
body[data-mode="exam"] .quest-toolbar h2{font-size:clamp(27px,2.6vw,36px)}
body[data-mode="exam"] .event-card h2{font-size:clamp(27px,2.8vw,36px)}
body[data-mode="exam"] .event-card .trigger{font:24px/1.85 var(--island)}
body[data-mode="exam"] .event-top{display:flex;gap:12px;flex-wrap:wrap}
body[data-mode="exam"] .event-card :is(.impact,p){font-size:18px;line-height:1.85}
body[data-mode="exam"] :is(.quest-shell,.exam-landing){width:100%;max-width:1440px;margin:32px auto;padding-inline:clamp(20px,3vw,40px)}
body[data-mode="exam"] .archipelago-hero{height:480px}
body[data-mode="exam"] .hero-copy{left:4vw;top:44px;width:32%;max-width:460px}
body[data-mode="exam"] .hero-copy h1{font-size:clamp(38px,3.7vw,56px);line-height:1.4!important;margin:16px 0}
body[data-mode="exam"] .hero-copy p{font-size:18px;line-height:1.85}
body[data-mode="exam"] .hero-copy small{font-size:14px;margin-top:18px}
body[data-mode="exam"] .hero-copy .eyebrow{font:18px/1.6 var(--pirate)}
body[data-mode="exam"] #island-world{left:36%;width:64%}
body[data-mode="exam"] .world-controls{gap:14px;flex-wrap:wrap;font-size:14px}
body[data-mode="exam"] .world-controls button{font:16px/1.6 var(--body);min-height:44px;padding:8px 14px}
body[data-mode="exam"] .world-label{font:16px/1.5 var(--body)}
body[data-mode="exam"] .exam-ticket{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
body[data-mode="exam"] :is(.exam-cover,.exam-rules){padding:clamp(24px,3vw,44px)}
body[data-mode="exam"] .exam-cover h1{font-size:clamp(34px,3.4vw,48px);line-height:1.5!important}
body[data-mode="exam"] :is(.exam-cover p,.exam-rules>p,.exam-rules ol,.exam-rules label){font-size:18px;line-height:1.9}
body[data-mode="exam"] .exam-rules .subtle{font-size:16px}
body[data-mode="exam"] :is(select,input:not([type=checkbox]),textarea){min-width:0;max-width:100%;font:18px/1.8 var(--body)}
body[data-mode="exam"] select{min-height:52px;white-space:nowrap;text-overflow:ellipsis}
body[data-mode="exam"] :is(button.primary,button.secondary){min-height:48px;font:18px/1.7 var(--body);padding:12px 18px;white-space:normal}
body[data-mode="exam"] .voyage{display:grid;grid-template-columns:auto repeat(5,minmax(0,1fr));overflow:visible}
body[data-mode="exam"] .voyage-label{font-size:16px;padding-inline:16px}
body[data-mode="exam"] .voyage button{font:20px/1.6 var(--island);padding:14px 10px;min-width:0;min-height:60px;overflow-wrap:anywhere}
body[data-mode="exam"] .voyage button b{font:18px/1.6 var(--pirate);display:block;margin:0}
body[data-mode="exam"] .challenge{padding:clamp(20px,2.5vw,32px)}
body[data-mode="exam"] .challenge-title{flex-wrap:wrap;gap:12px;margin-bottom:18px}
body[data-mode="exam"] .challenge-title>div{flex:1 1 520px;min-width:0}
body[data-mode="exam"] .challenge-title h3{font-size:clamp(25px,2.5vw,32px)}
body[data-mode="exam"] .challenge-title p{font-size:18px;line-height:1.9}
body[data-mode="exam"] .challenge-title>span{font:16px/1.7 var(--body)}
body[data-mode="exam"] :is(.adaptation-note,.board-note,.draft-warning,.evidence-locked){font-size:16px;line-height:1.85}
body[data-mode="exam"] :is(.exam-instructions,.exam-background,.exam-background dd,.reference,.slot-feedback,.submission p,.teaching-note,.treasure-recap,.treasure-head p:last-child,.pilot-draft p){font-size:18px;line-height:1.9}
body[data-mode="exam"] .exam-background dl{margin-inline:0}
body[data-mode="exam"] .exam-background dd{margin:6px 0 20px}
body[data-mode="exam"] .exam-background dt{font-size:19px}
body[data-mode="exam"] .exam-critical-note{font-size:17px;line-height:1.85}
body[data-mode="exam"] .drag-workspace{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:24px}
body[data-mode="exam"] .module-bank{position:static;max-height:none;overflow:visible;padding:22px 18px}
body[data-mode="exam"] .module-bank>h4{font-size:21px;line-height:1.7}
body[data-mode="exam"] .module-bank>h4 small{display:block;float:none;font-size:16px}
body[data-mode="exam"] .drag-card,body[data-mode="exam"] .drop-zone .drag-card{font:18px/1.85 var(--body);padding:16px 12px;min-height:104px;gap:12px;margin-bottom:20px}
body[data-mode="exam"] .module-caption,body[data-mode="exam"] .drop-zone .module-caption{font-size:13px;line-height:1.5}
body[data-mode="exam"] .grip small{font-size:12px;float:none}
body[data-mode="exam"] .zone-grid{grid-template-columns:minmax(0,1fr)}
body[data-mode="exam"] .drop-zone h4{font-size:22px;line-height:1.7}
body[data-mode="exam"] .drop-zone .place-here,body[data-mode="exam"] .module-bank>.place-here{font:16px/1.7 var(--body);padding:10px 14px;min-height:46px;white-space:normal}
body[data-mode="exam"] .drop-placeholder>span{font-size:18px}
body[data-mode="exam"] .drop-placeholder small{font-size:16px}
body[data-mode="exam"] .drag-lesson-copy>strong{font-size:20px;line-height:1.7}
body[data-mode="exam"] .drag-lesson-copy>span{font-size:16px;line-height:1.8;flex-wrap:wrap}
body[data-mode="exam"] .drag-lesson-copy>small{font-size:16px;line-height:1.85}
body[data-mode="exam"] .exam-concepts{padding:24px 20px}
body[data-mode="exam"] .exam-concepts-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}
body[data-mode="exam"] .exam-concepts-heading h4{font-size:23px}
body[data-mode="exam"] .exam-concepts-heading span{font-size:16px}
body[data-mode="exam"] .exam-concepts>p{font-size:18px;line-height:1.85}
body[data-mode="exam"] .exam-concept h5{font:700 22px/1.85 var(--body)}
body[data-mode="exam"] .exam-concept .concept-options button{font:18px/1.85 var(--body);padding:16px;min-height:52px;white-space:normal}
body[data-mode="exam"] .exam-concept .concept-result{font:18px/1.9 var(--body);padding:16px}
body[data-mode="exam"] :is(.exam-concepts>small,.treasure-recap small){font-size:16px;line-height:1.85}
body[data-mode="exam"] .workshop-actions{flex-wrap:wrap;align-items:stretch}
body[data-mode="exam"] .workshop-actions>span{font-size:16px;line-height:1.8;flex:1 1 240px}
body[data-mode="exam"] .workshop-actions button{flex:0 1 auto}
body[data-mode="exam"] .submission h3{font:900 28px/1.6 var(--display)}
body[data-mode="exam"] .submission h4{font-size:23px}
body[data-mode="exam"] .exam-error-list button{font-size:17px;line-height:1.85;max-width:100%}
body[data-mode="exam"] .treasure{padding:clamp(20px,2.6vw,36px)}
body[data-mode="exam"] .treasure-head{align-items:flex-start;flex-wrap:wrap;gap:18px}
body[data-mode="exam"] .treasure-head>div{flex:1 1 300px;min-width:0}
body[data-mode="exam"] .treasure-head h3{font-size:clamp(26px,2.6vw,34px)}
body[data-mode="exam"] .treasure-form{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-mode="exam"] .treasure-form label{font-size:18px}
body[data-mode="exam"] .treasure-actions button{flex:1 1 220px}
body[data-mode="exam"] .grand-workbench{padding:clamp(20px,2.5vw,34px);max-width:100%}
body[data-mode="exam"] .grand-islands{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-mode="exam"] .grand-workbench pre{white-space:pre-wrap;word-break:break-word;max-width:100%}
body[data-mode="exam"] :is(.grand-workbench,.treasure) :is(input,textarea,select){width:100%}
body[data-mode="exam"] .grand-workbench input[type=checkbox]{width:20px;min-width:20px;height:20px;vertical-align:middle;margin-right:8px}
body[data-mode="exam"] .grand-workbench input[type=checkbox]+span{min-width:0}
body[data-mode="exam"] .carry-banner{font-size:16px;line-height:1.7;white-space:normal;text-align:center;width:max-content;max-width:calc(100vw - 32px)}
body[data-mode="exam"] footer{font-size:15px;line-height:1.8;gap:12px;flex-wrap:wrap}
@media(max-width:1100px){
 body[data-mode="exam"] .drag-workspace{grid-template-columns:minmax(0,1fr)}
 body[data-mode="exam"] .module-bank{margin-bottom:8px}
 body[data-mode="exam"] .voyage{grid-template-columns:repeat(5,minmax(0,1fr))}
 body[data-mode="exam"] .voyage-label{grid-column:1/-1;padding:10px}
 body[data-mode="exam"] .exam-ticket{grid-template-columns:minmax(0,1fr)}
 body[data-mode="exam"] .grand-islands{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 body[data-mode="exam"] .topbar{padding:16px;gap:14px}
 body[data-mode="exam"] .topbar nav{gap:10px}
 body[data-mode="exam"] .archipelago-hero{height:auto;display:flex;flex-direction:column}
 body[data-mode="exam"] .hero-copy{position:relative;left:auto;top:auto;width:100%;max-width:none;padding:28px 22px 8px}
 body[data-mode="exam"] .hero-copy h1{font-size:34px;margin:10px 0}
 body[data-mode="exam"] .hero-copy h1 br{display:none}
 body[data-mode="exam"] .hero-copy small{margin-top:10px}
 body[data-mode="exam"] #island-world{position:relative;left:auto;top:auto;width:100%;height:280px;flex:none}
 body[data-mode="exam"] .world-controls{position:relative;left:auto;right:auto;bottom:auto;padding:12px 20px 20px}
 body[data-mode="exam"] :is(.quest-shell,.exam-landing){padding-inline:16px;margin-block:24px}
 body[data-mode="exam"] :is(.exam-cover,.exam-rules){padding:24px 20px}
 body[data-mode="exam"] .exam-cover h1{font-size:34px}
 body[data-mode="exam"] .voyage{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-mode="exam"] .voyage button{font-size:18px;padding:12px 8px}
 body[data-mode="exam"] .voyage button:last-child{grid-column:1/-1}
 body[data-mode="exam"] .challenge{padding:20px 14px}
 body[data-mode="exam"] .challenge-title h3{font-size:26px}
 body[data-mode="exam"] .drag-demo{display:none}
 body[data-mode="exam"] .drag-lesson{display:block;padding:18px 14px}
 body[data-mode="exam"] .drag-workspace{display:grid;gap:22px}
 body[data-mode="exam"] .module-bank{max-height:none;overflow:visible;padding:20px 14px}
 body[data-mode="exam"] .drag-card,body[data-mode="exam"] .drop-zone .drag-card{font-size:18px}
 body[data-mode="exam"] .exam-concepts{padding:22px 14px}
 body[data-mode="exam"] .exam-concept h5{font-size:21px}
 body[data-mode="exam"] .exam-concept .concept-options button{padding:14px 12px}
 body[data-mode="exam"] .exam-concept .concept-result{padding:14px 12px}
 body[data-mode="exam"] .exam-instructions{padding:16px 14px}
 body[data-mode="exam"] .workshop-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 body[data-mode="exam"] .workshop-actions>span{order:3}
 body[data-mode="exam"] .treasure{padding:20px 12px}
 body[data-mode="exam"] .grand-workbench{padding:20px 12px}
 body[data-mode="exam"] .grand-workbench>section{padding:20px 12px}
 body[data-mode="exam"] .grand-islands article{padding:20px 12px}
 body[data-mode="exam"] .treasure-form{grid-template-columns:minmax(0,1fr)}
 body[data-mode="exam"] .treasure-actions button{flex-basis:100%}
 body[data-mode="exam"] :is(.grand-workbench .studio-links,.grand-workbench .studio-links button){width:100%}
 body[data-mode="exam"] :is(.treasure-recap,.submission,.teaching-note){padding:20px 14px}
 body[data-mode="exam"] .progress-resume p{min-width:0;flex-basis:100%}
 body[data-mode="exam"] .progress-resume button{width:100%}
}
@media(max-width:360px){
 body[data-mode="exam"] :is(.quest-shell,.exam-landing){padding-inline:12px}
 body[data-mode="exam"] .hero-copy{padding-inline:18px}
 body[data-mode="exam"] .hero-copy h1{font-size:30px}
 body[data-mode="exam"] .brand-name{font-size:24px}
 body[data-mode="exam"] .brand-name small{font-size:12px}
 body[data-mode="exam"] .topbar nav{width:100%}
 body[data-mode="exam"] .topbar nav a{flex:1;justify-content:center}
 body[data-mode="exam"] .exam-concept .concept-options button{font-size:17px}
}
body[data-mode="exam"] .event-card p.trigger{font:24px/1.85 var(--island)}
