.koen-editor,:root{--editor-bg: #1a1816;--editor-fg: #e8e6e3;--editor-cursor: #e8e6e3;--editor-selection: rgba(193, 95, 60, .15);--editor-line-highlight: rgba(255, 255, 255, .03);--editor-line-number: #4a4540;--editor-line-number-active: #8a8078;--widget-bg: #222220;--widget-border: #3a3530;--sidebar-bg: #1a1816;--accent: #C15F3C;--highlight-bg: rgba(193, 95, 60, .12);--highlight-bg-hover: rgba(193, 95, 60, .2);--highlight-border: rgba(193, 95, 60, .35);--button-hover-bg: #A14A2F;--icon-fg: #6A6A70;--panel-bg: #1a1816;--tab-fg-inactive: #888}.koen-editor[data-theme=light]{--editor-bg: #faf8f5;--editor-fg: #2a2520;--editor-cursor: #2a2520;--editor-selection: rgba(193, 95, 60, .12);--editor-line-highlight: rgba(0, 0, 0, .03);--editor-line-number: #b0a898;--editor-line-number-active: #6a6058;--widget-bg: #f0ece6;--widget-border: #d8d0c8;--sidebar-bg: #faf8f5;--accent: #C15F3C;--highlight-bg: rgba(193, 95, 60, .18);--highlight-bg-hover: rgba(193, 95, 60, .3);--highlight-border: rgba(193, 95, 60, .45);--button-hover-bg: #A14A2F;--icon-fg: #8a8078;--panel-bg: #faf8f5;--tab-fg-inactive: #999}.koen-file-tree{display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden;background:var(--sidebar-bg, var(--editor-bg));color:var(--editor-fg);font-size:13px;user-select:none;-webkit-user-select:none}.koen-tree-title{padding:10px 12px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.5}.koen-tree-list{padding:4px 0}.koen-tree-row{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;border-radius:4px;margin:0 4px}.koen-tree-row:hover{background:#8080801a}.koen-tree-row.active{background:#8080802e}.koen-tree-row.dir{font-weight:500}.koen-tree-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.koen-tree-chevron{flex-shrink:0;transition:transform .15s ease;opacity:.5}.koen-tree-chevron.open{transform:rotate(90deg)}.koen-tree-root{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.koen-file-badge,.tree-file-badge{flex-shrink:0;font-size:10px;font-weight:700;color:#6a9fd4;width:16px;text-align:center}.koen-editor,.koen-editor *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.koen-editor ::-webkit-scrollbar{width:8px;height:8px}.koen-editor ::-webkit-scrollbar-track{background:transparent}.koen-editor ::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.koen-editor ::-webkit-scrollbar-thumb:hover{background:#ffffff40}.koen-editor[data-theme=light],.koen-editor[data-theme=light] *{scrollbar-color:rgba(0,0,0,.15) transparent}.koen-editor[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000026}.koen-editor[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000040}.koen-editor ::selection{background:var(--editor-selection)}.koen-editor{display:flex;flex-direction:column;height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.koen-editor .editor-main{display:flex;flex:1;min-height:0;position:relative}.koen-editor .editor-container{flex:1;min-width:0;overflow:auto}.koen-editor .koen-editor-cm,.koen-editor .koen-editor-cm .cm-editor{height:100%}.koen-editor-cm[data-readonly] .cm-cursor{display:none!important}.cm-comment-highlight{background:var(--highlight-bg);border-bottom:1.5px solid var(--highlight-border);border-radius:2px;cursor:pointer}.cm-comment-highlight:hover{background:var(--highlight-bg-hover)}.md-preview-content [data-comment-highlight]{background:var(--highlight-bg);border-bottom:1.5px solid var(--highlight-border);border-radius:2px;cursor:pointer;transition:background .15s ease}.md-preview-content [data-comment-highlight]:hover,.md-preview-content [data-comment-highlight].popover-hovered{background:var(--highlight-bg-hover)}.preview-comment-popover{position:absolute;z-index:60;width:100%;left:0;background:var(--sidebar-bg);border:1px solid var(--widget-border, #2E2E32);border-radius:10px;padding:8px;font-size:12px;animation:popover-fade-in .25s cubic-bezier(.16,1,.3,1) both;transition:top .25s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1) .25s,box-shadow .15s ease;max-height:400px;overflow:hidden;display:flex;flex-direction:column}.preview-comment-popover .comment-thread-scroll{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;margin-right:-8px}.preview-comment-popover:hover .comment-thread-scroll{scrollbar-color:rgba(128,128,128,.3) transparent}.preview-comment-popover .comment-thread-scroll.scrolled{mask-image:linear-gradient(to bottom,transparent 0%,black 24px,black 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 24px,black 100%)}.preview-comment-popover .comment-thread-scroll::-webkit-scrollbar{width:4px}.preview-comment-popover .comment-thread-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:2px}.preview-comment-popover:hover .comment-thread-scroll::-webkit-scrollbar-thumb{background:#8080804d}.preview-comment-popover .comment-reply-box{position:sticky;bottom:0;flex-shrink:0;background:var(--sidebar-bg)}.popover-actions{position:absolute;top:8px;right:8px;z-index:2;display:flex;gap:2px;opacity:0;transition:opacity .12s ease}.preview-comment-popover:hover .popover-actions,.preview-comment-popover.expanded .popover-actions{opacity:1}.popover-action-btn{background:none;border:none;color:var(--icon-fg, #6A6A70);cursor:pointer;padding:4px;border-radius:4px;transition:background .12s ease,color .12s ease,transform .12s ease;display:flex;align-items:center;justify-content:center}.popover-action-btn:hover{background:#ffffff0f;color:var(--editor-fg)}.popover-action-btn:active{transform:scale(.9)}.popover-delete-btn:hover{color:#e05050}.preview-comment-popover.expanded{position:fixed!important;top:var(--popover-top-abs, 80px)!important;left:var(--popover-left-abs, auto);bottom:16px;width:calc(100vw - var(--popover-left-abs, 50%) - 16px);max-width:480px;max-height:none;height:auto;z-index:100;box-shadow:0 4px 20px #0000004d;animation:popover-expand .3s cubic-bezier(.22,1,.36,1) both}.preview-comment-popover.expanded .comment-thread-scroll{max-height:none;flex:1;padding:8px 16px}.preview-comment-popover.expanded .comment-reply-box{padding:10px 16px}.preview-comment-popover.expanded .comment-text{font-size:14px;line-height:1.7}@keyframes popover-expand{0%{opacity:0;transform:scale(.97)}70%{opacity:1;transform:scale(1.008)}to{opacity:1;transform:scale(1)}}.preview-comment-popover.highlighted{box-shadow:0 4px 12px -2px #0003;transform:scale(1.01)}@keyframes popover-fade-in{0%{opacity:0;transform:translateY(6px) scale(.96)}70%{opacity:1;transform:translateY(-1px) scale(1.012)}to{opacity:1;transform:translateY(0) scale(1)}}.preview-comment-popover.exiting{animation:popover-exit .15s cubic-bezier(.4,0,1,1) forwards}@keyframes popover-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(4px) scale(.97)}}.preview-comment-popover.dimmed{opacity:0!important;pointer-events:none;transition:opacity .15s cubic-bezier(.4,0,1,1)}.preview-comment-popover.submitted{animation:popover-settle .2s cubic-bezier(.16,1,.3,1)}@keyframes popover-settle{0%{opacity:.8;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.preview-comment-popover.no-animate{animation:none!important}.comment-thread-item{padding:4px 0}.comment-thread-line{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-thread-line .comment-meta{display:flex;flex-direction:column;gap:1px}.comment-thread-content{min-width:0;padding-bottom:8px}.comment-thread-meta{display:flex;align-items:baseline;gap:6px}.preview-comment-popover .comment-reply-box{margin-top:4px;padding-top:4px}.comment-pill{position:absolute;z-index:50;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:5px 12px;background:var(--accent, #C15F3C);color:#fff;font-size:12px;font-weight:500;font-family:inherit;letter-spacing:-.01em;line-height:16px;border:1px solid var(--widget-border, rgba(255, 255, 255, .1));border-radius:8px;cursor:pointer;transition:background .12s ease,transform .12s cubic-bezier(.16,1,.3,1) .18s;pointer-events:auto;animation:pill-appear .18s cubic-bezier(.16,1,.3,1) both}@keyframes pill-appear{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(4px)}70%{opacity:1;transform:translate(-50%) scale(1.01) translateY(-1px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@keyframes pill-appear-below{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(-4px)}70%{opacity:1;transform:translate(-50%) scale(1.01) translateY(1px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.comment-pill-below{animation:pill-appear-below .18s cubic-bezier(.16,1,.3,1) both}.comment-pill:hover{background:var(--button-hover-bg, #A14A2F);transform:translate(-50%) scale(1.03)}.comment-pill:active{transform:translate(-50%) scale(.97)}.pill-keys{display:inline-flex;gap:2px;margin-left:6px}.pill-keys kbd{font-family:inherit;font-size:10px;line-height:1;padding:1px 4px;border-radius:3px;background:#ffffff26;opacity:.8}.comment-margin{width:280px;flex-shrink:0;position:relative;overflow-y:auto;overflow-x:hidden;padding:8px 8px 8px 0}.comment-card-wrapper{position:absolute;left:0;right:8px;transition:top .15s ease-out}.comment-card{background:var(--widget-bg, #222225);border:1px solid var(--widget-border, #2E2E32);border-radius:10px;overflow:hidden;font-size:12px;cursor:default;transition:border-color .15s}.comment-card:hover{border-color:var(--widget-border-hover, #444)}.comment-card.active{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.comment-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px}.comment-card-author{display:flex;align-items:center;gap:8px}.comment-avatar{width:20px;height:20px;border-radius:4px;overflow:hidden;flex-shrink:0}.comment-avatar.small{width:20px;height:20px}.comment-meta{display:flex;flex-direction:column;gap:1px}.comment-name{color:var(--editor-fg, #E8E8EA);font-weight:500;line-height:16px}.comment-time{color:var(--icon-fg, #6A6A70);font-size:11px;line-height:14px}.comment-menu{background:none;border:none;color:var(--icon-fg, #6A6A70);cursor:pointer;padding:3px;border-radius:4px;opacity:0;transition:opacity .1s;display:flex;align-items:center;justify-content:center}.comment-card:hover .comment-menu,.comment-card.active .comment-menu,.preview-comment-popover:hover .comment-menu{opacity:1}.comment-menu:hover{background:#ffffff0f;color:var(--editor-fg)}.comment-card-body{padding:0 14px 12px}.comment-text{color:var(--editor-fg, #CDCDD0);opacity:.85;line-height:20px;margin:0}.comment-body-wrap{position:relative}.comment-text-limit{max-height:80px;overflow:hidden}.comment-text-clamp{mask-image:linear-gradient(to bottom,black 50px,transparent 80px);-webkit-mask-image:linear-gradient(to bottom,black 50px,transparent 80px)}.comment-body-wrap.expanded .comment-text-limit{max-height:none}.comment-body-wrap.expanded .comment-text-clamp{mask-image:none;-webkit-mask-image:none}.comment-view-more{display:block;background:none;border:none;color:var(--accent, #C15F3C);font-size:11px;font-family:inherit;cursor:pointer;padding:2px 0;opacity:.8}.comment-view-more:hover{opacity:1}.comment-reply{padding:10px 14px 10px 28px}.comment-reply .comment-text{margin-top:6px}.comment-reply-box{display:flex;align-items:flex-end;gap:8px;padding:10px 14px}.comment-reply-input{flex:1;background:none;border:none;outline:none;color:var(--editor-fg);font-size:12px;font-family:inherit;resize:none;line-height:1.4;max-height:120px;overflow-y:auto;scrollbar-width:none}.comment-reply-input::-webkit-scrollbar{display:none}.comment-reply-input::placeholder{color:var(--icon-fg, #5A5A60)}.comment-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accent, #C15F3C);border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0}.comment-send:hover{background:var(--button-hover-bg, #A14A2F)}.comment-input{width:100%;background:none;border:none;outline:none;color:var(--editor-fg);font-size:12px;font-family:inherit;line-height:20px;resize:none}.comment-input::placeholder{color:var(--icon-fg, #5A5A60)}.comment-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.comment-cancel{background:none;border:none;color:var(--icon-fg);font-size:12px;cursor:pointer;padding:4px 8px}.comment-cancel:hover{color:var(--editor-fg)}.comment-post{background:var(--accent, #C15F3C);border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px;cursor:pointer}.comment-post:hover{background:var(--button-hover-bg, #A14A2F)}.comment-md p{margin:0 0 .4em}.comment-md p:last-child{margin-bottom:0}.comment-md pre{margin:.4em 0;font-size:11px;overflow-x:auto;background:#00000026;padding:4px 6px;border-radius:3px}.comment-md code{font-size:11px;background:#0000001f;padding:1px 3px;border-radius:2px}.comment-md pre code{background:none;padding:0}.comment-md ul,.comment-md ol{margin:.3em 0;padding-left:1.4em}.comment-md blockquote{margin:.3em 0;padding-left:8px;border-left:2px solid var(--widget-border, #333);opacity:.8}.comment-md h1,.comment-md h2,.comment-md h3,.comment-md h4{margin:.4em 0 .2em;font-size:inherit}.md-preview{display:flex;justify-content:center;padding:32px 48px;gap:32px;position:relative;color:var(--editor-fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.7}.md-preview-inner{max-width:760px;width:100%;flex-shrink:1;min-width:0;position:relative}.md-preview-margin{width:280px;flex-shrink:0;position:relative}.md-preview-content .frontmatter{font-weight:300;font-size:.82em;line-height:1.55;border-top:1px solid var(--widget-border);border-bottom:1px solid var(--widget-border);padding:10px 0;margin-bottom:24px}.md-preview h1,.md-preview h2,.md-preview h3,.md-preview h4,.md-preview h5,.md-preview h6{color:var(--editor-fg);margin-top:1.6em;margin-bottom:.6em;line-height:1.3;font-weight:600}.md-preview h1{font-size:1.8em;padding-bottom:.3em;border-bottom:1px solid var(--widget-border)}.md-preview h2{font-size:1.4em;padding-bottom:.25em;border-bottom:1px solid var(--widget-border)}.md-preview h3{font-size:1.15em}.md-preview h4{font-size:1em}.md-preview p{margin:0 0 1em}.md-preview a{color:var(--accent);text-decoration:none}.md-preview a:hover{text-decoration:underline}.md-preview strong{color:var(--editor-fg);font-weight:600}.md-preview em{font-style:italic}.md-preview blockquote{margin:0 0 1em;padding:.5em 1em;border-left:3px solid var(--accent);background:var(--widget-bg);border-radius:0 4px 4px 0}.md-preview blockquote p:last-child{margin-bottom:0}.md-preview ul,.md-preview ol{margin:0 0 1em;padding-left:1.8em}.md-preview li{margin-bottom:.3em}.md-preview li>ul,.md-preview li>ol{margin-top:.3em;margin-bottom:0}.md-preview code{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.88em;background:var(--widget-bg);padding:.15em .4em;border-radius:3px;color:var(--accent)}.md-preview pre{margin:0 0 1em;padding:14px 18px;background:var(--sidebar-bg);border:1px solid var(--widget-border);border-radius:6px;overflow-x:auto;scrollbar-width:none;line-height:1.5}.md-preview pre::-webkit-scrollbar{display:none}.md-preview pre .code-copy-btn{position:absolute;top:6px;right:6px;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--editor-fg);opacity:0;cursor:pointer;transition:opacity .15s,background .15s;line-height:1}.md-preview pre:hover .code-copy-btn{opacity:.5}.md-preview pre .code-copy-btn:hover{opacity:1;background:var(--widget-bg)}.md-preview pre .code-copy-btn.copied{opacity:1;color:#a8c076}.md-preview pre code{background:none;padding:0;border-radius:0;color:var(--editor-fg);font-size:13px}.md-preview pre code .hljs-comment{color:#5a554d;font-style:italic}.md-preview pre code .hljs-string{color:#a8c076}.md-preview pre code .hljs-number,.md-preview pre code .hljs-literal{color:#d4a06a}.md-preview pre code .hljs-keyword{color:#c47a5a}.md-preview pre code .hljs-built_in,.md-preview pre code .hljs-function,.md-preview pre code .hljs-title{color:#d4b87a}.md-preview pre code .hljs-type,.md-preview pre code .hljs-class{color:#c4a872}.md-preview pre code .hljs-variable{color:#e8e6e3}.md-preview pre code .hljs-attr,.md-preview pre code .hljs-property{color:#c4b8a8}.md-preview pre code .hljs-tag,.md-preview pre code .hljs-name{color:#c47a5a}.md-preview pre code .hljs-attribute{color:#d4a06a}.md-preview pre code .hljs-punctuation,.md-preview pre code .hljs-meta{color:#7a7068}.md-preview pre code .hljs-selector-class,.md-preview pre code .hljs-selector-id,.md-preview pre code .hljs-selector-tag{color:#c47a5a}.md-preview pre code .hljs-regexp{color:#a8c076}.md-preview pre code .hljs-symbol{color:#d4a06a}.md-preview pre code .hljs-params{color:#e8e6e3}.koen-editor[data-theme=light] .md-preview pre code .hljs-comment{color:#9a9080}.koen-editor[data-theme=light] .md-preview pre code .hljs-string{color:#607040}.koen-editor[data-theme=light] .md-preview pre code .hljs-number,.koen-editor[data-theme=light] .md-preview pre code .hljs-literal{color:#a0652a}.koen-editor[data-theme=light] .md-preview pre code .hljs-keyword{color:#b04a30}.koen-editor[data-theme=light] .md-preview pre code .hljs-built_in,.koen-editor[data-theme=light] .md-preview pre code .hljs-function,.koen-editor[data-theme=light] .md-preview pre code .hljs-title{color:#8a6030}.koen-editor[data-theme=light] .md-preview pre code .hljs-type,.koen-editor[data-theme=light] .md-preview pre code .hljs-class{color:#7a5a3a}.koen-editor[data-theme=light] .md-preview pre code .hljs-variable{color:#2a2520}.koen-editor[data-theme=light] .md-preview pre code .hljs-attr,.koen-editor[data-theme=light] .md-preview pre code .hljs-property{color:#6a5a48}.koen-editor[data-theme=light] .md-preview pre code .hljs-tag,.koen-editor[data-theme=light] .md-preview pre code .hljs-name{color:#b04a30}.koen-editor[data-theme=light] .md-preview pre code .hljs-attribute{color:#a0652a}.koen-editor[data-theme=light] .md-preview pre code .hljs-punctuation{color:#5a5048}.koen-editor[data-theme=light] .md-preview pre code .hljs-meta{color:#9a9080}.koen-editor[data-theme=light] .md-preview pre code .hljs-selector-class,.koen-editor[data-theme=light] .md-preview pre code .hljs-selector-id,.koen-editor[data-theme=light] .md-preview pre code .hljs-selector-tag{color:#b04a30}.koen-editor[data-theme=light] .md-preview pre code .hljs-regexp{color:#607040}.koen-editor[data-theme=light] .md-preview pre code .hljs-symbol{color:#a0652a}.koen-editor[data-theme=light] .md-preview pre code .hljs-params{color:#2a2520}.md-preview hr{border:none;border-top:1px solid var(--widget-border);margin:2.5em 0}.md-preview table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.88em}.md-preview th,.md-preview td{padding:8px 12px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--editor-fg) 10%,transparent)}.md-preview th{font-weight:600;font-size:.8em;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--editor-fg) 50%,transparent);border-bottom:2px solid color-mix(in srgb,var(--editor-fg) 15%,transparent);padding-bottom:6px}.md-preview img{max-width:100%;border-radius:6px}.md-preview li:has(>input[type=checkbox]){list-style:none;margin-left:-1.4em}.md-preview input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--widget-border);border-radius:3px;background:transparent;vertical-align:middle;margin-right:6px;cursor:pointer;position:relative}.md-preview input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.koen-widget-placeholder{position:relative;margin:2em 0;min-height:60px}.koen-widget-placeholder canvas{max-width:100%}.koen-widget-expand-btn{position:absolute;top:8px;right:8px;z-index:10;width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;background:#0000000d;color:inherit}.koen-widget-placeholder:hover .koen-widget-expand-btn{opacity:.6}.koen-widget-expand-btn:hover{opacity:1!important;background:#0000001a}.koen-widget-overlay-backdrop{position:fixed;inset:0;z-index:9999;background:#0009;display:flex;align-items:center;justify-content:center;animation:koen-overlay-fade-in .15s ease}@keyframes koen-overlay-fade-in{0%{opacity:0}to{opacity:1}}.koen-widget-overlay-panel{position:relative;width:calc(100vw - 80px);height:calc(100vh - 80px);max-width:1400px;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.koen-widget-overlay-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.koen-widget-overlay-close{position:absolute;top:12px;right:12px;z-index:1;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#ffffff14;transition:background .15s}.koen-widget-overlay-close:hover{background:#ffffff26}.koen-diff-widget{overflow:hidden;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:13px;line-height:1.55;border-radius:6px}.koen-diff-header{padding:0 0 6px;font-size:12px;font-weight:600;color:color-mix(in srgb,var(--editor-fg) 60%,transparent);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-transform:uppercase;letter-spacing:.04em}.koen-diff-summary{padding:0 0 8px;font-size:12px;color:var(--icon-fg, #6A6A70);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.koen-diff-table{width:100%;border-collapse:collapse;border-spacing:0;border:none}.koen-diff-table tr{border:none}.koen-diff-row td{padding:0;vertical-align:top;white-space:pre;border:none!important}.koen-diff-num{width:1px;min-width:36px;padding:0 8px!important;text-align:right;color:#e8e6e359;font-size:13px;-webkit-user-select:none;user-select:none}.koen-diff-prefix{width:1px;padding:0 6px 0 2px!important;-webkit-user-select:none;user-select:none;font-weight:700}.koen-diff-code{width:100%;padding:0 14px 0 4px!important}.koen-diff-row.koen-diff-equal{background:var(--sidebar-bg, #1a1816)}.koen-diff-row.koen-diff-add{background:#28782859}.koen-diff-row.koen-diff-add .koen-diff-prefix{color:#6ddc6d}.koen-diff-row.koen-diff-add .koen-diff-num{color:#6ddc6d99}.koen-diff-row.koen-diff-remove{background:#b4281e66}.koen-diff-row.koen-diff-remove .koen-diff-prefix{color:#f06060}.koen-diff-row.koen-diff-remove .koen-diff-num{color:#f0606099}.koen-editor[data-theme=light] .koen-diff-num{color:#2a252059}.koen-editor[data-theme=light] .koen-diff-row.koen-diff-add{background:#288c282e}.koen-editor[data-theme=light] .koen-diff-row.koen-diff-add .koen-diff-prefix{color:#2d8a2d}.koen-editor[data-theme=light] .koen-diff-row.koen-diff-add .koen-diff-num{color:#2d8a2d99}.koen-editor[data-theme=light] .koen-diff-row.koen-diff-remove{background:#c8281e2e}.koen-editor[data-theme=light] .koen-diff-row.koen-diff-remove .koen-diff-prefix{color:#c03020}.koen-editor[data-theme=light] .koen-diff-row.koen-diff-remove .koen-diff-num{color:#c0302099}.citation-ref{font-size:.75em;line-height:1;vertical-align:super}.citation-ref a{color:var(--accent, #C15F3C);text-decoration:none;padding:0 1px;cursor:pointer;position:relative}.citation-ref a:hover{text-decoration:underline}.citation-tooltip{position:absolute;z-index:80;background:var(--sidebar-bg, #1a1816);color:var(--editor-fg, #e8e6e3);border:1px solid var(--widget-border, #3a3530);border-radius:8px;padding:8px 12px;font-size:12px;line-height:1.6;width:max-content;max-width:360px;pointer-events:none;box-shadow:0 4px 12px #0000004d;font-weight:400;animation:popover-fade-in .1s ease-out}.citation-tooltip code{background:#80808026;padding:1px 4px;border-radius:3px;font-size:11px}.citation-tooltip pre{background:#0003;padding:6px 8px;border-radius:4px;overflow-x:auto;margin:4px 0;font-size:11px}.citation-tooltip pre code{background:none;padding:0}.citations-section{margin-top:3em;padding-top:1.5em;border-top:1px solid var(--widget-border, #3a3530)}.citations-section h2{font-size:1.1em;margin-bottom:.8em;opacity:.7}.citations-list{padding-left:1.8em;font-size:.9em;opacity:.8;line-height:1.7}.citations-list li{margin-bottom:.4em}.preview-scroll{overflow-y:auto}@media(max-width:960px){.md-preview-margin{display:none}.comment-bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--sidebar-bg);border-top:1px solid var(--widget-border, #2E2E32);border-radius:12px 12px 0 0;max-height:60vh;display:flex;flex-direction:column;animation:sheet-up .25s cubic-bezier(.16,1,.3,1);font-size:13px}.comment-bottom-sheet .comment-thread-scroll{flex:1;overflow-y:auto;padding:12px 16px;scrollbar-width:none}.comment-bottom-sheet .comment-reply-box{padding:8px 16px 16px;flex-shrink:0}.comment-bottom-sheet-handle{width:36px;height:4px;background:var(--widget-border, #3a3530);border-radius:2px;margin:8px auto;flex-shrink:0}.comment-bottom-sheet-backdrop{position:fixed;inset:0;z-index:99;background:#0006;animation:popover-fade-in .15s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media(max-width:640px){.md-preview{padding:20px 16px}.comment-pill{padding:8px 16px;font-size:14px;border-radius:10px}.pill-keys{display:none}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:var(--editor-bg, #1a1816);color:var(--editor-fg, #e8e6e3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.folder-view{display:grid;grid-template-columns:240px 1fr;height:100%;overflow:hidden;transition:grid-template-columns .3s cubic-bezier(.16,1,.3,1)}.folder-view.sidebar-collapsed{grid-template-columns:0fr 1fr;transition:grid-template-columns .2s cubic-bezier(.4,0,1,1)}.folder-view.no-sidebar{grid-template-columns:1fr}.folder-sidebar{position:relative;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--widget-border, #3a3530);display:flex;flex-direction:column}.folder-sidebar .koen-file-tree{scrollbar-width:none}.folder-sidebar .koen-file-tree::-webkit-scrollbar{display:none}.folder-sidebar>:not(.sidebar-header){width:240px}.folder-view.sidebar-collapsed .folder-sidebar{border-right-color:transparent}.sidebar-header{display:flex;align-items:center;min-height:32px;padding:4px 8px;width:240px;box-sizing:border-box}.sidebar-action{background:none;border:none;color:inherit;opacity:.4;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:opacity .12s ease,background .12s ease}.sidebar-action:hover{opacity:1;background:#80808026}.folder-main{min-width:0;display:flex;flex-direction:column;overflow-y:auto}.folder-header{position:relative;padding:4px 16px;display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:32px}.folder-header h1{font-size:14px;font-weight:500;opacity:.8}.breadcrumb{position:absolute;left:50%;transform:translate(-50%);font-size:12.5px;color:var(--editor-fg, #e8e6e3);opacity:.4;white-space:nowrap}.breadcrumb-link{pointer-events:auto;cursor:pointer;border-radius:3px;padding:1px 3px;margin:-1px -3px;transition:opacity .12s ease,background .12s ease}.breadcrumb-link:hover{opacity:1;background:#80808026}.breadcrumb-sep{margin:0 5px}.header-spacer{flex:1}.theme-toggle{background:none;border:none;color:inherit;opacity:.5;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:opacity .12s ease,background .12s ease}.theme-toggle:hover{opacity:1;background:#80808026}.editor-wrap{flex:1;min-height:0}.editor-wrap .cm-scroller{padding-top:8px;padding-bottom:32px}.editor-wrap .cm-content{padding-right:48px;max-width:808px}.editor-wrap .cm-gutters{padding-left:48px}.editor-wrap .md-preview{padding-top:8px}.loading,.error,.home{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;opacity:.6}.home h1{font-size:24px;font-weight:300}.fern-landing{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.fern-landing.fern-with-title{flex-direction:row;align-items:center;gap:48px}.fern-landing.fern-with-title .fern-info{text-align:left;max-width:280px;align-self:flex-start;margin-top:12vh}.fern-landing.fern-with-title .fern-plant{display:flex;flex-direction:column;align-items:center;justify-content:center}.fern-title{font-size:48px;font-weight:200;letter-spacing:-.02em;margin-bottom:12px}.fern-description{font-size:18px;font-weight:300;opacity:.4;line-height:1.6;margin-top:4px}.fern-description a{color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.8;transition:opacity .15s ease}.fern-description a:hover{opacity:1}.fern-codeblock{margin-top:16px;padding:10px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;color:#ffffff80;width:fit-content;cursor:pointer;display:flex;align-items:center;gap:12px;transition:border-color .15s ease,background .15s ease,transform .12s ease}.fern-codeblock:hover{border-color:#ffffff40;background:#ffffff14}.fern-cb-clicked{animation:cb-spring-click .3s cubic-bezier(.16,1,.3,1) both}@keyframes cb-spring-click{0%{transform:scale(1)}30%{transform:scale(.985)}70%{transform:scale(1.005)}to{transform:scale(1)}}.fern-cb-cmd{color:#82e682cc}.fern-cb-arg{color:#fffc}.fern-cb-copy{display:flex;align-items:center;opacity:.4;transition:opacity .15s cubic-bezier(.16,1,.3,1);color:#fff6}.fern-cb-copy svg{animation:cb-icon-enter .18s cubic-bezier(.16,1,.3,1) both}@keyframes cb-icon-enter{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.fern-codeblock:hover .fern-cb-copy{opacity:1}.fern-pre{font-family:SF Mono,Menlo,Consolas,monospace;font-size:clamp(6px,1.15vh,10px);line-height:1.1;letter-spacing:0;-webkit-user-select:none;user-select:none}.fern-plant{display:flex;flex-direction:column;align-items:center}.fern-hash{font-family:SF Mono,Menlo,Consolas,monospace;font-size:14px;opacity:.2;letter-spacing:.15em;margin-top:24px}.fern-footer{position:absolute;bottom:24px;right:24px;font-size:12px;opacity:.25;letter-spacing:.05em;display:flex;align-items:center;gap:4px}@media(max-width:700px){.fern-landing.fern-with-title{flex-direction:column;align-items:center;gap:24px;padding:0 16px}.fern-landing.fern-with-title .fern-info{text-align:center;max-width:100%;align-self:center;margin-top:6vh}.fern-landing.fern-with-title .fern-plant{max-width:100%;overflow:hidden}.fern-title{font-size:32px}.fern-description{font-size:15px}.fern-codeblock{font-size:11px;margin-left:auto;margin-right:auto}.fern-pre{font-size:4.5px;line-height:1}.fern-hash{font-size:11px}.fern-footer{bottom:12px;right:12px}}.share-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:share-fade-in .15s ease both}@keyframes share-fade-in{0%{opacity:0}to{opacity:1}}.share-modal{background:#1e1e1e;border:1px solid rgba(255,255,255,.1);border-radius:12px;width:480px;max-width:90vw;overflow:hidden;position:relative;animation:share-enter .25s cubic-bezier(.16,1,.3,1) both}@keyframes share-enter{0%{opacity:0;transform:scale(.96) translateY(8px)}70%{opacity:1;transform:scale(1.005) translateY(-1px)}to{opacity:1;transform:scale(1) translateY(0)}}.share-exiting{animation:share-fade-out .18s cubic-bezier(.4,0,1,1) forwards}.share-exiting .share-modal{animation:share-exit .18s cubic-bezier(.4,0,1,1) forwards}@keyframes share-fade-out{to{opacity:0}}@keyframes share-exit{to{opacity:0;transform:scale(.97) translateY(6px)}}.share-close{position:absolute;top:12px;right:12px;background:none;border:none;color:#e0e0e0;opacity:.4;cursor:pointer;padding:4px;z-index:1;transition:opacity .15s ease}.share-close:hover{opacity:1}.share-og-image{width:100%;display:block;border-radius:12px 12px 0 0}.share-meta{padding:12px 16px;display:flex;flex-direction:column;gap:2px}.share-meta-domain{font-size:11px;opacity:.4;text-transform:uppercase;letter-spacing:.05em}.share-meta-title{font-size:14px;font-weight:500}.share-meta-desc{font-size:12px;opacity:.5}.share-url-row{display:flex;align-items:center;padding:12px 16px;position:relative}.share-url{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 36px 8px 12px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;color:#e0e0e0;outline:none;transition:border-color .15s ease,background .15s ease}.share-url:focus{border-color:#ffffff40;background:#ffffff12}.share-copy svg{animation:share-icon-enter .18s cubic-bezier(.16,1,.3,1) both}@keyframes share-icon-enter{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.share-copy{position:absolute;right:20px;background:none;border:none;cursor:pointer;color:#e0e0e0;opacity:.4;transition:opacity .15s ease;display:flex;align-items:center;padding:4px}.share-copy:hover{opacity:1}.sidebar-toggle{display:flex;background:none;border:none;color:inherit;opacity:.5;cursor:pointer;padding:4px;border-radius:4px;align-items:center;justify-content:center;transition:opacity .2s ease .2s,background .12s ease}.sidebar-toggle.hidden{opacity:0;pointer-events:none;transition:opacity .1s ease}.sidebar-toggle:hover{opacity:1;background:#80808026}.sidebar-backdrop{display:none}@media(max-width:640px){.folder-view,.folder-view.sidebar-collapsed{grid-template-columns:1fr}.folder-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:100;background:var(--editor-bg, #1a1816);border-right:1px solid var(--widget-border, #3a3530);transform:translate(-100%);transition:transform .2s cubic-bezier(.4,0,1,1)}.folder-sidebar.open{transform:translate(0);transition:transform .3s cubic-bezier(.16,1,.3,1)}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:99;background:#00000080;opacity:0;transition:opacity .2s cubic-bezier(.4,0,1,1)}.sidebar-backdrop.open{display:block;opacity:1;transition:opacity .3s cubic-bezier(.16,1,.3,1)}}
