:root{--bg: hsl(215 30% 6%);--col-bg: hsl(215 26% 8.5%);--surface-1: hsl(215 25% 11%);--surface-2: hsl(215 25% 11%);--surface-3: hsl(215 22% 14%);--border: hsl(215 20% 20%);--border-soft: hsl(215 18% 16%);--text: hsl(200 25% 97%);--text-muted: hsl(200 18% 82%);--text-faint: hsl(200 12% 58%);--accent: hsl(195 90% 70%);--accent-2: hsl(250 80% 70%);--accent-soft: hsl(195 90% 70% / .12);--pri-urgent: hsl(14 85% 62%);--pri-high: hsl(42 92% 60%);--pri-normal: hsl(215 14% 55%);--pri-low: hsl(215 12% 46%);--success: hsl(158 65% 55%);--danger: hsl(14 85% 62%);--warning: hsl(42 92% 60%);--card-grad: linear-gradient(180deg, hsl(215 25% 11%) 0%, hsl(215 29% 7%) 100%);--card-shadow: 0 1px 0 hsl(0 0% 100% / .04) inset, 0 4px 6px -2px hsl(215 30% 2% / .5), 0 12px 32px -12px hsl(215 30% 2% / .7);--card-shadow-hover: 0 1px 0 hsl(0 0% 100% / .05) inset, 0 4px 8px -2px hsl(215 30% 2% / .6), 0 16px 40px -12px hsl(215 30% 2% / .85), 0 0 0 1px hsl(195 90% 70% / .22);--font-head: "Unbounded", "Manrope", sans-serif;--font-ui: "Manrope", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-1: 11px;--fs-2: 12px;--fs-3: 13px;--fs-4: 15px;--fs-5: 18px;--fs-6: 24px;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--radius: 14px;--r-card: 18px;--r-modal: 18px;--r-ctl: 8px;--r-badge: 999px;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--fg: var(--text);--muted: var(--text-muted);--line: var(--border);--primary: var(--accent);--card: var(--surface-2);--col: var(--col-bg);--surface: var(--surface-1);--r-md: var(--r-ctl);--r-lg: var(--r-card);--on-accent: hsl(215 30% 6%);color-scheme:dark}:root[data-theme=light]{color-scheme:light;--bg: #ece7dd;--col-bg: #f4f0e8;--surface-1: #fbfaf6;--surface-2: #fbfaf6;--surface-3: #f1ece2;--border: #e3ddd0;--border-soft: #eee9de;--text: #2b2a27;--text-muted: #6e695f;--text-faint: #9a9488;--accent: #2e7d5b;--accent-2: #5b8a72;--accent-soft: rgba(46, 125, 91, .12);--on-accent: #ffffff;--pri-urgent: #c6483d;--pri-high: #c98a3b;--warning: #c98a3b;--success: #2e7d5b;--danger: #c6483d;--card-grad: linear-gradient(180deg, #fbfaf6 0%, #f6f2ea 100%);--card-shadow: 0 1px 2px rgba(60, 50, 30, .06), 0 8px 24px -12px rgba(60, 50, 30, .14);--card-shadow-hover: 0 2px 4px rgba(60, 50, 30, .1), 0 16px 34px -14px rgba(60, 50, 30, .22), 0 0 0 1px rgba(46, 125, 91, .22);--shadow: 0 1px 2px rgba(60, 50, 30, .1)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);font-size:var(--fs-3);font-weight:var(--fw-normal);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}html,body{max-width:100%;overflow-x:hidden}.card .title,.modal,.report-card,.desc-link,.context-md,.cat-tile-label{overflow-wrap:anywhere;word-break:break-word}.num,.count,.dt-count,.cal-day{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button{font:inherit;font-weight:500;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:var(--r-md);padding:7px 12px;transition:background .15s,border-color .15s,opacity .15s}button:hover:not(:disabled){background:var(--surface-3)}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:var(--fw-semibold)}button.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}button.danger{color:var(--danger)}button:disabled{opacity:.45;cursor:default}input,textarea,select{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);color:var(--fg);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}::placeholder{color:var(--muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:7px}:focus:not(:focus-visible){outline:none}.card[draggable=true]{cursor:grab}.card[draggable=true]:active{cursor:grabbing}.board .card{position:relative}.select-box{position:absolute;top:8px;right:8px;width:18px;height:18px;padding:0;border-radius:6px;border:1.5px solid var(--border);background:var(--surface-1);color:var(--accent);font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .14s,border-color .14s}.board .card:hover .select-box,.select-box.on{opacity:1}.select-box.on{border-color:var(--accent);background:var(--accent-soft)}.card.selected{border-color:#6ed5f7b3;box-shadow:var(--card-shadow-hover)}.bulkbar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);display:flex;align-items:center;gap:10px;z-index:60;background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:8px 14px;box-shadow:var(--card-shadow-hover);font-size:var(--fs-3)}.bulkbar select{width:auto;font-size:var(--fs-2);border-radius:var(--r-ctl)}.bulkbar .bulk-count{color:var(--accent);font-weight:var(--fw-semibold)}.bulkbar .primary{padding:5px 12px}.bulkbar .bulk-archive{padding:5px 12px;border-color:#c98a1a;color:#c98a1a}.bulkbar .bulk-archive:hover{background:#c98a1a1f}.error-bar{display:flex;align-items:center;gap:8px;background:#f0724c1f;border-bottom:1px solid hsl(14 85% 62% / .3);color:var(--danger);font-size:var(--fs-2);padding:9px 16px}.error-bar button{background:transparent;border:none;color:var(--danger);padding:0 4px}.topbar{display:flex;align-items:center;gap:12px;padding:11px 16px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;flex-wrap:wrap}.topbar h1{font-family:var(--font-head);font-size:var(--fs-5);margin:0;font-weight:var(--fw-semibold);letter-spacing:-.025em}.main h2{font-family:var(--font-head);font-weight:var(--fw-semibold);letter-spacing:-.025em}.topbar .spacer{flex:1}.hamburger{display:none;padding:5px 10px;font-size:18px;line-height:1;background:transparent;border:1px solid var(--border)}.sidebar-backdrop{display:none}.notif{position:relative}.theme-toggle{padding:6px 9px;background:transparent;border:1px solid var(--border);font-size:14px;line-height:1}.theme-toggle:hover{border-color:var(--accent)}.me-chip{font-size:12px;color:var(--text-muted);padding:6px 10px;border:1px solid var(--border);border-radius:var(--r-md);white-space:nowrap}.desc-links{display:flex;flex-direction:column;gap:4px;margin-top:6px}.desc-link{font-size:var(--fs-2);color:var(--accent);word-break:break-all}.cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px}.cat-tile{display:flex;align-items:center;gap:10px;background:var(--card-grad);border:1px solid var(--border-soft);border-radius:var(--r-card);padding:16px 18px;cursor:pointer;box-shadow:var(--card-shadow);transition:border-color .15s ease,transform .15s ease}.cat-tile:hover{border-color:var(--accent);transform:translateY(-2px)}.cat-tile-label{font-weight:var(--fw-medium);font-size:var(--fs-4)}.cat-tile-count{margin-left:auto;color:var(--text-muted);background:var(--surface-3);padding:2px 10px;border-radius:999px;font-size:var(--fs-2)}.cat-tile.allbank{border-style:dashed}.back-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--r-md);padding:6px 12px;font-size:var(--fs-2);cursor:pointer}.back-btn:hover{border-color:var(--accent);color:var(--text)}.allbank-list{display:flex;flex-direction:column;gap:8px}.allbank-item{display:flex;align-items:center;gap:12px;background:var(--card-grad);border:1px solid var(--border-soft);border-radius:12px;padding:12px 16px;cursor:pointer}.allbank-item:hover{border-color:var(--accent)}.allbank-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allbank-proj{flex:0 0 auto;font-size:var(--fs-2)}.notif-bell{position:relative;padding:6px 9px;background:transparent;border:1px solid var(--border)}.notif-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.notif-panel{position:absolute;top:40px;right:0;z-index:40;width:320px;max-width:calc(100vw - 24px);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--card-shadow-hover);padding:10px}.notif-head{font-size:var(--fs-2);color:var(--text-muted);margin:2px 6px 8px}.notif-empty{color:var(--text-faint);font-size:var(--fs-2);margin:8px 6px}.notif-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r-ctl);cursor:pointer}.notif-item:hover{background:var(--surface-2)}.notif-dot{width:7px;height:7px;border-radius:999px;flex:0 0 auto}.notif-dot.over{background:var(--danger)}.notif-dot.today{background:var(--warning)}.notif-title{flex:1;font-size:var(--fs-2);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-when{font-size:var(--fs-1);color:var(--text-faint);white-space:nowrap}.layout{display:flex;gap:0}.sidebar{width:240px;border-right:1px solid var(--line);background:var(--surface);min-height:calc(100vh - 54px);padding:14px 12px}.sidebar h2{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:4px 8px 10px}.project-item{position:relative;padding:8px 12px;border-radius:var(--r-card);cursor:pointer;color:var(--text-muted);font-size:var(--fs-3);transition:background .14s,color .14s}.project-item:hover{background:var(--surface-3);color:var(--text)}.project-item.active{background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-medium)}.project-item.mine-item.active{color:var(--accent)}.project-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.project-item.mine-item{display:flex;align-items:center;justify-content:space-between;font-weight:var(--fw-medium);color:var(--text);margin-bottom:6px}.project-item.mine-item .count{font-size:var(--fs-2);color:var(--accent);background:transparent;padding:0}.proj-head{display:flex;align-items:center;justify-content:space-between;margin:8px 8px 6px;gap:6px}.proj-collapse{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px 0;font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--font-ui)}.proj-collapse:hover{color:var(--text)}.proj-collapse .chev{font-size:9px;width:10px}.proj-collapse .count{color:var(--text-faint);background:transparent;padding:0}.side-cat{margin:2px 0}.side-cat-head{display:flex;align-items:center;gap:6px;cursor:pointer;padding:5px 8px;border-radius:8px;color:var(--text-muted);font-size:12px;font-weight:var(--fw-semibold)}.side-cat-head:hover{background:var(--surface-3);color:var(--text)}.side-cat-head .chev{font-size:9px;width:10px;flex:0 0 auto}.side-cat-head .side-cat-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-cat-head .count{color:var(--text-faint);background:transparent;padding:0}.side-cat-list{display:flex;flex-direction:column;gap:1px;padding-left:8px;margin-bottom:4px}.side-cat-list .cat-empty{padding:3px 10px}.cat-edit{flex:0 0 auto;opacity:0;background:none;border:none;cursor:pointer;font-size:11px;padding:0 3px;line-height:1}.side-cat-head:hover .cat-edit{opacity:.65}.cat-edit:hover{opacity:1}.cat-rename{flex:1;min-width:0;font-size:12px;font-weight:var(--fw-semibold);background:var(--surface-2);border:1px solid var(--accent);border-radius:5px;color:var(--text);padding:1px 6px;font-family:var(--font-ui)}.project-item.project-row{display:flex;align-items:center;gap:6px}.project-item.project-row .proj-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-add{flex:0 0 auto;opacity:0;background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0 4px;border-radius:5px}.project-row:hover .proj-add,.proj-add:focus{opacity:1}.proj-add:hover{color:var(--accent)}.proj-edit{flex:0 0 auto;opacity:0;background:none;border:none;cursor:pointer;font-size:12px;line-height:1;padding:0 2px;border-radius:5px}.project-row:hover .proj-edit,.proj-edit:focus{opacity:.8}.proj-edit:hover{opacity:1}.proj-del:hover{color:var(--danger)}@media (hover: none){.proj-add{opacity:.55}}.cat-dots{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.cat-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.cat-menu{position:absolute;top:100%;right:6px;z-index:60;margin-top:4px;background:var(--surface-3);border:1px solid var(--border);border-radius:12px;padding:6px;min-width:200px;max-width:calc(100% - 8px);display:flex;flex-direction:column;gap:2px;box-shadow:0 12px 34px #0000008c}.cat-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:7px 8px;border-radius:8px;font-size:13px;color:var(--text-muted);font-family:var(--font-ui)}.cat-opt:hover{background:var(--surface-2);color:var(--text)}.cat-opt.on{color:var(--text)}.cat-opt .cat-check{width:14px;flex:0 0 auto;color:var(--accent);font-weight:var(--fw-semibold)}.cat-empty{color:var(--text-faint);font-size:12px;font-style:italic;padding:4px 8px}.main{flex:1;padding:16px;min-width:0}.filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 16px}.filterbar select,.filterbar .search{width:auto;font-size:var(--fs-2);background:transparent;border:1px solid var(--border);color:var(--text-muted)}.filterbar select:hover,.filterbar .search:hover{border-color:var(--text-faint);color:var(--text)}.filterbar .search{min-width:210px;border-radius:999px}.filterbar .reset-filters{font-size:var(--fs-2);color:var(--text-faint);background:transparent;border:1px solid var(--border);border-radius:999px}.filterbar .reset-filters:hover{color:var(--text);border-color:var(--text-faint)}.viewswitch{display:inline-flex;gap:2px;background:var(--surface-3);border:1px solid var(--border-soft);border-radius:10px;padding:3px}.viewswitch button{font-size:var(--fs-2);padding:5px 12px;color:var(--text-muted);background:transparent;border:none;border-radius:7px}.viewswitch button:hover:not(:disabled){background:transparent;color:var(--text)}.viewswitch button.active{background:var(--bg);box-shadow:0 1px 2px #04050780;color:var(--accent);font-weight:var(--fw-medium)}.calendar{margin-top:12px}.cal-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cal-title{font-size:15px;font-weight:600;min-width:150px;text-align:center}.cal-head .cal-today{font-size:12px;color:var(--muted);background:transparent;border:1px solid var(--line)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-wd{font-size:11px;color:var(--muted);text-transform:uppercase;text-align:center;padding-bottom:2px}.cal-cell{min-height:92px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--col);padding:5px 6px;display:flex;flex-direction:column;gap:3px}.cal-cell.empty{background:transparent;border-color:transparent}.cal-cell.weekend{background:var(--bg)}.cal-cell.clickable{cursor:pointer}.cal-cell.clickable:hover{border-color:#6ed5f773}.cal-cell.today{border-color:var(--primary)}.cal-cell.today .cal-day{color:var(--primary);font-weight:700}.cal-day{font-size:12px;color:var(--muted)}.cal-task{font-size:11px;line-height:1.25;padding:2px 6px;border-radius:6px;cursor:pointer;background:#6ed5f726;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-task:hover{filter:brightness(1.25)}.cal-task.high{background:#f7bf3b2e}.cal-task.urgent{background:#f0724c2e}.cal-task.overdue{background:#f0724c47;color:var(--danger);font-weight:600}.cal-more{font-size:11px;color:var(--muted);padding:1px 4px;cursor:default}.cal-nodeadline{color:var(--muted);font-size:12px;margin-top:10px}.cal-cell.droppable{outline:1px dashed var(--border);outline-offset:-2px}.cal-cell.droppable:hover{outline:2px dashed var(--accent);background:var(--accent-soft)}.cal-task[draggable=true]{cursor:grab}.cal-nodate{margin-top:12px}.cal-nodate-head{font-size:12px;color:var(--text-muted);margin-bottom:8px}.cal-nodate-list{display:flex;flex-wrap:wrap;gap:6px}.cal-nodate-chip{font-size:12px;padding:5px 10px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border);cursor:grab;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-nodate-chip:hover{border-color:var(--accent)}.cal-nodate-chip.high{border-left:3px solid var(--pri-high)}.cal-nodate-chip.urgent{border-left:3px solid var(--pri-urgent)}.cal-nodate-more{font-size:12px;color:var(--text-faint);align-self:center}.datetabs{margin-top:12px}.dt-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}.dt-tab{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px}.dt-tab:hover{color:var(--fg)}.dt-tab.active{background:var(--accent);color:var(--on-accent);border-color:transparent;font-weight:var(--fw-medium)}.dt-tab.overdue{color:var(--danger);border-color:#f0724c66}.dt-tab .dt-count{font-size:11px;font-weight:700;background:var(--surface-3);border-radius:999px;padding:0 7px;color:var(--muted)}.dt-tab.active .dt-count{background:#0b0f1438;color:var(--on-accent)}.dt-body{display:flex;flex-direction:column;gap:9px;max-width:640px}.dt-body .card{margin-bottom:0}.board{display:flex;gap:var(--sp-4);overflow-x:auto;padding-bottom:10px}.column{position:relative;background:var(--col-bg);border:1px solid var(--border-soft);border-radius:var(--radius);width:288px;min-width:250px;flex:0 0 auto;display:flex;flex-direction:column;max-height:calc(100vh - 150px);box-shadow:inset 0 2px 0 transparent;transition:box-shadow .14s ease-out,background .14s ease-out}.column:hover{box-shadow:inset 0 2px #6ed5f759}.column.dragover{box-shadow:inset 0 2px 0 var(--accent);background:var(--surface-2)}.column-head{padding:13px 14px 10px;font-weight:var(--fw-semibold);font-size:var(--fs-3);color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:7px}.column-head .count{color:var(--text-muted);font-size:var(--fs-2);cursor:pointer}.column-head .count.over{color:var(--danger);font-weight:var(--fw-semibold)}.column.over{border-color:#f0724c8c}.column-head .wip-input{width:64px;font-size:var(--fs-2);padding:2px 6px}.column.drafts .column-head{color:var(--pri-high)}.column.drafts{border-color:#f7bf3b4d}.column.collapsed{align-self:flex-start;max-height:none}.column.collapsed .column-body{display:none}.drafts-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:4px}.drafts-toggle .chev{font-size:11px}.col-selall{opacity:0;background:none;border:none;cursor:pointer;font-size:13px;padding:0 3px;line-height:1;color:var(--text-muted)}.column-head:hover .col-selall,.col-selall:focus{opacity:.75}.col-selall:hover{opacity:1;color:var(--accent)}.column.is-done{background:transparent;border-color:transparent;opacity:.62}.column.is-done:hover{opacity:1}.column.is-done .column-head{color:var(--text-muted)}.column-body{padding:0 10px 10px;overflow-y:auto}.add-task{width:100%;margin-top:4px;background:transparent;border:1px dashed var(--border);color:var(--text-faint);font-weight:var(--fw-normal);opacity:.55;transition:opacity .14s,color .14s,background .14s,border-color .14s}.add-task:hover:not(:disabled){background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.column:hover .add-task{opacity:1}.new-task{width:100%;margin-top:4px;font-size:var(--fs-3)}.card{background:var(--card-grad);border:1px solid var(--border);border-radius:var(--r-card);padding:12px 14px;margin-bottom:10px;box-shadow:var(--card-shadow);cursor:pointer;transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out}.card:hover{transform:translateY(-2px);border-color:#6ed5f780;box-shadow:var(--card-shadow-hover)}.card.pri-urgent{border-left:3px solid var(--pri-urgent)}.card.pri-high{border-left:3px solid var(--pri-high)}.card.pri-urgent:hover{border-left-color:var(--pri-urgent)}.card.pri-high:hover{border-left-color:var(--pri-high)}.card .card-id{margin-left:auto;flex:0 0 auto;color:var(--text-faint);font-size:var(--fs-1)}.card .title{font-size:var(--fs-3);font-weight:var(--fw-medium);line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card:hover .title,.card:focus-within .title{-webkit-line-clamp:unset;overflow:visible}.card .title-row{display:flex;gap:8px;align-items:flex-start}.card .check{flex:0 0 auto;width:18px;height:18px;margin-top:1px;padding:0;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--success);font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .12s,background .12s}.card .check:hover{border-color:var(--success)}.card .check.done{border-color:var(--success);background:#42d7a029}.card .check.done+.title{color:var(--muted);text-decoration:line-through}.card .meta{display:flex;gap:10px;margin-top:9px;flex-wrap:wrap;align-items:center;min-width:0}.meta .pri{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-1);color:var(--text-muted);white-space:nowrap}.meta .pri .dot{width:7px;height:7px;border-radius:999px;background:var(--pri-normal);flex:0 0 auto}.meta .pri.urgent .dot{background:var(--pri-urgent)}.meta .pri.high .dot{background:var(--pri-high)}.meta .pri.low .dot{background:var(--pri-low)}.meta .due{font-size:var(--fs-1);color:var(--text-muted);white-space:nowrap}.meta .due.overdue{color:var(--danger)}.meta .sub{font-size:var(--fs-1);color:var(--text-muted);white-space:nowrap}.meta .src{font-size:var(--fs-1);color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.meta .avatar.right{margin-left:auto}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack.right{margin-left:auto}.avatar-stack .avatar{border:2px solid var(--surface-2);margin-left:-7px}.avatar-stack .avatar:first-child{margin-left:0}.avatar.more{background:var(--surface-3);color:var(--text-muted);font-size:9px}.assignee-chip{font-size:var(--fs-1);padding:3px 10px;border-radius:var(--r-badge);background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted)}.meta .timer{font-size:var(--fs-1);padding:1px 8px;border-radius:var(--r-badge);background:transparent;border:1px solid var(--border);color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}.meta .timer.running{border-color:var(--accent);color:var(--accent)}.timer-total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-4)}.label-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.label-chip{font-size:var(--fs-1);font-weight:var(--fw-medium);line-height:1.4;padding:1px 9px;border-radius:var(--r-badge);white-space:nowrap}.label-filter{font-size:var(--fs-1);padding:3px 10px;border-radius:var(--r-badge);background:transparent;border:1px solid var(--border);font-weight:var(--fw-medium)}.label-editor{align-items:flex-start}.label-picker{display:flex;flex-wrap:wrap;gap:6px;flex:1}.label-chip-btn{font-size:var(--fs-1);padding:3px 10px;border-radius:var(--r-badge);background:transparent;border:1px solid var(--border);font-weight:var(--fw-medium)}.label-picker .new-label{width:auto;min-width:130px;font-size:var(--fs-2);border-radius:var(--r-badge)}.label-picker .label-color{width:30px;height:26px;padding:2px;border-radius:var(--r-ctl);cursor:pointer}.time-set{width:auto;max-width:130px;font-size:var(--fs-2)}.badge{font-size:var(--fs-1);font-weight:var(--fw-medium);padding:2px 10px;border-radius:var(--r-badge);background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap}.badge.high{background:#f7bf3b29;color:var(--warning)}.badge.urgent{background:#f0724c29;color:var(--danger)}.badge.closed{background:#42d7a029;color:var(--success)}.badge.source{background:#6ed5f726;color:var(--primary)}.badge.deadline{background:var(--surface-3);color:var(--muted)}.badge.deadline.overdue{background:#f0724c29;color:var(--danger)}.avatar{flex:0 0 auto;width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--fw-semibold);color:#fff;letter-spacing:.2px;cursor:default}.card .mobile-move{display:none;gap:6px;margin-top:8px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;justify-content:center;align-items:flex-start;padding:40px 24px;overflow-y:auto;z-index:50}.modal{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-modal);width:100%;max-width:640px;padding:24px;box-shadow:0 12px 40px #00000073}.modal h2{margin-top:0}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:14px 0}.row label{font-size:var(--fs-2);color:var(--text-muted);min-width:84px}.source-row{gap:12px}.tg-link{font-size:var(--fs-3)}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--border);margin:18px 0 14px}.tabs button{border:none;background:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-muted);padding:8px 2px;font-size:var(--fs-3);transition:color .14s,border-color .14s}.tabs button:hover{background:none;color:var(--text)}.tabs button.active{border-bottom-color:var(--accent);color:var(--text);font-weight:var(--fw-medium)}.chat-msg{padding:9px 11px;border-radius:var(--r-card);background:var(--surface-2);margin-bottom:7px}.chat-msg .who{font-size:var(--fs-2);color:var(--text-muted);margin-bottom:3px}.event{font-size:var(--fs-3);padding:8px 0;border-bottom:1px solid var(--border)}.event .when{color:var(--text-faint);font-size:var(--fs-1)}.draft-banner{background:#f7bf3b1a;border:1px solid hsl(42 92% 60% / .35);border-radius:var(--r-card);padding:12px;margin-bottom:12px}.ai-block{background:var(--accent-soft);border:1px solid hsl(195 90% 70% / .28);border-radius:var(--r-card);padding:14px;margin:16px 0}.metrics{max-width:760px}.kpi-hero{display:flex;align-items:baseline;gap:14px;margin:18px 0;padding:22px 24px;background:var(--card-grad);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--card-shadow)}.kpi-hero-num{font-family:var(--font-mono);font-size:44px;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.kpi-hero-label{font-size:var(--fs-4);color:var(--text)}.kpi-hero-label .dim{color:var(--text-faint)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.kpi{background:var(--card-grad);border:1px solid var(--border);border-radius:var(--r-card);padding:15px 16px;box-shadow:var(--card-shadow);transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out}.kpi:hover{transform:translateY(-2px);border-color:#6ed5f766;box-shadow:var(--card-shadow-hover)}.kpi-num{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text);font-variant-numeric:tabular-nums}.kpi-num.accent{color:var(--accent)}.kpi-num.good{color:var(--success)}.kpi-label{margin-top:6px;font-size:var(--fs-1);color:var(--text-muted);display:flex;flex-direction:column;gap:2px}.kpi-hint{color:var(--text-faint)}.perday{margin-top:22px}.perday-title{font-size:var(--fs-2);color:var(--text-muted);margin-bottom:10px}.perday-bars{display:flex;align-items:flex-end;gap:4px;height:120px}.perday-col{flex:1;min-width:8px;max-width:28px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.perday-bar{width:100%;background:var(--accent-soft);border-top:2px solid var(--accent);border-radius:3px 3px 0 0;min-height:2px}.perday-x{font-size:9px;color:var(--text-faint)}.reports{max-width:720px}.report-card{background:var(--card-grad);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--card-shadow);padding:18px 20px;margin-top:16px}.report-head{font-size:var(--fs-4);font-weight:var(--fw-semibold);margin-bottom:14px}.report-head .dim{color:var(--text-faint);font-weight:var(--fw-normal);font-size:var(--fs-3)}.rt-row,.wl-row{display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;padding:5px 0}.rt-name,.wl-name{font-size:var(--fs-2);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rt-count{color:var(--text-faint);font-size:var(--fs-1);margin-left:4px}.rt-bar,.wl-bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.rt-fill{display:block;height:100%;background:var(--accent);border-radius:999px}.rt-fill.hot{background:var(--danger)}.wl-fill{display:block;height:100%;background:var(--accent);border-radius:999px}.rt-val,.wl-val{font-size:var(--fs-1);color:var(--text-muted);white-space:nowrap}.rt-val .dim,.wl-val .dim{color:var(--text-faint)}.wl-row.none .wl-name{color:var(--warning)}.wl-row.none .wl-fill{background:var(--warning)}.tts-hero{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}.tts-big{font-family:var(--font-mono);font-size:40px;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.tts-sub{font-size:var(--fs-2);color:var(--text-muted)}.tts-sub .dim{color:var(--text-faint)}.tts-waiting{font-size:var(--fs-2);color:var(--text-muted);padding:6px 0 2px;border-top:1px solid var(--border)}.tts-waiting .dim{color:var(--text-faint)}.tts-breakdown{margin-top:12px}.tts-bd-title{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.tts-bd-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:3px 0}.tts-bd-name{font-size:var(--fs-2);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tts-bd-count{font-size:var(--fs-1);text-align:right}.tts-bd-val{font-size:var(--fs-1);color:var(--text-muted);white-space:nowrap;text-align:right;min-width:52px}.done-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.day-select{width:auto;font-size:var(--fs-2);border-radius:var(--r-ctl);padding:4px 8px;flex:0 0 auto}.done-groups{display:flex;flex-direction:column;gap:14px;margin-top:6px}.done-project{font-weight:600;color:var(--text);margin-bottom:4px}.done-list{list-style:disc;margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px}.done-item{font-size:var(--fs-2);color:var(--text)}.done-title{color:var(--text)}.done-meta{font-size:var(--fs-1)}.done-total{font-size:var(--fs-1);margin-top:12px;padding-top:8px;border-top:1px solid var(--border)}.column-head .col-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto;margin-right:-1px}.column-head .col-spacer{flex:1 1 auto}.col-color{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex:0 0 auto;opacity:0;transition:opacity .14s}.column:hover .col-color,.col-color:focus-within{opacity:1}.col-color .col-swatch{width:14px;height:14px;border-radius:4px;border:1px solid var(--border);background-image:linear-gradient(45deg,var(--surface-3) 25%,transparent 25%,transparent 75%,var(--surface-3) 75%);background-size:8px 8px}.col-color input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}.column-head .col-color-clear{padding:0 4px;font-size:11px;line-height:1;background:transparent;border:0;color:var(--text-faint);cursor:pointer;flex:0 0 auto;opacity:0;transition:opacity .14s}.column:hover .col-color-clear{opacity:1}.column-head .col-color-clear:hover{color:var(--danger);background:transparent}.meta .checklist-badge{font-size:var(--fs-1);color:var(--text-muted);white-space:nowrap}.meta .checklist-badge.full{color:var(--success)}.checklist-block{margin:6px 0 4px;padding:12px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.checklist-total{color:var(--text-muted);font-size:var(--fs-2)}.checklist{margin:10px 0}.checklist-head{display:flex;align-items:center;gap:8px}.checklist-name{font-weight:var(--fw-medium);font-size:var(--fs-3);color:var(--text)}.checklist-count{color:var(--text-faint);font-size:var(--fs-1)}.checklist-del{margin-left:auto;padding:0 6px;background:transparent;border:0;color:var(--text-faint);font-size:12px;cursor:pointer}.checklist-del:hover{color:var(--danger);background:transparent}.checklist-bar{height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin:6px 0 8px}.checklist-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .18s ease-out}.checklist-item{display:flex;align-items:center;gap:8px;padding:3px 0}.checklist-item .check.sm{flex:0 0 auto;width:16px;height:16px;padding:0;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--success);font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.checklist-item .check.sm:hover{border-color:var(--success)}.checklist-item .check.sm.done{border-color:var(--success);background:#42d7a029}.checklist-text{flex:1;font-size:var(--fs-3);color:var(--text)}.checklist-item.done .checklist-text{color:var(--muted);text-decoration:line-through}.checklist-additem{margin:4px 0 0 24px}.checklist-additem input{width:100%;font-size:var(--fs-2)}.checklist-add{margin-top:8px}.checklist-add input{width:100%;font-size:var(--fs-2)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#494f5a}::-webkit-scrollbar-track{background:transparent}@media (max-width: 860px){.hamburger{display:inline-flex;align-items:center}.topbar{gap:8px;padding:max(9px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 9px max(12px,env(safe-area-inset-left))}.topbar h1{font-size:var(--fs-4)}.topbar .demo-draft{display:none}.layout{position:relative}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:55;width:82vw;max-width:300px;min-height:0;padding:calc(64px + env(safe-area-inset-top)) 12px 16px max(12px,env(safe-area-inset-left));border-right:1px solid var(--line);overflow-y:auto;transform:translate(-100%);transition:transform .22s ease-out;box-shadow:0 0 40px #00000080}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:54;background:#00000080}.main{width:100%;min-width:0;padding:12px max(12px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.board{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%;scroll-snap-type:x proximity}.column{width:84vw;min-width:84vw;max-width:84vw;max-height:none;scroll-snap-align:start}.card .mobile-move{display:flex}.card .check,.card .mobile-move button,.select-box{min-width:34px;min-height:34px}.overlay{padding:12px;align-items:flex-start}.modal{max-width:100%;padding:16px}.modal .stickers select,.modal .stickers input{max-width:100%}.bulkbar{left:12px;right:12px;transform:none;flex-wrap:wrap;max-width:calc(100vw - 24px);justify-content:center}.kpi-hero{flex-direction:column;align-items:flex-start;gap:6px;padding:16px}.kpi-hero-num{font-size:36px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.learn-groups{grid-template-columns:1fr}.cal-cell{min-height:58px;padding:4px}.cal-task{font-size:9px;padding:1px 3px}.cal-head{flex-wrap:wrap}.cal-title{min-width:0}.rt-row,.wl-row{grid-template-columns:96px 1fr auto}}@media (max-width: 480px){.topbar h1{display:none}.topbar{gap:6px}.rt-row,.wl-row{grid-template-columns:72px 1fr auto;gap:8px}.column{width:88vw;min-width:88vw}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.filterbar .search{min-width:0;flex:1 1 100%}.planner-date{flex-basis:38px}.planner-daynum{width:34px;height:34px;font-size:18px}h2{font-size:var(--fs-4)}.tabs{gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex:0 0 auto}.tts-bd-row{grid-template-columns:minmax(0,1fr) auto auto}.tts-bd-name{white-space:normal}.theme-toggle,.hamburger,.notif>button{min-width:38px;min-height:38px}}.toast-stack{position:fixed;left:50%;top:16px;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;background:var(--surface-3);border:1px solid var(--border);color:var(--text);font-weight:var(--fw-medium);font-size:var(--fs-2);padding:9px 16px 9px 14px;border-radius:10px;box-shadow:0 8px 28px #00000080;animation:toast-in .22s ease-out}.toast:before{content:"";width:8px;height:8px;border-radius:999px;flex:0 0 auto;background:var(--accent)}.toast.success{border-color:#42d7a080}.toast.success:before{background:var(--success)}.toast.error{border-color:#f0724c80;color:var(--text)}.toast.error:before{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.sk{display:block;border-radius:6px;background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface-3) 50%,var(--surface-2) 70%);background-size:220% 100%;animation:sk-shimmer 1.3s ease-in-out infinite}.sk-title{width:42%;height:12px}.card-skel{background:var(--card-grad);border:1px solid var(--border-soft);border-radius:var(--r-card);padding:14px;margin-bottom:10px;display:flex;flex-direction:column;gap:9px}.sk-line{height:11px;width:100%}.sk-line.short{width:55%}@keyframes sk-shimmer{0%{background-position:180% 0}to{background-position:-40% 0}}.board-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:64px 24px;color:var(--text-muted)}.board-empty .be-emoji{font-size:40px;opacity:.9}.board-empty .be-title{font-family:var(--font-head);font-size:var(--fs-5);color:var(--text);letter-spacing:-.02em}.board-empty .be-hint{font-size:var(--fs-3);color:var(--text-faint);max-width:320px}.col-empty{border:1px dashed var(--border-soft);border-radius:var(--r-ctl);padding:14px 12px;margin:2px 0 6px;text-align:center;color:var(--text-faint);font-size:var(--fs-1);line-height:1.4}.drop-line{height:3px;margin:3px 2px 9px;border-radius:999px;background:var(--accent);box-shadow:0 0 8px #6ed5f799;animation:drop-line-in .12s ease-out}@keyframes drop-line-in{0%{opacity:0;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1)}}.card.dragging{opacity:.4;border-style:dashed;transform:none!important;box-shadow:none}.column-body .card{animation:card-in .24s ease-out both}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.voice-modal{max-width:560px}.voice-record{display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 0;text-align:center}.voice-review{display:flex;flex-direction:column;gap:4px}.voice-live{display:flex;align-items:center;gap:8px;color:var(--danger);font-weight:var(--fw-semibold)}.rec-dot{width:11px;height:11px;border-radius:50%;background:var(--danger);animation:rec-pulse 1s infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.25}}.context-md{white-space:pre-wrap;word-break:break-word;max-height:420px;overflow:auto;background:var(--surface-3);border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.card:hover{transform:none}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--card-grad, var(--col-bg));border:1px solid var(--border);border-radius:16px;padding:40px 48px;text-align:center;box-shadow:var(--card-shadow);max-width:380px}.login-card h1{font-family:var(--font-head);margin:0 0 8px}.login-hint{color:var(--muted);margin:0 0 20px;font-size:14px}.login-widget{display:flex;justify-content:center;min-height:44px}.tg-login-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 18px;margin-top:8px;border:none;border-radius:10px;background:#2aabee;color:#fff;font-size:var(--fs-3, 15px);font-weight:var(--fw-semibold, 600);cursor:pointer;transition:background .15s ease}.tg-login-btn:hover:not(:disabled){background:#1e97d6}.tg-login-btn:disabled{opacity:.6;cursor:default}.logout-btn{margin-left:8px}.learn-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.learn-col-head{font-size:var(--fs-2);color:var(--text-muted);margin-bottom:6px;font-weight:var(--fw-semibold)}.learn-item{font-size:var(--fs-2);color:var(--text);padding:5px 8px;margin-bottom:4px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.learn-groups{grid-template-columns:1fr}}.stickers{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.stickers .sticker{width:auto;min-width:0;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-2);color:var(--text);cursor:pointer}.stickers .sticker:hover{border-color:var(--accent)}.sticker-pri.urgent{border-color:var(--pri-urgent);color:var(--pri-urgent)}.sticker-pri.high{border-color:var(--pri-high);color:var(--pri-high)}.sticker-date.overdue{border-color:var(--danger);color:var(--danger)}.sticker-deadline{display:inline-flex;align-items:center;gap:6px}.sticker-deadline .sticker-cap{font-size:var(--fs-1);color:var(--text-muted);white-space:nowrap}.sticker-deadline.overdue .sticker-cap{color:var(--danger)}.sticker-deadline input{border:none;background:transparent;padding:0;width:auto;color:inherit;font:inherit}.sticker-clear{border:none;background:transparent;color:var(--text-faint);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.sticker-clear:hover{color:var(--danger)}.stickers-spacer{flex:1 1 auto}.task-title-input{flex:1 1 auto;min-width:0;border:none;background:transparent;color:var(--fg);font-size:18px;font-weight:600;line-height:1.3;font-family:inherit;resize:none;overflow:hidden;padding:4px 0}.task-title-input:focus{outline:none}.sticker-icon{padding:5px 10px;border-radius:999px;background:transparent;border:1px solid var(--border);font-size:14px;line-height:1}.sticker-icon:hover{border-color:var(--accent);color:var(--accent)}.planner{max-width:720px}.planner-nav{display:inline-flex;align-items:center;gap:6px}.planner-nav button{padding:5px 11px;border-radius:999px}.planner-range{margin-left:8px;font-size:var(--fs-2)}.planner-who{margin:10px 0 2px;flex-wrap:wrap}.planner-day{display:flex;gap:14px;border:1px solid var(--border-soft);border-radius:var(--r-card);background:var(--card-grad);padding:12px 14px;margin-top:10px;transition:border-color .15s ease-out}.planner-day:hover{border-color:var(--border)}.planner-day.today{border-color:var(--accent)}.planner-day.weekend{background:var(--surface-2)}.planner-day.dropping{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.planner-task[draggable=true]{cursor:grab}.planner-task[draggable=true]:active{cursor:grabbing}.planner-date{flex:0 0 42px;display:flex;flex-direction:column;align-items:center;gap:3px}.planner-daynum{font-size:20px;font-weight:var(--fw-semibold);line-height:1;color:var(--text);width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px}.planner-day.today .planner-daynum{background:var(--accent);color:var(--on-accent)}.planner-day.weekend .planner-daynum{color:var(--text-muted)}.planner-dow{font-size:var(--fs-1);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.planner-day.today .planner-dow{color:var(--accent)}.planner-content{flex:1 1 auto;min-width:0}.planner-day.section{flex-direction:column;gap:6px}.planner-day.section.overdue{border-color:#f0724c80}.planner-section-head{font-size:var(--fs-3);font-weight:var(--fw-semibold)}.planner-task{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;cursor:pointer;transition:background .12s}.planner-task:hover{background:var(--surface-3)}.planner-title{flex:1;min-width:0;font-size:var(--fs-2);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-title.done{text-decoration:line-through;color:var(--text-faint)}.planner-proj{flex:0 0 auto;max-width:130px;font-size:var(--fs-1);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--surface-2);border:1px solid var(--border-soft);padding:1px 8px;border-radius:999px}.planner-add{margin-top:2px;width:100%;background:transparent;border:none;font-size:var(--fs-2);color:var(--text);padding:7px 8px;border-radius:8px}.planner-add::placeholder{color:var(--text-faint)}.planner-add:hover:not(:focus){background:var(--surface-2)}.planner-add:focus{background:var(--surface-2);outline:1px solid var(--accent)}.avatar.sm{width:20px;height:20px;font-size:10px;flex:0 0 auto}.bot-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-soft)}.bot-row:last-child{border-bottom:none}.bot-health-icon{font-size:16px;line-height:1}.bot-main{flex:1;min-width:0}.bot-name{font-size:var(--fs-3);font-weight:var(--fw-medium);color:var(--text)}.bot-off{color:var(--text-faint);font-weight:var(--fw-normal);font-size:var(--fs-2)}.bot-sub{font-size:var(--fs-2);margin-top:2px}.bot-actions{display:flex;gap:4px}.bot-icon-btn{background:transparent;border:1px solid var(--border);padding:5px 8px;font-size:13px}.bot-form{display:flex;flex-direction:column;gap:10px}.bot-field{display:flex;flex-direction:column;gap:4px}.bot-field>span{font-size:var(--fs-2);color:var(--text-muted)}.bot-check{display:flex;align-items:center;gap:8px;font-size:var(--fs-2);color:var(--text-muted)}.bot-check input{width:auto}.projects-profile{--pp-bg: #ece7dd;--pp-card: #fbfaf6;--pp-card-2: #f1ece2;--pp-line: #e3ddd0;--pp-text: #2b2a27;--pp-muted: #6e695f;--pp-faint: #9a9488;--pp-accent: #2e7d5b;--pp-accent-2: #5b8a72;--pp-accent-hover: #276b4e;--pp-green: #2e7d5b;--pp-gray: #b8b1a2;--pp-r-card: 16px;--pp-r-ctl: 10px;--pp-shadow: 0 1px 2px rgba(60, 50, 30, .06), 0 12px 30px -16px rgba(60, 50, 30, .18);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--pp-bg);color:var(--pp-text);margin:-16px;padding:18px 22px 40px;min-height:calc(100vh - 54px)}.projects-profile *,.projects-profile *:before,.projects-profile *:after{box-sizing:border-box}.pp-card{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-r-card);padding:16px;box-shadow:var(--pp-shadow)}.pp-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.pp-card-title{font-size:15px;font-weight:600}.pp-card-sub{font-size:12px;color:var(--pp-muted);margin-top:2px}.pp-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.pp-hello{display:flex;align-items:center;gap:12px;min-width:0}.pp-greeting{font-size:18px;font-weight:600;line-height:1.2}.pp-date{font-size:13px;color:var(--pp-muted);margin-top:2px;text-transform:capitalize}.pp-search{flex:1 1 220px;min-width:150px;max-width:440px;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-r-ctl);padding:9px 12px;color:var(--pp-text);font-size:14px}.pp-search::placeholder{color:var(--pp-faint)}.pp-search:focus{outline:none;border-color:var(--pp-accent);box-shadow:0 0 0 3px #7c5cff38}.pp-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;letter-spacing:.02em}.pp-avatar-me{width:44px;height:44px;font-size:15px}.pp-avatar-more{background:#0000000f;color:var(--pp-muted);font-weight:600}.pp-btn-primary{flex:0 0 auto;background:var(--pp-accent);color:#fff;font-weight:500;border:none;border-radius:var(--pp-r-ctl);padding:10px 16px;font-size:14px;cursor:pointer;transition:background .15s ease;box-shadow:0 6px 18px -8px var(--pp-accent)}.pp-btn-primary:hover{background:var(--pp-accent-hover)}.today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.today-hello{display:flex;align-items:center;gap:14px;min-width:0}.today-greeting{font-size:22px;font-weight:600;line-height:1.15}.today-sub{font-size:14px;color:var(--pp-muted);margin-top:3px}.today .pp-date{font-size:12px;color:var(--pp-faint);margin-top:2px;text-transform:capitalize}.today-composer{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.today-composer-input{flex:1 1 240px;min-width:160px;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-r-ctl);padding:10px 12px;color:var(--pp-text);font-size:14px}.today-composer-input:focus{outline:none;border-color:var(--pp-accent);box-shadow:0 0 0 3px #2e7d5b26}.today-composer select{flex:0 0 auto;max-width:220px;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-r-ctl);padding:10px 12px;color:var(--pp-text);font-size:14px}.today-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.today-tabs{display:inline-flex;gap:4px;background:var(--pp-card-2);border-radius:999px;padding:4px}.today-tabs button{border:none;background:transparent;color:var(--pp-muted);font-size:14px;padding:7px 16px;border-radius:999px;cursor:pointer}.today-tabs button.active{background:var(--pp-text);color:var(--pp-card);font-weight:500}.today-who{display:inline-flex;gap:3px;background:var(--pp-card-2);border-radius:999px;padding:3px}.today-who button{border:none;background:transparent;color:var(--pp-muted);font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer}.today-who button.active{background:var(--pp-accent);color:#fff;font-weight:500}.today-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.today-item{display:flex;align-items:center;gap:14px;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-r-card);padding:14px 16px;box-shadow:var(--pp-shadow)}.today-item.done{background:#2e7d5b0f}.today-check{flex:0 0 auto;width:24px;height:24px;border-radius:999px;border:2px solid var(--pp-line);background:transparent;color:#fff;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}.today-check:hover{border-color:var(--pp-accent)}.today-check.on{background:var(--pp-accent);border-color:var(--pp-accent)}.today-item-main{flex:1 1 auto;min-width:0}.today-title{font-size:15px;font-weight:500;color:var(--pp-text)}.today-item.done .today-title{color:var(--pp-muted);text-decoration:line-through}.today-hint{font-size:13px;color:var(--pp-muted);margin-top:2px}.today-av{flex:0 0 auto;width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:11px}.today-empty{color:var(--pp-faint);font-size:14px;padding:24px 4px;text-align:center}.today-done-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--pp-muted);font-size:13px;font-weight:600;cursor:pointer;padding:4px 2px}.today-done-toggle:hover{color:var(--pp-text)}.today-done-toggle .chev{font-size:11px}.today-add-proj{margin-left:auto;background:transparent;border:1px solid var(--pp-line);color:var(--pp-text);border-radius:var(--pp-r-ctl);padding:6px 12px;font-size:13px;cursor:pointer}.today-add-proj:hover{border-color:var(--pp-accent)}.pp-dash{display:grid;grid-template-columns:1fr;gap:16px}.pp-main-col,.pp-side-col{display:flex;flex-direction:column;gap:16px;min-width:0}.pp-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pp-stat{display:flex;flex-direction:column;min-height:150px}.pp-stat-donut{grid-column:1 / -1}.pp-stat-label{font-size:13px;color:var(--pp-muted)}.pp-stat-value{font-size:26px;font-weight:600;line-height:1.1;margin:6px 0 12px}.pp-stat-value .pp-unit{font-size:13px;color:var(--pp-muted);font-weight:400;margin-left:5px}.pp-minibars{display:flex;align-items:flex-end;gap:4px;height:46px;margin-top:auto}.pp-minibars.empty{opacity:.3}.pp-minibar{flex:1 1 0;display:flex;align-items:flex-end;height:100%}.pp-minibar>span{display:block;width:100%;min-height:6px;border-radius:4px 4px 0 0}.pp-stat-donut .pp-donut-row{display:flex;align-items:center;gap:14px;margin-top:6px}.pp-donut{position:relative;width:132px;height:132px;flex:0 0 auto}.pp-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.pp-donut-num{font-size:26px;font-weight:700;line-height:1}.pp-donut-cap{font-size:11px;color:var(--pp-muted);margin-top:2px}.pp-donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:13px;flex:1 1 auto}.pp-donut-legend li{display:flex;align-items:center;gap:8px;color:var(--pp-muted)}.pp-donut-legend li i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.pp-donut-legend li b{margin-left:auto;color:var(--pp-text)}.pp-gradbars{display:flex;align-items:flex-end;gap:6px;height:74px;margin-top:auto}.pp-gradbar-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}.pp-gradbar-track{width:100%;height:54px;display:flex;align-items:flex-end;border-radius:6px;background:#ffffff0a}.pp-gradbar-fill{width:100%;min-height:4px;border-radius:6px;background:linear-gradient(180deg,#fbbf24,#fb5c7d)}.pp-gradbar-lbl{font-size:9px;color:var(--pp-faint)}.pp-gradbar-col:hover .pp-gradbar-track{background:#ffffff17}.pp-gradbar-col.sel .pp-gradbar-track{outline:2px solid var(--pp-accent);outline-offset:1px}.pp-gradbar-col.sel .pp-gradbar-lbl{color:var(--pp-accent-2)}.pp-dl-week{font-size:11px;color:var(--pp-accent-2);background:#7c5cff24;padding:2px 9px;border-radius:999px;white-space:nowrap}.pp-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pp-cal-title{font-size:13px;font-weight:600}.pp-cal-nav{display:inline-flex;gap:6px}.pp-cal-nav button{background:transparent;border:1px solid var(--pp-line);color:var(--pp-muted);width:24px;height:24px;border-radius:6px;padding:0;line-height:1;cursor:pointer}.pp-cal-nav button:hover{color:var(--pp-text);border-color:var(--pp-accent)}.pp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.pp-cal-dow{font-size:10px;color:var(--pp-faint);padding:4px 0}.pp-cal-cell{position:relative;font-size:12px;padding:6px 0;border-radius:8px;color:var(--pp-text)}.pp-cal-cell.empty{visibility:hidden}.pp-cal-cell.clickable{cursor:pointer}.pp-cal-cell.clickable:hover:not(.today){background:#ffffff0d}.pp-cal-cell.today{background:var(--pp-accent);color:#fff;font-weight:600}.pp-cal-cell.has-done:not(.today):not(.selected){color:var(--pp-green);font-weight:600}.pp-cal-cell.selected:not(.today){box-shadow:inset 0 0 0 2px var(--pp-accent)}.pp-cal-cell.has-dl:not(.today):after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:999px;background:var(--pp-accent-2)}.pp-reset{background:transparent;border:none;color:var(--pp-accent-2);font-size:12px;cursor:pointer;padding:0}.pp-reset:hover{text-decoration:underline}.pp-activity .pp-card-title{margin-bottom:12px}.pp-act-list{display:flex;flex-direction:column;gap:12px}.pp-act-item{display:flex;gap:10px;align-items:flex-start}.pp-act-body{min-width:0;flex:1 1 auto}.pp-act-text{font-size:13px;color:var(--pp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-act-tag{display:inline-block;width:14px;margin-right:6px}.pp-act-tag.closed{color:var(--pp-green)}.pp-act-tag.created,.pp-act-tag.due{color:var(--pp-accent-2)}.pp-day-sub{font-size:11px;color:var(--pp-muted);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 8px}.pp-day-sub:first-child{margin-top:0}.pp-act-meta{font-size:11px;color:var(--pp-faint);margin-top:2px}.pp-projects-head{display:flex;align-items:center;gap:10px;margin:26px 0 14px}.pp-section-title{font-size:16px;font-weight:600;margin:0}.pp-count{font-size:12px;color:var(--pp-muted);background:var(--pp-card-2);padding:2px 10px;border-radius:999px}.pp-grid{display:grid;grid-template-columns:1fr;gap:14px}.pp-project-card{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-r-card);padding:16px 18px;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.pp-project-card:hover{border-color:#7c5cff73;transform:translateY(-2px);box-shadow:var(--pp-shadow)}.pp-project-card:focus-visible{outline:2px solid var(--pp-accent);outline-offset:2px}.pp-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pp-card-name{font-size:15px;font-weight:600;margin:0;line-height:1.25}.pp-card-desc{font-size:13px;color:var(--pp-muted);margin:6px 0 14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pp-badge{flex:0 0 auto;font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;white-space:nowrap}.pp-badge.status-work{background:#3b82b424;color:#2b6ca3}.pp-badge.status-done{background:#2e7d5b29;color:#276b4e}.pp-badge.status-pause{background:#78746829;color:#6e695f}.pp-badge-btn{border:none;cursor:pointer;font-family:inherit;transition:filter .15s,box-shadow .15s}.pp-badge-btn:hover{filter:brightness(.96);box-shadow:0 0 0 2px #7874682e}.pp-progress{height:8px;border-radius:999px;background:#00000012;overflow:hidden}.pp-progress-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--pp-accent),var(--pp-accent-2));transition:width .3s ease}.pp-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.pp-avatars{display:inline-flex;align-items:center}.pp-avatars .pp-avatar{border:2px solid var(--pp-card);margin-left:-8px}.pp-avatars .pp-avatar:first-child{margin-left:0}.pp-noone{font-size:12px;color:var(--pp-faint)}.pp-card-meta{display:inline-flex;align-items:center;gap:12px;font-size:13px}.pp-due{color:var(--pp-muted);white-space:nowrap}.pp-pct{font-weight:600;color:var(--pp-text)}.pp-empty{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-r-card);padding:40px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.pp-empty-emoji{font-size:36px}.pp-empty-title{font-size:15px;color:var(--pp-muted)}@media (max-width: 560px){.pp-stats{grid-template-columns:1fr}}@media (min-width: 720px){.pp-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 980px){.pp-dash{grid-template-columns:minmax(0,1fr) 320px}}@media (min-width: 1180px){.pp-grid{grid-template-columns:repeat(3,1fr)}}.project-detail{padding-bottom:40px}.pd-header{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap}.pd-back{flex:0 0 auto;width:36px;height:36px;border-radius:10px;font-size:18px;line-height:1;background:var(--pp-card);border:1px solid var(--pp-line);color:var(--pp-text);cursor:pointer}.pd-back:hover{border-color:var(--pp-accent)}.pd-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.pd-title{font-size:20px;font-weight:600;margin:0}.pd-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.pd-btn{background:var(--pp-card);border:1px solid var(--pp-line);color:var(--pp-text);border-radius:var(--pp-r-ctl);padding:9px 14px;font-size:14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.pd-btn:hover{border-color:var(--pp-accent)}.pd-btn.primary{background:var(--pp-accent);border-color:var(--pp-accent);color:#fff}.pd-btn.primary:hover{background:var(--pp-accent-hover)}.pd-desc{color:var(--pp-muted);font-size:14px;margin:6px 0 18px}.pd-active-wrap{position:relative}.pd-active-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:320px;max-width:calc(100vw - 24px);max-height:380px;overflow:auto;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:12px;padding:8px;box-shadow:var(--pp-shadow)}.pd-active-head{font-size:12px;color:var(--pp-muted);padding:4px 8px 8px}.pd-active-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;cursor:pointer}.pd-active-item:hover{background:#0000000a}.pd-active-title{flex:1 1 auto;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-active-due{font-size:11px;color:var(--pp-muted);white-space:nowrap}.pd-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto;background:var(--pp-gray)}.pd-dot.pri-urgent{background:#fb5c7d}.pd-dot.pri-high{background:#fbbf24}.pd-dot.pri-low{background:#6b7280}.pd-top{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:18px}.pd-ring-card{display:flex;align-items:center;gap:18px}.pd-ring{position:relative;width:120px;height:120px;flex:0 0 auto}.pd-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.pd-ring-num{font-size:26px;font-weight:700;line-height:1}.pd-ring-cap{font-size:11px;color:var(--pp-muted);margin-top:2px}.pd-ring-line{font-size:14px;margin-bottom:4px}.pd-ring-line.dim{color:var(--pp-muted);font-size:13px}.pd-card-label{font-size:12px;color:var(--pp-muted);margin-bottom:10px}.pd-lead{display:flex;align-items:center;gap:12px}.pd-lead-av{width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.pd-lead-name{font-size:15px;font-weight:600}.pd-lead-sub{font-size:12px;color:var(--pp-muted)}.pd-lead-none{font-size:20px;color:var(--pp-faint)}.pd-team{margin-top:16px}.pd-mem-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:6px}.pd-mem-name{color:var(--pp-muted)}.pd-mem-val{font-weight:600}.pd-mem-block{margin-top:10px}.pd-bar{height:8px;border-radius:4px;background:#00000012;overflow:hidden}.pd-bar>span{display:block;height:100%;border-radius:4px;transition:width .3s ease}.pd-mem-note{font-size:11px;color:var(--pp-faint);margin-top:12px}.pd-tabs{display:inline-flex;gap:4px;background:var(--pp-card-2);border-radius:10px;padding:4px;margin-bottom:14px;flex-wrap:wrap}.pd-tabs button{border:none;background:transparent;color:var(--pp-muted);font-size:13px;padding:7px 12px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.pd-tabs button.active{background:var(--pp-accent);color:#fff;font-weight:500}.pd-tab-n{font-size:11px;opacity:.8}.pd-task-list{display:flex;flex-direction:column;gap:8px}.pd-task{display:flex;align-items:center;gap:12px;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:12px;padding:12px 14px}.pd-check{flex:0 0 auto;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--pp-line);background:transparent;color:var(--pp-green);font-size:12px;cursor:pointer}.pd-check.done{border-color:var(--pp-green);background:#2e7d5b29}.pd-task-main{flex:1 1 auto;min-width:0;cursor:pointer}.pd-task-title{font-size:14px;color:var(--pp-text)}.pd-task-title.closed{color:var(--pp-muted);text-decoration:line-through}.pd-task-meta{display:flex;align-items:center;gap:10px;margin-top:5px;flex-wrap:wrap}.pd-mini-av{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:600}.pd-pri{font-size:11px;color:var(--pp-muted)}.pd-pri.urgent{color:#fb5c7d}.pd-pri.high{color:#fbbf24}.pd-due,.pd-sub{font-size:12px;color:var(--pp-muted)}.pd-seg{flex:0 0 auto;display:inline-flex;background:var(--pp-card-2);border-radius:8px;padding:2px}.pd-seg button{border:none;background:transparent;color:var(--pp-muted);font-size:12px;padding:5px 9px;border-radius:6px;cursor:pointer}.pd-seg button.on{background:var(--pp-accent);color:#fff}.pd-seg button:disabled{opacity:.5;cursor:default}.pd-empty-line{color:var(--pp-faint);font-size:13px;padding:8px 2px}@media (min-width: 900px){.pd-top{grid-template-columns:1.2fr 1fr 1fr}}.calls-view{max-width:760px}.calls-hint{color:var(--text-muted);font-size:var(--fs-3);margin:4px 0 16px;line-height:1.5}.calls-empty{color:var(--text-faint);font-size:var(--fs-3);padding:16px 2px}.calls-empty.small{padding:6px 2px}.calls-top{display:flex;gap:10px;align-items:stretch;margin-bottom:18px;flex-wrap:wrap}.calls-drop{flex:1 1 320px;border:2px dashed var(--border);border-radius:var(--r-card);background:var(--surface-2);color:var(--text-muted);text-align:center;font-size:var(--fs-3);transition:border-color .15s,background .15s,color .15s}.calls-drop:hover,.calls-drop.over{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.calls-drop.busy{opacity:.7}.calls-drop-label{display:block;padding:22px 18px;cursor:pointer}.calls-list{display:flex;flex-direction:column;gap:14px}.call-card{background:var(--card-grad);border:1px solid var(--border-soft);border-radius:var(--r-card);padding:14px 16px;box-shadow:var(--card-shadow)}.call-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.call-title{font-size:var(--fs-4);font-weight:var(--fw-semibold);color:var(--text);min-width:0;word-break:break-word}.call-status{flex:0 0 auto;font-size:var(--fs-1);padding:3px 10px;border-radius:var(--r-badge);white-space:nowrap}.call-head-right{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.call-server-chip{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-1);padding:3px 8px;border-radius:var(--r-badge);white-space:nowrap}.call-server-chip.connecting{background:var(--accent-soft);color:var(--accent)}.call-server-chip.connected{background:#42d7a029;color:var(--success)}.call-server-chip.failed{background:#f0724c29;color:var(--danger)}.call-chip-x{background:transparent;border:none;color:inherit;cursor:pointer;font-size:11px;line-height:1;padding:0 1px;opacity:.8}.call-chip-x:hover{opacity:1}.call-server-btn{display:inline-flex;align-items:center;gap:5px;cursor:pointer;background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--r-badge);padding:3px 10px;font-size:var(--fs-1);font-family:inherit;white-space:nowrap}.call-server-btn:hover{border-color:var(--accent);color:var(--text)}.call-server-form{display:flex;flex-direction:column;gap:8px;margin:4px 0 12px;padding:12px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-ctl)}.csf-title{font-size:var(--fs-2);font-weight:var(--fw-semibold);color:var(--text)}.csf-row{display:flex;gap:8px}.call-server-form input{flex:1 1 auto;min-width:0;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-ctl);padding:7px 10px;color:var(--text);font-size:var(--fs-2);font-family:inherit}.call-server-form input:focus{outline:none;border-color:var(--accent)}.csf-actions{display:flex;gap:8px;margin-top:2px}.csf-note{font-size:var(--fs-1);color:var(--text-faint);line-height:1.4}.call-status.draft{background:var(--surface-3);color:var(--text-muted)}.call-status.processing{background:var(--accent-soft);color:var(--accent)}.call-status.done{background:#42d7a029;color:var(--success)}.call-status.failed{background:#f0724c29;color:var(--danger)}.call-sub{font-size:var(--fs-1);color:var(--text-faint);margin-top:3px}.call-error{margin-top:8px;font-size:var(--fs-2);color:var(--danger);background:#f0724c1a;border-radius:var(--r-ctl);padding:7px 10px}.call-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.call-file{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-1);color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border-soft);padding:2px 6px 2px 9px;border-radius:var(--r-badge)}.call-file-del{background:transparent;border:none;color:var(--text-faint);font-size:11px;line-height:1;cursor:pointer;padding:0 2px}.call-file-del:hover{color:var(--danger)}.call-tasks{display:flex;flex-direction:column;gap:6px;margin-top:12px}.call-task{display:flex;align-items:stretch;gap:14px;padding:8px 9px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--border-soft);flex-wrap:wrap}.call-task-main{flex:1 1 55%;min-width:260px;display:flex;align-items:flex-start;gap:10px}.call-breakdown{flex:1 1 38%;min-width:240px;border-left:1px solid var(--border-soft);padding-left:12px;display:flex;flex-direction:column;gap:8px}@media (max-width: 720px){.call-breakdown{border-left:none;border-top:1px solid var(--border-soft);padding-left:0;padding-top:10px}}.call-gen{font-size:var(--fs-2);color:var(--text-muted)}.call-gen.fail{color:var(--danger)}.call-linkbtn{background:transparent;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.call-check.sm{width:18px;height:18px;font-size:11px;margin-top:1px}.call-sub-list{display:flex;flex-direction:column;gap:6px}.call-subtask{display:flex;align-items:flex-start;gap:8px}.call-subtask-text{flex:1 1 auto;min-width:0;font-size:var(--fs-2);color:var(--text);line-height:1.4;word-break:break-word}.call-subtask.done .call-subtask-text{color:var(--text-faint);text-decoration:line-through}.call-copy{flex:0 0 auto;background:transparent;border:1px solid var(--border);border-radius:var(--r-ctl);cursor:pointer;font-size:12px;line-height:1;padding:3px 6px;color:var(--text-muted)}.call-copy:hover{border-color:var(--accent);color:var(--accent)}.call-breakdown-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.call-btn.sm{padding:5px 10px;font-size:var(--fs-1)}.calls-flash{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:60;background:var(--surface-3);border:1px solid var(--accent);color:var(--text);font-size:var(--fs-2);padding:8px 16px;border-radius:var(--r-badge);box-shadow:var(--card-shadow)}.call-check{flex:0 0 auto;width:22px;height:22px;margin-top:1px;border-radius:6px;border:1.5px solid var(--border);background:transparent;color:var(--success);font-size:13px;line-height:1;cursor:pointer;transition:border-color .15s,background .15s}.call-check:hover{border-color:var(--success)}.call-check.done{border-color:var(--success);background:#42d7a029}.call-checks{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}.call-check.verify{color:var(--accent)}.call-check.verify:hover{border-color:var(--accent)}.call-check.verify.on{border-color:var(--accent);background:var(--accent-soft)}.call-tasks-legend{display:flex;gap:14px;font-size:var(--fs-1);color:var(--text-faint);margin:2px 0 8px 2px}.call-legend-item{display:inline-flex;align-items:center;gap:6px}.call-check-dot{width:12px;height:12px;border-radius:4px;border:1.5px solid var(--border);display:inline-block}.call-check-dot.done{border-color:var(--success);background:#42d7a029}.call-check-dot.verify.on{border-color:var(--accent);background:var(--accent-soft)}.call-task-body{flex:1 1 auto;min-width:0}.call-task-title{font-size:var(--fs-3);color:var(--text);word-break:break-word}.call-task-title.has-desc{cursor:pointer;display:flex;align-items:baseline;gap:5px}.call-task-title.has-desc:hover{color:var(--accent)}.call-task-title .chev{font-size:9px;width:10px;flex:0 0 auto;color:var(--text-faint);text-decoration:none}.call-task.done .call-task-title{color:var(--text-faint);text-decoration:line-through}.call-task-desc{font-size:var(--fs-2);color:var(--text-muted);margin-top:3px;line-height:1.45;word-break:break-word}.call-task-del{flex:0 0 auto;background:transparent;border:none;color:var(--text-faint);font-size:13px;line-height:1;cursor:pointer;padding:2px 4px}.call-task-del:hover{color:var(--danger)}.call-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.call-btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:var(--surface-3);border:1px solid var(--border);color:var(--text);border-radius:var(--r-ctl);padding:7px 12px;font-size:var(--fs-2);font-family:inherit}.call-btn:hover{border-color:var(--accent)}.call-btn:disabled{opacity:.5;cursor:default}.call-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.call-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:var(--fw-medium)}.call-btn.primary:hover:not(:disabled){filter:brightness(1.05);border-color:var(--accent)}.call-btn.primary:disabled{opacity:.45}.call-btn.check-btn{margin-top:8px;align-self:flex-start}.call-check-verdict{margin-top:8px;padding:8px 10px;border-radius:var(--r-ctl);font-size:var(--fs-2);border:1px solid var(--border-soft);background:var(--surface-2);display:flex;flex-direction:column;gap:6px;align-items:flex-start}.call-check-verdict.ok{border-color:#42d7a066;background:#42d7a014}.call-check-verdict.warn{border-color:#f7bf3b66;background:#f7bf3b14}.ccv-head{font-weight:var(--fw-semibold);color:var(--text)}.ccv-head.has-toggle{cursor:pointer;display:flex;align-items:baseline;gap:5px}.ccv-head .chev{font-size:9px;width:10px;flex:0 0 auto;text-decoration:none}.ccv-conf{font-weight:var(--fw-normal);color:var(--text-muted);font-size:var(--fs-1)}.ccv-summary{color:var(--text-muted);line-height:1.45}.ccv-line{color:var(--text-muted)}.ccv-list{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.ccv-list li{font-size:var(--fs-1);color:var(--text-muted);line-height:1.4}.ccv-list.block li{color:var(--warning)}
