:root{--bg: #ffffff;--bg-2: #f7f7f5;--bg-3: #ebebe9;--ink: #101418;--ink-2: #333e4a;--ink-3: #5f6b7a;--rule: #e2e2e0;--control: #ffffff;--accent: #0369a1;--danger: #b91c1c;--success: #166534;--overlay: rgba(17, 17, 17, .4);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1217;--bg-2: #161c24;--bg-3: #232b36;--ink: #f5f8fc;--ink-2: #d5dde8;--ink-3: #a3aebd;--rule: #323d4b;--control: #1d242e;--accent: #7dd3fc;--danger: #f87171;--success: #86efac;--overlay: rgba(0, 0, 0, .55)}}:root[data-theme=dark]{--bg: #0e1217;--bg-2: #161c24;--bg-3: #232b36;--ink: #f5f8fc;--ink-2: #d5dde8;--ink-3: #a3aebd;--rule: #323d4b;--control: #1d242e;--accent: #7dd3fc;--danger: #f87171;--success: #86efac;--overlay: rgba(0, 0, 0, .55)}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,textarea,select{font:inherit;color:var(--ink);background:var(--control);border:1px solid var(--rule);border-radius:6px;padding:5px 8px}input:focus,textarea:focus,select:focus{outline:1.5px solid var(--accent);outline-offset:-1px}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-3)}.shell{display:flex;height:100%;overflow:hidden}.content{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.sidebar{flex:none;width:224px;background:var(--bg-2);border-right:1px solid var(--rule);display:flex;flex-direction:column;transition:width .15s ease;overflow:hidden}.sidebar.mini{width:52px}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 10px}.sidebar.mini .sidebar-head{justify-content:center;padding-left:6px;padding-right:6px}.brand{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.brand svg{color:var(--accent);flex:none}.sidebar.mini .brand span{display:none}.sidebar-toggle{color:var(--ink-3);border-radius:6px;padding:4px;display:inline-flex}.sidebar-toggle:hover{color:var(--ink);background:var(--bg-3)}.sidebar.mini .sidebar-toggle{display:none}.sidebar nav{flex:1;padding:4px 8px;overflow-y:auto}.sidebar.mini nav{padding:4px 6px}.nav-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 9px;margin:1px 0;border-radius:6px;color:var(--ink-2);font-size:14px;white-space:nowrap;text-align:left}.nav-item:hover{background:var(--bg-3);color:var(--ink)}.nav-item.active{background:var(--bg-3);color:var(--ink);font-weight:500}.nav-item svg{flex:none;color:var(--ink-3)}.nav-item.active svg{color:var(--accent)}.sidebar.mini .nav-item{justify-content:center;padding:8px 0}.sidebar.mini .nav-item .nav-label,.sidebar.mini .kbd-hint{display:none}.kbd-hint{margin-left:auto;font-size:11px;color:var(--ink-3);border:1px solid var(--rule);border-radius:4px;padding:0 5px;font-family:var(--font-mono)}.sidebar-search{display:flex;align-items:center;gap:7px;margin:2px 0 6px;padding:5px 9px;border:1px solid var(--rule);border-radius:6px;background:var(--control);color:var(--ink-3);cursor:pointer}.sidebar-search:hover{border-color:var(--ink-3)}.sidebar-search input{flex:1;min-width:0;border:none;background:none;padding:0;border-radius:0;font-size:13.5px;pointer-events:none;cursor:pointer}.sidebar-search input:focus{outline:none}.sidebar-search .kbd-hint{margin-left:0}.nav-section{display:flex;align-items:center;justify-content:space-between;margin:14px 2px 2px;padding:0 7px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.sidebar.mini .nav-section{display:none}.nav-section button{color:var(--ink-3);display:inline-flex;border-radius:4px;padding:2px}.nav-section button:hover{color:var(--ink);background:var(--bg-3)}.sidebar-foot{padding:8px;border-top:1px solid var(--rule)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--rule);flex:none}.page-title{font-size:18px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.page-title .count{font-size:12px;font-weight:400;color:var(--ink-3)}.page-body{flex:1}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--rule);border-radius:6px;background:var(--control);font-size:13.5px;color:var(--ink)}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover{opacity:.85}.btn.danger{color:var(--danger)}.btn.danger:hover{border-color:var(--danger)}.btn.active{border-color:var(--accent);color:var(--accent)}.btn.ghost{border-color:transparent;background:none;color:var(--ink-3)}.btn.ghost:hover{color:var(--ink);background:var(--bg-3)}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;right:0;top:calc(100% + 4px);min-width:170px;background:var(--bg);border:1px solid var(--rule);border-radius:8px;box-shadow:0 8px 24px #00000024;padding:4px;z-index:40}.menu-item{display:block;width:100%;padding:6px 10px;border-radius:6px;font-size:14px;text-align:left;white-space:nowrap}.menu-item:hover{background:var(--bg-3)}.menu-item.danger{color:var(--danger)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;font-weight:500;font-size:12.5px;color:var(--ink-3);padding:8px 12px;border-bottom:1px solid var(--rule);white-space:nowrap;position:sticky;top:0;background:var(--bg);z-index:1}.data-table th:first-child,.data-table td:first-child{padding-left:24px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--ink)}.sort-arrow{margin-left:4px;color:var(--accent)}.data-table td{padding:9px 12px;border-bottom:1px solid var(--rule);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.data-table.rowclick tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--bg-2)}.data-table th{position:relative}.col-resize{position:absolute;top:0;right:-4px;bottom:0;width:9px;cursor:col-resize;z-index:2}.col-resize:hover{border-right:2px solid var(--accent)}.col-menu-th{width:40px;text-align:right!important;padding-right:12px!important}.col-menu{top:calc(100% - 4px);right:8px}.menu-check{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;font-size:13.5px;color:var(--ink);cursor:pointer;white-space:nowrap}.menu-check:hover{background:var(--bg-3)}.menu-check input{accent-color:var(--accent);margin:0}.data-table.mini{font-size:13.5px}.data-table.mini th{position:static;font-size:12px;padding:6px 10px}.data-table.mini td{padding:7px 10px}.data-table.mini th:first-child,.data-table.mini td:first-child{padding-left:4px}.cell-primary{font-weight:500;display:flex;align-items:center;gap:9px}.empty-state{padding:48px 24px;text-align:center;color:var(--ink-3);font-size:14px}.avatar{flex:none;width:22px;height:22px;border-radius:50%;background:var(--bg-3);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:600;overflow:hidden}.avatar.square{border-radius:5px}.avatar img{width:100%;height:100%;object-fit:cover}.chip{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border:1px solid var(--rule);border-radius:999px;font-size:12.5px;color:var(--ink-2);background:var(--bg-2)}.chip.link:hover{border-color:var(--accent);color:var(--accent);cursor:pointer}.record{display:flex;flex-direction:column;flex:1;min-height:0}.record-head{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--rule);flex:none}.record-head .avatar{width:30px;height:30px;font-size:13px}.record-name{font-size:18px;font-weight:600;letter-spacing:-.01em;border:1px solid transparent;border-radius:6px;padding:2px 6px;margin-left:-6px;background:none;min-width:60px}.record-name:hover{border-color:var(--rule)}.record-name:focus{outline:1.5px solid var(--accent);outline-offset:-1px}.record-head .spacer{flex:1}.record-body{display:flex;flex:1;min-height:0}.attrs{flex:none;width:320px;border-right:1px solid var(--rule);overflow-y:auto;padding:12px 16px 24px}.attrs h3{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:16px 0 4px;padding:0 6px}.record-main{flex:1;min-width:0;overflow-y:auto;padding:18px 24px 48px}.record-main h3{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:24px 0 10px}.record-main h3:first-child{margin-top:0}.field{display:flex;flex-direction:column;padding:5px 6px;border-radius:6px}.field-label{font-size:12px;color:var(--ink-3)}.field-value{font-size:14px;color:var(--ink);min-height:22px;cursor:text;border-radius:4px;display:flex;align-items:center;gap:6px;word-break:break-word}.field-value:hover{background:var(--bg-3)}.field-value.empty{color:var(--ink-3)}.field-value a{color:var(--accent)}.field input,.field select,.field textarea{width:100%;padding:2px 6px;margin:0 -6px;font-size:14px}.field textarea{min-height:64px;resize:vertical}.field.readonly .field-value{cursor:default}.field.readonly .field-value:hover{background:none}.composer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border:1px solid var(--rule);border-radius:8px;background:var(--bg-2);margin-bottom:14px}.composer input[type=text]{flex:1;min-width:160px}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:12px;align-items:flex-start;padding:10px 4px;border-bottom:1px solid var(--rule)}.timeline-item:last-child{border-bottom:none}.timeline-icon{flex:none;margin-top:2px;width:26px;height:26px;border-radius:50%;border:1px solid var(--rule);background:var(--bg-2);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2)}.timeline-body{flex:1;min-width:0}.timeline-meta{font-size:12.5px;color:var(--ink-3);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.timeline-meta .kind{color:var(--ink);font-weight:500}.timeline-summary{font-size:14px;margin-top:1px;white-space:pre-wrap}.timeline-item .del{color:var(--ink-3);opacity:0;padding:2px 6px;border-radius:4px}.timeline-item:hover .del{opacity:1}.timeline-item .del:hover{color:var(--danger);background:var(--bg-3)}.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.note-card{border:1px solid var(--rule);border-radius:8px;padding:10px 12px;cursor:pointer;background:var(--bg);min-width:0}.note-card:hover{border-color:var(--ink-3)}.note-card .title{font-weight:500;font-size:14px;margin-bottom:2px}.note-card .snippet{font-size:13px;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note-card .when{font-size:12px;color:var(--ink-3);margin-top:6px}.note-editor{display:flex;flex-direction:column;flex:1;min-height:0;padding:18px 24px;max-width:860px}.note-editor .note-title{font-size:20px;font-weight:600;letter-spacing:-.01em;border:none;background:none;padding:4px 0;border-radius:0}.note-editor .note-title:focus{outline:none}.note-editor .note-body{flex:1;border:none;background:none;padding:8px 0;font-size:15px;line-height:1.65;resize:none}.note-editor .note-body:focus{outline:none}.note-editor-meta{display:flex;gap:10px;align-items:center;padding:4px 0 10px;border-bottom:1px solid var(--rule);margin-bottom:6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;z-index:50}.modal{width:440px;max-width:calc(100vw - 32px);background:var(--bg);border:1px solid var(--rule);border-radius:10px;box-shadow:0 12px 40px #0000002e;overflow:hidden}.modal-head{padding:12px 16px;font-weight:600;font-size:14px;border-bottom:1px solid var(--rule)}.modal-body{padding:16px;display:flex;flex-direction:column;gap:10px}.modal-body label{font-size:12px;color:var(--ink-3);display:flex;flex-direction:column;gap:3px}.modal-foot{padding:12px 16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--rule)}.search-modal{width:560px}.search-input{width:100%;border:none;background:none;border-radius:0;padding:14px 16px;font-size:15px;border-bottom:1px solid var(--rule)}.search-input:focus{outline:none}.search-results{max-height:50vh;overflow-y:auto;padding:6px}.search-group{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:8px 10px 3px}.search-hit{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:6px;font-size:14px;text-align:left}.search-hit .sub{color:var(--ink-3);font-size:12.5px}.search-hit.selected,.search-hit:hover{background:var(--bg-3)}.search-empty{padding:20px;text-align:center;color:var(--ink-3);font-size:13px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 8px}.section-head:first-child{margin-top:0}.section-head h3{margin:0}.task-check{accent-color:var(--accent);width:15px;height:15px;margin:0;cursor:pointer}.task-done{text-decoration:line-through;color:var(--ink-3)}.overdue{color:var(--danger)}.settings{padding:20px 24px 48px;max-width:760px}.settings h3{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:26px 0 10px}.settings h3:first-child{margin-top:0}.setting-row{display:flex;align-items:center;gap:10px;padding:8px 0}.setting-row .lbl{width:110px;flex:none;font-size:13px;color:var(--ink-3)}.setting-row code{font-family:var(--font-mono);font-size:13px;background:var(--bg-2);border:1px solid var(--rule);border-radius:6px;padding:4px 9px;overflow-x:auto;white-space:nowrap}.settings pre{background:var(--bg-2);border:1px solid var(--rule);border-radius:8px;padding:13px 15px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.settings .hint{font-size:13px;color:var(--ink-3);margin:6px 0 10px}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-2)}.login-card{width:320px;background:var(--bg);border:1px solid var(--rule);border-radius:12px;padding:30px 28px;display:flex;flex-direction:column;gap:12px}.login-brand{display:flex;align-items:center;justify-content:center;gap:9px;font-size:19px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}.login-brand svg{color:var(--accent)}.login-error{font-size:13px;color:var(--danger);text-align:center}.home{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-3);gap:10px}.home svg{color:var(--accent);opacity:.5}
