/* Shared workspace: existing pages keep their controls and routes. */
:root{--purple:#6550d7;--purple-dark:#5140b7;--ink:#232638;--muted:#686d82;--line:#e4e6ef;--surface:#f6f7fb;--paper:#fff;--soft:#eeebff;--on-purple:#fff;--radius:14px;color-scheme:light}
html[data-theme="dark"]{--purple:#b6a7ff;--purple-dark:#c6baff;--ink:#eeeef5;--muted:#adb1c7;--line:#3d4053;--surface:#171820;--paper:#22232e;--soft:#36304f;--on-purple:#21184b;color-scheme:dark}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]):not([data-theme="dark"]){--purple:#b6a7ff;--purple-dark:#c6baff;--ink:#eeeef5;--muted:#adb1c7;--line:#3d4053;--surface:#171820;--paper:#22232e;--soft:#36304f;--on-purple:#21184b;color-scheme:dark}}
[hidden]{display:none!important}
.workspace-ui{font-family:"Segoe UI",Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.6}
.workspace-ui h1{font-size:30px;letter-spacing:-.8px}.workspace-ui h2{font-size:21px}.workspace-ui h3{font-size:16px}
.workspace-ui .sidebar{width:224px;padding:28px 16px 18px;background:var(--paper);overflow-y:auto;overscroll-behavior:contain;z-index:30}
.workspace-ui .brand{font-size:25px;padding:0 9px}.workspace-ui .brand-icon{width:34px;height:34px;font-size:26px}
.workspace-ui .workspace-label{font-size:9px;letter-spacing:1.05px;margin:28px 10px 14px;color:var(--muted)}
.workspace-ui .sidebar nav{display:grid;gap:5px;overflow:visible}.workspace-ui .sidebar nav a{padding:11px 12px;font-size:14px;gap:10px;color:var(--muted);white-space:normal}
.workspace-ui .sidebar nav a:hover,.workspace-ui .sidebar nav a.active{background:var(--soft);color:var(--purple)}
.workspace-ui .nav-count{display:inline-block;background:var(--soft);color:var(--purple);flex-shrink:0}
.sidebar-more{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.sidebar-more summary{cursor:pointer;list-style:none;color:var(--muted);padding:10px 14px;font-size:14px;display:flex;justify-content:space-between}.sidebar-more summary::-webkit-details-marker{display:none}.sidebar-more[open] summary span{transform:rotate(180deg)}
.workspace-ui .sidebar-more a{font-size:13px!important;padding:8px 14px 8px 18px!important}
.workspace-ui .sidebar-bottom{padding-top:22px}.workspace-switch{display:block;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px;font-size:12px;color:var(--muted)}
.workspace-ui .profile{gap:8px}.workspace-ui .profile form{margin-left:auto}.workspace-ui .profile strong{max-width:105px}.workspace-ui .avatar,.workspace-ui .step-type{background:var(--soft);color:var(--purple)}
.workspace-ui:not(.course-mode) .main-shell{margin-left:224px}.workspace-ui:not(.course-mode) main{padding:32px;max-width:1520px;min-width:0}
.workspace-ui .topbar{background:var(--paper);padding:0 32px;height:68px;gap:16px}.topbar-context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.topbar-separator{padding:0 14px;opacity:.5}.topbar-tools{display:flex;align-items:center;gap:18px;flex-shrink:0}.workspace-ui .topbar a{color:var(--muted);font-size:13px}.notification-link{display:flex;align-items:center;gap:8px}
.theme-toggle,.menu-toggle{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:8px;padding:7px 10px;font-size:12px}.menu-toggle{display:none}.menu-shade{position:fixed;inset:0;background:#10132188;border:0;z-index:29}
.workspace-ui .panel,.workspace-ui .lms-course-card,.workspace-ui .metric-grid article,.workspace-ui .quick-card{background:var(--paper);border-color:var(--line)}
.workspace-ui .panel{padding:24px}.workspace-ui .page-heading{margin-bottom:24px}.workspace-ui .eyebrow{letter-spacing:1.15px;font-size:10px;margin-bottom:8px}
.workspace-ui .button{min-height:42px;padding:10px 16px;gap:8px;color:var(--on-purple)}.workspace-ui .button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.workspace-ui .button.secondary:hover{background:var(--soft)}.workspace-ui .button.lime{color:#263223}
.workspace-ui input:not([type=checkbox]):not([type=radio]),.workspace-ui select,.workspace-ui textarea{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:9px}
.workspace-ui textarea:not(.python-answer-input){min-height:0}.workspace-ui label{font-weight:600;font-size:14px}.workspace-ui input:focus,.workspace-ui select:focus,.workspace-ui textarea:focus,.workspace-ui .rich-editor:focus{outline:2px solid var(--purple);outline-offset:2px}
.workspace-ui .helptext,.workspace-ui small,.workspace-ui .muted{color:var(--muted)}.workspace-ui table th{background:var(--surface);color:var(--muted)}.workspace-ui table td{border-color:var(--line)}.workspace-ui .table-wrap{padding:0;overflow:auto;max-width:100%}.workspace-ui .table-wrap table{margin:0}
.workspace-ui .pill,.workspace-ui .pill-button,.workspace-ui .assessment-shortcuts button,.workspace-ui .slide-type-card,.workspace-ui .slide-plan-row,.workspace-ui .mini-steps>span{background:var(--soft);color:var(--purple);border-color:var(--line)}
.workspace-ui .notice{background:var(--soft);color:var(--ink);border-color:var(--line)}.workspace-ui .notice.error,.workspace-ui .errorlist{color:#c33c47}.workspace-ui .editor-optional,.workspace-ui .assessment-settings,.workspace-ui .outline-help{border-color:var(--line)}
.workspace-ui summary{cursor:pointer}.workspace-ui .section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px;padding-bottom:14px;border-bottom:1px solid var(--line)}.section-tabs a{padding:8px 12px;border-radius:8px;color:var(--muted);font-size:13px}.section-tabs a:hover,.section-tabs a[aria-current]{background:var(--soft);color:var(--purple);text-decoration:none}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px;align-items:start}.workspace-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.workspace-metric{padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:13px}.workspace-metric strong{display:block;color:var(--ink);font-size:29px;line-height:1.3;margin:6px 0}.workspace-metric:hover{border-color:var(--purple);text-decoration:none}
.action-banner{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.action-banner h2{margin:0 0 4px}.action-banner p{margin:0;color:var(--muted);font-size:14px}
.workspace-list{list-style:none;margin:0;padding:0}.workspace-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px}.workspace-list li:last-child{border-bottom:0;padding-bottom:0}.workspace-list li:first-child{padding-top:0}.workspace-list a{color:var(--ink)}.workspace-list small{display:block;font-size:12px}.workspace-list .list-tail{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:12px}.workspace-list .list-body{flex:1;min-width:0;overflow-wrap:anywhere}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.panel-heading h2{margin:0}.panel-heading>a{font-size:13px}.quick-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.quick-links a{font-size:13px}
.workspace-ui .document-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;align-items:start}.slide-outline{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow-y:auto;padding:16px!important}.slide-outline h3{font-size:14px!important;overflow-wrap:anywhere}.slide-outline nav{display:grid;gap:6px}.slide-outline nav a{display:flex;gap:9px;align-items:baseline;padding:9px 8px;border-radius:8px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.slide-outline nav a:hover,.slide-outline nav a[aria-current]{background:var(--soft);color:var(--purple);text-decoration:none}.slide-outline nav a>span{font-size:11px}.slide-outline nav a div{min-width:0}.slide-outline small{display:block;font-size:10px}.outline-help{font-size:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.outline-help summary{margin-bottom:10px}.slide-outline .add-row{font-size:12px;padding:10px}.workspace-ui .document-workspace .slide-setup h2{font-size:19px}.workspace-ui .document-workspace .slide-setup>.eyebrow{display:none}.workspace-ui .document-workspace .panel{padding:22px}.composer-tools{display:flex;gap:12px;align-items:center}.composer-tools .button{font-size:12px;min-height:36px;padding:7px 12px}.assessment-settings>summary{font-weight:650;list-style:revert}.assessment-settings[open]>summary{margin-bottom:18px}
.workspace-ui .content-block-editor,.workspace-ui .content-block-row,.workspace-ui .rich-editor,.workspace-ui .content-preview-dialog{background:var(--paper);color:var(--ink);border-color:var(--line)}.workspace-ui .content-row-header,.workspace-ui .rich-toolbar,.workspace-ui .block-palette{background:var(--surface);color:var(--ink);border-color:var(--line)}.workspace-ui .rich-toolbar button,.workspace-ui .block-palette button{color:var(--ink);background:var(--paper);border-color:var(--line)}.workspace-ui .draft-bar{background:var(--soft);color:var(--ink);border-color:var(--line)}.workspace-ui .draft-bar button{background:var(--paper);color:var(--ink);border-color:var(--line)}
.work-wizard{max-width:950px;margin:0 auto}.wizard-progress{display:flex;gap:10px;list-style:none;padding:0;margin:0 0 24px}.wizard-progress li{flex:1}.wizard-progress button{width:100%;display:flex;gap:10px;align-items:center;text-align:left;background:var(--paper);color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13px}.wizard-progress button span{border-radius:50%;width:24px;height:24px;display:grid;place-items:center;background:var(--surface);flex-shrink:0}.wizard-progress button[aria-current=step]{border-color:var(--purple);color:var(--purple);background:var(--soft)}.wizard-controls{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.wizard-controls .wizard-position{margin-left:auto;color:var(--muted);font-size:13px}.wizard-stage h2{margin-bottom:20px}.wizard-stage{min-width:0}.wizard-stage+ .wizard-stage{margin-top:24px}.wizard-ready .wizard-stage{margin-top:0}.wizard-stage .field-box{margin-bottom:18px}.wizard-stage .form-grid{margin-bottom:18px}.wizard-stage textarea{height:100px}.wizard-summary{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;font-size:14px;margin-bottom:18px}.wizard-summary p:last-child{margin-bottom:0}.recipient-picker>div{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:10px}.recipient-picker label{display:flex;gap:8px;padding:8px;align-items:center}.wizard-stage #id_topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.wizard-stage #id_topics label{display:flex;gap:6px;font-size:13px}.wizard-stage input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.wizard-help{font-size:13px;color:var(--muted);padding-top:20px}.wizard-help p{margin-top:12px}.workspace-ui footer{padding:22px 32px;color:var(--muted)}
.skip-link{position:fixed;left:20px;top:-100px;background:var(--paper);padding:12px;z-index:100}.skip-link:focus{top:12px}
/* Course playback keeps its own lesson tree. */
.workspace-ui.course-mode>.sidebar,.workspace-ui.course-mode .menu-toggle{display:none!important}.workspace-ui.course-mode .main-shell{margin-left:0}.workspace-ui.course-mode .course-tree{background:var(--surface);border-color:var(--line)}.workspace-ui.course-mode .step-main,.workspace-ui.course-mode footer{background:var(--paper)}.workspace-ui .course-tree h3,.workspace-ui .tree-module summary,.workspace-ui .player-brand{color:var(--ink)!important}
@media(max-width:1150px){.workspace-ui .document-workspace{grid-template-columns:minmax(0,1fr)}.slide-outline{position:static;max-height:240px;overflow:auto}.slide-outline nav{grid-template-columns:repeat(3,minmax(0,1fr))}.slide-outline .outline-help{display:none}.workspace-grid{grid-template-columns:minmax(0,1fr)}.workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workspace-ui:not(.course-mode) .main-shell{margin-left:0}.workspace-ui:not(.course-mode) main{padding:22px 16px}.workspace-ui .sidebar{position:static;width:auto;padding:22px 16px}.workspace-ui .sidebar nav{grid-template-columns:1fr 1fr}.workspace-ui .sidebar-bottom{display:block}.workspace-ui .sidebar-more{grid-column:1/-1}.workspace-ui .profile{max-width:290px}.js-ready .workspace-ui:not(.course-mode) .sidebar{position:fixed;width:min(290px,86vw);display:none;inset:0 auto 0 0}.js-ready .workspace-ui .sidebar nav{grid-template-columns:1fr}.js-ready .workspace-ui.menu-open .sidebar{display:flex}.js-ready .workspace-ui.menu-open{overflow:hidden}.js-ready .workspace-ui .menu-toggle{display:block;flex-shrink:0;font-size:17px}.workspace-ui .topbar{height:60px;padding:0 16px;gap:12px}.workspace-ui .topbar-context{display:none}.workspace-ui .topbar-tools{margin-left:auto;gap:12px}.workspace-ui .page-heading{gap:16px;flex-wrap:wrap}.workspace-ui h1{font-size:27px}.workspace-ui .panel{padding:18px}.workspace-ui .document-workspace .panel{padding:16px}.workspace-ui .composer-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.slide-outline nav{grid-template-columns:1fr 1fr}.workspace-ui .slide-outline{max-height:210px}.action-banner{align-items:flex-start;flex-direction:column;padding:18px}.workspace-metrics{gap:10px}.workspace-metric{padding:14px}.workspace-metric strong{font-size:26px}.workspace-ui .section-tabs{gap:4px}.section-tabs a{padding:7px 9px;font-size:12px}.wizard-progress{gap:6px}.wizard-progress button{display:grid;gap:5px;padding:10px 8px;font-size:11px}.wizard-stage #id_topics{grid-template-columns:1fr 1fr}.wizard-stage .form-grid{grid-template-columns:1fr}.wizard-controls{flex-wrap:wrap}.wizard-controls .wizard-position{display:none}.workspace-ui .save-panel .editor-actions{flex-wrap:wrap}.workspace-ui .save-panel .button{white-space:normal}.workspace-ui footer{padding:20px 16px}.workspace-ui .workspace-list li{gap:10px}.workspace-ui .workspace-list .list-tail{white-space:normal;text-align:right;max-width:105px}.workspace-ui.course-mode .topbar-context{display:flex!important}.workspace-ui.course-mode .notification-link{display:none}.workspace-ui.course-mode .topbar-tools{flex:0}.workspace-ui.course-mode .player-header-label{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.workspace-grid>.stack,.document-workspace>form.stack{display:grid;gap:20px}.document-workspace .draft-bar{margin-bottom:0}
.workspace-ui .content-block,.workspace-ui .slide-preset,.workspace-ui .slide-plan-row,.workspace-ui .auth-panel,.workspace-ui .step-card,.workspace-ui .player-content,.workspace-ui .exam-card{background:var(--paper);color:var(--ink);border-color:var(--line)}
.workspace-ui .content-block-head,.workspace-ui .preview-heading,.workspace-ui .insert-here,.workspace-ui .mix-note,.workspace-ui .python-answer-box,.workspace-ui .rich-link-editor,.workspace-ui .plan-empty{background:var(--surface);color:var(--muted);border-color:var(--line)}
.workspace-ui .block-actions button,.workspace-ui .preview-heading button,.workspace-ui .inline-actions button,.workspace-ui .python-input-tools button{background:var(--paper);color:var(--muted);border-color:var(--line)}
.workspace-ui .content-block:focus-within{border-color:var(--purple);box-shadow:0 0 0 2px var(--soft)}.workspace-ui .content-block-head .block-kind select{background:var(--paper)}
.workspace-ui .composer-counter,.workspace-ui .composer-status,.workspace-ui .python-input-status,.workspace-ui .metric-grid span,.workspace-ui .work-meta span{color:var(--muted)}
.workspace-ui .submitted-code summary{color:var(--purple)}.workspace-ui .slide-preset-icon,.workspace-ui .drag-handle{background:var(--soft);color:var(--purple);border-color:var(--line)}
.workspace-ui .slide-preset:hover{background:var(--soft);border-color:var(--purple)}.workspace-ui .rich-content blockquote{background:var(--soft);color:var(--ink)}
.workspace-ui .course-content a,.workspace-ui .rich-content a{color:var(--purple)}.workspace-ui .heatmap th:first-child,.workspace-ui .journal th:first-child{background:var(--paper)}
.workspace-ui .lesson-add-panel>summary{font-weight:650}.workspace-ui .lesson-add-panel[open]>summary{margin-bottom:18px}

.workspace-ui .metrics,.workspace-ui .number-tile,.workspace-ui .task-card,.workspace-ui .empty,.workspace-ui .upload-tile,.workspace-ui .upload-surface,.workspace-ui .quick-add>summary,.workspace-ui .delete-menu[open] form{background:var(--paper);color:var(--ink);border-color:var(--line)}
.workspace-ui .topic-strip a,.workspace-ui .studio-nav a,.workspace-ui .block-kind-tabs a,.workspace-ui .add-blocks,.workspace-ui .add-blocks a,.workspace-ui .plan-row-actions button,.workspace-ui .inline-actions a,.workspace-ui .delete-menu summary,.workspace-ui .task-number,.workspace-ui .lesson-symbol{background:var(--soft);color:var(--purple);border-color:var(--line)}
.workspace-ui .quiz-option:has(input:checked),.workspace-ui .topic-checkboxes label:has(input:checked){background:var(--soft);color:var(--ink);border-color:var(--purple)}
.workspace-ui.course-mode{background:var(--surface)}.workspace-ui .mobile-logout{background:var(--paper);color:var(--ink)}
.workspace-ui .button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.workspace-ui .button.secondary:hover{background:var(--soft)}
