:root{color-scheme:light;--paper: #e9eef2;--panel: #ffffff;--panel-sunk: #dfe6ec;--ink: #12182a;--ink-soft: #58657a;--line: #c7d2dd;--accent: #d9a02a;--accent-ink: #241a02;--accent-soft: color-mix(in srgb, var(--accent) 14%, var(--panel));--good: #3f8f6f;--danger: #b5452c;--danger-soft: color-mix(in srgb, var(--danger) 14%, var(--panel));--sidebar-bg: #151a24;--sidebar-bg-raised: #1c2230;--sidebar-ink: #e7ecf3;--sidebar-ink-soft: #8b96a9;--sidebar-line: #2a3140;--radius-sm: 4px;--radius: 7px;--radius-lg: 10px;--shadow: 0 10px 30px rgba(15, 20, 30, .16);--font-ui: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #0e131d;--panel: #161d2c;--panel-sunk: #10151f;--ink: #e7ecf3;--ink-soft: #8d99ac;--line: #2a3448;--accent-ink: #1c1400;--accent-soft: color-mix(in srgb, var(--accent) 22%, var(--panel));--danger-soft: color-mix(in srgb, var(--danger) 20%, var(--panel));--sidebar-bg: #0a0d14;--sidebar-bg-raised: #131826;--sidebar-line: #1f2635;--shadow: 0 12px 34px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{color-scheme:dark;--paper: #0e131d;--panel: #161d2c;--panel-sunk: #10151f;--ink: #e7ecf3;--ink-soft: #8d99ac;--line: #2a3448;--accent-ink: #1c1400;--accent-soft: color-mix(in srgb, var(--accent) 22%, var(--panel));--danger-soft: color-mix(in srgb, var(--danger) 20%, var(--panel));--sidebar-bg: #0a0d14;--sidebar-bg-raised: #131826;--sidebar-line: #1f2635;--shadow: 0 12px 34px rgba(0, 0, 0, .5)}:root[data-theme=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}*{scrollbar-width:thin;scrollbar-color:transparent transparent}*:hover{scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:transparent;border-radius:8px;border:2px solid transparent;background-clip:padding-box}*:hover::-webkit-scrollbar-thumb{background:var(--line);background-clip:padding-box;border:2px solid transparent}*::-webkit-scrollbar-corner{background:transparent}body{margin:0;font-family:var(--font-ui);font-size:14.5px;background:var(--paper);color:var(--ink)}h1,h2,h3{font-family:var(--font-ui);letter-spacing:-.01em}button{font:inherit;cursor:pointer}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;color:var(--ink)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}::selection{background:var(--accent-soft)}.icon{flex-shrink:0}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-shell{display:flex;height:100vh;overflow:hidden}.boot-screen,.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--ink-soft);background:radial-gradient(circle,var(--line) 1px,transparent 1px) 0 0 / 28px 28px,var(--paper)}.login-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:32px;width:320px;display:flex;flex-direction:column;gap:12px}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:2px;background:none;border:none;padding:0;cursor:pointer;color:inherit;text-align:left;width:fit-content;border-radius:var(--radius-sm)}.login-brand:hover h1{color:var(--accent)}.login-card h1{margin:0;font-size:20px;font-weight:600}.login-sub{margin:0 0 8px;color:var(--ink-soft);font-size:13.5px}.login-card label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-soft)}.login-card button[type=submit]{margin-top:8px;background:var(--accent);color:var(--accent-ink);border:none;padding:10px;border-radius:var(--radius-sm);font-weight:600}.login-error{color:var(--danger);font-size:13px}.field-hint{font-weight:400;text-transform:none;letter-spacing:0}.link-btn{background:none;border:none;color:var(--accent);font-size:13px;padding:4px 0;text-align:center}.password-field{position:relative;display:flex}.password-field input{width:100%;padding-right:34px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;line-height:1;cursor:pointer;padding:4px 6px;color:var(--ink-soft);border-radius:var(--radius-sm);display:flex}.password-toggle:hover{color:var(--ink);background:var(--accent-soft)}.sidebar{width:258px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-ink);border-right:1px solid var(--sidebar-line);display:flex;flex-direction:column;padding:14px 10px;gap:2px;overflow-y:auto;font-size:13.5px}.sidebar-brand{font-weight:600;font-size:14.5px;padding:4px 8px 14px;display:flex;align-items:center;gap:9px;color:var(--sidebar-ink)}.workspace-switcher{width:100%;margin:0 0 12px;font-size:13px;font-weight:500;background:var(--sidebar-bg-raised);border:1px solid var(--sidebar-line);color:var(--sidebar-ink);border-radius:var(--radius-sm)}.sidebar-user{padding:10px 8px 2px;font-size:12px;color:var(--sidebar-ink-soft)}.sidebar-nav{display:flex;flex-direction:column;gap:1px;margin-bottom:10px}.sidebar-section{margin-bottom:10px}.sidebar-section-title{font-size:12px;font-weight:500;color:var(--sidebar-ink-soft);padding:8px 8px 4px;display:flex;align-items:center;justify-content:space-between}.nav-item{display:flex;align-items:center;gap:9px;background:none;border:none;text-align:left;padding:6px 8px 6px 6px;border-radius:var(--radius-sm);color:var(--sidebar-ink);width:100%;border-left:2px solid transparent}.nav-item:hover{background:var(--sidebar-bg-raised)}.nav-item.active{background:var(--sidebar-bg-raised);border-left-color:var(--accent);color:var(--accent);font-weight:600}.nav-item .icon{color:var(--sidebar-ink-soft)}.nav-item.active .icon{color:var(--accent)}.nav-icon{width:18px;display:flex;align-items:center;justify-content:center}.nav-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-family:var(--font-mono);font-size:11.5px;color:var(--sidebar-ink-soft)}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.logout{margin-top:auto;color:var(--sidebar-ink-soft)}.star-toggle{flex-shrink:0;color:var(--sidebar-ink-soft);opacity:0;padding:2px;border-radius:var(--radius-sm);display:flex}.nav-item:hover .star-toggle{opacity:1}.star-toggle.active{opacity:1;color:var(--accent)}.star-toggle:hover{background:var(--sidebar-bg-raised)}.sidebar-search{margin:0 0 10px;position:relative;display:flex;align-items:center}.sidebar-search .icon{position:absolute;left:9px;color:var(--sidebar-ink-soft);pointer-events:none}.sidebar-search input{width:100%;font-size:13px;background:var(--sidebar-bg-raised);border-color:var(--sidebar-line);color:var(--sidebar-ink);padding-left:30px}.sidebar-search input::placeholder{color:var(--sidebar-ink-soft)}.icon-btn{background:none;border:none;color:var(--ink-soft);padding:3px 5px;border-radius:var(--radius-sm);display:inline-flex;align-items:center}.icon-btn:hover{background:var(--accent-soft);color:var(--ink)}.sidebar .icon-btn{color:var(--sidebar-ink-soft)}.sidebar .icon-btn:hover{background:var(--sidebar-bg-raised);color:var(--sidebar-ink)}.inline-add-form{padding:0 8px 6px}.inline-add-form input{width:100%;background:var(--sidebar-bg-raised);border-color:var(--sidebar-line);color:var(--sidebar-ink)}.sidebar-scrim{display:none}.main-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto;background:var(--paper)}.main-header{display:flex;align-items:center;gap:12px;padding:22px 28px 14px;position:sticky;top:0;background:var(--paper);z-index:2;border-bottom:1px solid var(--line)}.main-header h2{margin:0;font-size:19px;font-weight:600;flex:1}.hamburger{display:none;background:none;border:none}.member-filter{font-size:13px;padding:6px 9px}.view-toggle{display:flex;gap:2px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px}.view-toggle button{background:none;border:none;padding:5px 13px;color:var(--ink-soft);border-radius:3px;font-size:13px}.view-toggle button.active{background:var(--accent);color:var(--accent-ink);font-weight:600}.empty-state{padding:48px 28px;color:var(--ink-soft);text-align:center}.quick-add-trigger{margin:14px 28px 4px;background:none;border:1px dashed var(--line);color:var(--ink-soft);padding:10px 14px;border-radius:var(--radius);text-align:left;width:calc(100% - 56px);display:flex;align-items:center;gap:8px}.quick-add-trigger:hover{border-color:var(--accent);border-style:solid;color:var(--ink)}.quick-add-form{margin:14px 28px 4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.quick-add-form>input{width:100%;border:none;font-size:15px;padding:4px;margin-bottom:8px;background:none}.quick-add-form>input:focus{outline:none}.quick-add-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.quick-add-actions{margin-left:auto;display:flex;gap:8px}.quick-add-preview{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 8px}.quick-add-preview .chip{display:inline-flex;align-items:center;gap:4px}.sectioned-list{padding-bottom:20px}.task-section{margin-bottom:4px;border-radius:var(--radius-sm)}.task-section.drag-over{outline:2px dashed var(--accent);outline-offset:-2px}.task-section .task-list{margin:4px 0 8px}.task-section-header{display:flex;align-items:center;gap:8px;padding:10px 28px 6px;font-weight:600;font-size:13px;cursor:grab}.task-section-header.no-section{cursor:default;color:var(--ink-soft);font-weight:500}.task-section-name{border:none;background:none;font-weight:600;font-size:13px;padding:2px 4px;border-radius:var(--radius-sm);flex:1;color:var(--ink)}.task-section-header.no-section .task-section-name{font-weight:500;color:var(--ink-soft)}.task-section-name:focus{background:var(--panel);outline:none}.task-section-empty{margin:0 28px 8px;padding:12px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);font-size:12.5px;text-align:center}.task-list{list-style:none;margin:6px 0 40px;padding:0 28px;display:flex;flex-direction:column}.task-row{display:flex;align-items:flex-start;gap:11px;padding:10px 6px;border-radius:var(--radius-sm);border-bottom:1px solid var(--line)}.task-list .task-row:last-child{border-bottom:none}.task-row:hover{background:var(--panel)}.task-row.completed .task-title{text-decoration:line-through;color:var(--ink-soft)}.task-checkbox{width:19px;height:19px;border-radius:5px;border:1.75px solid;background:none;margin-top:2px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.task-checkbox svg{width:12px;height:12px}.task-main{flex:1;cursor:pointer;min-width:0}.task-title{font-size:14.5px}.task-num{font-family:var(--font-mono);color:var(--ink-soft);font-size:11.5px;margin-right:6px}.task-meta{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap;align-items:center}.chip{font-size:11.5px;padding:2px 8px;border-radius:var(--radius-sm);background:none;color:var(--ink-soft);border:1px solid var(--line);display:inline-flex;align-items:center;gap:4px}.due-chip{font-family:var(--font-mono)}.due-chip.overdue{background:var(--danger-soft);color:var(--danger);border-color:transparent}.status-chip{background:var(--accent-soft);border-color:transparent}.label-chip{border-style:dashed}.task-assignees{display:flex;gap:4px;margin-top:2px}.avatar{width:23px;height:23px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:10px;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center;font-weight:600}.domain-tag{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.02em;border:1px solid var(--line);border-radius:999px;padding:1px 7px;margin-left:7px;white-space:nowrap}.board-view{display:flex;gap:14px;padding:14px 28px 40px;overflow-x:auto;flex:1;align-items:flex-start}.board-column{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--column-accent, var(--accent));border-radius:var(--radius);min-width:260px;max-width:280px;display:flex;flex-direction:column;max-height:100%}.board-column.drag-over{outline:2px dashed var(--accent)}.board-column-title{padding:11px 13px;font-weight:600;font-size:13px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;cursor:grab}.board-column-title .nav-count{margin-left:auto}.board-column-title .drag-handle{color:var(--ink-soft)}.board-column-body{padding:9px;display:flex;flex-direction:column;gap:7px;overflow-y:auto}.board-card{background:var(--panel-sunk);border:1px solid var(--line);border-left:3px solid var(--priority-accent, var(--line));border-radius:var(--radius-sm);padding:10px 11px;cursor:grab}.board-card-title{font-size:13.5px;margin-bottom:6px}.board-card-assignees{margin-top:7px}.board-card-assignees .avatar{width:20px;height:20px;font-size:9px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0d1480;display:flex;align-items:center;justify-content:center;z-index:20;padding:16px}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:560px;max-width:100%;max-height:90vh;overflow-y:auto;padding:20px;box-shadow:var(--shadow)}.dialog-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:380px;max-width:100%;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px}.dialog-card h3{margin:0 0 4px;font-size:15px}.dialog-card p{margin:0 0 10px;font-size:13.5px;color:var(--ink-soft);white-space:pre-wrap}.dialog-card input{width:100%;margin-bottom:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.dialog-actions button:not(.ghost){background:var(--accent);color:var(--accent-ink);border:none;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600}.dialog-actions button.danger{background:var(--danger);color:#fff;border:none}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-title-input{width:100%;font-size:18px;font-weight:600;border:none;padding:6px 0;margin-bottom:4px;background:none}.modal-title-input:focus{outline:none}.modal-desc-input{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px;resize:vertical;margin-bottom:12px;background:var(--panel)}.modal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}.modal-tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:7px 4px;margin-right:14px;font-size:13px;color:var(--ink-soft);border-radius:0}.modal-tabs button.active{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.modal-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-soft)}.modal-grid .span-2{grid-column:span 2}.subtasks-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.subtask-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:2px}.subtask-row{display:flex;align-items:center;gap:8px;padding:4px 2px;border-radius:var(--radius-sm)}.subtask-row:hover{background:var(--paper)}.subtask-row.completed .subtask-title{text-decoration:line-through;color:var(--ink-soft)}.subtask-title{flex:1;border:none;background:none;font-size:13.5px;padding:4px 6px;border-radius:var(--radius-sm)}.subtask-title:focus{background:var(--panel);outline:none}.attachments-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.attachment-grid{display:flex;flex-wrap:wrap;gap:8px}.attachment-thumb{position:relative;width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line)}.attachment-thumb img{width:100%;height:100%;object-fit:cover;display:block}.attachment-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:#0a0d1499;color:#fff;font-size:10px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.attachment-remove:hover{background:var(--danger)}.attachment-add{width:72px;height:72px;border-radius:var(--radius-sm);border:1px dashed var(--line);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}.attachment-add:hover{border-color:var(--accent);color:var(--accent)}.modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.modal-footer-right{display:flex;gap:8px}.task-activity-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;margin-bottom:14px}.activity-event{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);padding:2px 0}.activity-event .icon{flex-shrink:0}.activity-event-time{margin-left:auto;white-space:nowrap}.activity-comment{display:flex;gap:9px}.activity-comment .avatar{flex-shrink:0;margin-top:2px}.activity-comment-body{flex:1;min-width:0;background:var(--panel-sunk);border-radius:var(--radius-sm);padding:8px 10px}.activity-comment-head{display:flex;align-items:center;gap:8px;margin-bottom:3px;font-size:12.5px}.activity-comment-body p{margin:0;font-size:13.5px;line-height:1.5;white-space:pre-wrap}.activity-comment-delete{margin-left:auto;opacity:.5}.activity-comment-delete:hover{opacity:1}.activity-comment-form{display:flex;gap:8px;align-items:flex-end}.activity-comment-form textarea{flex:1;resize:vertical;font-family:inherit}button.danger{background:none;border:1px solid var(--danger);color:var(--danger);padding:8px 14px;border-radius:var(--radius-sm)}button.ghost{background:none;border:1px solid var(--line);padding:8px 14px;border-radius:var(--radius-sm);color:var(--ink)}.modal-footer-right button:not(.ghost){background:var(--accent);color:var(--accent-ink);border:none;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600}@media (max-width: 800px){.hamburger{display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0d1473;z-index:29}.main-header{padding:16px 16px 12px}.quick-add-trigger,.quick-add-form{margin:12px 16px 4px;width:auto}.task-list{padding:0 16px}.modal-grid{grid-template-columns:1fr}.modal-grid .span-2{grid-column:span 1}.settings-body{flex-direction:column}.settings-tabs{flex-direction:row;overflow-x:auto;width:auto;border-right:none;border-bottom:1px solid var(--line)}}.settings-page{padding:22px 28px 40px;max-width:900px}.settings-body{display:flex;gap:24px}.settings-tabs{display:flex;flex-direction:column;gap:1px;width:170px;flex-shrink:0}.settings-tabs button{text-align:left;background:none;border:none;border-left:2px solid transparent;padding:8px 10px;border-radius:var(--radius-sm);color:var(--ink-soft)}.settings-tabs button:hover{background:var(--accent-soft)}.settings-tabs button.active{border-left-color:var(--accent);color:var(--ink);font-weight:600;background:var(--accent-soft)}.settings-panel{flex:1;min-width:0}.settings-panel h3{margin:0 0 4px;font-size:15px;font-weight:600}.settings-panel .settings-hint{color:var(--ink-soft);font-size:13px;margin:0 0 16px}.guide-content{font-size:13.5px;line-height:1.6;max-width:62ch}.guide-content h3{margin:22px 0 4px}.guide-content h3:first-child{margin-top:0}.guide-content h4{margin:16px 0 4px;font-size:13px;font-weight:600;color:var(--ink-soft)}.guide-content p{margin:0 0 12px}.guide-content ul,.guide-content ol{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:6px}.guide-content a{color:var(--accent)}.guide-content code{font-family:var(--font-mono);font-size:12px;background:var(--panel-sunk);padding:1px 5px;border-radius:3px}.guide-example{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;background:var(--panel)}.guide-example>code{display:block;font-size:13px;margin-bottom:10px}.guide-example-breakdown{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-soft)}.settings-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.settings-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.settings-row input[type=color]{width:26px;height:26px;padding:0;border:none;border-radius:var(--radius-sm);background:none;cursor:pointer;flex-shrink:0}.settings-row input[type=text]{flex:1;border:1px solid transparent;background:none;padding:6px 8px}.settings-row input[type=text]:focus{border-color:var(--line);background:var(--paper);outline:none}.settings-row-flags{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ink-soft);white-space:nowrap}.settings-row-flags label{display:flex;align-items:center;gap:4px}.settings-row .icon-btn.danger-hover:hover{background:var(--danger-soft);color:var(--danger)}.settings-row.reorderable{cursor:grab}.settings-row.reorderable.drag-over{outline:2px dashed var(--accent);outline-offset:-2px}.drag-handle{color:var(--ink-soft);cursor:grab;padding:0 2px;flex-shrink:0;-webkit-user-select:none;user-select:none;display:flex;align-items:center}.settings-add-row{display:flex;align-items:center;gap:10px;border:1px dashed var(--line);border-radius:var(--radius-sm);padding:7px 8px}.settings-add-row input[type=text],.settings-add-row input[type=email]{flex:1;border:none;background:none;padding:6px 8px}.settings-add-row input[type=text]:focus,.settings-add-row input[type=email]:focus{outline:none}.settings-add-row button{background:var(--accent);color:var(--accent-ink);border:none;padding:7px 14px;border-radius:var(--radius-sm);font-weight:600}.settings-add-row button:disabled{opacity:.5;cursor:default}.appearance-block{margin-bottom:22px}.appearance-block>div:first-child{font-size:13px;color:var(--ink-soft);margin-bottom:8px}.theme-options{display:flex;gap:8px}.theme-options button{border:1px solid var(--line);background:var(--panel);padding:8px 16px;border-radius:var(--radius-sm);color:var(--ink)}.theme-options button.active{border-color:var(--accent);color:var(--ink);background:var(--accent-soft);font-weight:600}.accent-swatches{display:flex;gap:8px;flex-wrap:wrap}.accent-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.accent-swatch.active{border-color:var(--ink)}.reassign-inline{display:flex;align-items:center;gap:8px;margin-top:-2px;margin-bottom:10px;font-size:12.5px;color:var(--ink-soft);background:var(--accent-soft);padding:8px 10px;border-radius:var(--radius-sm)}.reassign-inline select{flex:1}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;min-width:800px;border-collapse:collapse;font-size:13px}.admin-capacity-input{width:60px}.admin-table th{text-align:left;font-weight:600;color:var(--ink-soft);font-size:12px;padding:8px;border-bottom:1px solid var(--line)}.admin-table td{padding:8px;border-bottom:1px solid var(--line)}.admin-table-actions{display:flex;gap:6px}.admin-table-actions button{font-size:12px;padding:5px 10px}.admin-scope-cell{background:var(--panel-sunk);padding:12px 16px!important}.admin-scope-panel{display:flex;flex-direction:column;gap:6px}.admin-scope-panel .settings-row{background:var(--paper)}.member-picker{display:flex;flex-wrap:wrap;gap:6px}.member-chip{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--line);background:var(--panel-sunk);color:var(--ink-soft);font-size:12.5px}.member-chip .avatar{width:20px;height:20px;font-size:9px}.member-chip.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);font-weight:600}.stakeholder-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink)}.stakeholder-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--paper)}.stakeholder-header-right{display:flex;align-items:center;gap:14px}.stakeholder-body{flex:1;display:flex}.stakeholder-list{width:220px;flex-shrink:0;padding:16px 10px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.stakeholder-detail{flex:1;padding:28px 32px;max-width:640px}.stakeholder-title-row{display:flex;align-items:center;gap:10px}.stakeholder-title-row h2{margin:0;font-size:22px}.stakeholder-description{color:var(--ink-soft);line-height:1.5;margin:0 0 18px}.stakeholder-stats{display:flex;flex-direction:column;gap:14px}.stakeholder-progress{display:flex;align-items:center;gap:10px;font-size:13px;margin-top:3px}.stakeholder-progress-track{flex:1;max-width:220px;height:8px;border-radius:4px;background:var(--panel-sunk);overflow:hidden}.stakeholder-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .2s}@media (max-width: 640px){.stakeholder-body{flex-direction:column}.stakeholder-list{width:100%;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line)}}.project-overview{padding:20px 28px 60px;max-width:1040px}.overview-grid{display:flex;gap:32px;align-items:flex-start}.overview-main{flex:1;min-width:0}.overview-side{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:18px}.overview-field{display:block;margin-bottom:26px}.overview-field textarea{width:100%;resize:vertical;font-family:inherit;line-height:1.5}.overview-team{display:flex;flex-direction:column;gap:8px}.overview-person{display:flex;align-items:center;gap:9px;font-size:13.5px}.overview-stat{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:var(--panel)}.overview-stat select,.overview-stat input[type=date]{width:100%}.overview-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:7px}@media (max-width: 720px){.overview-grid{flex-direction:column}.overview-side{width:100%;flex-direction:row;flex-wrap:wrap}.overview-stat{flex:1;min-width:140px}}.dashboard{padding:20px 28px 60px;max-width:1040px}.dashboard-stats{display:flex;gap:14px;margin-bottom:28px}.dashboard-stats .overview-stat{flex:1}.dashboard-big{font-family:var(--font-mono);font-size:26px;font-weight:600;line-height:1.2}.dashboard-big-of{font-size:16px;color:var(--ink-soft);font-weight:400}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dashboard-block-wide{grid-column:1 / -1}.dashboard-block h3{margin:0 0 12px;font-size:14.5px;font-weight:600}.dashboard-bars{display:flex;flex-direction:column;gap:10px}.dashboard-bar-row{display:flex;align-items:center;gap:10px;font-size:12.5px}.dashboard-bar-label{width:110px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-person-label{display:flex;align-items:center;gap:6px;width:140px}.dashboard-person-label .avatar{width:20px;height:20px;font-size:9px;flex-shrink:0}.dashboard-bar-track{flex:1;height:8px;border-radius:4px;background:var(--panel-sunk);overflow:hidden}.dashboard-bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .2s}.dashboard-bar-count{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-soft);width:80px;text-align:right;flex-shrink:0}.dashboard-task-count{width:130px;text-align:right;flex-shrink:0;white-space:nowrap}.dashboard-clickable-row{width:100%;text-align:left;cursor:pointer}@media (max-width: 620px){.dashboard-bar-row{flex-wrap:wrap}.dashboard-task-count{width:auto;margin-left:146px}}@media (max-width: 760px){.dashboard-grid{grid-template-columns:1fr}.dashboard-stats{flex-wrap:wrap}}.landing{background:var(--paper);color:var(--ink);min-height:100vh}.landing-wrap{max-width:1080px;margin:0 auto;padding:0 28px}.landing h1,.landing h2,.landing h3{text-wrap:balance;letter-spacing:-.015em;margin:0}.landing p{text-wrap:pretty;margin:0}.landing-rail{background:var(--sidebar-bg);color:var(--sidebar-ink)}.landing-header{border-bottom:1px solid var(--sidebar-line);position:sticky;top:0;z-index:5}.landing-rail-row{display:flex;align-items:center;gap:12px;padding:14px 0}.landing-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px}.landing-spacer{flex:1}.landing-btn-amber{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);font-weight:600;border:none;border-radius:var(--radius-sm);padding:10px 18px;font-size:14.5px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;font-family:var(--font-ui)}.landing-btn-amber:hover{transform:translateY(-1px);box-shadow:0 6px 16px #d9a02a59}.landing-btn-ghost{display:inline-flex;align-items:center;gap:6px;background:none;color:var(--sidebar-ink-soft);border:1px solid var(--sidebar-line);border-radius:var(--radius-sm);padding:9px 16px;font-size:14px;cursor:pointer;font-family:var(--font-ui)}.landing-btn-ghost:hover{color:var(--sidebar-ink);border-color:var(--sidebar-ink-soft)}.landing-hero{padding:76px 0 88px}.landing-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.landing-hero h1{font-size:clamp(2.5rem,4.4vw + .8rem,3.7rem);line-height:1.06;font-weight:700}.landing-hero-sub{margin:22px 0 0;font-size:18px;line-height:1.65;color:var(--ink-soft);max-width:46ch}.landing-hero-cta{display:flex;align-items:center;gap:16px;margin-top:32px;flex-wrap:wrap}.landing-hero-meta{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-soft);display:flex;align-items:center;gap:8px}.landing-dot{width:6px;height:6px;border-radius:50%;background:var(--good)}.landing-preview{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.landing-preview-head{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-soft)}.landing-preview-dots{display:flex;gap:5px}.landing-preview-dots span{width:8px;height:8px;border-radius:50%;background:var(--line)}.landing-preview-body{padding:8px 6px 14px}.landing-prow{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:var(--radius-sm)}.landing-pcheck{width:18px;height:18px;border-radius:5px;border:1.75px solid var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;color:var(--accent)}.landing-prow.done .landing-pcheck{background:var(--accent);color:var(--accent-ink)}.landing-ptitle{font-size:14.5px}.landing-prow.done .landing-ptitle{text-decoration:line-through;color:var(--ink-soft)}.landing-pmeta{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap}.landing-pchip{font-size:11px;padding:2px 7px;border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink-soft)}.landing-pchip.due{font-family:var(--font-mono)}.landing-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-soft)}.landing section{padding:64px 0}.landing-why h2,.landing-showcase h2,.landing-features h2{font-size:clamp(1.6rem,2vw + 1rem,2.1rem);font-weight:600}.landing-section-sub{color:var(--ink-soft);font-size:16px;line-height:1.65;max-width:48ch;margin:14px 0 0}.landing-why{border-top:1px solid var(--line)}.landing-why-inner{max-width:640px}.landing-why-inner p{color:var(--ink-soft);font-size:17px;line-height:1.7;margin:16px 0 0}.landing-benefit-list{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}.landing-benefit-list li{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;color:var(--ink)}.landing-benefit-list .icon{color:var(--good)}.landing-showcase{border-top:1px solid var(--line)}.landing-showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.landing-showcase.alt .landing-showcase-grid>*:first-child{order:2}.landing-showcase.alt .landing-showcase-grid>*:last-child{order:1}.landing-demo{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;gap:16px}.landing-demo-input{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:15px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:var(--panel-sunk);min-height:22px}.landing-demo-input .icon{color:var(--ink-soft);flex-shrink:0}.landing-caret{width:2px;height:17px;background:var(--accent);display:inline-block;flex-shrink:0;animation:landing-blink 1s step-end infinite}@keyframes landing-blink{50%{opacity:0}}.landing-demo-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:26px}.landing-demo-chips .chip{opacity:0;transform:translateY(4px) scale(.94)}.landing-demo-chips.show .chip{opacity:1;transform:none;transition:opacity .28s ease,transform .28s ease;transition-delay:calc(var(--i) * 90ms)}.landing-board-frame{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px;overflow-x:auto}.landing-board-row{display:flex;gap:12px}.landing-board-row .board-column{min-width:168px;max-width:168px;cursor:default}.landing-board-row .board-column-title,.landing-board-row .board-card{cursor:default}.landing-features{border-top:1px solid var(--line)}.landing-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:36px}.landing-feature{background:var(--panel);padding:26px 24px;display:flex;flex-direction:column;gap:12px}.landing-feature-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent-ink)}.landing-feature h3{font-size:15.5px;font-weight:600}.landing-feature p{font-size:13.5px;color:var(--ink-soft);line-height:1.55}.landing-feature code{font-family:var(--font-mono);font-size:12px;background:var(--panel-sunk);padding:1px 5px;border-radius:3px}.landing-footer{border-top:1px solid var(--sidebar-line);margin-top:20px}.landing-foot-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0;flex-wrap:wrap}.landing-foot-colophon{font-family:var(--font-mono);font-size:12.5px;color:var(--sidebar-ink-soft);line-height:1.7;max-width:46ch}@media (max-width: 860px){.landing-wrap{padding:0 20px}.landing-hero{padding:48px 0 56px}.landing-hero-grid{grid-template-columns:1fr;gap:36px}.landing-showcase-grid{grid-template-columns:1fr;gap:28px}.landing-showcase.alt .landing-showcase-grid>*:first-child,.landing-showcase.alt .landing-showcase-grid>*:last-child{order:initial}.landing-foot-row{flex-direction:column;align-items:flex-start}}@media (max-width: 560px){.landing-feature-grid{grid-template-columns:1fr}}
