:root{color-scheme:dark;--bg:#111214;--surface:#191b1e;--surface-2:#22252a;--line:#34383e;--text:#f3f0ea;--muted:#aaa59d;--accent:#d36b32;--accent-strong:#e87939;--good:#8bbf92;--danger:#d66b69;--radius:14px}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,system-ui,"Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button,a.button-link{color:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--text)!important;outline-offset:2px}
.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:5;background:rgba(17,18,20,.97);border-bottom:1px solid var(--line);padding:14px max(16px,calc((100vw - 1180px)/2)) 0;backdrop-filter:blur(12px)}.brandline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.brand{font-weight:800;font-size:18px;color:var(--text);text-decoration:none}.head-actions{display:flex;align-items:center;gap:7px}nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}nav button{white-space:nowrap;border:0;border-bottom:3px solid transparent;background:transparent;padding:10px 14px;color:var(--muted)}nav button.active{color:var(--text);border-color:var(--accent)}
main{max-width:1180px;margin:auto;padding:26px 18px 60px}.pagehead{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.eyebrow{color:var(--accent-strong);font-size:12px;font-weight:750;letter-spacing:.08em;margin:12px 0 4px}.pagehead h1,.admin-page h1{margin:0;font-size:28px}.hint{color:var(--muted);font-size:13px;margin:4px 0 0}#status{min-height:23px;color:var(--muted);margin:0 0 10px}.error,#status.error{color:var(--danger)}
.view{display:none}.view.active{display:block}.card-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:17px}.card-panel+.card-panel{margin-top:14px}.primary,.secondary,.danger,.quiet,.button-link{border:1px solid transparent;border-radius:10px;padding:10px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--accent);color:#190c06;font-weight:800}.secondary,.quiet,.button-link{background:var(--surface-2);border-color:var(--line)}.quiet{padding:7px 10px;font-size:13px}.danger{background:#3b2021;border-color:#704042;color:#ffd9d8}.quick{display:grid;grid-template-columns:1fr auto;gap:10px}input,textarea,select{width:100%;border:1px solid var(--line);background:#0f1012;color:var(--text);border-radius:10px;padding:11px 12px}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.composer{margin-bottom:14px}.option-button{margin-top:12px}.todo-options{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.todo-options.open{display:grid}label{display:grid;gap:5px;color:#d6d1c9;font-size:13px}
.record-list{padding:0;overflow:hidden}.record-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 15px;border-top:1px solid var(--line)}.record-row:first-child{border-top:0}.record-row h3,.memo-card h3,.document-card h2{margin:0;font-size:16px}.record-row p,.memo-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;color:#d1ccc4}.record-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px;margin-top:5px}.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.row-actions button{padding:6px 9px;font-size:12px}.drag-handle{cursor:grab;padding:4px 6px;line-height:1}.complete-button{width:22px;height:22px;border:1px solid #676b71;border-radius:7px;background:transparent;padding:0}.empty{padding:42px 18px;text-align:center;color:var(--muted)}
.todo-group+.todo-group{border-top:10px solid var(--bg)}.todo-group-head{display:flex;align-items:center;gap:9px;padding:11px 15px;background:var(--surface-2);border-bottom:1px solid var(--line)}.todo-group-head h2{font-size:15px;margin:0}.todo-group-head>span{color:var(--muted);font-size:12px}.todo-group-head .row-actions{margin-left:auto}.todo-group-handle{cursor:grab}.todo-group-fixed{width:20px;text-align:center;color:var(--muted)}
.section-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.category-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.category-tab{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:7px 12px;color:var(--muted)}.category-tab.active{background:var(--text);color:#181818}.action-row{display:flex;gap:7px;flex-wrap:wrap}.action-row button{padding:7px 10px;font-size:13px}.inline-composer{display:grid;grid-template-columns:minmax(180px,.6fr) 1fr auto;gap:10px;margin-bottom:14px}.inline-composer textarea{resize:vertical;min-height:46px}.memo-grid,.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.memo-card,.document-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:17px}.memo-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.memo-card footer .row-actions{justify-content:flex-start}
.monthbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-head{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;text-align:center;color:var(--muted);font-size:12px;background:var(--surface-2)}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-height:112px;background:var(--surface);position:relative}.calendar-day.other{color:#686868}.calendar-date{font-weight:750}.calendar-add{position:absolute;right:7px;top:6px;border:1px solid var(--line);background:var(--surface-2);border-radius:7px;width:27px;height:27px;padding:0}.calendar-event{display:block;width:100%;margin-top:8px;padding:5px 7px;border:0;border-left:3px solid var(--accent);background:#2c211b;color:var(--text);border-radius:4px;text-align:left;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.trash-summary strong{font-size:28px}
.document-card{min-height:190px}.document-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.markdown{overflow-wrap:anywhere;color:#d5d0c8}.markdown h1,.markdown h2,.markdown h3{font-size:18px;margin:14px 0 8px}.markdown p{margin:6px 0}.markdown a{color:#f1b08b}.document-editor{display:grid;gap:10px}.document-editor textarea{min-height:220px;font-family:ui-monospace,Consolas,monospace}.image-list{display:flex;gap:8px;flex-wrap:wrap}.image-list figure{margin:0;position:relative}.image-list img{width:110px;height:84px;object-fit:cover;border-radius:8px}.image-list button{position:absolute;right:3px;top:3px;padding:3px 6px;background:#1a1b1ddd;border:1px solid var(--line);color:var(--text);border-radius:6px}
.search input{width:min(300px,42vw)}dialog{width:min(540px,calc(100vw - 24px));max-height:92vh;overflow:auto;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:16px;padding:0}dialog::backdrop{background:#000b}.dialog-form{display:grid;gap:13px;padding:18px}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-head h2{margin:0;font-size:20px}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.inline-check{display:flex;align-items:center}.inline-check input{width:auto}.toast{position:fixed;right:18px;bottom:18px;background:#f0ece5;color:#171717;padding:11px 15px;border-radius:10px;box-shadow:0 10px 30px #0008;display:none;z-index:10}.toast.show{display:block}
.admin-page{width:min(100%,720px);margin:0 auto;padding:28px 16px 60px}.admin-page>.button-link{margin-bottom:10px}.admin-page .card-panel{margin-top:14px}.admin-page h2{font-size:18px}.token-result{white-space:pre-wrap;overflow-wrap:anywhere;background:#0d0e10;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:12px}.identity{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px}.identity dt{color:var(--muted)}.identity dd{margin:0;overflow-wrap:anywhere}
@media(max-width:720px){main{padding:20px 12px 44px}.topbar{padding-left:12px;padding-right:12px}.pagehead{align-items:stretch;flex-direction:column}.search input{width:100%}.todo-options{grid-template-columns:1fr}.section-actions{align-items:stretch;flex-direction:column}.inline-composer{grid-template-columns:1fr}.memo-grid,.document-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.calendar-day{min-height:82px;padding:5px}.calendar-add{position:static;float:right;width:25px;height:25px}.calendar-event{clear:both;font-size:10px;padding:3px 4px}.record-row{padding:13px 11px}.head-actions .button-link{display:none}}
@media(max-width:390px){nav button{padding:9px 10px}.brandline{align-items:flex-start}.head-actions{gap:4px}.head-actions button{padding:6px 7px}.row-actions{grid-column:3/5;justify-content:flex-start}.record-row{grid-template-columns:auto auto minmax(0,1fr)}.calendar-day{min-height:72px}.trash-summary{align-items:flex-start;flex-direction:column}}
.quick{grid-template-columns:1fr minmax(140px,.42fr) auto}.tag{border:1px solid #70442e;background:#2c211b;color:#f1b08b;border-radius:99px;padding:1px 7px}.category-entry{display:flex;align-items:center;gap:4px;position:relative}.category-entry.active .category-tab{background:var(--text);color:#181818}.category-tab{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-menu{margin-left:auto}.category-menu summary{list-style:none;border:0;border-radius:7px;padding:4px 8px;color:var(--muted);cursor:pointer}.category-menu summary::-webkit-details-marker{display:none}.category-menu[open] summary{background:var(--surface-2);color:var(--text)}.category-menu-popover{position:absolute;right:0;z-index:5;display:grid;gap:3px;width:108px;padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);box-shadow:0 10px 30px #0008}.category-menu-popover button{border:0;background:transparent;text-align:left;padding:7px;border-radius:6px}.category-menu-popover button:hover{background:var(--surface)}.document-workspace{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:580px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.document-sidebar{padding:12px;border-right:1px solid var(--line);min-width:0;overflow:auto}.document-side-head,.document-pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}.document-categories{display:grid;gap:4px;margin-bottom:16px}.document-list{display:grid;gap:4px}.document-list-item{border:0;border-radius:8px;background:transparent;color:var(--text);padding:8px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-list-item:hover,.document-list-item.active{background:var(--surface-2);color:#fff}.document-side-outline{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.document-side-outline nav{display:grid;gap:4px;margin-top:7px}.document-side-outline button{border:0;background:transparent;color:var(--muted);font-size:12px;text-align:left;padding:3px 5px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-side-outline button:hover{background:var(--surface-2);color:var(--text)}.document-side-outline .level-2{padding-left:13px}.document-side-outline .level-3,.document-side-outline .level-4,.document-side-outline .level-5,.document-side-outline .level-6{padding-left:21px}.document-pane{min-width:0;padding:22px 28px;overflow:auto}.document-reading{display:block}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-heading>div{display:grid;gap:3px}.editor-heading span{color:var(--muted);font-size:12px}.markdown-host{border:1px solid var(--line);border-radius:12px;min-height:460px;overflow:hidden;background:#1f1b16}.markdown-host .milkdown .ProseMirror{min-height:410px;padding:44px 64px}.document-editor textarea{min-height:410px}@media(max-width:720px){.quick{grid-template-columns:1fr}.document-workspace{grid-template-columns:125px minmax(0,1fr);min-height:520px}.document-sidebar{padding:8px}.document-pane{padding:12px}.document-side-head{align-items:center}.markdown-host .milkdown .ProseMirror{min-height:330px;padding:28px 20px}.document-editor textarea{min-height:330px}}

/* 唯一视觉来源：Tabler 中文母版对照工作台的 dark + neutral + inverted + sans-serif + radius 1。 */
:root{--bg:var(--tblr-bg-surface-secondary);--surface:var(--tblr-bg-surface);--surface-2:var(--tblr-bg-surface-secondary);--line:var(--tblr-border-color);--text:var(--tblr-body-color);--muted:var(--tblr-secondary-color);--accent:var(--tblr-primary);--accent-strong:var(--tblr-primary);--good:var(--tblr-success);--danger:var(--tblr-danger);--radius:var(--tblr-border-radius-lg);--topbar-height:106px}
body{background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color);font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;font-size:14px;line-height:20px}
.topbar{z-index:20;padding:12px 16px 0;background:var(--tblr-bg-surface);border-color:var(--tblr-border-color)}.brandline{margin-bottom:8px}.brand{color:var(--tblr-body-color);font-weight:700}.head-actions{gap:8px}
nav button{padding:8px 12px;border-bottom-width:2px;color:var(--tblr-secondary-color)}nav button.active{color:var(--tblr-body-color);border-color:var(--tblr-primary)}
main{width:100%;max-width:none;margin:0;padding:20px 16px 48px}.eyebrow{margin:0 0 4px;color:var(--tblr-secondary-color);font-weight:600;letter-spacing:0}.pagehead h1,.admin-page h1{font-size:24px;line-height:32px}.hint,#status{color:var(--tblr-secondary-color)}
.card-panel,.memo-card,.document-card{background:var(--tblr-bg-surface);border-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius-lg)}.card-panel{padding:16px}.card-panel+.card-panel{margin-top:16px}
.primary,.secondary,.danger,.quiet,.button-link{min-height:36px;border-radius:var(--tblr-border-radius);padding:8px 12px;line-height:18px}.primary{background:var(--tblr-primary);color:var(--tblr-dark);font-weight:600}.secondary,.quiet,.button-link{background:var(--tblr-bg-surface);border-color:var(--tblr-border-color);color:var(--tblr-body-color)}.quiet{min-height:30px;padding:5px 8px}.danger{background:transparent;border-color:var(--tblr-danger);color:var(--tblr-danger)}
input,textarea,select{border-color:var(--tblr-border-color);background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color);border-radius:var(--tblr-border-radius);padding:9px 12px}input:focus,textarea:focus,select:focus{border-color:var(--tblr-primary)}label{color:var(--tblr-body-color)}
.record-row{border-color:var(--tblr-border-color)}.record-row p,.memo-card p{color:var(--tblr-body-color)}.record-meta,.todo-group-head>span,.todo-group-fixed{color:var(--tblr-secondary-color)}.complete-button{border-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.empty{color:var(--tblr-secondary-color)}
.todo-group+.todo-group{border-top-color:var(--tblr-bg-surface-secondary)}.todo-group-head{background:var(--tblr-bg-surface-tertiary);border-color:var(--tblr-border-color)}.tag{border-color:var(--tblr-border-color);background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color)}
.category-tab{border-color:var(--tblr-border-color);background:var(--tblr-bg-surface);border-radius:var(--tblr-border-radius);color:var(--tblr-secondary-color)}.category-tab.active,.category-entry.active .category-tab{background:var(--tblr-primary);color:var(--tblr-dark)}
.category-menu summary{border-radius:var(--tblr-border-radius);color:var(--tblr-secondary-color)}.category-menu[open] summary{background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color)}.category-menu-popover{border-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius);background:var(--tblr-bg-surface)}.category-menu-popover button{color:var(--tblr-body-color);border-radius:var(--tblr-border-radius)}.category-menu-popover button:hover{background:var(--tblr-bg-surface-secondary)}
.calendar,.calendar-head,.calendar-day{border-color:var(--tblr-border-color)}.calendar-head,.calendar-day{background:var(--tblr-bg-surface)}.calendar-head,.calendar-day.other{color:var(--tblr-secondary-color)}.calendar-add{border-color:var(--tblr-border-color);background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color);border-radius:var(--tblr-border-radius)}.calendar-event{border-left-color:var(--tblr-primary);background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color);border-radius:var(--tblr-border-radius)}
.markdown{color:var(--tblr-body-color);font-size:14px;line-height:2}.markdown h1{font-size:24px}.markdown h2{font-size:20px}.markdown h3{font-size:17px}.markdown a{color:var(--tblr-link-color)}
.document-workspace{grid-template-columns:200px minmax(0,1fr);align-items:start;overflow:visible;background:transparent;border:0;border-radius:0}
.document-sidebar{position:sticky;top:calc(var(--topbar-height) + 16px);max-height:calc(100vh - var(--topbar-height) - 32px);min-width:0;overflow:auto;padding:12px;background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius-lg)}
.document-pane{min-width:0;margin-left:16px;padding:20px;overflow:visible;background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius-lg)}
.document-list-item{border-radius:var(--tblr-border-radius);color:var(--tblr-body-color)}.document-list-item:hover,.document-list-item.active{background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color)}.document-side-outline{border-color:var(--tblr-border-color)}.document-side-outline button{color:var(--tblr-secondary-color);border-radius:var(--tblr-border-radius)}.document-side-outline button:hover{background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color)}
.editor-heading span{color:var(--tblr-secondary-color)}
.document-title-field{position:sticky;top:calc(var(--topbar-height) + 8px);z-index:14;margin:0;padding:0 0 10px;background:var(--tblr-bg-surface)}
.markdown-host .milkdown .milkdown-top-bar{top:calc(var(--topbar-height) + var(--document-title-height,64px) + 8px);z-index:13;border:1px solid var(--tblr-border-color);border-left:0;border-right:0;background:var(--tblr-bg-surface)}
.markdown-host{overflow:visible;background:var(--tblr-bg-surface);border-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius-lg);--crepe-color-background:var(--tblr-bg-surface);--crepe-color-on-background:var(--tblr-body-color);--crepe-color-surface:var(--tblr-bg-surface);--crepe-color-surface-low:var(--tblr-bg-surface-secondary);--crepe-color-on-surface:var(--tblr-body-color);--crepe-color-on-surface-variant:var(--tblr-secondary-color);--crepe-color-outline:var(--tblr-border-color);--crepe-color-primary:var(--tblr-primary);--crepe-color-secondary:var(--tblr-bg-surface-secondary);--crepe-color-on-secondary:var(--tblr-body-color);--crepe-color-inverse:var(--tblr-primary);--crepe-color-on-inverse:var(--tblr-dark);--crepe-color-inline-code:var(--tblr-body-color);--crepe-color-error:var(--tblr-danger);--crepe-color-hover:var(--tblr-bg-surface-secondary);--crepe-color-selected:var(--tblr-bg-surface-tertiary);--crepe-color-inline-area:var(--tblr-bg-surface-secondary);--crepe-base-font-size:14px;--crepe-font-title:"Microsoft YaHei UI","Microsoft YaHei",sans-serif;--crepe-font-default:"Microsoft YaHei UI","Microsoft YaHei",sans-serif}.markdown-host .milkdown .ProseMirror{padding:32px 40px}
dialog{border-color:var(--tblr-border-color);background:var(--tblr-bg-surface);color:var(--tblr-body-color);border-radius:var(--tblr-border-radius-lg)}.token-result{background:var(--tblr-bg-surface-secondary);border-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.identity dt{color:var(--tblr-secondary-color)}.toast{background:var(--tblr-primary);color:var(--tblr-dark);border-radius:var(--tblr-border-radius)}
@media(max-width:720px){main{padding:16px 12px 40px}.topbar{padding-left:12px;padding-right:12px}.document-workspace{grid-template-columns:126px minmax(0,1fr)}.document-sidebar{padding:8px}.document-pane{margin-left:8px;padding:12px}.markdown-host .milkdown .ProseMirror{padding:24px 16px}}
