:root{color-scheme:dark;--canvas: #101318;--sidebar: #15191f;--panel: #1a2028;--field: #13171d;--hover: #252d37;--line: #2d3642;--text: #eef2f6;--muted: #a8b4c2;--accent: #8cdec0;--accent-ink: #10241c;--accent-surface: #20382f;--rose: #ffa49d;--amber: #f2cb8c;--blue: #9bc5ff;--purple: #c5b4ff;--nav-width: 234px;--top-height: 64px;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,select,textarea{font:inherit;color:inherit}button{padding:0;border:0;background:transparent;cursor:pointer}button:disabled{cursor:default;opacity:.55}button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit}svg{flex:none}h1,h2,h3,p{margin:0}input,select,textarea{min-width:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}select,input:not([type=search]),textarea{background:var(--field);border:1px solid var(--line);border-radius:8px}select{cursor:pointer}input:disabled,select:disabled{opacity:.55}.primary,.secondary,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border-radius:8px;font-weight:600}.primary{color:var(--accent-ink);background:var(--accent);border:1px solid transparent}.primary:hover:not(:disabled){background:#abecd5}.secondary{background:var(--panel);border:1px solid var(--line);color:var(--text)}.secondary:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--hover)}.icon-button{width:38px;min-height:38px;padding:0;flex:none;color:var(--muted)}.icon-button:hover:not(:disabled){color:var(--text)}.online-dot,.project-dot,.tiny-dot,.status-dot{display:inline-block;flex:none;border-radius:50%}.online-dot,.project-dot,.tiny-dot{width:8px;height:8px;background:var(--accent)}.online-dot.offline{background:var(--amber)}.tiny-dot{width:6px;height:6px;background:var(--muted)}.late{color:var(--rose)!important}.app-shell{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--nav-width);background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 12px 12px;z-index:10}.brand{display:flex;width:fit-content;align-items:center;gap:10px;min-height:44px;margin:0 0 20px;padding:0 8px;color:var(--text);border-radius:8px;font-size:16px;font-weight:720;letter-spacing:-.02em;text-align:left}.brand img{width:29px;height:29px}.nav-item{width:100%;min-height:40px;border-radius:7px;padding:7px 9px;display:flex;align-items:center;gap:9px;color:var(--muted);text-align:left;font-weight:540}.nav-item>span:not(.project-dot):not(.online-dot){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item small{font-size:11px;color:inherit;font-variant-numeric:tabular-nums}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.selected{background:var(--accent-surface);color:var(--accent)}.main-nav,.sidebar-bottom{display:grid;gap:3px}.nav-caption{display:flex;justify-content:space-between;align-items:center;padding:0 4px 0 9px;color:var(--muted);font-size:12px;font-weight:680;letter-spacing:.02em}.project-nav{flex:1;min-height:0;overflow:auto;margin-top:20px;padding-bottom:12px}.project-nav ul{margin:0;list-style:none;padding:0}.project-nav-row{display:flex;align-items:center;padding-left:calc(var(--depth) * 11px)}.project-nav-row>.nav-item{flex:1;min-width:0}.project-expand,.expand-space{width:27px;flex:none}.sidebar-bottom{border-top:1px solid var(--line);padding-top:10px}.sidebar-bottom .nav-item{font-size:13px}.main-shell{margin-left:var(--nav-width);min-width:0}.topbar{position:sticky;top:0;z-index:12;height:var(--top-height);display:flex;align-items:center;gap:14px;padding:0 clamp(20px,3.2vw,52px);background:var(--canvas);border-bottom:1px solid var(--line)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.search-trigger{justify-content:flex-start;color:var(--muted);min-width:min(300px,38vw);text-align:left}.search-trigger kbd{margin-left:auto;color:var(--muted);font:inherit;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:1px 5px}.top-jarvis{color:var(--accent)}.jarvis-entry.recording{color:var(--accent);background:var(--accent-surface)}.mobile-brand,.bottom-nav{display:none}main{max-width:1540px;margin-inline:auto;padding:31px clamp(20px,3.2vw,52px) 48px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 20px;margin-bottom:24px}.section-heading>div{min-width:0}.view-context{display:flex;gap:8px;align-items:center;min-height:23px;color:var(--muted);font-size:13px;margin-bottom:5px}.view-context:first-letter{text-transform:uppercase}.view-context button{display:inline-flex;align-items:center;gap:6px;min-height:27px;color:var(--muted);text-align:left}.view-context button:hover{color:var(--accent)}h1{font-size:clamp(30px,3.4vw,43px);line-height:1.08;font-weight:730;letter-spacing:-.04em;overflow-wrap:anywhere}.view-count{margin-top:9px;color:var(--muted);font-size:13px}.day-assistant{color:var(--muted);flex:none}.day-assistant svg{color:var(--accent)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.view-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--field)}.view-tabs button{display:inline-flex;gap:7px;align-items:center;padding:0 11px;min-height:33px;color:var(--muted);border-radius:6px}.view-tabs button:hover{color:var(--text)}.view-tabs button[aria-pressed=true]{background:var(--hover);color:var(--text);font-weight:650}.priority-filter{display:flex;align-items:center;gap:4px;padding-left:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--field)}.priority-filter select{min-height:39px;border:0;background:transparent;color:var(--text);padding:0 8px 0 4px}.board-status-picker{display:none}.task-list{display:grid;gap:20px}.task-group{min-width:0}.task-group>h2{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:690;padding:0 0 9px}.task-group>h2 span,.count{color:var(--muted);background:var(--hover);font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;border-radius:5px;padding:1px 6px}.task-group-body{background:var(--panel);border:1px solid var(--line);border-radius:10px}.task-row{display:grid;grid-template-columns:38px minmax(100px,1fr) auto minmax(104px,auto) 133px;align-items:center;column-gap:13px;padding:7px 13px 7px 8px;min-height:66px}.task-row+.task-row{border-top:1px solid var(--line)}.task-row .completion{grid-column:1;grid-row:1}.completion{color:var(--muted)}.completion.is-done{color:var(--accent)}.row-title{grid-column:2;grid-row:1;display:grid;gap:2px;padding:5px 0;color:var(--text);text-align:left;min-width:0;border-radius:5px}.row-title:hover strong{color:var(--accent)}.row-title strong{font-size:14px;font-weight:650;overflow-wrap:anywhere}.row-title small{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.task-row .priority{grid-column:3;grid-row:1}.row-date{grid-column:4;grid-row:1;font-size:12px;justify-self:start}.row-status{grid-column:5;grid-row:1;min-height:35px;width:100%;padding:0 8px;color:var(--muted);font-size:12px}.row-status.doing{color:var(--blue)}.row-status.review{color:var(--purple)}.row-status.done{color:var(--accent)}.row-date,.due{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-variant-numeric:tabular-nums}.completed .row-title strong,.completed .card-content h3{color:var(--muted);text-decoration:line-through}.priority{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;white-space:nowrap;border-radius:5px;background:var(--hover);padding:2px 6px}.priority.high{color:var(--amber);background:#3b2e20}.priority.urgent{color:var(--rose);background:#3b2628}.priority.low{color:var(--blue);background:#24334a}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.column{min-width:0;background:var(--sidebar);border:1px solid var(--line);border-radius:10px}.column-heading{display:flex;align-items:center;gap:6px;padding:3px 5px 3px 10px;min-height:46px}.column-heading h2{font-size:13px;font-weight:680;min-width:0}.column-heading .count{margin-left:auto}.column-heading .icon-button{width:28px;min-height:33px}.status-dot{width:7px;height:7px;background:var(--muted)}.doing .status-dot{background:var(--blue)}.review .status-dot{background:var(--purple)}.done .status-dot{background:var(--accent)}.column-body{display:grid;gap:7px;padding:0 7px 8px}.task-card{min-width:0;padding:5px 10px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.task-card:hover{border-color:#546273}.card-top{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:2px}.card-top .completion{width:31px;min-height:33px}.project-tag{display:inline-flex;align-items:center;gap:6px;color:var(--muted);min-width:0;overflow-wrap:anywhere;font-size:11px}.card-content{display:block;width:100%;text-align:left;padding:4px 0 9px;border-radius:4px;overflow-wrap:anywhere}.card-content h3{font-size:14px;font-weight:650}.card-content:hover h3{color:var(--accent)}.card-content p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:12px;margin-top:4px}.card-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted)}.due{font-size:11px}.empty-column{min-height:62px;display:grid;place-content:center;padding:8px;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:6px}.loading,.empty-list{display:grid;justify-items:center;align-content:center;gap:10px;min-height:214px;padding:24px;text-align:center;color:var(--muted)}.empty-list{border:1px dashed var(--line);border-radius:12px;background:var(--sidebar)}.empty-list h2{font-size:16px;color:var(--text);font-weight:660}.empty-list .secondary{margin-top:5px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.planner-dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);padding:0;width:min(540px,calc(100% - 28px));max-width:100%;max-height:min(88dvh,800px);border-radius:13px;box-shadow:0 22px 80px #0008;overscroll-behavior:contain}.planner-dialog::backdrop{background:#070a10b8}.planner-dialog>section{padding:20px}.dialog-heading,.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.dialog-tools{display:flex;gap:4px}.dialog-heading h2,.modal-heading h2{font-size:19px;font-weight:680;letter-spacing:-.02em}.quick-search{width:min(555px,calc(100% - 28px));margin:min(11vh,80px) auto auto}.search-field{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--field);padding-inline:11px;color:var(--muted)}.search-field:focus-within{border-color:var(--accent)}.search-field input{background:transparent;border:0;outline:0;width:100%;min-height:43px;font-size:16px}.search-caption{color:var(--muted);margin:13px 0 6px;font-size:12px}.search-results{display:grid;gap:3px;max-height:min(50dvh,375px);overflow:auto;padding:2px}.search-results p{color:var(--muted);padding:14px 8px}.search-results button{display:flex;align-items:center;width:100%;gap:10px;padding:7px 9px;min-height:47px;border-radius:7px;color:var(--muted);text-align:left}.search-results button:hover,.search-results button:focus-visible{background:var(--hover)}.search-results button>span{flex:1;min-width:0}.search-results button strong,.search-results button small{display:block;overflow-wrap:anywhere}.search-results button strong{font-size:14px;color:var(--text);font-weight:650}.search-results button small{font-size:12px}.result-arrow{color:var(--muted)}.modal form>p,.field-hint{color:var(--muted);margin:0 0 13px}.modal label{display:grid;gap:5px;min-width:0;margin-bottom:13px;color:var(--muted);font-size:13px;font-weight:600}.modal label input,.modal label select,.modal label textarea{min-height:41px;padding:7px 9px;width:100%;color:var(--text);font-size:16px;font-weight:400}.modal textarea{resize:vertical;min-height:80px}.modal input[type=color]{width:68px;padding:4px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 11px}.modal .field-hint{font-size:12px}.reminder-setting{border:1px solid var(--line);border-radius:8px;padding:0 10px}.reminder-setting summary{cursor:pointer;padding-block:9px;color:var(--muted);font-weight:600}.reminder-setting[open] summary{margin-bottom:8px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:12px;border-top:1px solid var(--line);margin-top:15px}.modal-actions>button:not(.primary){display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 9px;border-radius:7px}.modal-actions>button:not(.primary):hover{background:var(--hover)}.modal-actions .danger-button{margin-right:auto;color:var(--rose)}.connection-status{display:flex;align-items:center;gap:8px;color:var(--muted);margin:11px 0 14px}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.signin-shell{min-height:100dvh;display:grid;place-items:center;padding:24px 14px}.signin{width:min(100%,410px);padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.signin-brand{display:flex;align-items:center;gap:9px;font-weight:650;color:var(--accent);margin-bottom:18px}.signin-brand img{width:33px;height:33px}.signin h1{font-size:27px;margin-bottom:15px}.signin>p{color:var(--muted);margin-bottom:14px}.signin form>button{width:100%}.signin .error-banner{margin:13px 0 0}.signin-logout{margin-top:10px}.account-settings{display:grid;gap:9px}.account-members{margin-top:9px;border-top:1px solid var(--line);padding-top:13px}.account-members h3{display:flex;align-items:center;gap:6px;font-size:14px}.account-members ul{padding-left:20px;color:var(--muted)}.account-password{margin:9px 0}.account-password[open]{padding-bottom:10px}.share-label{display:inline-block;color:var(--accent);background:var(--accent-surface);border-radius:5px;padding:0 5px;font-size:11px}.view-count .share-label{margin-left:8px}.error-banner,.notice,.draft-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 11px;background:#35262b;color:var(--rose);border:1px solid #624149;border-radius:8px;margin-bottom:15px}.error-banner>span,.notice>span{flex:1;min-width:0;overflow-wrap:anywhere}.error-banner>button:not(.icon-button){min-height:36px;font-weight:650;text-decoration:underline}.notice,.draft-summary{background:var(--accent-surface);color:var(--accent);border-color:#39594d}.draft-summary{display:block;font-size:13px}.draft-summary ul{margin-bottom:0;padding-left:20px}.jarvis-panel,.chat-panel{position:fixed;inset:calc(var(--top-height) + 11px) max(14px,2.7vw) auto auto;z-index:35;width:min(402px,calc(100% - 28px));max-height:calc(100dvh - var(--top-height) - 25px);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 55px #0009;overscroll-behavior:contain}.jarvis-panel{overflow:auto;padding:14px}.jarvis-heading,.chat-header{display:flex;align-items:center;gap:8px}.jarvis-heading>div,.chat-header>div{flex:1;min-width:0}.jarvis-heading strong,.chat-header strong{display:block;font-size:16px;font-weight:700}.jarvis-heading small,.chat-header small{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.sparkle-tile{display:grid;place-items:center;width:37px;height:37px;border-radius:8px;background:var(--accent-surface);color:var(--accent)}.jarvis-voice-choice{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0 0}.jarvis-voice-choice label{color:var(--muted);font-size:12px}.jarvis-voice-choice select{flex:1;min-width:110px;min-height:38px;font-size:13px;padding:0 5px}.jarvis-voice-choice button{padding-inline:8px;font-size:12px}.jarvis-orb{display:grid;place-items:center;margin:17px auto 8px;width:53px;height:53px;border-radius:50%;color:var(--muted);background:var(--field);border:1px solid var(--line)}.jarvis-orb.listening{color:var(--accent);background:var(--accent-surface);border-color:#466e5e}.jarvis-orb.speaking{color:var(--blue);background:#233850;border-color:#4a6382}.jarvis-panel h3{font-size:18px;text-align:center}.jarvis-panel>p{color:var(--muted);text-align:center;font-size:13px;margin:5px 0 12px}.jarvis-panel>.conversation-degraded{color:var(--amber)}.jarvis-panel details{background:var(--field);border:1px solid var(--line);border-radius:7px;padding:5px 9px;margin:8px 0;font-size:13px;color:var(--muted)}.jarvis-panel details summary{cursor:pointer;padding-block:4px}.jarvis-panel details p{margin-block:6px;overflow-wrap:anywhere}.jarvis-answer{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--accent-surface);padding:8px 8px 8px 11px;border-radius:8px;color:var(--text);margin:10px 0}.jarvis-panel>button{width:100%;margin-top:6px}.jarvis-panel .jarvis-talk{min-height:44px}.chat-panel{display:flex;flex-direction:column;height:min(650px,calc(100dvh - 92px));overflow:hidden}.chat-header{padding:11px;border-bottom:1px solid var(--line)}.chat-mode{display:flex;gap:6px;padding:8px 11px 0}.chat-mode button{flex:1;min-height:37px;padding-inline:6px;border-radius:7px;color:var(--muted)}.chat-mode button.active{background:var(--accent-surface);color:var(--accent)}.chat-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:11px}.chat-welcome{padding:8px;color:var(--muted)}.chat-welcome h3{margin-bottom:4px;color:var(--text);font-size:17px}.chat-message{padding:9px 11px;background:var(--field);border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.user{background:var(--accent-surface);align-self:flex-end;max-width:94%}.chat-input{display:flex;align-items:flex-end;gap:6px;margin:9px 11px 0}.chat-input textarea{width:100%;padding:8px;resize:vertical;max-height:150px;font-size:16px}.chat-input .primary{padding-inline:10px}.microphone.recording{color:var(--rose)}.voice-status,.chat-footnote,.thinking{color:var(--muted);font-size:12px;padding:8px 11px}.thinking{display:flex;align-items:center;gap:6px}.review-draft{margin-top:6px}@media(max-width:920px){:root{--top-height: 60px;--bottom-height: 62px}.sidebar,.top-jarvis,.search-trigger>span,.search-trigger kbd{display:none}.main-shell{margin:0}.topbar{height:calc(var(--top-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));gap:8px}.mobile-brand{display:flex;margin:0 auto 0 0;padding:0 4px 0 0;font-size:15px}.mobile-brand img{width:27px;height:27px}.top-actions{margin-left:0}.search-trigger,.new-task{width:44px;height:44px;min-width:44px;padding:0;justify-content:center}.new-task>span{display:none}main{padding:22px max(15px,env(safe-area-inset-right)) calc(var(--bottom-height) + 24px + env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left))}.bottom-nav{position:fixed;inset:auto 0 0;z-index:25;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px max(7px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));min-height:calc(var(--bottom-height) + env(safe-area-inset-bottom));background:var(--sidebar);border-top:1px solid var(--line)}.bottom-item{display:grid;align-content:center;justify-items:center;gap:2px;min-width:0;min-height:49px;color:var(--muted);font-size:11px;border-radius:8px}.bottom-item[aria-current=page]{color:var(--accent);background:var(--accent-surface)}.bottom-item.jarvis-entry{color:var(--accent)}.bottom-item.jarvis-entry.recording{background:var(--accent-surface)}.navigation-dialog{width:min(430px,calc(100% - 20px));margin:auto auto calc(var(--bottom-height) + 6px + env(safe-area-inset-bottom))}.navigation-dialog>section{padding:12px}.navigation-dialog .project-nav{margin-top:0}.navigation-dialog .main-nav{padding-block:6px;border-top:1px solid var(--line)}.navigation-dialog .nav-item{min-height:44px}.navigation-dialog .nav-caption .icon-button,.navigation-dialog .project-expand{min-height:42px}.board-status-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);margin-bottom:9px}.board-status-picker select{min-height:42px;padding:0 10px;color:var(--text)}.board{display:block}.column:not(.mobile-current){display:none}.column-heading .icon-button,.card-top .completion{width:44px;min-height:44px}.column-body{padding:0 8px 9px}.jarvis-panel,.chat-panel{inset:auto 10px calc(var(--bottom-height) + 8px + env(safe-area-inset-bottom)) auto;width:min(430px,calc(100% - 20px));max-height:calc(100dvh - var(--top-height) - var(--bottom-height) - 14px - env(safe-area-inset-bottom))}.jarvis-heading .icon-button,.chat-header .icon-button{width:44px;min-height:44px}.day-assistant,.view-tabs button{min-height:38px}}@media(max-width:620px){.section-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}.day-assistant{min-height:38px;font-size:13px}.toolbar{margin-bottom:15px}.task-row{grid-template-columns:40px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:0 6px;min-height:78px;padding:6px 7px 6px 3px}.task-row .completion{grid-row:1 / 3;width:40px;min-height:44px}.row-title{padding-block:2px}.row-title strong{font-size:14px}.row-title small{font-size:12px}.task-row .priority{grid-row:2;grid-column:3;justify-self:end;align-self:center}.row-date{grid-row:2;grid-column:2;padding-block:4px;font-size:12px}.row-status{grid-row:1;grid-column:3;width:auto;max-width:106px;min-height:38px;padding-inline:4px;font-size:12px}.task-group>h2{font-size:13px}.planner-dialog>section{padding:13px}.quick-search{margin-top:6vh}.modal-actions{gap:5px}.modal-actions>button{font-size:13px}.modal-actions .primary{padding-inline:10px}}@media(min-width:360px)and (max-width:920px){.new-task{width:auto;padding-inline:9px;font-size:13px}.new-task>span{display:inline}}@media(prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
