/* Integration layer; approved home styles remain in approved.css. */
html,body,#root,bambu-app{display:block;width:100%;height:100%;margin:0}
.app{height:100vh;height:100dvh;grid-template-rows:auto minmax(0,1fr) auto}
main.content{overflow-y:auto;overflow-x:hidden;min-width:0}
button:disabled{cursor:default;opacity:.68}
.app-footer{display:block!important}
.garden-view{display:grid;grid-template-rows:auto minmax(8rem,1fr);height:100%;min-height:16rem}
.garden-columns{display:grid;grid-template-columns:repeat(var(--count),minmax(0,180px));justify-content:center;height:100%;min-height:0;gap:0;width:100%;}
.cane-column{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0}
.cane-stage{position:relative;min-height:0;width:100%;max-width:180px;justify-self:center}
.cane-stage svg.garden{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.garden-columns .subject{min-height:60px;padding:8px 1px 10px;font-size:clamp(.8125rem,1.6vw,1.0625rem)}
.garden-columns .subject-name{overflow-wrap:anywhere}
.new-content-leaf{fill:#ffd43b!important;stroke:none!important}
.new-content-leaf-link:focus-visible{outline:3px solid var(--ink)!important;outline-offset:6px}
.app[data-reduced=true] :is(.sway,.leaf-breeze,.leaf,.branch,.internode,.tip-lift,.node-ring){animation:none!important}
.app[data-reduced=true] .tip-lift{transform:translateY(var(--rise))}
.study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr));gap:14px;margin:24px 0}
.study-word{padding:20px 12px;text-align:center;background:#fff;border:1px solid var(--edge);border-radius:16px;min-width:0}
.foreign-word{display:block;font-size:clamp(1.3rem,3.2vw,2rem);line-height:1.45;overflow-wrap:anywhere}
.reading{display:block;color:var(--muted);font-size:1rem;line-height:1.5}
.word-picture{display:block;width:100%;height:130px;object-fit:contain;margin:0 auto 16px}
.audio-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:10px 14px;background:var(--soft);border-radius:12px;margin-top:12px;border:1px solid var(--edge)}
.answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:12px;margin:24px 0}
/* Keep answer content in place when a result mark appears. */
.answer{position:relative;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;justify-content:stretch;align-content:center;gap:6px;min-width:0;min-height:104px;padding:28px 18px 20px;background:#fff;border:2px solid var(--ink);border-radius:16px;font-size:1.0625rem;text-align:center;word-break:normal;overflow-wrap:break-word}
.answer.is-user-correct{background:#edf8eb;border-color:#35814d;color:var(--ink);box-shadow:0 0 0 1px #35814d}
.answer.is-user-wrong{background:#fff0ef;border-color:#bd4650;color:var(--ink);box-shadow:none}
.answer.is-user-correct:disabled,.answer.is-user-wrong:disabled{color:var(--ink);opacity:1}
.answer-result-mark{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-size:1.4rem;font-weight:900;line-height:1}
.answer.is-user-correct .answer-result-mark{background:#2c8a47}
.answer.is-user-wrong .answer-result-mark{background:#bd4650}
.answer-choice-content{display:block;width:100%;min-width:0;font-size:1.08em;font-weight:650;line-height:1.35}
.answer-choice-content .foreign-word{font-weight:750}
.answer.selected,.answer.correct,.answer.matched{background:var(--soft);box-shadow:inset 0 0 0 2px var(--ink);opacity:1}
.pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 24px}
.pair-grid>div{display:grid;grid-auto-rows:1fr;min-width:0;gap:12px}
.pair-grid .pair-card{width:100%;min-height:126px;padding:20px 12px 14px;border-color:#b4c7b5;box-shadow:0 3px 0 #e7eee3}
.pair-card-content{display:grid;justify-items:center;align-content:center;gap:6px;min-width:0;width:100%}
.pair-grid .pair-label{width:100%;font-size:clamp(1rem,2.1vw,1.25rem);line-height:1.3;font-weight:750;overflow-wrap:break-word;word-break:normal;text-align:center}
.pair-grid .foreign-word{font-size:clamp(1.15rem,3vw,2rem);line-height:1.3;font-weight:750;overflow-wrap:break-word;word-break:normal;text-align:center}
.pair-grid .pair-card .word-picture{width:min(92px,100%);height:58px;margin:0}
.pair-grid .pair-card.selected{background:#fff5d4;border-color:#ad7715;box-shadow:0 0 0 2px #e7bb51}
.pair-grid .pair-card.matched{background:#eaf6e7;border-color:#5b9d68;box-shadow:none;opacity:1}
.pair-grid .pair-card.pair-wrong{background:#fff0ef;border-color:#bd4650;box-shadow:none}
.pair-result-mark,.pair-selection-mark{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:1.05rem;font-weight:900;line-height:1}
.pair-result-mark{background:#32824b;color:#fff}
.pair-wrong .pair-result-mark{background:#bd4650}
.pair-selection-mark{background:#f2d576;color:#835c0c;font-size:.7rem}
.pair-progress{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-top:22px;font-size:1rem;line-height:1.5}
.pair-progress strong{padding:7px 12px;border-radius:999px;background:#e7efdf;white-space:nowrap}
.pair-progress span{flex:1;min-width:min(100%,240px);color:var(--muted)}
.build-selected{min-height:90px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px;border:2px dashed var(--ink);border-radius:12px;background:var(--soft);margin:20px 0}
.tiles{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.tiles .foreign-word,.build-selected .foreign-word{font-size:1.25rem}
.flashcard{display:block;width:100%;min-height:240px;background:#fff;border:1.5px solid var(--ink);border-radius:18px;padding:24px;text-align:center}
.flashcard small{display:block;margin-top:24px;color:var(--muted)}
.prompt{font-size:1.125rem;line-height:1.65;overflow-wrap:anywhere}
.prompt .reading-text{text-align:left;background:var(--soft);padding:20px;border-radius:12px;white-space:pre-line}
.feedback{min-height:2rem;line-height:1.6;color:var(--ink);margin:20px 0}
.feedback:focus{outline:none}
.grammar-guide{display:grid;gap:12px;margin:20px 0}
.grammar-guide article{padding:18px;background:var(--soft);border-radius:12px}
.grammar-guide p{line-height:1.5;margin-bottom:0}
.token-line{font-size:1.5rem}
.notice,.resume-note{padding:16px 18px;background:var(--soft);color:var(--ink);line-height:1.6;border-radius:12px;margin:16px 0}
.new-topic+.new-topic{margin-top:12px}
.settings-block{border-bottom:1px solid var(--edge);padding:12px 0}
.settings-block>summary{font-weight:700;cursor:pointer;min-height:48px;padding:12px 0}
.settings-block form{padding-block:16px}
.check-label{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;line-height:1.5;cursor:pointer}
.check-label input{width:22px;height:22px;flex:none;accent-color:var(--ink)}
.small-legend{font-size:1.125rem}
.file-label{display:block;line-height:1.6;font-weight:700;margin-bottom:16px}
.file-label input{display:block;width:100%;min-height:44px;margin-top:10px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stats>div{background:var(--soft);padding:16px;border-radius:12px}
.stats dt{color:var(--muted);font-size:.9rem;line-height:1.4}
.stats dd{margin:8px 0 0;font-size:1.5rem;font-weight:700}
.error-status{position:fixed;bottom:85px;left:16px;right:16px;padding:12px 18px;border:2px solid #872e1c;background:#fff7f1;color:#642215;z-index:50;font-size:1rem;line-height:1.5}
.loading{padding:32px}
summary{min-height:44px;cursor:pointer}
@media(max-width:540px){
  .answers{grid-template-columns:1fr}
  .answer{width:100%}
  .answer-choice-content{font-size:1.05rem;line-height:1.4;overflow-wrap:normal;word-break:normal}
  .study-grid{grid-template-columns:1fr}.study-word{display:grid;grid-template-columns:1fr auto;text-align:left;gap:4px 10px;padding:16px}.study-word .word-picture{grid-column:1;grid-row:1/5;display:none}.study-word .audio-button{grid-column:2;grid-row:1/5;align-self:center}.study-word p{margin:0}.study-word .foreign-word{font-size:1.5rem}.pair-grid{gap:10px}.pair-grid .foreign-word{font-size:clamp(1.05rem,4.2vw,1.4rem)}.session-meta{flex-wrap:wrap;font-size:.8125rem}.garden-view{min-height:15rem}.stats{grid-template-columns:1fr}
}
@media(forced-colors:active){.new-content-leaf-link{outline:2px solid LinkText}.answer.correct,.answer.selected{outline:3px solid Highlight}.error-status{color:CanvasText;background:Canvas;border-color:CanvasText}}

@media(max-width:540px){.study-word:has(.word-picture){grid-template-columns:70px minmax(0,1fr) auto}.study-word .word-picture{display:block;grid-column:1;grid-row:1/5;width:64px;height:80px;margin:0}.study-word:has(.word-picture) .audio-button{grid-column:3}.study-word:has(.word-picture) .foreign-word,.study-word:has(.word-picture) .reading,.study-word:has(.word-picture)>p{grid-column:2}.audio-button>span{font-size:.875rem}}

/* Story library and incremental reading within the shared application shell. */
[hidden] { display:none!important; }
.reading-stories{max-width:1080px;color:#214f3d;padding-bottom:28px}
.reading-stories button{font:inherit;cursor:pointer}.reading-stories button:disabled{cursor:default}
.reading-stories .back-link{border:0;background:transparent}.reading-stories .reading-alert[hidden]{display:none}
.reading-library-top,.reading-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.reading-library-top .back-row{margin:0}.reading-library-top>.back-link{font-size:.9rem}
.reading-library-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 20px}
.reading-library-hero h1{font-size:clamp(1.8rem,4.5vw,2.7rem);line-height:1.12;max-width:600px;letter-spacing:-.035em;margin:8px 0 14px}
.reading-library-hero p{font-size:1.08rem;line-height:1.6;max-width:560px;color:#5a7263;margin:0}.reading-library-hero>img{width:140px;height:140px;object-fit:contain}
.reading-eyebrow{display:block;font-size:.7rem;font-weight:750;letter-spacing:.1em;line-height:1.6;color:#6b7d64}
.reading-overview{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dce5d4;border-radius:18px;background:#f3f8ed;margin:0 0 28px;padding:20px}
.reading-overview>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.reading-overview>div+div{border-left:1px solid #d8e3d0}.reading-overview strong{font-size:1.4rem}.reading-overview span{width:100%;text-align:center;color:#647761;font-size:.8rem}
.reading-library-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:28px}.reading-trail{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.reading-story-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:24px;border:1px solid #dce4d5;border-radius:22px;background:#fffef8;box-shadow:0 3px 12px #234e2e05}
.reading-story-card.is-current{border-color:#9ebc87;background:#f8fbee}.reading-story-card.is-complete{background:#f2f8f1}.reading-story-number{display:grid;place-items:center;background:#edf2e5;border:1px solid #d7e3cd;border-radius:50%;width:44px;height:44px;font-weight:800}
.reading-story-card h2{font-size:1.4rem;line-height:1.2;margin:6px 0 8px}.reading-story-card p{font-size:.95rem;line-height:1.5;margin:0 0 8px;color:#526955}.reading-story-card small{font-size:.75rem;color:#6f7d68}.reading-story-card button{margin-top:14px;min-height:44px}
.reading-story-progress{display:flex;align-items:center;gap:12px;margin-top:16px}.reading-story-progress progress{appearance:none;width:90px;height:6px;border:0;border-radius:20px;overflow:hidden;background:#e8eedf}.reading-story-progress progress::-webkit-progress-bar{background:#e8eedf}.reading-story-progress progress::-webkit-progress-value{background:#6d9560}.reading-story-progress progress::-moz-progress-bar{background:#6d9560}.reading-story-progress span{font-size:.75rem;color:#597151}
.reading-resume{position:sticky;top:20px;padding:24px;background:#edf5e5;border:1px solid #d4e1c8;border-radius:22px}.reading-resume h2{font-size:1.45rem;line-height:1.25;margin:8px 0 12px}.reading-resume p{font-size:.95rem;line-height:1.65}.reading-resume>.primary-button{width:100%;justify-content:center}.reading-resume .reading-seed-rule{font-size:.82rem;border-top:1px solid #d4e1c8;padding-top:16px;margin-top:22px}.reading-resume small{font-size:.75rem;display:flex;align-items:center;gap:6px}
.reading-navigation{margin:2px 0 22px;font-size:.85rem;color:#62755c}.reading-seed-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #d7e2cc;border-radius:30px;padding:6px 12px;background:white;color:#305c40;font-weight:700;white-space:nowrap}
.is-reading-story{max-width:880px}.reading-paper{max-width:720px;margin:0 auto;padding:clamp(24px,5vw,48px);border:1px solid #e3e4d5;border-radius:22px;background:#fffef9;box-shadow:0 6px 24px #394c2306}
.reading-paper h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.2;margin:10px 0 8px;letter-spacing:-.025em}.reading-part-label{font-size:.85rem;margin:0 0 25px;color:#768068}.reading-prose{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.12rem,2.4vw,1.3rem);line-height:1.85;color:#343f33;overflow-wrap:break-word}.reading-prose p{margin:0 0 1em}.reading-prose p:last-child{margin-bottom:0}.reading-context{font-family:inherit;font-size:.9rem;line-height:1.65;border-left:3px solid #b9cca6;padding:10px 14px;background:#f3f7eb;margin-bottom:24px}
.reading-dock{display:flex;justify-content:space-between;gap:12px;max-width:720px;margin:20px auto}.reading-dock button{min-height:50px}.reading-source{max-width:720px;margin:22px auto;font-size:.82rem;line-height:1.6;color:#61715d}.reading-source summary{cursor:pointer;padding:8px 0}.reading-source a{display:inline-flex;align-items:center;gap:6px}
.reading-question-layout{max-width:720px;margin:auto}.reading-question-card{padding:clamp(20px,4vw,36px);border:1px solid #dce5d5;border-radius:22px;background:#fbfdf7}.reading-question-card h1{font-size:clamp(1.4rem,4vw,1.85rem);line-height:1.3;margin:12px 0}.reading-question-hint{font-size:.85rem;color:#687b62;margin:0 0 22px}.reading-options{display:grid;gap:12px}.reading-option{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;border:1.5px solid #d9e0d1;border-radius:15px;background:#fff;padding:14px;min-height:65px;line-height:1.55;color:#294f39;overflow-wrap:break-word}.reading-option>span{display:grid;place-items:center;background:#edf2e8;border-radius:50%;width:32px;height:32px;font-size:.85rem;font-weight:750}.reading-option.is-selected{outline:2px solid #567e3d;outline-offset:1px;background:#f1f8e7}.reading-option.is-correct{border-color:#81ab63;background:#edf7e6}.reading-option.is-wrong{border-color:#c49673;background:#fff3e9}.reading-option:disabled{opacity:1}.reading-question-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}.reading-question-actions>.primary-button{flex:1;justify-content:center}.reading-feedback{padding:16px;margin:20px 0;background:#eef5e7;border-radius:14px;line-height:1.6}.reading-feedback p{margin:6px 0 0}.reading-feedback.is-review{background:#fff4e9}.reading-submit{width:100%;justify-content:center}.reading-text-reference{margin:20px 0;background:#fffef9;border:1px solid #e2e5d7;border-radius:16px;overflow:hidden}.reading-text-reference summary{cursor:pointer;padding:16px;display:flex;align-items:center;gap:8px;font-weight:700;list-style:revert}.reading-text-reference>.reading-prose{padding:8px 24px 24px;font-size:1.1rem}.reading-finish{max-width:640px;margin:24px auto;padding:32px;border:1px solid #dae4d0;background:#f3f9eb;border-radius:24px;text-align:center}.reading-finish>.ui-icon{display:block;width:52px;height:52px;margin:0 auto 20px}.reading-finish h1{font-size:1.9rem;line-height:1.25;margin:10px 0 16px}.reading-finish p{line-height:1.6}.reading-finish-seeds{display:flex;align-items:center;justify-content:center;gap:6px}.reading-finish-actions{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:24px}.reading-finish-actions>.primary-button,.reading-finish-actions>.secondary-button{width:100%;justify-content:center}.reading-save-status{font-size:.85rem;line-height:1.5;min-height:1.5em;text-align:center;color:#537049}.reading-metric-table{overflow:auto;margin:24px 0}.reading-metric-table table{border-collapse:collapse;min-width:540px;width:100%;text-align:left}.reading-metric-table th,.reading-metric-table td{padding:13px;border-bottom:1px solid #dce4d6;font-size:.9rem}.reading-metric-table thead{background:#eff5e9}.reading-metric-table caption{text-align:left;padding:0 0 12px;font-weight:700}.reading-stories :focus-visible{outline:3px solid #698a47;outline-offset:3px}
@media(max-width:760px){.reading-library-layout{grid-template-columns:1fr}.reading-resume{position:static;grid-row:1;padding:20px}.reading-resume .reading-seed-rule{margin:12px 0;padding-top:12px}.reading-library-hero>img{width:90px;height:90px}.reading-story-card{padding:20px;gap:12px;grid-template-columns:36px minmax(0,1fr)}.reading-story-number{width:36px;height:36px}.reading-overview{padding:14px 6px}.reading-overview strong{font-size:1.1rem}.reading-overview span{font-size:.7rem}.reading-navigation{gap:8px;font-size:.75rem}.reading-navigation>.back-link{font-size:.8rem}.reading-navigation .reading-seed-pill{padding:5px 8px}.reading-dock{position:sticky;bottom:0;padding:12px 0;background:#fffef8f5;border-top:1px solid #e2e7d8}.reading-dock button{font-size:.9rem;padding:12px}.reading-stories.is-reading-story{padding-inline:16px}.reading-paper{padding:22px}.reading-question-card{padding:20px}.app:has(.is-reading-story)>.app-footer{display:none}.reading-question-actions{gap:12px}.reading-question-actions>.back-link{font-size:.85rem}.reading-library-hero{gap:10px}.reading-library-hero p{font-size:.95rem}}
.reader-page { max-width:1120px; padding-top:0; }
.reader-path { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.reader-path .back-row { margin-block:10px; }
.reader-name { font-size:.9375rem; font-weight:700; color:var(--muted); margin:8px 0; }
.reader-tools { display:flex; gap:12px; justify-content:space-between; align-items:center; margin:8px 0; flex-wrap:wrap; }
.reader-tools .secondary-button { font-size:.9375rem; min-height:44px; padding:10px 14px; margin-left:auto; }
.reader-tools .back-link { background:none; border:0; min-height:44px; padding:8px 0; }
.reader-module { display:block; min-width:0; }
.reader-field { display:grid; gap:8px; font-weight:700; margin-block:20px; }
.reader-field input,.reader-field select { font:inherit; color:var(--ink); background:#fff; border:1.5px solid var(--ink); border-radius:10px; min-height:48px; padding:12px; width:100%; }
@media(max-width:540px) { .reader-name { font-size:.8125rem; } .reader-tools .secondary-button { font-size:.8125rem; } .reader-path { gap:4px; } .reader-page { padding-inline:16px; } }

/* Save/return stays in the host header, even while reading a long passage. */
.app-header { justify-content:space-between; gap:10px 20px; flex-wrap:wrap; }
.reader-tools-header { margin:0; max-width:100%; }
.reader-tools-header .back-link { color:var(--ink); font-weight:700; }
@media(max-width:620px) { .reader-tools-header { width:100%; gap:8px; } .reader-tools-header .back-link { font-size:.875rem; } }

/* Lectura keeps one compact host header during assessment and practice. */
.reader-task-title{font-size:1.1rem;font-weight:750;letter-spacing:-.02em}
.reader-task-title[hidden],.reader-audio-notice[hidden],.reader-path[hidden],.reader-tools-header [hidden]{display:none!important}
.app:has(.reader-page.is-reader-task)>.app-header{min-height:60px;flex-wrap:nowrap;gap:10px;padding:calc(6px + env(safe-area-inset-top,0px)) 16px 6px;border-bottom:1px solid var(--edge)}
.app:has(.reader-page.is-reader-task)>.app-header .brand{min-height:44px}
.app:has(.reader-page.is-reader-task)>.app-header .brand .panda{width:34px;height:34px}
.app:has(.reader-page.is-reader-task) .app-header-actions{display:none}
.app:has(.reader-page.is-reader-task) .reader-tools-header{display:flex;flex:1;width:auto;max-width:none;gap:8px;margin:0;flex-wrap:nowrap}
.app:has(.reader-page.is-reader-task) .reader-tools-header .back-link{margin-left:auto;font-size:.85rem;gap:5px;white-space:nowrap}
.app:has(.reader-page.is-reader-task)>.app-footer{display:none!important}
main.content:has(.reader-page.is-reader-activity){padding:0;overflow:hidden;scrollbar-gutter:auto}
.reader-page.is-reader-activity{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;max-width:none;margin:0;padding:0}
.reader-page.is-reader-activity>.reader-module{--bl-task-height:100%;display:block;flex:1;min-height:0}
.reader-page.is-reader-activity>.reader-save-notice{flex:none;margin:0;padding:8px 16px;font-size:.85rem}

/* Shared garden/arcade additions. No nested application shell. */
.garden-help{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:.875rem;color:var(--muted);padding:8px;border-radius:8px}.garden-help:hover{background:var(--soft)}.garden-help .ui-icon{width:20px;height:20px}.cane-progress{font-size:.75rem;color:var(--muted);line-height:1.4;font-weight:400}.growth-explanation{line-height:1.7}.growth-explanation p{margin-block:18px}.arcade-page{max-width:1240px;padding-top:4px}.arcade-page .back-row{margin-block:6px 14px}.arcade-module{display:block;min-width:0}.arcade-save-notice{font-size:.9rem}.reader-save-notice[hidden]{display:none!important}
@media(max-width:420px){.garden-help span{font-size:.8rem}.garden-columns .subject{gap:3px}.cane-progress{font-size:.68rem}}
/* One source of truth for delivery status, separate from each module's durable local save. */
.cloud-status{font-size:.8125rem;line-height:1.4;text-align:center;padding:5px 12px;color:#365f4c;background:#f3f6ee;overflow-wrap:anywhere}
.cloud-status[data-state=error],.cloud-status[data-state=conflict]{color:#762d1e;background:#fff0df;font-weight:700}
.cloud-status[data-state=pending],.cloud-status[data-state=syncing]{color:#624816;background:#fff6d8}
.cloud-page{max-width:780px;margin-inline:auto;padding-block:24px}
.cloud-page form{display:grid;gap:16px;margin-block:24px}
.cloud-page .reader-field{display:grid;gap:8px;font-size:1rem;font-weight:bold}
.cloud-page input,.cloud-page select{max-width:100%;min-height:48px;padding:10px 12px;color:#164e3d;background:#fffef8;border:1px solid #829880;border-radius:10px;font:inherit}
.cloud-page .check-label input{min-height:24px;width:24px;flex:none}
.cloud-page .topic-card{width:100%;text-align:left;font:inherit}
.cloud-feedback:not(:empty){padding:14px;color:#164e3d;background:#e7efdf;border-radius:12px;line-height:1.6}

/* Recovery release: no hidden subject library, explicit content provenance. */
.content-warning{margin:12px auto;padding:12px 18px;max-width:1100px;border:1px solid #b47f24;background:#fff7df;border-radius:12px;font-size:.9rem;line-height:1.5}.learning-table-wrap{overflow:auto}.learning-table{width:100%;border-collapse:collapse}.learning-table th,.learning-table td{padding:12px;text-align:left;border-bottom:1px solid #dae2d8}.learning-table small{display:block}.coverage-summary{padding:18px;border:1px solid #dae2d8;border-radius:16px;margin:18px 0}.content-library{margin-top:24px}

/* 0.13 — gentle motivation + school management. */
.rhythm-pill{display:inline-flex;align-items:center;gap:8px;margin:4px 0 0;padding:7px 10px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:.8125rem;line-height:1.3}.rhythm-pill .ui-icon{width:18px;height:18px}.rhythm-summary{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:16px 18px;border:1px solid var(--edge);border-radius:16px;background:var(--soft)}.rhythm-summary .ui-icon{width:28px;height:28px;flex:none}.rhythm-summary div{display:grid;gap:4px}.rhythm-summary span{color:var(--muted);line-height:1.5}.cane-companion{position:absolute;z-index:4;left:52%;top:30%;transform:translateX(-8%);width:clamp(38px,5vw,58px);filter:drop-shadow(0 3px 5px rgb(18 70 52 / .18));pointer-events:none}.cane-companion img{display:block;width:100%;height:auto}.app[data-reduced=true] .cane-companion{animation:none}
.login-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:22px}.login-card{padding:20px;border:1px solid var(--edge);border-radius:18px;background:#fff}.login-card h2{margin:.35rem 0}.login-card form{margin-bottom:8px}.student-login-card{background:var(--soft)}.workspace-notice .primary-button{margin-top:8px}.error-status-static{border:1px solid #a15a41;background:#fff7f1;color:#642215}
.success-status-static{border:1px solid #b8d5c1;background:#edf7ef;color:#245b3d}
.school-page{max-width:1180px;margin-inline:auto;padding-top:12px;padding-bottom:34px}.school-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 0 16px}.school-head h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1;margin:.5rem 0}.school-head p{margin:0;color:var(--muted)}.eyebrow{display:block;color:var(--muted);font-weight:800;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase}.compact-field{display:grid;gap:6px;font-size:.8rem;font-weight:700;min-width:min(280px,100%)}.compact-field select,.school-page input,.school-page select,.school-page textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--edge);border-radius:10px;min-height:46px;padding:10px 12px;max-width:100%}.school-nav{display:flex;gap:6px;overflow-x:auto;padding:5px;margin:0 0 24px;border-bottom:1px solid var(--edge);scrollbar-width:thin}.school-nav a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border-radius:10px;white-space:nowrap;color:var(--muted);font-weight:700}.school-nav a.is-active,.school-nav a:hover{background:var(--soft);color:var(--ink)}.school-nav .ui-icon{width:20px;height:20px}.school-intro,.admin-hero{max-width:780px;margin:10px 0 24px}.school-intro h2,.admin-hero h2,.section-heading h2{font-size:clamp(1.6rem,4vw,2.4rem);margin:.35rem 0 .5rem}.school-intro p,.admin-hero p,.section-heading p{color:var(--muted);line-height:1.6}.admin-hero{padding:24px;border:1px solid var(--edge);border-radius:20px;background:var(--soft)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 26px}.metric-grid>a,.metric-grid>div{display:grid;gap:4px;padding:18px;border:1px solid var(--edge);border-radius:16px;background:#fff;color:var(--ink)}.metric-grid strong,.metric-grid dd{font-size:1.8rem;font-weight:800;margin:0}.metric-grid span,.metric-grid dt{color:var(--muted);font-size:.85rem;line-height:1.35}.metric-dl{margin-block:18px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.management-card{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;align-items:start;padding:18px;border:1px solid var(--edge);border-radius:16px;background:#fff}.management-card .ui-icon{grid-row:1/3;width:28px;height:28px}.management-card span{color:var(--muted);font-size:.88rem;line-height:1.45}.split-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);gap:28px;align-items:start}.form-card,.access-card{padding:20px;border:1px solid var(--edge);border-radius:18px;background:var(--soft)}.form-card{position:sticky;top:12px}.form-card h3,.access-card h3{margin:.1rem 0 .7rem}.school-page form{display:grid;gap:15px;margin-top:14px}.school-page form>label,.school-page fieldset{display:grid;gap:7px;font-weight:700}.school-page fieldset{border:0;padding:0;margin:0}.school-page legend{font-weight:800;margin-bottom:5px}.school-page .check-label{display:flex;font-weight:500;padding:3px 0}.school-page .check-label input{width:21px;min-height:21px;padding:0}.management-list{display:grid;gap:8px}.management-row,.class-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:1px solid var(--edge);border-radius:13px;background:#fff;color:var(--ink);text-align:left;font:inherit}.management-row>span,.management-row>a,.class-card>div:first-child{display:grid;gap:4px;min-width:0}.management-row strong,.class-card strong{overflow-wrap:anywhere}.management-row small,.class-card small{color:var(--muted);line-height:1.35}.management-row .ui-icon{flex:none}.management-row button{flex:none}.subject-chips{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.subject-chips a,.teacher-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:var(--soft);font-size:.82rem;font-weight:700}.teacher-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:12px 14px;border:1px solid var(--edge);border-radius:14px}.teacher-pill input{width:18px;height:18px;accent-color:var(--ink)}.icon-button{min-width:42px;min-height:42px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:1.4rem}.icon-button:hover{background:var(--soft)}.switch-line{display:flex;align-items:center;gap:7px;font-size:.82rem}.switch-line input{width:20px;min-height:20px}.access-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:22px;align-items:start;margin-top:26px}.school-feedback{margin-bottom:14px}.empty-state{padding:30px 18px;text-align:center;color:var(--muted);border:1px dashed var(--edge);border-radius:16px}.muted{color:var(--muted);line-height:1.5}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:8px 0 18px}
@media(max-width:760px){.login-choice,.split-layout,.access-card{grid-template-columns:1fr}.form-card{position:static}.quick-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(3,1fr)}.school-head{align-items:stretch;flex-direction:column}.compact-field{width:100%}.class-card{align-items:flex-start;flex-direction:column}.subject-chips{justify-content:flex-start}.management-row{padding:12px}.cane-companion{top:33%}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.school-nav{margin-inline:-6px}.school-nav a{padding-inline:10px}.login-card{padding:16px}}
.student-material-list{display:grid;gap:14px;margin-top:20px}.student-material-card{padding:18px 20px;border:1px solid var(--edge);border-radius:16px;background:#fff}.student-material-card h2{margin:.35rem 0 .7rem;font-size:1.15rem}.student-material-card p{white-space:normal;line-height:1.65;color:var(--ink)}.student-material-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem;font-weight:700}.student-material-card .form-actions{margin-top:14px}

/* 0.14 — gestión más clara y catálogo editorial. */
.app-header{justify-content:space-between;gap:12px}
.header-management-link{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;border-radius:12px;color:var(--muted)}
.header-management-link:hover,.header-management-link.is-active{background:var(--soft);color:var(--ink)}
.header-management-link .ui-icon{width:26px;height:26px}
.header-management-link[hidden]{display:none!important}
.school-page{padding-inline:clamp(12px,2.4vw,30px)}
.school-page input,.school-page select,.school-page textarea{width:100%;min-width:0}
.school-page input[type=checkbox],.school-page input[type=radio]{width:auto}
.school-page input[type=file]{display:block;overflow:hidden;padding:8px;min-height:50px}
.catalog-publisher{display:grid;gap:16px}
.catalog-publish-form{display:grid;gap:20px;margin:0!important}
.catalog-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catalog-filter-grid label,.catalog-level-grid label{display:grid;gap:7px;font-weight:700;min-width:0}
.catalog-items{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:10px!important;margin:0!important}
.catalog-items legend{grid-column:1/-1;margin-bottom:4px}
.catalog-choice{display:block!important;padding:0!important;min-width:0}
.catalog-choice>input{position:absolute;opacity:0;pointer-events:none}
.catalog-choice>span{display:flex;align-items:flex-start;gap:11px;min-height:74px;padding:13px 14px;border:1px solid var(--edge);border-radius:14px;background:#fff;cursor:pointer}
.catalog-choice>span>.ui-icon{width:24px;height:24px;flex:none;margin-top:2px}
.catalog-choice>span>span{display:grid;gap:4px;min-width:0}
.catalog-choice small{color:var(--muted);font-weight:500;line-height:1.35}
.catalog-choice>input:checked+span{background:var(--soft);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.catalog-choice>input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.catalog-choice[hidden]{display:none!important}
.catalog-publish-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:4px}
.published-section{margin-top:34px;padding-top:24px;border-top:1px solid var(--edge)}
.catalog-admin-card{margin-top:34px;padding:22px;border:1px solid var(--edge);border-radius:18px;background:var(--soft)}
.catalog-admin-card details{max-width:760px}
.catalog-admin-card summary{cursor:pointer;font-weight:800;padding:8px 0}
.catalog-upload-form{max-width:720px}
.catalog-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-card details{margin-top:16px}
.form-card details summary{cursor:pointer;font-weight:800}
.school-feedback.error-status-static{margin-bottom:14px}

@media(max-width:900px){
  .catalog-filter-grid{grid-template-columns:1fr 1fr}
  .catalog-filter-grid label:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .catalog-filter-grid,.catalog-level-grid{grid-template-columns:1fr}
  .catalog-filter-grid label:last-child{grid-column:auto}
  .catalog-publish-actions{align-items:stretch;flex-direction:column}
  .catalog-publish-actions .primary-button{width:100%;text-align:center}
  .catalog-admin-card{padding:16px}
}

/* 0.16 — layout unificado, superadmin y catálogos grandes. */
:root{--page-gutter:clamp(16px,4vw,50px)}
.app-header{padding-inline:var(--page-gutter)}
.app-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.header-management-link,.header-signout{width:auto;min-width:46px;height:46px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;background:transparent;color:var(--muted);font-weight:700;border:0}
.header-management-link:hover,.header-management-link.is-active,.header-signout:hover{background:var(--soft);color:var(--ink)}
.header-management-link .ui-icon,.header-signout .ui-icon{width:23px;height:23px}
.header-signout[hidden]{display:none!important}
.app.is-superadmin>.app-footer,.app.is-management-only>.app-footer{display:none}
.app.is-superadmin,.app.is-management-only{grid-template-rows:auto minmax(0,1fr)}
.view-wrap,.school-page,.cloud-page,.simple-page,.detail-wrap,.session-wrap{width:100%;max-width:none;margin-inline:0;padding-inline:var(--page-gutter)}
.school-page{padding-top:12px;padding-bottom:34px}
.garden-head{padding-inline:var(--page-gutter)}
.content-warning{max-width:none;margin-inline:var(--page-gutter)}
.management-header{align-items:flex-end}
.management-header-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.header-logout{white-space:nowrap}
.wide-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:28px;align-items:start}
.center-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.center-shortcuts a{padding:8px 10px;border-radius:9px;background:#fff;border:1px solid var(--edge);font-weight:700;font-size:.84rem}
.management-row.is-selected{border-color:var(--ink);background:var(--soft)}
.platform-metrics{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.stats-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;margin-top:28px}
.activity-bars{display:grid;gap:12px}.activity-row{display:grid;grid-template-columns:minmax(100px,1fr) auto;gap:7px 12px;align-items:center}.activity-row span{font-variant-numeric:tabular-nums}.activity-row i{grid-column:1/-1;display:block;width:var(--value);height:8px;border-radius:999px;background:var(--ink);opacity:.7}
.status-pill{padding:5px 9px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:.76rem;font-weight:800;white-space:nowrap}
.search-field{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:7px 10px;border:1px solid var(--edge);border-radius:12px;background:#fff;position:sticky;top:0;z-index:3}.search-field input{border:0!important;padding:4px!important;min-height:36px!important;background:transparent!important}.search-field input:focus{outline:0}.search-field .ui-icon{width:20px;height:20px}
.catalog-scroll{max-height:min(62vh,720px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:6px;scroll-behavior:auto}
.catalog-bank{display:grid;gap:12px;padding:16px;margin-bottom:10px;border:1px solid var(--edge);border-radius:16px;background:#fff}.catalog-bank-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.catalog-bank h3{margin:.25rem 0}.catalog-bank p{margin:.2rem 0;color:var(--muted);line-height:1.45}.catalog-bank details>summary{cursor:pointer;font-weight:800;padding:8px 0}.word-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:340px;overflow:auto;overscroll-behavior:contain;padding:6px 4px 6px 0}.word-choice{display:flex!important;align-items:flex-start;gap:8px;padding:9px 10px!important;border:1px solid var(--edge);border-radius:11px;background:var(--paper);font-weight:500!important}.word-choice input{margin-top:3px;flex:none}.word-choice span{display:grid;gap:2px;min-width:0}.word-choice small{color:var(--muted)}.word-choice em{font-style:normal;color:var(--muted);font-size:.82rem}.published-scroll{max-height:min(45vh,520px)}
.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.static-card{position:static}.danger-card{background:#fff9f2}.history-row{padding:12px 15px;border:1px solid var(--edge);border-radius:12px;background:#fff}.history-row summary{cursor:pointer}.mini-stats{display:flex;gap:18px;flex-wrap:wrap}.mini-stats div{display:grid;gap:2px}.mini-stats dt{font-size:.78rem;color:var(--muted)}.mini-stats dd{margin:0;font-weight:800}
.single-access{grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}

@media(max-width:900px){.wide-split,.stats-layout,.year-grid{grid-template-columns:1fr}.management-header{align-items:stretch;flex-direction:column}.management-header-actions{justify-content:flex-start}.single-access{grid-template-columns:1fr}.catalog-scroll{max-height:58vh}}
@media(max-width:600px){:root{--page-gutter:16px}.header-management-link span,.header-signout span{display:none}.header-management-link,.header-signout{padding:0;width:44px}.word-picker{grid-template-columns:1fr}.catalog-bank{padding:13px}.school-nav{margin-inline:-6px}}
.word-search{display:flex!important;align-items:center;gap:7px;margin:6px 0 8px;padding:5px 9px!important;border:1px solid var(--edge);border-radius:10px;background:#fff;font-weight:500!important}.word-search input{border:0!important;background:transparent!important;padding:4px!important;min-height:34px!important}.word-search input:focus{outline:0}.word-search .ui-icon{width:18px;height:18px;flex:none}
.catalog-filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

/* 0.17 — adult-only family portal, family codes and profile switching. */
.header-family-link,.header-notifications-link{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:46px;height:46px;padding:0 12px;border-radius:12px;color:var(--muted);font-weight:700}
.header-family-link:hover,.header-notifications-link:hover{background:var(--soft);color:var(--ink)}
.header-family-link[hidden],.header-notifications-link[hidden]{display:none!important}
.header-family-link .ui-icon,.header-notifications-link .ui-icon{width:23px;height:23px}
.notification-badge{position:absolute;right:3px;top:2px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--ink);color:#fff;font-size:.68rem;font-weight:900;line-height:19px;text-align:center;box-shadow:0 0 0 2px var(--paper)}
.notification-badge[hidden]{display:none!important}
.adult-login-shell{display:grid;grid-template-columns:minmax(0,620px);justify-content:center;margin:24px 0}.primary-login-card{padding:clamp(20px,4vw,32px)}.google-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;border:1px solid var(--edge);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.google-button:hover{background:var(--soft)}.google-g{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:900}.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);margin:18px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--edge);flex:1}.compact-notice{padding:12px 14px;margin:12px 0}.compact-notice p{margin:.35rem 0 0}.password-login{max-width:620px;margin:14px auto 0}
.family-link-card{max-width:720px;margin:26px auto;padding:clamp(20px,4vw,32px);border:1px solid var(--edge);border-radius:20px;background:var(--soft)}.family-link-card h2{margin:.35rem 0}.portal-switcher{margin:22px 0 30px}.profile-switch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.profile-switch-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px;border:1px solid var(--edge);border-radius:16px;background:#fff;color:var(--ink);text-align:left;font:inherit;min-height:88px}.profile-switch-card:hover{background:var(--soft);border-color:color-mix(in srgb,var(--ink) 35%,var(--edge))}.profile-switch-card>span:nth-child(2){display:grid;gap:4px;min-width:0}.profile-switch-card small{color:var(--muted);line-height:1.35}.profile-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--soft)}.profile-avatar .ui-icon{width:27px;height:27px}.adult-profile{background:var(--soft)}
.family-page,.notifications-page{padding-top:18px;padding-bottom:34px}.family-identity-strip{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 22px}.family-identity-strip>div{display:grid;gap:3px;padding:9px 12px;border:1px solid var(--edge);border-radius:12px;background:#fff}.family-identity-strip span{color:var(--muted);font-size:.8rem}.family-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px}.family-child-card{padding:20px;border:1px solid var(--edge);border-radius:18px;background:#fff}.family-child-head{display:flex;align-items:center;gap:12px}.family-child-head h2{margin:0;font-size:1.4rem}.family-child-head p{margin:3px 0 0;color:var(--muted)}.family-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.family-kpis>div{display:grid;gap:3px;padding:12px;border-radius:12px;background:var(--soft)}.family-kpis strong{font-size:1.45rem}.family-kpis span{font-size:.76rem;color:var(--muted)}.subject-chip-row{display:flex;gap:6px;flex-wrap:wrap}.subject-chip-row span{padding:6px 8px;border-radius:999px;background:var(--soft);font-size:.78rem;font-weight:700}.family-principles{margin:24px 0;padding:18px;border-radius:16px;background:var(--soft);max-width:820px}.family-principles h2{margin:0 0 6px}
.notification-list{display:grid;gap:10px;max-width:980px}.notification-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:16px 18px;border:1px solid var(--edge);border-radius:16px;background:#fff}.notification-card.is-unread{border-color:color-mix(in srgb,var(--ink) 35%,var(--edge));box-shadow:inset 4px 0 0 var(--ink)}.notification-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--soft)}.notification-icon .ui-icon{width:24px;height:24px}.notification-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.76rem;font-weight:700}.notification-card h2{margin:4px 0 5px;font-size:1.05rem}.notification-card p{margin:.25rem 0;line-height:1.5}
.family-admin-list{display:grid;gap:12px}.family-admin-card{padding:17px;border:1px solid var(--edge);border-radius:16px;background:#fff}.family-admin-card[hidden]{display:none!important}.family-admin-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.family-admin-head h3{margin:.25rem 0}.family-admin-head p{margin:0;color:var(--muted);line-height:1.45}.family-adults{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.family-adults>span{display:grid;gap:1px;padding:7px 9px;border-radius:10px;background:var(--soft);font-size:.82rem}.family-adults small{color:var(--muted)}.family-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.family-admin-card details{margin-top:10px;padding-top:10px;border-top:1px solid var(--edge)}.family-admin-card summary{cursor:pointer;font-weight:800}.family-child-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:7px;max-height:320px;overflow:auto;overscroll-behavior:contain;padding:6px 4px 6px 0}.family-child-picker .check-label{align-items:flex-start;padding:9px 10px!important;border:1px solid var(--edge);border-radius:11px;background:#fff}.family-child-picker .check-label span{display:grid;gap:2px}.family-child-picker small{color:var(--muted);font-weight:500}.compact-family-picker{max-height:390px}.learner-admin-grid{margin-top:24px}.learner-identity-card,.family-link-summary{margin-top:0;grid-template-columns:1fr}.family-link-summary{background:#fff}

@media(max-width:760px){.header-family-link span{display:none}.header-family-link,.header-notifications-link{padding:0;width:44px}.profile-switch-grid,.family-dashboard-grid{grid-template-columns:1fr}.family-kpis{grid-template-columns:repeat(3,1fr)}.family-admin-head,.notification-meta{flex-direction:column}.family-child-picker{grid-template-columns:1fr}}
@media(max-width:430px){.family-kpis{grid-template-columns:1fr}.notification-card{grid-template-columns:1fr}.notification-icon{width:38px;height:38px}}

/* Cambridge 0.17 patch */
.cambridge-unit{max-width:1100px;margin-inline:auto}.cambridge-unit-hero{padding:24px;border:1px solid var(--edge);border-radius:22px;background:var(--soft);margin-bottom:24px}.cambridge-unit-hero h1{margin:.35rem 0 .5rem}.cambridge-unit-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.cambridge-unit-meta span{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--edge);font-size:.82rem;font-weight:700}.cambridge-section{margin:26px 0}.cambridge-vocabulary{border:1px solid var(--edge);border-radius:16px;background:#fff;padding:0 16px}.cambridge-vocabulary summary{padding:14px 0;cursor:pointer;font-weight:800}.cambridge-word-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;padding:0 0 16px}.cambridge-word{display:grid;gap:3px;padding:10px;border:1px solid var(--edge);border-radius:12px;background:var(--paper)}.cambridge-word span,.cambridge-word small{color:var(--muted)}.cambridge-grammar-list,.cambridge-practice-list{display:grid;gap:12px}.cambridge-grammar,.cambridge-practice,.cambridge-text{border:1px solid var(--edge);border-radius:16px;background:#fff}.cambridge-grammar>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;cursor:pointer}.cambridge-grammar>summary span{display:grid;gap:4px}.cambridge-grammar>summary small{color:var(--muted);font-weight:500}.cambridge-grammar-body{display:grid;gap:14px;padding:0 15px 16px}.grammar-explanation{font-size:1rem;line-height:1.65}.grammar-form{display:grid;gap:5px;padding:12px;border-radius:12px;background:var(--soft)}.grammar-form span{font-size:.75rem;font-weight:800;color:var(--muted);text-transform:uppercase}.grammar-form code{white-space:normal;font-size:.95rem}.grammar-examples{display:grid;gap:8px}.grammar-examples>div{display:grid;gap:2px;padding:11px;border-left:4px solid var(--green);background:#f8fbf6}.grammar-examples span{color:var(--muted);font-size:.9rem}.grammar-mistake{padding:12px;border-radius:12px;background:#fff4ee}.grammar-mistake p{display:grid;gap:3px;margin-top:6px}.grammar-mistake small{color:var(--muted)}.memory-tip{display:flex;gap:9px;align-items:flex-start;padding:11px;border-radius:12px;background:#fff8d9}.memory-tip .ui-icon{flex:none}.cambridge-check{display:grid;gap:10px;padding:12px;border:1px dashed var(--edge);border-radius:12px}.cambridge-check .form-actions{display:flex;gap:8px;flex-wrap:wrap}.cambridge-practice{padding:15px}.practice-heading{display:flex;gap:12px;align-items:flex-start}.activity-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--soft);font-weight:800;flex:none}.practice-heading p{margin:.2rem 0;color:var(--muted)}.practice-stem,.sentence-target{font-size:1.05rem;font-weight:700;margin:14px 0}.conversation-strip,.cambridge-reading-text{display:grid;gap:6px;margin:14px 0;padding:13px;border-radius:13px;background:var(--soft);line-height:1.65}.choice-grid.compact{display:flex;flex-wrap:wrap;gap:8px}.choice-grid.compact .secondary-button{width:auto}.cb-feedback{min-height:1.4em;margin-top:8px;font-weight:700}.cb-feedback[data-state=ok]{color:#27633f}.cb-feedback[data-state=retry]{color:#8a4d19}.cambridge-text{padding:17px;margin-bottom:14px}.cambridge-text h3{margin-top:0}.cambridge-text-question{display:grid;gap:9px;padding:12px 0;border-top:1px solid var(--edge)}.cambridge-text-question form{display:flex;gap:8px;flex-wrap:wrap}.cambridge-text-question input{flex:1;min-width:180px}.cambridge-bank{background:#fbfff9}.cambridge-publisher-panel:empty{display:none}.cambridge-publisher{display:grid;gap:14px;padding-top:14px;border-top:1px solid var(--edge)}.cambridge-publisher-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.cambridge-publisher details{border:1px solid var(--edge);border-radius:13px;padding:0 12px;background:var(--paper)}.cambridge-publisher details>summary{padding:12px 0;cursor:pointer;font-weight:800}.cb-publish-list{display:grid;gap:8px;padding-bottom:12px}.cb-publish-choice{display:grid!important;grid-template-columns:auto 1fr auto;align-items:start;gap:9px;padding:10px!important;border:1px solid var(--edge);border-radius:11px;background:#fff;font-weight:500!important}.cb-publish-choice>span{display:grid;gap:3px}.cb-publish-choice small,.cb-publish-choice em{color:var(--muted);font-size:.8rem;font-style:normal}.cb-publish-choice.is-draft,.word-choice.is-draft{opacity:.66}.cb-publish-choice .back-link{margin:0;padding:4px 6px;min-height:36px}.catalog-publish-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.cambridge-home .topic-card.is-muted{opacity:.68}.cloud-status[hidden]{display:none!important}
@media(max-width:700px){.cambridge-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cb-publish-choice{grid-template-columns:auto 1fr}.cb-publish-choice .back-link{grid-column:2}.cambridge-text-question form{display:grid}.catalog-publish-actions{align-items:stretch}.catalog-publish-actions .primary-button{width:100%}}

/* 0.18 — profile context is always visible and easy to switch. */
.header-profile-wrap{position:relative}.header-profile-switch{display:inline-flex;align-items:center;gap:8px;min-height:46px;max-width:min(360px,42vw);padding:5px 10px;border:1px solid var(--edge);border-radius:13px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.header-profile-switch[hidden]{display:none!important}.header-profile-switch:hover,.header-profile-switch[aria-expanded="true"]{background:var(--soft)}.header-profile-switch>.ui-icon:first-child{width:24px;height:24px;flex:none}.header-profile-switch>.ui-icon:last-child{width:18px;height:18px;flex:none}.header-profile-copy{display:grid;min-width:0;line-height:1.15}.header-profile-copy strong,.header-profile-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-profile-copy strong{font-size:.86rem}.header-profile-copy small{font-size:.72rem;color:var(--muted);margin-top:3px}.header-profile-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:30;width:min(360px,calc(100vw - 24px));max-height:min(70vh,560px);overflow:auto;padding:8px;border:1px solid var(--edge);border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(34,53,42,.16)}.header-profile-menu[hidden]{display:none!important}.profile-menu-heading{padding:8px 10px 6px;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.profile-menu-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;width:100%;min-height:52px;padding:9px 10px;border:0;border-radius:11px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.profile-menu-item:hover,.profile-menu-item:focus-visible,.profile-menu-item.is-active{background:var(--soft)}.profile-menu-item.is-active{box-shadow:inset 3px 0 0 var(--ink)}.profile-menu-item .ui-icon{width:22px;height:22px}.profile-menu-item span{display:grid;gap:2px;min-width:0}.profile-menu-item strong,.profile-menu-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-item small{color:var(--muted);font-size:.75rem}.profile-menu-empty{padding:8px 10px;color:var(--muted);font-size:.8rem}.app.is-superadmin>.app-header,.app.is-management-only>.app-header{display:flex}
@media(max-width:760px){.header-profile-switch{max-width:52vw}.header-profile-copy strong{font-size:.8rem}.header-profile-copy small{font-size:.68rem}.header-signout{width:44px;padding:0}.header-signout span{display:none}.header-management-link span{display:none}.header-management-link{width:44px;padding:0}.brand-name{display:none}}
@media(max-width:450px){.app-header{gap:6px}.header-profile-wrap{position:static}.header-profile-switch{max-width:58vw;padding-inline:8px}.header-profile-menu{position:fixed;left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 62px);width:auto;max-height:calc(100dvh - 82px);z-index:80}.header-family-link,.header-notifications-link{display:none!important}}

/* Review-before-publish dialog: same visual language as the learner app. */
.student-preview-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--paper);color:var(--ink)}.student-preview-dialog::backdrop{background:rgba(22,35,28,.48)}.student-preview-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}.student-preview-toolbar,.student-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--edge)}.student-preview-actions{border-top:1px solid var(--edge);border-bottom:0}.student-preview-toolbar>div{display:grid;gap:2px;min-width:0}.student-preview-toolbar{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.student-preview-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.student-preview-toolbar small{color:var(--muted)}.student-preview-body{overflow:auto;padding:14px 0}.student-preview-body .view-wrap{padding-inline:clamp(14px,3vw,30px)}.student-preview-body .back-row{display:none}.student-preview-body a{pointer-events:none}.student-preview-body .app-footer{display:none}.review-required-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:.84rem}.review-required-note .ui-icon{width:19px;height:19px;flex:none}

/* 0.18 — login prioritises returning users. */
.login-page{max-width:680px}.accessible-login-shell{display:grid!important;grid-template-columns:1fr!important;gap:14px}.primary-login-card{border-width:2px}.login-main-action{width:100%;justify-content:center;min-height:52px;font-size:1.05rem}.login-profile-note{margin:14px 0 0}.login-alternative{padding:0!important;overflow:hidden}.login-alternative>summary{display:flex;align-items:center;min-height:54px;padding:14px 18px;font-weight:800;cursor:pointer}.login-alternative>summary:focus-visible{outline:3px solid currentColor;outline-offset:-4px}.login-alternative-body{padding:0 18px 18px}.login-recovery{min-height:44px;margin-top:6px}

/* 0.18 — clear programme separation in the teacher publisher. */
.publisher-programme-group{display:grid;gap:12px;margin:0 0 26px;padding:16px;border:1px solid var(--edge);border-radius:18px;background:#fff}.publisher-programme-heading{display:grid;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--edge)}.publisher-programme-heading h3{margin:0;font-size:1.3rem}.publisher-programme-heading p{margin:0;color:var(--muted);line-height:1.5}.publisher-programme-group>.catalog-bank{margin:0}.publisher-programme-group>.catalog-bank+.catalog-bank{margin-top:2px}

/* v0.18.1 · publicación docente por pasos */
.publisher-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:12px;border:1px solid var(--edge);border-radius:16px;background:var(--paper)}
.publisher-steps label{display:grid;gap:6px;margin:0}.publisher-steps label>span{font-size:.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.publisher-steps select{min-height:44px}
.publisher-status-tabs{display:flex;gap:6px;margin:0 0 14px}.publisher-status-tabs a{padding:9px 13px;border:1px solid var(--edge);border-radius:999px;font-weight:750;background:#fff}.publisher-status-tabs a[aria-current=page]{background:var(--soft);border-color:var(--green);color:var(--ink)}
.publisher-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}.publisher-gallery-card{position:relative;display:grid;gap:7px;min-height:138px;padding:16px;border:1px solid var(--edge);border-radius:16px;background:#fff;color:var(--ink);text-decoration:none}.publisher-gallery-card:hover{border-color:var(--green);box-shadow:0 6px 18px #164e3d12}.publisher-gallery-card:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.publisher-gallery-card strong{font-size:1.12rem}.publisher-gallery-card small{color:var(--muted)}.publisher-gallery-card .status-pill{justify-self:start}.status-pill.is-soft{background:var(--soft);color:var(--muted)}
.publisher-focus{max-width:1040px;margin-inline:auto}.publisher-focus .section-heading.compact{margin-bottom:12px}.catalog-bank.is-detail{margin:0;padding:16px}.block-detail-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 13px;margin-bottom:12px;border-radius:12px;background:var(--soft)}.compact-picker{max-height:min(42vh,420px);overflow:auto;padding-right:4px}
.student-preview-body .topic-card a,.student-preview-body .topic-card button{pointer-events:auto}
@media(max-width:760px){.publisher-steps{grid-template-columns:1fr}.publisher-gallery{grid-template-columns:1fr 1fr}.publisher-gallery-card{min-height:120px}}
@media(max-width:480px){.publisher-gallery{grid-template-columns:1fr}}

/* v0.19 · jardín: indicadores compactos y panda compañero sentado en la caña */
.garden-head{display:grid;gap:12px;align-items:start}
.garden-head-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.garden-head-note{margin:4px 0 0;color:var(--muted);font-size:.84rem;line-height:1.35}
.garden-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%}
.garden-metric{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;min-height:72px;padding:10px 11px;border:1px solid var(--edge);border-radius:15px;background:#fff;color:var(--ink);text-decoration:none}
.garden-metric:hover{border-color:var(--green);background:var(--soft)}
.garden-metric:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.garden-metric-icon{display:grid;place-items:center;width:28px;height:28px}
.garden-metric-icon .ui-icon{width:26px;height:26px}
.garden-metric-copy{display:grid;gap:3px;min-width:0}
.garden-metric-copy strong{font-size:1rem;line-height:1.1}
.garden-metric-copy small{color:var(--muted);font-size:.72rem;line-height:1.25}
.cane-companion-svg{pointer-events:none;filter:drop-shadow(0 3px 4px rgb(18 70 52 / .16))}
@media(max-width:680px){.garden-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.garden-metric{grid-template-columns:22px minmax(0,1fr);padding:8px;gap:6px;min-height:66px}.garden-metric-icon,.garden-metric-icon .ui-icon{width:22px;height:22px}.garden-metric-copy strong{font-size:.9rem}.garden-metric-copy small{font-size:.66rem}.garden-help span{display:none}}
@media(max-width:430px){.garden-metric{grid-template-columns:1fr;justify-items:start}.garden-metric-copy strong{font-size:.86rem}.garden-metric-copy small{font-size:.63rem}.garden-metric-icon,.garden-metric-icon .ui-icon{width:20px;height:20px}}

/* v0.19 · publicación docente: un paso cada vez, galería y ficha de bloque */
.publisher-wizard{max-width:1050px;margin-inline:auto}
.publisher-wizard-head{display:grid;gap:5px;margin:8px 0 18px}
.publisher-wizard-head h2{margin:0;font-size:clamp(1.45rem,3vw,2rem)}
.publisher-wizard-head p{margin:0;color:var(--muted);line-height:1.5}
.publisher-trail{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 16px;color:var(--muted);font-size:.8rem}
.publisher-trail a,.publisher-trail span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:var(--soft);color:inherit;text-decoration:none}
.publisher-trail a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.publisher-trail .ui-icon{width:16px;height:16px}
.publisher-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}
.publisher-choice-card{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:92px;padding:15px;border:1px solid var(--edge);border-radius:17px;background:#fff;color:var(--ink);text-decoration:none}
.publisher-choice-card:hover{border-color:var(--green);box-shadow:0 6px 18px #164e3d10}
.publisher-choice-card:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.publisher-choice-card>.card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--soft)}
.publisher-choice-card>.card-icon .ui-icon{width:28px;height:28px}
.publisher-choice-card>span:nth-child(2){display:grid;gap:5px}
.publisher-choice-card strong{font-size:1.05rem}.publisher-choice-card small{color:var(--muted);line-height:1.3}
.publisher-gallery{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.publisher-gallery-card{min-height:154px;align-content:start}
.publisher-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--soft)}
.publisher-card-icon .ui-icon{width:24px;height:24px}
.block-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:4px 0 16px;padding-bottom:13px;border-bottom:1px solid var(--edge)}
.block-sheet-head>div{display:grid;gap:5px}.block-sheet-head h2{margin:0;font-size:clamp(1.45rem,3vw,2rem)}.block-sheet-head p{margin:0;color:var(--muted)}
.block-primary-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.block-primary-actions .primary-button,.block-primary-actions .secondary-button{min-height:46px}
.block-selection-summary{display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid var(--edge);border-radius:14px;background:var(--soft);margin-bottom:14px}
.block-selection-summary .ui-icon{width:22px;height:22px}
.block-selection-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.block-selection-overview>div{display:grid;gap:2px;padding:10px 11px;border:1px solid var(--edge);border-radius:13px;background:var(--paper)}
.block-selection-overview span,.block-selection-overview small{color:var(--muted);font-size:.73rem}.block-selection-overview strong{font-size:1.2rem}
.block-edit-details{border:1px solid var(--edge);border-radius:13px;background:var(--paper);padding:0 12px;margin:8px 0}
.block-edit-details>summary{padding:12px 0;cursor:pointer;font-weight:800}
.block-note-field{display:grid;gap:6px;margin-top:12px}.block-note-field textarea{resize:vertical}
.danger-link{color:#8a3d2f}
.student-preview-body a{pointer-events:auto}
.teacher-mode-preview{display:grid;gap:16px}.teacher-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.teacher-preview-card{display:grid;gap:5px;padding:13px;border:1px solid var(--edge);border-radius:14px;background:#fff}.teacher-preview-card.is-wide{grid-column:1/-1}.teacher-preview-card span,.teacher-preview-card small,.teacher-preview-card em{color:var(--muted);font-style:normal}.teacher-preview-card p{margin:.25rem 0;line-height:1.55}
.cambridge-mode-grid .topic-card{width:100%;text-align:left;border:1px solid var(--edge);background:#fff;color:var(--ink);cursor:pointer}
@media(max-width:760px){.publisher-choice-grid{grid-template-columns:1fr 1fr}.block-selection-overview{grid-template-columns:1fr 1fr}.block-sheet-head{flex-direction:column}.student-preview-actions{align-items:stretch;flex-direction:column}.student-preview-actions .primary-button{width:100%}}
@media(max-width:480px){.publisher-choice-grid{grid-template-columns:1fr}.block-selection-overview{grid-template-columns:1fr 1fr}.publisher-status-tabs{display:grid;grid-template-columns:1fr 1fr}.block-primary-actions{display:grid;grid-template-columns:1fr}.block-primary-actions .primary-button,.block-primary-actions .secondary-button{width:100%}}
.cambridge-inner-back{margin-bottom:10px}.student-preview-body .cambridge-inner-back{display:block}

/* Shared Bambú vocabulary visuals: local WebP illustrations with emoji fallback power Arcade and review. */
.word-picture-emoji{border:0;background:transparent;overflow:visible;display:grid;place-items:center;font-size:clamp(3.6rem,9vw,6.4rem);line-height:1}.answers .word-picture{height:82px;margin:0 auto 7px}.answer-visual{display:grid;justify-items:center;gap:5px;min-height:132px}.answer-visual>span:last-child{font-weight:650}.flashcard .word-picture{width:min(180px,60%);height:120px;margin:0 auto 12px}.pair-grid .word-picture{height:58px;margin:0 auto 5px}.pair-grid .word-picture-emoji{font-size:2.75rem}.pair-label{display:block}
.teacher-material-builder{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1.15fr);gap:24px;align-items:start}.vocab-picker{position:relative}.vocab-results{display:grid;gap:6px;max-height:280px;overflow:auto;margin-top:8px}.vocab-result{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;text-align:left;padding:10px 12px;border:1px solid var(--line,#dbe5d8);border-radius:12px;background:#fff;color:inherit}.vocab-result span{justify-self:end;color:#657565}.vocab-result.is-create{display:block;border-style:dashed}.material-word-list{display:flex;flex-wrap:wrap;gap:8px}.material-word-chip{display:flex;align-items:center;gap:8px;border:1px solid #dce6d8;background:#f7faf4;border-radius:14px;padding:8px 9px 8px 12px}.material-word-chip span{display:grid;grid-template-columns:auto auto;column-gap:6px}.material-word-chip em{grid-column:1/-1;font-size:11px;color:#68766a;font-style:normal}.material-word-chip button{border:0;background:#e9efe4;border-radius:50%;width:24px;height:24px}.material-set-card{align-items:center}.material-new-word{max-width:520px;width:calc(100% - 32px);border:0;border-radius:22px;padding:22px}.material-new-word::backdrop{background:#173d3266}.material-new-word form{display:grid;gap:14px}.material-image-preview{min-height:0}.section-heading.compact{margin-top:16px}@media(max-width:760px){.teacher-material-builder{grid-template-columns:1fr}.vocab-result{grid-template-columns:1fr auto}.vocab-result span{grid-column:1/-1;justify-self:start}}

/* v0.20.1 · consistent actions, skeleton loading, Mi material visual editor */
.primary-button,.secondary-button,.danger-button,.compact-button,.family-code-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-height:44px;padding:10px 15px;border-radius:12px;font:inherit;font-weight:800;line-height:1.15;text-align:center;text-decoration:none;white-space:nowrap}
.secondary-button{border:1px solid var(--edge);background:#fff;color:var(--ink)}
.secondary-button:hover{background:var(--soft)}
.compact-button{min-height:40px;padding:8px 12px}
.danger-button{border:1px solid #dfb8b1;background:#fff7f5;color:#8a3d34}.danger-button:hover{background:#fdece8}
.form-actions{align-items:center}.family-code-button{margin-top:8px;width:max-content}
.page-skeleton{display:grid;gap:20px;padding-top:24px;pointer-events:none}.skeleton-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.skeleton-line,.skeleton-card,.skeleton-row,.skeleton-pill{position:relative;overflow:hidden;background:#edf2eb;border-radius:14px}.skeleton-line{height:18px;width:42%;max-width:380px}.skeleton-line.is-title{height:34px;width:36%;min-width:220px}.skeleton-pill{width:110px;height:42px;border-radius:999px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.skeleton-card{height:150px}.skeleton-list{display:grid;gap:10px}.skeleton-row{height:76px}.page-skeleton :is(.skeleton-line,.skeleton-card,.skeleton-row,.skeleton-pill)::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#ffffffaa,transparent);animation:skeleton-shimmer 1.25s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.page-skeleton :is(.skeleton-line,.skeleton-card,.skeleton-row,.skeleton-pill)::after{animation:none}}
.teacher-material-builder{grid-template-columns:minmax(360px,.95fr) minmax(420px,1.15fr)}.material-editor-card{display:grid;gap:16px}.material-selection-section{display:grid;gap:10px;padding-top:4px}.material-flashcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;max-height:520px;overflow:auto;padding:2px 3px 8px}.material-flashcard-grid.is-preview{max-height:none;overflow:visible;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.material-flashcard{position:relative;display:grid;grid-template-rows:112px auto;min-width:0;border:1px solid var(--edge);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 4px 14px #1b4d3d0b}.material-flashcard-visual{position:relative;display:grid;place-items:center;padding:14px;background:var(--soft)}.material-flashcard-visual :is(svg,img){width:84px;height:84px;object-fit:contain}.material-flashcard-visual .shop-emoji{font-size:58px;line-height:1}.material-visual-fallback{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:#fff;color:var(--muted)}.material-flashcard-copy{display:grid;gap:3px;padding:11px 12px 13px}.material-flashcard-copy strong{font-size:1rem}.material-flashcard-copy small{color:var(--green);font-weight:800}.material-flashcard-copy span{color:var(--muted);font-size:.84rem}.material-remove{position:absolute;right:7px;top:7px;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--edge);border-radius:50%;background:#fff;color:var(--ink);font-size:20px;line-height:1}.material-editor-actions{display:flex;justify-content:flex-end;padding-top:14px;margin-top:4px;border-top:1px solid var(--edge)}.material-set-list{gap:12px}.material-set-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding-block:16px}.material-set-copy{display:grid;gap:4px}.material-set-copy p{margin:3px 0 0;color:var(--muted)}.material-set-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.material-set-actions select{min-height:44px;max-width:190px}.vocab-result.is-create{border-color:#9ab7a5;background:#f8fbf6;font-weight:800}.learner-news-intro{max-width:760px;color:var(--muted);line-height:1.6;margin:-4px 0 18px}.learner-notifications-page .notification-card.is-unread{background:#fffdf2;border-color:#e7d487}.learner-notifications-page .notification-icon{background:#fff3b7}
@media(max-width:800px){.teacher-material-builder{grid-template-columns:1fr}.material-set-card{grid-template-columns:1fr}.material-set-actions{justify-content:flex-start}.material-flashcard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-line.is-title{width:60%}}
@media(max-width:450px){.app:not(.is-adult-portal) .header-notifications-link{display:inline-flex!important;width:42px;height:42px}}

/* v0.20.2 · brighter leaf cues and cleaner teacher materials UI */
.new-content-leaf{fill:#ffe45c!important;filter:drop-shadow(0 0 6px #ffe45ccc) drop-shadow(0 0 12px #fff4a0aa)!important;animation:leaf-glow 1.15s ease-in-out infinite!important}
.new-content-leaf-link{cursor:pointer}
@keyframes leaf-glow{0%,100%{opacity:1;filter:drop-shadow(0 0 5px #ffe45cbb) drop-shadow(0 0 10px #fff4a077)}50%{opacity:.58;filter:drop-shadow(0 0 8px #ffe45cee) drop-shadow(0 0 15px #fff4a0cc)}}
@media(prefers-reduced-motion:reduce){.new-content-leaf{animation:none!important;opacity:1!important}}
.material-editor-actions{margin-top:10px}
.material-flashcard-grid{padding-bottom:16px;margin-bottom:4px}
.material-library-gallery{display:grid;gap:14px;margin-top:16px}
.material-library-gallery>summary{cursor:pointer;font-weight:800;list-style:none}
.material-library-gallery>summary::-webkit-details-marker{display:none}
.material-library-grid{max-height:540px;overflow:auto;padding-right:4px}
.material-flashcard.is-library-swatch .material-flashcard-copy{gap:6px}
.material-set-actions{display:grid;justify-items:end;gap:10px}
.material-set-action-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.material-set-publish select,.material-set-actions select{min-width:180px}
.vocab-result{grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:12px}
.vocab-result-visual{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--soft);padding:6px}
.vocab-result-visual :is(svg,img){width:44px;height:44px;object-fit:contain}
.vocab-result-copy{display:grid;gap:2px;justify-self:start}
.vocab-result-copy em{font-style:normal;color:var(--muted)}
.vocab-result>span:last-child{justify-self:end;color:var(--green);font-size:.75rem;font-weight:800;border:1px solid #d6e4d0;background:#f8fbf6;border-radius:999px;padding:4px 8px}
.diagnostic-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.diagnostic-card{display:grid;gap:6px;padding:14px 15px;border:1px solid var(--edge);border-radius:16px;background:#fff}
.diagnostic-card p{margin:0;color:var(--muted)}
.diagnostic-card.is-error{border-color:#e3b7ae;background:#fff7f4}
.diagnostic-card.is-ok{border-color:#cfe2cb;background:#f8fbf6}
@media(max-width:800px){.material-set-actions,.material-set-action-row{justify-items:stretch;justify-content:flex-start}.material-set-action-row{display:grid;grid-template-columns:1fr 1fr}.material-set-action-row select,.material-set-action-row button{width:100%}.vocab-result{grid-template-columns:56px minmax(0,1fr)}.vocab-result>span:last-child{grid-column:2;justify-self:start}}
@media(max-width:520px){.material-set-action-row{grid-template-columns:1fr}.material-library-grid,.material-flashcard-grid{grid-template-columns:1fr 1fr}}
.material-set-actions.material-set-action-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(min-width:801px){.material-set-actions.material-set-action-row{flex-wrap:nowrap}.material-set-actions.material-set-action-row select{max-width:190px}}

/* v0.20.3 · vocabulary library, full-width teacher material builder and single-page scrolling */
main.content{scrollbar-gutter:stable;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.teacher-material-builder{grid-template-columns:minmax(0,1fr);width:100%;gap:30px}
.teacher-material-builder>.material-editor-card{width:100%;box-sizing:border-box}
.vocab-results{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;max-height:none;overflow:visible;margin-top:10px}
.vocab-result{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:116px auto auto;gap:0;align-items:stretch;padding:0;overflow:hidden;border-radius:17px;text-align:left;min-width:0}
.vocab-result-visual{display:grid;place-items:center;width:100%;height:116px;box-sizing:border-box;border-radius:0;padding:12px;background:var(--soft);justify-self:stretch!important}
.vocab-result-visual :is(svg,img){width:88px;height:88px;object-fit:contain}
.vocab-result-copy{display:grid;gap:3px;padding:11px 12px 7px;justify-self:stretch!important;min-width:0}
.vocab-result-copy strong,.vocab-result-copy em,.vocab-result-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vocab-result-copy strong{font-size:1rem;color:var(--ink)}
.vocab-result-copy small{color:var(--green);font-weight:800}.vocab-result-copy em{font-size:.84rem}
.vocab-result>.vocab-result-source{grid-column:auto!important;justify-self:start!important;margin:0 12px 12px;color:var(--green);font-size:.72rem;font-weight:800;border:1px solid #d6e4d0;background:#f8fbf6;border-radius:999px;padding:4px 8px}
.vocab-result.is-create{display:flex;align-items:center;justify-content:center;min-height:78px;padding:14px;grid-column:1/-1;border-style:dashed}
.material-flashcard-grid,.material-library-grid{max-height:none;overflow:visible}

.vocabulary-library-intro{max-width:900px}
.vocabulary-library-metrics{margin-bottom:20px}
.vocabulary-library-panel{display:grid;gap:16px}
.vocabulary-library-toolbar{display:grid;grid-template-columns:minmax(230px,1.6fr) repeat(2,minmax(170px,.8fr)) minmax(260px,1.2fr);gap:12px;align-items:end}
.vocabulary-library-toolbar>label{display:grid;gap:6px}.vocabulary-library-toolbar .library-search{min-width:0}
.library-language-filters{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 11px;border:1px solid var(--edge);border-radius:12px;background:#fff;box-sizing:border-box;flex-wrap:wrap}
.library-language-filters legend{float:left;margin-right:4px;color:var(--muted);font-size:.76rem;font-weight:800}.library-language-filters label,.library-pending-filter{display:flex!important;align-items:center;gap:6px!important;font-size:.84rem;font-weight:750}.library-language-filters input,.library-pending-filter input{width:auto;margin:0}
.library-pending-filter{min-height:44px;padding:0 4px}.vocabulary-library-toolbar>.library-pending-filter,.vocabulary-library-toolbar>[data-library-export-missing]{align-self:center}
.library-result-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;color:var(--muted);font-size:.86rem}.library-result-meta strong{color:var(--ink)}
.vocabulary-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px;align-items:stretch}
.vocabulary-library-card{display:grid;grid-template-rows:150px minmax(0,1fr);min-width:0;border:1px solid var(--edge);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 4px 14px #1b4d3d0b}
.vocabulary-library-card.is-asset-only{border-style:dashed}
.library-card-visual{position:relative;display:grid;place-items:center;padding:14px;background:var(--soft);min-width:0}.library-card-visual img{width:120px;height:120px;object-fit:contain}.library-no-image{display:grid;place-items:center;gap:6px;color:var(--muted)}.library-no-image .ui-icon{width:42px;height:42px}.library-no-image small{font-weight:800}
.library-category{position:absolute;left:9px;top:9px;max-width:calc(100% - 18px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:999px;background:#ffffffdd;color:var(--muted);font-size:.66rem;font-weight:800}
.library-card-copy{display:grid;gap:10px;padding:12px 13px 14px;align-content:start}.library-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.library-card-title strong{font-size:1.02rem;line-height:1.2}.library-status{flex:none;padding:3px 6px;border-radius:999px;font-size:.65rem;font-weight:850}.library-status.is-missing{background:#fff2dc;color:#80572c}
.library-translations{display:grid;gap:6px}.library-translation{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:baseline;gap:7px;min-width:0;font-size:.8rem}.library-translation b{color:var(--green);font-size:.69rem}.library-translation span{min-width:0;overflow-wrap:anywhere}.library-translation small{color:var(--muted);font-size:.72rem}.library-translation em{font-style:normal;color:#80572c;background:#fff2dc;border-radius:999px;padding:2px 5px;font-size:.62rem;font-weight:800}.library-translation.is-missing span{color:var(--muted);font-style:italic}.library-empty{grid-column:1/-1}
.library-more{display:flex;justify-content:center;padding-top:2px}.library-more button[hidden]{display:none}

@media(max-width:1080px){.vocabulary-library-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.library-language-filters{min-height:48px}}
@media(max-width:680px){.vocabulary-library-toolbar{grid-template-columns:1fr}.vocabulary-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-result-meta{align-items:flex-start;flex-direction:column}.vocab-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.vocabulary-library-grid,.vocab-results,.material-flashcard-grid{grid-template-columns:1fr}.library-language-filters{align-items:flex-start;flex-direction:column}.library-language-filters legend{float:none;margin:0 0 3px}}

/* Vocabulary colours are native swatches, not image assets. */
.vocabulary-color-swatch{display:block;width:104px;height:104px;border-radius:50%;background:var(--swatch);border:2px solid color-mix(in srgb,var(--swatch) 72%,#5d625f);box-shadow:inset 0 0 0 5px #ffffff55,0 5px 14px #1b4d3d18}
.vocabulary-color-swatch.is-compact{width:82px;height:82px}


/* Upcoming subjects stay visible without behaving like active garden canes. */
.garden-coming-soon{display:grid;grid-template-columns:repeat(2,minmax(0,220px));justify-content:center;gap:12px;margin:18px auto 0;padding:0 16px;max-width:560px}
.coming-soon-subject{display:flex;align-items:center;gap:11px;min-height:64px;padding:11px 14px;border:1px dashed #b9c7b2;border-radius:16px;background:#f5f7f1;color:#526456;cursor:default;user-select:none}
.coming-soon-subject .ui-icon{width:27px;height:27px;opacity:.75}.coming-soon-subject span{display:grid;gap:1px}.coming-soon-subject strong{font-size:.98rem}.coming-soon-subject small{font-size:.78rem;color:#718070;font-weight:700}
.topic-card.is-coming-soon{pointer-events:none;cursor:default;background:#f5f7f1;border-style:dashed;opacity:.82}.topic-card.is-coming-soon .card-arrow{display:none}
@media(max-width:520px){.garden-coming-soon{grid-template-columns:1fr;max-width:330px}}

/* Próximas asignaturas conservan la forma de caña, pero no son interactuables. */
.cane-column.is-coming-soon .garden{opacity:.66;filter:saturate(.72)}
.garden-columns .subject-coming-soon{cursor:default;user-select:none;opacity:.78;color:var(--muted)}
.garden-columns .subject-coming-soon:hover{transform:none;background:transparent}
.garden-columns .subject-coming-soon .cane-progress{font-weight:800;color:var(--muted)}
/* 0.21 — richer family insights + embedded Mates v5. */
.family-dashboard-rich{grid-template-columns:1fr;max-width:1080px}.family-child-rich{padding:24px}.family-kpis-rich{grid-template-columns:repeat(4,1fr)}.family-subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.family-subhead h3,.family-coach h3{margin:3px 0 0;font-size:1.08rem}.family-subhead>span{font-size:.78rem;color:var(--muted);white-space:nowrap}.family-today,.family-coach,.family-chart-section,.family-language-section{margin-top:18px;padding:17px;border:1px solid var(--edge);border-radius:16px;background:#fff}.family-today{background:#fbfcf7}.family-today-block{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--edge)}.family-today-block:first-of-type{border-top:0}.family-today-block span:nth-child(2){display:grid;gap:2px}.family-today-block small{color:var(--muted)}.family-block-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--soft)}.family-block-icon .ui-icon{width:21px;height:21px}.family-coach{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:18px;align-items:center;background:var(--soft)}.family-coach p{margin:7px 0 0;color:var(--muted);line-height:1.55}.family-practice-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.family-practice-tags span{padding:6px 8px;border-radius:999px;background:#fff;border:1px solid var(--edge);font-size:.74rem;font-weight:750}.family-week-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:150px;padding-top:8px}.family-chart-day{display:grid;grid-template-rows:1fr auto auto;gap:4px;align-items:end;text-align:center;min-width:0}.family-chart-bar{height:94px;display:flex;align-items:flex-end;justify-content:center;background:var(--soft);border-radius:10px;overflow:hidden}.family-chart-bar i{display:block;width:100%;min-height:4px;background:linear-gradient(180deg,#87bd78,#377759);border-radius:10px 10px 0 0}.family-chart-day strong{font-size:.84rem}.family-chart-day strong small{font-size:.64rem;color:var(--muted);margin-left:1px}.family-chart-day>span{font-size:.68rem;color:var(--muted);text-transform:capitalize}.family-language-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.4fr) minmax(120px,.8fr);gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--edge)}.family-language-row:first-of-type{border-top:0}.family-language-row>div:first-child{display:grid;gap:2px}.family-language-row span,.family-language-row small{font-size:.76rem;color:var(--muted)}.family-progress-track{height:10px;border-radius:999px;background:var(--soft);overflow:hidden}.family-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#4a8b66,#8ec17b);border-radius:inherit}.family-data-note{font-size:.75rem;color:var(--muted);line-height:1.5;margin:10px 0 0}.family-recent{margin-top:16px;border-top:1px solid var(--edge);padding-top:14px}.family-recent summary{cursor:pointer;font-weight:800}.family-recent-list{display:grid;gap:8px;margin-top:12px}.family-recent-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,1.3fr);gap:8px 14px;padding:12px;border-radius:12px;background:var(--soft)}.family-recent-row>div:first-child{display:grid;gap:2px}.family-recent-row span,.family-recent-row small{font-size:.74rem;color:var(--muted)}.family-recent-row>small{grid-column:1/-1}.family-block-metrics{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.family-block-metrics span{padding:4px 7px;border-radius:999px;background:#fff;color:var(--ink);font-weight:700}.family-last{margin-top:14px}.family-invite-panel form{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.family-invite-panel form input{min-height:42px;min-width:220px;flex:1;border:1px solid var(--edge);border-radius:10px;padding:8px 10px;background:#fff}.compact-family-code{margin:3px 0 0;padding:5px 0;min-height:34px;font-size:.72rem}.math-v5-page{max-width:1280px}.math-v5-frame{display:block;width:100%;height:760px;min-height:0;border:0;border-radius:20px;background:#f5f7f3;overflow:hidden}.math-v5-page .back-link{margin-bottom:10px}@media(max-width:700px){.math-v5-page{padding-inline:0}.math-v5-page>.back-row{padding-inline:var(--page-gutter)}.math-v5-frame{border-radius:0;height:680px}}
@media(max-width:760px){.family-kpis-rich{grid-template-columns:repeat(2,1fr)}.family-coach{grid-template-columns:1fr}.family-practice-tags{justify-content:flex-start}.family-language-row{grid-template-columns:1fr}.family-recent-row{grid-template-columns:1fr}.family-block-metrics{justify-content:flex-start}.family-recent-row>small{grid-column:auto}.math-v5-frame{min-height:0;border-radius:0}}
.family-admin-invite{display:flex;gap:8px;align-items:center;flex:1;min-width:min(100%,360px)}
.family-admin-invite input{min-height:42px;min-width:180px;flex:1;border:1px solid var(--edge);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink)}
.family-admin-invite .secondary-button{white-space:nowrap}
@media(max-width:680px){.family-admin-invite{flex-basis:100%;flex-wrap:wrap}.family-admin-invite input{min-width:0;width:100%}.family-admin-invite .secondary-button{width:100%}}

/* 0.21.1 — invitation email/landing cleanup. */
.invite-activation-page{max-width:620px;padding-top:clamp(24px,7vh,76px)}
.invite-activation-card{overflow:hidden;padding:34px clamp(22px,6vw,46px) 38px;border:1px solid var(--edge);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(29,67,48,.08);text-align:center}
.invite-activation-logo{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 20px;border-radius:24px;background:#f1f5ec}
.invite-activation-logo img{display:block;width:58px;height:58px;object-fit:contain}
.invite-activation-copy h1{margin:0;font-size:clamp(1.75rem,4vw,2.25rem);letter-spacing:-.035em}
.invite-activation-copy>p{margin:9px auto 0;max-width:440px;line-height:1.6}
.invite-activation-copy>p:first-of-type{font-size:1.08rem;color:var(--ink)}
.invite-email{display:inline-flex;margin-top:18px;padding:7px 11px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:.8rem;font-weight:750}
.invite-password-form{display:grid;gap:16px;max-width:390px;margin:28px auto 0;text-align:left}
.invite-password-form .reader-field{margin:0}.invite-password-form .primary-button{width:100%;min-height:50px}
.invite-password-form small{color:var(--muted);font-size:.74rem}
.invite-activation-card .cloud-feedback{margin:14px 0 0}
.family-link-card-refined{margin-top:24px;padding:20px;border:1px solid var(--edge);border-radius:18px;background:#fff}
.family-link-heading{display:flex;align-items:flex-start;gap:13px}.family-link-heading h2{margin:1px 0 5px;font-size:1.22rem}.family-link-heading p{margin:0;color:var(--muted);line-height:1.5}
.family-link-mark{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:14px;background:var(--soft)}.family-link-mark img{width:32px;height:32px}
.family-code-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:18px}.family-code-form .reader-field{margin:0}.family-code-form .primary-button{min-height:46px}
@media(max-width:680px){.invite-activation-card{padding-inline:20px}.family-code-form{grid-template-columns:1fr}.family-code-form .primary-button{width:100%}}

/* v0.21.7 · vocabulary library editing and review */
.vocabulary-library-toolbar{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(150px,.8fr));}
.library-card-visual .shop-emoji{display:grid;place-items:center;width:100%;height:100%;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:72px;line-height:1;text-align:center}
.vocab-result-visual .shop-emoji{display:grid;place-items:center;width:100%;height:100%;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:58px;line-height:1;text-align:center}
.library-status.is-warning{background:#fff2dc;color:#80572c}.library-term-edit{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.library-term-edit:hover span{text-decoration:underline}.library-card-actions{display:flex;gap:7px;padding-top:4px}.secondary-button.compact{min-height:34px;padding:6px 10px;font-size:.74rem}
.library-editor-dialog{width:min(680px,calc(100vw - 28px));border:1px solid var(--edge);border-radius:22px;padding:0}.library-editor-form{display:grid}.library-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:0 22px 20px}.library-editor-fields>label{display:grid;gap:6px}.library-editor-image,.library-editor-preview,.library-editor-issues{grid-column:1/-1}.library-editor-preview{display:grid;place-items:center;min-height:0}.library-editor-preview img{max-width:160px;max-height:140px;object-fit:contain}.library-editor-issues{display:grid;gap:6px}.library-editor-issues p{margin:0;padding:8px 10px;border-radius:10px;background:#fff4df;color:#744f28;font-size:.8rem}.library-editor-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;padding:16px 22px;border-top:1px solid var(--edge)}
.review-flashcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.review-flashcard{display:grid;grid-template-rows:150px auto auto;border:1px solid var(--edge);border-radius:18px;background:#fff;overflow:hidden}.review-flashcard-visual{display:grid;place-items:center;background:var(--soft);padding:14px}.review-flashcard-visual.is-empty{min-height:0;background:#f9faf7}.review-flashcard-visual:empty{display:none}.review-flashcard-visual img,.review-flashcard-visual svg{width:110px;height:110px;object-fit:contain}.review-flashcard-visual .shop-emoji{font-size:72px;line-height:1}.review-flashcard-copy{display:grid;gap:4px;padding:14px}.review-flashcard-copy strong{font-size:1.12rem}.review-flashcard-copy small{color:var(--green);font-weight:800}.review-flashcard-copy span{color:var(--muted)}.review-flashcard-actions{display:flex;gap:7px;flex-wrap:wrap;padding:0 14px 14px}.is-review-flag{border-color:#e2bba9;color:#8d4f37}.is-review-flag.is-flagged{border-color:#b7cfaa;background:#eef6e8;color:#3f6d3c}
@media(max-width:1080px){.vocabulary-library-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.vocabulary-library-toolbar{grid-template-columns:1fr 1fr}.library-editor-fields{grid-template-columns:1fr}.library-editor-image,.library-editor-preview,.library-editor-issues{grid-column:auto}.library-editor-actions{grid-template-columns:1fr 1fr}.library-editor-actions>span{display:none}.review-flashcard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.vocabulary-library-toolbar,.review-flashcard-grid{grid-template-columns:1fr}.library-editor-actions{grid-template-columns:1fr}}

/* v0.21.8 · library editor polish + image-first review */
.library-editor-dialog{width:min(760px,calc(100vw - 32px));max-height:min(88vh,900px);overflow:auto;background:var(--paper,#fffdf7);box-shadow:0 24px 70px rgba(31,67,52,.22)}
.library-editor-dialog::backdrop{background:rgba(24,54,43,.45);backdrop-filter:blur(2px)}
.library-editor-dialog .dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--edge);background:#fff}
.library-editor-dialog .dialog-head h2{margin:2px 0 0;font-size:1.45rem}.library-editor-dialog .dialog-head .icon-button{position:static;flex:none;width:42px;height:42px;border:1px solid var(--edge);border-radius:12px;background:#fff;font-size:1.35rem}
.library-editor-fields{gap:16px;padding:22px 24px 24px}.library-editor-fields>label{font-weight:700;color:var(--green);align-content:start}.library-editor-fields input,.library-editor-fields select{width:100%;min-height:46px;border:1px solid var(--edge);border-radius:12px;background:#fff;padding:10px 12px;font-weight:500;color:var(--ink)}
.library-editor-fields input:focus,.library-editor-fields select:focus{outline:3px solid rgba(42,92,69,.16);border-color:var(--green)}
.library-editor-fields [data-library-edit-category-new]{margin-top:8px}.library-editor-fields [data-library-edit-category-new][hidden]{display:none}
.library-editor-image{padding-top:2px}.library-editor-image input[type=file]{padding:7px;background:#fff}.library-editor-image small{color:var(--muted);font-weight:500;line-height:1.4}
.library-editor-preview{min-height:0;border-radius:14px}.library-editor-preview:not(:empty){min-height:150px;padding:14px;background:var(--soft);border:1px dashed var(--edge)}.library-editor-preview img{max-width:190px;max-height:150px;object-fit:contain}
.library-editor-actions{position:sticky;bottom:0;background:#fff;z-index:2;padding:16px 24px 18px}.library-editor-actions .primary-button,.library-editor-actions .secondary-button{min-height:46px}
.library-card-actions .secondary-button{min-width:88px}.library-card-visual img{max-width:82%;max-height:82%;object-fit:contain}.library-card-visual .shop-emoji{font-size:76px}
.review-flashcard-visual img{width:120px;height:120px;object-fit:contain}.review-flashcard-visual .shop-emoji{font-size:76px}
@media(max-width:680px){.library-editor-dialog{width:calc(100vw - 18px);max-height:92vh}.library-editor-dialog .dialog-head,.library-editor-fields,.library-editor-actions{padding-left:16px;padding-right:16px}.library-editor-actions{display:grid;grid-template-columns:1fr 1fr}.library-editor-actions .danger{grid-column:1/-1}.library-editor-actions>span{display:none}}

/* v0.21.9 · teacher vocabulary proposals and review queue */
.vocabulary-proposals{margin:18px 0}.vocabulary-proposal-grid{display:grid;gap:10px}.vocabulary-proposal-card{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--edge);border-radius:16px;background:#fff}.proposal-visual{display:grid;place-items:center;width:86px;height:86px;border-radius:14px;background:var(--soft);overflow:hidden}.proposal-visual img{width:76px;height:76px;object-fit:contain}.proposal-visual .shop-emoji{font-size:52px}.proposal-copy{display:grid;gap:4px;min-width:0}.proposal-copy>strong{font-size:1.05rem}.proposal-copy>span,.proposal-copy>small,.proposal-copy>em,.proposal-copy>p{color:var(--muted);font-style:normal;margin:0}.proposal-current{padding:6px 8px;border-radius:9px;background:#f6f7f2;font-size:.78rem}.proposal-actions{display:flex;gap:7px;align-items:center}.teacher-proposals{margin-top:24px;padding-top:18px;border-top:1px solid var(--edge)}.teacher-proposal-list{display:grid;gap:7px}.teacher-proposal-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 12px;border:1px solid var(--edge);border-radius:12px;background:#fff}.teacher-proposal-list article>strong,.teacher-proposal-list article>span,.teacher-proposal-list article>em{grid-column:1}.teacher-proposal-list article>span,.teacher-proposal-list article>em{color:var(--muted);font-size:.78rem;font-style:normal}.proposal-status{grid-column:2;grid-row:1/3;align-self:center;padding:5px 8px;border-radius:999px;background:var(--soft);font-weight:800}.proposal-status.status-approved{background:#eaf5e4;color:#3e6b37}.proposal-status.status-rejected{background:#f9e9e2;color:#8c4932}.vocab-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}.vocab-result-row .vocab-result{width:100%;min-width:0}.vocab-propose-button{min-width:112px;padding:7px 10px;border:1px solid var(--edge);border-radius:11px;background:#f7f8f4;color:var(--green);font-size:.72rem;font-weight:800}.vocab-propose-button:hover{border-color:var(--green);background:var(--soft)}.vocab-improvement-dialog{width:min(600px,calc(100vw - 24px))}.vocab-improvement-dialog form{display:grid;gap:12px;padding:22px}.vocab-improvement-dialog h2{margin:0}.vocab-improvement-dialog label{display:grid;gap:5px;font-weight:700}.vocab-improvement-dialog input,.vocab-improvement-dialog textarea{width:100%;border:1px solid var(--edge);border-radius:11px;background:#fff;padding:10px 11px}.vocab-improvement-dialog .material-image-preview:not(:empty){min-height:120px;display:grid;place-items:center;border-radius:12px;background:var(--soft)}.vocab-improvement-dialog .material-image-preview img{max-width:140px;max-height:120px;object-fit:contain}
@media(max-width:760px){.vocabulary-proposal-card{grid-template-columns:68px minmax(0,1fr)}.proposal-visual{width:68px;height:68px}.proposal-visual img{width:60px;height:60px}.proposal-actions{grid-column:1/-1;justify-content:flex-end}.vocab-result-row{grid-template-columns:1fr}.vocab-propose-button{width:100%}}

/* v0.21.10 · revisión editorial y asignación de profesorado */
.platform-review-alert{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 26px;padding:22px 24px;border:1px solid var(--line,#c7d3c1);border-radius:22px;background:var(--soft,#eef4e8)}
.platform-review-alert.has-errors{background:#fff4ed;border-color:#e7c2ad}.platform-review-alert h3{margin:4px 0 6px}.platform-review-alert p{margin:0}.platform-review-alert .primary-button{flex:0 0 auto}
.vocabulary-library-metrics .metric-alert{background:#fff4ed;border-color:#e7c2ad}.library-term-edit em.is-error{background:#fff0e8;color:#8a3c20;border-color:#e6b9a4}
.teacher-assignment-card{margin-top:28px}.teacher-assignment-grid{display:grid;gap:16px}.teacher-assignment-person{border:1px solid var(--line,#c7d3c1);border-radius:18px;padding:18px;background:#fff}.teacher-assignment-person>div:first-child{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.teacher-assignment-person details{border-top:1px solid var(--line,#d7e0d2);padding:10px 0}.teacher-assignment-person summary{cursor:pointer;font-weight:700}.assignment-chips{padding-top:10px}.assignment-chips .teacher-pill{display:inline-flex;align-items:center;gap:7px}
.library-editor-issues:not(:empty){grid-column:1/-1;background:#fff4ed;border:1px solid #e7c2ad;border-radius:14px;padding:12px 14px}.library-editor-issues p{margin:6px 0}
@media(max-width:760px){.platform-review-alert{align-items:flex-start;flex-direction:column}.teacher-assignment-person{padding:14px}}

/* v0.21.11 · family search / invitation flow */
.family-manage-details{border-top:1px solid var(--line,#d9e2d4);padding-top:12px;margin-top:12px}.family-manage-details>summary{cursor:pointer;font-weight:700;color:var(--ink,#234f40);padding:4px 0}.family-invite-expanded{display:grid;gap:14px;padding-top:14px}.family-child-search{display:grid;gap:9px}.family-child-search .compact-search{margin:0}.family-child-picker{max-height:250px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:2px}.family-child-option{margin:0;min-width:0}.family-child-option span{min-width:0}.family-child-option strong,.family-child-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-family-picker{max-height:300px}.family-child-empty{margin:0}.family-admin-actions{display:flex;gap:10px;align-items:center}.family-invite-expanded fieldset{margin:0}.family-invite-expanded .primary-button{width:100%}
@media(max-width:720px){.family-child-picker{grid-template-columns:1fr}.family-admin-actions{align-items:stretch;flex-direction:column}.family-admin-actions>*{width:100%}}

/* v0.22 · explicit class associations and multilingual editing */
.scope-class-page,.scope-organization{max-width:1120px;margin:0 auto}
.scope-class-editor{margin:20px 0 28px}.scope-form-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(190px,1fr);gap:18px}
.scope-form-fields label{display:grid;gap:6px}.scope-subject-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.scope-subject-checks .check-label{padding:12px;background:#fff;border:1px solid var(--edge);border-radius:12px;margin:0}
.scope-offerings{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.scope-offering{display:flex;flex-direction:column;align-items:stretch;gap:10px;border:1px solid var(--edge);border-radius:18px;padding:20px;background:#fff}.scope-offering h3{margin:0}.scope-offering .note{margin:0}.scope-offering .secondary-button{margin-top:auto}.scope-warning{color:#825d25}
.class-title-link{display:flex;align-items:center;gap:8px;padding:7px 0;text-decoration:none}.class-title-link .icon{width:18px;height:18px}
.scope-tree-root{display:flex;align-items:center;gap:12px;background:var(--green);color:white;border-radius:16px;padding:20px;font-size:1.2rem;font-weight:700}
.scope-tree,.scope-tree ul{list-style:none;margin:0;padding:16px 0 8px 26px}.scope-tree>li{padding:0 0 22px 0;border-left:2px solid var(--edge)}.scope-tree li a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;margin-left:20px;padding:14px 18px;border:1px solid var(--edge);border-radius:13px;background:#fff;text-decoration:none}.scope-tree li a span{grid-column:1;font-size:.9rem;color:var(--muted)}.scope-tree li a .icon{grid-column:2;grid-row:1/3;align-self:center}.scope-tree .scope-tree-class{background:var(--soft)}
.vocabulary-library-metrics button{text-align:left;color:var(--ink);font:inherit;cursor:pointer;padding:18px 20px;border:1px solid var(--edge);background:white;border-radius:17px;display:grid;gap:5px}.vocabulary-library-metrics button:hover,.vocabulary-library-metrics button:focus-visible{border-color:var(--green);box-shadow:0 0 0 2px #e1ebdc}.vocabulary-library-metrics button strong{font-size:1.8rem}.vocabulary-library-metrics button span{color:var(--muted);font-size:.9rem}
.library-editor-dialog{padding:0;max-width:820px;max-height:90dvh}.library-editor-fields.multilingual-editor{grid-template-columns:1fr 1fr;align-content:start}.library-language-fields{grid-column:1/-1;display:grid;gap:18px}.library-language-fields fieldset{margin:0;padding:18px;border:1px solid var(--edge);border-radius:16px;background:#fff}.library-language-fields legend{font-size:1.05rem;font-weight:700;padding:0 7px;color:var(--green)}.translation-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.translation-editor-row+.translation-editor-row{margin-top:16px;padding-top:16px;border-top:1px solid var(--edge)}.translation-editor-row label{display:grid;gap:6px;align-content:start;min-width:0}.translation-editor-row .translation-remove{display:flex;align-items:center;grid-column:1/-1;font-size:.85rem;color:var(--muted)}.translation-remove input[type=checkbox]{width:19px;min-height:19px;height:19px;flex:none}
.library-advanced{grid-column:1/-1;border:1px dashed var(--edge);padding:12px 16px;border-radius:12px}.library-advanced summary{cursor:pointer;font-weight:600}.library-advanced p{font-size:.85rem;line-height:1.5}.library-editor-message{grid-column:1/-1;background:#fff0e8;color:#842d18;border:1px solid #dabba8;border-radius:12px;padding:12px}.library-editor-message[hidden]{display:none}.library-editor-actions{display:flex;justify-content:flex-end;gap:12px}.library-editor-actions>*{flex:none}
@media(max-width:680px){.scope-form-fields,.translation-editor-row,.library-editor-fields.multilingual-editor{grid-template-columns:1fr}.scope-tree,.scope-tree ul{padding-left:10px}.scope-tree li a{margin-left:10px}.scope-offerings{grid-template-columns:1fr}.library-editor-dialog{max-height:94dvh}.library-editor-actions>*{flex:1}.vocabulary-library-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.22.0 · canonical learner/class/subject management */
.learner-scope-card{margin:22px 0;display:grid;gap:18px}.learner-scope-card form{display:grid;gap:12px}.learner-subject-form{border-top:1px solid var(--edge);padding-top:18px}.learner-subject-form fieldset{margin:0}.learner-subject-form .scope-subject-checks{margin-top:10px}.scope-offering .check-label{align-items:center}.scope-offering .check-label input,.teacher-pill input{flex:none}
.scope-health{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:0 0 18px;padding:12px 14px;border:1px solid var(--edge);border-radius:14px;background:#f7faf4}.scope-health strong{white-space:nowrap}.scope-health span{color:var(--muted);font-size:.82rem}.scope-health.has-errors{border-color:#dfaa94;background:#fff5ef;color:#7d3d29}.scope-health.is-ok strong{color:var(--green)}
@media(max-width:700px){.scope-health{display:grid}.scope-health strong{white-space:normal}}

/* v0.22.0 teacher content clarity: show the real vocabulary flashcards in the publisher. */
.publisher-flashcards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-height:none;overflow:visible}
.word-choice.publisher-flashcard{position:relative;display:grid!important;grid-template-columns:auto 68px 1fr auto;align-items:center;min-height:88px;padding:9px!important;background:#fff}
.publisher-flashcard-visual{display:grid;place-items:center;width:68px;height:68px;overflow:hidden;border-radius:12px;background:var(--soft);color:var(--muted)}
.publisher-flashcard-visual img,.publisher-flashcard-visual picture{width:100%;height:100%;object-fit:cover}.publisher-flashcard-visual .picture-emoji{font-size:2.3rem}
.publisher-flashcard-copy{display:grid;gap:2px;min-width:0}.publisher-flashcard-copy strong{font-size:1rem}.publisher-flashcard-copy small,.publisher-flashcard-copy em{color:var(--muted);font-style:normal}
.publisher-audio{align-self:center}.cambridge-availability-note{padding:10px 12px;border-radius:12px;background:var(--soft);color:var(--muted);line-height:1.45}
@media(max-width:600px){.publisher-flashcards{grid-template-columns:1fr}.word-choice.publisher-flashcard{grid-template-columns:auto 60px 1fr auto}.publisher-flashcard-visual{width:60px;height:60px}}
.teacher-proposal-image{display:block;width:64px;height:64px;margin-bottom:7px;overflow:hidden;border-radius:10px;background:var(--soft)}.teacher-proposal-image img{width:100%;height:100%;object-fit:cover}

/* Superadmin · Librería completa */
.platform-library-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 1rem;padding:.4rem;border:1px solid var(--line,#dfe5ea);border-radius:16px;background:var(--surface,#fff)}
.platform-library-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.55rem .9rem;border-radius:12px;text-decoration:none;font-weight:800;color:inherit}
.platform-library-tabs a.is-active{background:var(--ink,#17324d);color:#fff}
.cb-library-intro{margin-bottom:1rem}.cb-library-metrics{margin-bottom:1rem}.cb-library-metrics>div{padding:1rem;border:1px solid var(--line,#dfe5ea);border-radius:16px;background:#fff;display:grid;gap:.2rem}.cb-library-metrics strong{font-size:1.45rem}.cb-library-metrics span{color:var(--muted,#667085)}
.cb-library-panel{display:grid;gap:1rem}.cb-library-toolbar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr));gap:.75rem;align-items:end}.cb-library-toolbar label{display:grid;gap:.35rem;font-weight:700}.cb-library-toolbar input,.cb-library-toolbar select{width:100%}
.cb-library-grid{display:grid;gap:.8rem}.cb-library-card{border:1px solid var(--line,#dfe5ea);border-radius:16px;background:#fff;padding:1rem;box-shadow:0 1px 2px rgba(16,24,40,.04)}.cb-library-card[hidden]{display:none!important}.cb-library-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.cb-library-card-head h3{margin:.15rem 0 .3rem}.cb-library-card-head p{margin:0;color:var(--muted,#667085)}
.cb-library-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}.cb-library-meta span{font-size:.84rem;padding:.3rem .55rem;border-radius:999px;background:#f3f6f8;color:#465467}.cb-library-card details{border-top:1px solid var(--line,#e6eaee);padding-top:.7rem}.cb-library-card summary{cursor:pointer;font-weight:800}.cb-library-detail{display:grid;gap:.8rem;padding:.85rem 0 .15rem}.cb-library-detail section{padding:.75rem;border-radius:12px;background:#f8fafb}.cb-library-detail h4{margin:0 0 .4rem}.cb-library-detail p{margin:.2rem 0;line-height:1.55}.cb-reading-body p{font-size:1rem;line-height:1.7}.cb-json-row{display:block;padding:.18rem 0;line-height:1.5}.cb-json-row+.cb-json-row{border-top:1px dashed #e3e8ed}.cb-dependency-list{display:grid;gap:.35rem}.cb-dependency-list>span{display:block;padding:.45rem .55rem;background:#fff;border-radius:9px}
.library-status.cb-status-published{background:#e9f8ef;color:#17663a}.library-status.cb-status-draft{background:#fff4df;color:#8a5600}.library-status.cb-status-reviewed{background:#eaf2ff;color:#245aa5}.library-status.cb-status-retired{background:#f2f2f2;color:#666}
@media (max-width:900px){.cb-library-toolbar{grid-template-columns:1fr 1fr}.cb-library-card-head{display:grid}.platform-library-tabs{overflow-x:auto;flex-wrap:nowrap}.platform-library-tabs a{white-space:nowrap}}
@media (max-width:560px){.cb-library-toolbar{grid-template-columns:1fr}.cb-library-card{padding:.8rem}.cb-library-meta{align-items:flex-start}}

/* Cambridge learning experience v0.23 */
.cambridge-flashcard-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.cambridge-flashcard{position:relative;display:grid;grid-template-rows:130px auto;overflow:hidden;border:1px solid var(--edge);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(31,75,58,.06)}.cambridge-flashcard-visual{display:grid;place-items:center;background:var(--soft);padding:18px}.cambridge-flashcard-visual img{width:82px;height:82px;object-fit:contain}.cambridge-flashcard-copy{display:grid;gap:4px;padding:15px 52px 16px 16px}.cambridge-flashcard-copy strong{font-size:1.2rem}.cambridge-flashcard-copy span,.cambridge-flashcard-copy small{color:var(--muted)}.flashcard-audio{position:absolute;right:12px;bottom:14px;width:38px;height:38px;border:1px solid var(--edge);border-radius:50%;background:var(--soft);cursor:pointer}.practice-block-grid{display:grid;gap:22px}.practice-block{border:1px solid var(--edge);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(31,75,58,.05)}.practice-block>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px;background:var(--soft)}.practice-block h3{margin:.25rem 0 0;font-size:1.2rem}.practice-block-skills{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.practice-type,.practice-progress,.exercise-instruction>span,.exercise-question>span,.exercise-answers>span,.exercise-answer-form label>span{font-size:.72rem;letter-spacing:.08em;font-weight:800;color:var(--muted)}.practice-progress{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#fff}.practice-slide[hidden]{display:none!important}.cambridge-practice{border:0!important;border-radius:0!important;padding:22px!important}.exercise-instruction{padding:14px 16px;border-left:4px solid var(--green);background:#f7fbf5;border-radius:0 12px 12px 0}.exercise-instruction p{margin:.35rem 0 0;font-size:1.05rem;font-weight:700}.exercise-question{margin:18px 0;padding:16px;border:1px solid var(--edge);border-radius:14px}.exercise-question p{margin:.4rem 0 0;font-size:1.12rem;font-weight:800}.exercise-answers{display:grid;gap:10px;margin-top:18px}.exercise-answer-form{display:grid;gap:12px;margin-top:18px}.exercise-answer-form label{display:grid;gap:7px}.practice-slide-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--edge);background:#fbfdf9}.practice-slide-nav span{font-weight:800;color:var(--muted)}.cambridge-reading-story{font-size:1.08rem;line-height:1.9;padding:22px;border-radius:16px;background:#f7fbf5;white-space:pre-line}.reading-vocab-word{display:inline;padding:0 2px;border:0;border-bottom:2px dotted var(--green);background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.reading-word-help{min-height:1.6em;margin:10px 4px;color:var(--green);font-weight:800}.reading-questions{margin-top:22px;border-top:1px solid var(--edge);padding-top:18px}.reading-questions h4{font-size:1.1rem}.cambridge-text-question{position:relative;padding:16px 16px 16px 52px!important;border:1px solid var(--edge)!important;border-radius:14px;margin:10px 0}.question-number{position:absolute;left:14px;top:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);font-weight:800}
@media(max-width:640px){.cambridge-flashcard-track{grid-template-columns:repeat(2,minmax(0,1fr))}.cambridge-flashcard{grid-template-rows:100px auto}.cambridge-flashcard-visual img{width:64px;height:64px}.cambridge-flashcard-copy{padding:12px 42px 14px 12px}.cambridge-flashcard-copy strong{font-size:1rem}.practice-block>header{padding:14px}.cambridge-practice{padding:16px!important}}
/* v0.24 Cambridge exam-practice polish */
.exercise-source{margin:18px 0}.exercise-context-label{display:block;margin-bottom:7px;font-size:.72rem;letter-spacing:.08em;font-weight:800;color:var(--muted)}
.answer-tile{min-height:48px!important;padding:11px 15px!important;font-size:1rem}.listening-prompt{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0;padding:16px;border-radius:14px;background:#f3f7ef}.listening-prompt small{color:var(--muted)}
.word-order-tray{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;padding:16px;border:1px dashed var(--edge);border-radius:14px;background:#fff}.word-order-tray span{padding:8px 11px;border-radius:10px;background:var(--soft);font-weight:800}
.practice-block>header h3{line-height:1.25}.conversation-strip p{margin:0}.cambridge-reading-text{font-style:normal;border:0}.exercise-question{background:#fff}.exercise-instruction>span{color:var(--green)}


/* 0.25 · learner home: garden, account header and collective forest */
.app-header{min-height:70px;background:rgba(255,255,252,.96);backdrop-filter:saturate(1.1) blur(8px);z-index:25}
.brand{min-width:52px}.brand .panda{width:54px;height:54px}
.header-profile-switch{min-height:52px;border-radius:999px;padding:6px 13px;box-shadow:0 2px 9px rgba(27,67,49,.06)}
.header-profile-switch>.ui-icon:first-child{width:27px;height:27px}
.header-profile-copy strong{font-size:.95rem}.header-profile-copy small{font-size:.76rem}
.header-notifications-link{border-radius:50%;width:48px;min-width:48px;padding:0}
.header-account-wrap{position:relative}.header-account-wrap[hidden]{display:none!important}
.header-account-toggle{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--edge);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 2px 9px rgba(27,67,49,.06)}
.header-account-toggle:hover,.header-account-toggle[aria-expanded=true]{background:var(--soft)}
.header-account-toggle .ui-icon{width:25px;height:25px}
.header-account-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:90;display:grid;gap:3px;width:210px;padding:7px;border:1px solid var(--edge);border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(25,55,42,.17)}
.header-account-panel[hidden]{display:none!important}
.header-account-item{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:9px 11px;border:0;border-radius:11px;background:transparent;color:var(--ink);font:inherit;font-weight:750;text-align:left;cursor:pointer}
.header-account-item:hover,.header-account-item:focus-visible{background:var(--soft)}
.header-account-item .ui-icon{width:21px;height:21px}
.header-account-panel .header-signout{height:auto;justify-content:flex-start}
.header-account-panel .header-signout span{display:inline}
.app-footer{background:rgba(255,255,252,.98);border-top:1px solid rgba(60,100,78,.08)}
.footer-nav{gap:0;padding-top:6px}
.footer-link{min-height:68px;border-radius:0;font-size:.92rem}
.footer-link .ui-icon{width:29px;height:29px}
.footer-link.in-section,.footer-link[aria-current=page]{background:transparent;color:var(--ink);font-weight:800}
.footer-link.in-section .nav-label,.footer-link[aria-current=page] .nav-label{text-decoration:none}
.footer-link.in-section:after,.footer-link[aria-current=page]:after{content:"";display:block;width:64px;max-width:65%;height:4px;margin-top:1px;border-radius:999px;background:var(--ink)}

main.content[data-view=jardin]{background:#f8fbf6}
.garden-view{position:relative;grid-template-rows:auto minmax(300px,1fr);min-height:100%;overflow:hidden;background:linear-gradient(#fbfdf8 0 39%,#eff7ec 100%)}
.garden-head{position:relative;z-index:3;gap:15px;padding-top:18px;padding-bottom:8px;background:linear-gradient(180deg,rgba(255,255,252,.98),rgba(255,255,252,.78) 82%,transparent)}
.garden-head-main{align-items:end}.garden-head-main h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:850;letter-spacing:-.055em;color:#123d2f}
.garden-head-note{font-size:clamp(.95rem,2vw,1.2rem);color:#5f746a}
.garden-help{display:none}
.garden-metrics{max-width:900px;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(76,111,91,.15);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(31,70,49,.07);overflow:hidden}
.garden-metric{border:0;border-radius:0;background:transparent;min-height:110px;padding:17px 20px;grid-template-columns:38px 1fr;gap:10px;position:relative}
.garden-metric+.garden-metric:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:rgba(61,96,76,.12)}
.garden-metric:hover{background:rgba(234,246,231,.72);border-color:transparent}
.garden-metric-icon,.garden-metric-icon .ui-icon{width:32px;height:32px}
.garden-metric-copy strong{font-size:clamp(1.2rem,2.3vw,1.55rem);color:#123d2f}
.garden-metric-copy small{font-size:.82rem;line-height:1.35}
.garden-mini-progress{display:block;width:min(150px,100%);height:8px;margin:4px 0 1px;border-radius:999px;background:#e2ede2;overflow:hidden}
.garden-mini-progress i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:#126348}
.garden-landscape{position:relative;z-index:1;padding-top:clamp(110px,18vh,260px);background-image:url('/assets/garden-scene.svg');background-repeat:no-repeat;background-position:center bottom;background-size:100% 100%;isolation:isolate}
.garden-landscape:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f9fcf7 0 15%,rgba(249,252,247,.42) 38%,transparent 64%)}
.garden-landscape .cane-column{position:relative;z-index:2}
.garden-columns .subject{min-height:70px;background:rgba(255,255,252,.84);backdrop-filter:blur(4px);border-radius:16px 16px 0 0;padding-top:10px}
.garden-columns .subject-name{font-size:.95rem}
.garden-columns .cane-progress{color:var(--muted);font-weight:500;margin-top:2px}

.forest-view{position:relative;display:grid;grid-template-rows:auto minmax(320px,1fr) auto;height:100%;min-height:100%;overflow:hidden;background:#f7fbf5}
.forest-head{position:relative;z-index:3;padding:24px var(--page-gutter) 8px;text-align:center;background:linear-gradient(180deg,rgba(255,255,252,.97),rgba(255,255,252,.64),transparent)}
.forest-head h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:850;letter-spacing:-.055em;color:#123d2f}
.forest-head p{max-width:720px;margin:8px auto 0;font-size:clamp(1rem,2.2vw,1.25rem);line-height:1.45;color:#62766d}
.forest-landscape{min-height:390px;background:#f7fbf5 url('/assets/garden-scene.svg') center bottom/100% 100% no-repeat}
.forest-progress-card{position:relative;z-index:4;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;width:min(760px,calc(100% - 32px));margin:-20px auto 18px;padding:18px 22px;border:1px solid rgba(69,104,84,.14);border-radius:26px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(31,70,49,.1)}
.forest-progress-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e9f4e6}
.forest-progress-icon .ui-icon{width:30px;height:30px}
.forest-progress-copy{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center}
.forest-progress-copy strong{grid-column:1/-1;font-size:clamp(1.15rem,2.5vw,1.5rem);color:#123d2f}
.forest-progress-track{grid-column:1/-1;display:block;height:13px;border-radius:999px;background:#e3ede2;overflow:hidden}
.forest-progress-track i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:#1b754e}
.forest-progress-copy small{grid-column:1/-1;color:#64776d;font-size:.88rem}

@media(max-width:760px){
  .app-header{min-height:64px;padding-inline:12px;gap:7px}
  .brand .panda{width:46px;height:46px}
  .header-profile-switch{max-width:47vw;min-height:46px;padding:4px 9px}
  .header-notifications-link{display:inline-flex!important;width:44px;min-width:44px;height:44px}
  .header-account-toggle{width:44px;height:44px}
  .header-account-panel{position:fixed;right:12px;top:calc(env(safe-area-inset-top,0px) + 62px)}
  .garden-head{padding-top:12px}
  .garden-head-main h1{font-size:2rem}
  .garden-metrics{border-radius:18px}
  .garden-metric{min-height:92px;padding:12px 10px;grid-template-columns:26px 1fr;gap:7px}
  .garden-metric-icon,.garden-metric-icon .ui-icon{width:24px;height:24px}
  .garden-metric-copy strong{font-size:1rem}.garden-metric-copy small{font-size:.69rem}
  .garden-landscape{padding-top:90px;background-size:auto 100%;background-position:center bottom}
  .footer-link{min-height:62px;font-size:.8rem}.footer-link .ui-icon{width:26px;height:26px}
  .forest-head{padding-top:16px}.forest-head h1{font-size:2rem}
  .forest-landscape{min-height:420px;background-size:auto 100%;background-position:center bottom}
}
@media(max-width:480px){
  .header-profile-switch{max-width:45vw}
  .header-profile-copy strong{font-size:.78rem}.header-profile-copy small{font-size:.66rem}
  .garden-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .garden-metric{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:10px 8px}
  .garden-metric+.garden-metric:before{top:12%;bottom:12%}
  .garden-metric-copy strong{font-size:.86rem}.garden-metric-copy small{font-size:.62rem}
  .garden-mini-progress{height:6px}
  .forest-progress-card{grid-template-columns:42px 1fr;padding:15px 16px;border-radius:20px}
  .forest-progress-icon{width:42px;height:42px}.forest-progress-icon .ui-icon{width:24px;height:24px}
}


/* 0.26 · splash, jardín a escala natural y bosque vacío */
.app-splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:#fffef8;color:#123d2f;opacity:1;transition:opacity .24s ease;isolation:isolate}
.app-splash.is-hidden{opacity:0;pointer-events:none}
.app-splash-center{position:relative;z-index:4;display:grid;justify-items:center;width:min(620px,82vw);transform:translateY(-3vh);text-align:center}
.app-splash-panda{width:clamp(118px,17vw,190px);height:auto;filter:drop-shadow(0 8px 16px rgba(31,75,58,.08))}
.app-splash-center strong{margin-top:12px;font-size:clamp(2.7rem,7vw,5.2rem);line-height:.95;letter-spacing:-.055em;font-weight:900;color:#073e35}
.app-splash-tagline{margin-top:16px;font-size:clamp(1rem,2.6vw,1.55rem);color:#71838a}
.app-splash-progress{display:block;width:min(450px,72vw);height:22px;margin-top:72px;border-radius:999px;background:#e3ebe0;overflow:hidden}
.app-splash-progress i{display:block;width:48%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#76b74e,#6bab45);animation:splash-progress 1.5s ease-in-out infinite alternate}
.app-splash-message{margin-top:14px;font-size:clamp(1rem,2.5vw,1.45rem);color:#71838a}
.app-splash-hills{position:absolute;z-index:1;left:-6vw;right:-6vw;bottom:-7vh;height:29vh;min-height:180px;border-radius:50% 50% 0 0/35% 35% 0 0;background:linear-gradient(180deg,#e5f3df,#cfe8c6)}
.app-splash-hills:before,.app-splash-hills:after{content:"";position:absolute;bottom:0;width:55%;height:62%;border-radius:55% 55% 0 0;background:linear-gradient(145deg,#93c869,#258c68)}
.app-splash-hills:before{left:-6%}.app-splash-hills:after{right:-7%;transform:scaleX(-1)}
.splash-bamboo{position:absolute;z-index:2;width:28px;height:48vh;min-height:300px;border-radius:15px;background:linear-gradient(90deg,#5b9847,#8cba5c 55%,#5d9a47);transform-origin:bottom}
.splash-bamboo:before,.splash-bamboo:after{content:"";position:absolute;width:90px;height:30px;border-radius:100% 0 100% 0;background:#7eb353}
.splash-bamboo-left{left:2vw;top:-8vh;transform:rotate(14deg)}
.splash-bamboo-left:before{left:15px;top:15%;transform:rotate(17deg)}.splash-bamboo-left:after{left:4px;top:43%;transform:rotate(-27deg) scale(.72)}
.splash-bamboo-right{right:4vw;bottom:-5vh;height:29vh;transform:rotate(-4deg)}
.splash-bamboo-right:before{right:12px;top:14%;transform:rotate(155deg) scale(.8)}.splash-bamboo-right:after{right:2px;top:44%;transform:rotate(205deg) scale(.65)}
@keyframes splash-progress{from{transform:translateX(-8%)}to{transform:translateX(112%)}}
.app[data-reduced=true] .app-splash-progress i{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){.app-splash-progress i{animation:none;transform:none}.app-splash{transition:none}}

main.content[data-view=jardin]{background:#fffdf8}
.garden-view{position:relative;grid-template-rows:auto minmax(clamp(430px,56vh,720px),1fr);min-height:100%;overflow:hidden;background:#fffdf8 url('/assets/scenes/garden-landscape-v2.svg') center bottom/100% 100% no-repeat}
.garden-head{position:relative;z-index:4;gap:15px;padding-top:18px;padding-bottom:10px;background:linear-gradient(180deg,rgba(255,255,249,.98) 0%,rgba(255,255,249,.92) 72%,rgba(255,255,249,.22) 100%)}
.garden-head-main{width:min(1120px,100%);margin-inline:auto}
.garden-metrics{width:100%;max-width:1120px;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid rgba(76,111,91,.15);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(31,70,49,.07);overflow:hidden}
.garden-landscape{position:relative;z-index:2;padding:0!important;background:none!important;min-height:clamp(430px,56vh,720px);isolation:isolate}
.garden-landscape:before{display:none}
.garden-columns{height:auto;min-height:clamp(430px,56vh,720px);align-items:stretch}
.cane-column{min-height:0}
.cane-stage{position:relative;min-height:0;width:100%;max-width:180px;justify-self:center}
.cane-stage svg.garden{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cane-companion-svg{filter:drop-shadow(0 4px 5px rgba(18,70,52,.18))}
.garden-columns .subject{min-height:72px;background:rgba(255,255,249,.88);backdrop-filter:blur(4px);border-radius:16px 16px 0 0;padding-top:10px}
.garden-columns .subject-name{font-size:.95rem}
.garden-columns .cane-progress{color:var(--muted);font-weight:500;margin-top:2px}
.garden-empty-sprout{position:absolute;left:50%;bottom:8px;width:58px;height:78px;transform:translateX(-50%)}
.garden-empty-sprout i{position:absolute;display:block}
.sprout-soil{left:9px;bottom:0;width:42px;height:15px;border-radius:50% 50% 42% 42%;background:#5a4734;box-shadow:0 3px 7px rgba(64,48,34,.18)}
.sprout-stem{left:28px;bottom:12px;width:5px;height:40px;border-radius:6px;background:#459b55;transform:rotate(-3deg);transform-origin:bottom}
.sprout-leaf{bottom:38px;width:27px;height:15px;background:#55aa53}
.sprout-leaf-left{left:5px;border-radius:100% 0 100% 0;transform:rotate(22deg)}
.sprout-leaf-right{left:30px;bottom:48px;border-radius:0 100% 0 100%;transform:rotate(-26deg);background:#3f9c4d}

.forest-view{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:100%;overflow:hidden;background:#eaf9f7}
.forest-scene{position:relative;min-height:clamp(520px,68vh,820px);background:#eaf9f7 url('/assets/scenes/class-forest-empty-v1.svg') center center/100% 100% no-repeat}
.forest-head{position:absolute;z-index:3;inset:0 0 auto;padding:28px var(--page-gutter) 100px;text-align:center;background:linear-gradient(180deg,rgba(248,255,252,.94),rgba(240,253,252,.62) 56%,transparent)}
.forest-head h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:850;letter-spacing:-.055em;color:#123d2f}
.forest-head p{max-width:720px;margin:8px auto 0;font-size:clamp(1rem,2.2vw,1.25rem);line-height:1.45;color:#62766d}
.forest-progress-card{position:relative;z-index:4;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;width:min(820px,calc(100% - 34px));margin:-34px auto 18px;padding:20px 24px;border:1px solid rgba(69,104,84,.14);border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 12px 32px rgba(31,70,49,.12)}
.forest-progress-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e9f4e6}
.forest-progress-icon .ui-icon{width:32px;height:32px}
.forest-progress-copy{display:grid;gap:8px;align-items:center}
.forest-progress-copy strong{font-size:clamp(1.15rem,2.5vw,1.55rem);color:#123d2f}
.forest-progress-track{display:block;height:14px;border-radius:999px;background:#e3ede2;overflow:hidden}
.forest-progress-track i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:#1b754e}
.forest-progress-copy small{color:#64776d;font-size:.9rem}

@media(max-width:760px){
  .app-splash-center{transform:translateY(-4vh)}
  .app-splash-progress{margin-top:58px;height:18px}
  .splash-bamboo-left{left:-2vw}.splash-bamboo-right{right:0}
  .garden-head{padding-top:12px}
  .garden-head-main h1{font-size:2rem}
  .garden-metrics{max-width:none;border-radius:18px}
  .garden-metric{min-height:94px;padding:12px 10px;grid-template-columns:26px minmax(0,1fr);gap:7px}
  .garden-metric-icon,.garden-metric-icon .ui-icon{width:24px;height:24px}
  .garden-metric-copy strong{font-size:1rem}.garden-metric-copy small{font-size:.69rem}
  .garden-view{grid-template-rows:auto minmax(500px,1fr)}
  .garden-landscape,.garden-columns{min-height:500px}
  .garden-columns .subject{min-height:68px}
  .garden-empty-sprout{width:50px;height:68px}
  .forest-scene{min-height:590px;background-size:100% 100%}
  .forest-head{padding:20px 22px 88px}.forest-head h1{font-size:2rem}
  .forest-progress-card{width:calc(100% - 28px);margin:-28px auto 14px;padding:16px 18px;border-radius:22px}
}
@media(max-width:480px){
  .app-splash-center{width:88vw}.app-splash-center strong{font-size:2.9rem}.app-splash-progress{width:70vw}
  .garden-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .garden-metric{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:10px 8px}
  .garden-metric+.garden-metric:before{top:12%;bottom:12%}
  .garden-metric-copy strong{font-size:.86rem}.garden-metric-copy small{font-size:.62rem}
  .garden-mini-progress{height:6px;width:100%}
  .forest-scene{min-height:560px}
  .forest-progress-card{grid-template-columns:44px 1fr;padding:14px 15px}
  .forest-progress-icon{width:44px;height:44px}.forest-progress-icon .ui-icon{width:25px;height:25px}
}


/* Habla · producción oral de vocabulario */
.speak-visual{display:grid;place-items:center;min-height:210px;margin:12px 0 8px;padding:18px;border:1px solid var(--edge);border-radius:22px;background:var(--soft)}
.speak-visual .word-picture{width:min(260px,72vw);height:min(220px,48vw);max-height:220px;object-fit:contain}
.speak-visual .word-picture-emoji{display:grid;place-items:center;width:auto;height:auto;font-size:6rem;line-height:1}
.speak-source-word{margin:16px 0 6px;padding:28px 18px;border:1px solid var(--edge);border-radius:22px;background:var(--soft);font-size:clamp(2rem,9vw,3.4rem);font-weight:900;line-height:1.05;text-align:center}
.speak-instruction{margin:8px 0 18px;text-align:center;color:var(--muted)}
.speech-button{display:flex!important;align-items:center;justify-content:center;gap:9px;width:100%;min-height:56px;font-size:1.05rem}
.speech-button .ui-icon{width:25px;height:25px;filter:brightness(0) invert(1)}
.speech-heard{display:grid;gap:3px;margin:12px 0;padding:12px 14px;border:1px solid var(--edge);border-radius:14px;background:#fff}
.speech-heard span{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.speech-heard strong{font-size:1.05rem}
.speech-write{margin-top:10px}
.speech-write summary{cursor:pointer;text-align:center;font-weight:800;color:var(--ink)}
.speech-write form{margin-top:10px}
.speech-write-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.speech-write-row input{min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--edge);border-radius:12px;background:#fff;color:var(--ink);font:inherit}
.speech-write-row .secondary-button{min-height:48px}
@media(max-width:520px){.speak-visual{min-height:170px}.speak-visual .word-picture{height:160px}.speak-visual .word-picture-emoji{font-size:5rem}.speech-write-row{grid-template-columns:1fr}.speech-write-row .secondary-button{width:100%}}

.speech-control{display:grid;gap:9px;margin-top:8px}
.speech-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:7px 10px;border-radius:999px;background:#f3f5f3;color:var(--muted);font-weight:800;font-size:.88rem}
.speech-status-dot{width:9px;height:9px;border-radius:50%;background:currentColor}
.speech-status.is-listening{background:#fff0f0;color:#a53b3b}
.speech-status.is-listening .speech-status-dot{animation:speechPulse 1s ease-in-out infinite}
.speech-status.is-processing{background:#f0f4ff;color:#3e5c9a}
.speech-status.is-starting{background:#f7f7f1;color:#6b745f}
.speech-button.is-listening{background:#c94f4f!important}
.speech-button[disabled]{opacity:.72;cursor:default}
.speech-error{margin-top:10px;padding:11px 12px;border-radius:13px;background:#fff1f1;color:#923b3b;font-size:.88rem;line-height:1.4}
@keyframes speechPulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}


/* Guided language path — one clear action, separate content and daily progress. */
.guided-topic,.guided-setup,.guided-practice{max-width:760px;margin-inline:auto;padding-block:12px 34px}
.guided-topic .detail-heading{margin-bottom:20px}
.guided-mastery,.guided-practice-progress{padding:17px 18px;border:1px solid var(--edge);border-radius:18px;background:#fff}
.guided-mastery>div:first-child,.guided-practice-progress>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:center}
.guided-mastery strong,.guided-practice-progress strong{font-size:1rem}
.guided-mastery span,.guided-practice-progress span{font-weight:800;color:var(--muted)}
.guided-progress{height:9px;margin-top:12px;border-radius:999px;background:#e7ece4;overflow:hidden}
.guided-progress>span{display:block;width:var(--guided-progress,0%);height:100%;border-radius:inherit;background:#3d9854;transition:width .25s ease}
.guided-today{display:grid;gap:15px;margin-top:16px;padding:20px;border-radius:20px;background:#eef6e9}
.guided-today>div{display:grid;gap:4px}
.guided-today strong{font-size:1.12rem}
.guided-today small{color:var(--muted);line-height:1.45}
.guided-today .primary-button{width:100%;justify-content:center}
.guided-extra{margin-top:28px}
.guided-extra h2{margin:0 0 12px;font-size:1.08rem}
.guided-extra>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.guided-extra a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:92px;padding:13px 8px;border:1px solid var(--edge);border-radius:16px;background:#fff;color:var(--ink);text-align:center}
.guided-extra a:hover,.guided-extra a:focus-visible{background:var(--soft)}
.guided-extra .ui-icon{width:28px;height:28px}

.guided-setup>h1,.guided-practice>h1{margin-top:16px;font-size:clamp(2rem,7vw,3rem)}
.guided-setup>p{margin:4px 0 0;color:var(--muted);font-size:1.08rem}
.guided-setup form{display:grid;gap:26px}
.guided-setup fieldset{border:0;padding:0;margin:0}
.guided-setup legend{margin-bottom:12px;font-size:1.05rem;font-weight:800}
.guided-paces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.guided-paces label{position:relative;display:grid;justify-items:center;gap:5px;padding:16px 8px;border:1.5px solid var(--edge);border-radius:16px;background:#fff;text-align:center;cursor:pointer}
.guided-paces label:has(input:checked){border-color:#2f7d4b;background:#eef6e9;box-shadow:inset 0 0 0 1px #2f7d4b}
.guided-paces input{position:absolute;opacity:0;pointer-events:none}
.guided-paces .ui-icon{width:29px;height:29px}
.guided-paces small{color:var(--muted)}
.guided-setup .primary-button{width:100%;justify-content:center;min-height:58px;font-size:1.08rem}

.guided-practice-progress{margin-top:18px}
.guided-cheer{display:flex;align-items:center;gap:16px;margin:17px 0 20px;padding:12px 18px;border-radius:18px;background:#eef6e9}
.guided-cheer img{width:74px;height:74px;object-fit:contain;flex:none}
.guided-cheer strong{font-size:1.05rem;line-height:1.35}
.guided-blocks{display:grid;gap:9px}
.guided-block{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:13px;align-items:center;min-height:72px;padding:12px 14px;border:1px solid var(--edge);border-radius:15px;background:#fff;color:var(--ink)}
.guided-block>span:nth-child(2){display:grid;gap:3px;min-width:0}
.guided-block small{display:block;color:var(--muted);line-height:1.35}
.guided-marker{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#eef1ec;color:#6f7e72;font-weight:800}
.guided-marker .ui-icon{width:21px;height:21px}
.guided-block.is-current{border-color:#3d9854;background:#f3f9ef;box-shadow:inset 0 0 0 1px #3d9854}
.guided-block.is-current .guided-marker{background:#3d9854;color:#fff}
.guided-block.is-complete{border-color:transparent;background:#f7faf5}
.guided-block.is-complete .guided-marker{background:#3d9854}
.guided-block.is-locked{color:#879088;background:#fbfbf8}
.guided-block.is-locked small{color:#9aa19a}
.guided-block.is-locked>.ui-icon{opacity:.55;width:19px;height:19px}

@media(max-width:560px){
  .guided-topic,.guided-setup,.guided-practice{padding-top:4px}
  .guided-extra>div,.guided-paces{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .guided-extra a{font-size:.82rem;min-height:82px;padding-inline:5px}
  .guided-paces label{padding:14px 4px;font-size:.9rem}
  .guided-block{grid-template-columns:40px minmax(0,1fr) 20px;padding:11px 12px}
}


/* v0.25 · Tesoros de Bambú */
.footer-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:4px}
.footer-link{min-height:70px;gap:1px;padding:4px 2px}
.footer-nav-icon{display:block;width:50px;height:50px;object-fit:contain;opacity:.78;transform:scale(.94);transition:transform .18s ease,opacity .18s ease}
.footer-link:hover .footer-nav-icon,.footer-link.in-section .footer-nav-icon,.footer-link[aria-current=page] .footer-nav-icon{opacity:1;transform:scale(1)}
.footer-link.in-section:after,.footer-link[aria-current=page]:after{width:48px;max-width:70%;height:4px;margin-top:0}
.treasure-heading{display:grid;gap:7px;margin:4px 0 20px}
.treasure-heading h1{margin:0;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.045em;color:#123d2f}
.treasure-heading p{margin:0;color:var(--muted);line-height:1.45}
.treasure-heading .eyebrow,.treasure-album-copy .eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#5e7569}
.treasure-shelf,.treasure-album-detail,.treasure-card-detail{padding-top:18px;padding-bottom:32px}
.treasure-album-list{display:grid;gap:13px;max-width:820px}
.treasure-album-card{display:grid;grid-template-columns:118px minmax(0,1fr) 26px;gap:16px;align-items:center;min-height:150px;padding:14px;border:1px solid var(--edge);border-radius:22px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 22px rgb(31 70 49 / .05)}
.treasure-album-card.is-active:hover{border-color:#80a98e;box-shadow:0 12px 28px rgb(31 70 49 / .09)}
.treasure-album-card.is-locked{grid-template-columns:92px minmax(0,1fr);background:#f6f7f2;color:#627168;box-shadow:none}
.treasure-album-cover{width:112px;aspect-ratio:2/3;border-radius:14px;overflow:hidden;background:#edf5e9}
.treasure-album-cover img{width:100%;height:100%;object-fit:cover}
.treasure-album-copy{display:grid;gap:6px;min-width:0}
.treasure-album-copy h2{margin:0;font-size:1.2rem}
.treasure-album-copy strong{font-size:.94rem}
.treasure-album-copy small{color:var(--muted);line-height:1.35}
.treasure-album-arrow{font-size:2rem;color:#6d8075}
.treasure-coming-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:#e8eee7;color:#7c8c83;font-size:1.8rem}
.treasure-progress{display:block;width:min(240px,100%);height:8px;border-radius:999px;background:#e2ece2;overflow:hidden}
.treasure-progress i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:#28724f}
.treasure-back-link{display:inline-flex;margin:0 0 12px;color:#426355;font-weight:800;text-decoration:none}
.treasure-back-link:hover{text-decoration:underline;text-underline-offset:3px}
.treasure-pages{display:grid;gap:22px}
.treasure-album-page{padding:15px;border:1px solid var(--edge);border-radius:20px;background:#fff}
.treasure-album-page h2{margin:0 0 12px;font-size:1rem;color:#52685d}
.treasure-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.treasure-card-slot{position:relative;min-width:0;border-radius:15px;overflow:hidden}
.treasure-card-slot.is-owned{display:block;background:#eef5e9;box-shadow:0 5px 14px rgb(31 70 49 / .08)}
.treasure-card-slot.is-owned img{display:block;width:100%;height:auto}
.treasure-copy-count{position:absolute;right:7px;top:7px;display:grid;place-items:center;min-width:32px;height:32px;padding:0 7px;border-radius:999px;background:#174f3b;color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 2px 8px rgb(0 0 0 / .18)}
.treasure-card-slot.is-locked{aspect-ratio:2/3;display:grid;place-items:center;align-content:center;gap:6px;border:1px dashed #c7d6c7;background:linear-gradient(145deg,#f7faf5,#edf3e9);color:#8b9a90}
.treasure-card-number{position:absolute;left:10px;top:9px;font-size:.72rem;font-weight:900}
.treasure-card-mystery{font-size:2.2rem;font-weight:900;color:#aab8ae}
.treasure-card-slot.is-locked small{font-size:.7rem}
.treasure-card-detail{max-width:520px;margin-inline:auto}
.treasure-flip-card{display:grid;gap:13px;width:100%;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.treasure-detail-image{display:block;width:min(420px,100%);margin:auto;border-radius:22px;box-shadow:0 12px 36px rgb(29 62 44 / .14)}
.treasure-flip-label{display:inline-flex;justify-self:center;padding:10px 18px;border:1px solid var(--edge);border-radius:999px;background:#fff;font-weight:800}
.treasure-flip-card:focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:22px}
.treasure-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:rgb(16 35 27 / .68);backdrop-filter:blur(4px)}
.treasure-dialog{position:relative;display:grid;justify-items:center;gap:10px;width:min(480px,100%);max-height:calc(100dvh - 30px);overflow:auto;padding:28px 24px 24px;border:1px solid rgb(54 94 71 / .12);border-radius:28px;background:#fffefa;box-shadow:0 28px 80px rgb(8 28 19 / .28);text-align:center}
.treasure-dialog h2{margin:6px 42px 0;font-size:clamp(1.75rem,6vw,2.35rem);line-height:1.05;letter-spacing:-.035em;color:#123d2f}
.treasure-dialog>p{margin:2px 0 4px;color:#5f7068;line-height:1.45}
.treasure-modal-close{position:absolute;right:16px;top:14px;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#eef4ea;color:#173f31;font:inherit;font-size:1.8rem;line-height:1;cursor:pointer}
.treasure-envelope-closed{display:block;width:min(360px,92%);height:auto;margin:8px auto}
.treasure-open-button{width:min(360px,100%);margin-top:4px}
.treasure-later-button{border:0;background:transparent;color:#2d614c;font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.treasure-reveal-dialog{gap:8px}
.treasure-open-scene{position:relative;width:min(400px,96%);aspect-ratio:640/618;margin:0 auto}
.treasure-open-back,.treasure-open-front{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.treasure-open-back{z-index:1}
.treasure-award-card{position:absolute;z-index:2;left:28%;top:25%;width:44%;height:auto;border-radius:9px;box-shadow:0 10px 24px rgb(25 55 39 / .2);animation:treasure-card-rise .7s cubic-bezier(.2,.8,.2,1) both}
.treasure-open-front{z-index:3}
.treasure-reveal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%}
.treasure-reveal-actions a{width:100%}
@keyframes treasure-card-rise{from{transform:translateY(24%) scale(.96);opacity:.15}to{transform:translateY(-8%) scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.treasure-award-card{animation:none;transform:translateY(-8%)}.footer-nav-icon{transition:none}}
@media(max-width:700px){
 .footer-nav-icon{width:43px;height:43px}.footer-link{min-height:62px}
 .treasure-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .treasure-album-card{grid-template-columns:92px minmax(0,1fr) 20px;gap:12px;min-height:130px;padding:12px}
 .treasure-album-cover{width:88px}.treasure-dialog{padding:24px 18px 20px;border-radius:24px}
 .treasure-reveal-actions{grid-template-columns:1fr}
}


/* Ajustes de navegación y práctica guiada */
.guided-block.is-complete .guided-marker .ui-icon{filter:brightness(0) invert(1)}
.footer-nav-icon{width:68px;height:68px;transform:scale(1)}
.footer-link{min-height:82px}
@media(max-width:700px){
  .footer-nav-icon{width:62px;height:62px}
  .footer-link{min-height:74px}
}


/* v0.25.1 · recorrido guiado con color suave, inspirado en el jardín */
.guided-blocks{position:relative;gap:10px;padding-left:10px}
.guided-blocks:before{content:"";position:absolute;left:29px;top:20px;bottom:20px;width:3px;border-radius:999px;background:linear-gradient(180deg,#8ecb9a 0 24%,#e7c16d 24% 43%,#7ecab9 43% 63%,#5fa76b 63% 76%,#d8ded8 76% 100%);opacity:.82}
.guided-block{position:relative;z-index:1;grid-template-columns:44px minmax(0,1fr) 36px 24px;min-height:80px;padding:13px 14px;border-radius:18px;overflow:hidden;box-shadow:0 3px 12px rgb(29 62 44 / .035)}
.guided-block:after{content:"";position:absolute;right:-28px;bottom:-34px;width:126px;height:100px;border-radius:55% 0 0 0;opacity:.6;pointer-events:none}
.guided-block.kind-learn{background:#f4f9f2}.guided-block.kind-learn:after{background:#e3f2df}
.guided-block.kind-practice{background:#f2faf8}.guided-block.kind-practice:after{background:#dff3ef}
.guided-block.kind-repair{background:#fffbf1}.guided-block.kind-repair:after{background:#fff0be}
.guided-block.kind-more{background:#f4f8fc}.guided-block.kind-more:after{background:#dfeefa}
.guided-block.kind-mix{background:#f4faf1}.guided-block.kind-mix:after{background:#dcf0dc}
.guided-block.kind-challenge{background:#fffaf1}.guided-block.kind-challenge:after{background:#f6e7b8}
.guided-block.kind-review{background:#f5f8f3}.guided-block.kind-review:after{background:#e4efe0}
.guided-block.is-complete{border-color:rgba(54,116,73,.06)}
.guided-block.is-current{border:2px solid #3d9854;background:#f7fbf4;box-shadow:0 5px 16px rgb(42 118 69 / .07)}
.guided-block.is-locked{background:#fbfbf9;border-color:#e2e6e1;box-shadow:none}
.guided-block.is-locked:after{background:#eff2ed;opacity:.55}
.guided-block-accent{position:relative;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;color:#66a777}
.guided-block-accent .ui-icon{width:25px;height:25px;opacity:.65}
.guided-block.kind-practice .guided-block-accent{color:#6cbfb1}
.guided-block.kind-repair .guided-block-accent{color:#dda94f}
.guided-block.kind-more .guided-block-accent{color:#6faed7}
.guided-block.kind-challenge .guided-block-accent{color:#d3a43e}
.guided-block.is-locked .guided-block-accent{color:#aeb7af;opacity:.55}
.guided-marker{position:relative;z-index:3;width:42px;height:42px;box-shadow:0 0 0 5px rgba(255,255,255,.72)}
.guided-block.is-complete .guided-marker{background:#58a463}
.guided-block.is-current .guided-marker{background:#3d9854}
.guided-block.is-complete .guided-marker .ui-icon{filter:brightness(0) invert(1)}
@media(max-width:560px){
  .guided-blocks{padding-left:6px}
  .guided-blocks:before{left:25px}
  .guided-block{grid-template-columns:40px minmax(0,1fr) 30px 20px;min-height:76px;padding:11px 11px}
  .guided-marker{width:40px;height:40px}
  .guided-block-accent{width:30px;height:30px}
  .guided-block-accent .ui-icon{width:23px;height:23px}
}


/* v0.25.2 · home de asignatura centrada en continuar aprendiendo */
.language-progress-hero{grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:auto auto;gap:14px 18px;padding:24px 28px 26px;overflow:hidden;position:relative}
.language-progress-hero:after{content:"";position:absolute;right:-54px;top:-66px;width:220px;height:220px;border-radius:50%;background:rgba(157,194,140,.13);pointer-events:none}
.language-progress-hero .hero-copy{align-self:center;z-index:1;min-width:0}.language-progress-hero .hero-copy h1{margin:2px 0 0}.language-progress-hero .hero-copy p{margin:7px 0 0;max-width:30ch}
.language-hero-eyebrow{display:block;font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#587165}
.language-progress-hero .hero-art{z-index:1;grid-row:1;width:100%;min-width:0;gap:5px}.language-progress-hero .hero-panda{display:block;width:100%;max-width:220px;height:auto;object-fit:contain}.language-progress-hero .greeting{font-size:1rem;padding:7px 15px;max-width:100%;margin:0}
.language-hero-progress{grid-column:1/-1;z-index:2;display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:12px 14px;align-items:center;padding:14px 16px;border-radius:17px;background:rgba(255,255,255,.92);border:1px solid rgba(88,113,101,.09);color:var(--ink);box-shadow:0 6px 18px rgb(31 70 49 / .05)}
.language-hero-progress:hover{background:#fff;border-color:#9eb7a5}.language-hero-topic-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#e9f3e5}.language-hero-topic-icon .ui-icon{width:31px;height:31px}
.language-hero-topic-copy{display:grid;gap:3px;min-width:0}.language-hero-topic-copy strong{font-size:1.05rem}.language-hero-topic-copy small{color:var(--muted);font-size:.78rem}
.language-progress-track{display:block;width:100%;height:8px;border-radius:999px;background:#e1e9e1;overflow:hidden;margin-top:3px}.language-progress-track i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#43a865,#18724d)}
.language-progress-percent{font-size:.92rem;color:#234f3e}.language-hero-continue{display:inline-flex;align-items:center;gap:5px;min-height:42px;padding:8px 12px;border-radius:11px;background:#174f3b;color:#fff;font-weight:800;font-size:.84rem}.language-hero-continue .ui-icon{width:18px;height:18px;filter:brightness(0) invert(1)}
.language-section-heading{margin-bottom:12px}.language-section-heading .section-caption{margin:4px 0 0}
.language-progress-list{display:grid;gap:10px}
.language-progress-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:86px;padding:13px 15px;border:1px solid var(--edge);border-radius:17px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 3px 12px rgb(31 70 49 / .025)}
.language-progress-card:hover{border-color:#88aa94;background:#fbfdfa}.language-progress-card .card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#edf4e9}.language-progress-card .card-icon .ui-icon{width:29px;height:29px}
.language-progress-card.tone-1 .card-icon{background:#fff0e8}.language-progress-card.tone-2 .card-icon{background:#e9f5f1}.language-progress-card.tone-3 .card-icon{background:#fff3d8}
.language-progress-copy{display:grid;gap:3px;min-width:0}.language-progress-copy strong{font-size:1.02rem}.language-progress-copy small{font-size:.76rem;color:var(--muted)}.language-progress-copy .language-progress-track{max-width:360px}
.language-progress-card .language-progress-percent{min-width:40px;text-align:right}.language-progress-card .card-arrow{width:19px;height:19px}
.language-arcade-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:26px;padding:16px 18px;border-radius:18px;background:linear-gradient(100deg,#e7f6e4,#f1f8ea);color:var(--ink);text-decoration:none;overflow:hidden;position:relative}
.language-arcade-card:after{content:"";position:absolute;right:-20px;bottom:-42px;width:120px;height:110px;border-radius:60% 0 0 0;background:rgba(92,162,104,.12)}
.language-arcade-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#d6ecd3}.language-arcade-icon .ui-icon{width:32px;height:32px}.language-arcade-card>span:nth-child(2){display:grid;gap:3px}.language-arcade-card strong{font-size:1.05rem}.language-arcade-card small{color:#5c7468;font-size:.8rem}.language-arcade-action{z-index:1;display:inline-flex;align-items:center;gap:5px;font-weight:850}.language-arcade-action .ui-icon{width:18px;height:18px}
@media(max-width:620px){
 .language-progress-hero{grid-template-columns:minmax(0,1fr) 124px;padding:20px 18px;column-gap:12px}
 .language-progress-hero .greeting{font-size:.88rem;padding:6px 11px}
 .language-hero-progress{grid-template-columns:44px minmax(0,1fr) auto;padding:12px;gap:9px}
 .language-hero-topic-icon{width:44px;height:44px}.language-hero-topic-icon .ui-icon{width:27px;height:27px}
 .language-hero-continue{grid-column:2/4;width:100%;justify-content:center}
 .language-progress-card{grid-template-columns:42px minmax(0,1fr) auto 18px;padding:12px 11px;gap:9px}
 .language-progress-card .card-icon{width:42px;height:42px}.language-progress-card .card-icon .ui-icon{width:26px;height:26px}
 .language-progress-copy .language-progress-track{height:7px}
 .language-arcade-card{grid-template-columns:46px minmax(0,1fr) auto;padding:14px}.language-arcade-icon{width:46px;height:46px}
}
@media(max-width:350px){.language-progress-hero{grid-template-columns:minmax(0,1fr) 104px;padding:18px 16px}.language-progress-hero .language-hero-eyebrow{font-size:.65rem;letter-spacing:.12em}}


/* v0.25.3 · equilibrio óptico de los iconos del pie */
.footer-link{overflow:visible}
.footer-nav-icon{width:70px;height:70px;transform-origin:center}
.footer-link:nth-child(1) .footer-nav-icon{transform:scale(.90)}
.footer-link[href="/albumes/"] .footer-nav-icon{transform:scale(1.10)}
.footer-link[href="/asignaturas/"] .footer-nav-icon{transform:scale(1.20)}
.footer-link:nth-child(4) .footer-nav-icon{transform:scale(1.12)}
.footer-link:hover .footer-nav-icon,
.footer-link.in-section .footer-nav-icon,
.footer-link[aria-current=page] .footer-nav-icon{opacity:1}
.footer-link:nth-child(1):hover .footer-nav-icon,
.footer-link:nth-child(1).in-section .footer-nav-icon,
.footer-link:nth-child(1)[aria-current=page] .footer-nav-icon{transform:scale(.94)}
.footer-link[href="/albumes/"]:hover .footer-nav-icon,
.footer-link[href="/albumes/"].in-section .footer-nav-icon,
.footer-link[href="/albumes/"][aria-current=page] .footer-nav-icon{transform:scale(1.15)}
.footer-link[href="/asignaturas/"]:hover .footer-nav-icon,
.footer-link[href="/asignaturas/"].in-section .footer-nav-icon,
.footer-link[href="/asignaturas/"][aria-current=page] .footer-nav-icon{transform:scale(1.25)}
.footer-link:nth-child(4):hover .footer-nav-icon,
.footer-link:nth-child(4).in-section .footer-nav-icon,
.footer-link:nth-child(4)[aria-current=page] .footer-nav-icon{transform:scale(1.17)}
@media(max-width:700px){
  .footer-link{min-width:0;min-height:72px;flex-direction:column;padding-inline:2px}
  .footer-nav-icon{width:clamp(44px,13.33vw,58px);height:clamp(44px,13.33vw,58px);flex-shrink:0}
}


/* v0.25.4 · vista previa docente antes de publicar */
.student-preview-toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.student-preview-toolbar-actions .secondary-button{min-height:40px;padding:8px 11px;font-size:.82rem}
.student-preview-body .guided-practice{max-width:760px;margin-inline:auto}
.student-preview-body .session-wrap{max-width:760px;margin-inline:auto}
.student-preview-body .guided-block a,.student-preview-body .session-wrap a,.student-preview-body [data-session-action]{pointer-events:auto}
.student-preview-body .session-wrap .back-row{display:flex}
.cb-vocabulary-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;max-height:none;overflow:visible;padding:0 0 12px}
.word-choice.cb-vocabulary-card{position:relative;display:grid!important;grid-template-columns:auto 72px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:96px;padding:10px!important;border:1px solid var(--edge);border-radius:13px;background:#fff}
.cb-vocabulary-visual{display:grid;place-items:center;width:72px;height:72px;overflow:hidden;border-radius:12px;background:var(--soft);color:var(--muted)}
.cb-vocabulary-visual img,.cb-vocabulary-visual picture{display:block;width:100%;height:100%;object-fit:cover}
.cb-vocabulary-visual .picture-emoji{font-size:2.4rem}
.cb-vocabulary-copy{display:grid;gap:2px;min-width:0}
.cb-vocabulary-copy strong{font-size:1rem}
.cb-vocabulary-copy small,.cb-vocabulary-copy em{font-style:normal;color:var(--muted)}
.cb-vocabulary-card .publisher-audio{align-self:center}
.cb-item-preview{justify-self:end;white-space:nowrap;min-height:36px!important;padding:6px 9px!important;font-size:.78rem!important}
.cb-item-preview .ui-icon{width:17px;height:17px}
.cb-publish-choice{grid-template-columns:auto minmax(0,1fr) auto auto}
@media(max-width:760px){
  .student-preview-toolbar{align-items:flex-start;flex-direction:column}
  .student-preview-toolbar-actions{width:100%;justify-content:flex-start}
  .cb-vocabulary-cards{grid-template-columns:1fr}
  .word-choice.cb-vocabulary-card{grid-template-columns:auto 64px minmax(0,1fr) auto}
  .cb-vocabulary-visual{width:64px;height:64px}
  .cb-publish-choice{grid-template-columns:auto minmax(0,1fr)}
  .cb-item-preview,.cb-publish-choice .back-link{grid-column:2;justify-self:start}
}


/* v0.25.5 · semillas por curso */
.forest-honesty-note{max-width:660px;margin:10px auto 0;padding:10px 14px;border-radius:13px;background:rgba(255,255,255,.78);color:var(--muted);font-size:.78rem;line-height:1.45;text-align:center}


/* dev · Cambridge grammar-first publisher */
.cb-planner-note{display:flex;align-items:flex-start;gap:12px;padding:15px 16px!important;border:1px solid rgba(64,105,79,.12);border-radius:15px;background:linear-gradient(135deg,#f0f7e9,#f7fbf4);line-height:1.5}.cb-planner-note strong{flex:none;color:var(--ink)}.cb-planner-note span{color:var(--muted)}
.cb-grammar-recommended{display:grid;gap:8px}.cb-grammar-group-label{display:block;padding:2px 2px 4px;font-size:.72rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.cb-grammar-more{margin-top:8px!important;border:1px dashed var(--edge)!important;background:#fafcf8!important}.cb-grammar-more>summary{font-size:.86rem!important;color:var(--muted)}.cb-grammar-more .cb-publish-list{padding:0 0 10px}.cb-grammar-choice{grid-template-columns:auto minmax(0,1fr) auto!important;padding:13px!important;border-radius:14px!important}.cb-grammar-choice>span strong{font-size:.98rem}.cb-grammar-choice>span small{font-size:.85rem!important;line-height:1.45}.cb-grammar-choice>span em{display:flex;flex-wrap:wrap;gap:4px;color:var(--green)!important;font-weight:750}.cb-grammar-choice.is-auto-support{background:#f8fbf5;box-shadow:inset 3px 0 0 #9bb58f}.cb-grammar-choice.is-auto-support>span em:after{content:' · apoyo para la lectura';color:var(--muted);font-weight:650}
.cb-activity-groups,.cb-reading-list{display:grid;gap:11px;padding-bottom:13px}.cb-focus-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 13px;padding:10px 12px;border-radius:12px;background:#f7faf4;border:1px solid var(--edge)}.cb-focus-picker[hidden]{display:none!important}.cb-focus-picker>span{margin-right:4px;font-size:.78rem;font-weight:850;color:var(--muted)}.cb-focus-picker label{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 9px;border-radius:999px;background:#fff;border:1px solid var(--edge);font-size:.8rem;font-weight:750}.cb-focus-picker input{width:17px;height:17px;accent-color:var(--green)}.cb-focus-picker label:has(input:disabled){opacity:.42;background:#f7f7f4}.cb-activity-group{display:grid;grid-template-columns:auto minmax(190px,1.05fr) minmax(220px,1.1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--edge);border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(31,75,58,.035)}.cb-activity-group[hidden],.cb-reading-choice[hidden]{display:none!important}.cb-group-check{display:flex;align-items:center;gap:10px}.cb-group-check input,.cb-reading-check input{width:22px;height:22px;accent-color:var(--green);flex:none}.cb-activity-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:var(--soft);font-size:1.6rem}.cb-activity-copy{display:grid;gap:5px;min-width:0}.cb-activity-copy>strong{font-size:1rem}.cb-activity-copy>p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.4}.cb-skill-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.cb-skill-chip{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border-radius:999px;background:#eef5e8;color:var(--ink);font-size:.72rem;font-weight:750}.cb-skill-chip.is-focus{background:#f6f1dd;color:#665a25}.cb-skill-chip.is-reading-level{background:#edf4f7;color:#315a67}.cb-skill-chip.is-coverage{background:#eef7ef;color:#315f3d}.cb-activity-examples{min-width:0;padding:10px 12px;border-radius:12px;background:#f8fbf6}.cb-activity-examples>span{font-size:.7rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cb-activity-examples ul{display:grid;gap:5px;margin:6px 0 0;padding-left:16px}.cb-activity-examples li{color:var(--muted);font-size:.8rem;line-height:1.35}.cb-activity-examples li b{color:var(--ink)}.cb-activity-actions{display:grid;justify-items:end;gap:8px;min-width:120px}.cb-activity-actions>strong{font-size:.82rem;white-space:nowrap}.cb-activity-actions .secondary-button{white-space:nowrap}
.cb-reading-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid var(--edge);border-radius:15px;background:#fff}.cb-reading-check{display:flex;align-items:center}.cb-reading-copy{display:grid;gap:5px;min-width:0}.cb-reading-copy>strong{font-size:1rem}.cb-reading-copy>p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.cb-reading-copy .eyebrow{font-size:.68rem}.cb-reading-grammar-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px}.cb-chip-label{font-size:.68rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-left:3px}.cb-activity-bulk-actions,.cb-reading-bulk-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}.cb-activity-bulk-actions .back-link,.cb-reading-bulk-actions .back-link{margin:0;min-height:36px}.cb-plan-availability{margin:3px 0 11px;color:var(--green);font-size:.82rem;font-weight:800}.cb-planner-empty{margin:0 0 12px;padding:15px;border:1px dashed var(--edge);border-radius:13px;background:#fafcf8;color:var(--muted);font-size:.9rem}.cb-planner-empty[hidden]{display:none!important}
.reading-level-note{margin:.3rem 0 .7rem;color:var(--muted);font-size:.86rem}.reading-vocab-word{border-bottom-width:1.5px}.reading-vocab-word:hover,.reading-vocab-word:focus-visible{background:#edf5e8;border-radius:4px;outline:none}.reading-word-help{display:flex;align-items:center;gap:8px;min-height:1.6em;margin:10px 4px;padding:0}.reading-word-help:has(span){width:max-content;max-width:100%;padding:8px 10px;border:1px solid var(--edge);border-radius:10px;background:#fff;box-shadow:0 5px 16px rgba(31,75,58,.06)}.reading-word-help span{display:flex;gap:7px;align-items:baseline;min-width:0;flex-wrap:wrap}.reading-word-help span strong{color:var(--ink)}.reading-word-help span b{color:var(--muted)}.reading-word-audio{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--edge);border-radius:50%;background:var(--soft);cursor:pointer;flex:none}
@media(max-width:920px){.cb-activity-group{grid-template-columns:auto minmax(0,1fr) auto}.cb-activity-examples{grid-column:2/4}.cb-activity-actions{grid-column:3;grid-row:1;align-self:start}.cb-activity-copy{padding-right:118px}}
@media(max-width:640px){.cb-grammar-choice{grid-template-columns:auto minmax(0,1fr)!important}.cb-grammar-choice .cb-item-preview{grid-column:2;justify-self:start}.cb-activity-group{grid-template-columns:auto minmax(0,1fr);align-items:start}.cb-group-check{align-items:flex-start}.cb-activity-icon{width:46px;height:46px;font-size:1.35rem}.cb-activity-copy{padding-right:0}.cb-activity-examples{grid-column:1/-1}.cb-activity-actions{grid-column:1/-1;grid-row:auto;display:flex;justify-content:space-between;align-items:center;width:100%}.cb-reading-choice{grid-template-columns:auto minmax(0,1fr)}.cb-reading-choice>.cb-item-preview{grid-column:2;justify-self:start}.cb-planner-note{display:grid}}


/* dev · teacher content reference layout + reading images */
.publisher-focus{max-width:1180px}.publisher-focus .publisher-trail{margin-bottom:18px}.publisher-focus .block-sheet-head{border:0;margin-bottom:16px;padding-bottom:0}.publisher-focus .block-sheet-head h2{font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.03em}.publisher-focus .block-sheet-head p{max-width:900px;font-size:1rem;line-height:1.5}.publisher-focus .status-pill{align-self:flex-start}
.cambridge-bank.is-detail{padding:0!important;border:0!important;background:transparent!important}.cambridge-publisher{padding-top:0;border-top:0;gap:16px}
.cb-overview-cards{gap:12px;margin-bottom:0}.cb-overview-card{display:grid!important;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;min-height:102px;padding:15px 16px!important;border-radius:15px!important;background:#fff!important}.cb-overview-card.is-vocab{background:#f3faf3!important}.cb-overview-card.is-grammar{background:#f4f9fc!important}.cb-overview-card.is-practice{background:#fff9ee!important}.cb-overview-card.is-reading{background:#f8f5fd!important}.cb-overview-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.7)}.cb-overview-icon .ui-icon{width:30px;height:30px}.cb-overview-copy{display:grid;gap:1px}.cb-overview-copy>span,.cb-overview-copy small{color:var(--muted);font-size:.78rem}.cb-overview-copy strong{font-size:1.45rem;line-height:1}
.cb-planner-note{display:grid!important;grid-template-columns:46px auto minmax(0,1fr) 32px;align-items:center;gap:12px;background:linear-gradient(100deg,#edf8ef,#f7fbf5)!important}.cb-planner-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dff1e2}.cb-planner-icon .ui-icon{width:24px;height:24px}.cb-planner-close{display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:var(--muted);font-size:1.4rem;cursor:pointer;border-radius:50%}.cb-planner-close:hover{background:#fff}
.cambridge-publisher .block-primary-actions{margin:0}.cambridge-publisher .block-primary-actions .primary-button{min-height:50px;padding-inline:20px;border-radius:12px;font-size:1rem}
.cambridge-publisher>.block-edit-details{padding:0 14px!important;margin:0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 13px rgba(24,64,47,.025)}.cambridge-publisher>.block-edit-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;min-height:58px;padding:10px 0!important}.cambridge-publisher>.block-edit-details>summary::-webkit-details-marker{display:none}.cb-section-summary-main{display:flex;align-items:center;gap:10px;min-width:0}.cb-section-summary-main>.ui-icon{width:25px;height:25px;padding:5px;border-radius:9px;background:var(--soft);box-sizing:content-box}.cb-section-summary-main>span{font-size:.96rem}.cb-section-summary-main b{font-weight:800}.cambridge-publisher>.block-edit-details>summary>.ui-icon{width:20px;height:20px;transition:transform .18s ease}.cambridge-publisher>.block-edit-details[open]>summary>.ui-icon{transform:rotate(180deg)}
.cb-reading-step[open]{background:linear-gradient(180deg,#f4faf5 0,white 72px)!important}.cb-reading-list{gap:10px}.cb-reading-choice{grid-template-columns:34px 116px minmax(250px,1.5fr) minmax(175px,.8fr) auto;gap:14px;min-height:132px;padding:12px 14px;border-radius:15px}.cb-reading-visual{width:116px;height:104px;border-radius:13px;overflow:hidden;background:var(--soft);display:grid;place-items:center}.cb-reading-visual>img{width:100%;height:100%;object-fit:cover}.cb-reading-upload{display:grid;place-items:center;align-content:center;gap:4px;width:100%;height:100%;padding:6px;color:var(--muted);text-align:center;border:1px dashed #aac1ae;border-radius:12px;background:#fafdf8}.cb-reading-upload:hover{background:#f0f7ed}.cb-reading-upload>button{display:grid;place-items:center;gap:3px;width:100%;height:100%;padding:6px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.cb-reading-upload>button:disabled{opacity:.55;cursor:wait}.cb-reading-upload button span .ui-icon{width:23px;height:23px}.cb-reading-upload strong{font-size:.77rem;color:var(--ink)}.cb-reading-upload small{font-size:.65rem}.cb-reading-upload-status{max-width:100%;font-size:.62rem;line-height:1.25;color:var(--muted);overflow-wrap:anywhere}.cb-reading-copy{gap:4px}.cb-reading-copy>strong{font-size:1.05rem}.cb-reading-copy>.eyebrow{order:2}.cb-reading-copy>p{order:3}.cb-reading-tags{display:flex;gap:7px;flex-wrap:wrap;order:4;margin-top:2px}.cb-reading-grammar-side{display:grid;align-content:center;gap:7px;padding-left:14px;border-left:1px solid var(--edge)}.cb-reading-grammar-side .cb-chip-label{margin:0}.cb-reading-grammar-side .cb-reading-grammar-meta{margin:0}.cb-reading-choice>.cb-item-preview{align-self:center}
.block-note-field{padding-top:14px;border-top:1px solid var(--edge)}.block-note-field:before{content:'✎  Nota para la clase';font-weight:800}.block-note-field textarea{min-height:68px;background:#fff}

/* Student reading: illustrated split card + exercise grid */
.cambridge-text.has-reading-image{padding:18px}.cambridge-reading-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cambridge-reading-title-row h3{font-size:clamp(1.55rem,3vw,2rem);margin:.2rem 0}.reading-comprehension-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--edge);border-radius:999px;background:#fff;font-weight:800;white-space:nowrap}.reading-comprehension-badge .ui-icon{width:21px;height:21px}.cambridge-reading-main{display:grid;grid-template-columns:minmax(260px,1.05fr) minmax(280px,.95fr);gap:16px;align-items:stretch;margin-top:12px}.cambridge-reading-visual{margin:0;min-height:300px;border-radius:16px;overflow:hidden;background:var(--soft)}.cambridge-reading-visual img{display:block;width:100%;height:100%;object-fit:cover}.cambridge-reading-copy{display:grid;align-content:start;padding:6px}.cambridge-reading-copy .cambridge-reading-story{margin:0;background:#fff;border:1px solid var(--edge);font-size:1.1rem;line-height:1.9}.reading-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reading-question-grid .cambridge-text-question{margin:0;background:#fff}.reading-question-grid .choice-grid.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reading-question-grid .choice-grid.compact .secondary-button{width:100%;white-space:normal}
@media(max-width:900px){.cb-reading-choice{grid-template-columns:34px 96px minmax(0,1fr) auto}.cb-reading-visual{width:96px;height:88px}.cb-reading-grammar-side{grid-column:3/5;border-left:0;border-top:1px solid var(--edge);padding:10px 0 0}.cambridge-reading-main{grid-template-columns:1fr}.cambridge-reading-visual{min-height:260px}}
@media(max-width:640px){.cb-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cb-overview-card{grid-template-columns:42px minmax(0,1fr);min-height:82px;padding:11px!important}.cb-overview-icon{width:40px;height:40px}.cb-planner-note{grid-template-columns:38px minmax(0,1fr) 28px}.cb-planner-note strong{grid-column:2}.cb-planner-note>span:not(.cb-planner-icon){grid-column:2/4}.cb-planner-close{grid-column:3;grid-row:1}.cb-reading-choice{grid-template-columns:30px 82px minmax(0,1fr);align-items:start}.cb-reading-visual{width:82px;height:78px}.cb-reading-choice>.cb-item-preview{grid-column:3;justify-self:start}.cb-reading-grammar-side{grid-column:2/4}.reading-question-grid{grid-template-columns:1fr}.cambridge-reading-title-row{display:grid}.reading-comprehension-badge{justify-self:start}}


/* dev · reading cleanup and reliable image replacement */
.cb-reading-image-existing{position:relative;width:100%;height:100%;background:#eef4e9}.cb-reading-image-existing img{display:block;width:100%;height:100%;object-fit:cover}.cb-reading-image-existing>button{position:absolute;right:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:5px 8px;border:1px solid rgba(255,255,255,.86);border-radius:9px;background:rgba(255,255,255,.92);color:var(--ink);font:inherit;font-size:.68rem;font-weight:800;cursor:pointer;box-shadow:0 2px 8px rgba(20,50,38,.12)}.cb-reading-image-existing>button .ui-icon{width:15px;height:15px}.cb-reading-image-existing .cb-reading-upload-status{position:absolute;left:5px;right:5px;bottom:5px;padding:3px 5px;border-radius:6px;background:rgba(255,255,255,.9)}.cb-reading-image-existing .cb-reading-upload-status:empty{display:none}
.cambridge-reading-section{margin-top:12px}.cambridge-reading-section>.cambridge-text:first-child{margin-top:0}.reading-token{white-space:nowrap}.cambridge-reading-story{white-space:pre-line}.reading-question-grid .cambridge-text-question>strong{display:block;margin-bottom:14px;line-height:1.4}.reading-question-grid .cambridge-text-question>.choice-grid{margin-top:2px}


/* dev · richer Cambridge activities */
.cb-activity-group{grid-template-columns:34px minmax(190px,1.05fr) minmax(220px,1.1fr) auto}.cb-group-check{justify-content:center}.cb-group-check input{margin-top:2px}.exercise-multi .answer-tile[aria-pressed="true"],.exercise-multi .answer-tile.is-selected{background:var(--soft);border-color:var(--green);box-shadow:inset 0 0 0 2px rgba(43,98,72,.16)}.exercise-multi .multi-check{justify-self:start;margin-top:4px}.listening-prompt .primary-button{min-width:150px}
@media(max-width:640px){.cb-activity-group{grid-template-columns:30px minmax(0,1fr)}}


/* dev · compact reading illustration */
.cambridge-reading-main{grid-template-columns:1fr}
.cambridge-text.has-reading-image .cambridge-reading-main{grid-template-columns:210px minmax(0,1fr);align-items:start}
.cambridge-text.has-reading-image .cambridge-reading-visual{width:210px;height:170px;min-height:0;align-self:start}
.cambridge-text.has-reading-image .cambridge-reading-visual img{width:100%;height:100%;object-fit:cover}
.reading-comprehension-badge{display:none!important}
@media(max-width:760px){.cambridge-text.has-reading-image .cambridge-reading-main{grid-template-columns:180px minmax(0,1fr)}.cambridge-text.has-reading-image .cambridge-reading-visual{width:180px;height:145px}}
@media(max-width:560px){.cambridge-text.has-reading-image .cambridge-reading-main{grid-template-columns:1fr}.cambridge-text.has-reading-image .cambridge-reading-visual{width:100%;height:160px}}


/* dev · simplified child activity hierarchy */
.cambridge-practice-section{margin-top:12px}.cambridge-practice-section>.practice-block-grid{gap:18px}
.practice-block>header{padding:16px 20px}.practice-block>header h3{margin:0;font-size:1.35rem;line-height:1.2}.practice-block-skills{margin-top:8px}
.cambridge-practice{display:grid;gap:18px;padding:24px!important}.cambridge-practice .exercise-instruction{display:none}
.main-question{padding:20px 22px;border:1px solid var(--edge);border-radius:16px;background:#fff;font-size:clamp(1.35rem,2.5vw,1.75rem);line-height:1.35;font-weight:850;color:var(--ink)}
.exercise-answers{gap:10px;margin-top:0}.exercise-answers>span{font-size:.78rem;letter-spacing:.02em;color:var(--muted);font-weight:800}.exercise-answers .choice-grid.compact{display:flex;flex-wrap:wrap;gap:10px}.answer-tile{min-height:54px!important;padding:12px 18px!important;font-size:1.08rem!important;font-weight:800}
.clue-stack{display:grid;gap:10px}.clue-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--edge);border-radius:14px;background:#f8fbf6}.clue-card>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e3efe0;color:var(--green);font-weight:900}.clue-card>strong{font-size:1.12rem;line-height:1.35}
.answer-card,.silly-card{display:grid;gap:6px;padding:18px 20px;border:1px solid var(--edge);border-radius:16px;background:#fff}.answer-card>span,.silly-card>span{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:800}.answer-card>strong,.silly-card>strong{font-size:clamp(1.25rem,2.3vw,1.6rem);line-height:1.35}
.silly-card{background:#fffaf2}.conversation-strip.simple{display:grid;gap:10px;padding:18px 20px;border:1px solid var(--edge);border-radius:16px;background:#fff}.conversation-strip.simple p{margin:0;font-size:1.08rem;line-height:1.45}.conversation-strip.simple .conversation-question{font-size:1.28rem;font-weight:850}
.listening-prompt{margin:0;padding:0;background:transparent}.listening-prompt .primary-button{min-height:54px;padding:12px 20px;font-size:1.05rem}
.exercise-answer-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:0}.exercise-answer-form input{min-height:52px;font-size:1.08rem}
.practice-slide-nav{padding:12px 20px}.practice-slide-nav span{font-size:.86rem}
@media(max-width:640px){.cambridge-practice{padding:18px!important}.main-question{padding:16px 17px;font-size:1.35rem}.answer-tile{width:100%;justify-content:flex-start}.exercise-answers .choice-grid.compact{display:grid;grid-template-columns:1fr}.exercise-answer-form{grid-template-columns:1fr}}


/* dev · visual animal quiz cards */
.practice-block.is-visual-quiz{overflow:hidden;border-radius:22px}.practice-block.is-visual-quiz>header{display:none}.practice-block.is-visual-quiz .cambridge-practice{gap:0;padding:0!important;background:#fff}
.visual-quiz-head{padding:30px 32px 20px}.visual-topic-pill{display:inline-flex;align-items:center;min-height:36px;padding:6px 16px;border-radius:999px;background:#e8f2df;color:var(--ink);font-size:.9rem;font-weight:850}.visual-quiz-head h2{margin:18px 0 4px;font-size:clamp(2.45rem,5vw,3.8rem);line-height:1.02;letter-spacing:-.045em;color:var(--ink)}.visual-quiz-head p{margin:10px 0 0;font-size:1.08rem;color:var(--muted)}
.visual-answer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 30px 34px}.visual-answer-card{position:relative;display:grid;grid-template-rows:minmax(150px,1fr) auto;place-items:center;min-width:0;min-height:270px;padding:18px 14px 16px;border:1.5px solid var(--edge);border-radius:20px;background:#fff;color:var(--ink);font:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease}.visual-answer-card:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(28,67,49,.08)}.visual-answer-card[aria-pressed="true"]{border-color:var(--green);background:#f2f8ee;box-shadow:inset 0 0 0 2px rgba(38,91,65,.13)}.visual-answer-card.is-correct{border-color:#397a56;background:#eef8ed}.visual-option-image{display:grid;place-items:center;width:100%;height:170px}.visual-option-image img{display:block;max-width:88%;max-height:160px;object-fit:contain}.visual-option-fallback{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:var(--soft);font-size:3rem;font-weight:900}.visual-answer-card strong{font-size:1.35rem;line-height:1.2}.visual-option-check{position:absolute;right:12px;top:12px;display:none;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.visual-answer-card[aria-pressed="true"] .visual-option-check,.visual-answer-card.is-correct .visual-option-check{display:grid}
.practice-multi-select .cb-feedback{min-height:0;margin:0 30px 18px;font-size:1rem;font-weight:800}.practice-multi-select .cb-feedback:empty{display:none}
.visual-quiz-footer{display:flex!important;justify-content:space-between;align-items:center;gap:18px;padding:16px 30px!important;background:#fff!important}.visual-quiz-footer .primary-button{min-width:210px;min-height:54px;font-size:1.08rem}.visual-quiz-progress{display:flex;align-items:center;gap:14px}.visual-quiz-progress>strong{font-size:1.05rem}.visual-progress-dots{display:flex;gap:8px}.visual-progress-dots i{display:block;width:14px;height:14px;border-radius:50%;background:#dce5dd}.visual-progress-dots i.is-current{background:var(--green)}
@media(max-width:820px){.visual-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-answer-card{min-height:240px}.visual-option-image{height:145px}.visual-quiz-head h2{font-size:2.7rem}}
@media(max-width:520px){.visual-quiz-head{padding:22px 18px 14px}.visual-quiz-head h2{font-size:2.25rem}.visual-answer-grid{gap:10px;padding:12px 16px 24px}.visual-answer-card{min-height:200px;padding:12px 8px}.visual-option-image{height:115px}.visual-option-image img{max-height:110px}.visual-answer-card strong{font-size:1.05rem}.visual-quiz-footer{padding:14px 16px!important}.visual-quiz-footer .primary-button{min-width:150px}.visual-progress-dots i{width:10px;height:10px}}


/* dev · visual quiz family polish */
.practice-block.is-visual-quiz>header{display:none}
.practice-block.is-visual-quiz .cambridge-practice{gap:0;padding:0!important}
.practice-block.is-visual-quiz .cb-feedback{margin:0 30px 16px;min-height:0;font-weight:850}.practice-block.is-visual-quiz .cb-feedback:empty{display:none}
.visual-answer-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px;margin-inline:auto}
.visual-question-animal{display:grid;place-items:center;width:190px;height:160px;margin:0 auto 20px}.visual-question-animal img{max-width:100%;max-height:155px;object-fit:contain}.visual-question-animal .visual-option-fallback{width:120px;height:120px}
.visual-text-options,.visual-question-options{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:12px 30px 34px}.visual-text-choice,.visual-question-choice{min-height:58px;padding:13px 20px;border:1.5px solid var(--edge);border-radius:15px;background:#fff;color:var(--ink);font:inherit;font-size:1.08rem;font-weight:800;cursor:pointer}.visual-text-choice[aria-pressed="true"],.visual-question-choice[aria-pressed="true"]{border-color:var(--green);background:#f0f7ed;box-shadow:inset 0 0 0 2px rgba(38,91,65,.12)}.visual-text-choice.is-correct,.visual-question-choice.is-correct{border-color:#397a56;background:#eaf6e9}
.visual-answer-sentence{display:grid;gap:6px;max-width:620px;margin:0 auto 8px;padding:18px 22px;border-radius:17px;background:#f5f9f1;text-align:center}.visual-answer-sentence span{font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:850}.visual-answer-sentence strong{font-size:1.35rem}
.visual-silly-sentence{max-width:650px;margin:0 auto 6px;padding:18px 22px;border:1px solid var(--edge);border-radius:17px;background:#fff8ee;text-align:center;font-size:1.45rem;font-weight:850}
.visual-listen-box{display:grid;place-items:center;padding:10px 30px 20px}.visual-listen-button{display:flex;align-items:center;justify-content:center;gap:14px;min-width:380px;min-height:96px;padding:14px 28px;border:1px solid #cbd9c7;border-radius:22px;background:#eff6e8;color:var(--ink);font:inherit;cursor:pointer}.visual-play{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--green);color:#fff;font-size:1.4rem}.visual-listen-button strong{font-size:1.55rem}.visual-waves{font-size:1.45rem;color:#8aae85}
.visual-clue-stack{display:grid;gap:10px;max-width:720px;margin:0 auto 20px;padding:0 30px}.visual-clue{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:14px 17px;border:1px solid var(--edge);border-radius:15px;background:#f6faf3}.visual-clue>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dfeeda;font-weight:900}.visual-clue>strong{font-size:1.12rem}
.visual-quiz-footer .primary-button:disabled{opacity:.45}
@media(max-width:820px){.visual-listen-button{min-width:min(100%,380px)}.visual-answer-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.visual-answer-grid.is-three{grid-template-columns:1fr}.visual-question-animal{width:150px;height:125px}.visual-listen-button{min-width:100%;min-height:78px}.visual-listen-button strong{font-size:1.25rem}.visual-text-options,.visual-question-options{padding:8px 16px 24px}.visual-text-choice,.visual-question-choice{width:100%}.visual-clue-stack{padding:0 16px}}


/* dev · reading header image + full-width story */
.cambridge-reading-header{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:20px}
.cambridge-reading-header-copy{min-width:0}.cambridge-reading-header-copy h3{margin:.2rem 0;font-size:clamp(1.55rem,3vw,2rem)}
.cambridge-reading-header-visual{width:190px;height:135px;margin:0;border-radius:14px;overflow:hidden;background:var(--soft)}
.cambridge-reading-header-visual img{display:block;width:100%;height:100%;object-fit:cover}
.cambridge-text.has-reading-image .cambridge-reading-main,.cambridge-reading-main{display:block!important;margin-top:16px}
.cambridge-text.has-reading-image .cambridge-reading-copy,.cambridge-reading-copy{width:100%;padding:0!important}
.cambridge-reading-copy .cambridge-reading-story{width:100%;box-sizing:border-box}
@media(max-width:760px){.cambridge-reading-header{grid-template-columns:minmax(0,1fr) 150px}.cambridge-reading-header-visual{width:150px;height:108px}}
@media(max-width:560px){.cambridge-reading-header{grid-template-columns:1fr}.cambridge-reading-header-visual{width:100%;height:150px;order:2}}

/* keep teacher reading preview button aligned */
@media(max-width:900px){.cb-reading-choice>.cb-item-preview{grid-column:4;grid-row:1;align-self:center;justify-self:end}}
@media(max-width:640px){.cb-reading-choice>.cb-item-preview{grid-column:3;grid-row:auto;justify-self:start}}


/* dev · compact visual answers on phones */
@media(max-width:560px){
  .visual-answer-grid,.visual-answer-grid.is-three{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px;padding:10px 14px 22px}
  .visual-answer-card{min-height:165px;padding:10px 7px 11px;border-radius:15px}
  .visual-option-image{height:92px}
  .visual-option-image img{max-width:88%;max-height:88px}
  .visual-answer-card strong{font-size:.96rem}
  .visual-option-check{width:23px;height:23px;right:8px;top:8px;font-size:.78rem}
  .visual-quiz-head{padding:20px 16px 10px}
  .visual-quiz-head h2{font-size:2rem;margin-top:14px}
  .visual-quiz-head p{font-size:.95rem}
  .visual-listen-box{padding:6px 16px 14px}
}


/* dev · grammar lesson screen redesign */
.grammar-lesson-screen{margin:12px 0 0}.grammar-lesson-card{overflow:hidden;border:1px solid var(--edge);border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(31,75,58,.05)}
.grammar-lesson-card>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:16px 18px!important;list-style:none;cursor:pointer;background:#fff}.grammar-lesson-card>summary::-webkit-details-marker{display:none}
.grammar-summary-copy{display:grid!important;gap:3px!important}.grammar-summary-kicker{font-size:.7rem!important;letter-spacing:.08em;color:var(--muted);font-weight:850}.grammar-summary-copy>strong{font-size:1.2rem}.grammar-summary-copy>small{font-size:.85rem!important;line-height:1.35}
.grammar-summary-action{display:grid!important;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--soft)}.grammar-summary-action .ui-icon{width:20px;height:20px;transition:transform .18s}.grammar-lesson-card[open] .grammar-summary-action .ui-icon{transform:rotate(180deg)}
.grammar-lesson-card[open]>summary{display:none!important}.grammar-lesson-card .cambridge-grammar-body{display:grid;gap:14px;padding:0!important}
.grammar-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:28px;padding:30px 32px 22px;background:linear-gradient(180deg,#fbfef9,#f7fbf5)}.grammar-hero-copy{display:grid;gap:9px}.grammar-level-pill{justify-self:start;padding:6px 13px;border-radius:999px;background:#e4f0d9;color:#35683e;font-size:.76rem;font-weight:900}.grammar-hero h2{margin:0;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.grammar-hero p{margin:0;max-width:660px;font-size:1.06rem;line-height:1.5;color:var(--muted)}
.grammar-hero-visual{position:relative;display:grid;place-items:center;height:170px}.grammar-hero-visual img{max-width:180px;max-height:150px;object-fit:contain}.grammar-hero-visual>span{position:absolute;right:0;top:4px;padding:8px 12px;border:1px solid var(--green);border-radius:999px;background:#fff;font-weight:850}
.grammar-step{margin:0 22px;padding:20px;border:1px solid var(--edge);border-radius:18px;background:#fff}.grammar-step-title{display:flex;align-items:center;gap:11px;margin-bottom:13px}.grammar-step-title>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-size:1rem}.grammar-step-title h3{margin:0;font-size:1.3rem}
.grammar-rule-step{background:linear-gradient(180deg,#f4faf1,#f8fcf6)}.grammar-rule-step .grammar-explanation{margin:0 0 14px 45px;font-size:1rem;line-height:1.55}.grammar-rule-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.75fr);gap:12px}.grammar-rule-card{display:grid!important;align-content:center;gap:7px!important;min-height:118px;padding:18px 20px!important;border:0!important;border-radius:15px!important;background:#e5f1df!important;text-align:center}.grammar-rule-card>span{font-size:.73rem!important;letter-spacing:.08em!important}.grammar-rule-card code{font-size:1.55rem!important;font-weight:900;color:var(--ink)}.grammar-rule-card small{font-size:.86rem;color:var(--muted)}
.grammar-trick-card{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:9px!important;margin:0!important;min-height:118px;padding:17px!important;border:1px solid #e7dfbd;border-radius:15px!important;background:#fffdf2!important}.grammar-trick-card strong{display:block;margin-bottom:4px;font-size:1rem}.grammar-trick-card span{line-height:1.45}
.grammar-example-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.grammar-example-card{display:grid;grid-template-rows:100px auto auto;place-items:center;gap:4px;padding:12px;border:1px solid var(--edge);border-radius:15px;background:#fbfdf9;text-align:center}.grammar-example-visual{display:grid;place-items:center;width:100%;height:96px}.grammar-example-visual img{max-width:86px;max-height:86px;object-fit:contain}.grammar-example-card>strong{font-size:.98rem;line-height:1.3}.grammar-example-card>small{font-size:.78rem;color:var(--muted)}
.grammar-error-step{background:#fff5f1;border-color:#efd9d0}.grammar-error-step .grammar-step-title>b{background:#b6332c}.grammar-error-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grammar-error-no,.grammar-error-yes{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:14px;border-radius:14px;background:#fff}.grammar-error-no>span,.grammar-error-yes>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;font-size:1.25rem;font-weight:900}.grammar-error-no>span{background:#c9443a}.grammar-error-yes>span{background:#4b8a45}.grammar-error-no>div,.grammar-error-yes>div{display:grid;gap:3px}.grammar-error-no del,.grammar-error-yes strong{font-size:1.05rem}.grammar-error-no small,.grammar-error-yes small{font-size:.8rem;color:var(--muted)}
.grammar-remember{margin:0 22px;padding:17px 20px;border:1px solid #eadfa8;border-radius:17px;background:#fff9dc}.grammar-remember>strong{font-size:1.16rem}.grammar-remember ul{margin:9px 0 0 20px;padding:0;line-height:1.55}
.grammar-try-step{background:#f3faf1}.grammar-quick-check{display:grid;gap:12px;padding:0!important;border:0!important}.grammar-quick-check>p:first-child{margin:0;font-size:1.12rem;font-weight:800}.grammar-quick-check .form-actions{gap:9px}.grammar-quick-check .secondary-button{min-width:90px;min-height:48px;padding:10px 16px;font-size:1rem;font-weight:800}
.grammar-screen-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:15px 4px;border-top:1px solid var(--edge)}.grammar-screen-footer>.primary-button{min-width:180px;min-height:50px}.grammar-progress{display:flex;align-items:center;gap:12px}.grammar-progress>strong{font-size:.95rem}.grammar-progress>span{display:flex;gap:7px}.grammar-progress i{display:block;width:13px;height:13px;border-radius:50%;background:#dce5dd}.grammar-progress i.is-current{background:var(--green)}
@media(max-width:820px){.grammar-hero{grid-template-columns:minmax(0,1fr) 190px}.grammar-example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.grammar-hero{grid-template-columns:1fr;padding:22px 18px 16px}.grammar-hero-visual{height:135px}.grammar-step{margin:0 12px;padding:16px}.grammar-rule-grid,.grammar-error-pair{grid-template-columns:1fr}.grammar-rule-step .grammar-explanation{margin-left:0}.grammar-example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grammar-example-card{grid-template-rows:80px auto auto;padding:9px}.grammar-example-visual{height:76px}.grammar-example-visual img{max-width:70px;max-height:70px}.grammar-remember{margin:0 12px;padding:15px}.grammar-screen-footer{padding-inline:12px}.grammar-screen-footer>.primary-button{min-width:145px}}


/* dev · reading header left image and full-width text */
.cambridge-reading-header{grid-template-columns:190px minmax(0,1fr)!important;align-items:center!important}
.cambridge-reading-header-visual{grid-column:1;grid-row:1;width:190px!important;height:145px!important}
.cambridge-reading-header-copy{grid-column:2;grid-row:1;align-self:center}
.cambridge-reading-header-copy h3{font-size:clamp(2rem,4.8vw,3rem)!important;line-height:1.05;letter-spacing:-.035em}
.cambridge-reading-main{margin-top:22px!important}
.cambridge-reading-copy{margin:0!important;padding:0!important}
.cambridge-reading-copy .cambridge-reading-story{margin:0!important;padding:0!important;border:0!important;background:transparent!important;width:100%!important;font-size:1.15rem;line-height:1.95}
@media(max-width:760px){
  .cambridge-reading-header{grid-template-columns:150px minmax(0,1fr)!important;gap:15px}
  .cambridge-reading-header-visual{width:150px!important;height:116px!important}
  .cambridge-reading-header-copy h3{font-size:clamp(1.65rem,5vw,2.25rem)!important}
}
@media(max-width:560px){
  .cambridge-reading-header{grid-template-columns:105px minmax(0,1fr)!important;gap:12px}
  .cambridge-reading-header-visual{grid-column:1!important;grid-row:1!important;width:105px!important;height:100px!important;order:initial!important}
  .cambridge-reading-header-copy{grid-column:2;grid-row:1}
  .cambridge-reading-header-copy h3{font-size:1.55rem!important}
  .cambridge-reading-main{margin-top:18px!important}
  .cambridge-reading-copy .cambridge-reading-story{font-size:1.05rem;line-height:1.8}
}


/* dev · mobile reading publisher cleanup + lighter navigation controls */
.cambridge-inner-back .back-link,.cb-reading-bulk-actions .back-link{
  display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 13px;border:1px solid var(--edge);border-radius:999px;
  background:#fff!important;color:var(--ink);font-weight:800;text-decoration:none;box-shadow:0 2px 7px rgba(31,75,58,.035)
}
.cambridge-inner-back .back-link:hover,.cb-reading-bulk-actions .back-link:hover{background:#f6faf3!important;border-color:#b8cbb8}
.cb-reading-bulk-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.cb-reading-bulk-actions .secondary-button{min-height:42px;padding:8px 13px;border-radius:999px;background:#f2f8ee;border-color:#c7d8c4;color:var(--ink);font-weight:800}
.cambridge-word-emoji{display:grid;place-items:center;width:86px;height:86px;font-size:3.8rem;line-height:1}
@media(max-width:640px){
  .cb-reading-list{gap:10px}
  .cb-reading-choice{grid-template-columns:28px 76px minmax(0,1fr)!important;gap:10px!important;padding:11px!important;min-height:0!important;border-radius:15px}
  .cb-reading-check{grid-column:1;grid-row:1;align-self:start;padding-top:9px}
  .cb-reading-visual{grid-column:2;grid-row:1;width:76px!important;height:76px!important;border-radius:12px}
  .cb-reading-copy{grid-column:3;grid-row:1;align-self:start;gap:3px}
  .cb-reading-copy>strong{font-size:1rem;line-height:1.2}
  .cb-reading-copy>.eyebrow{font-size:.67rem;line-height:1.25}
  .cb-reading-tags{margin-top:5px}
  .cb-reading-tags .cb-skill-chip{font-size:.68rem;padding:4px 7px}
  .cb-reading-grammar-side{grid-column:2/4!important;grid-row:2;display:flex!important;align-items:center;gap:6px!important;flex-wrap:wrap;padding:9px 0 0!important;border-top:1px solid var(--edge)!important;border-left:0!important}
  .cb-reading-grammar-side .cb-chip-label{width:100%;font-size:.63rem;letter-spacing:.06em;margin-top:2px!important}
  .cb-reading-grammar-side .cb-reading-grammar-meta{display:flex;gap:5px;flex-wrap:wrap}
  .cb-reading-grammar-side .cb-skill-chip{font-size:.68rem;padding:4px 7px}
  .cb-reading-choice>.cb-item-preview{grid-column:2/4!important;grid-row:3!important;justify-self:start!important;min-height:38px;padding:7px 11px;border-radius:999px}
  .cb-reading-image-existing>button{font-size:.6rem;min-height:26px;padding:4px 6px}
  .cb-reading-bulk-actions{gap:7px;margin-bottom:6px}
  .cb-reading-bulk-actions .secondary-button,.cb-reading-bulk-actions .back-link{min-height:38px;padding:7px 10px;font-size:.78rem}
}


/* dev · final grammar spacing + clear-selection button */
.grammar-lesson-screen{padding-bottom:24px}
.grammar-screen-footer{margin-bottom:10px}
.cb-activity-bulk-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.cb-clear-button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 13px;border:1px solid var(--edge);border-radius:999px;background:#fff!important;color:var(--ink)!important;font-weight:800;box-shadow:0 2px 7px rgba(31,75,58,.035)}
.cb-clear-button:hover{background:#f6faf3!important;border-color:#b8cbb8}
.cb-clear-button .ui-icon{width:17px;height:17px}
@media(max-width:620px){.grammar-lesson-screen{padding-bottom:20px}.grammar-screen-footer{margin-bottom:6px}.cb-clear-button{min-height:38px;padding:7px 10px;font-size:.78rem}}


/* v0.25.6 · cromos sin reverso */
.treasure-static-card{display:grid;justify-items:center;width:100%}
.treasure-static-card .treasure-detail-image{margin-inline:auto}


/* v0.26 · imágenes añadidas directamente desde las tarjetas de Mi material */
.material-flashcard-visual.is-missing{position:relative;align-content:center;gap:8px;padding:10px}
.material-flashcard-visual.is-missing .material-visual-fallback{width:52px;height:44px;background:transparent}
.material-add-image{position:absolute;left:50%;bottom:6px;z-index:3;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 9px;border:1px solid #b9cdb7;border-radius:999px;background:#fff;color:var(--green);font:inherit;font-size:.72rem;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 2px 8px #1b4d3d22;white-space:nowrap}
.material-add-image:hover{background:#f8fbf6}
.material-add-image:disabled{cursor:wait;opacity:.7}
.material-add-image .ui-icon{width:16px!important;height:16px!important}
@media(max-width:520px){.material-add-image{font-size:.72rem;padding:7px 9px}.material-flashcard-visual.is-missing .material-visual-fallback{height:38px}}


/* v0.26.1 · portadas de Mi material y contexto visual */
.material-cover-field{display:grid;gap:6px}
.material-cover-field small{color:var(--muted);font-weight:500}
.material-cover-preview{display:flex;align-items:center;gap:12px;min-height:0}
.material-cover-preview:not(:empty){padding:10px 12px;border:1px dashed var(--edge);border-radius:14px;background:#f8fbf6}
.material-cover-preview img{width:104px;height:76px;object-fit:cover;border-radius:12px;border:1px solid var(--edge);background:#fff}
.material-cover-preview small{color:var(--muted);line-height:1.4}
.material-set-card{grid-template-columns:72px minmax(0,1fr) auto!important}
.material-set-cover{display:grid;place-items:center;width:72px;height:72px;border-radius:15px;background:var(--soft);overflow:hidden}
.material-set-cover img{width:100%;height:100%;object-fit:cover}
.material-set-cover .ui-icon{width:30px;height:30px}
.vocab-result-actions{display:flex;flex-direction:column;gap:6px;align-self:stretch}
.vocab-propose-button.is-colour-variant{background:#fff7dd;border-color:#dec77d}
.vocab-propose-button.is-colour-variant:hover{background:#fff1bd}
.topic-cover-image{display:block;width:100%;height:100%;object-fit:cover}
.language-hero-topic-icon,.language-progress-card .card-icon,.new-topic .topic-visual,.detail-heading .topic-visual{overflow:hidden}
.language-hero-topic-icon .topic-cover-image,.language-progress-card .card-icon .topic-cover-image{border-radius:inherit}
.new-topic .topic-visual .topic-cover-image,.detail-heading .topic-visual .topic-cover-image{border-radius:12px}
.cb-vocabulary-visual .vocabulary-color-swatch{width:52px;height:52px;box-shadow:inset 0 0 0 4px #ffffff55,0 3px 9px #1b4d3d18}
.cambridge-flashcard-visual .vocabulary-color-swatch{width:108px;height:108px}
.review-flashcard-visual .vocabulary-color-swatch{width:104px;height:104px}
.vocabulary-color-swatch.is-learning{width:82px;height:82px;display:block!important}
@media(max-width:800px){.material-set-card{grid-template-columns:64px minmax(0,1fr)!important}.material-set-cover{width:64px;height:64px}.material-set-actions{grid-column:1/-1}.vocab-result-actions{flex-direction:row}.vocab-result-actions .vocab-propose-button{flex:1}}
@media(max-width:520px){.material-cover-preview{align-items:flex-start;flex-direction:column}.material-set-card{grid-template-columns:56px minmax(0,1fr)!important}.material-set-cover{width:56px;height:56px}.vocab-result-actions{flex-direction:column}}


/* v0.26.2 · práctica diaria ampliada y editor global de contenido */
.guided-recommended{display:grid;gap:12px;margin-top:26px}
.guided-section-heading h2{margin:0 0 4px;font-size:1.08rem}
.guided-section-heading p{margin:0;color:var(--muted);line-height:1.5}
.guided-recommended>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.guided-recommended a{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;min-height:86px;padding:13px 14px;border:1px solid var(--edge);border-radius:16px;background:#fff;color:var(--ink);text-decoration:none}
.guided-recommended a:hover{background:var(--soft);border-color:#9eb7a5}
.guided-recommended a>.ui-icon:first-child{width:28px;height:28px}
.guided-recommended a>.ui-icon:last-child{width:18px;height:18px}
.guided-recommended a span{display:grid;gap:3px}.guided-recommended a small{color:var(--muted);line-height:1.35}

.platform-content-intro{margin-bottom:18px}
.platform-content-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.platform-content-list{display:grid;gap:11px}
.platform-content-row{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--edge);border-radius:17px;background:#fff}
.platform-content-row>div:nth-child(2){display:grid;gap:4px;min-width:0}.platform-content-row strong{font-size:1rem}.platform-content-row small{color:var(--muted)}
.platform-content-cover{display:grid;place-items:center;width:68px;height:68px;border-radius:14px;background:var(--soft);overflow:hidden}
.platform-content-cover img{width:100%;height:100%;object-fit:cover}.platform-content-cover .ui-icon{width:30px;height:30px}
.platform-content-actions{display:flex;gap:8px;align-items:center}
.platform-content-editor{display:grid;gap:18px}.platform-block-form{display:grid;gap:22px}
.platform-block-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.platform-block-fields>label{display:grid;gap:6px;font-weight:750}.platform-block-fields .is-wide{grid-column:1/-1}
.platform-block-fields input,.platform-block-fields select,.platform-block-fields textarea,.platform-json-editor textarea{width:100%;box-sizing:border-box}
.platform-block-vocabulary{display:grid;gap:12px;padding-top:4px;border-top:1px solid var(--edge)}
.platform-block-selected{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px}
.platform-block-word{display:grid;grid-template-columns:54px minmax(0,1fr) 34px;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--edge);border-radius:13px;background:#fff}
.platform-block-word-visual{display:grid;place-items:center;width:54px;height:54px;border-radius:11px;background:var(--soft);overflow:hidden}
.platform-block-word-visual img,.platform-block-word-visual svg{width:46px;height:46px;object-fit:contain}
.platform-block-word-visual .vocabulary-color-swatch{width:40px;height:40px}
.platform-block-word>span:nth-child(3){display:grid;gap:2px;min-width:0}.platform-block-word small{color:var(--muted)}
.platform-vocab-results{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.platform-json-editor{display:grid;gap:14px}.platform-json-editor label{display:grid;gap:7px}.platform-json-editor textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.45}
@media(max-width:900px){.guided-recommended>div{grid-template-columns:1fr 1fr}.platform-content-row{grid-template-columns:60px minmax(0,1fr)}.platform-content-actions{grid-column:1/-1;justify-content:flex-end}.platform-block-fields{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.guided-recommended>div{grid-template-columns:1fr}.platform-block-fields{grid-template-columns:1fr}.platform-block-fields .is-wide{grid-column:auto}.platform-content-actions{display:grid;grid-template-columns:1fr 1fr}.platform-content-actions>*{width:100%}.platform-block-selected{grid-template-columns:1fr}}


/* v0.26.4 · content editor visibility + local image previews */
.platform-content-words{grid-column:1/-1;border-top:1px solid var(--edge);padding-top:10px}
.platform-content-words summary{width:max-content;min-height:36px;padding:7px 0;font-weight:800;color:var(--green);cursor:pointer}
.platform-content-words>div{display:flex;flex-wrap:wrap;gap:7px;padding:5px 0 3px}
.platform-content-word-chip{display:grid;gap:1px;padding:7px 10px;border:1px solid var(--edge);border-radius:11px;background:var(--soft)}
.platform-content-word-chip strong{font-size:.82rem}.platform-content-word-chip small{font-size:.7rem;color:var(--muted)}
.platform-block-word.is-unlinked{border-style:dashed;background:#fff8ed}.platform-block-word.is-unlinked small{color:#8a6033}


/* v0.26.5 · biblioteca docente de bloques */
.teacher-material-builder[hidden]{display:none!important}
.teacher-material-library{margin-top:18px}
.material-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.material-editor-fields>label{display:grid;gap:6px;font-weight:750}
.material-editor-fields>.is-wide{grid-column:1/-1}
.material-library-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(170px,.8fr) minmax(170px,.8fr);gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--edge);border-radius:16px;background:var(--soft)}
.material-library-filters label{display:grid;gap:5px;font-weight:750}
.material-set-copy{align-self:center}.material-set-copy>small{display:block;margin-top:2px;color:var(--muted)}
.material-set-copy>p{margin:5px 0 0;color:var(--muted);line-height:1.35}
.material-published-note{display:block;margin-top:5px;color:var(--green);font-size:.76rem;font-style:normal;font-weight:750}
.material-set-action-row{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.material-publish-menu{position:relative}
.material-publish-menu>summary{list-style:none;cursor:pointer}.material-publish-menu>summary::-webkit-details-marker{display:none}
.material-publish-popover{position:absolute;z-index:10;right:0;top:calc(100% + 7px);width:min(330px,80vw);display:grid;gap:10px;padding:13px;border:1px solid var(--edge);border-radius:14px;background:#fff;box-shadow:0 16px 34px rgba(31,70,49,.15)}
.material-publish-popover p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}
.material-publish-popover fieldset{display:grid;gap:7px;margin:0;padding:0;border:0}
.material-publish-popover legend{margin-bottom:5px;font-weight:800}.material-publish-popover label{display:flex;align-items:center;gap:7px}
.material-category-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-bottom:8px}
.material-category-picker label{display:grid;gap:5px;font-weight:750}
.material-category-results:empty{display:none}
.material-category-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-bottom:12px}
.material-category-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.material-category-result{width:100%;grid-template-columns:64px minmax(0,1fr)!important}
.material-category-result .vocab-result-visual{justify-self:start!important}
.material-editor-actions{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:900px){
  .material-library-filters{grid-template-columns:1fr 1fr}.material-library-filters label:first-child{grid-column:1/-1}
  .material-set-action-row{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:620px){
  .material-editor-fields,.material-library-filters{grid-template-columns:1fr}
  .material-editor-fields>.is-wide,.material-library-filters label:first-child{grid-column:auto}
  .material-category-picker{grid-template-columns:1fr}.material-category-picker .secondary-button{width:100%}
  .material-set-action-row{display:grid;grid-template-columns:1fr 1fr}.material-set-action-row>*{width:100%}
  .material-publish-menu{grid-column:1/-1}.material-publish-menu>summary{width:100%}.material-publish-popover{position:static;width:auto;margin-top:7px}
}


/* Science · Unit 1 ------------------------------------------------------- */
.science-home,.science-unit-page,.science-block-page,.science-vocab-page,.science-vocab-stage,.science-theory-page,.science-contest-page,.science-exam-page,.science-plan-page{max-width:1100px;margin:0 auto;padding-bottom:32px}
.science-hero,.science-topic-hero{position:relative;overflow:hidden;border:1px solid #dfe8da;border-radius:26px;background:linear-gradient(135deg,#eef5e9,#e4efe0);padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.science-hero h1,.science-topic-hero h1{margin:.15rem 0 .45rem;color:#1f513e;font-size:clamp(2.2rem,6vw,4rem);line-height:1}
.science-hero p,.science-topic-hero p{margin:0;color:#4c685a;font-size:1.05rem}
.science-eyebrow{display:block;color:#657c6d;font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.science-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,32%);padding:clamp(22px,3vw,32px);gap:20px;background:#eef4e6}
.science-hero-copy{min-width:0}
.science-hero-copy p{max-width:28ch;line-height:1.6}
.science-hero-art{min-width:0;height:220px}
.science-hero-art img{display:block;width:100%;height:100%;object-fit:contain}
.science-progress{display:block;position:relative;height:10px;border-radius:999px;background:#e4eae1;overflow:hidden}
.science-progress i{display:block;height:100%;width:var(--progress,0%);background:linear-gradient(90deg,#5d9968,#2d6a50);border-radius:inherit;transition:width .25s ease}
.science-unit-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;padding:20px;border:1px solid #d6e1d3;border-radius:20px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(40,82,57,.05)}
.science-unit-card:hover{border-color:#8fb48c;transform:translateY(-1px)}
.science-unit-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#edf5e8;font-size:2.1rem}
.science-unit-icon.has-cover{width:128px;height:96px;overflow:hidden}.science-unit-icon.has-cover img{width:100%;height:100%;object-fit:cover}
.science-unit-copy{display:grid;gap:4px;min-width:0}.science-unit-copy small{font-weight:900;letter-spacing:.08em;color:#6e806f}.science-unit-copy strong{font-size:1.25rem;color:#235540}.science-unit-copy>span:not(.science-progress){color:#6b7b71;font-size:.92rem}.science-unit-card>b{font-size:1.15rem}
.science-exam-note{display:flex;gap:8px;align-items:center;margin:12px 0 0;color:#496557;font-weight:700}
.science-topic-progress{margin-top:20px;display:grid;gap:8px;max-width:520px}.science-topic-progress>span:first-child{display:flex;justify-content:space-between}
.science-unit-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 24px}
.science-summary-card{display:grid;gap:4px;padding:18px;border:1px solid #d7e1d5;border-radius:18px;background:#fff}.science-summary-card small{font-weight:900;letter-spacing:.08em;color:#758479}.science-summary-card strong{font-size:1.45rem;color:#21523e}.science-summary-card span{color:#6d7c72}
.science-today{margin:24px 0}.science-plan-card{display:grid;gap:2px;border:1px solid #d7e1d5;border-left:6px solid #74a26c;border-radius:18px;background:#fff;padding:16px}.science-plan-card>strong{font-size:1.08rem;margin-bottom:4px}.science-plan-card>a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:11px 2px;border-top:1px dashed #dde5da;color:inherit;text-decoration:none}.science-plan-card>a span{font-weight:800}.science-plan-card>a small{color:#748077}.science-plan-card>a .ui-icon{grid-column:2;grid-row:1/3}
.science-block-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.science-block-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #d6e1d3;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(40,82,57,.05)}
.science-block-main{display:grid;gap:8px;padding:20px;flex:1}.science-block-main>small{font-weight:900;letter-spacing:.08em;color:#6e806f}.science-block-main h3{margin:0;color:#22543f;font-size:1.25rem}.science-block-main p{margin:0 0 4px;color:#6c7c72}.science-block-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#edf5e8;font-size:2rem}
.science-block-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid #e1e7df;background:#f7f9f4}
.science-block-heading{display:flex;gap:18px;align-items:center;margin-bottom:18px}.science-block-heading .science-block-icon{width:68px;height:68px;font-size:2.5rem}.science-block-heading h1{margin:.15rem 0;color:#20503d}.science-block-heading p{margin:0;color:#687a6e}
.science-route{position:relative;display:grid;gap:11px}.science-route:before{content:"";position:absolute;left:31px;top:28px;bottom:28px;width:3px;background:#dde6da;border-radius:999px}
.science-route-row{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid #d8e2d6;border-radius:18px;background:#fff;color:inherit;text-decoration:none}
.science-route-row.is-current{border:2px solid #4d9661}.science-route-row.is-done{border-color:#8fc18c;background:#fbfffa}.science-route-row.is-locked{opacity:.5}
.science-route-number{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#edf2eb;font-weight:900}.science-route-row.is-current .science-route-number{background:#55a05d;color:#fff}.science-route-row.is-done .science-route-number{background:#dff0dc;color:#2c7041}
.science-route-copy{display:grid;gap:2px}.science-route-copy strong{font-size:1.05rem}.science-route-copy small{color:#748077}
.science-final-card{margin-top:24px;padding:22px;border:1px solid #e4d596;border-radius:20px;background:linear-gradient(135deg,#fff7d8,#f8edbd)}.science-final-card h2{margin:.35rem 0}.science-final-card p{color:#6c6d59}.science-final-card>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.science-word-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.science-word-card{display:grid;gap:3px;padding:13px;border:1px solid #dae3d7;border-radius:14px;background:#fff}.science-word-card strong{font-size:1.08rem;color:#22543f}.science-word-card span{color:#6f7e74}
.science-mini-check{margin-top:24px;padding:20px;border:1px solid #d6e1d3;border-radius:20px;background:#fff}.science-check-question{margin:14px 0;padding:0;border:0}.science-check-question legend{font-weight:900;margin-bottom:8px}.science-check-question label,.science-exam-question label{display:block;padding:10px 12px;margin:7px 0;border:1px solid #dbe3d8;border-radius:11px;background:#fbfdf9}.science-feedback{font-weight:800;color:#315f47}
.science-theory-top,.science-contest-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.science-theory-top .science-progress,.science-contest-top .science-progress{flex:1}.science-theory-top strong,.science-contest-top b{white-space:nowrap}
.science-theory-card,.science-contest-card{max-width:820px;margin:0 auto;padding:22px;border:1px solid #d5e0d3;border-radius:23px;background:#fff;box-shadow:0 10px 28px rgba(39,84,59,.07)}
.science-theory-image{display:block;width:100%;max-height:430px;object-fit:contain;margin-bottom:18px;border:1px solid #e2e8df;border-radius:16px;background:#f6f8f2}
.science-theory-card h1,.science-contest-card h1{margin:.35rem 0 .7rem;color:#20503d}.science-theory-copy{font-size:1.12rem;line-height:1.6}.science-tip{display:flex;gap:8px;align-items:flex-start;padding:12px 14px;border:1px solid #dbe6d8;border-radius:13px;background:#f7faf4;color:#496657}
.science-theory-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.science-theory-actions button:disabled{opacity:.42;cursor:default}
.science-theory-dots{display:flex;justify-content:center;gap:7px;margin-top:14px}.science-theory-dots span{width:9px;height:9px;border-radius:50%;background:#d5dfd2}.science-theory-dots .is-active{background:#4c8b61}
.science-streak{max-width:820px;margin:0 auto 10px;color:#637469;font-weight:800}.science-contest-options{display:grid;gap:10px;margin-top:18px}.science-answer-option{width:100%;padding:13px 14px;text-align:left;border:1px solid #d7e1d5;border-radius:13px;background:#fbfdf9;color:#214f3d;font:inherit;font-weight:800;cursor:pointer}.science-answer-option:hover{background:#f0f6ed}.science-answer-option.is-correct{border-color:#76ae6c;background:#e9f7e4}.science-answer-option.is-wrong{border-color:#d89a92;background:#fff0ee}.science-answer-option:disabled{cursor:default}
.science-contest-feedback{margin-top:15px;padding:12px 14px;border-radius:13px;font-weight:900}.science-contest-feedback.is-correct{border:1px solid #b9dbaf;background:#eaf7e7;color:#2e6b3f}.science-contest-feedback.is-wrong{border:1px solid #ecc2ba;background:#fff2ef;color:#93483e}.science-contest-actions{display:flex;justify-content:flex-end;margin-top:14px}
.science-contest-finish{max-width:650px;margin:30px auto;text-align:center;padding:32px;border:1px solid #d7e1d5;border-radius:23px;background:#fff}.science-stars{font-size:2rem}.science-big-score{display:block;font-size:3.5rem;color:#2c674d;margin:10px 0}
.science-exam-questions{display:grid;gap:12px;margin:20px 0}.science-exam-question{margin:0;padding:16px;border:1px solid #d7e1d5;border-radius:16px;background:#fff}.science-exam-question legend,.science-exam-question>label>strong{font-weight:900;color:#254f3d}.science-exam-question input[type="text"]{width:100%;margin-top:10px;padding:11px 12px;border:1px solid #cdd9ca;border-radius:10px;font:inherit}.science-exam-feedback{margin-top:10px;font-weight:800}.science-exam-feedback.is-correct{color:#337345}.science-exam-feedback.is-wrong{color:#9a463e}.science-exam-result{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding:14px;border:1px solid #c8dfc1;border-radius:13px;background:#eef8ea}
.science-plan-day{margin:12px 0;padding:16px;border:1px solid #d7e1d5;border-left:5px solid #75a56d;border-radius:17px;background:#fff}.science-plan-day h2{font-size:1.15rem;margin:0 0 8px}.science-plan-day>a{display:grid;grid-template-columns:1fr auto;align-items:center;padding:10px 0;border-top:1px dashed #dde5da;color:inherit;text-decoration:none}.science-plan-day>a span{display:grid;gap:2px}.science-plan-day>a small{color:#728177}
.science-game-card{display:grid;grid-template-columns:minmax(0,1fr);margin:20px 0;overflow:hidden;border:1px solid #cedfc7;border-radius:22px;background:#f8fbf3;box-shadow:0 8px 22px rgba(40,82,57,.05)}
.science-game-card.is-unlocked{border-color:#94b77c;background:#f4fae9}
.science-game-art{position:relative;min-width:0;height:150px;overflow:hidden;background:#a4d9ce}
.science-game-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.science-game-copy{min-width:0;padding:20px}
.science-game-copy h2{margin:7px 0;color:#24583f;font-size:1.5rem;line-height:1.15}
.science-game-name{display:block;color:#45634a;font-size:1.02rem}
.science-game-copy p{margin:10px 0 14px;color:#48614f;line-height:1.5}
.science-game-copy .science-game-preview{padding:9px 12px;border:1px solid #e5d591;border-radius:11px;background:#fff7d8;color:#685123;font-size:.87rem;font-weight:750}
.science-game-copy .primary-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;width:100%;white-space:normal;text-align:center}
.science-game-locked{display:block;color:#516956;font-size:.9rem;font-weight:750;line-height:1.5}
@media(min-width:650px){.science-game-card{grid-template-columns:minmax(180px,28%) minmax(0,1fr)}.science-game-art{height:100%;min-height:240px}.science-game-copy{padding:24px}.science-game-copy .primary-button{width:max-content;max-width:100%}}
@media(max-width:900px){.science-block-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.science-hero,.science-topic-hero{padding:22px}.science-topic-hero{flex-direction:column;align-items:stretch;gap:8px}.science-topic-hero .science-eyebrow,.science-topic-hero h1{width:100%}.science-topic-progress{width:100%;max-width:none;margin-top:14px}.science-hero{grid-template-columns:minmax(0,1fr) minmax(90px,40%);padding:20px;gap:10px}.science-hero-art{display:block;height:150px}.science-unit-icon.has-cover{width:76px;height:76px}.science-unit-summary,.science-block-grid,.science-word-grid{grid-template-columns:1fr}.science-unit-card{grid-template-columns:auto 1fr auto}.science-unit-card>b{display:none}.science-theory-actions{flex-direction:column-reverse}.science-theory-actions button{width:100%}.science-final-card>div{align-items:stretch;flex-direction:column}.science-exam-result{flex-direction:column}}

/* Vocabulary study: one card, one next action, within reach on a phone. */
.study-flashcard{max-width:650px;margin:20px auto;display:grid;align-content:center;gap:8px;min-height:260px}
.study-flashcard .foreign-word{font-size:clamp(1.8rem,6vw,2.6rem);font-weight:750}
.study-flashcard .flashcard-meaning{margin:8px 0 0;font-size:1.2rem;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.session-action-dock{margin-top:20px;padding-block:12px}
.session-action-dock-inner{display:flex;align-items:center;justify-content:flex-end;gap:18px;max-width:820px;margin-inline:auto}
.session-action-dock-inner>button,.session-action-dock-inner>a{min-height:50px;margin:0;justify-content:center;flex-shrink:0}
.session-action-dock-inner>.primary-button{min-width:150px}
.speech-help ol{padding-left:22px;margin:12px 0;line-height:1.6}
.speech-help li+li{margin-top:9px}
.speech-help a{display:inline-flex;align-items:center;min-height:44px;padding-block:7px;font-weight:700;text-underline-offset:3px}
@media(max-width:680px){
  .session-has-dock{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:112px}
  .app:has(.session-has-dock) .app-footer{display:none!important}
  .session-has-dock .session-action-dock{position:fixed;z-index:25;inset:auto 0 0;margin:0;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--edge);background:var(--paper,#fff);box-shadow:0 -5px 20px #214f3d0b}
  .session-action-dock-inner{gap:10px}
  .session-action-dock-inner>button{flex:1;min-width:0;min-height:52px;padding:12px;font-size:1rem}
  .session-action-dock-inner>.primary-button{flex:1.4}
  .study-flashcard{min-height:240px;padding:20px 16px;margin:16px auto}
  .student-preview-body .session-has-dock .session-action-dock{position:sticky;inset:auto;bottom:0;margin-inline:calc(-1 * var(--page-gutter,16px));box-shadow:none}
  .student-preview-body .session-has-dock{padding-bottom:16px}
}

/* Science: supplied disaster pictures remain uncropped and legible on phones. */
.science-picture-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:18px 0}
.science-picture-gallery figure,.science-question-picture{min-width:0;margin:0;border:1px solid #dce5d8;border-radius:14px;overflow:hidden;background:#f5f8f1}
.science-picture-gallery img,.science-question-picture img{display:block;width:100%;height:230px;object-fit:contain;background:#edf2e9}
.science-picture-gallery figcaption,.science-question-picture figcaption{padding:11px 13px;color:#42614e;font-size:.94rem;line-height:1.5}
.science-question-picture{max-width:600px;margin:14px auto}
.science-question-picture img{height:auto;max-height:330px;max-height:min(330px,42svh)}
@media(max-width:520px){.science-picture-gallery{grid-template-columns:1fr}.science-picture-gallery img{height:auto;max-height:290px}.science-theory-image{max-height:280px}.science-exam-question{min-width:0}.science-theory-dots{flex-wrap:wrap}}

/* Vocabulary feedback is a visual result and a next step in the same place. */
.prompt-vocabulary{display:grid;justify-items:center;align-content:center;gap:4px;min-height:140px;margin:20px auto 26px;padding:24px 20px;border:1px solid #d5e3ce;border-radius:22px;background:linear-gradient(130deg,#f0f5e5,#fbfcf6);text-align:center}
.prompt-vocabulary>.prompt-word,.prompt-vocabulary>.foreign-word{max-width:100%;font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:850;line-height:1.15;letter-spacing:-.025em;overflow-wrap:break-word}
.prompt-vocabulary>.word-picture{height:130px;max-width:240px;margin:0}
.prompt-vocabulary .audio-button{margin-top:8px;background:#fff}
.session-feedback{display:flex;align-items:center;gap:16px;min-width:0;padding:16px 20px;border:1px solid #c6ddbe;border-radius:20px;background:#edf7e8;color:var(--ink)}
.session-feedback-copy{min-width:0}
.session-feedback-copy strong{display:block;font-size:clamp(1.2rem,2.4vw,1.5rem);line-height:1.2;font-weight:850}
.session-feedback-copy p{margin:7px 0 0;font-size:1rem;line-height:1.4;overflow-wrap:break-word}
.session-feedback-panda{display:block;flex:none;width:clamp(100px,13vw,156px);height:auto;object-fit:contain}
.session-action-dock-inner:has(.session-feedback){padding:8px 20px 8px 6px;border:1px solid #bad9b0;border-radius:22px;background:#edf7e8;box-shadow:0 4px 0 #dfecd8}
.session-action-dock-inner>.session-feedback{flex:1;padding:0;border:0;background:none;gap:12px}
.session-feedback.is-error,.session-feedback.is-hint{margin:20px 0}
.session-feedback.is-error{border-color:#efc0ba;background:#fff0ed;color:#92383a}
.session-feedback.is-hint{border-color:#e4d6a9;background:#fff8df;color:#73571e}
.session-feedback-symbol{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#bb4650;color:#fff;font-size:1.7rem;font-weight:850;line-height:1}
.session-feedback.is-hint .session-feedback-symbol{background:#a7781d;font-size:1.3rem}
.session-feedback.is-celebration{max-width:650px;justify-content:center;margin:22px auto;padding:26px}
.session-feedback.is-celebration .session-feedback-panda{width:clamp(140px,20vw,220px)}
.session-feedback.is-celebration .session-feedback-copy strong{font-size:clamp(1.5rem,3vw,2rem)}
@media(min-width:681px){
  .session-wrap:has(.session-feedback) .session-action-dock{position:sticky;bottom:0;z-index:5;background:var(--paper,#fffef7)}
}
@media(max-width:680px){
  .session-has-dock:has(.session-action-dock .session-feedback){padding-bottom:calc(210px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:210px}
  .session-action-dock-inner:has(.session-feedback){display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:0;border:0;border-radius:0;box-shadow:none;background:none}
  .session-action-dock-inner>.session-feedback{padding:0 6px;gap:10px}
  .session-action-dock:has(.session-feedback){background:#f0f8ea;border-top-color:#c4ddba}
  .session-feedback-panda{width:100px}
  .session-feedback-copy strong{font-size:1.2rem}
  .session-feedback-copy p{margin-top:4px;font-size:.88rem;line-height:1.3}
  .session-action-dock-inner>a{width:100%;justify-content:center;min-height:52px}
  .session-feedback.is-celebration{flex-direction:column;text-align:center;padding:20px}
  .session-feedback.is-celebration .session-feedback-panda{width:190px}
  .prompt-vocabulary{min-height:120px;margin:16px 0 20px;padding:24px 16px}
  .pair-progress{gap:8px;font-size:.88rem}
  .pair-progress span{flex-basis:100%}
  .pair-grid .pair-card{padding:28px 10px 12px;min-height:126px}
}
@media(prefers-reduced-motion:no-preference){
  .session-feedback-panda{animation:feedback-arrive .3s ease-out both}
  @keyframes feedback-arrive{from{opacity:.4;transform:scale(.9) rotate(-4deg)}to{opacity:1;transform:scale(1) rotate(0)}}
}

/* Give the full study plan its own space below today's recommendation. */
.science-today-actions{display:flex;justify-content:flex-start;margin-top:20px}
.science-today-actions .secondary-button{margin:0;white-space:normal;text-align:center}

/* Profile changes keep a visible status without shifting the application grid. */
.profile-switch-status{position:fixed;z-index:90;top:max(78px,calc(env(safe-area-inset-top,0px) + 68px));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;padding:14px 22px;border:1px solid #bbd6af;border-radius:18px;background:#f0f8e9;color:var(--ink);box-shadow:0 8px 28px #214f3d26;font-weight:800;text-align:center}

/* A calm shared waiting state, using the familiar panda without implying success. */
.bambu-loading{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:14px;width:calc(100% - 32px);max-width:560px;min-height:164px;margin:clamp(24px,7vh,64px) auto;padding:20px 18px;border:1px solid #d8e7d1;border-radius:24px;background:linear-gradient(125deg,#f2f8eb,#fffef8);color:#174f3c;box-sizing:border-box;box-shadow:0 5px 20px #365f3b08}
.bambu-loading-art{position:relative;display:grid;place-items:center;min-width:0;isolation:isolate}
.bambu-loading-art::before{content:"";position:absolute;inset:12% 0;border-radius:50%;background:#e0efd6;z-index:-1}
.bambu-loading-panda{display:block;width:100%;height:auto;object-fit:contain;transform-origin:50% 80%}
.bambu-loading-leaf{position:absolute;top:9%;left:8%;width:9px;height:16px;border-radius:2px 12px 2px 12px;background:#8dbe70;transform:rotate(-28deg)}
.bambu-loading-leaf:last-child{top:64%;left:auto;right:1%;width:7px;height:13px;background:#b7ce8d;transform:rotate(36deg)}
.bambu-loading-copy{min-width:0}
.bambu-loading-copy strong{display:block;font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:800;line-height:1.22;overflow-wrap:break-word}
.bambu-loading-copy p{margin:8px 0 0;font-size:.91rem;line-height:1.45;color:#58735e}
.bambu-loading-dots{display:flex;gap:6px;margin-top:14px}
.bambu-loading-dots i{width:6px;height:6px;border-radius:50%;background:#659452;opacity:.6}
@media(min-width:540px){.bambu-loading{grid-template-columns:130px minmax(0,1fr);gap:24px;padding:26px 30px;min-height:198px}.bambu-loading-copy p{font-size:1rem}}
@media(prefers-reduced-motion:no-preference){
  .bambu-loading-panda{animation:bambu-loading-breathe 3.2s ease-in-out infinite}
  .bambu-loading-dots i{animation:bambu-loading-pulse 1.8s ease-in-out infinite}
  .bambu-loading-dots i:nth-child(2){animation-delay:.2s}
  .bambu-loading-dots i:nth-child(3){animation-delay:.4s}
  @keyframes bambu-loading-breathe{50%{transform:translateY(-3px) rotate(.6deg)}}
  @keyframes bambu-loading-pulse{50%{opacity:1;transform:translateY(-2px)}}
}
[data-reduced=true] .bambu-loading-panda,[data-reduced=true] .bambu-loading-dots i{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){.bambu-loading-panda,.bambu-loading-dots i{animation:none;transform:none}}

/* Science exam results: a clear, centered moment before reviewing the answers. */
.science-result-dialog{width:min(480px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);margin:auto;padding:0;border:1px solid #d5e4cb;border-radius:28px;background:#fffef8;color:#174f3c;box-shadow:0 24px 90px #123d2f40;overflow:auto;overscroll-behavior:contain}
.science-result-dialog::backdrop{background:#163b2bb3;backdrop-filter:blur(4px)}
.science-result-card{position:relative;isolation:isolate;display:grid;justify-items:center;gap:12px;padding:26px 24px 24px;text-align:center;overflow:hidden}
.science-result-card>:not(.science-result-confetti){position:relative;z-index:1}
.science-result-card>.science-result-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border:1px solid #d5e4cb;border-radius:50%;background:#fffef8;color:#174f3c;font-size:1.7rem;line-height:1;cursor:pointer}
.science-result-panda{width:210px;max-width:78%;height:152px;object-fit:contain;margin:4px 0 0}
.science-result-dialog.is-completed .science-result-panda{width:148px;height:148px}
.science-result-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.14em;color:#668158}
.science-result-card h2{margin:0;font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.08;letter-spacing:-.025em}
.science-result-score{display:grid;gap:2px;margin:0}
.science-result-score strong{font-size:clamp(2.25rem,8vw,3rem);font-weight:850;line-height:1.12;color:#387543}
.science-result-score span{font-size:.91rem;font-weight:700}
.science-result-card>p{max-width:340px;margin:0;color:#617465;font-size:.93rem;line-height:1.5}
.science-result-actions{display:grid;grid-template-columns:1fr;gap:9px;width:100%;margin-top:6px}
.science-result-actions>button{width:100%;justify-content:center;min-height:48px}
.science-result-confetti{position:absolute;inset:0 0 25%;z-index:0;overflow:hidden;pointer-events:none}
.science-result-confetti i{position:absolute;top:var(--confetti-y);left:var(--confetti-x);width:7px;height:13px;border-radius:2px;background:#a4c55f;transform:rotate(var(--confetti-turn));opacity:.65}
.science-result-confetti i:nth-child(3n){background:#f3ca55;border-radius:50%;width:8px;height:8px}
.science-result-confetti i:nth-child(3n + 1){background:#e79eab}
@media(min-width:540px){.science-result-card{padding:28px 30px}.science-result-actions{grid-template-columns:1.3fr 1fr}.science-result-panda{width:245px;height:178px}}
@media(max-height:620px){.science-result-card{gap:8px;padding-top:18px}.science-result-panda,.science-result-dialog.is-completed .science-result-panda{height:96px}.science-result-card h2{font-size:1.5rem}}
@media(prefers-reduced-motion:no-preference){
  .science-result-dialog[open] .science-result-confetti i{animation:science-result-confetti-fall 2.1s ease-out var(--confetti-delay) both}
  @keyframes science-result-confetti-fall{from{transform:translateY(-80px) rotate(0);opacity:0}20%{opacity:.9}to{transform:translateY(330px) rotate(var(--confetti-turn));opacity:0}}
}
[data-reduced=true] .science-result-dialog[open] .science-result-confetti i{animation:none}
@media(prefers-reduced-motion:reduce){.science-result-dialog[open] .science-result-confetti i{animation:none}}

/* Optional Science mistake practice keeps progress and original grades intact. */
.science-mistakes-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0;padding:24px;border:1px solid #cddfcf;border-radius:24px;background:linear-gradient(120deg,#eff7eb,#fffdf4)}
.science-mistakes-card h2{margin:5px 0 8px}.science-mistakes-card p{margin:0 0 8px}.science-mistakes-card small{color:var(--muted);line-height:1.5}.science-mistakes-card>a{flex-shrink:0;white-space:normal;text-align:center}
.science-mistakes-panda{display:block;width:108px;height:108px;object-fit:contain;margin:0 auto 16px}.science-mistakes-page .science-contest-finish h1{font-size:clamp(1.7rem,4vw,2.5rem)}
.science-mistakes-feedback:not(:empty){margin-top:20px;padding:18px;border-radius:18px;background:#eef5e8;text-align:left}.science-mistakes-feedback strong{font-size:1.15rem}.science-mistakes-feedback p{margin:8px 0 0;line-height:1.5}.science-mistakes-feedback .notice{margin:0}
.science-mistakes-page .science-contest-card h1{overflow-wrap:break-word}.science-mistakes-page .form-actions{flex-wrap:wrap}
@media(max-width:600px){.science-mistakes-card{align-items:stretch;flex-direction:column;gap:18px;padding:20px}.science-mistakes-card>a{width:100%}.science-mistakes-page .form-actions>*{width:100%;justify-content:center}.science-mistakes-page .science-contest-options{grid-template-columns:1fr}}

/* Shared Science contest: the app and public unit use this same surface. */
.science-contest-play{--contest-green:#15503d;position:relative;max-width:760px;padding-bottom:24px;color:var(--contest-green)}
.science-contest-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px}
.science-contest-header>.back-link{margin:0}.science-contest-header>div{width:min(52%,320px);font-weight:700;font-size:.95rem}.science-contest-header .science-progress{display:block;height:7px;margin-top:7px}
.science-contest-stats{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.science-contest-stats .science-streak,.science-seeds{display:flex;align-items:center;gap:5px;margin:0;padding:10px 14px;border:1px solid #d1dfcb;border-radius:40px;background:#fff;box-shadow:0 3px 9px #27563f08;font-weight:800;white-space:nowrap}.science-contest-stats .science-streak{color:#b56a16;background:#fffaf0;border-color:#f5dfb3}.science-seeds{flex-wrap:wrap;justify-content:center;row-gap:0}.science-seeds small{width:100%;text-align:center;font-weight:500;font-size:.65rem;color:#627964}
.science-contest-play .science-contest-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:205px;padding:27px 24px 18px;text-align:center;border-radius:26px;background:radial-gradient(ellipse at 90% 120%,#b8ddb2 0,transparent 52%),linear-gradient(135deg,#f3faf1,#e7f3e5);border-color:#dce8d8;box-shadow:0 5px 16px #225b3510}
.science-contest-play .science-contest-card:before,.science-contest-play .science-contest-card:after{content:"";position:absolute;width:85px;height:115px;background:url('/assets/science/contest-leaves.svg') center/contain no-repeat;z-index:-1;opacity:.72;pointer-events:none}.science-contest-play .science-contest-card:before{top:-30px;left:-31px;transform:rotate(40deg)}.science-contest-play .science-contest-card:after{bottom:-37px;right:-15px;transform:rotate(-30deg)}
.science-contest-play .science-eyebrow{font-size:.68rem;letter-spacing:.13em;color:#78836f}.science-contest-play .science-contest-card h1{max-width:620px;font-size:clamp(1.35rem,3.8vw,2.1rem);line-height:1.25;letter-spacing:-.03em;margin:15px 0;color:#0d4230;text-wrap:pretty}.science-contest-listen{display:grid;place-items:center;width:48px;height:48px;min-height:48px;border:1px solid #cbdac5;border-radius:50%;background:#fffdf8;box-shadow:0 3px 8px #30543810;cursor:pointer}.science-contest-listen img{width:25px;height:25px}.science-audio-status{margin:8px 0 0;font-size:.8rem}
.science-contest-play .science-contest-options{gap:9px;margin-top:14px}.science-contest-play .science-answer-option{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:65px;border:1.5px solid #dce2d9;border-radius:17px;padding:11px 14px;background:#fff;font-size:clamp(1rem,2.8vw,1.22rem);font-weight:500;line-height:1.3;box-shadow:0 2px 6px #244c3006;overflow-wrap:break-word}.science-answer-letter{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eef0eb;font-weight:800;color:#315549}.science-answer-mark{font-size:20px;font-weight:900;text-align:center}.science-contest-play .science-answer-option.is-correct{background:#edf9e7;border-color:#79b343;font-weight:800;color:#205333}.is-correct .science-answer-letter{color:white;background:#6b9f38}.is-correct .science-answer-mark:after{content:'✓';display:block;color:#4d8b28}.science-contest-play .science-answer-option.is-wrong{background:#fff0e9;border-color:#d18c6d}.is-wrong .science-answer-mark:after{content:'×';color:#aa533a}.science-contest-play .science-answer-option:disabled{opacity:1}
.science-contest-dock{margin-top:14px}.science-contest-play .science-contest-feedback{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 12px;padding:10px;border:0;background:transparent}.science-contest-play .science-contest-feedback.is-correct{position:relative;color:#225c3a}.science-reward{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border:1px solid #d0dfc7;border-radius:40px;background:white;box-shadow:0 4px 12px #37552d10;font-size:1.1rem}.science-reward:before,.science-reward:after{content:'✦';position:absolute;color:#b4c955;font-size:22px;transform:translateX(-45px)}.science-reward:after{right:calc(50% - 132px);color:#efbe4c;transform:none}.science-contest-feedback small{font-size:.75rem;font-weight:600}.science-contest-play .science-contest-feedback.is-wrong{border-radius:15px;background:#fff1e9;color:#88422a;font-size:.92rem}.science-contest-play .science-contest-actions{margin:0;display:block}.science-contest-play .science-contest-actions .primary-button{width:100%;justify-content:center;min-height:58px;border-radius:20px;font-size:1.18rem}.science-contest-play .science-question-picture{margin:5px 0 12px;max-width:360px}.science-contest-play .science-question-picture img{max-height:160px;object-fit:contain}.science-contest-play .science-question-picture figcaption{font-size:.75rem;padding:5px 9px}
.science-check-question[data-vocab-correct=true]{border-color:#8db77d;background:#eff7e9}.science-check-question[data-vocab-correct=true] label:has(input:not(:checked)){display:none}
@media(max-width:699px){.app:has(.science-contest-play) .app-footer{display:none!important}.science-contest-play{padding-bottom:150px}.science-contest-play .science-contest-dock:has(button:not([hidden])){position:fixed;z-index:25;bottom:0;left:0;right:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(#fffef8f5,#fffef8);border-top:1px solid #e2e9dd;box-shadow:0 -6px 20px #2a55330b}.science-contest-play .science-contest-feedback{margin-bottom:8px;padding:4px}.science-contest-stats{gap:6px;margin-bottom:12px}.science-contest-stats .science-streak,.science-seeds{padding:7px 10px;font-size:.85rem}.science-contest-play .science-contest-card{min-height:175px;padding:21px 20px 14px}.science-contest-header{gap:12px}.science-contest-header>div{font-size:.8rem}.science-contest-play .science-answer-option{min-height:57px;padding:9px 11px;gap:9px;grid-template-columns:30px minmax(0,1fr) 22px}.science-answer-letter{width:30px;height:30px}.student-preview-body .science-contest-dock:has(button:not([hidden])){position:sticky;inset:auto;bottom:0}.student-preview-body .science-contest-play{padding-bottom:16px}}
@media(prefers-reduced-motion:no-preference){.science-reward{animation:science-reward-pop .28s ease-out}@keyframes science-reward-pop{from{transform:scale(.85);opacity:.5}to{transform:scale(1);opacity:1}}}
@media(max-width:699px){.science-contest-play .science-contest-card h1{font-size:1.22rem;line-height:1.24;margin:10px 0}.science-contest-play .science-question-picture{border:0;background:transparent;margin:2px auto 8px}.science-contest-play .science-question-picture img{height:80px;width:auto;max-width:100%;border-radius:12px}.science-contest-play .science-contest-card{min-height:150px;padding:19px 18px 13px}.science-contest-listen{width:42px;height:42px;min-height:42px}.science-contest-play .science-question-picture figcaption{max-width:240px}}

/* Unit 1 vocabulary: a visual card, then six different words across pairs/choices. */
.science-vocab-visual{max-width:650px;margin:0 auto;padding-bottom:30px;color:#174d3c}.science-vocab-visual header{margin:14px 0 20px}.science-vocab-visual h1{font-size:clamp(1.7rem,5vw,2.3rem);line-height:1.15;margin:5px 0 8px;letter-spacing:-.04em}.science-vocab-visual header p{margin:0;color:#557162}.science-flash-word{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;padding:62px 22px 20px;border:1px solid #dbe5d5;border-radius:24px;background:#fff;box-shadow:0 5px 14px #315d3b08;text-align:center}.science-flash-word>strong{font-size:clamp(1.7rem,6.8vw,3rem);line-height:1.1;letter-spacing:-.03em;overflow-wrap:anywhere;max-width:100%}.science-flash-word>span:not(.science-vocab-symbol){font-size:1.2rem;color:#53735d}.science-flash-word .science-contest-listen{position:absolute;top:14px;right:14px;background:#eff7e8;box-shadow:none;border:0}.science-vocab-art{display:block;height:180px;width:min(100%,260px);object-fit:contain}.science-vocab-symbol{display:grid;place-items:center;min-height:120px}.science-vocab-symbol img{width:95px;height:95px;object-fit:contain}.science-vocab-card-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin:15px 0}.science-vocab-card-nav button{min-width:48px;min-height:44px;padding:8px 12px}.science-vocab-card-nav span{color:#607b66;font-weight:700}.science-vocab-dock{margin-top:18px}.science-vocab-dock .primary-button{width:100%;justify-content:center;min-height:56px;border-radius:18px;font-size:1.08rem}.science-vocab-response{margin:0 0 12px;min-height:1.3em;color:#285c3d;font-weight:700;text-align:center}.science-vocab-response:empty{display:none}.science-pair-hint{margin:0;text-align:center;font-size:.85rem;color:#667d6a}.science-pair-board{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);height:310px;margin:28px 0}.science-pair-column{display:grid;grid-template-rows:repeat(3,1fr);gap:14px;min-width:0}.science-pair-word{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;border:1px solid #dbe5d5;border-radius:15px;background:#fff;box-shadow:0 3px 8px #315d3b06;color:#28503e;font:inherit;font-size:1.05rem;padding:10px;text-align:center;overflow-wrap:anywhere;line-height:1.25;cursor:pointer}.science-pair-column:first-child .science-pair-word{background:#f0f7e9;font-weight:800}.science-pair-word.is-selected{outline:3px solid #5c9d69;outline-offset:-3px;background:#e8f5dd}.science-pair-word.is-matched{border-color:#75ab75;background:#e7f4df!important;color:#235d35;opacity:1}.science-pair-board svg{height:100%;width:100%;overflow:visible;stroke:#58a971;stroke-width:4;fill:none;pointer-events:none}.science-pair-board circle{fill:#58a971;stroke:none}.science-flash-word.is-question{min-height:190px;padding-top:57px}.science-flash-word.is-question .science-vocab-art{height:115px}.science-flash-word.is-question .science-vocab-symbol{min-height:75px}.science-flash-word.is-question .science-vocab-symbol img{width:65px;height:65px}.science-vocab-choices{display:grid;gap:10px;margin-top:14px}.science-vocab-choice{display:flex;align-items:center;justify-content:center;gap:12px;min-height:53px;padding:12px;border:1px solid #dce4d7;border-radius:14px;background:#fff;color:#214e3c;font:inherit;font-size:1.1rem;cursor:pointer}.science-vocab-choice.is-correct{background:#e8f7de;border-color:#71ac56;font-weight:800}.science-vocab-choice:disabled{opacity:1}.science-vocab-finish{text-align:center;padding:20px}.science-vocab-finish img{width:150px;height:150px;object-fit:contain}
@media(max-width:699px){.app:has(.science-vocab-visual) .app-footer{display:none!important}.science-vocab-visual{padding-bottom:145px}.science-vocab-visual .science-vocab-dock{position:fixed;z-index:25;bottom:0;left:0;right:0;margin:0;padding:12px 18px calc(14px + env(safe-area-inset-bottom,0px));background:#fffef8f7;border-top:1px solid #e4eadf}.science-flash-word{min-height:270px}.science-pair-board{height:clamp(240px,42dvh,300px);grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);margin:20px 0}.science-pair-word{font-size:.94rem;padding:8px 5px}.science-vocab-visual .science-eyebrow{font-size:.65rem}.student-preview-body .science-vocab-dock{position:sticky;inset:auto;bottom:0}.student-preview-body .science-vocab-visual{padding-bottom:16px}}
@media(max-height:650px) and (max-width:699px){.science-flash-word{min-height:220px;padding-top:55px}.science-vocab-art{height:115px}.science-flash-word.is-question .science-vocab-art{height:70px}.science-vocab-visual header{margin:8px 0 14px}.science-flash-word.is-question{min-height:155px}}

/* A single lesson, with navigation outside the reading region. */
.app:has(.science-theory-page){grid-template-rows:auto minmax(0,1fr)}
.app:has(.science-theory-page)>.app-footer{display:none!important}
.content:has(>.science-theory-page){overflow:hidden;scrollbar-gutter:auto}
.science-theory-page{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:100%;max-width:680px;height:100%;min-height:0;margin:0 auto;padding:0 18px}
.science-lesson-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;min-width:0}
.science-lesson-header .back-row{min-width:0;min-height:44px;margin:0}
.science-lesson-header .back-link{font-size:.9rem;line-height:1.2;min-width:0}
.science-lesson-header>span:not(.science-progress){font-size:.85rem;font-weight:800;color:#527060;white-space:nowrap}
.science-lesson-header .science-progress{grid-column:1/-1;height:5px;margin:0}
.science-theory-page .science-theory-card{align-self:center;max-height:100%;width:100%;max-width:none;min-height:0;margin:0;padding:clamp(16px,3vw,26px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:22px;background:#fbfcf6;box-shadow:none;scroll-padding:16px}
.science-theory-page .science-theory-card h1{margin:0 0 14px;font-size:clamp(1.4rem,4.4vw,1.85rem);line-height:1.14;letter-spacing:-.025em}
.science-theory-page .science-lesson-media{display:block;margin:0}
.science-theory-page .science-lesson-media figure{margin:0;border:0;border-radius:12px;background:transparent}
.science-theory-page .science-theory-image{width:100%;height:clamp(150px,30dvh,260px);max-height:none;margin:0;object-fit:contain;border:0;border-radius:12px;background:transparent}
.science-theory-page .science-theory-image.science-theory-diagram{display:block;width:auto;max-width:100%;height:auto;max-height:clamp(200px,37dvh,330px);margin:0 auto}
.science-theory-page .science-lesson-media figcaption{padding:10px 0 0;font-size:.94rem;line-height:1.35;color:#456451}
.science-theory-page .science-theory-copy{margin:16px 0 0;font-size:1.08rem;line-height:1.48;color:#194e3c;text-wrap:pretty}
.science-lesson-note{margin:10px 0 0;font-size:.87rem;line-height:1.4;color:#58715e}
.science-theory-page .science-tip{font-size:.95rem;line-height:1.4;margin:12px 0 0}
.science-lesson-photos{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:12px}
.science-lesson-photos button{position:relative;width:46px;height:44px;flex:none;padding:3px;border:2px solid #dce5d5;border-radius:9px;background:#fff;cursor:pointer}
.science-lesson-photos button[aria-pressed="true"]{border-color:#2d7853;box-shadow:0 0 0 1px #2d7853}
.science-lesson-photos img{width:100%;height:100%;object-fit:cover;border-radius:5px}
.science-lesson-photos button span{position:absolute;bottom:0;right:0;min-width:15px;border-radius:5px 0;color:#fff;background:#24583e;font-size:.65rem;font-weight:800}
.science-theory-page .science-theory-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;align-items:center;margin:0;padding:0 0 max(12px,env(safe-area-inset-bottom,0px));background:var(--paper,#fffef8)}
.science-theory-page .science-theory-actions button{min-width:0;min-height:50px;width:100%;justify-content:center;padding:10px 12px;font-size:1rem;border-radius:14px;white-space:nowrap}
.student-preview-body:has(.science-theory-page){overflow:hidden}
@media(max-width:520px){
 .science-theory-page{padding-inline:12px;gap:10px}
 .science-theory-page .science-theory-card{padding:16px;border-radius:18px}
 .science-theory-page .science-theory-card h1{margin-bottom:12px}
 .science-theory-page .science-theory-copy{margin-top:13px;font-size:1rem;line-height:1.45}
 .science-lesson-note{font-size:.81rem}
}
@media(max-height:650px){
 .science-theory-page{gap:8px}
 .science-theory-page .science-theory-card{padding:12px}
 .science-theory-page .science-theory-card h1{font-size:1.3rem;margin-bottom:8px}
 .science-theory-page .science-theory-copy{margin-top:10px}
}

/* Discovery must finish before Science vocabulary practice is available. */
.science-vocab-seen{margin:0 0 9px;color:#56705c;font-size:.86rem;line-height:1.35;text-align:center}
.science-vocab-dock .primary-button:disabled{background:#e4eadd;color:#61705b;border-color:#d2dbca;box-shadow:none;cursor:not-allowed;opacity:1}
.science-vocab-art.science-vocab-illustration{width:100%;max-width:440px;height:clamp(210px,30dvh,285px);object-fit:contain;border-radius:18px;background:#fffef8;margin-top:4px}
.science-vocab-art.science-vocab-illustration.is-photo{max-width:390px;object-fit:contain;background:#edf1e8}
.science-flash-word.is-question .science-vocab-illustration{height:clamp(145px,22dvh,215px)}
@media(max-width:699px){.science-vocab-art.science-vocab-illustration{height:clamp(195px,28dvh,250px)}.science-flash-word.is-question .science-vocab-illustration{height:150px}}

.science-vocab-discover .science-vocab-card-nav{margin:0 0 8px}
@media(max-width:699px){.science-vocab-discover{padding-bottom:190px}.science-vocab-discover .science-vocab-dock{padding-top:8px}.science-vocab-discover .science-vocab-seen{margin-bottom:6px}.science-vocab-discover .science-vocab-dock .primary-button{min-height:48px}}

/* Keep onward study actions easy to tap and readable on small screens. */
.science-contest-finish .form-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.science-contest-finish .form-actions>a,.science-contest-finish .form-actions>button,.science-result-actions>button{white-space:normal;text-align:center}
@media(max-width:480px){.science-contest-finish{padding:24px 18px}.science-contest-finish .form-actions{flex-direction:column-reverse;align-items:stretch}.science-contest-finish .form-actions>a,.science-contest-finish .form-actions>button{width:100%;justify-content:center}}

/* One clear next step, with explicit completion states throughout Science. */
.science-next-step{display:grid;gap:8px;margin:16px 0 24px;padding:22px;border:2px solid #72a479;border-radius:22px;background:linear-gradient(135deg,#eff8e9,#e6f2df);color:#174f3c;box-shadow:0 5px 18px #315d3b09}
.science-next-step h2{margin:0;font-size:clamp(1.45rem,4.8vw,1.9rem);line-height:1.2;letter-spacing:-.025em}
.science-next-step p{margin:0;color:#486a53;line-height:1.4}
.science-next-step .primary-button{margin-top:6px;min-height:50px;justify-content:center;white-space:normal;text-align:center}
.science-next-step.is-completed{border-color:#b5cfaa;background:#f2f8eb}
.science-block-page{max-width:760px;margin:0 auto}.science-block-heading h1{font-size:clamp(1.65rem,5.6vw,2.25rem);line-height:1.2}.science-block-page .section-heading{align-items:center;gap:10px}.science-block-page .section-heading>span{font-size:.85rem;color:#647c68;white-space:nowrap}
.science-route-status{font-size:.77rem;font-weight:800;color:#667d6a;margin-bottom:2px}.science-route-row.is-current{background:#eef8e8}.science-route-row.is-current .science-route-status{color:#245b37}.science-route-row.is-done .science-route-status{color:#39804d}.science-route-row.is-locked{opacity:1;background:#f6f7f3;color:#697369}.science-route-copy{min-width:0}.science-route-copy small{line-height:1.3}.science-route-row.is-locked .science-route-number{background:#e7eae2;color:#6d786d}
.science-block-status{justify-self:start;display:inline-flex;align-items:center;border-radius:20px;background:#f0f2ed;padding:5px 10px;color:#64735f;font-size:.8rem;font-weight:800}.science-block-status.is-next{background:#235d3d;color:white}.science-block-status.is-done{background:#e5f2dc;color:#2e7041}.science-block-card.is-next{border:2px solid #72a479}.science-block-card.is-done{border-color:#a9c7a1}
@media(max-width:480px){.science-next-step{padding:18px;margin-top:12px}.science-route-row{gap:10px;padding:12px}.science-route-number{width:34px;height:34px}.science-route:before{left:28px}.science-route-copy small{font-size:.8rem}.science-block-page .home-section{margin-top:20px}}

.science-seed-summary{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:3px 8px;margin:14px 0;padding:12px;border:1px solid #cfe2c1;border-radius:16px;background:#eff8e7;color:#285d3a;text-align:center}.science-seed-summary>span{grid-column:1/-1;font-size:.82rem;color:#59735c}.science-seed-summary .ui-icon{width:24px;height:24px}.science-result-card .science-seed-summary{margin:2px 0;padding:8px 12px;width:100%}.science-seed-total{display:flex;gap:6px;align-items:center;justify-content:center;font-size:.85rem;color:#54735c;margin:0 0 16px}.science-seed-total .ui-icon{width:20px;height:20px}

/* Chinese school supplies: the same quiet, illustrated card rhythm as Science. */
.app:has(.session-visual)>.app-header{min-height:52px;padding:6px var(--page-gutter);flex-wrap:nowrap;border-bottom:1px solid var(--edge)}
.app:has(.session-visual)>.app-header .brand .panda{width:32px;height:32px}
.app:has(.session-visual)>.app-header .app-header-actions{display:none}
.app:has(.session-visual)>.app-footer{display:none!important}
main.content:has(.session-visual){padding:0;overflow:hidden;scrollbar-gutter:auto}
.session-visual.session-wrap{display:flex;flex-direction:column;max-width:1020px;height:100%;min-height:0;margin:auto;padding:0 20px calc(8px + env(safe-area-inset-bottom,0px));color:#174d3c}
.vocabulary-session-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:62px}
.vocabulary-session-top .back-row{margin:0}.vocabulary-session-top .back-link{min-height:44px;font-size:14px}
.vocabulary-session-top>span{display:grid;gap:3px;text-align:right;font-size:14px}.vocabulary-session-top small{font-size:12px;color:#607b66}
.vocabulary-progress{appearance:none;flex:none;width:100%;height:5px;border:0;border-radius:8px;background:#e5eedd;margin:0 0 14px;color:#609c67}
.vocabulary-progress::-webkit-progress-bar{background:#e5eedd;border-radius:8px}.vocabulary-progress::-webkit-progress-value{background:#609c67;border-radius:8px}.vocabulary-progress::-moz-progress-bar{background:#609c67;border-radius:8px}
.vocabulary-stage-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;scroll-padding:12px;scrollbar-gutter:stable}
.vocabulary-focus{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:610px;margin:auto}
.vocabulary-focus>header{text-align:center;flex:none;margin:0 0 10px}
.vocabulary-eyebrow{font-size:11px;font-weight:750;letter-spacing:.13em;margin:0 0 5px;color:#617b66}
.vocabulary-focus h1{font-size:clamp(1.4rem,5vw,1.9rem);line-height:1.2;margin:0;letter-spacing:-.03em}
.vocabulary-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;padding:14px 18px;border:1px solid #dce5d8;border-radius:22px;background:#fffef8;text-align:center;overflow:hidden}
.vocabulary-hero>.word-picture{flex:1;min-height:0;width:100%;max-width:380px;height:0;max-height:330px;object-fit:contain;margin:0}
.vocabulary-word-copy{flex:none;padding-top:7px}.vocabulary-word-copy .foreign-word{font-size:clamp(1.85rem,7vw,2.75rem);font-weight:750;line-height:1.25}.vocabulary-word-copy .reading{font-size:1.1rem;line-height:1.45;color:#53735d}
.vocabulary-word-copy p,.vocabulary-picture-caption{margin:6px 0 0;font-size:1.05rem;line-height:1.3;color:#53735d;flex:none}
.vocabulary-controls{display:flex;flex-direction:column;flex:none;gap:8px;padding-top:10px;background:var(--paper,#fffef7)}
.vocabulary-controls>.primary-button,.vocabulary-controls .speech-button{min-height:52px;width:100%;border-radius:15px;justify-content:center;margin:0;font-size:16px}
.vocabulary-controls .audio-button{margin:0;min-height:44px;align-self:center}
.vocabulary-card-actions{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;font-size:13px;color:#607b66}
.vocabulary-card-actions .secondary-button{padding:8px 12px;min-height:44px}.vocabulary-card-actions .audio-button{margin:0}
.vocabulary-response{flex:none;text-align:center;font-size:14px;line-height:1.4;margin:6px 0 0;min-height:0}.vocabulary-response>p{margin:5px 0 0}
.vocabulary-response .speech-heard{display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 10px;margin:0;border:0;background:none}.vocabulary-response .speech-heard span{font-size:11px}.vocabulary-response .speech-heard strong{font-size:15px}
.vocabulary-controls .speech-control{margin:0;gap:0}.vocabulary-controls .speech-status{min-height:24px;margin:0;padding:4px 8px;font-size:12px}
.vocabulary-alternatives{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.vocabulary-alternatives>.secondary-button{background:none;border:0;box-shadow:none;padding:8px 0;min-height:44px;font-size:13px;text-decoration:underline}
.vocabulary-alternatives .speech-write{margin:0;flex:1;min-width:140px}.vocabulary-alternatives .speech-write summary{min-height:44px;display:flex;align-items:center;justify-content:flex-end;font-size:13px;text-align:right}
.vocabulary-alternatives:has(.speech-write[open])>.secondary-button{display:none}.vocabulary-alternatives .speech-write[open]{flex-basis:100%}.vocabulary-alternatives .speech-write[open] summary{min-height:32px}
.vocabulary-controls .speech-error{max-height:140px;overflow:auto;margin:0;font-size:12px}.vocabulary-controls .speech-error p{margin:0}.vocabulary-controls .speech-error .speech-help{margin:5px 0 0}
.session-visual .notice{flex:none;font-size:12px;padding:8px;margin:0 0 8px}
.session-visual .session-action-dock{position:sticky;inset:auto;bottom:0;margin-top:auto;padding:10px 0;background:var(--paper,#fffef7);border:0;box-shadow:none}
.session-visual .session-action-dock-inner{width:100%;padding:0;display:flex;gap:12px;box-shadow:none;border:0;background:none}.session-visual .session-action-dock-inner>.primary-button{flex:1}
.session-visual .session-feedback{margin:8px 0;padding:10px}.session-visual .session-feedback-panda{max-width:72px;max-height:64px}
.session-visual .view-title{margin:4px 0 12px}.session-visual .view-title h1{font-size:clamp(1.35rem,4vw,1.85rem)}
.session-visual .prompt{margin:4px 0 12px;padding:12px}.session-visual .prompt .word-picture{max-height:140px;margin:0}
.session-visual .answers{gap:10px;margin:8px 0 12px}.session-visual .answer{min-height:80px;border:1px solid #b4c7b5;border-radius:16px;padding:16px 10px}.session-visual .answer .word-picture{height:100px;margin:0 0 6px}
.session-visual .form-actions{margin:8px 0}.session-visual .pair-grid{margin:6px 0;gap:10px}.session-visual .pair-grid>div{gap:8px}.session-visual .pair-grid .pair-card{min-height:100px;padding:10px 8px}
@media(min-width:1000px){.vocabulary-focus{max-width:none;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:18px 34px}.vocabulary-focus>header{grid-column:2;grid-row:1;text-align:left;padding-top:28px}.vocabulary-focus .vocabulary-hero{grid-column:1;grid-row:1/4;height:100%;max-height:660px;box-sizing:border-box}.vocabulary-focus .vocabulary-response{grid-column:2;grid-row:2;align-self:center;text-align:left}.vocabulary-focus .vocabulary-controls{grid-column:2;grid-row:3;padding-bottom:24px}.vocabulary-focus.is-study .vocabulary-controls{grid-row:2/4;align-self:center}.vocabulary-hero>.word-picture{max-height:390px}.vocabulary-word-copy{padding-bottom:12px}}
@media(max-width:680px){.session-visual.session-wrap{padding-inline:16px}.vocabulary-session-top{min-height:56px}.vocabulary-session-top>span{font-size:12px;max-width:45%}.vocabulary-session-top .back-link{font-size:12px}.vocabulary-stage-body{scrollbar-gutter:auto}.vocabulary-focus>header{margin-bottom:8px}.vocabulary-hero{padding:8px 12px;border-radius:18px}.session-visual .answers{grid-template-columns:repeat(3,minmax(0,1fr))}.session-visual .answer{font-size:14px;min-height:88px;padding:12px 6px}.session-visual .answer .word-picture{height:80px}.session-visual .answer .foreign-word{font-size:1.25rem}.session-visual .answer .reading{font-size:.85rem}.session-visual .session-action-dock-inner:has(.session-feedback){display:grid;grid-template-columns:1fr}.vocabulary-controls .speech-write-row{grid-template-columns:minmax(0,1fr) auto}.vocabulary-controls .speech-write-row input{min-height:44px;font-size:16px}.vocabulary-controls .speech-write-row button{font-size:13px;padding:8px}.session-visual .session-feedback p{font-size:13px}}
@media(max-height:650px) and (max-width:999px){.app:has(.session-visual)>.app-header{min-height:42px;padding-block:3px}.vocabulary-session-top{min-height:48px}.vocabulary-progress{margin-bottom:9px}.vocabulary-focus h1{font-size:1.3rem}.vocabulary-eyebrow{font-size:10px;margin-bottom:3px}.vocabulary-word-copy .foreign-word{font-size:1.8rem}.vocabulary-word-copy .reading{font-size:1rem}.vocabulary-word-copy p,.vocabulary-picture-caption{font-size:14px;margin-top:3px}.vocabulary-controls{gap:5px;padding-top:7px}.vocabulary-controls>.primary-button,.vocabulary-controls .speech-button{min-height:48px}.vocabulary-response{font-size:12px}.vocabulary-alternatives .speech-write summary,.vocabulary-alternatives>.secondary-button{font-size:12px}.vocabulary-controls .speech-error{max-height:90px}}

/* Science follows the same subject-header family as the languages. */
.science-home .science-hero{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:minmax(0,1fr) 38%;align-items:center;gap:20px;padding:26px 30px;min-height:190px;border:0;border-radius:24px;background:#edf3e7;box-shadow:none}
.science-home .science-hero::before{content:"";position:absolute;z-index:-1;width:66%;aspect-ratio:1;border-radius:50%;right:-18%;top:50%;transform:translateY(-50%);background:#e1eddc;pointer-events:none}
.science-home .science-hero-copy{position:relative;min-width:0}
.science-home .science-hero-copy .science-eyebrow{display:block;font-size:.72rem;line-height:1.4;font-weight:800;letter-spacing:.17em;color:#587165}
.science-home .science-hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin:9px 0 14px}
.science-home .science-hero-art{position:relative;height:160px;max-width:250px;justify-self:center;width:100%}
.science-home .science-hero-caption{max-width:25ch;margin:0;font-size:1.05rem;line-height:1.45;color:#4f6c58}
@media(max-width:650px){
 .science-home .science-hero{grid-template-columns:minmax(0,1fr) 38%;min-height:164px;padding:20px 18px;gap:10px;border-radius:22px}
 .science-home .science-hero-art{height:116px}
 .science-home .science-hero h1{font-size:2rem;margin:8px 0 12px}
 .science-home .science-hero-copy .science-eyebrow{font-size:.6rem;letter-spacing:.12em}
 .science-home .science-hero-caption{font-size:.93rem;line-height:1.4}
}

/* Compact reusable seed currency symbol. */
.ui-icon.ui-seed-icon{width:24px;height:24px;object-fit:contain;vertical-align:middle;flex:none}

/* Teacher learning analytics */
.stats-filter-row{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:1rem 0 1.5rem}
.stats-period-tabs{display:flex;gap:.45rem;flex-wrap:wrap}
.stats-period-tabs a{padding:.55rem .85rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800;background:var(--surface)}
.stats-period-tabs a.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.teacher-stat-metrics{margin:1rem 0 1.5rem}
.teacher-stat-ring{width:7.2rem;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;margin:.8rem 0;background:conic-gradient(currentColor var(--value),color-mix(in srgb,currentColor 12%,transparent) 0);position:relative}
.teacher-stat-ring:after{content:"";position:absolute;inset:.55rem;border-radius:50%;background:var(--surface)}
.teacher-stat-ring strong,.teacher-stat-ring span{position:relative;z-index:1}.teacher-stat-ring strong{font-size:1.45rem}.teacher-stat-ring span{font-size:.72rem}
.teacher-learner-bars .activity-row{display:grid;text-decoration:none;color:inherit}
.teacher-student-stats{display:grid;gap:.9rem}
.teacher-student-stat{border:1px solid var(--line);border-radius:1.15rem;padding:1rem;background:var(--surface)}
.teacher-student-stat-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:.8rem}
.teacher-student-stat-head div{display:grid;gap:.2rem}.teacher-student-stat-head small{color:var(--muted)}
.teacher-student-stat-head a{font-weight:800}
.teacher-progress-pair{display:grid;grid-template-columns:minmax(9rem,1fr) 2fr;gap:.45rem .8rem;align-items:center;margin-top:.8rem;font-size:.86rem}
.teacher-progress-pair i{height:.6rem;border-radius:999px;background:linear-gradient(90deg,currentColor var(--value),color-mix(in srgb,currentColor 12%,transparent) 0)}
@media(max-width:720px){.teacher-progress-pair{grid-template-columns:1fr}.teacher-student-stat-head{align-items:flex-start;flex-direction:column}}
/* Shared classroom forest: a single coordinate space at every screen size. */
.class-forest-page{max-width:1440px;margin:0 auto;padding:clamp(16px,3vw,32px);color:#174d3b}
.class-forest-heading,.forest-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.class-forest-heading h1{font-size:clamp(26px,4vw,42px);line-height:1.1;margin:8px 0 0;letter-spacing:-.03em}
.forest-total{display:flex;align-items:center;gap:10px;background:#edf5e7;border:1px solid #d7e4ce;padding:12px 18px;border-radius:22px;flex-shrink:0;box-shadow:0 3px 0 #dce8d5}
.forest-total svg{width:28px;height:28px;color:#59913c}.forest-total strong{font-size:clamp(26px,4vw,38px);line-height:1}.forest-total span{font-size:12px;line-height:1.3}
.class-forest-landscape{position:relative;border-radius:28px;overflow:hidden;border:1px solid #c7ddbd;background:#edf4df;box-shadow:0 10px 40px #234d3510}
.forest-viewport{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.class-forest-scene{position:relative;width:100%;aspect-ratio:1672/941;isolation:isolate;overflow:hidden;user-select:none}
.forest-background{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.forest-piece{position:absolute;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:none;min-width:0;min-height:0;box-shadow:none;pointer-events:none}
.forest-piece img,.forest-cutout img{position:absolute;max-width:none!important;max-height:none!important;object-fit:fill;pointer-events:none}.forest-cutout{display:block;position:relative;overflow:hidden}
.forest-piece.is-selected{outline:2px dashed #15573b;outline-offset:4px;background:#ffffff24}.forest-piece:focus-visible{outline:3px solid #15573b}
.class-forest-scene.is-editing .forest-piece{pointer-events:auto;touch-action:none;cursor:grab}.class-forest-scene.is-editing .forest-piece:active{cursor:grabbing}
.forest-viewport.is-zoomed .class-forest-scene{width:170%;max-width:none}.forest-viewport.is-zoomed{cursor:grab;max-height:70svh}
.forest-zoom,.forest-discovered{position:absolute;bottom:12px;z-index:110;display:flex;align-items:center;gap:6px;background:#fffff1ed;color:#184e38;border:1px solid #d2dfc3;border-radius:16px;padding:9px 13px;font-size:13px;box-shadow:0 2px 7px #244b2b12}
.forest-zoom{right:12px;min-height:44px;cursor:pointer}.forest-zoom svg{width:17px;height:17px}.forest-discovered{left:12px;pointer-events:none}
.forest-below{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:18px}.forest-next{display:flex;align-items:center;gap:18px;background:#f1f6e9;border:1px solid #dae6d0;padding:16px 20px;border-radius:22px}.forest-next .forest-cutout{width:min(86px,calc(110px * var(--forest-ratio)));flex-shrink:0}.forest-next>div{flex:1;min-width:0}.forest-next h2{font-size:24px;margin:4px 0}.forest-next p{margin:6px 0 10px;font-size:15px}.forest-next progress{display:block;width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;background:#dae5ce;accent-color:#6a9b45}.forest-next progress::-webkit-progress-bar{background:#dce6d3}.forest-next progress::-webkit-progress-value{background:#609341;border-radius:20px}
.forest-contribution{display:flex;align-items:center;gap:14px;padding:16px 6px}.forest-contribution>svg{width:32px;height:32px;flex-shrink:0}.forest-contribution strong{font-size:18px}.forest-contribution p{font-size:14px;line-height:1.5;margin:6px 0}.forest-contribution small{color:#607567;font-size:12px}.forest-class-select{display:flex;align-items:center;gap:12px;margin-bottom:14px}.forest-class-select select{max-width:220px}
.forest-empty{text-align:center;padding:40px 20px}.forest-empty img{width:100px}.forest-empty p{max-width:480px;margin:20px auto}
.forest-discovery{color:#174d3b;border:1px solid #d7e6cc;background:#fffef6;border-radius:30px;padding:0;width:min(440px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 28px 90px #143c3555}
.forest-discovery::backdrop{background:#092f2c99;backdrop-filter:blur(5px)}.forest-prize{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px;gap:12px}.forest-prize>.eyebrow{font-size:12px}.forest-prize h2{margin:0;font-size:32px;line-height:1.15}.forest-prize p{margin:0;font-size:17px;line-height:1.45;max-width:320px}.forest-prize .forest-celebrating-panda{width:210px;max-height:24dvh;object-fit:contain}.forest-prize .forest-cutout{width:min(200px,calc(24dvh * var(--forest-ratio)),calc(180px * var(--forest-ratio)));height:auto;flex-shrink:0}.forest-prize .primary-button{width:100%;min-height:52px;justify-content:center}.forest-prize-seeds{display:flex;align-items:center;gap:6px;font-size:13px;background:#eef6df;padding:8px 14px;border-radius:22px}.forest-prize-seeds svg{width:17px;height:17px}.forest-prize-error:empty{display:none}.forest-prize .forest-prize-error{font-size:14px;color:#a0352e}
.forest-confetti{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden}.forest-confetti i{position:absolute;left:var(--x);top:-20px;width:10px;height:18px;border-radius:2px;background:var(--color);animation:forest-confetti-fall 2s var(--delay) ease-in forwards}
@keyframes forest-confetti-fall{to{transform:translateY(110dvh) rotate(var(--turn));opacity:0}}
.forest-editor-heading h2{margin:6px 0;font-size:30px}.forest-editor-heading p{max-width:650px;margin:6px 0}.forest-editor-heading .primary-button{flex-shrink:0}.forest-editor [data-editor-status]{margin:8px 0 20px;background:#edf4e8;padding:12px 16px;border-radius:14px;font-size:14px}.forest-editor [data-editor-status].is-error{background:#fff0e8;color:#943a28}
.forest-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:22px;align-items:start}.forest-editor-stage{min-width:0}.forest-editor-stage .class-forest-scene{border-radius:18px;border:1px solid #d1dfc5}.forest-editor-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.forest-editor-tools label,.forest-visible{display:flex!important;align-items:center;gap:8px!important;font-size:14px}.forest-editor input[type=checkbox]{width:20px;min-height:20px;height:20px;margin:0;accent-color:#1c6348}.forest-editor input[type=range]{width:140px;min-height:30px;padding:0;accent-color:#397b4d}.forest-editor output{min-width:30px}.forest-editor-hint{font-size:13px;color:#607663;line-height:1.5}.forest-editor-controls{background:#f3f6ec;border:1px solid #dce5d3;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:14px}.forest-editor-controls label{display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:0}.forest-editor-controls input,.forest-editor-controls select{width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid #cbd7c5;border-radius:10px;background:#fffef7;color:#174d3b;font:inherit}.forest-editor-controls [data-editor-inspector]{display:grid;gap:14px}.forest-position-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.forest-editor-controls .forest-visible input{width:20px}.forest-editor-controls .secondary-button{font-size:13px}
.forest-library{margin-top:28px;border-top:1px solid #dce5d3;padding-top:20px}.forest-library .section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.forest-library h3{margin:0;font-size:22px}.forest-library p{font-size:14px;margin:5px 0 12px}.forest-upload{position:relative;cursor:pointer;flex-shrink:0;overflow:hidden}.forest-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.forest-upload:focus-within{outline:3px solid #34805a;outline-offset:2px}.forest-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:12px}.forest-asset-grid button{min-width:0;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;background:#fffef6;border:1px solid #dce5d3;border-radius:16px;padding:10px;min-height:130px;cursor:pointer;font:inherit;color:#174d3b}.forest-asset-grid .forest-cutout{width:min(76px,calc(75px * var(--forest-ratio)));height:auto;flex:none}.forest-asset-grid span:not(.forest-cutout){font-size:12px;text-align:center;line-height:1.2}.forest-asset-grid button:hover{background:#eaf4df;border-color:#60934b}
@media(max-width:800px){.forest-below{grid-template-columns:1fr}.forest-contribution{padding:0 6px 8px}.forest-editor-layout{grid-template-columns:1fr}.forest-editor-controls{display:grid;grid-template-columns:1fr 1.8fr}.forest-editor-controls [data-editor-inspector]{grid-row:span 2}.forest-position-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.forest-editor-heading{align-items:flex-start}.forest-editor-heading h2{font-size:26px}}
@media(max-width:520px){.class-forest-page{padding:16px 12px}.class-forest-heading{align-items:flex-start;gap:10px;margin-bottom:14px}.class-forest-heading .eyebrow{font-size:10px}.class-forest-heading h1{font-size:27px;max-width:210px}.forest-total{gap:5px;padding:10px;border-radius:16px;flex-wrap:wrap;max-width:102px;justify-content:center}.forest-total svg{width:20px;height:20px}.forest-total strong{font-size:27px}.forest-total span{flex-basis:100%;text-align:center;font-size:10px}.forest-total br{display:none}.class-forest-landscape{border-radius:18px}.forest-viewport{display:block;background:#a7d9c0}.forest-viewport .class-forest-scene{flex:none;width:100%}.forest-viewport.is-zoomed{display:block;max-height:58svh}.forest-viewport.is-zoomed .class-forest-scene{width:200%}.forest-zoom,.forest-discovered{font-size:11px;padding:7px 10px;bottom:9px}.forest-zoom{right:9px}.forest-discovered{left:9px}.forest-next{padding:14px;gap:12px;border-radius:18px}.forest-next .forest-cutout{width:min(68px,calc(98px * var(--forest-ratio)))}.forest-next h2{font-size:22px}.forest-next .eyebrow{font-size:10px}.forest-next p{font-size:13px}.forest-contribution strong{font-size:16px}.forest-editor-heading{display:block}.forest-editor-heading .primary-button{width:100%;margin-top:12px;justify-content:center}.forest-editor-controls{display:flex}.forest-library .section-heading{display:block}.forest-upload{width:100%;margin:10px 0}.forest-editor-tools{font-size:12px}.forest-asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.forest-asset-grid button{padding:6px;min-height:115px}.forest-prize{padding:20px;gap:10px}.forest-prize h2{font-size:28px}.forest-prize p{font-size:16px}}
@media(max-height:500px) and (orientation:landscape){.forest-prize{padding:18px;display:grid;grid-template-columns:130px 1fr;gap:8px 18px;text-align:left}.forest-prize>.eyebrow{grid-column:2}.forest-prize>.forest-celebrating-panda,.forest-prize>.forest-cutout{grid-column:1;grid-row:1/6;width:125px;max-width:125px;max-height:170px}.forest-prize h2{font-size:25px}.forest-prize p{font-size:14px}.forest-prize .forest-prize-error:empty{display:none}.forest-prize>:not(img):not(.forest-cutout){grid-column:2}.forest-discovery{width:min(540px,calc(100vw - 32px))}.forest-prize .primary-button{min-height:44px}.forest-prize-seeds{font-size:11px}.forest-viewport{max-height:none}.forest-viewport.is-zoomed{max-height:80svh}}
@media(prefers-reduced-motion:reduce){.forest-confetti i{animation:none;display:none}}

@media(max-height:650px) and (orientation:portrait){.forest-prize{padding:18px;gap:8px}.forest-prize p{font-size:15px}.forest-prize .forest-cutout{width:min(180px,calc(22dvh * var(--forest-ratio)));height:auto}.forest-prize h2{font-size:26px}}

@media(max-height:500px) and (orientation:landscape){.forest-prize>.forest-cutout{width:min(125px,calc(160px * var(--forest-ratio)));max-height:none}}

.teacher-student-stat>summary{cursor:pointer;list-style:none}.teacher-student-stat>summary::-webkit-details-marker{display:none}.teacher-student-stat>summary:after{content:"⌄";font-size:1.2rem;font-weight:900}.teacher-student-stat[open]>summary:after{content:"⌃"}.student-summary-time{font-weight:800;white-space:nowrap}.student-detail-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.student-detail-section h4{margin:0 0 .7rem}.student-error-list,.student-activity-list{display:grid;gap:.55rem}.student-error-list>div,.student-activity-event{display:grid;gap:.15rem;padding:.65rem .75rem;border-radius:.8rem;background:color-mix(in srgb,var(--surface) 82%,var(--ink) 3%)}.student-error-list span,.student-error-list small,.student-activity-event span,.student-activity-event small,.student-activity-event time{color:var(--muted);font-size:.8rem}.student-activity-event.is-error{border-left:3px solid currentColor}.student-activity-event.is-correct{border-left:3px solid color-mix(in srgb,currentColor 55%,transparent)}.teacher-student-stat>.secondary-button{margin-top:1rem}

.forest-secret-gift{width:7rem;aspect-ratio:1;display:grid;place-items:center;border:2px dashed currentColor;border-radius:1.5rem;font-size:3rem;font-weight:900;opacity:.65;background:color-mix(in srgb,currentColor 6%,transparent)}

.forest-weekly{margin-top:1rem;padding:1.1rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface)}.forest-weekly h2{margin:.15rem 0 .2rem}.forest-weekly p{margin:.2rem 0;color:var(--muted)}.forest-weekly-people{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}.forest-weekly-people>span{display:grid;gap:.05rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 90%,currentColor 3%)}.forest-weekly-people small{color:var(--muted);font-size:.72rem}

/* Lectora: episode illustrations and contextual vocabulary. */
.reading-book-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;align-items:center;margin:24px 0 28px;background:#f4f5e8;border:1px solid #dce4cf;border-radius:24px;overflow:hidden}
.reading-book-hero>div{padding:30px 0 30px 30px}.reading-book-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.5rem,6vw,4.2rem);letter-spacing:-.04em;line-height:1.12;margin:8px 0 18px}.reading-book-hero p{font-size:1.12rem;line-height:1.6;max-width:310px}.reading-book-hero small{display:block;font-size:.78rem;line-height:1.6;color:#61715d;margin:18px 0}.reading-book-hero>img{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:62% center}.reading-book-hero button{margin-top:8px}.reading-story-card .reading-chapter-title{font-size:.8rem;color:#687b60}.reading-resume .reading-word-rule{font-size:.86rem;line-height:1.6;margin-top:22px}
.reading-chapter-illustration{max-width:720px;margin:0 auto 20px;border-radius:20px;overflow:hidden;border:1px solid #dfdfcf;background:#f5efd9}.reading-chapter-illustration img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.reading-lookup-hint{font-size:.8rem;color:#6b7c5c;margin:0 0 22px;line-height:1.6}
.reading-prose .reading-word{display:inline;padding:0;margin:0;min-height:0;min-width:0;border:0;border-bottom:1px dotted #608156;border-radius:0;background:none;color:inherit;font:inherit;line-height:inherit;white-space:normal;text-align:inherit;box-shadow:none;letter-spacing:inherit}.reading-prose .reading-word:hover,.reading-prose .reading-word:focus-visible{background:#eaf1da;color:#284b2a}.reading-prose .reading-word:focus-visible{outline:2px solid #648944;outline-offset:2px}
.reading-vocabulary{max-width:720px;margin:20px auto;background:#f4f7eb;border:1px solid #dce5d3;border-radius:16px;overflow:hidden}.reading-vocabulary summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:16px;font-size:.95rem;font-weight:700}.reading-vocabulary summary>span{margin-left:auto;border-radius:20px;padding:3px 8px;background:#e4edd7;font-size:.75rem}.reading-vocabulary-content{padding:4px 20px 20px}.reading-vocabulary-content label{display:block;font-size:.85rem;font-weight:650;line-height:1.5}.reading-vocabulary input{display:block;width:100%;margin:8px 0 16px;min-height:46px;border:1px solid #bac9ab;border-radius:10px;background:#fffef9;font:inherit;padding:10px 12px;color:#214f3d}.reading-vocabulary-words{display:flex;flex-wrap:wrap;gap:8px}.reading-vocabulary-words .reading-vocabulary-chip{font-size:.9rem;line-height:1.4;border:1px solid #cbd9bb;border-radius:12px;padding:9px 12px;background:#fffef9;min-height:44px;color:#315637}.reading-vocabulary-empty{font-size:.9rem;line-height:1.6}
.reading-word-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:30px;border:1px solid #bacba9;border-radius:22px;background:#fffef8;color:#284c35;box-shadow:0 15px 80px #14271735}.reading-word-dialog::backdrop{background:#13241470;backdrop-filter:blur(2px)}.reading-word-dialog h2{font-family:Georgia,'Times New Roman',serif;font-size:2rem;line-height:1.2;margin:8px 0 18px}.reading-word-dialog p{font-size:1.12rem;line-height:1.7;margin:0 0 24px}.reading-word-dialog button{width:100%;justify-content:center}.reading-editorial-note{border:1px solid #e0e5d5;border-radius:12px;padding:12px 18px;margin:24px 0;font-size:.9rem;line-height:1.7}.reading-editorial-note summary{font-weight:700;line-height:1.5}
@media(max-width:760px){.reading-book-hero{grid-template-columns:1fr;gap:0}.reading-book-hero>div{padding:24px}.reading-book-hero h1{font-size:3rem}.reading-book-hero p{max-width:none}.reading-book-hero>img{min-height:0;height:auto;aspect-ratio:3/2;object-fit:contain}.reading-book-hero>div .primary-button{width:100%;justify-content:center}.reading-chapter-illustration{border-radius:15px}.reading-word-dialog{padding:24px}.reading-vocabulary-content{padding:4px 16px 16px}}
.reading-collection-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 18px}.reading-collection-tab{display:grid;gap:4px;min-width:0;min-height:86px;padding:16px 20px;text-align:left;border:1px solid #d9e4d2;border-radius:16px;background:#fffef8;color:#284c35;font:inherit;cursor:pointer}.reading-collection-tab strong{font-family:Georgia,'Times New Roman',serif;font-size:1.22rem;line-height:1.22}.reading-collection-tab[aria-current="true"]{border-color:#769f64;background:#ecf5e4;box-shadow:inset 0 0 0 1px #769f64}.reading-collection-tab:hover{border-color:#769f64}.reading-collection-tab .reading-eyebrow{font-size:.7rem}.reading-book-hero:not(:has(>img)){grid-template-columns:1fr}.reading-book-hero:not(:has(>img))>div{padding-right:30px}.reading-book-hero:not(:has(>img)) p{max-width:620px}
@media(max-width:620px){.reading-collection-switch{grid-template-columns:1fr;gap:9px}.reading-collection-tab{min-height:68px;padding:12px 16px}.reading-collection-tab strong{font-size:1.05rem}}
/* Repeated cards become one-for-one exchanges within the child's class. */
.treasure-trade-link{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1.4rem;flex-wrap:wrap}
.treasure-trade-badge{display:inline-block;border-radius:999px;background:#e3efd6;color:#31552d;padding:.22rem .65rem;font-size:.8rem;font-weight:700}
.treasure-market{max-width:1050px;margin:auto;padding-bottom:2rem}
.treasure-market-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.treasure-market-toolbar [role=status]{color:#385e42;flex:1;min-height:1.5em}
.treasure-market section{margin:1.5rem 0 2.4rem}
.treasure-swap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem}
.treasure-swap-card{background:#fffdf7;border:1px solid #dce5d2;border-radius:24px;padding:1.25rem;box-shadow:0 4px 16px #294b2310;display:flex;flex-direction:column;gap:.85rem;min-width:0}
.treasure-swap-card .eyebrow{line-height:1.6;overflow-wrap:anywhere}
.treasure-swap-card>small{line-height:1.5;color:#52634e}
.treasure-swap-pair{display:grid;grid-template-columns:minmax(0,1fr) 1.5rem minmax(0,1fr);align-items:center;gap:.7rem}
.treasure-swap-pair>div{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;min-width:0}
.treasure-swap-pair img{width:100%;max-width:135px;aspect-ratio:2/3;object-fit:contain;border-radius:12px}
.treasure-swap-pair strong{font-size:.92rem;line-height:1.4;min-height:2.8em;overflow-wrap:anywhere}
.treasure-swap-pair>div>span{font-size:.78rem;color:#52634e}
.treasure-swap-arrow{font-size:1.7rem;color:#65815a;text-align:center}
.treasure-swap-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.treasure-swap-actions button{flex:1;min-height:44px}
.treasure-swap-card>button{min-height:44px}
.treasure-market-empty{padding:1.75rem;border-radius:24px;background:#f0f5e9;text-align:center;line-height:1.65}
.treasure-market-empty>span{font-size:2rem}
.treasure-trade-history{padding:1.2rem 1.5rem;border:1px solid #dce5d2;border-radius:20px}
.treasure-trade-history p{line-height:1.6;font-size:.93rem}
.treasure-offline-note{padding:1rem;background:#fff3d9;border-radius:16px;line-height:1.6}
.treasure-trade-dialog{max-width:480px;width:calc(100% - 2rem);padding:1.75rem;border:0;border-radius:24px;color:#243824;background:#fffdf7;box-shadow:0 16px 60px #152d3540}
.treasure-trade-dialog::backdrop{background:#172b2466}
.treasure-trade-dialog h2{margin-top:0;line-height:1.3}
.treasure-trade-dialog p{line-height:1.7;margin-bottom:1.5rem}
.treasure-market button:disabled{opacity:.6;cursor:wait}
.treasure-market button:focus-visible,.treasure-trade-dialog button:focus-visible{outline:3px solid #547847;outline-offset:4px}
@media(max-width:520px){.treasure-market-toolbar{align-items:flex-start;flex-wrap:wrap}.treasure-market-toolbar button{min-height:44px}.treasure-swap-card{padding:1rem}.treasure-trade-dialog{padding:1.25rem}}

.treasure-market-toolbar.is-exchanged{animation:treasure-exchange-pop .65s ease-out}
@keyframes treasure-exchange-pop{0%{transform:scale(.97);background:#e3efd6}60%{transform:scale(1.01)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.treasure-market-toolbar.is-exchanged{animation:none}}
.app[data-reduced=true] .treasure-market-toolbar.is-exchanged{animation:none}

/* Each reading unit keeps its own place, observations and seeds. */
.reading-units-heading{max-width:720px;margin:28px 0}
.reading-units-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.4rem,5vw,3.5rem);line-height:1.1;color:#284c35;margin:10px 0 14px}
.reading-units-heading p{font-size:1.05rem;line-height:1.65;color:#52634e}
.reading-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;margin:24px 0 40px}
.reading-unit-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #d9e4d2;border-radius:24px;background:#fffef8;box-shadow:0 6px 22px #294b230a}
.reading-unit-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.reading-unit-copy{display:flex;flex:1;flex-direction:column;gap:12px;padding:24px}
.reading-unit-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;line-height:1.18;color:#284c35;margin:0}
.reading-unit-copy p{margin:0;color:#52634e;line-height:1.6}
.reading-unit-copy>small{color:#52634e;line-height:1.5}
.reading-unit-copy>button{margin-top:auto;align-self:flex-start;min-height:44px}
.reading-unit-progress{display:grid;gap:8px;margin:8px 0;font-size:.85rem;line-height:1.5;color:#385e42}
.reading-unit-progress progress{display:block;width:100%;height:8px;accent-color:#6e934f}
.reading-unit-progress .icon{width:17px;height:17px;vertical-align:middle}
@media(min-width:1100px){.reading-unit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.reading-unit-copy{padding:18px;gap:10px}.reading-unit-copy h2{font-size:1.4rem}.reading-unit-copy p{font-size:.94rem}.reading-unit-copy>small{font-size:.8rem}}
@media(max-width:620px){.reading-unit-grid{grid-template-columns:1fr;gap:20px}.reading-unit-copy{padding:20px}.reading-unit-copy>button{width:100%;justify-content:center}.reading-units-heading{margin:22px 0}.reading-unit-copy h2{font-size:1.55rem}}

/* First-grade Unit 1 needs room for the complete body and plant illustrations. */
.science-learning-trail[data-science-unit="grade-1-unit-1"] .science-trail-leaf{gap:24px;padding:14px 16px;min-height:236px}
.science-learning-trail[data-science-unit="grade-1-unit-1"] .science-leaf-node{width:208px;height:208px;flex-basis:208px}
@media(max-width:600px){
 .science-learning-trail[data-science-unit="grade-1-unit-1"] .science-trail-leaf{gap:16px;padding:12px 8px;min-height:196px}
 .science-learning-trail[data-science-unit="grade-1-unit-1"] .science-leaf-node{width:172px;height:172px;flex-basis:172px}
}
@media(max-width:360px){
 .science-learning-trail[data-science-unit="grade-1-unit-1"] .science-trail-leaf{gap:12px;padding:12px 4px}
 .science-learning-trail[data-science-unit="grade-1-unit-1"] .science-leaf-node{width:156px;height:156px;flex-basis:156px}
}
