@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=Inter:wght@400;450;500;550;600;650;700&family=Source+Serif+4:ital,wght@0,400;0,500;0,600;1,400&family=JetBrains+Mono:wght@400;500&family=Nunito+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";.filename-text{display:inline-flex;min-width:0;max-width:250px}.filename-base{min-width:0;overflow:hidden;text-overflow:ellipsis}.filename-extension{flex-shrink:0}.filename-text.is-truncated .filename-extension{margin-left:3px}.filename{display:flex;align-items:center;gap:10px;min-width:0;font-size:12px;color:var(--muted);margin-left:24px;white-space:nowrap}.filename-divider{margin-right:8px;color:var(--subtle)}.filename>svg,.filename-action{flex-shrink:0}.filename-input:focus,.filename-input:focus-visible{outline:none}.filename-form{display:flex;align-items:center;gap:6px;min-width:0}.filename-input{width:200px;max-width:22vw;min-width:50px;padding:5px 7px;border:1px solid var(--border);border-radius:5px;color:var(--text);background:var(--page-bg);font:inherit}.filename-action{display:inline-flex;align-items:center;justify-content:center;padding:5px;border-radius:5px;background:transparent;color:var(--muted)}.filename-action:hover{background:var(--green-soft);color:var(--green)}.filename-action:disabled{opacity:.45;cursor:default}@media(max-width:700px){.filename{display:none}}.icon-button{width:38px;height:38px;background:transparent;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);transition:background .2s,color .2s}.icon-button:hover{background:var(--green-soft);color:var(--green)}.navbar-dropdown{position:relative;z-index:2}.navbar-menu{position:absolute;right:0;top:48px;width:192px;background:var(--surface);padding:10px;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(-3px);transition:opacity .15s,transform .15s;visibility:visible;pointer-events:none}.navbar-menu[data-open=true]{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto;animation:dropdown-enter .15s}.navbar-menu p{font-size:9px;letter-spacing:1.4px;color:var(--muted);padding:0 9px;margin:9px 0 12px}.navbar-menu button{width:100%;display:flex;align-items:center;gap:12px;background:transparent;padding:11px 9px;border-radius:6px;font-size:13px;text-align:left}.navbar-menu button:hover{background:var(--green-soft)}.navbar-menu button .menu-check{margin-left:auto;flex-shrink:0}.navbar-menu button>svg:not(.menu-check){flex-shrink:0}.navbar-menu small{font-size:10px;color:var(--muted);margin-left:auto;white-space:nowrap}.navbar-menu small+.menu-check{margin-left:0}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.download-spinner{animation:download-spin 1s linear infinite}@keyframes download-spin{to{transform:rotate(360deg)}}.width-symbol{width:15px;height:12px;display:block;border-left:1px solid var(--muted);border-right:1px solid var(--muted);margin:0 4px}.width-1{width:20px;margin:0 1.5px}.width-2{width:23px;margin:0}.edit-button{background:var(--green-soft);color:var(--green);border-radius:8px;display:flex;gap:7px;align-items:center;font-size:12px;font-weight:500;padding:10px 14px}@media(max-width:700px){.edit-button{padding:10px}}@media(max-width:700px){.edit-button span{display:none}}.reading-progress{position:absolute;z-index:0;pointer-events:none;bottom:-1px;left:0;height:2px;background:var(--green)}.navbar{height:76px;padding:0 4.2%;display:flex;align-items:center;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--page-bg) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border .2s}.navbar.is-scrolled{border-color:var(--page-border)}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:650;text-decoration:none;letter-spacing:-1px;white-space:nowrap}.brand-icon{display:flex;background:var(--green);color:var(--cream);width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;transform:rotate(-5deg)}.brand-light{font-weight:450}.brand-dot{color:var(--green);margin-left:1px}.nav-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.nav-divider{height:19px;width:1px;background:var(--border);margin:0 8px}@media(max-width:700px){.navbar{height:72px;padding:0 22px}}@media(max-width:700px){.brand{font-size:20px;gap:8px}}@media(max-width:700px){.brand-icon{width:31px;height:31px}}@media(max-width:700px){.nav-actions{gap:3px}}@media(max-width:700px){.nav-divider{margin:0 3px}}.developer-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--green);font:inherit;white-space:nowrap}.developer-button:hover{color:var(--green-hover)}.landing{min-height:calc(100svh - 88px);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:90px 24px 150px;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--page-glow) 30%,transparent),transparent 55%)}.hero-content{position:relative;z-index:2;text-align:center;margin-top:-16px}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:550;letter-spacing:2px;color:var(--green);margin-bottom:29px}.eyebrow>span{height:5px;width:5px;background:var(--green);border-radius:50%}.hero-content h1{font-family:var(--display);font-weight:500;font-size:clamp(48px,5.1vw,74px);line-height:1.08;letter-spacing:-3.6px;margin:0;color:var(--heading)}.hero-content h1>span{color:var(--green);font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-3.5px}.hero-description{font-size:14px;line-height:1.9;color:var(--muted);margin:27px 0 31px;letter-spacing:-.15px}.hero-buttons{display:flex;justify-content:center;gap:12px}.sample-link{margin:23px auto 0;display:flex;align-items:center;gap:5px;background:transparent;font-size:11px;color:var(--muted)}.sample-link:hover{color:var(--green)}.privacy-note{margin-top:47px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:var(--muted)}.privacy-note svg{color:var(--green)}.landing-bottom{position:absolute;bottom:31px;left:4.2%;right:4.2%;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:.1px}.landing-bottom-right{display:flex;align-items:center;gap:24px}.landing-bottom>span:first-child{display:flex;align-items:center;gap:9px}.small-star{font-size:21px;color:var(--green)}.footer-dot{margin:0 7px;color:var(--subtle)}.paper-decoration{position:absolute;width:238px;height:306px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 15px 35px #3d432b06;padding:29px;z-index:0;color:var(--muted);pointer-events:none;opacity:.75}.paper-left{left:-115px;top:26%;transform:rotate(-13deg)}.paper-right{right:-105px;top:30%;transform:rotate(12deg)}.paper-label{font:italic 12px var(--serif);color:var(--muted)}.scribble-title{width:100px;height:8px;background:var(--green-soft);margin:24px 0 16px;border-radius:2px}.paper-line{height:3px;background:var(--border);margin:12px 0;width:100%;border-radius:4px}.paper-line.short{width:73%}.paper-quote{font:italic 15px/1.5 var(--serif);margin:20px 0}.paper-mark{font-size:33px;position:absolute;bottom:20px;right:25px;color:var(--green)}.markdown-mark{display:block;font:38px var(--serif);color:var(--green);margin:20px 0 10px}.paper-code{font:9px/1.9 var(--mono);margin:24px -5px;padding:13px;background:var(--code);border-radius:4px}.paper-code>span{color:var(--green)}@media(min-width:1500px){.paper-left{left:calc(50% - 760px)}}@media(min-width:1500px){.paper-right{right:calc(50% - 760px)}}@media(max-width:1100px){.paper-left{left:-165px}}@media(max-width:1100px){.paper-right{right:-160px}}@media(max-width:1100px){.hero-content h1{font-size:65px}}@media(max-width:1100px){.landing{padding-bottom:140px}}@media(max-width:700px){.landing{min-height:calc(100svh - 72px);padding:70px 22px 130px}}@media(max-width:700px){.hero-content{margin-top:0}}@media(max-width:700px){.hero-content h1{font-size:clamp(43px,8.9vw,60px);letter-spacing:-2.6px}}@media(max-width:700px){.hero-content h1>span{letter-spacing:-2.7px}}@media(max-width:700px){.eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:24px}}@media(max-width:700px){.hero-description{font-size:12px;max-width:330px;margin:25px auto 28px}}@media(max-width:700px){.hero-buttons{gap:9px}}@media(max-width:700px){.hero-buttons .primary>svg:last-child{display:none}}@media(max-width:700px){.paper-decoration{display:none}}@media(max-width:700px){.privacy-note{font-size:9px;margin-top:35px}}@media(max-width:700px){.landing-bottom{left:22px;right:22px;bottom:24px;font-size:9px}}@media(max-width:700px){.landing-bottom-right>span{display:none}}.code-block{border:1px solid var(--border);background:var(--code);border-radius:10px;overflow:hidden;margin:1.7em 0}.code-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:9px 16px;font:calc(var(--font-scale) * 12px) var(--mono);color:var(--muted)}.code-header button{display:flex;align-items:center;gap:6px;background:transparent;font:10px var(--ui);color:var(--ui-muted);padding:3px}.code-block .hljs-keyword,.code-block .hljs-selector-tag,.code-block .hljs-literal,.code-block .hljs-doctag,.code-block .hljs-meta,.code-block .hljs-template-tag{color:var(--syntax-keyword)}.code-block .hljs-string,.code-block .hljs-attr,.code-block .hljs-regexp,.code-block .hljs-attribute,.code-block .hljs-selector-attr,.code-block .hljs-selector-pseudo{color:var(--syntax-string)}.code-block .hljs-title,.code-block .hljs-function,.code-block .hljs-name,.code-block .hljs-section,.code-block .hljs-selector-class,.code-block .hljs-selector-id,.code-block .hljs-link{color:var(--syntax-title)}.code-block .hljs-type,.code-block .hljs-built_in,.code-block .hljs-symbol{color:var(--syntax-type)}.code-block .hljs-number,.code-block .hljs-bullet,.code-block .hljs-char{color:var(--syntax-number)}.code-block .hljs-comment,.code-block .hljs-quote,.code-block .hljs-code,.code-block .hljs-formula{color:var(--syntax-comment)}.code-block .hljs-comment,.code-block .hljs-quote,.code-block .hljs-emphasis{font-style:italic}.code-block .hljs-strong,.code-block .hljs-section{font-weight:700}.code-block .hljs-variable,.code-block .hljs-template-variable,.code-block .hljs-params,.code-block .hljs-property,.code-block .hljs-subst,.code-block .hljs-operator,.code-block .hljs-punctuation,.code-block .hljs-tag,.code-block .hljs-emphasis,.code-block .hljs-strong{color:var(--text)}.code-block .hljs-addition{color:var(--syntax-addition)}.code-block .hljs-deletion{color:var(--syntax-deletion)}.diagram-loading{padding:30px;color:var(--muted);font:12px var(--ui);animation:pulse 1s infinite alternate}.article-image{display:block;margin:1.5em 0;text-align:center}.article-image img{max-width:100%;height:auto;border-radius:10px;cursor:zoom-in}.image-caption{display:block;color:var(--muted);font:calc(var(--font-scale) * 11px) / 1.6 var(--reading-font);margin-top:10px}.fullscreen-block{position:relative;margin:1.5em 0 2em}.fullscreen-block>.table-wrap,.fullscreen-block>.mermaid-card{margin:0}.fullscreen-button{position:absolute;z-index:1;top:10px;right:10px;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid color-mix(in srgb,var(--muted) 25%,transparent);background:color-mix(in srgb,var(--green) 18%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--green);opacity:1;transition:opacity .15s,color .15s}.fullscreen-block:hover>.fullscreen-button{opacity:.8}.fullscreen-button:hover,.fullscreen-button:focus-visible{opacity:.8;color:var(--green)}@media(hover:none){.fullscreen-button{opacity:.8}}@media print{.fullscreen-button{display:none}}.reading-page .table-block{contain:layout paint;overscroll-behavior:contain}.table-block{min-width:0;max-width:100%}.table-wrap{max-width:100%;overscroll-behavior-x:contain;overflow:auto;border:1px solid var(--border);border-radius:10px;margin:1.5em 0 2em;font:calc(var(--font-scale) * 16px) / 1.6 var(--reading-font)}.markdown table{width:100%;border-collapse:collapse;min-width:400px}.markdown th,.markdown td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--border)}.markdown th{background:var(--green-soft);font-weight:550;position:sticky;top:0;color:var(--reading-table-heading)}.markdown tr:nth-child(2n){background:color-mix(in srgb,var(--code) 55%,transparent)}.markdown tr:last-child td{border-bottom:0}.reading-page .table-wrap table{overflow-wrap:normal;word-break:normal}.reading-page .table-wrap th{white-space:nowrap}.table-block>.fullscreen-button{-webkit-backdrop-filter:none;backdrop-filter:none;transition:opacity .15s,transform .15s}.article-footer{border-top:1px solid var(--border);max-width:960px;margin:75px auto 0;padding:30px 0 45px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:11px}.article-footer-note{display:flex;align-items:center;gap:10px}.article-footer svg{color:var(--green);flex-shrink:0}.article-footer button{font-size:10px}.article-footer-edit{display:flex;align-items:center;gap:6px;background:transparent;color:var(--green);white-space:nowrap}@media(max-width:700px){.article-footer{font-size:9px;flex-wrap:wrap;gap:18px}.article-footer-note{flex-basis:100%}.article-footer button{font-size:9px}.article-footer-edit{margin-left:auto}}.reading-page{padding:40px 32px 0}.document-toolbar{margin:0 auto 40px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.6px;color:var(--muted);transition:max-width .35s}.document-toolbar>span{display:flex;gap:7px;align-items:center}.status-dot{width:4px;height:4px;border-radius:50%;background:var(--green)}.document-toolbar button{display:flex;align-items:center;gap:5px;font-size:10px;letter-spacing:0;background:transparent;color:var(--muted)}@media(max-width:700px){.reading-page{padding:30px 23px 0}}@media(max-width:700px){.document-toolbar{margin-bottom:35px;font-size:7px;letter-spacing:1px;gap:16px}}@media(max-width:700px){.document-toolbar button{font-size:9px}}.markdown{--text: var(--reading-text);--heading: var(--reading-heading);--muted: var(--reading-muted);--border: var(--reading-border);--surface: var(--reading-surface);--code: var(--reading-code);--green-soft: var(--reading-soft);color:var(--text);margin:0 auto;line-height:1.8;font-family:var(--reading-font);font-size:calc(var(--font-scale) * var(--reading-base-size));transition:max-width .35s,font-size .2s;overflow-wrap:anywhere;animation:appear .45s}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-family:var(--display);color:var(--heading);line-height:1.2;font-weight:500;text-wrap:balance;scroll-margin-top:120px;position:relative}.markdown h1{font-size:2.25em;letter-spacing:-2px;margin:0 0 .8em}.markdown h2{font-size:1.8em;letter-spacing:-1px;margin:1.9em 0 .65em}.markdown h3{font-size:1.35em;margin:1.8em 0 .7em;letter-spacing:-.4px}.markdown h4{font-size:1.1em;margin:1.8em 0 .7em}.markdown p{margin:0 0 1.3em;text-wrap:pretty}.markdown a{color:var(--green);text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--green) 40%,transparent)}.markdown a:hover{color:var(--blue)}.heading-anchor{font-size:.6em;opacity:0;margin-left:.4em;text-decoration:none}.markdown :is(h1,h2,h3,h4):hover .heading-anchor,.heading-anchor:focus{opacity:.6}.markdown ul,.markdown ol{padding-left:1.5em;margin:0 0 1.3em}.markdown li{padding-left:.25em;margin:.4em 0}.markdown li>ul,.markdown li>ol{margin:.4em 0}.markdown blockquote{margin:1.6em 0;padding:20px 26px 1px;border-left:3px solid var(--reading-quote-border);background:var(--green-soft);border-radius:0 8px 8px 0;font-style:italic}.markdown blockquote p{margin-bottom:1em}.markdown hr{border:0;border-top:1px solid var(--border);margin:2.6em 0}.markdown strong{font-weight:600;color:var(--heading)}.markdown :not(pre)>code{font:.76em var(--mono);background:var(--code);color:var(--reading-inline-code);padding:.2em .4em;border-radius:4px}.markdown kbd{font:.75em var(--mono);border:1px solid var(--border);border-bottom-width:3px;padding:2px 6px;border-radius:5px;background:var(--surface)}.markdown details{border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin:1.5em 0}.markdown summary{cursor:pointer;font-family:var(--reading-font);font-size:calc(var(--font-scale) * 14px);font-weight:550}.markdown details[open] summary{margin-bottom:14px}.markdown pre{margin:0;padding:20px;overflow:auto;font:calc(var(--font-scale) * 13px) / 1.8 var(--mono);tab-size:4}.task-list-item{list-style:none}.task-list-item input{accent-color:var(--green);margin-right:10px;width:15px;height:15px}.markdown .contains-task-list{padding-left:.2em}.footnotes{font-size:.85em;color:var(--muted);border-top:1px solid var(--border);margin-top:3em;padding-top:1em}.footnotes h2{font-size:1.3em}@media(max-width:700px){.markdown h1{font-size:2em}}@media(max-width:700px){.markdown h2{font-size:1.6em}}.toc-trigger{background:transparent;padding:15px 9px}.toc-lines{display:flex;flex-direction:column;align-items:flex-end;gap:12px;max-height:55vh;overflow:hidden}.toc-lines>span{height:3px;min-height:3px;background:var(--subtle);opacity:.5;border-radius:4px;transition:background .2s}.toc-lines>span.active{background:var(--green);opacity:1;box-shadow:0 0 7px color-mix(in srgb,var(--green) 30%,transparent)}.toc-card{position:absolute;right:60px;top:50%;transform:translate(5px,-50%);width:310px;max-height:70vh;padding:20px 13px;background:var(--toc-surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;display:flex;flex-direction:column}.toc-card p{font-size:9px;letter-spacing:1.6px;color:var(--muted);margin:0 12px 14px}.toc-items{min-height:0;max-height:calc(70vh - 67px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.toc-items a{display:block;font-size:12px;line-height:1.5;padding:9px 12px;text-decoration:none;color:var(--muted);border-radius:6px}.toc-items a:hover{background:var(--green-soft)}.toc-items a[aria-current]{color:var(--toc-active);font-size:13px;font-weight:700}.toc{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:15;display:flex;align-items:center;padding:25px 0 25px 25px}.toc:before{content:"";position:absolute;right:40px;top:0;width:30px;height:100%}.toc.is-open .toc-card{opacity:1;visibility:visible;transform:translateY(-50%)}@media(max-width:1100px){.toc{display:none}}.modal-backdrop{position:fixed;inset:0;z-index:50;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:appear .15s}.modal{width:75vw;height:75vh;max-width:1150px;background:var(--modal-surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 30px 100px #0003;display:flex;flex-direction:column;overflow:hidden;animation:modal-in .2s;overscroll-behavior:contain}.modal>header{padding:20px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.modal-title{display:flex;align-items:center;gap:11px;color:var(--green)}.modal-title h2{font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-.5px;margin:0;color:var(--heading)}.modal>footer{padding:16px 25px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);gap:16px;min-height:72px}@media(max-width:700px){.modal{width:100%;height:90svh;border-radius:13px}}@media(max-width:700px){.modal-backdrop{padding:10px}}@media(max-width:700px){.modal>header{padding:15px}}@media(max-width:700px){.modal-title h2{font-size:19px}}@media(max-width:700px){.modal>footer{padding:14px;gap:10px}}.clear-confirm{display:flex;gap:7px;align-items:center}.clear-confirm button{font-size:10px;background:var(--code);border-radius:4px;padding:5px}.clear-confirm button:first-child{color:var(--danger)}.editor-hint{font-size:11px;color:var(--muted);padding:20px 25px 14px}.markdown-input{flex:1;min-height:0;width:100%;resize:none;border:0;padding:8px 25px 25px;background:transparent;color:var(--text);font:13px/1.9 var(--mono);outline:none!important;overscroll-behavior:contain}.markdown-input::placeholder{color:var(--subtle)}.editor-meta{display:flex;align-items:center;gap:25px;font-size:10px;color:var(--muted)}.editor-meta>span>span{margin:0 5px}.text-button{background:transparent;color:var(--muted);padding:5px;font-size:10px}.text-button:hover{color:var(--danger)}@media(max-width:700px){.editor-meta{font-size:9px;gap:6px;align-items:flex-start;flex-direction:column}}@media(max-width:700px){.editor-hint{padding:16px;font-size:10px;line-height:1.6}}@media(max-width:700px){.markdown-input{padding:8px 16px 20px;font-size:12px}}.drop-zone{margin:25px;border:1px dashed var(--border);border-radius:12px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;overflow:auto;transition:background .2s;overscroll-behavior:contain}.drop-zone.is-dragging{background:var(--green-soft);border-color:var(--green)}.upload-icon{width:68px;height:68px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;border-radius:18px;transform:rotate(-5deg);margin-bottom:14px}.drop-zone h3{font:500 25px var(--display);letter-spacing:-.6px;margin:14px 0 10px;color:var(--heading)}.drop-zone p{font-size:12px;color:var(--muted);margin:0}.drop-or{font:italic 13px var(--serif);color:var(--subtle);margin:15px}.drop-zone small{font-size:10px;color:var(--muted);margin-top:18px}.upload-privacy{display:flex;align-items:center;justify-content:center;width:100%;gap:8px;font-size:11px;color:var(--muted)}.drop-zone .error{color:var(--danger);margin-top:15px}@media(max-width:700px){.drop-zone{margin:15px;padding:18px}}@media(max-width:700px){.drop-zone h3{font-size:22px}}@media(max-width:700px){.upload-privacy{font-size:9px}}.zoom-image{overflow:auto;flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overscroll-behavior:contain}.zoom-image img{max-width:100%;max-height:100%;object-fit:contain}.modal.developer-modal{width:440px;max-width:100%;height:auto;max-height:calc(100dvh - 40px);animation:developer-rise .36s cubic-bezier(.22,1,.36,1)}.modal.developer-modal>footer{display:none}.developer-details{margin:0;padding:12px 25px 20px;overflow-y:auto;overscroll-behavior:contain;min-height:0;font-size:12px;line-height:1.6}.developer-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:11px 0;border-bottom:1px solid var(--border)}.developer-row:last-child{border-bottom:0}.developer-row dt,.developer-row dd,.developer-row a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.developer-row dt{color:var(--muted)}.developer-row dd{margin:0;text-align:right}.developer-row a{display:block;color:var(--green-hover);text-underline-offset:3px}@keyframes developer-rise{0%{opacity:0;transform:translateY(calc(50dvh + 50%))}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.developer-details{padding:10px 15px 16px}.developer-row{grid-template-columns:85px minmax(0,1fr);gap:12px}}@media(prefers-reduced-motion:reduce){.modal.developer-modal{animation:none}}.modal.developer-modal.is-closing{animation:developer-drop .28s cubic-bezier(.4,0,.6,1) both;pointer-events:none}.modal-backdrop:has(>.developer-modal.is-closing){animation:developer-backdrop-out .28s ease both}@keyframes developer-drop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(50dvh + 50%))}}@keyframes developer-backdrop-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.modal.developer-modal.is-closing{animation:developer-backdrop-out .12s ease both!important}.modal-backdrop:has(>.developer-modal.is-closing){animation:developer-backdrop-out .12s ease both!important}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:16px 20px;border-radius:12px;display:flex;align-items:center;gap:12px;max-width:90vw;font-size:12px}.toast>svg{flex-shrink:0;color:var(--green)}.toast button{background:transparent;display:flex;color:var(--muted)}:root,[data-export-theme=light]{--bg: #f8f6ef;--surface: #fffdf7;--text: #303b32;--heading: #29372e;--muted: #697363;--subtle: #697363;--border: #e2e4d8;--green: #41634f;--green-hover: #34543f;--green-soft: #e9eddf;--cream: #fffcf2;--code: #efeee5;--blue: #3977a3;--danger: #a14c43;--shadow: 0 24px 80px #34402c12;--ui: "Inter", sans-serif;--display: "Bricolage Grotesque", sans-serif;--serif: "Source Serif 4", Georgia, serif;--mono: "JetBrains Mono", monospace;--modal-surface: var(--surface);--modal-backdrop: #111a1655;--toc-surface: var(--surface);--toc-active: var(--green);--reading-font: "Nunito Sans", sans-serif;--reading-base-size: clamp(17px, 1.5vw, 19px);--font-scale: 1;--page-bg: var(--bg);--page-glow: var(--green-soft);--page-border: var(--border);--ui-muted: var(--muted);--reading-text: var(--text);--reading-heading: var(--heading);--reading-muted: var(--muted);--reading-border: var(--border);--reading-surface: var(--surface);--reading-code: var(--code);--reading-soft: var(--green-soft);--reading-quote-border: var(--green);--reading-inline-code: #9d3344;--reading-table-heading: var(--green);--syntax-keyword: #99704c;--syntax-string: #53754e;--syntax-title: #4c7d8a;--syntax-number: #a46d57;--syntax-type: #755b94;--syntax-comment: #697363;--syntax-addition: #416b3b;--syntax-deletion: #a13e38;--diagram-primary: #e3ebe0;--diagram-text: #293d32;--diagram-line: #648473;--diagram-bg: var(--surface);--diagram-border: var(--border);--diagram-palette-1: #accbb2;--diagram-palette-2: #a9c6dd;--diagram-palette-3: #d4bedb;--diagram-palette-4: #e4ca99;--diagram-palette-5: #deb5ac;--diagram-palette-6: #abd2ce;--diagram-palette-text: #26352d;color-scheme:light}:root[data-theme=dark]{--bg: #181d19;--surface: #202620;--text: #dedfd0;--heading: #efefdf;--muted: #a2ab9d;--subtle: #a2ab9d;--border: #354032;--green: #64876b;--green-hover: #749879;--green-soft: #2b382b;--cream: #fffdf0;--code: #242c24;--blue: #79b3e0;--danger: #eb9c8d;--shadow: 0 24px 80px #0003;--page-bg: #121212;--modal-surface: #1e1e1e;--modal-backdrop: #11111155;--toc-surface: #1e1e1e;--toc-active: var(--green-hover);--page-glow: #1e1e1e;--page-border: #303030;--reading-text: #dedede;--reading-heading: #f2f2f2;--reading-muted: #9a9a9a;--reading-border: #333333;--reading-surface: #1e1e1e;--reading-code: #1a1a1a;--reading-soft: #202020;--reading-quote-border: #555555;--reading-inline-code: #ef98a4;--reading-table-heading: #dedede;--syntax-keyword: #d6a171;--syntax-string: #a3c28f;--syntax-title: #85bac8;--syntax-number: #dba28a;--syntax-type: #c4a5d9;--syntax-comment: #9a9a9a;--syntax-addition: #a3c28f;--syntax-deletion: #eda49e;--diagram-primary: #252525;--diagram-text: #dedede;--diagram-line: #a0a0a0;--diagram-bg: #1e1e1e;--diagram-border: #666666;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--page-bg);color:var(--text);font-family:var(--ui);-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button{border:0}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible,img:focus-visible{outline:2px solid var(--green);outline-offset:5px}button,a{touch-action:manipulation}::selection{background:var(--green-soft);color:var(--heading)}.button{min-height:44px;padding:0 19px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:500;line-height:1;transition:background .2s,transform .2s}.button:hover:not(:disabled){transform:translateY(-2px)}.primary{background:var(--green);color:var(--cream);border:1px solid var(--green);box-shadow:0 3px 5px #28392b0a}.primary:hover{background:var(--green-hover)}.secondary{background:transparent;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 32%,var(--bg))}.secondary:hover{background:var(--green-soft)}@keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes pulse{to{opacity:.5}}@media(max-width:700px){.button{padding:0 14px;font-size:11px;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
