@font-face{font-family:Writer Serif;src:url(/assets/writer-serif-regular-QWCMgeV3.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Writer Serif;src:url(/assets/writer-serif-bold-BZg9JBUP.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Writer Serif;src:url(/assets/writer-serif-italic-OBVNzBTI.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Writer Serif;src:url(/assets/writer-serif-bold-italic-CWSJZYy0.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Writer Times;src:url(/assets/writer-times-regular-DPpRzcHg.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Writer Times;src:url(/assets/writer-times-bold-DU3CqUyx.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Writer Times;src:url(/assets/writer-times-italic-75e7-k33.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Writer Times;src:url(/assets/writer-times-bold-italic-LggGRcPY.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{color:#202522;font-synthesis:none;text-rendering:optimizelegibility;--ink:#202522;--muted:#68736d;--faint:#929b96;--line:#d9dfdc;--line-strong:#c5ceca;--surface:#fff;--surface-subtle:#f6f8f7;--canvas:#edf1ef;--green:#1f7757;--green-soft:#e7f2ed;--blue:#3269b3;--blue-soft:#e9f0fa;--amber:#b87812;--amber-soft:#fff3dc;--coral:#b9564e;--coral-soft:#fbecea;--shadow:0 2px 12px #1b2a2214;background:#edf1ef;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.writer-root{width:100%;height:100%}.school-sync-bar{border-bottom:1px solid var(--line);min-height:29px;color:var(--muted);background:var(--surface-subtle);flex:none;align-items:center;gap:8px;padding:2px 12px;font-size:12px;display:flex}.school-sync-bar>span{overflow-wrap:anywhere;flex:1;min-width:0}.school-sync-bar.has-error{color:#934a26;background:#fcf0e9}.school-sync-bar .icon-button{width:26px;height:26px}.connection-notice{color:#604c13;background:#fff9e7;border-bottom:1px solid #d9c78e;flex:none;align-items:center;gap:10px;padding:9px 14px;display:flex}.connection-notice>svg,.connection-notice>button{flex:none}.connection-notice>div{flex:1;min-width:0}.connection-notice strong{font-size:12px}.connection-notice p{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.45}.school-feedback{border-bottom:1px solid var(--line);background:var(--surface);flex:none;padding:7px 12px}.school-feedback label{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.school-feedback textarea{resize:vertical;border:1px solid var(--line);border-radius:4px;flex:1;min-width:0;height:42px;max-height:160px;padding:6px;font-size:13px}.writer-root.is-session-locked{visibility:hidden;pointer-events:none}.writer-root.is-session-locked *{visibility:hidden!important}.account-gate{background:var(--surface-subtle);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.account-gate h1{margin:0;font-size:26px}.account-gate p{max-width:440px;margin:0;font-size:14px;line-height:1.6}.account-gate-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.account-fields{border:0;gap:14px;min-width:0;margin:0;padding:16px;display:grid}.account-fields>label:not(.backup-check){gap:7px;min-width:0;font-size:13px;font-weight:600;display:grid}.account-fields input:not([type=checkbox]),.account-fields select{border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--ink);background:var(--surface);font:inherit;border-radius:4px;padding:9px 10px;font-size:14px}.account-fields input:focus-visible,.account-fields select:focus-visible{outline:2px solid var(--green);outline-offset:2px}.account-fields p{margin:0;font-size:13px;line-height:1.6}.account-notice{color:var(--muted)}.account-details{grid-template-columns:90px minmax(0,1fr);gap:12px;margin:0;font-size:13px;line-height:1.5;display:grid}.account-details dt{color:var(--muted)}.account-details dd{overflow-wrap:anywhere;margin:0}.account-actions button{white-space:normal;text-align:left}.recovery-code-list{background:var(--surface-subtle);border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px;margin:0;padding:12px;font-size:12px;list-style:none;display:grid}.recovery-code-list code{overflow-wrap:anywhere}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body,button,input,select,textarea{font:inherit;letter-spacing:0}button,select,input,textarea{color:inherit}button{cursor:pointer}button:disabled{cursor:default}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.storage-indicator.has-warning{color:var(--amber);background:var(--amber-soft)}.backup-dialog.storage-dialog{overflow:hidden}.storage-dialog-body{overscroll-behavior:contain;min-height:0;padding:0 20px;overflow-y:auto}.storage-dialog-body section{border-bottom:1px solid var(--line);padding:16px 0}.storage-dialog-body h3{margin:0 0 12px;font-size:14px}.storage-section-heading{justify-content:space-between;align-items:center;display:flex}.storage-section-heading h3{margin:0}.storage-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;font-size:12px;display:grid}.storage-summary dt{color:var(--muted)}.storage-summary dd{text-align:right;overflow-wrap:anywhere;margin:0}.storage-dialog progress{width:100%;height:8px;accent-color:var(--green);margin:14px 0;display:block}.storage-actions{flex-wrap:wrap;gap:8px;display:flex}.storage-dialog .backup-check{margin-bottom:12px;font-size:12px}.storage-dialog .backup-check input{flex:none}.storage-dialog .storage-caution{margin-top:10px}.mobile-only,.icon-button.mobile-only{display:none}.app-shell{--inspector-width:340px;--inspector-top:98px;background:var(--canvas);grid-template-columns:252px minmax(0,1fr);width:100%;height:100%;display:grid;position:relative}.app-shell.is-school{--inspector-top:145px}.app-shell.has-inspector{grid-template-columns:252px minmax(0,1fr)}.app-loading{width:100%;height:100%;color:var(--muted);background:var(--canvas);justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.loading-mark{border:2px solid var(--line-strong);border-top-color:var(--green);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-button,.tool-button{background:0 0;border:1px solid #0000;border-radius:5px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.icon-button:hover,.tool-button:hover:not(:disabled){background:#e9eeeb}.icon-button:focus-visible,.tool-button:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:1px;outline:2px solid #5a87c7}.icon-button.compact{width:28px;height:28px}.primary-button,.secondary-button{white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:13px;font-weight:650;display:inline-flex}.primary-button{border:1px solid var(--green);color:#fff;background:var(--green)}.primary-button:hover:not(:disabled){background:#176447}.primary-button:disabled{opacity:.5}.secondary-button{border:1px solid var(--line-strong);color:var(--ink);background:var(--surface)}.secondary-button:hover{background:var(--surface-subtle)}.text-button{color:var(--blue);background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:4px 6px;font-size:12px;font-weight:650;display:inline-flex}.text-button:hover{background:var(--blue-soft)}.sidebar{z-index:30;border-right:1px solid var(--line);background:#f7f9f8;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.brand-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;height:64px;padding:0 15px;display:flex}.brand-row strong{flex:1;font-size:15px}.brand-mark{color:#fff;background:var(--green);border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.document-outline{background:#f9fbfa;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.outline-heading{color:#65736c;text-transform:uppercase;background:#eef1ef;border-bottom:1px solid #cbd3cf;flex:0 0 24px;align-items:center;gap:6px;padding:0 10px;font-size:9px;font-weight:750;display:flex}.outline-list{scrollbar-width:thin;flex:1;min-height:0;padding:8px 7px 14px;overflow-y:auto}.outline-empty{color:var(--faint);padding:8px 9px;font-size:11px;display:block}.outline-row{color:#425048;text-align:left;background:0 0;border:0;border-left:2px solid #0000;border-radius:3px;width:100%;min-height:30px;padding-top:6px;padding-bottom:6px;padding-right:7px;font-size:12px;line-height:1.35;display:block}.outline-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.outline-row:hover{background:#edf2ef}.outline-row[aria-current=location]{border-left-color:var(--green);color:#173f2e;background:var(--green-soft);font-weight:650}.outline-row.level-1{font-weight:680}.outline-row.level-2{font-weight:620}.outline-row.level-5,.outline-row.level-6{color:var(--muted);font-size:11px}.sidebar-backdrop{display:none}.workspace{flex-direction:column;min-width:0;min-height:0;display:flex}.document-header{z-index:20;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;min-height:64px;padding:8px 14px 8px 18px;display:flex}.document-identity{flex:1;gap:3px;min-width:120px;display:grid}.document-title-input{background:0 0;border:1px solid #0000;border-radius:4px;width:min(430px,100%);min-width:0;padding:1px 4px;font-size:15px;font-weight:680}.document-title-input:not([readonly]):hover,.document-title-input:not([readonly]):focus{border-color:var(--line-strong);background:var(--surface-subtle)}.document-title-input[readonly]{cursor:default}.document-context{min-width:0;color:var(--muted);align-items:center;gap:6px;padding-left:5px;font-size:11px;display:flex}.document-context>span:not(.status-label){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-label{border:1px solid var(--line-strong);background:var(--surface-subtle);border-radius:4px;flex:none;padding:2px 6px;font-size:10px;font-weight:650}.status-label.status-submitted{color:var(--blue);background:var(--blue-soft);border-color:#bfd0e8}.status-label.status-returned{color:var(--amber);background:var(--amber-soft);border-color:#e6c68d}.status-label.status-completed{color:var(--green);background:var(--green-soft);border-color:#b8d8c9}.header-actions{justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.review-actions{align-items:center;gap:7px;display:flex}.connection-state{color:var(--green);white-space:nowrap;align-items:center;gap:5px;margin-right:3px;font-size:11px;display:inline-flex}.connection-state.is-offline{color:var(--amber)}.document-save-state{color:#52665c;align-items:center;gap:5px;min-width:0;max-width:220px;font-size:11px;display:inline-flex}.document-save-state>svg{flex:none}.document-save-state>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-save-state.has-error{color:#a13227}@media (width<=1100px){.document-save-state{max-width:100px}}@media (width<=760px){.document-save-state{max-width:160px;margin-right:auto}}.role-switch,.comment-filter{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;padding:2px;display:inline-flex}.role-switch button,.comment-filter button{background:0 0;border:0;border-radius:4px;font-size:11px;font-weight:620}.role-switch button{min-height:28px;color:var(--muted);padding:0 9px}.role-switch button.is-active,.comment-filter button.is-active{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #1c28221a}.inspector-toggle{border-color:var(--line)}.assignment-strip{color:#3d5147;background:#f3f7f5;border-bottom:1px solid #d6e0da;align-items:center;gap:10px;min-height:47px;padding:7px 18px;display:flex}.assignment-strip>svg{color:var(--green);flex:none}.assignment-strip>div{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.assignment-strip strong{flex:none;font-size:12px}.assignment-strip span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;overflow:hidden}.editing-lock{background:var(--surface);border:1px solid #c7d2cc;border-radius:4px;flex:none;align-items:center;gap:5px;padding:4px 6px;display:inline-flex;color:#56645d!important}.grade-field{color:var(--muted);flex:none;align-items:center;gap:6px;font-size:11px;font-weight:650;display:inline-flex}.grade-field input{border:1px solid var(--line-strong);background:var(--surface);text-align:center;border-radius:4px;width:58px;height:28px;padding:0 6px;font-size:12px}.editor-area{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.document-menu-bar{z-index:12;border-bottom:1px solid var(--line);background:var(--surface);scrollbar-width:none;flex:0 0 34px;align-items:center;gap:1px;min-width:0;padding:3px 10px;display:flex;overflow-x:auto}.document-menu-bar::-webkit-scrollbar{display:none}.document-menu-bar>button{color:#46514b;background:0 0;border:0;border-radius:4px;flex:none;align-items:center;gap:5px;min-height:26px;padding:0 9px;font-size:12px;display:inline-flex}.document-menu-badge{color:#fff;background:#b6443e;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:750;line-height:1;display:inline-flex}.document-menu-bar>button:hover,.document-menu-bar>button.is-active{color:var(--ink);background:#e9eeeb}.ribbon-menu-dropdown{z-index:120;border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;width:240px;max-height:min(520px,100vh - 16px);padding:6px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 10px 30px #19251f2b}.ribbon-menu-dropdown>button{text-align:left;background:0 0;border:0;border-radius:4px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:34px;padding:5px 8px;font-size:12px;display:grid}.ribbon-menu-dropdown>button:hover:not(:disabled){background:#edf2ef}.ribbon-menu-dropdown>button:disabled{color:#a6ada9}.ribbon-menu-dropdown>button small{color:var(--faint);font-size:9px}.ribbon-menu-dropdown.is-updates{width:min(340px,100vw - 16px)}.ribbon-menu-dropdown.is-updates>button{align-items:start;min-height:48px}.ribbon-menu-copy{gap:2px;min-width:0;display:grid}.ribbon-menu-copy>span{overflow-wrap:anywhere}.ribbon-menu-copy>small{overflow-wrap:anywhere;line-height:1.35;color:var(--muted)!important;font-size:10px!important}.ribbon-menu-meta{white-space:nowrap;padding-top:2px}.ribbon-menu-icon{color:var(--muted);display:inline-flex}.ribbon-menu-separator{background:var(--line);height:1px;margin:5px 7px}.lecturer-courses{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;flex-direction:column;width:min(1020px,100%);max-height:min(800px,100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 60px #131d1838}.lecturer-courses-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 18px;display:flex}.lecturer-courses-header>svg{color:var(--blue)}.lecturer-courses-header h2{flex:1;margin:0;font-size:18px}.lecturer-course-selector{background:var(--surface-subtle);align-items:center;gap:20px;padding:16px 18px;display:flex}.lecturer-course-selector label{flex:1;gap:5px;min-width:0;font-size:11px;font-weight:650;display:grid}.lecturer-course-selector select{border:1px solid var(--line-strong);background:#fff;border-radius:4px;width:100%;height:36px;padding:0 8px;font-size:13px}.lecturer-course-meta{color:var(--muted);gap:7px;font-size:11px;display:grid}.lecturer-course-meta strong{color:var(--blue);font-size:12px}.lecturer-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:6px;padding:0 18px;display:flex}.lecturer-tabs button{height:42px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 12px;font-size:12px;display:flex}.lecturer-tabs button[aria-selected=true]{border-bottom-color:var(--blue);color:var(--blue);font-weight:700}.lecturer-tabs button>span{font-variant-numeric:tabular-nums;font-size:11px}.lecturer-course-content{min-height:200px;padding:16px 18px;overflow:auto}.submission-filters{grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) 145px;gap:10px;margin-bottom:18px;display:grid}.submission-filters>select{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;min-width:0;height:34px;padding:0 6px;font-size:12px}.submission-search{border:1px solid var(--line);min-width:0;color:var(--muted);border-radius:4px;align-items:center;gap:7px;padding:0 9px;display:flex}.submission-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:32px;font-size:12px}.submission-search:focus-within{outline:2px solid var(--blue-soft);border-color:var(--blue)}.submission-assignment-toolbar{align-items:center;gap:16px;margin-bottom:12px;display:flex}.submission-assignment-toolbar .submission-search{flex:1;max-width:400px}.submission-assignment-toolbar>span{color:var(--muted);font-size:11px}.submission-assignment-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 140px auto;align-items:center;gap:20px;padding:20px 0;display:grid}.submission-assignment-copy,.submission-assignment-totals{gap:6px;min-width:0;display:grid}.submission-assignment-copy h3{margin:0;font-size:13px}.submission-assignment-copy h3 button{color:var(--ink);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-weight:650}.submission-assignment-copy h3 button:hover{color:var(--blue);text-decoration:underline}.submission-assignment-copy>span,.submission-assignment-totals>span{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.submission-assignment-totals strong{font-size:12px}.submission-assignment-actions{align-items:center;gap:7px;display:flex}.submission-assignment-heading{gap:12px;margin-bottom:16px;display:grid}.submission-assignment-heading>button{justify-self:start}.submission-assignment-heading h3{overflow-wrap:anywhere;margin:0 0 5px;font-size:15px}.submission-assignment-heading span{color:var(--muted);font-size:11px}.submission-filters.is-assignment-specific{grid-template-columns:minmax(0,1fr) 145px}.lecturer-submission-columns,.lecturer-submission-row{grid-template-columns:minmax(140px,1fr) minmax(140px,1.35fr) 120px 72px;align-items:center;gap:12px;display:grid}.lecturer-submission-columns{border-bottom:1px solid var(--line-strong);color:var(--muted);padding:9px 0;font-size:10px;font-weight:650}.lecturer-submission-row{border-bottom:1px solid var(--line);min-height:76px;padding:12px 0;font-size:12px}.submission-student,.submission-assignment,.submission-status{gap:6px;min-width:0;display:grid}.submission-student strong,.submission-assignment strong{overflow-wrap:anywhere;font-size:12px}.submission-student>span,.submission-assignment>span{color:var(--muted);font-size:10px}.submission-status{justify-items:start}.sample-label{color:#54677e;background:#f2f5fa;border:1px solid #cfd8e5;border-radius:3px;margin-left:6px;padding:2px 4px;font-size:9px;font-weight:500;display:inline-block}.lecturer-empty{color:var(--muted);text-align:center;padding:30px 5px;font-size:13px}.lecturer-error{color:var(--coral);background:var(--coral-soft);border:1px solid #e7b8b3;border-radius:4px;margin:10px 18px 0;padding:10px;font-size:12px}.lecturer-courses-footer{border-top:1px solid var(--line);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.lecturer-courses-footer>span{color:var(--muted);font-size:11px}.lecturer-assignment-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.lecturer-assignment-heading>span{color:var(--muted);font-size:12px}.lecturer-assignment-row{border-bottom:1px solid var(--line);grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.lecturer-assignment-row>svg{color:var(--blue)}.lecturer-assignment-row>div:not(.lecturer-assignment-actions){gap:5px;min-width:0;display:grid}.lecturer-assignment-row strong{overflow-wrap:anywhere;font-size:13px}.lecturer-assignment-row span:not(.status-label){color:var(--muted);font-size:11px}.lecturer-assignment-actions{grid-column:2/-1;justify-content:flex-end;gap:7px;display:flex}.assignment-form{gap:16px;max-width:680px;margin:0 auto;display:grid}.assignment-form h3{margin:0;font-size:15px}.assignment-form label{gap:7px;min-width:0;font-size:12px;font-weight:650;display:grid}.assignment-form input:not([type=file]),.assignment-form select,.assignment-form textarea{border:1px solid var(--line-strong);background:#fff;border-radius:4px;width:100%;min-width:0;padding:8px;font-size:13px;font-weight:400}.assignment-form textarea{resize:vertical;min-height:90px}.assignment-form-options{grid-template-columns:1fr 1fr;gap:14px;display:grid}.assignment-import>span{align-items:center;gap:6px;display:flex}.assignment-import input{min-width:0;max-width:100%;font-size:11px;font-weight:400}.assignment-form-actions{justify-content:flex-end;gap:8px;padding-top:5px;display:flex}.portal-assignment-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 0;display:flex}.portal-assignment-row>div{flex:1;gap:5px;min-width:0;display:grid}.portal-assignment-row strong{font-size:13px}.portal-assignment-row span{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.school-download-status{min-width:0;color:var(--muted);align-items:flex-start;gap:5px;font-size:11px;line-height:1.45;display:flex}.school-download-status>svg{flex:none;margin-top:1px}.school-download-status>span{overflow-wrap:anywhere;min-width:0}.school-download-status small{color:var(--muted);font-size:11px;display:block}.school-download-status.is-available,.school-download-status.is-available>span{color:var(--green)}.school-download-status.is-error,.school-download-status.is-error>span{color:#8a4a1e}.offline-tool-list{gap:0;display:grid}.offline-tool-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:9px 0;display:flex}.offline-tool-row>div{overflow-wrap:anywhere;flex:1;gap:3px;min-width:0;display:grid}.offline-tool-row strong{font-size:12px}.offline-tool-row span{color:var(--muted);font-size:11px}.offline-tool-row>button{flex:none}@media (width<=640px){.lecturer-courses{max-height:calc(100dvh - 24px)}.lecturer-courses-header,.lecturer-course-selector,.lecturer-course-content{padding:12px}.lecturer-course-selector{flex-wrap:wrap;gap:10px}.lecturer-course-selector label{flex-basis:100%}.lecturer-course-meta{flex-wrap:wrap;gap:12px;display:flex}.lecturer-tabs{padding:0 8px}.submission-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.submission-search{grid-column:1/-1;min-height:34px}.submission-assignment-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 0}.submission-assignment-totals{flex-wrap:wrap;gap:12px;display:flex}.submission-assignment-actions{flex-wrap:wrap}.submission-filters.is-assignment-specific{grid-template-columns:minmax(0,1fr)}.lecturer-submission-columns{display:none}.lecturer-submission-row{grid-template-columns:minmax(0,1fr) 85px;gap:10px}.submission-assignment{grid-area:2/1}.submission-status{grid-area:1/2}.lecturer-submission-row>div:last-child{grid-area:2/2}.lecturer-courses-footer{flex-wrap:wrap;padding:12px}.lecturer-courses-footer .primary-button{margin-left:auto}.lecturer-assignment-row{gap:8px}.lecturer-assignment-actions{flex-wrap:wrap}.assignment-form-options{grid-template-columns:minmax(0,1fr)}.portal-assignment-row{flex-wrap:wrap}.portal-assignment-row>div{flex-basis:100%}}.course-portal-backdrop{z-index:320;background:#19201c85;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.course-portal{background:var(--surface);border:1px solid #bfc9c4;border-radius:8px;flex-direction:column;width:min(1120px,100%);max-height:min(780px,100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 70px #131d1847}.course-portal-header{border-bottom:1px solid var(--line);background:#f8faf9;flex:none;align-items:center;gap:14px;min-height:68px;padding:10px 16px 10px 20px;display:flex}.course-portal-heading{flex:1;gap:2px;min-width:0;display:grid}.course-portal-heading>span{color:var(--green);text-transform:uppercase;font-size:10px;font-weight:750}.course-portal-heading h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;line-height:1.2;overflow:hidden}.portal-role-label{color:#4e5d55;white-space:nowrap;background:#fff;border:1px solid #c8d2cd;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:650;display:inline-flex}.course-portal-summary{border-bottom:1px solid var(--line);background:#f2f6f4;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.course-portal-summary>div{border-right:1px solid var(--line);gap:2px;min-width:0;padding:12px 20px;display:grid}.course-portal-summary>div:last-child{border-right:0}.course-portal-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.course-portal-summary span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:650}.course-portal-body{flex:1;min-height:0;padding:18px 20px 24px;overflow:auto}.portal-course-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:12px;display:flex}.portal-course-heading>div:first-child{gap:2px;min-width:0;display:grid}.portal-course-heading>div:first-child>span{color:var(--blue);font-size:10px;font-weight:750}.portal-course-heading h3{margin:0;font-size:16px}.portal-course-meta{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.portal-course-meta span{border:1px solid var(--line);color:var(--muted);background:var(--surface-subtle);white-space:nowrap;border-radius:4px;padding:4px 6px;font-size:10px}.lab-session-list{border:1px solid var(--line-strong);border-radius:6px;overflow:hidden}.lab-session-columns,.lab-session-row{grid-template-columns:68px minmax(230px,1fr) 142px 120px 116px 174px;align-items:center;gap:10px;display:grid}.lab-session-columns{border-bottom:1px solid var(--line-strong);color:#5f6b65;text-transform:uppercase;background:#e9eeeb;min-height:34px;padding:0 12px;font-size:9px;font-weight:750}.lab-session-row{border-bottom:1px solid var(--line);background:#fff;min-height:70px;padding:10px 12px}.lab-session-row:last-child{border-bottom:0}.lab-session-row:hover{background:#fafcfb}.lab-week{color:#3f4d46;font-size:11px;font-weight:720}.lab-session-name{align-items:flex-start;gap:9px;min-width:0;display:flex}.lab-session-name>svg{color:var(--green);flex:none;margin-top:2px}.lab-session-name>div{gap:3px;min-width:0;display:grid}.lab-session-name strong{overflow-wrap:anywhere;font-size:12px;line-height:1.35}.lab-session-name span{color:var(--muted);font-size:10px;line-height:1.35}.lab-session-date{color:var(--muted);align-items:center;gap:5px;font-size:10px;line-height:1.35;display:inline-flex}.lab-session-date>svg{flex:none}.lab-status{color:#647069;white-space:nowrap;background:#f5f7f6;border:1px solid #cfd5d2;border-radius:4px;justify-self:start;align-items:center;gap:4px;min-height:24px;padding:3px 6px;font-size:9px;font-weight:700;display:inline-flex}.lab-status.is-available,.lab-status.is-graded,.lab-status.is-completed{color:#1e694d;background:var(--green-soft);border-color:#afd1c0}.lab-status.is-submitted{color:var(--blue);background:var(--blue-soft);border-color:#bed0e8}.lab-status.is-revision,.lab-status.is-not-released{color:#98630e;background:var(--amber-soft);border-color:#e6c68d}.lab-status.is-closed{color:var(--coral);background:var(--coral-soft);border-color:#e1bdb9}.lab-session-actions{justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:flex}.portal-action-button{border:1px solid var(--line-strong);color:#3e4b44;white-space:nowrap;background:#fff;border-radius:5px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:0 8px;font-size:10px;font-weight:680;display:inline-flex}.portal-action-button:hover:not(:disabled){background:#edf2ef}.portal-action-button.is-primary{border-color:var(--green);color:#fff;background:var(--green)}.portal-action-button.is-primary:hover:not(:disabled){background:#176447}.portal-action-button:disabled{color:#929b96;background:#f5f7f6}.editor-context-menu{z-index:170;overscroll-behavior:contain;border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;width:min(252px,100vw - 16px);max-height:calc(100vh - 16px);padding:6px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 13px 34px #19251f36}.editor-context-menu>button{color:#35413b;text-align:left;background:0 0;border:0;border-radius:4px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:34px;padding:5px 8px;font-size:12px;display:grid}.editor-context-menu>button:hover:not(:disabled),.editor-context-menu>button:focus-visible{background:#edf2ef;outline:0}.editor-context-menu>button.is-active{color:var(--blue);background:var(--blue-soft)}.editor-context-menu>button.is-danger:not(:disabled) .context-menu-icon{color:#a13f35}.editor-context-menu>button.is-danger:hover:not(:disabled){color:#8d3027;background:#fbecea}.editor-context-menu>button:disabled{color:#a6ada9}.context-menu-icon{color:var(--muted);display:inline-flex}.editor-context-menu>button.is-active .context-menu-icon{color:var(--blue)}.editor-context-menu kbd{color:var(--faint);font:10px/1.2 var(--font-ui)}.context-menu-separator{background:var(--line);height:1px;margin:5px 7px}.context-menu-label{color:var(--faint);letter-spacing:0;text-transform:uppercase;padding:5px 8px 3px 33px;font-size:9px;font-weight:750}.context-menu-status{color:#7d352e;background:#fbecea;border-radius:4px;margin:5px 4px 3px;padding:8px;font-size:10px;line-height:1.4}.ribbon-dialog-backdrop{z-index:130;background:#19221d52;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirmation-dialog{border:1px solid var(--line-strong);background:var(--surface);width:min(420px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:7px;padding:20px;overflow-y:auto;box-shadow:0 16px 42px #151f1a38}.confirmation-dialog[open]{gap:14px;display:grid}.confirmation-dialog::backdrop{background:#19221d52}.confirmation-dialog h2{margin:0;font-size:18px;line-height:1.35}.confirmation-subject{border-top:1px solid var(--line);overflow-wrap:anywhere;padding-top:12px;font-size:14px}.confirmation-dialog p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.confirmation-dialog .confirmation-detail{color:var(--ink);font-weight:600}.confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.document-picker{border:1px solid var(--line-strong);background:var(--surface);width:min(600px,100% - 32px);max-height:min(560px,100dvh - 32px);color:var(--ink);border-radius:7px;padding:0;overflow:hidden;box-shadow:0 16px 42px #151f1a38}.document-picker[open]{grid-template-rows:auto auto minmax(0,1fr);display:grid}.document-picker::backdrop{background:#19221d52}.document-picker-header{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:14px 16px;display:flex}.document-picker-header h2{flex:1;min-width:0;margin:0;font-size:17px;line-height:1.35}.document-picker-search{border:1px solid var(--line-strong);color:var(--muted);border-radius:4px;align-items:center;gap:8px;margin:12px 16px;padding:8px 10px;display:flex}.document-picker-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:13px}.document-picker-search:focus-within{outline:2px solid var(--green);outline-offset:1px}.document-picker-list{overscroll-behavior:contain;min-height:0;padding:0 8px 8px;overflow-y:auto}.document-picker-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 8px;display:grid}.document-picker-row:hover,.document-picker-row[aria-current=true]{background:var(--green-soft)}.document-picker-row:disabled{cursor:not-allowed}.document-picker-identity{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.document-picker-identity strong{font-size:13px;line-height:1.4}.document-picker-identity small,.document-picker-row time{color:var(--muted);font-size:11px;line-height:1.4}.document-picker-row time{white-space:nowrap}.document-picker-empty{color:var(--muted);margin:16px 8px;font-size:13px}.backup-dialog{border:1px solid var(--line-strong);background:var(--surface);width:min(510px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:7px;padding:0;overflow:hidden;box-shadow:0 16px 42px #151f1a38}.backup-dialog[open]{flex-direction:column;display:flex}.backup-dialog::backdrop{background:#19221d52}.backup-dialog-header{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:9px;padding:14px 16px;display:flex}.backup-dialog-header h2{flex:1;min-width:0;margin:0;font-size:17px;line-height:1.35}.backup-dialog form{overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.backup-dialog-body{border:0;gap:14px;min-width:0;margin:0;padding:16px;display:grid}.backup-dialog-body>label:not(.backup-check){gap:7px;min-width:0;font-size:13px;font-weight:600;display:grid}.backup-dialog-body input:not([type=checkbox]){border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--ink);background:var(--surface);font:inherit;border-radius:4px;padding:9px 10px;font-size:13px}.backup-dialog-body input:focus-visible{outline:2px solid var(--green);outline-offset:2px}.backup-check{align-items:center;gap:8px;font-size:13px;line-height:1.5;display:flex}.backup-check input{width:16px;height:16px;accent-color:var(--green);flex:none;margin:0}.backup-check svg{flex:none}.backup-warning{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.backup-file-name{overflow-wrap:anywhere;color:var(--muted);margin:0;font-size:12px}.backup-summary{border-block:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:9px 12px;margin:0;padding:12px 0;font-size:13px;display:grid}.backup-summary dt{color:var(--muted)}.backup-summary dd{text-align:right;overflow-wrap:anywhere;margin:0}.backup-error,.backup-status{overflow-wrap:anywhere;margin:0;padding:0 16px 14px;font-size:13px;line-height:1.5}.backup-error{color:#9b3027}.backup-status{color:var(--green)}.backup-dialog-actions{border-top:1px solid var(--line);flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.install-dialog-body{overflow-y:auto}.install-dialog-body p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.6}.install-app-identity{align-items:center;gap:14px;display:flex}.install-app-identity img{border-radius:8px;flex:none}.install-app-identity strong{overflow-wrap:anywhere;min-width:0;font-size:18px}.writer-document-index{margin:0 0 16px;position:relative}.document-index-heading{align-items:flex-start;gap:12px;display:flex}.document-index-heading h1{flex:1;min-width:0}.document-index-heading .icon-button{flex:none;margin-top:7px}.document-index-entry{width:100%;min-height:26px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px dotted #c5ceca;align-items:baseline;gap:14px;padding:3px 0;display:flex}.document-index-entry>span:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.document-index-entry>span:last-child{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:42px}.document-index-entry:hover{color:var(--blue)}.captioned-object{margin:12px 0}.writer-caption{margin:0 0 8px;font-size:16px;line-height:1.5}.writer-caption:before{content:attr(data-caption-label);-webkit-user-select:none;user-select:none;font-weight:600}.project-cover{text-align:center}.writer-bibliography{position:relative}.bibliography-refresh{position:absolute;top:0;right:0}@media print{.document-index-heading .icon-button,.bibliography-refresh{display:none}}.recovery-list{gap:0;display:grid}.recovery-list>p{color:var(--muted);margin:0;font-size:13px}.recovery-row{border:0;border-bottom:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:0 0;align-items:center;gap:10px;padding:12px 6px;display:flex}.recovery-row:hover,.recovery-row[aria-pressed=true]{background:var(--green-soft)}.recovery-row svg{flex:none}.recovery-row span{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.recovery-row strong{font-size:13px}.recovery-row small{color:var(--muted);font-size:11px;line-height:1.5}.version-dialog.is-history{overscroll-behavior:contain;width:min(940px,100% - 32px);overflow-y:auto}.version-document-title{border-bottom:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;flex:none;margin:0;padding:10px 16px;font-size:12px}.version-history-controls{border-bottom:1px solid var(--line);flex:none;gap:6px;padding:10px 16px;display:grid}.checkpoint-history-button{flex:none;margin-right:auto}.checkpoint-history-button.has-error{color:var(--coral)}.version-history-body{grid-template-columns:230px minmax(0,1fr);height:420px;min-height:140px;max-height:50dvh;display:grid;overflow:hidden}.version-list{overscroll-behavior:contain;border-right:1px solid var(--line);min-width:0;overflow-y:auto}.version-list>p,.version-preview>p{color:var(--muted);margin:16px;font-size:13px}.version-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;overflow-wrap:anywhere;background:0 0;gap:6px;padding:13px 16px;display:grid}.version-row:hover,.version-row[aria-pressed=true]{background:var(--blue-soft)}.version-row[aria-pressed=true]{box-shadow:inset 3px 0 var(--blue)}.version-row strong{align-items:center;gap:6px;font-size:13px;line-height:1.4;display:flex}.version-row strong svg{flex:none}.version-row time,.version-row small{color:var(--muted);font-size:11px;line-height:1.4}.version-preview{overscroll-behavior:contain;min-width:0;padding:20px;overflow:auto}.version-preview>h3{overflow-wrap:anywhere;margin:0 0 16px;font-size:16px}.version-prosemirror{color:var(--ink);overflow-wrap:anywhere;outline:0;font-family:Arial,sans-serif;font-size:14px;line-height:1.5}.version-prosemirror p{margin:0 0 12px}.version-prosemirror h1{font-size:24px}.version-prosemirror h2{font-size:20px}.version-prosemirror h3{font-size:17px}.version-prosemirror h4,.version-prosemirror h5,.version-prosemirror h6{font-size:15px}.version-prosemirror img{max-width:100%;height:auto}.version-prosemirror table{border-collapse:collapse;table-layout:fixed;width:100%}.version-prosemirror td,.version-prosemirror th{border:1px solid var(--line-strong);vertical-align:top;padding:6px}.version-prosemirror [data-document-settings]{display:none}.version-prosemirror .page-break,.version-prosemirror .section-break{border-top:1px dashed var(--line);color:var(--muted);margin-block:12px;font:11px/1.5 Arial,sans-serif}.version-prosemirror .page-break span,.version-prosemirror .section-break small{display:none}.version-restore-confirmation{border-top:1px solid var(--line);flex:none;gap:8px;padding:12px 16px;display:grid}@media (width<=600px){.version-history-body{grid-template-rows:minmax(70px,120px) minmax(100px,1fr);grid-template-columns:minmax(0,1fr);height:350px;max-height:43dvh}.version-list{border-right:0;border-bottom:1px solid var(--line)}.version-preview{padding:14px}.version-dialog .backup-dialog-actions{gap:6px;padding:10px 12px}.version-dialog .backup-dialog-actions button{padding-inline:10px;font-size:12px}}.ribbon-dialog{border:1px solid var(--line-strong);background:var(--surface);border-radius:7px;gap:14px;width:min(410px,100%);max-height:calc(100vh - 36px);padding:18px;display:grid;overflow-y:auto;box-shadow:0 16px 42px #151f1a38}.ribbon-dialog-heading{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:10px;display:flex}.ribbon-dialog-heading svg{color:var(--green)}.ribbon-dialog-heading>div{gap:2px;display:grid}.ribbon-dialog-heading small{color:var(--faint);font-size:10px;font-weight:500}.ribbon-dialog label{color:var(--muted);gap:6px;font-size:11px;font-weight:650;display:grid}.ribbon-dialog input,.ribbon-dialog select{border:1px solid var(--line-strong);background:var(--surface);border-radius:4px;width:100%;height:36px;padding:0 9px;font-size:13px;font-weight:400}.ribbon-dialog select{padding-right:28px}.section-layout-dialog{width:min(520px,100%)}.page-setup-dialog{width:min(620px,100%)}.page-setup-content{grid-template-columns:minmax(0,1fr) 180px;gap:20px;display:grid}.page-setup-controls{gap:13px;display:grid}.page-orientation-control{border:0;min-width:0;margin:0;padding:0}.page-orientation-control legend{color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:650}.page-orientation-control>div{border:1px solid var(--line-strong);background:#f3f5f4;border-radius:5px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.page-orientation-control button{min-height:31px;color:var(--muted);background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;gap:7px;font-size:11px;display:inline-flex}.page-orientation-control button.is-active{color:var(--green);background:var(--surface);box-shadow:0 1px 3px #1d2a231f}.page-margin-fields{grid-template-columns:1fr 1fr;gap:9px 10px;display:grid}.page-margin-fields label>span{display:block;position:relative}.page-margin-fields input{padding-right:32px}.page-margin-fields label small{color:var(--faint);font-size:9px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.page-setup-preview-block{border-left:1px solid var(--line);color:var(--muted);align-content:center;justify-items:center;gap:5px;padding-left:20px;font-size:10px;display:grid}.page-setup-preview-block strong{color:var(--ink);margin-top:4px;font-size:11px}.page-setup-preview{background:#fff;border:1px solid #bac3be;width:min(142px,100%);position:relative;box-shadow:0 3px 10px #1d2a231f}.page-setup-preview-writing-area{background:repeating-linear-gradient(#0000 0 9px,#e5eae7 9px 10px);border:1px dashed #4d8b70;position:absolute}.section-numbering-fields{grid-template-columns:minmax(0,1.5fr) minmax(82px,.65fr) minmax(110px,.85fr);gap:10px;display:grid}.ribbon-dialog-actions{justify-content:flex-end;gap:7px;padding-top:3px;display:flex}.ribbon-notice{z-index:150;color:#204c39;max-width:min(340px,100% - 36px);box-shadow:var(--shadow);background:#eef8f3;border:1px solid #aac9ba;border-radius:5px;padding:10px 13px;font-size:12px;position:fixed;bottom:18px;right:18px}.editor-toolbar{--toolbar-button-width:29px;--toolbar-block-width:124px;--toolbar-font-width:160px;--toolbar-size-width:52px;--toolbar-group-gap:4px;--toolbar-group-padding:5px;--toolbar-item-gap:1px;z-index:10;align-items:center;gap:var(--toolbar-group-gap);border-bottom:1px solid var(--line);background:#fafbfa;flex:0 0 45px;min-width:0;padding:5px 8px;display:flex;position:relative;overflow:hidden}.tool-group{align-items:center;gap:var(--toolbar-item-gap);padding-right:var(--toolbar-group-padding);border-right:1px solid var(--line);flex:none;display:flex}.tool-group:last-child{border-right:0;padding-right:0}.spacing-tools{padding-right:2px}.insert-tools{border-right:0;padding-right:0}.tool-group.is-overflowed{visibility:hidden;pointer-events:none}.menu-tool .tool-button{position:relative}.menu-tool .tool-button:after{content:"";opacity:.68;border-top:3px solid;border-left:3px solid #0000;border-right:3px solid #0000;width:0;height:0;position:absolute;bottom:3px;right:2px}.toolbar-overflow{z-index:3;top:6px;right:calc(var(--inspector-width) + 8px);border-left:1px solid var(--line);background:#fafbfa;padding-left:4px;display:flex;position:absolute}.tool-button{width:var(--toolbar-button-width,31px);color:#46514b;height:31px}.editor-toolbar .tool-button svg,.editor-toolbar .color-tool svg{max-width:calc(var(--toolbar-button-width) - 5px)}.tool-button.is-active{color:var(--blue);background:var(--blue-soft)}.tool-button:disabled{color:#a8afab}.tool-spacer{flex:auto;min-width:0}.block-style-control select,.font-family-control,.font-size-control{color:#46514b;background:0 0;border:1px solid #0000;border-radius:4px;height:30px;font-size:12px}.block-style-control select:hover:not(:disabled),.font-family-control:hover:not(:disabled),.font-size-control:hover:not(:disabled){border-color:var(--line);background:var(--surface)}.block-style-control select{width:var(--toolbar-block-width);padding:0 24px 0 8px}.block-style-control,.font-family-picker{position:relative}.block-style-control select,.font-family-control{appearance:none}.font-family-picker{flex:0 0 var(--toolbar-font-width);width:var(--toolbar-font-width)}.ribbon-select-chevron{pointer-events:none;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.block-style-control .ribbon-select-chevron{right:calc(var(--toolbar-group-padding) + 7px)}.typography-tools{gap:max(1px, var(--toolbar-item-gap))}.font-family-control{width:var(--toolbar-font-width);padding:0 23px 0 7px}.font-size-control{width:var(--toolbar-size-width);text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;padding:0 3px 0 7px}.font-size-control::-webkit-inner-spin-button{appearance:none;margin:0}.font-size-control::-webkit-outer-spin-button{appearance:none;margin:0}.inline-style-tools{gap:var(--toolbar-item-gap)}.color-tool{flex:0 0 var(--toolbar-button-width,31px);width:var(--toolbar-button-width,31px);color:#46514b;cursor:pointer;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;height:31px;display:inline-flex;position:relative}.color-tool:hover:not(.is-disabled){background:#e9eeeb}.color-tool:focus-within{outline-offset:1px;outline:2px solid #5a87c7}.color-tool.is-disabled{color:#a8afab;cursor:default}.color-tool-icon{pointer-events:none;display:inline-flex;transform:translateY(-2px)}.color-tool-swatch{pointer-events:none;border:1px solid #1b221e3d;height:3px;position:absolute;bottom:3px;left:5px;right:5px}.color-tool input{opacity:0;width:100%;height:100%;cursor:inherit;padding:0;position:absolute;inset:0}.color-tool input:focus-visible{outline:none}.script-tools{flex:0 0 var(--toolbar-button-width,28px);width:var(--toolbar-button-width,28px);grid-template-rows:15px 15px;gap:1px;height:31px;display:grid}.script-tools .tool-button{width:var(--toolbar-button-width,28px);border-radius:3px;height:15px}.script-tools .tool-button svg{width:13px;height:13px}.page-scroll{background:var(--canvas);flex:1;min-width:0;min-height:0;padding:0 28px 28px 0;scroll-padding-top:24px;overflow:auto}.app-shell.has-inspector .page-scroll{margin-right:var(--inspector-width)}.editor-status-bar{z-index:11;border-top:1px solid var(--line);color:#526059;background:var(--surface);flex:0 0 35px;justify-content:flex-end;align-items:center;gap:12px;min-width:0;padding:3px 10px;display:flex}.submission-navigation{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.review-student-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;font-size:11px;overflow:hidden}.review-position{text-align:center;font-variant-numeric:tabular-nums;flex:0 0 48px;font-size:11px}.zoom-controls{flex-shrink:0}@media (width<=640px){.editor-status-bar:has(.submission-navigation){flex-wrap:wrap;flex-basis:68px;gap:0}.submission-navigation{flex-basis:100%}.editor-status-bar:has(.submission-navigation) .zoom-controls{margin-left:auto}.editor-status-bar:has(.submission-navigation) .checkpoint-history-button{order:1}.editor-status-bar:has(.submission-navigation) .zoom-controls{order:2}}.app-shell.has-inspector .editor-status-bar{margin-right:var(--inspector-width)}.zoom-controls{align-items:center;gap:3px;min-width:0;display:flex}.zoom-step{background:0 0;border-color:#0000;border-radius:4px;width:27px;height:27px}.zoom-step:hover:not(:disabled){border-color:var(--line);background:var(--surface-subtle)}.zoom-step:disabled{color:#a8afab}.zoom-select{border:1px solid var(--line);color:#46514b;background:var(--surface);border-radius:4px;width:92px;height:27px;padding:0 22px 0 7px;font-size:11px}.zoom-percentage{width:40px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.page-stage{--page-gap:18px;grid-template-columns:24px var(--page-width);width:calc(24px + var(--page-width));min-height:calc(24px + var(--page-height));zoom:var(--page-zoom,1);grid-template-rows:24px auto;align-items:start;margin:0 auto;display:grid}.page-ruler-corner{z-index:8;color:#7b8781;background:#eef1ef;border:1px solid #cbd3cf;grid-area:1/1;place-items:center;width:24px;height:24px;font-size:8px;display:grid;position:sticky;top:0;left:0}.page-ruler{z-index:6;color:#68756e;-webkit-user-select:none;user-select:none;background-color:#f8f9f8;border:1px solid #cbd3cf;font:7px/1 Inter,ui-sans-serif,sans-serif;position:relative;overflow:visible}.page-ruler-horizontal{z-index:9;width:var(--page-width);background-image:repeating-linear-gradient(90deg,#0000 0 17.8976px,#d8dedb 17.8976px 5mm);grid-area:1/2;height:24px;position:sticky;top:0}.page-ruler-vertical-stack{z-index:8;align-self:start;gap:var(--page-gap);flex-direction:column;grid-area:2/1;width:24px;display:flex;position:sticky;left:0}.page-ruler-vertical{flex:0 0 var(--page-height);width:24px;height:var(--page-height);background-image:repeating-linear-gradient(#0000 0 17.8976px,#d8dedb 17.8976px 5mm);position:relative}.page-ruler-margin{z-index:1;pointer-events:none;background:#237e5621;display:block;position:absolute}.page-ruler-horizontal .page-ruler-margin{top:0;bottom:0}.page-ruler-vertical .page-ruler-margin{left:0;right:0}.page-ruler-horizontal .page-ruler-margin.is-start{border-right:1px solid #237e5673;left:0}.page-ruler-horizontal .page-ruler-margin.is-end{border-left:1px solid #237e5673;right:0}.page-ruler-vertical .page-ruler-margin.is-start{border-bottom:1px solid #237e5673;top:0}.page-ruler-vertical .page-ruler-margin.is-end{border-top:1px solid #237e5673;bottom:0}.page-ruler-major-tick{z-index:2;display:block;position:absolute}.page-ruler-horizontal .page-ruler-major-tick{border-left:1px solid #89968f;padding:3px 0 0 2px;top:0;bottom:0}.page-ruler-vertical .page-ruler-major-tick{border-top:1px solid #89968f;padding:2px 0 0 3px;left:0;right:0}.page-ruler-margin-handle{z-index:5;touch-action:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:absolute}.page-ruler-margin-handle:after{content:"";background:#267854;position:absolute}.page-ruler-horizontal .page-ruler-margin-handle{cursor:col-resize;width:11px;height:100%;top:0;transform:translate(-50%)}.page-ruler-horizontal .page-ruler-margin-handle:after{width:2px;top:3px;bottom:3px;left:5px}.page-ruler-vertical .page-ruler-margin-handle{cursor:row-resize;width:100%;height:11px;left:0;transform:translateY(-50%)}.page-ruler-vertical .page-ruler-margin-handle:after{height:2px;top:5px;left:3px;right:3px}.page-ruler-margin-handle:hover:after,.page-ruler-margin-handle:focus-visible:after{background:#164f37;box-shadow:0 0 0 2px #2678542e}.page-ruler-margin-handle:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.page-ruler-margin-handle:disabled{cursor:default;opacity:.45}.document-page{box-sizing:border-box;width:var(--page-width);min-height:var(--page-height);grid-area:2/2;margin:0;padding:0;display:grid;position:relative}.document-sheet-layer,.editor-content-layer{width:var(--page-width);grid-area:1/1}.document-sheet-layer{z-index:0;gap:var(--page-gap);pointer-events:none;flex-direction:column;display:flex}.document-sheet{box-sizing:border-box;flex:0 0 var(--page-height);width:var(--page-width);height:var(--page-height);background:var(--surface);box-shadow:var(--shadow);border:1px solid #d9dddb;position:relative}.document-page.is-readonly .document-sheet{background:#fdfefd}.editor-content-layer{z-index:1;box-sizing:border-box;min-height:var(--page-height);padding:var(--page-margin-top) var(--page-margin-right) 0 var(--page-margin-left);position:relative}.editor-loading{top:var(--page-margin-top);left:var(--page-margin-left);color:var(--muted);font-family:Georgia,Writer Serif,serif;font-size:15px;position:absolute}.editor-mount{opacity:0}.editor-mount.is-ready{opacity:1}.writer-prosemirror{min-height:max(120px, calc(var(--page-height) - var(--page-margin-top) - var(--page-margin-bottom) - 2px));color:#222624;tab-size:4;white-space:pre-wrap;word-wrap:break-word;caret-color:var(--blue);font-family:Georgia,Writer Serif,serif;font-size:12pt;line-height:1.72;display:flow-root}.writer-prosemirror:focus{outline:none}.writer-prosemirror [data-document-settings]{display:none}.writer-prosemirror p{margin:0 0 .82em}.writer-prosemirror h1,.writer-prosemirror h2,.writer-prosemirror h3,.writer-prosemirror h4,.writer-prosemirror h5,.writer-prosemirror h6{color:#1c211e;margin:1.25em 0 .5em;scroll-margin-top:32px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:720;line-height:1.25}.writer-prosemirror h1:first-child,.writer-prosemirror h2:first-child,.writer-prosemirror h3:first-child,.writer-prosemirror h4:first-child,.writer-prosemirror h5:first-child,.writer-prosemirror h6:first-child{margin-top:0}.writer-prosemirror h1{font-size:21pt}.writer-prosemirror h2{font-size:16pt}.writer-prosemirror h3{font-size:13pt}.writer-prosemirror h4{font-size:12pt}.writer-prosemirror h5{font-size:10.5pt}.writer-prosemirror h6{font-size:10pt}.writer-prosemirror ul,.writer-prosemirror ol{padding-left:26px}.writer-prosemirror ul[data-list-style=dash]>li,.writer-prosemirror ul[data-list-style=check]>li{list-style:none;position:relative}.writer-prosemirror ul[data-list-style=dash]>li:before{content:"-";color:#46514b;font-weight:700;position:absolute;left:-20px}.checklist-toggle{display:none}.writer-prosemirror ul[data-list-style=check]>li>.checklist-toggle{color:#fff;cursor:pointer;background:#fff;border:1px solid #718078;border-radius:3px;place-items:center;width:15px;height:15px;padding:0;display:inline-grid;position:absolute;top:.42em;left:-24px}.writer-prosemirror ul[data-list-style=check]>li>.checklist-toggle:hover{border-color:var(--green);background:#edf6f1}.writer-prosemirror ul[data-list-style=check]>li[data-checked=true]>.checklist-toggle{border-color:var(--green);background:var(--green)}.writer-prosemirror ul[data-list-style=check]>li[data-checked=true]>.checklist-toggle:after{content:"";border-bottom:2px solid;border-left:2px solid;width:7px;height:4px;transform:translateY(-1px)rotate(-45deg)}.writer-prosemirror ul[data-list-style=check]>li[data-checked=true]>[data-list-item-content]{color:#65716a;text-decoration:line-through}.writer-prosemirror blockquote{color:#4d5c54;border-left:3px solid #9db7aa;margin:1em 0;padding-left:16px}.writer-prosemirror code{background:#f0f2f1;border-radius:3px;padding:1px 4px;font-family:SFMono-Regular,Consolas,monospace;font-size:.88em}.writer-prosemirror pre{background:#f0f2f1;padding:12px;overflow-x:auto}.writer-prosemirror a{color:var(--blue);text-decoration:underline}.writer-prosemirror mark{color:inherit;padding:0}.writer-prosemirror sub,.writer-prosemirror sup{vertical-align:baseline;font-size:.72em;line-height:0;position:relative}.writer-prosemirror sup{top:-.48em}.writer-prosemirror sub{bottom:-.2em}.writer-prosemirror img{max-width:100%;height:auto;margin:8px 0;display:inline-block}.writer-prosemirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:16px 0}.writer-prosemirror td,.writer-prosemirror th{vertical-align:top;border:1px solid #aeb8b3;min-width:72px;padding:7px 9px;position:relative}.writer-prosemirror td>p,.writer-prosemirror th>p{margin:0}.writer-prosemirror .selectedCell:after{z-index:2;content:"";pointer-events:none;background:#3269b324;position:absolute;inset:0}.writer-prosemirror .tableWrapper{position:relative}.writer-prosemirror .table-resize-guide{z-index:20;background:var(--blue);pointer-events:none;position:absolute}.table-resize-guide.is-column{width:2px;transform:translate(-1px)}.table-resize-guide.is-row{height:2px;transform:translateY(-1px)}.table-column-resize,.table-column-resize *{cursor:col-resize!important}.table-row-resize,.table-row-resize *{cursor:row-resize!important}.is-resizing-table{-webkit-user-select:none;user-select:none}.writer-prosemirror .page-break{height:24px;margin:30px calc(0px - var(--page-margin-right)) 30px calc(0px - var(--page-margin-left));background:#f5f7f6;border-top:1px dashed #9ca8a2;border-bottom:1px dashed #d6dcda;position:relative}.writer-prosemirror .page-break span{color:var(--faint);text-transform:uppercase;background:#f5f7f6;padding:0 7px;font-family:Inter,ui-sans-serif,sans-serif;font-size:9px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.writer-prosemirror .page-break.is-section-boundary{pointer-events:none;background:0 0;border:0;height:0;margin:0}.writer-prosemirror [data-answer-boundary]{display:none}.writer-prosemirror .template-fixed{cursor:default}.writer-prosemirror .page-flow-gap{pointer-events:none;-webkit-user-select:none;user-select:none;line-height:0;display:block}.writer-prosemirror.is-measuring-pages .page-flow-gap{display:none}.writer-prosemirror .section-break{min-height:34px;margin:34px calc(0px - var(--page-margin-right)) 34px calc(0px - var(--page-margin-left));color:#496457;text-transform:uppercase;background:#f0f6f3;border-top:2px solid #8ca99a;border-bottom:1px solid #d0dad5;justify-content:center;align-items:center;gap:8px;font-family:Inter,ui-sans-serif,sans-serif;display:flex;position:relative}.writer-prosemirror .section-break span{font-size:9px;font-weight:750}.writer-prosemirror .section-break small{color:#73857c;font-size:8px}.page-running-header,.page-running-footer{box-sizing:border-box;color:#647169;white-space:normal;-webkit-user-select:none;user-select:none;width:100%;font-family:Inter,ui-sans-serif,sans-serif;font-size:10px;line-height:1.4}.document-sheet .page-running-header,.document-sheet .page-running-footer{left:var(--page-margin-left);right:var(--page-margin-right);overflow-wrap:anywhere;border:0;gap:3px;width:auto;min-height:0;margin:0;padding:0;display:grid;position:absolute}.document-sheet .page-running-header{top:max(3px, calc(var(--page-margin-top) / 3))}.document-sheet .page-running-footer{bottom:max(3px, calc(var(--page-margin-bottom) / 3))}.page-running-text.is-left{text-align:left;justify-self:start}.page-running-text.is-center{text-align:center;justify-self:center}.page-running-text.is-right{text-align:right;justify-self:end}.writer-prosemirror td,.writer-prosemirror th{overflow-wrap:anywhere;min-width:0}.writer-prosemirror th{background:#f2f5f3;font-weight:600}.table-dimension-fields,.section-text-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ribbon-dialog .table-header-option{align-items:center;gap:8px;display:flex}.writer-citation{color:#245a9b;cursor:pointer;white-space:normal;border-bottom:1px dotted #245a9b}.writer-citation:focus-visible{outline-offset:2px;outline:2px solid #245a9b}.citation-passage-active{background:#e0edf8}.writer-bibliography{margin:16px 0}.writer-bibliography p{text-indent:-20px;overflow-wrap:anywhere;padding-left:20px}.reference-dialog{border:1px solid var(--line-strong);background:var(--surface);width:min(820px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:7px;padding:0;box-shadow:0 16px 42px #151f1a38}.reference-dialog[open]{flex-direction:column;gap:0;display:flex;overflow-y:auto}.reference-dialog::backdrop{background:#19221d66}.reference-dialog.is-reader{width:min(1060px,100vw - 24px);height:calc(100dvh - 40px);overflow:hidden}.reference-heading{z-index:3;background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:14px 18px;display:flex;position:sticky;top:0}.reference-heading h2{flex:1;min-width:0;margin:0;font-size:16px;line-height:1.3}.reference-dialog button:not(.icon-button),.reference-upload{border:1px solid var(--line-strong);min-height:34px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:inline-flex}.reference-dialog button:disabled{opacity:.5;cursor:default}.reference-dialog button.primary-action{color:#fff;background:#2c7657;border-color:#2c7657}.reference-tabs{border-bottom:1px solid var(--line);gap:18px;padding:0 18px;display:flex}.reference-dialog .reference-tabs button{background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:11px 0}.reference-dialog .reference-tabs button.is-active{color:#245e46;border-bottom-color:#2c7657}.reference-toolbar{flex-wrap:wrap;flex:none;align-items:center;gap:8px;min-width:0;padding:12px 18px;display:flex}.reference-dialog input,.reference-dialog select{border:1px solid var(--line-strong);width:100%;min-width:0;min-height:34px;color:var(--ink);font:inherit;background:#fff;border-radius:4px;padding:7px 9px;font-size:13px}.source-search{flex:1;align-items:center;gap:8px;min-width:150px;display:flex}.source-search input{flex:1}.reference-list{max-height:48dvh;padding:0 18px;overflow-y:auto}.reference-empty{color:var(--muted);margin:20px 0;font-size:13px}.source-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;display:flex}.source-row>div:first-child{flex:1;min-width:0}.source-row h3{overflow-wrap:anywhere;margin:0 0 5px;font-size:14px;line-height:1.4}.source-row p,.source-row small{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px}.source-row-actions{flex:none;align-items:center;gap:6px;display:flex}.source-form,.citation-form,.citation-evidence{padding:18px}.source-form .reference-toolbar{padding:0 0 16px}.reference-upload{flex-shrink:0;position:relative;overflow:hidden}.reference-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.reference-file-name{overflow-wrap:anywhere;min-width:0;font-size:12px}.source-fields{grid-template-columns:1fr 1fr;gap:13px 16px;display:grid}.source-fields label,.citation-form label{gap:6px;min-width:0;font-size:12px;font-weight:600;display:grid}.source-fields .full-field{grid-column:1/-1}.doi-lookup{align-items:flex-end;display:flex}.reference-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:18px;display:flex}.source-form{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.source-form-body{flex:1;min-height:0;padding:18px;scroll-padding-block:18px;overflow-y:auto}.source-form .reference-actions{background:var(--surface);border-top:1px solid var(--line);flex:none;padding:12px 18px}.reference-error,.reference-status{overflow-wrap:anywhere;margin:0;padding:8px 18px;font-size:12px;line-height:1.5}.reference-error{color:#963d31;background:#fceeea}.reference-status{color:var(--muted)}.source-form .reference-error,.source-form .reference-status{background:0 0;padding:10px 0 0}.reference-dialog .source-picker,.reference-dialog .document-reference-row{border:0;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere;background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:5px;width:100%;margin:0;padding:14px 0;display:flex}.source-picker small,.document-reference-row small{color:var(--muted)}.citation-form{gap:14px;display:grid}.citation-form h3,.citation-form p{overflow-wrap:anywhere;margin:0}.citation-form h3{font-size:15px}.citation-form p{color:var(--muted);font-size:13px}.citation-target{border-bottom:1px solid var(--line);margin:0 18px;padding:14px 0}.citation-target h3{margin:0 0 6px;font-size:12px}.citation-target p{max-height:90px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.6;overflow-y:auto}.source-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;background:#faf7ec;border-left:3px solid #c59432;max-height:28dvh;margin:0;padding:12px 16px;font-size:14px;line-height:1.7;overflow-y:auto}.citation-evidence section{padding:0 0 18px}.citation-evidence h3,.reference-preview h3{margin:0 0 9px;font-size:13px}.citation-evidence p,.reference-preview p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.7}.citation-evidence small{color:var(--muted);margin-top:8px;display:block}.reference-link{color:#245a9b;align-items:center;gap:6px;margin-top:10px;font-size:13px;display:inline-flex}.reference-preview{border-top:1px solid var(--line);margin:0 18px;padding:18px 0}.reference-preview p{margin-bottom:12px}.paper-reader{flex-direction:column;flex:1;min-height:0;display:flex}.paper-reader .reference-toolbar{border-bottom:1px solid var(--line);padding:8px 12px}.paper-reader .reference-toolbar strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:80px;max-width:400px;font-size:12px;overflow:hidden}.paper-page-control{align-items:center;gap:5px;font-size:12px;display:flex}.reference-dialog .paper-page-control input{width:54px}.paper-scroll{background:#e7e9eb;flex:1;min-height:0;padding:16px;overflow:auto}.paper-page{background:#fff;flex-shrink:0;margin:0 auto;position:relative;box-shadow:0 1px 5px #0002}.paper-page canvas{display:block}.paper-page .textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:clip}.paper-page .textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.paper-page .textLayer>:not(.markedContent),.paper-page .textLayer .markedContent span:not(.markedContent){z-index:1}.paper-page .textLayer span.markedContent{height:0;top:0}.paper-page .textLayer ::selection{background:#83b8ef88}.paper-highlights{pointer-events:none;z-index:1;position:absolute;inset:0}.paper-highlights span{background:#e8c34c55;position:absolute}.paper-selection-bar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.paper-selection-bar>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:100px;font-size:12px;overflow:hidden}@media (width<=600px){.reference-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.reference-dialog.is-reader{width:calc(100vw - 12px);height:calc(100dvh - 16px)}.source-row{flex-direction:column;align-items:flex-start;gap:8px}.source-row-actions{align-self:flex-end}.source-fields{grid-template-columns:1fr}.source-fields .full-field{grid-column:auto}.reference-heading,.reference-toolbar{padding-left:12px;padding-right:12px}.paper-reader .reference-toolbar strong{flex-basis:calc(100% - 50px);max-width:none}}.table-header-option input{width:16px;height:16px;accent-color:var(--green)}.table-grid-preview{border:1px solid var(--line);gap:2px;height:115px;padding:7px;display:grid}.table-grid-preview span{background:#fafcfb;border:1px solid #acb9b2}.table-grid-preview span.is-header{background:#dce9e1}.table-size-summary{color:var(--muted);margin:0;font-size:11px}.section-page-preview{border:1px solid var(--line-strong);background:#fff;width:auto;max-width:100%;height:150px;margin:0 auto;padding:36px 18px;position:relative}.section-page-preview .preview-header,.section-page-preview .preview-footer{color:#647169;gap:2px;font-size:9px;display:grid;position:absolute;left:12px;right:12px}.section-page-preview .preview-header{top:10px}.section-page-preview .preview-footer{bottom:10px}.section-page-preview .preview-line{background:#e6eae8;height:3px;margin:9px 0;display:block}.page-running-header{text-align:center;border-bottom:1px solid #dfe4e1;min-height:28px;margin:-42px 0 42px;padding:0 4px 8px}.page-break+.page-running-header,.section-break+.page-running-header{margin-top:42px}.page-running-footer{text-align:center;border-top:1px solid #dfe4e1;gap:4px;min-height:32px;margin:48px 0 10px;padding:9px 4px 0;display:grid}.page-running-footer-text{justify-self:center}.page-running-page-number{min-width:20px;font-family:Georgia,Times New Roman,serif;font-size:12px}.page-running-page-number.is-left{justify-self:start}.page-running-page-number.is-center{justify-self:center}.page-running-page-number.is-right{justify-self:end}.writer-prosemirror .ProseMirror-selectednode{outline:2px solid #8eb0df}.comment-highlight{cursor:pointer;background:0 0;border-bottom:2px solid #0000}.is-showing-pastes .pasted-text-highlight{background:#ead8c6;box-shadow:inset 0 -1px #92623f}.comment-highlight.is-active{background:#dceafe;border-bottom-color:#3568b0;outline:1px solid #84a9dc}.is-showing-pastes .pasted-text-highlight.comment-highlight.is-active{box-shadow:none;background:#dceafe}.inspector{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:none}.inspector.is-open{z-index:25;top:var(--inspector-top);width:var(--inspector-width);display:flex;position:absolute;bottom:0;right:0;box-shadow:-5px 0 16px #1c282214}.inspector-tabs{border-bottom:1px solid var(--line);background:#fafbfa;flex:0 0 49px;grid-template-columns:1fr 1fr 35px;align-items:stretch;padding:6px 7px 0;display:grid}.inspector-tabs>button:not(.icon-button){color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.inspector-tabs>button.is-active{border-bottom-color:var(--green);color:var(--ink)}.inspector-close{align-self:center;width:30px;height:30px}.tab-count{color:#fff;background:var(--coral);border-radius:8px;min-width:17px;padding:1px 4px;font-size:9px}.inspector-content{flex:1;min-height:0;overflow-y:auto}.activity-panel,.comments-panel{padding:16px}.activity-scope{color:var(--muted);margin:0 0 10px;font-size:11px}.activity-sync-row{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;display:flex}.activity-panel{overflow-wrap:anywhere;min-width:0}.activity-error{color:#934a26;overflow-wrap:anywhere;margin:0 0 12px;font-size:12px}.comment-sync-row{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;display:flex}.comments-panel{overflow-wrap:anywhere;min-width:0}.comment-error{color:#934a26;overflow-wrap:anywhere;margin:0 0 12px;font-size:12px}.comment-original{color:var(--muted);margin:8px 0;font-size:11px}.comment-original summary{cursor:pointer}.comment-original blockquote{border-left:2px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;padding-left:8px}.metric-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.metric-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-subtle);gap:3px;min-height:69px;padding:12px;display:grid}.metric-grid strong{font-size:19px;font-weight:690}.metric-grid span{color:var(--muted);text-transform:uppercase;font-size:10px}.input-balance{border-bottom:1px solid var(--line);padding:17px 1px 18px}.input-balance-labels,.balance-legend{color:var(--muted);justify-content:space-between;gap:10px;font-size:10px;display:flex}.input-balance-labels span:first-child{color:var(--ink);font-weight:650}.balance-track{background:#e2e6e4;border-radius:3px;width:100%;height:7px;margin:9px 0 8px;display:flex;overflow:hidden}.balance-other{background:#b8c3bf}.balance-pasted{background:#92623f}.balance-legend{flex-wrap:wrap;justify-content:flex-start;align-items:center}.balance-legend span{align-items:center;gap:5px;display:inline-flex}.balance-legend i{border-radius:2px;width:7px;height:7px}.legend-other{background:#b8c3bf}.legend-pasted{background:#92623f}.activity-history-totals{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-bottom:12px;font-size:11px;display:flex}.activity-history-totals strong{color:var(--ink);font-weight:600}.paste-visibility-toggle{color:var(--ink);cursor:pointer;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.paste-visibility-toggle input{accent-color:#92623f;width:13px;height:13px;margin:0}.paste-location-status{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.45}.activity-panel.is-lecturer .activity-paste-preview{color:#704625;background:#f0e1d3;border-radius:2px}.activity-panel.is-lecturer .activity-paste .activity-icon,.activity-panel.is-lecturer .activity-drop .activity-icon{color:#704625;background:#f0e1d3}.comment-anchor-button{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.comment-anchor-button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.comment-state-label{color:var(--blue);margin:9px 0;font-size:10px;font-weight:650;display:block}.comment-state-label.is-resolved{color:var(--green)}.panel-section-heading{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;padding:18px 0 8px;font-size:10px;font-weight:750;display:flex}.activity-time-label{color:var(--faint);text-transform:none;font-size:9px;font-weight:600}.activity-feed{display:grid}.activity-row{border-bottom:1px solid #eaeeec;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:8px;padding:11px 0;display:grid}.activity-icon{width:28px;height:28px;color:var(--green);background:var(--green-soft);border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.activity-paste .activity-icon,.activity-drop .activity-icon{color:var(--amber);background:var(--amber-soft)}.activity-delete .activity-icon,.activity-cut .activity-icon{color:var(--coral);background:var(--coral-soft)}.activity-copy .activity-icon,.activity-replace .activity-icon{color:var(--blue);background:var(--blue-soft)}.activity-details{gap:3px;min-width:0;display:grid}.activity-details strong{font-size:11px;font-weight:650}.activity-previews{gap:4px;display:grid}.activity-previews>span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Georgia,Times New Roman,serif;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.activity-row time{color:var(--faint);white-space:nowrap;padding-top:2px;font-size:9px}.empty-state{color:var(--muted);text-align:center;margin:24px 0;font-size:12px}.comment-composer{background:#fffbf3;border:1px solid #e0bb76;border-radius:6px;margin-bottom:14px;padding:12px}.composer-heading{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.comment-composer blockquote,.comment-thread blockquote,.comment-quote{border-left:2px solid var(--line-strong);color:var(--muted);margin:0 0 9px;padding-left:9px;font-family:Georgia,Times New Roman,serif;font-size:11px;line-height:1.45;display:block}.comment-composer textarea,.reply-composer textarea{resize:vertical;border:1px solid var(--line-strong);background:var(--surface);border-radius:4px;width:100%;min-height:74px;padding:8px;font-size:12px;line-height:1.45;display:block}.composer-actions{justify-content:flex-end;margin-top:8px;display:flex}.comment-filter{grid-template-columns:1fr 1fr;width:100%;margin-bottom:13px;display:grid}.comment-filter button{min-height:29px;color:var(--muted);justify-content:center;align-items:center;gap:5px;display:inline-flex}.comment-filter button span{color:var(--faint);font-size:9px}.comment-list{gap:9px;display:grid}.comment-thread{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;min-width:0;padding:12px}.comment-thread:hover,.comment-thread.is-active{border-color:#84a9dc}.comment-thread.is-active{box-shadow:0 0 0 2px #dceafe}.comment-thread.is-active .comment-quote{border-left-color:#3568b0}.comment-meta{align-items:center;gap:8px;margin-bottom:10px;display:flex}.comment-meta>span:last-child{gap:2px;min-width:0;display:grid}.comment-meta strong,.comment-reply strong{font-size:11px}.comment-meta time{color:var(--faint);font-size:9px}.avatar{color:#fff;background:var(--blue);border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:11px;font-weight:700;display:inline-flex}.avatar-lecturer{background:var(--green)}.comment-thread>p{margin:0 0 10px;font-size:12px;line-height:1.5}.comment-actions{border-top:1px solid #edf0ee;justify-content:space-between;padding-top:5px;display:flex}.comment-reply{border-left:2px solid var(--line-strong);background:var(--surface-subtle);grid-template-columns:17px minmax(0,1fr);gap:4px;margin:8px 0;padding:8px;display:grid}.comment-reply>svg{color:var(--muted);margin-top:2px}.comment-reply p{margin:3px 0 0;font-size:11px;line-height:1.45}.reply-composer{border-top:1px solid var(--line);padding-top:8px}.reply-composer textarea{min-height:58px}.reply-composer>div{justify-content:flex-end;gap:5px;margin-top:6px;display:flex}.compact-button{min-height:28px;padding:0 9px;font-size:11px}.empty-comments{color:var(--faint);justify-items:center;gap:6px;padding:46px 10px;display:grid}.empty-comments p{margin:0;font-size:12px}.panel-footnote{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding-top:12px;font-size:10px;line-height:1.45}@media (width<=1180px){.app-shell{--inspector-width:318px;grid-template-columns:224px minmax(0,1fr)}.app-shell.has-inspector{grid-template-columns:224px minmax(0,1fr)}.app-shell .editor-toolbar,.app-shell.has-inspector .editor-toolbar{--toolbar-button-width:20px;--toolbar-block-width:82px;--toolbar-font-width:74px;--toolbar-size-width:36px;--toolbar-group-gap:1px;--toolbar-group-padding:1px;--toolbar-item-gap:0px;padding-left:4px;padding-right:4px}.connection-state span{display:none}.document-header{gap:7px;padding-left:12px}.header-actions{gap:5px}}@media (width>=1366px){.editor-toolbar{--toolbar-button-width:31px;--toolbar-block-width:128px;--toolbar-font-width:180px;--toolbar-size-width:54px;--toolbar-group-gap:5px;--toolbar-group-padding:6px}}@media (width>=1024px) and (width<=1279px){.app-shell .editor-toolbar,.app-shell.has-inspector .editor-toolbar{--toolbar-button-width:20px;--toolbar-block-width:100px;--toolbar-font-width:128px;--toolbar-size-width:44px;--toolbar-group-gap:0px;--toolbar-group-padding:0px;--toolbar-item-gap:0px;padding-left:4px;padding-right:4px}}@media (width<=980px){.mobile-only,.icon-button.mobile-only{display:inline-flex}.app-shell,.app-shell.has-inspector{grid-template-columns:minmax(0,1fr)}.sidebar{visibility:hidden;width:272px;transition:transform .16s,visibility 0s linear .16s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:8px 0 24px #1c28221f}.sidebar.is-open{visibility:visible;transition-delay:0s;transform:translate(0)}.sidebar-backdrop.is-open{z-index:29;background:#18201c52;display:block;position:fixed;inset:0}.document-title-input{width:100%}.page-scroll{padding-left:0;padding-right:20px}}@media (width<=760px){.app-shell,.app-shell.has-inspector{display:block}.workspace{width:100%;height:100%}.app-shell.has-inspector .page-scroll,.app-shell.has-inspector .editor-status-bar{margin-right:0}.inspector{z-index:50;width:min(360px,100%);position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #1c282224}.document-header{grid-template-columns:34px minmax(0,1fr) 34px;min-height:0;padding:7px 9px;display:grid}.document-identity{grid-area:1/2/auto/-1}.document-context>span:not(.status-label):nth-child(n+2){display:none}.header-actions{flex-wrap:wrap;grid-area:2/1/auto/-1;gap:6px;display:flex}.connection-state,.primary-button,.secondary-button,.role-switch{grid-row:2}.connection-state{grid-column:1;justify-self:center;margin:0 auto 0 0}.role-switch{grid-column:2;justify-self:start;margin-top:0}.storage-indicator{grid-area:1/2;place-self:center end;width:28px;min-width:28px;height:28px;padding:0}.document-context{padding-right:24px}.header-actions>.primary-button,.header-actions>.secondary-button{grid-column:3;justify-self:end;margin-top:0}.review-actions{flex-shrink:0;grid-area:2/3;justify-self:end;gap:4px;margin-top:0}.review-actions>button{padding:0 7px;font-size:11px}.inspector-toggle{grid-area:1/3}.assignment-strip{align-items:flex-start;padding:8px 12px}.assignment-strip>div{gap:2px;display:grid}.assignment-strip>div span{white-space:normal}.grade-field{align-self:center}.editor-toolbar{padding-left:8px;padding-right:8px}.app-shell .editor-toolbar,.app-shell.has-inspector .editor-toolbar{--toolbar-button-width:17px;--toolbar-block-width:62px;--toolbar-font-width:58px;--toolbar-size-width:30px;--toolbar-group-gap:1px;--toolbar-group-padding:0px;--toolbar-item-gap:0px;padding-left:2px;padding-right:2px}.block-style-control select,.font-family-control{padding-left:3px;padding-right:13px;font-size:11px}.block-style-control .ribbon-select-chevron,.ribbon-select-chevron{width:10px;right:3px}.font-size-control{padding:0;font-size:11px}.alignment-tools,.insert-tools,.spacing-tools,.list-tools .tool-button:last-child{display:none}.section-numbering-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.page-setup-content{grid-template-columns:minmax(0,1fr)}.page-setup-preview-block{border-top:1px solid var(--line);border-left:0;grid-template-columns:96px auto;justify-content:center;align-items:center;padding:12px 0 0}.page-setup-preview{grid-row:1/3;width:82px}.page-setup-preview-block strong,.page-setup-preview-block>span{justify-self:start}.section-numbering-fields>label:first-child{grid-column:1/-1}.document-menu-bar{padding-left:6px;padding-right:6px}.document-menu-bar>button{padding-left:8px;padding-right:8px}.course-portal-backdrop{padding:0}.course-portal{border:0;border-radius:0;width:100%;height:100%;max-height:none}.course-portal-header{min-height:61px;padding-left:14px;padding-right:10px}.course-portal-heading h2{font-size:16px}.portal-role-label{padding:4px 6px;font-size:9px}.course-portal-summary>div{padding:10px 12px}.course-portal-summary strong{font-size:14px}.course-portal-summary span{font-size:8px}.course-portal-body{padding:14px 12px 20px}.portal-course-heading{align-items:start;gap:8px;display:grid}.portal-course-meta{justify-content:flex-start}.lab-session-columns{display:none}.lab-session-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;min-height:0;padding:11px}.lab-week{grid-area:1/1}.lab-session-name{grid-area:2/1/auto/-1}.lab-session-date{grid-row:3;min-width:0}.lab-session-name+.lab-session-date{grid-column:1}.lab-session-date+.lab-session-date{grid-column:2;justify-self:end}.lab-status{grid-area:1/2}.lab-session-actions{grid-area:4/1/auto/-1;justify-content:flex-end}.page-scroll{padding:0 12px 12px 0}.editor-status-bar{padding-left:6px;padding-right:6px}}@media (width<=350px){.history-tools{display:none}}@media print{.pasted-text-highlight{box-shadow:none!important;background:0 0!important}.comment-highlight{background:0 0!important;border-bottom-color:#0000!important;outline:none!important}html,body,#root{background:#fff;width:auto;height:auto;overflow:visible}.app-shell,.app-shell.has-inspector{background:#fff;height:auto;display:block}.sidebar,.sidebar-backdrop,.course-portal-backdrop,.confirmation-dialog,.document-header,.assignment-strip,.document-menu-bar,.editor-toolbar,.editor-status-bar,.editor-context-menu,.page-ruler,.page-ruler-corner,.page-ruler-vertical-stack,.inspector{display:none!important}.workspace,.editor-area,.page-scroll{width:auto;height:auto;display:block;overflow:visible}.page-scroll{background:#fff;margin-right:0;padding:0}.page-stage{width:auto;min-height:0;margin:0;display:block;zoom:1!important}.document-page{width:auto;min-height:0;box-shadow:none;border:0;margin:0;padding:0}.document-sheet-layer{display:none}.editor-content-layer{width:auto;min-height:0;padding:0}.writer-prosemirror{min-height:0}[data-pagination-scope]>*{translate:none!important}.writer-prosemirror .page-break,.writer-prosemirror .section-break{break-after:page;background:0 0;border:0;height:0;min-height:0;margin:0}.writer-prosemirror .page-break span,.writer-prosemirror .section-break span,.writer-prosemirror .section-break small{display:none}.page-running-header{margin:0 0 32px}.page-running-footer{margin:40px 0 0}}@media (width<=460px){.document-context>span:not(.status-label){max-width:130px}.role-switch button{padding:0 7px}.header-actions>.primary-button,.header-actions>.secondary-button{padding:0 9px}.assignment-strip>svg,.assignment-strip>div span{display:none}}
