@import"https://fonts.googleapis.com/css2?family=Geologica:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root,:root[data-theme=light]{--bg: #faf9f5;--surface: #ffffff;--surface-2: #f4f3ed;--surface-3: #ecebe4;--surface-hover: #efeee7;--surface-active: #e7e6df;--border: #e7e5dc;--border-strong: #d6d4c8;--border-focus: #e5533a;--text: #1d1d1a;--text-muted: #6c6b62;--text-subtle: #9a988d;--text-on-accent: #ffffff;--accent: #e5533a;--accent-hover: #d04429;--accent-active: #b53b22;--accent-soft: #fceae6;--accent-soft-hover: #fadbd3;--accent-ring: rgba(229, 83, 58, .32);--success: #2ea043;--success-soft: #e3f5e8;--warning: #cf8a04;--warning-soft: #fbf1d3;--danger: #d04429;--danger-soft: #fbe6df;--info: #2563eb;--info-soft: #e1ebfd;--priority-low: #5b8def;--priority-normal: #94a3b8;--priority-high: #ed7c1c;--priority-urgent: #d04429;--shadow-1: 0 1px 2px rgba(20, 19, 14, .05);--shadow-2: 0 4px 14px rgba(20, 19, 14, .06), 0 1px 3px rgba(20, 19, 14, .04);--shadow-3: 0 24px 48px -16px rgba(20, 19, 14, .18), 0 6px 16px rgba(20, 19, 14, .08);--shadow-pop: 0 14px 32px -10px rgba(20, 19, 14, .25);--shadow-inset: inset 0 0 0 1px rgba(20, 19, 14, .04);--focus-ring: 0 0 0 3px var(--accent-ring)}:root[data-theme=dark]{--bg: #0f0f0e;--surface: #181818;--surface-2: #202021;--surface-3: #28282a;--surface-hover: #242425;--surface-active: #2c2c2e;--border: #2a2a2c;--border-strong: #3a3a3d;--border-focus: #e5533a;--text: #ececea;--text-muted: #a8a79f;--text-subtle: #6c6b63;--text-on-accent: #ffffff;--accent: #e5533a;--accent-hover: #ff6647;--accent-active: #ff7a5f;--accent-soft: rgba(229, 83, 58, .14);--accent-soft-hover: rgba(229, 83, 58, .22);--accent-ring: rgba(229, 83, 58, .42);--success: #4ade80;--success-soft: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .14);--danger: #ff6b50;--danger-soft: rgba(255, 107, 80, .14);--info: #60a5fa;--info-soft: rgba(96, 165, 250, .14);--priority-low: #7aa3ff;--priority-normal: #94a3b8;--priority-high: #f6a554;--priority-urgent: #ff6b50;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 6px 18px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-3: 0 30px 60px -16px rgba(0, 0, 0, .55), 0 8px 22px rgba(0, 0, 0, .4);--shadow-pop: 0 18px 36px -12px rgba(0, 0, 0, .6);--shadow-inset: inset 0 0 0 1px rgba(255, 255, 255, .04);--focus-ring: 0 0 0 3px var(--accent-ring)}@media(prefers-color-scheme:dark){:root[data-theme=auto]{--bg: #0f0f0e;--surface: #181818;--surface-2: #202021;--surface-3: #28282a;--surface-hover: #242425;--surface-active: #2c2c2e;--border: #2a2a2c;--border-strong: #3a3a3d;--text: #ececea;--text-muted: #a8a79f;--text-subtle: #6c6b63;--accent-soft: rgba(229, 83, 58, .14);--accent-soft-hover: rgba(229, 83, 58, .22);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 6px 18px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-3: 0 30px 60px -16px rgba(0, 0, 0, .55), 0 8px 22px rgba(0, 0, 0, .4)}}:root{--font-sans: "Geologica", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Geologica", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--fz-xs: .6875rem;--fz-sm: .8125rem;--fz-base: .9375rem;--fz-md: 1rem;--fz-lg: 1.125rem;--fz-xl: 1.375rem;--fz-2xl: 1.75rem;--fz-3xl: 2.25rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-7: 2rem;--s-8: 3rem;--s-9: 4rem;--r-1: 6px;--r-2: 10px;--r-3: 14px;--r-4: 18px;--r-pill: 999px;--dur-fast: .12s;--dur: .18s;--dur-slow: .28s;--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--z-sidebar: 30;--z-header: 40;--z-floating: 60;--z-toast: 70;--z-modal: 80;--z-tooltip: 90;--z-portal: 200;--content-max: 1280px;--sidebar-w: 256px;--sidebar-w-compact: 76px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100%;font-family:var(--font-sans);font-size:var(--fz-base);line-height:1.5;background:var(--bg);color:var(--text);overscroll-behavior-y:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer;color:inherit}a{color:var(--accent);text-decoration:none;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--accent-hover)}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:var(--fw-semibold);color:var(--text);letter-spacing:-.01em}h1{font-size:var(--fz-2xl);line-height:1.2;letter-spacing:-.02em}h2{font-size:var(--fz-xl);line-height:1.25}h3{font-size:var(--fz-lg);line-height:1.3}h4{font-size:var(--fz-md);line-height:1.4}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--accent-soft-hover);color:var(--text)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-1)}*{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:var(--r-pill);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--text-subtle);background-clip:content-box}.theme-transition,.theme-transition *{transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)!important}[x-cloak]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.text-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--fz-xs)}.text-sm{font-size:var(--fz-sm)}.text-md{font-size:var(--fz-md)}.text-lg{font-size:var(--fz-lg)}.font-medium{font-weight:var(--fw-medium)}.font-semibold{font-weight:var(--fw-semibold)}.hstack{display:flex;align-items:center;gap:var(--s-3)}.vstack{display:flex;flex-direction:column;gap:var(--s-3)}.flex-1{flex:1 1 auto;min-width:0}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}.gap-6{gap:var(--s-6)}.divider{height:1px;background:var(--border);border:0;margin:var(--s-4) 0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slide-in-right{0%{transform:translate(16px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-bottom{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.app-shell{display:flex;flex-direction:column;width:100%;height:100vh;overflow:hidden;background:var(--bg)}.app-shell__body{flex:1 1 auto;display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:1fr;min-height:0;overflow:hidden}.app-shell--compact .app-shell__body{grid-template-columns:var(--sidebar-w-compact) 1fr}.app-mobile-bar,.app-mobile-tabbar{display:none;flex-shrink:0}.sidebar{grid-row:1;grid-column:1;background:var(--surface-2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--s-4) var(--s-3);overflow:hidden;z-index:var(--z-sidebar)}.sidebar__brand{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3) var(--s-4);color:var(--text);font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fz-md);letter-spacing:-.01em}.sidebar__brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:grid;place-items:center;color:#fff;box-shadow:var(--shadow-1)}.sidebar__section{margin-top:var(--s-4)}.sidebar__section-title{font-size:var(--fz-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);padding:var(--s-2) var(--s-3);display:flex;align-items:center;justify-content:space-between}.sidebar__divider{border:0;border-top:1px solid var(--border);margin:var(--s-3) var(--s-1) var(--s-2)}.sidebar__narrow{display:flex;align-items:center;justify-content:flex-start;gap:var(--s-2);width:100%;margin-top:auto;margin-bottom:var(--s-1);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:var(--fz-xs);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.sidebar__narrow:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.sidebar__narrow svg{flex-shrink:0}.app-shell.app-shell--compact .sidebar__nav-label,.app-shell.app-shell--compact .sidebar__brand-title,.app-shell.app-shell--compact .sidebar__search-keys,.app-shell.app-shell--compact .sidebar__search-label{display:none}.app-shell.app-shell--compact .sidebar__search{justify-content:center;padding-inline:var(--s-2)}.app-shell.app-shell--compact .sidebar__section-head,.app-shell.app-shell--compact .sidebar__narrow-label{display:none}.app-shell.app-shell--compact .sidebar__narrow{justify-content:center;padding-inline:var(--s-2)}.app-shell.app-shell--compact .sidebar__link{justify-content:center}.app-shell.app-shell--compact .sidebar__project-row{grid-template-columns:1fr;justify-items:stretch}.app-shell.app-shell--compact .sidebar__project-row .sidebar__project-link.sidebar__project-link{justify-content:center;padding-inline:var(--s-2)}.app-shell.app-shell--compact .sidebar__link-text,.app-shell.app-shell--compact .sidebar__project-menu,.app-shell.app-shell--compact .sidebar__user-info{display:none}.app-shell.app-shell--compact .sidebar__user{justify-content:center}.app-shell.app-shell--compact .sidebar__user-chevron{display:none}.app-shell.app-shell--compact .sidebar__section-title{justify-content:center}.workspace__main.workspace__main--task-board{display:grid;overflow:hidden;align-items:stretch;min-height:0;grid-template-columns:minmax(0,1fr) var(--task-rail-width, 0px);column-gap:var(--task-board-gap, 0px);transition:grid-template-columns var(--dur-slow) var(--ease-out),column-gap var(--dur-slow) var(--ease-out)}body.is-resizing-split .workspace__main.workspace__main--task-board{transition:none}.sidebar__nav{display:flex;flex-direction:column;gap:2px;padding:var(--s-1) 0;overflow-y:auto;flex:1 1 auto;min-height:0}.sidebar__search{display:flex;align-items:center;gap:var(--s-2);margin:var(--s-2) 0 var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fz-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.sidebar__search:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.sidebar__search-keys{margin-left:auto;display:inline-flex;gap:2px}.sidebar__link{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);color:var(--text-muted);font-size:var(--fz-sm);font-weight:var(--fw-medium);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);cursor:pointer;text-align:left}.sidebar__link svg{color:var(--text-subtle)}.sidebar__link:hover{background:var(--surface-hover);color:var(--text)}.sidebar__link:hover svg{color:var(--text)}.sidebar__link.is-active{background:var(--accent-soft);color:var(--accent)}.sidebar__link.is-active svg{color:var(--accent)}.sidebar__project-link.is-active .sidebar__project-leading svg{color:inherit}.sidebar__link-count{margin-left:auto;font-size:var(--fz-xs);color:var(--text-subtle);background:var(--surface-3);padding:1px 6px;border-radius:var(--r-pill);min-width:20px;text-align:center}.sidebar__link.is-active .sidebar__link-count{background:#fff6;color:var(--accent)}.sidebar__footer{padding:var(--s-2);margin-top:auto;border-top:1px solid var(--border);padding-top:var(--s-3)}.sidebar__user{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-2);width:100%;transition:background var(--dur-fast) var(--ease)}.sidebar__user:hover{background:var(--surface-hover)}.sidebar__user-info{min-width:0;flex:1 1 auto;text-align:left}.sidebar__user-name{color:var(--text);font-weight:var(--fw-medium);font-size:var(--fz-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__user-email{color:var(--text-subtle);font-size:var(--fz-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__project-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1.5px var(--surface-2)}.sidebar__section-actions{display:inline-flex;align-items:center;gap:2px}.sidebar__project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-radius:var(--r-1)}.sidebar__project-row:hover{background:var(--surface-hover)}.sidebar__project-link{min-width:0}.sidebar__project-link .sidebar__project-leading{flex-shrink:0}.sidebar__project-link .sidebar__project-leading svg{color:inherit}.sidebar__project-menu{margin-right:var(--s-1)}.sidebar__muted{font-size:var(--fz-sm);color:var(--text-subtle);padding:var(--s-2) var(--s-4) var(--s-1)}.project-crud-row{align-items:center;padding:var(--s-2) var(--s-3);border-radius:var(--r-1)}.project-crud-row:hover{background:var(--surface-hover)}.workspace{grid-row:1;grid-column:2;display:grid;grid-template-rows:auto 1fr;overflow:hidden;min-width:0;min-height:0}.workspace__header{height:64px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-6);z-index:var(--z-header)}.workspace__title{font-size:var(--fz-lg);font-weight:var(--fw-semibold);color:var(--text);margin-right:auto;display:flex;align-items:center;gap:var(--s-2)}.workspace__title-meta{font-size:var(--fz-sm);color:var(--text-subtle);font-weight:var(--fw-regular)}.workspace__main{overflow-y:auto;padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-5);min-height:0}.workspace__main--narrow{max-width:880px;margin:0 auto;width:100%}.workspace__main--full{padding:0;gap:0}.ws{display:grid;grid-template-rows:auto 1fr;height:100%;min-height:0;overflow:hidden}.ws__header{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5) var(--s-7) var(--s-3);border-bottom:1px solid var(--border);flex-wrap:wrap}.ws__head-left{display:flex;align-items:baseline;gap:var(--s-3);flex:1 1 auto;min-width:0}.ws__head-right{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.ws__title{font-size:var(--fz-xl);font-weight:var(--fw-semibold);color:var(--text);margin:0;line-height:1.2}.ws__subtitle{font-size:var(--fz-sm);color:var(--text-subtle)}.ws__body{overflow-y:auto;padding:var(--s-5) var(--s-7);min-height:0}.ws--full .ws__body{padding:var(--s-5) var(--s-7) var(--s-7)}.ws--narrow .ws__body{max-width:880px;margin:0 auto;width:100%}@media(max-width:720px){.ws__header{padding:var(--s-4) var(--s-4) var(--s-3)}.ws__body,.ws--full .ws__body{padding:var(--s-4)}}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr;place-items:center;background:radial-gradient(circle at 15% 0%,var(--accent-soft),transparent 60%),radial-gradient(circle at 85% 100%,var(--accent-soft),transparent 60%),var(--bg);padding:var(--s-6)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-2);width:100%;max-width:420px;padding:var(--s-7) var(--s-6) var(--s-6);animation:pop-in var(--dur-slow) var(--ease-out) both}.auth-card__brand{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-5);color:var(--text);font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fz-md)}.auth-card__brand-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:grid;place-items:center;color:#fff;box-shadow:var(--shadow-1)}.auth-card h1{margin:0 0 var(--s-1);font-size:var(--fz-xl)}.auth-card__lead{color:var(--text-muted);font-size:var(--fz-sm);margin-bottom:var(--s-5)}.auth-card__alert{margin-bottom:var(--s-4);padding:var(--s-2) var(--s-3);border-radius:var(--r-2);font-size:var(--fz-sm);background:#dc35451a;color:#c12a37}.auth-card__oauth-block{margin-top:var(--s-5)}.auth-card__oauth-divider{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);color:var(--text-muted);font-size:var(--fz-sm)}.auth-card__oauth-divider:before,.auth-card__oauth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.btn-vk{display:flex;align-items:center;justify-content:center;gap:var(--s-2);width:100%;padding:var(--s-3) var(--s-4);margin-bottom:0;border-radius:var(--r-2);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fz-sm);font-weight:var(--fw-semibold);text-decoration:none;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn-vk:hover{background:var(--bg-soft);border-color:#0077ff61}.btn-vk:focus-visible{outline:2px solid rgb(0 119 255 / .55);outline-offset:2px}.btn-vk__glyph{width:22px;height:22px;border-radius:4px;background:#07f;opacity:.95;flex-shrink:0}.auth-card__oauth-hint{margin-top:var(--s-2)}.auth-card__muted{font-size:var(--fz-sm);color:var(--text-muted);margin:0;line-height:1.4}.auth-card__form{display:flex;flex-direction:column;gap:var(--s-3)}.auth-card__footer{text-align:center;margin-top:var(--s-5);color:var(--text-muted);font-size:var(--fz-sm)}@media(max-width:920px){.app-mobile-bar{display:flex;align-items:center;justify-content:flex-start;gap:var(--s-3);height:52px;padding:0 var(--s-4);padding-left:max(var(--s-4),env(safe-area-inset-left,0px));padding-right:max(var(--s-4),env(safe-area-inset-right,0px));padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--border);background:var(--surface-2);z-index:calc(var(--z-sidebar) + 5)}.app-mobile-bar__brand{display:flex;align-items:center;justify-content:center;padding:var(--s-1);margin:calc(-1 * var(--s-1));border-radius:var(--r-2);color:inherit}.app-mobile-bar__brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-mobile-tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:calc(52px + env(safe-area-inset-bottom,0px));padding:var(--s-2) max(var(--s-1),env(safe-area-inset-left,0px)) calc(var(--s-2) + env(safe-area-inset-bottom,0px)) max(var(--s-1),env(safe-area-inset-right,0px));border-top:1px solid var(--border);background:color-mix(in oklab,var(--surface-2) 92%,var(--bg));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:calc(var(--z-sidebar) + 6)}.app-mobile-tabbar__tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:48px;padding:var(--s-1);border:0;border-radius:var(--r-2);background:transparent;color:var(--text-muted);font-size:.625rem;font-weight:var(--fw-medium);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent}.app-mobile-tabbar__tab:hover{background:var(--surface-hover)}.app-mobile-tabbar__tab.is-active,.app-mobile-tabbar__tab.is-active .app-mobile-tabbar__icon{color:var(--accent)}.app-mobile-tabbar__tab.is-active-soft:not(.is-active){color:var(--text)}.app-mobile-tabbar__icon{display:grid;place-items:center;color:var(--text-subtle)}.app-mobile-tabbar__label{line-height:1.1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.sidebar__nav-block--tabs-on-mobile{display:none}.sidebar__narrow--desktop-only{display:none!important}.app-shell__body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(300px,calc(100vw - 48px));max-width:320px;z-index:calc(var(--z-sidebar) + 15);grid-column:auto;grid-row:auto;transform:translate(-100%);transition:transform var(--dur-slow) var(--ease-out);flex-direction:column;box-shadow:none;overflow:hidden;padding-top:max(var(--s-4),env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.app-shell--mobile-drawer-open .sidebar{transform:translate(0);box-shadow:var(--shadow-2)}.app-drawer-scrim{display:block;position:fixed;inset:0;z-index:calc(var(--z-sidebar) + 8);background:color-mix(in oklab,black 42%,transparent);cursor:pointer}body:has(.app-shell--mobile-drawer-open){overflow:hidden;touch-action:none}.workspace{grid-column:1;grid-row:1}.workspace__main{padding:var(--s-4)}}@media(min-width:921px){.app-drawer-scrim[x-cloak],.app-drawer-scrim{display:none!important}}.btn{--btn-bg: var(--surface);--btn-text: var(--text);--btn-border: var(--border-strong);--btn-bg-hover: var(--surface-hover);--btn-shadow: none;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:36px;padding:0 var(--s-4);border-radius:var(--r-1);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);box-shadow:var(--btn-shadow);font-size:var(--fz-sm);font-weight:var(--fw-medium);line-height:1;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--btn-bg-hover)}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--focus-ring)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;pointer-events:none}.btn svg{color:currentColor}.btn--primary{--btn-bg: var(--accent);--btn-text: var(--text-on-accent);--btn-border: transparent;--btn-bg-hover: var(--accent-hover);--btn-shadow: 0 1px 0 rgba(20, 19, 14, .06), 0 6px 14px -4px var(--accent-ring);font-weight:var(--fw-semibold)}.btn--primary:active{background:var(--accent-active)}.btn--ghost{--btn-bg: transparent;--btn-border: transparent;--btn-bg-hover: var(--surface-hover);color:var(--text-muted)}.btn--ghost:hover{color:var(--text)}.btn--soft{--btn-bg: var(--accent-soft);--btn-text: var(--accent);--btn-border: transparent;--btn-bg-hover: var(--accent-soft-hover)}.btn--danger{--btn-bg: var(--surface);--btn-text: var(--danger);--btn-border: var(--border);--btn-bg-hover: var(--danger-soft)}.btn--danger-solid{--btn-bg: var(--danger);--btn-text: #fff;--btn-border: transparent;--btn-bg-hover: color-mix(in oklab, var(--danger) 85%, black)}.btn--sm{height:30px;padding:0 var(--s-3);font-size:var(--fz-xs);border-radius:var(--r-1)}.btn--lg{height:44px;padding:0 var(--s-5);font-size:var(--fz-md)}.btn--icon{width:36px;height:36px;padding:0}.btn--icon.btn--sm{width:30px;height:30px}.btn--icon.btn--lg{width:44px;height:44px}.btn--block{width:100%}.btn[data-loading=true]{pointer-events:none;opacity:.85}.btn[data-loading=true]:after{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;margin-left:var(--s-2)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-1);padding:3px;gap:2px}.seg__btn{background:transparent;border:0;color:var(--text-muted);font-size:var(--fz-sm);font-weight:var(--fw-medium);padding:6px var(--s-3);border-radius:calc(var(--r-1) - 2px);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);line-height:1}.seg__btn:hover{color:var(--text)}.seg__btn.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field__label{font-size:var(--fz-xs);color:var(--text-muted);font-weight:var(--fw-medium);letter-spacing:.02em}.field__hint{font-size:var(--fz-xs);color:var(--text-subtle)}.field__error{font-size:var(--fz-xs);color:var(--danger)}.input,.textarea,.select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-1);padding:var(--s-2) var(--s-3);font-size:var(--fz-sm);line-height:1.45;width:100%;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.input:hover,.textarea:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input--lg{padding:var(--s-3) var(--s-4);font-size:var(--fz-md)}.textarea{resize:vertical;min-height:90px}.input-group{display:flex;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-1);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.input-group:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.input-group .input{border:0;box-shadow:none}.input-group__addon{display:flex;align-items:center;padding:0 var(--s-3);color:var(--text-subtle)}.select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg viewBox='0 0 20 20' fill='none' stroke='currentColor' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5 8l5 5 5-5'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--s-3) center;background-size:16px 16px;padding-right:var(--s-7)}.input[type=datetime-local],.input[type=date],.input[type=time]{color-scheme:light dark}[data-theme=dark] .input[type=datetime-local]::-webkit-calendar-picker-indicator,[data-theme=dark] .input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] .input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.85);opacity:.6;cursor:pointer}[data-theme=dark] .input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,[data-theme=dark] .input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=text]:not([class]),input[type=email]:not([class]),input[type=password]:not([class]),input[type=url]:not([class]),input[type=number]:not([class]),input[type=datetime-local]:not([class]),input[type=date]:not([class]),input[type=time]:not([class]),input[type=search]:not([class]),textarea:not([class]),select:not([class]){background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-1);padding:var(--s-2) var(--s-3);font-size:var(--fz-sm);font-family:inherit;line-height:1.45;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}input:not([class]):focus,textarea:not([class]):focus,select:not([class]):focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}input[type=file].input,input[type=file]:not([class]){padding:0;background:transparent;border:1px dashed var(--border-strong);border-radius:var(--r-1);color:var(--text-muted);font-size:var(--fz-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}input[type=file].input:hover,input[type=file]:not([class]):hover{border-color:var(--accent);background:var(--accent-soft)}input[type=file]::file-selector-button{background:var(--surface-2);color:var(--text);border:0;border-right:1px solid var(--border);padding:var(--s-2) var(--s-4);font-size:var(--fz-sm);font-weight:var(--fw-medium);font-family:inherit;cursor:pointer;margin-right:var(--s-3);border-radius:var(--r-1) 0 0 var(--r-1);transition:background var(--dur-fast) var(--ease)}input[type=file]::file-selector-button:hover{background:var(--surface-hover);color:var(--accent)}button:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:2px solid var(--accent-ring, color-mix(in oklab, var(--accent) 40%, transparent));outline-offset:2px;border-radius:var(--r-1)}.check{--check-size: 18px;display:inline-flex;align-items:center;gap:var(--s-2);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);font-size:var(--fz-sm);line-height:1.4}.check input{position:absolute;opacity:0;pointer-events:none}.check__box{width:var(--check-size);height:var(--check-size);border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);flex-shrink:0}.check:hover .check__box{border-color:var(--accent)}.check__box svg{width:12px;height:12px;color:#fff;transform:scale(0);transition:transform var(--dur) var(--ease-out)}.check input:checked+.check__box{background:var(--accent);border-color:var(--accent)}.check input:checked+.check__box svg{transform:scale(1)}.check input:focus-visible+.check__box{box-shadow:var(--focus-ring)}.check--round{--check-size: 22px}.check--round .check__box{border-radius:50%;border-width:2px}.check--round .check__box svg{width:14px;height:14px}.check--lg{--check-size: 22px}.switch{display:inline-flex;align-items:center;gap:var(--s-3);cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch__track{width:36px;height:20px;border-radius:var(--r-pill);background:var(--surface-3);position:relative;transition:background var(--dur) var(--ease);flex-shrink:0}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--surface);border-radius:50%;box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease-out),background var(--dur) var(--ease)}.switch input:checked+.switch__track{background:var(--accent)}.switch input:checked+.switch__track:after{transform:translate(16px);background:#fff}.switch input:focus-visible+.switch__track{box-shadow:var(--focus-ring)}.tabs{display:inline-flex;align-items:center;gap:var(--s-1);padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-1)}.tabs__tab{padding:var(--s-1) var(--s-3);font-size:var(--fz-sm);font-weight:var(--fw-medium);color:var(--text-muted);border-radius:var(--r-1);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);border:0;background:transparent}.tabs__tab:hover{color:var(--text)}.tabs__tab.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.dropdown{position:relative;display:inline-block}.dropdown__menu{position:absolute;z-index:var(--z-floating);top:calc(100% + 6px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);box-shadow:var(--shadow-3);padding:var(--s-1);animation:pop-in var(--dur-fast) var(--ease-out) both}.dropdown__menu--left{left:0;right:auto}.dropdown__menu--up{top:auto;bottom:calc(100% + 6px);transform-origin:bottom right}.dropdown__item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);font-size:var(--fz-sm);color:var(--text);cursor:pointer;width:100%;text-align:left;background:transparent;border:0;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.dropdown__item:hover{background:var(--surface-hover)}.dropdown__menu--portal{position:fixed!important;top:0;left:0;margin:0;animation:none;right:auto!important;bottom:auto;width:max-content;max-width:calc(100vw - 16px);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);box-shadow:var(--shadow-3);padding:var(--s-1)}.menu-select{display:block;width:100%}.menu-select__trigger.menu-select__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);text-align:left;cursor:pointer}.menu-select__value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-select__chev{flex-shrink:0;opacity:.75}.dropdown__item.is-selected{background:var(--accent-soft);color:var(--accent)}.dropdown__item:hover svg{color:var(--text)}.dropdown__item--danger{color:var(--danger)}.dropdown__item--danger:hover{background:var(--danger-soft)}.dropdown__item--danger svg{color:var(--danger)}.dropdown__separator{height:1px;background:var(--border);margin:var(--s-1) 0}.dropdown__label{padding:var(--s-2) var(--s-3) var(--s-1);font-size:var(--fz-xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em}.modal-backdrop{position:fixed;inset:0;background:#14130e6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:var(--z-modal);padding:var(--s-4);animation:fade-in var(--dur) var(--ease) both}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-3);width:100%;max-width:540px;max-height:calc(100vh - var(--s-7));display:flex;flex-direction:column;animation:pop-in var(--dur-slow) var(--ease-out) both}.modal--lg{max-width:720px}.modal--xl{max-width:920px}.modal__header{padding:var(--s-5) var(--s-6) var(--s-3);display:flex;align-items:flex-start;gap:var(--s-3)}.modal__title{font-size:var(--fz-lg);font-weight:var(--fw-semibold);color:var(--text);margin:0;flex:1 1 auto}.modal__subtitle{color:var(--text-muted);font-size:var(--fz-sm);margin-top:var(--s-1)}.modal__body{padding:var(--s-3) var(--s-6);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-4)}.modal__footer{padding:var(--s-4) var(--s-6) var(--s-5);display:flex;justify-content:flex-end;gap:var(--s-2);border-top:1px solid var(--border)}.toast-region{position:fixed;right:var(--s-4);bottom:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);z-index:var(--z-toast);max-width:360px;width:calc(100% - var(--s-7));pointer-events:none}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);box-shadow:var(--shadow-3);padding:var(--s-3) var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3);animation:slide-in-bottom var(--dur-slow) var(--ease-out) both}.toast__icon{width:20px;height:20px;color:var(--text-muted);flex-shrink:0;margin-top:1px}.toast--success .toast__icon{color:var(--success)}.toast--danger .toast__icon{color:var(--danger)}.toast--warning .toast__icon{color:var(--warning)}.toast__body{flex:1 1 auto;min-width:0}.toast__title{font-size:var(--fz-sm);font-weight:var(--fw-medium);color:var(--text)}.toast__message{font-size:var(--fz-xs);color:var(--text-muted);margin-top:2px}.toast__action{color:var(--accent);font-weight:var(--fw-medium);font-size:var(--fz-sm);background:transparent;border:0;cursor:pointer}.toast__close{width:24px;height:24px;border-radius:var(--r-1);color:var(--text-subtle);transition:background var(--dur-fast) var(--ease);display:grid;place-items:center}.toast__close:hover{background:var(--surface-hover);color:var(--text)}.badge{display:inline-flex;align-items:center;gap:var(--s-1);padding:1px var(--s-2);border-radius:var(--r-pill);font-size:var(--fz-xs);font-weight:var(--fw-medium);color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);line-height:1.5}.badge--accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.badge--success{color:var(--success);background:var(--success-soft);border-color:transparent}.badge--warning{color:var(--warning);background:var(--warning-soft);border-color:transparent}.badge--danger{color:var(--danger);background:var(--danger-soft);border-color:transparent}.badge--dot{padding-left:var(--s-1)}.badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:2px;display:inline-block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);padding:var(--s-5);box-shadow:var(--shadow-1)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-1);overflow:hidden}.avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-3);color:var(--text);display:grid;place-items:center;font-weight:var(--fw-semibold);font-size:var(--fz-xs);overflow:hidden;flex-shrink:0;border:1px solid var(--border)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--sm{width:24px;height:24px;font-size:10px}.avatar--lg{width:56px;height:56px;font-size:var(--fz-md)}.tooltip-host{position:relative;display:inline-flex}.tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:4px var(--s-2);border-radius:var(--r-1);font-size:var(--fz-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease);z-index:var(--z-tooltip)}.tooltip-host:hover .tooltip,.tooltip-host:focus-within .tooltip{opacity:1}.task-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden}.task-list__empty{padding:var(--s-8) var(--s-6);text-align:center;color:var(--text-muted)}.task-list__empty-illustration{margin:0 auto var(--s-4);width:56px;height:56px;border-radius:var(--r-3);background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.task-row{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);background:var(--surface);transition:background var(--dur-fast) var(--ease);cursor:pointer;position:relative}.task-row:last-child{border-bottom:0}.task-row:hover{background:var(--surface-hover)}.task-row.is-active{background:color-mix(in oklab,var(--accent-soft) 70%,var(--surface))}.task-row__priority{position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:transparent}.task-row[data-priority=low] .task-row__priority{background:var(--priority-low)}.task-row[data-priority=normal] .task-row__priority{background:transparent}.task-row[data-priority=high] .task-row__priority{background:var(--priority-high)}.task-row[data-priority=urgent] .task-row__priority{background:var(--priority-urgent)}.task-row__check{margin-top:1px;flex-shrink:0}.task-row__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.task-row__title{color:var(--text);font-size:var(--fz-sm);font-weight:var(--fw-medium);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.task-row.is-completed .task-row__title{color:var(--text-subtle);text-decoration:line-through}.task-row__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);font-size:var(--fz-xs);color:var(--text-muted)}.task-row__meta svg{width:13px;height:13px;color:var(--text-subtle)}.task-row__due{display:inline-flex;align-items:center;gap:var(--s-1)}.task-row__due--overdue{color:var(--danger)}.task-row__due--today{color:var(--accent);font-weight:var(--fw-medium)}.task-row__due--soon{color:var(--warning)}.task-row__actions{display:flex;align-items:center;gap:var(--s-1);margin-left:var(--s-2);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.task-row:hover .task-row__actions,.task-row.is-active .task-row__actions{opacity:1}.task-list__header{padding:var(--s-3) var(--s-4);display:flex;align-items:center;gap:var(--s-2);border-bottom:1px solid var(--border);background:var(--surface-2)}.task-quick{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-2);border:1px dashed var(--border-strong);color:var(--text-subtle);font-size:var(--fz-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);background:transparent;width:100%;text-align:left}.task-quick:hover{border-color:var(--accent);color:var(--accent)}.task-quick--editing{border-style:solid;border-color:var(--accent);background:var(--surface);cursor:text;flex-direction:column;align-items:stretch;gap:var(--s-2);padding:var(--s-3)}.task-quick__title-input{width:100%;border:0;background:transparent;color:var(--text);font-size:var(--fz-md);font-weight:var(--fw-medium);outline:none}.task-quick__title-input::placeholder{color:var(--text-subtle)}.task-quick__row{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.task-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-2);display:flex;flex-direction:column;height:100%;overflow:hidden}.task-detail__header{padding:var(--s-5) var(--s-6) var(--s-3);display:flex;align-items:flex-start;gap:var(--s-3);border-bottom:1px solid var(--border)}.task-detail__title-input{flex:1 1 auto;background:transparent;border:0;color:var(--text);font-family:inherit;font-size:var(--fz-xl);font-weight:var(--fw-semibold);line-height:1.3;outline:none;padding:0;min-width:0;height:32px}.task-detail__title-input::placeholder{color:var(--text-subtle)}.task-detail__title-input:focus{outline:none;box-shadow:none}.task-detail__title-input.is-completed{color:var(--text-subtle);text-decoration:line-through}.task-detail__body{padding:var(--s-5) var(--s-6);display:flex;flex-direction:column;gap:var(--s-5);overflow-y:auto}.task-detail__section-title{font-size:var(--fz-xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s-2);display:flex;align-items:center;gap:var(--s-2)}.task-detail__meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s-3)}.meta-row{display:flex;align-items:center;gap:var(--s-3);color:var(--text-muted);font-size:var(--fz-sm);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);background:var(--surface-2)}.meta-row svg{color:var(--text-subtle)}.meta-row .meta-menu-trigger{border:0!important;background:transparent!important;box-shadow:none!important;padding-right:var(--s-7)!important;min-height:0!important;height:auto!important}.meta-row .meta-menu-trigger:hover{border:0!important;box-shadow:none!important}.meta-row .menu-select .menu-select__chev{opacity:.6}.checklist{display:flex;flex-direction:column;gap:var(--s-1)}.checklist__item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-1);transition:background var(--dur-fast) var(--ease)}.checklist__item:hover{background:var(--surface-hover)}.checklist__item.is-done .checklist__label{color:var(--text-subtle);text-decoration:line-through}.checklist__label{flex:1 1 auto;color:var(--text);font-size:var(--fz-sm);background:transparent;border:0;outline:none;padding:2px 0}.checklist__delete{opacity:0;transition:opacity var(--dur-fast) var(--ease)}.checklist__item:hover .checklist__delete{opacity:1}.checklist__add{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-1);color:var(--text-muted);cursor:text}.attachments{display:flex;flex-direction:column;gap:var(--s-2)}.attachment{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);transition:border-color var(--dur-fast) var(--ease)}.attachment:hover{border-color:var(--border-strong)}.attachment__icon{width:36px;height:36px;border-radius:var(--r-1);background:var(--surface-2);color:var(--text-muted);display:grid;place-items:center;flex-shrink:0}.attachment__icon img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-1)}.attachment__body{flex:1 1 auto;min-width:0}.attachment__name{color:var(--text);font-size:var(--fz-sm);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment__meta{color:var(--text-subtle);font-size:var(--fz-xs)}.attachment__delete{color:var(--text-subtle);transition:color var(--dur-fast) var(--ease)}.attachment__delete:hover{color:var(--danger)}.dropzone{position:relative;display:block;padding:var(--s-5);border:1.5px dashed var(--border-strong);border-radius:var(--r-2);text-align:center;color:var(--text-muted);font-size:var(--fz-sm);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);cursor:pointer}.dropzone:hover,.dropzone.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dropzone__input{position:absolute;width:0;height:0;opacity:0;pointer-events:none;overflow:hidden}.tags-row{display:inline-flex;flex-wrap:wrap;gap:var(--s-1)}.tag-chip{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fz-xs);line-height:1.4}.tag-chip__dot{width:6px;height:6px;border-radius:50%;background:var(--text-subtle)}button.tag-chip--btn{font:inherit;cursor:pointer;appearance:none}.tag-chip--btn.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.editor{border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);display:flex;flex-direction:column}.editor:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.editor__toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:var(--s-1);border-bottom:1px solid var(--border);background:var(--surface-2)}.editor__btn{width:30px;height:30px;border-radius:var(--r-1);color:var(--text-muted);display:grid;place-items:center;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.editor__btn:hover{background:var(--surface-hover);color:var(--text)}.editor__btn.is-active{background:var(--accent-soft);color:var(--accent)}.editor__btn svg{width:16px;height:16px}.editor__divider{width:1px;align-self:stretch;background:var(--border);margin:4px}.editor__content{color:var(--text);font-size:var(--fz-sm);line-height:1.6;max-height:380px;overflow-y:auto}.editor__content .ProseMirror{padding:var(--s-3) var(--s-4);min-height:140px;outline:none}.editor__content .ProseMirror:focus{outline:none}.editor__content .ProseMirror>:first-child{margin-top:0}.editor__content .ProseMirror p{margin:0 0 var(--s-2)}.editor__content .ProseMirror h1,.editor__content .ProseMirror h2,.editor__content .ProseMirror h3{margin:var(--s-4) 0 var(--s-2)}.editor__content .ProseMirror h1{font-size:var(--fz-lg);font-weight:var(--fw-semibold)}.editor__content .ProseMirror h2{font-size:var(--fz-md);font-weight:var(--fw-semibold)}.editor__content .ProseMirror h3{font-size:var(--fz-sm);font-weight:var(--fw-semibold)}.editor__content .ProseMirror ul,.editor__content .ProseMirror ol{padding-left:var(--s-5);margin:0 0 var(--s-2)}.editor__content .ProseMirror ul{list-style:disc}.editor__content .ProseMirror ol{list-style:decimal}.editor__content .ProseMirror blockquote{border-left:3px solid var(--accent);margin:var(--s-3) 0;padding:var(--s-1) var(--s-3);color:var(--text-muted)}.editor__content .ProseMirror code{font-family:var(--font-mono);background:var(--surface-2);padding:1px 4px;border-radius:4px;font-size:.9em}.editor__content .ProseMirror pre{background:var(--surface-2);padding:var(--s-3);border-radius:var(--r-1);overflow-x:auto;margin:var(--s-3) 0}.editor__content .ProseMirror pre code{background:transparent;padding:0}.editor__content .ProseMirror a{color:var(--accent);text-decoration:underline}.editor__content .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.editor__content .ProseMirror ul[data-type=taskList] li{display:flex;gap:var(--s-2);align-items:flex-start;margin:4px 0}.editor__content .ProseMirror ul[data-type=taskList] li>label{margin-top:3px}.editor__content .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{color:var(--text-subtle);text-decoration:line-through}.editor__content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-subtle);pointer-events:none;height:0}.editor__content .ProseMirror img{max-width:100%;border-radius:var(--r-1);margin:var(--s-2) 0}.prose{color:var(--text);font-size:var(--fz-sm);line-height:1.6}.prose p{margin:0 0 var(--s-2)}.prose ul,.prose ol{padding-left:var(--s-5);margin:0 0 var(--s-2)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose a{color:var(--accent);text-decoration:underline}.prose code{font-family:var(--font-mono);background:var(--surface-2);padding:1px 4px;border-radius:4px}.task-board-page{display:grid;grid-template-rows:auto 1fr;min-height:0;height:100%;overflow:hidden}.task-board-page__label-narrow,.task-board-page__btn-completed-narrow,.task-board__scrim{display:none}.task-board__rail{display:flex;flex-direction:row;align-items:stretch;align-self:stretch;min-width:0;min-height:0;height:100%;overflow:hidden}.task-board__pane{min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--s-4)}.task-board__list-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.task-board__splitter{flex-shrink:0;width:6px;cursor:col-resize;border-radius:var(--r-1);background:transparent;position:relative;align-self:stretch}.task-board__splitter:hover,body.is-resizing-split .task-board__splitter{background:var(--accent-soft)}.task-board__splitter:after{content:"";position:absolute;left:50%;top:12%;bottom:12%;width:3px;transform:translate(-50%);border-radius:3px;background:color-mix(in oklab,var(--border-strong) 90%,transparent)}.task-board__detail{flex:1 1 auto;min-width:0;height:100%;overflow:hidden;display:flex;flex-direction:column}body.is-resizing-split{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media(max-width:720px){.task-board-page .workspace__header--task-board{height:auto;min-height:56px;padding:var(--s-3) var(--s-4);flex-wrap:wrap;align-items:flex-start;align-content:flex-start;row-gap:var(--s-2)}.task-board-page .workspace__header--task-board .workspace__title{width:100%;margin-right:0}.task-board-page__scope-meta{display:none}.task-board-page__toolbar{width:100%;flex-wrap:wrap;align-items:center}.task-board-page__search{flex:1 1 100%;min-width:0!important;max-width:none}.task-board-page__label-wide,.task-board-page__btn-completed-wide{display:none!important}.task-board-page__label-narrow{display:inline!important}.task-board-page__btn-completed-narrow{display:inline-flex!important}.workspace__main.workspace__main--task-board{display:flex;flex-direction:column;padding:var(--s-3);transition:none}.task-board__splitter{display:none}.task-board__rail:not(:empty){display:flex;position:fixed;inset:0;z-index:55;flex-direction:column;height:auto;background:transparent;pointer-events:none}.task-board__rail:not(:empty)>*{pointer-events:auto}.task-board__scrim{display:block;position:absolute;inset:0;z-index:0;border:0;padding:0;margin:0;background:color-mix(in oklab,black 46%,transparent);cursor:pointer}.task-board__detail{position:relative;z-index:1;flex:1 1 auto;min-height:0;height:100%;max-height:none;border-radius:0;margin-top:0;background:var(--bg);border:0;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);box-shadow:none;animation:task-board-sheet-in var(--dur-slow) var(--ease-out) both}@keyframes task-board-sheet-in{0%{opacity:.92;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.task-board__detail{animation:none}}.task-row .task-row__actions{opacity:1}}.task-tags-panel{border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);overflow:hidden}.task-tags-panel__search{padding:var(--s-3);border-bottom:1px solid var(--border);background:var(--surface-2)}.task-tags-panel__search .input-group{width:100%}.task-tags-panel__hint{font-size:var(--fz-xs);color:var(--text-subtle);margin-top:var(--s-1)}.task-tags-panel__list{display:flex;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-3);max-height:200px;overflow-x:hidden;overflow-y:auto;align-content:flex-start}.task-tags-panel__empty{font-size:var(--fz-sm);color:var(--text-muted);width:100%;padding:var(--s-4) var(--s-2)}.pomo{position:fixed;right:24px;bottom:24px;z-index:calc(var(--z-toast, 70) + 1);-webkit-user-select:none;user-select:none}.pomo-bubble{width:64px;height:64px;border-radius:50%;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-3);display:grid;place-items:center;cursor:pointer;position:relative;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease);animation:pop-in var(--dur-slow) var(--ease-out) both}.pomo-bubble:hover{transform:translateY(-1px);box-shadow:var(--shadow-pop)}.pomo-bubble>.pomo-live--bubble{display:contents;pointer-events:none}.pomo-bubble[data-phase=work]{--pomo-color: var(--accent)}.pomo-bubble[data-phase=short_break]{--pomo-color: var(--success)}.pomo-bubble[data-phase=long_break]{--pomo-color: var(--info)}.pomo-bubble__ring{position:absolute;inset:0;transform:rotate(-90deg);pointer-events:none}.pomo-bubble__ring-track{fill:none;stroke:var(--surface-3);stroke-width:4}.pomo-bubble__ring-progress{fill:none;stroke:var(--pomo-color, var(--accent));stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.pomo-bubble__time{font-family:var(--font-mono);font-size:13px;font-weight:var(--fw-semibold);color:var(--text);line-height:1}.pomo-bubble__phase-icon{position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:50%;background:var(--pomo-color, var(--accent));color:#fff;display:grid;place-items:center}.pomo-card{width:320px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-3);overflow:hidden;animation:pop-in var(--dur-slow) var(--ease-out) both}.pomo-card[data-phase=work]{--pomo-color: var(--accent)}.pomo-card[data-phase=short_break]{--pomo-color: var(--success)}.pomo-card[data-phase=long_break]{--pomo-color: var(--info)}.pomo-card__handle{background:linear-gradient(180deg,color-mix(in oklab,var(--pomo-color, var(--accent)) 16%,var(--surface)),var(--surface));padding:var(--s-3) var(--s-4);display:flex;align-items:center;gap:var(--s-2);cursor:default;border-bottom:1px solid var(--border)}.pomo-card__phase{font-size:var(--fz-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--pomo-color, var(--accent));display:flex;align-items:center;gap:var(--s-1);flex:1 1 auto;min-width:0}.pomo-card__actions{display:flex;align-items:center;gap:2px;margin-left:auto}.pomo-card__body{padding:var(--s-4) var(--s-4) var(--s-3);text-align:center}.pomo-card__task{color:var(--text-muted);font-size:var(--fz-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:var(--s-3)}.pomo-card__task strong{color:var(--text);font-weight:var(--fw-medium)}.pomo-clock{width:180px;height:180px;margin:0 auto var(--s-3);position:relative;display:grid;place-items:center}.pomo-clock svg{position:absolute;inset:0;transform:rotate(-90deg);width:100%;height:100%}.pomo-clock__track{fill:none;stroke:var(--surface-3);stroke-width:6}.pomo-clock__progress{fill:none;stroke:var(--pomo-color, var(--accent));stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .3s linear}.pomo-clock__time{font-family:var(--font-mono);font-size:36px;font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--text)}.pomo-clock__sub{margin-top:4px;font-size:var(--fz-xs);color:var(--text-muted)}.pomo-card__counter{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:var(--s-3)}.pomo-card__counter-dot{width:8px;height:8px;border-radius:50%;background:var(--surface-3);transition:background var(--dur) var(--ease)}.pomo-card__counter-dot.is-done{background:var(--pomo-color, var(--accent))}.pomo-card__controls{display:flex;justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid var(--border);background:var(--surface-2)}.pomo-card__big{width:56px;height:56px;border-radius:50%;background:var(--pomo-color, var(--accent));color:#fff;border:0;display:grid;place-items:center;box-shadow:var(--shadow-2);transition:transform var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease)}.pomo-card__big:hover{transform:scale(1.04)}.pomo-card__big:active{transform:scale(.96)}.pomo-card__small{width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--text-muted);border:1px solid var(--border);display:grid;place-items:center;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pomo-card__small:hover{background:var(--surface-hover);color:var(--text)}.pomo-launcher{width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-3);overflow:hidden;animation:pop-in var(--dur-slow) var(--ease-out) both}.pomo-launcher__header{padding:var(--s-4);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--s-2)}.pomo-launcher__title{font-weight:var(--fw-semibold);font-size:var(--fz-md);color:var(--text);flex:1 1 auto}.pomo-launcher__body{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4)}.pomo-launcher__plan{background:var(--accent-soft);color:var(--accent);padding:var(--s-3);border-radius:var(--r-2);display:flex;align-items:center;gap:var(--s-3);font-size:var(--fz-sm)}.pomo-launcher__plan-num{font-family:var(--font-mono);font-size:var(--fz-xl);font-weight:var(--fw-semibold);line-height:1}.pomo-launcher__steppers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-2)}.stepper{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-2);padding:var(--s-2);text-align:center;transition:border-color var(--dur-fast) var(--ease)}.stepper:hover{border-color:var(--border-strong)}.stepper__label{font-size:var(--fz-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.stepper__value{font-family:var(--font-mono);font-size:var(--fz-md);font-weight:var(--fw-semibold);margin:4px 0 6px;color:var(--text)}.stepper__controls{display:inline-flex;align-items:center;gap:var(--s-1)}.stepper__btn{width:22px;height:22px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);display:grid;place-items:center;transition:background var(--dur-fast) var(--ease)}.stepper__btn:hover{background:var(--surface-hover);color:var(--text)}.pomo-launcher__footer{padding:var(--s-3) var(--s-4);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--s-2);background:var(--surface-2)}@media(max-width:640px){.pomo{inset:auto 12px 80px auto!important}.pomo-card,.pomo-launcher{width:calc(100vw - 24px);max-width:360px}}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 0;gap:0;align-items:start;transition:grid-template-columns var(--dur) var(--ease),gap var(--dur) var(--ease)}.cal-layout--aside{grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:var(--s-5)}.cal-layout__main{min-width:0}.cal-layout__aside{min-width:0;overflow:hidden}@media(max-width:1100px){.cal-layout,.cal-layout.cal-layout--aside{grid-template-columns:1fr;gap:var(--s-4)}.cal-layout__aside{overflow:visible}}.cal__title{text-transform:capitalize;color:var(--text);font-weight:var(--fw-medium)}.cal__nav{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-1);overflow:hidden}.cal__nav button{height:32px;padding:0 var(--s-3);background:transparent;border:0;color:var(--text-muted);font-size:var(--fz-sm);transition:background var(--dur-fast) var(--ease);cursor:pointer}.cal__nav button:hover{background:var(--surface-hover);color:var(--text)}.cal__nav button+button{border-left:1px solid var(--border)}.cal-month{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden;box-shadow:var(--shadow-1)}.cal-month__weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-2);border-bottom:1px solid var(--border)}.cal-weekday{font-size:var(--fz-xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:var(--s-2) 0;font-weight:var(--fw-medium)}.cal-month__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));aspect-ratio:7 / 6;width:100%;min-height:0}.cal-day{border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface);color:var(--text);padding:var(--s-2);min-height:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:stretch;gap:var(--s-1);transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform calc(var(--dur-fast) + 40ms) var(--ease-out);position:relative;border-radius:0;overflow:hidden}.cal-day:active{transform:scale(.985)}.cal-day:hover{background:var(--surface-hover)}.cal-day:nth-child(7n+1){border-left:0}.cal-day:nth-child(-n+7){border-top:0}.cal-day.is-other-month{background:var(--surface-2);color:var(--text-subtle)}.cal-day.is-selected{background:color-mix(in oklab,var(--accent) 12%,var(--surface))}.cal-day.is-selected:hover{background:color-mix(in oklab,var(--accent) 20%,var(--surface))}.cal-day__num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:var(--fz-sm);font-weight:var(--fw-medium);line-height:1}.cal-day.is-today .cal-day__num{background:var(--accent);color:var(--text-on-accent);font-weight:var(--fw-semibold)}.cal-day__events{flex:1;display:flex;flex-direction:column;gap:2px;margin-top:2px;min-height:0;overflow-x:hidden;overflow-y:auto}.cal-day__pill{display:flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--accent);font-size:11px;line-height:1;padding:3px 6px;border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium)}.cal-day__pill--task{background:color-mix(in oklab,var(--info) 14%,var(--surface));color:var(--info)}.cal-day__pill--done{background:color-mix(in oklab,var(--success) 14%,var(--surface));color:var(--success);text-decoration:line-through}.cal-day__pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.cal-day__more{font-size:11px;color:var(--text-subtle);padding-left:6px}.cal-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-4)}.cal-year__month{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);padding:var(--s-3) var(--s-4);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);text-align:left;display:block;width:100%;box-sizing:border-box;color:var(--text)}.cal-year__month:hover{border-color:var(--accent);transform:translateY(-1px)}.cal-year__month-title{font-size:var(--fz-sm);font-weight:var(--fw-semibold);margin-bottom:var(--s-2);color:var(--text);text-transform:capitalize}.cal-year__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:24px;gap:2px;width:100%}.cal-year__day-head{display:flex;align-items:center;justify-content:center;color:var(--text-subtle);font-size:10px;font-weight:var(--fw-medium);height:18px;line-height:1}.cal-year__day{border-radius:4px;background:transparent;font-size:11px;color:var(--text);display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease);line-height:1}.cal-year__day.is-other-month{color:var(--text-subtle);opacity:.35}.cal-year__day.has-items{background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-semibold)}.cal-year__day.is-today{background:var(--accent);color:var(--text-on-accent);font-weight:var(--fw-semibold)}.cal-week{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-1);overflow:hidden}.cal-week__head{display:grid;grid-template-columns:56px repeat(7,1fr);border-bottom:1px solid var(--border);background:var(--surface-2)}.cal-week__head-cell{padding:var(--s-2) var(--s-2);text-align:center;font-size:var(--fz-xs);color:var(--text-muted);border-left:1px solid var(--border);cursor:pointer;transition:background var(--dur-fast) var(--ease);text-transform:uppercase;letter-spacing:.04em}.cal-week__head-cell:hover{background:var(--surface-hover)}.cal-week__head-cell.is-today{color:var(--accent)}.cal-week__head-cell:first-child{border-left:0}.cal-week__head-day-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:var(--fz-sm);color:var(--text);margin-top:4px;text-transform:none}.cal-week__head-cell.is-today .cal-week__head-day-num{background:var(--accent);color:var(--text-on-accent)}.cal-week__body{display:grid;grid-template-columns:56px repeat(7,1fr);height:720px;overflow-y:auto;position:relative}.cal-week__hours{padding-top:0}.cal-week__hour{border-bottom:1px dashed var(--border);text-align:right;padding:2px var(--s-2) 0 0;font-size:10px;color:var(--text-subtle);height:60px;box-sizing:border-box}.cal-week__col{border-left:1px solid var(--border);position:relative}.cal-week__slot{border-bottom:1px dashed var(--border);height:60px;cursor:pointer;transition:background var(--dur-fast) var(--ease);box-sizing:border-box}.cal-week__slot:hover{background:var(--accent-soft)}.cal-week__event{position:absolute;left:4px;right:4px;background:var(--accent);color:#fff;border-radius:var(--r-1);padding:4px 6px;font-size:11px;line-height:1.2;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-1);transition:transform var(--dur-fast) var(--ease)}.cal-week__event:hover{transform:scale(1.02)}.cal-side{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-1);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4);position:sticky;top:var(--s-3);min-width:0}.cal-side__title{font-size:var(--fz-md);font-weight:var(--fw-semibold);color:var(--text);text-transform:capitalize;line-height:1.2}.cal-side__meta{font-size:var(--fz-xs);color:var(--text-subtle);margin-top:2px}.cal-side__group-title{font-size:var(--fz-xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s-2);font-weight:var(--fw-medium)}.cal-side__list{display:flex;flex-direction:column;gap:var(--s-2)}.cal-side__empty{color:var(--text-subtle);font-size:var(--fz-sm);background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--r-1);padding:var(--s-3);text-align:center}.cal-event-row{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2);border-radius:var(--r-1);border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);text-decoration:none;color:inherit}.cal-event-row:hover{border-color:var(--border-strong);background:var(--surface-hover)}.cal-event-row__bar{width:4px;align-self:stretch;border-radius:2px;background:var(--accent);flex-shrink:0}.cal-event-row__time{font-family:var(--font-mono);font-size:var(--fz-xs);color:var(--text-muted);min-width:64px;flex-shrink:0}.cal-event-row__title{flex:1 1 auto;color:var(--text);font-size:var(--fz-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cal-event-row__actions{opacity:0;transition:opacity var(--dur-fast) var(--ease)}.cal-event-row:hover .cal-event-row__actions{opacity:1}.cal-color-dot{width:22px;height:22px;border-radius:50%;cursor:pointer;padding:0;border:2px solid transparent;transition:transform var(--dur-fast) var(--ease)}.cal-color-dot.is-active{border-color:var(--text)}.cal-color-dot:hover{transform:scale(1.08)}.settings-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s-6);align-items:start}.settings-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:var(--s-3)}.settings-nav__item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);color:var(--text-muted);font-size:var(--fz-sm);font-weight:var(--fw-medium);background:transparent;border:0;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.settings-nav__item:hover{background:var(--surface-hover);color:var(--text)}.settings-nav__item.is-active{background:var(--accent-soft);color:var(--accent)}.settings-nav__item svg{color:currentColor}.settings-pane{display:flex;flex-direction:column;gap:var(--s-5)}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-5) var(--s-6);box-shadow:var(--shadow-1)}.settings-section__head{display:flex;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-4)}.settings-section__title{font-size:var(--fz-md);font-weight:var(--fw-semibold);color:var(--text)}.settings-section__hint{font-size:var(--fz-sm);color:var(--text-muted);margin-top:2px}.settings-row{display:grid;grid-template-columns:200px 1fr;gap:var(--s-4);align-items:center;padding:var(--s-3) 0;border-top:1px solid var(--border)}.settings-row:first-of-type{border-top:0;padding-top:0}.settings-row__label{font-size:var(--fz-sm);font-weight:var(--fw-medium);color:var(--text)}.settings-row__hint{font-size:var(--fz-xs);color:var(--text-subtle);margin-top:2px}.settings-avatar{display:flex;align-items:center;gap:var(--s-4)}.settings-theme{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3)}.theme-card{border:2px solid var(--border);border-radius:var(--r-2);padding:var(--s-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);text-align:center;background:var(--surface)}.theme-card:hover{transform:translateY(-1px)}.theme-card.is-active{border-color:var(--accent)}.theme-card__preview{height:70px;border-radius:var(--r-1);margin-bottom:var(--s-2);position:relative;overflow:hidden}.theme-card[data-theme=light] .theme-card__preview{background:linear-gradient(135deg,#faf9f5 50%,#fff 50%);border:1px solid #e7e5dc}.theme-card[data-theme=dark] .theme-card__preview{background:linear-gradient(135deg,#0f0f0e 50%,#181818 50%);border:1px solid #2a2a2c}.theme-card[data-theme=auto] .theme-card__preview{background:linear-gradient(135deg,#faf9f5 50%,#181818 50%);border:1px solid var(--border)}.theme-card__title{font-size:var(--fz-sm);font-weight:var(--fw-medium);color:var(--text)}@media(max-width:720px){.settings-shell{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow-x:auto;position:static}.settings-row{grid-template-columns:1fr;gap:var(--s-2)}}.cmdk{position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;background:color-mix(in oklab,var(--bg-overlay, rgba(0,0,0,.45)) 100%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in var(--dur-fast) var(--ease-out) both}.cmdk__panel{width:min(640px,92vw);max-height:70vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-3);overflow:hidden;display:flex;flex-direction:column;animation:pop-in var(--dur) var(--ease-out) both}.cmdk__search{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.cmdk__search input{border:0;background:transparent;color:var(--text);font-size:var(--fz-md);flex:1 1 auto;outline:none}.cmdk__search input::placeholder{color:var(--text-subtle)}.cmdk__hint{font-size:var(--fz-xs);color:var(--text-subtle)}kbd.kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px;background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted);box-shadow:0 1px 0 var(--border)}.cmdk__list{overflow-y:auto;padding:var(--s-2);flex:1 1 auto;min-height:0}.cmdk__group{font-size:var(--fz-xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;padding:var(--s-3) var(--s-3) var(--s-2)}.cmdk__item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-1);cursor:pointer;color:var(--text);font-size:var(--fz-sm);transition:background var(--dur-fast) var(--ease);border:0;background:transparent;text-align:left;width:100%}.cmdk__item:hover,.cmdk__item.is-active{background:var(--accent-soft);color:var(--accent)}.cmdk__icon{width:24px;height:24px;display:grid;place-items:center;border-radius:var(--r-1);background:var(--surface-2);color:var(--text-muted);flex-shrink:0;font-size:13px}.cmdk__item.is-active .cmdk__icon,.cmdk__item:hover .cmdk__icon{background:var(--surface);color:var(--accent)}.cmdk__title{font-weight:var(--fw-medium);flex:1 1 auto}.cmdk__sub{font-size:var(--fz-xs);color:var(--text-subtle);margin-top:2px}.cmdk__keys{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.cmdk__footer{padding:var(--s-2) var(--s-4);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--surface-2);color:var(--text-subtle);font-size:var(--fz-xs)}.cmdk__footer-keys{display:inline-flex;align-items:center;gap:var(--s-3)}
