:root{color:#20252b;font-synthesis:none;text-rendering:optimizelegibility;--ink:#20252b;--muted:#69737d;--line:#d9dee3;--line-strong:#c7cdd3;--surface:#fff;--surface-soft:#f6f7f8;--surface-dark:#282d31;--yellow:#f5c400;--yellow-soft:#fff6c7;--green:#17734b;--green-soft:#e8f5ee;--blue:#2367a6;--blue-soft:#eaf3fb;--red:#b53a32;--red-soft:#fff0ee;--shadow:0 10px 28px #181e2314;background:#eef1f4;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#eef1f4;min-width:320px}button,input,textarea,select{font:inherit;letter-spacing:0}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #2367a647}svg{flex:none;width:1.1em;height:1.1em}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}.studio-shell{flex-direction:column;min-height:100vh;display:flex}.studio-header{border-bottom:1px solid var(--line);z-index:20;background:#fff;grid-template-columns:minmax(260px,.8fr) minmax(540px,1.5fr) minmax(220px,.7fr);align-items:center;gap:22px;min-height:76px;padding:12px 22px;display:grid;position:relative}.brand-lockup,.auth-brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#1d2227;background:var(--yellow);border-radius:6px;place-items:center;width:42px;height:42px;display:grid}.brand-lockup strong{font-size:16px;display:block}.brand-lockup span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.stage-stepper{grid-template-columns:repeat(5,minmax(96px,1fr));align-items:center;display:grid}.stage-step{color:#9aa2aa;align-items:center;gap:8px;min-width:0;display:flex;position:relative}.stage-step:not(:last-child):after{content:"";z-index:0;background:#e2e5e8;height:2px;position:absolute;top:13px;left:31px;right:7px}.stage-step>span{z-index:1;background:#fff;border:1px solid #cdd2d7;border-radius:50%;place-items:center;width:27px;height:27px;font-size:12px;font-weight:800;display:grid}.stage-step b{white-space:nowrap;z-index:1;background:#fff;padding-right:8px;font-size:13px}.stage-step.done,.stage-step.active{color:var(--ink)}.stage-step.done>span{color:#fff;border-color:var(--green);background:var(--green)}.stage-step.done:after{background:var(--green)}.stage-step.active>span{border-color:var(--yellow);background:var(--yellow)}.header-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;color:var(--muted);margin-left:6px;font-size:13px;overflow:hidden}.icon-button,.small-icon-button{cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-button{border-radius:6px;width:38px;height:38px}.small-icon-button{border-radius:5px;width:31px;height:31px}.icon-button:hover,.small-icon-button:hover{background:#edf0f2}.icon-button.bordered{border:1px solid var(--line-strong);background:#fff}.icon-button:disabled,.export-actions-large>button:disabled{opacity:.42;cursor:not-allowed}.job-strip{color:#fff;background:#2c3237;border-bottom:1px solid #111518;align-items:center;gap:12px;min-height:48px;padding:7px 22px;display:flex}.job-strip>span{flex-direction:column;min-width:180px;display:flex}.job-strip strong{font-size:13px}.job-strip small{color:#cbd1d6;white-space:nowrap;text-overflow:ellipsis;max-width:300px;overflow:hidden}.job-strip b{font-size:12px}.job-strip button{color:#fff;cursor:pointer;background:0 0;border:1px solid #687078;border-radius:4px;padding:5px 10px}.job-progress{background:#565e65;border-radius:3px;flex:1;height:5px;overflow:hidden}.job-progress i{background:var(--yellow);height:100%;transition:width .25s;display:block}.studio-grid{flex:1;grid-template-columns:286px minmax(0,1fr) 344px;min-height:0;display:grid;overflow:hidden}.studio-grid.left-collapsed{grid-template-columns:minmax(0,1fr) 344px}.studio-grid.right-collapsed{grid-template-columns:286px minmax(0,1fr)}.studio-grid.left-collapsed.right-collapsed{grid-template-columns:minmax(0,1fr)}.course-sidebar,.assistant-panel,.workspace-main{min-height:0;overflow-y:auto}.course-sidebar{color:#f3f5f6;background:#303438;border-right:1px solid #171a1d;flex-direction:column;display:flex}.sidebar-section{border-bottom:1px solid #484d52;padding:18px;position:relative}.sidebar-label{color:#aeb5bc;text-transform:uppercase;font-size:11px;font-weight:800}.sidebar-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.sidebar-section-head .small-icon-button{color:#fff}.tree-count{color:#aeb5bc;font-size:11px}.project-current{color:#fff;text-align:left;cursor:pointer;background:#3b4045;border:1px solid #5b6166;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:58px;margin-top:9px;padding:10px 11px;display:flex}.project-current span{min-width:0}.project-current strong,.project-current small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.project-current strong{font-size:14px}.project-current small{color:#bfc5ca;margin-top:3px;font-size:11px}.project-menu{z-index:10;color:#f5f6f7;background:#252a2e;border:1px solid #626a71;border-radius:6px;padding:6px;position:absolute;top:100px;left:18px;right:18px;box-shadow:0 12px 28px #080b0d52}.project-menu button{width:100%;min-height:42px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:9px;display:flex}.project-menu button span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.project-menu button svg{color:var(--yellow)}.project-menu button:hover{background:#40464b}.project-menu button.active{color:#1d2227;background:var(--yellow);font-weight:900}.project-menu button.active svg{color:#1d2227}.compact-upload{color:#fff;cursor:pointer;background:#383d42;border:1px dashed #777f86;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:70px;display:flex}.asset-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;display:grid}.asset-row>svg{color:var(--yellow)}.asset-row strong,.asset-row span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.asset-row strong{font-size:12px}.asset-row span{color:#aeb5bc;margin-top:2px;font-size:10px}.asset-row-actions{display:flex}.asset-row-actions button{color:#d4d8db;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:25px;height:25px;display:grid}.asset-row-actions button:hover{background:#4a5055}.course-tree-section{flex:1;min-height:0;padding-right:8px}.sidebar-progress{color:#e8ebed;background:#383d42;border-radius:5px;margin:5px 0 12px;padding:9px 8px}.sidebar-progress>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-progress b,.sidebar-progress small{font-size:10px}.sidebar-progress small{color:#b9c0c6}.sidebar-progress>div{background:#555d64;border-radius:2px;height:4px;margin-top:7px;overflow:hidden}.sidebar-progress i{background:var(--yellow);height:100%;display:block}.course-tree{margin-left:-8px;padding-right:4px}.tree-chapter>button{color:#f5f6f7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:34px minmax(0,1fr) 23px;align-items:start;gap:8px;width:100%;display:grid}.tree-chapter>button:hover,.tree-chapter>button.selected{background:#41464b}.tree-chapter>button.selected{box-shadow:inset 3px 0 var(--yellow)}.tree-chapter>button:not(.tree-section){margin:5px 0;padding:11px 8px}.tree-section{padding:8px 8px 8px 19px}.tree-chapter button span:nth-child(2){min-width:0}.tree-chapter button strong,.tree-chapter button small{display:block}.tree-chapter button strong{font-size:12px;line-height:1.45}.tree-chapter button small{color:#aeb5bc;margin-top:3px;font-size:10px}.tree-number{color:#15191c;background:var(--yellow);border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.tree-dot{background:#727a81;border-radius:50%;width:8px;height:8px;margin:6px 0 0 10px}.tree-section.selected .tree-dot{background:var(--yellow)}.node-status{border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.node-status svg{width:12px;height:12px}.node-status.locked{color:#fff;background:var(--green)}.node-status.review{color:#181c1f;background:var(--yellow)}.node-status.ready{color:#bee3d0}.node-status.draft{color:#9199a0}.workspace-main{background:#f4f5f6}.empty-state,.section-empty,.processing-state,.no-outline,.generate-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:440px;padding:48px;display:flex}.empty-state h1,.empty-state h2,.section-empty h2,.generate-empty h2{margin:18px 0 8px}.empty-state p,.section-empty p,.generate-empty p{max-width:620px;color:var(--muted);margin:0 0 22px;line-height:1.7}.empty-icon,.generate-empty-icon,.section-empty>div:first-child{color:#252a2f;background:var(--yellow);border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.empty-icon svg,.generate-empty-icon svg,.section-empty>div:first-child svg{width:30px;height:30px}.primary-button,.secondary-button{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 14px;font-weight:800;display:inline-flex}.primary-button{color:#20252b;background:var(--yellow);border:1px solid #d5aa00}.primary-button:hover{background:#ffd523}.secondary-button{border:1px solid var(--line-strong);background:#fff}.secondary-button:hover{background:#f4f6f7}.primary-button:disabled,.secondary-button:disabled{opacity:.48;cursor:not-allowed}.upload-workspace{max-width:1080px;margin:0 auto;padding:64px 54px}.page-kicker{color:#7d6500;margin-bottom:10px;font-size:12px;font-weight:900}.upload-workspace h1{margin:0;font-size:36px}.upload-workspace>p{color:var(--muted);font-size:16px}.upload-dropzone{cursor:pointer;background:#fff;border:2px dashed #bbc1c7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;min-height:250px;margin:30px 0 20px;display:flex}.upload-dropzone:hover{background:#fffdf2;border-color:#987b00}.upload-dropzone svg{color:#7d6500;width:42px;height:42px}.upload-dropzone strong{font-size:18px}.upload-dropzone span{color:var(--muted)}.upload-notes{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.upload-notes>div{border:1px solid var(--line);background:#fff;border-radius:6px;gap:12px;padding:16px;display:flex}.upload-notes svg{color:#7d6500;margin-top:2px}.upload-notes strong,.upload-notes small{display:block}.upload-notes small{color:var(--muted);margin-top:5px;line-height:1.5}.outline-workspace,.editor-workspace{padding:28px 32px 60px}.workspace-title-row,.editor-header,.section-intro{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.workspace-title-row h1,.editor-header h1{margin:0;font-size:30px;line-height:1.2}.workspace-title-row p,.editor-header p,.section-intro p{max-width:720px;color:var(--muted);margin:8px 0 0;line-height:1.6}.title-actions,.editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.diagnostics-grid{background:var(--line);border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(5,minmax(120px,1fr)) minmax(200px,1.5fr);gap:1px;margin:24px 0;display:grid;overflow:hidden}.diagnostics-grid>div{background:#fff;min-height:112px;padding:16px}.diagnostics-grid span,.diagnostics-grid strong,.diagnostics-grid small{display:block}.diagnostics-grid span{color:var(--muted);font-size:11px;font-weight:800}.diagnostics-grid strong{margin-top:9px;font-size:22px}.diagnostics-grid small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.4}.diagnostics-grid .needs-attention{background:var(--yellow-soft)}.diagnostics-grid .diagnostic-issues strong{font-size:13px;line-height:1.45}.panel{border:1px solid var(--line);background:#fff;border-radius:7px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:12px 16px;display:flex}.panel-heading>span{align-items:center;gap:8px;font-weight:900;display:flex}.panel-heading small{color:var(--muted)}.outline-table-head{color:var(--muted);border-bottom:1px solid var(--line);grid-template-columns:minmax(300px,1fr) 220px 80px;gap:18px;padding:10px 70px 10px 104px;font-size:11px;font-weight:800;display:grid}.outline-edit-row{border-bottom:1px solid #eceff1;grid-template-columns:24px 64px minmax(240px,1fr) 220px 80px;align-items:center;gap:12px;min-height:58px;padding:8px 18px;display:grid}.outline-edit-row:last-child{border-bottom:0}.outline-edit-row.dragging,.draggable-block.dragging{opacity:.48}.outline-edit-row[draggable=true] .outline-handle{cursor:grab}.outline-edit-row.section{background:#fafbfb;padding-left:42px}.outline-handle{color:#a5adb4}.outline-level{color:var(--muted);font-size:11px;font-weight:800}.outline-edit-row input{border:1px solid var(--line-strong);background:#fff;border-radius:4px;min-width:0;height:36px;padding:6px 9px}.outline-edit-row.chapter>input{font-weight:900}.page-range{grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;display:grid}.page-range span{color:var(--muted);font-size:12px}.status-pill{border-radius:12px;justify-content:center;padding:5px 8px;font-size:10px;font-weight:900;display:inline-flex}.status-pill.draft{color:#725d00;background:var(--yellow-soft)}.error-banner,.locked-banner{border-radius:6px;align-items:center;gap:12px;margin:16px 0;padding:13px 15px;display:flex}.error-banner{color:var(--red);background:var(--red-soft);border:1px solid #efb9b4}.error-banner span{flex-direction:column;flex:1;gap:3px;display:flex}.locked-banner{color:var(--green);background:var(--green-soft);border:1px solid #afd8c4}.processing-state{gap:10px;min-height:300px}.processing-state svg{color:#8a7000;width:34px;height:34px}.processing-state span{color:var(--muted)}.breadcrumb{color:var(--muted);align-items:center;gap:5px;margin-bottom:8px;font-size:11px;display:flex}.breadcrumb svg{width:12px;height:12px}.export-menu{gap:5px;display:flex}.course-generation-progress{border:1px solid var(--line);background:#fff;border-radius:6px;margin:18px 0 0;padding:12px 15px}.course-generation-progress>div:first-child{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.course-generation-progress span strong,.course-generation-progress span small{display:block}.course-generation-progress span small{color:var(--muted);margin-top:3px;font-size:11px}.course-generation-progress em{color:var(--red);font-size:11px;font-style:normal;font-weight:800}.course-generation-progress>div>b{font-size:15px}.course-progress-track{background:#e6e9eb;border-radius:3px;height:6px;margin-top:9px;overflow:hidden}.course-progress-track i{background:var(--green);height:100%;transition:width .25s;display:block}.generate-source-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:6px;align-items:center;gap:12px;min-width:280px;margin-bottom:16px;padding:13px;display:flex}.generate-source-card svg{color:#8a7000}.generate-source-card strong,.generate-source-card small{display:block}.generate-source-card small{color:var(--muted);margin-top:3px}.work-tabs{border-bottom:1px solid var(--line-strong);gap:2px;margin:24px 0 18px;display:flex;overflow-x:auto}.work-tabs button{min-height:46px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:7px;padding:8px 14px;display:flex}.work-tabs button.active{color:var(--ink);border-bottom-color:var(--yellow);font-weight:900}.work-tabs button b{color:#fff;background:#555e66;border-radius:10px;place-items:center;min-width:19px;height:19px;font-size:10px;display:grid}.knowledge-strip{margin-bottom:16px}.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.knowledge-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-items:flex-start;gap:13px;min-height:98px;padding:16px;display:flex}.knowledge-grid article:nth-child(2n){border-right:0}.knowledge-grid article>b{background:var(--yellow);border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;display:grid}.knowledge-grid strong,.knowledge-grid small{display:block}.knowledge-grid small{color:var(--muted);margin-top:5px;line-height:1.5}.content-block-list{gap:14px;display:grid}.draggable-block{min-width:0}.drag-grip{color:#9ba3aa;cursor:grab}.content-block{overflow:hidden}.content-block-head{border-bottom:1px solid var(--line);background:#f8f9f9;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:11px 16px;display:flex}.block-type{align-items:center;gap:10px;display:flex}.block-type>span{color:#1c2125;background:var(--yellow);border-radius:5px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.block-actions{align-items:center;gap:8px;display:flex}.source-chips{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.source-chip{min-height:27px;color:var(--blue);background:var(--blue-soft);cursor:pointer;border:1px solid #bdd6eb;border-radius:4px;align-items:center;gap:4px;padding:4px 7px;font-size:10px;text-decoration:none;display:inline-flex}.source-chip:hover{background:#dcecf8}.source-chip svg{width:11px;height:11px}.source-chip.missing{color:var(--red);background:var(--red-soft);border-color:#edbbb6}.prose-text{padding:19px 20px 21px}.prose-text p{margin:0 0 11px;line-height:1.8}.prose-text p:last-child{margin-bottom:0}.structured-list{gap:10px;margin:0;padding:18px 20px 22px;list-style:none;display:grid}.structured-list li{grid-template-columns:27px 1fr;align-items:start;gap:10px;display:grid}.structured-list li>span{color:#725d00;background:var(--yellow-soft);border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;font-weight:900;display:grid}.structured-list p{margin:2px 0 0;line-height:1.65}.block-edit-form{padding:18px}.block-edit-form label,.create-form label,.auth-card label{gap:6px;font-size:12px;font-weight:800;display:grid}.block-edit-form input,.block-edit-form textarea,.create-form input,.auth-card input{border:1px solid var(--line-strong);resize:vertical;background:#fff;border-radius:5px;width:100%;padding:10px 11px}.block-edit-form textarea{line-height:1.7}.block-edit-form label+label{margin-top:12px}.block-edit-actions{justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.form-help{color:var(--muted);background:#f6f7f8;border-radius:5px;padding:12px}.section-intro{margin-bottom:16px}.section-intro h2{margin:0}.count-badge{color:#6f5a00;background:var(--yellow-soft);white-space:nowrap;border-radius:14px;padding:6px 10px;font-size:11px;font-weight:900}.slide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.slide-card{border:1px solid var(--line);aspect-ratio:16/9;background:#fff;border-radius:6px;min-height:250px;padding:28px;position:relative;overflow:hidden;box-shadow:0 5px 15px #181e230d}.slide-card:before{content:"";background:var(--yellow);width:7px;position:absolute;top:0;bottom:0;left:0}.slide-card h3{margin:8px 0 16px;font-size:23px}.slide-card ul{margin:0;padding-left:19px}.slide-card li{margin:8px 0;line-height:1.45}.slide-card small{color:var(--muted)}.slide-card>small:last-child{position:absolute;bottom:18px;left:28px}.cover-slide{color:#fff;background:#292e33;flex-direction:column;justify-content:center;display:flex}.cover-slide h3{font-size:30px}.cover-slide p{color:#d5d9dc;line-height:1.5}.cover-slide>span{color:var(--yellow);font-size:12px;font-weight:900;position:absolute;bottom:22px;left:28px}.slide-index{color:#a7afb6;font-size:11px;font-weight:900;position:absolute;top:18px;right:20px}.quiz-list,.interaction-list{gap:14px;display:grid}.quiz-card{grid-template-columns:70px minmax(0,1fr);padding:22px;display:grid}.quiz-number{color:#1f2429;background:var(--yellow);border-radius:50%;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.quiz-content h3{margin:4px 0 16px;font-size:17px;line-height:1.5}.quiz-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.quiz-options button{text-align:left;border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:5px;align-items:center;gap:10px;min-height:48px;padding:10px;display:flex}.quiz-options button>span{background:#edf0f2;border-radius:50%;place-items:center;width:27px;height:27px;font-size:11px;font-weight:900;display:grid}.quiz-options button.selected{border-color:#9a7c00;box-shadow:inset 0 0 0 1px #9a7c00}.quiz-options button.correct{border-color:var(--green);background:var(--green-soft)}.quiz-options button.wrong{border-color:var(--red);background:var(--red-soft)}.quiz-submit{margin-top:13px}.quiz-feedback,.runner-feedback{border:1px solid;border-radius:5px;align-items:flex-start;gap:9px;margin-top:12px;padding:12px;display:flex}.quiz-feedback>span,.runner-feedback>span{flex-direction:column;flex:1;gap:4px;line-height:1.5;display:flex}.quiz-feedback.correct,.runner-feedback.correct{color:var(--green);background:var(--green-soft);border-color:#acd4c0}.quiz-feedback.wrong,.runner-feedback.wrong{color:var(--red);background:var(--red-soft);border-color:#edb9b4}.interaction-card{overflow:hidden}.interaction-title{color:#fff;border-bottom:4px solid var(--yellow);background:#2d3237;align-items:center;gap:13px;min-height:72px;padding:13px 18px;display:flex}.interaction-title>span{color:#1e2327;background:var(--yellow);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.interaction-title small{color:#c1c7cc}.interaction-title h3{margin:3px 0 0}.runner-body{padding:20px}.runner-body>p{margin:0 0 16px;line-height:1.65}.order-items{gap:7px;margin-bottom:14px;display:grid}.order-items>div{border:1px solid var(--line);background:#f6f7f8;border-radius:5px;grid-template-columns:22px 30px minmax(0,1fr) 48px 48px;align-items:center;gap:8px;min-height:48px;padding:8px;display:grid}.order-items>div>span{color:#1e2327;background:var(--yellow);border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.order-items button{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:4px;padding:5px}.match-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.match-items label{background:#f6f7f8;border-radius:5px;grid-template-columns:1fr 1fr;align-items:center;gap:8px;padding:9px;display:grid}.match-items select{border:1px solid var(--line-strong);background:#fff;border-radius:4px;min-width:0;padding:8px}.parameter-grid{gap:12px;display:grid}.parameter-grid label{background:#f6f7f8;border-radius:5px;gap:8px;padding:12px;display:grid}.parameter-grid label>span{justify-content:space-between;gap:10px;display:flex}.parameter-grid input{accent-color:#c79f00}.parameter-result{color:#fff;background:#343a40;border-radius:5px;grid-template-columns:1fr auto;align-items:center;gap:2px 16px;margin-top:14px;padding:15px;display:grid}.parameter-result strong{grid-row:span 2;font-size:28px}.parameter-result small{color:#c5cbd0}.parameter-result.correct{background:var(--green)}.scenario-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.scenario-options button{text-align:left;border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:5px;align-items:center;gap:10px;min-height:52px;padding:10px;display:flex}.scenario-options button>span{background:#edf0f2;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.scenario-options button.selected{background:var(--yellow-soft);border-color:#9a7c00}.source-page-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.source-page-grid>a{color:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;text-decoration:none;overflow:hidden}.source-page-preview{aspect-ratio:4/3;border-bottom:1px solid var(--line);background:#e9edf0;place-items:center;display:grid;position:relative}.source-page-preview svg{color:#68727a;width:36px;height:36px}.source-page-preview span{color:#1e2327;background:var(--yellow);border-radius:3px;padding:4px 7px;font-size:10px;font-weight:900;position:absolute;bottom:9px;left:9px}.source-page-grid strong,.source-page-grid small{align-items:center;gap:5px;margin:0 11px;display:flex}.source-page-grid strong{white-space:nowrap;text-overflow:ellipsis;margin-top:11px;overflow:hidden}.source-page-grid small{color:var(--blue);margin-top:5px;margin-bottom:11px}.source-page-grid small svg{width:11px}.all-assets{margin-top:18px}.all-assets>a{color:inherit;border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:12px 16px;text-decoration:none;display:grid}.all-assets>a:last-child{border-bottom:0}.all-assets strong,.all-assets small{display:block}.all-assets small{color:var(--muted);margin-top:3px}.history-columns{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;display:grid}.revision-list{overflow:hidden}.revision-list>div{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:10px;min-height:64px;padding:10px 13px;display:grid}.revision-list>div:last-child{border-bottom:0}.revision-number{font-weight:900}.revision-list strong,.revision-list small{display:block}.revision-list small{color:var(--muted);margin-top:4px}.export-actions-large{gap:9px;display:grid}.export-actions-large>button,.export-list>a{color:inherit;text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;text-decoration:none;display:grid}.export-actions-large strong,.export-actions-large small,.export-list strong,.export-list small{display:block}.export-actions-large small,.export-list small{color:var(--muted);margin-top:4px}.export-list{gap:8px;margin-top:14px;display:grid}.download-ready{background:#fffdf0;border-color:#ead375;gap:10px;margin-top:12px;padding:14px;display:grid}.download-ready>strong{font-size:13px}.download-ready>div{flex-wrap:wrap;gap:8px;display:flex}.download-ready a{color:#24282c;background:var(--yellow);border:1px solid #d6ab00;border-radius:5px;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.download-ready a small{color:#675300;padding-left:2px;font-weight:700}.download-ready a svg{width:15px;height:15px}.download-word{color:#695200;background:#fff4b8;border-radius:4px;align-items:center;gap:4px;padding:5px 7px;font-size:11px;font-weight:900;display:inline-flex}.download-word svg{width:14px;height:14px}.spin{animation:.9s linear infinite spin}.export-history{margin-top:14px}.export-history>summary{color:var(--muted);cursor:pointer;font-size:12px;font-weight:800}.muted-message{color:var(--muted)}.quality-score{color:#7b312c;background:var(--red-soft);border:1px solid #edb9b4;border-radius:7px;align-content:center;place-items:center;min-width:92px;min-height:70px;display:grid}.quality-score.passed{color:var(--green);background:var(--green-soft);border-color:#acd4c0}.quality-score b{font-size:27px;line-height:1}.quality-score small{margin-top:5px}.quality-check-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:16px;display:grid}.quality-check-grid>div{min-height:74px;color:var(--red);background:var(--red-soft);border:1px solid #efc0bc;border-radius:6px;align-items:center;gap:9px;padding:12px;font-size:12px;font-weight:800;display:flex}.quality-check-grid>div.passed{color:var(--green);background:var(--green-soft);border-color:#b4dbc8}.quality-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.quality-issue-list>button{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:#fff;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;padding:12px;display:grid}.quality-issue-list>button:last-child{border-bottom:0}.quality-issue-list>button>span{background:#edf0f2;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;font-weight:900;display:grid}.quality-issue-list strong,.quality-issue-list small{grid-column:2;display:block}.quality-issue-list small{color:var(--muted);line-height:1.45}.quality-issue-list>button>svg{grid-area:1/3/span 2}.quality-clear{color:var(--green);align-items:center;gap:8px;padding:16px;display:flex}.assistant-panel{border-left:1px solid var(--line);background:#fff;flex-direction:column;display:flex}.assistant-panel>header{border-bottom:1px solid var(--line);align-items:center;min-height:72px;padding:12px 16px;display:flex}.assistant-heading{flex-direction:column;gap:3px;min-width:0;display:flex}.assistant-heading>span{align-items:center;gap:8px;font-weight:900;display:flex}.assistant-heading>span svg{color:#8a7000}.assistant-heading small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-messages{flex:1;padding:14px;overflow-y:auto}.runtime-card{border:1px solid var(--line);background:#f4f6f7;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;padding:10px;display:flex}.runtime-card>span{align-items:flex-start;gap:8px;min-width:0;display:flex}.runtime-card>span>svg{color:#51616d;margin-top:2px}.runtime-card strong,.runtime-card small{display:block}.runtime-card strong{font-size:12px}.runtime-card small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.45}.runtime-card.connected{background:var(--green-soft);border-color:#afd8c2}.runtime-card.connected>span>svg{color:var(--green)}.runtime-card.attention{background:var(--yellow-soft);border-color:#e7d06d}.runtime-card.attention>span>svg{color:#896e00}.runtime-card.checking{justify-content:flex-start}.runtime-actions{flex:none;align-items:center;gap:5px;display:flex}.small-icon-button{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:5px;place-items:center;width:30px;height:30px;display:grid}.small-icon-button:disabled,.runtime-connect:disabled{opacity:.55;cursor:wait}.runtime-connect{color:#27230d;background:var(--yellow);cursor:pointer;border:1px solid #d5aa00;border-radius:5px;align-items:center;gap:4px;min-height:30px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.assistant-welcome{color:#4d5358;background:var(--yellow-soft);border:1px solid #edd770;border-radius:6px;gap:9px;padding:12px;display:flex}.assistant-welcome svg{color:#896e00;margin-top:2px}.assistant-welcome p{margin:0;font-size:12px;line-height:1.55}.chat-message{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;margin:14px 0;display:grid}.chat-message>span{color:#fff;background:#656e75;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:900;display:grid}.chat-message.user>span{color:#1d2227;background:var(--yellow)}.chat-message p{white-space:pre-wrap;background:#f4f6f7;border-radius:6px;margin:0;padding:10px;font-size:12px;line-height:1.6}.chat-message.user p{background:#fff9db}.assistant-thinking{background:#f4f6f7;border-radius:6px;align-items:center;gap:9px;padding:11px;display:flex}.assistant-thinking span{color:var(--muted);flex-direction:column;font-size:11px;display:flex}.assistant-thinking strong{color:var(--ink)}.quick-instructions{border-top:1px solid var(--line);gap:5px;padding:8px 12px;display:flex;overflow-x:auto}.quick-instructions button{white-space:nowrap;color:#5a6268;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;padding:5px 8px;font-size:10px}.assistant-compose{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 38px;gap:8px;padding:11px;display:grid}.assistant-compose textarea{border:1px solid var(--line-strong);resize:none;border-radius:5px;min-height:76px;padding:9px}.assistant-compose button{color:#1e2327;background:var(--yellow);cursor:pointer;border:1px solid #d5aa00;border-radius:5px;align-self:end;place-items:center;width:38px;height:38px;display:grid}.assistant-compose button:disabled{opacity:.45}.change-set-card{background:#fffbed;border:1px solid #d9c35e;border-radius:6px;margin:13px 0;padding:12px}.change-set-head{align-items:center;gap:8px;display:flex}.change-set-head>span{flex-direction:column;display:flex}.change-set-head small{color:var(--muted)}.change-set-card>p{line-height:1.5}.change-preview{background:#fff;border:1px solid #eee3a9;border-radius:4px;flex-direction:column;gap:3px;margin-bottom:10px;padding:8px;font-size:11px;display:flex}.change-preview small{color:var(--muted)}.change-set-card>div:last-child{gap:7px;display:flex}.change-set-card .primary-button,.change-set-card .secondary-button{min-height:32px;padding:5px 9px;font-size:11px}.job-error-card{color:var(--red);background:var(--red-soft);border-radius:5px;grid-template-columns:24px 1fr;gap:8px;margin:12px 0;padding:10px;display:grid}.job-error-card span{flex-direction:column;gap:3px;font-size:11px;display:flex}.job-error-card button{color:var(--red);cursor:pointer;background:0 0;border:0;grid-column:2;justify-self:start;gap:4px;display:flex}.modal-backdrop{z-index:100;background:#1216198f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{width:min(500px,100%);box-shadow:var(--shadow);background:#fff;border-radius:8px}.modal.wide{width:min(820px,100%)}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal h2{margin:0;font-size:19px}.create-form{gap:14px;padding:20px;display:grid}.source-rights-check{color:#4d565e;border:1px solid var(--line);cursor:pointer;background:#f6f7f8;border-radius:5px;align-items:flex-start;gap:9px;padding:10px 11px;line-height:1.55;font-size:12px!important;font-weight:600!important;display:flex!important}.source-rights-check input{width:16px;height:16px;accent-color:var(--yellow);flex:none;margin:1px 0 0}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.source-preview{padding:18px}.source-preview-meta{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-bottom:14px;display:flex}.source-preview-meta strong,.source-preview-meta small{display:block}.source-preview-meta small{color:var(--muted);margin-top:4px}.source-preview-meta a{color:var(--ink);white-space:nowrap;text-decoration:none}.source-preview-text{color:#2a3035;border:1px solid var(--line);background:#f7f8f9;border-radius:5px;max-height:min(62vh,620px);margin-top:14px;padding:16px 18px;overflow-y:auto}.source-preview-text p{white-space:pre-wrap;margin:0 0 12px;line-height:1.8}.source-preview-text p:last-child{margin-bottom:0}.toast{z-index:120;color:#fff;max-width:440px;min-height:52px;box-shadow:var(--shadow);background:#293036;border-radius:7px;grid-template-columns:24px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:10px 12px;display:grid;position:fixed;bottom:20px;right:20px}.toast.error{background:#8f2e29}.toast button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:28px;height:28px;display:grid}.auth-screen{background:#f1f3f4;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:100vh;display:grid}.auth-panel{color:#fff;border-right:8px solid var(--yellow);background:#292e33;flex-direction:column;justify-content:center;min-height:640px;padding:clamp(42px,8vw,120px);display:flex}.auth-brand{color:var(--yellow);margin-bottom:60px;font-weight:900}.auth-brand svg{width:32px;height:32px}.auth-panel h1{max-width:740px;margin:0;font-size:clamp(38px,5vw,68px);line-height:1.12}.auth-panel>p{color:#ccd1d5;max-width:650px;font-size:18px;line-height:1.7}.auth-flow{color:#e8ebed;align-items:center;gap:8px;margin-top:40px;display:flex}.auth-flow span{border:1px solid #60676d;border-radius:4px;padding:8px 10px}.auth-flow svg{color:var(--yellow)}.auth-card{border:1px solid var(--line);width:min(420px,100% - 48px);box-shadow:var(--shadow);background:#fff;border-radius:8px;align-self:center;margin:24px auto;padding:28px}.segmented-control{background:#edf0f2;border-radius:6px;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:24px;padding:3px;display:grid}.segmented-control button{cursor:pointer;background:0 0;border:0;border-radius:4px;min-height:40px}.segmented-control button.active{background:#fff;font-weight:900;box-shadow:0 2px 5px #12161914}.auth-card label+label{margin-top:15px}.auth-feedback{color:#7f2824;background:#fff1ef;border:1px solid #e2b8b4;border-radius:5px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;margin-top:15px;padding:11px 12px;font-size:13px;line-height:1.55;display:grid}.auth-feedback.info{color:#236143;background:#edf8f1;border-color:#bad9c8}.auth-feedback svg{width:18px;height:18px;margin-top:1px}.auth-submit{width:100%;margin-top:22px}.asset-library-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.asset-library-row:last-child{border-bottom:0}.asset-library-row>a{min-width:0;color:inherit;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:12px 16px;text-decoration:none;display:grid;border-bottom:0!important}.asset-library-row>a strong,.asset-library-row>a small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.asset-library-row>a small{color:var(--muted);margin-top:3px}.asset-library-row>button{white-space:nowrap;margin-right:12px}.media-heading{margin-top:30px}.media-heading-actions{align-items:center;gap:8px;display:flex}.media-heading-actions .secondary-button{min-height:34px;padding:6px 10px}.media-tools{grid-template-columns:1fr;gap:10px;margin-bottom:18px;display:grid}.media-tools form{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;grid-template-columns:150px minmax(180px,1fr) auto;gap:8px;padding:12px;display:grid}.media-tools input,.media-tools select,.create-class-form input,.create-class-form select{border:1px solid var(--line-strong);background:#fff;border-radius:5px;min-height:40px;padding:8px 10px}.approved-media-grid,.media-candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.approved-media-grid article,.media-candidate-grid article{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;overflow:hidden}.approved-media-grid article{border-top:4px solid var(--green)}.approved-media-grid article.media-unavailable{border-top-color:var(--red)}.media-candidate-grid article{border-top:4px solid var(--yellow)}.approved-media-grid img,.media-candidate-grid img,.media-placeholder{aspect-ratio:16/9;object-fit:cover;background:#e8ecef;place-items:center;width:100%;display:grid}.media-placeholder svg{color:#78838d;width:34px;height:34px}.approved-media-grid article>div:last-child,.media-candidate-grid article>div:last-child{flex-direction:column;gap:5px;padding:12px;display:flex}.approved-media-grid strong,.media-candidate-grid strong{overflow-wrap:anywhere}.approved-media-grid small,.media-candidate-grid small{color:var(--muted)}.approved-media-grid em,.media-candidate-grid em{color:#69737d;min-height:34px;font-size:11px;font-style:normal;line-height:1.45}.approved-media-grid article>div:last-child>div,.media-candidate-grid article>div:last-child>div{justify-content:space-between;align-items:center;gap:8px;min-height:36px;margin-top:4px;display:flex}.approved-media-grid a,.media-candidate-grid a{color:var(--blue);align-items:center;gap:4px;font-size:12px;text-decoration:none;display:inline-flex}.approved-media-grid button:not(.primary-button){width:34px;height:34px;color:var(--red);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:5px;place-items:center;display:grid}.approved-mark,.candidate-provider{border-radius:4px;align-self:flex-start;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:800;display:inline-flex}.approved-mark{color:var(--green);background:var(--green-soft)}.media-health.unavailable{color:#8c2921;background:var(--red-soft)}.candidate-provider{color:#765f00;background:var(--yellow-soft)}.media-rights-note{color:#5d5120;background:#fff9dc;border:1px solid #e5d26f;border-radius:6px;align-items:flex-start;gap:9px;padding:12px;font-size:12px;line-height:1.55;display:flex}.media-rights-note strong{color:#41390f;display:block}.publish-workspace,.materials-workspace{container-type:inline-size}.publish-workspace{gap:24px;display:grid}.publish-hero{color:#fff;border-top:5px solid var(--yellow);background:#2d3338;border-radius:6px;justify-content:space-between;align-items:center;gap:30px;padding:24px;display:flex}.publish-hero h2{margin:4px 0 8px;font-size:28px}.publish-hero p{color:#cfd4d8;max-width:720px;margin:0;line-height:1.65}.publish-hero .page-kicker{color:var(--yellow)}.publish-blockers{color:#7e2c26;background:var(--red-soft);border:1px solid #e7b8b3;border-radius:6px;align-items:flex-start;gap:10px;padding:14px;display:flex}.publish-blockers strong{margin-bottom:4px;display:block}.publish-blockers p{margin:2px 0;font-size:12px}.publish-columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}.publication-list,.create-class-form,.class-list{border:1px solid var(--line);background:#fff;border-radius:6px}.publication-list>div{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:11px 14px;display:grid}.publication-list>div:last-child{border-bottom:0}.publication-list>div>span:first-child{color:#292400;background:var(--yellow);border-radius:50%;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.publication-list strong,.publication-list small{display:block}.publication-list small{color:var(--muted);margin-top:4px}.create-class-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;padding:16px;display:grid}.create-class-form label{flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.class-list{overflow:hidden}.class-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(210px,1fr) minmax(280px,1fr) auto;align-items:center;gap:18px;min-height:88px;padding:13px 16px;display:grid}.class-list article:last-child{border-bottom:0}.class-list article>div{align-items:center;gap:10px;display:flex}.class-list .class-identity>span:last-child{flex-direction:column;gap:4px;display:flex}.class-list small{color:var(--muted)}.class-metrics{justify-content:center}.class-metrics>span{border-left:1px solid var(--line);flex-direction:column;align-items:center;gap:2px;min-width:54px;padding:4px 8px;display:flex}.class-metrics>span:first-child{border-left:0}.class-metrics b{font-size:16px}.class-metrics small{white-space:nowrap;font-size:10px}.class-actions{justify-content:flex-end}.class-code{color:#292400;background:var(--yellow);letter-spacing:1px;border-radius:5px;padding:9px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900}.class-list a{color:var(--ink);text-decoration:none}.student-shell{min-height:100vh;color:var(--ink);background:#f2f4f5}.student-header{border-bottom:1px solid var(--line);z-index:30;background:#fff;justify-content:space-between;align-items:center;gap:20px;height:68px;padding:10px 24px;display:flex;position:sticky;top:0}.student-brand{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:flex}.student-brand>svg{color:#292400;background:var(--yellow);border-radius:5px;width:34px;height:34px;padding:7px}.student-brand strong,.student-brand small{display:block}.student-brand small{color:var(--muted);margin-top:2px}.student-user{color:var(--muted);align-items:center;gap:10px;display:flex}.student-user button{cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:36px;height:36px;display:grid}.student-auth{background:#edf0f2;grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);min-height:100vh;display:grid}.student-auth>section{color:#fff;border-right:8px solid var(--yellow);background:#292e33;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(40px,8vw,120px);display:flex}.student-auth .student-brand{color:#fff;margin-bottom:54px}.student-auth h1{max-width:760px;margin:0;font-size:clamp(38px,5vw,66px);line-height:1.12}.student-auth p{color:#cbd1d5;max-width:600px;font-size:18px;line-height:1.7}.student-auth>form{border:1px solid var(--line);width:min(420px,100% - 40px);box-shadow:var(--shadow);background:#fff;border-radius:8px;align-self:center;gap:15px;margin:24px auto;padding:28px;display:grid}.student-auth>form label{flex-direction:column;gap:7px;font-size:13px;font-weight:800;display:flex}.student-auth>form input{border:1px solid var(--line-strong);border-radius:5px;min-height:44px;padding:9px 11px}.student-auth>form .primary-button{margin-top:6px}.join-code-preview{color:#222;background:var(--yellow);border-radius:6px;align-items:center;gap:14px;margin-top:26px;padding:12px 16px;display:flex}.join-code-preview span{font-size:12px}.join-code-preview strong{letter-spacing:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px}.student-dashboard{width:min(1180px,100% - 40px);margin:0 auto;padding:38px 0 70px}.join-course-panel{color:#fff;border-top:5px solid var(--yellow);background:#2d3338;border-radius:6px;grid-template-columns:1fr minmax(420px,.8fr);align-items:end;gap:30px;margin-bottom:34px;padding:26px;display:grid}.join-course-panel h1{margin:5px 0;font-size:30px}.join-course-panel p{color:#cdd2d6;margin:0}.join-course-panel form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.join-course-panel input{text-transform:uppercase;letter-spacing:1px;border:1px solid #72797f;border-radius:5px;min-height:46px;padding:9px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px}.student-course-list{gap:12px;display:grid}.student-course-list>button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;grid-template-columns:70px minmax(0,1fr) 180px;align-items:center;gap:16px;width:100%;min-height:104px;padding:15px;display:grid}.student-course-list>button:hover{border-color:#aeb6bd;box-shadow:0 8px 20px #181e230f}.course-cover{color:#282400;background:var(--yellow);border-radius:5px;place-items:center;width:64px;height:72px;display:grid}.course-cover svg{width:28px;height:28px}.student-course-list>button>span:nth-child(2){flex-direction:column;gap:5px;display:flex}.student-course-list>button small,.student-course-list>button em{color:var(--muted);font-size:12px;font-style:normal}.student-course-list>button strong{font-size:20px}.course-meter{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.course-meter i,.student-progress-panel i{background:#e3e7ea;border-radius:4px;height:7px;overflow:hidden}.course-meter u,.student-progress-panel u{background:var(--green);height:100%;text-decoration:none;display:block}.student-empty{min-height:220px;color:var(--muted);border:1px dashed var(--line-strong);background:#fff;border-radius:6px;align-content:center;place-items:center;gap:8px;display:grid}.student-empty svg{width:38px;height:38px}.student-empty p{margin:0}.student-busy{z-index:80;color:#fff;pointer-events:none;background:#1c21252e;place-items:center;display:grid;position:fixed;inset:0}.student-busy svg{background:#2c3237;border-radius:6px;width:42px;height:42px;padding:10px}.student-reader{grid-template-columns:270px minmax(0,860px) 230px;justify-content:center;align-items:start;min-height:calc(100vh - 68px);display:grid}.student-outline{color:#f5f6f7;background:#30353a;min-height:calc(100vh - 68px);padding:22px 16px;position:sticky;top:68px}.outline-back{color:#d8dde0;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-bottom:28px;padding:7px 0;display:inline-flex}.student-outline>div{border-bottom:1px solid #4b5156;flex-direction:column;gap:4px;padding:0 8px 18px;display:flex}.student-outline .page-kicker{color:var(--yellow)}.student-outline>div small{color:#aeb6bc}.student-outline nav{padding-top:12px}.student-chapter>button{color:#f1f3f4;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:6px;width:100%;min-height:46px;padding:7px 8px;display:grid}.student-chapter>button>span{color:var(--yellow);font-size:11px;font-weight:900}.student-chapter>button svg{transition:transform .2s}.student-chapter>button svg.open{transform:rotate(180deg)}.student-chapter>button:not(:first-child){color:#c8cdd1;grid-template-columns:14px minmax(0,1fr);padding-left:16px;font-size:12px}.student-chapter>button:not(:first-child) i{background:#747c82;border-radius:50%;width:7px;height:7px}.student-chapter>button.active{color:#fff;border-left:3px solid var(--yellow);background:#41474c}.student-chapter>button.active i{background:var(--yellow)}.student-lesson{border-left:1px solid var(--line);border-right:1px solid var(--line);background:#fff;min-width:0;padding:44px clamp(28px,4vw,60px) 80px}.student-lesson>header{border-bottom:3px solid var(--ink);padding-bottom:26px}.student-lesson>header h1{margin:6px 0 10px;font-size:38px;line-height:1.2}.student-lesson>header p{color:var(--muted);margin:0;font-size:16px;line-height:1.7}.student-points{border-bottom:1px solid var(--line);padding:24px 0}.student-points h2,.student-media-section h2{margin:0 0 14px;font-size:20px}.student-points>div{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.student-points>div>span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);align-content:center;gap:3px 9px;min-height:92px;padding:13px;display:grid}.student-points b{color:#282400;background:var(--yellow);border-radius:50%;grid-row:1/3;place-items:center;width:32px;height:32px;font-size:11px;display:grid}.student-points small{color:var(--muted);line-height:1.45}.student-media-section{border-bottom:1px solid var(--line);padding:24px 0}.student-media{background:#171a1d;border-radius:6px;margin:0 0 18px;overflow:hidden}.student-media iframe,.student-media video,.student-media>img{aspect-ratio:16/9;object-fit:contain;border:0;width:100%;display:block}.student-media-fallback{color:#f4f5f6;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:220px;padding:28px;display:flex}.student-media-fallback svg{color:var(--yellow)}.student-media-fallback span{color:#aeb6bc;max-width:520px;font-size:13px;line-height:1.6}.student-media figcaption{color:#f0f2f3;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:12px 14px;display:grid}.student-media figcaption span{flex-direction:column;gap:4px;display:flex}.student-media figcaption small,.student-media figcaption em{color:#aeb6bc;font-size:11px;font-style:normal}.student-media figcaption em{grid-column:1/-1}.student-media figcaption a{color:var(--yellow);align-items:center;gap:4px;font-size:12px;text-decoration:none;display:inline-flex}.student-blocks{gap:0;display:grid}.student-content-block{border-bottom:1px solid var(--line);padding:28px 0}.block-label,.activity-label{color:#806900;margin-bottom:7px;font-size:11px;font-weight:900;display:inline-block}.student-content-block h2,.student-activity h2{margin:0 0 13px;font-size:24px}.student-content-block p,.student-content-block li{line-height:1.85}.student-content-block ul{padding-left:22px}.student-source{color:#5c6872;background:var(--surface-soft);border-left:3px solid var(--yellow);margin-top:16px;padding:8px 10px;display:block}.student-activity{border:1px solid var(--line);border-top:4px solid var(--yellow);background:#f7f8f9;border-radius:6px;margin:26px 0;padding:22px}.student-activity>p{line-height:1.65}.student-options{grid-template-columns:1fr 1fr;gap:9px;margin:16px 0;display:grid}.student-options button{text-align:left;border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:5px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:48px;padding:8px 10px;display:grid}.student-options button b{color:#4a5259;background:#edf0f2;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.student-options button.selected{background:var(--yellow-soft);border-color:#d1aa00}.student-options button.selected b{color:#282400;background:var(--yellow)}.student-options.multiple button b svg{width:15px;height:15px}.student-fill{gap:7px;margin:16px 0;font-size:12px;font-weight:800;display:grid}.student-fill input{min-height:46px;font:inherit;border:1px solid var(--line-strong);background:#fff;border-radius:5px;padding:10px 12px}.activity-submit,.complete-button{color:#272300;background:var(--yellow);cursor:pointer;border:1px solid #d3aa00;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:8px 16px;font-weight:900;display:inline-flex}.activity-submit:disabled,.complete-button:disabled{opacity:.5;cursor:not-allowed}.student-order>div{flex-wrap:wrap;gap:7px;display:flex}.student-order button,.text-button{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:5px;align-items:center;gap:5px;padding:8px 10px;display:inline-flex}.student-order ol{border:1px dashed var(--line-strong);background:#fff;min-height:52px;padding:10px 10px 10px 34px}.student-match{gap:8px;margin:15px 0;display:grid}.student-match label{grid-template-columns:1fr 1fr;align-items:center;gap:10px;display:grid}.student-match select{border:1px solid var(--line-strong);background:#fff;border-radius:5px;min-height:40px;padding:7px}.student-parameters{gap:12px;margin:16px 0;display:grid}.student-parameters label{border:1px solid var(--line);background:#fff;border-radius:5px;gap:8px;padding:11px;display:grid}.student-parameters label>span{justify-content:space-between;display:flex}.student-parameters input{accent-color:var(--yellow)}.student-hotspot{border:1px solid var(--line-strong);background:#1b1f22;border-radius:6px;width:min(100%,760px);margin:16px auto;position:relative;overflow:hidden}.student-hotspot img{width:100%;display:block}.student-hotspot button{border:2px dashed var(--yellow);cursor:pointer;background:#ffc90024;min-width:28px;min-height:28px;position:absolute}.student-hotspot button.selected{background:#ffc90085;border-style:solid}.teacher-fill{gap:7px;margin:14px 0;font-size:12px;font-weight:800;display:grid}.teacher-fill input{min-height:44px;font:inherit;border:1px solid var(--line-strong);border-radius:5px;padding:9px 11px}.teacher-hotspot{background:#1b1f22;border-radius:6px;width:min(100%,720px);margin:14px 0;position:relative;overflow:hidden}.teacher-hotspot img{width:100%;display:block}.teacher-hotspot button{border:2px dashed var(--yellow);cursor:pointer;background:#ffc90024;min-width:28px;min-height:28px;position:absolute}.teacher-hotspot button.selected{background:#ffc90085;border-style:solid}.activity-feedback{border-radius:5px;grid-template-columns:26px minmax(0,1fr) auto;align-items:start;gap:10px;margin-top:15px;padding:13px;display:grid}.activity-feedback.correct{color:var(--green);background:var(--green-soft)}.activity-feedback.wrong{color:var(--red);background:var(--red-soft)}.activity-feedback p{color:var(--ink);margin:4px 0}.activity-feedback small{color:var(--muted)}.activity-feedback button{cursor:pointer;background:#fff;border:1px solid;border-radius:5px;align-items:center;gap:5px;padding:6px 8px;display:inline-flex}.lesson-footer{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding-top:30px;display:grid}.lesson-footer>button:last-child{justify-self:end}.student-progress-panel{gap:12px;padding:22px 16px;display:grid;position:sticky;top:68px}.student-progress-panel>div{border:1px solid var(--line);background:#fff;border-radius:6px;gap:8px;padding:14px;display:grid}.student-progress-panel>div:first-child{grid-template-columns:1fr auto}.student-progress-panel>div:first-child i{grid-column:1/-1}.student-progress-panel>div:not(:first-child){grid-template-columns:26px minmax(0,1fr);align-items:start}.student-progress-panel strong,.student-progress-panel small{display:block}.student-progress-panel small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.45}@container (width<=760px){.approved-media-grid,.media-candidate-grid,.publish-columns{grid-template-columns:1fr}.class-list article{grid-template-columns:1fr;align-items:flex-start}.class-metrics,.class-actions{justify-content:flex-start}.create-class-form{grid-template-columns:1fr}.class-list article{flex-direction:column;align-items:flex-start}}@container (width<=520px){.media-tools form{grid-template-columns:1fr}.publish-hero,.media-heading-actions{flex-direction:column;align-items:flex-start}}@media (width<=1320px){.studio-header{grid-template-columns:250px minmax(460px,1fr) 190px;gap:12px;padding-inline:15px}.studio-grid{grid-template-columns:258px minmax(0,1fr) 302px}.studio-grid.left-collapsed{grid-template-columns:minmax(0,1fr) 302px}.studio-grid.right-collapsed{grid-template-columns:258px minmax(0,1fr)}.diagnostics-grid,.source-page-grid{grid-template-columns:repeat(3,1fr)}.outline-table-head{grid-template-columns:minmax(220px,1fr) 170px 68px;gap:10px;padding-left:84px;padding-right:12px}.outline-edit-row{grid-template-columns:20px 52px minmax(180px,1fr) 170px 68px;gap:8px;padding-inline:12px}.outline-edit-row.section{padding-left:28px}.approved-media-grid,.media-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-reader{grid-template-columns:240px minmax(0,1fr) 200px}}@media (width<=1040px){.studio-header{grid-template-columns:1fr auto}.stage-stepper{grid-area:2/1/auto/-1;padding:3px 0;overflow-x:auto}.studio-grid,.studio-grid.left-collapsed,.studio-grid.right-collapsed,.studio-grid.left-collapsed.right-collapsed{display:block;overflow:visible}.course-sidebar,.assistant-panel,.workspace-main{overflow:visible}.course-sidebar{max-height:430px;overflow-y:auto}.assistant-panel{border-left:0;border-top:1px solid var(--line);max-height:560px}.assistant-messages{min-height:240px;max-height:360px}.workspace-main{min-height:620px}.history-columns{grid-template-columns:1fr}.quality-check-grid{grid-template-columns:repeat(3,1fr)}.outline-workspace,.editor-workspace{padding:24px 20px 50px}.auth-screen{grid-template-columns:1fr}.auth-panel{border-right:0;border-bottom:7px solid var(--yellow);min-height:auto;padding:54px 34px}.auth-brand{margin-bottom:30px}.auth-flow{flex-wrap:wrap}.media-tools,.publish-columns{grid-template-columns:1fr}.student-reader{grid-template-columns:230px minmax(0,1fr)}.student-progress-panel{display:none}.student-auth{grid-template-columns:1fr}.student-auth>section{border-right:0;border-bottom:7px solid var(--yellow)}}@media (width<=720px){.studio-header{padding:10px}.brand-lockup span{display:none}.brand-lockup strong{font-size:14px}.user-name{display:none}.stage-stepper{grid-template-columns:repeat(5,minmax(85px,1fr))}.stage-step b{font-size:11px}.workspace-title-row,.editor-header,.section-intro{flex-direction:column}.title-actions,.editor-actions{justify-content:flex-start}.diagnostics-grid{grid-template-columns:repeat(2,1fr)}.outline-table-head{display:none}.outline-edit-row,.outline-edit-row.section{grid-template-columns:22px 54px minmax(0,1fr);padding:10px}.outline-edit-row.section{padding-left:24px}.page-range{grid-column:3}.outline-edit-row .status-pill{grid-column:3;justify-self:start}.upload-workspace{padding:40px 20px}.upload-notes,.knowledge-grid,.slide-grid,.quiz-options,.scenario-options,.match-items,.quality-columns,.quality-check-grid{grid-template-columns:1fr}.knowledge-grid article{border-right:0}.source-page-grid{grid-template-columns:repeat(2,1fr)}.quiz-card{grid-template-columns:1fr;gap:12px}.block-actions{flex-direction:column;align-items:flex-end}.course-generation-progress>div:first-child{grid-template-columns:minmax(0,1fr) auto}.course-generation-progress em{grid-column:1/-1}.source-preview-meta{flex-direction:column;align-items:flex-start}.content-block-head{align-items:flex-start}.order-items>div{grid-template-columns:20px 28px minmax(0,1fr)}.order-items button{grid-row:2}.auth-panel h1{font-size:36px}.auth-flow{display:none}.approved-media-grid,.media-candidate-grid,.media-tools form{grid-template-columns:1fr}.publish-hero,.class-list article{flex-direction:column;align-items:flex-start}.create-class-form{grid-template-columns:1fr}.student-header{padding-inline:12px}.student-user{font-size:0}.student-dashboard{width:min(100% - 24px,1180px);padding-top:20px}.join-course-panel{grid-template-columns:1fr;padding:20px}.join-course-panel form{grid-template-columns:1fr}.student-course-list>button{grid-template-columns:56px minmax(0,1fr)}.course-cover{width:52px;height:60px}.course-meter{grid-column:2}.student-reader{display:block}.student-outline{min-height:auto;position:static}.student-outline nav{max-height:320px;overflow-y:auto}.student-lesson{border:0;padding:30px 20px 60px}.student-lesson>header h1{font-size:30px}.student-points>div,.student-options{grid-template-columns:1fr}.lesson-footer{grid-template-columns:1fr 1fr}.complete-button{grid-area:1/1/auto/-1}}@media (width<=450px){.diagnostics-grid,.source-page-grid{grid-template-columns:1fr}.header-actions .icon-button:nth-child(-n+2){display:none}.editor-actions{width:100%}.editor-actions>button{flex:1}.work-tabs button{padding-inline:10px}.toast{bottom:10px;left:10px;right:10px}.student-auth>section{padding:38px 22px}.student-auth h1{font-size:34px}.student-media figcaption{grid-template-columns:1fr}.student-media figcaption em{grid-column:1}}.admin-auth{background:#eef1f3;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-auth>section{border-top:5px solid var(--yellow);background:#fff;width:min(420px,100%);padding:32px;box-shadow:0 10px 30px #191f241a}.admin-auth>section>svg{background:var(--yellow);border-radius:6px;width:42px;height:42px;padding:9px}.admin-auth h1{margin:20px 0 6px}.admin-auth p{color:var(--muted);margin:0 0 24px}.admin-auth form,.admin-auth label{gap:8px;display:grid}.admin-auth form{gap:14px}.admin-auth label{color:#4b555d;font-size:12px;font-weight:800}.admin-auth input{border:1px solid var(--line-strong);border-radius:5px;min-height:46px;padding:10px 12px}.admin-auth button,.admin-shell button{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-weight:800;display:inline-flex}.admin-auth form>button{color:#282400;background:var(--yellow);border-color:var(--yellow)}.admin-error,.admin-notice{color:#852a23;background:var(--red-soft);border:1px solid #e5b2ad;align-items:center;gap:8px;padding:11px;display:flex}.admin-shell{min-height:100vh;color:var(--ink);background:#eef1f3}.admin-shell>header{color:#f5f6f7;border-bottom:5px solid var(--yellow);background:#252a2e;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:12px max(24px,50vw - 720px);display:flex}.admin-shell>header>div{align-items:center;gap:12px;display:flex}.admin-shell>header>div:first-child>span{color:#282400;background:var(--yellow);border-radius:6px;place-items:center;width:40px;height:40px;display:grid}.admin-shell>header strong,.admin-shell>header small{display:block}.admin-shell>header small{color:#b7bec3;margin-top:3px}.admin-shell>header button{color:#f5f6f7;background:0 0;border-color:#555e65}.admin-shell>main{width:min(1440px,100%);margin:0 auto;padding:26px 24px 50px}.admin-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:26px;display:grid}.admin-metrics article{border:1px solid var(--line);background:#fff;border-top:4px solid #394149;align-items:center;gap:14px;min-height:96px;padding:17px;display:flex}.admin-metrics article.warning{border-top-color:var(--red)}.admin-metrics article>svg{color:#7c6800}.admin-metrics span,.admin-metrics small,.admin-metrics strong{display:block}.admin-metrics small{color:var(--muted)}.admin-metrics strong{margin-top:5px;font-size:23px}.admin-organizations{border:1px solid var(--line);background:#fff}.admin-organizations>div:first-child{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.admin-organizations h1,.admin-organizations p{margin:0}.admin-organizations p{color:var(--muted);margin-top:4px;font-size:12px}.admin-organizations>div:first-child>span{color:#4f5961;align-items:center;gap:6px;display:inline-flex}.admin-table>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,1fr) repeat(4,110px);align-items:center;gap:12px;min-height:58px;padding:10px 20px;display:grid}.admin-table>div:last-child{border-bottom:0}.admin-table-head{color:var(--muted);background:var(--surface-soft);font-size:11px;font-weight:800;min-height:42px!important}.admin-table>div>span:first-child strong,.admin-table>div>span:first-child small{display:block}.admin-table>div>span:first-child small{color:var(--muted);margin-top:3px}.admin-table em{color:#176d4a;background:var(--green-soft);border-radius:999px;width:fit-content;padding:4px 8px;font-size:11px;font-style:normal}@media (width<=1000px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table{overflow-x:auto}.admin-table>div{min-width:760px}}@media (width<=620px){.admin-shell>header{flex-direction:column;align-items:flex-start}.admin-shell>main{padding-inline:14px}.admin-metrics{grid-template-columns:1fr}}
