header{padding:0 max(20px,calc((100vw - 1240px)/2));gap:20px}header nav{display:flex;gap:18px}header nav a{font-size:14px;font-weight:700}#identity{font-size:12px;white-space:nowrap}#identity button{font-size:12px;padding:7px 10px;margin-left:8px}#notice:not(:empty){background:#fff1d6;padding:12px 24px;text-align:center}main{max-width:1240px}.login{max-width:480px;margin:64px auto}.login h1{font-size:29px}.login label,form label{display:block;margin:16px 0;font-size:14px;font-weight:700}input,select{font:inherit;border:1px solid #c9d7cc;border-radius:9px;padding:12px;width:100%;margin-top:6px;background:white;color:#183e3a}.login button{width:100%;margin-top:16px}.login .mark-large{display:grid;place-items:center;width:60px;height:60px;background:#146650;border-radius:20px;color:#d8ff90;font-weight:900;font-size:24px}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.dashboard .hero{display:block}.dashboard h1{font-size:31px}.path-list{display:grid;gap:12px}.path-item{display:flex;align-items:center;gap:18px;background:white;border:1px solid var(--line);padding:20px;border-radius:16px}.path-item .number{width:45px;height:45px;background:#eef3e6;display:grid;place-items:center;border-radius:50%;font-weight:800}.path-item small{display:block;margin-top:5px}.path-item .status{margin-left:auto}.stat-card{background:#143e35;color:white;border-radius:20px;padding:24px}.stat-card h2{color:#d9fa9a;font-size:36px;margin:10px 0}.stat-card p,.stat-card small{color:#c9dcd4}.skill-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.skill-card{background:white;padding:20px;border:1px solid var(--line);border-radius:16px}.skill-card strong{display:block;margin-bottom:12px}.skill-card .dots{display:flex;gap:6px;margin:16px 0}.dots i{height:8px;background:#e7ece4;flex:1;border-radius:8px}.dots i.on{background:#398967}.skill-card small{display:block;margin:8px 0}.skill-card button{font-size:13px;padding:8px 12px}.workspace .code-wrap{height:320px}.lesson-intro{border:1px solid #dce7cd;background:#edf3e3;padding:16px 20px;border-radius:14px;margin-bottom:18px}.lesson-intro p{margin:4px 0}.lesson-intro strong{font-size:14px}.save-state{font-size:12px;color:#668071}.quiz{max-width:760px;margin:auto}.quiz pre{padding:24px;background:#153831;color:white;border-radius:14px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answers button{text-align:left;white-space:pre-wrap;font-family:monospace}.teacher-table{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:16px;margin-top:20px}table{border-collapse:collapse;width:100%;min-width:850px}th,td{padding:14px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}th{background:#eaf0e4}td small{display:block;margin-top:4px}td button{padding:6px 12px;font-size:13px}.teacher-tools{display:flex;gap:10px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-grid .card{min-width:0}.detail-grid pre{max-height:320px;overflow:auto}.check-note{color:#4a635a;font-size:13px}.account-menu{margin-top:22px}.empty{padding:30px;color:#617267}.error{color:#9e3d23}.steps{display:flex;gap:12px;font-size:13px;font-weight:700;margin-bottom:14px}.step{background:#e6efda;padding:6px 12px;border-radius:40px}button:disabled{transform:none}#work-note{min-height:70px}.table-head{display:flex;justify-content:space-between;align-items:center}.activity{font-size:13px;max-height:220px;overflow:auto}.activity li{padding:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{margin:6px 0}.wide{grid-column:1/-1}.profile{max-width:550px}.feedback details{margin-top:12px;background:white}.status-pill{padding:4px 8px;border-radius:12px;background:#e7f1df}.chapter-banner{display:flex;align-items:center;gap:20px;margin-bottom:22px}.chapter-banner b{font-size:40px;color:#7c9d57}.pending{color:#996219}@media(max-width:850px){.dashboard,.detail-grid{grid-template-columns:1fr}.skill-list{grid-template-columns:repeat(2,1fr)}header{height:auto;min-height:74px;flex-wrap:wrap;padding:14px;gap:12px}header nav{order:3;width:100%;justify-content:space-around}.brand{margin-right:auto}header nav a{font-size:13px}.form-grid{grid-template-columns:1fr}.answers{grid-template-columns:1fr}}@media(max-width:480px){.skill-list{grid-template-columns:1fr}.login{margin:24px auto}.path-item{padding:14px}.status{font-size:12px}}

