/* 13-inch tablet: 2240 × 1600 physical / 1120 × 800 logical canvas.
   Keeps the established violet / mint / apricot palette and rounded surfaces. */
.touch-workspace{--touch-ink:#302d50;--touch-muted:#77768e;--touch-line:#e8e5f2;--touch-purple:#6053ee;font-size:16px;color:var(--touch-ink)}
body:has(.touch-workspace){margin:0;padding:0;border:0;min-height:0;height:100dvh;box-sizing:border-box;overflow:hidden}
.workspace.touch-workspace[data-view-role="student"]{margin:0!important;width:100%;height:100dvh;padding:0;overflow:hidden}
.workspace.touch-workspace .topbar.touch-topbar{height:56px;min-height:56px;padding:0 20px;display:flex;gap:22px;background:#fff;border-bottom:1px solid var(--touch-line)}
.touch-brand{display:flex;align-items:center;gap:9px;min-height:48px;padding:0;border:0;background:none;white-space:nowrap;color:#4a4273;font-size:16px;font-weight:700}
.touch-brand>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#eeeaff;color:var(--touch-purple);font-size:22px;font-weight:800}
.touch-subjects{display:flex;align-items:center;justify-content:center;gap:6px;margin:auto;min-width:0}
.touch-subjects>button{position:relative;min-height:48px;min-width:48px;padding:0 10px;border:0;border-radius:9px;background:none;color:#858199;font-size:14px;font-weight:600}
.touch-subjects>button.active{color:var(--touch-purple);background:#f5f2ff}
.touch-subjects>button.active:after{content:"";position:absolute;left:17px;right:17px;bottom:4px;height:3px;background:#aa9dff;border-radius:3px}
.touch-student{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px}.touch-student .avatar-circle{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e9f7f1;color:#31917a}
.touch-host-switch[hidden]{display:none!important}
.workspace.touch-workspace .layout{display:grid!important;grid-template-columns:180px minmax(0,1fr);height:calc(100dvh - 56px);min-height:0;gap:0;overflow:hidden}
.workspace.touch-workspace .course-sidebar.touch-course-sidebar{position:static;display:flex!important;flex-direction:column;min-height:0;width:auto;max-width:none;margin:0;padding:15px 12px;border:0;border-right:1px solid var(--touch-line);border-radius:0;background:#faf9fe;overflow-y:auto;box-shadow:none}
.touch-course-heading{display:flex;align-items:center;justify-content:space-between;color:#868098;font-size:13px}.touch-course-heading>button{display:grid;place-items:center;width:48px;height:48px;padding:0;background:none;border:0;color:#878097;border-radius:10px}
.touch-course-sidebar h2{font-size:15px;font-weight:700;line-height:1.7;margin:6px 8px 16px;color:#484161}
.touch-course-list{display:flex;flex-direction:column;gap:5px}.touch-course-list>button{display:block;width:100%;min-height:48px;border:0;border-radius:11px;padding:11px 12px;background:none;text-align:left;color:#817992;font-size:14px;line-height:1.5}.touch-course-list>button small{display:block;margin-bottom:4px;font-size:12px;color:#9690a6}.touch-course-list>button b{font-size:14px;font-weight:500}.touch-course-list>button.active{background:#ece7ff;color:#6150d7}.touch-course-list>button.active b{font-weight:700}.touch-course-list>button.active small{color:#8b7bca}.touch-course-list>button:hover{background:#f0ecfc}
.touch-course-tools{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:22px}.touch-course-tools>button{display:flex;align-items:center;gap:10px;min-height:48px;border:0;border-radius:10px;padding:10px 12px;background:none;text-align:left;font-size:14px;color:#7e7890}.touch-course-tools>button:hover{background:#eeeafa;color:#6351d7}
.workspace.touch-workspace .main{width:100%;height:100%;min-width:0;min-height:0;max-width:none;padding:14px 18px 18px;display:flex;flex-direction:column;overflow:hidden;background:#f7f5fc}
.workspace.touch-workspace .stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));height:48px;min-height:48px;gap:8px;padding:0;margin:0 0 12px;border:0;background:none;box-shadow:none}
.workspace.touch-workspace .step-button{position:relative;height:48px;min-height:48px;border:1px solid #e7e3f2;border-radius:12px;background:#fff;box-shadow:none;padding:0;display:grid;place-items:center}
.workspace.touch-workspace .step-button .step-letter{display:block;width:auto;height:auto;line-height:1.4;background:none!important;font-size:23px;font-weight:750;color:#8b81b7;border-radius:0}
.workspace.touch-workspace .step-button.done:not(.active){border:1px solid #d8ebe3;background:#f4fbf7}.workspace.touch-workspace .step-button.done:not(.active) .step-letter{color:#289c80}
.workspace.touch-workspace .step-button.done:after{content:"✓";position:absolute;right:8px;top:5px;font-size:11px;color:#58ad94}
.workspace.touch-workspace .step-button.active{background:#6755ef;border-color:#6755ef;box-shadow:0 3px 8px #6755ef20}.workspace.touch-workspace .step-button.active .step-letter{color:white}
.workspace.touch-workspace .lesson-grid{flex:1;display:flex;min-height:0;margin:0;overflow:hidden}.workspace.touch-workspace .lesson-grid>.panel{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;border:1px solid #e8e4f1;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 4px 20px #49396d03}
.workspace.touch-workspace .lesson-grid>.panel>.panel-body{height:100%;min-height:0;padding:18px;overflow:auto;box-sizing:border-box}.workspace.touch-workspace .lesson-grid>.panel>.panel-body:has(>.op-root,>.analysis-plan-one,>.os-root,>.ol-root){padding:0;overflow:hidden}
.touch-workspace button{touch-action:manipulation;font-family:inherit}.touch-workspace button:focus-visible{outline:3px solid #a797ff;outline-offset:2px}.touch-workspace :is(.btn,.p1-btn,.op-action-btn,.os-btn,.ol-btn){font-size:16px;min-height:48px}
.touch-workspace .preview-learning-grid.sp-preview{grid-template-columns:260px minmax(0,1fr);gap:20px}.touch-workspace .sp-course-card{min-height:0;padding:18px;border-radius:13px}.touch-workspace .sp-course-copy>span{font-size:13px}.touch-workspace .sp-course-copy h2{font-size:23px;line-height:1.45}.touch-workspace .sp-course-copy>p{font-size:14px;line-height:1.65}.touch-workspace .sp-course-art{width:95px;height:88px}.touch-preview-instruction{font-size:16px;line-height:1.9;color:#726b88;margin:22px 0}.touch-preview-capture{display:flex;flex-direction:column;align-items:stretch;gap:10px}.touch-preview-capture>.btn{width:100%;font-size:16px;min-height:56px}.touch-preview-capture>small{color:#9b94ac;font-size:12px;text-align:center}.touch-preview-more{margin-top:18px;border-top:1px solid #eeeaf5}.touch-preview-more>summary{min-height:48px;display:flex;align-items:center;justify-content:center;list-style:none;font-size:14px;color:#8f83a9}.touch-preview-more .btn{width:100%;font-size:14px;min-height:48px}.touch-preview-more input{display:none}
.touch-workspace .preview-handout .lh-paper{padding:20px 26px}.touch-workspace .lh-paper h2{font-size:23px}.touch-workspace .lh-paper :is(p,dl>div){font-size:16px;line-height:1.85}.touch-workspace .lh-paper h3{font-size:17px}.touch-workspace .op-q-stem,.touch-workspace .p1-q-stem{font-size:19px!important;line-height:1.85}.touch-workspace .p1-option{font-size:16px;min-height:48px}.touch-workspace .p1-step-content p{font-size:16px;line-height:1.85}.touch-workspace .p1-step-title-line b{font-size:16px}.touch-workspace .p1-reason-item{font-size:16px}
.ev-compact{color:#46405d;font-size:16px;line-height:1.7}.ev-compact-title{display:flex;justify-content:space-between;align-items:center}.ev-compact-title h3{font-size:20px}.ev-compact-title>b{font-size:28px;color:#6654d8}.ev-compact-title small{font-size:14px;color:#9790a6}
.ev-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 20px}.ev-score-dimension{position:relative;padding:14px 16px;border:1px solid #ebe6f3;border-radius:12px;background:#fcfbff}.ev-score-dimension header{display:flex;gap:10px;align-items:center;justify-content:space-between}.ev-score-dimension header b{font-size:16px;font-weight:600}.ev-score-dimension strong{font-size:22px;color:#6857da}.ev-score-dimension strong small{font-size:13px;color:#9c93b1;font-weight:400}.ev-score-dimension>p{font-size:14px;color:#837992;margin:6px 0;line-height:1.7}.ev-score-dimension>span{font-size:13px;color:#ba7a3b}.ev-score-dimension>span.is-full{color:#489580}.ev-score-dimension.has-gap{background:#fffcf7;border-color:#eee2d0}
.ev-visible-problems>h4{margin:0 0 10px;color:#7c5f32;font-size:17px}.ev-visible-issue{padding:16px 0;border-top:1px solid #eee7db}.ev-visible-issue>header{display:flex;gap:16px;justify-content:space-between;align-items:center}.ev-visible-issue>header b{font-size:17px}.ev-visible-issue>header span{color:#ad793c;font-size:13px}.ev-issue-message{font-size:16px;line-height:1.8;color:#9d6c34;margin:8px 0 12px}.ev-visible-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ev-visible-compare>div{min-width:0;border-radius:11px;padding:13px 15px;background:#f7f5fb;border:1px solid #eae5f1}.ev-visible-compare>div+div{background:#f3faf6;border-color:#dfede4}.ev-visible-compare small{font-size:13px;color:#8d819e}.ev-visible-compare p{margin:6px 0 0;font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.ev-visible-next{font-size:15px;color:#4e8c70;margin:10px 0 0}.ev-correct-brief,.ev-all-covered{padding:12px 14px;border-radius:10px;background:#f1faf4;font-size:15px;color:#41836b}.ev-correct-brief b{margin-right:12px}.ev-compact-note{display:block;color:#a099af;font-size:12px;margin-top:18px;line-height:1.7}
.touch-workspace .tablet-report-header h1{font-size:24px}.touch-workspace .tablet-report-metric>span{font-size:14px}.touch-workspace .tablet-report-metric p{font-size:13px}.touch-workspace .tablet-report-content{gap:18px}.touch-report-links{display:flex;gap:18px;align-items:center;padding:12px 4px;flex-wrap:wrap}.touch-report-links button{min-height:48px;background:none;border:0;color:#7b6da6;font-size:15px}.touch-workspace .tablet-report-conclusions p{font-size:16px;line-height:1.9}
.touch-workspace .oln-bottom-bar{gap:12px}.touch-workspace .oln-bottom-btn{min-width:0;font-size:15px;padding:0 14px;min-height:48px}.touch-learn-more{position:relative}.touch-learn-more>summary{display:flex;align-items:center;justify-content:center;list-style:none;min-height:48px;min-width:64px;color:#837591;font-size:14px}.touch-learn-more[open]>div{position:absolute;bottom:52px;left:0;display:flex;flex-direction:column;width:170px;padding:8px;background:#fff;border:1px solid #eee6f5;border-radius:12px;box-shadow:0 8px 35px #40325718;z-index:9}.touch-learn-more button{width:100%;text-align:left}
@media(min-width:1600px){.workspace.touch-workspace .layout{grid-template-columns:220px minmax(0,1fr)}.workspace.touch-workspace .main{padding:20px 26px 24px}.touch-course-sidebar h2{font-size:18px}.touch-course-list>button b,.touch-course-tools>button{font-size:16px}.touch-subjects>button{min-width:65px;font-size:16px}}
@media(max-width:1100px){.workspace.touch-workspace .layout{grid-template-columns:154px minmax(0,1fr)}.workspace.touch-workspace .main{padding:12px}.workspace.touch-workspace .topbar.touch-topbar{gap:12px;padding:0 12px}.touch-brand{font-size:14px}.touch-subjects{gap:0}.touch-subjects>button{padding:0 8px;min-width:44px}.touch-subjects>button:nth-last-child(-n+3){display:none}.touch-student b{display:none}.touch-workspace .preview-learning-grid.sp-preview{grid-template-columns:220px minmax(0,1fr);gap:16px}.touch-workspace .sp-course-copy h2{font-size:21px}.touch-workspace .preview-handout .lh-paper{padding:18px}.ev-visible-compare{gap:9px}.ev-visible-compare>div{padding:12px}}
@media(prefers-reduced-motion:reduce){.touch-workspace *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.dp-evaluation-case{padding:8px 10px}.dp-evaluation-case>b{font-size:13px;color:#756c91}.dp-evaluation-case>div{display:flex;gap:7px;margin-top:7px}.dp-evaluation-case button{flex:1;min-height:42px;font-size:12px;background:#f7f5fd;border:1px solid #e9e4f4;border-radius:8px;color:#857998}.dp-evaluation-case button[aria-pressed="true"]{background:#eee9ff;border-color:#c9baff;color:#6752d5}
.device-preview-host .dp-header{min-height:76px;padding-top:12px;padding-bottom:12px}.device-preview-host .dp-header .dp-eyebrow{display:none}.device-preview-host .dp-header h1{font-size:19px}.device-preview-host .dp-brand-mark{width:33px;height:36px;font-size:26px}.device-preview-host .dp-meta{font-size:11px}.device-preview-host .dp-viewport{padding-top:6px;padding-bottom:12px}
.workspace.touch-workspace .sp-preview .tablet-preview-tasks{display:flex;flex-direction:column;gap:0;grid-template-rows:none;overflow-y:auto;padding:0;height:100%;min-height:0}
.workspace.touch-workspace .sp-preview .sp-course-card{flex:none;min-height:145px;max-height:none;height:auto;overflow:hidden;padding:18px}
.workspace.touch-workspace .sp-preview .touch-preview-instruction{flex:none;margin:22px 0;font-size:16px;line-height:1.9;min-height:0;height:auto}
.workspace.touch-workspace .sp-preview .touch-preview-capture{flex:none;height:auto;min-height:0}
.workspace.touch-workspace .sp-preview .touch-preview-more{flex:none;margin-top:auto;padding-top:12px;min-height:0}
.touch-course-tools details>summary{min-height:48px;display:flex;align-items:center;gap:10px;list-style:none;padding:10px 12px;color:#8e869d;font-size:14px;border-radius:10px;cursor:pointer}.touch-course-tools details button{display:flex;align-items:center;gap:8px;min-height:48px;width:100%;padding:10px 12px;border:0;background:none;color:#8e869d;font-size:14px;text-align:left}.touch-course-tools details[open]{background:#f2eff9;border-radius:10px}
.workspace.touch-workspace[data-view-role="student"] .fm-dimension .fm-standard p{font-size:16px;color:#71617e}
.workspace.touch-workspace[data-view-role="student"] .fm-feedback blockquote{font-size:16px;line-height:1.85;color:#71617e}
/* Only the end-of-class report leaves the classroom. Step evaluations retain the learning navigation. */
.workspace.touch-workspace.touch-report-mode[data-view-role="student"] .topbar,
.workspace.touch-workspace.touch-report-mode[data-view-role="student"] .course-sidebar,
.workspace.touch-workspace.touch-report-mode[data-view-role="student"] .stepper{display:none!important}
.workspace.touch-workspace.touch-report-mode[data-view-role="student"] .layout{height:100dvh;grid-template-columns:minmax(0,1fr)}
.workspace.touch-workspace.touch-report-mode[data-view-role="student"] .main{padding:18px 24px}
.workspace.touch-workspace.touch-report-mode[data-view-role="student"] .lesson-grid>.panel{border-radius:18px}
.touch-class-end{width:min(1060px,100%);margin:auto;min-height:0;overflow:auto;display:flex;align-items:stretch;flex-direction:column;padding:30px 14px;text-align:center}
.touch-end-heading>span{font-size:15px;line-height:1.7;color:#9a8eb3}.touch-end-heading h1{font-size:34px;font-weight:750;color:#383052;margin:10px 0}.touch-end-heading>p{font-size:16px;color:#8a819e;margin:0 0 38px}
.touch-class-end .tablet-report-metric{text-align:left;padding:24px 22px}.touch-class-end .tablet-report-metric strong{font-size:38px}.touch-end-message{font-size:20px;line-height:1.8;color:#6c6182;margin:36px 0}.touch-class-end>.btn.primary{align-self:center;min-width:210px;min-height:56px;font-size:18px}
.touch-report-mode .ev-score-grid{margin-top:24px}.touch-report-mode .ev-visible-issue{padding:17px 0}.touch-report-mode .ev-visible-problems>h4{font-size:19px}
.workspace.touch-workspace.touch-task-mode[data-view-role="student"] .topbar,
.workspace.touch-workspace.touch-task-mode[data-view-role="student"] .course-sidebar{display:none!important}
.workspace.touch-workspace.touch-task-mode[data-view-role="student"] .layout{height:100dvh;grid-template-columns:minmax(0,1fr)}
.workspace.touch-workspace.touch-task-mode[data-view-role="student"] .main{padding:14px 20px 18px}
