:root {
  --csn-blue:#034692;
  --bright-blue:#2B9AF3;
  --yellow:#FFD600;
  --ink:#26313d;
  --muted:#647180;
  --line:#dbe3eb;
  --soft:#f4f7fa;
  --paper:#ffffff;
  --success:#16835a;
  --warn:#9a5b00;
  --radius:18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} body{margin:0;background:#eef3f8;color:var(--ink)} button,input,select,textarea{font:inherit}.hidden{display:none!important}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:white;padding:10px}.prototype-banner{background:#1d2732;color:white;text-align:center;padding:7px 16px;font-size:13px}.app-shell{min-height:calc(100vh - 31px);display:grid;grid-template-columns:260px 1fr}.sidebar{background:white;border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:calc(100vh - 31px)}.brand-block{display:flex;gap:11px;align-items:center}.brand-mark{width:42px;height:42px;background:var(--csn-blue);color:white;border-radius:12px;display:grid;place-items:center;font-weight:800}.brand-block div:last-child{display:flex;flex-direction:column}.brand-block span{font-size:12px;color:var(--muted)}.role-switch{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);padding:4px;border-radius:12px}.role-btn{border:0;background:transparent;border-radius:9px;padding:8px;cursor:pointer}.role-btn.active{background:white;box-shadow:0 1px 4px #0001;color:var(--csn-blue);font-weight:700}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:10px;color:#43505d;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.nav-item:hover,.nav-item:focus-visible{background:#eef6ff}.nav-item.active{background:#e8f2ff;color:var(--csn-blue);font-weight:750}.badge{background:var(--yellow);color:#2c2c22;border-radius:999px;font-size:11px;padding:2px 7px}.sidebar-foot{margin-top:auto;display:grid;gap:7px}.utility-btn{background:white;border:1px solid var(--line);padding:9px 11px;border-radius:10px;text-align:left;cursor:pointer}.main-content{padding:34px;min-width:0}.view{display:none;max-width:1180px;margin:0 auto}.active-view{display:block}.page-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.page-header h1{margin:3px 0 4px;font-size:34px;line-height:1.1}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--csn-blue);margin:0}.subtle{color:var(--muted);margin:0}.header-actions,.action-row{display:flex;gap:10px;flex-wrap:wrap}.primary-btn,.secondary-btn,.outline-btn,.text-btn,.mini-btn,.choice-btn,.mic-btn{cursor:pointer}.primary-btn{background:var(--csn-blue);color:white;border:2px solid var(--csn-blue);padding:11px 16px;border-radius:11px;font-weight:750}.secondary-btn{background:white;color:var(--csn-blue);border:2px solid #bdd7f4;padding:10px 15px;border-radius:11px;font-weight:700}.outline-btn{background:white;border:1px solid #b8c7d7;padding:10px 13px;border-radius:10px;color:#334353}.text-btn{background:transparent;border:0;color:var(--csn-blue);font-weight:700;padding:5px}.announcement{display:flex;gap:18px;background:#fff9cf;border:1px solid #f0df73;border-radius:13px;padding:13px 16px;margin-bottom:18px}.announcement span{color:#5b5943}.hero-card{background:white;border:1px solid var(--line);border-radius:24px;padding:30px;display:grid;grid-template-columns:1.5fr .8fr;gap:20px;box-shadow:0 12px 30px #27496d12}.week-chip{display:inline-block;background:#e8f2ff;color:var(--csn-blue);font-size:12px;font-weight:850;letter-spacing:.08em;border-radius:999px;padding:7px 11px}.hero-card h2{font-size:38px;margin:13px 0 7px}.hero-card p{font-size:18px;max-width:700px;color:#4d5c6b}.progress-row{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:13px;margin:20px 0}.progress-track{width:220px;height:9px;background:#e6edf4;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--bright-blue)}.hero-visual{background:#eef6ff;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;min-height:230px}.assistant-orb{width:92px;height:92px;background:linear-gradient(145deg,var(--csn-blue),var(--bright-blue));color:white;border-radius:28px;display:grid;place-items:center;font-size:40px;font-weight:850;box-shadow:0 12px 24px #03469233}.assistant-orb.small{width:54px;height:54px;border-radius:18px;font-size:23px;margin-bottom:8px}.speech-bubble{background:white;padding:13px 15px;border-radius:14px;box-shadow:0 7px 18px #244a7318;margin-bottom:15px;font-weight:650}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.panel,.settings-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.panel-title-row{display:flex;justify-content:space-between;align-items:center}.panel h2{font-size:19px;margin:0 0 12px}.activity-list{display:grid;gap:8px}.activity-card{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:12px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;text-align:left;gap:9px}.activity-card small,.message-preview small{display:block;color:var(--muted);margin-top:3px}.activity-icon{font-size:23px}.message-preview{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f5}.message-preview:last-child{border-bottom:0}.message-preview p{margin:4px 0}.avatar{width:38px;height:38px;border-radius:12px;background:var(--csn-blue);color:white;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.avatar.student{background:#5c6d7e}.support-strip{margin-top:18px;background:#edf5fb;border-radius:15px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.support-strip div{display:flex;flex-direction:column}.support-strip span{color:var(--muted);font-size:13px;margin-top:3px}.orientation-grid,.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.orientation-card,.skill-card,.subject-card{background:white;border:1px solid var(--line);border-radius:15px;min-height:145px;padding:18px;text-align:left;cursor:pointer}.orientation-card span:first-child{width:32px;height:32px;border-radius:50%;background:#eaf2fa;display:grid;place-items:center;font-weight:800;color:var(--csn-blue);margin-bottom:18px}.orientation-card strong,.skill-card strong{display:block;font-size:17px}.orientation-card small,.skill-card small{display:block;color:var(--muted);margin-top:5px}.orientation-card.done{border-color:#a9d8c4;background:#f3fbf7}.orientation-card.done span:first-child{background:#d6f0e4;color:var(--success)}.lesson-tools{display:flex;gap:8px;position:sticky;top:10px;z-index:4;background:#eef3f8;padding:10px 0;margin-bottom:12px}.lesson-tools button{border:1px solid #bccbd8;background:white;border-radius:10px;padding:9px 12px;cursor:pointer}.lesson-block{background:white;border:1px solid var(--line);border-radius:17px;padding:24px;margin-bottom:14px}.block-label{font-size:11px;font-weight:850;letter-spacing:.12em;color:var(--csn-blue)}.lesson-block h2{font-size:24px}.dual-text p{font-size:18px;line-height:1.6}.translated{border-top:1px dashed #bdd0e2;padding-top:13px;color:#425c75}.example-box{background:#f0f6fc;border-radius:13px;padding:16px}.example-box p{font-size:17px}.mini-btn{border:1px solid #bccbd8;background:white;border-radius:9px;padding:7px 10px;margin-right:5px}.vocab-row{display:flex;align-items:center;gap:9px;padding:14px 0;border-bottom:1px solid #e8edf2}.vocab-row:last-child{border-bottom:0}.vocab-row div{flex:1;display:flex;flex-direction:column}.vocab-row strong{font-size:20px}.vocab-row span{color:var(--muted);margin-top:3px}.choice-btn{display:block;width:100%;text-align:left;background:white;border:2px solid #d5e0ea;border-radius:11px;padding:12px 14px;margin:8px 0}.choice-btn:hover{border-color:var(--bright-blue);background:#f4f9ff}.mic-btn{margin-top:10px;background:#eaf4ff;border:0;color:var(--csn-blue);border-radius:11px;padding:11px 14px;font-weight:700}.hse-connection{background:#fff8cd;border:1px solid #ead86b;border-radius:14px;padding:17px 19px}.hse-connection span{font-size:11px;font-weight:850;letter-spacing:.08em}.hse-connection p{margin:7px 0}.skill-card span{font-size:28px;display:block;margin-bottom:12px}.hse-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.subject-card{display:flex;flex-direction:column;gap:8px}.subject-card strong{font-size:20px}.subject-card span{color:var(--muted)}.message-layout{display:grid;grid-template-columns:320px 1fr;min-height:550px;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.thread-list{border-right:1px solid var(--line);padding:10px}.thread{display:block;width:100%;text-align:left;border:0;background:white;border-radius:11px;padding:13px;cursor:pointer}.thread.active{background:#eaf3fd}.thread strong,.thread small{display:block}.thread small{color:var(--muted);margin-top:2px}.thread p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0 0;color:#596675}.conversation{padding:24px;display:flex;flex-direction:column;gap:12px}.bubble{max-width:70%;border-radius:15px;padding:13px 15px;background:#edf3f8}.bubble p{margin:5px 0}.bubble.me{margin-left:auto;background:#dfeeff}.bubble small{display:block;color:#5a6c7f;margin-top:7px}.bubble.translation{background:#fff8cd}.translation-notice{font-size:13px;color:#5a6b7d;background:#f4f7fa;padding:10px;border-radius:10px}.compose{margin-top:auto;display:flex;gap:8px;align-items:flex-end}.compose textarea{flex:1;min-height:82px;border:1px solid #b8c6d4;border-radius:12px;padding:11px}.settings-card{max-width:680px;display:grid;gap:20px}.settings-card label{display:grid;gap:8px;font-weight:700}.settings-card select{padding:10px;border:1px solid #bac8d5;border-radius:9px}.toggle-line{grid-template-columns:1fr auto!important;align-items:center}.instructor-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.status-card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.status-card.live{border-top:5px solid var(--csn-blue)}.status-card>span{font-size:11px;font-weight:850;letter-spacing:.1em;color:var(--csn-blue)}.status-card h2{font-size:22px;margin:8px 0 5px}.status-card p{color:var(--muted)}.attention-row{display:grid;grid-template-columns:13px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #edf1f4}.attention-row p{margin:3px 0;color:var(--muted)}.warn-dot,.info-dot{width:10px;height:10px;border-radius:50%;background:#df8a00}.info-dot{background:var(--bright-blue)}.builder-layout{display:grid;grid-template-columns:210px 1fr 260px;gap:14px}.block-palette,.builder-canvas,.assistant-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:16px}.block-palette h2,.assistant-panel h2{font-size:17px;margin:0 0 12px}.block-palette button,.assistant-action{width:100%;text-align:left;border:1px solid var(--line);background:white;border-radius:9px;padding:9px;margin-bottom:7px;cursor:pointer}.builder-canvas{background:#f8fafc}.builder-block{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:10px;position:relative}.builder-block.highlighted{border:2px solid #82bdf6}.builder-block span{display:block;color:var(--csn-blue);font-size:11px;font-weight:850;letter-spacing:.08em}.builder-block strong{display:block;font-size:17px;margin:6px 0}.builder-block p{margin:0;color:var(--muted)}.kebab{position:absolute;right:12px;top:10px;border:0;background:transparent}.add-block{width:100%;padding:13px;border:1px dashed #94abc2;background:white;border-radius:11px;color:var(--csn-blue);font-weight:700}.assistant-panel{text-align:left}.assistant-panel p{color:var(--muted)}.assistant-panel small{display:block;margin-top:12px;color:var(--muted)}.library-table{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:1.4fr 1fr 120px;gap:10px;padding:13px 16px}.table-head{background:#f3f6f9;color:var(--muted);font-size:12px;font-weight:800}.table-row{border-top:1px solid #edf1f4;align-items:center}.pill{font-size:12px;border-radius:999px;padding:5px 9px;width:max-content}.pill.private{background:#edf0f3}.pill.draft{background:#fff2ca}.pill.published{background:#dcf3e7;color:#155e43}.student-list{background:white;border:1px solid var(--line);border-radius:16px}.student-list>div{display:grid;grid-template-columns:42px 1fr 1.3fr auto;gap:10px;align-items:center;padding:13px 16px;border-bottom:1px solid #edf1f4}.student-list>div:last-child{border-bottom:0}.student-list>div>span:nth-child(3){color:var(--muted)}.classroom-screen{min-height:70vh;background:white;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px}.classroom-screen h1{font-size:54px;margin:16px 0}.classroom-screen p{font-size:28px;max-width:850px;line-height:1.5}.classroom-actions{display:flex;gap:10px;margin:20px}.classroom-screen small{color:var(--muted)}.assistant-launcher{position:fixed;right:22px;bottom:22px;z-index:20;border:0;background:var(--csn-blue);color:white;border-radius:999px;padding:8px 15px 8px 8px;box-shadow:0 9px 25px #1b4b7f50;display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:750}.assistant-launcher::first-letter{background:white}.assistant-launcher span{font-size:13px}.drawer{position:fixed;right:18px;bottom:18px;top:70px;width:min(420px,calc(100vw - 36px));z-index:40;background:white;border-radius:20px;box-shadow:0 18px 60px #183d6644;border:1px solid var(--line);padding:20px;overflow:auto}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start}.drawer-head small,.modal-card>small{font-weight:850;letter-spacing:.1em;color:var(--csn-blue)}.drawer h2,.modal-card h2{margin:4px 0 8px}.close-btn{border:0;background:#eff3f6;border-radius:9px;width:35px;height:35px;font-size:24px;cursor:pointer}.helper-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.helper-grid button,.stuck-options button{border:1px solid #c4d2df;background:white;border-radius:11px;padding:12px;text-align:left;cursor:pointer}.helper-chat{border-top:1px solid var(--line);padding-top:15px}.helper-message{background:#eef5fb;border-radius:11px;padding:12px}.helper-input{display:flex;gap:6px;margin-top:10px}.helper-input input{flex:1;border:1px solid #bac8d6;border-radius:10px;padding:10px;min-width:0}.teacher-route{width:100%;margin-top:15px;border:0;background:#fff1be;color:#5e4b00;border-radius:10px;padding:11px;font-weight:750}.modal{position:fixed;inset:0;z-index:50;background:#172a3c70;display:grid;place-items:center;padding:20px}.modal-card{background:white;width:min(560px,100%);border-radius:20px;padding:24px;position:relative}.modal-card .close-btn{position:absolute;right:16px;top:16px}.small-card{max-width:480px}.stuck-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.modal-card label{display:grid;gap:7px;margin:16px 0;font-weight:700}.modal-card select{padding:10px;border:1px solid #b9c7d5;border-radius:9px}.language-mode{display:grid;gap:8px}.language-mode button{border:1px solid #c4d2de;background:white;border-radius:10px;padding:10px;text-align:left}.language-mode button.active{background:#e8f3ff;border-color:#8fc2f2;color:var(--csn-blue);font-weight:700}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffcf19;outline-offset:2px}
@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav-list{flex-direction:row;overflow:auto}.sidebar-foot{display:none}.main-content{padding:24px}.hero-card{grid-template-columns:1fr}.hero-visual{min-height:150px}.instructor-summary{grid-template-columns:1fr}.builder-layout{grid-template-columns:1fr}.block-palette{display:grid;grid-template-columns:1fr 1fr;gap:6px}.block-palette h2{grid-column:1/-1}.assistant-panel{order:-1}.assistant-launcher span{display:none}.assistant-launcher{padding:12px 16px}}
@media(max-width:700px){.main-content{padding:18px 13px 90px}.page-header{flex-direction:column}.page-header h1{font-size:29px}.hero-card{padding:20px}.hero-card h2{font-size:30px}.grid-2,.orientation-grid,.practice-grid,.hse-grid{grid-template-columns:1fr}.announcement{flex-direction:column;gap:4px}.message-layout{grid-template-columns:1fr}.thread-list{border-right:0;border-bottom:1px solid var(--line)}.student-list>div{grid-template-columns:42px 1fr auto}.student-list>div>span:nth-child(3){grid-column:2/4}.table-head,.table-row{grid-template-columns:1fr}.table-head span:nth-child(n+2){display:none}.lesson-tools{overflow:auto}.classroom-screen h1{font-size:38px}.classroom-screen p{font-size:21px}.stuck-options{grid-template-columns:1fr}.sidebar{padding:13px}.brand-block{display:none}.role-switch{max-width:350px}.nav-item{white-space:nowrap}.support-strip{align-items:flex-start;flex-direction:column}}

