@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f8fafc;--surface: #ffffff;--surface-2: #f1f5f9;--surface-3: #e2e8f0;--border: rgba(15, 23, 42, .08);--text: #0f172a;--text-muted: #475569;--text-sub: #64748b;--accent: #4a8c89;--accent-hover: #4a8c89;--accent-soft: rgba(99, 102, 241, .1);--accent-2: #16a34a;--accent-2-soft: rgba(22, 163, 74, .1);--danger: #dc2626;--warn: #d97706;--font-display: "Montserrat";--font-body: "Montserrat";--r-sm: 8px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--shadow-sm: 0 2px 6px rgba(0,0,0,.06);--shadow-md: 0 10px 25px rgba(0,0,0,.08)}html{font-size:16px}body{background:linear-gradient(to bottom,#f8fafc,#eef2f7);color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;letter-spacing:-.02em}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:99px}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.25rem;border-radius:var(--r-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;border:none;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#4a8c89;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-sub)}.btn-sm{padding:.35rem .8rem;font-size:.8rem}.btn-danger{background:var(--danger);color:#fff}.backdrop,[class*=backdrop]{position:fixed;inset:0;z-index:9999;isolation:isolate}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:99px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.badge-purple{background:var(--accent-dim);color:var(--accent)}.badge-green{background:var(--accent-2-dim);color:var(--accent-2)}.badge-warn{background:#1c1103b3;color:var(--warn)}.card-lift{transition:border-color .2s,box-shadow .2s,transform .2s}.card-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:var(--r-lg);transition:border-color .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.loading-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input,.select,.textarea{width:100%;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-body);font-size:.9rem;padding:.6rem .9rem;outline:none;transition:border-color .15s}.input::placeholder,.textarea::placeholder{color:var(--text-sub)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.select{cursor:pointer}option{background:var(--surface-3)}.textarea{resize:vertical;min-height:90px}.label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem;letter-spacing:.03em;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:.35rem}.page-header{padding:3rem 0 2rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.page-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:var(--text);margin-bottom:.4rem}.page-sub{color:var(--text-muted);font-size:1rem}.empty{text-align:center;padding:5rem 2rem;color:var(--text-muted)}.empty-icon{font-size:3rem;margin-bottom:1rem}.error-msg{background:#f7706a14;border:1px solid rgba(247,112,106,.2);color:var(--danger);padding:.75rem 1rem;border-radius:var(--r-sm);font-size:.875rem}.stars{color:#f5c842;font-size:.85rem}:root{--white: #fff;--black: #2e2b29;--black-contrast: #110f0e;--gray-1: rgba(61, 37, 20, .05);--gray-2: rgba(61, 37, 20, .08);--gray-3: rgba(61, 37, 20, .12);--gray-4: rgba(53, 38, 28, .3);--gray-5: rgba(28, 25, 23, .6);--green: #22c55e;--purple: #6a00f5;--purple-contrast: #5800cc;--purple-light: rgba(88, 5, 255, .05);--yellow-contrast: #806b15;--yellow: rgba(250, 204, 21, .4);--yellow-light: #fffae5;--red: #78210b;--red-light: #ffebe5;--shadow: 0px 12px 33px 0px rgba(0, 0, 0, .06), 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)}.tiptap:first-child{margin-top:0}.tiptap blockquote{border-left:3px solid var(--gray-3);margin:1.5rem 0;padding-left:1rem}.bubble-menu{background-color:var(--white);border:1px solid var(--gray-1);border-radius:.7rem;box-shadow:var(--shadow);display:flex;padding:.2rem}.bubble-menu button{background-color:unset;border-radius:.5rem;border:none;color:var(--black);font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.15;padding:.375rem .625rem;transition:all .2s cubic-bezier(.65,.05,.36,1)}.bubble-menu button:hover{background-color:var(--gray-3)}.bubble-menu button.is-active{background-color:var(--purple);color:var(--white)}.bubble-menu button.is-active:hover{background-color:var(--purple-contrast)}.character-count{align-items:center;color:var(--gray-5);display:flex;font-size:.75rem;gap:.5rem;margin:1.5rem}.dark .character-count{color:#777}.character-count svg{color:var(--purple)}.character-count--warning,.character-count--warning svg{color:var(--red)}.floating-menu{display:flex;background-color:var(--gray-3);padding:.1rem;border-radius:.5rem;gap:.1rem}.floating-menu button{background-color:unset;padding:.275rem .425rem;border-radius:.3rem;flex-shrink:0}.floating-menu button:hover{background-color:var(--gray-3)}.floating-menu button.is-active{background-color:var(--white);color:var(--purple)}.floating-menu button.is-active:hover{color:var(--purple-contrast)}.Tiptap-invisible-character{height:0;padding:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:0}.Tiptap-invisible-character:before{caret-color:inherit;color:#aaa;display:inline-block;font-style:normal;font-weight:400;line-height:1em;width:0}.Tiptap-invisible-character--space:before{content:"·"}.Tiptap-invisible-character--break:before{content:"¬"}.Tiptap-invisible-character--paragraph:before{content:"¶"}.Tiptap-invisible-character+img.ProseMirror-separator{height:0!important;pointer-events:none;-webkit-user-select:none;user-select:none;width:0!important}.is-empty[data-placeholder].has-focus>.Tiptap-invisible-character{display:none}.tiptap .details{display:flex;gap:.25rem;margin:1.5rem 0;border:1px solid var(--gray-3);border-radius:.5rem;padding:.5rem}.tiptap .details summary{font-weight:700;list-style:none;margin:0}.tiptap .details>button{align-items:center;background:transparent;border-radius:4px;display:flex;font-size:.625rem;height:1.25rem;justify-content:center;line-height:1;margin-top:6px!important;padding:0;width:1.25rem}.tiptap .details>button:hover{background-color:var(--gray-3)}.tiptap .details>button:before{content:"▶";display:inline-block;position:relative}.tiptap .details.is-open>button:before{transform:rotate(90deg)}.tiptap .details>div{display:flex;flex-direction:column;gap:1rem;width:100%;margin:0}.tiptap .details>div>[data-type=detailsContent]>:last-child{margin-top:.5rem!important;margin-bottom:.5rem!important}.tiptap .details>div>[data-type=detailsContent]{margin-top:0!important;margin-bottom:0!important}.tiptap .details .details{margin:.5rem 0}[id^=drag-handle-] ::selection{background-color:#70cff850}.dark [id^=drag-handle-] .ProseMirror-hideselection *::selection{background-color:#e3508950!important}[id^=drag-handle-] .ProseMirror{padding:1rem 1rem 1rem 0;position:relative}[id^=drag-handle-] .ProseMirror *{margin-top:.75em}[id^=drag-handle-] .ProseMirror>*{margin-left:3rem}[id^=drag-handle-] .ProseMirror .ProseMirror-widget *{margin-top:auto}[id^=drag-handle-] .ProseMirror ul,[id^=drag-handle-] .ProseMirror ol{padding:0 1rem}[id^=drag-handle-] .ProseMirror-noderangeselection *::selection{background:transparent}[id^=drag-handle-] .ProseMirror-hideselection *::selection{background-color:#70cff850!important}[id^=drag-handle-] .ProseMirror-noderangeselection *{caret-color:transparent}[id^=drag-handle-] .ProseMirror-selectednode,[id^=drag-handle-] .ProseMirror-selectednoderange{position:relative}[id^=drag-handle-] .ProseMirror-selectednode:before,[id^=drag-handle-] .ProseMirror-selectednoderange:before{position:absolute;pointer-events:none;z-index:-1;content:"";inset:-.25rem;background-color:#70cff850;border-radius:.2rem}[id^=drag-handle-] .drag-handle{display:flex!important;align-items:center!important;justify-content:center!important;width:1rem;height:1.25rem;content:"⠿";margin-top:.3rem;font-weight:700;cursor:grab;background:#0d0d0d10;color:#0d0d0d;border-radius:.25rem}.dark [id^=drag-handle-] .drag-handle{background:#fff;color:#179df186}[id^=drag-handle-] .drag-handle:hover{transform:scale(1.1)!important}[data-type=emoji] img{height:1em;width:1em;display:inline;margin:0!important;padding:0!important}[data-type=mention]{background-color:#5805ff0d;border-radius:.4rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#6a00f5;padding:.1rem .3rem}.emoji-suggestion-popup .dropdown-menu button,.mention-suggestion-popup .mention-dropdown button{align-items:center;background-color:transparent;display:flex;gap:.25rem;text-align:left;width:100%}.emoji-suggestion-popup .dropdown-menu button:hover,.emoji-suggestion-popup .dropdown-menu button:hover.is-selected,.mention-suggestion-popup .mention-dropdown button:hover,.mention-dropdown button:hover.is-selected{background-color:#3d25141f}.emoji-suggestion-popup .dropdown-menu button.is-selected,.mention-suggestion-popup .mention-dropdown button.is-selected{background-color:#3d251414}.emoji-suggestion-popup .dropdown-menu button img,.mention-suggestion-popup .dropdown-menu button img{height:1em;width:1em}.emoji-suggestion-popup,.mention-suggestion-popup{transform-origin:center!important}.emoji-suggestion-popup .dropdown-menu,.mention-suggestion-popup .mention-dropdown{background:#fff;border:1px solid rgba(61,37,20,.05);border-radius:.7rem;box-shadow:0 12px 33px #0000000f,0 3.618px 9.949px #0000000a;display:flex;flex-direction:column;gap:.1rem;overflow:auto;padding:.6rem;position:relative;min-width:200px;max-width:300px;width:max-content}.tiptap mark{background-color:#faf594;border-radius:.4rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.1rem .3rem}.tiptap hr{border:none;border-top:1px solid var(--gray-2);cursor:pointer;margin:2rem 0}.tiptap hr.ProseMirror-selectednode{border-top:1px solid var(--purple)!important}p.is-editor-empty:first-child:before{color:var(--gray-4);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.dark p.is-editor-empty:first-child:before{color:#666}summary.is-empty:before{color:var(--gray-4);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.dark summary.is-empty:before{color:#666}[data-type=detailsContent].is-empty:before{color:var(--gray-4);content:attr(data-placeholder);float:left;height:0;pointer-events:none;position:relative;top:.5rem}.dark [data-type=detailsContent].is-empty:before{color:#666}[id^=drag-handle-] [data-type=detailsContent].is-empty:before{top:.5rem}.tiptap table{border-collapse:collapse;margin:0;overflow:hidden;table-layout:fixed;width:100%}.tiptap table td,.tiptap table th{border:1px solid var(--gray-3);box-sizing:border-box;min-width:1em;padding:6px 8px;position:relative;vertical-align:top}.tiptap table td>*,.tiptap table th>*{margin-bottom:0}.tiptap table th{background-color:var(--gray-1);font-weight:700;text-align:left}.tiptap table .selectedCell:after{background:var(--gray-2);content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.tiptap table .column-resize-handle{background-color:var(--purple);bottom:-2px;pointer-events:none;position:absolute;right:-2px;top:0;width:4px}.tiptap .tableWrapper{margin:1.5rem 0;overflow-x:auto}.tiptap.resize-cursor{cursor:col-resize}.tiptap ul,.tiptap ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem}.tiptap ul li p,.tiptap ol li p{margin-bottom:.15em}.tiptap .tiptap-mathematics-render{padding:0 .25rem}.tiptap .tiptap-mathematics-render--editable{cursor:pointer;transition:background .2s}.tiptap .tiptap-mathematics-render--editable:hover{background:#eee}.tiptap .tiptap-mathematics-render{border-radius:.25rem}.tiptap .tiptap-mathematics-render[data-type=inline-math]{display:inline-block}.tiptap .tiptap-mathematics-render[data-type=block-math]{display:block;margin:1rem 0;padding:1rem;text-align:center}.tiptap .tiptap-mathematics-render.inline-math-error,.tiptap .tiptap-mathematics-render.block-math-error{background:var(--red-light);color:var(--red);border:1px solid var(--red-dark);padding:.5rem;border-radius:.25rem}.tiptap ul[data-type=taskList]{list-style:none;margin-left:0;padding:.2em}.tiptap ul[data-type=taskList] li{align-items:flex-start;display:flex;margin:0!important;padding:.3em!important;gap:.5rem}.tiptap ul[data-type=taskList] li>label{flex:0 0 auto;-webkit-user-select:none;user-select:none;margin-top:-.1em!important}.tiptap ul[data-type=taskList] li>div{flex:1 1 auto;margin:0!important;padding:0!important;min-width:0}.tiptap ul[data-type=taskList] input[type=checkbox]{cursor:pointer;margin:0;flex-shrink:0}.tiptap ul[data-type=taskList] ul[data-type=taskList]{margin:0!important}.tiptap ul[data-type=taskList] li>label span{display:inline-block}.tiptap ul[data-type=taskList] li p{margin:0!important}#toc-ex .col-group{display:flex;flex-direction:row}@media(max-width:540px){#toc-ex .col-group{flex-direction:column-reverse}}#toc-ex .main{display:flex;flex-direction:column;width:100%;height:100%;overflow:auto}#toc-ex .sidebar{border-left:1px solid var(--gray-3);flex-grow:0;flex-shrink:0;padding:1rem;width:15rem;position:sticky;height:100vh;top:0}@media(min-width:800px){#toc-ex .sidebar{width:20rem}}@media(max-width:540px){#toc-ex .sidebar{border-bottom:1px solid var(--gray-3);border-left:unset;width:100%;height:auto;position:unset;padding:1.5rem}}#toc-ex .sidebar-options{align-items:flex-start;display:flex;flex-direction:column;height:100%;gap:1rem;position:sticky;top:1rem}#toc-ex .table-of-contents{display:flex;flex-direction:column;font-size:.875rem;gap:.25rem;overflow:auto;text-decoration:none}#toc-ex .table-of-contents>div{border-radius:.25rem;padding-left:calc(.875rem * (var(--level) - 1));transition:all .2s cubic-bezier(.65,.05,.36,1)}#toc-ex .table-of-contents>div:hover{background-color:var(--gray-2)}#toc-ex .table-of-contents .empty-state{color:var(--gray-5);-webkit-user-select:none;user-select:none}#toc-ex .table-of-contents .is-active a{color:var(--purple)}#toc-ex .table-of-contents .is-scrolled-over a{color:var(--gray-5)}.dark #toc-ex .table-of-contents a,.dark #toc-ex .table-of-contents .is-scrolled-over a{color:#888}#toc-ex .table-of-contents a{color:var(--black);display:flex;gap:.25rem;text-decoration:none}#toc-ex .table-of-contents a:before{content:attr(data-item-index) "."}.tiptap div[data-youtube-video]{cursor:move;padding-right:1.5rem}.tiptap div[data-youtube-video] iframe{border:.5rem solid var(--black-contrast);display:block;min-height:200px;min-width:200px;outline:0px solid transparent}.tiptap div[data-youtube-video].ProseMirror-selectednode iframe{outline:3px solid var(--purple);transition:outline .15s}.my-custom-class{border:2px solid rgb(150,238,206)}.layout.svelte-12qhfyh{display:flex;flex-direction:column;min-height:100vh}.menu-btn.svelte-12qhfyh{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:1.2rem;cursor:pointer;align-items:center;justify-content:center}.mobile-wrap.svelte-12qhfyh{display:flex;align-items:center;gap:1rem}@media(max-width:768px){.topbar.svelte-12qhfyh{padding:0 1rem;height:72px;position:sticky}.menu-btn.svelte-12qhfyh{display:flex}.mobile-wrap.svelte-12qhfyh{position:absolute;top:calc(100% + .75rem);left:1rem;right:1rem;display:none;flex-direction:column;gap:1rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 30px #0000001f;z-index:200}.mobile-wrap.open.svelte-12qhfyh{display:flex}.nav.svelte-12qhfyh{flex-direction:column;width:100%;gap:.35rem}.nav-link.svelte-12qhfyh{width:100%;padding:.9rem 1rem;border-radius:12px;font-size:.95rem}.user-zone.svelte-12qhfyh{width:100%;padding-top:1rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem}.user-email.svelte-12qhfyh{max-width:150px}}.topbar.svelte-12qhfyh{display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:84px;background:var(--surface);border-bottom:1px solid var(--border);position:relative;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand.svelte-12qhfyh{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-.02em}.nav.svelte-12qhfyh{display:flex;gap:.25rem}.nav-link.svelte-12qhfyh{padding:.4rem .9rem;border-radius:6px;font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:all .15s}.nav-link.svelte-12qhfyh:hover{color:var(--text);background:var(--surface-2)}.nav-link.active.svelte-12qhfyh{color:var(--accent);background:var(--accent-dim)}.user-zone.svelte-12qhfyh{display:flex;align-items:center;gap:.75rem}.user-email.svelte-12qhfyh{font-size:.8rem;color:var(--text-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout.svelte-12qhfyh{padding:.35rem .85rem;border-radius:6px;font-size:.8rem;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.btn-logout.svelte-12qhfyh:hover{background:var(--surface-2);color:var(--text)}.btn-login.svelte-12qhfyh{padding:.35rem .85rem;border-radius:6px;font-size:.8rem;font-weight:500;background:var(--accent);color:#fff;text-decoration:none;transition:opacity .15s}.btn-login.svelte-12qhfyh:hover{opacity:.85}.main.svelte-12qhfyh{flex:1}.footer.svelte-12qhfyh{padding:1.5rem 2rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted);text-align:center}
