:root{--bg: #fafafa;--bg-elevated: #ffffff;--fg: #1a1a1a;--fg-secondary: #666666;--fg-muted: #999999;--accent: #e65100;--accent-hover: #bf4300;--link: var(--fg);--link-hover: var(--accent);--broken: #b71c1c;--border: #e0e0e0;--border-bold: #1a1a1a;--status-seedling: #999999;--status-budding: #666666;--status-evergreen: #1a1a1a;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-8: 4rem}@media(prefers-color-scheme:dark){:root{--bg: #121212;--bg-elevated: #1e1e1e;--fg: #e8e8e8;--fg-secondary: #a0a0a0;--fg-muted: #707070;--accent: #ff7a22;--accent-hover: #ff9248;--link: var(--fg);--link-hover: var(--accent);--broken: #ff6b6b;--border: #333333;--border-bold: #e8e8e8;--status-seedling: #707070;--status-budding: #a0a0a0;--status-evergreen: #e8e8e8}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:1.0625rem;line-height:1.7;font-weight:400;letter-spacing:-.01em;margin:0;padding:0;background:var(--bg);color:var(--fg)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;letter-spacing:-.02em;margin:0}p{margin:0 0 var(--space-3)}p:last-child{margin-bottom:0}a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}a.broken,a.broken:hover{color:var(--broken);text-decoration-style:dashed}a[href^=http]:not(.site-name):not(.toolbar-btn):after{content:"↗";display:inline-block;margin-left:.15em;font-size:.75em;opacity:.6;text-decoration:none}a[href^=http]:not(.site-name):not(.toolbar-btn):hover:after{opacity:1}blockquote{margin:var(--space-4) 0;padding-left:var(--space-4);border-left:3px solid var(--border-bold);color:var(--fg-secondary);font-style:italic}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-elevated);padding:.15em .4em;border:1px solid var(--border)}pre{font-family:var(--font-mono);font-size:.875rem;line-height:1.5;background:var(--bg-elevated);border:1px solid var(--border);padding:var(--space-3);overflow-x:auto;margin:var(--space-4) 0}pre code{background:none;border:none;padding:0}hr{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0}ul,ol{margin:var(--space-3) 0;padding-left:var(--space-4)}li{margin-bottom:var(--space-2)}li:last-child{margin-bottom:0}.site-header{max-width:680px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-3);display:flex;align-items:baseline;gap:var(--space-3)}.site-name{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);text-decoration:none;transition:color .15s ease}.site-name:hover{color:var(--fg);text-decoration:none}.page{max-width:680px;margin:0 auto;padding:var(--space-3) var(--space-4) var(--space-8)}.page article{margin-bottom:var(--space-6)}.page h1{font-size:2rem;font-weight:700;margin-bottom:var(--space-2);letter-spacing:-.03em}.meta-status,.meta-status a{color:var(--fg-secondary)}.meta-status a:hover{color:var(--accent)}.meta-status a.broken{color:var(--broken)}.meta{color:var(--fg-muted);font-size:.875rem;font-weight:400;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.meta a{color:var(--fg-muted)}.meta a:hover{color:var(--accent)}.meta-date a{text-decoration:none;border-bottom:1px dashed var(--border)}.meta-date a:hover{border-bottom-color:var(--accent)}.meta-updated{color:var(--fg-muted)}.meta-updated a{text-decoration:none;border-bottom:1px dashed var(--border)}.meta-updated a:hover{border-bottom-color:var(--accent)}.page article>div h2{font-size:1.25rem;margin:var(--space-6) 0 var(--space-3)}.page article>div h3{font-size:1.0625rem;margin:var(--space-5) 0 var(--space-3)}.backlinks{margin-top:var(--space-6);padding-top:var(--space-4);border-top:2px solid var(--border-bold)}.backlinks h2{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);margin-bottom:var(--space-3)}.backlinks ul{list-style:none;padding:0;margin:0}.backlinks li{margin-bottom:var(--space-2);font-size:.9375rem}.backlinks li a{font-weight:500}.backlinks .slug-hint{color:var(--fg-muted);font-size:.8125rem}.backlinks .link-text{color:var(--fg-muted);font-size:.8125rem;font-style:italic}.stub-page .meta{margin-bottom:var(--space-4)}.stub-page .stub-notice{color:var(--fg-secondary);font-size:1rem;margin:var(--space-4) 0;font-style:italic}.stub-page .stub-hint{font-size:.9375rem;color:var(--fg-muted)}.stub-page .disambiguate-banner{background:var(--bg-elevated);border:1px solid var(--border);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;font-size:.9375rem}.stub-page .disambiguate-banner strong{font-weight:600}.stub-page .disambiguate-banner .slug-hint{color:var(--fg-muted);font-size:.8125rem}.site-footer{max-width:680px;margin:0 auto;padding:var(--space-5) var(--space-4);border-top:1px solid var(--border)}.site-footer a{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);text-decoration:none;transition:color .15s ease}.site-footer a:hover{color:var(--accent);text-decoration:none}.editor-app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg);overflow:hidden}.editor-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;min-height:52px;padding-top:max(var(--space-2),env(safe-area-inset-top));padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right))}.toolbar-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name{font-size:.9375rem;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-status{font-size:.75rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.toolbar-actions{display:flex;gap:var(--space-1);flex-shrink:0}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:transparent;color:var(--fg);border-radius:0;cursor:pointer;transition:color .15s ease,background-color .15s ease;-webkit-tap-highlight-color:transparent}.toolbar-btn:hover,.toolbar-btn:active{background:var(--border)}.toolbar-btn.active{color:var(--accent)}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-btn:disabled:hover{background:transparent}.save-btn{color:var(--accent)}.save-btn:hover{background:var(--accent);color:var(--bg)}.saving-indicator{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.settings-panel{background:var(--bg-elevated);border-bottom:1px solid var(--border);padding:var(--space-3);padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right));flex-shrink:0;max-height:50vh;overflow-y:auto}.panel-section{margin-bottom:var(--space-3)}.panel-section:last-child{margin-bottom:0}.panel-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);margin-bottom:var(--space-2)}.panel-row{display:flex;gap:var(--space-2)}.panel-input{flex:1;font-family:var(--font-sans);font-size:1rem;padding:var(--space-3);border:1px solid var(--border);background:var(--bg);color:var(--fg);min-width:0}.panel-input:focus{outline:none;border-color:var(--fg)}.panel-select{width:100%;font-family:var(--font-sans);font-size:1rem;padding:var(--space-3);border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-6)}.panel-select:focus{outline:none;border-color:var(--fg)}.panel-btn{font-family:var(--font-sans);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) var(--space-4);border:1px solid var(--fg);background:var(--fg);color:var(--bg);cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease}.panel-btn:hover{background:var(--accent);border-color:var(--accent)}.panel-btn:disabled{opacity:.4;cursor:not-allowed}.panel-btn:disabled:hover{background:var(--fg);border-color:var(--fg)}.panel-btn-full{width:100%;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) var(--space-4);border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.panel-btn-full:hover{border-color:var(--fg)}.panel-hint{font-size:.875rem;color:var(--fg-muted);margin:0;line-height:1.5}.editor-area{flex:1;min-height:0;display:flex;flex-direction:column}.editor-area .cm-editor{flex:1;height:100%;border:none;font-size:1rem}.editor-area .cm-editor.cm-focused{outline:none}.editor-area .cm-editor .cm-scroller{padding:var(--space-3);padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right));padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}.editor-area .cm-editor .cm-content{font-family:var(--font-mono);line-height:1.6}.editor-area .cm-editor .cm-gutters{background:var(--bg);border-right:1px solid var(--border);color:var(--fg-muted);padding-left:env(safe-area-inset-left)}.editor-area .cm-editor .cm-activeLineGutter,.editor-area .cm-editor .cm-activeLine{background:var(--bg-elevated)}.editor-area .cm-editor .cm-selectionBackground{background:var(--accent)!important;opacity:.2}.editor-area .cm-editor.cm-focused .cm-selectionBackground{background:var(--accent)!important;opacity:.3}.editor-area .cm-editor .cm-cursor{border-left-color:var(--accent);border-left-width:2px}@media(prefers-color-scheme:dark){.editor-area .cm-editor{background:var(--bg)}.panel-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0a0' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}}@media(min-width:768px){.editor-toolbar{padding:var(--space-2) var(--space-4)}.settings-panel{padding:var(--space-4);max-height:none}.panel-row,.panel-select,.panel-btn-full{max-width:500px}.editor-area .cm-editor .cm-scroller{padding:var(--space-4) var(--space-6)}.editor-area .cm-editor{font-size:.9375rem}}.log-page .log-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.log-page .log-period{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);margin-bottom:var(--space-1)}.log-page h1{margin-bottom:var(--space-2)}.log-page .log-nav{font-size:.875rem;color:var(--fg-muted)}.log-page .log-nav a{color:var(--fg-muted)}.log-page .log-nav a:hover{color:var(--accent)}.log-page .log-nav-sep{margin:0 var(--space-2);color:var(--border)}.log-page .log-section{margin-bottom:var(--space-5)}.log-page .log-section h2{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);margin-bottom:var(--space-3)}.log-page .log-children,.log-page .log-notes{list-style:none;padding:0;margin:0}.log-page .log-children li,.log-page .log-notes li{margin-bottom:var(--space-2);font-size:.9375rem}.log-page .log-children a,.log-page .log-notes a{font-weight:500}.log-page .log-count{display:inline-block;font-size:.75rem;color:var(--fg-muted);margin-left:var(--space-2)}.log-page .log-description{color:var(--fg-secondary);font-size:1rem;margin-bottom:var(--space-4)}.log-index .log-years{list-style:none;padding:0;margin:0}.log-index .log-years li{margin-bottom:var(--space-2);font-size:1.125rem}.log-index .log-years a{font-weight:600}.log-index .log-count{font-size:.875rem;color:var(--fg-muted);font-weight:400;margin-left:var(--space-2)}.site-nav-sep{color:var(--fg-muted);margin:0 var(--space-1)}.site-nav-link{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);text-decoration:none}.site-nav-link:hover{color:var(--fg);text-decoration:none}.footer-sep{color:var(--fg-muted);margin:0 var(--space-2)}.panel-actions{display:flex;flex-direction:column;gap:var(--space-2)}.panel-btn-secondary{background:transparent;color:var(--fg-muted)}.panel-btn-secondary:hover{color:var(--fg);border-color:var(--fg)}@media(max-width:640px){.site-header{padding:var(--space-4) var(--space-3) var(--space-2)}.page{padding:var(--space-2) var(--space-3) var(--space-6)}.page h1{font-size:1.5rem}.meta{margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.backlinks{margin-top:var(--space-5);padding-top:var(--space-3)}}.code-block{margin:var(--space-4) 0}.code-block.collapsed{max-height:100px;overflow:hidden;position:relative}.code-block.collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,var(--bg))}.code-block.output{border-left:3px solid var(--accent)}.code-block.transcluded{border-left:none}.code-block.transcluded>.md-viewer,.code-block.transcluded>.html-viewer,.code-block.transcluded>.svg-viewer,.code-block.transcluded>pre,.code-block.transcluded>.cm-editor-wrapper{border-left:3px solid var(--border-bold)}.transclude-footer{font-size:.75rem;color:var(--fg-muted);padding:var(--space-2) 0;margin-top:var(--space-2)}.transclude-footer a.transclude-source{color:var(--fg-secondary);text-decoration:none}.transclude-footer a.transclude-source:hover{color:var(--accent);text-decoration:underline}.cm-code{background:var(--bg-elevated);border:1px solid var(--border);border-radius:0;overflow:hidden}.cm-code pre{margin:0;border:none;background:transparent}.cm-code .cm-editor{font-size:.875rem}.cm-code .cm-editor .cm-scroller{font-family:var(--font-mono);line-height:1.5}.cm-code .cm-editor .cm-gutters{background:var(--bg);border-right:1px solid var(--border);color:var(--fg-muted)}.cm-code .cm-editor .cm-content{padding:var(--space-2) 0}.cm-code .cm-editor .cm-line{padding:0 var(--space-3)}.viewer-csv{overflow-x:auto}.csv-table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.4}.csv-table th,.csv-table td{padding:var(--space-2) var(--space-3);text-align:left;border:1px solid var(--border)}.csv-table th{background:var(--bg-elevated);font-weight:600}.csv-table tr:hover td{background:var(--bg-elevated)}.json-viewer{background:var(--bg-elevated);border:1px solid var(--border);padding:var(--space-3);overflow-x:auto;font-size:.8125rem}.json-viewer.json-error{border-color:var(--broken)}.svg-viewer{display:flex;justify-content:center;padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border)}.svg-viewer svg{max-width:100%;height:auto}.html-viewer,.md-viewer{padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border)}.md-viewer p:last-child{margin-bottom:0}.viewer-mermaid{display:flex;justify-content:center;padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);overflow-x:auto}.viewer-mermaid .viewer-target{max-width:100%}.viewer-mermaid svg{max-width:100%;height:auto}.code-block[class*=tag-]{position:relative}.tag-example{border-left:3px solid #4caf50}.tag-warning{border-left:3px solid #ff9800}.tag-deprecated{opacity:.6}.toc-viewer{background:var(--bg-elevated);border:1px solid var(--border);padding:var(--space-3)}.toc-viewer ul{list-style:none;padding:0;margin:0}.toc-viewer li{margin-bottom:var(--space-1);font-size:.875rem}.toc-viewer a{color:var(--fg-secondary);text-decoration:none}.toc-viewer a:hover{color:var(--accent)}.toc-empty{color:var(--fg-muted);font-style:italic}.timeline-viewer{border-left:2px solid var(--border-bold);padding-left:var(--space-4);margin-left:var(--space-2)}.timeline-event{position:relative;margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.timeline-event:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.timeline-event:before{content:"";position:absolute;left:calc(-1 * var(--space-4) - 5px);top:.4em;width:8px;height:8px;background:var(--border-bold);border-radius:50%}.timeline-date{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);margin-bottom:var(--space-1)}.timeline-text{display:block;font-size:.9375rem;color:var(--fg)}.timeline-empty{color:var(--fg-muted);font-style:italic}:target{scroll-margin-top:var(--space-4)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:linear-gradient(90deg,#fff3cd 0%,transparent 100%);margin-left:calc(-1 * var(--space-2));padding-left:var(--space-2);animation:highlight-fade 3s ease-out forwards}@keyframes highlight-fade{0%{background:linear-gradient(90deg,#fff3cd 0%,transparent 100%)}70%{background:linear-gradient(90deg,#fff3cd 0%,transparent 100%)}to{background:transparent}}@media(prefers-color-scheme:dark){h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:linear-gradient(90deg,rgba(255,193,7,.2) 0%,transparent 100%)}@keyframes highlight-fade{0%{background:linear-gradient(90deg,rgba(255,193,7,.2) 0%,transparent 100%)}70%{background:linear-gradient(90deg,rgba(255,193,7,.2) 0%,transparent 100%)}to{background:transparent}}}.virtual-page .virtual-description{color:var(--fg-secondary);font-size:1rem;margin-bottom:var(--space-4)}.virtual-page .virtual-list{list-style:none;padding:0;margin:0}.virtual-page .virtual-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.virtual-page .virtual-list li:last-child{border-bottom:none}.virtual-page .virtual-list li>a{font-weight:500;font-size:1.0625rem}.virtual-page .virtual-meta{font-size:.8125rem;color:var(--fg-muted)}.virtual-page .virtual-meta a{color:var(--fg-muted)}.virtual-page .virtual-meta a:hover{color:var(--accent)}.virtual-page .missing-list li>a.broken{color:var(--broken)}
