.task-text{display:grid;gap:12px;margin:18px 0}.task-text p,.reading-text{white-space:pre-wrap}.interactive-text{gap:10px}.word-bank{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 14px}.word-bank span{padding:7px 11px;border-radius:999px;background:#eaf0ff;color:#244a9b;font-size:.82rem;font-weight:700}.gap-line{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faff;line-height:2.65}.gap-input{display:inline-block;width:clamp(120px,25vw,230px);margin:0 6px;padding:7px 10px;border:0;border-bottom:2px solid #7896e8;background:white;border-radius:7px;color:var(--ink)}.prompt-line{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(220px,1.2fr);align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faff}.prompt-line span{font-weight:700}.prompt-line input{width:100%;padding:10px 12px;border:1px solid #cbd6e8;border-radius:9px;background:white}.reading-text{padding:18px;border-left:4px solid var(--blue);background:#f4f7ff;border-radius:0 14px 14px 0;line-height:1.75;margin:18px 0}.tf-list{display:grid;gap:12px}.tf-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:14px 16px;background:white}.tf-row legend{float:left;width:100%;font-weight:700;font-size:.92rem;padding:0}.tf-row label{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-weight:700}.tf-row label:has(input:checked){background:#eaf8f0;border-color:#74cda7;color:#176541}.tf-row input{accent-color:#16835f}.activity-instruction{margin-bottom:14px;color:var(--muted)}.sorting-board{margin:18px 0}.sort-pool{margin-bottom:14px}.sort-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.drop-zone{min-height:120px;border:2px dashed #c9d5e8;border-radius:16px;background:#f7f9fd;padding:14px;transition:border-color .15s,background .15s}.drop-zone.drag-over{border-color:var(--blue);background:#eaf0ff}.drop-zone h4{display:flex;justify-content:space-between;gap:10px;margin:0 0 11px;font-size:.9rem}.drop-zone h4 span{min-width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--blue);font-size:.75rem}.drop-items{display:grid;gap:9px}.drop-empty{margin:auto;color:#8995aa;font-size:.82rem;text-align:center;padding:16px}.drag-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #d6deeb;border-radius:11px;background:white;box-shadow:0 5px 16px #1b35550a;cursor:grab}.drag-item.dragging{opacity:.45}.drag-item>span{font-size:.88rem;font-weight:650}.move-control{display:flex;align-items:center;gap:7px}.move-control>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.move-control select{max-width:170px;padding:7px 9px;border:1px solid #cbd6e8;border-radius:8px;background:white;font-size:.78rem;color:var(--ink)}
@media(max-width:720px){.prompt-line,.tf-row,.drag-item{grid-template-columns:1fr}.sort-categories{grid-template-columns:1fr}.tf-row legend{margin-bottom:4px}.tf-row label{justify-content:center}.move-control select{max-width:none;width:100%}.gap-input{width:min(100%,190px)}}
@media(prefers-reduced-motion:reduce){.drop-zone{transition:none}}
.access-pending #app{visibility:hidden}.access-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(15,28,53,.62);backdrop-filter:blur(12px);opacity:0;transition:opacity .18s ease}.access-modal.visible{opacity:1}.access-card{width:min(100%,520px);max-height:calc(100vh - 48px);overflow:auto;padding:34px;border:1px solid rgba(255,255,255,.55);border-radius:28px;background:#fff;box-shadow:0 30px 90px rgba(12,28,60,.32);transform:translateY(12px) scale(.985);transition:transform .18s ease}.access-modal.visible .access-card{transform:none}.access-brand{display:flex;align-items:center;gap:13px;margin-bottom:30px;font-weight:800;color:var(--ink)}.access-brand small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem;font-weight:600}.access-copy h2{margin:8px 0 8px;font-size:clamp(1.7rem,5vw,2.35rem)}.access-copy p{margin:0;color:var(--muted)}.access-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:26px 0 20px;padding:5px;border-radius:14px;background:#eef2f8}.access-tabs button{padding:12px;border:0;border-radius:10px;background:transparent;color:#627089;font:inherit;font-weight:800;cursor:pointer}.access-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 4px 16px rgba(30,61,115,.1)}.access-form{display:grid;gap:15px}.access-form.hidden{display:none}.access-form label{display:grid;gap:7px;color:var(--ink);font-size:.84rem;font-weight:800}.access-form input{width:100%;padding:13px 14px;border:1px solid #cad5e7;border-radius:11px;background:#fbfcff;color:var(--ink);font:inherit}.access-form input:focus{outline:3px solid rgba(52,98,232,.16);border-color:var(--blue)}.access-submit{width:100%;justify-content:center;margin-top:4px}.access-status{min-height:22px;margin-top:12px;color:#27654f;font-size:.84rem;font-weight:700}.access-status.error{color:#b33b43}.access-demo{display:block;margin:13px auto 0;padding:8px;border:0;background:transparent;color:#6f7b90;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.8rem;cursor:pointer}.access-profile{border:0;cursor:pointer}.overview-card{cursor:default}.overview-card .card-footer span:last-child{display:none}.overview-label{cursor:default;pointer-events:none}.demo-locked{position:relative;overflow:hidden;cursor:not-allowed!important;pointer-events:none}.demo-locked>.card-top,.demo-locked>.card-body{filter:blur(2.5px);opacity:.42}.demo-lock{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:5px;padding:16px;background:rgba(243,247,255,.56);color:#21395f;text-align:center}.demo-lock .ico{width:28px;height:28px}.demo-lock b{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.demo-lock small{font-weight:750}.demo-locked:focus{outline:none}@media(max-width:620px){.access-modal{padding:12px}.access-card{padding:25px 20px;border-radius:22px}.access-brand{margin-bottom:22px}.access-tabs{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.access-modal,.access-card{transition:none}}
.student-module-progress{display:grid;gap:7px;margin-top:14px}.student-module-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;color:#66748c;font-size:.76rem;font-weight:750}.student-module-progress b{color:var(--ink);font-size:.82rem}.student-module-progress .progress-track{margin:0}.sequence-locked{position:relative;overflow:hidden;cursor:not-allowed!important;pointer-events:none}.sequence-locked>.card-top,.sequence-locked>.card-body{filter:grayscale(.35);opacity:.36}.sequence-lock{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:5px;padding:16px;background:rgba(245,248,253,.7);color:#263d61;text-align:center}.sequence-lock .ico{width:27px;height:27px}.sequence-lock b{font-size:.84rem}.sequence-lock small{max-width:190px;color:#60708a;font-weight:700}
.guide-current{background:linear-gradient(135deg,#edf4ff,#f1fbf7);border-color:#cbdcf5}.guide-current h2{margin-bottom:8px}.guide-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.guide-role-card{display:grid;align-content:start;gap:13px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#f9fbff}.guide-role-card.active{border-color:#6c8ee8;background:#eef3ff;box-shadow:0 10px 30px rgba(44,80,161,.09)}.guide-role-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--blue)}.guide-role-icon .ico{width:21px;height:21px}.guide-role-card h3,.guide-step-grid h3{margin:0 0 7px}.guide-role-card p,.guide-step-grid p{margin:0;color:var(--muted);font-size:.87rem}.guide-active-label{display:inline-block;margin-top:12px;padding:5px 8px;border-radius:999px;background:#dce8ff;color:#2752a3;font-size:.7rem;font-weight:800}.guide-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.guide-step-grid article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fbfcff}.guide-step-grid article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e9f0ff;color:#2d5abb;font-size:.76rem;font-weight:850}.guide-two-col{align-items:stretch}.guide-two-col .panel{height:100%}.guide-checklist{display:grid;gap:10px;padding-left:22px}.guide-checklist li{padding-left:4px}@media(max-width:850px){.guide-role-grid{grid-template-columns:1fr}.guide-step-grid{grid-template-columns:1fr}}
.bulk-students-panel{border-color:#cbdaf3;background:linear-gradient(180deg,#fff,#f8fbff)}.bulk-students-panel form{display:grid;gap:14px;margin-top:20px}.bulk-students-panel textarea{min-height:210px;font-family:inherit}.bulk-roster-status{min-height:22px;color:#277058;font-size:.84rem;font-weight:750}.bulk-roster-status.error{color:#b33b43}.bulk-student-result:not(:empty){margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.bulk-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.bulk-result-head h3{margin:0 0 6px}.bulk-result-head p{margin:0;color:var(--muted);font-size:.84rem}.bulk-code-table code{display:inline-block;padding:5px 8px;border-radius:7px;background:#edf2fb;color:#173b75;font-size:.78rem;white-space:nowrap}@media(max-width:720px){.bulk-result-head{display:grid}.bulk-result-head .actions{width:100%}.bulk-result-head .btn{flex:1}}
.student-manager{border-color:#d7dfec}.student-manager-head,.student-manager-toolbar,.group-tools,.student-row-actions{display:flex;align-items:center;gap:10px}.student-manager-head{justify-content:space-between;align-items:flex-start}.student-manager-head h2{margin:7px 0}.student-manager-head p{margin:0;color:var(--muted)}.student-manager-toolbar{justify-content:flex-end;margin:22px 0 14px;padding:12px;border-radius:12px;background:#f6f8fc}.danger-button{color:#a43740!important;border-color:#e6bdc1!important}.danger-button:hover{background:#fff0f1!important}.student-group{margin-top:13px;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.student-group>summary{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer;list-style:none;background:#f8faff}.student-group>summary::-webkit-details-marker{display:none}.student-group>summary span:first-child{display:flex;align-items:baseline;gap:10px}.student-group>summary small{color:var(--muted)}.group-summary-arrow{font-size:1.25rem;transition:transform .15s}.student-group[open] .group-summary-arrow{transform:rotate(180deg)}.student-group-body{padding:16px}.group-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.group-tools label,.student-editor-row>label:not(.student-select){display:grid;gap:5px;color:#69758a;font-size:.72rem;font-weight:750}.group-tools input,.student-editor-row input[type="text"],.student-editor-row>label:not(.student-select) input{width:100%;padding:9px 10px;border:1px solid #ccd6e6;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.student-editor-list{display:grid;gap:9px}.student-editor-row{display:grid;grid-template-columns:auto minmax(160px,1.3fr) minmax(120px,.8fr) auto auto;align-items:end;gap:10px;padding:11px;border:1px solid #e1e6ef;border-radius:12px;background:#fbfcff}.student-select{align-self:center}.student-select input{width:18px;height:18px;accent-color:var(--blue)}.student-work-count{align-self:center;color:var(--muted);font-size:.76rem;white-space:nowrap}.icon-danger{width:34px;height:34px;border:1px solid #ecc7ca;border-radius:9px;background:#fff6f6;color:#a62f38;font-size:1.25rem;line-height:1;cursor:pointer}.icon-danger:hover{background:#ffe9ea}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.student-editor-row{grid-template-columns:auto 1fr 1fr}.student-work-count{grid-column:2}.student-row-actions{grid-column:3;grid-row:2;justify-content:flex-end}}@media(max-width:650px){.student-manager-head,.student-manager-toolbar{display:grid}.group-tools{grid-template-columns:1fr}.student-editor-row{grid-template-columns:auto 1fr}.student-editor-row>label:nth-of-type(3){grid-column:2}.student-work-count{grid-column:2}.student-row-actions{grid-column:2;grid-row:auto;justify-content:flex-start}}
.teacher-journal-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:22px;padding:30px;border:1px solid #9db7f5;border-radius:22px;background:linear-gradient(125deg,#173c8c 0%,#2f62d7 60%,#3f85ed 100%);box-shadow:0 18px 48px rgba(30,75,165,.22);color:#fff}.teacher-journal-banner .section-kicker{color:#cfe0ff}.teacher-journal-banner h2{margin:6px 0 8px;color:#fff;font-size:clamp(1.5rem,3vw,2.1rem)}.teacher-journal-banner p{max-width:660px;margin:0;color:#e4edff}.teacher-journal-button{min-height:58px;padding:16px 22px;background:#fff!important;color:#214d9f!important;box-shadow:0 10px 28px rgba(8,30,75,.25);font-size:1rem}.teacher-journal-banner>.btn.light{grid-column:2;justify-content:center;border-color:rgba(255,255,255,.46);background:rgba(255,255,255,.12);color:#fff}.teacher-resource-select{max-width:620px;margin:20px 0}.teacher-resource-title{display:flex;align-items:center;gap:14px;margin:22px 0 14px}.teacher-resource-title h3{margin:3px 0 0}.teacher-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-resource-card{display:grid;align-content:start;gap:9px;min-height:190px;padding:21px;border:1px solid #d6e0f1;border-radius:17px;background:linear-gradient(145deg,#fff,#f5f8ff);color:var(--ink);text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}.teacher-resource-card:hover{transform:translateY(-3px);border-color:#86a6eb;box-shadow:0 15px 32px rgba(33,70,145,.12)}.teacher-resource-card h3,.teacher-resource-card p{margin:0}.teacher-resource-card p{color:var(--muted);font-size:.87rem}.resource-kind{color:#2e60c5;font-size:.69rem;font-weight:850;letter-spacing:.11em}.resource-open{align-self:end;margin-top:auto;color:#2458bc;font-size:.8rem;font-weight:800}.teacher-section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px;padding:7px;border:1px solid var(--line);border-radius:16px;background:#eef3fb}.teacher-section-nav a{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;border-radius:11px;color:#5d6b82;text-decoration:none;font-weight:800}.teacher-section-nav a.active{background:#fff;color:var(--blue);box-shadow:0 5px 18px rgba(31,62,122,.11)}.gradebook-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.gradebook-head h2{margin:5px 0 6px}.gradebook-head p{margin:0;color:var(--muted)}.gradebook-table{margin-top:18px}.gradebook-table th:not(:first-child),.gradebook-table td:not(:first-child){text-align:center}.gradebook-table td:first-child{min-width:180px}.gradebook-table select{min-width:54px;padding:8px 7px;border:1px solid #c7d4e8;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:800}.gradebook-table select:focus{outline:3px solid rgba(52,98,232,.16);border-color:var(--blue)}.gradebook-legend{line-height:1.65}.student-grade-grid{display:grid;gap:10px;margin-top:18px}.student-grade-grid article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcff}.student-grade-grid h3,.student-grade-grid p{margin:0}.student-grade-grid p{margin-top:3px;color:var(--muted);font-size:.78rem}.student-grade{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:#edf1f7;color:#8792a4;font-size:1.2rem}.student-grade.set{background:#def4e8;color:#176b47}.author-card{background:linear-gradient(145deg,#fff,#f4f8ff)}
@media(max-width:820px){.teacher-journal-banner{grid-template-columns:1fr}.teacher-journal-banner>.btn.light{grid-column:1}.teacher-resource-grid{grid-template-columns:1fr}.gradebook-head{display:grid}.teacher-section-nav{grid-template-columns:1fr}}
.student-unsaved-note{margin-top:16px;padding:11px 13px;border:1px solid #efcf87;border-radius:11px;background:#fff8e7;color:#805b09;font-size:.82rem;font-weight:800}.student-editor-row.has-unsaved,.group-tools.has-unsaved{background:#fffaf0}.student-editor-row input.unsaved-input,.group-tools input.unsaved-input{border-color:#d99b22;box-shadow:0 0 0 3px rgba(217,155,34,.12)}.unsaved-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:rgba(13,27,51,.58);backdrop-filter:blur(9px);opacity:0;transition:opacity .16s}.unsaved-modal.visible{opacity:1}.unsaved-card{width:min(100%,500px);padding:30px;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(8,24,55,.3);text-align:center}.unsaved-icon{width:50px;height:50px;display:grid;place-items:center;margin:0 auto 16px;border-radius:15px;background:#fff1ca;color:#916000;font-size:1.5rem;font-weight:900}.unsaved-card h2{margin:0 0 9px}.unsaved-card>p{margin:0 auto 10px;max-width:410px;color:var(--muted)}.unsaved-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.unsaved-actions .btn{justify-content:center}.unsaved-stay{grid-column:1/-1;padding:9px;border:0;background:transparent;color:#68758b;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.82rem;cursor:pointer}@media(max-width:560px){.unsaved-actions{grid-template-columns:1fr}.unsaved-stay{grid-column:1}}
