:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#16223c;--navy-deep:#0f1830;--coral:#2563eb;--coral-hover:#1d4ed8;--coral-soft:#2563eb1a;--sky:#c7d2fe;--mint-bg:#d8e0ed;--white:#fff;--info-bg:#e7eeff;--muted:#64748b;--placeholder:#9aa7ae;--line:#d8dee8;--line-soft:#eaeef4;--slate-50:#f1f4f9;--note-bg:#fef3c7;--note-border:#fde68a;--note-text:#78350f;--font-display:"Sora", system-ui, sans-serif;--font-body:"Inter", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--font-serif:Georgia, "Iowan Old Style", "Times New Roman", serif;--r-lg:14px;--r-md:10px;--r-sm:8px;--sh-sm:0 1px 3px #16223c14, 0 1px 2px #16223c0f;--sh-md:0 4px 6px -1px #16223c1a, 0 2px 4px -2px #16223c1a;--sh-lg:0 10px 15px -3px #16223c1f, 0 4px 6px -4px #16223c1a;--sh-cta:0 6px 16px -8px #2563eb80}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:var(--font-body);background:var(--mint-bg);color:var(--navy);padding:68px 24px 64px}.page{background:var(--white);border-radius:var(--r-lg);max-width:800px;box-shadow:var(--sh-lg);min-height:60vh;margin:0 auto;padding:72px 48px;overflow:visible}.block{border-radius:var(--r-md);flex-direction:column;align-items:flex-start;margin:0 16px;transition:background .12s;display:flex;position:relative}.block:hover,.block:focus-within{background:var(--slate-50)}.block .editor{width:fit-content;max-width:100%;color:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:none;outline:none;padding:0;font-family:inherit;line-height:1.7}.block .editor:empty:before{content:attr(data-placeholder);color:var(--placeholder);pointer-events:none}.block[data-type=h1]{margin-top:8px;margin-bottom:4px}.block[data-type=h2]{margin-top:40px;margin-bottom:8px}.block[data-type=h3]{margin-top:28px;margin-bottom:4px}.block[data-type=p]{margin-bottom:14px}.block[data-type=h1] .editor{font-family:var(--font-display);color:var(--navy);font-size:2.1rem;font-weight:800;line-height:1.2}.block[data-type=h2] .editor{font-family:var(--font-display);color:var(--navy);font-size:1.6rem;font-weight:700;line-height:1.3}.block[data-type=h3] .editor{font-family:var(--font-display);color:var(--navy);font-size:1.25rem;font-weight:700;line-height:1.35}.block[data-type=p] .editor{font-family:var(--font-serif);color:var(--navy);font-size:1rem;font-weight:400;line-height:1.7}.block[data-type=note]{background:var(--note-bg);border:1px solid var(--note-border);border-radius:var(--r-md);box-shadow:var(--sh-sm);align-self:stretch;margin:14px 16px;padding:10px 14px}.block[data-type=note]:hover,.block[data-type=note]:focus-within{background:var(--note-bg)}.block[data-type=note] .editor{font-family:var(--font-body);color:var(--note-text);width:100%;font-size:.95rem;font-weight:500;line-height:1.6}.block[data-type=note] .editor:empty:before{color:#b45309}.cite{vertical-align:super;color:var(--coral);cursor:pointer;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;background:0 0;margin:0 1px;font-size:.65em;font-weight:600;line-height:1;transition:color .12s;display:inline}.cite:before{content:"["}.cite:after{content:"]"}.cite:hover{color:var(--coral-hover)}.cite-popover{z-index:50;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:320px;max-width:calc(100vw - 24px);padding:8px;display:none;position:absolute}.cite-popover.open{display:block}.cite-popover label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;font-size:.62rem;font-weight:600;display:block}.cite-popover input{border:1px solid var(--line);border-radius:var(--r-md);width:100%;font:inherit;color:var(--navy);outline:none;padding:7px 9px;font-size:.9rem}.cite-popover input:focus{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}.popover-list{border:1px solid var(--line);border-radius:var(--r-md);max-height:180px;margin-top:6px;list-style:none;display:none;overflow:hidden auto}.popover-list.open{display:block}.popover-item{cursor:pointer;color:var(--navy);white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid var(--line-soft);padding:7px 10px;font-size:.88rem;transition:background .1s;overflow:hidden}.popover-item:last-child{border-bottom:none}.popover-item:hover,.popover-item.selected{background:var(--info-bg);color:var(--coral)}.type-select{z-index:20;background:var(--white);border:1px solid var(--line-soft);border-radius:var(--r-md);box-shadow:var(--sh-sm);opacity:0;pointer-events:none;flex-direction:column;align-items:stretch;gap:2px;width:32px;padding:2px;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:4px;right:calc(100% + 10px);transform:translate(4px)}.block:focus-within .type-select{opacity:1;pointer-events:auto;transform:translate(0)}.type-opt{color:var(--muted);font:inherit;letter-spacing:.01em;border-radius:var(--r-sm);cursor:pointer;text-align:center;background:0 0;border:none;padding:5px 0;font-size:.63rem;font-weight:600;line-height:1;transition:color .12s,background .12s}.type-opt:hover{color:var(--navy);background:var(--slate-50)}.type-opt.active{color:var(--navy);background:var(--sky);font-weight:700}.type-select .type-opt:not(.active):not(.cite-add){display:none}.type-select:hover .type-opt:not(.cite-add){display:block}.toc{width:200px;max-height:calc(100vh - 96px);color:var(--muted);padding:10px 6px;font-size:.78rem;position:fixed;top:68px;right:calc(50vw + 416px);overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 24px),#0000);mask-image:linear-gradient(#000 calc(100% - 24px),#0000)}.toc-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 4px 6px;font-size:.65rem;font-weight:600}.toc-item{text-align:left;width:100%;font:inherit;color:var(--muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;border-left:2px solid #0000;align-items:baseline;gap:6px;padding:3px 4px;line-height:1.3;transition:background .12s,color .12s;display:flex}.toc-num{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-weight:500}.toc-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.toc-item:hover{background:var(--slate-50);color:var(--navy)}.toc-item:hover .toc-num{color:var(--muted)}.toc-item.active{color:var(--navy);border-left-color:var(--coral);background:var(--slate-50);font-weight:600}.toc-item.active .toc-num{color:var(--navy)}.toc-item[data-level=h1]{color:var(--navy);padding-left:4px;font-weight:600}.toc-item[data-level=h2]{padding-left:10px}.toc-item[data-level=h3]{padding-left:18px;font-size:.73rem}.toc-item.empty .toc-label{color:var(--placeholder);font-style:italic}.toc-sources{margin-top:14px}.src-item{border-radius:var(--r-sm);border-left:2px solid #0000;align-items:baseline;gap:6px;padding:2px 4px;line-height:1.3;display:flex}.src-num{font:inherit;color:var(--coral);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-weight:600;transition:color .12s}.src-num:before{content:"["}.src-num:after{content:"]"}.src-num:hover{color:var(--coral-hover)}.src-input{min-width:0;font:inherit;color:var(--muted);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:.75rem}.src-input::placeholder{color:var(--placeholder);font-style:italic}.src-item:focus-within{background:var(--slate-50);border-left-color:var(--coral)}.src-item.target{background:var(--info-bg);border-left-color:var(--coral)}.src-remove{color:var(--placeholder);cursor:pointer;opacity:0;background:0 0;border:none;flex:none;padding:0 2px;font-size:.9rem;line-height:1;transition:opacity .15s,color .15s}.src-item:hover .src-remove,.src-item:focus-within .src-remove{opacity:1}.src-remove:hover{color:var(--coral)}.page-sources{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.page-sources .src-input{font-size:.95rem}.type-opt.cite-add{color:var(--coral);border-top:1px solid var(--line-soft);border-radius:0 0 var(--r-sm) var(--r-sm);margin-top:2px;padding-top:6px;font-size:.8rem;font-weight:700;display:block!important}.type-opt.cite-add:hover{color:var(--white);background:var(--coral)}@media (width<=1320px){.toc{display:none}}@media (width<=920px){.page{padding:72px 20px}.block{margin:0 8px}}.user-bar{z-index:200;background:var(--white);border-bottom:1px solid var(--line-soft);height:44px;box-shadow:var(--sh-sm);align-items:center;gap:16px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.user-bar-title{font-family:var(--font-display);color:var(--navy);letter-spacing:.02em;flex-shrink:0;font-size:.78rem;font-weight:600}.user-toggle{align-items:center;gap:6px;margin-left:auto;display:flex}.user-toggle-label{color:var(--muted);flex-shrink:0;font-size:.72rem}.toggle-btn{border:1.5px solid var(--line-soft);background:var(--slate-50);color:var(--muted);font-family:var(--font-body);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:500;transition:all .15s;display:flex}.toggle-btn:hover{color:var(--navy);border-color:var(--line)}.toggle-btn.active{background:var(--info-bg);border-color:var(--coral);color:var(--navy);font-weight:600}.toggle-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:inline-flex}.toggle-avatar.student{background:var(--sky);color:var(--navy)}.toggle-avatar.professor{color:#991b1b;background:#fee2e2}.comment-anchor{z-index:20;position:absolute;top:0;left:calc(100% + 14px)}.comment-trigger{border:1px solid var(--line-soft);background:var(--slate-50);color:var(--muted);cursor:pointer;white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:.8rem;transition:opacity .15s,background .15s,color .15s;display:flex}.block:hover .comment-trigger,.block:focus-within .comment-trigger{opacity:1;pointer-events:auto}.comment-trigger:hover{background:var(--line-soft);color:var(--navy)}.comment-trigger.professor{background:var(--info-bg);border-color:var(--sky);color:var(--navy)}.comment-trigger.professor:hover{background:var(--sky);color:var(--white)}.comment-trigger-label{font-size:.7rem;font-weight:600}.comment-panel{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--r-md);width:230px;box-shadow:var(--sh-sm);flex-direction:column;gap:0;display:flex;overflow:hidden}.comment-panel-header{background:var(--slate-50);border-bottom:1px solid var(--line-soft);align-items:center;gap:5px;padding:6px 10px;display:flex}.comment-icon{font-size:.85rem}.comment-count{color:var(--muted);font-size:.7rem;font-weight:600}.comment-thread{flex-direction:column;gap:6px;max-height:220px;padding:8px;display:flex;overflow-y:auto}.comment-thread::-webkit-scrollbar{width:4px}.comment-thread::-webkit-scrollbar-track{background:0 0}.comment-thread::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}.bubble-row{display:flex}.bubble-row.mine{justify-content:flex-end}.bubble{background:var(--slate-50);border:1px solid var(--line-soft);border-radius:var(--r-sm);flex-direction:column;gap:2px;max-width:85%;padding:5px 8px;display:flex}.bubble.mine{background:var(--info-bg);border-color:var(--sky)}.bubble-author{color:var(--muted);font-size:.62rem;font-weight:700;line-height:1}.bubble.mine .bubble-author{color:var(--coral)}.bubble-text{color:var(--navy);word-break:break-word;font-size:.72rem;line-height:1.4}.bubble-time{color:var(--placeholder);text-align:right;font-size:.6rem;line-height:1}.comment-input-row{border-top:1px solid var(--line-soft);align-items:center;gap:4px;padding:6px 8px;display:flex}.comment-input{border:1px solid var(--line-soft);border-radius:var(--r-sm);font-family:var(--font-body);color:var(--navy);background:var(--white);outline:none;flex:1;padding:4px 8px;font-size:.72rem;transition:border-color .15s}.comment-input::placeholder{color:var(--placeholder)}.comment-input:focus{border-color:var(--coral)}.comment-send{background:var(--coral);width:26px;height:26px;color:var(--white);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;transition:background .15s,opacity .15s;display:flex}.comment-send:hover{background:var(--coral-hover)}.comment-send:disabled{background:var(--line);cursor:default;opacity:.6}html[data-debug-outline=true] body *{outline-offset:-1px;outline:1px dashed #ef4444!important}.toc,.minimap{transition:opacity .22s}.toc.mm-hidden{opacity:0;pointer-events:none}.minimap{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--white);border:1px solid var(--line-soft);border-radius:var(--r-md);width:180px;height:calc(100vh - 96px);box-shadow:var(--sh-sm);z-index:30;opacity:0;pointer-events:none;flex-direction:column;display:flex;position:fixed;top:68px;right:calc(50vw + 416px);overflow:hidden}.minimap.mm-active{opacity:1;pointer-events:auto}.minimap-content{pointer-events:none;will-change:transform;flex-direction:column;gap:3px;width:100%;padding:4px 4px 4px 11px;display:flex}.mm-row{flex-direction:column;gap:1px;display:flex;position:relative}.mm-heading{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;color:var(--navy);line-height:1.2;overflow:hidden}.mm-heading[data-level=h1]{font-size:11px;font-weight:800}.mm-heading[data-level=h2]{padding-left:6px;font-size:10px;font-weight:700}.mm-heading[data-level=h3]{color:var(--muted);padding-left:12px;font-size:9px;font-weight:700}.mm-para{flex-direction:column;gap:1px;display:flex}.mm-bar{background:var(--line);border-radius:1px;height:1px}.mm-para[data-level=note] .mm-bar{opacity:.6;background:#fbbf24}.mm-dot{border:2px solid var(--white);cursor:pointer;pointer-events:auto;background:#991b1b;border-radius:9999px;width:9px;height:9px;padding:0;transition:transform .15s;position:absolute;top:0;left:-10px}.mm-dot:hover{transform:scale(1.35)}.mm-row.is-heading .mm-dot{top:50%;transform:translateY(-50%)}.mm-row.is-heading .mm-dot:hover{transform:translateY(-50%)scale(1.35)}.minimap-overlay{pointer-events:none;background:#2563eb24;border-radius:3px;transition:top 75ms ease-out,height 75ms ease-out;position:absolute;left:0;right:0}.minimap-overlay.dragging{transition:none}@media (width<=1320px){.minimap{display:none}}
