:root{--bg:#0e1014;--bg-elev:#151920;--bg-elev-2:#1b2028;--bg-hover:#202632;--border:#262d38;--border-soft:#1e242e;--text:#e7eaf0;--text-dim:#99a2b2;--text-mute:#6a7383;--accent:#f0b429;--accent-ink:#1a1405;--accent-soft:#f0b42921;--good:#34d399;--bad:#f87171;--radius:12px;--radius-sm:8px;--shadow:0 8px 28px #00000059;--st-active:#34d399;--st-paused:#fbbf24;--st-idea:#60a5fa;--st-done:#a78bfa;--st-dropped:#6a7383;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f6f8;--bg-elev:#fff;--bg-elev-2:#fff;--bg-hover:#eef0f4;--border:#e2e6ec;--border-soft:#eceff3;--text:#171b22;--text-dim:#57606f;--text-mute:#8b93a1;--accent:#b06f10;--accent-ink:#fff;--accent-soft:#b06f101a;--good:#0f9d63;--bad:#d64545;--shadow:0 6px 22px #141a2614;--st-active:#0f9d63;--st-paused:#b7791f;--st-idea:#2563eb;--st-done:#7c3aed;--st-dropped:#8b93a1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.6}button,input,textarea,select{font:inherit;color:inherit}.app{grid-template-columns:268px minmax(0,1fr);min-height:100%;display:grid}.main{width:100%;min-width:0;max-width:1120px;padding:34px 40px 80px}.scrim,.menu-btn{display:none}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:11px;padding:20px 18px 16px;display:flex}.brand-mark{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:10px;flex:none;place-items:center;font-size:18px;font-weight:800;display:grid}.brand-text{flex-direction:column;min-width:0;display:flex}.brand-text strong{letter-spacing:.02em;font-size:15px}.brand-text small{color:var(--text-mute);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}.nav{flex-direction:column;flex:1;gap:2px;padding:6px 10px 16px;display:flex;overflow-y:auto}.nav-section{letter-spacing:.08em;color:var(--text-mute);padding:16px 10px 6px;font-size:11px}.nav-item{border-radius:var(--radius-sm);width:100%;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--text);font-weight:600}.nav-icon{text-align:center;flex:none;width:18px;font-size:14px}.nav-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-net{font-variant-numeric:tabular-nums;color:var(--text-mute);flex:none;font-size:11.5px}.nav-net.pos,.pos{color:var(--good)}.nav-net.neg,.neg{color:var(--bad)}.nav-add{color:var(--text-mute);border:1px dashed var(--border);margin-top:8px}.nav-add:hover{border-color:var(--accent);color:var(--accent)}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.data-row{gap:6px;display:flex}.foot-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.save-state{color:var(--text-mute);font-size:11px}.save-state.custom{color:var(--accent)}.mini-btn{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;flex:1;padding:6px 8px;font-size:12px;transition:all .12s}.mini-btn:hover{border-color:var(--accent);color:var(--accent)}.mini-btn.danger:hover{border-color:var(--bad);color:var(--bad)}.icon-btn{width:26px;height:26px;color:var(--text-mute);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;font-size:12px;text-decoration:none;display:grid}.icon-btn:hover{background:var(--bg-hover);color:var(--bad)}a.icon-btn:hover{color:var(--accent)}.add-btn{border-radius:var(--radius-sm);border:1px dashed var(--border);color:var(--text-mute);cursor:pointer;background:0 0;margin-top:10px;padding:7px 12px;font-size:12.5px}.add-btn:hover{border-color:var(--accent);color:var(--accent)}.editable{border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;width:100%;min-width:0;padding:4px 7px;transition:border-color .12s,background .12s}.editable:hover{border-color:var(--border)}.editable:focus{border-color:var(--accent);background:var(--bg-elev-2);outline:none}.editable::placeholder{color:var(--text-mute);opacity:.75}.auto-textarea{resize:none;line-height:1.7;display:block;overflow:hidden}.muted{color:var(--text-mute);font-size:12px}.page{flex-direction:column;gap:20px;display:flex}.page-head h1{letter-spacing:.01em;margin:0;font-size:26px}.page-sub{color:var(--text-mute);margin:4px 0 0;font-size:12.5px}.panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.panel h2{letter-spacing:.06em;color:var(--text-dim);margin:0 0 12px;font-size:13px;font-weight:600}.panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-head h2{margin-bottom:12px}.empty{color:var(--text-mute);padding:14px 0;font-size:12.5px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat-label{color:var(--text-mute);letter-spacing:.04em;font-size:11.5px}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:23px;font-weight:700}.stat-hint{color:var(--text-mute);font-size:11px}.stat-card.tone-good .stat-value{color:var(--good)}.stat-card.tone-bad .stat-value{color:var(--bad)}.status-dot{background:var(--text-mute);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.status-dot.status-active{background:var(--st-active)}.status-dot.status-paused{background:var(--st-paused)}.status-dot.status-idea{background:var(--st-idea)}.status-dot.status-done{background:var(--st-done)}.status-dot.status-dropped{background:var(--st-dropped)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;display:inline-flex}.chip.status-active{color:var(--st-active)}.chip.status-paused{color:var(--st-paused)}.chip.status-idea{color:var(--st-idea)}.chip.status-done{color:var(--st-done)}.chip.status-dropped{color:var(--st-dropped)}.status-select{border:1px solid var(--border);background:var(--bg-elev-2);cursor:pointer;border-radius:999px;padding:5px 9px;font-size:12.5px}.status-select.status-active{color:var(--st-active);border-color:var(--st-active)}.status-select.status-paused{color:var(--st-paused);border-color:var(--st-paused)}.status-select.status-idea{color:var(--st-idea);border-color:var(--st-idea)}.status-select.status-done{color:var(--st-done);border-color:var(--st-done)}.status-select.status-dropped{color:var(--st-dropped);border-color:var(--st-dropped)}.progress{background:var(--bg-hover);border-radius:999px;height:4px;margin:8px 0 4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.card-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px;display:grid}.p-card{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev-2);cursor:pointer;flex-direction:column;gap:6px;padding:14px 15px;transition:border-color .14s,transform .14s;display:flex}.p-card:hover{border-color:var(--accent);transform:translateY(-2px)}.p-card-top{align-items:center;gap:8px;display:flex}.p-icon{font-size:17px}.p-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:650;overflow:hidden}.p-summary{color:var(--text-mute);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0;font-size:12.5px;display:-webkit-box;overflow:hidden}.p-nums{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;font-size:12px;display:flex}.p-net{font-size:13.5px;font-weight:700}.feed{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.feed li{border-top:1px solid var(--border-soft);grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;padding:10px 0;display:grid}.feed li:first-child{border-top:0}.feed-proj{color:var(--text-dim);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:12.5px}.feed-proj:hover{color:var(--accent)}.feed-date{color:var(--text-mute);font-variant-numeric:tabular-nums;font-size:11.5px}.feed-text{white-space:pre-wrap;overflow-wrap:anywhere;grid-column:1/-1;margin:2px 0 0;font-size:13px}.proj-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.icon-input{text-align:center;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);flex:none;width:50px;height:50px;font-size:24px}.icon-input:focus{border-color:var(--accent);outline:none}.proj-title{flex:240px;min-width:0;padding:6px 8px;font-size:25px;font-weight:700}.proj-actions{gap:6px;display:flex}.proj-actions .mini-btn{flex:none}.proj-summary{color:var(--text-dim);font-size:14px}.proj-foot{color:var(--text-mute);font-size:11.5px}.proj-foot code{background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.num-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.num-field{flex-direction:column;gap:5px;display:flex}.num-label{color:var(--text-mute);font-size:11.5px}.num-input-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev-2);align-items:center;gap:6px;padding:0 10px;display:flex}.num-input-wrap:focus-within{border-color:var(--accent)}.num-input-wrap input{font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;min-width:0;padding:9px 0;font-size:15px}.num-input-wrap input:focus{outline:none}.num-unit{color:var(--text-mute);font-size:12px}.prose{color:var(--text-dim);font-size:13.5px}.task-list,.note-list,.link-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.task-list li{align-items:center;gap:9px;padding:3px 0;display:flex}.task-list input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none}.task-list li.done .task-text{color:var(--text-mute);text-decoration:line-through}.note-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev-2);padding:10px 12px}.note-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.note-date{color:var(--text-mute);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 6px;font-size:12px}.note-date:hover{border-color:var(--border)}.note-date:focus{border-color:var(--accent);outline:none}.note-text{font-size:13.5px}.link-list li{align-items:center;gap:6px;display:flex}.link-label{flex:0 0 34%}.link-url{min-width:0;color:var(--text-mute);flex:1;font-size:12.5px}.toast{z-index:60;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow);border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;animation:.18s toast-in;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.nav::-webkit-scrollbar{width:8px}.page::-webkit-scrollbar{width:8px}.nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}@media (width<=860px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:272px;box-shadow:var(--shadow);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}.app.menu-open .sidebar{transform:none}.scrim{z-index:35;opacity:0;pointer-events:none;background:#00000073;transition:opacity .22s;display:block;position:fixed;inset:0}.app.menu-open .scrim{opacity:1;pointer-events:auto}.main{padding:20px 18px 70px}.menu-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;place-items:center;width:36px;height:36px;margin-bottom:14px;font-size:15px;display:grid}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:20px}.link-list li{flex-wrap:wrap}.link-label{flex:40%}}
