@font-face{font-family:Nunito;src:url('fonts/nunito-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url('fonts/nunito-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Nunito;src:url('fonts/nunito-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url('fonts/nunito-800.ttf') format('truetype');font-weight:800;font-display:swap}@font-face{font-family:Nunito;src:url('fonts/nunito-900.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--navy:#163556;--ink:#183953;--blue:#276be2;--orange:#f6a01b;--bg:#f5f7fc;--muted:#617692;--line:#dce5f2;--green:#137c54;--red:#b73c44;--shadow:0 7px 26px #17395b08;font-family:Nunito,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:#245cba;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #f0a52d;outline-offset:4px}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(1.8rem,3.1vw,2.65rem);font-weight:900;letter-spacing:-.035em;line-height:1.2}h2{font-size:1.4rem;font-weight:900;line-height:1.35}h3{font-size:1.15rem;font-weight:900;line-height:1.45}p{margin:.75em 0}small{font-size:.8rem}button{border:0}.primary,.secondary,.quiet,.map-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border-radius:12px;padding:12px 19px;font-weight:800;font-size:.95rem;line-height:1.5}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 12px #276be21b}.primary:hover{background:#1d57bf}.secondary{background:#fff;border:1px solid #cbd9ed;color:var(--navy)}.secondary:hover{background:#edf3ff}.quiet{background:transparent;color:var(--muted);padding:9px 11px}.quiet:hover{background:#eaf0fa;color:var(--navy)}.small{padding:9px 13px;font-size:.85rem}.eyebrow{font-size:.68rem;letter-spacing:.15em;font-weight:900;color:#5778a3;display:block;margin-bottom:9px;text-transform:uppercase}.badge{display:inline-block;border-radius:8px;background:#fff0d7;color:#855715;padding:6px 11px;font-size:.74rem;font-weight:900}.muted{color:var(--muted);font-size:.86rem}.card{background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.padded{padding:30px;margin-bottom:24px}.narrow{max-width:880px}.prewrap{white-space:pre-wrap}.container{width:min(1320px,calc(100% - 64px));margin:40px auto 60px}.loading{min-height:90vh;display:grid;place-content:center;text-align:center}.loading img{width:150px;margin:auto}.topbar{height:88px;display:flex;align-items:center;padding:8px max(32px,calc((100vw - 1320px)/2));gap:28px;background:white;border-bottom:1px solid var(--line)}.brand{display:block;flex:none}.brand img{width:120px;height:76px;object-fit:contain;display:block}.school{display:flex;flex-direction:column;line-height:1.5;font-size:.8rem;padding-left:25px;border-left:1px solid var(--line)}.school span{color:var(--muted)}.topbar nav{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:.85rem;font-weight:800}.topbar nav a{color:var(--muted)}.topbar nav a.selected{color:var(--blue)}.site-footer{display:flex;justify-content:space-between;gap:20px;max-width:1320px;margin:30px auto;padding:20px 32px;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line)}.site-footer b{color:var(--navy);font-size:1rem}.site-footer b span{color:#ee9613;margin-left:3px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;border:1px solid #d4e2f6;background:#edf4ff;border-radius:27px;padding:36px 40px;gap:40px;min-height:310px}.hero h1{font-size:clamp(2rem,3.8vw,3.2rem)}.hero p{color:#4e6c8a}.hero-actions{display:flex;gap:12px;margin:24px 0}.hero small{color:#607693}.wave{color:var(--orange)}.hero-art{position:relative;max-width:450px;justify-self:end;transform:rotate(-2deg)}.hero-art img{width:100%;display:block;border-radius:18px;box-shadow:0 15px 36px #21497f13}.floating-label{position:absolute;bottom:10px;right:-12px;padding:8px 16px;background:white;border:1px solid #d7e2f0;box-shadow:0 6px 16px #23456a10;border-radius:10px;color:var(--navy);font-size:.8rem;font-weight:900;transform:rotate(2deg)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0 36px}.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:21px 23px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow)}.stat>span{font-size:.8rem;color:var(--muted);font-weight:700}.stat>strong{font-size:1.8rem;font-weight:900;color:var(--navy);line-height:1.4}.stat>small{font-size:.71rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 22px}.section-heading p{font-size:.9rem;color:var(--muted);margin-bottom:0}.section-heading .badge{flex:none}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stage-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;color:var(--ink);transition:transform .2s,box-shadow .2s}.stage-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #17395b13}.stage-cover{position:relative;height:185px;overflow:hidden;background:#e9f2ff}.stage-cover img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.stage-cover>span{position:absolute;left:15px;top:15px;background:white;border-radius:8px;padding:3px 9px;font-size:.65rem;letter-spacing:.12em;font-weight:900}.stage-body{padding:22px}.stage-body p{font-size:.84rem;color:var(--muted);min-height:43px;margin-bottom:20px}.progress-line{height:6px;background:#edf1f8;overflow:hidden;border-radius:6px}.progress-line span{background:var(--blue);height:100%;display:block}.stage-body small{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:.75rem}.stage-body small b{color:var(--blue);font-size:1rem}.task-note{margin:25px 0;padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;gap:20px;align-items:center;justify-content:space-between}.task-note p{font-size:.85rem;color:var(--muted)}.task-note>.secondary{flex:none}.auth{max-width:1220px;min-height:100vh;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:35px 45px}.auth-story>img:first-child{width:160px;margin-bottom:30px}.auth-story h1{font-size:clamp(2.3rem,4vw,3.5rem)}.auth-story>p{color:var(--muted);max-width:460px}.auth-art{width:85%;max-width:420px;display:block;transform:rotate(-2deg);margin-top:26px;border-radius:22px}.auth-form{padding:35px}.auth-form h2{margin:25px 0}.tabs{display:flex;gap:4px;background:#edf2fa;padding:5px;border-radius:12px}.tabs button{background:transparent;flex:1;padding:9px 4px;color:var(--muted);font-size:.8rem;font-weight:800;border-radius:9px}.tabs button.active{color:var(--navy);background:white;box-shadow:0 2px 4px #17395b0a}label{display:block;font-weight:800;font-size:.85rem}form>label{margin:15px 0}input,select,textarea{max-width:100%;border:1px solid #cbd8eb;border-radius:10px;background:white;color:var(--navy);padding:11px 12px;min-width:0;outline:0}label>input,label>select,label>textarea{display:block;width:100%;margin-top:6px}input:focus,select:focus,textarea:focus{border-color:#4d8aed;box-shadow:0 0 0 3px #3179e91a}textarea{width:100%;resize:vertical;line-height:1.7}form>.primary{margin-top:15px}.auth-form form>.primary{width:100%}.form-error{color:var(--red);font-size:.85rem;margin-top:12px}.mission-page{max-width:1440px;margin:0 auto;padding:0 32px 30px}.mission-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);gap:16px}.mission-nav>.quiet{justify-self:start}.mission-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px}.mission-pager>a:last-child{justify-self:end}.map-button{background:white;border:1px solid var(--line);font-size:.8rem;gap:12px}.map-button>b{font-size:.73rem;border-radius:6px;background:#eef3fb;padding:3px 5px}.save-state{text-align:right;font-size:.73rem;color:var(--muted)}.mission-title{margin:27px 0}.mission-title h1{font-size:2rem}.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.panel-heading{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:21px 25px;border-bottom:1px solid var(--line);background:#f8faff}.panel-heading h2{font-size:1.15rem}.material .panel-heading{justify-content:flex-start}.panel-symbol{color:#4475b7;font-size:1.5rem}.mission .panel-heading{justify-content:flex-start}.panel-heading .eyebrow{font-size:.57rem;margin-bottom:4px}.mission-number{background:#ffedbe;color:#895c18;font-weight:900;border-radius:12px;padding:10px 12px;font-size:.85rem}.illustration-button{display:block;width:100%;padding:0;background:white;color:#3264b1;text-align:right}.illustration-button img{width:100%;height:auto;display:block}.illustration-button>span{display:block;font-size:.74rem;font-weight:900;padding:9px 20px;border-bottom:1px solid var(--line)}.lesson-text{padding:25px}.lesson-text h3{font-size:1.08rem}.lesson-text p{font-size:.92rem;line-height:1.9}.example{padding:15px 17px;background:#edf4ff;border-left:3px solid #79a5ed;border-radius:0 10px 10px 0;margin-top:18px}.example>b{font-size:.8rem}.example p{font-size:.86rem;margin:5px 0}.glossary{margin:0 25px 25px}.glossary summary,.help summary{display:flex;justify-content:space-between;font-size:.82rem;font-weight:900;color:#486a97;cursor:pointer}.glossary dl{font-size:.84rem}dt{font-weight:900;margin-top:12px}dd{margin:4px 0 13px;color:var(--muted)}.mission-body{padding:25px}.prompt{font-size:1.05rem;font-weight:800;line-height:1.95;margin:0 0 26px}.table-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.82rem}th,td{padding:13px 15px;border-bottom:1px solid #e2e9f4;text-align:left;vertical-align:middle}thead th{background:#1b3d56;color:white;font-size:.76rem;font-weight:900}thead th:first-child{border-top-left-radius:11px}thead th:last-child{border-top-right-radius:11px}tbody tr:last-child>td,tbody tr:last-child>th{border-bottom:0}tbody tr:nth-child(even){background:#f8faff}tbody th{font-weight:800}.answer-table{border:1px solid #d6e1f3;border-radius:12px;overflow:hidden}.answer-table tbody th{width:49%;font-size:.86rem;background:#f3f6fc}.answer-table td{padding:10px}.answer-table select{width:100%;font-size:.86rem;min-width:150px}.number-field{display:flex;align-items:center;border:1px solid #cbd8eb;border-radius:10px;background:white;padding-left:10px;gap:5px;min-width:150px}.number-field>span{font-size:.72rem;color:var(--muted)}.number-field input{width:100%;border:0;box-shadow:none;padding-left:4px;text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.number-field:focus-within{box-shadow:0 0 0 3px #3179e91a;border-color:#4d8aed}.choices{display:grid;gap:12px}.choice{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #d4dff0;border-radius:13px;background:#fbfcff;font-size:.91rem;font-weight:700;cursor:pointer}.choice:has(input:checked){background:#eaf2ff;border-color:#6797e7}.choice input{accent-color:var(--blue);width:18px;height:18px;flex:none}.option-letter{background:white;border:1px solid #d4dff0;border-radius:7px;width:29px;height:29px;display:grid;place-items:center;flex:none;font-size:.77rem}.journal-toolbar{display:flex;justify-content:space-between;gap:12px;font-size:.83rem;background:#edf3fc;padding:13px 15px;border-radius:10px 10px 0 0}.journal-toolbar span{font-size:.7rem;color:var(--muted)}.journal{min-width:460px;font-size:.78rem}.journal th,.journal td{padding:9px 6px}.journal th:first-child{width:46%}.journal th:not(:first-child){width:27%;text-align:right}.journal select{width:100%;font-size:.78rem;padding:10px 5px}.journal input{width:100%;padding:10px 6px;text-align:right;font-size:.82rem;min-width:90px;font-variant-numeric:tabular-nums;font-weight:700}.journal-date th{background:#eaf0fb;color:#46668a;font-size:.7rem;text-align:left!important}.journal tfoot th,.journal tfoot td{background:#edf3fc;font-weight:900;text-align:right;font-variant-numeric:tabular-nums}.row-correct td,.row-correct th{box-shadow:inset 0 -2px #83bca5}.row-wrong td,.row-wrong th{box-shadow:inset 0 -2px #d99a9e}.help{margin:22px 0;padding:14px 16px;background:#f3f6fb;border-radius:11px}.help p{font-size:.85rem}.answer-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0 11px}.answer-actions+.muted{font-size:.72rem}.feedback{border-radius:13px;padding:18px;margin:22px 0 0;font-size:.86rem}.feedback b{font-weight:900}.feedback p{line-height:1.9}.success{background:#eaf5ef;color:#14764f}.retry{background:#fff0f0;color:#913941}.reflection{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.reflection p{font-size:.85rem;color:var(--muted)}.source-notes{margin:28px 0 0;color:var(--muted);font-size:.76rem}.source-notes summary{cursor:pointer;font-weight:800}.source-notes p{max-width:1050px}.status{display:inline-block;border-radius:7px;padding:4px 8px;background:#edf2fa;font-size:.7rem;white-space:nowrap}.status.success{color:var(--green);background:#e9f5ee}dialog{border:1px solid var(--line);border-radius:24px;padding:28px;width:min(860px,calc(100% - 32px));max-height:88vh;color:var(--ink);box-shadow:0 30px 100px #10284644}dialog::backdrop{background:#102b4b88;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:20px}.close-dialog{border:1px solid var(--line);background:#f2f6fc;color:var(--navy);border-radius:10px;width:38px;height:38px;font-size:1.1rem;flex:none}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 25px}.map-item{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:.8rem;border:1px solid var(--line);border-radius:12px;padding:12px}.map-item>span{background:#edf3ff;padding:6px 9px;border-radius:8px;font-weight:900}.map-item>b{margin-left:auto}.map-item.done{border-color:#a9cbbb}.map-item.done>b{color:var(--green)}.map-item.current{border:2px solid var(--blue);background:#edf3ff}#image-view{width:min(1100px,calc(100% - 24px));padding:18px}#image-view img{width:100%;display:block;margin-top:14px}.key-art{max-width:100%;max-height:320px;display:block;margin:auto}.teacher-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:25px;overflow-x:auto}.teacher-tabs button{padding:13px 17px;background:transparent;font-size:.87rem;white-space:nowrap;color:var(--muted);font-weight:800;border-bottom:3px solid transparent}.teacher-tabs button.active{color:var(--blue);border-color:var(--blue)}.filter{min-width:170px;color:var(--muted);font-size:.75rem}.filter select{font-size:.85rem}.text-button{background:transparent;color:#245cba;font-weight:800;font-size:inherit;text-align:left;padding:0}.text-button:hover{text-decoration:underline}.class-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.class-code{letter-spacing:.16em;color:var(--blue);font-size:1.15rem}.form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.check-grid label{display:flex;align-items:flex-start;gap:9px;font-size:.77rem;background:#f5f8fd;padding:9px;border-radius:8px;font-weight:700}.check-grid input{margin-top:4px;accent-color:var(--blue)}details>summary{cursor:pointer}details.history{padding:13px 0;border-bottom:1px solid var(--line);font-size:.85rem}details.history>summary{display:flex;justify-content:space-between;gap:15px}details.history details{background:#f4f7fc;padding:12px;margin-top:10px;border-radius:9px}#mission-map .task-note{display:block}#mission-map .task-note input{max-width:200px}.curriculum{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:25px 0}.curriculum>div{border-left:3px solid #8bb2ed;padding-left:20px}.document-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 35px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);max-width:calc(100% - 30px);padding:13px 22px;border-radius:13px;background:var(--navy);color:white;box-shadow:0 8px 30px #17395b30;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:10000;font-size:.85rem}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#9a3744}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.learning-grid{gap:32px}.mission-body,.lesson-text{padding:30px}.mission-page{padding-left:40px;padding-right:40px}}@media(max-width:1000px){.container{width:calc(100% - 40px)}.hero{gap:20px;padding:28px}.stats{gap:10px}.stat{padding:18px 15px}.stat>strong{font-size:1.5rem}.stage-grid{gap:16px}.stage-body{padding:18px}.school{display:none}.auth{gap:35px;padding:35px}.mission-page{padding:0 20px 25px}.mission-nav{grid-template-columns:1fr auto}.mission-nav>.quiet{display:none}.save-state{text-align:right}.learning-grid{gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel-heading{padding:18px}.mission-body,.lesson-text{padding:20px}.prompt{font-size:1rem}.journal{min-width:420px}.learning-grid>.card{min-width:0}.journal input{min-width:80px}.mission-pager{gap:8px}.map-button{padding:10px;font-size:.75rem}.stage-cover{height:155px}}@media(max-width:760px){.topbar{height:75px;padding:7px 18px;gap:10px}.brand img{width:100px;height:62px}.topbar nav{gap:14px;font-size:.78rem}.topbar nav .quiet{font-size:.78rem;padding:8px}.container{margin:25px auto 40px;width:calc(100% - 30px)}.hero{grid-template-columns:1fr;padding:26px;gap:25px}.hero h1{font-size:2.1rem}.hero-art{max-width:340px;justify-self:center}.hero-actions{flex-wrap:wrap;margin:20px 0}.hero-art .floating-label{right:-5px}.stats{grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0 28px}.stat>strong{font-size:1.6rem}.stat>small{font-size:.68rem}.stage-grid{grid-template-columns:repeat(2,1fr);gap:14px}.stage-cover{height:150px}.stage-body h3{font-size:1rem}.stage-body p{font-size:.77rem;min-height:60px}.section-heading{align-items:flex-start;flex-wrap:wrap}.task-note{display:block;padding:23px}.task-note>.secondary{margin-top:10px}.site-footer{flex-direction:column;margin-top:20px;padding:20px}.auth{grid-template-columns:1fr;gap:25px;padding:25px 20px;max-width:600px}.auth-story>img:first-child{width:125px;margin-bottom:18px}.auth-story h1{font-size:2.3rem}.auth-art{display:none}.auth-form{padding:25px}.auth-story>p{font-size:.9rem}.mission-page{padding:0 15px 25px}.mission-nav{display:block;padding:13px 0}.mission-pager{grid-template-columns:1fr auto 1fr;gap:8px}.mission-pager .small{padding:10px 9px;font-size:.74rem}.mission-pager .small span{display:none}.map-button{padding:9px 13px}.save-state{display:block;font-size:.65rem;margin-top:9px}.mission-title{margin:21px 0}.mission-title h1{font-size:1.65rem}.learning-grid{grid-template-columns:1fr;gap:20px}.panel-heading{padding:17px 20px}.mission-body,.lesson-text{padding:22px}.glossary{margin:0 22px 22px}.prompt{font-size:1.04rem;line-height:1.9}.journal{min-width:440px}.answer-table tbody th{font-size:.8rem}.answer-table th,.answer-table td{padding:10px}.answer-table select{font-size:.8rem}.answer-actions .primary{flex:1}.answer-actions button{font-size:.83rem}.class-grid,.curriculum{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.teacher-tabs button{padding:12px 13px}.padded{padding:23px}.filter{max-width:100%;width:100%}.map-grid{grid-template-columns:1fr}dialog{padding:22px}.dialog-heading h2{font-size:1.15rem}table{min-width:620px}.answer-table{min-width:0}.answer-table select{min-width:120px}.number-field{min-width:125px}.journal{min-width:440px}}
@media(max-width:400px){.stage-grid{grid-template-columns:1fr}.stage-cover{height:190px}.stage-body p{min-height:0}.auth-story h1{font-size:2rem}.mission-body{padding:18px}.map-button{font-size:.7rem}.answer-table tbody th{width:45%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.stock-card{min-width:520px}.stock-card th,.stock-card td{padding:9px 7px}.stock-card input{font-size:.8rem}.stock-card .number-field{min-width:90px}.stock-card td:nth-child(4){width:95px}.stock-card td:last-child{width:155px}.stock-card td:nth-child(2),.stock-card td:nth-child(3){text-align:center}.stock-card tbody th{font-size:.75rem}h1,h2,h3,p,td,th{overflow-wrap:anywhere}
.number-field>span{white-space:nowrap;flex:0 0 auto}.stock-card td:last-child .number-field{min-width:165px}.primary.small,.secondary.small{min-width:44px;min-height:44px}
.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.module-card{color:var(--ink);transition:transform .2s}.module-card:hover{transform:translateY(-4px)}.module-cover{height:240px;position:relative;background:#edf4ff;overflow:hidden}.module-cover img{width:100%;height:100%;object-fit:cover;object-position:top}.module-cover .badge{position:absolute;top:17px;left:17px;background:white}.module-card .stage-body p{min-height:0}.module-breadcrumb{display:flex;justify-content:space-between;gap:20px;font-size:.8rem;margin-top:22px}.module-switch{display:flex;align-items:center;gap:22px;background:#eaf1fc;padding:17px 21px;border-radius:15px;margin:20px 0}.module-switch label{min-width:320px}.module-switch select{font-size:.9rem}.grid-table{min-width:480px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.grid-table tbody th{font-size:.85rem;background:#f3f6fc;min-width:165px}.grid-table input,.grid-table select{width:100%;font-size:.82rem;min-width:125px}.grid-table td{padding:9px}.grid-table th{padding:13px}.grid-table .number-field{min-width:135px}.activity-type{margin-bottom:15px;font-size:.9rem;color:#41678b}.grid-table .number-field input{min-width:80px}.grid-table input[type=date]{min-width:145px}.tile-bank{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.match-tile[aria-pressed=true]{border-color:var(--blue);background:#e7f0ff}.match-tile{font-size:.76rem;cursor:grab}.bank-help{margin:12px 0 20px;font-size:.84rem}.matrix-radio{min-width:420px}.matrix-radio tbody th{width:55%}.matrix-radio th:not(:first-child){text-align:center;min-width:100px}.matrix-radio td{padding:6px}.matrix-radio td label{display:grid;place-items:center;padding:13px;border:1px solid transparent;border-radius:10px;cursor:pointer}.matrix-radio td:has(input:checked) label{background:#e0ecff;border-color:#7ea8ef}.matrix-radio input[type=radio]{width:21px;height:21px;min-width:0;accent-color:var(--blue);cursor:pointer}.manual-note{padding:17px 19px;border-radius:12px;background:#eef4ff;margin:15px 0;font-size:.85rem}.manual-summary{margin:20px 0}.learner-tools{display:flex;align-items:flex-start;gap:25px;margin:24px 0;font-size:.82rem}.learner-tools details{flex:1}.learner-tools textarea{margin:12px 0}.learner-tools summary{font-weight:800;color:#527298}.phase-block{margin:25px 0;padding:24px;background:#f7faff;border-radius:16px}.curriculum-element{padding:16px 0;border-bottom:1px solid #dce5f2;font-size:.9rem}.curriculum-element summary{font-weight:900}.catalog-module{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:13px 0;padding:17px;background:white;border:1px solid var(--line);border-radius:12px}.catalog-module .badge{flex:none;max-width:230px;font-size:.67rem}.catalog-module .eyebrow{font-size:.62rem;margin-bottom:5px}.tp-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:.77rem;margin:15px 0}.tp-list span{padding:10px;background:#eef4fc;border-radius:8px}.archive-filters{display:grid;grid-template-columns:1fr 1.5fr 1fr 2fr;gap:12px;margin-bottom:24px}.upload-doc{margin-top:25px;padding:20px;background:#f5f8fd;border-radius:13px}.upload-doc summary{font-weight:900}.plan-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:.9rem}.plan-row>div:last-child{display:flex;gap:10px;flex:none}.plan-edit{margin:30px 0;padding-top:25px;border-top:1px solid var(--line)}#allocation-editor{padding-top:30px}.inline-check{display:flex;align-items:flex-start;gap:12px;margin-top:20px}.inline-check input{flex:none;width:auto}.manual-review-form{padding:15px;background:#f6f9fe;border-radius:12px;margin-top:16px}.manual-review-form label{margin:12px 0}.error-text{color:var(--red)}
@media(max-width:760px){.module-grid{grid-template-columns:1fr}.module-cover{height:220px}.module-switch{display:block;padding:17px}.module-switch label{min-width:0}.module-switch span{font-size:.73rem;display:block;margin-top:10px}.archive-filters{grid-template-columns:1fr 1fr}.catalog-module{align-items:flex-start;flex-direction:column;gap:12px}.catalog-module .badge{max-width:100%}.phase-block{padding:17px}.learner-tools{flex-direction:column;gap:15px}.learner-tools details{width:100%}.tp-list{grid-template-columns:1fr}.plan-row{align-items:flex-start;flex-direction:column}.module-breadcrumb{font-size:.7rem}.grid-table input,.grid-table select{font-size:.78rem}.grid-table tbody th{min-width:140px;font-size:.78rem}.manual-note{font-size:.8rem}.matrix-radio td label{padding:12px}.matrix-radio{min-width:410px}}

/* Brief appreciation, then continue; completed work stays readable. */
.completed-answer input:disabled,.completed-answer select:disabled,.completed-answer textarea:disabled{opacity:1;color:#19364f;-webkit-text-fill-color:#19364f;background-color:#f1f5fc;cursor:default}
.completed-answer input[type=radio]:disabled,.completed-answer input[type=checkbox]:disabled{opacity:1;accent-color:#2563eb}
.completed-answer .match-tile{cursor:default}
.completed-note details{margin-top:12px}.completed-note summary{cursor:pointer;font-weight:800}
.completion-celebration{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(13,32,62,.55);padding:20px;backdrop-filter:blur(4px)}
.completion-card{width:min(420px,100%);padding:32px 26px;text-align:center;background:white;border-radius:28px;box-shadow:0 24px 80px #10253b55;animation:completion-pop .3s ease-out}
.completion-card h2{margin:16px 0 8px;color:#15355c}.completion-card p{color:#4a6280}.completion-tick{margin:auto;display:grid;place-items:center;width:80px;height:80px;border-radius:50%;font-size:44px;font-weight:900;color:#13764a;background:#e4f6ed;border:5px solid #b5e8ce}
.completion-track{height:6px;overflow:hidden;border-radius:6px;background:#e5ecf7;margin:22px 0 12px}.completion-track span{display:block;height:100%;background:#2563eb;transform-origin:left;animation:completion-progress 2s linear forwards}.completion-card button{white-space:normal}
@keyframes completion-pop{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes completion-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.completion-card,.completion-track span{animation:none}.completion-track span{width:100%}}
.completed-answer [hidden]{display:none!important}

.attempt-notice{padding:10px 14px;background:#edf3ff;border-radius:12px;font-size:.85rem;font-weight:800;color:#254c83}.case-document{padding:18px 22px;border-bottom:1px solid #e2e8f0}.case-document h3{font-size:1rem;margin:0 0 12px}.case-document table{font-size:.8rem}.case-document td{min-width:85px}.case-document td:last-child{min-width:180px}.completed-note{border-left:4px solid #2563eb}
.competency-checks{border:1px solid #c6d5ea;border-radius:12px;padding:15px;margin:16px 0}.competency-checks label{display:flex;align-items:flex-start;gap:9px}.competency-checks input{width:auto;flex:none;margin-top:5px}.final-practice{margin:20px 0}
/* Teacher workspace: grouped navigation, bounded lists, shared student preview. */
.teacher-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;max-width:1600px;margin:auto;padding:28px 24px 60px;align-items:start}
.teacher-sidebar{position:sticky;top:100px;background:#fff;border:1px solid #e0e8f3;border-radius:20px;padding:20px 12px;max-height:calc(100vh - 120px);overflow:auto}
.teacher-brand{display:flex;gap:12px;align-items:center;padding:0 6px 16px;border-bottom:1px solid #e7edf6}.teacher-brand img{width:52px;height:auto}.teacher-brand b{display:block}.teacher-brand small{display:block;font-size:.68rem;line-height:1.5;color:#64748b}
.teacher-menu{border:0;padding:0;margin:0}.teacher-menu>summary{display:none}.teacher-menu nav{display:block;margin-top:18px}.nav-group{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#74849c;padding:0 12px 7px}
.teacher-nav-item{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;text-align:left;color:#455e7e;padding:11px 12px;border-radius:10px;font-weight:750;font-size:.82rem;margin:3px 0;min-height:44px}.teacher-nav-item:hover{background:#f3f6fc}.teacher-nav-item.active{background:#eaf1ff;color:#1e5ac8}.teacher-nav-item small{background:#fff;padding:1px 7px;border-radius:8px}
.teacher-content{min-width:0}.teacher-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin:0 0 24px}.teacher-page-header h1{font-size:1.8rem;margin:5px 0 6px}.teacher-page-header p{font-size:.8rem;margin:0;color:#617694}.teacher-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(125px,.7fr);gap:12px;max-width:440px}.teacher-filters label{font-size:.7rem}.teacher-filters select{font-size:.75rem;padding:10px;min-height:44px}
.teacher-panel.container{padding:0;margin:0;max-width:none}.teacher-panel>.card{margin-bottom:22px}.teacher-panel .section-heading h2{font-size:1.2rem}.teacher-panel .stats{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-panel .stat{padding:20px}.teacher-panel .stat strong{font-size:1.65rem}.teacher-panel .stat span,.teacher-panel .stat small{font-size:.7rem}
.teacher-panel .table-scroll{max-height:560px;overflow:auto}.teacher-panel table{min-width:700px;font-size:.8rem}.teacher-panel thead th{position:sticky;top:0;z-index:1}.teacher-panel td,.teacher-panel th{padding:13px 14px}.teacher-panel .check-grid{max-height:360px;overflow:auto;border:1px solid #e1e9f4;border-radius:12px;padding:12px}.teacher-panel .check-grid label{font-size:.75rem}.teacher-panel p{font-size:.85rem}
.library-filters{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}.library-filters label{font-size:.72rem}.library-filters input,.library-filters select{font-size:.78rem}.library-list tr[hidden]{display:none!important}.library-thumb{display:inline-block;width:72px;height:44px;object-fit:cover;vertical-align:middle;border-radius:8px;margin-right:12px}.library-list td:first-child{white-space:nowrap}.model-label{font-size:.72rem;color:#365c8d}.library-list small{display:inline-block;margin-top:5px;color:#7889a3}
.teacher-preview{width:min(1400px,96vw);max-width:96vw;max-height:92vh;padding:24px;overflow:auto}.teacher-preview .learning-grid{gap:22px}.teacher-preview .answer-actions,.teacher-preview .help,.teacher-preview .manual-note{display:none!important}.teacher-preview .mission-title{margin-top:0}.teacher-preview .mission-body{padding:22px}.teacher-preview input:disabled,.teacher-preview select:disabled{opacity:1;background:#f3f6fc}.preview-key{margin-top:22px;border:1px solid #c8d8ef;border-radius:14px;padding:18px}.preview-key>summary{cursor:pointer;font-weight:900}.preview-key dl{display:grid;grid-template-columns:minmax(150px,1fr) 1fr;gap:10px}.preview-key dd{margin:0}.teacher-preview button.illustration-button:disabled{opacity:1;cursor:default}.teacher-preview .illustration-button span{display:none}
.worksheet-section{margin-bottom:26px}.worksheet-section>h3{font-size:1rem;color:#1d4e8a;margin:12px 0}.worksheet-section .activity-type{display:none}.practice-validation-note{font-size:.72rem;background:#f0f5fc;color:#4c6688;padding:10px 12px;border-radius:10px;line-height:1.6}
.presentation-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.presentation-file{overflow:hidden;border:1px solid #dbe5f2;border-radius:18px}.presentation-file>img{width:100%;height:170px;object-fit:cover}.presentation-file>div{padding:22px}.presentation-file h3{font-size:1.1rem}.presentation-file details{margin-top:18px}.presentation-file li{font-size:.8rem;margin-bottom:8px}.resource-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.explanation-list td:last-child{min-width:300px}.explanation-list summary{cursor:pointer;font-weight:800;color:#245db3}.explanation-list textarea{font-size:.8rem}.explanation-task{margin:18px 0;overflow:hidden}.explanation-task>summary{display:flex;justify-content:space-between;gap:18px;cursor:pointer;padding:20px 24px;background:#f3f7fd}.explanation-task summary span{font-size:.75rem;color:#54729a}.explanation-task form{margin-top:18px}
@media(max-width:1100px){.teacher-workspace{grid-template-columns:205px minmax(0,1fr);gap:18px;padding:22px 16px}.teacher-page-header{display:block}.teacher-filters{margin-top:18px;max-width:none}.teacher-panel .stats{grid-template-columns:repeat(2,1fr)}.library-filters{grid-template-columns:1fr 1fr}.library-filters label:first-child{grid-column:1/-1}}
@media(max-width:800px){.teacher-workspace{grid-template-columns:1fr;padding:16px 12px}.teacher-sidebar{position:static;max-height:none;padding:12px}.teacher-brand{border:0;padding-bottom:6px}.teacher-brand small{display:none}.teacher-menu>summary{display:block;padding:10px;font-weight:900}.teacher-menu nav{margin-top:8px}.teacher-nav-item{font-size:.8rem}.teacher-menu[open]{max-height:420px;overflow:auto}.teacher-page-header h1{font-size:1.55rem}.teacher-panel .padded{padding:18px}.teacher-preview .learning-grid{grid-template-columns:1fr}.teacher-preview{padding:16px}.teacher-panel .table-scroll{max-height:480px}.presentation-grid{grid-template-columns:1fr}.teacher-filters{grid-template-columns:1fr}.library-filters{grid-template-columns:1fr}.library-filters label:first-child{grid-column:auto}.explanation-task>summary{display:block}.explanation-task summary span{display:block;margin-top:7px}}
