/* Reading space takes priority over fitting a whole page into one viewport. */
.wrap{max-width:1180px;padding:28px 24px 56px}
.intro-panel,.results-panel{padding:36px}
.intro-heading{text-align:center;margin-bottom:36px}
.intro-heading h2,.result-hero h2{font-size:36px;line-height:1.2}
.intro-heading .day-label,.result-hero .day-label{margin-bottom:12px}
.day-label{font-size:13px;line-height:1.5;letter-spacing:.07em}
.lesson-link{grid-template-columns:1fr 1fr;gap:40px;max-width:none;margin:0;align-items:center}
.lesson-picture{margin:0;min-width:0}
.lesson-picture .slide-pic{height:245px;max-height:none;max-width:none;width:100%;object-fit:contain;margin:0}
.lesson-picture figcaption{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;text-align:center;font-size:15px;line-height:1.5;color:#73604b}
.lesson-link .cap{padding:0;margin:0;background:none;text-align:left;font-size:19px;max-width:none}
.cap h3{font-size:26px;line-height:1.3}
.cap p{margin:18px 0 0;line-height:1.65}
.cap .lesson-point{border-left:4px solid #efb054;padding:8px 0 8px 20px;font-size:18px}
.intro-section,.lesson-words,.reflection,.again:not(:empty){margin-top:44px;padding-top:32px;border-top:1px solid #ebddc8}
.section-heading{margin-bottom:24px;text-align:left}
.section-heading h3{font-size:26px;line-height:1.3;margin:0}
.section-heading p{font-size:18px;line-height:1.6;margin:12px 0 0}
.section-heading .day-label{font-size:13px;margin:0 0 10px}
.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.step{display:block;padding:24px;text-align:left;background:#fff7e9;border-radius:20px}
.step .step-art{width:100%;height:105px;display:flex;justify-content:center;align-items:center;margin:0 0 22px}
.step-art img{width:105px;height:105px;object-fit:contain}
.step-art.pair{gap:6px}.step-art.pair img{width:78px;height:100px}
.step h4{font-size:20px;line-height:1.5;margin:0 0 14px}
.step .n{position:static;display:inline-grid;width:27px;height:27px;font-size:15px;margin:0 7px 0 0;vertical-align:1px}
.step p{font-size:18px;line-height:1.6;margin:0}
.loopkey{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin:0}
.lk{grid-column:span 2;padding:24px;background:#fffaf0;border-radius:18px;line-height:1.5}
.lk:nth-last-child(-n+2){grid-column:span 3}
.lk .loop-art{width:82px;height:82px;margin:0 auto 16px}
.lk b{font-size:20px;line-height:1.4;margin-bottom:12px}
.lk span{font-size:18px;line-height:1.6;max-width:28ch;margin:auto;color:#675643}
.intro-action{margin:36px 0 6px;text-align:center}
.result-hero{display:flex;align-items:center;justify-content:center;gap:32px;text-align:left;margin:0 0 32px}
.result-art{width:150px;height:175px;object-fit:contain;flex:none}
.result-hero .stars{justify-content:flex-start;margin:18px 0 10px}
.result-hero .final{font-size:40px;line-height:1.25;margin:0}
.result-hero .best{font-size:16px;line-height:1.5;margin-top:10px}
.tally{gap:20px;margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.tbx{padding:22px 14px;border-radius:18px}.tbx b{font-size:32px}.tbx span{display:block;font-size:17px;line-height:1.5;margin-top:6px}
.result-action{text-align:center;margin:30px 0 0}
.results-panel .words{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0}
.results-panel .word{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:22px;padding:26px;text-align:left;border-radius:20px;background:#fff7e9}
.word img{width:90px;height:110px;object-fit:contain}
.word h4,.reflection-grid h4{font-size:22px;line-height:1.3;margin:0 0 12px}
.word p{font-size:18px;line-height:1.65;margin:0}
.lesson-takeaway{display:flex;align-items:center;gap:24px;margin:40px 0 0;padding:26px;background:#fff2d9;border-radius:20px}
.lesson-takeaway img{width:86px;height:100px;object-fit:contain;flex:none}
.lesson-takeaway p{font-size:22px;line-height:1.55;margin:10px 0 0;font-weight:650}
.lesson-takeaway .day-label{font-size:12px;margin:0}
.reflection-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.reflection-grid article{background:#fff7e9;padding:26px;border-radius:20px}
.reflection-grid img{display:block;width:90px;height:95px;object-fit:contain;margin-bottom:22px}
.reflection-grid .note{font-size:18px;line-height:1.65;text-align:left;background:none;margin:0;padding:0}
.review-card{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:28px;background:#fff7e9;border-radius:20px;padding:28px;min-height:300px}
.review-art{display:flex;align-items:center;justify-content:center}
.review-art img{width:150px;height:170px;object-fit:contain}
.review-art .helper-art{width:140px;height:168px}
.review-copy h4{font-size:25px;line-height:1.3;margin:12px 0 0}
.review-verdict{display:inline-block;font-size:17px;font-weight:700;line-height:1.5;background:#f7e6c7;border-radius:10px;padding:8px 14px;margin:18px 0 0}
.review-why{font-size:19px;line-height:1.65;margin:18px 0 0;max-width:60ch}
.review-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}
.review-nav span{font-weight:700;font-size:17px;white-space:nowrap}
.btn.ghost{background:#fff;color:var(--amb-dark);border:2px solid #dfc49d;box-shadow:0 4px 0 #e8d4b5}
.hud{margin-bottom:24px}
@media(max-width:1000px){
 .intro-panel,.results-panel{padding:28px}.lesson-link{gap:28px}
 .step{padding:20px}.steps{gap:18px}.step h4{font-size:19px}
 .results-panel .word{grid-template-columns:75px minmax(0,1fr);padding:22px;gap:18px}.word img{width:75px;height:100px}
}
@media(max-width:760px){
 .wrap{padding:20px 12px 40px}.intro-panel,.results-panel{padding:24px 20px}
 .intro-heading{margin-bottom:28px}.intro-heading h2,.result-hero h2{font-size:30px}
 .lesson-link{grid-template-columns:1fr;gap:28px}.lesson-picture .slide-pic{height:220px}
 .lesson-picture figcaption{font-size:14px;gap:10px}.cap h3{font-size:24px}
 .lesson-link .cap{font-size:18px}.cap .lesson-point{padding-left:16px}
 .intro-section,.lesson-words,.reflection,.again:not(:empty){margin-top:36px;padding-top:28px}
 .section-heading h3{font-size:24px}.section-heading p{font-size:17px}
 .steps{grid-template-columns:1fr;gap:20px}.step{padding:24px}.step .step-art{height:95px;margin-bottom:18px}.step-art img{height:95px}
 .step h4{font-size:20px}.step p{font-size:18px}
 .loopkey{grid-template-columns:1fr;gap:18px}.lk,.lk:nth-last-child(-n+2){grid-column:auto;padding:24px}
 .lk .loop-art{height:75px;width:75px}.lk span{max-width:28ch}
 .result-hero{gap:16px;align-items:center;flex-wrap:wrap;justify-content:flex-start;margin-bottom:28px}.result-art{width:95px;height:110px}
 .result-hero .final{font-size:34px}.result-hero .stars{margin:12px 0}.rating-star{font-size:42px}
 .tally{gap:8px}.tbx{padding:16px 6px}.tbx b{font-size:27px}.tbx span{font-size:14px;line-height:1.4}
 .results-panel .words,.reflection-grid{grid-template-columns:1fr;gap:20px}
 .results-panel .word{grid-template-columns:70px minmax(0,1fr);padding:22px 18px;gap:18px}.word img{width:70px;height:92px}
 .word h4,.reflection-grid h4{font-size:21px}.word p,.reflection-grid .note{font-size:18px;line-height:1.6}
 .review-card{grid-template-columns:1fr;gap:18px;padding:24px;min-height:0}.review-art img{width:110px;height:125px}.review-art .helper-art{width:100px;height:120px}
 .review-copy h4{font-size:23px}.review-why{font-size:18px}.review-verdict{font-size:16px}
 .review-nav{gap:10px}.review-nav .btn{font-size:16px;padding:12px 14px}.review-nav span{font-size:15px}
 .lesson-takeaway{padding:22px;gap:16px;align-items:flex-start}.lesson-takeaway img{width:55px;height:75px}.lesson-takeaway p{font-size:19px}
}

/* The active round keeps its original two-column board, with more room to read. */
.fair{gap:24px}.booth{padding:20px}.judge{padding:26px}
.quote{font-size:19px;line-height:1.65;padding:22px;font-weight:500}
.quote .lab{margin-bottom:12px}.q{font-size:20px;line-height:1.5;margin:24px 0 18px}
.chips{gap:14px}.chip{font-size:18px;line-height:1.4;min-height:76px;padding:15px}
.card{padding:24px}.card h3{font-size:22px;margin-bottom:16px}
.crow{font-size:17px;line-height:1.45;grid-template-columns:34px 1fr auto;padding:9px 0;gap:10px}.crow .loop-art{width:34px;height:34px}.mk{font-size:13px}
.why{font-size:18px;line-height:1.65;margin-top:20px}.res{font-size:18px;line-height:1.55;margin:20px 0}.row{margin:20px 0 0}
.checklist{margin-top:18px;padding-top:12px}.checklist summary{font-size:17px;padding:10px 3px}.checklist-item{font-size:16px;line-height:1.5;padding:10px 0}
@media(max-width:760px){.fair{gap:20px}.booth{padding:20px}.quote{font-size:18px;padding:22px}.q{font-size:19px;margin:4px 0}.chip{font-size:17px;padding:12px;gap:8px}.card{padding:22px}.crow{font-size:16px}.res{margin:0}.judge .row{margin:8px 0}.review-nav .btn[disabled]{pointer-events:none}}