/* Passes 16–20 additions */
.prototype-tag{display:inline-flex;align-items:center;background:#eef4fa;color:#4f6478;border:1px solid #d4e0eb;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:750}.saved-note{display:block;color:var(--muted);margin-top:-12px;margin-bottom:18px}.week-map{display:grid;gap:10px}.week-map-card{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;text-align:left;background:white;border:1px solid var(--line);border-radius:15px;padding:15px 17px;color:var(--ink);cursor:pointer}.week-map-card:disabled{cursor:not-allowed;opacity:.72}.week-map-card.current{border:2px solid var(--bright-blue);background:#f5faff}.week-map-card.complete{border-left:5px solid var(--success)}.week-map-card.upcoming{background:#f8fafc}.week-number{width:38px;height:38px;border-radius:12px;background:#eaf2fa;color:var(--csn-blue);display:grid;place-items:center;font-weight:850}.week-map-card strong{display:block;font-size:17px}.week-map-card small{display:block;color:var(--muted);margin-top:3px}.status-label{font-size:12px;font-weight:800;color:var(--muted);background:#eef2f5;padding:6px 9px;border-radius:999px}.current .status-label{background:#dcebfa;color:var(--csn-blue)}.complete .status-label{background:#e0f3e9;color:#155e43}
.translator-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.translator-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;min-width:0}.translator-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}.translator-controls label{display:grid;gap:6px;font-weight:750}.translator-controls select{width:100%;padding:10px;border:1px solid #b9c8d6;border-radius:10px;background:white}.swap-btn{width:42px;height:42px;border-radius:50%;border:1px solid #b9c8d6;background:white;cursor:pointer;font-size:20px}.translator-input-label{display:block;font-size:12px;font-weight:850;letter-spacing:.07em;color:var(--csn-blue);margin:20px 0 7px}.translator-textarea{width:100%;min-height:170px;padding:15px;border:1px solid #b9c8d6;border-radius:13px;font-size:20px;line-height:1.45;resize:vertical}.translator-output{min-height:170px;background:#f3f8fd;border:1px solid #d2e2f0;border-radius:13px;padding:15px;font-size:20px;line-height:1.45}.translator-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.speech-status{font-size:13px;color:var(--muted)}.translation-safety{margin-top:16px;border-top:1px solid #e4ebf1;padding-top:14px;display:grid;gap:4px}.translation-safety span{font-size:13px;line-height:1.45;color:var(--muted)}.conversation-lab{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.conversation-lab h2{margin:5px 0}.conversation-lab p{margin:0;color:var(--muted)}.conversation-modal{max-width:780px}.conversation-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.conversation-columns>div{background:#f4f7fa;border:1px solid var(--line);border-radius:14px;padding:17px}.conversation-columns span{font-size:12px;font-weight:850;letter-spacing:.07em;color:var(--csn-blue)}.conversation-columns p{font-size:21px;line-height:1.45;min-height:92px}
.block-controls{position:absolute;right:10px;top:9px;display:flex;gap:3px}.block-controls button{border:1px solid #d2dde7;background:white;border-radius:7px;min-width:29px;height:29px;cursor:pointer}.builder-save-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;color:var(--muted);font-size:12px}.a11y-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.a11y-summary article{background:white;border:1px solid var(--line);border-radius:15px;padding:18px;display:grid;gap:3px}.a11y-summary .metric{font-size:30px;font-weight:850;color:var(--csn-blue)}.a11y-summary small{color:var(--muted)}.audit-list{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.audit-item{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:15px 17px;border-bottom:1px solid #edf1f4}.audit-item:last-child{border-bottom:0}.audit-item>span{font-size:11px;font-weight:850;letter-spacing:.06em;width:max-content;border-radius:7px;padding:5px 7px;background:#eef2f5}.audit-item.error>span{background:#fce2df;color:#8c261d}.audit-item.warning>span{background:#fff0c9;color:#704900}.audit-item.pass>span{background:#ddf2e7;color:#145c41}.audit-item p{margin:4px 0 0;color:var(--muted)}.prototype-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,25px);background:#1f2b37;color:white;padding:11px 16px;border-radius:11px;z-index:90;box-shadow:0 9px 28px #0c1c2b44;opacity:0;pointer-events:none;transition:.2s ease;max-width:min(520px,calc(100vw - 32px));text-align:center}.prototype-toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:960px){.translator-layout{grid-template-columns:1fr}.conversation-lab{align-items:flex-start;flex-direction:column}.a11y-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.week-map-card{grid-template-columns:42px 1fr}.week-map-card .status-label{grid-column:2}.translator-controls{grid-template-columns:1fr}.swap-btn{justify-self:center;transform:rotate(90deg)}.conversation-columns{grid-template-columns:1fr}.a11y-summary{grid-template-columns:1fr}.audit-item{grid-template-columns:48px 1fr}.audit-item button{grid-column:2;justify-self:start}.builder-save-row{align-items:flex-start;flex-direction:column}.translator-textarea,.translator-output{font-size:18px;min-height:135px}}
.csn-help-card{max-width:690px}.official-resource{border-top:1px solid var(--line);padding:15px 0}.official-resource:first-of-type{margin-top:15px}.official-resource p{color:var(--muted);margin:5px 0 9px;line-height:1.45}.official-resource a{color:var(--csn-blue);font-weight:750}.resource-note{background:#f4f7fa;border-radius:11px;padding:12px;color:#526373;font-size:13px;line-height:1.45}

/* Passes 21–27 refinements */
.file-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.library-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;margin:0 0 18px}.library-toolbar label,.setup-grid label,.editor-card label{display:flex;flex-direction:column;gap:7px;font-weight:700}.library-toolbar input,.library-toolbar select,.setup-grid input,.editor-card input,.editor-card textarea{border:1px solid #cbd4df;border-radius:10px;padding:12px 14px;font:inherit;background:#fff;color:#222}.library-table .table-row>div:first-child{display:flex;flex-direction:column;gap:3px}.library-table .table-row small{color:#66717c}.visibility-select select{border:1px solid #cbd4df;border-radius:8px;padding:8px;background:#fff}.file-boundary{margin-top:12px}.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}.practice-lab{margin-top:24px;background:#fff;border:1px solid #d7e0e8;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(3,70,146,.06)}.practice-choice-list{display:grid;gap:10px;margin:18px 0}.practice-choice-list button{width:100%;text-align:left;border:2px solid #d7e0e8;background:#fff;border-radius:12px;padding:15px 16px;font:inherit;font-weight:700;cursor:pointer}.practice-choice-list button:hover,.practice-choice-list button:focus-visible{border-color:#2b9af3}.practice-choice-list .practice-correct{border-color:#16835a;background:#effaf5}.practice-choice-list .practice-try{border-color:#d07d00;background:#fff8eb}.practice-feedback{background:#f5f8fb;border-radius:10px;padding:14px 16px;min-height:52px}.privacy-card{margin-top:14px;padding:16px;border-radius:12px;background:#f5f8fb;border:1px solid #d7e0e8}.privacy-card p{margin:7px 0 12px}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.setup-grid .panel{margin:0}.allowlist{display:grid;gap:10px;margin-top:12px}.allowlist-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid #d7e0e8;border-radius:12px}.allowlist-row div{display:flex;flex-direction:column;gap:4px}.allowlist-row small{color:#66717c;line-height:1.35}.allow-status{white-space:nowrap;font-size:.78rem;font-weight:800;border-radius:999px;padding:5px 8px;background:#eef3f7}.allowlist-row.approved .allow-status{background:#e9f8f1;color:#116342}.allowlist-row.review .allow-status{background:#fff4db;color:#855000}.allowlist-row.blocked .allow-status{background:#fff0f0;color:#9b2c2c}.boundary-list{display:grid;gap:9px;margin-top:12px}.boundary-list span{padding:8px 10px;border-radius:9px;background:#effaf5}.boundary-list .blocked{background:#fff2f2}.release-gate{margin-top:22px;border:2px solid #d07d00;background:#fff8eb;border-radius:16px;padding:20px;display:flex;justify-content:space-between;gap:24px;align-items:center}.release-gate h2{margin:5px 0 7px}.editor-card{max-width:660px}.editor-card textarea{resize:vertical;min-height:130px}.shared-device .environment-bar{background:#fff4d6;color:#634b00}.shared-device #savedNote{font-weight:800;color:#6b4f00}.low-bandwidth .hero-visual,.low-bandwidth .assistant-orb{display:none}.low-bandwidth .hero-card{grid-template-columns:1fr}.low-bandwidth *{scroll-behavior:auto!important}.block-controls button[data-edit]{width:auto;padding:0 8px;font-size:.75rem}.prototype-tag{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#eef3f7;color:#45515d;font-size:.8rem;font-weight:800}.empty-row{color:#66717c}
@media(max-width:860px){.library-toolbar,.setup-grid{grid-template-columns:1fr}.release-gate{align-items:flex-start;flex-direction:column}.allowlist-row{grid-template-columns:1fr}.allow-status{justify-self:start}}

/* Passes 28–34: pilot sign-in, adapter status, interactive fallback, readiness */
.adapter-status{display:inline-block;margin-left:10px;padding:3px 8px;border-radius:999px;background:#425466;font-weight:700}.adapter-status.connected{background:#176447}.login-gate{position:fixed;inset:0;z-index:120;background:linear-gradient(135deg,#e9f3fd,#f7f9fb);display:grid;place-items:center;padding:24px}.login-card{width:min(680px,100%);background:white;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:0 24px 80px #173b6022}.brand-mark.large{width:56px;height:56px;border-radius:16px;font-size:20px;margin-bottom:18px}.login-card h1{font-size:34px;margin:5px 0 10px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.5}.login-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 18px}.login-option{border:2px solid #d5e2ee;background:#fff;border-radius:16px;padding:20px;text-align:left;cursor:pointer}.login-option:hover,.login-option:focus-visible{border-color:var(--bright-blue);background:#f5faff}.login-option strong{display:block;color:var(--csn-blue);font-size:19px}.login-option span{display:block;color:var(--muted);margin-top:6px;line-height:1.4}.demo-code{display:grid;gap:7px;font-weight:750}.demo-code input{padding:12px;border:1px solid #c6d2de;border-radius:10px}.login-safety{font-size:13px;background:#f3f6f8;border-radius:11px;padding:12px;margin-top:16px!important}.interactive-player{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:22px;align-items:start}.dialog-card-shell{background:#edf5fc;border:1px solid #cfe0ef;border-radius:17px;padding:18px}.dialog-card{width:100%;min-height:180px;border:2px solid #bcd3e7;background:white;border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;cursor:pointer;text-align:center}.dialog-card:hover,.dialog-card:focus-visible{border-color:var(--bright-blue)}.dialog-card strong{font-size:28px;color:var(--csn-blue)}.dialog-card small{color:var(--muted)}.dialog-side-label{font-size:11px;font-weight:850;letter-spacing:.1em;color:var(--muted)}.dialog-card-controls{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:12px}.dialog-card-controls span{text-align:center;font-size:13px;color:var(--muted)}.integration-note{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap;background:#f4f7fa;border-radius:12px;padding:12px 14px;color:#536374;font-size:13px}.integration-note strong{color:var(--ink)}.readiness-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.readiness-summary article{background:white;border:1px solid var(--line);border-radius:16px;padding:19px;display:grid;gap:4px}.readiness-summary .metric{font-size:32px;color:var(--csn-blue);font-weight:850}.readiness-summary small{color:var(--muted)}.readiness-gates{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.readiness-row{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:16px 18px;border-bottom:1px solid #edf1f4}.readiness-row:last-child{border-bottom:0}.readiness-row>span{align-self:start;justify-self:start;font-size:11px;letter-spacing:.08em;font-weight:900;border-radius:999px;padding:6px 8px}.readiness-row.pass>span{background:#ddf2e7;color:#145c41}.readiness-row.pending>span{background:#fff0c9;color:#704900}.readiness-row.external>span{background:#e8f2ff;color:#034692}.readiness-row p{margin:4px 0 0;color:var(--muted);line-height:1.45}.readiness-row strong{font-size:16px}
@media(max-width:760px){.login-options,.interactive-player,.readiness-summary{grid-template-columns:1fr}.interactive-player .integration-note{grid-column:auto}.login-card{padding:24px}.login-card h1{font-size:29px}.readiness-row{grid-template-columns:60px 1fr}}

/* Passes 35–39: production auth, live-service gates, invite controls */
.production-login-options{align-items:start}.login-option-form{border:1px solid #d7e2ec;border-radius:16px;padding:19px;display:grid;gap:10px;background:#fbfdff}.login-option-form>strong{font-size:19px;color:var(--csn-blue)}.login-option-form>span,.login-option-form small{color:var(--muted);line-height:1.4}.login-option-form label,.invite-row label{display:grid;gap:6px;font-weight:750;color:var(--ink)}.login-option-form input,.invite-row input{width:100%;box-sizing:border-box;border:1px solid #bdcbd7;border-radius:10px;padding:11px 12px;font:inherit;background:white}.demo-access{margin-top:8px;border-top:1px solid var(--line);padding-top:14px}.demo-access summary{cursor:pointer;font-weight:800;color:var(--csn-blue)}.demo-login-options{margin:12px 0 0}.invite-panel{margin-bottom:16px}.invite-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:12px;align-items:end}.live-translation-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.live-translation-controls span{font-size:13px;color:var(--muted)}.readiness-row.pass>span{background:#ddf2e7;color:#145c41}.readiness-row.pending>span{background:#fff0c9;color:#704900}.readiness-row.fail>span{background:#fce2df;color:#8c261d}.boundary-list .ready{color:#145c41;font-weight:800}.boundary-list .waiting{color:#704900;font-weight:800}.adapter-status.production{background:#145c41}.adapter-status.waiting{background:#704900}.utility-btn#accountBtn{margin-top:2px}
@media(max-width:760px){.invite-row,.production-login-options{grid-template-columns:1fr}.login-gate{align-items:start;overflow:auto}.login-card{margin:16px 0}.live-translation-controls>*{width:100%}.readiness-summary .metric{font-size:24px;overflow-wrap:anywhere}}

/* Pass 39 mobile containment correction: prevent intrinsic child widths from widening the app grid. */
@media(max-width:960px){
  .app-shell{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;overflow-x:hidden}
  .sidebar,.main-content{min-width:0;width:100%;max-width:100%}
  .nav-list{min-width:0;max-width:100%}
}
@media(max-width:700px){
  .student-list>div{grid-template-columns:42px minmax(0,1fr) auto;min-width:0}
  .student-list>div>*{min-width:0}
  .student-list>div>span:nth-child(3){overflow-wrap:anywhere}
}

/* Prototype 0.6 authoring/revision controls */
.authoring-safety-note{margin-top:14px;padding:12px 14px;border:1px solid rgba(3,70,146,.18);border-radius:12px;background:rgba(43,154,243,.06);font-size:.9rem;line-height:1.45}.builder-save-row{flex-wrap:wrap}.builder-save-row #revisionStatus{flex:1 1 260px;color:var(--muted)}

/* Prototype 0.9 — Dr. Vinnie simple instructor mode + student engagement */
.advanced-nav{display:grid;gap:4px;margin:3px 0 0 10px;padding-left:8px;border-left:2px solid #e5edf5}.advanced-toggle{margin-top:6px;color:#607080}.simple-instructor-header{margin-bottom:18px}.instructor-easy-start{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:0 8px 24px #27496d0d}.instructor-easy-start h2{margin:4px 0 0;font-size:25px}.easy-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.easy-action{min-height:155px;background:white;border:2px solid #dbe5ee;border-radius:16px;padding:18px;text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.easy-action:hover,.easy-action:focus-visible{border-color:#7fbaf0;background:#f7fbff}.easy-action.primary-action{border-color:#9fc7ed;background:#eef7ff}.easy-action strong{font-size:18px}.easy-action small{color:var(--muted);line-height:1.4}.easy-icon{width:38px;height:38px;border-radius:12px;background:#e8f2ff;color:var(--csn-blue);display:grid;place-items:center;font-size:20px;font-weight:800}.simple-summary{grid-template-columns:1fr 1fr}.simple-attention{margin-top:18px}.autosave-reassurance{display:flex;gap:8px;align-items:center;margin-top:14px;padding:12px 15px;border-radius:12px;background:#edf8f2;color:#255b42}.autosave-reassurance span{color:#4c665a}.simple-steps{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.simple-steps li{background:white;border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;align-items:center;gap:10px}.simple-steps li>span{width:32px;height:32px;border-radius:50%;background:#edf1f5;display:grid;place-items:center;font-weight:800}.simple-steps li.done>span{background:#dbf1e6;color:#176345}.simple-steps li.current{border:2px solid #84bdf2;background:#f2f8ff}.simple-steps li.current>span{background:var(--csn-blue);color:#fff}.simple-steps strong,.simple-steps small{display:block}.simple-steps small{color:var(--muted);margin-top:2px}.simple-builder-layout{grid-template-columns:220px minmax(0,1fr) 250px}.simple-palette p{font-size:13px;margin:0 0 12px}.simple-palette details{margin-top:6px}.simple-palette summary{cursor:pointer;color:var(--csn-blue);font-weight:700;padding:8px 2px}.builder-friendly-note{display:flex;flex-direction:column;gap:3px;background:#eef6ff;border-radius:11px;padding:11px 13px;margin-bottom:12px}.builder-friendly-note span{font-size:13px;color:var(--muted)}.block-controls{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.block-controls button{border:1px solid #c7d5e2;background:white;border-radius:8px;padding:5px 8px;color:#435466}.builder-save-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:12px}.builder-save-row>span{margin-right:auto;color:#4e6a5b;font-size:13px}.simple-teacher-helper{position:sticky;top:16px;height:max-content}.instructor-help-launcher{position:fixed;right:22px;bottom:22px;z-index:21;background:#fff;color:var(--csn-blue);border:2px solid var(--csn-blue);border-radius:999px;padding:10px 16px;box-shadow:0 9px 25px #1b4b7f24;font-weight:800;cursor:pointer}.instructor-help-launcher>span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--csn-blue);color:#fff;margin-right:6px}.instructor-help-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.instructor-help-options button{border:1px solid #c7d5e2;background:white;border-radius:13px;padding:13px;text-align:left;cursor:pointer}.instructor-help-options button:hover,.instructor-help-options button:focus-visible{background:#eef6ff;border-color:#8dbdeb}.instructor-help-options strong,.instructor-help-options span{display:block}.instructor-help-options span{color:var(--muted);font-size:13px;margin-top:4px}.help-reassurance{background:#f0f6fb;border-radius:11px;padding:11px 13px;color:#53687b}.tour-steps{display:grid;gap:10px;margin:18px 0}.tour-steps>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.tour-steps>div>span{width:32px;height:32px;border-radius:50%;background:#e8f2ff;color:var(--csn-blue);display:grid;place-items:center;font-weight:800}.tour-steps p{margin:0}.plain-checklist{display:grid;gap:9px;margin:18px 0}.plain-check{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.plain-check>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900}.plain-check.pass>span{background:#dff2e8;color:#176345}.plain-check.wait>span{background:#fff0c7;color:#8b5a00}.plain-check p{margin:3px 0 0;color:var(--muted)}.advanced-authoring-control.hidden{display:none!important}.file-button input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
@media(max-width:1050px){.easy-action-grid{grid-template-columns:1fr 1fr}.simple-builder-layout{grid-template-columns:1fr}.simple-teacher-helper{position:static;order:-1}.simple-steps{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.easy-action-grid,.simple-summary,.instructor-help-options,.simple-steps{grid-template-columns:1fr}.easy-action{min-height:0}.instructor-help-launcher{right:14px;bottom:14px}.simple-steps li{min-width:0}.autosave-reassurance{align-items:flex-start;flex-direction:column}}
.instructor-help-footer{margin-top:18px;display:flex}.instructor-help-footer .outline-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}

/* Pass 44A: engagement-focused adult learner practice tools */
.practice-path{margin:18px 0 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.practice-path-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.practice-path-head h2{margin:5px 0 6px}.practice-path-head p{margin:0;color:var(--muted)}.practice-stat{min-width:112px;border-radius:14px;background:#eef6ff;padding:12px;text-align:center}.practice-stat strong{display:block;font-size:28px;color:var(--csn-blue)}.practice-stat span{font-size:12px;color:var(--muted)}.practice-progress{height:10px;background:#e5edf5;border-radius:999px;overflow:hidden;margin-top:16px}.practice-progress span{display:block;height:100%;background:var(--bright-blue);transition:width .25s ease}.practice-progress-copy{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:8px;color:var(--muted);font-size:13px}.scenario-steps{display:flex;gap:8px;margin-top:16px}.scenario-steps span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#edf2f6;color:#667788;font-weight:800}.scenario-steps span.active{background:var(--csn-blue);color:white}.engagement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.engagement-tool{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;min-width:0}.engagement-tool h2{margin:6px 0 8px}.engagement-tool>p{color:var(--muted);line-height:1.5}.sentence-target{min-height:62px;border:2px dashed #bdd0e2;border-radius:12px;padding:16px;margin:14px 0;background:#f7fafc;font-size:18px}.word-bank{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.word-chip{border:1px solid #a9bfd3;background:#eef6ff;color:#183d66;border-radius:999px;padding:9px 13px;font-weight:750;cursor:pointer}.tool-feedback{margin-top:12px;background:#f5f8fb;border-radius:10px;padding:12px;min-height:48px}.listening-choices,.confidence-buttons{display:grid;gap:8px;margin-top:14px}.listening-choices button,.confidence-buttons button{border:1px solid #c8d5e1;background:white;border-radius:11px;padding:12px;text-align:left;cursor:pointer}.listening-choices button.practice-correct{border-color:#16835a;background:#effaf5}.listening-choices button.practice-try{border-color:#d07d00;background:#fff8eb}.confidence-buttons button.selected{border:2px solid var(--csn-blue);background:#eef6ff}.transcript{background:#fff8cd;border-radius:10px;padding:12px}.recall-tool label{display:block;font-weight:700;margin:12px 0 6px}.recall-tool input{width:100%;border:1px solid #b8c7d7;border-radius:10px;padding:12px;font:inherit;margin-bottom:12px}
@media(max-width:700px){.engagement-grid{grid-template-columns:1fr}.practice-path-head,.practice-progress-copy{align-items:flex-start;flex-direction:column}.practice-stat{width:100%;text-align:left}.practice-stat strong{display:inline;margin-right:7px}.engagement-tool{padding:17px}}
.hse-mini-lab{margin-top:18px;background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.hse-mini-lab h2{margin:6px 0 8px}.subject-card:focus-visible,.subject-card:hover{border-color:var(--bright-blue);background:#f5faff}
.scenario-next{margin-top:12px}.simple-teacher-helper #makeInteractiveBtn{border-color:#91bee9;background:#eef6ff;color:var(--csn-blue);font-weight:750}
.form-tool{grid-column:1/-1}.practice-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.practice-form-grid label{display:grid;gap:6px;font-weight:700}.practice-form-grid input,.practice-form-grid select{width:100%;border:1px solid #b8c7d7;border-radius:10px;padding:11px;font:inherit;background:white}@media(max-width:700px){.practice-form-grid{grid-template-columns:1fr}}

/* Release Candidate 1.0 — visual polish and production presentation */
:root{
  --csn-blue:#073f86;
  --bright-blue:#1688df;
  --navy:#102a43;
  --sky:#eaf5ff;
  --yellow:#f4c542;
  --ink:#1f2d3d;
  --muted:#607286;
  --line:#d7e2ec;
  --soft:#f5f8fb;
  --paper:#ffffff;
  --success:#177453;
  --warn:#8a5a00;
  --radius:20px;
  --shadow-sm:0 6px 20px rgba(22,54,87,.07);
  --shadow-md:0 16px 42px rgba(22,54,87,.10);
}
html{background:#f3f7fb}
body{background:radial-gradient(circle at 78% -20%,rgba(22,136,223,.10),transparent 38%),#f3f7fb;color:var(--ink)}
.environment-bar{height:34px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;background:#edf5fc;color:#43586c;border-bottom:1px solid #d8e6f2;font-size:12.5px;letter-spacing:.01em}
.environment-dot{width:8px;height:8px;border-radius:50%;background:#f0a000;box-shadow:0 0 0 4px rgba(240,160,0,.12)}
.environment-bar strong{color:#24384d}.environment-bar .adapter-status{color:#607286}
.app-shell{min-height:calc(100vh - 34px);grid-template-columns:258px minmax(0,1fr)}
.sidebar{height:calc(100vh - 34px);padding:22px 15px 16px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 70%,#f5f9fd 100%);border-right:1px solid #dce7f0;box-shadow:10px 0 35px rgba(22,54,87,.025);gap:17px}
.brand-block{padding:3px 6px 10px}.brand-mark{width:44px;height:44px;border-radius:14px 14px 14px 5px;background:linear-gradient(145deg,#073f86,#1688df);box-shadow:0 10px 20px rgba(7,63,134,.20);letter-spacing:-.03em}.brand-block strong{font-size:17px;letter-spacing:-.02em}.brand-block span{font-size:11.5px;color:#6a7c8e;margin-top:1px}
.role-switch{background:#edf3f8;border:1px solid #e0e8ef;padding:4px;border-radius:13px}.role-btn{min-height:36px;color:#526579}.role-btn.active{box-shadow:0 3px 10px rgba(24,52,78,.08);color:var(--csn-blue)}
.production-connected .role-switch{display:none}
.nav-list{gap:4px}.nav-item{min-height:42px;padding:10px 12px;border-radius:11px;font-size:15px;color:#415469;transition:background .16s ease,color .16s ease,transform .16s ease}.nav-item:hover,.nav-item:focus-visible{background:#eef6fd;color:#163b62}.nav-item.active{background:linear-gradient(90deg,#e5f1fd,#eff7ff);color:#073f86;font-weight:800;box-shadow:inset 3px 0 0 #1688df}.badge{min-width:22px;text-align:center;background:#f7ca38;color:#4f3b00;font-weight:850}
.sidebar-foot{gap:6px}.utility-btn{min-height:40px;border-color:#dbe5ee;background:rgba(255,255,255,.78);border-radius:11px;color:#415469}.utility-btn:hover,.utility-btn:focus-visible{background:#eef6fd;border-color:#b8d3ea}
.main-content{padding:34px clamp(22px,3vw,46px) 44px}.view{max-width:1220px}.page-header{margin-bottom:22px;align-items:center}.page-header h1{font-size:clamp(32px,3vw,42px);letter-spacing:-.035em;color:#1c2a39}.page-header .subtle{max-width:760px;line-height:1.55}.eyebrow{font-size:11px;letter-spacing:.15em;color:#07509e}
.header-actions{align-items:center}.primary-btn,.secondary-btn,.outline-btn{min-height:44px;border-radius:12px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-btn{background:linear-gradient(135deg,#073f86,#0759ad);border-color:#073f86;box-shadow:0 7px 18px rgba(7,63,134,.16)}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(7,63,134,.22)}.secondary-btn{border-color:#b9d7f1;background:#fafdff}.outline-btn{border-color:#c4d3e0;background:#fff}.text-btn{text-underline-offset:3px}.text-btn:hover{text-decoration:underline}
.announcement{position:relative;align-items:center;background:linear-gradient(90deg,#fff8cf,#fffdf1);border-color:#ead36b;border-radius:15px;padding:14px 18px;box-shadow:0 5px 16px rgba(130,101,0,.05)}.announcement:before{content:"";width:5px;align-self:stretch;border-radius:999px;background:#e7bb19}.announcement strong{color:#293746}
.hero-card{position:relative;overflow:hidden;border:1px solid #d5e2ed;border-radius:28px;padding:32px;grid-template-columns:minmax(0,1.5fr) minmax(255px,.72fr);gap:26px;background:linear-gradient(135deg,#ffffff 0%,#fafdff 62%,#eef7ff 100%);box-shadow:var(--shadow-md)}.hero-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,#073f86,#1688df 65%,#f4c542)}.week-chip{background:#e4f1fd;color:#074a94;padding:7px 12px;border:1px solid #d5e9fb}.hero-card h2{font-size:clamp(34px,4vw,46px);letter-spacing:-.045em;line-height:1.04;margin-top:16px}.hero-card p{color:#526579;line-height:1.5}.progress-row{margin:22px 0 17px}.progress-track{height:10px;background:#e4ecf3}.progress-track span{background:linear-gradient(90deg,#1688df,#4aacf0)}.saved-note{color:#708195}.hero-visual{position:relative;isolation:isolate;overflow:hidden;min-height:244px;border-radius:24px;background:linear-gradient(155deg,#0b3d75 0%,#0759ad 55%,#1688df 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}.hero-visual:before,.hero-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12);z-index:-1}.hero-visual:before{width:240px;height:240px;right:-95px;top:-85px}.hero-visual:after{width:180px;height:180px;left:-85px;bottom:-80px}.hero-visual .speech-bubble{color:#203044;border-radius:17px;box-shadow:0 14px 28px rgba(2,32,67,.20);max-width:260px}.assistant-orb{width:96px;height:96px;border-radius:50%;background:linear-gradient(145deg,#ffffff,#dfefff);color:#07509e;box-shadow:0 14px 32px rgba(1,31,67,.28),inset 0 0 0 8px rgba(255,255,255,.34);font-size:42px}.assistant-orb.small{width:52px;height:52px;border-radius:50%;font-size:21px}
.grid-2{gap:20px;margin-top:20px}.panel,.settings-card,.practice-path,.engagement-tool,.hse-mini-lab{border-color:#d9e4ed;box-shadow:var(--shadow-sm);background:rgba(255,255,255,.96)}.panel{border-radius:21px;padding:21px}.panel-title-row{margin-bottom:4px}.panel h2{font-size:20px;letter-spacing:-.015em}.activity-list{gap:9px}.activity-card{border-color:#e0e7ee;border-radius:14px;padding:13px 14px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.activity-card:hover,.activity-card:focus-visible{transform:translateY(-1px);border-color:#a9ccea;box-shadow:0 7px 17px rgba(22,54,87,.07)}.activity-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#edf6ff;font-size:19px}.activity-card:nth-child(2) .activity-icon{background:#edf9f3}.activity-card:nth-child(3) .activity-icon{background:#fff7db}.message-preview{padding:13px 0}.avatar{border-radius:13px;background:linear-gradient(145deg,#073f86,#1688df);box-shadow:0 5px 12px rgba(7,63,134,.15)}.support-strip{border:1px solid #d9e7f2;background:linear-gradient(90deg,#edf6fd,#f7fbff);border-radius:17px;padding:17px 19px}
.orientation-grid,.practice-grid{gap:16px}.orientation-card,.skill-card,.subject-card{border-color:#dce6ee;border-radius:18px;box-shadow:0 5px 16px rgba(22,54,87,.045);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.orientation-card:hover,.skill-card:hover,.subject-card:hover{transform:translateY(-2px);border-color:#a8c9e6;box-shadow:0 10px 22px rgba(22,54,87,.08)}
.lesson-tools{top:8px;background:rgba(243,247,251,.92);backdrop-filter:blur(8px);border-radius:13px;padding:8px}.lesson-tools button{border-color:#cfdae4;border-radius:11px;background:#fff;min-height:40px}.lesson-block{border-color:#d9e4ed;border-radius:21px;box-shadow:var(--shadow-sm);padding:26px}.example-box{background:linear-gradient(135deg,#edf6fd,#f8fbfe);border:1px solid #d9e8f4}.choice-btn{border-color:#d9e3ec;border-radius:13px;transition:background .15s ease,border-color .15s ease,transform .15s ease}.choice-btn:hover{transform:translateY(-1px)}.hse-connection{border-radius:17px;background:linear-gradient(135deg,#fff8d9,#fffdf2)}
.message-layout,.library-table,.student-list{border-color:#d9e4ed;border-radius:21px;box-shadow:var(--shadow-sm)}.thread.active{background:#e9f4fe}.bubble{border-radius:17px}.bubble.me{background:#dcedfd}.conversation{background:linear-gradient(180deg,#fff,#fbfdff)}
.practice-path{border-radius:23px;padding:22px}.practice-stat{background:linear-gradient(135deg,#e9f4fe,#f5faff);border:1px solid #d9e9f7}.practice-progress span{background:linear-gradient(90deg,#073f86,#1688df)}.engagement-grid{gap:20px}.engagement-tool{border-radius:22px;padding:22px}.engagement-tool h2{font-size:22px;letter-spacing:-.02em}.sentence-target,.tool-feedback,.transcript{border-radius:13px}.word-chip{background:#edf6ff;border-color:#b9d3ea;color:#143d67}.word-chip:hover{background:#dfefff}.listening-choices button,.confidence-buttons button{min-height:48px;border-color:#d5e1ea;border-radius:13px}.hse-mini-lab{border-radius:22px}.practice-form-grid input,.practice-form-grid select,.recall-tool input{border-color:#c5d4e1;min-height:44px}
.instructor-easy-start{border-color:#d9e4ed;border-radius:25px;box-shadow:var(--shadow-md);padding:24px}.instructor-easy-start h2{font-size:28px;letter-spacing:-.025em}.easy-action-grid{gap:14px}.easy-action{min-height:160px;border:1px solid #d9e4ed;border-radius:19px;box-shadow:0 5px 18px rgba(22,54,87,.045);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.easy-action:hover,.easy-action:focus-visible{transform:translateY(-2px);border-color:#9bc5e8;box-shadow:0 12px 24px rgba(22,54,87,.09)}.easy-action.primary-action{background:linear-gradient(145deg,#edf6ff,#f9fcff);border-color:#9fc9eb}.easy-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#e2f0fd,#f4f9fe);box-shadow:inset 0 0 0 1px #d6e8f7}.simple-summary .panel:first-child{border-top:4px solid #0759ad}.simple-summary .panel:last-child{border-top:4px solid #f0bd25}.simple-attention{border-left:4px solid #f0bd25}.autosave-reassurance{background:#edf8f3;border:1px solid #d4eadf;border-radius:14px}.simple-steps li{border-color:#d9e4ed;border-radius:15px}.simple-steps li.current{border-color:#8fc1e9;background:#f1f8ff}.block-palette,.builder-canvas,.assistant-panel{border-color:#d9e4ed;border-radius:19px;box-shadow:var(--shadow-sm)}.builder-canvas{background:#f7fafc}.builder-block{border-color:#dbe5ee;border-radius:14px}.instructor-help-launcher{border-color:#07509e;color:#07509e;box-shadow:0 12px 30px rgba(7,63,134,.17)}.instructor-help-launcher>span{background:#07509e}
.assistant-launcher{background:linear-gradient(135deg,#073f86,#0759ad);box-shadow:0 12px 28px rgba(7,63,134,.24);min-height:44px}.drawer,.modal-card{border-color:#d5e2ec;box-shadow:0 24px 70px rgba(18,43,70,.24)}.drawer{border-radius:24px}.modal-card{border-radius:23px}.close-btn{background:#edf3f8;color:#34485d}.helper-message{background:#edf6fd}.helper-grid button,.stuck-options button,.instructor-help-options button{border-color:#d6e2eb;border-radius:13px}
.login-gate{background:radial-gradient(circle at 20% 0%,rgba(22,136,223,.22),transparent 36%),linear-gradient(145deg,#eaf3fb,#f7fafc 55%,#eef6fd);padding:30px}.login-card{width:min(760px,100%);border-radius:30px;padding:38px;border-color:#d8e4ee;box-shadow:0 30px 90px rgba(17,47,77,.19)}.login-card>.brand-mark.large{width:56px;height:56px;border-radius:17px 17px 17px 6px}.login-card h1{font-size:39px;letter-spacing:-.04em}.login-option-form{border-color:#dce6ee;border-radius:19px;background:#fbfdff;padding:21px}.login-option{border-color:#dbe5ed;border-radius:18px}.login-option:hover,.login-option:focus-visible{border-color:#93c3e8}.demo-access{border-top:1px solid #e0e8ef;padding-top:15px}.demo-access summary{cursor:pointer;font-weight:750;color:#4b5e72}.login-safety{background:#eef4f9;border:1px solid #dce7f0;color:#5a6d80}
.prototype-tag{background:#edf6fd;border-color:#d8e8f5;color:#46627c}
.prototype-toast{border-radius:13px!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #f2c84b;outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative;top:auto;border-right:0;border-bottom:1px solid #dce7f0;box-shadow:none}.hero-card{grid-template-columns:1fr}.hero-visual{min-height:190px}.main-content{padding:24px 18px 92px}.environment-bar{justify-content:flex-start}.production-connected .environment-bar{display:none}}
@media(max-width:700px){.environment-bar{height:auto;min-height:34px;flex-wrap:wrap;padding:7px 14px}.page-header{align-items:flex-start}.page-header h1{font-size:32px}.hero-card{padding:24px;border-radius:23px}.hero-card h2{font-size:36px}.grid-2{grid-template-columns:1fr}.panel{border-radius:18px}.engagement-tool,.practice-path,.hse-mini-lab{border-radius:19px}.login-card{padding:24px;border-radius:24px}.login-card h1{font-size:32px}.assistant-launcher{right:14px;bottom:14px}.instructor-help-launcher{right:14px;bottom:14px}}
.environment-bar .adapter-status{display:inline-flex;align-items:center;margin-left:2px;padding:3px 8px;border-radius:999px;background:#dfeaf4;color:#4d6277;font-weight:750}.environment-bar .adapter-status.connected{background:#dff3e8;color:#155b42}.environment-bar .adapter-status.production{background:#dff3e8;color:#155b42}.environment-bar .adapter-status.waiting{background:#fff0c7;color:#785200}

/* Release 1.1: learner quick-start, instructor setup assistant, connection resilience */
.student-quick-start{margin:18px 0 22px;padding:20px;border:1px solid #d5e1ec;border-radius:18px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);box-shadow:0 8px 22px rgba(3,70,146,.05)}
.student-quick-start .panel-title-row{margin-bottom:14px}.student-quick-start h2{margin:2px 0}.quick-start-note{color:#5f6c78;font-size:.88rem}
.student-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-quick-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:132px;padding:16px;border:1px solid #d4dee8;border-radius:14px;background:#fff;color:#1f2a34;text-align:left;font:inherit;cursor:pointer;box-shadow:0 4px 12px rgba(20,50,80,.04)}.student-quick-card:hover,.student-quick-card:focus-visible{border-color:#2b9af3;box-shadow:0 8px 20px rgba(3,70,146,.10);transform:translateY(-1px)}.student-quick-card>span{font-size:1.45rem}.student-quick-card strong{font-size:1rem;line-height:1.2}.student-quick-card small{color:#65727e;line-height:1.4}
.instructor-setup-link{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:14px 16px;border:1px dashed #b7c9da;border-radius:13px;background:#f8fbfd}.instructor-setup-link>div{display:flex;flex-direction:column;gap:3px}.instructor-setup-link span{color:#65727e;font-size:.9rem}.setup-assistant-card{max-width:720px}.setup-assistant-steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:13px}.setup-assistant-steps li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid #d8e2eb;border-radius:13px;background:#fff}.setup-assistant-steps li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f2ff;color:#034692;font-weight:800}.setup-assistant-steps label{display:flex;flex-direction:column;gap:8px}.setup-assistant-steps input,.setup-assistant-steps select{width:100%;border:1px solid #c5d0da;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}.setup-assistant-summary{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border-radius:12px;background:#eef8f3;color:#164b35;margin-bottom:16px}.setup-assistant-summary span{font-size:.9rem}
.offline-notice{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 18px;background:#fff1cf;color:#594400;border-bottom:1px solid #e9cf80}.offline-notice.hidden{display:none}.offline-notice span{font-size:.9rem}
@media(max-width:980px){.student-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.student-quick-grid{grid-template-columns:1fr 1fr;gap:9px}.student-quick-card{min-height:122px;padding:13px}.student-quick-card small{font-size:.8rem}.quick-start-note{display:none}.instructor-setup-link{align-items:flex-start;flex-direction:column}.offline-notice{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:430px){.student-quick-grid{grid-template-columns:1fr}.student-quick-card{min-height:0}}

/* Release 1.3 interaction-completeness polish */
.builder-preview-card{max-width:760px}
.builder-preview-content{display:grid;gap:14px;margin-top:18px;max-height:min(60vh,620px);overflow:auto;padding-right:4px}
.builder-preview-content .lesson-block{margin:0;background:#fff;border:1px solid #d8e3ef;border-radius:16px;box-shadow:none}
.audit-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:7px 10px;border-radius:999px;background:#edf4fb;color:#26435f;font-weight:700;font-size:.82rem}
.week-map-card[role="group"]{cursor:default}
.week-map-card[role="group"]:hover{transform:none;box-shadow:none}
#replyTranslationPreview{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:#f4f8fc;border:1px solid #dbe7f2}
@media (max-width:640px){.builder-preview-card{width:min(94vw,760px)}.builder-preview-content{max-height:55vh}}

/* Integration Pass 2 — track-aware course control and student assignment cards */
.curriculum-track-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:20px;align-items:end;margin-bottom:18px}.curriculum-track-panel h2,.curriculum-catalog h2,.curriculum-control-panel h2{margin:3px 0 7px}.track-explanation{grid-column:1/-1;margin:0;padding:12px 14px;border-radius:12px;background:#f1f7fc;color:#425a70}.curriculum-field{display:flex;flex-direction:column;gap:7px;font-weight:700}.curriculum-field>span{font-size:.84rem;color:#52677b}.curriculum-field select,.curriculum-field input{min-height:44px;padding:9px 11px;border:1px solid #c6d5e2;border-radius:10px;background:#fff;color:#1e2f40;font:inherit}.curriculum-catalog{margin-bottom:18px}.curriculum-catalog ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:16px 0 0}.curriculum-catalog li{display:flex;flex-direction:column;gap:4px;padding:12px 13px;border:1px solid #dbe5ed;border-radius:13px;background:#fbfdff}.curriculum-catalog li span{font-weight:760}.curriculum-catalog li small{color:#66798b;line-height:1.35}.curriculum-selector-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin:16px 0}.license-boundary-note{display:flex;gap:9px;align-items:flex-start;padding:13px 14px;border:1px solid #e1d8ab;border-radius:13px;background:#fffaf0;color:#514a2e}.license-boundary-note span{line-height:1.45}.course-gate-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,1fr);gap:20px;align-items:center;margin-top:18px;padding:18px;border:1px solid #d6e3ed;border-radius:17px;background:#fbfdff}.course-gate-card h3{margin:9px 0 5px}.course-gate-card p{margin:0;color:#617286}.gate-editor{display:grid;grid-template-columns:1fr 1.25fr auto;gap:9px;align-items:end}.gate-editor.compact{margin-top:10px}.curriculum-apply{min-height:44px}.module-control-card{margin-top:16px;border:1px solid #d8e4ed;border-radius:17px;overflow:hidden}.module-control-head{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.4fr);gap:20px;align-items:end;padding:18px;background:#f5f9fc;border-bottom:1px solid #d8e4ed}.module-gate-summary{display:flex;align-items:center;gap:10px}.module-gate-summary strong{font-size:.95rem}.lesson-control-heading{display:flex;justify-content:space-between;align-items:center;padding:17px 18px 10px}.lesson-control-heading h3{margin:0 0 3px}.lesson-control-heading p{margin:0;color:#657789}.lesson-control-heading>span{font-size:.85rem;color:#607286}.lesson-control-row{display:grid;grid-template-columns:minmax(250px,1.45fr) 100px 130px minmax(190px,.9fr) auto;gap:9px;align-items:center;padding:11px 18px;border-top:1px solid #e4ebf1}.lesson-control-name{display:flex;gap:11px;align-items:center}.lesson-control-name small{display:block;margin-top:3px;color:#687b8d}.lesson-number{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#e8f2fb;color:#174b79;font-weight:800}.lesson-control-row select,.lesson-control-row input{min-height:40px;padding:7px 9px;border:1px solid #c8d6e1;border-radius:9px;background:#fff;font:inherit}.status-chip{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:6px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.status-chip.available{background:#dff3e8;color:#155b42}.status-chip.locked{background:#edf1f4;color:#536373}.status-chip.scheduled{background:#fff0c7;color:#785200}.curriculum-locked-toggle{margin-top:17px;padding:13px 14px;border:1px solid #dce6ee;border-radius:13px;background:#fbfdff}.catalog-only-message,.track-only-panel{margin-top:16px;padding:18px;border:1px solid #d9e4ed;border-radius:16px;background:#f8fbfd}.catalog-only-message p,.track-only-panel p{margin-bottom:0}.curriculum-student-card{margin:18px 0 22px;padding:21px;border:1px solid #cfe0ec;border-radius:20px;background:linear-gradient(145deg,#f5faff,#fff);box-shadow:0 8px 22px rgba(3,70,146,.06)}.curriculum-student-card.locked{background:#f8fafc}.curriculum-student-card.scheduled{background:#fffaf0;border-color:#eadca9}.curriculum-student-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.curriculum-student-card h2{margin:3px 0 9px;font-size:25px}.curriculum-platform{font-size:.78rem;font-weight:850;letter-spacing:.06em;color:#29587e}.assignment-path{display:flex;flex-wrap:wrap;gap:0;margin:10px 0 12px;color:#38536b}.assignment-path span,.assignment-path strong{display:inline-flex;align-items:center}.assignment-path span::after{content:'›';padding:0 7px;color:#90a0ae}.assignment-path strong{color:#163c60}.student-assignment-note,.locked-explanation{color:#5f7385}.curriculum-student-card.detail{margin-top:0}.assignment-directions{margin-top:16px;padding:18px;border-radius:16px;background:#f7fafc;border:1px solid #dce6ee}.assignment-directions h3{margin-top:0}.assignment-directions li{margin:8px 0;line-height:1.5}.assignment-directions p{margin-bottom:0;color:#607386}.assignment-tools{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.track-card{border-left:4px solid #8fb9da}.track-card p{max-width:780px;line-height:1.55}
@media(max-width:1000px){.curriculum-catalog ul{grid-template-columns:repeat(2,minmax(0,1fr))}.course-gate-card{grid-template-columns:1fr}.module-control-head{grid-template-columns:1fr}.lesson-control-row{grid-template-columns:minmax(220px,1fr) 90px 120px minmax(170px,1fr) auto}}
@media(max-width:760px){.curriculum-track-panel,.curriculum-selector-grid{grid-template-columns:1fr}.curriculum-track-panel .track-explanation{grid-column:1}.curriculum-catalog ul{grid-template-columns:1fr}.gate-editor{grid-template-columns:1fr}.lesson-control-row{grid-template-columns:1fr 1fr}.lesson-control-name{grid-column:1/-1}.lesson-control-row input{grid-column:1/-1}.lesson-control-row button{justify-self:start}.curriculum-student-card-head{flex-direction:column}.assignment-path{flex-direction:column;gap:3px}.assignment-path span::after{content:''}.assignment-tools{align-items:stretch;flex-direction:column}}


/* Integration Pass 3 */
.mypath-week0{margin-bottom:20px}.mypath-attendance{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:12px;background:var(--surface-soft,#f5f6f8);margin:14px 0}.mypath-attendance span{line-height:1.45}.mypath-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.mypath-day-card{border:1px solid var(--border,#d9dde5);border-radius:14px;padding:16px;background:var(--surface,#fff)}.mypath-day-card>span{font-size:.75rem;font-weight:800;letter-spacing:.08em}.mypath-day-card h3{margin:7px 0 10px}.mypath-day-card ul{margin:0;padding-left:20px}.mypath-day-card li{margin:6px 0}.source-note{font-size:.88rem;color:var(--muted,#626b78);margin-top:14px}.first-week-summary{margin-bottom:16px}.first-week-summary .progress-track{margin-top:10px}.first-week-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.first-week-group{margin:0}.first-week-task{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--border,#e0e3e8);cursor:pointer}.first-week-task input{margin-top:4px;min-width:18px;min-height:18px}.first-week-task span{line-height:1.4}.first-week-groups+.privacy-card{margin-top:16px}@media(max-width:800px){.mypath-day-grid,.first-week-groups{grid-template-columns:1fr}.mypath-attendance{flex-direction:column}}


/* Integration Pass 4: Burlington Core Low Intermediate Module 1 */
.curriculum-support-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.curriculum-license-toggle{margin-top:17px;padding:13px 14px;border:1px solid #dce6ee;border-radius:13px;background:#fbfdff}.private-resource-status{display:flex;flex-direction:column;gap:5px;min-height:0;margin-top:10px;padding:0 2px;color:#5b6f82}.private-resource-status:not(:empty){padding:12px 14px;border:1px solid #dce6ee;border-radius:12px;background:#f7fafc}.lesson-goal{max-width:720px;line-height:1.4}.lesson-action-stack{display:flex;gap:7px;align-items:center}.teacher-source-btn{white-space:nowrap}.pass4-module1-row{grid-template-columns:minmax(310px,1.55fr) 105px 130px minmax(190px,.8fr) minmax(175px,auto)}.module1-count{font-weight:800;color:#536d84}.module1-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.module1-lesson-card{padding:16px;border:1px solid #dbe6ee;border-radius:16px;background:#fff}.module1-lesson-card.locked{background:#f7f9fb}.module1-lesson-card.scheduled{background:#fffaf0;border-color:#eadca9}.module1-lesson-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.module1-lesson-card h3{margin:5px 0 7px}.module1-lesson-card p{line-height:1.5}.selected-lesson-detail{margin:0 0 24px;padding:22px;border:1px solid #cfe0ec;border-radius:20px;background:#fff}.selected-lesson-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.selected-lesson-heading h2{margin:4px 0 7px}.coursehub-practice,.worksheet-support{margin-top:16px;padding:18px;border:1px solid #dce6ee;border-radius:16px;background:#f8fbfd}.coursehub-practice h3,.worksheet-support h3{margin:4px 0 7px}.practice-choice-stack{display:grid;gap:8px;margin-top:12px}.practice-choice-stack .secondary-btn{text-align:left;justify-content:flex-start}.practice-feedback{margin-bottom:0;font-weight:700;color:#425e77}.worksheet-support.unconfirmed{background:#fafafa}.worksheet-support.licensed{background:#f6fbf8;border-color:#cfe5d8}
@media(max-width:1000px){.pass4-module1-row{grid-template-columns:minmax(250px,1.4fr) 100px 125px minmax(170px,.8fr)}.lesson-action-stack{grid-column:1/-1;justify-content:flex-start}.curriculum-support-settings{grid-template-columns:1fr}}
@media(max-width:760px){.module1-student-grid{grid-template-columns:1fr}.selected-lesson-heading{flex-direction:column}.pass4-module1-row{grid-template-columns:1fr 1fr}.pass4-module1-row .lesson-control-name{grid-column:1/-1}.lesson-action-stack{grid-column:1/-1;flex-wrap:wrap}}

.mapped-module-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.student-module-selector{min-width:290px}.module-gate-summary{flex-wrap:wrap}.module-source-note{display:block;margin-top:7px;color:#617487;font-size:.84rem}.module-teacher-source-btn{margin-left:auto}@media(max-width:760px){.mapped-module-student-grid{grid-template-columns:1fr}.student-module-selector{min-width:0;width:100%}.module-teacher-source-btn{margin-left:0}}
\n\n/* Integration Pass 6: Burlington help and predictable navigation */
.burlington-help-layout{display:grid;gap:18px}.burlington-start-card{border-left:4px solid var(--csn-blue)}.plain-step-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.plain-step-list li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:12px 0;border-top:1px solid #e4ebf1}.plain-step-list li:first-child{border-top:0;padding-top:0}.plain-step-list li>span{width:34px;height:34px;border-radius:50%;background:#e8f2ff;color:var(--csn-blue);display:grid;place-items:center;font-weight:850}.plain-step-list strong{display:block;margin:2px 0 4px}.plain-step-list p{margin:0;color:#596d80;line-height:1.5}.burlington-help-search{display:grid;gap:7px;font-weight:760;margin:14px 0}.burlington-help-search input{min-height:46px;padding:11px 13px;border:1px solid #b9c9d8;border-radius:11px;background:white;color:var(--ink)}.burlington-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.burlington-button-item{padding:13px 14px;border:1px solid #dbe5ed;border-radius:13px;background:#fbfdff}.burlington-button-item strong{display:block;color:#183f64;margin-bottom:4px}.burlington-button-item span{display:block;color:#5c6f81;line-height:1.45}.filter-status{min-height:1.3em;margin:10px 0 0;color:#607487;font-size:.9rem}.burlington-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.plain-callout{display:flex;flex-direction:column;gap:4px;background:#f1f7fc;border-radius:12px;padding:13px 14px;margin-top:14px}.plain-callout span{color:#50677a;line-height:1.45}.digital-basics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.digital-basics-grid>div{border:1px solid #dde7ef;border-radius:13px;padding:14px;background:#fbfdff}.digital-basics-grid strong,.digital-basics-grid span{display:block}.digital-basics-grid span{color:#5c7082;margin-top:5px;line-height:1.45}.burlington-help-support{margin-top:0}.burlington-help-support>.action-row{flex:0 0 auto}.private-guide-note{border-left:4px solid #8ba8bf}.burlington-button-item.hidden{display:none!important}.nav-item.hidden{display:none!important}
@media(max-width:900px){.digital-basics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.burlington-button-grid,.burlington-help-grid,.digital-basics-grid{grid-template-columns:1fr}.burlington-help-support{align-items:stretch;flex-direction:column}.burlington-help-support>.action-row{display:grid;grid-template-columns:1fr}.burlington-help-support button{width:100%}.plain-step-list li{grid-template-columns:34px 1fr}.burlington-help-layout .page-header{flex-direction:column}}

/* Integration Pass 8 production account clarity */
.student-password-change,.credential-box{margin-top:14px;padding:14px;border:1px solid var(--line,#d8dee9);border-radius:14px;background:var(--surface-soft,#f7f9fc);display:grid;gap:10px}
.credential-box code{font-size:1rem;overflow-wrap:anywhere}
.student-account-list{display:grid;gap:10px;margin-top:16px}
.student-account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line,#d8dee9);border-radius:14px;background:var(--surface,#fff)}
.student-account-row>div:first-child{display:grid;gap:4px;min-width:0}.student-account-row span{font-size:.9rem;color:var(--muted,#5b6472);overflow-wrap:anywhere}
@media(max-width:700px){.student-account-row{align-items:flex-start;flex-direction:column}.student-account-row .action-row{width:100%;justify-content:flex-start}.invite-row{grid-template-columns:1fr!important}}


/* Production front-door stability: unauthenticated visitors see only the sign-in experience. */
body.auth-locked { overflow: auto; }
body.auth-locked .app-shell { visibility: hidden; pointer-events: none; user-select: none; }
body.auth-locked .environment-bar { display: none !important; }
body.auth-locked .offline-notice { top: 0; }
body.auth-locked .login-gate { background: var(--page-bg, #f5f7fb); }
body.auth-locked .login-card { position: relative; z-index: 2; }

body.auth-locked > :not(#loginGate):not(.offline-notice):not(script) { visibility: hidden !important; pointer-events: none !important; }
body.auth-locked #loginGate { visibility: visible !important; pointer-events: auto !important; }
.demo-access, .login-safety { display: none; }
body.dev-demo .demo-access { display: block; }
body.dev-demo .login-safety { display: block; }
