@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800;900&family=Hanken+Grotesk:ital,wght@0,400;0,500;0,700;1,400&display=swap";@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700;9..144,900&display=swap";#nsr-root,#nsr-root *{box-sizing:border-box}#nsr-root{--nsr-bg:#fff;--nsr-fg:#14233b;--nsr-muted:#4a5a72;--nsr-accent:#1d4ed8;--nsr-accent-fg:#fff;--nsr-ok:#15803d;--nsr-warn:#b45309;--nsr-err:#b91c1c;--nsr-border:#c9d4e5;--nsr-shadow:0 10px 30px #0a193240;--nsr-radius:14px;z-index:2147483000;color:var(--nsr-fg);flex-direction:column;align-items:flex-end;gap:8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4;display:flex;position:fixed;bottom:12px;right:6px}#nsr-workbench{color:#fff;cursor:pointer;box-shadow:var(--nsr-shadow);background:linear-gradient(135deg,#4f46e5,#0e8a7d);border:2px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:.68rem;font-weight:700;text-decoration:none;transition:transform .12s,filter .12s;display:inline-flex}#nsr-workbench:hover{filter:brightness(1.1)}#nsr-workbench:active{transform:translateY(1px)}#nsr-workbench:focus-visible{outline-offset:2px;outline:3px solid #f59e0b}.nsr-workbench-ico{font-size:.8rem}#nsr-launcher{background:var(--nsr-accent);color:var(--nsr-accent-fg);cursor:pointer;box-shadow:var(--nsr-shadow);border:2px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:.68rem;font-weight:700;transition:transform .12s,filter .12s;display:inline-flex}#nsr-launcher:hover{filter:brightness(1.05)}#nsr-launcher:active{transform:translateY(1px)}#nsr-launcher:focus-visible{outline-offset:2px;outline:3px solid #f59e0b}.nsr-launcher-ico{font-size:.8rem}.nsr-dot{background:#cbd5e1;border-radius:50%;width:8px;height:8px;display:inline-block}.nsr-dot-saving{background:#fbbf24}.nsr-dot-saved,.nsr-dot-saved-local{background:#34d399}.nsr-dot-offline{background:#f59e0b}.nsr-dot-error{background:#f87171}#nsr-panel{background:var(--nsr-bg);width:min(340px,100vw - 32px);max-height:min(78vh,640px);color:var(--nsr-fg);border:1px solid var(--nsr-border);border-radius:var(--nsr-radius);box-shadow:var(--nsr-shadow);padding:16px;display:none;position:absolute;bottom:98px;right:0;overflow:auto}#nsr-root.nsr-open #nsr-panel{display:block}#nsr-root.nsr-open #nsr-launcher{border-color:#f59e0b}.nsr-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.nsr-title{font-size:1.05rem}.nsr-x{cursor:pointer;color:var(--nsr-muted);background:0 0;border:none;border-radius:8px;padding:2px 8px;font-size:1.5rem;line-height:1}.nsr-x:hover{background:#eef2f8}.nsr-x:focus-visible{outline:3px solid var(--nsr-accent)}.nsr-status{color:var(--nsr-muted);margin:2px 0 10px;font-size:.92rem;font-weight:600}.nsr-lead{color:var(--nsr-fg);margin:0 0 10px;font-size:.95rem}.nsr-field{margin-bottom:10px;display:block}.nsr-field>span{color:var(--nsr-muted);margin-bottom:4px;font-size:.9rem;font-weight:600;display:block}.nsr-field input{border:1px solid var(--nsr-border);width:100%;color:var(--nsr-fg);background:#fbfcfe;border-radius:10px;padding:10px 12px;font-size:1rem}.nsr-field input:focus-visible{outline:3px solid var(--nsr-accent);outline-offset:1px}.nsr-btn{border:1px solid var(--nsr-border);width:100%;color:var(--nsr-fg);cursor:pointer;background:#f1f5fb;border-radius:10px;margin:6px 0;padding:11px 14px;font-size:1rem;font-weight:700;display:block}.nsr-btn:hover{filter:brightness(.98)}.nsr-btn:focus-visible{outline:3px solid var(--nsr-accent);outline-offset:1px}.nsr-btn-primary{background:var(--nsr-accent);color:var(--nsr-accent-fg);border-color:var(--nsr-accent)}.nsr-btn-ghost{color:var(--nsr-muted);background:0 0;border-color:#0000;text-decoration:underline}.nsr-or{text-align:center;color:var(--nsr-muted);margin:8px 0;font-size:.85rem}.nsr-err{color:var(--nsr-err);min-height:1em;margin:6px 0 0;font-size:.9rem;font-weight:600}.nsr-code{letter-spacing:2px;text-align:center;border:2px dashed var(--nsr-accent);color:var(--nsr-fg);-webkit-user-select:all;user-select:all;background:#eef4ff;border-radius:12px;margin:6px 0 10px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.6rem;font-weight:800}.nsr-code:focus-visible{outline:3px solid var(--nsr-accent)}.nsr-meta{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;display:grid}.nsr-meta dt{text-transform:uppercase;letter-spacing:.04em;color:var(--nsr-muted);font-size:.75rem;font-weight:700}.nsr-meta dd{word-break:break-word;margin:2px 0 0;font-size:.95rem}.nsr-foot{color:var(--nsr-muted);text-align:center;margin:10px 0 0;font-size:.8rem}.nsr-hint{color:var(--nsr-muted);margin:-2px 0 8px;font-size:.78rem;line-height:1.35}#nsr-toast{background:var(--nsr-fg);color:var(--nsr-bg);box-shadow:var(--nsr-shadow);opacity:0;pointer-events:none;border-radius:10px;max-width:min(320px,100vw - 32px);padding:10px 14px;font-size:.92rem;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:58px;right:0;transform:translateY(8px)}#nsr-toast.nsr-toast-show{opacity:1;transform:translateY(0)}@media (prefers-color-scheme:dark){#nsr-root{--nsr-bg:#0f1b2d;--nsr-fg:#eaf1fb;--nsr-muted:#a9b8cf;--nsr-border:#2b3a52;--nsr-accent:#2563eb}.nsr-field input{background:#16243a}.nsr-btn{background:#1b2c46}.nsr-code{background:#16243a}.nsr-x:hover{background:#1b2c46}}@keyframes nsr-saved-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes nsr-saved-ring{0%{box-shadow:var(--nsr-shadow), 0 0 0 0 #34d3998c}to{box-shadow:var(--nsr-shadow), 0 0 0 12px #34d39900}}.nsr-just-saved #nsr-launcher{animation:.5s nsr-saved-pop,.9s ease-out nsr-saved-ring}@media (pointer:coarse){#nsr-launcher{min-height:44px;padding:9px 15px;font-size:.9rem}.nsr-btn{min-height:44px}.nsr-x{min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){#nsr-launcher,#nsr-toast{transition:none}.nsr-just-saved #nsr-launcher{animation:none}}@media print{#nsr-root{display:none!important}}body:has(.bottom-status-bar) #nsr-root{bottom:96px}@media (width<=760px){img,svg,video,canvas,table,pre,input,select,textarea{max-width:100%}body{overflow-wrap:break-word;word-break:break-word}table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.topbar{flex-wrap:wrap;row-gap:8px}.topbar .level-selector{flex-wrap:wrap;row-gap:4px}.topbar .pill-group{flex-wrap:wrap}main.sheet{padding:28px 18px}}@media (width<=640px),(pointer:coarse){a.btn,.btn,.button,input[type=button],input[type=submit],input[type=reset],select,summary,[class*=tab-btn],nav a{min-height:44px}a.btn,.btn,.button{justify-content:center;align-items:center;display:inline-flex}#welcome-resource-links a,.resource-links a,.lesson-links a,.links-row a,footer nav a{align-items:center;min-height:40px;padding:6px 8px;display:inline-flex}}:root{--shadow-sm:0 2px 8px #12355b0f;--shadow-md:0 8px 24px #12355b1a;--shadow-lg:0 18px 38px #12355b21;--shadow-glow:0 0 0 3px #1fa6a240;--radius-xl:28px;--radius-full:999px;--sp-9:48px;--sp-10:64px;--font-mono:"SF Mono", "Cascadia Code", "Fira Code", monospace;--fs-base:1.0625rem;--lh-base:1.65;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--theme-accent:var(--teal);--theme-accent-light:var(--teal-light)}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 85% 55% at 100% 0%, var(--theme-glow) 0%, transparent 58%), radial-gradient(ellipse 70% 45% at 0% 100%, var(--theme-glow-alt) 0%, transparent 52%), linear-gradient(180deg, var(--bg) 0%, #f3efe6 100%);font-size:var(--fs-base);line-height:var(--lh-base);letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,textarea,select{font-family:inherit;font-size:inherit}button{cursor:pointer;background:0 0;border:none}img,svg{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.2}.app{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.app>*,.main,.phase-container,.phase,.card{min-width:0}.app .sidebar{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-light) 100%);color:#fff;height:100vh;padding:var(--sp-6) var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header{align-items:center;gap:var(--sp-3);display:flex}.sidebar-badge{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--amber), var(--teal));width:48px;height:48px;color:var(--navy);flex-shrink:0;place-items:center;font-size:1.4rem;font-weight:900;display:grid;box-shadow:0 6px 16px #00000040}.sidebar-title{font-family:var(--font-display);font-size:.95rem;font-weight:800;line-height:1.15}.sidebar-subtitle{color:#ffffffb3;margin-top:2px;font-size:.78rem}.student-info{border-radius:var(--radius-md);padding:var(--sp-3);background:#ffffff1a;border:1px solid #ffffff26}.student-info label{text-transform:uppercase;letter-spacing:.06em;color:#fff9;margin:var(--sp-2) 0 var(--sp-1);font-size:.72rem;font-weight:700;display:block}.student-info label:first-child{margin-top:0}.student-info input{border-radius:var(--radius-sm);width:100%;color:var(--ink);transition:box-shadow var(--duration-fast) ease;background:#fff;border:none;padding:8px 10px;font-size:.9rem}.student-info input:focus{box-shadow:var(--shadow-glow);outline:none}.xp-container{border-radius:var(--radius-md);padding:var(--sp-3);background:#ffffff14}.xp-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.xp-label{text-transform:uppercase;letter-spacing:.05em;color:var(--amber);font-size:.78rem;font-weight:800}.xp-value{font-family:var(--font-display);color:#fff;font-size:.85rem;font-weight:800}.xp-bar-track{border-radius:var(--radius-full);background:#ffffff1f;height:8px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg, var(--amber), var(--teal));border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out);width:0%}.phase-nav{gap:var(--sp-2);flex-direction:column;flex:1;display:flex}.phase-btn{gap:var(--sp-2);text-align:left;color:#fff;border-radius:var(--radius-md);width:100%;transition:all var(--duration-fast) ease;background:#ffffff0d;border:1px solid #ffffff1f;grid-template-columns:36px 1fr auto;align-items:center;padding:10px 12px;font-size:.88rem;font-weight:700;display:grid}.phase-btn:hover:not(.locked){background:#ffffff1f;transform:translate(2px)}.phase-btn.active{color:var(--navy);background:#fff;border-color:#fff;font-weight:800;box-shadow:0 6px 18px #0003}.phase-btn.completed{background:#1fa6a21f;border-color:#1fa6a266}.phase-btn.locked{opacity:.4;cursor:not-allowed}.phase-btn:not(.active):not(.completed):not(.locked){cursor:pointer}.phase-num{width:36px;height:36px;color:var(--amber);transition:all var(--duration-fast) ease;background:#ffffff1f;border-radius:10px;place-items:center;font-size:.85rem;font-weight:900;display:grid}.phase-btn.active .phase-num{background:var(--teal);color:#fff}.phase-btn.completed .phase-num{background:var(--success);color:#fff}.phase-stars{gap:2px;font-size:.7rem;display:flex}.phase-stars .star{opacity:.25}.phase-stars .star.earned{opacity:1;color:var(--amber)}.main{padding:var(--sp-7);justify-self:center;width:100%;max-width:1600px}.phase{animation:phaseIn .35s var(--ease-out);display:none}.phase.active{display:block}@keyframes phaseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--sp-6);margin-bottom:var(--sp-5);border:1px solid #12355b12}.card-compact{padding:var(--sp-4);border-radius:var(--radius-md)}.card-teal{background:var(--teal-light);border-color:#1fa6a226}.card-amber{background:var(--amber-light);border-color:#f2c15b40}.card-coral{background:var(--coral-light);border-color:#d9795d33}.section-header{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);display:flex}.section-icon{border-radius:var(--radius-md);flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.5rem;display:grid}.section-icon-teal{background:var(--teal);color:#fff}.section-icon-amber{background:var(--amber);color:var(--navy)}.section-icon-coral{background:var(--coral);color:#fff}.section-icon-navy{background:var(--navy);color:#fff}.section-title{color:var(--navy);letter-spacing:-.02em;font-size:1.7rem;font-weight:800}.section-desc{color:var(--muted);margin-top:3px;font-size:1rem;line-height:1.5}.badge{align-items:center;gap:var(--sp-1);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:5px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.badge-amber{background:var(--amber);color:var(--navy)}.badge-teal{background:var(--teal);color:#fff}.badge-navy{background:var(--navy);color:#fff}.badge-success{background:var(--success);color:#fff}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-md);letter-spacing:.01em;transition:all var(--duration-fast) ease;min-height:46px;padding:12px 24px;font-size:1.02rem;font-weight:800;display:inline-flex}.btn-primary{background:var(--teal-ink);color:#fff;box-shadow:0 4px 12px #0c6f6b52}.btn-primary:hover{background:#0a5b58;transform:translateY(-1px);box-shadow:0 6px 18px #1fa6a266}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--navy);border:2px solid var(--line);background:#fff}.btn-secondary:hover{border-color:var(--teal);color:var(--teal-ink)}.btn-amber{background:var(--amber);color:var(--navy);box-shadow:0 4px 12px #f2c15b4d}.btn-amber:hover{background:#e5b54e;transform:translateY(-1px)}.btn-lg{border-radius:var(--radius-lg);padding:14px 32px;font-size:1.05rem}.text-input{border:2px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--ink);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;resize:vertical;background:#fff;padding:12px 14px;font-size:.95rem}.text-input:focus{border-color:var(--teal);box-shadow:var(--shadow-glow);outline:none}.text-input::placeholder{color:var(--muted);opacity:.6}.sentence-frame{border-radius:var(--radius-md);padding:var(--sp-4);margin:var(--sp-3) 0;background:#1fa6a20f;border:2px dashed #1fa6a240;font-size:1.05rem;line-height:1.7}.sentence-frame .blank{border-bottom:2px solid var(--teal);min-width:120px;color:var(--teal-ink);margin:0 4px;padding:2px 4px;font-weight:700;display:inline-block}.feedback{padding:var(--sp-4);border-radius:var(--radius-md);animation:feedbackIn .3s var(--ease-spring);font-size:1rem;font-weight:600;line-height:1.5;display:none}.feedback.visible{gap:var(--sp-3);align-items:flex-start;display:flex}.feedback-icon{border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:900;display:grid}.feedback-success{background:var(--success-bg);color:var(--success);border:1px solid #0f7c4a26}.feedback-success .feedback-icon{background:var(--success);color:#fff}.feedback-hint{background:var(--hint-bg);color:var(--hint);border:1px solid #875f0026}.feedback-hint .feedback-icon{background:var(--hint);color:#fff}.feedback-error{background:var(--error-bg);color:var(--error);border:1px solid #b64e2f26}.feedback-error .feedback-icon{background:var(--error);color:#fff}@keyframes feedbackIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:none}}.grid-2{gap:var(--sp-5);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-main-side{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.vocab-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);border:1px solid var(--line);width:100%;overflow:hidden}.vocab-table th{background:var(--navy);color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.04em;padding:12px 16px;font-size:.88rem;font-weight:800}.vocab-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 16px;font-size:1.02rem;line-height:1.55}.vocab-table tr:nth-child(2n) td{background:#f8fbfc}.vocab-table tr:last-child td{border-bottom:none}.drag-zone{border:2px dashed var(--line);border-radius:var(--radius-md);min-height:80px;padding:var(--sp-3);gap:var(--sp-2);transition:all var(--duration-fast) ease;flex-wrap:wrap;display:flex}.drag-zone.over{border-color:var(--teal);background:#1fa6a20d}.drag-item{border:2px solid var(--line);border-radius:var(--radius-md);cursor:grab;-webkit-user-select:none;user-select:none;transition:all var(--duration-fast) var(--ease-spring);box-shadow:var(--shadow-sm);background:#fff;align-items:center;padding:8px 16px;font-size:1rem;font-weight:700;display:inline-flex}.drag-item:active{cursor:grabbing;box-shadow:var(--shadow-md);transform:scale(1.05)}.drag-item.correct{border-color:var(--success);background:var(--success-bg)}.drag-item.incorrect{border-color:var(--error);background:var(--error-bg);animation:.4s shake}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.celebration-overlay{pointer-events:none;z-index:1000;position:fixed;inset:0}.confetti-piece{opacity:0;width:10px;height:10px;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)scale(1)}to{opacity:0;transform:translateY(100vh)rotate(720deg)scale(.5)}}.obj-term{font:inherit;color:inherit;cursor:pointer;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--teal,#1c8c8c);text-decoration-color:var(--teal,#1c8c8c);background:0 0;border:0;margin:0;padding:0;display:inline}.obj-term:hover,.obj-term:focus-visible{background:var(--teal-light,#1c8c8c1f);border-radius:4px;outline:none;text-decoration-style:solid}@keyframes objFadeIn{0%{opacity:0}to{opacity:1}}.obj-popup-backdrop{z-index:1100;padding:var(--sp-4,18px);background:#0f172a8c;justify-content:center;align-items:center;animation:.15s objFadeIn;display:flex;position:fixed;inset:0}.obj-popup-backdrop[hidden]{display:none}.obj-popup{background:var(--white,#fff);border-radius:var(--radius-lg,16px);width:min(420px,100%);max-height:90vh;padding:var(--sp-6,24px) var(--sp-5,20px) var(--sp-5,20px);text-align:center;animation:bannerIn .2s var(--ease-spring,ease);position:relative;overflow-y:auto;box-shadow:0 18px 50px #0f172a4d}.obj-popup-close{background:var(--cream,#f4f1ea);width:36px;height:36px;color:var(--navy,#1f2a44);cursor:pointer;border:0;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:8px;right:10px}.obj-popup-close:hover{background:var(--teal-light,#1c8c8c26)}.obj-popup-term{margin:0 0 var(--sp-3,14px);color:var(--teal,#1c8c8c);text-transform:capitalize}.obj-popup-translation{align-items:baseline;gap:var(--sp-2,10px);margin:0 0 var(--sp-3,14px);padding:var(--sp-2,10px) var(--sp-3,14px);background:var(--teal-light,#1c8c8c1f);border-radius:var(--radius-md,12px);display:flex}.obj-popup-translation[hidden]{display:none}.obj-popup-tr-label{color:var(--teal,#1c8c8c);font-weight:700}.obj-popup-tr-es{color:var(--navy,#1f2a44);font-size:1.1rem;font-weight:600}.obj-popup-visual{margin:0 0 var(--sp-3,14px)}.obj-popup-img{width:100%;max-width:240px;height:auto;margin:0 auto var(--sp-2,10px);display:block}.obj-popup-example{color:var(--navy,#1f2a44);margin:0;font-weight:600}.obj-popup-example[hidden]{display:none}.obj-popup-def{color:var(--navy,#1f2a44);margin:0;font-size:1.05rem;line-height:1.5}.obj-popup-def-es{margin:var(--sp-2,10px) 0 0;color:var(--gray-600,#555);font-style:italic}.obj-popup-def-es[hidden]{display:none}body.obj-popup-open{overflow:hidden}.phase-complete-banner{text-align:center;padding:var(--sp-8) var(--sp-6);animation:bannerIn .5s var(--ease-spring);display:none}.phase-complete-banner.visible{display:block}.phase-complete-banner h3{color:var(--navy);margin-bottom:var(--sp-2);font-size:1.8rem}.phase-complete-xp{font-family:var(--font-display);color:var(--amber);font-size:2.4rem;font-weight:900}@keyframes bannerIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.star-display{margin:var(--sp-3) 0;justify-content:center;gap:4px;display:flex}.star-display .star-icon{opacity:.2;transition:all .3s var(--ease-spring);font-size:2rem}.star-display .star-icon.earned{opacity:1;color:var(--amber);animation:starPop .4s var(--ease-spring)}@keyframes starPop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes correctPop{0%{box-shadow:0 0 #0f7c4a66}70%{box-shadow:0 0 0 12px #0f7c4a00}to{box-shadow:0 0 #0f7c4a00}}.pop-correct{animation:.5s correctPop}.streak-display{z-index:900;color:#fff;border-radius:var(--radius-full);font-family:var(--font-display);opacity:0;transition:all .3s var(--ease-spring);pointer-events:none;background:linear-gradient(135deg,#ff6b35,#f2c15b);align-items:center;gap:6px;padding:8px 16px;font-size:1rem;font-weight:900;display:flex;position:fixed;top:16px;right:16px;transform:scale(.8)translateY(-10px);box-shadow:0 4px 16px #ff6b3566}.streak-display.visible{opacity:1;transform:scale(1)translateY(0)}.streak-fire{font-size:1.2rem}.streak-count{min-width:1ch}.streak-bump{animation:streakBump .3s var(--ease-spring)}@keyframes streakBump{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.streak-badge{margin-top:var(--sp-3);color:var(--coral);font-size:.88rem;font-weight:700}.card{transition:transform .15s,box-shadow .15s}.match-card{perspective:600px;transition:transform .2s var(--ease-spring)}.match-card:hover:not(.matched):not(.flipped){transform:translateY(-3px)}.match-card-inner{transition:transform .4s var(--ease-out);transform-style:preserve-3d}.match-card.flipped .match-card-inner{transform:rotateY(180deg)}.match-card.matched{animation:matchPop .4s var(--ease-spring)}@keyframes matchPop{0%{transform:scale(1)}40%{transform:scale(1.1)}to{transform:scale(1)}}.nl-marker{transition:left .2s var(--ease-spring)}.nl-marker.snapped{animation:markerSnap .3s var(--ease-spring)}@keyframes markerSnap{0%{transform:translateY(-50%)scale(1)}50%{transform:translateY(-50%)scale(1.3)}to{transform:translateY(-50%)scale(1)}}.cg-point{animation:pointAppear .3s var(--ease-spring)}@keyframes pointAppear{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.fill-cell input:focus{box-shadow:var(--shadow-glow);border-color:var(--teal)}.fill-cell.cell-correct{background:var(--success-bg);animation:.3s cellCheck}.fill-cell.cell-correct:after{content:"✓";color:var(--success);font-weight:900;position:absolute;top:50%;right:8px;transform:translateY(-50%)}@keyframes cellCheck{0%{background:#fff}to{background:var(--success-bg)}}.mc-option{transition:all .15s}.mc-option:hover:not(.selected):not(.correct):not(.wrong){border-color:var(--teal);box-shadow:var(--shadow-sm);transform:translate(4px)}.mc-option.correct{border-color:var(--success);background:var(--success-bg);animation:.5s correctPop}.mc-option.wrong{border-color:var(--error);background:var(--error-bg);animation:.4s shake}.scale-beam{transition:transform .5s var(--ease-spring);transform-origin:50%}.scale-beam.tilt-left{transform:rotate(-8deg)}.scale-beam.tilt-right{transform:rotate(8deg)}.scale-beam.balanced{transform:rotate(0)}.ea-step{opacity:0;animation:.3s forwards stepReveal;transform:translateY(8px)}.ea-step:first-child{animation-delay:0s}.ea-step:nth-child(2){animation-delay:.1s}.ea-step:nth-child(3){animation-delay:.2s}.ea-step:nth-child(4){animation-delay:.3s}@keyframes stepReveal{to{opacity:1;transform:translateY(0)}}@media (width<=768px){.app{grid-template-columns:1fr}.app .sidebar{height:auto;padding:var(--sp-3) var(--sp-4);gap:var(--sp-3);flex-flow:wrap;position:relative}.prelesson-nav,.phase-nav,.bonus-nav{flex:100%;width:100%;min-width:0}.prelesson-nav,.phase-nav{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.phase-btn{white-space:normal;overflow-wrap:anywhere;grid-template-columns:28px minmax(0,1fr);width:100%;min-width:0;padding:8px 10px;font-size:.78rem}.phase-nav .phase-subtab{margin-left:0!important}.phase-stars{display:none}.main{padding:var(--sp-4)}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.btn{min-height:48px}.drag-item{padding:10px 18px;font-size:1rem}.streak-display{top:auto;bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:3px solid var(--teal);outline-offset:2px}@media (width>=769px) and (width<=1100px){.app{grid-template-columns:220px minmax(0,1fr)}.main{padding:var(--sp-5)}.grid-main-side{grid-template-columns:1fr}}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.app:has(.identity-screen){display:block}.identity-screen{min-height:100dvh;padding:var(--sp-6) var(--sp-4);padding-bottom:max(var(--sp-6), env(safe-area-inset-bottom,0px));place-items:center;display:grid}.identity-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);background:#fff;border:1px solid #12355b0f;width:100%;max-width:520px;overflow:hidden}.identity-hero{background:linear-gradient(180deg, #0611261a 0%, #06112673 100%), linear-gradient(135deg, var(--theme-hero-from) 0%, var(--theme-hero-to) 100%);color:#fff;padding:var(--sp-7) var(--sp-6) var(--sp-6);text-align:center;position:relative;overflow:hidden}.identity-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#1fa6a233 0%,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.identity-meta{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--teal-light);margin:0 0 var(--sp-2);font-size:.72rem;font-weight:800}.identity-emoji{margin-bottom:var(--sp-2);font-size:3.2rem;line-height:1}.identity-title{font-family:var(--font-display);color:#fff;margin:0 0 var(--sp-2);letter-spacing:-.02em;font-size:1.75rem;font-weight:800;line-height:1.15}.identity-sub{color:#fffffff2;margin:0 0 var(--sp-4);font-size:.88rem}.identity-time{border-radius:var(--radius-full);margin-bottom:var(--sp-4);background:#ffffff1f;border:1px solid #ffffff2e;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.identity-objectives{text-align:left;border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);background:#ffffff14;border:1px solid #ffffff1f}.identity-objective-row{margin-bottom:var(--sp-2);font-size:.88rem;line-height:1.45}.identity-objective-row:last-child{margin-bottom:0}.identity-objective-badge{background:var(--amber);color:var(--navy);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;margin-right:6px;padding:2px 8px;font-size:.62rem;font-weight:800;display:inline-block}.identity-body{padding:var(--sp-6)}.identity-form{gap:var(--sp-2);text-align:left;flex-direction:column;display:flex}.identity-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.identity-form input{border:2px solid var(--line);border-radius:var(--radius-md);transition:border-color var(--duration-fast) ease;padding:10px 14px;font-size:1rem}.identity-form input:focus{border-color:var(--teal);outline:none}.identity-btn{margin-top:var(--sp-3);background:var(--teal-ink);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--duration-fast) ease;border:none;padding:12px;font-size:1rem;font-weight:700}.identity-btn:disabled{opacity:.4;cursor:not-allowed}.identity-btn:not(:disabled):hover{opacity:.9}.identity-saved{margin-top:var(--sp-5);border-top:1px solid var(--line);padding-top:var(--sp-4);text-align:left}.identity-saved-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-2);font-size:.78rem;font-weight:700}.identity-saved-btn{text-align:left;border:2px solid var(--line);border-radius:var(--radius-md);background:var(--cream);cursor:pointer;width:100%;margin-bottom:var(--sp-2);transition:all var(--duration-fast) ease;padding:10px 14px;font-size:.85rem;display:block}.identity-saved-btn:hover,.identity-saved-btn.match{border-color:var(--teal);background:var(--teal-light)}.student-name-display{color:var(--navy);font-size:.9rem;font-weight:700}.student-period-display{color:var(--muted);font-size:.8rem}.export-toolbar{z-index:950;justify-content:flex-end;align-items:center;gap:var(--sp-2);padding:6px var(--sp-4);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f7f4eceb;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 4px #12355b0f}.export-readiness{border-radius:999px;margin-right:auto;padding:4px 10px;font-size:.82rem;font-weight:700;line-height:1.3}.export-readiness:empty{display:none}.export-readiness.is-ready{color:var(--success,#0f7c4a);background:var(--success-bg,#e6f7ef)}.export-readiness.is-incomplete{color:var(--hint,#875f00);background:var(--hint-bg,#fef7e0)}@media (width<=768px){.export-readiness{flex:100%;order:-1;margin-right:0}}.export-btn{border-radius:var(--radius-full);font-family:var(--font-body);cursor:pointer;transition:all var(--duration-fast) ease;white-space:nowrap;border:none;align-items:center;gap:6px;padding:7px 16px;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.export-btn svg{flex-shrink:0}.export-btn-primary{background:var(--navy);color:#fff;box-shadow:0 2px 8px #12355b33}.export-btn-primary:hover{background:var(--teal);transform:translateY(-1px);box-shadow:0 4px 12px #1fa6a24d}.export-btn-secondary{color:var(--navy);border:1.5px solid var(--line);background:#fff}.export-btn-secondary:hover{border-color:var(--teal);color:var(--teal-ink);transform:translateY(-1px)}.export-btn-success{background:var(--success)!important;color:#fff!important;border-color:var(--success)!important}body:has(.export-toolbar) .app{margin-top:42px}body:has(.identity-screen) .export-toolbar{display:none}@media (width<=768px){.export-toolbar{padding:5px var(--sp-3);gap:var(--sp-1)}.export-btn{padding:6px 10px;font-size:.75rem}.export-btn-primary span{display:none}.export-btn-primary:after{content:"Save"}body:has(.export-toolbar) .app{margin-top:38px}}.level-selector{margin-bottom:var(--sp-5)}.level-selector-intro{color:var(--muted);margin-bottom:var(--sp-3);font-size:.85rem;font-weight:700}.level-selector-row{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.level-option{gap:var(--sp-1);text-align:left;border:2px solid var(--line);border-radius:var(--radius-md);background:var(--card);cursor:pointer;flex-direction:column;min-height:64px;padding:12px 14px;transition:all .15s;display:flex}.level-option:hover{border-color:var(--teal)}.level-option.selected{border-color:var(--teal);background:var(--teal-light)}.level-option:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.level-option-title{color:var(--navy);font-size:.95rem;font-weight:800}.level-option-blurb{color:var(--muted);font-size:.78rem;line-height:1.35}@media (width<=640px){.level-selector-row{grid-template-columns:1fr}}.lesson-hero{background:linear-gradient(135deg, var(--theme-hero-from) 0%, var(--theme-hero-to) 100%);color:#fff;border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.lesson-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#1fa6a22e 0%,#0000 70%);border-radius:50%;width:100px;height:100px;position:absolute;top:-30px;right:-30px}.lesson-hero-top{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.lesson-hero-title{font-family:var(--font-display);margin:0;font-size:1.35rem;font-weight:800;line-height:1.2}.lesson-hero-meta{opacity:.85;margin-top:4px;font-size:.78rem;font-weight:700}.lesson-hero-badges{gap:var(--sp-2);flex-wrap:wrap;display:flex}.lesson-hero-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;background:#ffffff24;border:1px solid #fff3;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.phase-progress-bar{border-radius:var(--radius-full);background:#fff3;height:6px;overflow:hidden}.phase-progress-fill{background:linear-gradient(90deg, var(--amber), var(--teal));border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out)}.phase-progress-label{opacity:.9;justify-content:space-between;margin-top:6px;font-size:.72rem;font-weight:700;display:flex}.sidebar-progress{border-radius:var(--radius-md);padding:var(--sp-3);background:#ffffff14}.sidebar-progress-label{text-transform:uppercase;letter-spacing:.05em;color:#ffffffb3;margin-bottom:var(--sp-2);justify-content:space-between;font-size:.72rem;font-weight:800;display:flex}.instruction-callout{gap:var(--sp-3);padding:var(--sp-4);background:linear-gradient(180deg, #fffdf8 0%, var(--card) 100%);border:1px solid #f2c15b59;border-left:4px solid var(--amber);border-radius:var(--radius-md);margin-bottom:var(--sp-5);align-items:flex-start;font-size:.95rem;line-height:1.55;display:flex}.instruction-callout-icon{flex-shrink:0;font-size:1.4rem;line-height:1}.instruction-callout strong{color:var(--navy)}.hint-callout{border-left-color:var(--teal);background:linear-gradient(180deg, var(--teal-light) 0%, var(--card) 100%);border-color:#1fa6a240}.scaffold-panel{margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--hint-bg);border-radius:var(--radius-md);border:1px solid #875f0033;font-size:.92rem;line-height:1.5}.scaffold-panel summary{cursor:pointer;color:var(--hint);font-weight:800;list-style:none}.scaffold-panel summary::-webkit-details-marker{display:none}.launch-intro{border:1px solid #12355b14}.launch-objectives .launch-objective{box-shadow:var(--shadow-sm)}@media (width<=640px){.identity-title{font-size:1.45rem}.identity-hero{padding:var(--sp-6) var(--sp-4) var(--sp-5)}.identity-body{padding:var(--sp-5) var(--sp-4)}.identity-btn{min-height:48px;font-size:1.05rem}.lesson-hero{padding:var(--sp-3) var(--sp-4)}.lesson-hero-title{font-size:1.15rem}.instruction-callout{padding:var(--sp-3);font-size:.9rem}}.phase-btn:focus-visible,.btn:focus-visible,.extra-btn:focus-visible,.identity-btn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.drag-item:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.problem-card{border:2px solid var(--line);border-radius:var(--radius-lg,16px);padding:var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--shadow-md);animation:problemSlideIn .4s var(--ease-out);background:#fff;transition:border-color .3s,box-shadow .3s}@keyframes problemSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.problem-card.problem-correct{border-color:var(--success);box-shadow:var(--shadow-md), 0 0 0 3px #0f7c4a26}.problem-card.problem-incorrect{border-color:var(--error)}.problem-header-row{justify-content:space-between;align-items:center;gap:var(--sp-2);border-bottom:2px solid var(--teal-light);padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.problem-header-left{align-items:baseline;gap:var(--sp-2);display:flex}.problem-number-badge{font-family:var(--font-display);color:var(--navy);background:var(--cream);border-radius:var(--radius-full);border:2px solid var(--teal-light);padding:4px 12px;font-size:1.35rem;font-weight:900}.problem-of-total{color:var(--muted);font-size:.82rem;font-weight:700}.problem-header-right{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.problem-type-badge{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--teal-ink);background:var(--teal-light);border-radius:var(--radius-full);padding:4px 10px;font-size:.68rem;font-weight:800}.problem-tier-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;font-size:.68rem;font-weight:800}.problem-tier-badge.tier-level1{background:var(--teal-light);color:var(--teal-ink)}.problem-tier-badge.tier-core{color:var(--hint);background:#e9c46a40}.problem-tier-badge.tier-level2{color:var(--navy);background:#12355b1a}.coin-earned{animation:coinPop .5s var(--ease-spring);font-size:1.4rem;display:inline-flex}@keyframes coinPop{0%{opacity:0;transform:scale(0)rotate(-30deg)}60%{transform:scale(1.3)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.problem-stem{color:var(--navy);margin:0 0 var(--sp-4);font-size:1.05rem;font-weight:700;line-height:1.5}.problem-check-row{gap:var(--sp-3);margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:2px solid var(--teal-light);flex-wrap:wrap;display:flex}.btn-check-one{min-width:140px;min-height:48px}.problem-check-result{padding:var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--cream);align-items:flex-start;gap:var(--sp-2);font-size:.95rem;font-weight:600;line-height:1.45;display:none}.problem-check-result.visible{animation:feedbackIn .3s var(--ease-spring);display:flex}.problem-check-result.is-correct{background:var(--success-bg);border-color:var(--success);color:var(--success)}.problem-check-result.is-incorrect{background:var(--error-bg);border-color:var(--error);color:var(--error)}.success-glow{animation:.6s successGlow}@keyframes successGlow{0%,to{box-shadow:none}50%{box-shadow:0 0 24px #0f7c4a59}}.shake-once{animation:.45s shake}.mc-options{gap:var(--sp-2);flex-direction:column;display:flex}.mc-option-label{align-items:center;gap:var(--sp-3);border:2px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) ease;background:#fff;grid-template-columns:auto auto 1fr;min-height:52px;padding:14px 18px;font-size:1rem;font-weight:600;display:grid}.mc-option-label:hover{background:var(--cream);border-color:var(--teal);transform:translate(3px)}.mc-option-label.is-selected{border-color:var(--teal);background:var(--teal-light)}.mc-option-label input[type=radio]{opacity:0;pointer-events:none;position:absolute}.custom-radio{border:2px solid var(--line);width:22px;height:22px;transition:all var(--duration-fast) ease;border-radius:50%;flex-shrink:0;position:relative}.mc-option-label.is-selected .custom-radio,.mc-option-label input:checked~.custom-radio{border-color:var(--teal);background:var(--teal)}.mc-option-label.is-selected .custom-radio:after,.mc-option-label input:checked~.custom-radio:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mc-letter-badge{background:var(--cream);width:32px;height:32px;font-family:var(--font-display);color:var(--navy);transition:all var(--duration-fast) ease;border-radius:10px;flex-shrink:0;place-items:center;font-size:.85rem;font-weight:900;display:grid}.mc-option-label.is-selected .mc-letter-badge{background:var(--teal);color:#fff}.mc-option-label.is-correct{animation:.5s correctPop;border-color:var(--success)!important;background:var(--success-bg)!important}.mc-option-label.is-correct .mc-letter-badge{background:var(--success);color:#fff}.mc-option-label.is-incorrect{animation:.4s shake;border-color:var(--error)!important;background:var(--error-bg)!important}.mc-option-label.is-incorrect .mc-letter-badge{background:var(--error);color:#fff}.choice-text{flex:1;line-height:1.4}.vocab-flip-hint{text-align:center;color:var(--muted);margin-bottom:var(--sp-4);font-size:.88rem}.vocab-container{justify-content:safe center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-2) var(--sp-5);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-color:var(--teal) transparent;display:flex;overflow-x:auto}.vocab-container::-webkit-scrollbar{height:6px}.vocab-container::-webkit-scrollbar-thumb{background:var(--teal);border-radius:3px}.vocab-card{perspective:1000px;cursor:pointer;scroll-snap-align:start;height:220px;animation:phaseIn .4s var(--ease-out) both;flex:0 0 260px}.vocab-card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.vocab-card.flipped .vocab-card-inner{transform:rotateY(180deg)}.vocab-card-front,.vocab-card-back{backface-visibility:hidden;border:2px solid var(--line);border-radius:var(--radius-md);width:100%;height:100%;padding:var(--sp-4);box-shadow:var(--shadow-md);flex-direction:column;justify-content:space-between;display:flex;position:absolute}.vocab-card-front{color:var(--navy);background:#fff}.vocab-card-front h3{font-family:var(--font-display);margin:0;font-size:1.15rem;font-weight:800}.vocab-thumb-wrap{margin-bottom:var(--sp-2);justify-content:center;display:flex}.vocab-thumb{object-fit:contain;background:var(--cream);border:1px solid var(--line);border-radius:10px;width:72px;height:72px;padding:4px}.vocab-es{color:var(--muted);margin:2px 0 0;font-size:.82rem;font-style:italic}.vocab-visual-hint{background:var(--teal-light);border-radius:var(--radius-sm);border-left:3px solid var(--teal);text-align:left;padding:6px 8px;font-size:.78rem}.flip-prompt{color:var(--teal-ink);text-transform:uppercase;letter-spacing:.05em;margin-top:auto;font-size:.68rem;font-weight:800}.vocab-card-back{background:var(--navy);color:#fff;justify-content:safe center;align-items:center;gap:var(--sp-1);overflow-y:auto;transform:rotateY(180deg)}.vocab-def{margin:0;font-size:.95rem;font-weight:700;line-height:1.45}.vocab-def-es{color:var(--amber-ink);margin:var(--sp-2) 0 0;font-size:.82rem;font-style:italic}.vocab-back-visual{margin:var(--sp-2) 0 0;color:var(--teal-light);font-size:.78rem}.vocab-continue-btn{margin:var(--sp-6) auto 0;display:block}.vocab-explore-grid{gap:var(--sp-3);flex-direction:column;display:flex}.theme-illustration{margin:var(--sp-4) 0 0;text-align:center}.theme-hero-svg{border-radius:var(--radius-md);width:100%;max-width:400px;height:auto;box-shadow:var(--shadow-sm);margin:0 auto}.theme-illustration-caption{color:var(--muted);margin-top:var(--sp-2);font-size:.82rem;font-style:italic;line-height:1.4}.lesson-cover-art .theme-illustration-caption{color:#ffffffe0}.launch-narrative{margin:0;font-size:1.1rem;line-height:1.65}.launch-scenario-card{overflow:hidden}.worked-example-panel{border:2px solid var(--teal-light);border-radius:var(--radius-md);padding:var(--sp-4);margin-bottom:var(--sp-5);background:linear-gradient(135deg,#2a9d8f0f,#e9c46a14)}.worked-example-summary{cursor:pointer;color:var(--navy);align-items:center;gap:var(--sp-2);font-size:1rem;font-weight:700;list-style:none;display:flex}.worked-example-summary::-webkit-details-marker{display:none}.worked-example-body{margin-top:var(--sp-4)}.worked-example-problem{margin:0 0 var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-sm);border-left:4px solid var(--teal);background:#fff;font-size:1.02rem;font-weight:600}.worked-example-steps{margin:0;padding:0;list-style:none}.worked-step{gap:var(--sp-3);margin-bottom:var(--sp-2);align-items:flex-start;line-height:1.55;display:flex}.worked-step-num{background:var(--teal);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:800;display:grid}.worked-example-answer{margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--success);border-radius:var(--radius-sm);color:var(--success);background:#0f7c4a14;font-weight:600}.common-mistake-callout{gap:var(--sp-3);padding:var(--sp-4);border:2px solid var(--amber);border-radius:var(--radius-md);margin-bottom:var(--sp-5);background:#e9c46a26;align-items:flex-start;display:flex}.common-mistake-icon{flex-shrink:0;font-size:1.5rem}.common-mistake-callout p{margin:var(--sp-1) 0 0;line-height:1.5}.practice-score-bar{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--navy);color:#fff;border-radius:var(--radius-md);margin-bottom:var(--sp-4);z-index:50;box-shadow:var(--shadow-md);flex-wrap:wrap;font-size:.9rem;font-weight:700;display:flex;position:sticky;top:0}.practice-score-coins{align-items:center;gap:6px;font-size:1.1rem;display:flex}.practice-score-streak{color:var(--amber)}.practice-score-accuracy{color:var(--teal-light);margin-left:auto}.speech-bubble-card{margin-top:var(--sp-6);position:relative;border:2px dashed var(--coral)!important;background:#d9795d0f!important}.speech-bubble-card:before{content:"💬";top:-18px;left:var(--sp-4);border-radius:var(--radius-full);background:#fff;padding:0 6px;font-size:1.8rem;position:absolute}.completion-certificate{border:3px solid var(--amber);border-radius:var(--radius-xl);max-width:640px;padding:var(--sp-8) var(--sp-6);text-align:center;box-shadow:var(--shadow-lg);background:#fff;margin:0 auto;position:relative;overflow:hidden}.completion-certificate:before{content:"";border-radius:calc(var(--radius-xl) - 8px);pointer-events:none;border:1px solid #b8860b4d;position:absolute;inset:8px}.certificate-ribbon{margin-bottom:var(--sp-3);animation:starPop .6s var(--ease-spring);font-size:3rem}.certificate-badge{background:var(--amber);color:var(--navy);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-full);margin-bottom:var(--sp-3);padding:6px 18px;font-size:.72rem;font-weight:800;display:inline-block}.certificate-title{color:var(--navy);margin-bottom:var(--sp-2);font-size:1.75rem}.certificate-subtitle{color:var(--muted);margin-bottom:var(--sp-5);font-size:1.1rem}.certificate-student{margin-bottom:var(--sp-5);padding:var(--sp-4);background:var(--cream);border-radius:var(--radius-md)}.certificate-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--sp-1);font-size:.72rem;font-weight:700;display:block}.certificate-name{font-family:var(--font-display);color:var(--navy);border-bottom:2px solid var(--teal);padding-bottom:var(--sp-2);font-size:1.5rem;font-weight:800;display:block}.certificate-period{color:var(--muted);margin-top:var(--sp-1);font-size:.85rem;display:block}.certificate-stats{gap:var(--sp-3);margin-bottom:var(--sp-5);grid-template-columns:repeat(4,1fr);display:grid}.cert-stat-value{font-family:var(--font-display);color:var(--amber);font-size:1.75rem;font-weight:900}.cert-stat-value.cert-stars{color:var(--amber)}.cert-stat-denom{color:var(--muted);font-size:1rem}.cert-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:2px;font-size:.68rem;font-weight:700}.certificate-streak,.certificate-pace{color:var(--coral);margin-bottom:var(--sp-3);font-weight:700}.certificate-phases{text-align:left;max-width:360px;margin:0 auto var(--sp-5)}.cert-phase-row{background:var(--cream);border-radius:var(--radius-sm);margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.cert-phase-name{font-size:.88rem;font-weight:700}.cert-phase-stars{color:var(--amber);letter-spacing:2px}.certificate-footer{justify-content:center;gap:var(--sp-3);color:var(--muted);margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;font-size:.82rem;display:flex}.certificate-brand{color:var(--navy);font-weight:800}.certificate-print-btn{margin-top:var(--sp-2)}.drag-item.dragging{opacity:.45;box-shadow:var(--shadow-lg);transform:scale(1.04)}.drag-item.drag-ghost{border-style:dashed;border-color:var(--teal)}.drag-zone.drop-snap{animation:dropSnap .3s var(--ease-spring)}@keyframes dropSnap{0%{background:#1fa6a226}to{background:0 0}}.drag-zone.over{border-color:var(--teal);box-shadow:inset 0 0 0 2px var(--teal-light);background:#1fa6a214}.frac,.math-frac{vertical-align:middle;flex-direction:column;align-items:center;margin:0 2px;font-weight:700;line-height:1.1;display:inline-flex}.frac-num,.math-frac-num{border-bottom:2px solid;padding:0 4px 1px}.frac-den,.math-frac-den{padding:1px 4px 0;font-size:.9em}.math-exp{vertical-align:super;font-size:.75em;font-weight:800}@media (width<=640px){.certificate-stats{grid-template-columns:repeat(2,1fr)}.problem-card{padding:var(--sp-4)}.vocab-card{flex:0 0 220px;height:200px}}@media print{.sidebar,.export-toolbar,.minimap-hud,.streak-display,.celebration-overlay{display:none!important}.app{margin-top:0!important;display:block!important}.main{max-width:none;padding:0}.lesson-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:var(--navy)!important}.card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.completion-certificate{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:2px solid #b8860b}.certificate-print-btn,.practice-score-bar,.streak-display,.teacher-panel,.hint-ladder{display:none!important}.printable-summary.print-target,.printable-summary.print-target *{display:block!important}}.lesson-cover-hero{position:relative;overflow:hidden}.identity-unit-badge{background:linear-gradient(135deg, var(--amber), var(--gold));color:var(--navy);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);margin-bottom:var(--sp-3);padding:4px 14px;font-size:.78rem;font-weight:900;display:inline-block}.lesson-cover-art{margin:var(--sp-4) auto;max-width:320px}.lesson-cover-art .theme-hero-svg.cover-svg-animate{animation:4s ease-in-out infinite coverFloat}@keyframes coverFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.cover-learning-goal{text-align:left;margin:var(--sp-4) 0;padding:var(--sp-4);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #387f8440}.cover-goal-label{text-transform:uppercase;letter-spacing:.06em;color:var(--teal-ink);margin-bottom:var(--sp-2);font-size:.72rem;font-weight:800;display:block}.cover-goal-text{color:var(--ink);margin:0;font-weight:600;line-height:1.5}.cover-stats-row{gap:var(--sp-3);margin:var(--sp-3) 0;flex-wrap:wrap;justify-content:center;font-size:.88rem;display:flex}.cover-stat strong{color:var(--amber);font-family:var(--font-display)}.cover-progress-ring{width:56px;height:56px;margin:var(--sp-3) auto;position:relative}.cover-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.cover-progress-ring .ring-bg{fill:none;stroke:#00000014;stroke-width:4px}.cover-progress-ring .ring-fill{fill:none;stroke:var(--teal);stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray .6s var(--ease-out)}.cover-progress-ring .ring-label{color:var(--navy);justify-content:center;align-items:center;font-size:.82rem;font-weight:900;display:flex;position:absolute;inset:0}.cover-phase-preview{margin:var(--sp-4) 0 var(--sp-2);flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.cover-phase-chip{border:1px solid var(--line);border-radius:var(--radius-full);color:var(--navy);background:#ffffffeb;padding:4px 10px;font-size:.72rem;font-weight:700}.cover-standards-btn{width:100%;margin-top:var(--sp-3);padding:var(--sp-3);background:var(--teal-light);border:1px solid var(--teal);border-radius:var(--radius-md);color:var(--navy);cursor:pointer;text-align:left;font-size:.88rem;font-weight:700;display:block}.cover-standards-btn:hover{background:#2a9d8f2e}.standards-explainer-panel{margin-top:var(--sp-2);padding:var(--sp-3);color:var(--ink);border-radius:var(--radius-sm);text-align:left;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #387f8440;font-size:.88rem;line-height:1.5}.standards-explainer-panel strong{color:var(--teal-ink)}.main.phase-accent-launch .lesson-hero{background:linear-gradient(135deg,#d9795d 0%,#f2a93b 50%,#387f84 100%)}.main.phase-accent-vocab .lesson-hero{background:linear-gradient(135deg,#e9c46a,#2a9d8f)}.main.phase-accent-explore .lesson-hero{background:linear-gradient(135deg,#2a9d8f,#264653)}.main.phase-accent-practice .lesson-hero{background:linear-gradient(135deg,#264653,#12355b)}.main.phase-accent-connect .lesson-hero{background:linear-gradient(135deg,#387f84,#4a7c6f)}.main.phase-accent-reflect .lesson-hero{background:linear-gradient(135deg,#f2a93b,#d9795d,#387f84)}.phase-enter{animation:phaseSlideIn .45s var(--ease-out)}@keyframes phaseSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.launch-story-beats{margin-bottom:var(--sp-4)}.story-beat-row{margin-bottom:var(--sp-2)}.story-beat-card{gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border:2px solid var(--line);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all .25s var(--ease-out);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;display:grid}.story-beat-card:hover,.story-beat-card.is-revealed{border-color:var(--amber);box-shadow:var(--shadow-md)}.story-beat-num{background:var(--amber);color:#fff;width:32px;height:32px;font-weight:900;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;display:flex}.story-beat-label{color:var(--navy);font-weight:800}.story-beat-teaser{color:var(--muted);font-size:.82rem;font-weight:600}.story-beat-reveal{padding:var(--sp-3) var(--sp-4) var(--sp-3) 52px;color:var(--navy);animation:stepReveal .35s var(--ease-out);font-size:1.02rem;line-height:1.6}.hint-ladder{margin-bottom:var(--sp-4);padding:var(--sp-3);background:var(--cream);border:1px dashed var(--amber);border-radius:var(--radius-md)}.hint-ladder-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.hint-ladder-title{color:var(--navy);font-size:.88rem;font-weight:800}.hint-ladder-count{color:var(--muted);font-size:.78rem;font-weight:700}.hint-ladder-steps{gap:var(--sp-2);flex-direction:column;display:flex}.hint-ladder-step{opacity:.45;transition:opacity .2s}.hint-ladder-step.is-available{opacity:1}.hint-ladder-step.is-used .hint-ladder-btn{background:var(--teal-light);border-color:var(--teal)}.hint-ladder-btn{text-align:left;width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:#fff;font-weight:700}.hint-ladder-btn:disabled{cursor:not-allowed;opacity:.5}.hint-ladder-body{padding:var(--sp-2) var(--sp-3);color:var(--navy);font-size:.92rem;line-height:1.5}.hint-ladder-body p{margin:0}.phase-transition-card .phase-stat-chips{gap:var(--sp-2);margin:var(--sp-3) 0;flex-wrap:wrap;justify-content:center;display:flex}.phase-stat-chip{background:var(--cream);border-radius:var(--radius-full);color:var(--navy);padding:4px 12px;font-size:.82rem;font-weight:700}.phase-next-preview{margin:var(--sp-4) auto;padding:var(--sp-4);background:linear-gradient(135deg, var(--teal-light), white);border:2px solid var(--teal);border-radius:var(--radius-md);max-width:280px;animation:bannerIn .4s var(--ease-spring)}.phase-next-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:var(--sp-1);font-size:.72rem;font-weight:800;display:block}.phase-next-icon{margin-bottom:var(--sp-1);font-size:2rem;display:block}.phase-complete-badge{color:var(--amber);margin-bottom:var(--sp-2);font-weight:800}.badge-unlock-row{gap:var(--sp-2);margin:var(--sp-3) 0;flex-wrap:wrap;justify-content:center;display:flex}.badge-unlock{background:linear-gradient(135deg, var(--amber), var(--gold));color:var(--navy);border-radius:var(--radius-full);animation:starPop .5s var(--ease-spring);padding:6px 14px;font-size:.82rem;font-weight:800}.connect-scenario-card{border-left:4px solid var(--teal);background:linear-gradient(135deg,#2a9d8f0f,#fff)}.connect-prompt-label{margin:0 0 var(--sp-3);font-size:1rem;font-weight:600;line-height:1.5;display:block}.connect-charcount{color:var(--muted);margin-top:var(--sp-1);text-align:right;font-size:.78rem}.connect-charcount.is-ready{color:var(--success)}.connect-scenario-header{gap:var(--sp-3);margin-bottom:var(--sp-3);align-items:flex-start;display:flex}.connect-scenario-icon{font-size:2.4rem;line-height:1}.connect-scenario-theme{text-transform:capitalize;color:var(--muted);font-size:.78rem;font-weight:700}.connect-scenario-text{margin:0;font-size:1.08rem;line-height:1.65}.confidence-card .confidence-slider{width:100%;accent-color:var(--teal);margin:var(--sp-2) 0}.confidence-labels{color:var(--muted);justify-content:space-between;font-size:.78rem;font-weight:600;display:flex}.confidence-output{text-align:center;font-family:var(--font-display);color:var(--teal-ink);margin-top:var(--sp-2);font-size:1.4rem;font-weight:900;display:block}.self-assess.is-selected{border-color:var(--teal)!important;background:var(--teal-light)!important}.printable-summary{margin-top:var(--sp-4);text-align:left}.certificate-badges{gap:var(--sp-2);margin:var(--sp-4) 0;flex-wrap:wrap;justify-content:center;display:flex}.cert-badge-pill{background:var(--navy);color:#fff;border-radius:var(--radius-full);padding:6px 14px;font-size:.82rem;font-weight:700}.coins-container{padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2)}.coins-label{color:var(--amber);font-size:.88rem;font-weight:800}.lesson-hero-standard{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden;font-size:.72rem!important}.teacher-mode #nsr-launcher,.teacher-mode #nsr-panel,.teacher-mode #nsr-toast,.teacher-mode .export-toolbar .export-btn-primary{display:none!important}.teacher-mode .teacher-panel{z-index:9500;border:2px solid var(--navy);border-radius:var(--radius-md);max-width:300px;box-shadow:var(--shadow-lg);background:#fff;position:fixed;top:60px;left:16px}.teacher-panel-toggle{width:100%;padding:var(--sp-3);background:var(--navy);color:#fff;border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;text-align:left;border:none;font-weight:800}.teacher-panel.is-collapsed .teacher-panel-toggle{border-radius:var(--radius-md)}.teacher-panel-body{padding:var(--sp-3);max-height:70vh;font-size:.82rem;overflow-y:auto}.teacher-panel-section{margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}.teacher-panel-section h4{margin:0 0 var(--sp-2);text-transform:uppercase;letter-spacing:.04em;color:var(--teal-ink);font-size:.78rem}.mode-toggle-pill{z-index:9600;cursor:pointer;border-radius:999px;align-items:center;gap:8px;font-size:.82rem;display:inline-flex;position:fixed;top:12px;right:12px}.mode-toggle-pill.is-teacher{background:var(--teal,#128a87);color:#fff;border:0;gap:8px;padding:8px 14px;font-weight:800;box-shadow:0 4px 14px #12355b4d}.mode-toggle-pill.is-teacher:hover{filter:brightness(1.08)}.mode-toggle-pill .mode-toggle-action{opacity:.9;border-left:1px solid #ffffff73;padding-left:8px;font-weight:700}.mode-toggle-pill.is-student{border:1px solid var(--gray-300,#cbd5e1);color:var(--navy,#12355b);background:#ffffffeb;gap:6px;padding:4px 6px 4px 12px;box-shadow:0 2px 8px #12355b1f}.mode-toggle-pill.is-student .mode-toggle-enter{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 2px;font-weight:700;display:inline-flex}.mode-toggle-pill.is-student .mode-toggle-action{border-left:1px solid var(--gray-300,#cbd5e1);opacity:.75;padding-left:8px}.mode-toggle-unlock{align-items:center;gap:6px;padding-right:4px;display:flex}.mode-toggle-unlock[hidden]{display:none}.mode-toggle-pin{border:1px solid var(--gray-300,#cbd5e1);border-radius:8px;width:130px;padding:6px 10px;font-size:.85rem}.mode-toggle-pin.is-error{border-color:#dc2626}.mode-toggle-go{background:var(--navy,#12355b);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:6px 12px;font-weight:700}@media print{.mode-toggle-pill{display:none}}.teacher-skip{margin-top:var(--sp-3,12px);border:1px dashed var(--teal,#128a87);color:var(--teal,#128a87);background:#128a870f;display:inline-flex}.teacher-pager{margin-top:var(--sp-2,8px)}.identity-teacher{margin-top:var(--sp-3,12px);text-align:center}.identity-teacher-btn{border:1px solid var(--navy,#12355b);color:var(--navy,#12355b);cursor:pointer;background:0 0;border-radius:999px;padding:7px 16px;font-size:.82rem;font-weight:700}.identity-teacher-btn:hover{background:#12355b0f}.identity-teacher-unlock{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.identity-teacher-pin{border:1px solid var(--gray-300,#cbd5e1);border-radius:8px;flex:160px;max-width:220px;padding:8px 12px;font-size:.9rem}.identity-teacher-go{background:var(--navy,#12355b);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:8px 16px;font-weight:700}.identity-teacher-go:hover{filter:brightness(1.08)}.identity-teacher-err{color:var(--amber,#c85a3a);flex-basis:100%;margin:2px 0 0;font-size:.8rem;font-weight:700}.identity-teacher.is-on{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.identity-teacher-label{color:var(--teal,#128a87);font-size:.82rem;font-weight:800}.identity-teacher-exit{border:1px solid var(--gray-300,#cbd5e1);color:var(--navy,#12355b);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:700}.identity-teacher-exit:hover{background:#12355b0f}.teacher-proj-controls{gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.teacher-timer{align-items:center;gap:var(--sp-2);display:flex}.teacher-timer-display{font-family:var(--font-display,system-ui);font-variant-numeric:tabular-nums;color:var(--navy);min-width:3.6em;font-size:1.1rem;font-weight:800}.teacher-panel.answers-hidden [data-bind=answer-key]{display:none}html.projector .main{zoom:1.22}@media print{html.projector .main{zoom:1}}.teacher-pacing-list{margin:0;padding:0;list-style:none}.teacher-pacing-list li{justify-content:space-between;padding:4px 0;display:flex}.teacher-meta{color:var(--muted);margin:var(--sp-2) 0 0}.teacher-obj{margin:var(--sp-1) 0;line-height:1.4}.teacher-tips,.teacher-listen,.teacher-answer-key{margin:0;padding-left:1.2rem;line-height:1.5}.teacher-answer-key{font-size:.78rem}.teacher-uifr .uifr-summary{margin:0 0 var(--sp-2);font-size:.78rem}.uifr-indicators{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.uifr-ind{border-left:3px solid var(--teal,#2a9d8f);padding-left:var(--sp-2)}.uifr-ind-head{font-size:.8rem;line-height:1.35}.uifr-ind-l4{opacity:.85;margin:2px 0 4px;font-size:.75rem}.uifr-surfaces{margin:0;padding-left:1.1rem;font-size:.74rem;line-height:1.45}.uifr-tag{vertical-align:middle;white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:.62rem;font-weight:700;display:inline-block}.uifr-tag-direct{color:#1f7a6e;background:#2a9d8f26}.uifr-tag-facilitated{color:#8a6d1f;background:#e9c46a40}.uifr-note{margin:var(--sp-2) 0 0;opacity:.8;font-size:.7rem;font-style:italic}.btn-sm{padding:6px 12px;font-size:.82rem}.math-sub{vertical-align:sub;font-size:.75em;font-weight:700}.math-eq{color:var(--teal-ink);padding:0 2px;font-weight:800}.i18n-stack{flex-direction:column;gap:1px;line-height:1.25;display:inline-flex}.i18n-en{font-weight:inherit}.i18n-es{opacity:.92;font-size:.82em;font-style:italic}.i18n-btn .i18n-es{font-size:.78em}.cover-phase-chip .i18n-stack{font-size:.72rem}.welcome-teacher-notes{margin:0 0 var(--sp-4);text-align:left}.welcome-teacher-toggle{width:100%}.welcome-teacher-panel{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--cream,#fdf6ec);border:1px solid var(--line,#e4ddc9);border-radius:var(--radius-md,12px)}.welcome-teacher-panel h5{margin:0 0 var(--sp-2);color:var(--teal-ink);font-size:.88rem}.certificate-download-btn{margin-right:var(--sp-2)}@media (prefers-reduced-motion:reduce){.lesson-cover-art .theme-hero-svg.cover-svg-animate,.phase-enter,.story-beat-reveal{animation:none!important}}.reveal-slides{margin:var(--sp-5) 0 var(--sp-4);padding:var(--sp-4);background:var(--teal-light);border:1px solid var(--line);border-radius:var(--radius-md)}.reveal-slides-heading{margin-bottom:var(--sp-3)}.reveal-slides-tag{align-items:center;gap:var(--sp-1);font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;color:#0f766e;font-size:.78rem;font-weight:700;display:inline-flex}.reveal-slides-figure{margin:0 0 var(--sp-3)}.reveal-slides-figure:last-child{margin-bottom:0}.reveal-slides-img{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);width:100%;max-width:720px;height:auto;margin:0 auto;display:block}.reveal-slides-caption{margin-top:var(--sp-2);color:var(--muted);text-align:center;font-size:.85rem;line-height:1.5}.nw-card{border-top:4px solid #0f766e}.nw-head{margin-bottom:var(--sp-4)}.nw-eyebrow{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#0f766e;font-size:.78rem;font-weight:800}.nw-title{margin:var(--sp-1) 0 0;font-family:var(--font-display);color:var(--navy);font-size:1.5rem;font-weight:800}.nw-context{margin:0 0 var(--sp-4);color:var(--ink);font-size:1.0625rem;line-height:1.6}.nw-layout{gap:var(--sp-5);grid-template-columns:minmax(0,1.15fr) minmax(0,2fr);align-items:start;display:grid}.nw-layout-noimg{grid-template-columns:1fr}.nw-figure{top:var(--sp-4);margin:0;position:sticky}.nw-img{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);width:100%;height:auto;margin:0 auto;display:block}.is-zoomable{cursor:zoom-in}.is-zoomable:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.lesson-lightbox{z-index:10000;box-sizing:border-box;background:#0f172adb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lesson-lightbox[hidden]{display:none}.lesson-lightbox-img{cursor:zoom-out;background:#fff;border-radius:8px;width:auto;max-width:96vw;height:auto;max-height:92vh;box-shadow:0 24px 60px #00000080}.lesson-lightbox-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:10px;width:44px;height:44px;font-size:1.3rem;line-height:1;position:absolute;top:16px;right:20px}.lesson-lightbox-close:hover{background:#ffffff57}body.lesson-lightbox-open{overflow:hidden}.nw-grid{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.nw-col{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card)}.nw-col-notice{border-left:4px solid var(--teal);background:var(--teal-light)}.nw-col-wonder{border-left:4px solid var(--amber);background:var(--amber-light)}.nw-col-title{margin:0 0 var(--sp-3);font-family:var(--font-display);color:var(--navy);font-size:1.3rem;font-weight:800}.nw-chips{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.nw-chip{font-family:var(--font-body);color:var(--navy);background:var(--card);border-radius:var(--radius-full);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border:1px solid #12355b2e;padding:8px 15px;font-size:.95rem;font-weight:600}.nw-chip:hover,.nw-chip:focus-visible{color:#fff;background:#0f766e;border-color:#0f766e}.nw-textarea{width:100%;min-height:132px;padding:var(--sp-3);font-size:1.15rem;line-height:1.6}@media (width<=980px){.nw-layout{grid-template-columns:1fr}.nw-figure{max-width:640px;margin:0 auto;position:static}}@media (width<=620px){.nw-grid{grid-template-columns:1fr}}@media print{.nw-chip{display:none}.nw-layout{grid-template-columns:1.15fr 2fr}.nw-card,.nw-col{break-inside:avoid}}.nw-support-stack{display:block}.nw-support-stack .nw-support{margin-top:var(--sp-4)}.nw-support-main{min-width:0}.wp-card{border-top:4px solid #0f766e}.wp-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.wp-badge{align-items:center;gap:var(--sp-1);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:#0f766e;background:var(--teal-light);border-radius:var(--radius-full);padding:4px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.wp-title{font-family:var(--font-display);color:var(--navy);margin:0;font-size:1.5rem;font-weight:800}.wp-text{color:var(--ink);margin:0;font-size:1.2rem;line-height:1.7}.wp-figure{margin:var(--sp-4) 0 0}.wp-img{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);width:100%;max-width:640px;height:auto;margin:0 auto;display:block}@media print{.wp-card{break-inside:avoid}}.syw-steps{gap:var(--sp-4);margin-top:var(--sp-4);display:grid}.syw-field{gap:var(--sp-2);flex-direction:column;display:flex}.syw-wordcount{color:var(--muted);align-self:flex-end;font-size:.8rem;font-weight:700}.syw-wordcount.is-ready{color:var(--success,#0f7c4a)}.syw-wordcount.is-ready:before{content:"✓ "}.stuck-support{margin:var(--sp-4) 0;border:1px dashed var(--teal);border-radius:var(--radius-md,12px);background:var(--teal-light,#dff2ee);overflow:hidden}.stuck-toggle{text-align:left;width:100%;padding:var(--sp-3) var(--sp-4);font-family:var(--font-display,system-ui);color:var(--navy);cursor:pointer;background:0 0;border:0;font-size:.98rem;font-weight:800}.stuck-body{padding:0 var(--sp-4) var(--sp-4)}.stuck-chips{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.stuck-chip{border:1.5px solid var(--teal);color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;min-height:40px;padding:6px 14px;font-size:.9rem;font-weight:700}.stuck-chip:hover{background:var(--teal-light)}.stuck-chip.is-active{background:var(--teal);color:#fff}.stuck-panel{border:1px solid var(--line);border-radius:var(--radius-sm,8px);padding:var(--sp-4);background:#fff;line-height:1.6}.stuck-panel p{margin:0 0 var(--sp-2)}.stuck-vocab,.stuck-frames{margin:0;padding-left:1.1em;line-height:1.8}.stuck-es{color:var(--muted);font-style:italic}.stuck-blank{border-bottom:2px solid var(--navy);min-width:90px;margin:0 4px;display:inline-block}.stuck-frame{color:var(--navy);font-weight:600}@media (width<=768px){.stuck-chip{flex:1 1 calc(50% - var(--sp-2))}}.syw-label{font-family:var(--font-display);color:var(--navy);font-size:1rem;font-weight:800}.syw-hint{font-family:var(--font-body);color:var(--muted,#5e6e7e);font-size:.85rem;font-weight:500}.syw-input{width:100%}textarea.syw-input{resize:vertical;min-height:2.6rem;line-height:1.6}.syw-check-btn{margin-top:var(--sp-4)}.syw-checklist{margin-top:var(--sp-3);padding:var(--sp-4);border-radius:var(--radius-md);background:var(--teal-light);border-left:4px solid #0f766e}.syw-checklist[hidden]{display:none}.syw-check-title{margin:0 0 var(--sp-2);color:var(--navy);font-weight:800}.syw-checklist ul{margin:0 0 var(--sp-2);gap:4px;padding-left:1.2rem;display:grid}.syw-check-note{color:var(--ink);margin:0;font-size:.95rem}@media print{.syw-card{break-inside:avoid}}.annot-bar{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-2);flex-wrap:wrap;display:flex}.annot-tip{color:var(--muted,#5e6e7e);font-size:.85rem;font-weight:600}.annot-btn{font:inherit;color:var(--navy);background:var(--card,#fff);border:1.5px solid var(--line,#e4ddc9);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:700;line-height:1;transition:background .12s,border-color .12s,transform 80ms}.annot-btn:hover{background:var(--cream,#fdf3e0);border-color:var(--gold,#d4952a)}.annot-btn:active{transform:translateY(1px)}.annot-erase{color:var(--coral,#d9795d)}.annotatable{cursor:text}.annot-hl{background:linear-gradient(#0000 35%,#ffd659bf 35%);border-radius:2px}.annot-ul{text-decoration:underline;-webkit-text-decoration-color:var(--teal,#2a9d8f);text-decoration-color:var(--teal,#2a9d8f);text-underline-offset:3px;text-decoration-thickness:2px}.annot-bd{color:var(--navy);font-weight:800}@media (prefers-reduced-motion:reduce){.annot-btn{transition:none}}.skill-practice{border-left:4px solid var(--navy,#264653)}.skill-practice .sp-intro{margin:0 0 var(--sp-3);color:var(--ink)}.sp-problem{background:var(--card,#fff);border:1px solid var(--line,#e4ddc9);border-radius:var(--radius-md,12px);padding:var(--sp-3,14px) var(--sp-4,16px);margin-bottom:var(--sp-3,12px)}.sp-problem:last-of-type{margin-bottom:0}.sp-stem{gap:var(--sp-2);color:var(--navy,#264653);margin:0 0 var(--sp-3);flex-wrap:wrap;align-items:baseline;font-size:1.1rem;font-weight:600;line-height:1.6;display:flex}.sp-stem .annot-bar{flex:0 0 100%;order:-1}.sp-num{background:var(--navy,#264653);color:#fff;min-width:1.7rem;height:1.7rem;font-family:var(--font-display);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 .45rem;font-size:.9rem;font-weight:800;display:inline-flex}.sp-row{margin-top:var(--sp-2);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sp-answer-label{color:var(--navy,#264653);font-weight:700}.sp-answer{border:0;border-bottom:2px solid var(--teal,#2a9d8f);font:inherit;padding:4px 6px;font-size:1rem}.sp-reveal[hidden]{display:none}.sp-reveal{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--teal,#2a9d8f);background:#2a9d8f14;border-radius:8px}#nt-read-progress{z-index:2147482000;pointer-events:none;opacity:0;background:0 0;width:100%;height:3px;transition:opacity .2s;position:fixed;top:0;left:0}#nt-read-progress.is-active{opacity:1}#nt-read-progress .nt-read-progress-fill{background:linear-gradient(90deg, var(--amber,#f59e0b), var(--gold,#d4952a));width:0%;height:100%;transition:width .12s linear;box-shadow:0 0 6px #d4952a80}@media print{#nt-read-progress{display:none!important}}@media (prefers-reduced-motion:reduce){#nt-read-progress,#nt-read-progress .nt-read-progress-fill{transition:none}}.extra-panel.extra-panel--fullpage{z-index:8000;background:var(--card,#fff);-webkit-overflow-scrolling:touch;margin:0;padding:8px clamp(8px,1.5vw,16px) 12px;animation:.18s extra-fullpage-in;position:fixed;inset:0;overflow:hidden auto}@keyframes extra-fullpage-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.extra-panel--fullpage .extra-head{z-index:2;background:var(--card,#fff);border-bottom:1px solid var(--line,#e4ddc9);padding:2px 0 4px;position:sticky;top:0;margin-bottom:0!important}.extra-panel--fullpage .extra-head .section-title{margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem)!important}.extra-panel--fullpage .extra-head .section-desc{display:none}.extra-panel--fullpage .extra-frame{width:100%;display:block}@media (width<=640px){.extra-panel--fullpage .extra-frame{height:calc(100vh - 88px)!important}}@media (prefers-reduced-motion:reduce){.extra-panel.extra-panel--fullpage{animation:none}}html.nt-extra-fullpage-open,html.nt-extra-fullpage-open body{overflow:hidden}.nt-utility-menu{z-index:9600;position:fixed;top:12px;right:12px}.nt-utility-btn{background:var(--navy,#12355b);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.85rem;font-weight:800;display:inline-flex;box-shadow:0 4px 14px #12355b4d}.nt-utility-btn:hover{filter:brightness(1.15)}.nt-utility-btn:focus-visible{outline:3px solid var(--gold,#ffd54a);outline-offset:2px}.nt-utility-caret{opacity:.75;font-size:.75em}.nt-utility-pop{border:1px solid var(--gray-300,#cbd5e1);background:#fff;border-radius:14px;flex-direction:column;gap:10px;width:min(340px,100vw - 24px);padding:10px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 44px #0c1b2a40}.nt-utility-pop[hidden],.nt-utility-section:empty{display:none}.nt-utility-section+.nt-utility-section{border-top:1px solid var(--gray-200,#e2e8f0);padding-top:10px}.nt-utility-item{width:100%;color:var(--navy,#12355b);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:700;text-decoration:none;display:flex}.nt-utility-item:hover{background:var(--gray-100,#f1f5f9)}.nt-utility-item:focus-visible{outline:3px solid var(--gold,#ffd54a);outline-offset:-3px}.nt-utility-pop .export-toolbar{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border:0;flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:0;display:flex;position:static}.nt-utility-pop .mode-toggle-pill{box-shadow:none;position:static}body.has-nt-utility-menu>.export-toolbar,body.has-nt-utility-menu>.mode-toggle-pill{display:none}body.has-nt-utility-menu .app{margin-top:0}body.has-nt-utility-menu #mwb-launcher,body.has-nt-utility-menu #nsr-launcher{display:none!important}body.has-nt-utility-menu .ewl-supports-tools-dock.is-collapsed .ewl-supports-dock-reopen{display:none}@media (width<=640px){body.has-nt-utility-menu .app .sidebar{padding-top:calc(var(--sp-3) + 48px)}.nt-utility-menu{top:8px;right:8px;position:absolute!important}.nt-utility-btn{justify-content:center;gap:0;width:44px;height:44px;padding:0}.nt-utility-btn>span:nth-child(n+2){display:none}.minimap-hud,.nt-next-phase-btn{display:none!important}}.obj-nowrap{white-space:nowrap}:root{--theme-accent:var(--teal);--theme-accent-light:var(--teal-light);--theme-glow:#1fa6a21a;--theme-glow-alt:#f2c15b14;--theme-hero-from:var(--navy);--theme-hero-to:var(--navy-light)}[data-theme=culinary-academy]{--theme-accent:#d9795d;--theme-accent-light:#fce6de;--theme-glow:#d9795d1f;--theme-glow-alt:#f2c15b1a;--theme-hero-from:#8b3a28;--theme-hero-to:#d9795d}[data-theme=music-studio]{--theme-accent:#7c5cbf;--theme-accent-light:#ede8f7;--theme-glow:#7c5cbf1f;--theme-glow-alt:#1fa6a214;--theme-hero-from:#4a2d7a;--theme-hero-to:#7c5cbf}[data-theme=detective-agency]{--theme-accent:#c85a3a;--theme-accent-light:#fce6de;--theme-glow:#c85a3a1a;--theme-glow-alt:#12355b14;--theme-hero-from:#12355b;--theme-hero-to:#c85a3a}[data-theme=sports-analytics]{--theme-accent:#2f80d1;--theme-accent-light:#e3f0fb;--theme-glow:#2f80d11f;--theme-glow-alt:#0f7c4a14;--theme-hero-from:#12355b;--theme-hero-to:#2f80d1}[data-theme=space-station]{--theme-accent:#4a6cf7;--theme-accent-light:#e8edfe;--theme-glow:#4a6cf71f;--theme-glow-alt:#1fa6a20f;--theme-hero-from:#0c1a4a;--theme-hero-to:#4a6cf7}[data-theme=treasure-map]{--theme-accent:#b8860b;--theme-accent-light:#fef7e0;--theme-glow:#b8860b1f;--theme-glow-alt:#0f7c4a14;--theme-hero-from:#5c4a12;--theme-hero-to:#b8860b}[data-theme=arcade-builder]{--theme-accent:#e63946;--theme-accent-light:#fde8ea;--theme-glow:#e639461a;--theme-glow-alt:#2f80d114;--theme-hero-from:#12355b;--theme-hero-to:#e63946}[data-theme=time-capsule]{--theme-accent:#6b4c9a;--theme-accent-light:#f0eaf7;--theme-glow:#6b4c9a1a;--theme-glow-alt:#f2c15b14;--theme-hero-from:#3d2858;--theme-hero-to:#6b4c9a}[data-theme=architecture-firm]{--theme-accent:#387f84;--theme-accent-light:#dff2ee;--theme-glow:#387f841f;--theme-glow-alt:#12355b0f;--theme-hero-from:#12355b;--theme-hero-to:#387f84}body.editorial{--fl-serif:"Fraunces", Georgia, "Times New Roman", serif;--fl-body:var(--font-body);--fl-caption:.78rem;--fl-small:.9rem;--fl-base:1.0625rem;--fl-h4:1.2rem;--fl-h3:clamp(1.35rem, 1.1rem + 1vw, 1.6rem);--fl-h2:clamp(1.7rem, 1.3rem + 1.6vw, 2.1rem);--fl-h1:clamp(2.2rem, 1.6rem + 2.6vw, 3rem);--fl-paper:#f5f0e6;--fl-paper-2:#efe8da;--fl-page:#fffdf8;--ink:#19262f;--muted:#45535f;--fl-rule:#e4d9c2;--fl-rule-strong:#d8c9a8;--fl-measure:100%;background:radial-gradient(circle at 12% 0%, #1fa6a20d, transparent 38%), radial-gradient(circle at 92% 6%, #f2c15b12, transparent 34%), var(--fl-paper);color:var(--ink);font-family:var(--fl-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body.editorial:before{content:"";z-index:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");position:fixed;inset:0}body.editorial .app,body.editorial .identity-screen,body.editorial .flagship-scene-hud{z-index:1;position:relative}body.editorial .lesson-hero{color:var(--ink);border:1px solid var(--fl-rule);border-top:3px solid var(--navy);padding:var(--sp-7) var(--sp-7) var(--sp-6);margin-bottom:var(--sp-7);border-radius:4px;box-shadow:0 1px #19262f05;background:var(--fl-page)!important}body.editorial .lesson-hero-top{align-items:flex-end}body.editorial .lesson-hero-title{font-family:var(--fl-serif);font-optical-sizing:auto;font-weight:600;font-size:var(--fl-h1);letter-spacing:-.015em;color:var(--navy);margin:0;line-height:1.05}body.editorial .lesson-hero-meta{font-family:var(--fl-body);font-weight:700;font-size:var(--fl-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--teal-ink);margin:0 0 var(--sp-3);order:-1;display:inline-block}body.editorial .lesson-hero-title+.lesson-hero-meta,body.editorial .lesson-hero-top>div{flex-direction:column;display:flex}body.editorial .lesson-hero:after{content:"";width:64px;height:2px;margin-top:var(--sp-5);background:linear-gradient(90deg, var(--teal), var(--amber));border-radius:2px;display:block}body.editorial .phase-container,body.editorial .lesson-hero{max-width:1400px;margin-left:auto;margin-right:auto}body.editorial .phase{gap:var(--sp-6);flex-direction:column;display:flex}body.editorial .phase .card{background:var(--fl-page);border:1px solid var(--fl-rule);box-shadow:none;padding:var(--sp-7);border-radius:5px;position:relative}body.editorial .phase .card :is(h2,h3,h4,.card-title){font-family:var(--fl-serif);letter-spacing:-.01em;color:var(--navy);font-weight:600;line-height:1.15}body.editorial .phase .card :is(h2,.card-title){font-size:var(--fl-h2)}body.editorial .phase .card h3{font-size:var(--fl-h3)}body.editorial .phase .card h4{font-size:var(--fl-h4)}body.editorial .phase .card-teal :is(h3,h4){color:#0e6f6b}body.editorial .phase .card-coral :is(h3,h4){color:#b4503a}body.editorial .phase .card p,body.editorial .phase .card li{font-size:var(--fl-base);max-width:var(--fl-measure);color:var(--ink);line-height:1.7}body.editorial .phase .card p+p{margin-top:var(--sp-4)}body.editorial .phase .card [class*=objective]{border-radius:4px}body.editorial .phase [class*=show-your-work] label,body.editorial .phase [class*=work-step]{font-family:var(--fl-body);color:var(--navy);font-weight:700}body.editorial .btn{font-family:var(--fl-body);letter-spacing:.01em;border-radius:6px;font-weight:700;transition:transform .12s,box-shadow .2s,background .2s}body.editorial .btn-primary{background:var(--navy);border-color:var(--navy)}body.editorial .btn-primary:hover{background:var(--navy-light);transform:translateY(-1px)}body.editorial .btn:focus-visible{outline:3px solid var(--teal);outline-offset:2px}body.editorial .sidebar{background:linear-gradient(180deg, #0e2c4c 0%, var(--navy) 100%);border-right:1px solid #ffffff0f}body.editorial .sidebar-title,body.editorial .sidebar h1,body.editorial .sidebar h2{font-family:var(--fl-serif);letter-spacing:-.01em;font-weight:600}body.editorial .identity-card{border:1px solid var(--fl-rule);border-radius:6px;max-width:600px;box-shadow:0 24px 60px #12355b24}body.editorial .identity-hero h1,body.editorial .identity-card h1,body.editorial .flagship-mission-title,body.editorial .flagship-finale-title{font-family:var(--fl-serif);letter-spacing:-.015em;font-weight:600}body.editorial .flagship-mission-eyebrow{color:var(--teal-ink)}body.editorial .flagship-scene-name{font-family:var(--fl-serif);font-weight:600}body.editorial .flagship-scene-hud{background:var(--fl-page);border:1px solid var(--fl-rule);border-left:3px solid var(--teal);border-radius:4px}body.editorial .text-muted,body.editorial .muted,body.editorial small{color:var(--muted)}@media print{body.editorial{background:#fff}body.editorial:before{display:none}body.editorial .sidebar,body.editorial .flagship-scene-hud,body.editorial .save-resume-bar{display:none!important}body.editorial .app{display:block}body.editorial .phase-container,body.editorial .lesson-hero{max-width:100%}body.editorial .phase .card{break-inside:avoid;border:1px solid #ccc}}@media (width<=768px){body.editorial .lesson-hero,body.editorial .phase .card{padding:var(--sp-5)}}@media (prefers-reduced-motion:reduce){body.editorial .btn-primary:hover{transform:none}}:root{--navy:#12355b;--navy-light:#18466f;--teal:#1fa6a2;--teal-light:#dff2ee;--teal-ink:#0c6f6b;--amber:#f2c15b;--amber-light:#fef7e0;--amber-ink:#8a5a00;--cream:#f7f4ec;--coral:#d9795d;--coral-light:#fce6de;--bg:var(--cream);--card:#fff;--ink:#21313f;--muted:#5f6f80;--line:#d7e2ed;--success:#0f7c4a;--success-bg:#e6f7ef;--error:#b64e2f;--error-bg:#fef0ec;--hint:#875f00;--hint-bg:#fef7e0;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--font-display:"Outfit", system-ui, sans-serif;--font-body:"Hanken Grotesk", Calibri, "Segoe UI", system-ui, sans-serif}.flagship-mission{z-index:9000;padding:var(--sp-5);background:radial-gradient(circle at 30% 20%, #1fa6a259, transparent 55%), radial-gradient(circle at 75% 80%, #f2c15b4d, transparent 55%), var(--navy);animation:flagshipFade .4s var(--ease-out,ease) both;place-items:center;display:grid;position:fixed;inset:0}.flagship-mission.leaving{animation:.35s forwards flagshipFadeOut}.flagship-mission-card{background:var(--card);border-radius:var(--radius-lg);width:100%;max-width:600px;padding:var(--sp-8) var(--sp-7);text-align:center;animation:flagshipRise .5s var(--ease-spring,ease) both .1s;box-shadow:0 24px 70px #0006}.flagship-mission-emoji{margin-bottom:var(--sp-3);font-size:3.4rem;line-height:1}.flagship-mission-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--navy);margin-bottom:var(--sp-2);font-size:.74rem;font-weight:800}.flagship-mission-title{font-family:var(--font-display);color:var(--navy);margin:0 0 var(--sp-4);font-size:2rem}.flagship-mission-story{color:var(--ink);margin:0 0 var(--sp-5);font-size:1.05rem;line-height:1.65}.flagship-mission-objective{background:var(--teal-light);border-radius:var(--radius-md);padding:var(--sp-4);text-align:left;margin-bottom:var(--sp-5)}.flagship-mission-objective span{color:#0f6f6b;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:800}.flagship-mission-objective p{margin:var(--sp-2) 0 0;color:var(--ink);line-height:1.5}.flagship-mission-start{width:100%}.flagship-scene-hud{gap:var(--sp-4);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius-md);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-5);animation:flagshipRise .4s var(--ease-out,ease) both;background:linear-gradient(100deg,#12355b0f,#1fa6a214);align-items:center;display:flex}.flagship-scene-icon{font-size:1.8rem;line-height:1}.flagship-scene-name{font-family:var(--font-display);color:var(--navy);font-size:1.02rem;font-weight:800}.flagship-scene-text{color:var(--muted);margin-top:2px;font-size:.9rem;line-height:1.5}.flagship-finale{z-index:9500;pointer-events:none;opacity:0;place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0}.flagship-finale.visible{opacity:1}.flagship-finale-card{text-align:center;background:var(--card);border-radius:var(--radius-lg);padding:var(--sp-7) var(--sp-8);transition:transform .4s var(--ease-spring,ease);transform:scale(.9);box-shadow:0 24px 70px #00000059}.flagship-finale.visible .flagship-finale-card{transform:scale(1)}.flagship-finale-emoji{font-size:3.6rem}.flagship-finale-title{font-family:var(--font-display);color:var(--navy);margin:var(--sp-3) 0 var(--sp-2);font-size:1.8rem;font-weight:900}.flagship-finale-text{color:var(--muted);max-width:420px;margin:0;line-height:1.55}@keyframes flagshipFade{0%{opacity:0}to{opacity:1}}@keyframes flagshipFadeOut{to{opacity:0}}@keyframes flagshipRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}:root{--ewl-color-primary:#1e293b;--ewl-color-accent:#2563eb;--ewl-color-accent-hover:#1d4ed8;--ewl-color-bg-glass:#ffffffd9;--ewl-color-border:#1e293b26;--ewl-color-text:#0f172a;--ewl-color-text-muted:#475569;--ewl-color-white:#fff;--ewl-color-focus:#3b82f6;--ewl-shadow:0 10px 30px -5px #00000026, 0 4px 12px -2px #0000000d}[data-ewl-supports-root]{color:var(--ewl-color-text);box-sizing:border-box;font-family:Atkinson Hyperlegible,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}[data-ewl-supports-root] *,[data-ewl-supports-root] :before,[data-ewl-supports-root] :after{box-sizing:inherit}[data-ewl-supports-root] :focus-visible{outline:3px solid var(--ewl-color-focus)!important;outline-offset:2px!important}.ewl-supports-teacher-btn-container{z-index:9999;position:fixed;top:50%;right:0;transform:translateY(-50%)}.ewl-supports-btn-teacher{writing-mode:vertical-rl;background:var(--ewl-color-primary);min-width:44px;min-height:44px;color:var(--ewl-color-white);letter-spacing:.01em;cursor:pointer;box-shadow:var(--ewl-shadow);border:1px solid #ffffff1a;border-right:none;border-radius:14px 0 0 14px;align-items:center;gap:8px;padding:16px 10px;font-size:15px;font-weight:700;transition:transform .2s,background-color .2s;display:flex}.ewl-supports-btn-teacher:hover{background-color:#334155;transform:translate(-3px)}.ewl-supports-btn-teacher:active{transform:translate(0)}.ewl-supports-dialog{background:var(--ewl-color-white);border:1px solid var(--ewl-color-border);width:90%;max-width:520px;max-height:85vh;box-shadow:var(--ewl-shadow);z-index:10001;opacity:0;border-radius:20px;flex-direction:column;transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .2s;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.95)}.ewl-supports-dialog.is-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.ewl-supports-dialog[hidden]{display:none!important}.ewl-supports-dialog-header{border-bottom:1px solid var(--ewl-color-border);background:#f8fafc;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.ewl-supports-dialog-header h2{color:var(--ewl-color-primary);margin:0;font-size:19px;font-weight:800}.ewl-supports-dialog-close{cursor:pointer;width:44px;height:44px;color:var(--ewl-color-text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:background-color .2s;display:flex}.ewl-supports-dialog-close:hover{background-color:#0000000d}.ewl-supports-dialog-body{flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.ewl-supports-dialog-intro{color:var(--ewl-color-text-muted);margin:0;font-size:14px;line-height:1.6}.ewl-supports-dialog-form{flex-direction:column;gap:12px;display:flex}.ewl-supports-checkbox-row{border:1px solid var(--ewl-color-border);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;min-height:56px;padding:12px;transition:background-color .2s,border-color .2s;display:flex}.ewl-supports-checkbox-row:hover{border-color:var(--ewl-color-focus);background-color:#f8fafc}.ewl-supports-checkbox{cursor:pointer;flex-shrink:0;width:24px;height:24px;margin-top:2px}.ewl-supports-checkbox-label{cursor:pointer;flex-direction:column;flex-grow:1;gap:4px;display:flex}.ewl-supports-profile-title{color:var(--ewl-color-text);font-size:15px;font-weight:700}.ewl-supports-profile-desc{color:var(--ewl-color-text-muted);font-size:12.5px;line-height:1.4}.ewl-supports-dialog-actions{gap:12px;margin-top:8px;display:flex}.ewl-supports-btn-action{cursor:pointer;border:none;border-radius:12px;flex:1;min-height:46px;font-size:14px;font-weight:700;transition:background-color .2s,transform .1s}.ewl-supports-btn-action:active{transform:scale(.98)}.ewl-supports-btn-copy{background:var(--ewl-color-accent);color:var(--ewl-color-white)}.ewl-supports-btn-copy:hover{background-color:var(--ewl-color-accent-hover)}.ewl-supports-btn-reset{color:var(--ewl-color-text);border:1px solid var(--ewl-color-border);background:#f1f5f9}.ewl-supports-btn-reset:hover{background-color:#e2e8f0}.ewl-supports-tools-dock{z-index:9998;pointer-events:none;justify-content:flex-end;max-height:86vh;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.ewl-supports-tools-inner{border:1px solid var(--ewl-color-border);box-shadow:var(--ewl-shadow);-webkit-backdrop-filter:blur(12px);pointer-events:auto;background:#fffffff7;border-right:none;border-radius:16px 0 0 16px;flex-direction:column;gap:6px;max-height:86vh;padding:10px 8px;display:flex;overflow-y:auto}.ewl-supports-dock-collapse{pointer-events:auto;border:1px solid var(--ewl-color-border);background:var(--ewl-color-bg-glass);-webkit-backdrop-filter:blur(12px);width:36px;height:36px;color:var(--ewl-color-text);cursor:pointer;box-shadow:var(--ewl-shadow);border-radius:50%;align-self:center;margin-left:8px;font-size:.95rem;font-weight:700}.ewl-supports-dock-collapse:hover{background:var(--ewl-color-border)}.ewl-supports-dock-reopen{pointer-events:auto;border:1px solid var(--ewl-color-border);background:var(--ewl-color-bg-glass);-webkit-backdrop-filter:blur(12px);min-height:40px;color:var(--ewl-color-text);cursor:pointer;box-shadow:var(--ewl-shadow);border-radius:99px;align-items:center;gap:6px;padding:0 18px;font-size:.95rem;font-weight:700;display:none}.ewl-supports-tools-dock.is-collapsed .ewl-supports-tools-inner,.ewl-supports-tools-dock.is-collapsed .ewl-supports-dock-collapse{display:none}.ewl-supports-tools-dock.is-collapsed .ewl-supports-dock-reopen{display:inline-flex}.ewl-supports-tool-btn{min-width:44px;min-height:44px;color:var(--ewl-color-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:99px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:700;transition:background-color .2s,color .2s;display:inline-flex}.ewl-supports-tool-btn:hover{background-color:#1e293b14}.ewl-supports-tool-btn.is-active,.ewl-supports-tool-btn[aria-pressed=true]{background-color:var(--ewl-color-primary);color:var(--ewl-color-white)}.ewl-supports-quick-row{border-bottom:1px solid var(--ewl-color-border);flex-direction:column;gap:4px;margin-bottom:4px;padding-bottom:6px;display:flex}.ewl-supports-quick-title{letter-spacing:.02em;text-transform:uppercase;color:var(--ewl-color-text);opacity:.75;white-space:nowrap;padding:2px 6px;font-size:11px;font-weight:800}.ewl-supports-quick-chip{border:1px dashed var(--ewl-color-border);min-height:36px;color:var(--ewl-color-text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.ewl-supports-quick-chip:hover{background-color:#1e293b14}.ewl-supports-quick-chip.is-active,.ewl-supports-quick-chip[aria-pressed=true]{background-color:var(--ewl-color-primary);border-color:var(--ewl-color-primary);color:var(--ewl-color-white);border-style:solid}.ewl-supports-content-panel{background:var(--ewl-color-white);border-left:1px solid var(--ewl-color-border);z-index:10000;flex-direction:column;width:100%;max-width:400px;height:100%;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-10px 0 30px #00000014}.ewl-supports-content-panel.is-visible{transform:translate(0)}.ewl-supports-content-panel[hidden]{display:none!important}.ewl-supports-panel-header{border-bottom:1px solid var(--ewl-color-border);background:#f8fafc;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ewl-supports-panel-title{color:var(--ewl-color-primary);margin:0;font-size:16px;font-weight:800}.ewl-supports-panel-close{cursor:pointer;width:36px;height:36px;color:var(--ewl-color-text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:background-color .2s;display:flex}.ewl-supports-panel-close:hover{background-color:#0000000d}.ewl-supports-panel-body{flex-grow:1;padding:20px;overflow-y:auto}.ewl-supports-panel-body p{color:var(--ewl-color-text-muted);margin:0 0 16px;font-size:15px;line-height:1.6}.ewl-supports-vocab-list dt{color:var(--ewl-color-primary);margin-top:14px;font-size:16px;font-weight:800}.ewl-supports-vocab-list dd{color:var(--ewl-color-text-muted);margin:4px 0 12px;font-size:14.5px;line-height:1.5}.ewl-supports-vocab-visual{border:1px solid var(--ewl-color-border);color:var(--ewl-color-text);background:#f8fafc;border-radius:8px;margin-bottom:18px;padding:10px;font-size:13.5px;font-weight:500}.ewl-supports-example-text{white-space:pre-wrap;border:1px solid var(--ewl-color-border);color:var(--ewl-color-text);background:#f8fafc;border-radius:12px;margin:0;padding:16px;font-family:inherit;font-size:14.5px;line-height:1.6}.ewl-supports-link-model{background:var(--ewl-color-accent);min-height:48px;color:var(--ewl-color-white);border-radius:12px;justify-content:center;align-items:center;margin-top:12px;font-weight:700;text-decoration:none;transition:background-color .2s;display:flex}.ewl-supports-link-model:hover{background-color:var(--ewl-color-accent-hover)}.ewl-supports-panel-body h4{text-transform:uppercase;letter-spacing:.05em;color:var(--ewl-color-text-muted);border-bottom:1px solid var(--ewl-color-border);margin:20px 0 10px;padding-bottom:4px;font-size:14px;font-weight:800}.ewl-supports-panel-body ul{margin:0 0 16px;padding-left:20px}.ewl-supports-panel-body li{color:var(--ewl-color-text);margin-bottom:8px;font-size:14.5px;line-height:1.6}.ewl-supports-word-bank{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.ewl-supports-word-chip{color:var(--ewl-color-primary);background:#e2e8f0;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600}body.ewl-supports-focus-active #app{filter:grayscale(40%)opacity(30%);transition:filter .3s}body.ewl-supports-focus-active #app input,body.ewl-supports-focus-active #app button,body.ewl-supports-focus-active #app textarea,body.ewl-supports-focus-active #app [role=button]{filter:none!important;opacity:1!important}body.ewl-supports-focus-active [data-ewl-supports-root]{z-index:100000}@media (prefers-reduced-motion:reduce){.ewl-supports-dialog,.ewl-supports-content-panel,.ewl-supports-btn-teacher,body.ewl-supports-focus-active #app{transition:none!important;transform:none!important}.ewl-supports-dialog{transform:translate(-50%,-50%)!important}}@media (forced-colors:active){[data-ewl-supports-root] button,[data-ewl-supports-root] a{color:buttontext!important;background:buttonface!important;border:2px solid buttontext!important}.ewl-supports-word-chip{border:1px solid buttontext!important}}.ewl-supports-ruler{pointer-events:none;z-index:9997;background:#fde0472e;border-top:2px dashed #ca8a04;border-bottom:2px dashed #ca8a04;width:100%;height:48px;transition:opacity .15s;display:none;position:fixed;left:0;transform:translateY(-50%)}.ewl-supports-ruler.is-active{display:block}.ewl-supports-checkin-container{border:1px solid var(--ewl-color-border);background:#f8fafc;border-radius:16px;flex-direction:column;gap:12px;margin-top:14px;padding:16px;display:flex}.ewl-supports-checkin-title{color:var(--ewl-color-primary);text-align:center;margin:0;font-size:14px;font-weight:700}.ewl-supports-checkin-options{flex-direction:column;gap:10px;display:flex}.ewl-supports-checkin-btn{border:1px solid var(--ewl-color-border);background:var(--ewl-color-white);cursor:pointer;width:100%;min-height:56px;color:var(--ewl-color-text);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:14.5px;font-weight:700;transition:transform .2s,background-color .2s,border-color .2s;display:flex}.ewl-supports-checkin-btn:hover{border-color:var(--ewl-color-focus);background-color:#f1f5f9;transform:translateY(-2px)}.ewl-supports-checkin-btn.is-selected{color:#0369a1;background-color:#e0f2fe;border-color:#0284c7}.ewl-supports-checkin-btn span.emoji{flex-shrink:0;font-size:24px}.ewl-supports-checkin-feedback{color:#0369a1;background-color:#e0f2fe;border-radius:8px;margin-top:8px;padding:10px 14px;font-size:13.5px;font-weight:500;line-height:1.5}.ewl-supports-vocab-speak-btn{border:1px solid var(--ewl-color-border);background:var(--ewl-color-white);cursor:pointer;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:8px;font-size:14px;transition:background-color .2s,transform .1s;display:inline-flex}.ewl-supports-vocab-speak-btn:hover{background-color:#f1f5f9;transform:scale(1.05)}.ewl-supports-vocab-speak-btn:active{transform:scale(.95)}.ewl-supports-notepad-textarea{border:1px solid var(--ewl-color-border);width:100%;height:250px;color:var(--ewl-color-text);resize:vertical;background:#fff;border-radius:12px;padding:14px;font-family:inherit;font-size:15px;line-height:1.5;box-shadow:inset 0 2px 4px #00000005}.ewl-supports-notepad-textarea:focus{outline:3px solid var(--ewl-color-focus)!important;outline-offset:0!important}.ewl-supports-notepad-hint{color:var(--ewl-color-text-muted);margin-top:6px;font-size:12.5px;line-height:1.4}body.ewl-supports-comfort-active,body.ewl-supports-comfort-active [data-ewl-supports-root]{letter-spacing:.1em!important;word-spacing:.14em!important;line-height:1.8!important}@media print{body:not(.ewl-supports-print-enabled) [data-ewl-supports-root]{display:none!important}}@media (width<=480px){.ewl-supports-dialog{width:95%;max-height:90vh}.ewl-supports-dialog-body{padding:16px}.ewl-supports-content-panel{max-width:100%}.ewl-supports-tools-dock{inset:auto 12px 124px;transform:none}.ewl-supports-tools-inner{border-right:1px solid var(--ewl-color-border);border-radius:16px;justify-content:flex-start;max-height:46vh;padding:6px}}@media (width<=320px){.ewl-supports-btn-teacher{padding:8px 12px;font-size:13px}.ewl-supports-tool-btn{padding:0 8px;font-size:12px}}.ewl-supports-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.ewl-supports-backdrop{z-index:10000;opacity:0;background:#0f172a73;transition:opacity .2s;position:fixed;inset:0}.ewl-supports-backdrop.is-visible{opacity:1}.ewl-supports-backdrop[hidden]{display:none!important}body.ewl-supports-text-lg #app{zoom:1.12}body.ewl-supports-text-xl #app{zoom:1.25}.ewl-supports-presets{flex-direction:column;gap:8px;display:flex}.ewl-supports-presets-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ewl-color-text-muted);margin:0;font-size:12px;font-weight:800}.ewl-supports-presets-row{flex-wrap:wrap;gap:8px;display:flex}.ewl-supports-preset-chip{border:1px solid var(--ewl-color-border);min-height:40px;color:var(--ewl-color-primary);cursor:pointer;background:#f8fafc;border-radius:99px;padding:8px 14px;font-size:13.5px;font-weight:700;transition:background-color .2s,border-color .2s,transform .1s}.ewl-supports-preset-chip:hover{border-color:var(--ewl-color-accent);background:#eef2ff}.ewl-supports-preset-chip:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.ewl-supports-backdrop,.ewl-supports-preset-chip{transition:none!important}}@media (forced-colors:active){.ewl-supports-backdrop{background:#00000080}}.ewl-supports-btn-print{background:var(--ewl-color-teal,#0f766e);width:100%;color:var(--ewl-color-white)}.ewl-supports-btn-print:hover{background:#0d5c56}.ewl-supports-print-sheet{display:none}@media print{body.ewl-supports-printing>:not([data-ewl-supports-print-sheet]){display:none!important}body.ewl-supports-printing .ewl-supports-print-sheet{color:#000;background:#fff;margin:0;padding:0;font-family:Georgia,Times New Roman,serif;position:static;display:block!important}.ewl-supports-print-sheet h1{margin:0 0 8pt;font-size:20pt}.ewl-supports-print-sheet h2{border-bottom:1px solid #000;margin:14pt 0 4pt;padding-bottom:2pt;font-size:13pt}.ewl-supports-print-sheet dt{margin-top:6pt;font-weight:700}.ewl-supports-print-sheet dd{margin:0 0 4pt}.ewl-supports-print-sheet pre{white-space:pre-wrap;margin:0;font-family:inherit;font-size:11pt}.ewl-supports-print-sheet ul{margin:0;padding-left:18pt}.ewl-supports-print-sheet li{margin-bottom:4pt}.ewl-supports-print-sheet p{font-size:11pt}}.ewl-supports-tint{z-index:9996;pointer-events:none;mix-blend-mode:multiply;display:none;position:fixed;inset:0}body.ewl-supports-contrast-active #app{filter:contrast(1.35)saturate(1.1)}.ewl-supports-chip-btn{border:1px solid var(--ewl-color-border);min-height:40px;color:var(--ewl-color-primary);cursor:pointer;background:#f1f5f9;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:700;transition:background-color .2s,border-color .2s}.ewl-supports-chip-btn:hover{border-color:var(--ewl-color-accent);background:#e2e8f0}.ewl-supports-chip-btn.is-active{background:var(--ewl-color-primary);color:var(--ewl-color-white);border-color:var(--ewl-color-primary)}.ewl-supports-table-scroll{-webkit-overflow-scrolling:touch;margin:8px 0 16px;overflow-x:auto}.ewl-supports-mult-table{border-collapse:collapse;min-width:100%;font-size:13px}.ewl-supports-mult-table th,.ewl-supports-mult-table td{border:1px solid var(--ewl-color-border);text-align:center;min-width:34px;padding:6px 8px}.ewl-supports-mult-table th{color:var(--ewl-color-primary);background:#eef2ff;font-weight:800}.ewl-supports-mult-corner{background:var(--ewl-color-primary)!important;color:#fff!important}.ewl-supports-numberline{border:1px solid var(--ewl-color-border);background:#f8fafc;border-radius:12px;padding:16px 8px 8px}.ewl-supports-numberline-inner{border-top:3px solid var(--ewl-color-primary);align-items:flex-start;min-width:max-content;display:flex}.ewl-supports-nl-tick{flex-direction:column;align-items:center;min-width:42px;display:flex}.ewl-supports-nl-mark{background:var(--ewl-color-primary);width:2px;height:12px}.ewl-supports-nl-num{color:var(--ewl-color-text);margin-top:4px;font-size:13px;font-weight:700}.ewl-supports-nl-controls{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.ewl-supports-pv-table{border-collapse:collapse;min-width:100%;font-size:12.5px}.ewl-supports-pv-table th,.ewl-supports-pv-table td{border:1px solid var(--ewl-color-border);text-align:center;min-width:64px;height:40px;padding:8px 10px}.ewl-supports-pv-table th{color:var(--ewl-color-primary);background:#eef2ff;font-weight:800}.ewl-supports-pv-dot{font-weight:800;background:var(--ewl-color-primary)!important;color:#fff!important;min-width:20px!important}.ewl-supports-calc{max-width:280px}.ewl-supports-calc-display{border:1px solid var(--ewl-color-border);color:#fff;text-align:right;font-variant-numeric:tabular-nums;background:#0f172a;border-radius:10px;width:100%;min-height:48px;margin-bottom:10px;padding:10px 14px;font-size:24px;font-weight:700;display:block;overflow-x:auto}.ewl-supports-calc-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ewl-supports-calc-key{border:1px solid var(--ewl-color-border);min-height:48px;color:var(--ewl-color-text);cursor:pointer;background:#fff;border-radius:10px;font-size:18px;font-weight:700;transition:background-color .15s}.ewl-supports-calc-key:hover{background:#f1f5f9}.ewl-supports-calc-op{color:var(--ewl-color-accent);background:#eef2ff}.ewl-supports-calc-clear{color:#b91c1c;background:#fef2f2}.ewl-supports-checklist-add{gap:8px;margin-bottom:12px;display:flex}.ewl-supports-checklist-input{border:1px solid var(--ewl-color-border);border-radius:10px;flex:1;min-height:40px;padding:8px 12px;font-size:15px}.ewl-supports-checklist{margin:0;padding:0;list-style:none}.ewl-supports-checklist-item{border-bottom:1px solid var(--ewl-color-border);align-items:center;gap:10px;padding:8px 4px;display:flex}.ewl-supports-checklist-item input[type=checkbox]{flex-shrink:0;width:22px;height:22px}.ewl-supports-checklist-item label{cursor:pointer;flex:1;font-size:15px}.ewl-supports-checklist-item label.is-done{color:var(--ewl-color-text-muted);text-decoration:line-through}.ewl-supports-checklist-del{min-width:32px;min-height:32px;color:var(--ewl-color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:15px}.ewl-supports-checklist-del:hover{color:#b91c1c;background:#fef2f2}.ewl-supports-break-circle{color:#075985;background:radial-gradient(circle,#bae6fd 0%,#7dd3fc 70%,#38bdf8 100%);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:24px auto 8px;font-weight:700;animation:8s ease-in-out infinite ewl-supports-breathe;display:flex}.ewl-supports-break-cue{font-size:14px}.ewl-supports-break-timer{text-align:center;color:var(--ewl-color-primary);font-size:18px;font-weight:800}.ewl-supports-break-done{width:100%;margin-top:12px;display:block}@keyframes ewl-supports-breathe{0%,to{transform:scale(.7)}50%{transform:scale(1)}}.ewl-supports-dictate-btn{margin-top:10px}@media (prefers-reduced-motion:reduce){.ewl-supports-break-circle{animation:none!important}}@media (forced-colors:active){.ewl-supports-tint{display:none!important}}.ewl-supports-miscon-list{margin:0;padding:0;list-style:none}.ewl-supports-miscon-item{border:1px solid var(--ewl-color-border);background:#fffbeb;border-left:4px solid #f59e0b;border-radius:10px;margin-bottom:12px;padding:12px 14px}.ewl-supports-miscon-mistake{color:#92400e;margin:0 0 6px;font-size:14.5px;font-weight:700;line-height:1.5}.ewl-supports-miscon-tip{color:#065f46;margin:0;font-size:14px;line-height:1.5}.ewl-supports-btn-scorm{width:100%;color:var(--ewl-color-white);background:#7c3aed}.ewl-supports-btn-scorm:hover{background:#6d28d9}.ewl-supports-scorm-note{color:var(--ewl-color-text-muted);margin:-8px 0 0;font-size:12.5px;line-height:1.5}.ewl-supports-assign-root{flex-direction:column;gap:12px;margin:8px 0 16px;display:flex}.ewl-supports-assign-keyrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.ewl-supports-assign-key{border:1px solid var(--ewl-color-border);border-radius:8px;margin-left:6px;padding:6px 10px;font-size:14px}.ewl-supports-assign-consolelink{color:var(--ewl-color-primary);font-weight:700;text-decoration:none}.ewl-supports-assign-consolelink:hover{text-decoration:underline}.ewl-supports-assign-secrow,.ewl-supports-assign-sturow,.ewl-supports-assign-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ewl-supports-assign-sec{border:1px solid var(--ewl-color-border);cursor:pointer;background:#f1f5f9;border-radius:10px;min-width:64px;min-height:40px;padding:0 16px;font-size:15px;font-weight:800}.ewl-supports-assign-sec.is-active{background:var(--ewl-color-primary);color:var(--ewl-color-white);border-color:var(--ewl-color-primary)}.ewl-supports-assign-student,.ewl-supports-assign-add,.ewl-supports-assign-wida select{border:1px solid var(--ewl-color-border);border-radius:8px;min-height:40px;padding:6px 10px;font-size:15px}.ewl-supports-assign-wida{font-size:14px;font-weight:700}.ewl-supports-assign-groups{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.ewl-supports-assign-group{border:1px solid var(--ewl-color-border);border-radius:10px;margin:0;padding:8px 12px}.ewl-supports-assign-group legend{padding:0 6px;font-size:13px;font-weight:800}.ewl-supports-assign-item{cursor:pointer;align-items:center;gap:4px;min-height:36px;font-size:14px;display:flex}.ewl-supports-assign-item input{width:18px;height:18px}.ewl-supports-assign-status{color:var(--ewl-color-primary);font-size:13px;font-weight:700}.ewl-supports-selfpick-backdrop{z-index:10050;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ewl-supports-selfpick-card{background:var(--ewl-color-white);width:100%;max-width:440px;box-shadow:var(--ewl-shadow);border-radius:16px;max-height:85vh;padding:24px;overflow-y:auto}.ewl-supports-selfpick-card h2{margin:0 0 6px;font-size:22px}.ewl-supports-selfpick-card p{color:#475569;margin:0 0 14px;font-size:15px}.ewl-supports-selfpick-row{gap:10px;margin-bottom:12px;display:flex}.ewl-supports-selfpick-sec{border:2px solid var(--ewl-color-border);cursor:pointer;background:#f1f5f9;border-radius:12px;flex:1;min-height:52px;font-size:18px;font-weight:800}.ewl-supports-selfpick-sec.is-active{border-color:var(--ewl-color-primary);background:var(--ewl-color-primary);color:var(--ewl-color-white)}.ewl-supports-selfpick-list{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-bottom:14px;display:grid}.ewl-supports-selfpick-ini{border:1px solid var(--ewl-color-border);cursor:pointer;background:#fff;border-radius:10px;min-height:48px;font-size:16px;font-weight:800}.ewl-supports-selfpick-ini:hover{background:#eef2ff}.ewl-supports-selfpick-skip{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:underline}.ewl-supports-me-chip{border:1px dashed var(--ewl-color-border);min-height:34px;color:var(--ewl-color-text-muted);cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:10px;margin-bottom:4px;padding:4px 10px;font-size:12px;font-weight:800}.ewl-supports-me-chip:hover{color:var(--ewl-color-text);background:#eef2ff}.ewl-supports-assign-warn{color:#92400e;background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.ewl-supports-assign-device{color:var(--ewl-color-text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.ewl-supports-assign-device .ewl-supports-btn-action{flex:none;min-height:36px;padding:0 12px;font-size:12.5px}.ewl-adapt-toast-region{z-index:10040;pointer-events:none;width:min(440px,100vw - 32px);position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.ewl-adapt-toast{pointer-events:auto;color:#f8fafc;background:#1e293b;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:15px;line-height:1.35;animation:.25s ease-out ewl-adapt-toast-in;display:flex;box-shadow:0 8px 24px #0f172a59}@keyframes ewl-adapt-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ewl-adapt-toast-btn{color:#064e3b;cursor:pointer;background:#34d399;border:0;border-radius:10px;flex:none;min-height:36px;padding:8px 12px;font-size:13.5px;font-weight:700}.ewl-adapt-toast-btn:hover{background:#6ee7b7}.ewl-adapt-toast-close{color:#cbd5e1;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;min-width:32px;min-height:32px;font-size:14px}.ewl-adapt-toast-close:hover{background:#ffffff1f}.ewl-adapt-time-pill,.ewl-adapt-workload-pill{z-index:9995;color:#065f46;pointer-events:none;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;position:fixed;bottom:14px;left:14px;box-shadow:0 2px 8px #0f172a1f}.ewl-adapt-workload-pill{color:#1e40af;background:#eff6ff;border-color:#bfdbfe;bottom:54px}body.ewl-adapt-chunk main .card:not(:hover):not(:focus-within){opacity:.55;transition:opacity .2s}body.ewl-adapt-chunk main .card:hover,body.ewl-adapt-chunk main .card:focus-within{opacity:1}body.ewl-adapt-highlighting main{cursor:text}mark.ewl-adapt-mark{cursor:pointer;background:#fde68a;border-radius:3px;padding:0 1px}.ewl-adapt-panel{z-index:10035;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;width:min(400px,100vw - 28px);max-height:min(70vh,560px);display:flex;position:fixed;bottom:14px;right:14px;overflow:auto;box-shadow:0 12px 32px #0f172a47}.ewl-adapt-panel-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.ewl-adapt-panel-head h3{margin:0;font-size:16px}.ewl-adapt-panel-close{cursor:pointer;background:#f1f5f9;border:0;border-radius:8px;min-width:34px;min-height:34px;font-size:14px}.ewl-adapt-panel-body{padding:12px 14px;font-size:15px;line-height:1.5}.ewl-adapt-dir-heading{margin:0 0 8px;font-weight:700}.ewl-adapt-dir-steps{margin:0 0 10px;padding-left:22px}.ewl-adapt-dir-steps li{margin:6px 0}.ewl-adapt-dir-row{flex-wrap:wrap;gap:8px;display:flex}.ewl-adapt-dir-row .ewl-adapt-toast-btn{color:#fff;background:#2563eb}.ewl-adapt-dir-row .ewl-adapt-toast-btn:hover{background:#3b82f6}.ewl-adapt-organizer{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=480px){.ewl-adapt-organizer{grid-template-columns:1fr}}.ewl-adapt-organizer-cell{color:#334155;flex-direction:column;gap:4px;font-size:13px;font-weight:700;display:flex}.ewl-adapt-organizer-cell textarea{width:100%;font:inherit;resize:vertical;border:1px solid #cbd5e1;border-radius:10px;min-height:64px;padding:8px;font-weight:400}.ewl-adapt-organizer-hint{color:#64748b;margin:10px 0 0;font-size:12.5px}.ewl-supports-mylessons-chip{color:#3730a3;cursor:pointer;background:#eef2ff;border:0;border-radius:10px;padding:6px 8px;font-size:12px;font-weight:700;line-height:1.2}.ewl-supports-mylessons-chip:hover{background:#e0e7ff}.ewl-supports-mylessons-chip.is-here{color:#065f46;background:#ecfdf5}.ewl-supports-mylessons-pop{z-index:10035;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:min(340px,100vw - 90px);max-height:70vh;padding:14px;position:fixed;top:50%;right:64px;overflow:auto;transform:translateY(-50%);box-shadow:0 12px 32px #0f172a47}.ewl-supports-mylessons-pop h3{margin:0 0 8px;font-size:16px}.ewl-supports-mylessons-pop ul{margin:0 0 10px;padding-left:18px}.ewl-supports-mylessons-pop li{margin:6px 0;font-size:14.5px}.ewl-supports-mylessons-pop a{color:#2563eb}.ewl-supports-mylessons-pop strong{color:#065f46}.ewl-supports-mylessons-status{color:var(--ewl-color-text-muted);white-space:nowrap;margin-left:6px;font-size:12.5px}.ewl-supports-mylessons-status.is-done{color:#065f46;font-weight:600}.ewl-supports-talk-tier{margin:8px 0 12px}.ewl-supports-talk-tier h5{color:var(--ewl-color-primary);margin:0 0 4px;font-size:14px}.ewl-supports-talk-tier ul{margin:0;padding-left:18px}.ewl-supports-talk-tier li{margin:4px 0}.ewl-supports-talk-es{color:var(--ewl-color-text-muted);font-size:12.5px;display:block}.ewl-supports-assign-lessonrow label{align-items:center;gap:8px;font-weight:600;display:flex}.ewl-supports-tools-dock--teacher-hidden{display:none!important}.ewl-supports-math-dock{z-index:9999;position:fixed;top:calc(50% + 104px);right:0}.ewl-supports-math-tab{writing-mode:vertical-rl;color:#fff;letter-spacing:.01em;cursor:pointer;min-width:44px;min-height:44px;box-shadow:var(--ewl-shadow);background:#0f766e;border:1px solid #ffffff1f;border-right:none;border-radius:14px 0 0 14px;align-items:center;gap:8px;padding:16px 10px;font-size:15px;font-weight:700;transition:transform .2s,background-color .2s;display:flex}.ewl-supports-math-tab:hover{background-color:#115e57;transform:translate(-3px)}.ewl-supports-btn-teacher,.ewl-supports-math-tab{flex-direction:column;justify-content:center}body.nt-overlays-compact .ewl-supports-tab-label{display:none}body.nt-overlays-compact .ewl-supports-btn-teacher,body.nt-overlays-compact .ewl-supports-math-tab{opacity:.68;min-height:0;padding:10px 6px;font-size:18px}body.nt-overlays-compact .ewl-supports-btn-teacher:hover,body.nt-overlays-compact .ewl-supports-math-tab:hover{opacity:1}body.nt-overlays-compact .ewl-supports-math-dock{top:calc(50% + 60px)}.ewl-supports-min-toggle{z-index:9601;border:1px solid var(--ewl-color-border,#cbd5e1);width:34px;height:34px;color:var(--ewl-color-primary,#1e293b);cursor:pointer;background:#fffffff0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:transform .15s,background-color .15s;display:inline-flex;position:fixed;top:54px;right:12px;box-shadow:0 2px 8px #12355b2e}.ewl-supports-min-toggle:hover{background:#fff;transform:scale(1.06)}.ewl-supports-min-toggle[aria-pressed=true]{background:var(--ewl-color-primary,#1e293b);color:#fff;border-color:#0000}@media print{.ewl-supports-min-toggle{display:none}}body.nt-overlays-compact .mode-toggle-pill.is-teacher{opacity:.8}body.nt-overlays-compact .mode-toggle-pill.is-teacher:hover{opacity:1}body.nt-overlays-compact .mode-toggle-pill.is-teacher .mode-toggle-action{display:none}body.nt-overlays-compact .mode-toggle-pill.is-teacher .mode-toggle-state{font-size:0}body.nt-overlays-compact .mode-toggle-pill.is-teacher .mode-toggle-state:after{content:"👩‍🏫";font-size:16px}.ewl-supports-math-panel{background:var(--ewl-color-white);border:1px solid var(--ewl-color-border);width:250px;max-height:70vh;box-shadow:var(--ewl-shadow);border-radius:14px;padding:14px 16px;position:absolute;top:0;right:46px;overflow-y:auto}.ewl-supports-math-panel[hidden]{display:none!important}.ewl-supports-math-title{color:#0f766e;margin:0 0 2px;font-size:16px;font-weight:800}.ewl-supports-math-sub{color:#64748b;margin:0 0 10px;font-size:12.5px}.ewl-supports-math-list{flex-direction:column;gap:2px;display:flex}.ewl-supports-math-item{color:var(--ewl-color-primary);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:7px 8px;font-size:14px;font-weight:600;display:flex}.ewl-supports-math-item:hover{background:#f0fdfa}.ewl-supports-math-check{accent-color:#0f766e;cursor:pointer;flex:none;width:18px;height:18px}@media (width<=480px){.ewl-supports-math-panel{width:min(250px,80vw)}}*,:before,:after{box-sizing:border-box}img,svg,video,canvas,iframe,embed,object{max-width:100%}img,svg,video,canvas{height:auto}@media (width<=760px){img,svg,video,canvas,table,pre,input,select,textarea{max-width:100%}body{overflow-wrap:break-word;word-break:break-word}table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.topbar{flex-wrap:wrap;row-gap:8px}.topbar .level-selector{flex-wrap:wrap;row-gap:4px}.topbar .pill-group{flex-wrap:wrap}main.sheet{padding:28px 18px}}@media (width<=640px),(pointer:coarse){a.btn,.btn,.button,input[type=button],input[type=submit],input[type=reset],select,summary,[class*=tab-btn],nav a{min-height:44px}a.btn,.btn,.button{justify-content:center;align-items:center;display:inline-flex}#welcome-resource-links a,.resource-links a,.lesson-links a,.links-row a,footer nav a{align-items:center;min-height:40px;padding:6px 8px;display:inline-flex}}
/*$vite$:1*/