.beginner-guide{padding:16px;background:#edf4e4;border-radius:14px;margin-bottom:18px}.beginner-guide h2{font-size:18px;margin:0 0 8px}.beginner-guide pre{padding:12px;background:#fff;border-radius:8px;white-space:pre-wrap}.beginner-guide details{margin-top:8px}

.quest-stars{display:flex;gap:12px;font-size:44px;line-height:1.3;margin:12px 0}.quest-stars .earned{color:#f6b51b;text-shadow:0 3px 0 #cc7c15}.quest-stars .empty{color:#dbe2d8}.victory{text-align:center;background:linear-gradient(135deg,#fff3b8,#e7f8e5);border:3px solid #e7bb40;border-radius:24px;padding:26px;margin:20px 0;overflow:hidden}.victory .quest-stars{justify-content:center;font-size:70px}.victory h2{font-size:30px;color:#266747}.victory .earned{animation:star-pop .65s cubic-bezier(.2,1.7,.5,1) both}.victory .earned:nth-child(2){animation-delay:.12s}.victory .earned:nth-child(3){animation-delay:.24s}.sparkles{font-size:32px;letter-spacing:18px;color:#d58c13;animation:star-pop .9s both}.practice-win{display:flex;align-items:center;gap:16px;font-size:24px}.practice-win span{font-size:52px;animation:star-pop .6s both}.answer-result{border:2px solid #e1c25d}.path-item:hover{transform:translateY(-2px);box-shadow:0 5px 0 #d8e6c7}.path-item .number{background:#fff0ab;color:#6f5314}.skill-card{border-top:5px solid #efc559}#sound{white-space:nowrap}.hero.welcome{background:linear-gradient(120deg,#fdf0b4,#dff1da)}@keyframes star-pop{from{transform:scale(.2) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.victory .earned,.sparkles,.practice-win span{animation:none}.path-item:hover{transform:none}}
/* 2.4: one action at a time, compact mission and progressive help. */
.mission-brief{background:#fff7d7;border:1px solid #e3c65d;border-radius:18px;padding:18px 24px;margin:12px 0 20px}.mission-brief p{margin:8px 0;line-height:1.8}.mission-brief .mission-goal{font-size:20px;font-weight:750;color:#204e3d}.mission-brief details{margin:12px 0 0;background:transparent;padding:0}.home-review{margin-top:20px}.map-phase{border:1px solid #dce5d6;border-radius:16px;background:#fff;margin:14px 0;padding:16px}.map-phase>summary{font-size:20px;font-weight:750;cursor:pointer}.map-phase>summary small{float:right;font-weight:400;font-size:14px}.map-phase .path-list{margin-top:16px}.map-phase .path-item{box-shadow:none}.target-output{margin:12px 16px}.target-output pre,#reference pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f6e9;color:#173c30;padding:12px;border-radius:8px}.studio-title h1{font-size:28px;margin:12px 0}.workspace .code-wrap{height:260px}.workspace textarea#editor{font-size:18px;line-height:1.65}.workspace .numbers{font-size:18px;line-height:1.65}.pane-head small{font-weight:400;margin-left:10px}.workspace .pane>details{margin:12px 16px}.workspace .pane>details details{background:#f5f7ef;padding:12px;margin-top:8px}.feedback.success{border-top:3px solid #e2b933;background:#fffbe9}.feedback .button{white-space:normal}.mission small{display:block}.path-item .number{flex-shrink:0}.home-review h2{font-size:22px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #317dc0;outline-offset:4px}@media(max-width:600px){.mission-brief{padding:14px}.mission-brief .mission-goal{font-size:18px}.map-phase>summary small{float:none;display:block}.workspace .code-wrap{height:230px}.studio-title h1{font-size:24px}header nav{flex-wrap:wrap}}
.workspace .output{min-height:90px;max-height:220px;overflow:auto;padding:16px}.feedback{padding:16px}.practice-win{font-size:21px}.workspace .code-wrap{height:220px}.mission-brief>p{line-height:1.65}.home-review p{line-height:1.75}
/* 2.5 reference book: never replaces student code. */
.ref-tools{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:end}.ref-tools label{font-size:14px;font-weight:700}.ref-tools .ref-check{grid-column:1/-1}.ref-check{display:flex;gap:8px;align-items:center;margin:12px 0}.ref-check input{width:auto;margin:0}.ref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.ref-card{padding:18px;background:white;border:1px solid #c8d9c5;border-radius:14px;margin:0}.ref-card>summary{font-size:18px;font-weight:700;cursor:pointer}.ref-card summary small{display:block;color:#526b5e;font:13px/1.6 monospace;margin-top:8px;white-space:pre-wrap}.ref-code{background:#163f34;color:#fff;padding:16px;border-radius:10px;white-space:pre-wrap;font:16px/1.65 monospace;tab-size:4;overflow-wrap:anywhere}.ref-result{background:#f0f5e8;padding:12px;border-radius:8px}.ref-result pre{margin:6px 0;white-space:pre-wrap;color:#183e34}.ref-warning{font-size:14px;line-height:1.7}.reference-dialog{width:min(980px,94vw);max-height:88vh;overflow:auto;padding:0;border:2px solid #a5b99d;border-radius:20px;color:#173e34;background:#f6f8ef;box-shadow:0 20px 80px #0004}.reference-dialog::backdrop{background:#183a3277}.ref-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;background:#fff5c5;position:sticky;top:0;z-index:2}.ref-dialog-head h2{margin:0;font-size:24px}.ref-body{padding:20px}.ref-dialog-head button{white-space:normal}.ref-note{line-height:1.7}.reference-dialog input:focus-visible{outline:3px solid #317dc0}@media(max-width:650px){.ref-grid,.ref-tools{grid-template-columns:1fr}.ref-dialog-head{padding:12px}.ref-dialog-head h2{font-size:20px}.ref-body{padding:14px}.ref-code{font-size:14px}header nav{flex-wrap:wrap}}

.level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.level-card{background:#fff9e7;border:2px solid #e5cf80;border-radius:20px;padding:22px}.level-card h3{font-size:26px;margin:14px 0}.level-card progress{width:100%;height:14px;accent-color:#137961}.level-card p{line-height:1.8}.level-card a{font-weight:700}.teacher-table td{vertical-align:top}@media(max-width:750px){.level-grid{grid-template-columns:1fr}.level-card{padding:18px}}
.adventure-home{padding:24px;background:linear-gradient(135deg,#f7edb3,#dcf0d1);border:2px solid #d6bb58;border-radius:22px;margin:20px 0}.adventure-home h2{margin:10px 0}.adventure-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.adventure-heading .eyebrow{display:block;margin-top:20px}.adventure-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.adventure-editor select{width:100%;padding:12px;font:inherit}.adventure-editor textarea{width:100%;min-height:250px;font:15px/1.65 ui-monospace,monospace;tab-size:4;background:#143d38;color:#f4f7e3;padding:18px;border-radius:12px;resize:vertical;box-sizing:border-box}.adventure-editor textarea[readonly]{opacity:.65}.adventure-editor pre{white-space:pre-wrap}.adventure-play canvas{display:block;width:100%;max-width:560px;aspect-ratio:10/7;border:4px solid #284d55;border-radius:12px;image-rendering:pixelated;box-sizing:border-box;outline-offset:4px}.adventure-hud{font-weight:bold;background:#fff1bd;padding:12px;border-radius:12px;margin:12px 0}.adventure-pad{text-align:center;margin:14px 0}.adventure-pad button{min-width:55px;min-height:45px;margin:3px;font-size:22px}.project-keepsake,.project-history{margin-top:22px}.project-keepsake label{display:block;margin:14px 0}.project-keepsake input,.project-keepsake textarea{width:100%;box-sizing:border-box}.project-version{display:inline-flex;flex-direction:column;text-align:left;margin:8px;padding:15px;gap:8px}.project-lock{background:#fff3c8;padding:12px;border-radius:12px}#project-error{white-space:pre-wrap;overflow-wrap:anywhere;color:#9a3d31;font-size:14px}#project-message{font-weight:700;min-height:1.5em}#project-celebration{color:#0c7458;font-weight:700}.friend-mode .adventure-editor,.friend-mode .project-keepsake,.friend-mode>.project-history,.friend-mode>details{display:none}.friend-mode .adventure-layout{grid-template-columns:1fr;max-width:780px;margin:auto}.friend-mode canvas{margin:auto}.friend-mode .adventure-play{text-align:center}.exam-road{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.exam-road article{border-top:5px solid #c6ab58}.exam-road li{margin:6px 0}@media(max-width:850px){.adventure-layout,.exam-road{grid-template-columns:1fr}.adventure-heading{display:block}.adventure-editor textarea{min-height:220px}}

[hidden]{display:none !important}

.meaning-guide{margin:16px 0;padding:14px;border:1px solid #b7d5ca;border-radius:14px;background:#f1f8f2}.learning-cycle{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 12px;font-size:13px}.learning-cycle li{padding:5px 8px;border-radius:8px;background:white}.learning-cycle [aria-current]{background:#176852;color:white;font-weight:bold}.meaning-focus{display:block;white-space:pre-wrap;padding:10px;background:#fff;margin-top:10px;border-radius:8px}.meaning-question{margin-bottom:5px}.meaning-guide small{color:#405e55}

.ref-search-examples{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}.ref-search-examples button{padding:.4rem .8rem;border-radius:999px}.ref-card li{margin:.5rem 0}.ref-card a[data-ref-practice]{display:inline-block;padding:.5rem 0;font-weight:bold}

.input-guide{margin:16px 0;padding:16px;border:2px solid #56846b;border-radius:12px;background:#f2faf4}.feedback mark{background:#ffe08a;color:#352300;font-weight:bold;padding:2px 3px}.input-guide pre,.feedback pre{white-space:pre-wrap;overflow-wrap:anywhere}

/* 2.12: keep the task and editor close together */
.mission-brief{padding:16px 20px}.mission-brief .mission-goal{margin:8px 0}.lesson-help{margin-top:10px}.lesson-start{display:inline-block;margin:4px 0;font-weight:700}.map-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.map-more{margin-bottom:20px}.reading-next{padding:16px;margin:16px 0;border:2px solid #66956c;border-radius:12px;background:#f1f8ed}.reading-next p{margin:8px 0}.workspace .pane{min-width:0}.mission-brief code{overflow-wrap:anywhere}

.title-card{margin-bottom:18px;background:#fff8dd;border-color:#d8c68c}.title-card h2{font-size:21px}.title-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0}.title-item{display:flex;flex-direction:column}.title-item.earned{border:2px solid #65936d;background:#f4faef}.title-item h2{font-size:20px}.title-item button{margin-top:auto}.title-icon{font-size:30px}.title-item button:disabled{cursor:default;opacity:.65}
/* Title gallery: artwork is vector-based, with shape and text as well as colour. */
.title-intro{padding:24px 0 16px}.title-intro h1{margin:10px 0}.title-tools{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:20px;background:white;border:1px solid var(--line);border-radius:16px}.title-tools label{display:grid;gap:8px;flex:1;min-width:160px}.title-tools input,.title-tools select{width:100%;margin:0;padding:10px;border:1px solid #b4c2b9;border-radius:8px;background:white;font:inherit;min-height:44px}.title-tools button{min-height:44px}.title-rules{margin-top:14px}.title-category>h2{margin-top:36px}.title-category>h2 small{font-size:14px;font-weight:400;margin-left:8px}.title-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.title-item,.title-card,.title-teacher{--award-edge:#529078;--award-fill:#e7f3eb;--award-ink:#145b47;--award-bg:#fff;border-color:var(--award-edge);background:var(--award-bg);color:#183e3a}.title-item.earned{border:2px solid var(--award-edge);background:var(--award-bg)}.tier-silver{--award-edge:#7c93a7;--award-fill:#e3edf4;--award-ink:#38566f;--award-bg:linear-gradient(140deg,#fff,#eef3f7)}.tier-gold{--award-edge:#b9943e;--award-fill:#f6e6b0;--award-ink:#755218;--award-bg:linear-gradient(140deg,#fffdf4,#f9efcf)}.tier-master{--award-edge:#9872ae;--award-fill:#ede1f5;--award-ink:#6e4388;--award-bg:linear-gradient(145deg,#fcf6ff,#efe7f6);box-shadow:inset 0 0 0 4px #e5d4a6}.tier-legend{--award-edge:#c8a34a;--award-fill:#f4df97;--award-ink:#e5c86c;--award-bg:radial-gradient(ellipse at top,#3c3457,#1e2437 75%);color:#fff3cd!important;border:2px solid #c8a34a!important;box-shadow:inset 0 0 0 5px #2d2a40,0 6px 22px #33284924}.title-item.tier-legend.earned{background:var(--award-bg)}.title-crest{width:72px;height:72px;align-self:flex-start;display:block;margin:0 0 14px;color:var(--award-ink);fill:none;stroke:currentColor;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.crest-shield{fill:var(--award-fill);stroke:var(--award-edge)}.crest-inner{stroke-width:1;opacity:.7}.tier-legend .crest-shield{fill:#342d44}.tier-legend .crest-crown{fill:#e5c86c;stroke:#f5df9c}.tier-legend .title-crest{width:94px;height:94px}.title-tier{display:block;font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--award-ink)}.title-item h2,.title-card h2{margin:10px 0 14px;line-height:1.4}.title-english{display:block;font-size:21px;font-weight:850;letter-spacing:.035em;overflow-wrap:anywhere}.title-japanese{display:block;font-size:14px;font-weight:500;margin-top:5px}.title-item>p{margin:4px 0 16px}.title-progress{margin-top:auto;padding-top:10px}.title-progress strong{font-size:13px}.title-progress p{font-size:13px;margin:8px 0}.title-progress progress{display:block;width:100%;height:8px;accent-color:var(--award-edge);margin:12px 0 20px}.title-item button{margin-top:0}.title-item.locked button:disabled{opacity:1;background:#f0f2ef;color:#66766b;border-color:#bcc8bf}.title-item.earned button:disabled{opacity:1;background:#e8f3e7;color:#28623d;border-color:#5b9463}.tier-legend small,.tier-legend .title-japanese{color:#f4dfaa}.title-requirements{padding:0;list-style:none;font-size:13px;margin:0 0 14px}.title-requirements li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #b7a77a55}.title-requirements strong{white-space:nowrap;font-size:13px}.title-lessons{display:grid;gap:8px;max-height:220px;overflow:auto;margin-top:10px}.title-lessons a{text-decoration:underline;font-size:13px}.title-item details{padding:14px 0 0;margin-top:14px}.title-teacher small{display:block}.title-card .title-crest{margin-top:14px}.title-card.tier-legend a{color:#443417;background:#fae7a5;border-color:#c8a34a}.title-result-count{color:#5d7166;font-size:14px}@media(max-width:600px){.title-grid{grid-template-columns:minmax(0,1fr)}.title-tools{padding:14px}.title-tools label{min-width:100%}.title-english{font-size:20px}.title-item{min-width:0}}@media(prefers-reduced-motion:reduce){.title-item button,.title-card a{transform:none}}

/* v2.15: compact discovery and clear next steps */
.title-intro{padding:20px 24px;margin-bottom:16px}.title-intro h1{margin:8px 0}.title-intro p{margin:8px 0}.title-lessons details{width:100%}.title-lessons a{display:block;margin:8px 0}.preview-note{border:2px solid #447c68}.learning-gap h2{font-size:1.15rem}

.first-spark-goal{background:#f1f8df;border:2px solid #6c9155}.first-spark-goal h2{font-size:1.2rem;line-height:1.7}.first-spark-goal .button{white-space:normal}

/* Teacher dashboard */
.teacher-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.teacher-summary section{background:#173f36;color:#fff;border-radius:18px;padding:22px}.teacher-summary strong{display:block;font-size:38px;color:#d7f5a0;margin:12px 0}.teacher-summary small{font-size:13px;display:block}.teacher-summary strong small{display:inline;margin-left:8px}.teacher-management{margin:24px 0}.teacher-management summary{font-weight:700;cursor:pointer}.teacher-management .teacher-tools{margin-top:18px}.teacher-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.teacher-filters label{font-weight:700;font-size:14px;min-width:0}.teacher-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.teacher-student{background:white;border:1px solid #d7e3da;border-radius:18px;padding:24px;min-width:0}.teacher-student-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:24px}.teacher-student h2{font-size:22px;margin:0 0 6px;overflow-wrap:anywhere}.teacher-bar{margin:18px 0}.teacher-bar>div{display:flex;justify-content:space-between;gap:14px;font-size:14px}.teacher-bar small{font-weight:400;color:#596e64}.teacher-bar progress{display:block;width:100%;height:14px;accent-color:#23795c;margin-top:8px}.teacher-next{background:#eff6e6;border-radius:10px;padding:12px;font-size:14px}.teacher-current{padding:12px 0}.teacher-current small,.teacher-current strong{display:block;margin:5px 0;overflow-wrap:anywhere}.teacher-current small{color:#596e64}.teacher-card-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:20px;font-size:14px}.teacher-student details{border-top:1px solid #e3ebe4;padding-top:14px}.teacher-student summary{cursor:pointer}.teacher-detail-bars{display:grid;grid-template-columns:1fr 1fr;gap:24px}.teacher-detail-overview{margin:20px 0}header nav{flex-wrap:wrap}@media(max-width:700px){.teacher-summary,.teacher-students,.teacher-filters,.teacher-detail-bars{grid-template-columns:1fr}.teacher-summary section{padding:16px}.teacher-summary strong{margin:6px 0;font-size:30px}.table-head{align-items:start;gap:12px;flex-wrap:wrap}.teacher-student{padding:18px}}
.teacher-summary small{color:#d2e3d8}.teacher-summary strong small{color:#d7f5a0}.teacher-bar progress{appearance:none;border:0;border-radius:7px;overflow:hidden;background:#e8eee9}.teacher-bar progress::-webkit-progress-bar{background:#e8eee9;border-radius:7px}.teacher-bar progress::-webkit-progress-value{background:#23795c;border-radius:7px}.teacher-bar progress::-moz-progress-bar{background:#23795c;border-radius:7px}

.growth-card{margin:20px 0}.growth-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.growth-stats>div{background:#edf5e7;padding:14px;border-radius:12px}.growth-stats span{font-size:13px}.growth-stats strong{display:block;font-size:28px;margin-top:8px}.growth-stats small{font-size:12px;font-weight:400;margin-left:6px}.growth-reflection{border-left:4px solid #60965c;padding:8px 16px;margin:20px 0;background:#fafcf6}.growth-reflection h3{font-size:16px;margin:8px 0}.growth-card summary{cursor:pointer}.growth-card .button{white-space:normal}@media(max-width:500px){.growth-stats{grid-template-columns:1fr}.growth-stats>div{display:flex;justify-content:space-between;align-items:center}.growth-stats strong{margin:0}}

.growth-compact{padding:18px 22px}.growth-compact h2{font-size:20px;margin:6px 0 14px}.growth-compact .growth-stats>div{padding:10px 12px}.growth-compact .growth-stats strong{font-size:24px;margin-top:4px}.growth-review{margin-top:14px}.growth-review>summary{font-weight:700}.growth-start{font-size:14px;line-height:1.8}@media(max-width:500px){.growth-compact .growth-stats{gap:6px}.growth-compact .growth-stats>div{padding:6px 10px}.growth-compact .growth-stats strong{font-size:21px;margin:0}}

.teacher-time{font-size:13px;border-top:1px solid #e3ebe4;padding:12px 0}.teacher-time small{display:block;color:#596e64}.teacher-time p{margin:6px 0}.activity-detail{margin:18px 0}.activity-detail>summary{font-weight:700;cursor:pointer}.activity-contexts{max-height:340px;overflow:auto}.activity-contexts p{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e3ebe4;padding:10px 0}.activity-contexts strong{white-space:nowrap}

.concept-help{margin:16px 0;padding:14px;border:1px solid #b8d7d1;border-radius:12px;background:#f4faf8;line-height:1.8}.concept-help pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#fff;border-radius:8px}.concept-help li{margin-bottom:8px}.concept-help summary{cursor:pointer;font-weight:700}

/* Guided first project: all original controls remain available via Show all. */
.project-onboarding ol{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.project-onboarding li{padding:8px;border-radius:8px;background:#edf2e7}.project-onboarding [aria-current=step]{background:#155b45;color:white;font-weight:bold}
[data-project-step="1"] .adventure-editor>label,[data-project-step="1"] #project-code,[data-project-step="1"] .adventure-editor>details,[data-project-step="1"] #project-goal-title,[data-project-step="1"] #project-goal,[data-project-step="1"] #project-lock,[data-project-step="1"] #project-reference{display:none}
[data-project-step="1"] .adventure-layout{grid-template-columns:1fr}
[data-project-step="1"] .project-keepsake,[data-project-step="2"] .project-keepsake,[data-project-step="1"]>.project-history,[data-project-step="2"]>.project-history,[data-project-step="1"]>details,[data-project-step="2"]>details,[data-project-step="3"]>details{display:none}
[data-project-step="2"] .adventure-editor>label:first-child,[data-project-step="3"] .adventure-editor>label:first-child{display:none}
.preview-note{padding:8px 12px;background:#edf4e6;border-left:3px solid #2a7059;font-size:13px}.preview-exit{border:1px solid currentColor;border-radius:6px}.teacher-coaching{padding:12px;background:#f4f7ed;border-radius:8px;margin:12px 0}.teacher-coaching p{margin:7px 0}.teacher-coaching small{font-size:12px}

.adventure-heading a+a{margin-left:18px}.project-onboarding{padding:16px;margin-bottom:16px}.project-onboarding h2{margin:0 0 10px}.project-onboarding p{margin:8px 0}.project-onboarding ol{margin:10px 0}[data-project-step="1"] .adventure-editor{padding:12px}[data-project-step="1"] .adventure-heading .eyebrow{margin-top:10px}[data-project-step="1"] .adventure-heading h1{margin:10px 0}

.learning-escape .row{flex-wrap:wrap}.learning-escape pre{white-space:pre-wrap;overflow-wrap:anywhere}.lesson-location{font-weight:bold}.resume-panel{border-left:5px solid #197565}

.answer-dialog{box-sizing:border-box;width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #187467;border-radius:16px;padding:22px;background:#fff;color:#173f37;margin:auto;box-shadow:0 16px 64px #0005}.answer-dialog::backdrop{background:#102d2bcc}.answer-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-22px;background:#fff;padding:12px 0;z-index:1}.answer-dialog-bar h2{margin:0}.answer-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf5ef;padding:18px;border-radius:10px;font-size:18px}.answer-dialog button{min-height:44px}.answer-dialog #answer-save-status{font-size:14px}@media(max-width:560px){.answer-dialog{padding:16px}.answer-dialog-bar{top:-16px;flex-wrap:wrap}.answer-dialog pre{font-size:16px}}

/* Code reference: classroom context and purpose navigation */
.ref-current{background:#edf5ef;border:1px solid #b8cdbd;border-radius:14px;padding:18px;margin-bottom:22px}.ref-current h2,.ref-purpose-section h2,.ref-lookup h2{font-size:20px;margin:0 0 10px}.ref-current p{margin:6px 0 12px}.ref-recommended{grid-template-columns:repeat(3,minmax(0,1fr))}.ref-recommended .ref-card{padding:14px}.ref-recommended .ref-card>summary{font-size:16px}.ref-purposes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ref-purposes button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:13px 16px;min-height:64px;white-space:normal;background:white;color:#173e34;border:1px solid #b8cdbd;border-radius:10px}.ref-purposes button small{font-size:13px;color:#526b5e}.ref-purposes button[aria-pressed="true"]{background:#173e34;color:white;border-color:#173e34}.ref-purposes button[aria-pressed="true"] small{color:#e1efdf}.ref-purpose-section{margin-bottom:24px}.ref-more{margin:12px 0}.ref-more>summary{cursor:pointer;padding:8px 0}.ref-more .ref-purposes{margin-top:10px}.ref-lookup{border-top:1px solid #c8d9c5;padding-top:18px}.ref-lookup h3{scroll-margin-top:90px}.ref-purpose-section button:focus-visible,.ref-current a:focus-visible,.ref-lookup button:focus-visible{outline:3px solid #317dc0;outline-offset:3px}.ref-current .row{flex-wrap:wrap}.ref-current .ref-grid{margin-top:10px}@media(max-width:800px){.ref-recommended{grid-template-columns:1fr}.ref-purposes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.ref-purposes{grid-template-columns:1fr}.ref-current{padding:12px}}
