:root{--ink-950:#171a19;--ink-700:#4c5350;--ink-500:#737d78;--ink-300:#cbd0cd;--ink-150:#e6e9e7;--paper-0:#fdfefd;--paper-50:#fafbfa;--paper-100:#f3f5f4;--accent-700:#086b58;--accent-600:#0b8069;--accent-100:#e4f1ed;--font-ui:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-code:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-xl:24px;--text-display:clamp(34px, 3vw, 48px);--radius-sm:6px;--radius-md:8px;--duration-fast:.14s;--duration-base:.22s;--ease-out:cubic-bezier(.2, .8, .2, 1);--surface-app:var(--paper-100);--surface-panel:var(--paper-50);--surface-editor:var(--paper-0);--surface-selected:var(--accent-100);--text-primary:var(--ink-950);--text-secondary:var(--ink-700);--text-muted:var(--ink-500);--line-subtle:var(--ink-150);--action-primary:var(--accent-700);--action-hover:var(--accent-600);--focus-ring:color-mix(in srgb, var(--accent-600) 32%, transparent);--scrollbar-thumb:color-mix(in srgb, var(--ink-500) 52%, transparent);--scrollbar-thumb-hover:color-mix(in srgb, var(--ink-700) 68%, transparent)}@media (prefers-color-scheme:dark){:root{--ink-950:#ecefed;--ink-700:#bdc5c1;--ink-500:#919b96;--ink-300:#59615d;--ink-150:#303633;--paper-0:#171a19;--paper-50:#1b1f1d;--paper-100:#222724;--accent-700:#64c7ad;--accent-600:#78d5bc;--accent-100:#213c34}}*{box-sizing:border-box;scrollbar-color:var(--scrollbar-thumb) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:content-box;border:3px solid #0000;border-radius:999px;min-height:36px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}html,body{min-width:320px;height:100%;margin:0;overflow:hidden}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-ui);color:var(--text-primary);background:var(--surface-app);font-size:var(--text-md)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;white-space:nowrap;background:0 0;border:0}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button:active{transform:translateY(1px)}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}::view-transition-group(*){animation-duration:.24s;animation-timing-function:var(--ease-out)}::view-transition-old(*){animation-duration:.24s;animation-timing-function:var(--ease-out)}::view-transition-new(*){animation-duration:.24s;animation-timing-function:var(--ease-out)}::view-transition-old(article-title){object-fit:none;object-position:top left;height:100%}::view-transition-new(article-title){object-fit:none;object-position:top left;height:100%}::view-transition-new(article-title){animation-duration:.16s;animation-delay:80ms}.article-main strong.is-transition-source{view-transition-name:article-title}.app-shell{background:var(--surface-editor);grid-template-columns:68px 280px minmax(460px,1fr);height:100dvh;display:grid}.app-shell-pages{grid-template-columns:68px minmax(0,1fr)}.app-shell-pages .rail>.new-article-button,.app-shell-pages .rail-actions a{place-items:center;text-decoration:none;display:grid}.rail-button{position:relative}.rail-badge{border:2px solid var(--surface-panel);color:#fff;background:#b42318;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:750;line-height:1;display:grid;position:absolute;top:4px;right:3px}.page-frame{background:var(--surface-editor);min-width:0;min-height:0;display:block;overflow:auto}.articles-page{width:100%;max-width:888px;margin:0 auto;padding:64px 64px 96px}.page-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px;display:flex}.page-header>div{min-width:0}.page-header h1{font-size:var(--text-display);letter-spacing:-.045em;margin:5px 0 8px}.page-header p{color:var(--text-muted);margin:0}.page-kicker{color:var(--action-primary);font-size:var(--text-xs);letter-spacing:.14em;font-weight:750}.page-header .primary-button{text-decoration:none}.search-page{width:100%;max-width:888px;margin:0 auto;padding:76px 64px 112px}.search-page-header{max-width:760px}.search-page-header h1{max-width:720px;font-size:var(--text-display);letter-spacing:-.045em;text-wrap:balance;margin:5px 0 8px;line-height:normal}.search-page-header>p{max-width:620px;color:var(--text-muted);text-wrap:pretty;margin:0;line-height:1.6}.search-privacy{width:fit-content;color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:7px;margin-top:20px;display:flex}.search-privacy svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.search-page-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:46px;display:grid}.search-page-field{color:var(--text-muted);position:relative}.search-page-field>svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.search-page-field input{appearance:none;border:1px solid var(--line-subtle);border-radius:var(--radius-md);width:100%;height:42px;color:var(--text-primary);background:var(--surface-panel);box-shadow:0 1px 2px color-mix(in srgb, var(--ink-950) 4%, transparent), 0 6px 18px color-mix(in srgb, var(--ink-950) 3%, transparent);font-size:var(--text-sm);transition-property:border-color,box-shadow,background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);outline:0;padding:0 84px 0 42px}.search-page-field input::-webkit-search-cancel-button{appearance:none;display:none}.search-page-field input::-webkit-search-decoration{appearance:none;display:none}.search-page-field input::placeholder{color:var(--text-muted)}.search-page-field:focus-within{color:var(--text-secondary)}.search-page-field input:focus-visible{border-color:var(--action-primary);background:var(--surface-editor);box-shadow:0 0 0 3px var(--focus-ring)}.search-page-field kbd{border:1px solid var(--line-subtle);color:var(--text-muted);background:var(--surface-editor);font-family:var(--font-ui);pointer-events:none;border-radius:5px;padding:3px 6px;font-size:11px;line-height:1;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.primary-button.search-submit{min-width:84px;min-height:42px;transition-property:background-color,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);margin-left:0}.primary-button.search-submit:active{transform:scale(.96)}.article-search-clear{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-muted);transition-property:color,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;place-items:center;padding:0;display:grid;position:absolute;top:3px;right:3px}.article-search-clear:before{content:"";background:color-mix(in srgb, var(--text-primary) 7%, transparent);opacity:0;pointer-events:none;transition-property:opacity;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);border-radius:50%;position:absolute;inset:7px}.article-search-clear:hover{color:var(--text-primary)}.article-search-clear:hover:before,.article-search-clear:focus-visible:before{opacity:1}.article-search-clear:active{transform:scale(.96)}.article-search-clear svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:16px;height:16px;position:relative}.article-search-status{border:2px solid var(--line-subtle);border-top-color:var(--action-primary);opacity:0;border-radius:50%;width:16px;height:16px;animation:0s .15s forwards article-search-show,.7s linear infinite article-search-spin;position:absolute;top:13px;right:48px}@keyframes article-search-show{to{opacity:1}}@keyframes article-search-spin{to{transform:rotate(360deg)}}.search-mark{color:inherit;background:color-mix(in srgb, var(--action-primary) 16%, transparent);border-radius:3px;padding:0 .08em}.search-help{color:var(--text-muted);font-size:var(--text-xs);text-wrap:pretty;margin:10px 0 0}.search-results,.search-guide{margin-top:72px}.search-results-header{border-bottom:1px solid var(--line-subtle);justify-content:space-between;align-items:end;gap:24px;padding-bottom:18px;display:flex}.search-results-label{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.14em;font-weight:750}.search-results-header h2,.search-guide h2{color:var(--text-primary);font-size:var(--text-xl);letter-spacing:-.025em;text-wrap:balance;margin:5px 0 0}.search-results-count{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.search-result-list{display:grid}.search-result-card{border-bottom:1px solid var(--line-subtle);padding:28px 4px 24px}.article-main.search-result-main{color:inherit;gap:9px;text-decoration:none;display:grid}.search-result-title{color:var(--text-primary);font-size:var(--text-md);letter-spacing:normal;text-wrap:balance;transition-property:color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);font-weight:720;line-height:1.45}.search-result-main:hover .search-result-title{color:var(--action-primary)}.search-result-main:focus-visible{border-radius:var(--radius-sm);outline:3px solid var(--focus-ring);outline-offset:4px}.article-main.search-result-main .search-result-excerpt{max-width:820px;color:var(--text-secondary);font-size:var(--text-sm);text-overflow:clip;text-wrap:pretty;white-space:normal;line-height:1.75;overflow:visible}.search-result-card footer{color:var(--text-muted);font-size:var(--text-xs);margin-top:18px}.quiet-button.search-more{border:1px solid var(--line-subtle);border-radius:var(--radius-md);width:100%;height:auto;min-height:52px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;justify-content:center;margin-top:20px}.quiet-button.search-more:hover{border-color:var(--ink-300)}.search-page-empty{min-height:280px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:9px;display:grid}.search-page-empty svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:34px;height:34px;margin-bottom:8px}.search-page-empty strong{color:var(--text-primary);font-size:var(--text-md)}.search-page-empty span{text-wrap:pretty}.search-page-empty .quiet-button{border:1px solid var(--line-subtle);min-height:44px;font-size:var(--text-sm);margin-top:8px;padding:0 16px}.search-page-empty .quiet-button:hover{border-color:var(--ink-300)}.search-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.search-guide-grid article{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-panel);padding:22px}.search-guide-grid article>span{color:var(--action-primary);font-variant-numeric:tabular-nums;font-size:11px}.search-guide-grid strong{color:var(--text-primary);font-size:var(--text-md);margin-top:18px;display:block}.search-guide-grid p{color:var(--text-muted);font-size:var(--text-sm);text-wrap:pretty;margin:8px 0 0;line-height:1.65}.transfer-page{max-width:720px}.transfer-form{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-panel);gap:24px;max-width:560px;padding:28px;display:grid}.transfer-field{gap:8px;display:grid}.transfer-field label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:700}.transfer-field input,.transfer-field select{border:1px solid var(--line-subtle);border-radius:var(--radius-sm);background:var(--surface-editor);width:100%;min-height:44px;padding:0 12px}.transfer-select{display:block;position:relative}.transfer-select select{appearance:none;cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb, var(--ink-950) 5%, transparent);transition-property:border-color,box-shadow,background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);padding-right:48px}.transfer-select select:hover{border-color:var(--ink-300);background:var(--paper-50)}.transfer-select select:focus-visible{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring);outline:0}.transfer-select svg{width:20px;height:20px;color:var(--text-secondary);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition-property:color,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);position:absolute;top:50%;right:15px;transform:translateY(-50%)}:is(.transfer-select:has(select:hover) svg,.transfer-select:has(select:focus-visible) svg){color:var(--text-primary);transform:translateY(-50%)translateY(1px)}.transfer-divider{color:var(--text-muted);font-size:var(--text-sm);text-align:center;margin:-4px 0}.transfer-actions,.article-show-action-buttons form{justify-content:flex-end;align-items:center;gap:12px;display:flex}.transfer-actions .quiet-button,.transfer-actions .primary-button{place-items:center;text-decoration:none;display:grid}.transfer-actions .transfer-submit-button{width:112px;transition-property:background-color,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);justify-content:center;align-items:center;gap:8px;display:inline-flex}.transfer-submit-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.transfer-submit-button:active{transform:scale(.97)}.transfer-success{border:1px solid color-mix(in srgb, var(--action-primary) 28%, var(--line-subtle));border-radius:var(--radius-md);background:var(--surface-selected);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;max-width:560px;padding:28px;display:grid}.transfer-success-icon{color:#fff;background:var(--action-primary);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.transfer-success-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.transfer-success h2,.transfer-success p{margin:0}.transfer-success h2{margin-bottom:5px;font-size:18px}.transfer-success p{color:var(--text-secondary);font-size:var(--text-sm)}.transfer-success .quiet-button{text-decoration:none}.transfer-preview-page{min-height:100%;padding-bottom:64px}.transfer-sender,.transfer-status{color:var(--text-muted);font-size:var(--text-sm)}.transfer-sender{align-items:center;gap:8px;margin:0 0 42px;padding:0;display:flex}.transfer-sender svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.articles-table{border-top:1px solid var(--line-subtle)}.transfer-pagination{justify-content:center;align-items:center;gap:12px;padding-top:24px;display:flex}.pagination-button{border:1px solid var(--line-subtle);border-radius:var(--radius-sm);min-width:72px;height:40px;color:var(--text-secondary);font-size:var(--text-sm);transition-property:color,border-color,background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;justify-content:center;align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.pagination-button:hover{color:var(--text-primary);border-color:var(--ink-300);background:var(--paper-100)}.pagination-button.is-disabled{opacity:.4}.pagination-status{min-width:88px;color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:center}.article-row{border-bottom:1px solid var(--line-subtle);grid-template-columns:minmax(0,1fr) 110px auto;align-items:center;gap:24px;min-height:88px;display:grid}.transfer-row{transition-property:background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);padding:18px 20px}.transfer-row.is-pending{background:color-mix(in srgb, var(--action-primary) 6%, var(--surface-editor))}.transfer-row.is-pending:hover{background:color-mix(in srgb, var(--action-primary) 9%, var(--surface-editor))}.article-main .transfer-meta{white-space:normal;align-items:center;gap:9px;display:flex;overflow:visible}.article-main .transfer-meta>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.article-main .transfer-state{min-height:22px;color:var(--text-muted);background:var(--paper-100);font-size:var(--text-xs);border-radius:999px;flex:none;align-items:center;padding:0 8px;font-weight:700;line-height:1;display:inline-flex}.article-main{min-width:0;color:inherit;gap:7px;text-decoration:none;display:grid}.article-main strong{overflow-wrap:anywhere;white-space:normal;line-height:1.45}.article-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.article-main span,.article-row time{color:var(--text-muted);font-size:var(--text-sm)}.row-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.row-actions a,.row-actions button{color:var(--action-primary);font-size:var(--text-sm);padding:6px 0;text-decoration:none}.row-actions .danger-link,.danger-button{color:#b42318}.row-actions .row-icon-button{border-radius:var(--radius-sm);place-items:center;width:36px;height:36px;padding:0;display:grid}.row-actions .row-icon-button:hover{background:var(--paper-100)}.row-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.row-menu{flex:none;position:relative}.row-menu-trigger{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition-property:color,background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);place-items:center;list-style:none;display:grid}.row-menu-trigger::-webkit-details-marker{display:none}.row-menu-trigger svg{fill:currentColor;stroke:none;width:18px;height:18px}.row-menu-trigger:hover,.row-menu-trigger:focus-visible,.row-menu[open] .row-menu-trigger{color:var(--text-primary);background:var(--paper-100)}.row-menu-panel{z-index:6;border:1px solid var(--line-subtle);background:var(--paper-0);width:max-content;min-width:124px;box-shadow:0 12px 28px color-mix(in srgb, var(--ink-950) 12%, transparent);border-radius:10px;padding:4px;position:absolute;top:0;right:0}.row-menu-panel.is-flipped{top:auto;bottom:0}.row-menu-panel .row-menu-item{width:100%;color:var(--text-secondary);font-size:var(--text-sm);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:6px 9px;text-decoration:none;display:flex}.row-menu-item svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.row-menu-panel .row-menu-item:hover,.row-menu-panel .row-menu-item:focus-visible{color:var(--text-primary);background:var(--paper-100)}.row-menu-panel .row-menu-item.is-danger{color:#b42318}.row-menu-panel .row-menu-item.is-danger:hover{background:#b4231812}.row-menu-panel .row-menu-item.is-on{color:var(--action-primary)}.row-menu-separator{background:var(--line-subtle);height:1px;margin:4px 7px}.row-menu-panel .row-menu-form{margin:0;display:block}.article-show-actions .row-menu-panel{min-width:156px;max-height:min(72dvh,420px);overflow:auto}.row-menu-section{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.08em;padding:6px 10px 2px;font-weight:700}.row-menu.is-morphing:not([open])>.row-menu-trigger,.row-menu.is-morphing[open]>.row-menu-panel{view-transition-name:row-menu}::view-transition-old(row-menu){object-fit:none;object-position:var(--row-menu-anchor,top right);height:100%}::view-transition-new(row-menu){object-fit:none;object-position:var(--row-menu-anchor,top right);height:100%}::view-transition-old(row-menu){animation-duration:.11s}::view-transition-new(row-menu){animation-duration:.15s;animation-delay:70ms}.empty-state{color:var(--text-muted);text-align:center;padding:72px 20px}.markdown-reference-page{padding:64px max(32px,50% - 480px) 96px}.markdown-reference-header{margin-bottom:42px}.markdown-reference-header h1{font-size:var(--text-display);letter-spacing:-.045em;margin:5px 0 10px}.markdown-reference-header p{color:var(--text-muted);margin:0}.markdown-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.markdown-example{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-panel);min-width:0;padding:22px}.markdown-example-wide{grid-column:1/-1}.markdown-example h2{margin:0 0 16px;font-size:17px}.markdown-example>pre{border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--paper-100);font:13px/1.75 var(--font-code);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:16px}.markdown-example-result{border-top:1px solid var(--line-subtle);flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px;padding-top:18px;line-height:1.65;display:flex}.markdown-example-result .reference-h1{font-size:28px}.markdown-example-result .reference-h2{font-size:22px}.markdown-example-result .reference-h3{font-size:18px}.markdown-example-result a{color:var(--action-primary)}.markdown-example-result ul,.markdown-example-result ol{margin:0;padding-left:22px}.markdown-example-result blockquote{border-left:3px solid var(--action-primary);color:var(--text-secondary);margin:0;padding-left:14px}.markdown-example-result hr{border:0;border-top:1px solid var(--line-subtle);width:100%}.markdown-example-result code{background:var(--paper-100);font-family:var(--font-code);border-radius:4px;padding:2px 5px}.markdown-example-result pre{background:var(--paper-100);width:100%;margin:0;padding:14px;overflow-x:auto}.markdown-example-result pre code{padding:0}.markdown-example-result table{border-collapse:collapse;width:100%}.markdown-example-result th,.markdown-example-result td{border:1px solid var(--line-subtle);text-align:left;padding:8px 10px}.markdown-example-result th{background:var(--paper-100)}.trash-row{grid-template-columns:minmax(0,1fr) auto}.article-form{grid-template-rows:64px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.article-editor-pane{overscroll-behavior:contain;height:100%;min-height:0;overflow-y:auto}.editor-content.standalone-editor{width:100%;padding:36px max(30px,50% - 380px) 96px}.standalone-editor .title-input{field-sizing:content;resize:none;letter-spacing:-.025em;min-height:1.3em;font-size:32px;font-weight:700;line-height:1.3;overflow:hidden}.standalone-editor .title-input:focus,.standalone-editor .title-input:focus-visible{box-shadow:none;border:0;outline:0}.article-rich-text{--lexxy-editor-padding:24px 0 96px;--lexxy-editor-rows:calc(100dvh - 250px);--lexxy-toolbar-button-size:36px;--lexxy-toolbar-icon-size:18px;--lexxy-toolbar-gap:3px;--lexxy-toolbar-spacing:8px;--lexxy-toolbar-padding:6px;--lexxy-toolbar-border-size:0px;--lexxy-color-canvas:var(--surface-editor);--lexxy-color-text:var(--text-primary);--lexxy-color-text-subtle:var(--text-secondary);--lexxy-color-ink-lighter:var(--line-subtle);--lexxy-color-ink-lightest:var(--paper-100);--lexxy-color-selected:var(--surface-selected);--lexxy-color-selected-hover:color-mix(in srgb, var(--accent-100) 72%, var(--ink-150));--lexxy-color-accent-dark:var(--action-primary);--lexxy-color-accent-medium:var(--action-hover);--lexxy-focus-ring-color:var(--action-primary);--lexxy-radius:7px;--lexxy-shadow:0 14px 38px color-mix(in srgb, var(--ink-950) 12%, transparent), 0 2px 8px color-mix(in srgb, var(--ink-950) 7%, transparent);background:0 0;border:0;border-radius:0;margin-top:30px;font-size:18px;line-height:2}.article-rich-text:focus-within{box-shadow:none;outline:0}.article-rich-text .lexxy-editor__content:focus,.article-rich-text .lexxy-editor__content:focus-visible{box-shadow:none!important;outline:0!important}.article-rich-text .lexxy-editor__content blockquote{padding:4px 16px}.article-rich-text lexxy-toolbar{z-index:2;border:1px solid color-mix(in srgb, var(--line-subtle) 86%, transparent);min-height:52px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface-editor) 90%, transparent);box-shadow:0 8px 24px color-mix(in srgb, var(--ink-950) 5%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.15);backdrop-filter:blur(16px)saturate(1.15);border-radius:12px;align-items:center;padding:8px;position:sticky;top:0}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-button{transition:color var(--duration-fast), background-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast)}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-button:hover:not([aria-disabled=true]){color:var(--text-primary);background:var(--paper-100)}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-button:active:not([aria-disabled=true]){transform:scale(.96)}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-button:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:0}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-button[aria-pressed=true],.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-button[aria-expanded=true]{color:var(--action-primary);background:var(--surface-selected)}.article-rich-text:not(:focus-within) lexxy-toolbar .lexxy-editor__toolbar-button[aria-pressed=true]{color:var(--text-secondary);background:0 0}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-button[aria-disabled=true]{opacity:.28}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-group-end{margin-inline-end:8px}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-group-end:after{background:var(--line-subtle);height:20px;inset-inline-end:-6px}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-button--chevron{padding-inline:9px}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-dropdown [data-dropdown-panel]{border:1px solid var(--line-subtle);background:color-mix(in srgb, var(--surface-editor) 97%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:10px;margin-top:7px;padding:8px}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-dropdown-list button{border-radius:7px}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-overflow [data-dropdown-panel]{grid-template-columns:repeat(4,36px);gap:4px;width:max-content;inset-inline-end:0}.article-rich-text lexxy-toolbar .lexxy-editor__toolbar-overflow>.lexxy-editor__toolbar-button[aria-expanded=true]{border-radius:7px}.article-rich-text .lexxy-editor__content .node--selected{outline:1px solid color-mix(in srgb, var(--action-primary) 72%, transparent);outline-offset:3px;border-radius:4px}.article-rich-text lexxy-node-delete-button{margin-inline-start:8px}.article-rich-text lexxy-node-delete-button .lexxy-floating-controls__group{box-shadow:none;background:0 0;border:0;border-radius:8px;padding:0}.article-rich-text lexxy-node-delete-button .lexxy-node-delete{--button-size:32px;color:#a33;background:var(--paper-0);transition:color var(--duration-fast), background-color var(--duration-fast), transform var(--duration-fast);border:1px solid #e8c9c5;border-radius:8px;box-shadow:0 5px 14px #7a28201f}.article-rich-text lexxy-node-delete-button .lexxy-node-delete:hover{color:#8f241c;background:#fff1ef}.article-rich-text lexxy-node-delete-button .lexxy-node-delete:active{transform:scale(.95)}.article-rich-text lexxy-node-delete-button .lexxy-node-delete:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:0}.article-preview-pane{--theme-picker-height:51px;background:#eceeed;padding:0;container-type:inline-size}.theme-picker{z-index:7;height:var(--theme-picker-height);background:#f6f7f7;border-bottom:1px solid #dedede;align-items:center;gap:8px;padding:0 20px;display:flex;position:sticky;top:0}.theme-picker-label{color:var(--text-muted);font-size:var(--text-xs);margin-right:4px}.theme-pill input{opacity:0;width:1px;height:1px;position:absolute}.theme-pill span{color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast);background:#fff;border:1px solid #0000;border-radius:999px;padding:5px 13px;display:block}.theme-pill span:hover{color:var(--text-primary)}.theme-pill input:checked+span{color:var(--action-primary);border-color:currentColor;font-weight:650}.theme-pill input:focus-visible+span{outline:3px solid var(--focus-ring);outline-offset:2px}.article-preview-layout{width:100%;min-height:calc(100% - var(--theme-picker-height));grid-template-columns:minmax(560px,1fr) 462px;align-items:stretch;gap:0;display:grid}.desktop-preview{background:#fff;min-width:0}.desktop-article-preview{width:100%;min-height:100%;margin:0;padding:36px max(24px,50% - 380px) 80px}.mobile-preview-column{background:radial-gradient(circle at 50% 29%,#fff 0,#f5f5f7 42%,#e9e9ec 100%);border-left:1px solid #dedede;place-items:start center;min-height:100%;padding:24px;display:grid}.mobile-preview-device{top:calc(var(--theme-picker-height) + 24px);width:auto;max-width:414px;height:min(886px, calc(100dvh - 112px - var(--theme-picker-height)));max-height:calc(100dvh - 112px - var(--theme-picker-height));aspect-ratio:414/886;background:linear-gradient(100deg,#5e5c57 0%,#aaa69d 5%,#ddd9cf 10%,#8b8881 17%,#55534f 47%,#b4b0a7 83%,#dedad1 91%,#77746e 100%);border:1px solid #6d6b66;border-radius:13.3%/6.2%;margin:0 auto;padding:5px;position:sticky;box-shadow:0 32px 64px #0000003d,0 10px 22px #00000029,inset 1px 0 #ffffff9e,inset -1px 0 #0000004d}.mobile-preview-device:before{content:"";z-index:0;background:#050505;border-radius:12.6%/5.9%;position:absolute;inset:3px;box-shadow:inset 0 0 0 1px #242424,inset 0 0 0 2px #000}.mobile-preview-device:after{content:"";z-index:3;pointer-events:none;border-radius:12%/5.6%;position:absolute;inset:6px;box-shadow:inset 1px 1px #ffffff29,inset -1px -1px #00000038}.mobile-preview-screen{z-index:1;scrollbar-width:none;background:#fff;border-radius:12%/5.6%;width:100%;height:100%;position:relative;overflow:hidden auto}.mobile-preview-screen::-webkit-scrollbar{display:none}.iphone-dynamic-island{z-index:5;pointer-events:none;background:#050505;border-radius:999px;width:126px;height:36px;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 1px 2px #ffffff14}.iphone-dynamic-island i{background:radial-gradient(circle at 35% 35%,#263d52,#080b10 48%,#020202 70%);border-radius:50%;width:12px;height:12px;position:absolute;top:11px;right:12px;box-shadow:inset 0 0 2px #426480}.mobile-preview-bar{z-index:4;color:#111;letter-spacing:-.01em;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:flex-start;height:54px;padding:16px 22px 0 27px;font-size:12px;font-weight:700;display:flex;position:sticky;top:0}.iphone-status-icons{align-items:center;gap:5px;height:13px;display:flex}.iphone-status-icons svg{fill:#111;width:16px;height:12px}.iphone-status-icons svg:nth-child(2){fill:none;stroke:#111;stroke-width:1.8px;stroke-linecap:round}.iphone-status-icons .iphone-battery{fill:none;stroke:#111;stroke-width:1px;width:25px}.iphone-status-icons .iphone-battery rect:last-child{fill:#111;stroke:none}.mobile-preview-home{z-index:6;pointer-events:none;background:#111;border-radius:999px;width:32%;height:5px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.iphone-action-button,.iphone-volume-up,.iphone-volume-down,.iphone-side-button,.iphone-camera-control{z-index:0;background:linear-gradient(90deg,#4e4c48,#c5c0b5 60%,#77746d);border:1px solid #696761;width:4px;position:absolute;box-shadow:0 1px 1px #0006,inset 1px 0 #ffffff52}.iphone-action-button{border-radius:3px 0 0 3px;height:3.5%;top:13.8%;left:-5px}.iphone-volume-up{border-radius:3px 0 0 3px;height:6.6%;top:20.5%;left:-5px}.iphone-volume-down{border-radius:3px 0 0 3px;height:6.6%;top:29%;left:-5px}.iphone-side-button{border-radius:0 3px 3px 0;height:10.5%;top:21%;right:-5px}.iphone-camera-control{background:linear-gradient(90deg,#514f4b,#918e87);border-radius:0 3px 3px 0;height:7.5%;top:42%;right:-5px}.article-live-preview{color:#3f3f3f;overflow-wrap:anywhere;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.75}.article-live-preview :is(h1,h2,h3,h4,h5,h6){text-wrap:wrap}.mobile-article-preview{width:100%;min-height:calc(100% - 54px);margin:0;padding:28px 24px 64px;font-size:16px}.article-live-preview.mobile-article-preview>h1{text-align:left;margin-bottom:24px;font-size:24px}.article-live-preview>h1{color:#1f1f1f;letter-spacing:.02em;text-align:left;margin:0 0 38px;font-size:28px;line-height:1.4}.article-live-preview.desktop-article-preview>h1{font-family:var(--font-ui);letter-spacing:-.025em;margin-bottom:24px;font-size:24px}.article-live-preview [data-article-preview-target=previewBody]>:first-child{margin-top:0}.article-live-preview [data-article-preview-target=previewBody]>:last-child{margin-bottom:0}.article-live-preview h2{color:#1f1f1f;border-bottom:1px solid #d8e8e3;margin:2.2em 0 1em;padding:0 0 9px;font-size:21px;line-height:1.5}.article-live-preview h2:before{content:"";vertical-align:-.12em;background:#07c160;border-radius:2px;width:4px;height:1.05em;margin-right:10px;display:inline-block}.article-live-preview h3{color:#087f5b;margin:2em 0 .8em;font-size:18px;line-height:1.55}.article-live-preview h4,.article-live-preview h5,.article-live-preview h6{color:#1f1f1f;margin:1.8em 0 .7em;font-size:16px;line-height:1.6}.article-live-preview p{letter-spacing:.04em;text-align:justify;margin:0 0 1.2em}.article-live-preview strong{color:#1f1f1f;font-weight:700}.article-live-preview a{color:#576b95;text-decoration:none}.article-live-preview u{text-underline-offset:3px}.article-live-preview s{color:#888}.article-live-preview blockquote{color:#666;background:#f6f8f7;border-left:4px solid #d8ddda;margin:1.7em 0;padding:8px 16px}.article-live-preview blockquote>:last-child{margin-bottom:0}.article-live-preview ul,.article-live-preview ol{margin:1em 0 1.4em;padding-left:1.7em}.article-live-preview li{margin:.45em 0;padding-left:.2em}.article-live-preview li::marker{color:#07c160}.article-live-preview hr{background:#e5e5e5;border:0;height:1px;margin:2.4em 0}.article-live-preview pre,.article-live-preview code:is([data-language],[data-highlight-language],[data-gutter]){color:#343a40;font:14.4px/1.5 var(--font-code);white-space:pre-wrap;background:#f7f7f7;border:0;border-radius:3px;margin:0 0 16px;padding:12px 16px;display:block;overflow-x:auto}.article-live-preview code{color:#c7254e;font:.9em/1.5 var(--font-code);background:#f7f7f7;border-radius:3px;padding:.15em .35em}.article-live-preview pre code{color:inherit;font:inherit;background:0 0;padding:0}.article-live-preview .token.comment,.article-live-preview .token.prolog,.article-live-preview .token.doctype,.article-live-preview .token.cdata{color:#6a737d;font-style:italic}.article-live-preview .token.punctuation{color:#586069}.article-live-preview .token.property,.article-live-preview .token.tag,.article-live-preview .token.boolean,.article-live-preview .token.number,.article-live-preview .token.constant,.article-live-preview .token.symbol,.article-live-preview .token.deleted{color:#b31d28}.article-live-preview .token.selector,.article-live-preview .token.attr-name,.article-live-preview .token.string,.article-live-preview .token.char,.article-live-preview .token.builtin,.article-live-preview .token.inserted{color:#22863a}.article-live-preview .token.operator,.article-live-preview .token.entity,.article-live-preview .token.url,.article-live-preview .language-css .token.string,.article-live-preview .style .token.string{color:#005cc5}.article-live-preview .token.atrule,.article-live-preview .token.attr-value,.article-live-preview .token.keyword{color:#d73a49}.article-live-preview .token.function,.article-live-preview .token.class-name{color:#6f42c1}.article-live-preview .token.regex,.article-live-preview .token.important,.article-live-preview .token.variable{color:#e36209}.article-live-preview table{border-collapse:collapse;width:100%;margin:1.7em 0;font-size:14px;line-height:1.6}.article-live-preview th,.article-live-preview td{text-align:left;vertical-align:top;border:1px solid #dcdcdc;padding:9px 11px}.article-live-preview th{color:#1f1f1f;background:#f3f7f5;font-weight:700}.article-live-preview img{max-width:100%;height:auto;margin:1.8em auto;display:block}.article-live-preview figure{margin:1.8em 0}.article-live-preview figure img{margin:0 auto}.article-live-preview figcaption{color:#888;text-align:center;margin-top:9px;font-size:13px;line-height:1.6}[data-wechat-theme=amber] .article-live-preview{color:#4a4540;line-height:1.8}[data-wechat-theme=amber] .article-live-preview>h1{color:#1c1917}[data-wechat-theme=amber] .article-live-preview h2{color:#fff;letter-spacing:.03em;background:#ea580c;border:0;border-radius:8px;margin:2.4em 0 1em;padding:6px 15px;font-size:19px;display:inline-block}[data-wechat-theme=amber] .article-live-preview h2:before{display:none}[data-wechat-theme=amber] .article-live-preview h3{color:#c2410c;border-left:3px solid #fdba74;padding-left:12px}[data-wechat-theme=amber] .article-live-preview h4,[data-wechat-theme=amber] .article-live-preview h5,[data-wechat-theme=amber] .article-live-preview h6{color:#1c1917}[data-wechat-theme=amber] .article-live-preview p{letter-spacing:.05em}[data-wechat-theme=amber] .article-live-preview strong{color:#c2410c}[data-wechat-theme=amber] .article-live-preview a{color:#ea580c}[data-wechat-theme=amber] .article-live-preview blockquote{color:#7c5a45;background:#fff7ed;border:1px solid #fbe3cc;border-radius:10px;padding:15px 18px}[data-wechat-theme=amber] .article-live-preview li::marker{color:#ea580c}[data-wechat-theme=amber] .article-live-preview hr{background:#f2e2d4}[data-wechat-theme=amber] .article-live-preview pre,[data-wechat-theme=amber] .article-live-preview code:is([data-language],[data-highlight-language],[data-gutter]){color:#44403c;background:#fdf8f4;border:1px solid #f2e2d4;border-radius:10px;padding:14px 18px}[data-wechat-theme=amber] .article-live-preview code{color:#c2410c;background:#fff1e4}[data-wechat-theme=amber] .article-live-preview pre code{color:inherit;background:0 0}[data-wechat-theme=amber] .article-live-preview th,[data-wechat-theme=amber] .article-live-preview td{border-color:#f2e2d4}[data-wechat-theme=amber] .article-live-preview th{color:#1c1917;background:#fff7ed}[data-wechat-theme=amber] .article-live-preview img{border-radius:10px}[data-wechat-theme=amber] .article-live-preview figcaption{color:#a8998c}[data-wechat-theme=ink] .article-live-preview{color:#33322e;font-family:Georgia,Times New Roman,Songti SC,Noto Serif CJK SC,Source Han Serif SC,STSong,SimSun,serif;line-height:1.9}[data-wechat-theme=ink] .article-live-preview>h1{color:#1a1a18;letter-spacing:.01em}[data-wechat-theme=ink] .article-live-preview h2{color:#1a1a18;letter-spacing:.02em;border:0;border-top:1px solid #e3e0da;margin:2.3em 0 1em;padding:1.2em 0 0;font-size:20px;line-height:1.6}[data-wechat-theme=ink] .article-live-preview h2:before{display:none}[data-wechat-theme=ink] .article-live-preview h3{color:#1a1a18;letter-spacing:.02em}[data-wechat-theme=ink] .article-live-preview h4,[data-wechat-theme=ink] .article-live-preview h5,[data-wechat-theme=ink] .article-live-preview h6{color:#6b675f;letter-spacing:.1em;font-size:15px}[data-wechat-theme=ink] .article-live-preview p{letter-spacing:.03em}[data-wechat-theme=ink] .article-live-preview strong{color:#1a1a18}[data-wechat-theme=ink] .article-live-preview a{color:#57534e;border-bottom:1px solid #cfcabd}[data-wechat-theme=ink] .article-live-preview blockquote{color:#6b675f;background:0 0;border:0;border-left:2px solid #d9d4c8;padding:2px 0 2px 20px}[data-wechat-theme=ink] .article-live-preview li::marker{color:#a8a49b}[data-wechat-theme=ink] .article-live-preview hr{background:#cfcabd;width:60px;margin:2.9em auto}[data-wechat-theme=ink] .article-live-preview pre,[data-wechat-theme=ink] .article-live-preview code:is([data-language],[data-highlight-language],[data-gutter]){color:#3f3d38;background:#f7f6f3;border:1px solid #eae7e0;border-radius:2px;padding:14px 18px}[data-wechat-theme=ink] .article-live-preview code{color:#3f3d38;background:#f2f0eb}[data-wechat-theme=ink] .article-live-preview pre code{color:inherit;background:0 0}[data-wechat-theme=ink] .article-live-preview th,[data-wechat-theme=ink] .article-live-preview td{border:0;border-bottom:1px solid #eae7e0;padding:10px 12px}[data-wechat-theme=ink] .article-live-preview th{color:#1a1a18;background:0 0;border-bottom:2px solid #33322e}[data-wechat-theme=ink] .article-live-preview figcaption{color:#8c887f;font-style:italic}.back-link{color:var(--text-secondary);text-decoration:none}.form-errors{color:#912018;background:#fff0ee;padding:12px 28px}.article-show-page{background:#fff;min-height:100%;padding-bottom:48px}.article-show-actions{z-index:3;border-bottom:1px solid var(--line-subtle);background:color-mix(in srgb, var(--surface-editor) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.article-show-actions .primary-button{margin-left:0;text-decoration:none}.article-show-action-buttons{align-items:center;gap:10px;display:flex}.article-show-content{width:100%;max-width:888px;min-height:calc(100dvh - 112px);margin-inline:auto;padding:36px 64px 64px;font-size:17px;line-height:1.9}.article-show-content>h1{font-family:var(--font-ui);letter-spacing:-.025em;text-align:left;margin-bottom:24px;font-size:32px;font-weight:700;line-height:1.3}.article-show-page .article-show-content>h1{view-transition-name:article-title}.article-live-preview .article-markdown-source{width:100%;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:.04em;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;margin:0;padding:0}.desk-row{border-bottom:1px solid var(--line-subtle);grid-template-columns:minmax(0,1fr) 110px auto;align-items:center;gap:24px;min-height:72px;display:grid}.desk-main{min-width:0;color:inherit;gap:6px;text-decoration:none;display:grid}.desk-main strong{overflow-wrap:anywhere;line-height:1.45}.desk-main span,.desk-row time{color:var(--text-muted);font-size:var(--text-sm)}.desk-form-page{max-width:768px}.desk-form-page .desk-form{gap:28px;display:grid}.desk-form-field{gap:8px;display:grid}.desk-form-field label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:650}.desk-form-field input{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--paper-0);height:44px;padding:0 12px}.desk-form-articles{border:0;gap:12px;margin:0;padding:0;display:grid}.desk-form-articles legend{color:var(--text-secondary);font-size:var(--text-sm);align-items:baseline;gap:10px;padding:0;font-weight:650;display:flex}.desk-form-articles legend small{color:var(--text-muted);font-weight:400}.desk-article-choices{border:1px solid var(--line-subtle);border-radius:var(--radius-md);gap:2px;max-height:380px;padding:6px;display:grid;overflow:auto}.desk-article-choice{border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:grid}.desk-article-choice:hover{background:var(--paper-100)}.desk-article-choice span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.desk-article-choice time{color:var(--text-muted);font-size:var(--text-xs)}.desk-form-actions{justify-content:flex-end;align-items:center;gap:18px;display:flex}.app-shell-desk{grid-template-columns:68px 300px minmax(460px,1fr)}.desk-library{border-right:1px solid var(--line-subtle);background:var(--surface-panel);grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.desk-library-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 18px 14px;display:flex}.desk-library-heading{min-width:0}.desk-library-heading .back-link{font-size:var(--text-xs)}.desk-library-heading h1{letter-spacing:-.025em;overflow-wrap:anywhere;margin:8px 0 4px;font-size:20px}.desk-library-heading p{color:var(--text-muted);font-size:var(--text-xs);margin:0}.desk-add{flex:none;position:relative}.desk-add summary{width:28px;height:28px;color:var(--action-primary);cursor:pointer;border-radius:7px;place-items:center;list-style:none;display:grid}.desk-add summary::-webkit-details-marker{display:none}.desk-add summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.desk-add summary:hover,.desk-add summary:focus-visible{background:var(--surface-selected);outline:0}.desk-add-panel{z-index:5;border:1px solid var(--line-subtle);background:var(--paper-0);width:268px;max-height:320px;box-shadow:0 12px 30px color-mix(in srgb, var(--ink-950) 12%, transparent);border-radius:10px;padding:6px;position:absolute;top:34px;right:0;overflow:auto}.desk-add-panel form{margin:0}.desk-add-item{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);text-align:left;font-size:var(--text-sm);text-overflow:ellipsis;padding:8px 10px;overflow:hidden}.desk-add-item:hover{color:var(--text-primary);background:var(--paper-100)}.desk-add-empty,.row-menu-empty{color:var(--text-muted);font-size:var(--text-sm);margin:0;padding:10px}.desk-list-picker{grid-template-rows:minmax(0,1fr);min-height:0;display:grid}.desk-list-toggle{display:none}.desk-article-list{min-height:0;padding:0 10px 18px;overflow:auto}.desk-article-item{border-radius:var(--radius-md);position:relative}.desk-article-item:hover{background:var(--paper-100)}.desk-article-link{border-radius:var(--radius-md);min-width:0;color:var(--text-secondary);gap:4px;padding:11px 12px;text-decoration:none;display:grid}.desk-article-link span{font-size:var(--text-sm);white-space:normal;overflow-wrap:anywhere;line-height:1.55}.desk-article-link time{height:16px;color:var(--text-muted);font-size:var(--text-xs);align-items:center;display:flex}.desk-article-link.is-selected{color:var(--action-primary);background:var(--surface-selected);font-weight:650}.desk-article-link.is-selected time{color:currentColor}.desk-article-remove-form{margin:0;position:absolute;bottom:6px;right:8px}.desk-article-remove{width:26px;height:26px;color:var(--text-muted);opacity:0;transition:opacity var(--duration-fast), color var(--duration-fast), background var(--duration-fast);border-radius:6px;place-items:center;display:grid}.desk-article-remove svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:16px;height:16px}.desk-article-item:hover .desk-article-remove,.desk-article-remove:focus-visible{opacity:1}.desk-article-remove:hover{color:#b42318;background:var(--paper-0)}.desk-empty{color:var(--text-muted);font-size:var(--text-sm);padding:28px 12px;line-height:1.8}.desk-reader{background:var(--surface-editor);min-width:0;min-height:0;display:block;overflow:auto}.desk-reader-actions{justify-content:flex-end}.desk-reader-empty{height:100%;color:var(--text-muted);text-align:center;place-content:center;justify-items:center;gap:20px;padding:40px;display:grid}.desk-reader-empty .primary-button{text-decoration:none}@container (width<=767px){.article-preview-layout{grid-template-columns:minmax(0,1fr)}.mobile-preview-column{display:none}}.rail{background:var(--surface-panel);border-right:1px solid var(--line-subtle);z-index:4;view-transition-name:rail;flex-direction:column;align-items:center;padding:10px;display:flex}.rail-actions{gap:10px;margin-top:10px;display:grid}.rail-button{border-radius:var(--radius-md);width:42px;height:42px;color:var(--text-muted);place-items:center;display:grid}.rail-button svg,.rail-account svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.rail-button:hover{background:var(--paper-100);color:var(--text-primary)}.rail-button.is-active{color:var(--action-primary);background:var(--surface-selected)}.new-article-button{color:var(--paper-0);background:var(--action-primary)}.new-article-button:hover{color:var(--paper-0);background:var(--action-hover)}.rail-account-form{margin-top:auto}.rail-account{border-radius:var(--radius-md);width:42px;height:42px;color:var(--text-muted);place-items:center;padding:0;display:grid}.rail-account:hover{color:var(--text-primary);background:var(--paper-100)}.media-page{background:var(--surface-editor);min-height:100%;padding:42px;overflow-y:auto}.media-upload-workbench,.media-library-layout{width:min(1120px,100%);margin-left:auto;margin-right:auto}.media-page-header{align-items:end;margin-bottom:0}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.media-upload-workbench{margin-top:0}.media-upload-dropzone{border:1px dashed var(--line-subtle);min-height:88px;color:var(--text-muted);background:var(--paper-50);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:12px;margin-top:24px;padding:16px;transition:border-color .18s,background .18s;display:flex}.media-upload-dropzone:hover,.media-upload-dropzone:focus-visible,.media-upload-dropzone.is-dragging{border-color:var(--action-primary);background:var(--surface-selected);outline:0}.media-upload-dropzone>div:last-child{gap:3px;display:grid}.media-upload-dropzone strong{color:var(--text-primary);font-size:var(--text-sm)}.media-upload-dropzone span{font-size:var(--text-xs)}.media-upload-error{color:#a33;font-size:var(--text-sm);background:#fff0ee;border-radius:8px;margin:12px 0 0;padding:10px 12px}.media-upload-queue{background:var(--paper-100);border-radius:14px;margin-top:12px;padding:20px}.media-upload-queue-head,.media-upload-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.media-upload-queue-head>div{gap:3px;display:grid}.media-upload-queue-head span{color:var(--text-muted);font-size:var(--text-xs)}.media-upload-queue-head button{color:var(--text-muted);font-size:var(--text-sm)}.media-upload-previews{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:16px 0 20px;display:grid}.media-upload-preview{background:var(--paper-0);border-radius:10px;min-width:0;padding:7px;position:relative}.media-upload-preview img{aspect-ratio:4/3;object-fit:cover;border-radius:7px;width:100%;display:block}.media-upload-preview>div{gap:4px;min-width:0;display:grid}.media-upload-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);margin-top:7px;overflow:hidden}.media-upload-preview span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.media-upload-preview button{width:28px;height:28px;color:var(--paper-0);opacity:0;background:#141816b8;border-radius:50%;font-size:19px;transition:opacity .16s,transform .16s,background .16s;position:absolute;top:12px;right:12px;transform:scale(.9)}.media-upload-preview:hover button,.media-upload-preview:focus-within button{opacity:1;transform:scale(1)}.media-upload-preview button:hover,.media-upload-preview button:focus-visible{background:#a33}.media-upload-actions{border-top:1px solid var(--line-subtle);padding-top:18px}.media-upload-category{gap:7px;display:grid;position:relative}.media-upload-category:after{content:"";border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);pointer-events:none;width:7px;height:7px;position:absolute;bottom:17px;right:13px;transform:rotate(45deg)}.media-upload-category label{color:var(--text-muted);font-size:var(--text-xs);font-weight:650}.media-upload-category select{appearance:none;border:1px solid var(--line-subtle);border-radius:var(--radius-sm);width:220px;height:38px;color:var(--text-primary);background:var(--paper-0);cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);padding:0 36px 0 11px}.media-upload-category select:hover{border-color:var(--ink-300);background:var(--paper-50)}.media-upload-category select:focus-visible{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring);outline:0}.media-upload-submit{appearance:none;color:#fff;-webkit-text-fill-color:#fff;cursor:pointer}.media-library-layout{grid-template-columns:168px minmax(0,1fr);align-items:start;gap:clamp(32px,4vw,52px);margin-top:36px;display:grid}.media-category-sidebar{min-width:0;position:sticky;top:0}.media-category-heading{height:40px;color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:12px;padding:0 0 0 10px;font-weight:650;display:flex}.media-category-heading>span,.media-category-create{align-items:center;height:26px;display:flex}.media-category-create{flex:none;position:relative}.media-category-create summary{width:26px;height:26px;color:var(--action-primary);cursor:pointer;border-radius:7px;place-items:center;list-style:none;transition:color .16s,background .16s;display:grid}.media-category-create summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.media-category-create summary::-webkit-details-marker{display:none}.media-category-create summary:hover,.media-category-create summary:focus-visible{color:var(--action-hover);background:var(--surface-selected);outline:0}.media-category-create form{z-index:2;border:1px solid var(--line-subtle);background:var(--paper-0);width:220px;box-shadow:0 12px 30px color-mix(in srgb, var(--ink-950) 12%, transparent);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:10px;display:grid;position:absolute;top:32px;left:0}.media-category-create input{border:1px solid var(--line-subtle);background:var(--paper-0);min-width:0;height:34px;font-size:var(--text-sm);letter-spacing:0;border-radius:6px;padding:0 9px}.media-category-create input[type=submit]{color:var(--paper-0);background:var(--action-primary);border-color:var(--action-primary);cursor:pointer;font-weight:650}.media-category-sidebar nav{gap:3px;display:grid}.media-category-sidebar a{min-width:0;height:40px;color:var(--text-secondary);font-size:var(--text-sm);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 10px;text-decoration:none;transition:color .16s,background .16s,transform .16s;display:grid}.media-category-sidebar a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.media-category-sidebar a small{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.media-category-sidebar a:hover{color:var(--text-primary);background:var(--paper-100);transform:translate(2px)}.media-category-sidebar a.is-active{color:var(--action-primary);background:var(--surface-selected);font-weight:650}.media-category-sidebar a.is-active small{color:currentColor}.media-library-content{min-width:0}.media-library-heading{align-items:center;min-height:40px;margin-bottom:18px;display:flex}.media-library-heading h2{letter-spacing:-.025em;margin:0;font-size:20px}.category-tabs{gap:7px;margin:24px 0;display:flex;overflow-x:auto}.category-tabs a,.category-tabs button{color:var(--text-secondary);background:var(--paper-100);font-size:var(--text-sm);border-radius:999px;flex:none;padding:7px 12px;text-decoration:none}.category-tabs .is-active{color:var(--paper-0);background:var(--action-primary)}.media-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-content:start;gap:18px;min-height:240px;display:grid}.media-empty-message{color:var(--text-muted);text-align:center;grid-column:1/-1;margin:0;padding:72px 24px}.media-empty-icon{width:48px;height:48px;color:var(--action-primary);background:var(--paper-0);box-shadow:inset 0 0 0 1px var(--line-subtle);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}.media-empty-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.media-card{background:var(--paper-100);cursor:pointer;min-width:0;transition:transform var(--duration-fast), box-shadow var(--duration-fast);border-radius:12px;position:relative;overflow:hidden}.media-card:hover{box-shadow:0 10px 28px color-mix(in srgb, var(--ink-950) 12%, transparent);transform:translateY(-2px)}.media-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.media-card>img{object-fit:contain;background:var(--paper-100);width:100%;height:180px;display:block}.media-card-trash-form{opacity:0;transition:opacity var(--duration-fast), transform var(--duration-fast);position:absolute;top:8px;right:8px;transform:scale(.94)}.media-card:hover .media-card-trash-form,.media-card:focus-within .media-card-trash-form{opacity:1;transform:scale(1)}.media-card-trash{width:32px;height:32px;color:var(--text-secondary);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast);background:#fdfefdd6;border:1px solid #ffffffb8;border-radius:8px;place-items:center;display:grid;box-shadow:0 2px 8px #1418161f}.media-card-trash:hover,.media-card-trash:focus-visible{color:#a33;background:#fff5f3;border-color:#f0cfcb}.media-card-trash svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.media-trash-category{margin-top:14px;position:relative}.media-trash-category:before{content:"";background:var(--line-subtle);height:1px;position:absolute;top:-8px;left:10px;right:10px}.media-drawer-backdrop{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14181647;position:fixed;inset:0}.media-drawer{z-index:11;border-left:1px solid var(--line-subtle);background:var(--surface-editor);width:min(420px,100vw - 68px);box-shadow:-18px 0 48px color-mix(in srgb, var(--ink-950) 16%, transparent);animation:drawer-enter .18s var(--ease-out) both;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0 0 0 auto}@keyframes drawer-enter{0%{opacity:0;transform:translate(24px)}}.media-drawer>header{border-bottom:1px solid var(--line-subtle);justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:16px 22px;display:flex}.media-drawer>header>div{gap:4px;min-width:0;display:grid}.media-drawer>header span{color:var(--text-muted);font-size:var(--text-xs)}.media-drawer>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);overflow:hidden}.media-drawer>header button{width:34px;height:34px;color:var(--text-muted);background:var(--paper-100);transition:color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.media-drawer>header button:hover,.media-drawer>header button:focus-visible{color:var(--text-primary);background:var(--ink-150)}.media-drawer>header button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:18px;height:18px}.media-drawer-content{min-height:0;padding:22px;overflow-y:auto}.media-drawer-content>img{object-fit:contain;background:var(--paper-100);border-radius:10px;width:100%;height:280px;display:block}.media-drawer dl{margin:18px 0 24px}.media-drawer dl div{border-bottom:1px solid var(--line-subtle);justify-content:space-between;gap:18px;padding:12px 0;display:flex}.media-drawer dt,.media-drawer dd{font-size:var(--text-sm);margin:0}.media-drawer dt{color:var(--text-muted)}.media-drawer-form{gap:24px;display:grid}.media-drawer-field{gap:8px;display:grid;position:relative}.media-drawer-field:after{content:"";border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);pointer-events:none;width:7px;height:7px;position:absolute;bottom:18px;right:13px;transform:rotate(45deg)}.media-drawer-field label{color:var(--text-muted);font-size:var(--text-xs);font-weight:650}.media-drawer-field select{appearance:none;border:1px solid var(--line-subtle);border-radius:var(--radius-sm);width:100%;height:40px;color:var(--text-primary);background:var(--paper-0);cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);padding:0 36px 0 11px}.media-drawer-field select:hover{border-color:var(--ink-300);background:var(--paper-50)}.media-drawer-field select:focus-visible{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring);outline:0}.media-drawer-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.media-drawer-trash{color:#a33;height:36px;padding:0 10px}.media-drawer-actions .primary-button{margin-left:auto}.media-picker{border:0;border-radius:16px;width:min(920px,100vw - 40px);max-height:min(760px,100dvh - 40px);padding:0;box-shadow:0 24px 80px #00000038}.media-picker::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1418167a}.media-picker-panel{background:var(--surface-editor);padding:24px}.media-picker header{justify-content:space-between;align-items:start;display:flex}.media-picker h2{margin:0;font-size:20px}.media-picker header p{color:var(--text-muted);font-size:var(--text-sm);margin:6px 0 0}.media-picker header button{width:36px;height:36px;color:var(--text-muted);background:var(--paper-100);transition:color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.media-picker header button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.media-picker header button:hover{color:var(--text-primary);background:var(--surface-selected);transform:scale(1.05)}.media-picker header button:focus-visible{color:var(--text-primary);background:var(--surface-selected);box-shadow:0 0 0 3px var(--focus-ring);outline:0}.media-picker-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;max-height:520px;display:grid;overflow-y:auto}.media-picker-grid>button{background:var(--paper-100);text-align:left;border:2px solid #0000;border-radius:10px;min-width:0;padding:0;overflow:hidden}.media-picker-grid>button:hover,.media-picker-grid>button:focus-visible{border-color:var(--action-primary)}.media-picker-grid img{aspect-ratio:16/9;object-fit:contain;width:100%;display:block}.media-picker-empty{color:var(--text-muted)}.confirm-dialog{border:0;border-radius:14px;width:min(420px,100vw - 40px);padding:0;box-shadow:0 24px 80px #00000038}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1418167a}.confirm-dialog-panel{background:var(--surface-editor);padding:24px;display:grid}.confirm-dialog-title{letter-spacing:-.015em;margin:0 0 8px;font-size:17px}.confirm-dialog-message{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.75}.confirm-dialog-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:22px;display:flex}.confirm-dialog-actions .quiet-button{cursor:pointer;padding:0 14px}.confirm-dialog-accept{cursor:pointer;margin-left:0}.confirm-dialog-accept.is-danger{background:#b42318}.confirm-dialog-accept.is-danger:hover{background:#912018}@media (width<=767px){.media-page{padding:24px 18px}.media-upload-actions{flex-direction:column;align-items:stretch}.media-upload-category,.media-upload-category select,.media-upload-actions .primary-button{width:100%}.media-library-layout{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:28px}.media-category-sidebar{border:0;padding:0;position:static;overflow-x:auto}.media-category-heading{padding:0 2px}.media-category-create form{left:auto;right:0}.media-category-sidebar nav{gap:7px;display:flex}.media-category-sidebar a{background:var(--paper-100);border-radius:999px;width:max-content;height:34px;padding:0 12px;display:flex}.media-category-sidebar a:hover{transform:none}}.workspace{background:var(--surface-editor);grid-template-rows:minmax(0,1fr);min-width:0;height:100%;min-height:0;display:grid}.topbar{border-bottom:1px solid var(--line-subtle);justify-content:space-between;align-items:center;gap:24px;padding:0 28px;display:flex}.document-meta{align-items:center;gap:14px;min-width:0;display:flex}.document-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.save-status{color:var(--text-muted);background:var(--paper-100);font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 7px;display:inline-flex}.save-status i{background:var(--action-primary);border-radius:50%;width:6px;height:6px}.save-status.is-idle i{background:var(--text-muted)}.save-status.is-saving i{animation:1s infinite pulse}.save-status.is-dirty{color:#8a6116;background:#fff8e8}.save-status.is-dirty i{background:#c58a1e}.save-status.is-error{color:var(--danger,#b42318)}.save-status.is-error i{background:currentColor}.document-actions{align-items:center;gap:5px;display:flex}.copy-status-toast{z-index:20;color:var(--paper-0);background:var(--ink-950);box-shadow:0 10px 28px color-mix(in srgb, var(--ink-950) 20%, transparent);font-size:var(--text-sm);border-radius:999px;padding:9px 14px;position:fixed;top:76px;left:50%;transform:translate(-50%)}.quiet-button{border-radius:var(--radius-sm);height:36px;color:var(--text-secondary);border:0;align-items:center;gap:7px;padding:0 11px;text-decoration:none;display:inline-flex}.quiet-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.quiet-button:hover,.quiet-button.is-active{color:var(--text-primary);background:var(--paper-100)}.preview-toggle[aria-pressed=true]{color:var(--action-primary);background:var(--surface-selected)}.primary-button{border-radius:var(--radius-sm);height:36px;color:var(--paper-0);background:var(--action-primary);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:7px;margin-left:8px;padding:0 15px;font-weight:650;display:inline-flex}.save-button-spinner{opacity:0;width:0;height:14px;transition:width var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);border:2px solid #0000;border-color:currentColor #0000 #0000 currentColor;border-radius:50%}.save-button.is-busy .save-button-spinner{opacity:.85;width:14px;animation:.7s linear infinite save-button-spin}.save-button[disabled]{cursor:progress}@keyframes save-button-spin{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.save-button.is-busy .save-button-spinner{animation-duration:2s}}.primary-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.primary-button:hover{background:var(--action-hover)}.editor-content,.markdown-content{min-height:100%;margin:0 auto}.editor-content{padding:64px max(40px,50% - 380px) 88px;position:relative}.title-input{width:100%;font-size:var(--text-display);letter-spacing:-.045em;background:0 0;border:0;padding:0;font-weight:730}.markdown-content{grid-template-rows:auto minmax(0,1fr);gap:12px;padding:24px;display:grid}.markdown-content label{color:var(--text-muted);font-size:var(--text-xs)}.markdown-content textarea{resize:none;border-radius:var(--radius-md);width:100%;min-height:100%;color:var(--text-secondary);background:var(--paper-100);font:14px/1.9 var(--font-code);border:0;padding:24px}@keyframes pulse{50%{opacity:.25}}.auth-page{background:var(--surface-app);min-height:100%;overflow:auto}.auth-page:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 18%, var(--surface-selected), transparent 42%);opacity:.72;position:fixed;inset:0}.auth-shell{place-items:center;min-height:100dvh;padding:40px 20px;display:grid;position:relative}.auth-card{overscroll-behavior:contain;border:1px solid var(--line-subtle);border-radius:calc(var(--radius-md) * 2);background:color-mix(in srgb, var(--surface-editor) 94%, transparent);width:min(100%,430px);max-height:calc(100dvh - 80px);box-shadow:0 24px 70px color-mix(in srgb, var(--ink-950) 9%, transparent);padding:36px;overflow-y:auto}.auth-brand{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:10px;font-weight:750;text-decoration:none;display:inline-flex}.auth-brand img{width:34px;height:34px;display:block}.auth-header{margin:30px 0 20px}.auth-header h1{letter-spacing:-.045em;margin:6px 0 10px;font-size:30px;line-height:1.2}.auth-header p{color:var(--text-muted);margin:0;line-height:1.65}.auth-header .auth-kicker{color:var(--action-primary);font-size:var(--text-xs);letter-spacing:.12em;font-weight:700}.auth-form{gap:18px;display:grid}.auth-field{gap:8px;display:grid}.auth-field label,.auth-label-row{color:var(--text-secondary);font-size:var(--text-sm);font-weight:650}.auth-label-row{justify-content:space-between;align-items:center;display:flex}.auth-label-row a,.auth-links a{color:var(--action-primary);text-decoration:none}.auth-label-row a:hover,.auth-links a:hover{text-underline-offset:3px;text-decoration:underline}.auth-field input{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-editor);width:100%;height:46px;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:0 13px}.auth-field input:hover{border-color:var(--ink-300)}.auth-field input:focus{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring);outline:0}.password-field{position:relative}.auth-field .password-field input{padding-right:42px}.password-toggle{z-index:1;border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted);place-items:center;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-toggle:hover{color:var(--action-primary);background:var(--surface-selected)}.password-toggle:active{transform:translateY(-50%)}.password-toggle:focus-visible{outline:3px solid var(--focus-ring)}.password-toggle:disabled{color:var(--ink-300);cursor:not-allowed;background:0 0}.password-toggle[aria-pressed=true]{color:var(--action-primary);background:var(--surface-selected)}.password-toggle span{background:currentColor;width:18px;height:18px;font-size:0;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z'/%3E%3Ccircle cx='12' cy='12' r='2.75' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z'/%3E%3Ccircle cx='12' cy='12' r='2.75' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") 50%/contain no-repeat}.password-toggle[aria-pressed=false]:after{content:"";width:19px;height:1.5px;box-shadow:0 0 0 2px var(--surface-editor);background:currentColor;border-radius:2px;position:absolute;transform:rotate(45deg)}.password-toggle[aria-pressed=false]:hover:after{box-shadow:0 0 0 2px var(--surface-selected)}.auth-field small{color:var(--text-muted);font-size:var(--text-xs)}.auth-check{width:fit-content;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:8px;display:flex}.auth-check input{width:16px;height:16px;accent-color:var(--action-primary)}.auth-submit{border-radius:var(--radius-md);height:46px;color:var(--paper-0);background:var(--action-primary);text-align:center;cursor:pointer;transition:background var(--duration-fast);border:0;place-items:center;font-weight:700;text-decoration:none;display:grid}.auth-submit:hover{background:var(--action-hover)}.auth-submit[data-busy]{opacity:.88;cursor:wait}.auth-submit[aria-disabled=true]{opacity:.55;cursor:not-allowed}.auth-links{border-top:1px solid var(--line-subtle);color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px;padding-top:22px;display:flex}.auth-links form{margin:0}.auth-danger{color:#b42318;font-size:var(--text-sm);padding:0}.auth-note,.auth-errors{border-radius:var(--radius-md);font-size:var(--text-sm);margin:0;padding:12px 14px;line-height:1.55}.auth-note{color:var(--action-primary);background:var(--surface-selected)}.auth-errors{color:#912018;background:#fff0ee}.auth-errors ul{margin:7px 0 0;padding-left:18px}.flash{z-index:30;border:1px solid color-mix(in srgb, var(--action-primary) 24%, transparent);border-radius:var(--radius-md);max-width:min(92vw,560px);color:var(--action-primary);background:var(--surface-editor);box-shadow:0 10px 30px color-mix(in srgb, var(--ink-950) 10%, transparent);padding:11px 15px;position:fixed;top:18px;left:50%;transform:translate(-50%)}.flash-error{color:#912018;border-color:#f3b7b1}.landing-page{color:#27302b;background:#f7f3e9;overflow:auto}.landing-shell{--landing-ink:#27302b;--landing-muted:#6f756f;--landing-green:#315f4d;--landing-paper:#fffdf7;min-height:100dvh;color:var(--landing-ink);background:#f7f3e9;overflow:hidden}.landing-shell a:focus-visible{outline-offset:4px;outline:3px solid #315f4d47}.landing-nav{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 48px);height:72px;margin:0 auto;display:flex}.landing-brand{color:var(--landing-ink);letter-spacing:-.04em;align-items:center;gap:10px;font-size:18px;font-weight:760;text-decoration:none;display:inline-flex}.landing-brand img{width:36px;height:36px;display:block}.landing-nav nav{align-items:center;gap:28px;display:flex}.landing-nav nav a{color:#5d665f;font-size:14px;text-decoration:none}.landing-nav nav a:hover{color:var(--landing-ink)}.landing-nav .landing-nav-cta{color:#fffdf7;background:var(--landing-green);border-radius:999px;padding:10px 17px;font-weight:700}.landing-nav .landing-nav-cta:hover{color:#fff;background:#274f3f}.landing-hero{grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);align-items:center;gap:clamp(40px,7vw,96px);width:min(1180px,100% - 48px);min-height:calc(100dvh - 72px);margin:0 auto;padding:56px 0 76px;display:grid}.landing-hero-copy{padding-bottom:7vh}.landing-kicker{width:fit-content;color:var(--landing-green);letter-spacing:.08em;border-bottom:2px solid #b99068;margin:0 0 24px;padding-bottom:7px;font-size:14px;font-weight:700}.landing-hero h1{letter-spacing:-.075em;max-width:680px;margin:0;font-size:clamp(48px,5.6vw,76px);font-weight:760;line-height:1.12}.landing-hero h1 em{color:var(--landing-green);font-style:normal;position:relative}.landing-hero h1 em:after{content:"";border-top:2px solid #a8754e;border-radius:50%;height:9px;position:absolute;bottom:-9px;left:3%;right:-3%;transform:rotate(-1.5deg)}.landing-lead{max-width:510px;color:var(--landing-muted);margin:30px 0 0;font-size:18px;line-height:1.9}.landing-actions{align-items:center;gap:28px;margin-top:34px;display:flex}.landing-primary-cta{color:#fffdf7;background:var(--landing-green);min-width:124px;height:48px;transition:transform var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);border:1px solid #274f3f;border-radius:999px;place-items:center;padding:0 24px;font-weight:720;text-decoration:none;display:inline-grid;box-shadow:3px 4px #d9d0bd}.landing-primary-cta:hover{background:#274f3f;transform:translate(2px,2px);box-shadow:1px 2px #d9d0bd}.landing-text-link{color:#56625a;text-underline-offset:5px;font-size:14px}.landing-writing-figure{aspect-ratio:1/.83;isolation:isolate;width:100%;margin:0;position:relative}.landing-writing-figure:before{content:"";z-index:-2;background:#fffdf79e;border:1.5px solid #d7cdbb;border-radius:48% 52% 46% 54%/52% 43% 57% 48%;position:absolute;inset:10% 2% 17% 8%;transform:rotate(-2deg)}.landing-writing-figure:after{content:"";z-index:-1;border-top:2px solid #c8bda9;border-radius:50%;position:absolute;bottom:16%;left:3%;right:0;transform:rotate(.8deg)}.landing-paper{background:var(--landing-paper);border:1px solid #d8cdb9;border-radius:2px 7px 3px 5px;width:64%;min-height:60%;padding:9% 10%;position:absolute;top:18%;left:14%;transform:rotate(-3deg);box-shadow:10px 13px #dbd2c08c}.landing-paper:before{content:"";opacity:.15;pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000 0 27px,#79827b 28px);position:absolute;inset:0}.landing-paper>*{position:relative}.paper-date{color:#9a826b;letter-spacing:.08em;margin-bottom:24px;font-size:12px;display:block}.landing-paper strong{color:#3c4b43;letter-spacing:-.04em;margin-bottom:19px;font-size:clamp(22px,2.7vw,34px);display:block}.landing-paper p{color:#707871;max-width:26ch;margin:0;font-size:clamp(12px,1.3vw,15px);line-height:2}.landing-paper i{border-top:1px solid #c3c7c1;width:77%;margin-top:17px;display:block;transform:rotate(.3deg)}.landing-paper i:nth-of-type(2){width:63%;transform:rotate(-.5deg)}.landing-paper i:nth-of-type(3){width:70%}.landing-pen{background:#416b59;border:1px solid #294c3e;border-radius:6px 6px 2px 2px;width:8px;height:46%;position:absolute;bottom:17%;right:14%;transform:rotate(38deg);box-shadow:3px 3px #27302b1f}.landing-pen:after{content:"";border:4px solid #0000;border-top:17px solid #b99068;position:absolute;bottom:-17px;left:-1px}.landing-cup{background:#eee3d2;border:2px solid #b49e87;border-radius:8px 8px 30px 30px;width:79px;height:64px;position:absolute;top:9%;right:8%;transform:rotate(7deg)}.landing-cup:before{content:"";clip-path:polygon(5px 0,100% 0,100% 100%,2px 100%);border:3px solid #b49e87;border-left:0;border-radius:0 50% 50% 0;width:24px;height:30px;position:absolute;top:11px;right:-22px}.landing-sun{opacity:.6;border:2px solid #c69d69;border-radius:50%;width:67px;height:67px;position:absolute;top:4%;left:4%}.landing-leaf{transform-origin:0;background:#66806d;width:95px;height:2px;position:absolute;bottom:12%;right:2%;transform:rotate(-52deg)}.landing-leaf:before,.landing-leaf:after{content:"";background:#dbe1d4;border:1px solid #66806d;border-radius:100% 0;width:26px;height:13px;position:absolute}.landing-leaf:before{bottom:3px;left:24px;transform:rotate(-28deg)}.landing-leaf:after{top:3px;left:54px;transform:rotate(150deg)}.landing-leaf-two{bottom:21%;right:-3%;transform:rotate(-75deg)scale(.72)}.landing-writing-figure figcaption{color:#8b8174;font-size:12px;position:absolute;bottom:4%;right:4%;transform:rotate(-2deg)}.landing-promise{color:#536158;background:#fffdf78c;border-block:1px solid #d8cfbe;justify-content:center;align-items:center;gap:26px;min-height:112px;padding:24px;display:flex}.landing-promise p{margin:0;font-size:15px}.landing-promise span{color:#b28b65}.landing-features{width:min(1120px,100% - 48px);margin:0 auto;padding:128px 0 140px}.landing-section-header{max-width:620px;margin-bottom:54px}.landing-section-header h2,.landing-privacy h2,.landing-final h2{letter-spacing:-.065em;margin:0;font-size:clamp(36px,4vw,56px);line-height:1.16}.landing-section-header p{color:var(--landing-muted);margin:18px 0 0;font-size:17px;line-height:1.8}.landing-feature-grid{grid-template-rows:repeat(2,minmax(330px,auto));grid-template-columns:1.08fr .96fr .96fr;gap:18px;display:grid}.feature-card{background:#fffdf7;border:1px solid #d8cfbe;border-radius:22px 18px 24px 16px;flex-direction:column;min-width:0;padding:32px 30px 28px;display:flex;position:relative;overflow:hidden}.feature-card-editor{background:#e5ebdf;grid-row:1/3;min-height:600px}.feature-card-library{background:#fffaf0;transform:rotate(.25deg)}.feature-card-desks{background:#eee7d6;transform:rotate(-.2deg)}.feature-card-wechat{background:#fdf4e6;transform:rotate(-.25deg)}.feature-card-preview{background:#e9e2d3;transform:rotate(.2deg)}.feature-card-paper-plane{background:#e5ebdf;grid-column:1/-1;grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);align-items:center;gap:40px;min-height:330px;display:grid}.feature-card-paper-plane .feature-illustration{width:min(100%,520px);margin:0 auto;transform:rotate(.5deg)}.feature-number{color:#9a826b;font:12px/1 var(--font-code)}.feature-card h3{letter-spacing:-.045em;margin:22px 0 12px;font-size:26px}.feature-card p{max-width:31em;color:var(--landing-muted);margin:0;line-height:1.8}.feature-illustration{color:#7d7466;width:min(100%,400px);height:auto;margin:auto auto 0}.feature-card-editor .feature-illustration{transform:rotate(-1.4deg)}.feature-card-library .feature-illustration{transform:rotate(1deg)}.feature-card-desks .feature-illustration{transform:rotate(-.8deg)}.feature-card-wechat .feature-illustration{transform:rotate(1.2deg)}.feature-card-preview .feature-illustration{transform:rotate(-1deg)}.landing-privacy{color:#eef2ec;background:#315346;grid-template-columns:.75fr 1.25fr;align-items:center;gap:clamp(60px,10vw,150px);padding:130px max(48px,50% - 540px);display:grid}.privacy-mark{aspect-ratio:1;border:2px solid #eef2ec73;border-radius:49% 51% 44% 56%/52% 44% 56% 48%;width:min(100%,300px);margin:auto;position:relative;transform:rotate(-4deg)}.privacy-mark:before{content:"";border:2px solid #d4c29e;border-radius:48% 52% 55% 45%;position:absolute;inset:21%;transform:rotate(9deg)}.privacy-mark span{border:3px solid #d4c29e;border-radius:50% 50% 4px 4px;width:18%;height:28%;position:absolute;top:37%;left:42%}.privacy-mark span:before{content:"";border:3px solid #d4c29e;border-bottom:0;border-radius:50% 50% 0 0;width:135%;height:90%;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.privacy-copy{max-width:650px}.landing-privacy h2{color:#fffdf7}.landing-privacy>.privacy-copy>p{color:#cbd6cf;margin:24px 0 42px;font-size:17px;line-height:1.9}.landing-privacy ul{border-top:1px solid #eef2ec33;grid-template-columns:repeat(3,1fr);gap:28px;margin:0;padding:28px 0 0;list-style:none;display:grid}.landing-privacy li{gap:8px;display:grid}.landing-privacy li strong{color:#fffdf7;font-size:15px}.landing-privacy li span{color:#b9c8bf;font-size:13px;line-height:1.65}.landing-final{text-align:center;align-content:center;place-items:center;min-height:530px;padding:96px 24px;display:grid;position:relative}.landing-final p{color:var(--landing-muted);margin:20px 0 32px;font-size:17px}.landing-final .landing-primary-cta{margin:0 auto}.final-pencil-line{border-top:1px solid #c4aa89;border-radius:50%;width:min(72vw,690px);position:absolute;top:25%;left:50%;transform:translate(-50%)rotate(-2deg)}.landing-footer{color:#7c817c;border-top:1px solid #d8cfbe;justify-content:space-between;align-items:center;gap:20px;width:min(1180px,100% - 48px);min-height:82px;margin:0 auto;font-size:13px;display:flex}@media (width<=1023px){.landing-hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.landing-hero-copy{padding-bottom:0}.landing-writing-figure{max-width:620px;margin:-18px auto 0}.landing-feature-grid{grid-template-rows:auto;grid-template-columns:1fr 1fr}.feature-card-editor{grid-area:auto/1/auto/-1;min-height:auto}.feature-card-editor .feature-illustration{margin-top:34px}.feature-card-paper-plane{grid-template-columns:1fr 1fr}.landing-privacy{grid-template-columns:1fr}.privacy-mark{width:230px}.landing-privacy ul{max-width:none}}@media (width<=639px){.landing-nav{width:calc(100% - 32px);height:64px}.landing-nav nav{gap:14px}.landing-nav .landing-section-link{display:none}.landing-nav .landing-nav-cta{padding:9px 13px}.landing-hero{gap:44px;width:calc(100% - 36px);padding:54px 0 64px}.landing-hero h1{font-size:clamp(43px,13vw,58px)}.landing-lead{font-size:16px}.landing-actions{flex-direction:column;align-items:flex-start;gap:20px}.landing-writing-figure{width:110%;margin-left:-5%}.landing-paper{width:70%;left:10%}.landing-writing-figure figcaption{right:0}.landing-promise{flex-wrap:wrap;gap:11px 15px;min-height:130px}.landing-promise p{font-size:13px}.landing-features{width:calc(100% - 36px);padding:90px 0}.landing-section-header{margin-bottom:36px}.landing-feature-grid{grid-template-columns:1fr}.feature-card,.feature-card-editor{min-height:auto;padding:28px 26px 26px}.feature-card-editor{grid-column:auto}.feature-card-paper-plane{grid-column:auto;grid-template-columns:1fr;gap:28px}.feature-illustration{width:min(100%,340px);margin-top:28px}.landing-privacy{gap:48px;padding:90px 24px}.privacy-mark{width:190px}.landing-privacy ul{grid-template-columns:1fr;gap:20px}.landing-privacy li{grid-template-columns:90px 1fr;align-items:start}.landing-final{min-height:470px}.landing-footer{width:calc(100% - 36px)}}@media (prefers-reduced-motion:reduce){.landing-primary-cta{transition:none}}.admin-shell{background:var(--surface-app);height:100dvh;overflow:auto}.admin-navigation{z-index:10;border-bottom:1px solid var(--line-subtle);background:color-mix(in srgb, var(--surface-editor) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:64px;padding:0 32px;display:grid;position:sticky;top:0}.admin-navigation>div{gap:6px;display:flex}.admin-navigation a{border-radius:var(--radius-sm);color:var(--text-secondary);padding:9px 11px;text-decoration:none}.admin-navigation>a:last-child{justify-self:end}.admin-navigation a:hover,.admin-navigation a.is-active{color:var(--text-primary);background:var(--paper-100)}.admin-navigation .admin-brand{width:fit-content;color:var(--text-primary);justify-self:start;font-weight:750}.admin-navigation .admin-navigation-actions{justify-self:end}.admin-navigation-actions form{margin:0}.admin-navigation-actions button{border-radius:var(--radius-sm);color:var(--text-secondary);padding:9px 11px}.admin-navigation-actions button:hover{color:var(--text-primary);background:var(--paper-100)}.admin-login-page{background:var(--surface-app);overflow:auto}.admin-auth-shell{place-items:center;min-height:100dvh;padding:40px 20px;display:grid}.admin-main{width:min(1180px,100% - 64px);margin:0 auto;padding:56px 0 96px}.admin-header{margin-bottom:48px}.admin-header-row{justify-content:space-between;align-items:end;gap:28px;display:flex}.admin-header h1{font-size:var(--text-display);letter-spacing:-.045em;margin:6px 0 10px}.admin-header p{color:var(--text-muted);margin:0}.admin-section{margin-top:48px}.admin-section h2{margin:0 0 18px;font-size:20px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.metric-grid-small{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-editor);gap:8px;min-width:0;padding:22px;display:grid}.metric-card span,.metric-card small{color:var(--text-muted)}.metric-card strong{font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:30px}.admin-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.admin-chart{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-editor);min-width:0;padding:22px}.admin-chart-wide{grid-column:1/-1}.admin-chart header{justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px;display:flex}.admin-chart h3{margin:0 0 5px;font-size:16px}.admin-chart p{color:var(--text-muted);font-size:var(--text-sm);margin:0}.admin-chart header>strong{font-variant-numeric:tabular-nums;font-size:24px}.admin-chart-canvas{overflow-x:auto}.admin-chart svg{width:100%;min-width:560px;height:auto;display:block;overflow:visible}.chart-axis,.chart-grid-line{stroke:var(--line-subtle);stroke-width:1px}.chart-grid-line{opacity:.55;stroke-dasharray:3 5}.chart-area{fill:var(--action-primary);opacity:.13}.chart-line{fill:none;stroke:var(--action-primary);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--surface-editor);stroke:var(--action-primary);stroke-width:2px}.chart-point-group{cursor:crosshair;outline:none}.chart-point-group:hover .chart-point,.chart-point-group:focus .chart-point{r:5px;stroke-width:3px}.chart-tooltip{opacity:0;pointer-events:none;transition:opacity var(--duration-fast)}.chart-point-group:hover .chart-tooltip,.chart-point-group:focus .chart-tooltip{opacity:1}.chart-tooltip rect{fill:var(--ink-950);filter:drop-shadow(0 5px 9px color-mix(in srgb, var(--ink-950) 18%, transparent))}.chart-tooltip text{fill:var(--paper-0);font-family:var(--font-ui);text-anchor:middle;font-size:10px}.chart-tooltip-value{font-weight:700}.chart-area-new-users{fill:#447cbb}.chart-line-new-users,.chart-point-new-users{stroke:#447cbb}.chart-area-new-articles{fill:#9a6b32}.chart-line-new-articles,.chart-point-new-articles{stroke:#9a6b32}.chart-date{fill:var(--text-muted);font-family:var(--font-ui);text-anchor:middle;font-size:10px}.admin-table-wrap{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-editor);overflow:auto}.admin-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.admin-table th,.admin-table td{border-bottom:1px solid var(--line-subtle);text-align:left;white-space:nowrap;padding:15px 18px}.admin-table th{color:var(--text-muted);background:var(--paper-50);font-size:var(--text-xs);letter-spacing:.06em}.admin-table tbody tr:last-child td{border-bottom:0}.admin-badge{color:var(--action-primary);background:var(--surface-selected);font-size:var(--text-xs);border-radius:999px;margin-left:8px;padding:3px 6px;display:inline-block}.admin-search{gap:8px;display:flex}.admin-search input{border:1px solid var(--line-subtle);border-radius:var(--radius-sm);background:var(--surface-editor);width:min(320px,45vw);height:40px;padding:0 12px}.admin-search input[type=submit]{width:auto;color:var(--paper-0);background:var(--action-primary);cursor:pointer;border:0;padding:0 16px}@media (width<=1023px){.app-shell:not(.app-shell-pages){grid-template-columns:60px 240px minmax(420px,1fr)}.app-shell.app-shell-pages{grid-template-columns:60px minmax(0,1fr)}.article-preview-layout{grid-template-columns:minmax(480px,1fr) 462px}.article-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main main""date actions";align-items:end;gap:14px 12px;padding:20px 0}.article-main{grid-area:main}.article-row>time{grid-area:date;place-self:center start;display:block}.article-row .row-actions{grid-area:actions;align-self:center}}@media (width<=767px){.app-shell:not(.app-shell-pages){grid-template-columns:54px minmax(0,1fr)}.app-shell-desk{grid-template-rows:auto minmax(0,1fr)}.app-shell-desk .rail{grid-row:1/-1}.desk-library{border-right:0;border-bottom:1px solid var(--line-subtle);grid-area:1/2;grid-template-rows:auto auto}.desk-library-header{padding:14px 16px 12px}.desk-library-heading h1{margin:6px 0 0;font-size:17px}.desk-library-heading p{display:none}.desk-list-picker{display:block;position:relative}.desk-list-toggle{border:1px solid var(--line-subtle);border-radius:var(--radius-md);width:calc(100% - 32px);height:42px;color:var(--text-secondary);font-size:var(--text-sm);background:var(--surface-editor);justify-content:space-between;align-items:center;gap:10px;margin:0 16px 12px;padding:0 12px;display:flex}.desk-list-toggle span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.desk-list-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform var(--duration-fast) var(--ease-out);flex:none}.desk-article-list{z-index:6;border:1px solid var(--line-subtle);background:var(--paper-0);max-height:60dvh;box-shadow:0 16px 40px color-mix(in srgb, var(--ink-950) 18%, transparent);border-radius:10px;padding:6px;display:none;position:absolute;inset:42px 16px auto}.desk-list-picker.is-open .desk-list-toggle{color:var(--text-primary);border-color:var(--ink-300)}.desk-list-picker.is-open .desk-list-toggle svg{transform:rotate(180deg)}.desk-list-picker.is-open .desk-article-list{display:block}.desk-reader{grid-area:2/2}.topbar{padding:0 16px}.document-meta strong{display:none}.editor-content{padding:44px 20px 72px}.markdown-content{padding:16px}.title-input{font-size:34px}.auth-shell{padding:20px 14px}.auth-card{max-height:calc(100dvh - 40px);padding:28px 22px}.app-shell-pages{grid-template-columns:54px minmax(0,1fr)}.articles-page{padding:36px 22px 72px}.page-header{align-items:start}.editor-content.standalone-editor{padding:44px 20px 72px}.standalone-editor .title-input{font-size:28px}.article-preview-pane{padding:0}.article-preview-layout{grid-template-columns:minmax(0,1fr)}.desktop-article-preview{min-height:100%;box-shadow:none;padding:38px 22px 64px}.desktop-article-preview>h1{font-size:25px}.mobile-preview-column{display:none}.article-show-actions{padding:0 16px}.article-show-page{padding-bottom:32px}.article-show-content{min-height:calc(100dvh - 64px);margin:0 auto;padding:22px;font-size:16px}.article-show-content>h1{margin-bottom:42px;font-size:28px}.markdown-reference-page{padding:36px 16px 72px}.markdown-reference-grid{grid-template-columns:1fr}.markdown-example-wide{grid-column:auto}.admin-navigation{grid-template-columns:1fr auto;padding:8px 16px}.admin-navigation>div{order:3;grid-column:1/-1}.admin-main{width:calc(100% - 32px);padding-top:36px}.admin-header-row{flex-direction:column;align-items:stretch}.admin-search input{width:100%}.metric-grid,.metric-grid-small,.admin-chart-grid{grid-template-columns:1fr}.admin-chart-wide{grid-column:auto}}@media (width<=639px){.articles-page .page-header{flex-direction:column;align-items:start;gap:20px}.articles-page .page-header .primary-button{margin-left:0}.search-page{padding:46px 22px 88px}.search-page-form{grid-template-columns:1fr;margin-top:34px}.search-page-field kbd{display:none}.search-page-field input{padding-right:50px}.search-submit{width:100%}.search-results,.search-guide{margin-top:52px}.search-results-header{flex-direction:column;align-items:start;gap:8px}.search-guide-grid{grid-template-columns:1fr}.transfer-success{grid-template-columns:auto minmax(0,1fr)}.transfer-success .quiet-button{grid-column:1/-1;justify-self:start}.article-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main main""date actions";align-items:center}.article-row .row-actions{justify-content:flex-end;align-self:center}}.release-notes-page{color:#27302b;background:#f7f3e9;overflow:auto}.release-shell{--landing-ink:#27302b;--landing-muted:#5d665f;--landing-green:#315f4d;min-height:100dvh;color:var(--landing-ink);background:#f7f3e9}.release-shell a:focus-visible{outline-offset:4px;outline:3px solid #315f4d47}.release-main{width:min(1080px,100% - 48px);margin:0 auto;padding:92px 0 132px}.release-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:end;column-gap:72px;padding-bottom:72px;display:grid}.release-kicker{width:fit-content;color:var(--landing-green);letter-spacing:.16em;border-bottom:2px solid #b99068;grid-column:1/-1;margin:0 0 24px;padding-bottom:7px;font-size:12px;font-weight:760}.release-hero h1{letter-spacing:-.072em;text-wrap:balance;max-width:720px;margin:0;font-size:clamp(46px,6vw,76px);line-height:1.08}.release-hero>p:not(.release-kicker){max-width:30em;color:var(--landing-muted);text-wrap:pretty;margin:0 0 6px;font-size:16px;line-height:1.85}.release-summary{color:#59615b;font-variant-numeric:tabular-nums;grid-column:1/-1;align-items:center;gap:28px;margin-top:48px;font-size:13px;display:flex}.release-summary span{align-items:baseline;gap:6px;display:inline-flex}.release-summary span+span{border-left:1px solid #d8cfbe;padding-left:28px}.release-summary strong{color:var(--landing-ink);font-size:18px}.release-list{display:grid}.release-entry{grid-template-columns:220px minmax(0,1fr);gap:64px;padding:72px 0 78px;display:grid}.release-date{align-self:start;gap:9px;display:grid;position:sticky;top:28px}.release-date time{font:600 13px/1.2 var(--font-code);font-variant-numeric:tabular-nums}.release-date span{color:#59615b;font-size:12px}.release-content{min-width:0}.release-content h2{letter-spacing:-.055em;text-wrap:balance;max-width:720px;margin:0;font-size:clamp(30px,3.5vw,44px);line-height:1.18}.release-intro{max-width:640px;color:var(--landing-muted);text-wrap:pretty;margin:17px 0 42px;font-size:16px;line-height:1.8}.release-group+.release-group{margin-top:34px}.release-group h3{margin:0 0 4px}.release-type{letter-spacing:.04em;border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:11px;font-weight:760;display:inline-flex}.release-type-feature{color:#285343;background:#dce9df}.release-type-fix{color:#685640;background:#e9e0d1}.release-type-polish{color:#3f5063;background:#dde3ea}.release-group ul{margin:0;padding:0;list-style:none}.release-group li{border-bottom:1px solid #d8cfbeb8;grid-template-columns:140px minmax(0,1fr);gap:24px;padding:22px 0;display:grid}.release-group li:last-child{border-bottom:0}.release-group li strong{font-size:14px}.release-group li span{color:var(--landing-muted);text-wrap:pretty;font-size:14px;line-height:1.7}.release-footer{color:#59615b;justify-content:space-between;align-items:center;gap:20px;width:min(1080px,100% - 48px);min-height:92px;margin:0 auto;font-size:13px;display:flex}.release-footer a,.landing-footer a{color:inherit;text-underline-offset:4px}.release-footer a{align-items:center;min-height:44px;display:inline-flex}@media (width<=767px){.release-main{width:calc(100% - 36px);padding:58px 0 28px}.release-hero{grid-template-columns:1fr;gap:22px;padding-bottom:52px}.release-kicker,.release-summary{grid-column:auto}.release-hero h1{font-size:clamp(42px,13vw,58px)}.release-summary{grid-template-columns:auto 1fr;align-items:baseline;gap:12px 18px;margin-top:20px;display:grid}.release-summary span+span{padding-left:18px}.release-summary span:last-child{border-left:0;grid-column:1/-1;padding-left:0}.release-entry{grid-template-columns:1fr;gap:28px;padding:54px 0 60px}.release-date{grid-template-columns:auto 1fr;align-items:center;position:static}.release-content h2{font-size:32px}.release-intro{margin-bottom:34px}.release-group li{grid-template-columns:1fr;gap:7px}.release-footer{width:calc(100% - 36px)}}.lock-badge{width:15px;height:15px;color:var(--text-muted);vertical-align:-2px;flex:none;justify-content:center;align-items:center;display:inline-flex}.lock-badge svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.article-row-title,.desk-article-title{align-items:baseline;gap:7px;min-width:0;display:flex}.article-main .article-row-title{color:inherit;font-size:inherit;white-space:normal;overflow:visible}.article-row-title strong{min-width:0;transition-property:color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}a.article-main:hover .article-row-title strong{color:var(--action-primary)}.article-row-title .lock-badge{vertical-align:baseline;align-self:flex-start;height:1lh;line-height:1.45}.article-row-title .lock-badge svg{width:15px;height:15px}.desk-article-title{align-items:center}.desk-article-link:hover .lock-badge,.desk-article-link.is-selected .lock-badge,.article-main:hover .lock-badge{color:currentColor}.lock-toggle[aria-pressed=true]{color:var(--action-primary);background:var(--surface-selected)}.lock-toggle[aria-pressed=true] svg{fill:color-mix(in srgb, currentColor 14%, transparent)}.editor-private-note{border-radius:var(--radius-md);max-width:720px;color:var(--text-muted);background:var(--paper-100);font-size:var(--text-xs);margin:18px 0 0;padding:11px 14px;line-height:1.65}.search-results-note{color:var(--text-muted);font-size:var(--text-xs);margin:16px 0 0;line-height:1.6}.search-locked{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--paper-100);margin-top:18px;padding:20px 22px}.search-locked strong{color:var(--text-primary);font-size:var(--text-sm)}.search-locked p{color:var(--text-muted);font-size:var(--text-xs);margin:6px 0 0;line-height:1.65}.vault-unlock{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.vault-unlock-field{flex:240px;min-width:0}.vault-unlock-field input{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-editor);width:100%;font-size:var(--text-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:10px 42px 10px 13px}.vault-unlock-field input:hover{border-color:var(--ink-300)}.vault-unlock-field input:focus{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--focus-ring);outline:0}.vault-unlock .primary-button{flex:none}.vault-unlock-recovery{color:var(--text-muted);font-size:var(--text-xs);text-underline-offset:3px;flex:none;text-decoration:underline}.vault-unlock-recovery:hover{color:var(--action-primary)}.search-result-title .search-result-lock{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;color:var(--text-muted);vertical-align:-1px;flex:none;margin-right:7px}.vault-privacy-note{color:var(--text-secondary);background:var(--paper-100);margin-bottom:24px;padding:14px 16px}.vault-privacy-note strong{color:var(--text-primary)}.vault-privacy-note span{margin-top:6px;display:block}.vault-recovery-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vault-recovery-button{border-radius:var(--radius-md);min-height:44px;transition:color var(--duration-fast), background-color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.vault-recovery-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.vault-recovery-button.is-primary{color:var(--paper-0);background:var(--action-primary)}.vault-recovery-button.is-primary:hover{background:var(--action-hover)}.vault-recovery-button.is-secondary{border:1px solid var(--line-subtle);color:var(--text-primary);background:var(--surface-editor)}.vault-recovery-button.is-secondary:hover{border-color:color-mix(in srgb, var(--action-primary) 35%, var(--line-subtle));color:var(--action-primary);background:var(--surface-selected)}.vault-recovery-button:active{transform:scale(.96)}.vault-recovery-hint{color:var(--text-muted);font-size:var(--text-xs);margin:0;line-height:1.6}.auth-check:has(input:disabled){color:var(--text-muted);cursor:default}.vault-recovery{gap:16px;display:grid}.vault-recovery-header{gap:6px;display:grid}.vault-recovery-header h1{font-size:var(--text-xl);letter-spacing:-.02em;margin:0}.vault-recovery-header p{color:var(--text-muted);font-size:var(--text-sm);margin:0;line-height:1.6}.vault-recovery-code{border:1px dashed var(--line-subtle);border-radius:var(--radius-md);color:var(--text-primary);background:var(--paper-100);font-family:var(--font-code);font-size:var(--text-sm);letter-spacing:.06em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:16px;line-height:1.9}.vault-mode-switch{border-radius:calc(var(--radius-md) + 4px);background:var(--paper-100);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:30px;padding:4px;display:grid;position:relative}.vault-mode-indicator{border-radius:var(--radius-md);background:var(--surface-editor);width:calc(33.3333% - 5.33333px);box-shadow:0 1px 4px color-mix(in srgb, var(--ink-950) 10%, transparent);pointer-events:none;transition:transform var(--duration-base) var(--ease-out);position:absolute;top:4px;bottom:4px;left:4px;transform:translate(0)}.vault-mode-switch[data-active-mode=recover] .vault-mode-indicator{transform:translate(calc(100% + 4px))}.vault-mode-switch[data-active-mode=change] .vault-mode-indicator{transform:translate(calc(200% + 8px))}.vault-mode-switch button{z-index:1;border-radius:var(--radius-md);min-height:44px;color:var(--text-muted);font-size:var(--text-sm);transition:color var(--duration-fast), opacity var(--duration-fast);padding:0 10px;font-weight:700;position:relative}.vault-mode-switch button:hover,.vault-mode-switch button[aria-pressed=true]{color:var(--text-primary)}.vault-mode-panel .auth-header{margin-top:28px}.toast-region{z-index:100;pointer-events:none;width:min(100vw - 40px,268px);height:96px;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast-card{--toast-stack-y:0px;--toast-expanded-y:0px;--toast-scale:1;color:#2b6f5b;width:100%;min-height:52px;font-size:var(--text-sm);opacity:1;pointer-events:auto;transform:translateY(var(--toast-stack-y)) scale(var(--toast-scale));transform-origin:top;transition:transform .4s var(--ease-out), opacity .4s var(--ease-out), box-shadow .2s var(--ease-out);background:#fff;border-radius:16px;align-items:center;gap:10px;padding:11px 14px 11px 11px;font-weight:600;line-height:1.45;display:flex;position:absolute;top:0;left:0;box-shadow:0 2px 5px #1218150f,0 14px 38px #12181524}.toast-region:hover :where(.toast-card:not([data-obscured])){transform:translateY(var(--toast-expanded-y)) scale(1)}.toast-card.is-entering,.toast-card.is-leaving{opacity:0;transform:translateY(-100%)scale(.9)}.toast-card[data-obscured]{opacity:0;pointer-events:none}.toast-card-icon{color:#fff;background:#159a70;border-radius:999px;flex:none;place-items:center;width:18px;height:18px;transition:scale .3s cubic-bezier(.2,0,0,1),opacity .3s cubic-bezier(.2,0,0,1),filter .3s cubic-bezier(.2,0,0,1);display:grid;box-shadow:inset 0 0 0 1px #ffffff29}.toast-card.is-entering .toast-card-icon,.toast-card.is-leaving .toast-card-icon{opacity:0;filter:blur(4px);scale:.25}.toast-card-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:9px;height:9px}.toast-card[data-tone=error] .toast-card-icon{box-shadow:none;background:#e5484d}.toast-card[data-tone=error]{color:#a62f35}.toast-card-message{overflow-wrap:anywhere;min-width:0}@media (width<=520px){.toast-region{width:calc(100vw - 28px);top:14px}.vault-recovery-actions{grid-template-columns:1fr}.landing-nav .landing-updates-link{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
