:root{--bg:#f7f8fa;--panel:#fff;--panel-2:#f7f8fa;--line:#e6e8ef;--line-soft:#f0f2f6;--fg:#0f1222;--muted:#5d6474;--accent:#0f62d9;--accent-strong:#0b4fb3;--accent-soft:#eaf2ff;--primary:#1570ef;--primary-hover:#0f5bd0;--on-accent:#fff;--violet:#6c5cf6;--violet-strong:#5b47e8;--violet-soft:#f1effe;--coral:#ff6a3d;--coral-text:#c2410c;--coral-soft:#fff1ea;--brand:#6c5cf6;--danger:#dc2626;--danger-soft:#fdecec;--danger-text:#b91c1c;--warn:#b45309;--warn-soft:#fff4e5;--ok:#15803d;--ok-soft:#ecfdf3;--idle:#9aa1b0;--idle-soft:#f0f2f6;--shadow:0 12px 32px #0f122214, 0 2px 6px #0f12220a;--shadow-sm:0 1px 2px #0f12220d;--shadow-primary:0 6px 16px #1570ef47;--grid-dot:#e6e8ef;--brand-gradient:linear-gradient(90deg, #1570ef 0%, #6c5cf6 100%);--font:"Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", "Courier New", ui-monospace, Menlo, monospace;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0d14;--panel:#141724;--panel-2:#10131d;--line:#262a3b;--line-soft:#1c1f2e;--fg:#eef0f6;--muted:#a3a9ba;--accent:#7fb2ff;--accent-strong:#b5d1ff;--accent-soft:#16264a;--primary:#1570ef;--primary-hover:#2a80f5;--on-accent:#fff;--violet:#8b7cff;--violet-strong:#a89dff;--violet-soft:#221d4a;--coral:#ff7a52;--coral-text:#ffa585;--coral-soft:#3a1d12;--brand:#8b7cff;--danger:#f87171;--danger-soft:#3b1219;--danger-text:#fca5a5;--warn:#f5a623;--warn-soft:#33240a;--ok:#4ade80;--ok-soft:#0f2a1c;--idle:#6b7183;--idle-soft:#1c1f2e;--shadow:0 12px 32px #00000080;--grid-dot:#1c1f2e;--shadow-primary:0 6px 16px #1570ef59;--brand-gradient:linear-gradient(90deg, #4c8dff 0%, #8b7cff 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0d14;--panel:#141724;--panel-2:#10131d;--line:#262a3b;--line-soft:#1c1f2e;--fg:#eef0f6;--muted:#a3a9ba;--accent:#7fb2ff;--accent-strong:#b5d1ff;--accent-soft:#16264a;--primary:#1570ef;--primary-hover:#2a80f5;--on-accent:#fff;--violet:#8b7cff;--violet-strong:#a89dff;--violet-soft:#221d4a;--coral:#ff7a52;--coral-text:#ffa585;--coral-soft:#3a1d12;--brand:#8b7cff;--danger:#f87171;--danger-soft:#3b1219;--danger-text:#fca5a5;--warn:#f5a623;--warn-soft:#33240a;--ok:#4ade80;--ok-soft:#0f2a1c;--idle:#6b7183;--idle-soft:#1c1f2e;--shadow:0 12px 32px #00000080;--grid-dot:#1c1f2e;--shadow-primary:0 6px 16px #1570ef59;--brand-gradient:linear-gradient(90deg, #4c8dff 0%, #8b7cff 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);font:14px/1.45 var(--font);margin:0}a{color:var(--accent)}a:hover{color:var(--accent-strong)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0}h1{letter-spacing:-.02em;font-weight:700}h1 .light,.light-weight{font-weight:300}h2{font-weight:700}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.small{font-size:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.spacer{flex:1}.tabular{font-variant-numeric:tabular-nums}.btn{border:1px solid var(--line);background:var(--panel);cursor:pointer;height:36px;color:var(--fg);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.btn:hover{border-color:var(--muted);color:var(--fg)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent);box-shadow:var(--shadow-primary);font-weight:600}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--on-accent)}.btn.brand{background:var(--primary);color:var(--on-accent);box-shadow:var(--shadow-primary);border:0;gap:6px;font-size:14px;font-weight:600}.btn.brand:hover{background:var(--primary-hover);color:var(--on-accent)}.btn.danger{color:var(--danger-text);border-color:var(--danger);background:var(--danger-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{height:30px;padding:0 10px;font-size:13px}.btn:disabled{opacity:.55;cursor:default}.icon-btn{cursor:pointer;width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0}.icon-btn:hover{background:var(--line-soft);color:var(--fg)}.input,.select,.textarea{border:1px solid var(--line);background:var(--panel);border-radius:10px;width:100%;min-height:38px;padding:7px 11px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;line-height:1.55}.select{padding-right:6px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-error{color:var(--danger-text);font-size:12px}.segmented{border:1px solid var(--line);background:var(--panel);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-left:1px solid var(--line);background:var(--panel);cursor:pointer;height:32px;padding:0 12px}.segmented button:first-child{border-left:0}.segmented button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.chip{background:color-mix(in srgb, var(--tag) 15%, transparent);color:color-mix(in srgb, var(--tag) 52%, var(--fg));border:0;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}button.chip{cursor:pointer}.chip.off{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.swatch{background:var(--tag);border-radius:3px;flex:none;width:10px;height:10px}.swatch.round{border-radius:50%}.project-badge{color:color-mix(in srgb, var(--tag) 60%, var(--fg));align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600;display:inline-flex}.project-badge .swatch{border-radius:50%;width:8px;height:8px}.project-badge.none{color:var(--muted);font-weight:400}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.st-not_started{background:var(--idle-soft);color:var(--muted)}.st-in_progress{background:var(--accent-soft);color:var(--accent-strong)}.badge-coral{background:var(--coral-soft);color:var(--coral-text)}.badge-violet{background:var(--violet-soft);color:var(--violet-strong)}.st-blocked{background:var(--danger-soft);color:var(--danger-text)}.st-done{background:var(--ok-soft);color:var(--ok)}.dot{border-radius:50%;flex:none;width:8px;height:8px}.dot.not_started{background:var(--idle)}.dot.in_progress{background:var(--accent)}.dot.blocked{background:var(--danger)}.dot.done{background:var(--ok)}.app{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:20;padding:10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(12px);border-bottom:1px solid var(--line);color:var(--fg);flex-wrap:wrap;align-items:center;gap:16px;display:flex;position:sticky;top:0}.topbar .input{background:var(--panel-2)}.topbar .input:focus{background:var(--panel)}.brand-name{letter-spacing:-.02em;font-size:18px;font-weight:700}.brand{letter-spacing:-.01em;color:var(--fg);align-items:center;gap:10px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav a{color:var(--muted);border-radius:8px;padding:7px 12px;font-weight:500;text-decoration:none}.nav a:hover{background:var(--line-soft);color:var(--fg)}.nav a{position:relative}.nav a.active{color:var(--fg);background:0 0;font-weight:700}.nav a.active:after{content:"";background:var(--primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-11px;left:12px;right:12px}.nav kbd{font:11px var(--mono);color:var(--muted);opacity:.7;margin-left:6px}.nav a.active kbd{color:var(--muted)}.topbar-right{flex-wrap:wrap;flex:260px;justify-content:flex-end;align-items:center;gap:10px;display:flex}.search{width:300px;max-width:100%;position:relative}.search-results{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);z-index:30;border-radius:8px;position:absolute;top:44px;left:0;right:0;overflow:hidden}.search-results a{color:var(--fg);border-top:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:9px 12px;text-decoration:none;display:flex}.search-results a:first-child{border-top:0}.search-results a[aria-selected=true],.search-results a:hover{background:var(--accent-soft)}.menu{position:relative}.menu-panel{background:var(--panel);border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow);z-index:30;border-radius:8px;flex-direction:column;padding:6px;display:flex;position:absolute;top:42px;right:0}.menu-panel a,.menu-panel button{text-align:left;cursor:pointer;color:var(--fg);background:0 0;border:0;border-radius:6px;padding:8px 10px;text-decoration:none}.menu-panel a:hover,.menu-panel button:hover{background:var(--line-soft)}.body{flex-wrap:wrap;flex:1;align-items:stretch;display:flex}.sidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;flex:none;gap:24px;width:clamp(200px,22vw,280px);padding:20px 16px;display:flex}.sidebar .tag-btn{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 10px;display:flex}.sidebar .tag-btn:hover{background:var(--line-soft)}.sidebar .tag-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.main{min-width:0;padding:20px max(16px, env(safe-area-inset-right)) 32px 24px;flex-direction:column;flex:999 560px;gap:16px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-head h1{font-size:26px}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:14px;min-width:0;padding:20px;display:flex}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px;padding:28px}.body{position:relative}.body.side-hidden .sidebar,.drawer-head,.drawer-backdrop{display:none}.side-toggle-btn{width:38px;height:38px;font-size:18px;position:relative}.filter-count{background:var(--primary);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}@media (width<=900px){.body .sidebar{display:none}.body.drawer-open .sidebar{z-index:60;width:min(86vw,320px);box-shadow:var(--shadow);border-right:1px solid var(--line);padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.body.drawer-open .drawer-backdrop{z-index:59;background:#0f111473;display:block;position:fixed;inset:0}.body.drawer-open .drawer-head{display:flex}}.board{grid-template-columns:repeat(var(--cols,4), minmax(240px, 1fr));gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.column{border-radius:10px;flex-direction:column;gap:10px;min-height:120px;padding:6px;display:flex}.column.drop{background:var(--accent-soft);outline:2px dashed var(--primary)}.column.no-drop{outline:2px dashed var(--danger);opacity:.7;cursor:not-allowed}.column-head{align-items:center;gap:8px;padding:2px 4px;font-weight:600;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;gap:9px;padding:14px;text-decoration:none;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex}.card:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--line));color:var(--fg);box-shadow:var(--shadow);transform:translateY(-1px)}.card.dragging{opacity:.5}.card.done{opacity:.85}.card-top{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.item-key{white-space:nowrap;font-family:var(--mono);align-items:baseline;gap:6px;display:inline-flex}.item-ref{color:var(--fg);letter-spacing:-.01em;font-weight:700}.item-jira{color:var(--muted);font-size:.92em}.card-key{flex:none;align-items:baseline;gap:6px;display:inline-flex}.card-top>.row{text-align:right;justify-content:flex-end;min-width:0}.card-key .item-key{font-size:12px}.card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.id-cell{white-space:nowrap;width:1%;font-size:12.5px}.detail-ref{background:var(--panel-2);border:1px solid var(--line);font:700 14px var(--mono);color:var(--fg);border-radius:8px;flex:none;align-self:center;padding:3px 9px}.card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.card-foot{color:var(--muted);border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:9px;font-size:12px;display:flex}.target-soon{color:var(--warn);font-weight:500}.target-overdue{color:var(--danger);font-weight:600}.select.prio{width:auto;font-weight:600}.select.prio.compact{min-width:0}.prio-none{color:var(--muted);font-weight:500!important}.prio-badge{height:18px;font:700 11px/1 var(--mono);border-radius:6px;align-items:center;padding:0 6px;display:inline-flex}.delay-badge{background:var(--danger-soft);height:20px;color:var(--danger-text);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}table.grid tr.delayed>td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.status-stack{flex-direction:column;align-items:flex-start;gap:4px;display:inline-flex}.multi-picker{display:inline-block;position:relative}.multi-picker-button{text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;width:auto;overflow:hidden}.multi-picker-button,.status-picker-button{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235d6474' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px!important}.multi-picker-button.on{border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent-strong);font-weight:600}.multi-picker-panel{z-index:30;background:var(--panel);border:1px solid var(--line);min-width:230px;max-height:360px;box-shadow:var(--shadow);text-align:left;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.multi-picker-option{cursor:pointer;color:var(--fg);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.picker-project{align-items:center;gap:6px;display:inline-flex}.toolbar .multi-picker-button{min-width:150px;height:38px}.status-picker{position:relative}.status-picker-button{text-align:left;cursor:pointer;width:auto}.status-picker-button.on{border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent-strong);font-weight:600}.status-picker-panel{z-index:30;background:var(--panel);border:1px solid var(--line);min-width:230px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.status-picker-option{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.status-picker-sep{background:var(--line);height:1px}.columns-picker .status-picker-panel{min-width:240px;left:auto;right:0}.columns-option{justify-content:space-between;align-items:center;gap:8px;display:flex}.columns-move{gap:2px;display:inline-flex}.columns-move .icon-btn{width:26px;height:26px;font-size:13px}.columns-move .icon-btn:disabled{opacity:.35;cursor:default}table.grid th{position:relative}table.grid th.movable{cursor:grab}table.grid th.drop-target{box-shadow:inset 3px 0 0 var(--accent)}.col-resize{z-index:2;cursor:col-resize;touch-action:none;width:8px;height:100%;position:absolute;top:0;right:-4px}.col-resize:after{content:"";background:0 0;border-radius:2px;width:2px;transition:background .15s;position:absolute;top:25%;bottom:25%;left:3px}table.grid th:hover .col-resize:after,.col-resize:focus-visible:after{background:var(--line)}.col-resize:hover:after,.col-resize:active:after{background:var(--accent)!important}.col-resize:focus-visible{outline:none}table.grid.sized{table-layout:fixed;min-width:0}table.grid.sized td{text-overflow:ellipsis;overflow:hidden}table.grid.sized th{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}table.grid.sized td .select{max-width:100%}.link-btn.delay-link{color:var(--danger-text);font-weight:600}.due-today-badge{background:var(--warn-soft);height:20px;color:var(--warn);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}table.grid tr.due-today>td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.due-week-badge{background:var(--accent-soft);height:20px;color:var(--accent-strong);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}.link-btn.due-today-link{color:var(--warn);font-weight:600}.blocker{background:var(--danger-soft);color:var(--danger-text);border-radius:6px;padding:7px 10px;font-size:12px;line-height:1.4}.hint{background:var(--warn-soft);color:var(--warn);border-radius:6px;padding:7px 10px;font-size:12px}.progress{background:var(--line-soft);border-radius:3px;height:6px;overflow:hidden}.progress>span{background:var(--brand-gradient);border-radius:3px;height:100%;display:block}.detail{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.detail-main{flex-direction:column;flex:999 520px;gap:16px;min-width:0;display:flex}.detail-side{flex-direction:column;flex:320px;gap:16px;min-width:0;max-width:420px;display:flex}.title-input{letter-spacing:-.015em;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;margin-left:-7px;padding:4px 6px;font-size:24px;font-weight:600}.title-input:hover,.title-input:focus{border-color:var(--line);background:var(--panel)}.fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.link-row{background:var(--panel-2);border-radius:6px;align-items:center;gap:8px;padding:7px 10px;display:flex}.link-row a{color:var(--fg);flex:1;min-width:0;text-decoration:none}.picker{border:1px solid var(--line);background:var(--panel);border-radius:6px;max-height:220px;overflow-y:auto}.picker button{border:0;border-top:1px solid var(--line-soft);text-align:left;cursor:pointer;background:0 0;gap:8px;width:100%;padding:8px 10px;display:flex}.picker button:first-child{border-top:0}.picker button:hover{background:var(--accent-soft)}.log{grid-template-columns:110px minmax(0,1fr) auto;align-items:start;gap:8px 14px;font-size:13px;line-height:1.5;display:grid}.log .when{font-family:var(--mono);color:var(--muted);padding-top:1px;font-size:12px}.log .auto{color:var(--muted)}.confirm{background:var(--danger-soft);color:var(--danger-text);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.table-wrap{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;overflow-x:auto}table.grid{border-collapse:collapse;width:100%;min-width:980px}table.grid th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600}table.grid th button{cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0}table.grid th button:hover,table.grid th[aria-sort=ascending] button,table.grid th[aria-sort=descending] button{color:var(--fg)}table.grid td{border-bottom:1px solid var(--line-soft);vertical-align:middle;font-variant-numeric:tabular-nums;padding:9px 12px}table.grid tr:last-child td{border-bottom:0}table.grid tr.context td{color:var(--muted)}table.grid tr:hover td{background:var(--panel-2)}.tree-cell{align-items:center;gap:6px;min-width:220px;display:flex}.tree-cell a{color:var(--fg);font-weight:500;text-decoration:none}.tree-cell .parent-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:280px;overflow:hidden}.tree-cell .parent-path a{color:var(--muted);font-weight:400}.tree-cell .parent-path a:hover{color:var(--accent);text-decoration:underline}.graph-wrap{border:1px solid var(--line);background:var(--panel);border-radius:14px;height:640px;overflow:hidden}.graph-layout{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.graph-layout>.graph-main{flex-direction:column;flex:999 600px;gap:10px;min-width:0;display:flex}.graph-layout>.panel{flex:280px;max-width:340px}.gnode{background:var(--panel);border:1px solid var(--line);width:168px;min-height:60px;box-shadow:var(--shadow-sm);color:var(--fg);border-radius:10px;gap:8px;padding:8px 10px;font-size:13px;line-height:1.3;display:flex}.gnode.blocked{border:2px solid var(--danger);padding:7px 9px}.gnode.done{opacity:.6}.gnode.selected{border:2px solid var(--accent);box-shadow:var(--shadow);padding:7px 9px}.gnode .dot{margin-top:5px}.garea{border:1px dashed color-mix(in srgb, var(--tag) 55%, transparent);background:color-mix(in srgb, var(--tag) 7%, transparent);border-radius:12px;width:100%;height:100%}.garea-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--tag) 80%, var(--fg));font-size:11px;font-weight:600;position:absolute;top:8px;left:12px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;font-size:12px;display:flex}.react-flow__handle{background:var(--brand);border:2px solid var(--panel);width:10px;height:10px}.react-flow__attribution{display:none}.react-flow__controls button{background:var(--panel);color:var(--fg);border-bottom-color:var(--line);fill:var(--fg)}.counts{background:var(--line);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.counts>div{background:var(--panel);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.counts strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}@media (width<=760px){.counts{grid-template-columns:repeat(2,minmax(0,1fr))}}.statusbar{background:var(--line-soft);border-radius:4px;height:8px;display:flex;overflow:hidden}.statusbar span{height:100%}.paste{color:#eef0f6;font:12px/1.6 var(--mono);white-space:pre-wrap;background:#0f1222;border-radius:14px;margin:0;padding:16px;overflow-x:auto}.snapshot-layout{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.snapshot-layout>.stack:first-child{flex:999 520px;gap:16px;min-width:0}.snapshot-layout>aside{flex:320px;min-width:0;max-width:440px}ul.highlights{flex-direction:column;gap:6px;margin:0;padding-left:18px;line-height:1.5;display:flex}.auth{isolation:isolate;background:var(--bg);flex-direction:column;min-height:100%;display:flex;position:relative;overflow:hidden}.auth-backdrop{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.blob{filter:blur(70px);opacity:.55;border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:absolute}.blob-blue{background:radial-gradient(circle,#8fbaff 0%,#0000 70%);width:560px;height:560px;top:-200px;left:-160px}.blob-violet{background:radial-gradient(circle,#b9b0ff 0%,#0000 70%);width:620px;height:620px;animation-delay:-6s;top:8%;right:-200px}.blob-coral{opacity:.45;background:radial-gradient(circle,#ffc2ab 0%,#0000 70%);width:420px;height:420px;animation-delay:-11s;bottom:-220px;left:38%}@keyframes drift{to{transform:translate(40px,30px)scale(1.08)}}.auth-dots{background-image:radial-gradient(color-mix(in srgb, var(--fg) 14%, transparent) 1px, transparent 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 30% 40%,#000 0%,#0000 75%);mask-image:radial-gradient(70% 60% at 30% 40%,#000 0%,#0000 75%)}.auth-waves{width:100%;height:42%;position:absolute;bottom:0;left:0;right:0}.wave{animation:14s ease-in-out infinite alternate wave}@keyframes wave{to{transform:translateY(-18px)}}.auth-top{justify-content:space-between;align-items:center;gap:16px;padding:24px clamp(16px,5vw,64px) 0;display:flex}.auth-about{background:color-mix(in srgb, var(--panel) 80%, transparent);border:1px solid var(--line);color:var(--fg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.auth-about:hover{color:var(--fg);border-color:var(--muted)}.auth-main{flex:1;justify-content:center;align-items:center;gap:clamp(32px,6vw,96px);padding:32px clamp(16px,5vw,64px) 56px;display:flex}.auth-card{background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:20px;flex-direction:column;flex:none;gap:18px;padding:32px;display:flex;position:relative}.auth-card h1{font-size:26px;font-weight:700}.auth-hero{flex-direction:column;flex:0 560px;gap:18px;min-width:0;display:flex}.hero-badge{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 12px 5px 8px;font-size:13px;font-weight:500;display:inline-flex}.hero-badge-dot{background:var(--coral);width:16px;height:16px;box-shadow:inset 0 0 0 4px color-mix(in srgb, #fff 55%, var(--coral));border-radius:50%}.hero-title{letter-spacing:-.03em;font-size:clamp(36px,4.4vw,56px);font-weight:800;line-height:1.08}.hero-sub{max-width:460px;color:var(--muted);margin:0;font-size:16px;line-height:1.55}.hero-art{height:300px;margin-top:10px;position:relative}.float-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:14px 16px;animation:7s ease-in-out infinite float;position:absolute}.float-chip{box-shadow:var(--shadow);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;animation:6s ease-in-out infinite float;position:absolute}@keyframes float{50%{transform:translateY(-8px)}}.art-head{justify-content:space-between;gap:12px;font-size:12px;font-weight:600;display:flex}.art-muted{color:var(--muted);font-weight:400}.art-graph{width:290px;animation-delay:-2s;top:20px;left:0}.art-hours{z-index:1;width:210px;top:0;left:274px}.art-total{letter-spacing:-.02em;margin:2px 0 8px;font-size:26px;font-weight:800}.art-bars{grid-template-columns:repeat(5,1fr);gap:8px;height:90px;display:grid}.art-track{background:var(--violet-soft);border-radius:8px;position:relative}.art-bar{background:var(--violet);opacity:.85;border-radius:8px;position:absolute;bottom:0;left:0;right:0}.art-bar.now{opacity:1;background:var(--violet-strong);box-shadow:0 6px 14px color-mix(in srgb, var(--violet) 40%, transparent)}.art-days{color:var(--muted);text-align:center;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:6px;font-size:11px;display:grid}.art-item{z-index:2;align-items:center;gap:10px;padding:10px 14px;animation-delay:-4s;display:flex;top:200px;left:120px}.art-key{font:500 12px var(--mono);color:var(--muted)}.art-title{white-space:nowrap;font-size:13px;font-weight:600}.art-pill{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.art-blocked{background:var(--coral-soft);color:var(--coral-text);z-index:2;animation-delay:-1s;top:0;left:20px}.art-sent{background:var(--ok-soft);color:var(--ok);animation-delay:-3s;top:236px;left:380px}@media (width<=1080px){.auth-hero{display:none}}@media (width<=520px){.auth-card{border-radius:16px;padding:24px 20px}.auth-main{padding-top:20px}}.notice{background:var(--accent-soft);color:var(--accent-strong);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5}.notice.error{background:var(--danger-soft);color:var(--danger-text)}.overlay{z-index:50;background:#0f111473;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--line);width:100%;max-width:480px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:14px;padding:20px;display:flex}.quick-parent{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;flex-wrap:nowrap;min-width:0;padding:6px 8px}.quick-parent .quick-parent-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.picker button:disabled{opacity:.5;cursor:not-allowed}.picker button:disabled:hover{background:0 0}.toasts{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed}.toast{background:var(--fg);max-width:380px;color:var(--bg);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;display:flex}.toast.error{background:var(--danger);color:#fff}.toast button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:600;text-decoration:underline}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.timer-bar{top:var(--topbar-h,56px);z-index:19;padding:8px max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));background:var(--primary);color:#fff;box-shadow:0 2px 10px color-mix(in srgb, var(--primary) 35%, transparent);flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:sticky}.timer-bar a,.timer-bar b{color:#fff;font-weight:600}.timer-dot{background:#fff;border-radius:50%;width:10px;height:10px;animation:1.6s ease-in-out infinite pulse;box-shadow:0 0 0 4px #ffffff4d}.timer-bar .input{color:#111827;background:#fff;border-color:#0000}.timer-bar .btn.primary{color:var(--primary);background:#fff;border-color:#fff}.timer-bar .btn.primary:hover{background:#ffffffe6}.timer-bar .btn.ghost{color:#fff;background:0 0;border-color:#ffffff80}.timer-bar .btn.ghost:hover{background:#ffffff26}@keyframes pulse{50%{opacity:.3}}.chart-wrap{overflow-x:auto}.chart text{fill:var(--muted);font:12px var(--font)}.chart .val{fill:var(--fg);font-weight:600}.chart .track{fill:var(--violet-soft)}.chart .bar{fill:var(--violet);opacity:.85}.chart .bar.today{opacity:1;fill:var(--violet-strong)}.chart .grid{stroke:var(--line-soft)}.chart .axis{stroke:var(--line)}.graph-narrow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.graph-narrow .range-narrow{border-left:0;margin-left:0;padding-left:0}.chart .bar-group{cursor:pointer}.chart .bar-group.dim{opacity:.3}.chart .part{stroke:var(--panel);stroke-width:1px}.focus-row{flex-wrap:wrap;gap:6px;margin:2px 0 6px}.focus-row .chip{--tag:var(--accent);height:26px;padding:0 10px}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:12.5px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-item b{color:var(--fg);font-weight:600}.legend-swatch{border-radius:3px;flex:none;width:10px;height:10px}.meter{background:var(--line-soft);border-radius:4px;min-width:60px;height:8px;overflow:hidden}.meter>span{background:var(--tag,var(--primary));height:100%;display:block}.day-group{flex-direction:column;gap:6px;display:flex}.day-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;padding-bottom:4px;font-weight:600;display:flex}.entry-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:6px 0;font-size:13px;display:grid}.entry-row a{color:var(--fg);text-decoration:none}.week-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.week-nav .jump-input{width:auto;height:30px;min-height:30px;padding:2px 8px;font-size:13px}.react-flow__node-area{pointer-events:none!important}.announcement{padding:9px max(16px, env(safe-area-inset-right)) 9px max(16px, env(safe-area-inset-left));background:var(--violet-soft);color:var(--fg);border-bottom:1px solid var(--line);align-items:center;gap:10px;font-size:13px;display:flex}.announcement-tag{background:var(--violet);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.stat strong{letter-spacing:-.02em;font-size:28px;font-weight:800}@media (width<=760px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.person{text-align:left;cursor:pointer;color:var(--fg);background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.person:hover b{color:var(--accent)}.avatar{background:var(--brand-gradient);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}table.grid tr.selected td{background:var(--accent-soft)}.choice{cursor:pointer;align-items:flex-start;gap:8px;line-height:1.4;display:flex}.choice input{margin-top:3px}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.mode{border:1px solid var(--line);cursor:pointer;background:var(--panel);border-radius:12px;flex-direction:column;gap:4px;padding:14px;transition:border-color .15s,box-shadow .15s;display:flex}.mode:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--line))}.mode.on{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-soft)}.mode:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.facts{grid-template-columns:auto minmax(0,1fr);gap:8px 14px;margin:0;font-size:13px;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.calendar{--bar-h:26px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.calendar.week{--bar-h:34px}.cal-head{border-bottom:1px solid var(--line);background:var(--panel-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-head span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 10px;font-size:11px;font-weight:600}.cal-week{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(7,minmax(0,1fr));row-gap:3px;min-height:104px;padding-bottom:8px;display:grid;position:relative}.calendar.week .cal-week{min-height:360px}.cal-week:last-child{border-bottom:0}.cal-day{border-left:1px solid var(--line-soft)}.cal-day:first-child{border-left:0}.cal-day.weekend{background:color-mix(in srgb, var(--panel-2) 70%, transparent)}.cal-day.outside{background:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--line-soft) 60%, transparent) 6px 7px)}.cal-day.today{background:color-mix(in srgb, var(--accent-soft) 70%, transparent)}.cal-num{color:var(--muted);font-variant-numeric:tabular-nums;z-index:1;align-self:start;padding:6px 10px 2px;font-size:12px}.cal-num.today{color:var(--on-accent)}.cal-num.today:before{content:""}.cal-num.today{background:var(--primary);border-radius:999px;justify-self:start;margin:4px 0 0 6px;padding:1px 8px;font-weight:700}.cal-bar{z-index:1;min-width:0;color:var(--fg);background:color-mix(in srgb, var(--tag) 16%, var(--panel));border:1px solid color-mix(in srgb, var(--tag) 45%, transparent);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;margin:0 4px;padding:0 8px;font-size:12px;text-decoration:none;display:flex;overflow:hidden}.cal-bar:hover{background:color-mix(in srgb, var(--tag) 26%, var(--panel));color:var(--fg)}.cal-bar.cont-before{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.cal-bar.cont-after{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.cal-bar.st-bar-done{opacity:.6}.cal-bar.st-bar-done .cal-title{text-decoration:line-through}.cal-bar.st-bar-blocked{border-color:var(--danger)}.cal-key{color:color-mix(in srgb, var(--tag) 60%, var(--fg));flex:none;font-size:11px}.cal-title{text-overflow:ellipsis;min-width:0;overflow:hidden}.cal-targets{z-index:1;flex-direction:column;align-self:start;gap:2px;min-width:0;padding:2px 6px 0;display:flex}.cal-target{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:11px;text-decoration:none;overflow:hidden}.cal-target.late{color:var(--danger-text);font-weight:600}.cal-target.done{color:var(--muted)}@media (width<=760px){.cal-key{display:none}.cal-bar{padding:0 4px}.calendar{--bar-h:22px}}.gantt{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;display:flex;overflow:hidden}.gantt-labels{border-right:1px solid var(--line);background:var(--panel);flex:0 0 min(300px,40%);min-width:0}.gantt-label{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;min-width:0;padding:0 12px;font-size:13px;display:flex}.gantt-label a{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;min-width:0;text-decoration:none;overflow:hidden}.gantt-label a:hover{color:var(--accent)}.gantt-group-label{background:var(--panel-2);border-bottom:1px solid var(--line);color:color-mix(in srgb, var(--tag) 55%, var(--fg));align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.gantt-scroll{touch-action:pan-y;flex:1;min-width:0;overflow:auto hidden}.gantt-head{border-bottom:1px solid var(--line);background:var(--panel-2);height:56px;position:relative}.gantt-months span,.gantt-days span{white-space:nowrap;color:var(--muted);font-size:11px;position:absolute}.gantt-months span{color:var(--fg);border-left:1px solid var(--line);height:48px;padding-left:6px;font-weight:700;top:8px}.gantt-days span{text-align:center;font-variant-numeric:tabular-nums;top:32px}.gantt-days span.today{color:var(--on-accent);background:var(--primary);border-radius:999px;font-weight:700}.gantt-body{position:relative}.gantt-weekend{background:color-mix(in srgb, var(--panel-2) 80%, transparent);position:absolute;top:0;bottom:0}.gantt-monthline{background:var(--line);width:1px;position:absolute;top:0;bottom:0}.gantt-group-band{background:var(--panel-2);border-bottom:1px solid var(--line);position:absolute;left:0;right:0}.gantt-today{background:var(--coral);z-index:2;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.gantt-arrows{z-index:3;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.gantt-arrows path{pointer-events:stroke}.gantt-row{border-bottom:1px solid var(--line-soft);position:absolute;left:0;right:0}.gantt-bar{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:4;background:color-mix(in srgb, var(--tag) 78%, var(--panel));color:#fff;border-radius:8px;align-items:center;display:flex;position:absolute;top:7px;bottom:7px;box-shadow:0 1px 2px #0f12221f}.gantt-bar:hover{box-shadow:0 0 0 2px color-mix(in srgb, var(--tag) 35%, transparent)}.gantt-bar:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.gantt-bar.dragging{cursor:grabbing;opacity:.9;box-shadow:var(--shadow)}.gantt-bar.st-bar-done{background:color-mix(in srgb, var(--tag) 30%, var(--panel));color:var(--fg)}.gantt-bar.st-bar-not_started{background:color-mix(in srgb, var(--tag) 22%, var(--panel));color:var(--fg);border:1.5px dashed color-mix(in srgb, var(--tag) 70%, transparent)}.gantt-bar.blocked{box-shadow:inset 0 0 0 2px var(--danger)}.gantt-bar-text{white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 1px #0000001f;flex:1;min-width:0;padding:0 10px;font-size:12px;font-weight:600;overflow:hidden}.gantt-bar.st-bar-done .gantt-bar-text,.gantt-bar.st-bar-not_started .gantt-bar-text{text-shadow:none}.gantt-handle{cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0}.gantt-handle.start{border-radius:8px 0 0 8px;left:0}.gantt-handle.end{border-radius:0 8px 8px 0;right:0}.gantt-handle:hover{background:#ffffff59}.gantt-drag-tip{background:var(--fg);color:var(--bg);white-space:nowrap;pointer-events:none;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:-26px;left:0}.gantt-target{color:var(--fg);z-index:5;pointer-events:auto;font-size:14px;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.gantt-target.late{color:var(--danger)}.gantt-target.overrun{color:var(--warn)}.gantt-schedule{border:1px dashed var(--line);background:var(--panel);height:24px;color:var(--muted);cursor:pointer;z-index:4;border-radius:8px;padding:0 10px;font-size:12px;position:absolute;top:8px}.gantt-schedule:hover{color:var(--accent);border-color:var(--accent)}.gantt-label.parent a{font-weight:700}.gantt-fold{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:0;font-size:12px;line-height:20px}.gantt-fold:hover{background:var(--line-soft);color:var(--fg)}.gantt-fold-space{text-align:center;width:20px;color:var(--line);flex:none;font-size:12px}.gantt-note{white-space:nowrap;flex:none}.gantt-summary{background:color-mix(in srgb, var(--fg) 45%, transparent);z-index:3;border-radius:2px;height:4px;position:absolute;bottom:2px}.gantt-summary:before,.gantt-summary:after{content:"";background:inherit;border-radius:1px;width:2px;height:8px;position:absolute;bottom:0}.gantt-summary:before{left:0}.gantt-summary:after{right:0}.gantt-summary.outside{background:var(--warn)}.gantt-legend-summary{background:color-mix(in srgb, var(--fg) 45%, transparent);vertical-align:middle;border-radius:2px;width:24px;height:4px;display:inline-block}.gantt-legend-bar{background:var(--primary);vertical-align:middle;border-radius:4px;width:24px;height:10px;display:inline-block}.gantt-bar-badge{color:#fff;width:16px;height:16px;box-shadow:0 0 0 1.5px var(--panel);border-radius:50%;flex:none;place-items:center;margin-left:5px;font-size:10px;font-weight:800;line-height:1;display:inline-grid}.gantt-bar-badge.done{background:var(--ok)}.gantt-bar-badge.blocked{background:var(--danger)}.gantt-bar-badge+.gantt-bar-text{padding-left:6px}.gantt-bar.st-bar-done .gantt-bar-text{color:var(--muted);font-weight:500}.gantt-mark{color:#fff;border-radius:50%;flex:none;place-items:center;width:14px;height:14px;font-size:9px;font-weight:800;line-height:1;display:inline-grid}.gantt-mark.done{background:var(--ok)}.gantt-mark.blocked{background:var(--danger)}.gantt-label.done a{color:var(--muted)}.gantt-label.done a .item-key{opacity:.8}.gantt-count-done{color:var(--ok)}.gantt-key{margin-top:4px}.gantt-key-bar{vertical-align:middle;--tag:var(--primary);border-radius:5px;align-items:center;width:34px;height:14px;margin-right:2px;display:inline-flex}.gantt-key-bar.in_progress{background:color-mix(in srgb, var(--tag) 78%, var(--panel))}.gantt-key-bar.not_started{background:color-mix(in srgb, var(--tag) 22%, var(--panel));border:1.5px dashed color-mix(in srgb, var(--tag) 70%, transparent)}.gantt-key-bar.blocked{background:color-mix(in srgb, var(--tag) 78%, var(--panel));box-shadow:inset 0 0 0 2px var(--danger)}.gantt-key-bar.done{background:color-mix(in srgb, var(--tag) 30%, var(--panel))}.gantt-key-bar .gantt-bar-badge{width:12px;height:12px;margin-left:3px;font-size:8px}@media (width<=760px){.gantt-labels{flex-basis:150px}}.app-version{border-top:1px solid var(--line-soft);color:var(--muted);margin-top:auto;padding-top:12px;font-size:12px}.auth-version a{color:var(--muted)}.auth-version{color:var(--muted);text-align:right;padding:0 clamp(16px,5vw,64px) 16px;font-size:12px;position:relative}.entry-actions{opacity:.75;gap:2px;display:inline-flex}.entry-row:hover .entry-actions,.entry-actions:focus-within{opacity:1}.danger-text{color:var(--danger-text)}.danger-text:hover{color:var(--danger-text);background:var(--danger-soft)}.entry-range{text-align:right;min-width:86px}.entry-editor{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--line));background:var(--accent-soft);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:4px 0;padding:12px;display:flex}@media (width<=760px){.entry-row{grid-template-columns:minmax(0,1fr) auto}.entry-range{display:none}}.project-create{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-create .input{flex:140px;width:auto}.picker .picker-create{color:var(--accent);font-weight:600}.time-cell{cursor:pointer;font:inherit;color:var(--fg);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:3px 8px}.time-cell:hover,.time-cell[aria-expanded=true]{border-color:var(--line);background:var(--panel);color:var(--accent)}.time-cell.empty{color:var(--muted)}table.grid tr.time-open td{background:var(--accent-soft)}table.grid tr.time-row td{background:var(--panel-2);padding:12px}table.grid tr.time-row:hover td{background:var(--panel-2)}.time-row-inner{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;max-width:1100px;padding:12px 14px;display:flex}.entry-row.item-entry{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto auto auto}.input.computed{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.play-btn{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--line));background:var(--panel);width:30px;height:30px;color:var(--primary);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0 0 0 2px;font-size:11px;line-height:1;transition:background .15s,color .15s,transform .1s;display:inline-grid}.play-btn.small{width:26px;height:26px;font-size:10px}.play-btn:hover{background:var(--primary);color:var(--on-accent)}.play-btn:active{transform:scale(.94)}.play-btn.running{border-color:var(--danger);color:var(--danger);background:var(--danger-soft);padding:0}.play-btn.running:hover{background:var(--danger);color:#fff}.card-play{opacity:0;transition:opacity .15s}.card:hover .card-play,.card-play:focus-within,.card-play.on{opacity:1}@media (hover:none){.card-play{opacity:1}}:root[data-palette=violet]{--primary:#6d4ae6;--primary-hover:#5b3bd1;--accent:#5b3bd1;--accent-strong:#4a2fb3;--accent-soft:#f1edfe;--violet:#d63d8f;--violet-strong:#b8306f;--violet-soft:#fdeef6;--brand:#d63d8f;--brand-gradient:linear-gradient(90deg, #6d4ae6 0%, #d63d8f 100%);--shadow-primary:0 6px 16px #6d4ae647}:root[data-theme=dark][data-palette=violet]{--primary:#6d4ae6;--primary-hover:#7d5cf0;--accent:#b4a2ff;--accent-strong:#d4c9ff;--accent-soft:#241c4d;--violet:#f28cc4;--violet-strong:#f7b3d8;--violet-soft:#3a1530;--brand:#f28cc4;--brand-gradient:linear-gradient(90deg, #b4a2ff 0%, #f28cc4 100%);--shadow-primary:0 6px 16px #6d4ae659}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-palette=violet]{--primary:#6d4ae6;--primary-hover:#7d5cf0;--accent:#b4a2ff;--accent-strong:#d4c9ff;--accent-soft:#241c4d;--violet:#f28cc4;--violet-strong:#f7b3d8;--violet-soft:#3a1530;--brand:#f28cc4;--brand-gradient:linear-gradient(90deg, #b4a2ff 0%, #f28cc4 100%);--shadow-primary:0 6px 16px #6d4ae659}}:root[data-palette=teal]{--primary:#0f766e;--primary-hover:#115e59;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:#e6f6f4;--violet:#0e7490;--violet-strong:#155e75;--violet-soft:#e6f5f9;--brand:#0e7490;--brand-gradient:linear-gradient(90deg, #0f766e 0%, #0e7490 100%);--shadow-primary:0 6px 16px #0f766e47}:root[data-theme=dark][data-palette=teal]{--primary:#0f766e;--primary-hover:#14897f;--accent:#5eead4;--accent-strong:#99f6e4;--accent-soft:#0f2f2c;--violet:#67e8f9;--violet-strong:#a5f3fc;--violet-soft:#0c2a33;--brand:#67e8f9;--brand-gradient:linear-gradient(90deg, #5eead4 0%, #67e8f9 100%);--shadow-primary:0 6px 16px #0f766e59}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-palette=teal]{--primary:#0f766e;--primary-hover:#14897f;--accent:#5eead4;--accent-strong:#99f6e4;--accent-soft:#0f2f2c;--violet:#67e8f9;--violet-strong:#a5f3fc;--violet-soft:#0c2a33;--brand:#67e8f9;--brand-gradient:linear-gradient(90deg, #5eead4 0%, #67e8f9 100%);--shadow-primary:0 6px 16px #0f766e59}}:root[data-palette=forest]{--primary:#15803d;--primary-hover:#166534;--accent:#166534;--accent-strong:#14532d;--accent-soft:#e9f7ee;--violet:#a16207;--violet-strong:#854d0e;--violet-soft:#fdf6e3;--brand:#a16207;--brand-gradient:linear-gradient(90deg, #15803d 0%, #a16207 100%);--shadow-primary:0 6px 16px #15803d47}:root[data-theme=dark][data-palette=forest]{--primary:#15803d;--primary-hover:#1a9147;--accent:#86efac;--accent-strong:#bbf7d0;--accent-soft:#0f2a1c;--violet:#fcd34d;--violet-strong:#fde68a;--violet-soft:#33270a;--brand:#fcd34d;--brand-gradient:linear-gradient(90deg, #86efac 0%, #fcd34d 100%);--shadow-primary:0 6px 16px #15803d59}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-palette=forest]{--primary:#15803d;--primary-hover:#1a9147;--accent:#86efac;--accent-strong:#bbf7d0;--accent-soft:#0f2a1c;--violet:#fcd34d;--violet-strong:#fde68a;--violet-soft:#33270a;--brand:#fcd34d;--brand-gradient:linear-gradient(90deg, #86efac 0%, #fcd34d 100%);--shadow-primary:0 6px 16px #15803d59}}:root[data-palette=sunset]{--primary:#c2410c;--primary-hover:#9a3412;--accent:#c2410c;--accent-strong:#9a3412;--accent-soft:#fff1ea;--violet:#be185d;--violet-strong:#9d174d;--violet-soft:#fdeef5;--brand:#be185d;--brand-gradient:linear-gradient(90deg, #c2410c 0%, #be185d 100%);--shadow-primary:0 6px 16px #c2410c47}:root[data-theme=dark][data-palette=sunset]{--primary:#c2410c;--primary-hover:#d4501a;--accent:#fdba74;--accent-strong:#fed7aa;--accent-soft:#3a1d12;--violet:#f9a8d4;--violet-strong:#fbcfe8;--violet-soft:#3a1228;--brand:#f9a8d4;--brand-gradient:linear-gradient(90deg, #fdba74 0%, #f9a8d4 100%);--shadow-primary:0 6px 16px #c2410c59}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-palette=sunset]{--primary:#c2410c;--primary-hover:#d4501a;--accent:#fdba74;--accent-strong:#fed7aa;--accent-soft:#3a1d12;--violet:#f9a8d4;--violet-strong:#fbcfe8;--violet-soft:#3a1228;--brand:#f9a8d4;--brand-gradient:linear-gradient(90deg, #fdba74 0%, #f9a8d4 100%);--shadow-primary:0 6px 16px #c2410c59}}:root[data-palette=rose]{--primary:#be123c;--primary-hover:#9f1239;--accent:#be123c;--accent-strong:#9f1239;--accent-soft:#fff0f3;--violet:#7c3aed;--violet-strong:#6d28d9;--violet-soft:#f3eefe;--brand:#7c3aed;--brand-gradient:linear-gradient(90deg, #be123c 0%, #7c3aed 100%);--shadow-primary:0 6px 16px #be123c47}:root[data-theme=dark][data-palette=rose]{--primary:#be123c;--primary-hover:#d01d4a;--accent:#fda4af;--accent-strong:#fecdd3;--accent-soft:#3b1220;--violet:#c4b5fd;--violet-strong:#ddd6fe;--violet-soft:#251a46;--brand:#c4b5fd;--brand-gradient:linear-gradient(90deg, #fda4af 0%, #c4b5fd 100%);--shadow-primary:0 6px 16px #be123c59}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-palette=rose]{--primary:#be123c;--primary-hover:#d01d4a;--accent:#fda4af;--accent-strong:#fecdd3;--accent-soft:#3b1220;--violet:#c4b5fd;--violet-strong:#ddd6fe;--violet-soft:#251a46;--brand:#c4b5fd;--brand-gradient:linear-gradient(90deg, #fda4af 0%, #c4b5fd 100%);--shadow-primary:0 6px 16px #be123c59}}:root[data-palette=graphite]{--primary:#1f2937;--primary-hover:#111827;--accent:#374151;--accent-strong:#1f2937;--accent-soft:#f1f3f6;--violet:#4f46e5;--violet-strong:#4338ca;--violet-soft:#eef0fe;--brand:#4f46e5;--brand-gradient:linear-gradient(90deg, #1f2937 0%, #4f46e5 100%);--shadow-primary:0 6px 16px #1f293747}:root[data-theme=dark][data-palette=graphite]{--primary:#4b5563;--primary-hover:#5b6575;--accent:#d1d5db;--accent-strong:#e5e7eb;--accent-soft:#1f2330;--violet:#a5b4fc;--violet-strong:#c7d2fe;--violet-soft:#1e1f45;--brand:#a5b4fc;--brand-gradient:linear-gradient(90deg, #d1d5db 0%, #a5b4fc 100%);--shadow-primary:0 6px 16px #4b556359}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-palette=graphite]{--primary:#4b5563;--primary-hover:#5b6575;--accent:#d1d5db;--accent-strong:#e5e7eb;--accent-soft:#1f2330;--violet:#a5b4fc;--violet-strong:#c7d2fe;--violet-soft:#1e1f45;--brand:#a5b4fc;--brand-gradient:linear-gradient(90deg, #d1d5db 0%, #a5b4fc 100%);--shadow-primary:0 6px 16px #4b556359}}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.palette-btn{border:1px solid var(--line);background:var(--panel);color:var(--fg);font:inherit;cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;display:flex}.palette-btn:hover{border-color:var(--muted)}.palette-btn[aria-pressed=true]{border-color:var(--primary);box-shadow:0 0 0 2px var(--accent-soft)}.palette-swatches{gap:4px;display:flex}.palette-swatches span{border-radius:6px;width:22px;height:22px}.cell-edit{max-width:100%;min-height:30px;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;margin:-3px -6px;padding:3px 6px;display:inline-flex}.cell-edit:hover,.cell-edit:focus-visible{border-color:var(--line);background:var(--panel)}.cell-pen{color:var(--muted);opacity:0;font-size:12px;transition:opacity .12s}.cell-edit:hover .cell-pen,.cell-edit:focus-visible .cell-pen{opacity:1}.cell-editor{flex-wrap:wrap;align-items:center;gap:6px;min-width:140px;display:flex}.cell-editor.wide{min-width:260px}.cell-editor .select{width:auto;max-width:220px;min-height:32px;padding-top:4px;padding-bottom:4px}.input.small-input{width:auto;max-width:150px;min-height:32px;padding:4px 8px}.cell-status .select{padding:2px 26px 2px 10px;font-size:12.5px;min-height:28px!important}.segmented button:disabled{opacity:.45;cursor:default}.side-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.side-toggle{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;display:inline-flex}.side-toggle .chev{width:12px;color:var(--muted);transition:transform .12s;display:inline-block}.side-toggle[aria-expanded=false] .chev{transform:rotate(-90deg)}.side-toggle .count{color:var(--muted);letter-spacing:0;text-transform:none;font-size:11px;font-weight:500}.side-list{flex-direction:column;gap:4px;display:flex}.side-list.scroll{max-height:280px;padding-right:2px;overflow-y:auto}.cell-edit .mono,.cell-edit .small{white-space:nowrap}.field>.segmented,.field>.palette-grid+*{align-self:flex-start}.cell-edit>span:not(.row){white-space:nowrap}.suggest{position:relative}.suggest-list{background:var(--panel);border:1px solid var(--line);min-width:100%;max-width:420px;max-height:260px;box-shadow:var(--shadow);z-index:40;border-radius:8px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.suggest-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px;font-size:11px;font-weight:600}.suggest-list button{border:0;border-top:1px solid var(--line-soft);width:100%;color:var(--fg);text-align:left;cursor:pointer;font:inherit;background:0 0;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.suggest-list button.active,.suggest-list button:hover{background:var(--accent-soft)}.suggest-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.report-table .report-day-row th{background:var(--accent-soft);color:var(--fg);text-transform:none;letter-spacing:0;font-size:13px}.report-table tfoot th{text-align:left;border-top:2px solid var(--line);padding:10px 12px;font-size:13px}.report-table tfoot th.tabular,.report-table .report-day-row th.tabular{text-align:right}.report-day{gap:12px}.report-group{border:1px solid var(--line-soft);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.report-items{flex-direction:column;gap:4px;margin:2px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.report-items li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.report-items a{color:var(--fg);text-decoration:none}.report-items a:hover{text-decoration:underline}.report-time{margin-left:auto;font-weight:600}.app-version .developer{color:var(--fg);font-weight:600}.app-version .app-about{color:var(--muted)}.app-version .app-about:hover{color:var(--accent)}.color-well{cursor:pointer;width:24px;height:24px;box-shadow:inset 0 0 0 2px var(--panel);background:conic-gradient(#f87171,#fbbf24,#4ade80,#22d3ee,#818cf8,#f472b6,#f87171);border-radius:50%;position:relative;overflow:hidden}.color-well input{opacity:0;cursor:pointer;border:0;width:36px;height:36px;padding:0;position:absolute;inset:-6px}.confirm-delete{border-color:var(--danger);max-width:420px}.announcement.nudge{background:var(--accent-soft)}@media (width<=900px){.topbar{padding-top:max(8px, env(safe-area-inset-top));gap:8px 10px}.nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex:1 0 100%;order:10;margin:0 -16px;padding:0 16px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;padding:7px 10px}.nav kbd{display:none}.nav a.active:after{bottom:-6px}.topbar-right{flex-wrap:nowrap;flex:auto}.search{flex:120px;width:auto;min-width:0}.new-item-label{display:none}.new-item-btn{padding:0 12px;font-size:20px;line-height:1}.main{padding:14px max(12px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));gap:12px}.page-head h1{font-size:22px}.panel{border-radius:12px;padding:14px}.board{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:min(84vw,300px);grid-auto-flow:column}.column{scroll-snap-align:start}.overlay{padding:max(8px, env(safe-area-inset-top)) 8px 8px;align-items:stretch}.dialog{border-radius:14px;max-width:none;padding:16px}.detail-side,.snapshot-layout>aside{max-width:none}table.grid th,table.grid td{padding:8px 10px}.suggest-list{max-width:calc(100vw - 32px)}}@media (width<=900px) and (pointer:coarse){.btn,.select,.icon-btn{min-height:40px}.input,.select,.textarea{min-height:40px;font-size:16px}.small-input{font-size:16px}.cell-edit,.tag-btn{min-height:36px}}@media (width<=520px){.brand-name{display:none}.counts{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button{padding:6px 10px}.page-head{flex-direction:column;align-items:flex-start}}.gentry{background:var(--panel-2);border:1px dashed var(--line);width:156px;height:40px;color:var(--fg);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;column-gap:8px;padding:4px 8px;font-size:12px;line-height:1.2;display:grid}.gentry .gentry-note{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);grid-column:1/3;overflow:hidden}.gentry.more{border-style:dotted;justify-content:center;display:flex}.gentry .react-flow__handle{opacity:0}.note-field{align-items:center;display:flex;position:relative}.note-field .input{width:100%;padding-right:34px}.note-fill{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.note-fill:hover,.note-fill:focus-visible{background:var(--accent-soft);color:var(--primary)}.timer-note{flex:200px;max-width:420px}.timer-note .input{height:30px;font-size:13px}.timer-note.invalid .input{border-color:var(--danger-text);box-shadow:0 0 0 3px var(--danger-soft)}@media (width<=900px){.timer-note{flex-basis:100%;order:5;max-width:none}}table.csv-preview td{font-size:13px}table.csv-preview tr.csv-bad td{background:var(--danger-soft)}.range-bar{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:-4px 0 14px;padding:6px 10px;display:flex}.range-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.segmented.small button{height:28px;padding:0 10px;font-size:13px}.toolbar{flex-flow:wrap;align-items:flex-start;gap:14px 20px}.toolbar>.field{gap:6px}.toolbar>.field>.label{white-space:nowrap;height:16px;line-height:16px;display:block}.toolbar .select,.toolbar .input{width:auto;min-width:150px;height:38px;min-height:38px;padding-top:0;padding-bottom:0}.toolbar .segmented{align-self:flex-start;height:38px}.toolbar .segmented button{white-space:nowrap;height:36px;padding:0 14px}.toolbar .chip-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;display:flex}.toolbar .chip-row .chip{height:30px;padding:0 12px;font-size:13px}.toolbar>.field.wide{flex:100%}.toolbar .clear-filters{height:38px;padding:0 12px}@media (width<=640px){.toolbar>.field{flex:100%}.toolbar .select,.toolbar .input{width:100%;height:40px;min-height:40px}.toolbar .segmented{width:100%;height:40px;display:flex}.toolbar .segmented button{flex:1 1 0;min-width:0;height:38px;padding:0 8px}}.range-dates{align-items:center;gap:6px;display:inline-flex}.range-dates .input.small-input{height:28px;min-height:28px;padding:2px 8px;font-size:13px}.range-error{color:var(--danger-text)}.link-btn{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=640px){.range-bar{gap:8px}.range-bar .segmented{flex:100%}.range-bar .segmented button{flex:1}}.timer-start{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:2px 8px;font-size:13px}.timer-start:hover,.timer-start:focus-visible{border-color:var(--line);color:var(--accent);background:var(--panel-2)}.timer-bar .timer-start{color:#ffffffd9}.timer-bar .timer-start:hover,.timer-bar .timer-start:focus-visible{color:#fff;background:#ffffff26;border-color:#ffffff80}.timer-start-editor{align-items:center;gap:6px;display:inline-flex}.timer-start-editor .input.small-input{max-width:210px;height:30px;min-height:30px;font-size:13px}.entries{gap:8px}.entries-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:4px;display:flex}.entries-tools{gap:8px}.input.small-input.entries-filter{width:260px;max-width:260px;height:30px;min-height:30px;font-size:13px}.day-group{border-top:1px solid var(--line-soft);gap:0}.day-group:first-of-type{border-top:0}.day-toggle{width:100%;font:inherit;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:16px minmax(0,1fr) auto 80px 76px;align-items:center;gap:10px;padding:10px 4px;font-weight:600;display:grid}.day-toggle:hover{background:var(--panel-2)}.day-chev{color:var(--muted);transition:transform .12s;display:inline-block}.day-group.open .day-chev{transform:rotate(90deg)}.day-today{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600}.day-meter{background:var(--line-soft);border-radius:999px;height:6px;overflow:hidden}.day-meter span{border-radius:inherit;background:var(--violet);height:100%;display:block}.day-total{text-align:right}.day-entries{padding:0 4px 8px 30px}.day-entries .entry-row+.entry-row{border-top:1px dashed var(--line-soft)}.entry-row a{text-overflow:ellipsis;min-width:0;overflow:hidden}.entries.compact .day-toggle{padding:6px 4px}.entries.compact .entry-row{padding:2px 0;font-size:12.5px}.entries.compact .entry-row a{white-space:nowrap}.entries.compact .entry-actions .btn{height:26px;min-height:26px;padding:0 8px}.entry-row.overlap{background:var(--warn-soft);border-radius:6px}.overlap-badge{background:var(--warn-soft);color:var(--warn);border-radius:999px;margin-right:6px;padding:1px 6px;font-weight:600;box-shadow:inset 0 0 0 1px}.notice.warn{background:var(--warn-soft);color:var(--warn)}@media (width<=760px){.day-toggle{grid-template-columns:16px minmax(0,1fr) auto}.day-toggle .day-count,.day-toggle .day-meter{display:none}.day-entries{padding-left:4px}.input.small-input.entries-filter{width:100%;max-width:none}.entries-tools{width:100%}}.story{border-left:2px solid var(--line-soft);flex-direction:column;gap:3px;width:100%;margin:4px 0 2px;padding:0 0 0 14px;list-style:none;display:flex}.story li{color:var(--fg);align-items:baseline;gap:6px;font-size:13px;display:flex}.story-note{overflow-wrap:anywhere;min-width:0}.story-time{white-space:nowrap;margin-left:auto}.work-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.report-items li{flex-wrap:wrap}.story li.story-update{color:var(--fg)}.story-update-mark{color:var(--violet);flex:none;font-weight:700}.story li.story-update .story-note{font-weight:600}.report-updates-toggle{white-space:nowrap;cursor:pointer;align-items:center;gap:8px;height:38px;font-size:14px;display:inline-flex}.report-item-card h2 a{color:var(--fg);text-decoration:none}.report-item-card h2 a:hover{color:var(--accent)}.report-item-day{border-top:1px solid var(--line-soft);padding:8px 0 2px}.report-item-day:first-of-type{border-top:0}.report-update-row td{background:color-mix(in srgb, var(--violet-soft) 60%, transparent)}.report-kind-update{color:var(--violet-strong);white-space:nowrap;font-weight:600}.highlights .snapshot-updates{margin-top:3px}.report-add-update{height:24px;color:var(--muted);padding:0 8px;font-size:12px}.report-items li .report-add-update{opacity:0;transition:opacity .15s}.report-items li:hover .report-add-update,.report-items li:focus-within .report-add-update{opacity:1}@media (hover:none){.report-items li .report-add-update{opacity:1}}.created-add{border:1px dashed var(--line)}.created-chip{border:1px dashed var(--violet);background:var(--violet-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:3px 4px 3px 10px;display:inline-flex}.created-label{color:var(--violet-strong);white-space:nowrap;font-size:12px;font-weight:600}.created-label .muted{font-weight:400}.created-chip .input.small-input{height:28px;min-height:28px;padding:2px 8px;font-size:13px}.range-hidden{text-align:right;flex-basis:100%;margin-top:-2px}.range-narrow{border-left:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;padding-left:12px;display:inline-flex}.range-narrow .narrow-select{border-radius:8px;width:auto;max-width:220px;height:30px;min-height:30px;padding:0 28px 0 10px;font-size:13px}.narrow-select.on{border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent-strong);font-weight:600}.narrow-select:disabled{opacity:.55}.client-select{width:auto}.client-select.on{border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent-strong);font-weight:600}@media (width<=900px){.range-narrow{border-left:0;flex-basis:100%;margin-left:0;padding-left:0}.narrow-select{flex:1 1 0;min-width:0;max-width:none}}.notes{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;display:flex}.notes:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.notes-toolbar{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:4px;padding:6px;display:flex}.notes-toolbar .btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}.notes-editor{min-height:150px;color:var(--fg);outline:none;padding:10px 12px;font-size:14px;line-height:1.55}.notes-editor p{min-height:1.55em;margin:0}.notes-editor ul,.notes-editor ol{margin:2px 0;padding-left:22px}.notes-editor ul ul{list-style:circle}.notes-editor ul ul ul{list-style:square}.notes-editor li>p{margin:0}.notes-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);float:left;pointer-events:none;height:0}.repeat-mark{color:var(--violet);cursor:default;flex:none;margin-left:4px;font-size:.95em;font-weight:700;line-height:1;display:inline-block}.repeat-mark.occurrence{color:color-mix(in srgb, var(--violet) 70%, var(--muted));font-weight:500}.repeat-fields{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;gap:8px;padding:10px 12px}.repeat-row{flex-wrap:wrap;align-items:center;gap:8px}.repeat-row .label{margin:0}.repeat-number{width:70px}.repeat-select{width:auto;min-width:100px}.repeat-date{width:auto}.repeat-day{background:var(--primary);min-width:44px;height:28px;color:var(--on-accent);justify-content:center;font-weight:600}.repeat-day.off{background:var(--panel);color:var(--muted);font-weight:500}.repeat-pair{align-items:center;gap:8px;display:inline-flex}.repeat-problem{color:var(--danger-text)}.repeat-plan{color:var(--violet-strong);font-weight:600}.repeat-panel{gap:10px}.notes-editor.compact{min-height:64px}.notes-view{min-width:0;display:block}.notes-view p{margin:0}.notes-view ul,.notes-view ol{margin:2px 0;padding-left:20px}.notes-view ul ul{list-style:circle}.story li .notes-view{flex:1}.report-table td{white-space:pre-line}.log .notes-view{line-height:1.5}.st-cancelled{background:var(--panel-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.dot.cancelled{box-shadow:inset 0 0 0 1.5px var(--muted);background:0 0}.st-not_started{--dot:var(--idle)}.st-in_progress{--dot:var(--accent)}.st-blocked{--dot:var(--danger)}.st-done{--dot:var(--ok)}.st-cancelled{--dot:transparent}.prio-1{--dot:var(--coral)}.prio-2{--dot:#f59e0b}.prio-3{--dot:var(--accent)}.prio-4{--dot:var(--idle)}.prio-5{--dot:color-mix(in srgb, var(--idle) 45%, transparent)}.prio-none{--dot:transparent}.pill.st-not_started,.pill.st-in_progress,.pill.st-blocked,.pill.st-done,.pill.st-cancelled{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);background-color:#0000;font-weight:500}.pill.st-not_started:before,.pill.st-in_progress:before,.pill.st-blocked:before,.pill.st-done:before{background:var(--dot)}.pill.st-cancelled{color:var(--muted)}.pill.st-cancelled:before{box-shadow:inset 0 0 0 1.5px var(--muted);background:0 0}.select.pill,.select.prio{--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235d6474' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");appearance:none;background-color:var(--panel);color:var(--fg);box-shadow:none;border:1px solid var(--line);background-image:radial-gradient(circle at 13px 50%, var(--dot) 4px, transparent 4.6px), var(--chevron);cursor:pointer;background-position:0 0,right 10px center;background-repeat:no-repeat;background-size:auto,10px 6px;padding-left:26px;padding-right:28px;font-weight:500}.select.pill.st-cancelled{color:var(--muted);background-image:radial-gradient(circle at 13px 50%, transparent 2.6px, var(--muted) 3px, var(--muted) 4px, transparent 4.6px), var(--chevron)}.select.prio.prio-none{color:var(--muted);padding-left:11px}.prio-badge{color:var(--muted);background:0 0;gap:4px;padding:0 2px}.prio-badge:before{content:"";background:var(--dot);border-radius:50%;width:6px;height:6px}.btn.danger-text:not(:hover):not(:focus-visible){color:var(--muted)}.card.cancelled{opacity:.75}.card.cancelled .card-title,tr.cancelled .tree-cell>a,.gantt-label.cancelled a,.cal-target.cancelled,.gnode.cancelled b{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 70%, transparent);color:var(--muted)}tr.cancelled td{color:var(--muted)}.gnode.cancelled{opacity:.55}.gantt-bar.st-bar-cancelled,.cal-bar.st-bar-cancelled,.gantt-key-bar.cancelled{background:repeating-linear-gradient(135deg, var(--panel-2) 0 6px, color-mix(in srgb, var(--muted) 18%, var(--panel)) 6px 9px);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.gantt-bar.st-bar-cancelled .gantt-bar-text{color:var(--muted);text-shadow:none;font-weight:500;text-decoration:line-through}.gantt-bar-badge.cancelled,.gantt-mark.cancelled{background:var(--muted)}.cancelled-note{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.text-link{color:var(--accent-strong);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:2px;overflow-wrap:anywhere}.text-link:hover{text-decoration-color:currentColor}.mention{color:var(--accent-strong);background:var(--accent-soft);white-space:nowrap;border-radius:5px;padding:0 3px;font-weight:600;text-decoration:none}a.mention:hover{text-decoration:underline}.mention.missing{color:var(--muted);background:0 0;font-weight:500}.notes-editor .text-link,.notes-editor .mention{cursor:text}.notes-editor.mod-held .text-link,.notes-editor.mod-held .mention{cursor:pointer}.mention-list{z-index:80;background:var(--panel);border:1px solid var(--line);width:330px;max-height:300px;box-shadow:var(--shadow-lg,0 10px 30px #0f172a29);border-radius:10px;padding:4px;position:fixed;overflow-y:auto}.mention-option{cursor:pointer;border-radius:7px;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.mention-option.active{background:var(--accent-soft)}.mention-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mention-empty{padding:8px}.mention-help{border-top:1px solid var(--line-soft);margin-top:4px;padding:4px 8px 2px}.mention-hits{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mention-hits li{overflow-wrap:anywhere;min-width:0}.card-cancelled{align-self:flex-start;font-size:12px}.search-all{gap:12px}.search-all-input{min-height:46px;font-size:17px}.search-kind{background:var(--accent-soft);height:30px;color:var(--accent-strong);gap:6px;padding:0 12px;font-size:13px}.search-kind.off{background:0 0}.search-kind-count{opacity:.8;font-size:11px;font-weight:700}.search-filters{flex-wrap:wrap;align-items:center;gap:8px}.search-filters .select{width:auto}.search-pair{align-items:center;gap:6px;display:inline-flex}.search-pair .label{margin:0}.search-summary{margin:4px 0 0}.search-total{color:var(--fg)}.search-groups{gap:12px}.search-group{gap:8px}.search-group-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.search-group-title{color:var(--fg);overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:600}.search-group.cancelled .search-group-title{color:var(--muted);text-decoration:line-through}.search-matches{gap:2px;margin:0;padding:0;list-style:none;display:grid}.search-match{border-radius:8px;grid-template-columns:96px 150px minmax(0,1fr);align-items:baseline;gap:10px;padding:6px 8px;display:grid}.search-match:nth-child(odd){background:var(--panel-2)}.search-kind-label{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.search-when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.search-text{overflow-wrap:anywhere;white-space:pre-line;min-width:0}.search-text mark,.search-group-title mark{color:inherit;background:#facc1573;border-radius:3px;padding:0 1px}.search-results .search-everything{border-top:1px solid var(--line)}@media (width<=700px){.search-match{grid-template-columns:1fr;gap:2px}}.day-progress{gap:10px}.day-progress-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.day-table{gap:6px;display:grid}.day-table-title{margin:0;font-size:13px;font-weight:600}.day-progress-table{table-layout:fixed;min-width:560px}.day-progress-table th:first-child{width:22%}.day-progress-table tfoot th,.day-progress-table tfoot td{border-top:2px solid var(--line);background:var(--panel-2);border-bottom:0}.day-progress-table tfoot th{text-align:left;font-weight:700}.day-how{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600}.day-how.new{color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.day-progress-table th,.day-progress-table td{text-align:center;border-bottom:1px solid var(--line-soft);padding:8px 10px}.day-progress-table thead th{color:var(--muted);text-transform:none;font-size:12px;font-weight:600}.day-progress-table tbody th{text-align:left;white-space:nowrap;font-weight:600}.day-cell.atStart,.day-cell.added,.day-cell.new,.day-cell.existing{background:var(--panel-2);font-weight:700}.day-stepper{align-items:center;gap:4px;display:flex}.day-stepper .input{width:auto}.day-stepper .btn{width:36px;padding:0;font-size:18px;line-height:1}.day-count{min-width:36px;height:30px;font:inherit;cursor:pointer;color:var(--fg);background:0 0;border:1px solid #0000;border-radius:8px;padding:0 8px;font-weight:700}.day-count:hover{border-color:var(--line);background:var(--panel)}.day-count.on{background:var(--accent-soft);color:var(--accent-strong);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.day-cell.done .day-count{color:var(--ok)}.day-cell.cancelled .day-count{color:var(--muted)}.day-cell.started .day-count{color:var(--accent-strong)}.day-cell.moved .day-count{color:var(--violet-strong,var(--muted))}.day-cell.added .day-count{color:var(--warn)}.day-items ul{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.col-cancelled{white-space:nowrap}.notepad{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.notepad-list{top:calc(var(--topbar-h,56px) + 12px);max-height:calc(100vh - var(--topbar-h,56px) - 40px);gap:10px;position:sticky;overflow:auto}.notepad-list .segmented{align-self:flex-start}.notepad-empty{padding:8px 2px;line-height:1.5}.notepad-notes{gap:4px;margin:0;padding:0;list-style:none;display:grid}.notepad-note{text-align:left;width:100%;font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;gap:4px;padding:9px 10px;display:grid}.notepad-note:hover{background:var(--panel-2)}.notepad-note.on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.notepad-note-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.notepad-note-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.notepad-page{min-height:420px}.notepad-page .empty{text-align:center;justify-items:center;gap:10px;padding:48px 16px;display:grid}.note-page{gap:14px;display:grid}.note-head{justify-content:space-between;align-items:center;gap:10px}.note-title{background:0 0;border-color:#0000;flex:260px;padding-left:4px;font-size:18px;font-weight:700}.note-title:hover{border-color:var(--line)}.note-links{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.note-link-chip{box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:2px;max-width:100%;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.note-link-chip a{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.note-link-chip .icon-btn{width:22px;height:22px}.note-link-picker{align-items:center;gap:6px;display:inline-flex;position:relative}.note-link-picker .input{width:240px;min-height:32px}.note-link-picker ul{z-index:30;background:var(--panel);border:1px solid var(--line);width:360px;max-width:calc(100vw - 32px);box-shadow:var(--shadow);border-radius:10px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0}.note-link-picker li button{text-align:left;width:100%;font:inherit;color:var(--fg);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:13px;display:block;overflow:hidden}.note-link-picker li button:hover{background:var(--panel-2)}.note-link-picker li.muted{padding:6px 8px}.note-body .notes-editor{min-height:240px}.note-checklist{background:var(--panel-2);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.note-checklist ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.note-checklist li{justify-content:space-between;align-items:center;gap:10px;min-height:30px;font-size:13.5px;display:flex}.note-checklist li.done .note-line-text{color:var(--muted);text-decoration:line-through}.note-line-text{text-overflow:ellipsis;overflow:hidden}.check-progress{font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.check-bar{background:var(--line);border-radius:3px;width:42px;height:5px;display:inline-block;overflow:hidden}.check-bar>span{background:var(--accent);height:100%;display:block}.check-progress.complete .check-bar>span{background:var(--ok)}.notes-panel-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.notes-panel-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}.notes-panel-list a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes-editor ul[data-type=taskList],.notes-view ul.task-list{padding-left:2px;list-style:none}.notes-editor ul[data-type=taskList] li{align-items:flex-start;gap:8px;display:flex}.notes-editor ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;flex:none;margin-top:3px}.notes-editor ul[data-type=taskList] li>label input,.notes-view .task-line input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.notes-editor ul[data-type=taskList] li>div{flex:1;min-width:0}.notes-editor ul[data-type=taskList] li[data-checked=true]>div>p{color:var(--muted);text-decoration:line-through}.notes-view .task-line{align-items:flex-start;gap:8px;display:flex}.notes-view .task-line input{cursor:default;margin-top:3px}.notes-view .task-line.checked{color:var(--muted);text-decoration:line-through}@media (width<=860px){.notepad{grid-template-columns:minmax(0,1fr)}.notepad-list{max-height:none;position:static}}
