:root{color-scheme:light;--accent: #6366F1;--accent-rgb: 99, 102, 241;--accent-ink: #4F46E5;--accent-on: #ffffff;--accent-soft: rgba(var(--accent-rgb), .1);--accent-muted: rgba(var(--accent-rgb), .18);--green: #15803d;--green-soft: rgba(21, 128, 61, .1);--red: #c0272d;--red-soft: rgba(192, 39, 45, .1);--red-border: rgba(192, 39, 45, .35);--orange: #b45309;--orange-soft: rgba(180, 83, 9, .12);--yellow-soft: rgba(234, 179, 8, .25);--blue: #2563eb;--blue-soft: rgba(37, 99, 235, .1);--blue-border: rgba(37, 99, 235, .35);--bg: #eef0f3;--bg-elev: #f7f8fa;--surface-translucent: rgba(247, 248, 250, .82);--card: #ffffff;--card-2: #eef0f3;--border: #e0e4ea;--text: #12151b;--text-dim: #5b6472;--text-faint: #8b93a1;--radius: 16px;--radius-sm: 10px;--shadow: 0 6px 24px rgba(20, 24, 34, .12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--hover-tint: rgba(20, 24, 34, .05);--navy: #08191D;--navy-2: #0E242A;--nav-accent: var(--accent);--nav-rgb: var(--accent-rgb);--sidebar-w: 256px;--sidebar-w-compact: 72px;--item-h: 44px;--header-h: 64px;--topbar-h: 56px;--tabbar-h: 64px;--content-max: 1560px}:root[data-theme=dark]{color-scheme:dark;--accent: #6366F1;--accent-rgb: 99, 102, 241;--accent-ink: #818CF8;--accent-on: #ffffff;--accent-soft: rgba(var(--accent-rgb), .1);--accent-muted: rgba(var(--accent-rgb), .18);--green: #2bad4a;--green-soft: rgba(43, 173, 74, .15);--red: #e5484d;--red-soft: rgba(229, 72, 77, .15);--red-border: rgba(229, 72, 77, .4);--orange: #f5a524;--orange-soft: rgba(245, 165, 36, .15);--yellow-soft: rgba(250, 204, 21, .22);--blue: #60a5fa;--blue-soft: rgba(96, 165, 250, .15);--blue-border: rgba(96, 165, 250, .4);--bg: #0e1116;--bg-elev: #161b22;--surface-translucent: rgba(14, 17, 22, .88);--card: #1a2029;--card-2: #212936;--border: #262d38;--text: #e6edf3;--text-dim: #9aa7b4;--text-faint: #667080;--shadow: 0 6px 24px rgba(0, 0, 0, .35);--hover-tint: rgba(255, 255, 255, .04)}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow-x:clip;overscroll-behavior-x:none}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}a{color:var(--accent-ink);text-decoration:none;cursor:pointer}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:15px;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=color]{padding:2px;height:38px}input[type=checkbox]{width:auto}label{font-size:13px;color:var(--text-dim);display:block;margin-bottom:6px}.mono{font-variant-numeric:tabular-nums}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.hint{font-size:12px;color:var(--text-faint);margin:6px 0 0;line-height:1.45}.accent{color:var(--accent-ink)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strike{text-decoration:line-through;opacity:.55}.app-shell{min-height:100%;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.3px}.brand .mark{color:var(--accent-ink)}.brand img{width:22px;height:22px;border-radius:6px;display:block}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;background:transparent;color:var(--text-dim);border-radius:9px}.icon-btn:before{content:"";position:absolute;top:-6px;right:-4px;bottom:-6px;left:-4px}.icon-btn:hover{background:var(--hover-tint);color:var(--text)}.icon-btn.on{color:var(--accent-ink)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{background:none}.home-btn img{width:20px;height:20px;border-radius:6px;display:block}.profile-chip{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--accent-on);border:none;background:var(--accent)}.content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:16px}.mobile-header{position:sticky;top:0;z-index:20;height:var(--topbar-h);flex:0 0 var(--topbar-h);display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--surface-translucent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.tabbar{position:sticky;bottom:0;z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));flex:0 0 auto;display:flex;justify-content:space-around;align-items:center;background:var(--surface-translucent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:0 4px env(safe-area-inset-bottom)}.tabbar a{position:relative;flex:1;text-align:center;color:var(--text-faint);font-size:11px;padding:4px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:3px}.tabbar a:before{content:"";position:absolute;top:-6px;right:2px;bottom:-6px;left:2px}.tabbar a.active{color:var(--accent-ink);font-weight:600}.tabbar .ico{width:21px;height:21px}.sidebar{display:none}.sidebar-head{height:var(--header-h);flex:0 0 var(--header-h);display:flex;align-items:center;gap:8px;padding:0 12px 0 20px}.sidebar-brand{display:flex;align-items:center;gap:8px;min-width:0;color:#fff;font-weight:600;font-size:14.5px;letter-spacing:-.01em}.sidebar-brand img{border-radius:6px;display:block;flex-shrink:0}.sidebar-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapse-btn{margin-left:auto;width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);color:#ffffff80;cursor:pointer}.sidebar-collapse-btn:hover{background:#ffffff14;color:#fff}.sidebar-nav{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:4px 0 12px}.sidebar-nav a,.sidebar-link{position:relative;height:var(--item-h);flex-shrink:0;display:flex;align-items:center;gap:12px;margin:1px 8px;padding:0 10px;width:calc(100% - 16px);border:none;background:none;text-align:left;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:13.5px;font-weight:500;line-height:1.2;color:#ffffffa8;text-decoration:none}.sidebar-nav a .ico,.sidebar-link .ico{width:18px;height:18px;flex:0 0 18px;color:#ffffffb8}.sidebar-nav a>span:not(.rail-tip),.sidebar-link>span:not(.rail-tip){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav a:hover,.sidebar-link:hover{background:#ffffff0f;color:#fff}.sidebar-nav a.active{background:rgba(var(--nav-rgb),.14);color:#fff;font-weight:600}.sidebar-nav a.active .ico{color:var(--nav-accent)}.sidebar-nav a.active:before{content:"";position:absolute;left:-8px;top:11px;bottom:11px;width:2px;border-radius:0 2px 2px 0;background:var(--nav-accent)}.sidebar-link.system{color:#ffffffc7}.sidebar-link .meta{margin-left:auto;font-family:monospace;font-size:11px;color:#ffffff6b}.sidebar-group-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffff57;padding:12px 20px 4px;white-space:nowrap}.sidebar-foot{margin-top:auto;flex-shrink:0;padding:8px 0 12px;border-top:1px solid rgba(255,255,255,.07)}.sidebar-utils{display:flex;gap:6px;padding:0 8px 8px}.sidebar-utils>*{flex:1 1 0;min-width:0}.sidebar-utils .icon-btn{flex:1 1 0;min-width:0;width:auto;height:var(--item-h);padding:0;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-sm);background:#ffffff0a;color:#ffffffa8;font-size:12.5px;font-weight:500}.sidebar-utils .icon-btn:hover{background:#ffffff1a;color:#fff}.sidebar-utils .icon-btn.on{color:var(--nav-accent)}.sidebar-utils .icon-btn:before{content:none}.icon-btn .label{display:none}.sidebar-link.ecosystem{margin-top:10px;color:#ffffffc7}.sidebar-link.ecosystem:after{content:"";position:absolute;left:-8px;right:-8px;top:-6px;border-top:1px solid rgba(255,255,255,.07)}.sidebar-duknust-mark{width:18px;height:18px;flex-shrink:0;border-radius:4px;display:block}.rail-tip{display:none}.sidebar.collapsed .sidebar-brand span,.sidebar.collapsed .sidebar-link>span:not(.rail-tip),.sidebar.collapsed .sidebar-nav a>span:not(.rail-tip),.sidebar.collapsed .sidebar-link .meta{display:none}.sidebar.collapsed .sidebar-head{padding:0;justify-content:center}.sidebar.collapsed .sidebar-collapse-btn{margin:0 auto 4px}.sidebar.collapsed .sidebar-nav a,.sidebar.collapsed .sidebar-link{justify-content:center;padding:0;margin:1px 12px;width:48px}.sidebar.collapsed .sidebar-group-label{opacity:0;height:10px;padding:0;overflow:hidden}.sidebar.collapsed .sidebar-utils{flex-direction:column;align-items:center;padding:0 0 8px}.sidebar.collapsed .sidebar-utils>*,.sidebar.collapsed .sidebar-utils .icon-btn{flex:0 0 auto;width:48px}.sidebar.collapsed .sidebar-utils .icon-btn .label{display:none}.switch-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#08191d47}.switch-popover{position:fixed;z-index:90;left:calc(var(--sidebar-w) + 12px);bottom:20px;width:min(380px,calc(100vw - var(--sidebar-w) - 32px));background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.app-shell.sidebar-collapsed .switch-popover{left:calc(var(--sidebar-w-compact) + 12px);width:min(380px,calc(100vw - var(--sidebar-w-compact) - 32px))}.switch-sheet{position:fixed;z-index:90;left:0;right:0;bottom:0;max-height:82vh;overflow-y:auto;background:var(--card);border-top:1px solid var(--border);border-radius:14px 14px 0 0;box-shadow:var(--shadow);padding-bottom:env(safe-area-inset-bottom)}.sheet-grab{width:34px;height:4px;border-radius:2px;background:var(--border);margin:10px auto 2px}.switch-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px}.switch-list{padding:0 4px 4px}.switch-row{display:flex;align-items:center;gap:12px;min-height:var(--item-h);padding:8px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none}.switch-row:hover,.switch-row:focus-visible{background:var(--hover-tint)}.switch-mark{flex:0 0 28px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(var(--xapp-rgb),.14);color:var(--xapp);font-family:monospace;font-size:11px;font-weight:700}.switch-mark img{width:18px;height:18px;border-radius:3px;display:block}.duknust-mark{background:var(--card-2)}.switch-text{min-width:0;flex:1}.switch-name{display:block;font-size:13px;font-weight:600}.switch-tag{display:block;font-size:11.5px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switch-end{flex-shrink:0;color:var(--accent-ink)}.switch-end.dim{color:var(--text-faint)}.switch-row.duknust{margin-top:4px;border-top:1px solid var(--border);border-radius:0}.switch-foot{display:flex;align-items:center;gap:12px;padding:8px 12px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-faint)}.switch-foot .grow-right{margin-left:auto}.kbd{font-family:monospace;font-size:10.5px;padding:2px 5px;border-radius:4px;border:1px solid var(--border);background:var(--card-2);color:var(--text-faint)}.cmdk-popover{position:fixed;z-index:90;top:12vh;left:50%;transform:translate(-50%);width:min(640px,calc(100vw - 32px));max-height:70vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.cmdk-input-row{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:14px 16px;border-bottom:1px solid var(--border)}.cmdk-input-row .ico{color:var(--text-faint);flex-shrink:0}.cmdk-input-row input{flex:1;border:none;background:none;padding:0;font-size:15px}.cmdk-input-row input:focus{outline:none}.cmdk-results{overflow-y:auto;padding:6px}.cmdk-section-title{padding:10px 10px 4px}.cmdk-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:none;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text);cursor:pointer}.cmdk-row.active,.cmdk-row:hover{background:var(--hover-tint)}.cmdk-row .title{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-row .sub{display:block;font-size:12px;color:var(--text-dim)}.cmdk-row-mark{flex:0 0 22px;width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:rgba(var(--xapp-rgb),.14);color:var(--xapp);font-family:monospace;font-size:10px;font-weight:700}.cmdk-empty{padding:10px 14px;margin:0;font-size:13px;color:var(--text-faint)}.xapp-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 3px;border-radius:999px;background:rgba(var(--xapp-rgb),.1);border:1px solid rgba(var(--xapp-rgb),.22);color:var(--text);font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap}.xapp-badge:hover{background:rgba(var(--xapp-rgb),.18)}.xapp-mark{width:18px;height:18px;border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--xapp);color:#fff;font-family:monospace;font-size:9.5px;font-weight:700}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.card h2{margin:0 0 12px;font-size:16px}.card.flash{animation:card-flash 1.6s ease-out}@keyframes card-flash{0%{background:var(--accent-soft)}to{background:var(--card)}}.card-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);font-weight:600}.btn{position:relative;border:1px solid var(--border);background:var(--card-2);color:var(--text);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;font-weight:600;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.08)}.btn-danger{color:var(--red);border-color:var(--red-border);background:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover{color:var(--text);border-color:transparent}.btn-accent-soft{background:var(--accent-soft);border-color:var(--accent-muted);color:var(--accent-ink)}.btn-accent-soft:hover{background:var(--accent-muted);border-color:var(--accent)}.btn-sm{padding:6px 10px;font-size:13px}.btn-sm:before{content:"";position:absolute;top:-8px;right:2px;bottom:-8px;left:2px}.btn-block{width:100%;justify-content:center}.btn:disabled{opacity:.5;cursor:default}.chip{position:relative;border:1px solid var(--border);background:var(--card-2);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--text-dim);white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:5px}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.chip svg{flex-shrink:0}.chip:before{content:"";position:absolute;top:-8px;right:2px;bottom:-8px;left:2px}.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(to right,black calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 28px),transparent 100%)}.chip-row::-webkit-scrollbar{height:0}.board-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip.static{cursor:default}.chip.static:before{content:none}.chip.home{border-color:var(--accent);color:var(--text)}.chip-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);font-weight:600}.chip-x{border:0;background:none;padding:0 0 0 2px;margin:0;font-size:12px;line-height:1;color:var(--text-faint);cursor:pointer}.chip-x:hover{color:var(--text)}.chip-x:disabled{cursor:default;opacity:.5}.pill{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600}.pill.off{background:var(--card-2);color:var(--text-faint)}.pill.done{background:var(--green-soft);color:var(--green)}.pill.skipped{background:var(--card-2);color:var(--text-faint)}.pill.due{background:var(--accent-soft);color:var(--accent-ink)}.pill.followup{border:none;cursor:pointer;font:inherit;background:var(--accent-soft);color:var(--accent-ink)}.pill.followup:hover{background:var(--accent-muted)}.badge{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.segmented{display:flex;gap:4px;background:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}.segmented button{flex:1;border:none;background:transparent;color:var(--text-dim);font-size:13px;font-weight:600;padding:8px 6px;border-radius:7px}.segmented button.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px #0000001a}.headline{font-size:34px;font-weight:800;letter-spacing:-.5px}.list{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);width:100%;text-align:left}.row:last-child{border-bottom:none}.row.tappable{background:none;border-left:none;border-right:none;border-top:none;color:inherit}.row.tappable:hover{background:var(--hover-tint)}.grow{flex:1;min-width:0}.row .title{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .sub,.board-card .sub{display:block;font-size:12px;color:var(--text-dim)}.row .sub.quoted{margin-top:3px;color:var(--text-faint);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-icon{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-ink)}.dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.swatch{position:relative;width:30px;height:30px;border-radius:50%;padding:2px;flex-shrink:0;border:2px solid transparent;background:none}.swatch.active{border-color:var(--text)}.swatch:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.swatch-fill{display:block;width:100%;height:100%;border-radius:50%}.swatch-custom{position:relative;width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--border);border-radius:50%;cursor:pointer;color:var(--text-dim);background:var(--card-2)}.swatch-custom:hover{color:var(--text);border-color:var(--text-faint)}.swatch-custom input[type=color]{position:absolute;width:1px;height:1px;opacity:0;border:none;padding:0}.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:380px}.auth-card .brand{justify-content:center;font-size:22px;margin-bottom:4px}.auth-sub{text-align:center;color:var(--text-dim);margin-bottom:22px;font-size:14px}.field{margin-bottom:14px}.err{color:var(--red);font-size:13px;margin:8px 0;min-height:18px}.switch-auth{text-align:center;margin-top:16px;font-size:14px;color:var(--text-dim)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center}.modal-backdrop.centered{align-items:center;padding:16px}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;padding:18px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;position:sticky;top:-18px;background:var(--bg-elev);padding-top:4px;z-index:1}.modal-head h2{margin:0;font-size:18px}@media(min-width:640px){.modal-backdrop{align-items:center}.modal{border-radius:20px}}.search-field{position:relative;display:flex;align-items:center;margin-bottom:12px}.search-field>svg{position:absolute;left:11px;color:var(--text-faint);pointer-events:none}.search-field input{padding-left:34px;padding-right:34px}.search-field input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-field button{position:absolute;right:6px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-faint);border-radius:6px}.search-field button:hover{color:var(--text);background:var(--hover-tint)}.offline-banner{padding:8px 14px;background:var(--orange-soft);color:var(--orange);font-size:12.5px;line-height:1.45;text-align:center;border-bottom:1px solid var(--border)}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .17s ease}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-w-compact) minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;background:var(--navy);color:#ffffffa8;overflow:hidden}.mobile-header,.tabbar{display:none}.content{max-width:var(--content-max);padding:24px}.fab{bottom:28px}.rail-tip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--navy-2);color:#fff;font-size:12px;font-weight:500;padding:5px 9px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;z-index:60;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);transition:opacity .12s ease}.sidebar.collapsed,.sidebar.collapsed .sidebar-nav{overflow:visible}.sidebar.collapsed .rail-tip{display:block}.sidebar.collapsed .sidebar-link:hover .rail-tip,.sidebar.collapsed .sidebar-link:focus-visible .rail-tip,.sidebar.collapsed .sidebar-nav a:hover .rail-tip,.sidebar.collapsed .sidebar-nav a:focus-visible .rail-tip,.sidebar.collapsed .icon-btn:hover .rail-tip,.sidebar.collapsed .icon-btn:focus-visible .rail-tip{opacity:1}.sidebar-utils .icon-btn .label{display:inline}}@media(max-width:1023px){.mobile-header .icon-btn,.mobile-header .home-btn{width:var(--item-h);height:var(--item-h);border-radius:var(--radius)}.mobile-header .icon-btn:before{content:none}}.dash-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.dash-hero-main,.dash-hero-side{display:flex;flex-direction:column;gap:16px;min-width:0}.dash-hero-main .card,.dash-hero-side .card{margin-bottom:0}.dash-charts{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}.dash-charts .card{margin-bottom:0}@media(min-width:900px){.dash-hero{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr)}.dash-charts{grid-template-columns:repeat(2,minmax(0,1fr))}}.donut-row{display:flex;align-items:center;gap:18px}.donut{width:96px;height:96px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.donut-hole{width:56px;height:56px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.donut-legend{display:flex;flex-direction:column;gap:6px;font-size:13px}.donut-legend .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;flex-shrink:0}.bar-row{display:flex;flex-direction:column;gap:6px}.bar-row+.bar-row{margin-top:10px}.bar-row-head{display:flex;justify-content:space-between;gap:8px;font-size:13px}.bar-row-head .name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row-head .count{color:var(--text-dim);white-space:nowrap;flex-shrink:0}.bar-track{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--card-2)}.bar-track.thin{height:7px}.bar-track span{display:block;height:100%}.heatmap-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.heatmap-cell{aspect-ratio:1;border-radius:6px;background:var(--card-2)}.heatmap-cell.low{background:var(--accent-soft)}.heatmap-cell.high{background:var(--accent)}.heatmap-cell.overdue{background:var(--red)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.hr{height:1px;background:var(--border);margin:14px 0;border:none}.small{font-size:12px}.subcard{background:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.empty{text-align:center;color:var(--text-dim);padding:48px 16px}.empty .ico{display:flex;justify-content:center;margin-bottom:10px;color:var(--text-faint)}.empty .ico svg{width:38px;height:38px}.loading-screen{min-height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.fab{position:fixed;right:18px;bottom:calc(72px + env(safe-area-inset-bottom));width:54px;height:54px;border-radius:50%;background:var(--accent);color:var(--accent-on);border:none;font-size:26px;box-shadow:var(--shadow);z-index:30;display:flex;align-items:center;justify-content:center}.switch{display:inline-flex;align-items:center;gap:10px;margin-bottom:0}.switch input{width:auto;flex-shrink:0}.theme-switch{display:flex;gap:8px}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-2);color:var(--text-dim)}.theme-option.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.theme-swatch{width:100%;height:40px;border-radius:8px;border:1px solid var(--border);display:flex;overflow:hidden}.theme-swatch span{flex:1}.timeline{display:flex;flex-direction:column;gap:12px}.tl-day{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.tl-day.today{border-color:var(--accent);background:var(--accent-soft)}.tl-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.tl-head .d{font-weight:700;font-size:15px}.tl-head .w{font-size:12px;color:var(--text-dim)}.tl-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.tl-item:last-child{border-bottom:none}.tl-item .name{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-item.done .name{color:var(--text-dim)}.tl-actions{display:flex;gap:4px;flex-shrink:0}.tl-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--card-2);color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center}.tl-btn.on.check{background:var(--green-soft);border-color:var(--green);color:var(--green)}.tl-btn.on.skip{background:var(--card-2);border-color:var(--text-faint);color:var(--text)}.today-hero{display:flex;align-items:center;gap:14px}.progress{height:6px;border-radius:3px;background:var(--card-2);overflow:hidden;margin-top:8px}.progress span{display:block;height:100%;border-radius:3px;background:var(--accent)}.progress span.over{background:var(--red)}.kv{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:5px 0}.kv .k{color:var(--text-dim)}.kv .v{font-weight:600}:root[data-privacy=on] .chart,:root[data-privacy=on] .chart svg,:root[data-privacy=on] .sparkline,:root[data-privacy=on] [data-privacy-blur]{filter:blur(7px);pointer-events:none}@media(prefers-reduced-motion:reduce){:root[data-privacy=on] .chart,:root[data-privacy=on] .chart svg,:root[data-privacy=on] .sparkline,:root[data-privacy=on] [data-privacy-blur]{filter:blur(7px)}}.graph-stage{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;touch-action:none}.graph-stage svg{display:block;width:100%;height:auto}.graph-stage svg.drawing-area{cursor:crosshair}.garea{stroke-width:1.5;stroke-opacity:.6;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer}.garea-draw-line{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 4;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}.garea-draw-point{fill:var(--accent);stroke:var(--card);stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.garea-draw-point.first{fill:var(--card);stroke:var(--accent);stroke-width:2.5}.garea-label{font-size:13px;font-weight:600;text-anchor:middle;pointer-events:none}.garea-label.draggable{pointer-events:all;cursor:grab}.garea-label.dragging{cursor:grabbing}.gedge{stroke:var(--border);fill:none;vector-effect:non-scaling-stroke}.gedge-hit{stroke:transparent;stroke-width:14;fill:none;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}.gedge.blocks{stroke:var(--text-faint);stroke-width:1.6}.gedge.subtask-of{stroke:var(--text-faint);stroke-width:1.3;stroke-dasharray:5 4}.gedge.relates-to{stroke:var(--border);stroke-width:1.2;stroke-dasharray:1 5;stroke-linecap:round}.gedge.is_part_of{stroke:var(--text-faint);stroke-width:1.3;stroke-dasharray:5 4}.gedge.relates_to{stroke:var(--border);stroke-width:1.2;stroke-dasharray:1 5;stroke-linecap:round}.gedge.depends_on,.gedge.flows_to{stroke:var(--text-faint);stroke-width:1.4}.gedge.flows_to.medium{stroke-width:.6}.gedge.flows_to.light{stroke-width:.6;stroke-dasharray:5 4}.gedge-arrowhead.depends_on,.gedge-arrowhead.flows_to{fill:var(--text-faint)}.gedge.semantic{stroke:var(--blue-soft);stroke-width:.6}.gedge.spent{stroke:var(--border);stroke-width:1;stroke-dasharray:2 4}.gedge.matched,.gedge.flows_to.medium.matched,.gedge.flows_to.light.matched{stroke:var(--accent);stroke-width:2.4}.gnode{cursor:pointer}.gnode.draggable{cursor:grab}.gnode.draggable:active{cursor:grabbing}.gnode .body{stroke:var(--card);stroke-width:2;transition:r .12s ease}.gnode .body.unestimated{fill-opacity:.12;stroke:var(--text-faint)}.gnode.blocked .body{fill-opacity:.35;stroke:var(--text-faint);stroke-dasharray:3 3}.gnode.settled .body{fill-opacity:.22}.gnode.overdue .body{stroke:var(--red);stroke-width:2.5;stroke-dasharray:none}.gnode .ring{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.9}.gedge.critical{stroke:var(--text);stroke-width:2.6;stroke-dasharray:none;opacity:.55}.gnode.critical .body{fill-opacity:1}.gnode.critical.blocked .body{fill-opacity:.55}.gnode .sel{fill:none;stroke:var(--text);stroke-width:1.5;opacity:.75}.gnode .flow-current{fill:none;stroke:var(--red);stroke-width:2.5}.gnode:focus{outline:none}.gnode:focus-visible .body{stroke:var(--text)}.gnode.dimmed,.gedge.dimmed{opacity:.08;transition:opacity .15s ease}@media(prefers-reduced-motion:reduce){.gnode.dimmed,.gedge.dimmed{transition:none}}.gnode.secondary,.gedge.secondary{opacity:.4;transition:opacity .15s ease}@media(prefers-reduced-motion:reduce){.gnode.secondary,.gedge.secondary{transition:none}}.gnode .label{font-size:11px;fill:var(--text);paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;pointer-events:none;text-anchor:middle}.gnode.settled .label{fill:var(--text-faint)}.gnode .notemark{pointer-events:none}.gnode .notemark .halo{fill:var(--card);stroke:var(--border);stroke-width:1}.gnode .notemark path{fill:none;stroke:var(--text-dim);stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}.gnode .notemark .lines{stroke-width:1}.gnode.settled .notemark path{stroke:var(--text-faint)}.gnode .infomark{pointer-events:none}.gnode .infomark .halo{fill:var(--card);stroke:var(--border);stroke-width:1}.gnode .infomark .dot{fill:var(--text-dim);stroke:none}.gnode .infomark .stem{fill:none;stroke:var(--text-dim);stroke-width:1.6;stroke-linecap:round}.gnode .boardmark{pointer-events:none}.gnode .boardmark .halo{fill:var(--card);stroke:var(--border);stroke-width:1}.gnode .boardmark .back{fill:var(--text-faint);stroke:none}.gnode .boardmark .front{fill:var(--card);stroke:var(--text-dim);stroke-width:1.1}.gnode.settled .boardmark .back{fill:var(--border)}.gnode.settled .boardmark .front{stroke:var(--text-faint)}.gnode .checkmark{pointer-events:none}.gnode .checkmark .halo{fill:var(--card);stroke:var(--border);stroke-width:1}.gnode .checkmark .box{fill:none;stroke:var(--text-dim);stroke-width:1.3;stroke-linejoin:round}.gnode.settled .checkmark .box{stroke:var(--text-faint)}.gnode .foldmark{cursor:pointer}.gnode .foldmark .halo{fill:var(--card);stroke:var(--border);stroke-width:1;transition:stroke .12s ease}.gnode .foldmark:hover .halo{stroke:var(--text-dim)}.gnode .foldmark:focus{outline:none}.gnode .foldmark:focus-visible .halo{stroke:var(--text);stroke-width:1.6}.gnode .foldmark path{fill:none;stroke:var(--text-dim);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.gnode .foldmark .count{font-size:9px;font-weight:600;fill:var(--text-dim);text-anchor:middle;pointer-events:none;font-variant-numeric:tabular-nums}.gnode.folded .foldmark .halo{fill:var(--bg-elev);stroke:var(--text-dim)}.gnode.folded .foldmark .count{fill:var(--text)}.gnode.settled .foldmark path{stroke:var(--text-faint)}.gnode.settled .foldmark .count{fill:var(--text-faint)}.graph-empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:24px;text-align:center;color:var(--text-dim);font-size:14px}.link-bar{position:absolute;left:10px;bottom:10px;right:46px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-translucent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);font-size:13px}.link-bar .grow{flex:1;min-width:0}@media(hover:hover)and (pointer:fine){.link-bar{right:200px}}.link-bar.inline{position:static}.floating-panel{position:absolute;z-index:5;max-width:min(360px,calc(100% - 24px));padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-translucent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow);font-size:13px;cursor:grab}.floating-panel.dragging{cursor:grabbing}.floating-panel.static{cursor:default;pointer-events:none}.floating-panel.static button{pointer-events:auto}.floating-panel h2{margin:0;font-size:15px}.floating-panel .note-body{margin-top:8px;max-height:260px;overflow-y:auto}.graph-legend{position:absolute;left:10px;bottom:10px;font-size:11px;color:var(--text-faint);background:var(--surface-translucent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:3px 8px;border-radius:999px;border:1px solid var(--border)}.task-row{display:flex;align-items:flex-start;gap:10px}.task-row .swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0;margin-top:4px}.metric{font-variant-numeric:tabular-nums}.pill.blocked{background:var(--red-soft);color:var(--red);border-color:var(--red-border)}.pill.ready{background:var(--accent-soft);color:var(--accent-ink)}.pill.overdue{background:var(--red);color:#fff;border-color:var(--red)}.board-card{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);text-align:left;cursor:pointer}.board-card:hover{background:var(--hover-tint)}.board-card .rail{width:4px;align-self:stretch;border-radius:2px;flex-shrink:0}.board-card.archived{opacity:.55}.slider-row{display:flex;align-items:center;gap:12px}.slider-row input[type=range]{flex:1;accent-color:var(--accent)}.slider-row input[type=number]{flex:1}.slider-row .value{min-width:6.5em;text-align:right;font-size:13px;color:var(--text-dim)}.quick-add{margin-bottom:12px}.quick-add .row{display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card)}.quick-add .row:focus-within{border-color:var(--accent)}.quick-add .ico{color:var(--text-faint);flex-shrink:0}.quick-add input{flex:1;min-width:0;border:none;background:none;padding:12px 0;font-size:15px;color:var(--text)}.quick-add input:focus{outline:none;border:none}.quick-add .btn{margin:6px 0}.quick-add select{flex-shrink:0;max-width:192px;overflow:hidden;text-overflow:ellipsis;border:none;background:var(--card-2);color:var(--text-dim);font-size:12.5px;font-weight:600;padding:6px 8px;border-radius:6px}select.flow-quick-pick{flex:1;min-width:0;width:auto}button.flow-quick-pick{flex:1;min-width:0;display:flex;align-items:center;gap:8px;justify-content:flex-start;text-align:left}button.flow-quick-pick .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-sm{width:auto;flex-shrink:0;font-size:12.5px;font-weight:600;padding:6px 8px;border-radius:6px;background:var(--card-2);color:var(--text-dim)}.date-sm{width:150px;flex-shrink:0;padding:6px 8px;font-size:12.5px}.date-sm.due-today{background:var(--yellow-soft);border-color:transparent}.date-sm.overdue{background:var(--red-soft);border-color:var(--red-border)}.task-title-edit{display:block;width:100%;text-align:left;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:text}.task-title-edit:hover{text-decoration:underline;text-decoration-color:var(--border)}.task-tag{display:flex;align-items:center;gap:6px;flex-shrink:0}.task-tag input{width:110px;padding:6px 8px;font-size:12.5px;background:var(--card-2)}.task-tag .task-tag-date{font-size:11px;white-space:nowrap;flex-shrink:0}.loose-task-row{align-items:center;gap:12px;flex-wrap:wrap}.loose-task-row-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.loose-task-row-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}@media(max-width:480px){.loose-task-row-main{flex:1 1 100%}.loose-task-row-controls{flex:1 1 100%;margin-left:26px;width:calc(100% - 26px)}.task-tag input,.date-sm{flex:1;min-width:0;width:auto}}.link-note{display:block;width:100%;text-align:left;background:none;border:none;padding:0;cursor:text;font:inherit;font-size:12px;color:var(--text-dim)}.link-note:hover{color:var(--text)}.link-note strong{color:var(--text);font-weight:600}.notes{display:flex;flex-direction:column;gap:10px}.note{background:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.note textarea{margin:0}.note-body,.note-body-static{display:block;width:100%;text-align:left;background:none;border:none;padding:0;margin:0;font:inherit;font-size:14px;color:var(--text);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.note-body{cursor:text}.note-body:hover{color:var(--accent-ink)}.note-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.note-task{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;font-weight:600;color:var(--text);margin-bottom:5px}.note-task:hover{color:var(--accent-ink)}.note-composer{margin-top:10px}.note-composer textarea{margin:0}.note-row{color:inherit;text-decoration:none}.note-row .title{font-weight:700;font-size:15px}.note-page-layout{display:flex;flex-direction:column;gap:16px}.note-page-main,.note-page-comments{min-width:0}.note-page-rail{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;overscroll-behavior-x:contain}.note-page-rail::-webkit-scrollbar{height:0}.note-page-item{display:flex;align-items:center;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-2)}.note-page-item.active{background:var(--accent-soft);border-color:var(--accent)}.note-page-item-label{border:none;background:none;color:var(--text-dim);font-size:13px;font-weight:600;padding:8px 4px 8px 10px;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;text-align:left}.note-page-item.active .note-page-item-label{color:var(--text)}.note-page-item-star{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:4px;flex-shrink:0;border:none;background:none;color:var(--text-faint);border-radius:6px}.note-page-item-star:hover{background:var(--hover-tint);color:var(--text-dim)}.note-page-item-star.on{color:var(--orange)}.note-page-item-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;padding:0 12px;height:32px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:none;color:var(--text-dim);font-size:13px;font-weight:600;white-space:nowrap}.note-page-item-add:hover{border-color:var(--accent);color:var(--accent-ink)}@media(min-width:1024px){.note-page-layout{flex-direction:row;align-items:flex-start;gap:20px}.note-page-rail{flex-direction:column;align-items:stretch;overflow-x:visible;overflow-y:auto;max-height:74vh;width:220px;flex-shrink:0;padding-bottom:0}.note-page-item,.note-page-item-add{width:100%}.note-page-item-label{flex:1;max-width:none}.note-page-main{flex:1}.note-page-comments{width:320px;flex-shrink:0}}.vault-print-doc{display:none}@media print{body *{visibility:hidden}.vault-print-doc,.vault-print-doc *{visibility:visible}.vault-print-doc{display:block;position:absolute;top:0;left:0;width:100%;--text: #12151b;--text-dim: #5b6472;--text-faint: #8b93a1;--accent-ink: #4F46E5;--blue: #2563eb;--red: #c0272d;--card: #ffffff;--card-2: #eef0f3;--border: #e0e4ea;color:var(--text);background:#fff;font-family:var(--font)}.vault-print-doc h1{font-size:22px;margin:0 0 4px}.vault-print-doc h2{font-size:16px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.vault-print-chapter{page-break-before:always;break-before:page}.vault-print-chapter:first-child{page-break-before:avoid;break-before:avoid}}.node-menu{position:absolute;z-index:30;width:216px;max-height:min(480px,calc(100vh - 24px));overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 10px 28px #00000029,0 2px 6px #00000014;padding:6px}.node-menu .nm-head{font-size:12px;font-weight:600;color:var(--text);padding:5px 8px 7px;margin-bottom:4px;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-menu .nm-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:7px;padding:8px;font:inherit;font-size:14px;color:var(--text);cursor:pointer}.node-menu .nm-item:hover:not(:disabled){background:var(--hover-tint)}.node-menu .nm-item:disabled{opacity:.5;cursor:default}.node-menu .nm-label{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-faint);font-weight:600;padding:8px 8px 5px;margin-top:2px;border-top:1px solid var(--border)}.node-menu .nm-kinds{display:flex;flex-wrap:wrap;gap:5px;padding:0 8px 2px}.node-menu .nm-kinds .chip{font-size:12px;padding:4px 9px}.node-menu .nm-item.danger{color:var(--red)}.node-menu .nm-item.danger:hover:not(:disabled){background:var(--red-soft)}.node-menu .nm-relation{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:13px;color:var(--text)}.node-menu .nm-relation .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-menu .nm-edge-note{padding:0 8px 6px;font-size:12px;color:var(--text-dim)}.node-menu .nm-edge-note .md-p{margin:0}.node-menu .nm-hint{font-size:11px;color:var(--text-faint);padding:6px 8px 2px;margin:0}.node-menu .nm-err{font-size:12px;color:var(--red);padding:4px 8px;margin:0}.node-menu .nm-note{padding:2px 6px 6px}.node-menu .nm-note textarea{margin:0 0 6px;font-size:13px}.filter-pop{position:absolute;top:100%;right:0;margin-top:6px;z-index:30;width:240px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:12px}.filter-pop .field:last-of-type{margin-bottom:10px}.md-p{margin:0 0 8px;line-height:1.5;white-space:pre-wrap}.md-p:last-child{margin-bottom:0}.md-h{margin:10px 0 5px;font-weight:700;line-height:1.3}.md-h:first-child{margin-top:0}h4.md-h{font-size:14px}h5.md-h{font-size:13px}h6.md-h{font-size:13px;color:var(--text-dim)}.md-list{margin:0 0 8px;padding-left:20px}.md-list:last-child{margin-bottom:0}.md-list li{margin:2px 0;line-height:1.45}.md-quote{margin:0 0 8px;padding:2px 0 2px 10px;border-left:2px solid var(--accent);color:var(--text-dim);white-space:pre-wrap}.md-quote:last-child{margin-bottom:0}.md-pre{margin:0 0 8px;padding:8px 10px;background:var(--card);border:1px solid var(--border);border-radius:8px;overflow-x:auto;font-size:12px;line-height:1.45}.md-pre:last-child{margin-bottom:0}.md-code{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:0 4px;font-size:.92em}.note-body a,.note-body-static a{color:var(--accent-ink);text-decoration:underline}.md-mark{background:none;color:var(--blue);font-weight:600}.md-mark-red{background:none;color:var(--red);font-weight:600}.md-action{display:inline-flex;align-items:center;gap:4px;background:var(--red-soft);color:var(--red);font-weight:600;padding:1px 6px 1px 4px;border-radius:var(--radius-sm)}.md-comment{color:var(--orange);font-weight:600;cursor:help;text-decoration:underline dotted;text-underline-offset:2px}.md-img{display:block;max-width:100%;height:auto;border-radius:6px;margin:4px 0 8px}.md-img:last-child{margin-bottom:0}.log-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin:14px 0 0;padding:6px 0;background:none;border:none;border-top:1px solid var(--border);font:inherit;cursor:pointer;text-align:left}.log-toggle:hover .small{color:var(--text)}.log{display:flex;flex-direction:column;gap:2px;padding:4px 0 2px}.log-row{display:flex;align-items:flex-start;gap:9px;padding:5px 0}.log-row .grow{flex:1;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.log-what{font-size:13px;color:var(--text);min-width:0}.log-when{font-size:11px;color:var(--text-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.log-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--text-faint);margin-top:6px}.log-dot.k-created{background:var(--text-dim)}.log-dot.k-state{background:var(--accent)}.log-dot.k-note{background:#2f8f5b}.log-dot.k-field{background:var(--text-faint)}.log-dot.k-link{background:var(--text-dim)}.log-dot.k-unlink{background:none;box-shadow:inset 0 0 0 1.5px var(--text-dim)}.log-dot.k-updated{background:var(--accent)}.log-dot.k-deleted{background:none;box-shadow:inset 0 0 0 1.5px var(--red)}.log-dot.k-versioned,.log-dot.k-restored{background:#2f8f5b}.log-dot.k-legacy{background:var(--text-dim)}.log-dot.k-out_of_order{background:none;box-shadow:inset 0 0 0 1.5px var(--accent)}.node-menu .nm-sub{display:block;margin-top:3px;font-size:11px;font-weight:500;color:var(--red);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-menu .nm-note input{margin:0 0 6px;font-size:13px}.graph-stage svg{cursor:grab}.graph-stage svg.panning{cursor:grabbing}.graph-stage .gnode{cursor:pointer}.gnode .label{transition:opacity .12s ease}.no-labels .gnode .label,.graph-zoom-hint{display:none}@media(hover:hover)and (pointer:fine){.graph-zoom-hint{display:block;position:absolute;right:46px;bottom:10px;z-index:10;font-size:11px;color:var(--text-faint);white-space:nowrap;background:var(--surface-translucent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:3px 8px;border-radius:999px;border:1px solid var(--border);pointer-events:none}}.graph-zoom{position:absolute;right:10px;bottom:10px;z-index:10;display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:9px;overflow:hidden;box-shadow:0 2px 8px #00000014}.gz-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;background:var(--card);border:none;color:var(--text-dim);font:inherit;font-size:15px;line-height:1}.gz-btn:hover{background:var(--hover-tint);color:var(--text)}.gz-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.gz-btn.on{color:var(--accent-ink)}.gz-pct{width:auto;min-width:30px;padding:0 5px;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-faint)}.graph-layers{position:absolute;right:10px;top:10px;z-index:10;display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:9px;overflow:hidden;box-shadow:0 2px 8px #00000014}.gl-btn{display:flex;align-items:center;justify-content:center;width:auto;min-width:34px;height:28px;padding:0 6px;background:var(--card);border:none;color:var(--text-dim);font:inherit;font-size:10.5px;font-weight:600;white-space:nowrap}.gl-btn:hover{background:var(--hover-tint);color:var(--text)}.gl-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.gl-btn.on{color:var(--accent-ink)}@media(prefers-reduced-motion:reduce){.gnode .label{transition:none}}@media(min-width:1024px){.content:has(.board-page){max-width:none}.board-page .quick-add,.board-page>.card{max-width:840px}.board-page .task-panel,.board-page .graph-stage{max-width:none}}.tp-grid{display:block}.tp-side{margin-top:18px}@media(min-width:720px){.tp-grid{display:grid;grid-template-columns:65fr 35fr;gap:0 28px;align-items:start;min-width:0}.tp-main,.tp-side{min-width:0}.tp-side{margin-top:0}}.tp-main .kv,.tp-main>p{max-width:460px}.check-bar{height:4px;border-radius:999px;background:var(--card-2);overflow:hidden;margin:0 0 10px}.check-bar>span{display:block;height:100%;background:var(--green);transition:width .18s ease}.checks{display:flex;flex-direction:column}.check{display:flex;align-items:center;gap:4px;padding:3px 0;border-bottom:1px solid var(--border)}.check:last-child{border-bottom:none}.check input{margin:4px 0;font-size:14px}.check-tick{flex:1;min-width:0;display:flex;align-items:center;gap:9px;background:none;border:none;padding:7px 4px 7px 0;font:inherit;font-size:14px;color:var(--text);text-align:left;border-radius:7px}.check-tick:hover{background:var(--hover-tint)}.check-tick:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.check-tick .box{flex:none;width:17px;height:17px;border-radius:5px;border:1.6px solid var(--text-faint);background:var(--card);position:relative}.check-tick .what{min-width:0}.check.is-done .check-tick .box{background:var(--green);border-color:var(--green)}.check.is-done .check-tick .box:after{content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}.check.is-done .check-tick .what{color:var(--text-faint);text-decoration:line-through}.check-composer{margin-top:8px}.check-composer input{font-size:14px}.check-grip{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:28px;margin-right:-2px;background:none;border:none;padding:0;color:var(--text-faint);cursor:grab;touch-action:none}.check-grip:hover{color:var(--text-dim)}.check-grip:active{cursor:grabbing}.check-ghost{position:absolute;left:0;right:0;z-index:5;background:var(--card);border-radius:var(--radius-sm);box-shadow:0 6px 18px #00000029;pointer-events:none}.check-ghost .check{border-bottom:none;padding-left:20px}.node-menu .nm-why{font-size:11px;color:var(--text-faint);font-weight:500}.plan-desc{margin:2px 0 12px;color:var(--text-dim);font-size:13.5px;line-height:1.5;max-width:68ch;white-space:pre-wrap}.plan-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.plan-toolbar .btn.on{border-color:var(--accent);color:var(--accent-ink)}.plan-toolbar .btn .count{margin-left:2px;padding:0 6px;border-radius:999px;font-size:11px;background:var(--accent-soft);color:var(--accent-ink)}.plan-legend{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-faint)}.plan-legend .k{width:10px;height:10px;border-radius:3px;display:inline-block}.plan-legend .k:not(:first-child){margin-left:8px}.plan-legend .k.planned{background:var(--text-faint);border-radius:50%}.plan-legend .k.in_progress{background:var(--accent)}.plan-legend .k.done{background:var(--green)}.plan-legend .k.due{background:transparent;border:1px solid var(--red);transform:rotate(45deg);border-radius:2px}.plan-linking{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin-bottom:10px;font-size:13px;background:var(--orange-soft);color:var(--text);border:1px solid var(--orange);border-radius:var(--radius-sm)}.pt{--pt-left: 240px;position:relative;overflow:auto;max-height:min(70vh,720px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.pt-grid{position:relative;min-height:100%}.pt-empty{color:var(--text-dim);font-size:13.5px;line-height:1.55}.pt-head{position:sticky;top:0;z-index:4;display:flex;align-items:stretch;background:var(--card);border-bottom:1px solid var(--border)}.pt-head-left{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);font-weight:600}.pt-head .pt-lane{position:relative}.pt-cell-left{position:sticky;left:0;z-index:6;width:var(--pt-left);flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 10px 0 12px;background:var(--card);border-right:1px solid var(--border)}.pt-head .pt-cell-left{z-index:7}.pt-row{position:absolute;left:0;display:flex;align-items:stretch;width:100%}.pt-row+.pt-row .pt-cell-left{border-top:1px solid var(--border)}.pt-row:hover .pt-cell-left,.pt-row:hover .pt-lane{background:var(--hover-tint)}.pt-row.selected .pt-cell-left{background:var(--accent-soft)}.pt-row.linking .pt-cell-left{box-shadow:inset 2px 0 0 var(--orange)}.pt-row.target .pt-link-btn{color:var(--orange);opacity:1}.pt-swatch{width:9px;height:9px;border-radius:2px;flex-shrink:0;background:var(--text-faint)}.pt-swatch.planned{border-radius:50%}.pt-swatch.in_progress{background:var(--accent)}.pt-swatch.done{background:var(--green)}.pt-swatch.cancelled{background:var(--border)}.pt-flags{display:flex;align-items:center;gap:2px;flex-shrink:0}.pt-flag.red{color:var(--red)}.pt-flag.green{color:var(--green)}.pt-flag.blue{color:var(--accent)}.pt-name{flex:1;min-width:0;text-align:left;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.pt-title{display:block;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-sub{display:block;font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-link-btn{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-faint);border-radius:7px;opacity:0;cursor:pointer}.pt-row:hover .pt-link-btn,.pt-row.linking .pt-link-btn{opacity:1}.pt-link-btn:hover{background:var(--hover-tint);color:var(--text)}.pt-row.linking .pt-link-btn{color:var(--orange)}.pt-open-link-btn{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--card-2);color:var(--text-dim);text-decoration:none;opacity:0}.pt-row:hover .pt-open-link-btn,.pt-open-link-btn:focus-visible{opacity:1}.pt-open-link-btn:hover{background:var(--hover-tint);color:var(--text);border-color:var(--accent)}.pt-lane{position:relative;flex-shrink:0}.pt-month{position:absolute;top:0;height:24px;display:flex;align-items:center;padding-left:8px;font-size:11.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim);font-weight:600;border-left:1px solid var(--border);overflow:hidden;white-space:nowrap}.pt-daynum{position:absolute;top:25px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10.5px;color:var(--text-faint)}.pt-weeknum{position:absolute;top:25px;height:20px;display:flex;align-items:center;padding-left:6px;font-size:10.5px;color:var(--text-faint);border-left:1px solid var(--border);overflow:hidden;white-space:nowrap}.pt-back{position:absolute;left:var(--pt-left);pointer-events:none;z-index:0}.pt-day{position:absolute;top:0;bottom:0}.pt-day.line{border-right:1px solid var(--border);opacity:.35}.pt-day.weekend{background:var(--card-2)}.pt-day.holiday{background:var(--card-2);box-shadow:inset 0 3px 0 var(--accent)}.pt-day.overload{background:repeating-linear-gradient(-45deg,var(--red-soft) 0 5px,transparent 5px 10px);box-shadow:inset 0 3px 0 var(--red)}.pt-daynum.off{color:var(--text-faint);opacity:.75}.pt-monthline{position:absolute;top:0;bottom:0;width:1px;background:var(--border)}.pt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.75}.pt-dot{position:absolute;top:50%;transform:translateY(-50%);border-radius:50%;background:var(--text-faint);z-index:1}.pt-dot.in_progress{background:var(--accent)}.pt-dot.done{background:var(--green)}.pt-dot.cancelled{background:var(--border)}.pt-dot.unplanned{background:var(--card);border:1.5px dashed var(--text-faint)}.pt-baseline{position:absolute;top:50%;height:0;border-top:1.5px dashed var(--text-faint);z-index:0}.pt-baseline.late{border-top-color:var(--red)}.pt-bar{position:absolute;top:50%;transform:translateY(-50%);border-radius:6px;background:var(--accent);z-index:2;display:flex;align-items:center;justify-content:flex-end;padding-right:5px;color:#fff}.pt-bar.done{background:var(--green)}.pt-bar.cancelled{background:var(--border);color:var(--text-faint);opacity:.8}.pt-bar.running:after{content:"";position:absolute;right:0;top:0;bottom:0;width:26px;border-radius:0 6px 6px 0;background:linear-gradient(to right,transparent,var(--card));opacity:.55}.pt-due{position:absolute;top:50%;width:9px;height:9px;z-index:3;transform:translateY(-50%) rotate(45deg);border:1.5px solid var(--red);border-radius:2px;background:var(--card)}.pt-due.late{background:var(--red)}.pt-msline{position:absolute;top:0;bottom:0;width:0;border-left:1.5px dashed var(--accent);opacity:.55}.pt-msline.done{opacity:.8}.pt-msline.cancelled{border-left-color:var(--text-faint);opacity:.4}.pt-milestone{position:absolute;top:50%;width:16px;height:16px;z-index:3;transform:translateY(-50%) rotate(45deg);border:2px solid var(--accent);border-radius:3px;background:var(--card)}.pt-milestone.done{background:var(--accent)}.pt-milestone.cancelled{border-color:var(--text-faint);background:var(--card);opacity:.7}.pt-milestone.unplanned{border-style:dashed;border-color:var(--text-faint)}.pt-swatch.milestone{transform:rotate(45deg);border-radius:2px}.pt-deps{position:absolute;left:var(--pt-left);pointer-events:none;z-index:3;overflow:visible}.pt-dep{fill:none;stroke:var(--orange);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.pick-list{max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.pick-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 12px;border:none;background:none;color:inherit;font:inherit;cursor:pointer}.pick-row+.pick-row{border-top:1px solid var(--border)}.pick-row:hover{background:var(--hover-tint)}.pick-row.active{background:var(--accent-soft)}.pick-row .title{display:block;font-size:13.5px;font-weight:600}.pick-row .sub{display:block;font-size:11.5px;color:var(--text-dim)}.filter-pop .pick-row .title,.filter-pop .pick-row .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edge-pick-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--blue-border);border-radius:var(--radius-sm);background:var(--blue-soft);color:inherit;font:inherit;cursor:pointer}.edge-pick-row+.edge-pick-row{margin-top:6px}.edge-pick-row:hover{filter:brightness(1.05)}.edge-pick-row.chosen{border-color:var(--green);background:var(--green-soft)}.edge-pick-row .dot{width:8px;height:8px;border-radius:999px;flex-shrink:0;background:var(--blue)}.edge-pick-row.chosen .dot{background:var(--green)}.step-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;flex-shrink:0;background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:700}.seq-row+.seq-row{border-top:1px solid var(--border)}.seq-row .share-row{padding:6px 0 2px;cursor:grab}.seq-row.dragging .share-row{opacity:.4}.seq-row.drag-over .share-row{box-shadow:inset 0 2px 0 0 var(--accent)}.drag-handle{color:var(--text-faint);flex-shrink:0;cursor:grab}.seq-note{font-size:12.5px;padding:6px 8px;margin:0 0 6px}.flow-step-list{margin:0;padding-left:20px;font-size:12.5px}.flow-step-list li+li{margin-top:3px}.step-comment .md-p{margin:0}.share-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0}.share-row+.share-row{border-top:1px solid var(--border)}.share-row.dim{opacity:.6}.share-url{font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text);word-break:break-all}.share-fresh{margin-top:10px;padding:12px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-muted)}.share-fresh .field+.field{margin-top:8px}.share-code{font-size:18px;font-weight:700;letter-spacing:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text)}.shared-page{max-width:1120px;margin:0 auto;padding:20px 16px 64px}.shared-page.board-wide{max-width:var(--content-max)}.shared-head{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-weight:700;letter-spacing:.3px}.shared-head img{width:22px;height:22px;border-radius:6px;display:block}@media(max-width:700px){.pt{--pt-left: 150px}.pt{max-height:65vh}}.pt-row.pt-sep .pt-cell-left{background:var(--card-2);gap:6px}.pt-sep-lane{background:rgba(var(--accent-rgb),.2)}.pt-row.pt-sep:hover .pt-cell-left{background:var(--card-2)}.pt-row.pt-sep:hover .pt-sep-lane{background:rgba(var(--accent-rgb),.28)}.pt-fold{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-dim);border-radius:6px;cursor:pointer}.pt-fold:hover{background:var(--hover-tint);color:var(--text)}.pt-sep-name{flex:1;min-width:0;text-align:left;border:none;background:none;padding:0;font:inherit;font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-sep-name:hover{color:var(--text)}.pt-sep-count{flex-shrink:0;min-width:20px;text-align:center;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:600;background:var(--card);color:var(--text-dim);border:1px solid var(--border)}.pt-row.pt-sep.folded .pt-sep-count{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.plan-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}@media(min-width:1100px){.plan-stage.with-panel{grid-template-columns:minmax(0,1fr) 340px}}.plan-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;min-width:0}.plan-panel-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.plan-panel-head strong{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim)}.plan-panel-title{margin:0 0 10px;font-size:17px}.plan-panel .field{margin-bottom:12px}.plan-panel-span{margin:0 0 12px;font-size:12.5px;color:var(--text-dim)}.plan-panel-span.late{color:var(--red);font-weight:600}.plan-ro{padding:9px 12px;border:1px dashed var(--border);border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-dim);background:var(--card-2)}.plan-moves{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.plan-flag-btn.green.on{background:var(--green-soft);border-color:var(--green);color:var(--green)}.plan-flag-btn.blue.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.plan-flag-btn.unplanned.on{background:var(--card-2);border-color:var(--text-faint);color:var(--text-dim)}.swatch-fill.swatch-none{background:var(--card-2);background-image:linear-gradient(45deg,transparent 45%,var(--text-faint) 45%,var(--text-faint) 55%,transparent 55%)}.row-menu{position:fixed;z-index:80;min-width:210px;padding:6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.row-menu-title{padding:6px 8px 8px;font-size:12px;font-weight:600;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.row-menu-item{display:block;width:100%;text-align:left;border:none;background:none;padding:8px 10px;border-radius:7px;font:inherit;font-size:13px;color:var(--text);cursor:pointer}.row-menu-item:hover{background:var(--hover-tint)}.row-menu-item.danger{color:var(--red)}.row-menu-sep{height:1px;background:var(--border);border:none;margin:5px 2px}.plan-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;gap:10px;padding:14px 16px calc(16px + env(safe-area-inset-bottom));background:var(--bg)}.plan-full-head{display:flex;align-items:center;gap:8px}.plan-full .plan-toolbar{margin-bottom:0}.plan-full .plan-stage{flex:1;min-height:0}.plan-full .pt{max-height:100%;height:auto}@media(min-width:1100px){.plan-full .plan-stage.with-panel{grid-template-columns:minmax(0,1fr) 340px}.plan-full .plan-panel{max-height:100%;overflow:auto}}.rel-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;gap:10px;padding:14px 16px calc(16px + env(safe-area-inset-bottom));background:var(--bg)}.rel-full-head{display:flex;align-items:center;gap:8px}.rel-full-stage{flex:1;min-height:0;display:flex;flex-direction:column}.rel-full-stage .graph-stage{flex:1;min-height:0}.pt-grip{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:14px;margin-left:-4px;color:var(--text-faint);cursor:grab;opacity:0}.pt-row:hover .pt-grip{opacity:1}.pt-grip:active{cursor:grabbing}.pt-row.dragging{opacity:.45}.pt-dropline{position:absolute;left:0;right:0;height:2px;z-index:7;background:var(--accent);pointer-events:none}.pt-dropline:before{content:"";position:absolute;left:2px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.plan-notice{color:var(--green);font-size:13px;margin:8px 0;min-height:18px}.plan-toolbar .btn .count.bad{background:var(--red-soft);color:var(--red)}.plan-chain-note{font-size:12.5px;color:var(--text-dim);margin:8px 0;padding:7px 11px;border-radius:8px;background:var(--card-2);border:1px solid var(--border)}.plan-chain-note.bad{color:var(--red);background:var(--red-soft);border-color:var(--red-border)}.plan-chain-note strong{font-weight:650}.pt-row.critical .pt-cell-left{box-shadow:inset 3px 0 0 var(--red)}.pt-row.critical .pt-title{font-weight:650}.pt-row.critical .pt-bar{box-shadow:0 0 0 1.5px var(--red-border)}.pt-row.critical .pt-dot,.pt-row.critical .pt-milestone{box-shadow:0 0 0 2px var(--red-soft)}.pt-dep.critical{stroke:var(--red);stroke-width:2.6}.pt-slip{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border-radius:3px;border:1px solid var(--red-border);background:repeating-linear-gradient(-45deg,var(--red-soft) 0 5px,transparent 5px 10px)}.pt-row.slipping .pt-swatch{box-shadow:0 0 0 2px var(--red-soft)}.plan-panel-baseline{margin:-6px 0 12px;font-size:12.5px;line-height:1.5;color:var(--text-dim)}.plan-panel-baseline.late{color:var(--red)}.plan-panel-chain{margin:-6px 0 12px;font-size:12.5px;line-height:1.5;color:var(--text-dim)}.plan-panel-chain.late{color:var(--red)}.plan-panel-chain .tag{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;font-size:11px;background:var(--red-soft);color:var(--red)}@media(prefers-reduced-motion:reduce){.app-shell,.sidebar,.sidebar *,.switch-popover,.switch-sheet,.rail-tip{transition-duration:.01ms!important;animation-duration:.01ms!important}}@supports (color: oklch(from red l c h)){:root[data-theme=dark] .switch-mark,:root[data-theme=dark] .cmdk-row-mark,:root[data-theme=dark] .xapp-mark{color:oklch(from var(--xapp) max(l,calc(.72 - (c/.4))) c h)}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.btn-danger-ghost{background:transparent;border-color:transparent;color:var(--red)}.btn-danger-ghost:hover{border-color:var(--red-border)}.kb-c-red{--kb: #e5484d}.kb-c-orange{--kb: #f08a24}.kb-c-yellow{--kb: #d9a400}.kb-c-green{--kb: #2bad4a}.kb-c-teal{--kb: #14a3a3}.kb-c-blue{--kb: #3b82f6}.kb-c-purple{--kb: #8b5cf6}.kb-c-pink{--kb: #ec4899}.kb-c-grey{--kb: #7b8494}.kb-label{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;color:var(--text);background:var(--card-2);background:color-mix(in srgb,var(--kb) 16%,transparent);border:1px solid var(--border);border-color:color-mix(in srgb,var(--kb) 42%,transparent)}.kb-label i{width:8px;height:8px;border-radius:50%;background:var(--kb);flex:0 0 auto}.kb-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-label.compact{padding:1px 8px;font-size:11px}.kb-boards{max-width:760px;margin:0 auto}.kb-new-board{display:flex;align-items:center;gap:8px;margin-bottom:14px}.kb-new-board input{flex:1 1 0;min-width:0}.kb-board-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.kb-board-row{display:flex;align-items:center;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding-right:6px}.kb-board-row:hover{border-color:var(--accent)}.kb-board-link{flex:1 1 0;min-width:0;min-height:60px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px 6px 12px 16px;color:inherit;text-decoration:none;border-radius:var(--radius)}.kb-board-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.kb-board-title{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-board-link .sub{display:block;font-size:12px;color:var(--text-dim)}.kb-board-list.archived .kb-board-row{opacity:.72}.kb-page{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:440px;height:calc(100vh - var(--topbar-h) - var(--tabbar-h) - env(safe-area-inset-bottom) - 32px);height:calc(100dvh - var(--topbar-h) - var(--tabbar-h) - env(safe-area-inset-bottom) - 32px)}@media(min-width:1024px){.content:has(.kb-page){max-width:none}.kb-page{height:calc(100vh - 48px);height:calc(100dvh - 48px)}}.kb-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;flex:0 0 auto}.kb-toolbar .btn{min-height:var(--item-h)}.kb-back{padding-left:6px;padding-right:10px}.kb-board-name{margin:0;flex:0 1 auto;min-width:48px;font-size:20px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-board-name-input{flex:0 1 320px;min-width:96px;font-size:18px;font-weight:700;min-height:var(--item-h)}.kb-toolbar-fill{flex:1 1 0;min-width:0}.kb-search{position:relative;flex:0 1 260px;min-width:96px;display:flex;align-items:center}.kb-search svg{position:absolute;left:11px;color:var(--text-faint);pointer-events:none}.kb-search input{padding-left:32px;min-height:var(--item-h)}@media(max-width:520px){.kb-back span{display:none}.kb-back{padding:0 8px}.kb-toolbar-fill{display:none}.kb-board-name{flex:1 1 auto}.kb-search{flex:0 1 104px;min-width:88px}.kb-search:focus-within{flex:1 1 100%}}.kb-filterbar{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0;flex:0 0 auto}.kb-filter-chips{display:flex;gap:6px;flex:1 1 0;min-width:0;overflow-x:auto;padding:6px 2px;scrollbar-width:thin}.kb-filter-chip{position:relative;flex:0 0 auto;padding:0;border:1px solid var(--border);background:var(--card);border-radius:999px;min-height:32px;display:inline-flex;align-items:center}.kb-filter-chip:before{content:"";position:absolute;top:-6px;right:-2px;bottom:-6px;left:-2px}.kb-filter-chip .kb-label{border-color:transparent;background:transparent}.kb-filter-chip.on{border-color:var(--accent);background:var(--accent-soft)}.kb-filter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kb-filter-count{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.kb-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-2);font-size:13px}.kb-lane{--kb-col-w: min(85vw, 304px);flex:1 1 0;min-height:0;display:flex;align-items:flex-start;gap:12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;padding:2px 2px 10px;scroll-snap-type:x proximity}.kb-lane.busy{scroll-snap-type:none}@media(min-width:768px){.kb-lane{--kb-col-w: clamp(264px, 19vw, 320px);scroll-snap-type:none}}.kb-col{flex:0 0 var(--kb-col-w);width:var(--kb-col-w);max-height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;scroll-snap-align:start}.kb-col-head{display:flex;align-items:center;gap:2px;padding:4px 4px 0 2px;min-height:var(--item-h);flex:0 0 auto;user-select:none;-webkit-user-select:none}.kb-grip{flex:0 0 auto;width:28px;height:var(--item-h);padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-faint);cursor:grab;border-radius:8px;touch-action:none}.kb-grip:hover{color:var(--text);background:var(--hover-tint)}.kb-grip:focus-visible,.kb-menu-btn:focus-visible,.kb-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kb-col-name{margin:0;flex:1 1 0;min-width:0;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:4px}.kb-col-name-input{flex:1 1 0;min-width:0;padding:6px 8px;font-weight:600;font-size:14px}.kb-count{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--text-dim);background:var(--card-2);border-radius:999px;padding:1px 8px;font-variant-numeric:tabular-nums}.kb-menu-btn{width:36px;height:36px;padding:0;justify-content:center;flex:0 0 auto;border-radius:10px}.kb-cards{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:6px 6px 2px}.kb-col-foot{flex:0 0 auto;padding:4px 6px 6px}.kb-add-card{width:100%;justify-content:flex-start;min-height:var(--item-h);color:var(--text-dim)}.kb-empty{margin:0;padding:10px 8px 14px;text-align:center;font-size:13px;color:var(--text-faint)}.kb-card{position:relative;margin:0 0 8px;padding:10px 12px;min-height:var(--item-h);background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #1418220f;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.kb-card:hover{border-color:var(--accent)}.kb-card-labels{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;padding-right:30px}.kb-card-title{font-size:14px;line-height:1.4;overflow-wrap:anywhere;padding-right:30px}.kb-card-menu{position:absolute;top:2px;right:2px;opacity:0;transition:opacity .12s ease}.kb-card:hover .kb-card-menu,.kb-card:focus-within .kb-card-menu{opacity:1}@media(hover:none){.kb-card-menu{opacity:1}}.kb-badges{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;font-size:12px;color:var(--text-dim)}.kb-badge{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.kb-badge.complete{color:var(--green)}.kb-due{padding:1px 6px;border-radius:6px;font-weight:600}.kb-due.overdue{background:var(--red-soft);color:var(--red)}.kb-due.today{background:var(--orange-soft);color:var(--orange)}.kb-due.done{background:var(--green-soft);color:var(--green)}.kb-card.placeholder,.kb-col.placeholder{background:var(--accent-soft);border:1px dashed var(--accent);box-shadow:none}.kb-card.placeholder>*,.kb-col.placeholder>*{visibility:hidden}.kb-card.held,.kb-col.held{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow)}.kb-ghost{position:fixed;top:0;left:0;z-index:300;pointer-events:none;will-change:transform}.kb-ghost .kb-card.ghost{margin:0;width:100%;height:100%;cursor:grabbing;border-color:var(--accent);transform:rotate(2.5deg);box-shadow:0 14px 30px #00000047}.kb-col-ghost{width:100%;height:100%;padding:14px;font-weight:700;font-size:14px;overflow:hidden;background:var(--bg-elev);border:1px solid var(--accent);border-radius:14px;transform:rotate(1.5deg);box-shadow:0 14px 30px #00000047}.kb-composer{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.kb-composer-actions{display:flex;align-items:center;gap:6px}.kb-add-col{flex:0 0 var(--kb-col-w);width:var(--kb-col-w)}.kb-add-col .kb-composer{padding:8px;background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;margin:0}.kb-add-col-btn{width:100%;justify-content:center;min-height:var(--item-h);border-style:dashed;color:var(--text-dim);background:transparent}.kb-menu{position:fixed;z-index:320;min-width:200px;max-width:calc(100vw - 16px);padding:6px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.kb-menu-item{position:relative;display:block;width:100%;min-height:40px;padding:8px 12px;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:14px}.kb-menu-item:hover{background:var(--hover-tint)}.kb-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.kb-menu-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.kb-menu-hint{color:var(--text-faint);font-size:12px;font-variant-numeric:tabular-nums}.kb-menu-item.danger{color:var(--red)}.kb-menu-item.separated{margin-top:7px}.kb-menu-item.separated:before{content:"";position:absolute;left:6px;right:6px;top:-4px;height:1px;background:var(--border)}@media(pointer:coarse){.kb-menu-item{min-height:var(--item-h)}.kb-menu-btn{width:var(--item-h);height:var(--item-h)}}.kb-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#00000080;display:flex;align-items:flex-end;justify-content:center}.kb-panel{width:100%;max-height:94vh;max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-elev);border:1px solid var(--border);border-radius:18px 18px 0 0;padding:14px 16px calc(20px + env(safe-area-inset-bottom));animation:kb-rise .18s ease-out}.kb-panel:focus{outline:none}@keyframes kb-rise{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}@media(min-width:768px){.kb-panel-backdrop{align-items:stretch;justify-content:flex-end}.kb-panel{width:min(720px,100%);height:100%;max-height:none;border-radius:0;border-width:0 0 0 1px;padding:18px 24px 28px;animation-name:kb-slide}@keyframes kb-slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}}.kb-panel-head{display:flex;align-items:center;gap:6px}.kb-panel-title{flex:1 1 0;min-width:0;font-size:18px;font-weight:700;background:transparent;border-color:transparent;padding:8px 10px}.kb-panel-title:hover:not(:disabled){border-color:var(--border)}.kb-panel-title:focus{background:var(--card)}.kb-panel-in{margin:0 0 4px 10px}.kb-panel section{margin-top:20px}.kb-panel-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}@media(min-width:560px){.kb-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}.kb-panel-labels{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.kb-lp{position:relative;margin-top:8px}.kb-lp-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:var(--item-h);padding:6px 10px;text-align:left;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm)}.kb-lp-trigger:hover,.kb-lp-trigger.open{border-color:var(--accent)}.kb-lp-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.kb-lp-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.kb-lp-empty{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:14px}.kb-lp-chev{flex:0 0 auto;color:var(--text-dim)}.kb-lp-pop{position:absolute;z-index:6;left:0;right:0;top:calc(100% + 4px);display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px #00000047}.kb-lp-search{position:relative;display:flex;align-items:center}.kb-lp-search svg{position:absolute;left:11px;color:var(--text-dim);pointer-events:none}.kb-lp-search input{min-height:var(--item-h);padding-left:34px}.kb-lp-list{display:flex;flex-direction:column;max-height:min(264px,42dvh);overflow-y:auto;overscroll-behavior:contain}.kb-lp-row{display:flex;align-items:center;gap:10px;min-height:var(--item-h);padding:4px 8px;border-radius:8px;cursor:pointer;color:var(--text);font-size:14px;-webkit-tap-highlight-color:transparent}.kb-lp-row.lit{background:var(--card-2)}.kb-lp-row.on{background:color-mix(in srgb,var(--accent) 8%,transparent)}.kb-lp-row.on.lit{background:color-mix(in srgb,var(--accent) 16%,transparent)}.kb-lp-box{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid var(--border);border-radius:6px;color:#fff}.kb-lp-row.on .kb-lp-box{background:var(--accent);border-color:var(--accent)}.kb-lp-box.add{border-style:dashed;color:var(--text-dim)}.kb-lp-make{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}.kb-lp-note{margin:0;padding:8px}.kb-lp-err{margin:0;padding:0 8px}.kb-lp-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid var(--border);margin-top:2px}.kb-lp-foot .btn{min-height:var(--item-h)}.kb-check-inline input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.kb-due-row{display:flex;align-items:center;gap:10px;margin-top:8px}.kb-due-row input[type=date]{flex:1 1 0;min-width:0;min-height:var(--item-h)}.kb-check-inline{display:inline-flex;align-items:center;gap:6px;margin:0;min-height:var(--item-h);color:var(--text);white-space:nowrap}.kb-due-text{margin:6px 0 0;font-weight:600}.kb-due-text.overdue{color:var(--red)}.kb-due-text.today{color:var(--orange)}.kb-due-text.done{color:var(--green)}.kb-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.kb-textarea{display:block;resize:vertical;min-height:84px;line-height:1.45;margin-top:8px}.kb-md{margin-top:8px;font-size:14px;overflow-wrap:anywhere}.kb-row-actions,.kb-inline-add{display:flex;align-items:center;gap:8px;margin-top:8px}.kb-inline-add input{flex:1 1 0;min-width:0}.kb-checks{list-style:none;margin:0;padding:0}.kb-checks li{display:flex;align-items:center;gap:2px;min-height:var(--item-h);border-bottom:1px solid var(--border)}.kb-checks li:last-child{border-bottom:0}.kb-checks li>input{margin:4px 0}.kb-tick{flex:1 1 0;min-width:0;min-height:var(--item-h);padding:6px 4px;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;color:var(--text);font-size:14px;border-radius:8px}.kb-tick:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.kb-tick:disabled{cursor:default}.kb-tick .box{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--text-faint);border-radius:6px;color:#fff}.kb-tick[aria-checked=true] .box{background:var(--green);border-color:var(--green)}.kb-tick .what{overflow-wrap:anywhere}.kb-checks .is-done .what{text-decoration:line-through;color:var(--text-dim)}.kb-check-actions{display:flex;flex:0 0 auto}.kb-check-actions .btn{padding:6px;min-width:34px;justify-content:center}.kb-composer-box+.kb-comments{margin-top:12px}.kb-comments{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.kb-comments li{padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:12px}.kb-comment-meta{display:flex;align-items:center;flex-wrap:wrap;gap:0 2px;font-size:12px;color:var(--text-dim)}.kb-comment-actions{margin-left:auto;display:inline-flex}.kb-comments .kb-md{margin-top:4px}.kb-comment-image{display:block;width:fit-content;max-width:100%;margin-top:6px;border-radius:8px;line-height:0}.kb-comment-image img{display:block;max-width:100%;max-height:360px;width:auto;height:auto;object-fit:contain;border-radius:8px;border:1px solid var(--border);background:var(--card)}.kb-comment-image:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kb-composer-box{border-radius:12px}.kb-composer-box.over{outline:2px dashed var(--accent);outline-offset:3px;background:var(--accent-soft)}.kb-attach{display:flex;align-items:center;gap:10px;margin-top:8px;min-height:var(--item-h)}.kb-attach-info{flex:1 1 0;min-width:0;font-variant-numeric:tabular-nums}.kb-attach-remove,.kb-attach-btn{min-width:var(--item-h);min-height:var(--item-h);padding:0;justify-content:center;flex:0 0 auto}.kb-disclosure{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:var(--item-h);padding:0 2px;border:0;background:transparent;color:var(--text-dim);text-align:left}.kb-disclosure:hover{color:var(--text)}.kb-disclosure:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.kb-activity{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}.kb-activity li{display:flex;justify-content:space-between;gap:12px}.kb-activity li span{min-width:0;overflow-wrap:anywhere}.kb-activity time{flex:0 0 auto;white-space:nowrap;font-size:12px;color:var(--text-faint)}.kb-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.kb-labels-list{display:flex;flex-direction:column;gap:8px}.kb-label-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kb-label-row input{flex:1 1 140px;min-width:0}.kb-label-order{display:inline-flex;flex:0 0 auto}@media(max-width:1023px){.kb-label-order .btn{min-width:var(--item-h);min-height:var(--item-h);justify-content:center}}.kb-label-new{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.kb-label-new input{width:100%}.kb-swatches{display:flex;flex-wrap:wrap;gap:8px}.kb-swatch{position:relative;width:24px;height:24px;padding:0;border-radius:50%;border:2px solid transparent;background:var(--kb)}.kb-swatch:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.kb-swatch.on{box-shadow:0 0 0 2px var(--bg-elev),0 0 0 4px var(--text)}.kb-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.kb-archive{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}.kb-archive li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);min-height:var(--item-h)}.kb-archive li:last-child{border-bottom:0}.kb-archive .grow{overflow-wrap:anywhere}.kb-field{display:block;margin:0 0 14px;padding:0;border:0;min-width:0;color:var(--text-dim);font-size:13px}.kb-field>span,.kb-field>legend{display:block;margin-bottom:6px;padding:0}.kb-radio{display:flex;align-items:center;gap:10px;margin:0;min-height:var(--item-h);color:var(--text);font-size:14px}.kb-radio input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.kb-fbadge{min-width:0;max-width:100%}.kb-fname{flex:0 0 auto;white-space:nowrap;color:var(--text-faint)}.kb-fvalue{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text)}.kb-badges .kb-label{max-width:100%}.kb-fields{display:flex;flex-direction:column;gap:10px;margin-top:8px}.kb-field-row{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:start}@media(min-width:560px){.kb-field-row{grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center}}.kb-field-name{margin:0;font-size:13px;color:var(--text-dim);overflow-wrap:anywhere}.kb-field-control{min-width:0}.kb-field-control input:not([type=checkbox]),.kb-field-control select{min-height:var(--item-h)}.kb-dot{display:inline-block;flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:var(--kb)}.kb-fm-list{display:flex;flex-direction:column;gap:10px}.kb-fm-row{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:12px}.kb-fm-head{display:flex;align-items:center;gap:8px}.kb-fm-head input{flex:1 1 0;min-width:0}.kb-fm-type{flex:0 0 auto;padding:2px 10px;border-radius:999px;background:var(--card-2);font-size:12px;font-weight:600;color:var(--text-dim)}.kb-fm-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px}.kb-fm-buttons{display:inline-flex}.kb-fm-options{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.kb-fm-option{display:flex;align-items:center;gap:8px}.kb-fm-option input{flex:1 1 0;min-width:0}.kb-fm-option select{flex:0 0 96px;width:96px}.kb-fm-new{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.kb-fm-new input:not([type=checkbox]),.kb-fm-new select{width:100%}@media(max-width:1023px){.kb-fm-row input:not([type=checkbox]),.kb-fm-row select,.kb-fm-new input:not([type=checkbox]),.kb-fm-new select{min-height:var(--item-h)}.kb-fm-buttons .btn,.kb-fm-option .btn{min-width:var(--item-h);min-height:var(--item-h);justify-content:center}}.kb-card{padding-left:42px}.kb-done-mark{position:absolute;left:0;top:0;width:40px;height:var(--item-h);display:flex;align-items:flex-start;justify-content:flex-start;padding:12px 0 0 12px;border:0;background:transparent}.kb-done-mark i{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:2px solid var(--text-faint);background:transparent;color:#fff;transition:background .12s ease,border-color .12s ease}button.kb-done-mark:hover i{border-color:var(--green)}button.kb-done-mark:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:10px}.kb-done-mark.on i{background:var(--green);border-color:var(--green)}.kb-done-mark.permanent{cursor:default}.kb-done-mark.permanent i{background:var(--navy);border-color:#ffffff4d;color:#fff}.kb-card.hl .kb-done-mark.permanent i{border-color:#fff}.kb-card.is-done .kb-card-title{text-decoration:line-through;color:var(--text-dim)}.kb-card.hl .kb-done-mark i{border-color:#ffffffbf}.kb-card.hl .kb-done-mark.on i{background:var(--green);border-color:#fff}.kb-card.hl.is-done .kb-card-title{color:#ffffffc7}.kb-col.tint{background:color-mix(in srgb,var(--kb) 11%,var(--bg-elev));border-color:color-mix(in srgb,var(--kb) 30%,var(--border))}.kb-card.tint:not(.placeholder){background:color-mix(in srgb,var(--kb) 16%,var(--card));border-color:color-mix(in srgb,var(--kb) 38%,var(--border))}.kb-card.hl:not(.placeholder){background:color-mix(in srgb,var(--kb) 66%,#000);border-color:color-mix(in srgb,var(--kb) 66%,#000);color:#fff}.kb-card.hl .kb-card-title,.kb-card.hl .kb-badge,.kb-card.hl .kb-fvalue,.kb-card.hl .kb-menu-btn{color:#fff}.kb-card.hl .kb-fname{color:#ffffffd1}.kb-card.hl .kb-due{background:#fff3;color:#fff}.kb-card.hl .kb-label{background:#fff;border-color:transparent;color:#12151b}.kb-card.hl .kb-menu-btn:hover{background:#ffffff29}.kb-tints{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.kb-tint{display:flex;align-items:center;gap:8px;min-height:var(--item-h);padding:6px 10px;text-align:left;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:14px;background:color-mix(in srgb,var(--kb, var(--card-2)) 16%,var(--card))}.kb-tint i{flex:0 0 auto;width:14px;height:14px;border-radius:50%;background:var(--kb, var(--card-2));border:1px solid color-mix(in srgb,var(--text) 18%,transparent)}.kb-tint.strong{background:color-mix(in srgb,var(--kb) 66%,#000);border-color:transparent;color:#fff}.kb-tint.strong i{background:#fff}.kb-tint.on{outline:2px solid var(--accent);outline-offset:1px}.kb-tint:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kb-actions{display:flex;gap:2px;flex:0 0 auto}.kb-action{position:relative;width:var(--item-h);padding:0;justify-content:center}.kb-action:after{content:attr(data-tip);position:absolute;z-index:40;top:calc(100% + 4px);left:50%;transform:translate(-50%);padding:5px 9px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;background:var(--navy-2);color:#fff;font-size:12px;font-weight:500;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);transition:opacity .12s ease}.kb-action:hover:after,.kb-action:focus-visible:after{opacity:1}.kb-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kb-action.accent{color:var(--accent)}.kb-action:disabled{opacity:1}.kb-action:disabled svg{opacity:.4}@media(max-width:720px){.kb-actions{display:none}}.kb-agenda-group+.kb-agenda-group{margin-top:14px}.kb-agenda-head{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.kb-agenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.kb-agenda li{border-bottom:1px solid var(--border)}.kb-agenda li:last-child{border-bottom:0}.kb-agenda-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;width:100%;min-height:var(--item-h);padding:8px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.kb-agenda-row:hover{background:var(--accent-soft, rgba(0, 0, 0, .04))}.kb-agenda-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.kb-agenda-main{display:flex;flex-direction:column;min-width:0;flex:1 1 12ch}.kb-agenda-title{overflow-wrap:anywhere;font-weight:600}.kb-agenda-row .kb-badge{flex:0 0 auto}.kb-split{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column}.kb-board-area{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;gap:10px}.kb-split.with-notes{display:grid;grid-template-rows:minmax(0,1fr)}.kb-split.dragging{cursor:col-resize;user-select:none;-webkit-user-select:none}.kb-splitter{position:relative;display:flex;justify-content:center;cursor:col-resize;touch-action:none;border-radius:6px}.kb-splitter:before{content:"";align-self:stretch;width:2px;margin:0;border-radius:1px;background:var(--border);transition:background-color .12s ease,width .12s ease}.kb-splitter:after{content:"";position:absolute;top:0;right:-6px;bottom:0;left:-6px}.kb-splitter:hover:before,.kb-splitter:focus-visible:before,.kb-split.dragging .kb-splitter:before{width:4px;background:var(--accent)}.kb-splitter:focus-visible{outline:2px solid var(--accent);outline-offset:0}.kb-notes{min-width:0;min-height:0;display:flex;flex-direction:column}.kb-notes-panel{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column}.kb-notes-panel.in-sheet{flex:0 1 auto;min-height:320px;max-height:min(68vh,640px)}.kb-notes-head{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-height:var(--item-h);padding:0 2px 0 12px}.kb-notes-panel.in-sheet .kb-notes-head{padding-left:2px}.kb-notes-head h2{margin:0;font-size:15px}.kb-notes-head .btn-sm{min-height:var(--item-h)}.kb-notes-fill{flex:1 1 0;min-width:0}.kb-notes-collapse{flex:0 0 auto;width:var(--item-h);min-height:var(--item-h);padding:0;justify-content:center}.kb-notes-add{position:relative;flex:0 0 auto;width:28px;height:28px;min-height:28px;padding:0;justify-content:center;border-radius:8px}.kb-notes-add:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.kb-notes-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:8px 8px 12px}.kb-stickies{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-items:start}.kb-sticky{position:relative;min-height:84px;border-radius:8px;background:var(--card);border:1px solid var(--border);box-shadow:0 1px 2px #14182214}.kb-sticky.tint{background:color-mix(in srgb,var(--kb) 24%,var(--card));border-color:color-mix(in srgb,var(--kb) 45%,var(--border))}.kb-sticky-open{display:block;width:100%;min-height:84px;padding:10px 34px 10px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:grab}.kb-sticky-open:disabled{cursor:default;opacity:1}.kb-sticky-open:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.kb-sticky-blank{color:var(--text-faint);font-style:italic}.kb-sticky-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.kb-sticky-edit{display:block;width:100%;min-height:120px;padding:10px;border:0;border-radius:8px;resize:vertical;background:transparent;color:var(--text);font:inherit;font-size:14px;line-height:1.4}.kb-sticky-edit:focus{outline:2px solid var(--accent);outline-offset:-2px}.kb-sticky-menu{position:absolute;top:2px;right:2px;opacity:0;transition:opacity .12s ease}.kb-sticky:hover .kb-sticky-menu,.kb-sticky:focus-within .kb-sticky-menu{opacity:1}@media(hover:none){.kb-sticky-menu{opacity:1}}.kb-pile{list-style:none;padding:0 10px 10px 0}.kb-pile-tile{--sheet: var(--card);--line: color-mix(in srgb, var(--text) 24%, var(--border));box-shadow:0 1px 2px #14182214,5px 5px 0 -1px var(--sheet),5px 5px 0 0 var(--line),10px 10px 0 -1px var(--sheet),10px 10px 0 0 var(--line)}.kb-pile-tile.tint{--sheet: color-mix(in srgb, var(--kb) 24%, var(--card));--line: color-mix(in srgb, var(--kb) 55%, var(--border))}.kb-pile-body{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.kb-pile-name-text{font-size:14px;overflow-wrap:anywhere}.kb-pile-body .kb-sticky-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.kb-pile-count{align-self:flex-start;padding:0 8px;border-radius:999px;background:var(--text);color:var(--bg);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.kb-pile.open{grid-column:1 / -1;padding:0 0 8px;border:1px dashed color-mix(in srgb,var(--text) 28%,transparent);border-radius:12px}.kb-pile-head{display:flex;align-items:center;gap:4px;min-height:var(--item-h);padding:0 4px 0 2px}.kb-pile-toggle{flex:0 0 auto;width:var(--item-h);min-height:var(--item-h);padding:0;justify-content:center}.kb-pile-name{flex:1 1 auto;min-width:0;min-height:var(--item-h);padding:0 6px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-weight:700;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}.kb-pile-name.unnamed{color:var(--text-faint);font-style:italic;font-weight:500}.kb-pile-name:disabled{cursor:default;opacity:1}.kb-pile-name:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.kb-pile-name-input{flex:1 1 auto;min-width:0;min-height:var(--item-h)}.kb-pile-total{flex:0 0 auto;padding:0 4px;white-space:nowrap}.kb-pile-notes{padding:0 8px}body.kb-sticky-dragging,body.kb-sticky-dragging *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}[data-sticky-src]{opacity:.4}[data-sticky-over=join]{outline:2px dashed var(--accent);outline-offset:2px;border-radius:8px}[data-sticky-over=tray]{outline:2px dashed var(--accent);outline-offset:-4px;border-radius:12px}.kb-col[data-sticky-over=column]{outline:2px solid var(--accent);outline-offset:-2px}.kb-card[data-sticky-over=before]{box-shadow:0 -4px 0 0 var(--accent)}.kb-card[data-sticky-over=after]{box-shadow:0 4px 0 0 var(--accent)}.kb-sticky-ghost{position:fixed;left:0;top:0;z-index:70;width:168px;padding:10px;display:flex;flex-direction:column;gap:4px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:14px;line-height:1.4;box-shadow:0 10px 28px #14182247;pointer-events:none;will-change:transform}.kb-sticky-ghost.tint{background:color-mix(in srgb,var(--kb) 24%,var(--card));border-color:color-mix(in srgb,var(--kb) 45%,var(--border))}.kb-sticky-ghost-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.kb-group-target{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:var(--item-h);padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit;text-align:left;cursor:pointer}.kb-group-target.tint{background:color-mix(in srgb,var(--kb) 24%,var(--card));border-color:color-mix(in srgb,var(--kb) 45%,var(--border))}.kb-group-target:hover{border-color:var(--accent)}.kb-group-target:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kb-group-target-title{overflow-wrap:anywhere;white-space:pre-wrap}.kb-group-target-sub{overflow-wrap:anywhere}.kb-action.pressed{background:var(--accent-soft);color:var(--accent)}.kb-action-count{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;pointer-events:none;background:var(--text);color:var(--bg);font-size:10px;font-weight:700;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.kb-toast{position:fixed;z-index:60;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 14px);display:flex;align-items:center;gap:12px;max-width:min(92vw,520px);padding:8px 8px 11px 16px;overflow:hidden;border-radius:12px;background:var(--navy-2);color:#fff;font-size:14px;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow)}@media(min-width:1024px){.kb-toast{bottom:24px}}.kb-toast-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.kb-toast-undo{flex:0 0 auto;min-height:var(--item-h);font-weight:600;background:#ffffff1f;color:#fff;border-color:transparent}.kb-toast-undo:hover{background:#fff3}.kb-toast-bar{position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--accent);transform-origin:left;animation:kb-toast-run linear forwards}@keyframes kb-toast-run{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.kb-toast-bar{animation:none;transform:none}.kb-splitter:before,.kb-sticky-menu{transition:none}}@media(prefers-reduced-motion:reduce){.kb-card,.kb-card *,.kb-col,.kb-panel,.kb-menu,.kb-lane{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}.kb-ghost .kb-card.ghost,.kb-col-ghost{transform:none}}
