:root{--ink:#12212d;--navy:#102a3a;--navy-soft:#183d4d;--paper:#f5f1e9;--paper-2:#eee8dc;--white:#fffdf8;--coral:#e65a3f;--coral-soft:#f7cabc;--teal:#4e887d;--teal-soft:#cfe2db;--gold:#d39a43;--line:#12212d24;--muted:#69747a;--shadow:0 24px 64px #102a3a1f}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}.site-shell{min-height:100vh}.site-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30;background:#f5f1e9f0;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,5vw,72px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:12px;display:flex}.brand>span{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-size:14px;display:grid}.brand strong{font-size:18px}.site-header nav{align-items:center;gap:28px;font-size:14px;display:flex}.nav-button{cursor:pointer;background:0 0;border:0;padding:0}.teacher-link{color:var(--coral);border-radius:6px;padding:6px 4px;font-weight:700}.teacher-link:hover,.teacher-link:focus-visible{color:#c8482f}.teacher-link:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.auth-actions{align-items:center;gap:8px;display:flex}.auth-actions button{cursor:pointer;border-radius:999px;min-height:38px;padding:0 15px;font-size:13px;font-weight:750}.auth-sign-in{border:1px solid var(--line);color:var(--ink);background:0 0}.auth-create{border:1px solid var(--ink);background:var(--ink);color:#fff}.auth-actions button:hover{transform:translateY(-1px)}.auth-actions button:focus-visible,.nav-button:focus-visible,.student-chip button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.student-chip{align-items:center;gap:10px;font-size:13px;display:flex}.student-chip span{font-weight:700}.student-chip small{color:var(--muted);border-left:1px solid var(--line);padding-left:10px}.student-chip button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:8px 12px}.catalog-shell,.course-page,.history-page,.workspace-shell{width:min(1220px,100% - 48px);margin:0 auto;padding:76px 0 110px}.catalog-shell{padding-top:48px}.catalog-heading{letter-spacing:-.035em;margin-bottom:32px;font-family:Georgia,serif;font-size:clamp(38px,4vw,58px);font-weight:400;line-height:1}.chapter-heading,.workspace-heading,.history-heading{grid-template-columns:1fr minmax(280px,420px);align-items:end;gap:60px;margin-bottom:38px;display:grid}.history-heading-simple{margin-bottom:38px;display:block}.chapter-heading h2,.activity-intro h2,.history-heading h1,.workspace-heading h1,.admin-heading h2{letter-spacing:-.035em;margin-bottom:0;font-family:Georgia,serif;font-size:clamp(38px,4vw,58px);font-weight:400;line-height:1}.chapter-heading>p,.workspace-heading>div>p,.history-heading>p{color:var(--muted);margin-bottom:4px;line-height:1.7}.filter-bar{background:var(--white);border:1px solid var(--line);border-radius:16px;grid-template-columns:minmax(300px,1fr) 210px 190px;gap:12px;padding:14px;display:grid;box-shadow:0 12px 40px #102a3a0d}.filter-bar input,.filter-bar select,.access-modal input,.course-form input,.course-form textarea,.question-content select,.question-content textarea{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;width:100%;min-height:48px;padding:0 14px}.filter-bar input:focus,.filter-bar select:focus,.access-modal input:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #4e887d21}.search-field{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:10px;padding-left:14px;display:flex}.search-field span{font-size:25px;transform:rotate(-15deg)}.search-field input{border:0;padding-left:0;box-shadow:none!important}.course-section{margin-top:64px}.section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin-bottom:22px;padding-bottom:20px;display:flex}.section-title h3{margin-bottom:0;font-family:Georgia,serif;font-size:30px;font-weight:400}.section-title>span{color:var(--muted);font-size:13px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.course-card{text-align:left;cursor:pointer;border:0;border-radius:18px;flex-direction:column;justify-content:space-between;min-height:350px;padding:24px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.course-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.tone-coral{background:var(--coral-soft)}.tone-teal{background:var(--teal-soft)}.tone-gold{background:#ead7b8}.tone-navy{background:#bfd0d8}.course-card:after{content:"";border:1px solid #12212d1f;border-radius:50%;width:210px;height:210px;position:absolute;top:-80px;right:-80px;box-shadow:0 0 0 34px #ffffff1a}.course-card-top,.course-meta{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.course-card-top>span:first-child{letter-spacing:.12em;font-size:12px;font-weight:900}.lock-state{text-transform:uppercase;letter-spacing:.08em;border:1px solid #12212d40;border-radius:999px;padding:7px 10px;font-size:11px}.course-card-copy{z-index:1;position:relative}.course-card-copy p{color:#12212da6;margin-bottom:12px;font-size:12px}.course-card-copy h4{letter-spacing:-.035em;max-width:290px;margin-bottom:18px;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.02}.course-card-copy>span{color:#12212db3;font-size:14px;line-height:1.55;display:block}.course-meta{border-top:1px solid #12212d26;padding-top:18px;font-size:12px}.course-meta strong{font-size:13px}.course-progress>div{background:#12212d24;border-radius:99px;height:5px;overflow:hidden}.course-progress>div span{background:var(--ink);height:100%;display:block}.course-progress p{margin:8px 0 0;font-size:12px}.empty-state,.loading-grid{text-align:center;color:var(--muted);border:1px dashed #12212d40;border-radius:16px;padding:44px}.empty-state.large{padding:90px 30px}.history-empty{padding:52px 30px}.empty-state.large strong{color:var(--ink);margin-bottom:10px;font-family:Georgia,serif;font-size:28px;display:block}.inline-notice{background:var(--teal-soft);border-radius:12px;justify-content:space-between;margin:22px 0;padding:14px 18px;display:flex}.inline-notice button{cursor:pointer;background:0 0;border:0;font-size:20px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:80;background:#0a1c27ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.access-modal{background:var(--paper);width:min(510px,100%);box-shadow:var(--shadow);border-radius:20px;padding:40px;position:relative}.access-modal h2{margin-bottom:26px;font-family:Georgia,serif;font-size:40px;font-weight:400;line-height:1}.modal-intro{color:var(--muted);margin:-10px 0 24px;font-size:14px;line-height:1.6}.modal-close{cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:16px;right:18px}.modal-close:focus-visible,.password-visibility-button:focus-visible,.password-eye-button:focus-visible,.change-password-button:focus-visible,.reset-password-button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.mode-switch{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:22px;display:grid;overflow:hidden}.mode-switch button{cursor:pointer;background:0 0;border:0;min-height:44px}.mode-switch button.active{background:var(--ink);color:#fff}.access-modal form,.course-form{gap:16px;display:grid}.access-modal label,.course-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:700;display:grid}.identity-warning{background:#f2dfbd;border-radius:8px;padding:12px;font-size:12px;line-height:1.5}.form-error{color:#9e3027;background:#f6d9d5;border-radius:8px;padding:11px 12px;font-size:13px}.primary-button,.secondary-button{border:1px solid var(--ink);cursor:pointer;border-radius:999px;min-height:46px;padding:0 20px;font-weight:800}.primary-button{background:var(--ink);color:#fff}.secondary-button{background:0 0}.primary-button:disabled,.secondary-button:disabled,.modal-close:disabled{opacity:.4;cursor:not-allowed}.admin-password-modal .eyebrow,.admin-password-modal h2{margin-bottom:10px}.password-dialog-subject{margin-bottom:14px;font-size:15px;display:block}.password-dialog-description{color:var(--muted);margin-bottom:22px;font-size:13px;line-height:1.6}.password-input-wrap{display:block;position:relative}.password-input-wrap input{padding-right:76px}.password-visibility-button{background:var(--paper-2);min-width:58px;min-height:34px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;font-size:11px;font-weight:800;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-visibility-button:disabled{opacity:.45;cursor:not-allowed}.password-dialog-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.wide{width:100%}.text-button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0}.back-button{margin-bottom:34px}.course-page{min-height:calc(100vh - 76px)}.course-banner{border-radius:24px;flex-direction:column;justify-content:end;min-height:380px;padding:clamp(40px,6vw,82px);display:flex;position:relative;overflow:hidden}.course-banner:after{content:"";border:1px solid #12212d21;border-radius:50%;width:430px;height:430px;position:absolute;top:-180px;right:-110px;box-shadow:0 0 0 65px #ffffff1a}.course-banner span,.course-banner h1,.course-banner p{z-index:1;position:relative}.course-banner>span{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}.course-banner h1{letter-spacing:-.05em;max-width:780px;margin:20px 0;font-family:Georgia,serif;font-size:clamp(54px,7vw,86px);font-weight:400;line-height:.95}.course-banner p{max-width:610px;margin:0;line-height:1.65}.chapter-heading{margin-top:80px}.chapter-list{border-top:1px solid var(--line)}.chapter-row{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;grid-template-columns:70px 1fr 120px 30px;align-items:center;gap:20px;width:100%;padding:26px 8px;display:grid}.chapter-row:hover{background:#ffffff73}.chapter-row:disabled{opacity:.55;cursor:default}.chapter-index{color:var(--coral);font-family:Georgia,serif;font-size:26px}.chapter-row h3{margin-bottom:6px;font-size:18px}.chapter-row p,.chapter-row small{color:var(--muted);margin:0;line-height:1.5}.chapter-score{text-align:right;display:grid}.chapter-score strong{font-family:Georgia,serif;font-size:24px}.chapter-score span{color:var(--muted);font-size:11px}.row-arrow{font-size:24px}.workspace-shell{min-height:calc(100vh - 76px)}.workspace-heading{align-items:center}.objective-count{text-align:right;justify-self:end;display:grid}.objective-count strong{color:var(--coral);font-family:Georgia,serif;font-size:54px}.objective-count span{color:var(--muted);font-size:12px}.objective-strip{border:1px solid var(--line);background:var(--white);border-radius:16px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.objective-item{border-right:1px solid var(--line);padding:20px}.objective-item:last-child{border-right:0}.objective-item>span{color:var(--coral);font-family:Georgia,serif}.objective-item p{margin:10px 0 0;font-size:13px;line-height:1.5}.activity-tabs{gap:8px;margin:34px 0 20px;display:flex}.activity-tabs button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:11px 17px}.activity-tabs button.active{background:var(--ink);color:#fff}.activity-panel,.case-brief{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,4vw,48px)}.activity-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:30px;margin-bottom:32px;padding-bottom:28px;display:flex}.activity-intro h2{font-size:40px}.activity-intro p{color:var(--muted);max-width:650px;line-height:1.65}.activity-time{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:12px}.map-builder{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:24px;display:grid}.concept-bank,.map-tree-canvas{background:var(--paper);border-radius:14px;min-width:0;padding:22px}.concept-bank h3,.map-tree-canvas h3{margin-bottom:4px}.concept-bank>p{color:var(--muted);font-size:12px}.concept-chips{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.concept-chips button{border:1px solid var(--line);cursor:grab;text-align:left;background:#fff;border-radius:9px;padding:10px 12px}.concept-chips button.selected{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 3px #12212d24}.map-completion{color:var(--muted);margin:0 0 16px;font-size:12px}.map-tree-scroll{padding:4px 4px 12px;overflow-x:auto}.map-tree-list{border-left:2px solid #12212d33;margin:0 0 0 18px;padding:8px 0 0 28px;list-style:none;position:relative}.map-tree-root{border-left:0;min-width:560px;margin:0;padding:0}.map-tree-branch{margin:0;padding:0;list-style:none;position:relative}.map-tree-branch+.map-tree-branch{margin-top:9px}.map-tree-list:not(.map-tree-root)>.map-tree-branch:before{content:"";border-top:2px solid #12212d33;width:28px;position:absolute;top:25px;left:-28px}.map-root-dropzone{text-align:left;cursor:pointer;background:#ffffffb8;border:2px dashed #12212d4d;border-radius:11px;gap:4px;width:min(100%,430px);min-height:76px;padding:14px;display:grid}.map-root-dropzone span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.map-root-dropzone:hover,.map-root-dropzone:focus-visible{border-color:var(--coral);background:#fff}.map-node-row{align-items:stretch;gap:8px;width:min(100%,560px);display:flex}.map-node-card{text-align:left;cursor:default;background:#ffffffc2;border:1px solid #12212d3d;border-radius:9px;flex:360px;align-items:center;gap:12px;min-width:260px;min-height:50px;padding:8px 12px;display:flex}.map-node-card.attach-ready{cursor:pointer;border-color:var(--coral);box-shadow:inset 3px 0 var(--coral)}.map-node-card.attach-ready:hover{background:#fff}.map-node-remove{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;padding:7px 9px;font-size:11px}.map-node-remove:hover{border-color:var(--line);color:var(--ink);background:#fff}.map-node-card:focus-visible,.map-node-remove:focus-visible,.map-root-dropzone:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.map-node-kind{background:var(--paper-2);min-height:26px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;flex:0 0 42px;place-items:center;font-size:10px;display:grid}.map-node-label{font-weight:650}.map-attach-hint{color:var(--coral);white-space:nowrap;margin-left:auto;font-size:11px;font-weight:750}.map-node-card.correct{box-shadow:none;background:#d8eadf;border-color:#6d9f7c}.map-node-card.wrong{box-shadow:none;background:#f6dad3;border-color:#c87968}.map-interaction-error{color:#7f3022;background:#f6dad3;border-radius:8px;padding:10px 12px;font-size:12px}.concept-map-error{background:#fff4f1;border:1px solid #c87968;border-radius:14px;max-width:760px;padding:22px}.concept-map-error h2{margin:4px 0 10px}.concept-map-error p,.concept-map-error li{color:var(--muted);line-height:1.55}.activity-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.result-banner{border-radius:10px;margin-top:12px;padding:16px}.result-banner.success{background:#d8eadf}.result-banner.review{background:#f2dfbd}.result-banner p{margin:5px 0 0;font-size:13px}.case-layout{grid-template-columns:.75fr 1.25fr;gap:20px;display:grid}.case-brief{background:var(--navy);color:#fff;align-self:start;position:sticky;top:100px}.case-brief .eyebrow{color:var(--coral-soft)}.case-brief h2{font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1}.case-lead{color:#ffffffb8;line-height:1.75}.fact-list{gap:14px;margin-top:34px;display:grid}.fact-list>div{border-top:1px solid #ffffff2e;grid-template-columns:28px 1fr;gap:10px;padding-top:13px;display:grid}.fact-list span{color:var(--coral-soft);font-family:Georgia,serif}.fact-list p{color:#fffc;margin:0;font-size:13px;line-height:1.55}.question-panel.compact{padding:30px}.question-list{gap:12px;display:grid}.question-card{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr;gap:18px;padding:22px 0;display:grid}.question-number{color:var(--coral);font-family:Georgia,serif;font-size:22px}.question-prompt{font-weight:700;line-height:1.55}.option-list{gap:8px;display:grid}.option-list label{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:11px 13px;display:flex}.option-list input{accent-color:var(--teal)}.question-content textarea{resize:vertical;min-height:110px;padding-top:12px}.answer-explanation{border-radius:9px;margin-top:12px;padding:14px}.answer-explanation.correct{background:#d8eadf}.answer-explanation.wrong{background:#f6dad3}.answer-explanation p{margin:4px 0 0;font-size:13px;line-height:1.5}.sticky-actions{border-top:1px solid var(--line);padding-top:18px}.score-summary{align-items:baseline;gap:10px;margin-right:auto;display:flex}.score-summary strong{font-family:Georgia,serif;font-size:30px}.score-summary span{color:var(--muted);font-size:12px}.history-heading{margin-bottom:60px}.history-heading h1{max-width:750px}.history-list{border-top:1px solid var(--line)}.history-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 6px;display:flex}.history-row>div>span{text-transform:uppercase;letter-spacing:.08em;color:var(--coral);font-size:10px;font-weight:800}.history-row h3{margin:6px 0}.history-row p{color:var(--muted);margin:0;font-size:12px}.history-row>strong{font-family:Georgia,serif;font-size:30px}footer{color:#fff;background:#0a202d;align-items:center;gap:30px;min-height:150px;padding:38px clamp(24px,5vw,72px);display:flex}footer>span{font-family:Georgia,serif;font-size:26px}footer p{color:#ffffff8c;margin:0;font-size:13px}.admin-shell{background:#edf0ed;grid-template-rows:72px 1fr;grid-template-columns:290px 1fr;min-height:100vh;display:grid}.admin-topbar{background:var(--navy);color:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 34px;display:flex}.brand.inverse>span{background:var(--coral)}.admin-topbar>div{color:#ffffffad;align-items:center;gap:20px;font-size:12px;display:flex}.admin-topbar a{color:#fff}.admin-sidebar{color:#fff;background:#132f3d;flex-direction:column;grid-row:2;height:calc(100vh - 72px);padding:44px 28px;display:flex;position:sticky;top:0}.admin-sidebar .eyebrow{color:var(--coral-soft)}.admin-sidebar h1{margin:0;font-family:Georgia,serif;font-size:22px;font-weight:400;line-height:1.05}.admin-sidebar nav{margin-top:24px;display:grid}.admin-sidebar nav button{color:#ffffff94;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #ffffff21;gap:12px;padding:16px 0;display:flex}.admin-sidebar nav button.active{color:#fff}.admin-sidebar nav button span{color:var(--coral-soft);font-family:Georgia,serif}.admin-sidebar>p{color:#fff6;margin-top:auto;font-size:11px;line-height:1.5}.admin-main{grid-column:2;width:100%;max-width:1500px;padding:56px clamp(28px,5vw,72px) 100px}.admin-heading{margin-bottom:20px}.admin-heading h2{font-size:clamp(28px,3vw,36px)}.admin-empty{color:var(--muted);text-align:center;border:1px dashed #12212d38;border-radius:10px;margin:16px 0 0;padding:18px;font-size:13px}.table-card .admin-empty{border:0;margin:0}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.metric-card,.admin-card{background:var(--white);border:1px solid var(--line);border-radius:14px}.metric-card{padding:18px 20px}.metric-card>span{color:var(--muted);font-size:12px}.metric-card>strong{margin:8px 0 0;font-family:Georgia,serif;font-size:38px;font-weight:400;display:block}.admin-card{margin-top:18px;padding:24px 28px}.card-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:16px;display:flex}.card-heading h3{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:400}.card-heading>span{color:var(--muted);text-align:right;max-width:420px;font-size:11px;line-height:1.5}.dashboard-metrics{grid-template-columns:repeat(5,1fr)}.dashboard-metric-hint{color:var(--muted);margin-top:6px;font-size:10px;line-height:1.4;display:block}.dashboard-notes{margin-top:0;padding:0}.dashboard-notes>summary{cursor:pointer;align-items:center;gap:10px;padding:16px 28px;font-size:12px;font-weight:800;list-style:none;display:flex}.dashboard-notes>summary::-webkit-details-marker{display:none}.dashboard-notes>summary:after{content:"";border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:8px;height:8px;transition:transform .15s;transform:rotate(45deg)}.dashboard-notes[open]>summary:after{transform:rotate(-135deg)}.dashboard-notes>summary:focus-visible{outline:2px solid var(--coral);outline-offset:-2px;border-radius:6px}.dashboard-notes dl{gap:10px;margin:0;padding:0 28px 20px;display:grid}.dashboard-notes dt{font-size:12px;font-weight:800}.dashboard-notes dd{color:var(--muted);max-width:78ch;margin:2px 0 0;font-size:12px;line-height:1.6}.dashboard-section{margin-top:18px}.dashboard-table-scroll{overflow-x:auto}.dashboard-table{border-collapse:collapse;text-align:left;width:100%}.dashboard-course-table{min-width:940px}.dashboard-chapter-table{min-width:900px}.dashboard-table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;background:var(--paper);white-space:nowrap;padding:12px 16px;font-size:10px;font-weight:700}.dashboard-table tbody th,.dashboard-table tbody td{vertical-align:top;border-top:1px solid var(--line);padding:14px 16px;font-weight:400}.dashboard-table tbody th{text-align:left}.dashboard-table tbody strong{font-size:13px;display:block}.dashboard-table tbody span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.dashboard-table tbody .status-pill{margin-top:0;display:inline-block}.dashboard-course-table tbody tr.is-selected{background:var(--paper);box-shadow:inset 3px 0 0 var(--coral)}.dashboard-table tbody .dashboard-selected-flag{color:var(--coral);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-size:10px;font-weight:800;display:inline-block}.dashboard-table tbody .dashboard-meter{background:var(--paper-2);border-radius:99px;width:100%;min-width:70px;max-width:130px;height:6px;margin-top:7px;display:block;overflow:hidden}.dashboard-table tbody .dashboard-meter>span{background:var(--teal);border-radius:99px;height:100%;margin-top:0;display:block}.dashboard-table tbody .dashboard-meter.is-empty{background:0 0;border:1px dashed #12212d4d}.dashboard-view-button{border:1px solid var(--ink);color:var(--ink);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;min-height:32px;padding:0 14px;font-size:10px;font-weight:800}.dashboard-view-button:hover,.dashboard-view-button[aria-pressed=true]{background:var(--ink);color:#fff}.dashboard-view-button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.dashboard-course-picker{color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.dashboard-course-picker select{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:320px;min-height:40px;padding:0 10px}.dashboard-course-picker select:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.dashboard-chapter-table tbody.is-draft{background:repeating-linear-gradient(135deg,#0000,#0000 9px,#12212d09 9px 18px)}.dashboard-breakdown-row>td{border-top:0;padding-top:0}.dashboard-breakdown>summary{cursor:pointer;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:2px 4px;font-size:11px;font-weight:800;list-style:none;display:inline-flex}.dashboard-breakdown>summary::-webkit-details-marker{display:none}.dashboard-breakdown>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)}.dashboard-breakdown[open]>summary:after{transform:rotate(-135deg)}.dashboard-breakdown>summary:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.dashboard-subtable{border-collapse:collapse;background:var(--paper);border-radius:10px;width:100%;margin:10px 0 4px}.dashboard-subtable th,.dashboard-subtable td{text-align:left;padding:8px 12px;font-size:12px;font-weight:400}.dashboard-subtable thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px}.dashboard-subtable tbody th{font-weight:800}.dashboard-no-activity{color:var(--muted);margin:0 0 4px;font-size:11px}.status-pill{text-transform:uppercase;letter-spacing:.08em;background:var(--paper-2);border-radius:999px;padding:5px 8px;font-size:9px;display:inline-block}.status-pill.draft{background:var(--paper-2);color:var(--muted)}.status-pill.active{color:#2d6758;background:#d2e9df}.status-pill.closed{background:#f2dfbd}.status-pill.archived{background:#e3e4e1}.admin-actions{justify-content:flex-end;margin-bottom:16px;display:flex}.course-form{grid-template-columns:repeat(3,1fr)}.course-form .wide-field{grid-column:span 3}.course-form small{color:var(--muted);font-size:10px;font-weight:500}.course-form textarea{resize:vertical;padding:12px}.course-form input:disabled{background:var(--paper-2);color:var(--muted);cursor:not-allowed}.table-card{padding:0;overflow:hidden}.table-card .card-heading{padding:24px 28px}.admin-table{display:grid}.table-head,.table-row{grid-template-columns:1.4fr 1fr 1fr 190px;align-items:center;gap:18px;padding:14px 28px;display:grid}.course-table .table-head,.course-table .table-row{grid-template-columns:minmax(170px,1.35fr) minmax(125px,.9fr) minmax(120px,.8fr) minmax(150px,.8fr) minmax(120px,.65fr)}.table-head{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;background:var(--paper);font-size:10px}.table-row{border-top:1px solid var(--line)}.table-row>div{gap:4px;display:grid}.table-row span{color:var(--muted);font-size:11px}.table-row select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:38px;padding:0 8px}.course-status-cell{align-content:center;gap:6px}.course-status-cell .status-pill{justify-self:start}.course-status-cell label,.course-status-cell select{width:100%}.course-title-link{text-align:left;font-weight:700;font-size:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0}.course-title-link:hover,.course-title-link:focus-visible{color:var(--coral)}.course-title-link:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:3px}.course-row-actions{align-items:center;display:flex}.course-edit-button{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;min-height:32px;padding:0 14px;font-size:10px;font-weight:800}.course-edit-button:hover,.course-edit-button:focus-visible{background:var(--ink);color:#fff}.course-password-value{align-items:center;gap:7px;min-height:28px;display:flex}.course-password-value strong{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.password-eye-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;display:inline-grid}.password-eye-button:disabled{opacity:.45;cursor:wait}.change-password-button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;min-height:32px;margin-top:5px;padding:0 12px;font-size:10px;font-weight:800}.legacy-reveal-note{color:var(--muted);margin:4px 0 10px;font-size:11px;display:block}.course-group{margin-top:18px}.course-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;list-style:none;display:flex}.course-group>summary::-webkit-details-marker{display:none}.course-group>summary:after{content:"";border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);flex:none;width:9px;height:9px;transition:transform .15s;transform:rotate(45deg)}.course-group[open]>summary:after{transform:rotate(-135deg)}.course-group>summary:focus-visible{outline:2px solid var(--coral);outline-offset:-2px;border-radius:6px}.course-group>summary h3{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:400}.course-group>summary span{color:var(--muted);text-align:right;max-width:420px;font-size:11px;line-height:1.5}.back-to-courses{color:var(--coral);cursor:pointer;background:0 0;border:0;border-radius:6px;margin-bottom:16px;padding:6px 4px;font-weight:700}.back-to-courses:hover{color:#c8482f}.back-to-courses:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.course-editor-heading{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.course-editor-heading h2{margin:0}.course-editor-code{color:var(--muted);font-size:13px}.course-editor-status{color:var(--muted);align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex}.course-editor-status select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:40px;padding:0 10px}.status-meaning{color:var(--muted);margin:10px 0 18px;font-size:12px}.course-editor-access .change-password-button{margin-top:12px}.import-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.upload-zone{text-align:center;cursor:pointer;background:#ffffff59;border:1px dashed #12212d59;border-radius:14px;align-content:center;place-items:center;min-height:300px;padding:30px;display:grid}.upload-zone input{display:none}.upload-zone .upload-icon{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;font-size:25px;display:grid}.upload-zone h3{margin:20px 0 8px;font-family:Georgia,serif;font-size:28px}.upload-zone p{color:var(--muted);max-width:360px;line-height:1.6}.upload-zone strong{font-size:12px;text-decoration:underline}.import-preview{margin:0}.import-preview h3{font-family:Georgia,serif;font-size:32px;font-weight:400}.import-preview>p{color:var(--muted);font-size:12px}.import-preview dl{margin:24px 0;display:grid}.import-preview dl>div{border-top:1px solid var(--line);justify-content:space-between;padding:12px 0;display:flex}.import-preview dt{color:var(--muted)}.import-preview dd{font-weight:800}.preview-placeholder{text-align:center;min-height:280px;color:var(--muted);align-content:center;display:grid}.preview-placeholder strong{color:var(--ink);font-family:Georgia,serif;font-size:28px}.chatgpt-panel{margin-top:0}.chatgpt-steps{counter-reset:chatgpt-step;flex-wrap:wrap;gap:8px 22px;margin:16px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.chatgpt-steps li{counter-increment:chatgpt-step;align-items:center;gap:8px;display:flex}.chatgpt-steps li:before{content:counter(chatgpt-step);background:var(--ink);color:#fff;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:grid}.chatgpt-controls{flex-wrap:wrap;align-items:end;gap:12px;margin-top:18px;display:flex}.chatgpt-controls label{color:var(--muted);flex:260px;gap:6px;min-width:260px;font-size:12px;font-weight:700;display:grid}.chatgpt-controls select{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:46px;padding:0 12px}.chatgpt-controls select:focus-visible,.chatgpt-details summary:focus-visible,.chatgpt-prompt:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.chatgpt-copy-state{color:#2d6758;min-height:18px;font-size:12px;font-weight:700}.chatgpt-panel .form-error{margin:12px 0 0}.chatgpt-details{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.chatgpt-details summary{cursor:pointer;border-radius:6px;padding:2px 4px;font-size:13px;font-weight:700}.chatgpt-details>p{color:var(--muted);max-width:70ch;margin:12px 0;font-size:13px;line-height:1.65}.chatgpt-details code{background:var(--paper-2);border-radius:4px;padding:1px 5px;font-size:12px}.chatgpt-prompt{border:1px solid var(--line);background:var(--paper);resize:vertical;border-radius:10px;width:100%;padding:14px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.6}.student-table .table-head,.student-table .table-row{grid-template-columns:1fr .8fr 1.1fr 200px}.row-actions{flex-direction:row;gap:6px!important;display:flex!important}.row-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:7px;padding:8px;font-size:10px}.row-actions .reset-password-button{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:800}.admin-error{background:#f6dad3;border-radius:12px;margin-bottom:20px;padding:20px}.admin-error p{margin-bottom:0}.admin-error .secondary-button{min-height:38px;margin-top:16px}.admin-loading{min-height:60vh;color:var(--muted);place-items:center;display:grid}@media (max-width:1050px){.course-grid{grid-template-columns:repeat(2,1fr)}.case-layout{grid-template-columns:1fr}.case-brief{position:static}.admin-shell{grid-template-columns:220px 1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-metrics{grid-template-columns:repeat(3,1fr)}.admin-heading{grid-template-columns:1fr}.course-form{grid-template-columns:1fr 1fr}.course-form .wide-field{grid-column:span 2}.admin-table{overflow-x:auto}.table-head,.table-row{min-width:760px}.course-table .table-head,.course-table .table-row{min-width:860px}}@media (max-width:760px){.site-header{gap:10px;padding:0 14px}.brand strong{display:none}.site-header nav{gap:0}.site-header nav a:not(.teacher-link),.site-header nav .nav-button,.student-chip small{display:none}.teacher-link{padding:8px 5px;font-size:12px}.auth-actions{gap:5px}.auth-actions button{min-height:36px;padding:0 10px;font-size:11px}.student-chip{gap:7px;font-size:12px}.student-chip button{padding:7px 9px}.catalog-shell,.course-page,.history-page,.workspace-shell{width:min(100% - 28px,1220px);padding-top:48px}.catalog-shell{padding-top:32px}.chapter-heading,.workspace-heading,.history-heading{grid-template-columns:1fr;gap:16px}.filter-bar,.course-grid{grid-template-columns:1fr}.course-card{min-height:320px}.objective-strip{grid-template-columns:1fr}.objective-item{border-right:0;border-bottom:1px solid var(--line)}.map-builder{grid-template-columns:1fr}.map-panel{padding-inline:18px}.map-panel .concept-bank,.map-panel .map-tree-canvas{padding:16px}.map-panel .concept-chips button,.map-panel .map-node-card,.map-panel .map-node-remove{min-height:48px}.map-panel .map-tree-root{min-width:500px}.activity-tabs{overflow-x:auto}.activity-tabs button{white-space:nowrap}.chapter-row{grid-template-columns:45px 1fr 24px}.chapter-score{display:none}.question-card{grid-template-columns:34px 1fr}.activity-actions{flex-wrap:wrap}.score-summary{width:100%}footer{flex-direction:column;align-items:start}.admin-shell{display:block}.admin-topbar{height:68px;padding:0 18px}.admin-topbar>div span{display:none}.admin-sidebar{height:auto;padding:24px 18px;position:static}.admin-sidebar>div,.admin-sidebar>p{display:none}.admin-sidebar nav{gap:6px;margin:0;display:flex;overflow-x:auto}.admin-sidebar nav button{white-space:nowrap;border:1px solid #fff3;border-radius:999px;padding:9px 12px}.admin-main{padding:38px 14px 80px}.metric-grid,.import-grid{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-notes>summary,.dashboard-notes dl{padding-left:18px;padding-right:18px}.dashboard-course-picker{flex-direction:column;align-items:stretch}.dashboard-course-picker select{width:100%;max-width:none}.course-form{grid-template-columns:1fr}.course-form .wide-field{grid-column:auto}.admin-password-modal{padding:34px 22px 24px}.admin-password-modal h2{font-size:34px}.password-dialog-actions{flex-direction:column-reverse}.password-dialog-actions button{width:100%}.card-heading{flex-direction:column;align-items:stretch;gap:8px}.card-heading>span{text-align:left;max-width:none}.course-group>summary{flex-direction:column;align-items:stretch;gap:8px}.course-group>summary span{text-align:left;max-width:none}.chatgpt-steps{flex-direction:column;gap:8px}.chatgpt-controls>label,.chatgpt-controls .primary-button{width:100%}}
