
:root{--bg:#f8f9fb;--surface:#fff;--ink:#292c35;--muted:#858a98;--secondary:#656b79;--line:#e9ebf0;--soft:#f1f2f6;--accent:#7863d4;--accent-soft:#f0ecfb;--green:#5b9c89;--red:#d97568;--side:226px;--shadow:0 12px 40px #2529360d;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--text-caption:11px;--text-meta:12px;--text-body:13px;--text-control:13px;--text-card:14px;--text-work:14px;--text-panel:22px;--text-page:28px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700}
*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:13px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button,input,textarea,select{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #aa9fe0;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:none;border-color:#a99cde!important;box-shadow:0 0 0 3px #7863d414}button,input,textarea,select{transition:background .15s,border-color .15s,box-shadow .15s}h1,h2,h3,p{margin:0}svg.icon{width:17px;height:17px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button svg{pointer-events:none}.numeric{font-family:var(--font);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);z-index:25;background:#f3f4f7;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:31px 18px 19px}.brand{display:flex;align-items:center;gap:10px;padding:0 9px 30px}.brand-mark{width:30px;height:32px;flex-shrink:0;color:var(--accent)}.brand-name{font-size:23px;font-weight:740;letter-spacing:-1px}.brand sup{font-size:8px;letter-spacing:.9px;font-weight:650;color:#999dab;align-self:flex-start;margin-top:8px;margin-left:-4px}.space-switch{display:flex;align-items:center;gap:10px;margin:0 2px 31px;padding:11px;background:#fff9;border:1px solid #e6e8ef;border-radius:9px}.space-icon{display:grid;place-items:center;background:#edeaf5;color:#8976bf;width:32px;height:32px;border-radius:7px;font-weight:700;font-size:12px}.space-name{font-size:12px;font-weight:600}.space-caption{font-size:10px;color:var(--muted);margin-top:3px}.section-label{color:#a0a4b0;font-size:10px;letter-spacing:1px;margin:0 13px 11px}.nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;gap:11px;align-items:center;padding:11px 13px;text-align:left;border-radius:8px;color:#737785;width:100%;font-size:13px}.nav-item:hover{background:#e9ebf1}.nav-item.active{color:#705cc8;background:#eae6f5;font-weight:650}.nav-item .nav-count{margin-left:auto;font-size:10px;min-width:19px;text-align:center;color:#9b9ead}.nav-item.active .nav-count{color:#7968b6}.nav-item .alert-count{background:#f0e1dc;color:#bd796a;border-radius:4px;padding:1px 5px}.sidebar-tags{margin-top:35px}.tag-nav{display:flex;align-items:center;gap:12px;width:100%;font-size:12px;color:#7b7f8d;border-radius:7px;padding:10px 13px;text-align:left}.tag-nav:hover,.tag-nav.active{background:#e9ebf1;color:var(--ink)}.tag-dot{width:7px;height:7px;border-radius:50%;background:var(--tag-color)}.tag-nav .tag-count{margin-left:auto;font-size:10px;color:#a7abb6}.side-bottom{margin-top:auto;padding-top:32px}.sidebar-note{position:relative;border-top:1px solid #e4e6ed;padding:22px 12px 21px;overflow:hidden}.tiny-branch{margin-bottom:12px;width:43px;height:27px;color:#aca0d0}.sidebar-note strong{font-weight:550;font-size:12px;color:#707481}.sidebar-note p{font-size:10px;line-height:1.9;color:#a1a5b0;margin-top:5px}.local-status{display:flex;align-items:center;gap:7px;padding:13px 10px 0;font-size:10px;color:#9b9fac}.local-dot{width:5px;height:5px;background:#72a28e;border-radius:50%}.local-status .icon-btn{margin-left:auto}.workspace{margin-left:var(--side)}.topbar{height:71px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 35px;border-bottom:1px solid var(--line);background:#fff9}.breadcrumbs{display:flex;align-items:center;gap:12px;color:#a0a4af;font-size:11px;white-space:nowrap}.breadcrumbs .current{color:#727784}.breadcrumbs .icon{width:14px;height:14px}.top-actions{display:flex;gap:15px;align-items:center}.search{height:32px;display:flex;align-items:center;gap:9px;padding:0 9px 0 11px;border:1px solid #eaecf1;border-radius:7px;color:#a1a5af;background:#fff;width:217px}.search input{border:0;background:none;min-width:0;outline:0!important;box-shadow:none!important;flex:1;font-size:11px;color:var(--ink);width:130px}.search input::placeholder{color:#a5a9b4}.search .icon{width:14px;height:14px}kbd{font-family:inherit;font-size:9px;white-space:nowrap;display:inline-flex;gap:2px;align-items:center;border:1px solid #e8eaf0;padding:2px 4px;border-radius:4px;color:#aaaeba;font-weight:400}.icon-btn{height:28px;width:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#979ba7;flex-shrink:0}.icon-btn:hover{background:#eeeff5;color:#606672}.icon-btn .icon{width:16px;height:16px}.top-separator{height:17px;width:1px;background:var(--line)}.avatar{width:28px;height:28px;background:#e9e6f0;color:#897d9c;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600}.main{padding:30px 35px 40px;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.eyebrow{font-size:9px;font-weight:650;color:#aaa4bc;letter-spacing:1.65px;margin-bottom:8px}.title-line{display:flex;align-items:center;gap:12px}h1{font-size:29px;letter-spacing:-.9px;font-weight:650}.title-symbol{color:#b6aad6;width:24px;height:24px;stroke-width:1.5;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.page-subtitle{font-size:12px;color:#9a9eaa;margin-top:9px;letter-spacing:.2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:550;min-height:33px;padding:8px 12px;border-radius:7px;border:1px solid var(--line);background:#fff;white-space:nowrap}.button:hover{background:#f2f2f7;border-color:#dbdce6}.button.primary{background:#34353e;border-color:#34353e;color:#fff;box-shadow:0 2px 3px #2222330b}.button.primary:hover{background:#48464f}.button.primary kbd{margin-left:9px;color:#a6a5af;border-color:#ffffff20}.button.primary .icon{width:14px;height:14px}.button.purple{background:var(--accent);border-color:var(--accent);color:white}.button.purple:hover{background:#6d58c8}.button.ghost{background:none;border-color:transparent;color:var(--secondary)}.button.danger{color:var(--red);border-color:#efddd9}.heading-right{display:flex;align-items:center;gap:28px}.metrics{display:flex;gap:23px;margin-right:1px}.metric{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:7px;row-gap:5px}.metric strong{font-size:20px;letter-spacing:-.8px;font-weight:550;grid-column:1/-1}.metric i{width:5px;height:5px;background:#a99bd0;border-radius:50%}.metric:nth-child(2) i{background:#8eaba9}.metric:nth-child(3) i{background:#d79786}.metric span{font-size:9px;color:#979baa}.heading-divider{width:1px;height:33px;background:#e3e5ed}.viewbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px;min-height:39px}.tabs{display:flex;align-items:center;gap:21px;border-bottom:1px solid transparent}.tab{display:flex;gap:7px;align-items:center;font-size:12px;padding:10px 0;color:#9a9fab;position:relative}.tab.active{font-weight:600;color:#555664}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#8b77c2;border-radius:3px}.tab-count{font-size:9px;padding:1px 5px;border-radius:4px;background:#eff0f5;color:#a1a4b1;font-weight:500}.tab.active .tab-count{background:#ede8f7;color:#8a78b5}.view-controls{display:flex;align-items:center;gap:10px}.view-toggle{display:flex;background:#eeeff4;border:1px solid #e8e9ef;border-radius:6px;padding:3px;gap:2px}.view-button{display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:4px;color:#979caa;font-size:10px}.view-button .icon{width:13px;height:13px}.view-button.active{background:#fff;color:#74717f;box-shadow:0 1px 3px #2a304010}.filter-chip{display:flex;align-items:center;gap:6px;color:var(--accent);background:#eeeaf7;border-radius:5px;padding:5px 8px;font-size:10px}.filter-chip .icon{width:11px;height:11px}.board-note{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;color:#9499a6;font-size:10px;letter-spacing:.15px}.board-note-left{display:flex;align-items:center;gap:6px}.board-note .icon{width:12px;height:12px}.legend{display:flex;align-items:center;gap:14px}.legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:5px;height:5px;border-radius:50%;background:#93b2a6}.legend-dot.doing{background:#a391d2}.legend-dot.todo{background:#c8cbd4}.work-lane{background:#fff;border:1px solid #e3e5ed;border-radius:11px;margin-bottom:15px;box-shadow:0 2px 3px #20233702;transition:box-shadow .2s;overflow:hidden}.work-header{height:62px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #eff0f4}.work-lane.collapsed .work-header{border-bottom:0}.work-symbol{height:28px;width:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--work-light);color:var(--work-color)}.work-symbol .icon{width:16px;height:16px}.work-name{font-size:14px;font-weight:620;letter-spacing:.1px;cursor:pointer;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-name:hover{color:var(--work-color)}.work-header .chevron{width:20px;height:26px;color:#abaeba}.work-header .chevron .icon{width:12px;height:12px;transition:transform .2s}.work-lane.collapsed .chevron .icon{transform:rotate(-90deg)}.tag{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:4px;font-size:10px;font-weight:450;line-height:1.25;color:var(--tag-ink,#9785b1);background:var(--tag-bg,#f0ecf8);white-space:nowrap}.tag .icon{width:10px;height:10px}.tags-inline{display:flex;gap:5px;flex-wrap:wrap}.work-node-count{font-size:10px;color:#a4a8b4;white-space:nowrap;margin-left:3px}.work-header-end{display:flex;gap:6px;align-items:center;margin-left:auto;white-space:nowrap}.work-progress{display:flex;align-items:center;gap:7px;margin-right:7px;font-size:9px;color:#a2a6b2}.progress-track{width:43px;height:3px;background:#edeef3;border-radius:4px;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:4px;background:var(--work-color);opacity:.65}.add-node-header{display:flex;align-items:center;gap:5px;font-size:11px;color:#858997;padding:6px 8px;border:1px solid #eceef3;border-radius:5px}.add-node-header:hover{color:var(--accent);border-color:#cfc5e7;background:#faf8ff}.add-node-header .icon{width:12px;height:12px}.graph-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#e2dfed transparent;background-color:#fcfcfe;background-image:radial-gradient(#d6d8e05e .7px,transparent .7px);background-size:13px 13px}.thread-graph{position:relative;min-width:100%;isolation:isolate}.graph-lines{position:absolute;inset:0;overflow:visible;z-index:-1;pointer-events:none}.node-card{position:absolute;width:245px;height:137px;border:1px solid #e5e6ed;background:#fff;border-radius:8px;padding:12px 14px 0;text-align:left;box-shadow:0 2px 5px #34374b05;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;outline:none}.node-card:hover,.node-card:focus-visible{transform:translateY(-2px);box-shadow:0 5px 13px #3b304d0e;border-color:#bdb2d6;z-index:4}.node-card.doing{border-color:var(--work-color);box-shadow:0 0 0 2px var(--work-light),0 2px 5px #34374b05}.node-card.done{background:#ffffffd9}.node-card.matched{box-shadow:0 0 0 2px #d7c8ec;border-color:#a994c8}.node-top{display:flex;align-items:center;justify-content:space-between;height:14px;margin-bottom:9px;gap:5px}.node-status{display:flex;align-items:center;gap:5px;font-size:10px;color:#a0a4af;padding:0}.node-status .icon{width:12px;height:12px;stroke-width:1.65}.node-status.done{color:#8ba799}.node-status.doing{color:var(--work-color)}.node-status:hover{filter:brightness(.8)}.node-status .status-orb{width:10px;height:10px;border:1.2px solid #c1c4d0;border-radius:50%;margin:0 1px}.status-orb.doing{border-color:var(--work-color);position:relative}.status-orb.doing:after{content:"";position:absolute;inset:1.5px;border-radius:50%;background:var(--work-color);clip-path:inset(0 50% 0 0)}.node-time{color:#969ba9;font-size:9px;letter-spacing:0;white-space:nowrap}.node-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:580;margin-bottom:6px;height:18px;line-height:18px}.node-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-urgent{display:flex;color:#ce8a77;flex-shrink:0}.node-urgent .icon{width:12px;height:12px;stroke-width:1.9}.node-note{font-size:11px;color:#9499a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:15px}.node-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f0f5;margin-top:11px;height:31px;color:#9499a6;font-size:10px;gap:6px}.next-action{display:flex;align-items:center;gap:5px;min-width:0}.next-action .icon{width:10px;height:10px;color:var(--work-color);opacity:.7}.next-action span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-todo{display:flex;gap:3px;align-items:center;white-space:nowrap}.node-todo .icon{height:11px;width:11px}.node-handle{position:absolute;top:62px;width:7px;height:7px;border:2px solid var(--work-color);background:#fff;border-radius:50%;opacity:.7}.node-handle.in{left:-4px}.node-handle.out{right:-4px}.branch-label{position:absolute;font-size:8px;display:flex;align-items:center;gap:4px;color:var(--work-color);background:#fcfcfe;padding:3px 5px;border:1px solid var(--work-light);border-radius:4px;white-space:nowrap}.branch-label .icon{width:10px;height:10px}.graph-add{position:absolute;width:25px;height:25px;display:flex;align-items:center;justify-content:center;background:#fcfcfe;border:1px dashed #cbc6dc;border-radius:50%;color:#b5abc9;transition:all .15s}.graph-add:hover{border-style:solid;border-color:var(--work-color);background:var(--work-light);color:var(--work-color)}.graph-add .icon{width:12px;height:12px}.work-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--muted);height:145px;font-size:11px}.board-footer{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;color:#b0b3bf;font-size:9px}.board-footer .icon{width:12px;height:12px}.new-work-slot{border:1px dashed #dcdfe8;border-radius:9px;padding:14px;display:flex;justify-content:center;align-items:center;gap:7px;color:#a0a4b1;width:100%;font-size:11px;margin-top:3px}.new-work-slot:hover{background:#f0edf8;border-color:#c9bddf;color:#9482b2}.new-work-slot .icon{width:13px;height:13px}.menu{position:fixed;min-width:160px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 30px #25293617;border-radius:8px;padding:5px;z-index:90}.menu button{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;font-size:11px;border-radius:5px;color:#7b7f8c;text-align:left}.menu button:hover{background:#f3f1f8;color:#706082}.menu button.danger{color:#c6796e}.menu button .icon{height:14px;width:14px}.menu-divider{height:1px;background:var(--line);margin:4px}.overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#28273634;backdrop-filter:blur(3px);padding:20px;animation:fadeIn .18s}.modal{width:465px;max-width:100%;max-height:92vh;overflow:auto;background:#fff;box-shadow:0 24px 90px #2223322b;border:1px solid #ffffff91;border-radius:15px;animation:modalIn .2s}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:25px 25px 0}.modal-title{font-size:18px;font-weight:600;letter-spacing:-.4px}.modal-lead{font-size:11px;color:#9fa3af;margin-top:6px}.modal-body{padding:22px 25px 25px}.field{margin-bottom:21px}.field-label{display:flex;align-items:center;justify-content:space-between;color:#777b8a;font-size:11px;font-weight:550;margin-bottom:9px}.required{color:#be998c}.form-input,.form-textarea,.form-select{border:1px solid #e3e5ec;border-radius:7px;padding:10px 11px;background:#fff;color:#555967;line-height:1.6;width:100%;font-size:12px}.form-input::placeholder,.form-textarea::placeholder{color:#b5b8c3}.form-textarea{min-height:86px;resize:vertical;display:block}.form-input[type=datetime-local]{font-size:11px;min-width:0;padding:9px 8px}.field-hint{font-size:10px;color:#a5a9b5;line-height:1.7;margin-top:7px}.smart-box{margin-top:10px;padding:13px;background:#f7f5fc;border:1px solid #eee9f8;border-radius:8px}.smart-head{display:flex;align-items:center;gap:6px;color:#9581bd;font-size:11px}.smart-head .icon{width:13px;height:13px}.smart-head .toggle{margin-left:auto}.toggle{position:relative;width:27px;height:16px;border-radius:14px;background:#dedee7;display:inline-block;border:0;padding:0;flex-shrink:0}.toggle:after{content:"";position:absolute;width:12px;height:12px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0001;transition:transform .15s}.toggle[aria-checked=true]{background:#9c8bc8}.toggle[aria-checked=true]:after{transform:translateX(11px)}.smart-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.smart-tags:empty{display:none}.smart-tag{font-size:10px;color:#9b8aae;background:#fff;border:1px solid #e1d8ed;border-radius:5px;padding:5px 7px;display:flex;gap:5px;align-items:center}.smart-tag.excluded{opacity:.5;text-decoration:line-through;background:transparent}.smart-tag .icon{width:10px;height:10px}.color-options{display:flex;gap:11px}.color-option{width:24px;height:24px;border-radius:50%;background:var(--swatch);border:4px solid white;outline:1px solid transparent}.color-option.selected{outline-color:var(--swatch)}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 25px;border-top:1px solid var(--line);background:#fcfcfe;border-radius:0 0 15px 15px}.modal-footer .button{min-height:35px}.drawer-overlay{position:fixed;inset:0;background:#2525342b;z-index:65;backdrop-filter:blur(1px);animation:fadeIn .15s}.drawer{position:fixed;right:0;top:0;bottom:0;width:446px;max-width:100%;z-index:66;display:flex;flex-direction:column;background:white;box-shadow:-10px 0 60px #33334312;animation:slideIn .23s}.drawer-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);height:66px;padding:0 24px;font-size:11px;color:#8e92a0;flex-shrink:0}.drawer-breadcrumb{display:flex;align-items:center;gap:6px;min-width:0}.drawer-breadcrumb span{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-breadcrumb .icon{width:14px;height:14px}.drawer-body{padding:25px;overflow:auto;flex:1;scrollbar-width:thin}.drawer-kicker{font-size:9px;letter-spacing:1.1px;color:#a89ac0;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:6px}.drawer-kicker .icon{width:12px;height:12px}.node-title-input{font-size:22px;letter-spacing:-.5px;font-weight:580;width:100%;border:0;border-bottom:1px solid transparent;padding:0 0 8px;margin-bottom:18px;outline:0;box-shadow:none!important;color:#494853;border-radius:0}.node-title-input:focus{border-bottom-color:#ded7ec!important}.node-title-input::placeholder{color:#c0bdc9}.status-row{display:flex;gap:7px;align-items:center;margin-bottom:26px}.status-choice{font-size:10px;padding:6px 9px;border:1px solid #e6e7ef;border-radius:5px;color:#a0a4af;display:flex;align-items:center;gap:4px}.status-choice .icon{width:12px;height:12px}.status-choice.selected{background:#f0ecf8;color:#9680bd;border-color:#ded3ed}.status-choice.selected[data-status=done]{background:#edf6f2;color:#7b9f8a;border-color:#d6e8dd}.urgent-switch{display:flex;gap:6px;align-items:center;color:#aaa4a2;font-size:10px;margin-left:auto;padding:5px;border-radius:5px}.urgent-switch .icon{width:13px;height:13px}.urgent-switch.active{color:#c88172;background:#fbf0ec}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section-divider{height:1px;background:#eff0f4;margin:25px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:12px;color:#767785;font-weight:550;margin-bottom:13px}.section-title-left{display:flex;align-items:center;gap:7px}.section-title .icon{width:14px;height:14px;color:#a299b5}.small-count{font-size:9px;color:#a7a7b6;font-weight:400}.record{background:#fcfcfd;border:1px solid #ececf3;border-radius:7px;padding:10px;margin-bottom:8px}.record-top{display:flex;align-items:center;gap:8px}.check-control{appearance:none;width:13px;height:13px;border:1px solid #c8c6d2;border-radius:4px;flex-shrink:0;display:grid;place-items:center;margin:0;cursor:pointer}.check-control:checked{background:#a79ac2;border-color:#a79ac2}.check-control:checked:after{content:"✓";color:#fff;font-size:10px;line-height:10px}.record-text{width:100%;background:none;border:0;border-bottom:1px solid transparent;border-radius:0;outline:0;box-shadow:none!important;font-size:11px;min-width:0;color:#767887;padding:2px 0}.record.is-done .record-text{text-decoration:line-through;color:#aaaebb}.record .icon-btn{width:18px;height:18px}.record .icon-btn .icon{width:12px;height:12px}.record-date{margin:6px 0 0 21px;display:flex;gap:5px;align-items:center;color:#aaa8b5;font-size:9px}.record-date .icon{width:10px;height:10px}.record-date input{border:0;background:none;font-size:9px;color:#a8a7b4;width:169px;outline:0;box-shadow:none!important}.add-record{display:flex;gap:6px;align-items:center;color:#a294b7;font-size:10px;padding:7px 1px}.add-record .icon{width:12px;height:12px}.next-input{background:#faf9fc;border-color:#eae5f1;min-height:72px}.parent-reference{font-size:10px;color:#b0a3c2;background:#f6f3fa;border:1px solid #eee7f4;padding:10px 12px;border-radius:6px;margin-bottom:18px;display:flex;align-items:center;gap:6px}.parent-reference .icon{width:12px;height:12px}.drawer-footer{display:flex;justify-content:space-between;gap:8px;padding:17px 23px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}.drawer-footer .button{font-size:11px}.drawer-footer-right{display:flex;gap:8px}.drawer-empty-record{font-size:10px;color:#b2b3c0;padding:8px 0 12px}.toast-stack{position:fixed;bottom:25px;left:calc(50% + var(--side)/2);transform:translateX(-50%);display:flex;flex-direction:column;gap:7px;z-index:120;pointer-events:none;align-items:center}.toast{display:flex;align-items:center;gap:8px;background:#34333e;color:#f5f2fa;padding:11px 16px;box-shadow:0 5px 20px #3333;border-radius:8px;font-size:11px;animation:toastIn .2s;max-width:min(90vw,520px)}.toast .icon{width:14px;height:14px;color:#c7b9e1}.toast.error{background:#845f58}.list-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e3e5ed;border-radius:10px;overflow:hidden;table-layout:fixed}.list-table th{font-size:10px;color:#a4a8b5;font-weight:450;text-align:left;padding:14px 16px;border-bottom:1px solid #ebedf2;background:#fbfbfd}.list-table td{padding:15px 16px;border-bottom:1px solid #f0f1f5;font-size:11px;color:#9195a2}.list-table tr:last-child td{border-bottom:0}.list-table tbody tr{cursor:pointer}.list-table tbody tr:hover{background:#faf8ff}.list-table td:first-child{color:#656875}.table-node-title{display:flex;align-items:center;gap:9px;font-weight:500;overflow:hidden}.table-node-title span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table-node-title .icon{width:13px;height:13px;color:#c79281}.table-work{font-size:9px;display:flex;gap:5px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;color:#a1a6b2}.table-dot{width:5px;height:5px;border-radius:50%;background:var(--work-color)}.status-pill{display:inline-flex;align-items:center;gap:4px;font-size:9px;padding:4px 7px;border-radius:4px;color:#a4a7b2;background:#f1f2f6}.status-pill.done{background:#eef5f1;color:#85a28f}.status-pill.doing{background:#f1ecf8;color:#a08ac0}.task-time{font-size:10px;color:#aba6b4}.task-time.overdue{color:#c89180}.empty-state{text-align:center;padding:64px 20px 70px;border:1px dashed #dbdbe8;border-radius:12px;background:#ffffff77}.empty-state>.icon{width:35px;height:35px;color:#b6a8ce;margin-bottom:16px;stroke-width:1.2}.empty-state h3{font-size:15px;color:#7e788b;font-weight:500}.empty-state p{font-size:11px;color:#a7a3b0;margin:9px 0 20px;line-height:1.8}.today-banner{display:flex;align-items:center;justify-content:space-between;padding:16px 19px;background:#efecf7;border:1px solid #e5dff0;border-radius:9px;margin-bottom:19px}.today-banner strong{font-size:13px;font-weight:500;color:#8f7dac}.today-banner p{font-size:10px;color:#afa0c1;margin-top:5px}.today-banner .icon{width:24px;height:24px;color:#b2a1c9;stroke-width:1.2}.list-section-title{font-size:11px;font-weight:550;color:#92919f;margin:22px 0 10px;display:flex;gap:7px;align-items:center}.help-section{font-size:11px;color:#9693a2;line-height:1.9;margin-bottom:20px}.help-section strong{display:block;color:#7e768c;font-size:12px;font-weight:550;margin-bottom:5px}.shortcut-line{display:flex;justify-content:space-between;border-bottom:1px solid #f0eef5;padding:8px 0;color:#92909d;font-size:11px}.shortcut-line kbd{min-width:24px;justify-content:center}.data-actions{display:flex;gap:8px;margin-top:17px}.mobile-toggle{display:none}.mobile-backdrop{display:none}.form-error{font-size:10px;color:#c07e71;margin-top:6px}.tag-input-wrap{position:relative}.data-note{font-size:10px;color:#ada8b7;line-height:1.9;margin-top:13px}.brand-beta{font-size:8px!important}.breadcrumb-menu-icon{display:inline-flex}.task-checked td:first-child span.task-text{text-decoration:line-through;color:#abb0ba}.hint-saved{display:flex;align-items:center;gap:5px;color:#a2a7b3;font-size:9px}.hint-saved .icon{width:11px;height:11px}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}@keyframes slideIn{from{transform:translateX(35px);opacity:0}to{transform:none;opacity:1}}@keyframes toastIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(min-width:1650px){.main{padding:37px 46px 45px}.topbar{padding:0 46px}.node-card{font-size:14px}.page-heading{margin-bottom:34px}}
@media(max-width:1180px){:root{--side:202px}.sidebar{padding-left:12px;padding-right:12px}.brand{padding-left:8px;gap:7px}.brand-name{font-size:21px}.brand sup{font-size:7px}.main{padding:25px 25px}.topbar{padding:0 25px}.metrics{gap:15px}.heading-right{gap:18px}.work-progress{display:none}.work-node-count{display:none}}
@media(max-width:930px){:root{--side:184px}.brand-name{font-size:19px}.brand-mark{width:26px}.brand sup{display:none}.sidebar{padding:26px 10px 16px}.metrics{display:none}.heading-divider{display:none}.work-header{padding:0 12px;gap:7px}.tags-inline{max-width:145px}.work-name{max-width:195px}.viewbar{gap:8px}.tabs{gap:16px}.search{width:180px}.search input{width:100px}.top-actions{gap:8px}.main{padding:24px 20px}.topbar{padding:0 20px}.view-button span{display:none}.view-button{padding:5px 8px}}
@media(max-width:700px){:root{--side:0px}.sidebar{width:226px;transform:translateX(-100%);transition:transform .2s;z-index:50}.sidebar.open{transform:none}.brand sup{display:block}.brand-name{font-size:23px}.brand-mark{width:30px}.mobile-backdrop.open{display:block;position:fixed;inset:0;background:#25253540;z-index:45}.mobile-toggle{display:flex}.topbar{height:59px;padding:0 16px;gap:10px}.breadcrumbs{gap:6px;font-size:10px}.breadcrumbs>.workspace-crumb,.breadcrumbs>.crumb-slash{display:none}.top-actions{gap:6px}.search{width:151px;height:30px}.search input{width:90px;font-size:10px}.search kbd{display:none}.top-separator,.avatar{display:none}.top-actions>.icon-btn{display:none}.main{padding:25px 16px}.page-heading{margin-bottom:23px;gap:12px}h1{font-size:24px}.eyebrow{font-size:8px}.page-subtitle{font-size:10px;max-width:195px;line-height:1.8}.heading-right .button{padding:9px 11px;font-size:10px}.heading-right kbd{display:none}.viewbar{margin-bottom:15px}.tabs{gap:17px}.tab{font-size:10px}.view-controls{gap:4px}.board-note{font-size:8px}.legend{gap:9px}.board-note-left>span{max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-header{height:59px;padding:0 10px;gap:6px}.work-symbol{width:25px;height:25px}.work-name{max-width:165px;font-size:12px}.work-header .tags-inline,.work-node-count{display:none}.add-node-header{font-size:0;border:0;padding:5px}.add-node-header .icon{width:15px;height:15px}.work-header-end{gap:0}.work-header .chevron{width:15px}.graph-scroll{scroll-snap-type:x proximity}.node-card{scroll-snap-align:center}.list-table th,.list-table td{padding:12px 10px}.list-table .optional-col{display:none}.list-table .time-col{width:105px!important}.list-table .status-col{width:71px!important}.list-table .title-col{width:auto!important}.list-table .work-col{display:none}.toast-stack{left:50%;bottom:18px}.modal{border-radius:12px}.overlay{padding:15px}.modal-header{padding:21px 21px 0}.modal-body{padding:20px 21px}.drawer{width:100%}.drawer-body{padding:23px}.title-symbol{display:none}.filter-chip{max-width:90px;font-size:9px}.board-footer{font-size:8px}.today-banner{padding:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* --- simplified refinement override --- */
.space-caption,.section-label,.sidebar-note,.board-note,.board-footer,.eyebrow,.page-subtitle,.heading-divider,.metrics,.title-symbol,.workspace-crumb,.crumb-slash,.breadcrumb-menu-icon,#top-help,#bottom-help,.search kbd,.view-button .icon,.filter-chip .icon,.nav-item .icon,.tag-dot,.drawer-kicker,.small-count,.field-hint,.parent-reference .icon,.section-title .icon,.add-record .icon{display:none!important}
.side-bottom{padding-top:12px}.sidebar-tags{margin-top:14px}.local-status{padding:8px 10px 0;font-size:11px;color:#8f94a0}.topbar{height:60px;padding:0 28px}.breadcrumbs{font-size:13px;color:#6f7480}.main{padding:24px 28px 32px}.page-heading{margin-bottom:14px;align-items:center}.heading-right{gap:0}.page-heading h1{font-size:28px;letter-spacing:-.6px}.work-header{height:56px;padding:0 16px}.work-symbol{width:8px;height:8px;border-radius:999px;background:var(--work-color)}.work-symbol .icon{display:none}.work-name{max-width:320px}.work-node-count{font-size:11px;color:#979baa}.progress-track{height:5px}.add-node-header{padding:0 11px;height:30px}.viewbar{margin-bottom:14px}.nav-item{gap:0;padding:10px 13px}.tag-nav{gap:8px}.filter-chip{gap:6px}.view-button{gap:0;padding:0 12px}#collapse-all{width:auto;padding:0 10px;border-radius:8px;border:1px solid #e7e9ef;background:#fff;font-size:12px;color:#6d7280}.node-card{padding:15px 14px 13px}.node-top{margin-bottom:10px}.node-title{align-items:flex-start;gap:6px}.node-note{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;height:auto;min-height:0;line-height:1.55;margin:0}.node-footer{justify-content:flex-end;border-top:0;margin-top:10px;height:auto;padding-top:0}.next-action{display:none!important}.node-todo{font-size:11px;gap:5px}.node-todo .icon{display:none}.node-urgent-badge,.tiny-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:#faf0ec;color:#bd7f6d;font-size:10px;font-weight:600;white-space:nowrap}.drawer-top{padding:16px 22px}.drawer-body{padding:22px}.drawer-breadcrumb{font-size:12px}.node-title-input{font-size:20px;margin-bottom:14px}.parent-reference{font-size:11px;margin-bottom:14px;background:#f8f6fb;color:#8f84aa;padding:8px 10px}.section-title{margin-bottom:10px}.section-title-left{gap:0}.form-textarea{min-height:96px}.next-input{min-height:84px}.record{padding:10px}.record-top{gap:10px}.record-date{padding-left:21px}.today-banner{padding:18px 20px}.today-banner .icon{display:none}.empty-state p{max-width:420px}.empty-state .icon{display:none}.new-work-slot .icon,.work-empty .icon,.work-empty .button .icon{display:none}.work-empty{gap:12px}.table-node-title{gap:8px}.table-node-title .icon{display:none}.menu button .icon{display:none}.status-choice .icon,.urgent-switch .icon,.button .icon,.drawer-footer .icon-btn .icon{display:none}.status-choice,.urgent-switch{gap:0}.button.primary,.button.ghost,.button.secondary,.button.danger{gap:0}


/* Each Work owns its view; the workspace only filters Works. */
#view-toggle{display:none!important}
.tag .icon,.branch-label .icon,.modal-lead{display:none!important}
.work-header{min-height:58px;height:auto;gap:10px;padding:12px 16px;flex-wrap:wrap}
.work-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.work-identity .work-name{min-width:0;max-width:280px;padding:0;flex-shrink:1}
.work-identity .work-symbol{width:7px;height:7px;flex:0 0 7px}
.work-identity .tags-inline{flex-shrink:0}
.work-header-end{gap:9px;flex-shrink:0;margin-left:auto}
.work-view-switch{display:inline-flex;gap:2px;border:1px solid #ececf2;border-radius:6px;padding:2px;background:#f5f5f8;flex-shrink:0}
.work-view-button{display:flex;align-items:center;justify-content:center;min-height:26px;padding:3px 10px;border-radius:4px;color:#9696a4;font-size:11px;white-space:nowrap}
.work-view-button[aria-pressed=true]{background:white;color:#655984;box-shadow:0 1px 3px #25243b0d;font-weight:550}
.work-view-button:hover{color:#655984;background:#ffffff91}
.work-fullscreen,.add-node-header{display:inline-flex;align-items:center;justify-content:center;height:31px;padding:0 10px;border:1px solid #e9e9f0;border-radius:6px;background:#fff;font-size:11px;white-space:nowrap;color:#757887}
.work-fullscreen:hover{background:#f7f5fb;color:#7863b0;border-color:#d6cde6}
.work-node-count{margin-left:0;font-size:10px}
.work-list-wrap{overflow:auto;scrollbar-width:thin}
.work-node-list{border:0;border-radius:0;width:100%;min-width:0}
.work-node-list th{padding:13px 20px;font-size:11px;color:#9496a2;background:#fcfcfe}
.work-node-list td{padding:16px 20px;font-size:12px;color:#777b89;vertical-align:middle}
.work-node-list .node-list-title{width:auto}
.work-node-list .node-list-date{width:222px}
.work-node-list .node-list-status{width:103px}
.work-node-list .node-list-todo{width:83px;text-align:center}
.work-node-list .node-list-action{width:76px;text-align:right;padding-left:8px}
.work-node-list .table-node-title{font-size:13px;font-weight:500;color:#414550;gap:8px}
.work-node-list .task-time{font-size:11px;color:#8e909d;white-space:nowrap}
.work-node-list .status-pill{font-size:10px}
.work-node-list .tiny-badge{font-size:9px;flex-shrink:0}
.node-list-branch{font-size:10px;color:#a497b4;flex-shrink:0}
.node-list-open{padding:5px 7px;color:#8a76b1;font-size:11px;border-radius:5px;white-space:nowrap}
.node-list-open:hover{background:#f0ecf7;color:#725d9a}
.mobile-node-dates{display:none}
.work-empty{font-size:12px}
.node-card{overflow:visible}
.node-footer{position:absolute;bottom:12px;right:14px;left:14px;margin:0}
.node-note{-webkit-line-clamp:2;padding-right:0;max-height:35px}
#bottom-help{display:inline-flex!important;width:auto;font-size:11px;padding:0 6px}
#bottom-help .icon{display:none}
.drawer-footer .button.danger-text{color:#b4776b}
body.focus-open{overflow:hidden!important}
body.focus-open .toast-stack{left:50%}
.focus-work{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;background:#fcfcfe;min-height:0;outline:none}
.focus-header{display:flex;align-items:center;gap:20px;padding:17px 28px;min-height:72px;border-bottom:1px solid var(--line);background:white;flex-shrink:0}
.focus-heading{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.focus-heading .work-symbol{width:8px;height:8px;flex-shrink:0}
.focus-title{font-size:18px;font-weight:600;color:#383943;letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.focus-count{font-size:11px;color:#a1a3ae;flex-shrink:0}
.focus-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.focus-exit{color:#686372;padding:6px 11px;min-height:32px;border:1px solid #e2dee9;border-radius:6px;background:#fff;font-size:11px;white-space:nowrap}
.focus-exit:hover{color:#5c4c7b;background:#f5f2fa}
.focus-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}
.focus-main>.graph-scroll{flex:1;min-width:0;min-height:0;overflow:auto;scroll-snap-type:none;overscroll-behavior:contain;touch-action:pan-x pan-y;background-size:18px 18px;cursor:grab;scrollbar-color:#d9d3e4 transparent}
.focus-main>.graph-scroll.is-panning{cursor:grabbing;user-select:none}
.focus-stage{position:relative;overflow:hidden;min-width:100%;min-height:100%}
.focus-stage>.thread-graph{position:absolute;min-width:0;transform-origin:0 0;will-change:transform}
.focus-main>.work-list-wrap{flex:1;background:#fff;min-height:0}
.focus-main .work-node-list thead th{position:sticky;top:0;z-index:2}
.focus-main .work-node-list .node-list-date{width:26%}
.focus-main .work-node-list .node-list-status{width:15%}
.focus-main .work-node-list .node-list-todo{width:12%}
.focus-main .work-node-list th,.focus-main .work-node-list td{padding-top:18px;padding-bottom:18px}
.focus-main .work-empty{flex:1;min-height:260px;background-image:radial-gradient(#d6d8e05e .7px,transparent .7px);background-size:18px 18px}
.focus-tools{position:absolute;right:24px;bottom:24px;display:flex;gap:2px;align-items:center;background:#fff;border:1px solid #e5e2ec;border-radius:8px;padding:4px;box-shadow:0 3px 15px #3c31490a;z-index:5}
.focus-tools button{min-width:31px;height:30px;border-radius:5px;color:#81778e;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.focus-tools button:hover{background:#f3f0f8;color:#6c578d}
.focus-tools .zoom-value{min-width:53px;font-size:11px;font-variant-numeric:tabular-nums}
.focus-tools .fit-canvas{font-size:11px;padding:0 11px;margin-left:4px;border-left:1px solid #eeebf1;border-radius:0 5px 5px 0}
.focus-work .node-card{transition:border-color .15s,box-shadow .15s}
.focus-work .node-card:hover,.focus-work .node-card:focus-visible{transform:none}
.focus-work .work-view-switch{background:#f5f5f8}
@media(max-width:1180px){.work-identity .tags-inline{display:none}.work-identity .work-name{max-width:240px}}
@media(max-width:930px){.work-header{padding:11px 12px;gap:9px}.work-header-end{gap:6px}.work-view-button{padding:3px 8px}.work-fullscreen,.add-node-header{padding:0 9px}.work-node-list .node-list-date{width:186px}.work-node-list .node-list-todo{display:none}.work-node-list .node-list-status{width:86px}.work-node-list th,.work-node-list td{padding:14px 14px}.work-node-list .node-list-action{width:60px}.focus-heading .tags-inline{display:none}}
@media(max-width:700px){.main{padding:22px 16px 28px}.topbar{padding:0 16px}.page-heading h1{font-size:25px}.work-header{padding:12px;gap:10px}.work-identity{flex:1 1 145px}.work-identity .work-name{font-size:13px;max-width:100%}.work-header>.chevron{flex-shrink:0}.work-header-end{width:100%;padding-left:24px;gap:8px;justify-content:flex-end}.work-header-end .work-view-switch{margin-right:auto}.work-header-end .icon-btn{width:22px}.work-view-button{font-size:11px;padding:3px 9px}.work-fullscreen,.add-node-header{font-size:11px;padding:0 9px;border:1px solid #e9e9f0}.work-node-list .node-list-date{display:none}.work-node-list .node-list-status{width:84px}.work-node-list .node-list-action{width:61px}.work-node-list .table-node-title{font-size:12px;gap:5px;flex-wrap:wrap}.work-node-list .tiny-badge{font-size:8px;height:17px;padding:0 6px}.mobile-node-dates{display:block;font-size:10px;color:#a3a2af;margin-top:7px}.work-node-list th,.work-node-list td{padding:13px 12px}.work-node-list .node-list-todo{display:none}.focus-header{padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px 10px}.focus-heading{gap:9px;grid-column:1;grid-row:1}.focus-title{font-size:16px}.focus-heading .focus-count{display:none}.focus-actions{display:contents}.focus-header .focus-exit{grid-column:2;grid-row:1}.focus-header .work-view-switch{grid-column:1;grid-row:2;justify-self:start}.focus-header .add-node-header{grid-column:2;grid-row:2}.focus-tools{right:16px;bottom:16px}.focus-main .work-node-list .node-list-status{width:84px}.focus-main .work-node-list .node-list-date{display:none}.focus-main .work-node-list .node-list-todo{display:none}}
@media(prefers-reduced-motion:reduce){.focus-stage>.thread-graph{will-change:auto}}

/* Shared type hierarchy: titles, content, controls, then supporting metadata. */
body{font-size:var(--text-body);font-weight:var(--weight-regular)}
.page-heading h1{font-size:var(--text-page);font-weight:var(--weight-semibold);letter-spacing:-.6px}
.brand-name{font-weight:var(--weight-bold)}
.work-name,.work-identity .work-name{font-size:var(--text-work);font-weight:var(--weight-semibold);color:var(--ink)}
.focus-title{font-size:18px;font-weight:var(--weight-semibold);color:var(--ink)}
.modal-title,.node-title-input{font-size:var(--text-panel);font-weight:var(--weight-semibold);color:var(--ink);letter-spacing:-.3px}
.node-title,.work-node-list .table-node-title{font-size:var(--text-card);font-weight:var(--weight-semibold);color:var(--ink)}
.form-input,.form-textarea,.form-select,.record-text{font-size:var(--text-control);font-weight:var(--weight-regular);color:var(--ink);line-height:1.65}
.form-input::placeholder,.form-textarea::placeholder,.node-title-input::placeholder,.inline-node-title::placeholder,.inline-node-note::placeholder{color:var(--muted)}
.field-label{font-size:var(--text-meta);font-weight:var(--weight-medium);color:var(--secondary)}
.section-title,.section-title-left{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--ink)}
.button,.drawer-footer .button,.work-view-button,.work-fullscreen,.add-node-header,.focus-exit,.add-record,.node-list-open,.status-choice,.urgent-switch{font-size:var(--text-meta);font-weight:var(--weight-medium)}
.status-choice,.urgent-switch{min-height:30px;padding:5px 10px}
.button{min-height:36px}
.nav-item,.tag-nav{font-size:var(--text-body)}
.tag{font-size:var(--text-caption);font-weight:var(--weight-medium)}
.search input{font-size:var(--text-meta);color:var(--ink)}
.heading-right .button{font-size:var(--text-meta);font-weight:var(--weight-medium)}
.space-name,.breadcrumbs,.tab,.work-empty{font-size:var(--text-body)}
.work-node-count,.focus-count,.nav-item .nav-count,.tab-count,.tag-count,.local-status,.drawer-breadcrumb,.parent-reference,.drawer-empty-record,.list-table th,.table-work,.task-time,.mobile-node-dates,.form-error,.hint-saved,.data-note,.account-hint{font-size:var(--text-meta);font-weight:var(--weight-regular);color:var(--secondary)}
.work-node-list th,.work-node-list .task-time,.work-node-list .status-pill,.list-table td,.help-section,.shortcut-line,.toast{font-size:var(--text-meta);color:var(--secondary)}
.work-node-list .tiny-badge,.node-urgent-badge,.tiny-badge{font-size:var(--text-caption);font-weight:var(--weight-medium)}
.node-list-branch,.branch-label{font-size:var(--text-caption);font-weight:var(--weight-medium);color:#847398}
.help-section strong,.empty-state p{font-size:var(--text-body);color:var(--secondary)}
.today-banner strong{font-size:var(--text-card);font-weight:var(--weight-medium)}
.today-banner p{font-size:var(--text-meta);color:var(--secondary)}
.toast{color:#f5f2fa}
.form-error{color:#b25f51}
.small-count{display:inline!important;font-size:var(--text-meta);font-weight:var(--weight-regular);color:var(--secondary)}
kbd,.numeric{font-family:var(--font);font-variant-numeric:tabular-nums}

/* One stroke style and one calendar glyph for every date field. */
svg.icon,.icon-btn .icon,.record .icon-btn .icon,.graph-add .icon,.toast .icon{width:16px;height:16px;stroke-width:1.75}
.icon-btn{width:30px;height:30px}
.record .icon-btn{width:26px;height:26px}
.date-grid{gap:14px}
.date-control{position:relative;display:block;width:100%;min-width:0}
.date-control .form-input{position:relative;display:block;width:100%;min-width:0;min-height:38px;padding:8px 34px 8px 10px;font-family:var(--font);font-size:var(--text-meta);font-variant-numeric:tabular-nums;color:var(--ink);border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:none}
.date-control>.icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--secondary);pointer-events:none}
.date-control input::-webkit-calendar-picker-indicator{position:absolute;right:0;top:0;width:34px;height:100%;padding:0;margin:0;opacity:0;cursor:pointer}
.record-date{margin:8px 0 0 23px;padding:0;display:block;width:calc(100% - 23px)}
.record-date .date-control .form-input{font-size:var(--text-meta);min-height:34px;background:#fcfcfe}
.record-text{padding:3px 0;font-size:var(--text-body)}
.record.is-done .record-text{color:var(--muted)}
.add-record{padding:9px 0;color:#86709f}

/* Card dimensions and port positions come from the graph's shared layout. */
.node-card{width:var(--card-width,280px);height:var(--card-height,164px);padding:16px 16px 12px;cursor:default}
.node-card:hover,.node-card:focus-visible{transform:none}
.node-card.is-selected,.node-card.is-editing{border-color:#9981bd;box-shadow:0 0 0 3px #eee8f7;z-index:4;background:#fff}
.node-card.is-editing{z-index:5}
.node-handle{top:calc(var(--card-port,78px) - 4px)}
.node-top{height:16px;margin-bottom:11px}
.node-status,.node-time{font-size:var(--text-caption);font-weight:var(--weight-medium)}
.node-status{color:var(--secondary)}
.node-status.doing{color:#88709f}
.node-status.done{color:#608b77}
.node-time{font-weight:var(--weight-regular);color:var(--muted)}
.node-title{height:20px;line-height:20px;margin-bottom:8px;cursor:text}
.node-title-text{min-width:0}
.node-note{font-size:var(--text-meta);color:var(--secondary);line-height:1.55;max-height:38px}
.node-footer{bottom:11px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px}
.node-todo{font-size:var(--text-caption);color:var(--secondary);margin-left:auto;flex-shrink:0}
.node-card-actions,.inline-editor-actions{display:flex;align-items:center;gap:4px}
.node-card-actions{min-width:0}
.node-action-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%;color:var(--muted)}
.node-action-icon:hover,.node-action-icon:focus-visible,.node-action-icon.is-menu-open{background:#f3eef9;color:#675080}
.node-action-icon .icon{display:block;width:16px;height:16px;stroke-width:1.75}
.node-actions-menu{width:184px;padding:5px;border-radius:10px;box-shadow:0 6px 24px #30253d18}
.node-actions-menu button{min-height:34px;padding:7px 9px;gap:9px;font-size:var(--text-meta);font-weight:var(--weight-medium);color:var(--secondary);border-radius:6px}
.node-actions-menu button .icon{display:block;width:16px;height:16px;stroke-width:1.75}
.node-actions-menu button:hover,.node-actions-menu button:focus-visible{background:#f3eef9;color:#675080}
.node-actions-menu button.danger{color:#c6796e}
.node-actions-menu button.danger:hover,.node-actions-menu button.danger:focus-visible{background:#fcf0ed;color:#b46255}
.node-actions-menu kbd{margin-left:auto;padding:0;border:0;background:none;font-size:var(--text-caption);color:var(--muted)}
.inline-editor-actions button{font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:20px;border-radius:4px;padding:2px 4px;color:#826b9c;white-space:nowrap}
.inline-editor-actions button:hover{background:#f3eef9;color:#675080}
.inline-editor-actions button[data-action=inline-save]{background:#f1ebf8;color:#765a99;padding:2px 8px}
.inline-key-hint{font-size:var(--text-caption);color:var(--muted)}
.inline-node-title{display:block;width:100%;height:27px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 5px;margin:0 0 6px;font-size:var(--text-card);font-weight:var(--weight-semibold);color:var(--ink);background:transparent;box-shadow:none!important}
.inline-node-note{display:block;width:100%;height:45px;min-height:0;resize:none;border:0;border-radius:4px;padding:2px 0;font-size:var(--text-meta);line-height:1.55;color:var(--secondary);background:transparent;box-shadow:none!important}
.inline-node-note:focus{background:#fcfaff}
.graph-add{width:30px;height:30px;color:#9a87b2}
.focus-tools .zoom-value,.focus-tools .fit-canvas{font-size:var(--text-meta)}
@media(max-width:700px){
  .page-heading h1{font-size:25px}
  .focus-title{font-size:16px}
  .work-header-end{gap:6px;padding-left:0}
  .work-view-button,.work-fullscreen,.add-node-header{font-size:var(--text-meta);padding-left:8px;padding-right:8px}
  .work-identity .work-name{font-size:var(--text-work)}
  .work-node-list .table-node-title{font-size:var(--text-body)}
  .drawer-body{padding:22px 20px}
  .date-grid{grid-template-columns:1fr}
  .date-control .form-input{font-size:var(--text-body)}
  .drawer-footer{padding:14px 16px}
  .drawer-footer .button{padding-left:9px;padding-right:9px}
}
