:root{--bg-app: #f2f2f7;--bg-surface: #ffffff;--bg-surface-soft: #f5f5f8;--bg-hover: #e9e9ee;--fill: rgba(118, 118, 128, .12);--fill-strong: rgba(118, 118, 128, .2);--panel: rgba(118, 118, 128, .08);--panel-strong: rgba(255, 255, 255, .8);--panel-border: rgba(60, 60, 67, .12);--material: rgba(249, 249, 251, .82);--segment: #ffffff;--text-primary: #1d1d1f;--text-secondary: #515154;--text-muted: #6e6e73;--border: #e3e3e8;--border-strong: #d1d1d6;--hairline: rgba(60, 60, 67, .16);--primary: #0071e3;--primary-hover: #0077ed;--primary-soft: #e6f0fc;--primary-border: #8bbcf3;--primary-rgb: 0, 113, 227;--on-primary: #ffffff;--info: #007aff;--danger: #ff3b30;--danger-soft: #ffecea;--warning: #ff9500;--warning-soft: #fff4e0;--success: #34c759;--success-soft: #e9f9ee;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 0 0 .5px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 0 0 .5px rgba(0, 0, 0, .08), 0 6px 20px rgba(0, 0, 0, .12);--shadow-lg: 0 0 0 .5px rgba(0, 0, 0, .1), 0 16px 48px rgba(0, 0, 0, .2);--sheen: none;--edge: 0 0 0 0 transparent;--contour: 0 0 0 .5px rgba(0, 0, 0, .08);--shadow-raised: 0 0 0 .5px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .06);--shadow-sunken: 0 0 0 0 transparent;--primary-gloss: linear-gradient(var(--primary), var(--primary));--shadow-primary: 0 0 0 0 transparent;--glass-blur: saturate(180%) blur(20px);--topbar-row-height: 60px;--rail-width: 72px;--rail-gap: 0px;--rail-space: calc(var(--rail-width) + var(--rail-gap));--tagbar-height: 40px;--topbar-height: var(--topbar-row-height);--chat-width: 390px;--chat-gap: 16px;--panel-width: 460px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, system-ui, sans-serif;--cursor-arrow: default;--cursor-pointer: pointer;--white-rgb: 255, 255, 255;--ink-rgb: 60, 60, 67;--c-047857: #047857;--c-0b7a55: #0b7a55;--c-18366f: #18366f;--c-2458d3: #2458d3;--c-334155: #334155;--c-465a78: #465a78;--c-475569: #475569;--c-4d607d: #4d607d;--c-5d708e: #5d708e;--c-8a5a00: #8a5a00;--c-9a5b00: #9a5b00;--c-a15c07: #a15c07;--c-b25e00: #b25e00;--c-b4233c: #b4233c;--c-b4263a: #b4263a;--c-b45309: #b45309;--c-ba3d4f: #ba3d4f;--c-be185d: #be185d;--c-c02637: #c02637;--c-c5cfdd: #c5cfdd;--c-cbd5e1: #cbd5e1;--c-d8e0ec: #d8e0ec;--c-d8e1ee: #d8e1ee;--c-d8e2f0: #d8e2f0;--c-dce9ff: #dce9ff;--c-e2e8f0: #e2e8f0;--c-e3edff: #e3edff;--c-e7eef9: #e7eef9;--c-edf0f5: #edf0f5;--c-edf1f7: #edf1f7;--c-edf2f8: #edf2f8;--c-eef3fb: #eef3fb;--c-f3f5f9: #f3f5f9;--c-f8faff: #f8faff;--c-ffced5: #ffced5;--c-ffd0d6: #ffd0d6;--c-ffd6dc: #ffd6dc;--c-ffd8a8: #ffd8a8;--c-ffe8ec: #ffe8ec;--c-fff4e5: #fff4e5;color-scheme:light}:root[data-theme=dark]{--bg-app: #161618;--bg-surface: #2c2c2e;--bg-surface-soft: #242426;--bg-hover: #3a3a3c;--fill: rgba(118, 118, 128, .24);--fill-strong: rgba(118, 118, 128, .36);--panel: rgba(118, 118, 128, .12);--panel-strong: rgba(58, 58, 60, .8);--panel-border: rgba(84, 84, 88, .5);--material: rgba(34, 34, 36, .82);--segment: #636366;--text-primary: #f5f5f7;--text-secondary: #aeaeb2;--text-muted: #98989d;--border: #38383a;--border-strong: #48484a;--hairline: rgba(84, 84, 88, .6);--primary: #0a84ff;--primary-hover: #409cff;--primary-soft: #1b3250;--primary-border: #2f6db5;--primary-rgb: 10, 132, 255;--on-primary: #ffffff;--info: #0a84ff;--danger: #ff453a;--danger-soft: #3a1a18;--warning: #ff9f0a;--warning-soft: #3a2a10;--success: #30d158;--success-soft: #12331c;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 0 0 .5px rgba(255, 255, 255, .08), 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 0 0 .5px rgba(255, 255, 255, .1), 0 6px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 0 0 .5px rgba(255, 255, 255, .12), 0 16px 48px rgba(0, 0, 0, .65);--contour: 0 0 0 .5px rgba(255, 255, 255, .1);--shadow-raised: 0 0 0 .5px rgba(255, 255, 255, .08), 0 1px 2px rgba(0, 0, 0, .3);--white-rgb: 44, 44, 46;--ink-rgb: 235, 235, 245;--c-047857: #9efce1;--c-0b7a55: #9ef6d9;--c-18366f: #bcc5d7;--c-2458d3: #909ec1;--c-334155: #c7c9cc;--c-465a78: #b7b9bc;--c-475569: #bbbdc0;--c-4d607d: #b3b5b8;--c-5d708e: #a8abaf;--c-8a5a00: #ffd993;--c-9a5b00: #ffcf89;--c-a15c07: #fac686;--c-b25e00: #ffc17b;--c-b4233c: #e67e90;--c-b4263a: #e47e8c;--c-b45309: #f8b17b;--c-ba3d4f: #d47c89;--c-be185d: #ee76a8;--c-c02637: #e47783;--c-c5cfdd: #5f6267;--c-cbd5e1: #585b5f;--c-d8e0ec: #45474b;--c-d8e1ee: #444649;--c-d8e2f0: #424548;--c-dce9ff: #2e343d;--c-e2e8f0: #3a3c3f;--c-e3edff: #292e37;--c-e7eef9: #303133;--c-edf0f5: #2e2f32;--c-edf1f7: #2d2e30;--c-edf2f8: #2c2d2f;--c-eef3fb: #282a2c;--c-f3f5f9: #26272a;--c-f8faff: #1e1e20;--c-ffced5: #572a31;--c-ffd0d6: #55292f;--c-ffd6dc: #4f262c;--c-ffd8a8: #80633e;--c-ffe8ec: #3b1d22;--c-fff4e5: #3f311e;color-scheme:dark}html{cursor:var(--cursor-arrow)}a[href],button:not(:disabled),select,summary,label:has(>input[type=checkbox],>input[type=radio]),[role=button]{cursor:var(--cursor-pointer)}textarea,[contenteditable=true],input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit]){cursor:text}*{box-sizing:border-box}html{background:var(--bg-app)}html,body{margin:0;min-height:100%;color:var(--text-primary);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}input,select,textarea{width:100%;background:var(--fill);border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;transition:background .14s ease,box-shadow .14s ease}input:focus,select:focus,textarea:focus{outline:none;background:var(--bg-surface);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.35)}input[type=range]{border:none;padding:0;background:transparent;box-shadow:none;accent-color:var(--primary)}textarea{resize:vertical;line-height:1.5}.muted{color:var(--text-muted)}.warn{color:var(--danger)}.app{min-height:100vh;padding-left:var(--rail-space)}.app.has-tags{--topbar-height: calc(var(--topbar-row-height) + var(--tagbar-height))}.app-main{min-height:calc(100vh - var(--topbar-height))}@media(min-width:721px){.app{height:100dvh;overflow:hidden}.app-main{height:calc(100dvh - var(--topbar-height));min-height:0}.app-main .board-area{height:100%;overflow:auto}.app-main .board{min-height:100%}.app-main .view-area{height:100%;overflow-y:auto}.admin-page{height:100dvh;overflow-y:auto}}.topbar{height:var(--topbar-height);display:flex;flex-direction:column;position:sticky;top:0;z-index:20}.topbar:before,.admin-topbar:before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--bg-app) 78%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);pointer-events:none}.topbar-main{height:var(--topbar-row-height);flex-shrink:0;display:flex;align-items:center;gap:10px;padding:12px 18px}.topbar-slot{min-width:0;display:flex;justify-content:center}@media(min-width:721px){.topbar-main>.brand,.topbar-end{flex:1 1 0;min-width:fit-content}}.topbar-end{display:flex;justify-content:flex-end}.member-stack{display:flex;align-items:center;gap:6px}.member-stack-people{display:flex;align-items:center;padding:2px 2px 2px 10px;border:none;border-radius:999px;background:none;cursor:var(--cursor-pointer)}.member-stack-people:hover{background:var(--fill)}.member-stack-item{display:grid;margin-left:-8px;border-radius:50%;box-shadow:0 0 0 2px var(--bg-app)}.member-stack-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;object-fit:cover;background:#8e8e93;color:#fff;font-size:12px;font-weight:600}.member-stack-avatar.more{background:var(--bg-hover);color:var(--text-secondary);font-size:11px}.member-stack-add{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;padding:0;border:none;border-radius:50%;background:var(--primary-soft);color:var(--primary);cursor:var(--cursor-pointer);transition:background .14s ease}.member-stack-add:hover{background:color-mix(in srgb,var(--primary) 22%,var(--bg-surface))}.topbar-slot:empty{display:none}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-logo{width:36px;height:36px;display:block;border-radius:23%;background:var(--bg-surface);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .brand-logo{background:#f2f2f7}.rail{position:fixed;top:0;bottom:0;left:0;z-index:30;width:var(--rail-width);display:flex;flex-direction:column;align-items:center;gap:18px;padding:14px 0 12px;border-right:.5px solid var(--hairline);background:var(--material);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.rail-group{display:flex;flex-direction:column;align-items:center;gap:4px}.rail-end{margin-top:auto}.rail-button,.rail .icon-button{position:relative;width:60px;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;box-shadow:none;color:var(--text-secondary);font-size:10px;font-weight:500;cursor:var(--cursor-pointer);transition:background .14s ease,color .14s ease}.rail-button:hover,.rail .icon-button:hover,.rail .icon-button[aria-expanded=true]{background:var(--fill);color:var(--text-primary)}.rail-button:active,.rail .icon-button:active{background:var(--fill-strong)}.rail-button.active{background:var(--primary-soft);color:var(--primary)}.rail .user-button{width:36px;height:36px;margin-top:6px}.rail .popover{top:auto;right:auto;bottom:0;left:calc(100% + 10px)}.brand-title{font-size:20px;font-weight:700;letter-spacing:-.025em}.project-button{display:flex;align-items:center;gap:9px;max-width:320px;height:36px;padding:0 8px 0 10px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:var(--cursor-pointer);transition:background .14s ease}.project-button:hover,.project-button[aria-expanded=true]{background:var(--fill)}.project-button .project-name{font-size:20px;font-weight:700;letter-spacing:-.02em}.project-button svg{flex-shrink:0;color:var(--text-muted)}.project-dot{width:11px;height:11px;flex-shrink:0;border-radius:50%;box-shadow:inset 0 0 0 1px #0f172a14}.project-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover.project-menu{left:0;right:auto;width:290px;gap:2px;padding:8px}.project-menu hr{width:100%;margin:4px 0;border:none;border-top:1px solid var(--border)}.project-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:13px;font-weight:500;text-align:left;cursor:var(--cursor-pointer);transition:background .12s ease}.project-item:hover{background:var(--fill)}.project-item .project-name{flex:1}.project-item>svg{flex-shrink:0;color:var(--text-secondary)}.project-item>svg:last-child:not(:first-child){color:var(--primary)}.color-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.color-swatch,.color-custom{width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:50%;color:#fff;cursor:var(--cursor-pointer);box-shadow:inset 0 0 0 1px #0f172a1a}.color-swatch[aria-checked=true],.color-custom.active{outline:2px solid var(--text-primary);outline-offset:2px}.color-custom{overflow:hidden;background:conic-gradient(#ef4468,#f59e0b,#12b981,#0ea5e9,#8b5cf6,#ef4468)}.color-custom input{width:100%;height:100%;padding:0;border:none;opacity:0;cursor:var(--cursor-pointer)}.env-badge{padding:4px 9px;border-radius:999px;background:var(--c-fff4e5);color:var(--c-b25e00);font-size:10px;font-weight:700;letter-spacing:.06em}.search{width:300px;height:36px;display:flex;align-items:center;gap:7px;padding:0 8px 0 10px;border:none;border-radius:var(--radius-md);background:var(--fill);color:var(--text-muted);flex-shrink:0;transition:box-shadow .14s ease,background .14s ease}.search:focus-within{background:var(--bg-surface);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.35)}.search input{width:100%;border:0;outline:none;background:transparent;color:var(--text-primary);font-size:13px;padding:0;box-shadow:none;border-radius:0}.search input::placeholder{color:var(--text-muted)}.search-shortcut{color:var(--text-muted);font-size:12px;font-weight:500;white-space:nowrap}.sort-select{display:flex;align-items:stretch;flex-shrink:0;height:36px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:var(--cursor-pointer)}.sort-label{display:flex;align-items:center;gap:7px;padding:0 11px 0 9px}.sort-select select{width:auto;height:auto;padding:0 30px 0 12px;border-color:transparent;border-radius:var(--radius-sm);font-weight:600;color:var(--text-primary);background-color:var(--fill);cursor:var(--cursor-pointer);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:none;border-radius:var(--radius-sm);background:var(--fill);color:var(--primary);font-weight:500;font-size:13px;white-space:nowrap;text-decoration:none;cursor:var(--cursor-pointer);transition:background .14s ease,opacity .14s ease}.button:hover{background:var(--fill-strong)}.button:active{opacity:.6}.button:disabled{opacity:.4;cursor:not-allowed}.button-primary{color:var(--on-primary);background:var(--primary);font-weight:600}.button-primary:hover{background:var(--primary-hover)}.button-small{height:28px;padding:0 11px;font-size:12px;border-radius:7px}.button-danger{color:var(--danger)}.button-danger:hover{background:var(--danger-soft)}.button-toggle.on{color:var(--primary);background:var(--primary-soft);border-color:var(--primary-border)}.icon-button{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:none;border-radius:50%;background:var(--fill);color:var(--text-secondary);text-decoration:none;cursor:var(--cursor-pointer);transition:background .14s ease,color .14s ease}.icon-button:hover{background:var(--fill-strong);color:var(--text-primary)}.icon-button.small{width:28px;height:28px}.icon-button.ghost{background:transparent}.icon-button.ghost:hover{background:var(--bg-hover)}.link{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:var(--primary);font-size:inherit;font-weight:500;cursor:var(--cursor-pointer)}.link:hover{text-decoration:underline}.tagbar{height:var(--tagbar-height);flex-shrink:0;display:flex;align-items:center;gap:6px;padding:2px 18px 10px 22px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}.tagbar::-webkit-scrollbar{display:none}.tagbar.fade-start{-webkit-mask-image:linear-gradient(to right,transparent,#000 48px);mask-image:linear-gradient(to right,transparent,#000 48px)}.tagbar.fade-end{-webkit-mask-image:linear-gradient(to left,transparent,#000 48px);mask-image:linear-gradient(to left,transparent,#000 48px)}.tagbar.fade-start.fade-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent)}.tag-pill{flex-shrink:0;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-soft);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:var(--cursor-pointer);transition:background .14s ease,color .14s ease,border-color .14s ease}.tag-pill:hover{background:var(--bg-hover);color:var(--text-primary)}.tag-pill.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary);font-weight:600}.board-area{min-width:0;padding:6px 18px 18px;overflow-x:auto}.board{display:flex;gap:14px;min-height:calc(100vh - var(--topbar-height) - 24px)}.board:after{content:"";flex:0 0 0px;margin-left:-14px;transition:flex-basis .48s var(--ease-out)}@media(min-width:1101px){.app-main:not(.chat-closed) .board:after{flex-basis:calc(var(--chat-width) + 2 * var(--chat-gap))}}@media(min-width:1101px){.app.panel-open .board:after{flex-basis:calc(var(--panel-width) - 18px)}.app.panel-open .topbar-main{padding-right:calc(var(--panel-width) + 18px)}.app.panel-open .board-area{scroll-padding-right:calc(var(--panel-width) + 14px)}}.view-area{padding:6px 18px 24px}.view-day .view-area,.view-week .view-area{padding:0}.view-page{width:min(880px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px;padding-top:4px}.view-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;min-height:36px}.view-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em}.view-count{color:var(--text-muted);font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}.view-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.view-search{width:300px}.view-card{border-radius:var(--radius-lg);background:var(--bg-surface)}.view-composer{display:flex;gap:8px;padding:10px}.view-composer input{flex:1;min-width:0}.view-rows{margin:0;padding:0;list-style:none;overflow:hidden}.view-row{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 14px;border-top:.5px solid var(--hairline)}.view-row:first-child{border-top:0}.view-row .task-action{flex-shrink:0;margin:0;opacity:0;transition:opacity .12s ease}.view-row:hover .task-action,.view-row:focus-within .task-action{opacity:1}@media(hover:none){.view-row .task-action{opacity:1}}.view-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.view-card.empty-state{min-height:300px}.status-tabs{display:none}.board-column{flex:1 0 240px;min-width:0;display:flex;flex-direction:column;border:none;border-radius:var(--radius-xl);padding:8px;background:linear-gradient(165deg,color-mix(in srgb,var(--column-color, #8e8e93) 14%,var(--bg-app)),color-mix(in srgb,var(--column-color, #8e8e93) 5%,var(--bg-app)) 38%,color-mix(in srgb,#8e8e93 7%,var(--bg-app)) 78%)}.board-column.empty:not(.collapsed){flex:0 0 240px}.column-empty{margin:18px 0 0;font-size:13px;text-align:center}.column-header{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:4px 4px 4px 8px;border-radius:var(--radius-sm)}.column-title-wrap{display:flex;align-items:center;gap:9px}.column-icon{width:24px;height:24px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:12px;color:var(--column-fg, white);background:var(--column-color, #8e8e93)}.column-icon.editable{padding:0;border:none;cursor:var(--cursor-pointer);transition:box-shadow .14s ease}.column-icon.editable:hover,.column-icon.editable:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--column-color, #7f91aa) 28%,transparent)}.column-glyph{font-size:14px;font-weight:700;line-height:1;text-transform:uppercase}.column-title{margin:0;font-size:15px;font-weight:600;letter-spacing:-.015em;overflow-wrap:anywhere}.column-title-wrap{min-width:0}.column-title.editable{margin:-3px -6px;padding:3px 6px;border-radius:8px;cursor:text}.column-title.editable:hover{background:var(--bg-hover)}.column-header[draggable=true]{cursor:grab}.column-title-input{min-width:0;width:100%;min-height:32px;padding:4px 8px;font-size:16px;font-weight:700;border-radius:8px;border-color:var(--primary-border);background:var(--bg-surface);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.column-header-end{display:flex;align-items:center;gap:4px;flex-shrink:0}.appearance-preview{display:flex;align-items:center;gap:10px;font-weight:700}.appearance-preview .column-icon{width:34px;height:34px}.appearance-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.icon-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.glyph-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.glyph-row input{width:96px;text-align:center}.glyph-choice{min-width:34px;height:34px;padding:0 4px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);font-size:17px;cursor:var(--cursor-pointer)}.glyph-choice:hover{background:var(--bg-hover)}.glyph-choice.selected{border-color:var(--primary-border);background:var(--primary-soft)}.icon-choice{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);color:var(--text-secondary);cursor:var(--cursor-pointer)}.icon-choice:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-choice.selected{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.column-lock{display:grid;place-items:center;color:var(--text-muted)}.column-menu-button,.column-collapse-button{width:28px;height:28px;display:grid;place-items:center;border:none;border-radius:7px;background:none;color:var(--text-muted);cursor:var(--cursor-pointer)}.column-menu-button:hover,.column-menu-button:focus-visible,.column-collapse-button:hover,.column-collapse-button:focus-visible{background:var(--bg-hover);color:var(--text-primary)}.board-column.collapsed{flex:0 0 56px;padding:10px 6px;transition:background .14s ease,box-shadow .14s ease}.board-column.collapsed.drag-over{box-shadow:0 0 0 2px var(--primary)}.column-strip{flex:1;display:flex}.column-strip[draggable=true]{cursor:grab}.column-strip-button{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0;border:none;border-radius:999px;background:transparent;color:var(--text-primary);cursor:var(--cursor-pointer)}.column-strip-button:hover,.column-strip-button:focus-visible{outline:none;background:var(--bg-hover)}.column-strip-name{writing-mode:vertical-rl;margin-top:4px;font-size:15px;font-weight:700;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-column.column-dragging{opacity:.5}.board-column.column-drop-before{box-shadow:-6px 0 0 -2px var(--primary)}.board-column.column-drop-after{box-shadow:6px 0 0 -2px var(--primary)}.board-add-column{flex:0 0 40px}.board-add-column.adding{flex-basis:240px}.add-column{width:100%;min-height:40px;display:flex;align-items:center;justify-content:center;color:var(--primary);background:var(--fill);border:none;border-radius:var(--radius-md);cursor:var(--cursor-pointer);transition:background .14s ease}.add-column:hover{background:var(--fill-strong)}.add-column-input{width:100%;min-height:40px;border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.35)}.column-count{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:999px;color:var(--text-muted);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.task-list{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:8px;border-radius:var(--radius-md);transition:background .14s ease}.task-list.drag-over{background:rgba(var(--primary-rgb),.04)}.drop-marker{height:3px;margin:-6px 4px -4px;border-radius:3px;background:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}.task-card{position:relative;padding:11px 12px;border:none;border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-raised);cursor:var(--cursor-pointer);transition:box-shadow .15s ease,background .15s ease}.task-card:hover{box-shadow:var(--shadow-sm),0 3px 10px #00000014}.task-card.ultra{box-shadow:0 0 0 1.5px var(--danger),var(--shadow-xs)}.board-column[data-status=done] .task-card.ultra:not(.selected):not(.multi){box-shadow:var(--shadow-raised)}.board-column[data-status=done] .priority-dot{background:var(--border-strong);box-shadow:none}.task-card.selected{box-shadow:0 0 0 2px var(--primary),var(--shadow-xs)}.task-card.multi{background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary)}.task-card.dragging{opacity:.45}.task-top{display:flex;align-items:flex-start;gap:8px}.priority-dot{width:9px;height:9px;margin-top:5px;flex:0 0 auto;border-radius:50%;background:var(--danger)}.priority-dot.ultra{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent)}.priority-dot.medium{background:var(--warning)}.priority-dot.low{background:var(--info)}.task-title{flex:1;margin:0;font-size:14px;line-height:1.42;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}.task-action{color:var(--text-muted);flex-shrink:0;width:26px;height:26px;margin:-3px -4px -3px 0;display:grid;place-items:center;border:none;border-radius:6px;background:transparent;cursor:var(--cursor-pointer);transition:background .14s ease,color .14s ease}.star-icon.active{fill:var(--warning);color:var(--warning)}.task-hover-actions{position:absolute;top:6px;right:6px;display:flex;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--bg-surface);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity .12s ease}.task-hover-actions .task-action{margin:0}.task-card:hover .task-hover-actions,.task-hover-actions:focus-within{opacity:1;pointer-events:auto}.task-more{display:none}.task-top .task-id-group{align-self:flex-start;margin-top:3px}@media(hover:none){.task-hover-actions{display:none}.task-more{display:grid}}.favorites-group+.favorites-group{margin-top:8px}.favorites-ticket{padding:8px 0;border-top:1px solid var(--border)}.favorites-ticket-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px}.favorites-explain{margin:4px 0 8px}.favorites-explanation{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--primary-soft);line-height:1.5}.task-action:hover{color:var(--primary);background:var(--primary-soft)}.task-blocked{margin-top:10px;padding:7px 10px;border-radius:var(--radius-xs);background:var(--danger-soft);color:var(--c-b4263a);font-size:12px;line-height:1.4}.task-relations{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;color:var(--text-muted);font-size:11px;font-weight:600}.task-relations .blocked{color:var(--c-b4263a)}.task-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.task-tag{padding:3px 8px;border-radius:999px;background:var(--fill);color:var(--text-secondary);font-size:11px;font-weight:500}.task-footer{margin-top:11px;display:flex;align-items:center;justify-content:space-between}.task-date{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:11px}.task-tags .task-id-group{margin-left:auto;align-self:center}.task-id-group{display:flex;align-items:center;gap:5px}.task-id{color:var(--text-muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em}.task-assignees{display:flex}.task-assignee-avatar{width:18px;height:18px;font-size:10px;font-weight:700;border-radius:50%;border:1.5px solid var(--bg-surface);display:grid;place-items:center;background:var(--c-d8e2f0);color:var(--c-4d607d)}.task-assignee-avatar:not(:first-child){margin-left:-7px}.task-date.overdue{color:var(--danger);font-weight:600}.add-ticket{width:100%;min-height:40px;margin-top:4px;display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--primary);background:rgba(var(--primary-rgb),.1);border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:var(--cursor-pointer);transition:background .14s ease}.add-ticket:hover{background:rgba(var(--primary-rgb),.17)}.add-ticket-input{margin-top:4px;min-height:40px;border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.35)}.empty-state{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 24px}.empty-icon{width:56px;height:56px;display:grid;place-items:center;margin-bottom:16px;border-radius:50%;background:var(--fill);color:var(--text-muted);font-size:28px}[data-status] .empty-icon{background:var(--bg-surface-soft);color:var(--text-muted)}[data-status] .empty-state h3{color:var(--text-muted);font-weight:600}.empty-state h3{margin:0 0 6px;font-size:15px;font-weight:700}.empty-state p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.55}.chat-panel{position:fixed;top:calc(var(--topbar-height) + var(--chat-gap));right:var(--chat-gap);bottom:var(--chat-gap);z-index:30;width:min(var(--chat-width),calc(100vw - 2 * var(--chat-gap)));min-width:0;display:flex;flex-direction:column;overflow:hidden;border:none;border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-lg)}.chat-header{min-height:60px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:.5px solid var(--hairline)}.chat-header-actions{display:flex;align-items:center;gap:6px}.chat-person{display:flex;align-items:center;gap:10px}.chat-avatar{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#8e8e93;color:#fff;font-size:14px;font-weight:600;object-fit:cover}.chat-name{font-weight:700;font-size:15px}.chat-status{display:flex;align-items:center;gap:5px;margin-top:2px;color:#6f8198;font-size:11px}.chat-status-dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.chat-status-dot.busy{background:var(--warning);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:16px}.message{display:flex;gap:8px;align-items:flex-start}.message.user{flex-direction:row-reverse}.message-avatar{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#8e8e93;color:#fff;font-size:11px;font-weight:600;object-fit:cover}.message-bubble{max-width:85%;padding:8px 12px;border-radius:18px;background:var(--bg-hover);color:var(--text-primary);font-size:14px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.message.user .message-bubble{color:var(--on-primary);background:var(--primary)}.message-bubble a{color:var(--primary);text-decoration:none;font-weight:600}.message-bubble a:hover{text-decoration:underline}.message-bubble.error{background:var(--danger-soft)}.message-bubble.typing{color:var(--text-secondary);font-style:italic}.message-actions{margin:8px 0 0;padding:8px 0 0 16px;border-top:.5px solid var(--hairline);font-size:12px;white-space:normal;color:var(--text-secondary)}.message-actions li+li{margin-top:3px}.message-actions.undone{text-decoration:line-through;opacity:.6}.message-tools{display:flex;gap:14px;margin-top:8px;font-size:12px;white-space:normal}.chat-empty{margin:auto 0;text-align:center;color:var(--text-secondary);font-size:13px;line-height:1.55;padding:0 12px}.chat-empty .empty-icon{margin:0 auto 16px;background:var(--primary-soft);color:var(--primary)}.chat-empty p{margin:0 0 16px}.chat-composer{padding:10px 12px 12px;border-top:.5px solid var(--hairline)}.composer-box{border:1px solid var(--border-strong);border-radius:18px;background:var(--bg-surface);padding:6px 6px 6px 12px}.composer-box:focus-within{border-color:var(--primary)}.composer-input-row{display:flex;align-items:flex-end;gap:9px}.composer-textarea{flex:1;min-height:50px;max-height:130px;padding:7px 2px;border:0;outline:none;resize:none;color:var(--text-primary);background:transparent;font-size:13px;line-height:1.5}.composer-textarea:focus{box-shadow:none}.composer-textarea::placeholder{color:var(--text-muted)}.composer-footer{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.composer-hint{color:var(--text-muted);font-size:11px}img.avatar-image{display:block;border-radius:50%;object-fit:cover;background:var(--danger-soft)}.tag-input{position:relative;display:flex;flex-direction:column;gap:7px}.tag-box{position:relative;display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-height:36px;padding:4px 7px;background:var(--fill);border:1px solid transparent;border-radius:var(--radius-sm);transition:background .14s ease,box-shadow .14s ease}.tag-box:focus-within{background:var(--bg-surface);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.35)}.tag-box input{flex:1;min-width:90px;border:none;padding:3px;background:transparent;box-shadow:none}.tag-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 5px 3px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:600}.tag-chip button{display:grid;place-items:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;cursor:var(--cursor-pointer)}.tag-chip button:hover{background:rgba(var(--primary-rgb),.14)}.tag-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;list-style:none;margin:0;padding:5px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md)}.tag-menu li{padding:7px 9px;border-radius:8px;font-size:13px;cursor:var(--cursor-pointer)}.tag-menu li.active{background:var(--primary-soft);color:var(--primary)}.tag-recent{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px}.panel{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(var(--panel-width),100vw);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-surface);border-left:.5px solid var(--hairline);box-shadow:-12px 0 32px #0000000f}.panel-head{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:14px 20px 10px;border-bottom:.5px solid var(--hairline)}.panel-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;padding:16px 22px 24px;overflow-y:auto}.panel-header{display:flex;align-items:center;justify-content:space-between}.panel-id{color:var(--text-muted);font-size:12px;font-weight:600}.panel-header-actions{display:flex;align-items:center;gap:6px}.panel-title{font-size:22px;font-weight:700;letter-spacing:-.03em;border-color:transparent;background:transparent;box-shadow:none;padding:6px 10px;margin:0 -10px;width:calc(100% + 20px)}.panel-title:hover{background:var(--bg-hover)}.fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.fields>*{grid-column:span 2}.fields>.field{grid-column:span 3}.fields .row-start{grid-column:1 / span 2}.fields>label>input,.fields>label>select,.rich-select-button{min-height:36px}.fields .wide{grid-column:1 / -1;min-width:0}.field,.fields label,label.block{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:600}.field>*,.fields label>*,label.block>*{font-weight:400;color:var(--text-primary)}.blocked-field input{border-color:var(--c-ffd0d6);background:var(--danger-soft)}.panel-section-title{margin:4px 0 8px;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.panel-add-row{display:flex;flex-wrap:wrap;gap:6px}.note-form{display:flex;gap:8px;margin-bottom:10px}.mention{padding:0 3px;border-radius:5px;background:rgba(var(--primary-rgb),.1);font-weight:600}.mention-results{margin:-4px 0 10px}.mention-results button{align-items:center}.mention-results .member-avatar{width:20px;height:20px;font-size:10px}.note-files{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 10px}.note-file{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 2px 2px 8px;border-radius:999px;background:var(--bg-hover);color:var(--text-secondary);font-size:12px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin:8px 0}.image-thumb{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px;background:var(--bg-hover);box-shadow:var(--contour)}.image-thumb>button:first-child{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.image-thumb img{display:block;width:100%;height:100%;object-fit:cover}.image-remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#0a0a0cb8;color:#fff;cursor:var(--cursor-pointer);opacity:0;transition:opacity .12s ease}.image-thumb:hover .image-remove,.image-remove:focus-visible{opacity:1}@media(hover:none){.image-remove{opacity:1}}.image-zoom{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:#0a0a0cd1;cursor:zoom-out}.image-zoom img{max-width:100%;max-height:calc(100dvh - 48px);border-radius:12px;object-fit:contain}.note{margin-bottom:8px;padding:10px 12px;border:1px solid var(--c-edf0f5);border-radius:12px;background:var(--c-f3f5f9)}.note-meta{display:flex;align-items:center;justify-content:space-between;min-height:22px;color:var(--text-muted);font-size:11px;font-weight:600}.note-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s ease}.note:hover .note-actions,.note-actions:focus-within{opacity:1}.note-actions .task-action{width:24px;height:22px;margin:0}.subtask-count{margin-left:8px;color:var(--text-muted);font-size:12px;font-weight:600}.subtask-progress{height:4px;overflow:hidden;border-radius:999px;background:var(--border)}.subtask-progress>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .2s ease}.ticket-subtasks .subtask-progress{margin-bottom:8px}.subtask-list{display:flex;flex-direction:column;gap:2px;margin:0 0 6px;padding:0;list-style:none}.subtask-item{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 6px 4px 8px;border-radius:10px}.subtask-item:hover{background:var(--bg-surface-soft)}.subtask-item:hover .note-actions,.subtask-item .note-actions:focus-within{opacity:1}.subtask-item input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin:0;accent-color:var(--primary)}.subtask-title{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}.subtask-item.done .subtask-title{color:var(--text-muted);text-decoration:line-through}.subtask-edit{flex:1;min-width:0;padding:3px 8px;font-size:14px}.subtask-add{display:flex;align-items:center;gap:10px;padding:0 6px 0 8px;color:var(--text-muted)}.subtask-add input{flex:1;min-width:0;padding:6px 8px;border-color:transparent;background:transparent;color:var(--text-primary);font-size:14px}.subtask-add input::placeholder{color:var(--text-muted)}.subtask-add input:focus{border-color:var(--primary-border);background:var(--bg-surface)}.time-overview{display:flex;align-items:center;gap:14px;margin-bottom:12px}.time-figures{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--text-muted);font-size:13px}.time-figures strong{color:var(--text-primary);font-size:15px}.time-figures .over,.time-hint.over{color:var(--danger)}.time-ring{position:relative;display:inline-grid;flex-shrink:0;place-items:center}.time-ring svg{position:absolute;inset:0}.time-ring-track,.time-ring-value{fill:none;stroke-width:4}.time-ring-track{stroke:var(--border)}.time-ring-value{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset .3s ease}.time-ring.over .time-ring-value{stroke:var(--danger)}.time-ring-label{position:relative;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.time-ring.over .time-ring-label{color:var(--danger)}.time-ring-empty{border:2px dashed var(--border-strong);border-radius:50%;color:var(--text-muted)}.time-ring-empty svg{position:static}.time-block{margin-bottom:14px}.time-block h4{margin:0 0 6px;color:var(--text-muted);font-size:12px;font-weight:600}.time-choices{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg-surface);overflow:hidden}.stepper-button{width:30px;height:28px;border:0;background:transparent;color:var(--text-primary);font-size:17px;line-height:1;cursor:var(--cursor-pointer)}.stepper-button:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.stepper-button:disabled{color:var(--text-muted);opacity:.5;cursor:default}.stepper:focus-within{border-color:var(--primary-border);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14)}.stepper.invalid{border-color:var(--danger);background:var(--danger-soft)}.stepper .stepper-value{width:76px;padding:4px 0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.stepper .stepper-value::placeholder{color:var(--text-muted);font-weight:500}.time-date{width:auto;padding:4px 8px}.time-hint{margin:2px 0 0;font-size:12px}.time-form{display:flex;flex-wrap:wrap;gap:8px}.time-form .time-note{flex:1 1 160px;min-width:0}.time-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.time-item{display:flex;align-items:baseline;gap:10px;min-width:0;padding:5px 6px 5px 8px;border-radius:10px;font-size:13px}.time-item:hover{background:var(--bg-surface-soft)}.time-item:hover .note-actions,.time-item .note-actions:focus-within{opacity:1}.time-minutes{flex-shrink:0;min-width:56px;font-weight:600;font-variant-numeric:tabular-nums}.time-meta{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--text-muted)}.time-note-text{color:var(--text-primary)}.task-time.over{color:var(--danger)}.task-time{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--text-muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.task-subtasks{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--text-muted);font-size:12px;font-weight:600}.task-subtasks .subtask-progress{flex:1;height:3px}.task-subtasks.complete{color:var(--success)}.task-subtasks.complete .subtask-progress>span{background:var(--success)}.link-list{display:flex;flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none}.link-item{display:flex;align-items:center;gap:10px;min-width:0;padding:7px 8px 7px 10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface-soft);transition:border-color .14s ease,background .14s ease}.link-item:hover{border-color:var(--primary-border);background:var(--primary-soft)}.link-item:hover .note-actions,.link-item .note-actions:focus-within{opacity:1}.relation-group{margin-bottom:4px}.relation-kind{display:block;margin-bottom:4px;color:var(--text-muted);font-size:11px;font-weight:600}.relation-ticket,.relation-results button{display:flex;flex:1;align-items:baseline;gap:6px;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:var(--cursor-pointer)}.relation-status{flex-shrink:0;margin-left:auto;color:var(--text-muted);font-size:11px}.relation-form .inline-form{margin-bottom:6px}.relation-form .inline-form input{flex:1;min-width:0}.relation-results{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;font-size:13px}.relation-results button{width:100%;padding:7px 10px;border-radius:10px}.relation-results button:hover,.relation-results button:focus-visible{background:var(--bg-hover)}.relation-results li.muted{padding:7px 10px}.link-icon{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:var(--bg-surface);box-shadow:inset 0 0 0 1px var(--border);color:var(--primary)}.link-main{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--text-primary);text-decoration:none}.link-title,.link-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-title{font-size:13px;font-weight:600}.link-main:hover .link-title{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.link-url{color:var(--text-muted);font-size:12px}.link-external{flex-shrink:0;color:var(--text-muted)}.link-form{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface-soft)}.link-add{align-self:flex-start}.note-actions .task-action.danger:hover{color:var(--danger);background:var(--danger-soft)}@media(hover:none){.note-actions{opacity:1}}.note-edit{display:flex;flex-direction:column;gap:8px;margin-top:4px}.note-edit-actions{display:flex;align-items:center;gap:8px}.note-body{margin-top:2px;font-size:13px;line-height:1.5;white-space:pre-wrap}.history{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-secondary)}.history time{color:var(--text-muted)}.history strong{color:var(--text-primary);font-weight:600}.rich-select{position:relative}.rich-select-button{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px 7px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--fill);color:var(--text-primary);font:inherit;font-size:13px;font-weight:400;text-align:left;transition:background .14s ease,box-shadow .14s ease}.rich-select-button:focus-visible,.rich-select-button[aria-expanded=true]{outline:none;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.35)}.rich-select-button:disabled{opacity:.7}.rich-select-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rich-select-chevron{flex-shrink:0;color:var(--text-muted)}.rich-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;min-width:max-content;max-height:260px;margin:0;padding:4px;overflow-y:auto;list-style:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);box-shadow:var(--shadow-lg)}.rich-select-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;color:var(--text-primary);font-size:13px;font-weight:400;cursor:var(--cursor-pointer)}.rich-select-option.active{background:var(--bg-hover)}.rich-select-option.selected{font-weight:600}.column-icon.small{width:20px;height:20px}.priority-swatch{width:10px;height:10px;margin:0 5px;flex-shrink:0;border-radius:50%;background:var(--danger)}.priority-swatch.ultra{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent)}.priority-swatch.medium{background:var(--warning)}.priority-swatch.low{background:var(--info)}.priority-swatch.none{background:transparent;box-shadow:inset 0 0 0 1.5px var(--text-muted)}.history-more{margin-top:10px}.history-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px)}.history-dialog-header{display:flex;align-items:center;gap:10px}.history-dialog-header h2{flex:1;margin:0;font-size:16px}.history-dialog-list{flex:1;min-height:0;overflow-y:auto;margin-left:4px;padding-right:6px;font-size:13px}.history-dialog-list time{display:block;font-size:12px}.panel-footer{margin-top:auto;padding-top:10px}.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#00000052}.dialog{width:min(440px,calc(100vw - 32px));display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-lg)}.dialog-wide{width:min(640px,calc(100vw - 32px))}.onboarding-dialog{width:min(480px,calc(100vw - 32px))}.onboarding-dialog form{display:flex;flex-direction:column;gap:14px}.avatar-picker{display:flex;flex-wrap:wrap;gap:10px}.avatar-choice{padding:3px;border:2px solid transparent;border-radius:50%;background:none;cursor:var(--cursor-pointer);transition:border-color .15s}.avatar-choice img{display:block;border-radius:50%;object-fit:cover}.avatar-upload{width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;border:2px dashed var(--border-strong);color:var(--text-secondary)}.admin-avatar{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--bg-hover)}.avatar-choice:hover{border-color:var(--border)}.avatar-choice-selected{border-color:var(--primary)}.avatar-choice img{display:block;border-radius:50%}.memory-textarea{min-height:300px;max-height:60vh;font-size:14px}.dialog h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.015em}.dialog p{margin:0}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:6px}.spacer{flex:1}.hint{margin:0;font-size:12px;line-height:1.5}.toast{position:fixed;top:calc(var(--topbar-height) + 12px);left:50%;transform:translate(-50%);z-index:60;max-width:min(640px,calc(100vw - 32px));display:flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid var(--c-ffd6dc);border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--c-b4263a);font-size:13px;font-weight:600;box-shadow:var(--shadow-md);cursor:var(--cursor-pointer)}.speech-bar{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:45;width:min(720px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:10px 12px 10px 10px;border:none;border-radius:var(--radius-xl);background:var(--material);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.speech-who{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;white-space:nowrap}.speech-who svg{color:var(--primary)}.speech-text{flex:1;max-height:4.6em;overflow-y:auto;color:var(--text-secondary);font-size:13px;line-height:1.5}.popover-anchor{position:relative}.popover{position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:340px;display:flex;flex-direction:column;gap:10px;padding:16px;border:none;border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-md);font-size:13px}.popover strong{font-size:14px}.popover dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0}.popover dt{color:var(--text-muted);font-weight:600}.popover dd{margin:0;overflow-wrap:anywhere}.popover p{margin:0}.popover .button{align-self:flex-start}:focus-visible{outline:3px solid rgba(var(--primary-rgb),.22);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--c-d8e0ec) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--c-d8e0ec);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--c-c5cfdd)}@media(max-width:1300px){:root{--chat-width: 350px}.search{width:240px}.search-shortcut{display:none}}@media(max-width:1100px){.chat-panel{width:min(420px,calc(100vw - 2 * var(--chat-gap)))}}@media(max-width:800px){.topbar-main{gap:8px}.search{width:auto;flex:1}.board-area{padding:12px}}.archive-row{cursor:var(--cursor-pointer);transition:background .12s ease}.archive-row:hover{background:var(--fill)}.archive-row.selected{background:var(--primary-soft)}.archive-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500}.archive-meta{display:flex;align-items:center;gap:8px;flex-shrink:0;color:var(--text-muted);font-size:12px}.archive-status{padding:3px 8px;border-radius:999px;background:var(--bg-hover);color:var(--text-secondary);font-size:11px;font-weight:600}.archived-badge{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--warning-soft);color:var(--c-a15c07);font-size:11px;font-weight:600}.context-menu{position:fixed;z-index:80;min-width:200px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;display:flex;flex-direction:column;padding:5px;border:none;border-radius:var(--radius-md);background:var(--material);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.context-menu-item{position:relative;flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:9px;padding:6px 10px;border:none;border-radius:var(--radius-xs);background:none;color:var(--text-primary);font-size:13px;font-weight:400;text-align:left;cursor:var(--cursor-pointer)}.context-menu-item.separated{margin-top:11px}.context-menu-item.separated:before{content:"";position:absolute;top:-6px;left:8px;right:8px;border-top:.5px solid var(--hairline)}.context-menu-item:hover{background:var(--primary);color:var(--on-primary)}.context-menu-item.danger{color:var(--danger)}.context-menu-item.danger:hover{background:var(--danger);color:#fff}.toast.notice{border-color:transparent;background:var(--bg-surface);color:var(--text-primary);cursor:var(--cursor-arrow)}.selection-bar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:55;max-width:calc(100vw - 32px);display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 8px 8px 16px;border:none;border-radius:var(--radius-xl);background:var(--material);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);font-size:13px}.toast.notice .link{font-weight:600}@media(max-width:720px){.view-title{font-size:24px}.view-actions:has(.view-search){flex-basis:100%}.view-search{width:100%}.archive-row{flex-wrap:wrap}.archive-meta{order:3;width:100%}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(420px,100%);display:flex;flex-direction:column;gap:14px;padding:28px;border:none;border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-md)}.auth-card>.button,.auth-card>.link{align-self:flex-start}.auth-brand{display:flex;align-items:center;gap:10px}.auth-card h1{margin:4px 0 0;font-size:20px;font-weight:700;letter-spacing:-.015em}.auth-card p{margin:0}.auth-text{line-height:1.55}.auth-text svg{vertical-align:-3px;color:var(--primary)}.auth-notice{padding:10px 12px;border-radius:10px;background:var(--warning-soft);color:var(--c-8a5a00);font-size:13px}.auth-form,.inline-form{display:flex;gap:8px}.auth-form input,.inline-form input{flex:1;min-width:0}.auth-form .button,.inline-form .button{flex-shrink:0}.inline-form select{width:auto;flex-shrink:0}.inline-form select.grow{flex:1;min-width:0}.user-button{width:34px;height:34px;padding:0;overflow:hidden;flex-shrink:0;display:grid;place-items:center;border:none;border-radius:50%;background:#8e8e93;color:#fff;font-size:14px;font-weight:600;cursor:var(--cursor-pointer)}.user-button:hover{opacity:.85}.user-avatar{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;object-fit:cover}.user-menu-head{display:flex;align-items:center;gap:12px}.user-menu .user-menu-avatar{width:64px;height:64px;object-fit:cover;font-size:26px}.user-menu-avatar-wrap{position:relative;flex-shrink:0}.user-menu-identity{flex:1;min-width:0}.user-menu-name{width:calc(100% + 12px);margin:0 -6px;padding:3px 6px;border-color:transparent;background:transparent;font-size:15px;font-weight:600;text-overflow:ellipsis}.user-menu-name:hover{background:var(--fill)}.user-menu-identity .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-photo-edit{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;display:grid;place-items:center;padding:0;border:none;border-radius:50%;background:var(--bg-surface);box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:var(--cursor-pointer);transition:color .12s ease}.user-menu-photo-edit:hover,.user-menu-photo-edit:focus-visible{color:var(--primary)}.user-menu-photo-remove{margin-top:2px;font-size:12px}.bell-button{position:relative}.bell-badge{position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--bg-surface);border-radius:999px;background:#ef4468;color:#fff;font-size:10px;font-weight:700;line-height:13px;text-align:center}.popover.notifications{width:360px;max-height:min(480px,calc(100vh - 90px));overflow-y:auto;gap:6px;padding:10px}.notification-tabs{display:flex;gap:4px;padding-bottom:6px;border-bottom:1px solid var(--border)}.notification-tabs button{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:13px;font-weight:600;cursor:var(--cursor-pointer)}.notification-tabs button:hover{background:var(--bg-hover)}.notification-tabs button.active{background:var(--primary-soft);color:var(--primary)}.tab-count{min-width:18px;padding:0 5px;border-radius:999px;background:#ef4468;color:#fff;font-size:11px;line-height:18px;text-align:center}.notification-empty{padding:6px}.notification-event{font-size:12px;overflow-wrap:anywhere}.notification-all-seen{align-self:flex-end;padding:4px 6px}.notification-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.notification{width:100%;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:var(--cursor-pointer)}.notification:hover{background:var(--bg-hover)}.notification.unread{background:var(--primary-soft)}.notification.recent-action{align-items:flex-start;cursor:var(--cursor-arrow)}.notification.recent-action:hover{background:transparent}.notification-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.notification-meta{font-size:12px}.notification-body{margin-top:2px;white-space:pre-wrap;overflow-wrap:anywhere}.notification-body.clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.popover.user-menu{width:300px;gap:8px}.user-menu hr{width:100%;margin:2px 0;border:none;border-top:1px solid var(--border)}.user-menu .project-item{padding:7px 8px}.menu-version{margin:6px 0 0;padding:8px 10px 2px;border-top:1px solid var(--border);color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text}.theme-choice{display:flex;gap:2px;padding:2px;border-radius:9px;background:var(--fill)}.theme-choice button{flex:1;padding:5px 8px;border:none;border-radius:7px;background:none;color:var(--text-primary);font-size:13px;font-weight:500}.theme-choice button.active{background:var(--segment);box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a;font-weight:600}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.member-list li{display:flex;align-items:center;gap:10px;padding:8px 4px;border-top:1px solid var(--border)}.member-list li:first-child{border-top:none}.member-avatar{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:700}.member-avatar.pending{background:var(--bg-hover);color:var(--text-muted)}.member-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:13px;overflow-wrap:anywhere}.member-who .muted{font-size:12px}.status-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:1px}.status-badge.active{background:var(--success-soft);color:var(--c-0b7a55)}.status-badge.pending{background:var(--warning-soft);color:var(--c-8a5a00)}.status-badge.blocked{background:var(--danger-soft);color:var(--c-b4263a)}.status-badge.admin{background:var(--primary-soft);color:var(--primary)}.role-hint{display:block}.role-select{flex:none;width:auto}.role-badge{flex:none;padding:1px 8px;border-radius:999px;background:var(--bg-hover);color:var(--text-secondary);font-size:12px;font-weight:600}.read-only-badge{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-border)}.task-lock{flex:none;display:inline-flex;color:var(--text-muted)}.lock-editors{margin-top:10px;padding-left:44px}.read-only-banner svg{vertical-align:-2px}.read-only-banner{margin:0 0 12px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);font-size:13px}.admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.admin-page{min-height:100vh}.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;height:var(--topbar-row-height);padding:16px 22px}.admin-topbar .brand-title{display:flex;align-items:center;gap:8px}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;max-width:1100px;margin:0 auto;padding:24px 18px 48px}.admin-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:calc(var(--topbar-row-height) + 24px);align-self:start}.admin-nav-item{padding:8px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-weight:500;text-align:left;cursor:var(--cursor-pointer);transition:background .12s ease,color .12s ease}.admin-nav-item:hover{background:var(--fill)}.admin-nav-item.active{background:var(--primary);color:var(--on-primary)}.admin-content{display:flex;flex-direction:column;gap:16px;min-width:0}.admin-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.admin-card{padding:16px 18px;background:var(--bg-surface);border:none;border-radius:var(--radius-lg)}.admin-card>.hint:first-child,.admin-card>.panel-section-title:first-child{margin-top:0}.admin-facts{margin:0;padding-left:18px;line-height:1.8}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);text-align:left;cursor:var(--cursor-pointer);transition:border-color .14s ease}.stat-tile:hover{border-color:var(--primary-border)}.stat-label{color:var(--text-secondary);font-size:13px;font-weight:600}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-hint{color:var(--text-muted);font-size:12px}.meter{margin:12px 0}.meter-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13px}.meter-value{color:var(--text-secondary);font-variant-numeric:tabular-nums}.meter-track{height:8px;border-radius:999px;background:var(--bg-hover);overflow:hidden}.meter-fill{height:100%;border-radius:4px;background:var(--primary)}.settings-group+.settings-group{margin-top:16px}.settings-group-title{margin:0 0 8px;font-size:14px;font-weight:700}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.settings-grid label{display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);font-size:12px;font-weight:600}.feature-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.switch{display:flex;align-items:flex-start;gap:10px;cursor:var(--cursor-pointer);line-height:1.45}.switch input{appearance:none;flex:none;width:34px;height:20px;margin:0;padding:0;border:none;border-radius:999px;background:var(--border-strong);position:relative;cursor:var(--cursor-pointer);transition:background .14s ease}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--bg-surface);box-shadow:var(--shadow-xs);transition:transform .14s ease}.switch input:checked{background:var(--primary)}.switch input:checked:after{transform:translate(14px)}.voice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 12px}.key-status{margin:10px 0;font-size:13px}.key-status code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.usage-scroll{overflow-x:auto}.usage-table{width:100%;border-collapse:collapse;font-size:13px}.usage-table th,.usage-table td{padding:8px 10px;border-top:1px solid var(--border);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.usage-table th:first-child{text-align:left;white-space:normal}.usage-table thead th{border-top:0;color:var(--text-secondary);font-weight:500}.usage-table tbody th{font-weight:600}.usage-table tbody th .muted{font-weight:400}.check-list-item{display:flex;align-items:center;gap:8px;font-size:13px;cursor:var(--cursor-pointer)}.check-list-item input{width:auto;margin:0;accent-color:var(--primary)}.assignee-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.assignee-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 3px;border-radius:999px;background:var(--c-edf2f8);color:var(--c-4d607d);font-size:12px;font-weight:600}.assignee-avatar{width:22px;height:22px;font-size:11px;font-weight:700;border-radius:50%;display:grid;place-items:center;background:var(--c-d8e2f0);color:var(--c-4d607d);flex-shrink:0}.assignee-picker{display:flex;flex-direction:row;gap:6px;min-width:0;margin-top:4px;padding-bottom:4px;overflow-x:auto}.fields .assignee-option{display:flex;flex:0 0 auto;flex-direction:row;align-items:center;gap:8px;padding:6px 10px 6px 8px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:var(--cursor-pointer)}.assignee-option:hover{background:var(--bg-hover)}.assignee-option.selected{background:var(--primary-soft);border-color:var(--primary-border)}.assignee-name{max-width:160px;font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignee-check{color:var(--primary);flex-shrink:0;opacity:0}.assignee-option.selected .assignee-check{opacity:1}.dialog-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-scroll{max-height:calc(100vh - 48px);overflow-y:auto}.announcement-overlay{z-index:60}.announcement-dialog{max-width:480px}.announcement-meta{margin:0 0 6px;font-size:12px}.announcement-dialog h2{margin-top:0}.announcement-body{white-space:pre-wrap;line-height:1.55}.announcement-form{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:720px){.admin-layout{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px 16px 40px}.admin-nav{position:static;flex-direction:row;overflow-x:auto}.project-page-role{display:none}.popover.notifications{width:min(340px,calc(100vw - 24px))}.admin-card .inline-form{flex-wrap:wrap}.admin-row{grid-template-columns:auto minmax(0,1fr)}.admin-card .member-list .member-who{flex-basis:calc(100% - 50px)}.admin-card .member-list .role-select{margin-left:44px}.admin-row-projects,.admin-row-meta{grid-column:2}.admin-row-meta{align-items:flex-start;text-align:left}.admin-card .inline-form input{flex-basis:100%}.admin-nav-item{flex:none}}.empty-state{max-width:420px;margin:12vh auto 0;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.empty-state h2,.empty-state p{margin:0}@media(max-width:560px){.member-list li{flex-wrap:wrap}.admin-actions{width:100%;justify-content:flex-start;padding-left:42px}}@media(max-width:720px){:root{--topbar-row-height: 96px;--tagbar-height: 38px;--tabs-height: 48px;--rail-width: 50px;--rail-space: 0px;--tabbar-space: calc(var(--rail-width) + env(safe-area-inset-bottom, 0px))}.app{min-height:100dvh;padding-left:0;padding-bottom:calc(var(--rail-width) + env(safe-area-inset-bottom,0px))}.view-area{padding:0 max(12px,env(safe-area-inset-right)) 16px max(12px,env(safe-area-inset-left))}.rail{inset:auto 0 0;width:auto;height:calc(var(--rail-width) + env(safe-area-inset-bottom,0px));flex-direction:row;align-items:flex-start;gap:0;padding:0 max(4px,env(safe-area-inset-right)) 0 max(4px,env(safe-area-inset-left));border-right:none;border-top:.5px solid var(--hairline)}.rail .brand-logo{display:none}.rail-group{flex:1;flex-direction:row;gap:0}.rail-button{flex:1;width:auto;min-width:0;height:var(--rail-width);border-radius:0}.rail-button:hover,.rail-button:active,.rail-button.active{background:none}.rail-button.active{color:var(--primary)}.topbar-slot{grid-column:1 / -1;grid-row:2;justify-content:center}.view-list,.view-links,.view-archive{--topbar-row-height: 52px;--topbar-height: 52px}.view-list .topbar-main,.view-links .topbar-main,.view-archive .topbar-main{grid-template-rows:36px}.topbar-account{grid-area:account;justify-self:end;display:flex;align-items:center;gap:8px}.topbar-account .popover-anchor{position:static}.topbar-account .popover{top:calc(var(--topbar-row-height) / 2 + 4px);left:12px;right:12px;width:auto;max-height:calc(100dvh - var(--topbar-row-height) - var(--rail-width) - 24px);overflow-y:auto}input,select,textarea,.search input,.composer-textarea{font-size:16px}.topbar-main{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:36px 36px;grid-template-areas:"brand account" "search sort";gap:8px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}.brand{grid-area:brand;min-width:0;gap:6px}.brand-logo{width:30px;height:30px}.brand .popover-anchor{min-width:0}.project-button{max-width:100%;padding:0 6px 0 8px}.project-button .project-name{font-size:20px}.search{grid-area:search;width:auto;height:36px;gap:6px;padding:0 10px}.search svg{flex-shrink:0}.sort-select{grid-area:sort}.sort-select select{padding:0 28px 0 10px;background-position:right 9px center}.sort-label{padding:0 8px}.sort-label-text{display:none}.popover{max-width:calc(100vw - 24px)}.tagbar{padding:0 12px 8px}.status-tabs{position:sticky;top:var(--topbar-height);z-index:15;height:var(--tabs-height);display:flex;padding:6px 0 8px;background:color-mix(in srgb,var(--bg-app) 78%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);overflow-x:auto;scrollbar-width:none}.status-tabs::-webkit-scrollbar{display:none}.status-tab{position:relative;isolation:isolate;flex:1 0 auto;min-width:76px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:none;border-radius:0;background:var(--fill);color:var(--text-primary);font-size:13px;font-weight:500;white-space:nowrap;cursor:var(--cursor-pointer)}.status-tab .column-icon{display:none}.status-tab .column-count{min-width:20px;height:20px;font-size:11px}.status-tab[aria-selected=true]{font-weight:600}.status-tab[aria-selected=true] .column-count{color:var(--text-secondary)}.status-tab:first-child{border-radius:9px 0 0 9px}.status-tab:last-of-type{border-radius:0 9px 9px 0}.status-tab:first-child:last-of-type{border-radius:9px}.status-tab[aria-selected=true]:before{content:"";position:absolute;inset:2px;z-index:-1;border-radius:7px;background:var(--segment);box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a}.board-area{padding:0 max(12px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow-x:visible}.board{display:block;min-width:0;min-height:0}.board-column{display:none}.board-column.shown{display:flex;min-height:calc(100dvh - var(--topbar-height) - var(--tabs-height) - 16px);padding:8px}.board-column .column-header{min-height:0;padding:0 0 6px;justify-content:flex-end;background:none}.board-column.shown{position:relative}.board-column .column-header:not(.renaming){position:absolute;top:8px;right:8px;padding:0}.board-column .column-header:not(.renaming) .column-menu-button{width:44px;height:44px}.board-column:has(.column-header:not(.renaming) .column-menu-button)>.add-ticket,.board-column:has(.column-header:not(.renaming) .column-menu-button)>.add-ticket-input{width:calc(100% - 48px)}.column-collapse-button{display:none}.board-column .column-header:not(:has(.column-menu-button)){display:none}.board-column .column-header:not(.renaming) .column-title-wrap,.board-column .column-header .column-count{display:none}.board-column .column-header.renaming{justify-content:space-between}.board-column .column-header.renaming .column-title-wrap{flex:1}.board-column .column-header.renaming .column-icon,.board-add-column{display:none}.status-add-column{flex:0 0 auto;display:flex}.status-add-column .add-column{width:40px;min-height:0;height:100%;margin-left:6px;border-radius:9px}.status-add-column.adding{flex:1 0 200px}.status-add-column .add-column-input{min-height:0;height:100%;font-size:16px}.task-list{padding-top:8px}.board-column .empty-state{min-height:240px;margin-top:0}.task-action{width:32px;height:32px;margin:-6px -6px -6px 0}.column-empty{margin-top:48px}.chat-panel{top:0;right:0;bottom:0;background:var(--bg-surface);-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;height:auto;z-index:44;border:none;border-radius:0;box-shadow:none}.chat-header{min-height:64px;padding:max(10px,env(safe-area-inset-top)) 12px 10px}.chat-messages{padding:14px 12px}.chat-composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.composer-hint{display:none}.composer-footer{justify-content:flex-end}.panel{inset:0;z-index:47;width:100%;border-radius:0;background:var(--bg-surface);box-shadow:none;border-left:none}.panel-head{padding:max(12px,env(safe-area-inset-top)) 16px 10px}.panel-body{padding:14px 16px calc(24px + env(safe-area-inset-bottom))}.panel-title{font-size:18px}.fields>label{grid-column:span 3}.fields>label.row-start{grid-column:1 / -1}.fields>label>input,.fields>label>select,.rich-select-button{min-height:44px}.dialog{max-height:calc(100dvh - 32px);overflow-y:auto;padding:18px}.toast{top:calc(var(--topbar-height) + 8px);max-width:calc(100vw - 24px)}.speech-bar{bottom:calc(22px + var(--rail-width) + env(safe-area-inset-bottom));width:calc(100vw - 24px);gap:10px;padding:8px}.speech-who{display:none}}@media(max-width:370px){.brand-logo{display:none}:root{--tabs-height: 66px}.status-tab{flex-direction:column;gap:2px;font-size:12px}}@media(max-width:340px){:root{--topbar-row-height: 140px}.topbar-main{grid-template-rows:36px 36px 36px;grid-template-areas:"brand account" "search search" "sort ."}}@media(hover:none){.task-card:hover{transform:none}}.token-form,.token-created{display:flex;flex-direction:column;gap:12px}.check-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:none;font-size:13px}.check-list legend{margin-bottom:6px;padding:0;color:var(--text-secondary);font-size:12px;font-weight:600}.check-list label{display:flex;align-items:center;gap:8px;cursor:var(--cursor-pointer)}.check-list input{width:auto;margin:0;accent-color:var(--primary)}.snippet{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface-soft);overflow:hidden}.snippet-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 10px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:600}.snippet pre{margin:0;padding:10px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.project-page-role{margin:12px 12px 0}.admin-list-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px}.search.admin-search{width:auto;flex:1 1 260px;height:38px}.filter-chips,.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip-button{padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:var(--cursor-pointer)}.chip-button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.chip{display:inline-flex;align-items:center;gap:5px;max-width:180px;padding:2px 8px;border-radius:999px;background:var(--bg-hover);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-off{background:var(--c-fff4e5);color:var(--c-9a5b00)}.chip-off.blocked{background:var(--c-ffe8ec);color:var(--c-b4233c)}.admin-rows{margin:0;padding:0;list-style:none}.admin-rows li+li{border-top:1px solid var(--border)}.admin-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 6px;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:var(--cursor-pointer)}.admin-row:hover{background:var(--bg-hover)}.admin-row-main,.admin-row-meta{display:flex;flex-direction:column;min-width:0;font-size:13px}.admin-row-main>*,.admin-row-meta>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-meta{align-items:flex-end;text-align:right}.back-link{display:inline-flex;align-items:center;gap:6px;align-self:flex-start}.admin-card-head{display:flex;align-items:center;gap:14px}.admin-card-head p{margin:4px 0 0}.admin-card-avatar{width:56px;height:56px;font-size:22px}.admin-card>.hint+.feature-list{margin-top:12px}.member-who .link{align-self:flex-start;padding:0;text-align:left}.admin-card .member-list+.inline-form,.admin-card .settings-group-title{margin-top:14px}.feature-row{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}.feature-name{flex:1 1 260px;min-width:0;font-size:13px}.feature-why{display:block;margin-top:2px;color:var(--c-b4233c);font-size:12px;font-weight:600}.feature-row .switch{align-items:center;font-size:12px;color:var(--text-secondary)}.feature-row .switch input:disabled{opacity:.5;cursor:not-allowed}.admin-card.project-form{display:flex;flex-direction:column;gap:14px}.admin-card>.hint+.inline-form{margin-top:12px}.auth-card h1 svg{vertical-align:-2px}.day-view{--aura-3: var(--primary);--glass-bg: var(--bg-surface);--glass-strong: var(--bg-surface);--glass-border: transparent;--glass-shadow: var(--shadow-raised);--ease-out: cubic-bezier(.2, .8, .2, 1);position:relative;height:calc(100dvh - var(--topbar-height) - var(--tabbar-space, 0px));display:flex;flex-direction:column;overflow:hidden;background:var(--bg-app);outline:none;animation:day-fade .24s var(--ease-out) both}.day-view.focus{--aura-1: #b8c4ff;--aura-2: #a6eaf4}@keyframes day-fade{0%{opacity:0}}@keyframes day-drift{to{transform:translate3d(7vmax,5vmax,0) scale(1.14)}}.day-view .glass{background:var(--glass-bg);box-shadow:var(--glass-shadow)}.day-view kbd{padding:4px 6px;border-radius:6px;background:rgba(var(--ink-rgb),.06);color:var(--text-muted);font:600 11px/1 var(--font)}.day-scroll{position:relative;z-index:1;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 28px);mask-image:linear-gradient(to bottom,transparent,#000 28px)}.day-page{width:min(820px,100%);margin:0 auto;padding:28px 24px 32px;display:flex;flex-direction:column;gap:30px}.day-rise{animation:day-rise .64s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 70ms)}@keyframes day-rise{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}}.day-hero{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:4vh}.day-eyebrow{margin:0;color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.day-title{margin:0;padding-bottom:.06em;font-size:clamp(34px,5vw,48px);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--text-primary)}.day-lede{margin:0;color:var(--text-secondary);font-size:17px;font-weight:500}.day-voice{margin-top:8px;height:46px;display:inline-flex;align-items:center;gap:10px;padding:0 7px 0 8px;border:none;border-radius:999px;background:var(--glass-strong);box-shadow:var(--glass-shadow);color:var(--text-primary);font:600 14px var(--font);cursor:var(--cursor-pointer);transition:transform .18s var(--ease-out),box-shadow .18s ease}.day-voice:hover:not(:disabled){box-shadow:var(--shadow-sm),0 3px 10px #00000014}.day-voice:disabled{cursor:progress}.day-voice-avatar{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:700;object-fit:cover}.day-voice-play{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--primary)}.day-voice-play svg{fill:currentColor;margin-left:2px}.day-voice:disabled .day-voice-play{animation:day-pulse 1.1s ease-in-out infinite}@keyframes day-pulse{50%{transform:scale(.86);opacity:.6}}.day-quote{max-width:660px;margin:6px 0 0;display:flex;align-items:flex-start;gap:12px;padding:14px 18px 14px 14px;border-radius:20px;color:var(--text-primary);font-size:15px;line-height:1.6}.day-quote p{margin:0}.day-stats{display:grid;grid-template-columns:repeat(var(--stats, 4),minmax(0,1fr));gap:12px}.day-stat{--tone: var(--text-muted);display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:var(--radius-lg)}.day-stat.primary{--tone: var(--primary)}.day-stat.neutral{--tone: #94a3b8}.day-stat.danger{--tone: var(--danger)}.day-stat.warning{--tone: var(--warning)}.day-stat.success{--tone: var(--success)}.day-stat.zero{--tone: #cbd5e1}.day-stat-value{color:var(--text-primary);font-size:34px;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.day-stat.zero .day-stat-value{color:var(--text-muted)}.day-stat-label{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:600}.day-stat-dot{width:8px;height:8px;border-radius:50%;background:var(--tone)}.day-section{display:flex;flex-direction:column;gap:12px}.day-section:focus-within{position:relative;z-index:5}.day-section-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:0 4px}.day-section-title{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em}.day-section-hint{color:var(--text-muted);font-size:13px}.day-empty{padding:22px;border-radius:20px;color:var(--text-secondary);font-size:14px;text-align:center}.brief-list,.day-feed{margin:0;padding:4px;list-style:none;border-radius:var(--radius-lg)}.brief-list{display:flex;flex-direction:column;gap:2px}.brief-row{display:flex;align-items:center;gap:4px;border-radius:var(--radius-sm);transition:background .18s ease,box-shadow .18s ease;animation:day-rise .52s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 40ms + .32s)}.brief-row:hover{background:var(--fill)}.brief-row.on{background:var(--primary-soft)}.brief-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:14px;padding:12px 10px;border:none;border-radius:16px;background:none;color:inherit;font:inherit;text-align:left;cursor:var(--cursor-pointer)}.brief-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.brief-check{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid var(--c-cbd5e1);border-radius:50%;background:rgba(var(--white-rgb),.7);color:#fff;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;transition:background .22s var(--ease-out),border-color .22s ease,transform .22s var(--ease-out),box-shadow .22s ease}.brief-toggle:hover .brief-check{border-color:#94a3b8}.brief-row.on .brief-check{border-color:transparent;background:var(--primary)}.brief-main{min-width:0;display:flex;flex-direction:column;gap:5px}.brief-title{display:-webkit-box;overflow:hidden;color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.brief-row:not(.on) .brief-title{color:var(--text-secondary)}.brief-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.brief-id{color:var(--text-muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.brief-actions{display:flex;gap:2px;padding-right:6px;opacity:0;transition:opacity .14s ease}.brief-row:hover .brief-actions,.brief-row:focus-within .brief-actions{opacity:1}.reason-chip{height:21px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:#64748b1a;color:var(--c-475569);font-size:12px;font-weight:600;white-space:nowrap}.reason-chip.overdue,.reason-chip.blocked{background:#ff4d5f1f;color:#d92d43}.reason-chip.today,.reason-chip.due{background:#f59e0b26;color:var(--c-b45309)}.reason-chip.doing{background:rgba(var(--primary-rgb),.12);color:var(--c-2458d3)}.reason-chip.high{background:#ec48991f;color:var(--c-be185d)}.reason-chip.mine{background:#8b5cf621;color:#6d28d9}.reason-chip.carried,.reason-chip.planned{background:rgba(var(--ink-rgb),.06);color:var(--c-334155)}.reason-chip.done{background:#12b98121;color:var(--c-047857)}.day-picker{position:relative}.day-picker-field{height:50px;display:flex;align-items:center;gap:10px;padding:0 16px;border-radius:16px;color:var(--text-muted);cursor:text;transition:background .16s ease,box-shadow .16s ease}.day-view .day-picker-field:focus-within{background:var(--glass-strong);box-shadow:var(--glass-shadow),0 0 0 3px color-mix(in oklab,var(--primary) 18%,transparent)}.day-picker-field input{flex:1;height:100%;min-width:0;padding:0;border:none;outline:none;background:none;box-shadow:none;color:var(--text-primary);font:500 14px var(--font)}.day-view .day-picker-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:4;margin:0;padding:6px;list-style:none;border-radius:18px;background:rgba(var(--white-rgb),.94);box-shadow:var(--shadow-lg)}.day-picker-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;border-radius:12px;background:none;color:var(--text-primary);font:500 14px var(--font);text-align:left;cursor:var(--cursor-pointer)}.day-picker-menu button:hover{background:var(--bg-hover)}.day-picker-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-feed li{display:flex;align-items:center;gap:12px;padding:10px 12px;font-size:14px}.day-feed li+li{border-top:1px solid rgba(var(--ink-rgb),.05)}.day-feed-avatar{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--c-e2e8f0);color:var(--c-475569);font-size:12px;font-weight:700;object-fit:cover}.day-feed-text{flex:1;min-width:0;color:var(--text-secondary);line-height:1.45}.day-feed-text strong{color:var(--text-primary);font-weight:600}.day-feed-time{flex-shrink:0;color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.day-link{padding:0;border:none;background:none;color:var(--text-primary);font:inherit;font-weight:600;text-align:left;text-decoration:underline;text-decoration-color:#0f172a33;text-underline-offset:3px;cursor:var(--cursor-pointer)}.day-link:hover{text-decoration-color:currentColor}.day-view .day-footer{position:sticky;bottom:20px;z-index:3;margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 18px;border-radius:var(--radius-xl);background:var(--material);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:bottom .26s var(--ease-out)}.day-view.speaking .day-footer{bottom:104px}.day-footer-info{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.day-footer-info strong{color:var(--text-primary)}.day-cta{height:44px;flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:0 20px;border:none;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);font:600 15px var(--font);cursor:var(--cursor-pointer);transition:background .16s ease,opacity .16s ease}.day-cta:hover:not(:disabled){background:var(--primary-hover)}.day-cta:disabled{opacity:.4;cursor:not-allowed}.day-loading{gap:16px;padding-top:calc(4vh + 28px)}.day-skeleton{display:block;width:60%;height:18px;border-radius:10px;background:linear-gradient(90deg,rgba(var(--white-rgb),.45),rgba(var(--white-rgb),.9),rgba(var(--white-rgb),.45));background-size:200% 100%;animation:day-shimmer 1.4s linear infinite}.day-skeleton.short{width:180px;height:14px}.day-skeleton.title{width:70%;height:58px;border-radius:16px}.day-skeleton.block{width:100%;height:240px;border-radius:22px}@keyframes day-shimmer{to{background-position:-200% 0}}.day-tabs{display:flex;gap:2px;padding:2px;border-radius:9px;background:var(--fill)}.day-tabs button{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;border:none;border-radius:7px;background:none;color:var(--text-primary);font:500 13px var(--font);cursor:var(--cursor-pointer);transition:background .2s ease,box-shadow .2s ease}.day-tabs button:hover{color:var(--text-primary)}.day-tabs button.on{background:var(--segment);box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a;font-weight:600}.day-tabs button.on svg{color:var(--primary)}.focus-stage{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px 24px 56px}.focus-progress{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}.focus-progress li{width:28px;height:6px;border-radius:999px;background:rgba(var(--ink-rgb),.1);transition:width .36s var(--ease-out),background .36s ease}.focus-progress li.done{background:var(--success)}.focus-progress li.current{width:48px;background:var(--aura-3)}.day-view .focus-card{position:relative;width:min(720px,100%);display:flex;flex-direction:column;gap:14px;padding:30px 34px 28px;border-radius:16px;background:var(--bg-surface);box-shadow:var(--shadow-md);animation:focus-in .62s var(--ease-out) both}@keyframes focus-in{0%{opacity:0;transform:translateY(18px) scale(.98);filter:blur(8px)}}.focus-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.focus-now{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.focus-now-dot{width:8px;height:8px;border-radius:50%;background:var(--aura-3);box-shadow:0 0 0 4px color-mix(in oklab,var(--aura-3) 20%,transparent)}.focus-card.doing .focus-now-dot{background:var(--primary);animation:day-pulse 1.6s ease-in-out infinite}.focus-card.blocked .focus-now-dot{background:var(--danger);box-shadow:0 0 0 4px #ff4d5f2e}.focus-timer{color:var(--text-muted);font-weight:600;letter-spacing:0;text-transform:none}.focus-count{display:inline-flex;align-items:center;gap:6px;margin:-6px -10px -6px 0;color:var(--text-muted);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.focus-title{margin:4px 0 0;color:var(--text-primary);font-size:clamp(30px,4.6vw,50px);font-weight:700;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}.focus-blocked{margin:0;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:#ff4d5f1a;color:var(--c-c02637);font-size:14px;font-weight:600}.focus-description{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-secondary);font-size:15px;line-height:1.6;white-space:pre-wrap;-webkit-line-clamp:6;-webkit-box-orient:vertical}.focus-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.focus-primary{height:52px;padding:0 14px 0 22px;font-size:16px}.focus-primary kbd{margin-left:4px;background:#ffffff24;color:#ffffffb8}.focus-play{fill:currentColor}.focus-secondary{height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 12px 0 14px;border:1px solid rgba(var(--ink-rgb),.08);border-radius:999px;background:rgba(var(--white-rgb),.6);color:var(--text-secondary);font:600 14px var(--font);cursor:var(--cursor-pointer);transition:background .16s ease,color .16s ease,transform .16s var(--ease-out)}.focus-secondary:hover{background:var(--bg-surface);color:var(--text-primary);transform:translateY(-1px)}.focus-readonly{color:var(--text-muted);font-size:14px}.focus-next{max-width:min(720px,100%);margin:0;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass-bg);color:var(--text-muted);font-size:13px;font-weight:600;animation-delay:.24s}.focus-next-title{min-width:0;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.focus-next-more{padding:2px 8px;border-radius:999px;background:rgba(var(--ink-rgb),.06);font-variant-numeric:tabular-nums}.focus-flash{position:fixed;left:50%;bottom:32px;z-index:6;display:flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:999px;background:rgba(var(--white-rgb),.92);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:14px;font-weight:600;animation:focus-flash 2.2s var(--ease-out) both}@keyframes focus-flash{0%{opacity:0;transform:translate(-50%,14px)}12%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.focus-flash-check{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--success);color:#fff;animation:focus-pop .52s var(--ease-out) both}.focus-flash-text{max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-finish{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.focus-finish-badge{width:96px;height:96px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 0 0 12px #10b9811f,0 0 0 26px #10b9810f,0 24px 48px -14px #10b98199;color:#fff;animation:focus-pop .76s var(--ease-out) both}.focus-finish-badge.idle{background:linear-gradient(135deg,#fcd34d,#f59e0b);box-shadow:0 0 0 12px #f59e0b1f,0 0 0 26px #f59e0b0f,0 24px 48px -14px #f59e0b8c}.focus-finish-title{margin:0;font-size:clamp(36px,5vw,54px);font-weight:700;letter-spacing:-.04em}.focus-finish-actions{display:flex;gap:10px;margin-top:14px}@keyframes focus-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.06)}}@keyframes day-twinkle{to{opacity:.35}}.wrap-done{margin:0;padding:6px;list-style:none;border-radius:22px}.wrap-done li{display:flex;align-items:center;gap:12px;padding:11px 12px;animation:day-rise .52s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 60ms + .32s)}.wrap-done li+li{border-top:1px solid rgba(var(--ink-rgb),.05)}.wrap-done-check{width:24px;height:24px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 6px 12px -6px #10b981cc;color:#fff}.wrap-done-title{flex:1;min-width:0;font-size:15px;text-decoration-color:transparent}.wrap-done-meta{flex-shrink:0;color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.focus-finish-badge.night{background:linear-gradient(135deg,#818cf8,#6d28d9);box-shadow:0 0 0 12px #6d28d91a,0 0 0 26px #6d28d90d,0 24px 48px -14px #6d28d98c}.wrap-closing{max-width:460px;line-height:1.55}.day-button{position:relative}.day-button.due:after{content:"";position:absolute;top:6px;left:calc(50% + 7px);width:8px;height:8px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 2px var(--bg-app);animation:day-pulse 2s ease-in-out infinite}@media(hover:none){.brief-actions{opacity:1}}@media(prefers-reduced-motion:reduce){.day-view,.day-view *,.day-button.due:after{animation:none!important;transition:none!important}}@media(max-width:720px){.day-tabs button{padding:0 12px}.focus-stage{justify-content:flex-start;gap:18px;padding:20px 16px 40px}.day-view .focus-card{padding:22px 20px 20px;border-radius:14px}.focus-primary{flex-basis:100%}.day-page{gap:24px;padding:16px 16px 24px}.day-hero{padding-top:6px}.day-lede{font-size:15px}.day-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.day-stat{padding:14px}.day-stat-value{font-size:28px}.day-section-hint{display:none}.brief-actions{opacity:1}.day-view .day-footer{bottom:12px;padding:7px 7px 7px 16px}.day-view.speaking .day-footer{bottom:96px}.day-footer-info{font-size:13px}.day-footer-extra{display:none}.day-cta{height:44px;padding:0 16px;font-size:14px}}@property --ai-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}:root{--ai-1: #60a5fa;--ai-2: #a78bfa;--ai-3: #f472b6;--ai-4: #38d9c0;--ai-ring: conic-gradient(from var(--ai-angle), var(--ai-1), var(--ai-2), var(--ai-3), var(--ai-4), var(--ai-1));--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.5, 0, .75, 0);--ease-spring: linear( 0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1.004 83.8%, 1 );--ease-spring-soft: linear( 0, .063 3.1%, .25 6.6%, .508 10.8%, .738 15.5%, .9 20.4%, 1.001 25.8%, 1.045 31.3%, 1.055 36.6%, 1.043 43.2%, 1.012 56.6%, .998 71.8%, 1 )}@keyframes ai-spin{to{--ai-angle: 360deg}}.assistant-fab{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:45;width:56px;height:56px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--bg-surface);box-shadow:var(--shadow-md);cursor:var(--cursor-pointer);transition:scale .2s var(--ease-out),box-shadow .2s var(--ease-out);animation:fab-in .3s var(--ease-out) backwards}.assistant-fab:focus-visible{outline:3px solid rgba(var(--primary-rgb),.5);outline-offset:3px}.fab-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.assistant-fab:hover{scale:1.05;box-shadow:var(--shadow-lg)}.assistant-fab:active{scale:.95}@keyframes fab-in{0%{opacity:0;scale:.8}}@media(max-width:720px){.assistant-fab{right:16px;bottom:calc(16px + var(--rail-width) + env(safe-area-inset-bottom,0px))}}.chat-panel{transform-origin:100% 100%;animation:chat-in .32s var(--ease-out) backwards}.chat-panel.leaving{pointer-events:none;animation:chat-out .24s var(--ease-in) forwards}@keyframes chat-in{0%{opacity:0;filter:blur(12px);scale:.96;translate:0 18px}}@keyframes chat-out{to{opacity:0;filter:blur(10px);scale:.96;translate:0 14px}}.chat-glow,.chat-glow:before,.chat-glow:after{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.chat-glow{z-index:5;opacity:0;transition:opacity .5s var(--ease-out);animation:chat-glow-flash 1.6s var(--ease-out)}.chat-glow:before,.chat-glow:after{content:"";background:var(--ai-ring);animation:ai-spin 3s linear infinite}.chat-glow:before{padding:2px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.chat-glow:after{opacity:.4;-webkit-mask:linear-gradient(90deg,#000,transparent 26px,transparent calc(100% - 26px),#000),linear-gradient(180deg,#000,transparent 26px,transparent calc(100% - 26px),#000);mask:linear-gradient(90deg,#000,transparent 26px,transparent calc(100% - 26px),#000),linear-gradient(180deg,#000,transparent 26px,transparent calc(100% - 26px),#000)}.chat-panel.thinking .chat-glow{opacity:1}@keyframes chat-glow-flash{30%{opacity:1}}.chat-avatar-aura{position:relative;display:grid;flex-shrink:0;border-radius:50%;isolation:isolate}.chat-avatar-aura:before,.chat-avatar-aura:after{content:"";position:absolute;inset:-3px;z-index:-1;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .3s var(--ease-out)}.chat-avatar-aura:before{background:var(--ai-ring);filter:blur(1px);animation:ai-spin 1.4s linear infinite}.chat-avatar-aura.thinking:before{opacity:1}.chat-avatar-aura:after{inset:0;box-shadow:0 0 color-mix(in oklab,var(--ai-2) 55%,transparent)}.chat-avatar-aura.speaking:after{opacity:1;animation:voice-ripple 1.3s var(--ease-out) infinite}@keyframes voice-ripple{to{box-shadow:0 0 0 10px transparent}}.message.fresh{animation:message-in .56s var(--ease-spring-soft) backwards}.message.fresh.user{transform-origin:100% 100%}.message.fresh.assistant{transform-origin:0 100%}@keyframes message-in{0%{opacity:0;filter:blur(6px);scale:.96;translate:0 10px}}.reveal-word{animation:word-in .46s var(--ease-out) var(--delay) backwards}@keyframes word-in{0%{opacity:0;filter:blur(5px)}}.message.fresh .message-actions,.message.fresh .message-tools{animation:word-in .5s var(--ease-out) .7s backwards}.message-bubble.typing{display:inline-flex;align-items:center;gap:8px;font-style:normal}.typing-text{color:var(--text-secondary)}.typing-dots{display:inline-flex;gap:3px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:dot-bounce 1.2s var(--ease-out) infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes dot-bounce{0%,60%,to{translate:0 0;opacity:.45}30%{translate:0 -4px;opacity:1}}.chat-empty>*{animation:message-in .6s var(--ease-spring-soft) backwards}.chat-empty>:nth-child(2){animation-delay:80ms}.chat-empty>:nth-child(3){animation-delay:.16s}@media(prefers-reduced-motion:reduce){.assistant-fab,.assistant-fab *,.board:after,.chat-panel,.chat-panel *,.chat-panel :before,.chat-panel :after{animation:none!important;transition:none!important}}.calendar-dialog h2{display:flex;align-items:center;gap:8px}.calendar-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.calendar-day{font-size:13px}.calendar-form{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-hover)}.calendar-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calendar-check{display:flex;align-items:center;gap:6px;font-size:13px}.calendar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:min(46vh,420px);overflow-y:auto}.calendar-event{display:flex;align-items:center;gap:12px;padding:9px 4px;border-top:1px solid var(--border);font-size:13px}.calendar-event:first-child{border-top:none}.calendar-when{flex:0 0 104px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.calendar-event.all-day .calendar-when{color:var(--primary);font-weight:600}.calendar-what{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;overflow-wrap:anywhere}.calendar-what .muted{font-size:12px}.calendar-actions{display:flex;gap:2px}@media(max-width:560px){.calendar-dates{grid-template-columns:1fr}.calendar-when{flex-basis:84px}}.week-view{--viz-1: #2a78d6;--viz-2: #eb6834}:root[data-theme=dark] .week-view{--viz-1: #3987e5;--viz-2: #d95926}.week-grid .viz-bars+.hint{margin:10px 0 0}.week-nav .icon-button:disabled{opacity:.35;cursor:default}.week-nav{display:flex;align-items:center;gap:8px}.week-range{min-width:150px;font-size:14px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.week-next svg{transform:rotate(180deg)}.week-page{display:flex;flex-direction:column;gap:16px;max-width:1040px;margin:0 auto;padding:8px 20px 48px}.week-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em}.week-empty{margin:0}.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}.week-grid .admin-card{margin:0;min-width:0}.stat-tile.static{cursor:default}.stat-tile.static:hover{border-color:var(--border)}.week-tickets button{padding-left:0;padding-right:0}.week-tickets button:hover,.week-tickets button:focus-visible{background:none;text-decoration:underline}.viz{margin:0}.viz-1{background:var(--viz-1)}.viz-2{background:var(--viz-2)}.viz-legend{display:flex;gap:14px;margin-bottom:8px;color:var(--text-secondary);font-size:12px}.viz-swatch{display:inline-block;width:9px;height:9px;margin-right:2px;border-radius:3px}.viz-plot{display:flex;gap:8px}.viz-axis{display:flex;flex-direction:column;justify-content:space-between;height:150px;color:var(--text-muted);font-size:11px;line-height:1;text-align:right;font-variant-numeric:tabular-nums}.viz-axis span:first-child{transform:translateY(-50%)}.viz-axis span:last-child{transform:translateY(50%)}.viz-area{position:relative;flex:1;min-width:0}.viz-grid{position:absolute;inset:0 0 auto;display:flex;flex-direction:column;justify-content:space-between;height:150px}.viz-grid span{height:1px;background:var(--border)}.viz-columns{position:relative;display:flex}.viz-group{position:relative;display:flex;flex:1;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:2px;height:150px;margin-bottom:22px;border-radius:6px;outline:none}.viz-group:hover,.viz-group:focus-visible{background:var(--bg-hover)}.viz-column{width:min(24px,36%);min-height:0;border-radius:4px 4px 0 0}.viz-day{position:absolute;top:100%;left:0;right:0;margin-top:6px;color:var(--text-muted);font-size:11px;text-align:center}.viz-tip{position:absolute;bottom:calc(100% + 6px);left:50%;z-index:3;display:none;flex-direction:column;gap:3px;width:max-content;max-width:220px;padding:8px 10px;border-radius:10px;background:var(--bg-surface);box-shadow:var(--shadow-raised);color:var(--text-primary);font-size:12px;transform:translate(-50%);pointer-events:none}.viz-group:first-child .viz-tip{left:0;transform:none}.viz-group:last-child .viz-tip{left:auto;right:0;transform:none}.viz-group:hover .viz-tip,.viz-group:focus-visible .viz-tip{display:flex}.viz-table{margin-top:6px;color:var(--text-secondary);font-size:12px}.viz-table summary{width:max-content;cursor:var(--cursor-pointer)}.viz-table table{width:100%;margin-top:6px;border-collapse:collapse;font-variant-numeric:tabular-nums}.viz-table th,.viz-table td{padding:4px 6px;border-top:1px solid var(--border);font-weight:400;text-align:right}.viz-table th:first-child{text-align:left}.viz-bars{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;font-size:13px}.viz-bars li{display:grid;grid-template-columns:minmax(70px,26%) 1fr max-content;align-items:center;gap:10px}.viz-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-bar-track{min-width:0}.viz-bar{display:block;height:14px;min-width:2px;border-radius:0 4px 4px 0}.viz-bar-value{color:var(--text-secondary);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.quick-link-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.quick-link-form label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:600}.quick-link-form .wide{grid-column:1 / -1}.quick-link-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.quick-link-file{overflow:hidden;max-width:180px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.quick-link-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.quick-link-image{flex-shrink:0;display:block;width:64px;height:40px;border-radius:var(--radius-xs);object-fit:cover;background:var(--fill)}.quick-link-image.placeholder{display:grid;place-items:center;color:var(--text-muted)}.quick-link-text{display:flex;flex-direction:column;gap:1px;min-width:0}.quick-link-text strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.quick-link-main:hover strong{color:var(--primary)}.quick-link-description{color:var(--text-secondary);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.quick-link-host{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-link-actions{flex-shrink:0;display:flex;gap:2px}.quick-link-actions .task-action:disabled{cursor:default}.quick-link:hover .quick-link-actions .task-action:disabled,.quick-link:focus-within .quick-link-actions .task-action:disabled{opacity:.3}@media(max-width:720px){.quick-link-form{grid-template-columns:1fr}}.list-grip{display:grid;flex-shrink:0;place-items:center;width:22px;height:30px;margin:0 -6px 0 -4px;padding:0;border:0;border-radius:6px;background:none;color:var(--text-muted);cursor:grab;touch-action:none}.list-grip:hover,.list-grip:focus-visible{background:var(--bg-hover);color:var(--text-primary)}.list-items li.dragging{position:relative;z-index:1;border-top-color:transparent;background:var(--bg-surface);box-shadow:var(--shadow-md)}.list-items li.dragging .list-grip{cursor:grabbing}.list-items input[type=checkbox]{appearance:none;flex-shrink:0;width:22px;height:22px;margin:0;padding:0;border:1.5px solid var(--border-strong);border-radius:50%;background:transparent center / 12px no-repeat;cursor:var(--cursor-pointer);transition:background-color .12s ease,border-color .12s ease}.list-items input[type=checkbox]:checked{border-color:var(--primary);background-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}.list-items input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px rgba(var(--primary-rgb),.35)}.list-items input[type=checkbox]:disabled{cursor:default;opacity:.6}.list-item-title,.list-items form{flex:1;min-width:0}.list-item-title{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.list-items form input{width:100%}.list-items li.done .list-item-title{color:var(--text-muted);text-decoration:line-through}@media(pointer:coarse){.task-action,.icon-button.small,.column-menu-button,.column-collapse-button{position:relative}.task-action:after,.icon-button.small:after,.column-menu-button:after,.column-collapse-button:after{content:"";position:absolute;inset:-6px}.context-menu-item{min-height:44px}.list-items input[type=checkbox],.subtask-item input[type=checkbox]{width:22px;height:22px}}@media(pointer:coarse)and (min-width:721px){.app-main .board-area{scroll-snap-type:x proximity;scroll-padding-left:18px}.board-column{scroll-snap-align:start}}
