:root{--navy:#14275d;--blue:#3547cc;--purple:#6557df;--green:#2d936c;--orange:#f2a61b;--pink:#d4478c;--red:#c84747;--ink:#18213b;--muted:#68728c;--line:#dce2ec;--panel:#fff;--bg:#f3f7fb;--sidebar:#eaf2f9;--shadow:0 14px 36px rgba(24,33,59,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:285px 1fr}.sidebar{background:var(--sidebar);padding:24px 18px;border-right:1px solid var(--line);overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.brand-mark{font-size:34px}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:3px}.btn{border:0;border-radius:8px;padding:11px 16px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.text{background:transparent;color:var(--blue);padding-left:0}.btn.danger{background:#fff0f0;color:var(--red);border:1px solid #f2bcbc}.btn.large{padding:14px 24px}.btn.full{width:100%;margin-bottom:10px}.curriculum-group{margin:20px 0}.curriculum-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.curriculum-item{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:7px;color:var(--ink);cursor:pointer}.curriculum-item:hover{background:#fff}.sidebar-panel{background:rgba(255,255,255,.65);padding:12px;margin-top:12px;border-radius:10px;display:flex;justify-content:space-between;gap:8px}.main{padding:0 28px 50px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:26px 4px}.topbar h1{margin:0;color:var(--blue);font-size:28px}.topbar p{margin:4px 0 0;color:var(--muted)}.profile-chip{display:flex;align-items:center;gap:10px;background:#fff;padding:9px 14px;border-radius:50px;box-shadow:var(--shadow)}.profile-chip .avatar{font-size:26px}.profile-chip small,.profile-chip strong{display:block}.view{display:none}.view.active{display:block}.hero-card,.panel,.stage-panel,.success-card,.editor-window{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.hero-card{padding:34px}.hero-card h2{font-size:34px;margin:8px 0}.lead{font-size:17px;color:var(--muted);max-width:850px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--blue)}.input-row{display:flex;gap:12px;margin-top:22px}.input-row input{flex:1;padding:15px;border:1px solid var(--line);border-radius:9px;font-size:16px}.quick-prompts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.quick-prompt{border:1px solid var(--line);background:#fff;border-radius:50px;padding:8px 12px;cursor:pointer}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.panel{padding:24px}.panel h3{margin:6px 0 16px}.engine-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.engine-flow span{padding:8px 11px;background:#eef0ff;border-radius:8px;font-weight:800}.project-list.empty-state,.empty-state{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}.empty-state.wide{grid-column:1/-1}.project-row{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:8px;cursor:pointer}.project-row span strong,.project-row span small{display:block}.project-row small{color:var(--muted);margin-top:3px}.project-icon{font-size:25px}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.project-header h2{font-size:30px;margin:5px 0}.project-actions{display:flex;gap:10px}.muted{color:var(--muted)}.workflow{display:flex;align-items:center;margin:18px 0}.workflow-step{border:0;background:transparent;display:flex;align-items:center;gap:8px;color:var(--muted);cursor:pointer}.workflow-step span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#dde3ee;font-weight:900}.workflow-step.active{color:var(--blue)}.workflow-step.active span{background:var(--blue);color:#fff}.workflow-step.complete span{background:var(--green);color:#fff}.workflow-line{height:2px;background:var(--line);flex:1}.stage-panel{display:none;padding:26px}.stage-panel.active{display:block}.section-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.section-header h3{font-size:25px;margin:5px 0}.stage-status,.status-badge{padding:7px 11px;background:#eef0ff;color:var(--blue);border-radius:50px;font-weight:800;font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{display:block;font-weight:800}label small{font-weight:500;color:var(--muted)}label input,label select,label textarea,.library-toolbar input,.library-toolbar select{width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.stage-footer{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.autosave-note{color:var(--muted)}.toolbar,.library-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.library-toolbar input{flex:1;min-width:260px}.object-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.object-table{width:100%;border-collapse:collapse}.object-table th,.object-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.object-table th{background:#f7f9fc}.table-input{width:100%;border:1px solid transparent;padding:7px;border-radius:5px}.table-input:focus{border-color:var(--blue);outline:0}.pill{display:inline-flex;padding:5px 8px;border-radius:50px;background:#eef0ff;color:var(--navy);font-size:12px;font-weight:800}.asset-status{display:inline-flex;padding:5px 8px;border-radius:50px;font-size:12px;font-weight:800}.asset-status.ready{background:#e7f7ef;color:#227454}.asset-status.missing{background:#fff1e2;color:#a85f00}.link-button{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer}.icon-btn{width:30px;height:30px;border:0;border-radius:50%;background:#f2f4f8;cursor:pointer}.script-list{display:grid;gap:12px;margin-top:20px}.script-card{border:1px solid var(--line);border-radius:10px;padding:14px}.script-card-header{display:flex;justify-content:space-between;align-items:center}.script-card-header div{display:flex;gap:10px;align-items:center}.script-card-header span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eef0ff}.script-card em{font-style:normal;font-size:12px;font-weight:900}.script-card em.custom{color:var(--orange)}.script-card em.auto{color:var(--green)}.script-card textarea{width:100%;margin-top:10px;padding:10px;min-height:75px;border:1px solid var(--line);border-radius:8px}.script-actions{display:flex;justify-content:flex-end;gap:8px}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.activity-card{background:#fff;border:2px solid var(--line);border-radius:12px;padding:18px;text-align:left;cursor:pointer}.activity-card.selected{border-color:var(--blue);background:#f4f5ff}.activity-card span,.activity-card strong,.activity-card small{display:block}.activity-card span{font-size:27px}.activity-card strong{margin:8px 0}.activity-card small{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.success-card{text-align:center;padding:45px}.success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:35px;margin:0 auto 15px}.ready-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.library-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;text-align:left;cursor:pointer;box-shadow:0 6px 18px rgba(24,33,59,.05)}.library-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.library-visual{font-size:48px;background:#f7f9fc;border-radius:10px;min-height:90px;display:grid;place-items:center}.library-card h3{margin:12px 0 5px}.library-card p{color:var(--muted);min-height:58px}.object-meta,.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.tag-row span{font-size:11px;color:var(--blue)}.modal{position:fixed;inset:0;background:rgba(10,17,38,.72);display:grid;place-items:center;padding:20px;z-index:100}.modal.hidden{display:none}.modal-close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer}.editor-window,.game-window{position:relative;width:min(1000px,96vw);max-height:94vh;overflow:auto;padding:28px}.editor-heading{display:flex;justify-content:space-between}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.game-window{background:#fff;border-radius:15px}.game-topbar{display:flex;justify-content:space-between;align-items:center}.game-progress>div{width:220px;height:8px;background:#e4e8ef;border-radius:10px;overflow:hidden}.game-progress i{display:block;height:100%;background:var(--green)}.game-stage{display:grid;grid-template-columns:320px 1fr;gap:20px;margin:25px 0}.mrp-card,.learning-card{border:1px solid var(--line);border-radius:14px;padding:24px;text-align:center}.mrp-avatar{font-size:72px}.object-visual{font-size:100px;animation:gentleFloat 2.5s ease-in-out infinite}.fact-list{display:grid;gap:6px;margin-top:12px}.fact-list span{background:#fff9df;padding:8px;border-radius:8px}.game-controls{display:flex;justify-content:center;gap:12px}.celebration{text-align:center;font-size:25px;font-weight:900;margin-top:16px}.celebration.hidden{display:none}@keyframes gentleFloat{50%{transform:translateY(-7px)}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:0 14px 35px}.two-column,.form-grid,.activity-grid,.settings-grid,.game-stage{grid-template-columns:1fr}.project-header,.topbar{gap:15px;flex-direction:column}.input-row{flex-direction:column}.workflow{overflow:auto}.form-grid.two,.form-grid.three{grid-template-columns:1fr}}

/* Milestone 1.1 — real activity-template runtime */
.activity-stage{flex:1;min-width:0}.learning-card{width:100%}.activity-prompt{font-size:1.05rem;color:var(--muted);margin:.25rem 0 1rem}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.choice-btn,.match-card{border:2px solid #dfe5f2;background:#fff;border-radius:16px;padding:16px;font-weight:800;cursor:pointer;transition:.18s transform,.18s border-color,.18s background}.choice-btn:hover,.match-card:hover{transform:translateY(-2px);border-color:var(--primary)}.choice-btn.correct,.match-card.correct{border-color:#15945f;background:#e9fff5}.choice-btn.wrong,.match-card.wrong{border-color:#d64545;background:#fff0f0}.flashcard{min-height:300px;display:grid;place-items:center;text-align:center;cursor:pointer}.flashcard .back{display:none}.flashcard.flipped .front{display:none}.flashcard.flipped .back{display:block}.flashcard-hint{color:var(--muted);font-weight:700}.matching-board{display:grid;grid-template-columns:1fr 1fr;gap:18px}.matching-column{display:grid;gap:10px}.match-card.selected{outline:4px solid rgba(83,71,210,.22);border-color:var(--primary)}.spelling-box{display:flex;gap:12px;justify-content:center;margin-top:18px}.spelling-box input{font-size:1.3rem;padding:14px 16px;border:2px solid #dfe5f2;border-radius:14px;min-width:260px}.reading-passage{font-size:1.25rem;line-height:1.65;background:#f7f8ff;border-radius:16px;padding:22px;text-align:left}.activity-feedback{min-height:28px;text-align:center;font-weight:900;margin-top:12px}.activity-feedback.good{color:#118557}.activity-feedback.try{color:#b54c27}@media(max-width:720px){.choice-grid,.matching-board{grid-template-columns:1fr}.spelling-box{flex-direction:column}.spelling-box input{min-width:0;width:100%}}

/* Milestone 2 — Mr. P Response & Personality Engine */
.lesson-results{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:18px}.lesson-results span{background:#f4f6fb;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-weight:800}.activity-feedback{transition:.2s ease}.activity-feedback.good{animation:feedbackPop .3s ease}.activity-feedback.try{animation:feedbackShake .3s ease}@keyframes feedbackPop{0%{transform:scale(.92);opacity:.35}100%{transform:scale(1);opacity:1}}@keyframes feedbackShake{0%,100%{transform:translateX(0)}35%{transform:translateX(-5px)}70%{transform:translateX(5px)}}

/* Curriculum & Knowledge Engine additions */
.visual-caption{min-height:1.2rem;color:var(--muted,#667085);font-size:.82rem;margin-top:-.5rem}
.math-manipulatives{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap;margin:1rem 0 1.5rem}
.math-group{display:flex;gap:.35rem;flex-wrap:wrap;max-width:280px;padding:.75rem;border:2px dashed #b7c7ff;border-radius:16px;background:#f8faff}
.math-group span{font-size:2rem;line-height:1}
.math-symbol{font-size:2.2rem;font-weight:900;color:#3451b2}


/* v7.2.1 — Master Library + Mr. P Character Engine */
.mrp-avatar{height:300px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#eff9ff,#dcecff)}
.mrp-avatar img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}
.library-visual{overflow:hidden}
.library-image{width:100%;height:150px;object-fit:contain;display:block;background:#20d400}
.object-image{max-width:100%;max-height:240px;object-fit:contain;display:block;margin:auto}
.object-emoji{font-size:inherit}
.library-card[data-object-id^="character-"] .library-visual{background:#20d400;min-height:170px}
@media(max-width:900px){.mrp-avatar{height:240px}}

/* v7.3 — Knowledge Finder & Curriculum Coverage Engine */
.hidden{display:none!important}
.knowledge-discovery{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#f8fbff,#fff);padding:18px;margin:18px 0;box-shadow:0 8px 24px rgba(24,33,59,.06)}
.discovery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.discovery-header h4{margin:4px 0 0;font-size:20px}.discovery-pipeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.discovery-step{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.discovery-step>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900}.discovery-step.good>span{background:#e7f7ef;color:#227454}.discovery-step.warn>span{background:#fff3d8;color:#a85f00}.discovery-step.bad>span{background:#ffe7e7;color:#a82b2b}.discovery-step strong{font-size:13px}.discovery-step b{font-size:13px;color:var(--navy)}.discovery-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.discovery-actions p{flex:1;min-width:260px;margin:0;color:var(--muted)}.status-badge.discovery-ready{background:#e7f7ef;color:#227454}.status-badge.discovery-partial{background:#fff3d8;color:#a85f00}.status-badge.discovery-empty{background:#ffe7e7;color:#a82b2b}
.coverage-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.coverage-summary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 6px 18px rgba(24,33,59,.05)}.coverage-summary strong,.coverage-summary span{display:block}.coverage-summary strong{font-size:28px;color:var(--blue)}.coverage-summary span{font-size:12px;color:var(--muted);margin-top:4px}.coverage-controls{display:flex;gap:12px;align-items:end;margin:18px 0}.coverage-controls label{min-width:220px}.coverage-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.coverage-table{width:100%;border-collapse:collapse}.coverage-table th,.coverage-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.coverage-table th{background:#f7f9fc}.coverage-count{display:inline-grid;place-items:center;min-width:34px;padding:5px 7px;border-radius:8px;font-weight:900}.coverage-count.ready{background:#e7f7ef;color:#227454}.coverage-count.warning{background:#fff3d8;color:#a85f00}.coverage-count.missing{background:#ffe7e7;color:#a82b2b}.coverage-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-weight:900;font-size:12px}.coverage-status.ready{background:#e7f7ef;color:#227454}.coverage-status.warning{background:#fff3d8;color:#a85f00}.coverage-status.missing{background:#ffe7e7;color:#a82b2b}
@media(max-width:900px){.discovery-pipeline{grid-template-columns:1fr}.coverage-summary{grid-template-columns:repeat(2,1fr)}.coverage-controls{align-items:stretch;flex-direction:column}.coverage-controls label{min-width:0;width:100%}}

.matching-image{width:110px;height:110px;object-fit:contain;display:block;margin:auto}.spelling-image{max-width:320px;max-height:280px;object-fit:contain;display:block;margin:auto}.picture-card .object-visual{font-size:0}.library-card .library-image{background:transparent}

/* v7.4 Knowledge Object + Relationship Engine */
.editor-window { max-width: 1120px; max-height: 92vh; overflow-y: auto; }
.editor-section-title { margin: 24px 0 12px; padding: 12px 14px; border-radius: 14px; background: linear-gradient(135deg, rgba(48,88,255,.10), rgba(111,66,193,.08)); border: 1px solid rgba(48,88,255,.15); display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.editor-section-title span { font-weight: 800; color: var(--text, #17223b); }
.editor-section-title small { color: var(--muted, #6f7890); text-align: right; }
.asset-health-grid { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 14px; }
.health-chip { padding: 7px 10px; border-radius: 999px; font-size: .82rem; font-weight: 700; border: 1px solid transparent; }
.health-chip.ready { background: #e8f8ef; color: #177447; border-color: #bde8cf; }
.health-chip.missing { background: #fff4df; color: #9a6416; border-color: #f2d6a0; }
.relationship-preview { margin: 8px 0 0; font-size: .82rem; color: #59647c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.library-card { text-align: left; }
@media (max-width: 760px) { .editor-section-title { flex-direction: column; } .editor-section-title small { text-align: left; } }

/* v7.5 — Learning With Mr. P Official Visual Theme */
:root{
  --navy:#071b43;
  --navy-2:#0b285d;
  --navy-3:#103a78;
  --blue:#1768e5;
  --blue-bright:#2f82ff;
  --purple:#7a4de8;
  --green:#2fb36f;
  --lime:#75d83e;
  --orange:#f59a23;
  --pink:#e84f8e;
  --teal:#14aeb4;
  --red:#e45858;
  --yellow:#ffc739;
  --ink:#f7fbff;
  --muted:#a9bddf;
  --line:rgba(157,190,238,.19);
  --panel:#0d2a5f;
  --panel-2:#103570;
  --bg:#061736;
  --sidebar:#061a40;
  --shadow:0 18px 42px rgba(0,7,28,.35);
  --subject-math:linear-gradient(145deg,#1768e5,#0e4db5);
  --subject-language:linear-gradient(145deg,#32b36f,#177d50);
  --subject-science:linear-gradient(145deg,#8056e7,#5932b6);
  --subject-social:linear-gradient(145deg,#f3a027,#c76d0e);
  --subject-time:linear-gradient(145deg,#18b5bb,#087a91);
  --subject-dictionary:linear-gradient(145deg,#e85391,#ad285f);
}
html{background:var(--bg)}
body{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;background:
 radial-gradient(circle at 80% 10%,rgba(38,111,229,.18),transparent 32%),
 linear-gradient(145deg,#061633 0%,#082451 48%,#061735 100%);color:var(--ink)}
button,input,select,textarea{font-family:inherit}
.app-shell{grid-template-columns:270px 1fr;background:transparent}
.sidebar{background:linear-gradient(180deg,#061a40 0%,#071d49 55%,#061632 100%);border-right:1px solid rgba(132,176,239,.18);box-shadow:12px 0 36px rgba(0,6,24,.18);padding:20px 14px}
.brand{gap:11px;padding:0 4px 18px;margin-bottom:12px;border-bottom:1px solid rgba(148,184,235,.15)}
.brand-mark{width:58px;height:58px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#22c7e7,#1670df);border:3px solid rgba(255,255,255,.22);box-shadow:0 8px 22px rgba(0,0,0,.3);flex:0 0 auto}
.brand-mark img{width:100%;height:100%;object-fit:cover;object-position:center 10%;transform:scale(1.25)}
.brand strong{font-size:18px;color:#fff;line-height:1.05}.brand strong::first-line{color:#fff}
.brand small{color:#5fe3ff;font-weight:800;font-size:11px;letter-spacing:.02em}
.btn{border-radius:12px;min-height:44px;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;border:1px solid transparent}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn.primary{background:linear-gradient(135deg,var(--blue-bright),#2652d7);box-shadow:0 8px 20px rgba(23,104,229,.28);color:#fff}
.btn.secondary{background:rgba(255,255,255,.07);color:#eaf4ff;border-color:rgba(169,202,246,.25)}
.btn.secondary:hover{background:rgba(255,255,255,.12)}
.btn.text{color:#72baff}.btn.danger{background:rgba(228,88,88,.13);color:#ffaaaa;border-color:rgba(228,88,88,.35)}
.curriculum-group{margin:20px 0}.curriculum-group h3{color:#829ac2;font-size:11px;padding:0 10px}
.curriculum-item{color:#eef6ff;font-size:15px;padding:10px 12px;border-radius:10px;margin:2px 0}
.curriculum-item:hover{background:linear-gradient(90deg,rgba(35,113,232,.75),rgba(32,81,186,.55));color:#fff;transform:translateX(2px)}
.sidebar-panel{background:rgba(255,255,255,.055);border:1px solid rgba(143,185,241,.13);color:#cfe1f8;border-radius:12px;padding:13px 12px}.sidebar-panel strong{color:#fff}
.main{padding:0 28px 54px;background:transparent}
.topbar{padding:20px 4px 18px;border-bottom:1px solid rgba(149,188,241,.12);margin-bottom:18px}
.topbar h1{color:#fff;font-size:29px;letter-spacing:-.02em}.topbar p{color:var(--muted)}
.profile-chip{background:rgba(8,34,79,.8);border:1px solid rgba(151,191,245,.2);box-shadow:var(--shadow);color:#fff;padding:7px 16px 7px 7px}
.profile-chip .avatar{width:45px;height:45px;border-radius:50%;overflow:hidden;background:#1da8d8;display:block}.profile-chip .avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.35)}
.profile-chip small{color:#9eb7d9}
.hero-card,.panel,.stage-panel,.success-card,.editor-window,.game-window{background:linear-gradient(145deg,rgba(15,48,104,.98),rgba(8,33,75,.98));border:1px solid rgba(151,192,246,.18);box-shadow:var(--shadow);color:#f8fbff;border-radius:18px}
.hero-card{position:relative;overflow:hidden;padding:38px;background:
 linear-gradient(110deg,rgba(20,154,132,.92),rgba(5,98,125,.89)),
 linear-gradient(145deg,#0c8c7d,#0a567d)}
.hero-card::after{content:"";position:absolute;right:-55px;top:-75px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(114,237,217,.28),transparent 65%);pointer-events:none}
.hero-card h2{color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.12)}.hero-card .eyebrow{color:#fff0a8}.lead{color:#dffcf6}
.eyebrow{color:#64a7ff}.input-row input{background:rgba(255,255,255,.96);color:#0d244b;border:0;box-shadow:0 8px 20px rgba(0,0,0,.12);border-radius:13px}
.quick-prompt{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.23);font-weight:800}.quick-prompt:hover{background:rgba(255,255,255,.2)}
.panel{padding:24px}.panel h3,.project-header h2,.section-header h3{color:#fff}.panel p,.muted,.section-header p{color:var(--muted)}
.engine-flow span{background:rgba(66,117,219,.22);border:1px solid rgba(104,158,255,.23);color:#eaf2ff}
.project-row{background:rgba(255,255,255,.055);border-color:rgba(151,191,245,.15);color:#fff}.project-row:hover{background:rgba(255,255,255,.09);transform:translateY(-1px)}.project-row small{color:#a9bddf}
.workflow-step{color:#8498bc;font-weight:900}.workflow-step span{background:#19396b;color:#a9bddf}.workflow-step.active{color:#76b6ff}.workflow-step.active span{background:linear-gradient(135deg,#337dff,#244bc8);color:#fff;box-shadow:0 5px 16px rgba(36,98,225,.35)}.workflow-step.complete{color:#67d69c}.workflow-step.complete span{background:linear-gradient(135deg,#39bd7b,#228c5c)}.workflow-line{background:rgba(143,180,230,.18)}
.stage-status,.status-badge{background:rgba(62,110,219,.2);color:#94c3ff;border:1px solid rgba(100,157,255,.2)}
label{color:#f7fbff}label small{color:#9db1d3}
label input,label select,label textarea,.library-toolbar input,.library-toolbar select,.table-input,.script-card textarea,.spelling-box input{background:#f7fbff;color:#102448;border:2px solid transparent;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(27,60,112,.11)}
label input:focus,label select:focus,label textarea:focus,.library-toolbar input:focus,.library-toolbar select:focus{outline:0;border-color:#4a91ff;box-shadow:0 0 0 4px rgba(52,131,255,.17)}
.object-table-wrap,.coverage-table-wrap{border-color:rgba(151,192,246,.17);background:rgba(3,23,57,.36)}
.object-table th,.coverage-table th{background:#123469;color:#eaf4ff}.object-table td,.coverage-table td{border-color:rgba(151,192,246,.12);color:#e9f2ff}.object-table tr:hover td,.coverage-table tr:hover td{background:rgba(255,255,255,.035)}
.pill{background:rgba(72,126,235,.22);color:#bcd9ff;border:1px solid rgba(96,153,255,.18)}
.script-card{background:rgba(255,255,255,.045);border-color:rgba(151,191,245,.15)}.script-card-header span{background:#193d79;color:#fff}
.activity-card{border:1px solid rgba(151,191,245,.16);color:#fff;background:linear-gradient(145deg,#113a7c,#0c285b);box-shadow:0 10px 24px rgba(0,8,31,.2)}
.activity-card:nth-child(6n+1){background:var(--subject-math)}.activity-card:nth-child(6n+2){background:var(--subject-language)}.activity-card:nth-child(6n+3){background:var(--subject-science)}.activity-card:nth-child(6n+4){background:var(--subject-social)}.activity-card:nth-child(6n+5){background:var(--subject-time)}.activity-card:nth-child(6n){background:var(--subject-dictionary)}
.activity-card small{color:rgba(255,255,255,.82)}.activity-card.selected{border-color:#fff;background:linear-gradient(145deg,#286ff1,#123ea4);box-shadow:0 0 0 4px rgba(83,151,255,.25),0 14px 30px rgba(0,7,30,.35)}
.library-card{background:linear-gradient(145deg,#12356f,#0b2859);border-color:rgba(151,192,246,.16);color:#fff;box-shadow:0 11px 24px rgba(0,8,32,.24);border-radius:16px;overflow:hidden;padding:13px}.library-card:hover{box-shadow:0 18px 34px rgba(0,5,28,.38);transform:translateY(-4px)}
.library-visual{background:linear-gradient(145deg,#184c96,#0f336e);min-height:150px;border:1px solid rgba(255,255,255,.07)}.library-card p{color:#b8cae4}.tag-row span{color:#78b7ff}.relationship-preview{color:#a7bddb}
.library-image{background:linear-gradient(135deg,#1fcdb2,#137fb4)}
.editor-window{background:linear-gradient(145deg,#0b285d,#071d48)}.editor-section-title{background:linear-gradient(135deg,rgba(46,119,255,.23),rgba(112,69,226,.17));border-color:rgba(95,152,255,.25)}.editor-section-title span{color:#fff}.editor-section-title small{color:#a9bddf}
.knowledge-discovery{background:linear-gradient(145deg,#123a78,#0a285b);border-color:rgba(151,192,246,.18)}.discovery-step{background:rgba(255,255,255,.05);border-color:rgba(151,192,246,.14);color:#fff}.discovery-step b{color:#8fc3ff}.discovery-actions p{color:#a9bddf}
.coverage-summary>div{background:linear-gradient(145deg,#12386f,#0b2859);border-color:rgba(151,192,246,.15)}.coverage-summary strong{color:#65a9ff}.coverage-summary span{color:#a9bddf}
.game-window{background:linear-gradient(145deg,#0b285d,#061a40);border:1px solid rgba(151,192,246,.23)}.game-topbar{padding-bottom:16px;border-bottom:1px solid rgba(151,192,246,.14)}.game-topbar h2{color:#fff}.game-topbar small{color:#65d8f1}
.game-progress>div{background:#17376c}.game-progress i{background:linear-gradient(90deg,#63d64a,#2db878)}
.mrp-card,.learning-card{background:linear-gradient(145deg,#103570,#092653);border-color:rgba(151,192,246,.17);color:#fff;box-shadow:0 12px 26px rgba(0,7,29,.24)}
.mrp-avatar{background:linear-gradient(180deg,#0eaa9d,#087a87)}.fact-list span{background:rgba(255,202,55,.14);color:#fff1b2;border:1px solid rgba(255,205,67,.16)}
.choice-btn,.match-card{background:#f7fbff;color:#102448;border-color:#d8e5f5}.choice-btn:hover,.match-card:hover{border-color:#2e82ff}.reading-passage{background:#f7fbff;color:#102448}.activity-prompt,.visual-caption{color:#b4c7e3}.celebration{color:#ffdd63;text-shadow:0 2px 12px rgba(255,198,47,.25)}
.success-icon{background:linear-gradient(135deg,#62d842,#2ead6d);box-shadow:0 8px 24px rgba(53,191,111,.3)}
.modal{background:rgba(0,8,27,.84);backdrop-filter:blur(6px)}.modal-close{color:#fff}
.health-chip.ready,.asset-status.ready,.coverage-status.ready,.coverage-count.ready{background:rgba(44,190,116,.17);color:#8af0b7;border-color:rgba(71,205,135,.25)}
.health-chip.missing,.asset-status.missing,.coverage-status.warning,.coverage-count.warning{background:rgba(245,154,35,.16);color:#ffc56f;border-color:rgba(245,154,35,.25)}
.coverage-status.missing,.coverage-count.missing{background:rgba(228,88,88,.16);color:#ffaaa8}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:0 14px 35px}.topbar{margin-bottom:10px}}

/* v7.7 Name & Signature Practice — additive styles only */
.name-writing-card{max-width:760px;margin:0 auto}.trace-name{margin:18px auto;padding:18px;border:3px dashed #9aa7b8;border-radius:14px;font-size:clamp(2rem,7vw,4.5rem);font-family:"Comic Sans MS","Segoe Print",cursive;letter-spacing:.08em;color:transparent;-webkit-text-stroke:1.5px #8090a3;background:repeating-linear-gradient(to bottom,transparent 0,transparent 47%,#d7dee8 48%,#d7dee8 50%,transparent 51%,transparent 100%)}.writing-label{display:block;text-align:left;font-weight:700;margin:14px 0 6px}.name-writing-input{width:100%;box-sizing:border-box;padding:14px 16px;border:2px solid #b8c4d3;border-radius:12px;font-size:1.35rem;font-family:"Comic Sans MS","Segoe Print",cursive;background:#fff}.name-writing-input:focus{outline:3px solid rgba(59,130,246,.25);border-color:#3b82f6}


/* v8.0 Educational Integrity & Validation Engine */
.doctor-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px;margin:20px 0}.doctor-summary>div{background:#fff;border:1px solid #dfe7ef;border-radius:16px;padding:18px;display:flex;flex-direction:column;box-shadow:0 5px 18px rgba(27,43,65,.06)}.doctor-summary strong{font-size:1.8rem}.doctor-summary span{color:#607080;font-size:.85rem}.doctor-score.healthy{border-left:6px solid #28a745}.doctor-score.danger{border-left:6px solid #d93025}.qa-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:18px 0}.qa-toolbar label{display:flex;flex-direction:column;gap:6px}.doctor-findings{display:grid;gap:12px}.qa-finding{background:#fff;border:1px solid #dfe7ef;border-left:6px solid #6c757d;border-radius:14px;padding:16px}.qa-finding.critical{border-left-color:#d93025}.qa-finding.warning{border-left-color:#f2a900}.qa-finding.pass{border-left-color:#28a745}.qa-finding>div{display:flex;justify-content:space-between;gap:12px}.qa-finding p{margin:8px 0}.qa-finding small{color:#607080}.qa-severity{font-weight:800}.ready-qa-banner{margin-bottom:16px}.qa-ready{padding:14px 18px;border-radius:12px;font-weight:800}.qa-ready.pass{background:#e7f6ec;color:#166534;border:1px solid #91d5a5}.qa-ready.fail{background:#fdecec;color:#991b1b;border:1px solid #f1a6a6}.qa-blocked{border:2px solid #d93025;background:#fff5f5}.btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.doctor-summary{grid-template-columns:repeat(2,1fr)}}


/* v9.1 grade-aware assessment presentation */
.assessment-objective{font-size:.92rem;font-weight:700;opacity:.82;margin:.35rem 0 .65rem;}
.activity-question{font-size:1.35rem;line-height:1.35;margin:.4rem auto 1.1rem;max-width:900px;}

.topbar-actions{display:flex;align-items:center;gap:12px}.master-library-home-card{width:100%;margin-top:20px;border:2px solid var(--blue);background:linear-gradient(135deg,#f4f5ff,#fff);border-radius:14px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;text-align:left;cursor:pointer;box-shadow:var(--shadow)}.master-library-home-card:hover{transform:translateY(-2px)}.home-library-icon{font-size:42px}.master-library-home-card small,.master-library-home-card strong,.master-library-home-card em{display:block}.master-library-home-card small{color:var(--blue);font-weight:900;letter-spacing:.08em}.master-library-home-card strong{font-size:22px;margin:3px 0}.master-library-home-card em{font-style:normal;color:var(--muted)}.library-status{margin:10px 0 16px;padding:11px 14px;background:#eef0ff;border-radius:9px;color:var(--navy);font-weight:800}.mobile-dock{display:none}
@media(max-width:900px){.main{padding-bottom:90px}.topbar-actions{width:100%;justify-content:space-between}.topbar-actions>.btn{flex:1}.mobile-dock{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:80;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(24,33,59,.12)}.mobile-dock button{border:0;background:#fff;padding:10px 4px;display:grid;gap:3px;place-items:center;font-weight:800;color:var(--navy)}.mobile-dock span{font-size:11px}.master-library-home-card{grid-template-columns:auto 1fr}.master-library-home-card>b{display:none}}


/* v9.6 spelling image clue */
.spelling-picture {
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.spelling-clue-image {
  width: min(280px, 70vw);
  max-height: 260px;
  object-fit: contain;
  border-radius: 18px;
}
.spelling-picture .object-emoji { font-size: 7rem; line-height: 1; }

/* v10 Universal Teaching Framework */
.mode-picker{margin:1rem auto;max-width:520px;text-align:left}.mode-picker label{display:grid;gap:.45rem;font-weight:700}.mode-picker select{padding:.8rem 1rem;border-radius:12px;background:#f7fbff;color:#10264f;border:2px solid #9fb9e8;font-size:1rem}.phase-badge{display:inline-block;padding:.35rem .75rem;border-radius:999px;background:#2d68df;color:white;font-weight:800;letter-spacing:.04em;margin-bottom:.8rem}.phase-note{margin-top:1rem;padding:.8rem;border-radius:10px;background:rgba(53,121,238,.12);font-weight:700}.teaching-phase-card{max-width:800px;margin:auto}


/* ===== Classroom & Family Account Beta v10.1 ===== */
.account-onboarding{position:fixed;inset:0;z-index:10000;background:linear-gradient(135deg,#eef4ff,#f8fbff 45%,#fff8e8);overflow:auto;padding:32px 18px;display:grid;place-items:center}.account-onboarding.hidden{display:none}.onboarding-card{width:min(900px,100%);background:#fff;border:1px solid #dfe7f4;border-radius:28px;box-shadow:0 24px 80px rgba(30,55,90,.18);padding:30px}.onboarding-brand{display:flex;gap:16px;align-items:center;margin-bottom:16px}.onboarding-brand img{width:76px;height:76px;border-radius:22px;object-fit:cover;background:#eef3ff}.onboarding-brand div{display:flex;flex-direction:column}.onboarding-brand span{font-size:.82rem;font-weight:800;letter-spacing:.08em;color:#53657f;text-transform:uppercase}.onboarding-brand strong{font-size:2rem;line-height:1.1}.onboarding-lead{font-size:1.08rem;line-height:1.65;color:#45566f}.beta-local-note{background:#fff8df;border:1px solid #f1d882;color:#6a5715;padding:12px 14px;border-radius:14px;margin:16px 0 22px;font-size:.92rem}.onboarding-section{margin:26px 0 22px;padding-top:22px;border-top:1px solid #e6ebf2}.student-add-row{display:grid;grid-template-columns:minmax(180px,1fr) 180px auto;gap:10px;align-items:end;margin:14px 0}.setup-student-list,.manager-student-list{display:grid;gap:9px}.student-roster-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e1e7f0;border-radius:14px;background:#f9fbfe}.student-roster-row .student-avatar{width:38px;height:38px;border-radius:50%;background:#e9f0ff;display:grid;place-items:center;font-weight:900;color:#3158a3}.student-roster-row .student-info{flex:1;display:flex;flex-direction:column}.student-roster-row .student-info small{color:#718098}.student-remove-btn{border:0;background:transparent;color:#b3261e;font-size:1.2rem;cursor:pointer}.learner-roster-panel{margin-top:18px}.home-learner-roster{display:flex;flex-wrap:wrap;gap:10px}.learner-select-card{border:1px solid #dce4ef;background:#fff;border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:.15s}.learner-select-card:hover{transform:translateY(-1px);border-color:#7798d6}.learner-select-card.active{border:2px solid #3568cf;background:#eef4ff}.learner-select-card .learner-initial{width:34px;height:34px;border-radius:50%;background:#e7efff;display:grid;place-items:center;font-weight:900;color:#315ca8}.learner-select-card small{display:block;color:#77869c}.account-profile-chip{cursor:default}.student-manager-window{max-width:760px}.student-manager-footer{margin-top:18px;padding-top:14px;border-top:1px solid #e6ebf2;color:#67758a}.danger-text{color:#b3261e!important}.beta-version-badge{position:fixed;right:14px;bottom:12px;z-index:50;background:rgba(19,32,53,.92);color:#fff;padding:7px 10px;border-radius:999px;font-size:.72rem;pointer-events:none}.no-learner-note{padding:14px;border:1px dashed #cbd6e5;border-radius:14px;color:#67758a;background:#fbfcff}.student-grade-pill{font-size:.78rem;padding:4px 8px;border-radius:999px;background:#edf2f8;color:#52647c}
@media(max-width:760px){.student-add-row{grid-template-columns:1fr}.onboarding-card{padding:20px}.onboarding-brand strong{font-size:1.55rem}.beta-version-badge{display:none}}

/* v10.3 Browser Voice Interaction */
.voice-answer-btn {
  background: linear-gradient(135deg, #7b1fa2, #5e35b1);
  color: #fff;
  border: none;
  box-shadow: 0 6px 18px rgba(94,53,177,.22);
}
.voice-answer-btn:hover:not(:disabled) { transform: translateY(-1px); }
.voice-answer-btn:disabled { opacity: .55; cursor: not-allowed; }
.voice-interaction-status {
  width: 100%;
  margin-top: 8px;
  padding: 9px 12px;
  border-radius: 10px;
  background: #f5f5fb;
  color: #4a4560;
  font-size: .88rem;
  text-align: center;
}
.voice-interaction-status.listening { background:#ede7f6; color:#512da8; font-weight:800; animation: voicePulse 1s ease-in-out infinite; }
.voice-interaction-status.heard { background:#e3f2fd; color:#0d47a1; }
.voice-interaction-status.correct { background:#e8f5e9; color:#1b5e20; font-weight:700; }
.voice-interaction-status.retry, .voice-interaction-status.error { background:#fff3e0; color:#8a3b00; }
.voice-interaction-status.unsupported { background:#f5f5f5; color:#666; }
@keyframes voicePulse { 50% { opacity:.65; } }


/* ===== v10.4 Interaction Cue & Sound Engine ===== */
.sound-toggle-btn{border:1px solid rgba(255,255,255,.28);background:rgba(8,34,78,.72);color:#fff;border-radius:999px;padding:.55rem .85rem;font-weight:800;cursor:pointer;white-space:nowrap}
.game-controls .btn.cue-pulse{position:relative;z-index:3;animation:lwmrpCuePulse 1.05s ease-in-out infinite;box-shadow:0 0 0 0 rgba(88,180,255,.65)}
.game-controls .btn.cue-mic{animation:lwmrpMicFlash .72s ease-in-out infinite;outline:4px solid rgba(255,215,0,.35);background:linear-gradient(135deg,#8f2bd6,#d72d83)}
.game-controls .btn.cue-next{animation:lwmrpNextPulse 1s ease-in-out infinite}
.choice-btn.cue-choice:not(:disabled){animation:lwmrpChoiceGlow 1.5s ease-in-out infinite}
.voice-interaction-status.waiting{font-weight:900;color:#ffe66d;background:rgba(33,71,140,.72);border:1px solid rgba(255,230,109,.45);padding:.7rem 1rem;border-radius:14px}
@keyframes lwmrpCuePulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(88,180,255,.6)}50%{transform:scale(1.055);box-shadow:0 0 0 12px rgba(88,180,255,0)}}
@keyframes lwmrpMicFlash{0%,100%{transform:scale(1);filter:brightness(1);box-shadow:0 0 0 0 rgba(255,215,0,.72)}50%{transform:scale(1.085);filter:brightness(1.32);box-shadow:0 0 0 16px rgba(255,215,0,0)}}
@keyframes lwmrpNextPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.055)}}
@keyframes lwmrpChoiceGlow{0%,100%{box-shadow:0 0 0 0 rgba(73,153,255,0)}50%{box-shadow:0 0 0 6px rgba(73,153,255,.22)}}
@media (prefers-reduced-motion:reduce){.cue-pulse,.cue-mic,.cue-next,.cue-choice{animation:none!important;outline:4px solid #ffd54a!important}}


/* ===== v10.4.1 reliable child guidance cues ===== */
#gameControls .cue-pulse, #gameControls .cue-next {
  animation: lwmrpCuePulseStrong .82s ease-in-out infinite !important;
  outline: 5px solid rgba(255,224,72,.92) !important;
  box-shadow: 0 0 0 0 rgba(255,224,72,.8), 0 0 26px rgba(70,170,255,.75) !important;
}
#gameControls .cue-mic {
  animation: lwmrpMicFlashStrong .58s ease-in-out infinite !important;
  outline: 6px solid #ffe44d !important;
  box-shadow: 0 0 30px rgba(255,228,77,.95) !important;
}
@keyframes lwmrpCuePulseStrong {
  0%,100% { transform:scale(1); filter:brightness(1); }
  50% { transform:scale(1.11); filter:brightness(1.28); }
}
@keyframes lwmrpMicFlashStrong {
  0%,100% { transform:scale(1); background:linear-gradient(135deg,#7b1fa2,#5e35b1); }
  50% { transform:scale(1.13); background:linear-gradient(135deg,#ff2f92,#8f2bd6); }
}
.phase-note { font-size:1.05rem; }


/* v10.7.1 Kindergarten audio-first phonics */
.k-phonics-card{max-width:880px;margin:0 auto;text-align:center}
.k-audio-banner{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.35rem;margin-bottom:18px;color:#17315b}
.k-audio-icon{font-size:2rem}
.k-short-prompt{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.2;margin:10px 0 24px}
.k-phonics-grid{grid-template-columns:repeat(2,minmax(150px,1fr));gap:18px}
.k-phonics-choice{min-height:118px;font-size:2.6rem;border-radius:24px;display:flex;align-items:center;justify-content:center;gap:12px}
.k-choice-symbol{font-size:3.5rem;font-weight:800}
.k-choice-picture{font-size:4.2rem;line-height:1}
.k-choice-speaker{font-size:1.7rem}
.k-lead-visual{font-size:6rem;font-weight:900;color:#1c4f96;margin:8px auto 16px}
.k-confirm-choice{margin:20px auto 0;min-width:210px;font-size:1.25rem}
.picture-audio-choice.selected{outline:6px solid #36c96b;outline-offset:3px}
@media (max-width:650px){.k-phonics-grid{grid-template-columns:repeat(2,1fr)}.k-phonics-choice{min-height:100px}.k-choice-symbol{font-size:3rem}}

/* ===== Universal Drag, Drop & Sorting Engine · v10.8 ===== */
.sorting-card { width:100%; }
.sort-instruction { display:flex; align-items:center; justify-content:center; gap:12px; font-size:1.1rem; margin-bottom:16px; }
.sort-instruction > span { font-size:2rem; }
.sort-instruction p { margin:0; }
.sort-item-bank { min-height:150px; display:flex; flex-wrap:wrap; gap:14px; justify-content:center; align-items:center; padding:18px; border:2px dashed rgba(60,115,195,.35); border-radius:20px; background:rgba(238,246,255,.6); }
.sort-item { min-width:112px; min-height:112px; padding:10px; border:3px solid #d5e4f7; border-radius:18px; background:#fff; color:#102c55; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; cursor:grab; box-shadow:0 5px 12px rgba(20,55,100,.10); touch-action:manipulation; }
.sort-item:active { cursor:grabbing; }
.sort-item.selected { border-color:#ffd34d; box-shadow:0 0 0 5px rgba(255,211,77,.28), 0 8px 18px rgba(20,55,100,.16); transform:translateY(-2px); }
.sort-item-visual { width:74px; height:62px; display:flex; align-items:center; justify-content:center; }
.sort-object-image { max-width:74px; max-height:62px; object-fit:contain; }
.sort-item .object-emoji { font-size:3rem; }
.sort-bins { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:20px; }
.sort-bin { min-height:150px; padding:18px; border:3px solid #8ab3e5; border-radius:22px; background:#f4f9ff; color:#102c55; text-align:center; transition:.18s ease; }
.sort-bin.ready { border-style:dashed; }
.sort-bin.drag-over { border-color:#2f79ef; background:#e8f2ff; transform:scale(1.015); box-shadow:0 0 0 5px rgba(47,121,239,.13); }
.sort-bin.wrong-drop { border-color:#e45a62; animation:sortShake .32s linear 1; }
.sort-bin-icon { display:block; font-size:2.5rem; margin-bottom:4px; }
.sort-bin > strong { display:block; font-size:1.25rem; }
.sort-bin-count { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; margin:8px auto; border-radius:999px; background:#183d70; color:white; font-weight:800; }
.sort-bin-items { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.sort-bin-items span { padding:5px 8px; border-radius:10px; background:#dff4e7; font-size:.82rem; }
.sort-complete-mark { font-size:1.35rem; font-weight:800; color:#247144; }
@keyframes sortShake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-7px)} 75%{transform:translateX(7px)} }
@media (max-width:720px) { .sort-bins{grid-template-columns:1fr}.sort-item{min-width:96px;min-height:96px}.sort-item-bank{padding:12px} }


/* v10.8.2 semantic manipulative counting */
.counting-manipulative-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin:18px auto 28px;max-width:900px}
.counting-manipulative{appearance:none;border:3px solid transparent;background:transparent;border-radius:50%;padding:6px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease;min-width:86px;min-height:86px;font-size:54px}
.counting-manipulative img{display:block;width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.22))}
.counting-manipulative:hover,.counting-manipulative:focus-visible{transform:scale(1.06);border-color:#62b5ff}
.counting-manipulative.counted{border-color:#4bd37b;background:rgba(75,211,123,.12);transform:scale(.94)}
@media(max-width:640px){.counting-manipulative-grid{gap:10px}.counting-manipulative img{width:72px;height:72px}.counting-manipulative{min-width:70px;min-height:70px}}

/* v10.8.3 — Step 5 semantic QA details */
.qa-ready.fail .qa-detail-list{margin-top:12px;display:grid;gap:8px;text-align:left}
.qa-ready.fail .qa-detail-item{display:grid;gap:3px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.55);border:1px solid rgba(160,20,20,.18)}
.qa-ready.fail .qa-detail-item strong{font-size:.86rem;text-transform:capitalize}
.qa-ready.fail .qa-detail-item span{font-size:.92rem;font-weight:600}
#stageReady .success-card .success-icon{transition:background-color .2s ease}

/* v10.8.5 — Pedagogical Counting Sequence Engine */
.counting-teach-card h3,.counting-guided-card h3{margin-bottom:18px}
.counting-model-row{display:grid;grid-template-columns:minmax(180px,1fr) 56px minmax(120px,auto);align-items:center;gap:18px;padding:16px 18px;margin:12px auto;max-width:760px;border:1px solid rgba(130,180,255,.28);border-radius:18px;background:rgba(255,255,255,.035)}
.counting-model-row>strong{font-size:34px;color:#fff;text-align:center}
.counting-model-row>span{font-size:20px;color:#dce9ff}
.counting-demo-grid{display:flex;justify-content:center;gap:14px;align-items:center;min-height:116px}
.counting-demo-item,.counting-guided-item{appearance:none;border:3px solid transparent;background:transparent;border-radius:50%;padding:6px;min-width:92px;min-height:92px;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.counting-demo-item{pointer-events:none}
.counting-demo-item img,.counting-guided-item img{display:block;width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.22))}
.counting-demo-item.counted,.counting-guided-item.counted{border-color:#4bd37b;background:rgba(75,211,123,.14);box-shadow:0 0 0 5px rgba(75,211,123,.12);transform:scale(.95)}
.counting-guided-item{cursor:pointer}
.counting-guided-item:hover,.counting-guided-item:focus-visible{transform:scale(1.06);border-color:#62b5ff}
.guided-count-status{margin:10px auto 18px;padding:12px 18px;max-width:520px;border-radius:14px;background:rgba(75,211,123,.1);font-size:21px;font-weight:700;color:#eaffef;text-align:center}
@media(max-width:700px){.counting-model-row{grid-template-columns:1fr}.counting-model-row>span{text-align:center}.counting-demo-item img,.counting-guided-item img{width:76px;height:76px}.counting-demo-item,.counting-guided-item{min-width:72px;min-height:72px}}

/* v10.8.9 Shape Interaction Engine */
.shape-engine-wrap{display:grid;gap:1rem;justify-items:center}.shape-interactive-svg{width:min(360px,80vw);height:auto;overflow:visible}.shape-base{fill:#eb72bb;stroke:#fff;stroke-width:4}.shape-side{stroke:#fff;stroke-width:8;stroke-linecap:round;cursor:pointer;transition:stroke .18s,filter .18s}.shape-side.counted{stroke:#4bd37b;filter:drop-shadow(0 0 7px rgba(75,211,123,.75))}.shape-vertex{fill:#fff;stroke:#eb72bb;stroke-width:2}.shape-vertex.counted{fill:#4bd37b}.shape-status{font-weight:800;min-height:1.5rem}.shape-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:12px;width:min(560px,100%)}.shape-choice-grid .choice-btn{min-height:74px;font-size:1.35rem}.color-swatch-label{font-weight:900;text-transform:capitalize}

/* v10.8.9 cross-curricular paired visuals */
.paired-learning-visual{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.paired-learning-visual>div{display:grid;justify-items:center;gap:6px}.letter-pair-learning-image{max-width:240px;max-height:180px;object-fit:contain}.paired-example-image{max-width:180px;max-height:160px;object-fit:contain}.paired-learning-visual small{font-size:1rem;font-weight:800}

.color-swatch-grid{display:grid;grid-template-columns:repeat(3,minmax(92px,140px));gap:18px;justify-content:center;margin:18px auto}.color-swatch-btn{width:120px;height:120px;border:6px solid #fff;border-radius:24px;box-shadow:0 4px 0 rgba(0,0,0,.18);cursor:pointer}.color-swatch-btn.correct{outline:7px solid #4bd37b}.color-swatch-btn.wrong{opacity:.45;outline:6px solid #d95b5b}@media(max-width:600px){.color-swatch-grid{grid-template-columns:repeat(3,1fr)}.color-swatch-btn{width:86px;height:86px}}

.spelling-slots{display:flex;justify-content:center;gap:10px;margin:18px 0}.spelling-slots span{width:48px;height:56px;border-bottom:5px solid currentColor;display:grid;place-items:center;font-size:1.65rem;font-weight:900}.spelling-tile-bank{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.spelling-letter-tile{min-width:58px;min-height:58px;border:3px solid #9fb9e8;border-radius:14px;background:#fff;color:#14275d;font-size:1.55rem;font-weight:900;cursor:pointer}.spelling-letter-tile.correct{border-color:#4bd37b;background:#e9fff0}.spelling-letter-tile.wrong{border-color:#d95b5b;background:#fff0f0}.vocab-picture-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:18px;max-width:650px;margin:20px auto}.vocab-picture-choice{min-height:180px;border:4px solid #9fb9e8;border-radius:18px;background:#fff;cursor:pointer;padding:12px}.vocab-picture-choice.correct{border-color:#4bd37b}.vocab-picture-choice.wrong{opacity:.5;border-color:#d95b5b}.vocab-choice-image{width:100%;height:150px;object-fit:contain}@media(max-width:650px){.vocab-picture-grid{grid-template-columns:1fr}.vocab-picture-choice{min-height:140px}.vocab-choice-image{height:120px}}

/* v10.9.2 interactive geography maps */
.interactive-map-shell{width:100%;border:1px solid rgba(148,163,184,.35);border-radius:18px;overflow:hidden;background:#fff;min-height:480px}
.lesson-map-frame{display:block;width:100%;height:560px;border:0;background:#fff}
.map-learning-card{max-width:1100px;margin:0 auto}
@media (max-width:700px){.interactive-map-shell{min-height:360px}.lesson-map-frame{height:420px}}

/* v10.9.3 interactive map response */
.map-selection-feedback{display:flex;flex-direction:column;gap:4px;margin:12px auto 6px;padding:12px 16px;max-width:760px;border:1px solid rgba(120,170,230,.45);border-radius:14px;background:rgba(17,61,111,.65);text-align:center}.map-selection-feedback strong{font-size:1.05rem}.map-selection-feedback span{opacity:.86}.lesson-map-frame{pointer-events:auto}

.geography-map-choice{margin-top:12px;padding:14px;border:1px solid #315887;border-radius:14px;background:#0f2f59;color:#fff}.geography-map-choice strong{display:block;margin-bottom:10px}.geography-map-choice>div{display:flex;gap:10px;flex-wrap:wrap}.geography-map-choice small{display:block;margin-top:8px;color:#dbeafe}
/* v10.9.8 interaction repairs */
.onboarding-card{position:relative}.onboarding-cancel-top{position:absolute;left:18px;top:14px;z-index:3}.onboarding-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.onboarding-actions .btn.primary{flex:1}.spelling-floating-clues{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:18px 0 10px}.spelling-floating-clues .clue-letter{font-size:2rem;min-width:64px;box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-4px)}.spelling-missing-word{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:2.2rem;font-weight:900;letter-spacing:.04em;margin:20px auto}.missing-letter-input{width:52px;height:58px;text-align:center;font-size:2rem;font-weight:900;border:3px solid #2b67b1;border-radius:10px;text-transform:uppercase}.given-letter{min-width:34px;text-align:center}.spelling-question-mark{font-size:5rem}.column-math{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:3rem;font-weight:900;text-align:right;width:max-content;min-width:260px;margin:22px auto;line-height:1.15}.column-math>div:nth-child(2){display:flex;justify-content:space-between;gap:30px}.column-math hr{border:0;border-top:5px solid currentColor;margin:8px 0}.math-answer-input{display:block;margin:15px auto;width:220px;font-size:2rem;text-align:center;padding:10px;border-radius:12px;border:2px solid #567}

/* v10.9.9 — Mr. P Helper Character Engine */
.teacher-column{display:grid;gap:14px;align-content:start}.helper-card{border:1px solid rgba(151,192,246,.17);border-radius:14px;padding:16px;text-align:center;background:linear-gradient(145deg,#173d78,#0b2b5e);color:#fff;box-shadow:0 12px 26px rgba(0,7,29,.18)}.helper-card.hidden{display:none}.helper-avatar{height:165px;display:grid;place-items:end center;overflow:hidden;border-radius:12px;background:rgba(255,255,255,.08);margin-bottom:8px}.helper-avatar img{max-width:100%;max-height:165px;object-fit:contain;display:block}.helper-card strong{font-size:1.05rem}.helper-card p{margin:.45rem 0 0;color:#dcecff;font-size:.92rem;line-height:1.35}.mrp-avatar img{max-width:100%;max-height:240px;object-fit:contain}.helper-character-chip{display:inline-flex;gap:6px;align-items:center}


/* v10.9.12 — secure Mr. P voice settings */
.voice-settings-panel{max-width:920px}
.voice-settings-notice{margin:14px 0 6px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc;color:var(--ink)}
.voice-settings-notice.success{background:#e7f7ef;color:#227454;border-color:#b8e3cc}
.voice-settings-notice.error{background:#fff0f0;color:#9b2d2d;border-color:#efbcbc}
.voice-settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.voice-security-note{margin-top:18px;padding:12px 14px;border-radius:10px;background:#eef0ff;color:var(--navy);font-size:13px;line-height:1.5}
.voice-security-note code{font-weight:800}
@media(max-width:700px){.voice-settings-actions{flex-direction:column}.voice-settings-actions .btn{width:100%}}

/* v10.9.13 voice backend diagnostics */
.voice-server-diagnostics{display:grid;gap:8px;margin:14px 0 4px}
.voice-server-diagnostics:empty{display:none}
.voice-diagnostic-row{display:flex;justify-content:space-between;gap:18px;padding:10px 14px;border-radius:12px;background:rgba(7,31,71,.28);border:1px solid rgba(134,184,255,.2)}
.voice-diagnostic-row b.ok{color:#78e6a5}.voice-diagnostic-row b.bad{color:#ff9b9b}
.voice-diagnostic-help{margin:2px 0 0;padding:10px 14px;border-radius:10px;background:rgba(255,211,93,.12);color:#ffe79a}


/* ===== v11.0.0 Account Roles, Dashboards & Student Player ===== */
.role-hidden{display:none!important}
.role-badge{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.35rem .55rem;border-radius:999px;background:rgba(95,161,255,.14);color:#bcd8ff}
.auth-gate{position:fixed;inset:0;z-index:10000;background:rgba(3,12,25,.96);display:grid;place-items:center;padding:20px;overflow:auto}
.auth-gate.hidden{display:none}
.auth-shell{width:min(760px,100%);background:#0b1f3a;border:1px solid rgba(130,180,255,.28);border-radius:24px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.4)}
.auth-brand{display:flex;gap:18px;align-items:center;margin-bottom:18px}
.auth-brand img{width:86px;height:86px;object-fit:contain}
.auth-brand h1{margin:.15rem 0}
.auth-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.auth-tabs button{border:1px solid rgba(130,180,255,.2);background:#102947;color:#d8e9ff;border-radius:999px;padding:9px 13px;cursor:pointer}
.auth-tabs button.active{background:#2974d7;color:#fff}
.auth-panel{display:grid;gap:14px}
.auth-panel.hidden{display:none}
.auth-panel label{display:grid;gap:6px;font-weight:700}
.auth-panel input,.auth-panel select{width:100%;box-sizing:border-box;border:1px solid #34567b;border-radius:12px;background:#07182d;color:#fff;padding:12px}
.auth-notice{min-height:22px;margin:8px 0;color:#c8daf1}
.auth-notice.error{color:#ff9e9e}
.space-code-card{background:#0e2b4f;border:1px solid #315f92;border-radius:16px;padding:12px 18px;text-align:center}
.space-code-card small{display:block;color:#9bb7d6}
.space-code-card strong{font-size:1.6rem;letter-spacing:.18em}
.progress-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.progress-card{border:1px solid rgba(125,172,229,.2);border-radius:16px;padding:16px;background:rgba(10,35,65,.38);display:grid;gap:10px}
.progress-card>div{display:flex;align-items:baseline;gap:8px}
.progress-card>div span{font-size:1.35rem;font-weight:800}
.progress-card small{color:#a9bfd8}
.dashboard-student-list{display:grid;gap:16px}
.dashboard-student-card{border:1px solid rgba(125,172,229,.22);border-radius:18px;padding:16px;background:rgba(7,27,50,.42)}
.dashboard-student-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.dashboard-student-head small{display:block;color:#a9bfd8}
.student-permission-toggle{display:flex!important;gap:8px;align-items:center;margin:8px 0}
.student-login-note{font-size:.88rem;color:#a9bfd8;margin:8px 0 12px}
.student-queue{display:grid;gap:8px}
.queue-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border-radius:12px;padding:10px;background:#0b213c}
.queue-row.completed{opacity:.72}
.queue-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1f5b9f;font-weight:800}
.queue-row small{display:block;color:#a9bfd8}
.queue-actions{display:flex;align-items:center}
.dashboard-add-student{margin-top:20px;border-top:1px solid rgba(125,172,229,.18);padding-top:18px}
.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.checkbox-label{align-content:end}
.assignment-panel{margin-top:16px;padding:16px;border-radius:16px;border:1px solid rgba(125,172,229,.22);background:#0a213d;display:grid;grid-template-columns:1fr minmax(160px,240px) auto;gap:12px;align-items:center}
.assignment-panel select{width:100%;padding:11px;border-radius:10px;background:#06192e;color:#fff;border:1px solid #34567b}
.student-player-shell{max-width:780px;margin:30px auto;padding:20px}
.student-player-hero{display:flex;gap:18px;align-items:center;background:#0c2747;border:1px solid rgba(125,172,229,.22);border-radius:22px;padding:20px}
.student-player-hero img{width:110px;height:110px;object-fit:contain}
.student-lesson-queue{display:grid;gap:12px;margin:18px 0}
.student-lesson-row{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:16px;border-radius:16px;background:#0a213d;border:1px solid rgba(125,172,229,.18)}
.student-lesson-row>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#2668af;font-weight:900}
.student-lesson-row small{display:block;color:#a9bfd8;margin-top:3px}
.student-all-done{padding:26px;text-align:center;border:1px dashed #41698f;border-radius:18px;color:#d6e7fa}
.student-player-actions{display:flex;gap:10px;flex-wrap:wrap}
body[data-role="student"] #teacherDashboardBtn,
body[data-role="student"] #manageStudentsBtn,
body[data-role="student"] #openSettingsBtn,
body[data-role="student"] #headerLibraryBtn{display:none!important}
body[data-role="student"] .learner-roster-panel{display:none}
body[data-role="parent"] #headerLibraryBtn,
body[data-role="teacher"] #headerLibraryBtn,
body[data-role="parent"] #openSettingsBtn,
body[data-role="teacher"] #openSettingsBtn{display:none!important}

@media(max-width:760px){
  .form-grid.four{grid-template-columns:1fr 1fr}
  .assignment-panel{grid-template-columns:1fr}
  .dashboard-student-head{align-items:flex-start}
}
@media(max-width:520px){
  .auth-shell{padding:16px;border-radius:18px}
  .auth-brand{align-items:flex-start}
  .auth-brand img{width:70px;height:70px}
  .form-grid.four{grid-template-columns:1fr}
  .queue-row{grid-template-columns:32px 1fr}.queue-actions{grid-column:2}
}

/* v11.1.1 child-first Weather lesson interactions */
.weather-kid-fact{font-size:1.12rem;line-height:1.5;max-width:760px;margin:12px auto}
.weather-action-question{margin:18px auto 10px;font-size:1.35rem}
.weather-first-interaction{margin-top:12px}
.weather-teach-card .choice-btn,.weather-guided-card .choice-btn{min-height:74px;font-size:1.08rem}
@media(max-width:640px){
  .weather-teach-card .choice-grid,.weather-guided-card .choice-grid{grid-template-columns:1fr}
}

/* ===== v11.2.0 Platform-Wide Child-First Teaching Dialogue Engine ===== */
.child-first-card .object-visual{margin-bottom:10px}
.child-first-teach-line{max-width:780px;margin:8px auto 12px;font-size:1.08rem;line-height:1.45}
.child-first-question{max-width:800px;margin:14px auto 10px;font-size:1.35rem}
.child-first-choice-grid{margin-top:12px}
.child-first-choice{min-height:70px;font-size:1.08rem}
.child-first-visual-hint{font-size:1.6rem;font-weight:900;letter-spacing:.04em;margin:6px auto 10px}
body[data-role="student"] .child-first-choice{cursor:pointer}
@media(max-width:640px){
  .child-first-choice-grid{grid-template-columns:1fr}
  .child-first-choice{min-height:66px}
}

/* ===== v11.2.1 Visual-Truth Engine ===== */
.visual-truth-clock{display:grid;place-items:center;margin:8px auto 14px}
.visual-truth-clock>div{margin-bottom:0!important}
.visual-truth-math{justify-content:center;align-items:center}
.visual-truth-math .math-group{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.visual-truth-math .truth-focus{transform:scale(1.06);box-shadow:0 0 0 4px rgba(255,214,65,.45);border-color:#ffd641}
.visual-truth-equation{font-size:1.5rem;font-weight:900;text-align:center;margin-top:10px}
.visual-truth-blocked{max-width:720px;margin:40px auto;padding:24px;border-radius:18px;border:2px solid #ef5350;background:#321c24;color:#fff;display:grid;gap:8px;text-align:center}
.visual-truth-blocked strong{font-size:1.3rem}

/* v11.4.0 Language Arts Core */
.language-arts-core-card .object-visual img{max-height:300px;object-fit:contain}
.language-arts-core-card .reading-passage{font-size:1.05rem;line-height:1.55;max-width:820px;margin:12px auto}
.language-arts-core-card .activity-prompt{font-size:1.25rem;font-weight:800}

/* ===== v11.5.0 NGSS Science Core ===== */
.science-core-card .object-visual img{max-height:310px;object-fit:contain}
.science-phenomenon{max-width:820px;margin:10px auto;font-size:1.08rem;line-height:1.55}

/* v11.5.1 Grade-Aware Library-Driven Teaching Engine */
#teacherInput.grade-first-error{outline:3px solid #ff5a5f!important;box-shadow:0 0 0 5px rgba(255,90,95,.18)}
.math-strategy-badge{display:inline-flex;padding:7px 12px;border-radius:999px;font-weight:800;background:#e7f1ff;color:#153e68;margin:7px auto 14px}
.vertical-math-model{display:inline-grid;gap:4px;padding:18px 24px;margin:12px auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2rem}
.math-place-row{display:flex;justify-content:flex-end;position:relative}.math-place-cell{display:inline-grid;place-items:center;min-width:42px;min-height:48px;border-radius:8px}
.math-focus-place{background:#fff1a8;box-shadow:0 0 0 3px #ffd23f}.math-op{position:absolute;left:-30px;bottom:4px}.math-column-line{height:4px;background:currentColor;border-radius:4px}
.grade-math-teach{max-width:800px;margin:8px auto 12px;line-height:1.5}


/* ===== v11.5.2 Step-by-Step Procedural Math ===== */
.procedural-math-card{max-width:920px;margin:0 auto}
.procedural-math-workspace{width:min(780px,96%);margin:16px auto 20px;padding:18px 22px;border:2px solid rgba(130,170,210,.38);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(10,40,80,.12)}
.procedure-place-row,.procedure-number-row,.procedure-carry-row,.procedure-answer-row{display:grid;grid-template-columns:84px repeat(var(--procedure-cols,6),minmax(48px,1fr));align-items:center;gap:5px}
.procedural-math-workspace .procedure-place-row,.procedural-math-workspace .procedure-number-row,.procedural-math-workspace .procedure-carry-row,.procedural-math-workspace .procedure-answer-row{grid-template-columns:84px repeat(auto-fit,minmax(48px,1fr))}
.procedure-cell{display:grid;place-items:center;min-height:48px;border-radius:9px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.9rem;font-weight:850;transition:.18s ease}
.procedure-place-label{font-family:inherit;font-size:.72rem;font-weight:800;color:#5b7188;min-height:30px}
.procedure-number-cell{color:#152f4c}
.procedure-carry-cell,.procedure-borrow-cell{font-size:1.05rem;color:#b04f00;min-height:38px;background:#fff4d8}
.procedure-answer-cell{color:#0c6d42;background:#edf9f2;border:1px dashed #8bc7a6}
.procedure-filled-cell{font-weight:950}
.procedure-focus-cell{background:#ffe99a!important;box-shadow:0 0 0 4px rgba(255,196,0,.35);transform:scale(1.04)}
.procedure-row-name{font-size:.74rem;font-weight:850;color:#6a7d90;text-align:right;padding-right:10px;text-transform:uppercase}
.procedure-operation{font-size:2rem;color:#173c68}
.procedure-rule{height:4px;background:#193a5d;border-radius:8px;margin:4px 0 6px 84px}
.procedure-progress{text-align:center;font-weight:850;color:#58708a;margin:4px 0}
.procedure-explanation{font-size:1.08rem;line-height:1.58;max-width:800px;margin:12px auto}
.procedure-success{margin:12px auto;padding:12px 16px;border-radius:14px;background:#edf9f2;border:1px solid #9bd2b2;font-weight:900;color:#145d3e;max-width:800px}
.procedure-regroup-callout{margin:10px auto;padding:10px 14px;border-radius:12px;background:#fff4d8;border:1px solid #edc46a;font-weight:850;color:#754d00;max-width:720px}
.procedure-final-answer{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.65rem;font-weight:950;text-align:center;margin:16px auto}
@media(max-width:650px){
  .procedural-math-workspace{padding:12px 8px}
  .procedure-cell{font-size:1.35rem;min-height:42px;min-width:34px}
  .procedure-place-label{font-size:.58rem}
  .procedure-row-name{font-size:.58rem;padding-right:4px}
  .procedure-rule{margin-left:54px}
  .procedure-place-row,.procedure-number-row,.procedure-carry-row,.procedure-answer-row{grid-template-columns:54px repeat(auto-fit,minmax(34px,1fr))}
}


/* ===== v11.5.3 Pre-Marketing Stabilization: first-run parent guidance ===== */
.first-run-onboarding{position:fixed;inset:0;z-index:12000;background:rgba(4,20,46,.88);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;overflow:auto}.first-run-onboarding.hidden{display:none}.first-run-card{width:min(860px,100%);background:#0e315f;color:#fff;border:1px solid rgba(130,184,255,.35);border-radius:26px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.first-run-head{display:flex;gap:18px;align-items:center}.first-run-head img{width:92px;height:92px;object-fit:cover;border-radius:20px;background:#21c96b}.first-run-head h2{font-size:2rem;margin:.15rem 0}.first-run-head p{color:#c9dcf3;margin:0}.first-run-progress{display:flex;align-items:center;justify-content:center;margin:24px 0}.first-run-progress span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#214b7d;border:2px solid #5b8bc5;font-weight:900}.first-run-progress span.active,.first-run-progress span.complete{background:#2f80ed;border-color:#77b5ff}.first-run-progress span.complete{background:#26a96c}.first-run-progress i{height:3px;width:90px;background:#315985}.first-run-step h3{font-size:1.45rem;margin:0 0 6px}.first-run-callout{background:#f3f8ff;color:#173557;border-radius:16px;padding:16px 18px;margin:16px 0;border:1px solid #b9d3f1}.first-run-callout.small{font-size:.95rem}.first-run-callout p{margin:.35rem 0 0;line-height:1.55}.first-run-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px}.first-run-inline-notice{min-height:24px;margin-top:10px;color:#ffd979}.onboarding-child-grid input,.onboarding-child-grid select,.first-run-card input,.first-run-card select{background:#fff;color:#10233b}.getting-started-coach{position:fixed;right:18px;bottom:18px;z-index:9000;width:min(390px,calc(100vw - 36px));background:#fff;color:#173557;border:3px solid #ffd447;border-radius:20px;padding:18px 44px 18px 18px;box-shadow:0 18px 45px rgba(0,0,0,.25)}.getting-started-coach.hidden{display:none}.getting-started-coach strong{display:block;font-size:1.2rem;margin:.15rem 0 .35rem}.getting-started-coach p{margin:0 0 12px;line-height:1.45}.coach-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:1.4rem;color:#557;cursor:pointer}.getting-started-coach .btn{width:100%}.onboarding-highlight{animation:onboardingPulse 1.05s ease-in-out infinite alternate;outline:4px solid #ffd447!important;outline-offset:3px}@keyframes onboardingPulse{from{box-shadow:0 0 0 rgba(255,212,71,0)}to{box-shadow:0 0 24px rgba(255,212,71,.75)}}
@media(max-width:760px){.first-run-card{padding:20px 16px}.first-run-head{align-items:flex-start}.first-run-head img{width:68px;height:68px}.first-run-head h2{font-size:1.45rem}.first-run-progress i{width:48px}.first-run-actions{flex-direction:column-reverse;align-items:stretch}.first-run-actions .btn{width:100%}.getting-started-coach{left:12px;right:12px;bottom:12px;width:auto}.topbar-actions #gettingStartedBtn{display:none}}


/* Cross-device Mr. P voice unlock prompt — Android + Apple Safari */
.mrp-voice-unlock-prompt{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:rgba(15,23,42,.28);backdrop-filter:blur(2px)}
.mrp-voice-unlock-card{width:min(520px,calc(100vw - 28px));background:#fff;border:3px solid #4f46e5;border-radius:22px;padding:18px;box-shadow:0 18px 50px rgba(15,23,42,.28);display:grid;gap:10px;text-align:center}
.mrp-voice-unlock-card strong{font-size:1.2rem;color:#312e81}.mrp-voice-unlock-card span{color:#475569;line-height:1.4}.mrp-voice-unlock-card button{min-height:50px;border:0;border-radius:14px;background:#4f46e5;color:#fff;font-weight:800;font-size:1rem;padding:12px 18px;cursor:pointer;touch-action:manipulation}
@media (min-width:700px){.mrp-voice-unlock-prompt{align-items:center}}

/* ===== Patch 004: Admin account management + global interaction polish ===== */
.admin-account-panel{margin-top:18px}
.admin-account-heading{gap:18px;align-items:flex-start}
.admin-account-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.admin-account-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 18px}
.admin-summary-card{background:linear-gradient(145deg,#fff,#f5f8ff);border:1px solid #dfe6f5;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 5px 14px rgba(30,55,90,.06)}
.admin-summary-card strong{font-size:1.8rem;color:#263a69}.admin-summary-card span{font-size:.85rem;color:#667085;font-weight:700}
.admin-account-toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.admin-account-search{min-width:min(100%,360px);font-weight:700;color:#344054}.admin-account-search input{display:block;width:100%;margin-top:6px}
.admin-account-table-wrap{overflow:auto;border:1px solid #e3e8f3;border-radius:14px;background:#fff}
.admin-account-table{width:100%;border-collapse:collapse;min-width:820px}.admin-account-table th,.admin-account-table td{text-align:left;padding:13px 14px;border-bottom:1px solid #edf0f5;vertical-align:top}.admin-account-table th{background:#f7f9fc;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#667085}.admin-account-table td strong{display:block}.admin-account-table td small{display:block;color:#667085;margin-top:3px}.admin-role-pill{display:inline-block;border-radius:999px;background:#eef2ff;color:#4254a6;padding:5px 9px;font-size:.72rem;font-weight:800}.admin-student-mini-list{display:flex;flex-direction:column;gap:4px;margin-top:7px;font-size:.82rem;color:#475467}.admin-account-table details summary{cursor:pointer;color:#5266c9;font-size:.8rem;margin-top:4px}.admin-billing-note{margin-top:14px;border:1px dashed #bdc8e8;background:#f8faff;border-radius:12px;padding:12px 14px;display:flex;gap:10px;flex-wrap:wrap}.admin-billing-note strong{color:#334b86}.admin-billing-note span{color:#667085}

.voice-answer-btn{background:#fff4d9!important;border:2px solid #ffb400!important;color:#5b3a00!important;font-weight:800!important}.voice-answer-btn.cue-pulse{box-shadow:0 0 0 6px rgba(255,180,0,.18),0 0 28px rgba(255,180,0,.45)}
.child-first-spoken-choice{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fffaf0;border:1px solid #ffe0a1;color:#6f4a00;font-weight:700}
.reading-evidence-box{margin-top:12px;padding:12px;border-radius:12px;background:#f7fbff;border:1px solid #cfe5ff}.reading-evidence-box strong{display:block;margin-bottom:5px;color:#24517a}
.vocab-definition{font-size:1.08rem;line-height:1.55}.vocab-model-sentence{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f7f5ff;border-left:4px solid #7b68ee}
.math-partial-step{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:12px 0;padding:12px;border-radius:12px;background:#f7fbff;border:1px solid #dcecff}.math-partial-step b{font-size:1.15rem;color:#244d7f}
@media(max-width:800px){.admin-account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-account-actions{justify-content:flex-start}.admin-account-toolbar{align-items:stretch}.admin-account-search{width:100%;min-width:0}}
@media(max-width:480px){.admin-account-summary{grid-template-columns:1fr 1fr}.admin-summary-card{padding:12px}.admin-summary-card strong{font-size:1.45rem}}
/* ==========================================================================
   006U — AUTHORITATIVE CHILD EXPERIENCE VISUAL LAYER
   Purpose:
   - Give 006T experience families genuinely different learner-facing layouts.
   - Keep specialized engines (phonics, sorting, math, maps, reading, etc.) intact.
   - Fix legacy var(--primary) references without rewriting historical CSS.
   - This block intentionally lives LAST so it is the final source of truth.
   ========================================================================== */

:root{
  /* Legacy compatibility: several older activity rules still reference --primary. */
  --primary:var(--blue);
  --experience-border:rgba(149,194,255,.26);
  --experience-surface:linear-gradient(145deg,#123a78,#0a285b);
  --experience-soft:rgba(255,255,255,.055);
}

/* Only the new child-first experience cards are affected by these layout rules. */
.child-first-card[data-experience-style]{
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:28px;
  border:1px solid var(--experience-border);
  background:var(--experience-surface);
}
.child-first-card[data-experience-style]::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.55;
}
.child-first-card[data-experience-style]>*{position:relative;z-index:1}

.child-first-card[data-experience-style] .phase-badge{
  margin:0 auto 18px;
  font-size:.82rem;
  letter-spacing:.07em;
}
.child-first-card[data-experience-style] .object-visual{
  animation:gentleFloat 2.5s ease-in-out infinite;
}
.child-first-card[data-experience-style] .object-visual img{
  width:auto;
  max-width:min(100%,560px);
  object-fit:contain;
}
.child-first-card[data-experience-style] .open-response-prompt{
  border:2px solid rgba(255,215,72,.28);
  border-radius:20px;
  padding:18px;
}
.child-first-card[data-experience-style] .open-response-mic{
  display:block;
  font-size:2.4rem;
  margin-bottom:5px;
}

/* ---------- LOOK / OBSERVE / NOTICE ----------
   Visual dominates. Mr. P becomes a narrower coach rail. */
.game-stage:has(.experience-look),
.game-stage:has(.experience-observe),
.game-stage:has(.experience-notice){
  grid-template-columns:235px minmax(0,1fr);
  align-items:start;
}
.experience-look,
.experience-observe,
.experience-notice{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:12px;
}
.experience-look::before,
.experience-observe::before,
.experience-notice::before{
  background:
    radial-gradient(circle at 50% 28%,rgba(70,197,255,.18),transparent 33%),
    linear-gradient(180deg,rgba(35,118,195,.08),transparent 55%);
}
.experience-look .object-visual,
.experience-observe .object-visual,
.experience-notice .object-visual{
  min-height:265px;
  display:grid;
  place-items:center;
  margin:0 auto 4px;
  font-size:8.5rem;
}
.experience-look .object-visual img,
.experience-observe .object-visual img,
.experience-notice .object-visual img{
  max-height:320px;
}
.experience-look .child-first-teach-line,
.experience-observe .child-first-teach-line,
.experience-notice .child-first-teach-line{
  max-width:760px;
  font-size:1.12rem;
}
.experience-look .child-first-question,
.experience-observe .child-first-question,
.experience-notice .child-first-question{
  font-size:1.55rem;
}

/* ---------- CHOOSE ----------
   Choice cards become the visual focus instead of repeating a narration card. */
.game-stage:has(.experience-choose){grid-template-columns:270px minmax(0,1fr)}
.experience-choose{
  display:grid;
  grid-template-columns:minmax(210px,.78fr) minmax(300px,1.22fr);
  grid-template-areas:
    "badge badge"
    "visual question"
    "visual response"
    "teach teach"
    "feedback feedback"
    "note note";
  gap:14px 24px;
  align-items:center;
}
.experience-choose::before{
  background:radial-gradient(circle at 78% 38%,rgba(255,198,57,.14),transparent 34%);
}
.experience-choose .phase-badge{grid-area:badge}
.experience-choose .object-visual{grid-area:visual;font-size:7rem}
.experience-choose .object-visual img{max-height:260px}
.experience-choose .child-first-question{grid-area:question;text-align:left;font-size:1.55rem;margin:0}
.experience-choose .choice-grid,
.experience-choose .open-response-prompt{grid-area:response}
.experience-choose .child-first-teach-line{grid-area:teach;margin-top:4px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.05)}
.experience-choose #childFirstFeedback{grid-area:feedback}
.experience-choose .phase-note{grid-area:note}
.experience-choose .child-first-choice-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:0;
}
.experience-choose .child-first-choice{
  min-height:92px;
  border-radius:20px;
  font-size:1.14rem;
}

/* ---------- SAY IT ----------
   Voice/microphone area is central; image becomes supporting context. */
.game-stage:has(.experience-say){grid-template-columns:255px minmax(0,1fr)}
.experience-say{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(330px,1.3fr);
  gap:14px 24px;
  align-items:center;
}
.experience-say::before{
  background:radial-gradient(circle at 72% 55%,rgba(232,79,142,.16),transparent 36%);
}
.experience-say .phase-badge{grid-column:1/-1}
.experience-say .object-visual{grid-column:1;grid-row:2/5;font-size:6.4rem}
.experience-say .object-visual img{max-height:235px}
.experience-say .child-first-teach-line,
.experience-say .child-first-question,
.experience-say .open-response-prompt{grid-column:2;margin-left:0;margin-right:0}
.experience-say .child-first-question{text-align:left}
.experience-say .open-response-prompt{
  background:linear-gradient(135deg,rgba(255,244,217,.98),rgba(255,255,255,.98));
  color:#5b3a00;
  min-height:132px;
  display:grid;
  place-items:center;
}
.experience-say #childFirstFeedback,
.experience-say .phase-note{grid-column:1/-1}

/* ---------- QUICK CHALLENGE ----------
   Question first, compact visual second, high-contrast challenge workspace. */
.game-stage:has(.experience-challenge){grid-template-columns:230px minmax(0,1fr)}
.experience-challenge{
  border:2px solid rgba(255,199,57,.62)!important;
  background:
    linear-gradient(145deg,rgba(88,48,154,.98),rgba(18,48,109,.98))!important;
}
.experience-challenge::before{
  background:
    radial-gradient(circle at 12% 12%,rgba(255,213,65,.20),transparent 25%),
    radial-gradient(circle at 88% 15%,rgba(87,174,255,.16),transparent 28%);
}
.experience-challenge .child-first-question{
  font-size:clamp(1.55rem,2.5vw,2rem);
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  margin:2px auto 18px;
}
.experience-challenge .object-visual{
  min-height:190px;
  display:grid;
  place-items:center;
  font-size:6.5rem;
}
.experience-challenge .object-visual img{max-height:235px}
.experience-challenge .child-first-teach-line{font-size:1rem;color:#dfeaff}
.experience-challenge .open-response-prompt,
.experience-challenge .choice-grid{max-width:720px;margin:16px auto 0}

/* ---------- COMPARE ----------
   Wide analysis workspace; reserved for compare/contrast activities. */
.game-stage:has(.experience-compare){grid-template-columns:210px minmax(0,1fr)}
.experience-compare{
  min-height:540px;
  background:linear-gradient(145deg,#12385f,#13356f)!important;
}
.experience-compare::before{
  background:linear-gradient(90deg,rgba(20,174,180,.10) 0 49.8%,rgba(255,255,255,.13) 50%,rgba(122,77,232,.10) 50.2% 100%);
}
.experience-compare .child-first-question{
  font-size:1.65rem;
  margin-bottom:16px;
}
.experience-compare .object-visual{
  width:min(92%,760px);
  min-height:250px;
  margin:0 auto;
  padding:18px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:22px;
  background:rgba(255,255,255,.045);
  display:grid;
  place-items:center;
}
.experience-compare .object-visual img{max-height:275px}
.experience-compare .open-response-prompt{max-width:720px;margin:16px auto}

/* ---------- RECAP / EXPLAIN ----------
   Mr. P and the student's voice become primary; image is intentionally smaller. */
.game-stage:has(.experience-recap),
.game-stage:has(.experience-explain){
  grid-template-columns:330px minmax(0,1fr);
}
.experience-recap,
.experience-explain{
  min-height:500px;
  background:linear-gradient(145deg,#123b68,#0b3155)!important;
}
.experience-recap::before,
.experience-explain::before{
  background:radial-gradient(circle at 50% 58%,rgba(47,179,111,.15),transparent 40%);
}
.experience-recap .child-first-teach-line,
.experience-explain .child-first-teach-line{
  font-size:1.12rem;
  padding:14px 18px;
  border-radius:16px;
  background:rgba(255,255,255,.055);
}
.experience-recap .child-first-question,
.experience-explain .child-first-question{
  font-size:1.7rem;
}
.experience-recap .open-response-prompt,
.experience-explain .open-response-prompt{
  max-width:700px;
  min-height:145px;
  margin:18px auto;
  background:rgba(47,179,111,.10);
  border-color:rgba(91,225,151,.35);
}
.experience-recap .object-visual,
.experience-explain .object-visual{
  font-size:4.5rem;
  min-height:120px;
  margin-top:10px;
}
.experience-recap .object-visual img,
.experience-explain .object-visual img{
  max-height:150px;
}

/* ---------- MATCH ----------
   Interaction board takes priority over narration. */
.game-stage:has(.experience-match){grid-template-columns:220px minmax(0,1fr)}
.experience-match .choice-grid,
.experience-match .matching-board{
  width:min(920px,100%);
  margin:18px auto;
}

/* ---------- Geography / map workspace ----------
   A map should never be squeezed into the generic 320px + card geometry. */
.game-stage:has(.lesson-map-frame),
.game-stage:has(.geography-map-choice),
.game-stage:has(iframe[src*="assets/maps/"]){
  grid-template-columns:200px minmax(0,1fr);
}
.game-stage:has(.lesson-map-frame) .learning-card,
.game-stage:has(.geography-map-choice) .learning-card{
  max-width:none;
}
.lesson-map-frame{
  width:100%;
  min-height:460px;
  border-radius:20px;
  overflow:hidden;
  border:2px solid rgba(102,171,255,.34);
}
.lesson-map-frame iframe{width:100%;min-height:460px}

/* ---------- Spelling workspace ----------
   Keep picture clue and word construction dominant. */
.game-stage:has(.spelling-picture),
.game-stage:has(.spelling-missing-word){
  grid-template-columns:230px minmax(0,1fr);
}
.spelling-picture{min-height:220px}
.spelling-clue-image{max-height:300px}
.spelling-missing-word{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.055);
}

/* ---------- Anti-repetition polish ----------
   Distinct accent on each experience family without changing brand palette. */
.experience-look .phase-badge,
.experience-observe .phase-badge,
.experience-notice .phase-badge{background:linear-gradient(135deg,#168fbd,#1768e5)}
.experience-choose .phase-badge{background:linear-gradient(135deg,#f59a23,#d98214)}
.experience-say .phase-badge{background:linear-gradient(135deg,#e84f8e,#9f3ed2)}
.experience-challenge .phase-badge{background:linear-gradient(135deg,#ffc739,#f59a23);color:#3b2800}
.experience-compare .phase-badge{background:linear-gradient(135deg,#14aeb4,#7a4de8)}
.experience-recap .phase-badge,
.experience-explain .phase-badge{background:linear-gradient(135deg,#2fb36f,#168b70)}

/* Ensure generic historic rules cannot force every child-first visual to the same 100px emoji size. */
.child-first-card[data-experience-style] .object-visual{font-size:inherit}
.experience-look .object-visual,
.experience-observe .object-visual,
.experience-notice .object-visual{font-size:8.5rem}
.experience-choose .object-visual{font-size:7rem}
.experience-say .object-visual{font-size:6.4rem}
.experience-challenge .object-visual{font-size:6.5rem}
.experience-recap .object-visual,
.experience-explain .object-visual{font-size:4.5rem}

/* Mobile: preserve the identity of each experience without cramped split layouts. */
@media(max-width:900px){
  .game-stage:has(.experience-look),
  .game-stage:has(.experience-observe),
  .game-stage:has(.experience-notice),
  .game-stage:has(.experience-choose),
  .game-stage:has(.experience-say),
  .game-stage:has(.experience-challenge),
  .game-stage:has(.experience-compare),
  .game-stage:has(.experience-recap),
  .game-stage:has(.experience-explain),
  .game-stage:has(.experience-match),
  .game-stage:has(.lesson-map-frame),
  .game-stage:has(.geography-map-choice),
  .game-stage:has(iframe[src*="assets/maps/"]),
  .game-stage:has(.spelling-picture),
  .game-stage:has(.spelling-missing-word){
    grid-template-columns:1fr;
  }

  .child-first-card[data-experience-style]{
    min-height:0;
    padding:20px 15px;
  }

  .experience-choose,
  .experience-say{
    display:block;
  }
  .experience-choose>*,
  .experience-say>*{margin-top:12px}

  .experience-look .object-visual,
  .experience-observe .object-visual,
  .experience-notice .object-visual{min-height:210px}
  .experience-look .object-visual img,
  .experience-observe .object-visual img,
  .experience-notice .object-visual img{max-height:245px}

  .experience-choose .child-first-question,
  .experience-say .child-first-question{text-align:center}
  .experience-choose .child-first-choice-grid{grid-template-columns:1fr}

  .lesson-map-frame,
  .lesson-map-frame iframe{min-height:360px}
}

@media(max-width:560px){
  .child-first-card[data-experience-style] .child-first-question{font-size:1.35rem}
  .experience-look .object-visual,
  .experience-observe .object-visual,
  .experience-notice .object-visual{font-size:6.2rem}
  .experience-choose .object-visual{font-size:5.5rem}
  .experience-say .object-visual{font-size:5rem}
  .experience-challenge .object-visual{font-size:5rem}
  .experience-recap .object-visual,
  .experience-explain .object-visual{font-size:3.8rem}
}

/* End 006U authoritative visual layer */
