:root{--bg: #0b1017;--bg-grad: radial-gradient(1200px 600px at 80% -10%, #14202f 0%, transparent 60%), radial-gradient(900px 500px at -10% 0%, #131b29 0%, transparent 55%), #0b1017;--surface: #131c28;--surface-2: #0f1722;--surface-3: #1a2533;--inset: #0b121b;--border: #233040;--border-soft: #1b2632;--border-strong: #324559;--text: #eaf1f9;--text-muted: #9bacbe;--text-faint: #6c7e92;--accent: #4f6ef7;--accent-2: #6d8bff;--accent-strong: #6d8bff;--accent-soft: rgba(79, 110, 247, .16);--accent-ring: rgba(79, 110, 247, .4);--on-accent: #ffffff;--danger: #ff8497;--danger-soft: rgba(255, 132, 151, .13);--success: #57dca0;--warn: #f3c772;--cal-meeting: #ff9e57;--cal-week: #79b8ff;--r-xs: 6px;--r-sm: 8px;--r-md: 11px;--r-lg: 16px;--r-pill: 999px;--shadow-xs: 0 1px 2px rgb(0 0 0 / .3);--shadow-sm: 0 2px 8px rgb(0 0 0 / .28);--shadow-md: 0 12px 32px rgb(0 0 0 / .4);--shadow-lg: 0 32px 80px rgb(0 0 0 / .55);--appbar-h: 150px;--content-max: 1280px;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;font-family:var(--font-ui);font-size:16px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--bg: #eef1f6;--bg-grad: radial-gradient(1200px 600px at 85% -10%, #e2e9f5 0%, transparent 60%), radial-gradient(900px 500px at -10% 0%, #e6ecf6 0%, transparent 55%), #eef1f6;--surface: #ffffff;--surface-2: #f5f8fb;--surface-3: #eaf0f7;--inset: #f7f9fc;--border: #dbe3ec;--border-soft: #e7edf4;--border-strong: #c4d0dd;--text: #15202c;--text-muted: #51637a;--text-faint: #768599;--accent: #3a5cf0;--accent-2: #2f4fde;--accent-strong: #2a49d6;--accent-soft: rgba(58, 92, 240, .1);--accent-ring: rgba(58, 92, 240, .28);--on-accent: #ffffff;--danger: #cf3349;--danger-soft: rgba(207, 51, 73, .1);--success: #1c9a63;--warn: #a06a12;--cal-meeting: #9a4708;--cal-week: #1d4ed8;--shadow-xs: 0 1px 2px rgb(20 40 70 / .06);--shadow-sm: 0 2px 10px rgb(20 40 70 / .07);--shadow-md: 0 14px 34px rgb(20 40 70 / .1);--shadow-lg: 0 30px 70px rgb(20 40 70 / .18);color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}::selection{background:var(--accent);color:var(--on-accent)}::-moz-selection{background:var(--accent);color:var(--on-accent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:padding-box;border-radius:var(--r-pill)}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{font-weight:650}button,.file-button{align-items:center;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);cursor:pointer;display:inline-flex;gap:.5rem;justify-content:center;min-height:2.5rem;padding:.5rem .95rem;font-size:.875rem;font-weight:550;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease;white-space:nowrap}button:hover,.file-button:hover{background:var(--border);border-color:var(--text-faint)}button:active,.file-button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.4}button svg,.file-button svg{flex:none;opacity:.9}.file-button input{display:none}.primary{background:linear-gradient(180deg,var(--accent-2),var(--accent));border-color:transparent;color:var(--on-accent);box-shadow:0 1px #ffffff1f inset,var(--shadow-xs)}.primary:hover{background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-color:transparent;color:var(--on-accent)}.primary svg{opacity:1}.ghost{background:transparent;border-color:var(--border)}.ghost:hover{background:var(--surface-3)}.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border-strong))}.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.danger svg{color:currentColor;stroke:currentColor;opacity:1}.icon-btn{background:transparent;border-color:transparent;color:var(--text-muted);min-height:2.4rem;min-width:2.4rem;padding:.45rem .7rem}.icon-btn:hover{background:var(--surface-3);border-color:var(--border);color:var(--text)}.boot-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--text-muted);background:var(--bg-grad)}.landing-notice>div{max-width:34rem}.landing-notice p{font-size:1.02rem;line-height:1.6;color:var(--text);margin:0}.boot-screen h1{color:var(--text);margin:0 0 .5rem}.boot-detail{margin-top:1rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text-faint);max-width:40rem}.studio{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-grad);background-attachment:fixed}.appbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface-2) 88%,transparent);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border)}.appbar-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.25rem;padding:.65rem clamp(1rem,2.5vw,2rem)}.brand{display:flex;align-items:center;gap:.7rem;min-width:0;justify-self:start}.brand-logo{height:42px;width:auto;max-width:200px;object-fit:contain;background:#fff;border-radius:var(--r-sm);padding:5px 8px;box-shadow:var(--shadow-xs)}.brand-text{display:flex;flex-direction:column;gap:1px;line-height:1.25;min-width:0}.brand-row{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.brand-text strong{font-size:1rem;letter-spacing:-.01em}.brand-credit{font-size:.68rem;color:var(--text-faint);white-space:nowrap}.brand-program{font-size:.74rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:36ch}.segmented{display:inline-flex;gap:.2rem;padding:.25rem;margin:0;justify-self:center;background:var(--inset);border:1px solid var(--border);border-radius:var(--r-pill)}.segmented button{background:transparent;border-color:transparent;color:var(--text-muted);border-radius:var(--r-pill);min-height:2.2rem;padding:.4rem 1.05rem;font-weight:550}.segmented button:hover{background:var(--surface-3);color:var(--text)}.segmented .active,.segmented .active:hover{background:linear-gradient(180deg,var(--accent-2),var(--accent));color:var(--on-accent);border-color:transparent;box-shadow:var(--shadow-xs)}.segmented .active svg{opacity:1}.appbar-utils{display:flex;align-items:center;gap:.4rem;justify-self:end}.menu{position:relative}.menu-label{font-size:.875rem;font-weight:550}.menu.is-open .menu-trigger{background:var(--surface-3);border-color:var(--border);color:var(--text)}.menu-pop{position:absolute;right:0;top:calc(100% + .5rem);z-index:40;width:282px;display:grid;gap:.1rem;padding:.45rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.menu-title{font-size:.64rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin:.3rem .55rem .45rem}.menu-item{display:flex;align-items:center;justify-content:flex-start;gap:.55rem;width:100%;min-height:2.45rem;padding:.5rem .7rem;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:.875rem;font-weight:500;line-height:1.2;cursor:pointer;text-align:left}.menu-item svg{flex:none;opacity:.9}.menu-item:hover{background:var(--surface-3);border-color:transparent}.menu-item input[type=file]{display:none}.menu-sep{height:1px;background:var(--border-soft);margin:.3rem .25rem}.context-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;padding:.5rem clamp(1rem,2.5vw,2rem) .9rem}.context-title{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;min-width:0}.context-title h1{margin:0;font-size:1.5rem;letter-spacing:-.02em}.context-sub{color:var(--text-muted);font-size:.85rem}.inline-action{background:transparent;border:none;color:var(--text-faint);min-height:auto;padding:.1rem .15rem;font-size:.82rem;text-decoration:underline;text-underline-offset:3px}.inline-action:hover{background:transparent;color:var(--danger)}.inline-action:disabled{text-decoration:none}.context-actions{display:flex;align-items:flex-end;gap:.9rem;flex-wrap:wrap}.status-legend{display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;color:var(--text-muted);padding-bottom:.35rem}.status-legend span{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.dot{width:.62rem;height:.62rem;border-radius:50%;display:inline-block;flex:none}.dot-red{background:#e5484d}.dot-green{background:#36b35a}.select-course{display:grid;gap:.3rem;min-width:min(300px,70vw)}.select-course>span{font-size:.68rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);padding-left:.1rem}.course-select{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:.3rem;min-width:min(440px,70vw);max-width:100%}.course-select-label{font-size:.68rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);padding-left:.1rem}.course-select-trigger{width:100%;justify-content:flex-start;gap:.5rem;background:var(--inset);border:1px solid var(--border-strong);border-radius:var(--r-sm);min-height:2.5rem;padding:.6rem .75rem;font-weight:500}.course-select-trigger:hover{background:var(--inset);border-color:var(--text-faint)}.course-select-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.course-select-text.is-muted{color:var(--text-faint)}.course-select-caret{margin-left:auto;opacity:.7;flex:none}.course-select-pop{position:absolute;top:calc(100% + .4rem);right:0;left:auto;min-width:100%;width:max-content;max-width:min(720px,92vw);z-index:40;max-height:calc(100vh - 170px);overflow:auto;display:grid;gap:.1rem;padding:.35rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.course-option{width:100%;justify-content:flex-start;gap:.5rem;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);min-height:2.2rem;padding:.45rem .6rem;font-size:.875rem;font-weight:500;text-align:left}.course-option:hover{background:var(--surface-3)}.course-option.is-selected{background:var(--accent-soft);color:var(--accent-strong)}.course-option>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas{flex:1;padding:1.5rem clamp(1rem,2.5vw,2rem) 4rem}.view{width:100%;max-width:var(--content-max);margin-inline:auto}.section-tabs{position:sticky;top:calc(var(--appbar-h) - 1px);z-index:10;display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:.15rem 0 .1rem;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border)}.section-tabs button{background:transparent;border:none;border-radius:0;color:var(--text-muted);min-height:2.6rem;padding:.55rem .85rem;position:relative;font-weight:550;display:inline-flex;align-items:center;gap:.4rem}.section-tabs button:hover:not(:disabled){background:transparent;color:var(--text)}.section-tabs button:after{content:"";position:absolute;left:.4rem;right:.4rem;bottom:-1px;height:2px;border-radius:var(--r-pill);background:transparent;transition:background .15s ease}.section-tabs .active{color:var(--accent-strong)}.section-tabs .active:after{background:var(--accent)}.section-tabs button small{font-size:.66rem;font-weight:650;letter-spacing:.02em;color:var(--text-faint);background:var(--surface-3);border-radius:var(--r-pill);padding:.1rem .45rem}.section-tabs .active small{color:var(--accent-strong);background:var(--accent-soft)}.view-body{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-content:start}.select-course select,.field-label input,.field-label select,.field-label textarea,.meeting-fields input,.calendar-edit-row input,.calendar-edit-row textarea,.code-area{background:var(--inset);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);min-height:2.5rem;padding:.6rem .75rem;width:100%;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.select-course select:hover,.field-label input:hover,.field-label select:hover,.field-label textarea:hover{border-color:var(--text-faint)}.select-course select:focus,.field-label input:focus,.field-label select:focus,.field-label textarea:focus,.meeting-fields input:focus,.calendar-edit-row input:focus,.calendar-edit-row textarea:focus,.code-area:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}input::placeholder,textarea::placeholder{color:var(--text-faint)}textarea{resize:vertical;line-height:1.5}select{cursor:pointer}input[type=checkbox],input[type=radio],.field-label input[type=checkbox],.field-label input[type=radio]{width:.95rem;height:.95rem;min-height:0;margin:0;padding:0;border:none;border-radius:0;background:none;box-shadow:none;accent-color:var(--accent);flex:none;cursor:pointer}.field-label input[type=checkbox]:focus,.field-label input[type=radio]:focus,input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.5rem 1.65rem;box-shadow:var(--shadow-sm);min-width:0}.panel>h2:first-child,.panel>.section-header:first-child{margin-top:0}.panel h2{margin:0 0 .35rem;font-size:1.18rem;letter-spacing:-.01em}.panel-intro{margin:0 0 1.4rem;color:var(--text-muted);font-size:.88rem;line-height:1.5;max-width:70ch;padding-bottom:1.1rem;border-bottom:1px solid var(--border-soft)}.panel h3{margin:0 0 .7rem;font-size:.98rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.4rem}.field-label{display:grid;gap:.4rem;margin-bottom:1.05rem;align-content:start}.field-label>span{font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.field-label small{color:var(--text-faint);font-size:.78rem;line-height:1.4}.field-label input.has-error{border-color:var(--danger, #c0392b)}.field-label small.field-error-msg{color:var(--danger, #c0392b)}.two-cols,.readonly-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.readonly-grid{margin-bottom:1.2rem}.color-field{display:flex;gap:.5rem;align-items:stretch}.color-field input[type=color].color-swatch{flex:none;width:2.5rem;height:2.5rem;min-height:2.5rem;padding:2px;background:var(--inset);border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer}.color-field input.color-hex{flex:1 1 auto;width:auto;min-width:0}.calendar-pdf-toggle{margin:0 0 .4rem}.two-cols.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.span-wide{grid-column:1 / -1}.readonly-grid p{background:var(--inset);border:1px solid var(--border-soft);border-radius:var(--r-md);display:grid;gap:.4rem;margin:0;padding:.95rem 1.05rem;line-height:1.4}.readonly-grid strong{color:var(--text-faint);font-size:.68rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.readonly-block{border-top:1px solid var(--border-soft);padding-top:1.2rem;margin-top:1.2rem}.readonly-block:first-of-type{border-top:none;margin-top:0;padding-top:0}.readonly-block h3{color:var(--text);margin-bottom:.5rem}.readonly-block p{color:var(--text-muted);line-height:1.6;margin:0}.code-area{font-family:var(--font-mono);min-height:460px}.rich-text{border:1px solid var(--border-strong);border-radius:var(--r-md);margin-bottom:1rem;overflow:hidden;background:var(--inset);transition:border-color .15s ease,box-shadow .15s ease}.rich-text:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.rich-toolbar{background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;gap:.25rem;padding:.4rem}.rich-toolbar button{min-height:2rem;min-width:2rem;padding:.35rem;background:transparent;border-color:transparent;color:var(--text-muted)}.rich-toolbar button:hover{background:var(--surface-3);color:var(--text)}.rich-surface{background:var(--inset);min-height:8rem;outline:none;padding:.9rem 1rem;line-height:1.6;resize:vertical;overflow:auto}.rich-surface:empty:before{color:var(--text-faint);content:attr(data-placeholder)}.rich-surface a,.rich-surface a:visited{color:var(--accent-strong)}.rich-surface a{text-decoration:underline}.is-disabled{border-color:var(--border-soft)}.is-disabled .rich-surface{background:var(--surface-2);color:var(--text-muted)}.is-disabled .rich-surface table{border-collapse:collapse;margin:.25rem 0;width:auto}.is-disabled .rich-surface td,.is-disabled .rich-surface th{border:1px solid var(--border-strong);padding:.25rem .5rem}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:space-between;margin-bottom:1.1rem}.section-header h2,.section-header h3,.section-header h4{margin:0;padding:0;border:none}.button-row,.toggle-row{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.button-row.vertical{align-items:stretch;display:grid;gap:.5rem}.toggle-row{justify-content:flex-end;gap:.4rem}.toggle-row label{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;display:inline-flex;gap:.4rem;font-size:.82rem;padding:.35rem .7rem;user-select:none}.toggle-row label:hover{border-color:var(--border-strong)}.weekday-picker label{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer;user-select:none}.file-name-display{background:var(--inset);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--text-muted);padding:.6rem .75rem;font-size:.85rem;word-break:break-all}.import-report{background:var(--inset);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font-mono);font-size:.8rem;height:13rem;margin-top:1.2rem;overflow:auto;padding:.95rem 1.05rem}.import-report h3{font-family:var(--font-ui);margin-bottom:.6rem;color:var(--text-faint);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.import-report ul{margin:0;padding-left:1.2rem;line-height:1.7}.muted-note{color:var(--text-muted);font-size:.85rem;margin:0}.config-status{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--r-sm);color:var(--text);margin:.2rem 0 0;padding:.6rem .75rem;font-size:.85rem;line-height:1.45}.warn-note,.issue-list{color:var(--warn)}.warn-note{font-size:.85rem;line-height:1.45;margin:.2rem 0 0}.issue-list{margin:.5rem 0 1.1rem;padding-left:1.2rem;line-height:1.7}.ok-note{color:var(--success);font-weight:550}.pdf-course-checklist{border:1px solid var(--border);border-radius:var(--r-md);display:grid;gap:.12rem;margin-top:1.1rem;max-height:22rem;overflow:auto;padding:.5rem;background:var(--inset)}.pdf-course-checklist label{align-items:center;display:grid;gap:.55rem;grid-template-columns:auto auto 1fr;padding:.55rem .65rem;border-radius:var(--r-sm);font-size:.88rem;cursor:pointer}.export-modes{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}.export-modes .toggle-pill{margin-bottom:0}.pdf-course-checklist label:hover{background:var(--surface-3)}.pdf-course-checklist input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem}.assignment-name{color:var(--text-muted);font-weight:500;font-size:.85em}.assignment-unassigned{color:var(--text-faint);font-style:italic;font-size:.85em}.editor-rich-field{border:1px solid var(--border-soft);border-radius:var(--r-md);padding:1.2rem 1.3rem;margin-bottom:1.2rem;background:var(--surface-2)}.editor-rich-field .field-label:last-child{margin-bottom:0}.sections-panel{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--border)}.custom-section-card .custom-section-title,.readonly-block .custom-section-title{flex:1 1 auto;min-width:0;font-size:1rem;font-weight:600;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text)}.readonly-block .custom-section-title{margin-bottom:.6rem}.section-order-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.section-order-item{display:flex;align-items:center;gap:.55rem;padding:.28rem .6rem .28rem .4rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);transition:background .12s ease,border-color .12s ease,opacity .12s ease}.section-order-item:hover{border-color:var(--text-faint)}.section-order-item.is-custom{border-style:dashed;border-color:var(--accent)}.section-order-item.is-folder{background:var(--inset);border-color:var(--border-strong);gap:.4rem}.section-order-item.is-nested{border-left:2px solid var(--accent-soft)}.folder-toggle{display:inline-flex;align-items:center;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;flex:0 0 auto}.folder-toggle:hover{color:var(--text)}.folder-icon{color:var(--accent);flex:0 0 auto}.section-order-rename.folder-label{font-weight:600}.folder-count{font-size:.72rem;color:var(--text-faint);white-space:nowrap;flex:0 0 auto}.reorder-list{overflow:visible}.reorder-item{position:relative;cursor:grab}.reorder-item:active{cursor:grabbing}.reorder-item input,.reorder-item textarea,.reorder-item button,.reorder-item select,.reorder-item label{cursor:auto}.reorder-item button,.reorder-item select{cursor:pointer}.reorder-item.is-dragging{opacity:.4}.reorder-item.drop-before:after,.reorder-item.drop-after:after{content:"";position:absolute;left:calc(.25rem + var(--depth, 0) * 1.25rem);right:.25rem;height:3px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 0 7px color-mix(in srgb,var(--accent) 55%,transparent);pointer-events:none;z-index:3}.reorder-item.drop-before:after{top:-3px}.reorder-item.drop-after:after{bottom:-3px}.reorder-item.drop-before:before,.reorder-item.drop-after:before{content:"";position:absolute;left:calc(.25rem + var(--depth, 0) * 1.25rem - 2px);width:7px;height:7px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:4}.reorder-item.drop-before:before{top:-5px}.reorder-item.drop-after:before{bottom:-5px}.reorder-item.drop-inside{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2));border-color:var(--accent);border-style:solid;box-shadow:inset 0 0 0 2px var(--accent),0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.reorder-item.drop-inside .folder-icon,.reorder-item.drop-inside .folder-label-text{color:var(--accent-strong)}.folder-label-text{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere;padding:.15rem .25rem;border-radius:var(--r-xs, 4px)}.folder-label-text:hover{background:var(--surface-3)}.reorder-item{padding-left:calc(.6rem + var(--depth, 0) * 1.25rem)}.section-order-grip{display:inline-flex;align-items:center;color:var(--text-faint);flex:0 0 auto;cursor:grab}.section-order-grip:active{cursor:grabbing}.section-order-rename{flex:1 1 auto;min-width:0;font-size:.88rem;font-weight:500;padding:.25rem .45rem;border:1px solid transparent;border-radius:var(--r-sm);background:var(--surface);color:var(--text)}.section-order-rename:hover{border-color:var(--border)}.section-order-rename:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.section-order-name{display:flex;align-items:center;gap:.55rem;font-weight:500;font-size:.88rem;min-width:0;flex:1 1 auto}.section-order-tag{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--on-accent);background:var(--accent);border-radius:var(--r-pill);padding:.08rem .45rem}.section-order-hidden{font-size:.72rem;font-weight:500;color:var(--text-faint);font-style:italic}.custom-section-actions{margin-top:.9rem;flex-wrap:wrap}.assignment-card,.calendar-edit-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);display:grid;gap:.9rem;margin-top:1rem;padding:1.2rem 1.3rem}.assignment-card .field-label{margin-bottom:0}.assignment-card .danger{justify-self:start}.calendar-edit-row{grid-template-columns:170px repeat(3,minmax(0,1fr));align-items:start;gap:.75rem}.calendar-week-meta{display:flex;flex-direction:column;gap:.3rem;min-width:0}.calendar-week-meta strong{font-size:.9rem}.calendar-week-meta span{color:var(--text-muted);font-size:.85rem}.calendar-week-meta small{font-weight:650;font-size:.72rem;line-height:1.35}.cal-flag,.calendar-week-meta .cal-flag{color:var(--cal-meeting)}.cal-note,.calendar-week-meta .cal-note{color:var(--cal-week)}.calendar-week-meta .cal-note{font-weight:550}.calendar-edit-row textarea{field-sizing:content;min-height:2.6rem;resize:vertical}.cal-event{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;cursor:pointer;user-select:none}.cal-event input[type=checkbox]{accent-color:var(--accent);width:.85rem;height:.85rem;flex:none}.cal-event .cal-flag{font-weight:650}.cal-event .cal-note{font-weight:550}.cal-flag:before,.cal-note:before{margin-right:.3rem;font-size:.85em}.cal-flag:before{content:"●"}.cal-note:before{content:"○"}.matrix-editor{border:1px solid var(--border);border-radius:var(--r-md);overflow:auto;margin-top:.5rem}.matrix-header-row,.matrix-data-row{display:grid}.matrix-cell{background:var(--surface-3);border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;gap:.35rem;padding:.45rem;align-items:center}.matrix-cell input,.matrix-data-row textarea{background:var(--inset);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);min-height:2.4rem;padding:.45rem;width:100%}.matrix-cell input{font-weight:600}.matrix-cell .danger{min-height:2rem;padding:.3rem .45rem}.matrix-data-row textarea{min-height:5.6rem;resize:vertical;border-radius:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-top:none;border-left:none}.matrix-data-row textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.matrix-cell-col{flex-direction:column;align-items:stretch}.matrix-cell-title-row{display:flex;gap:.35rem;align-items:center}.same-for-all-toggle{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--text-muted);cursor:pointer;padding-top:.3rem;user-select:none}.same-for-all-toggle input[type=checkbox]{min-height:auto;width:auto;flex-shrink:0}.matrix-data-row textarea.synced-cell{border-left:3px solid var(--accent)}.rubric-sync-all-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.rubric-sync-all-header>div{flex:1}.rubric-sync-all-header button{flex-shrink:0;align-self:center}.weekday-grid{display:grid;gap:.6rem}.meeting-row{display:grid;gap:.5rem;padding:.7rem .8rem;border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2)}.meeting-row>label{display:inline-flex;align-items:center;gap:.5rem;font-weight:550;cursor:pointer}.meeting-row input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem}.meeting-fields{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-rule-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);margin:1rem 0;padding:1.2rem 1.3rem}.calendar-rule-card>h3{border-bottom:1px solid var(--border-soft);padding-bottom:.6rem}.calendar-subsection{border-top:1px solid var(--border-soft);margin-top:1rem;padding-top:1rem}.calendar-subsection h4{margin:0 0 .7rem;font-size:.9rem;color:var(--text-muted);letter-spacing:.02em}.calendar-rule-row,.holiday-rule-row{background:var(--inset);border:1px solid var(--border);border-radius:var(--r-md);display:grid;gap:.8rem;margin-top:.7rem;padding:1rem 1.05rem}.calendar-rule-row{grid-template-columns:1.4fr .7fr .7fr .9fr;align-items:end}.holiday-rule-row{grid-template-columns:1fr}.date-rule-editor{display:grid;gap:.8rem;grid-template-columns:1.6fr repeat(3,minmax(0,1fr));align-items:end}.weekday-picker{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.calendar-rule-row .field-label,.date-rule-editor .field-label,.holiday-rule-row .field-label{margin-bottom:0}.calendar-rule-row .danger,.holiday-rule-row .danger{justify-self:start}.modal-backdrop{align-items:center;background:#04080dad;backdrop-filter:blur(5px);inset:0;display:flex;justify-content:center;padding:2rem;position:fixed;z-index:50}.modal-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-height:min(90vh,980px);overflow:auto;padding:1.6rem 1.85rem;width:min(1120px,100%)}.modal-panel>.section-header:first-child{border-bottom:1px solid var(--border);padding-bottom:1rem;flex-wrap:nowrap;align-items:flex-start}.modal-panel>.section-header:first-child>div{min-width:0}.modal-panel>.section-header:first-child>.icon-btn{flex:none}.modal-panel h2{border:none;padding:0}.setup-modal{width:min(620px,100%)}.dialog-panel{width:min(440px,100%);padding:1.4rem 1.5rem 1.3rem;display:flex;flex-direction:column;gap:.9rem;border-top:4px solid var(--accent)}.dialog-panel.tone-danger{border-top-color:#e0524d}.dialog-panel.tone-warning{border-top-color:#e0a13a}.dialog-panel.tone-success{border-top-color:#3fae72}.dialog-head{display:flex;align-items:center;gap:.6rem}.dialog-head h2{font-size:1.05rem;margin:0;flex:1 1 auto;min-width:0}.dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--inset);color:var(--accent);flex:none}.tone-danger .dialog-icon{color:#e0524d}.tone-warning .dialog-icon{color:#e0a13a}.tone-success .dialog-icon{color:#3fae72}.dialog-close{flex:none}.dialog-message{color:var(--text);font-size:.9rem;line-height:1.5;white-space:pre-line;word-break:break-word}.dialog-input{margin:0}.dialog-input input{width:100%}.dialog-compare-panel{width:min(1100px,100%)}.dialog-compare{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.compare-pane{display:flex;flex-direction:column;gap:.35rem;min-width:0}.compare-pane>span{font-size:.74rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.compare-incoming>span{color:var(--cal-week)}.compare-current>span{color:var(--cal-meeting)}.compare-pane .rich-text{min-width:0}.compare-pane .rich-surface{max-height:17rem;min-height:17rem;overflow-y:auto}.compare-incoming textarea{border-color:color-mix(in srgb,var(--cal-week) 55%,var(--border-strong))}.compare-current textarea{border-color:color-mix(in srgb,var(--cal-meeting) 45%,var(--border-strong))}@media (max-width: 860px){.dialog-compare{grid-template-columns:1fr}.compare-pane .rich-surface{max-height:11rem;min-height:11rem}}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.25rem}.dialog-cred-badge{flex:none;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px}.dialog-cred-token{border-top-color:#2f9e9e}.dialog-cred-token .dialog-icon{color:#2f9e9e;background:#2f9e9e24}.dialog-cred-token .dialog-cred-badge{color:#2f9e9e;background:#2f9e9e29}.dialog-cred-token .dialog-input input:focus{border-color:#2f9e9e}.dialog-cred-owner{border-top-color:#8a6cf0}.dialog-cred-owner .dialog-icon{color:#8a6cf0;background:#8a6cf024}.dialog-cred-owner .dialog-cred-badge{color:#8a6cf0;background:#8a6cf029}.dialog-cred-owner .dialog-input input:focus{border-color:#8a6cf0}.empty-guide{border:1px solid var(--accent-ring);background:linear-gradient(180deg,var(--accent-soft),transparent 60%),var(--surface)}.empty-guide-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:.9rem 0 .4rem}.empty-guide-actions .file-button,.empty-guide-actions button{flex:0 0 auto}.online-async-row{margin-top:.6rem;padding:.55rem .75rem;border:1px dashed var(--accent-ring);border-radius:var(--r-sm);background:var(--accent-soft)}.online-async-row label{font-weight:600}.calendar-prereqs{margin:.4rem 0 .6rem;padding:.7rem .9rem;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);font-size:.85rem}.calendar-prereqs.all-ok{border-color:color-mix(in srgb,var(--success) 50%,var(--border))}.calendar-prereqs ul{margin:.4rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.2rem}.calendar-prereqs li.met{color:var(--success)}.calendar-prereqs li.unmet{color:var(--text-muted)}.inventory-modal{width:min(780px,100%)}.inventory-modal .panel{background:var(--surface-2);box-shadow:none;padding:1.15rem 1.25rem;margin-bottom:1rem}.inventory-modal .panel h3{margin-top:0}.inventory-modal .field-label:last-child{margin-bottom:0}.toggle-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:.4rem .85rem;font-size:.86rem;font-weight:550;cursor:pointer;margin-bottom:.7rem}.toggle-pill input{accent-color:var(--accent);width:1rem;height:1rem}.inv-fields{display:grid;gap:.5rem;margin-top:.85rem}.inv-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .5rem .55rem .85rem;border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface)}.inv-row-label{font-weight:550;font-size:.9rem}.inv-row-cells{display:flex;gap:.6rem}.inv-num{width:92px;margin-bottom:0;gap:.25rem}.inv-num>span{font-size:.62rem}.inv-num input{min-height:2.2rem;padding:.4rem .55rem}.inv-row-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;min-width:0}.inv-row-toggle input[type=checkbox]{flex:0 0 auto}.inv-extra{margin-top:1rem;padding-top:.9rem;border-top:1px dashed var(--border)}.inv-extra .inv-row{margin-top:.6rem;align-items:flex-end}.inv-extra-field{flex:1 1 auto;min-width:0;margin-bottom:0;gap:.25rem}.inv-extra-field>span{font-size:.62rem}.inv-extra-field select.inv-extra-target{min-height:2.2rem;padding:.4rem .55rem}.inv-extra-target:disabled{opacity:.55}.inventory-actions{margin-top:1.25rem}.published-list{display:flex;flex-direction:column;gap:.9rem;margin-top:.5rem}.published-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:.9rem 1rem}.published-card-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.published-card-title{display:flex;align-items:center;gap:.5rem;font-size:1.02rem}.published-tag{font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);background:var(--inset);border:1px solid var(--border);border-radius:var(--r-pill);padding:.08rem .45rem}.published-tag.warn{color:var(--warn);border-color:var(--warn)}.published-courses{font-size:.85rem;color:var(--text-muted)}.published-link{display:flex;gap:.5rem;margin-top:.65rem}.published-link input{flex:1 1 auto;min-width:0;background:var(--inset);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);min-height:2.2rem;padding:.4rem .6rem;font-size:.82rem}.published-link button{flex:0 0 auto}.published-lock{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0 .25rem}.published-lock .published-link{max-width:22rem}.link-button{background:none;border:none;padding:0;margin:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;min-height:0}.link-button:hover{color:var(--accent-strong, var(--accent))}.published-course-line{margin:.55rem 0 0}.published-meta{margin:.5rem 0 .75rem;font-size:.78rem;color:var(--text-faint)}.published-edit{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--border)}.word-export-row{margin-top:.9rem}.rubric-column-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.course-divider{padding:.4rem .7rem .25rem;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);border-top:1px solid var(--border);margin-top:.25rem}.section-order-item.is-divider{background:var(--inset);border-style:dashed}.important-note{margin-top:.9rem;padding:.85rem 1rem;border:1px solid var(--warn);border-left-width:4px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--warn) 10%,transparent)}.important-note strong:first-child{display:block;color:var(--warn);margin-bottom:.35rem;font-size:.92rem}.important-note p{margin:0;font-size:.85rem;line-height:1.55;color:var(--text-muted)}.setup-modal p{line-height:1.6;color:var(--text-muted)}.setup-modal h2{margin-top:0}.pdf-empty{padding:3rem;color:var(--text-muted);text-align:center}.print-stage{overflow:auto}.pdf-preview-frame{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);height:calc(100vh - 12rem);min-height:720px;width:100%}@media (max-width: 1180px){.two-cols,.readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.appbar-top{display:flex;flex-wrap:wrap}.segmented{order:3;width:100%;justify-content:center}.brand{flex:1 1 auto}.form-grid,.panel-grid,.tool-layout,.two-cols,.two-cols.compact,.readonly-grid,.calendar-edit-row,.calendar-rule-row,.date-rule-editor,.meeting-fields{grid-template-columns:1fr}.section-tabs{position:static;overflow-x:auto;flex-wrap:nowrap}}.pdf-document{color:#111;display:grid;gap:1rem;justify-content:center}.pdf-page{background:#fff;box-shadow:0 20px 60px #00000059;font-family:TeX Gyre Heros,Nimbus Sans,Arial,sans-serif;min-height:11in;padding:.75in 1in 1.25in;position:relative;width:8.5in}.pdf-title{margin-bottom:2rem;text-align:center}.pdf-title img{max-width:4.35in}.pdf-title.logo-left{text-align:left}.pdf-title.logo-center{text-align:center}.department,.program,.syllabus-label{letter-spacing:0;margin:.35rem 0}.department{font-size:1.17rem;margin-top:1.45rem;text-transform:uppercase}.program{font-size:1.17rem}.syllabus-label{font-size:1.12rem;font-weight:700;margin-top:1.65rem}.pdf-course-hero{margin-top:2.05rem}.pdf-course-hero h1,.pdf-course-hero h2,.pdf-course-hero p{color:var(--pdf-accent-color, #003c71);margin:0 0 .55rem}.pdf-course-hero h1{font-size:2.15rem;line-height:1}.pdf-course-hero h2{font-size:1.55rem;line-height:1.12}.pdf-section{margin-top:1rem}.pdf-section h2{color:var(--pdf-accent-color, #003c71);font-size:1.42rem;margin:0 0 .65rem}.pdf-section h3{font-size:1.04rem;margin:.65rem 0 .3rem}.pdf-section h4{font-size:.98rem;margin:.55rem 0 .25rem}.pdf-section p,.pdf-section li{font-size:.95rem;line-height:1.45}.pdf-document a,.pdf-document a:visited{color:var(--pdf-accent-color, #003c71)}.pdf-contact-lines{margin:.4rem 0 .8rem}.pdf-contact-lines p{margin:0}.pdf-ta-lines{margin-top:.55rem}.pdf-assignment h4{font-size:1rem;margin:.8rem 0 .25rem}.pdf-table,.grade-scale table{border-collapse:collapse;font-size:.74rem;width:100%}.pdf-table th,.pdf-table td,.grade-scale td{border:1px solid #333;padding:.28rem .34rem;vertical-align:top}.pdf-table th{background:#c8c8c8;font-weight:700}.flagged-row td{background:#fff8e7}.calendar-table small{color:#8a5200;display:block;font-weight:700;margin-top:.25rem}.incomplete-banner{color:#9e1b1b;font-size:1.2rem;font-weight:800;letter-spacing:.08em;position:absolute;right:1in;top:.35in}.pdf-footer{align-items:end;border-top:1px solid #444;bottom:.55in;display:grid;font-size:.74rem;grid-template-columns:1fr auto 1fr;left:1in;padding-top:.18in;position:absolute;right:1in}.pdf-footer strong{font-size:.86rem}.pdf-footer span:last-child{text-align:right}@media print{@page{margin:0;size:letter}body{background:#fff}.no-print,.appbar,.section-tabs{display:none!important}.studio,.canvas,.view,.print-stage,.pdf-document{display:block;margin:0;padding:0;background:#fff}.pdf-page{box-shadow:none;break-after:page;height:11in;margin:0;overflow:hidden;width:8.5in}}.identity-field{align-content:start;margin-bottom:1.05rem}.identity-field .field-label{margin-bottom:.4rem}.identity-display-toggle{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;font-size:.85rem;gap:.45rem}.identity-display-toggle input{accent-color:var(--accent);cursor:pointer;flex:none;height:1rem;margin:0;min-height:0;padding:0;width:1rem}.identity-display-note{color:var(--text-muted);display:block;font-size:.78rem;line-height:1.45;margin-top:.35rem}.field-label.is-muted .file-name-display,.field-label.is-muted>span:first-child{opacity:.55}.policy-gate{display:grid;gap:.9rem;max-width:30rem;text-align:left}.policy-gate h1{margin:0}.policy-gate p{color:var(--text-muted);margin:0}.policy-version-stepper{align-items:center;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm);display:flex;gap:.5rem;margin-bottom:.9rem;padding:.35rem .5rem;width:fit-content}.policy-version-stepper span{color:var(--text-muted);font-size:.85rem;min-width:9rem;text-align:center}.policy-version-stepper button{min-height:2rem;padding:.25rem .55rem}.revision-bar{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem .9rem;margin:.2rem 0 .9rem}.revision-badge{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);display:grid;gap:.15rem;padding:.45rem .8rem}.revision-badge-label{color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.revision-badge-value{color:var(--text);font-size:1.15rem;font-weight:700;line-height:1.1}.revision-state{border:1px solid var(--border-strong);border-radius:999px;color:var(--text-muted);font-size:.8rem;font-weight:600;padding:.3rem .7rem}.revision-state.is-live{background:color-mix(in srgb,var(--success) 18%,transparent);border-color:color-mix(in srgb,var(--success) 55%,transparent);color:var(--success)}.password-field{display:block;position:relative;width:100%}.password-field input{padding-right:2.6rem;width:100%}.password-reveal{align-items:center;background:none;border:none;border-radius:0;bottom:1px;color:var(--text-muted);display:flex;justify-content:center;min-height:0;padding:0;position:absolute;right:1px;top:1px;width:2.75rem}.password-reveal:hover{background:none;color:var(--text)}.published-link .password-field{flex:1 1 auto;min-width:0}.workflow-overlay{align-items:center;background:#060a12db;display:flex;inset:0;justify-content:center;padding:2vmin;position:fixed;z-index:120}.workflow-frame{background:#0e1626;border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:0 24px 70px #0000008c;height:90vh;max-width:90vw;padding:.75rem;position:relative;width:90vw}.workflow-frame img{display:block;height:100%;object-fit:contain;width:100%}.workflow-close{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:999px;color:var(--text);position:absolute;right:.5rem;top:.5rem;z-index:1}.workflow-close:hover{background:var(--surface-2);color:var(--text)}.calendar-system-select{max-width:34rem}.course-option>span{white-space:normal;overflow-wrap:anywhere}.canvas-panel .section-header{margin-top:1.4rem}.canvas-token-field textarea{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:.82rem;line-height:1.5;word-break:break-all;resize:vertical;min-height:4.2rem}.canvas-status{display:flex;align-items:flex-start;gap:.7rem;margin:.9rem 0;padding:.8rem 1rem;border:1px solid var(--border);border-left-width:4px;border-radius:var(--r-sm)}.canvas-status>svg{flex:none;margin-top:.1rem}.canvas-status>div{flex:1;min-width:0}.canvas-status p{margin:.25rem 0 0;font-size:.85rem;line-height:1.45;color:var(--text-muted);overflow-wrap:anywhere}.canvas-status-good{border-color:var(--success);background:color-mix(in srgb,var(--success) 9%,transparent)}.canvas-status-bad{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent)}.canvas-note{margin-top:.9rem;padding:.75rem 1rem;border:1px solid var(--border);border-left:4px solid var(--success);border-radius:var(--r-sm);background:var(--surface-2)}.canvas-note p{margin:0;font-size:.87rem;line-height:1.5}.canvas-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.canvas-list>li{padding:.5rem .7rem;border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-2)}.canvas-list>li>label{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.15rem .6rem;cursor:pointer}.canvas-list>li>label>input{grid-row:span 2;align-self:center}.canvas-item-title{font-weight:600;overflow-wrap:anywhere}.canvas-item-note{grid-column:2;font-size:.82rem;line-height:1.4;color:var(--text-muted);overflow-wrap:anywhere}.canvas-item-empty{color:var(--warn)}.canvas-suboption{display:flex;align-items:center;gap:.45rem;margin:.45rem 0 0 1.75rem;font-size:.85rem;color:var(--text-muted)}.canvas-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem;margin-top:.6rem}.canvas-rule-row{display:flex;flex-wrap:wrap;gap:.4rem}.canvas-rule-row select{flex:1 1 8rem;min-width:0}.canvas-assignments>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.canvas-assignments>li>label{flex:1 1 16rem}.canvas-due{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-muted)}.canvas-due input[type=date]{width:auto;min-width:8.5rem}.canvas-progress{list-style:none;margin:1rem 0 0;padding:.7rem .9rem;border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--inset);display:flex;flex-direction:column;gap:.35rem;max-height:18rem;overflow-y:auto}.canvas-step{display:grid;grid-template-columns:1.1rem 1fr;align-items:center;gap:.1rem .5rem;font-size:.85rem}.canvas-step small{grid-column:2;color:var(--text-muted);line-height:1.4}.canvas-step-icon{display:inline-flex;justify-content:center}.canvas-step-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--text-faint)}.canvas-step-pending{color:var(--text-faint)}.canvas-step-done>.canvas-step-icon{color:var(--success)}.canvas-step-failed{color:var(--danger)}.canvas-step-skipped{color:var(--text-muted)}.spin{animation:canvas-spin 1s linear infinite}@keyframes canvas-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spin{animation:none}}.canvas-danger{margin-top:1.6rem;padding:.9rem 1.1rem 1rem;border:1px solid var(--danger);border-left-width:4px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--danger) 7%,transparent)}.canvas-danger-head{display:flex;align-items:center;gap:.5rem;color:var(--danger)}.canvas-danger-head h3{margin:0;font-size:1rem}.canvas-danger p{margin:.6rem 0 0;font-size:.87rem;line-height:1.55}.canvas-danger-note{color:var(--danger)}.canvas-danger .button-row{margin-top:.9rem}.style-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.2rem 0 .6rem}.style-toggle-label{font-size:.68rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.style-toggle-note{flex:1 1 14rem;min-width:0;font-size:.8rem;line-height:1.4;color:var(--text-muted)}.segmented.small button{padding:.35rem .8rem;font-size:.83rem}.print-stage>.style-toggle{margin-bottom:.8rem}.canvas-suboption-style{display:block}.canvas-suboption-style .style-toggle{margin:.15rem 0 0}.panel>.button-row{margin-top:.9rem}.panel>.muted-note,.panel>.warn-note,.panel>.ok-note,.panel>.field-note{margin-top:.6rem}.panel>h2+.muted-note,.panel>h2+.warn-note,.panel>h2+.ok-note,.panel>.section-header+.muted-note{margin-top:.35rem}.course-divider,.course-option,.pdf-course-checklist>label{padding-left:calc(.75rem + var(--depth, 0) * 1rem)}.field-copy-parts{display:grid;gap:.35rem;margin-top:.5rem}.field-copy-parts>label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.2rem .6rem;padding:.5rem .7rem;border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer}.field-copy-parts>label.is-on{border-color:var(--accent);background:var(--accent-soft)}.field-copy-part-name{font-weight:600}.field-copy-part-value{justify-self:start;font-size:.78rem;padding:.1rem .45rem;border-radius:999px;background:var(--surface-3);color:var(--text-muted);white-space:nowrap}.field-copy-parts>label small{grid-column:2 / -1;font-size:.8rem;line-height:1.4;color:var(--text-muted)}
