:root{--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-canvas-inset:#f0f3f5;--color-border-default:#e1e4e8;--color-border-muted:#eef1f4;--color-fg-default:#24292f;--color-fg-muted:#57606a;--color-fg-subtle:#6a737d;--color-fg-on-emphasis:#fff;--color-accent-fg:#0366d6;--color-accent-emphasis:#0969da;--color-success-fg:#22863a;--color-success-emphasis:#2ea043;--color-danger-fg:#d73a49;--color-danger-emphasis:#cb2431;--color-attention-fg:#d29922;--color-done-fg:#a371f7;--color-sponsors-fg:#db61a2;--color-btn-bg:#f6f8fa;--color-btn-border:#e1e4e8;--color-btn-hover-bg:#f3f4f6;--color-btn-primary-bg:var(--color-accent-emphasis);--color-btn-primary-hover-bg:var(--color-accent-fg);--border-radius-sm:6px;--border-radius-md:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-2xl:24px;--bg-color:var(--color-canvas-default);--text-primary:var(--color-fg-default);--text-secondary:var(--color-fg-muted);--card-bg:var(--color-canvas-subtle);--card-border:var(--color-border-default);--primary:var(--color-accent-emphasis);--primary-hover:var(--color-accent-fg);--success:var(--color-success-fg);--warning:var(--color-attention-fg);--danger:var(--color-danger-fg)}.dark{--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-canvas-inset:#010409;--color-border-default:#30363d;--color-border-muted:#21262d;--color-fg-default:#e6edf3;--color-fg-muted:#7d8590;--color-fg-subtle:#6e7681;--color-fg-on-emphasis:#fff;--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-success-fg:#3fb950;--color-success-emphasis:#238636;--color-danger-fg:#f85149;--color-danger-emphasis:#da3633;--color-attention-fg:#d29922;--color-done-fg:#a371f7;--color-sponsors-fg:#db61a2;--color-btn-bg:#21262d;--color-btn-border:#30363d;--color-btn-hover-bg:#30363d;--color-btn-primary-bg:var(--color-accent-emphasis);--color-btn-primary-hover-bg:var(--color-accent-fg)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box;font-family:var(--font-sans);margin:0;padding:0}h1{font-size:var(--font-size-2xl);font-weight:600}h2{font-size:var(--font-size-xl);font-weight:600}h3{font-size:var(--font-size-lg);font-weight:600}body{background:var(--color-canvas-default);color:var(--color-fg-default);min-height:100vh;font-size:var(--font-size-md);transition:background-color .2s,color .2s}button,a,input,select,textarea{font:inherit}button{cursor:pointer;background:0 0;border:none}.app-shell{background:var(--color-canvas-default);min-height:100vh;color:var(--color-fg-default);position:relative}.app-shell__backdrop{display:none}.app-shell__body{grid-template-columns:280px minmax(0,1fr);align-items:start;min-height:calc(100vh - 56px);display:grid;overflow-x:hidden}.app-shell__main{min-width:0;padding:24px}.top-nav{background:var(--color-canvas-inset);border-bottom:1px solid var(--color-border-muted);z-index:50;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 1px #0000000a}.top-nav__left,.top-nav__right{align-items:center;gap:10px;display:flex}.top-nav__brand{letter-spacing:.01em;font-size:13px;font-weight:600}.top-nav__section{color:var(--color-fg-muted);border-left:1px solid var(--color-border-default);margin-left:2px;padding-left:10px;font-size:13px}.top-nav__brand-link{color:inherit;border-radius:var(--border-radius-sm);align-items:center;gap:8px;margin:-5px -8px;padding:5px 8px;text-decoration:none;transition:opacity .15s;display:inline-flex}.top-nav__brand-link:hover{opacity:1;background:#6e768114}.icon-button,.theme-toggle,.avatar-button{border-radius:var(--border-radius-sm);border:1px solid var(--color-btn-border);background:var(--color-btn-bg);min-width:32px;height:32px;color:var(--color-fg-default);justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.icon-button:hover:not(:disabled),.theme-toggle:hover:not(:disabled),.avatar-button:hover:not(:disabled){background:var(--card-bg)}.icon-button--brand{width:32px;padding:0}.theme-toggle{font-size:var(--font-size-xs)}.avatar-button{background:var(--color-accent-emphasis);border-color:#0000;border-radius:999px;width:32px;padding:0;font-weight:700}.project-sidebar{border-right:1px solid var(--color-border-muted);background:var(--color-canvas-default);scrollbar-width:thin;scrollbar-color:var(--color-border-default) transparent;flex-direction:column;gap:18px;height:auto;max-height:none;padding:12px 10px;display:flex;position:sticky;top:56px;overflow:visible}.project-sidebar__section{flex-direction:column;gap:8px;display:flex}.project-sidebar__heading{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-fg-subtle);padding:0 8px}.project-sidebar__nav,.project-sidebar__list{gap:var(--space-1);flex-direction:column;display:flex}.project-sidebar__link,.project-sidebar__project,.project-sidebar__new-link{align-items:center;gap:var(--space-2);border-radius:var(--border-radius-sm);color:var(--color-fg-default);padding:8px 10px;text-decoration:none;display:flex}.project-sidebar__link:hover,.project-sidebar__project:hover,.project-sidebar__new-link:hover{background:var(--color-btn-hover-bg)}.project-sidebar__link.is-active,.project-sidebar__project.is-active{background:#1f6feb1f;border:1px solid #58a6ff33}.project-sidebar__dot,.project-sidebar__project-dot{background:var(--color-fg-subtle);border-radius:999px;flex:none;width:8px;height:8px}.project-sidebar__project-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-sidebar__new-link{color:var(--color-accent-fg);font-size:var(--font-size-sm);margin-top:auto}.project-sidebar__new-link:before{content:"+";color:var(--color-fg-muted);font-weight:600}input,select,textarea{border-radius:var(--border-radius-sm);background:var(--color-canvas-default);border:1px solid var(--color-border-default);width:100%;color:var(--color-fg-default);margin-bottom:var(--space-3);padding:10px 12px}input[type=checkbox],input[type=radio]{width:14px;height:14px;accent-color:var(--color-accent-emphasis);margin-bottom:0}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 3px #58a6ff4d}a{color:inherit}.flex-between{justify-content:space-between;align-items:center;display:flex}.glass-panel{background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);padding:var(--space-6)}.btn{background:var(--color-btn-bg);color:var(--color-fg-default);border:1px solid var(--color-btn-border);border-radius:var(--border-radius-sm);justify-content:center;align-items:center;gap:var(--space-2);padding:8px 14px;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-btn-hover-bg)}.btn--primary{background:var(--color-btn-primary-bg);border-color:#f0f6fc1a}.btn--primary:hover:not(:disabled){background:var(--color-btn-primary-hover-bg)}.btn-danger{background:var(--color-danger-emphasis);border-color:var(--color-danger-emphasis)}.btn-danger:hover:not(:disabled){background:#b62324}.badge{font-size:var(--font-size-xs);text-transform:capitalize;border-radius:999px;align-items:center;padding:4px 10px;font-weight:600;display:inline-flex}.badge-todo{color:var(--color-fg-muted);background:#6e76812e}.badge-in-progress{color:var(--color-attention-fg);background:#d299222e}.badge-done{color:var(--color-success-fg);background:#3fb9502e}.project-board{gap:var(--space-4);flex-direction:column;display:flex}.project-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.project-header__title{font-size:var(--font-size-2xl);margin-bottom:6px}.project-header__description{color:var(--color-fg-muted);font-size:var(--font-size-sm)}.project-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.project-header__select{width:220px;margin-bottom:0}.project-board__chart{padding:var(--space-4);flex-direction:column;min-width:0;min-height:220px;display:flex}.project-board__chart-title{margin-bottom:var(--space-2);color:var(--color-fg-muted)}.project-board__loading{justify-content:center;padding:40px;display:flex}.projects-page{gap:var(--space-4);flex-direction:column;display:flex}.projects-index-header{justify-content:space-between;gap:var(--space-4);align-items:flex-start;display:flex}.projects-index-header__actions{align-items:center;gap:var(--space-2);display:flex}.project-page-header{justify-content:space-between;gap:var(--space-4);align-items:flex-start;display:flex}.project-page-header__eyebrow{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-fg-subtle);margin-bottom:6px}.project-page-header__title{font-size:var(--font-size-2xl);margin-bottom:6px}.project-page-header__subtitle{color:var(--color-fg-muted);max-width:68ch}.project-page-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.project-stat{background:var(--color-canvas-default);border:1px solid var(--color-border-default);color:var(--color-fg-muted);border-radius:999px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.dark .top-nav{box-shadow:0 1px #ffffff08}.projects-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.projects-toolbar__controls{align-items:center;gap:var(--space-2);display:flex}.projects-toolbar__sort{color:var(--color-fg-muted);font-size:var(--font-size-sm)}.projects-toolbar__select{width:180px;height:36px;margin-bottom:0;padding-top:6px;padding-bottom:6px}.projects-toolbar__search{align-items:center;gap:var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--border-radius-sm);background:var(--color-canvas-default);flex:1;padding:0 12px;display:flex}.projects-toolbar__search input{background:0 0;border:none;margin-bottom:0;padding-left:0}.projects-toolbar__hint{color:var(--color-fg-subtle);white-space:nowrap;font-size:var(--font-size-sm)}.projects-loading{justify-content:center;padding:40px;display:flex}.projects-list{padding:0;overflow:hidden}.projects-list__head,.projects-list__row{grid-template-columns:minmax(240px,2fr) repeat(4,minmax(70px,.5fr)) minmax(130px,.7fr) minmax(140px,.9fr);align-items:center;gap:12px;padding:12px 16px;display:grid}.projects-list__head{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-fg-subtle);background:var(--color-canvas-subtle);border-bottom:1px solid var(--color-border-default)}.projects-list__row{border-bottom:1px solid var(--color-border-muted)}.projects-list__row:last-child{border-bottom:none}.projects-list__row:hover{background:var(--color-btn-hover-bg)}.projects-list__project{min-width:0}.projects-list__name-link{color:var(--color-accent-fg);text-align:left;font-weight:600}.projects-list__name-link:hover{text-decoration:underline}.projects-list__description{color:var(--color-fg-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.projects-list__metric,.projects-list__progress,.projects-list__updated{color:var(--color-fg-default);font-size:var(--font-size-sm)}.projects-list__actions{justify-content:flex-end;gap:8px;display:flex}.projects-list__actions-head{text-align:right}.projects-list__open-btn{border:1px solid var(--color-btn-border);border-radius:var(--border-radius-sm);background:var(--color-btn-bg);color:var(--color-fg-default);padding:6px 10px}.projects-list__open-btn:hover{background:var(--color-btn-hover-bg)}.projects-list__icon-btn{color:var(--color-fg-muted);border-radius:var(--border-radius-sm);border:1px solid #0000;width:28px;height:28px}.projects-list__icon-btn:hover{border-color:var(--color-btn-border);background:var(--color-btn-hover-bg)}.projects-list__icon-btn--danger{color:var(--color-danger-fg)}.kebab-menu{display:inline-block;position:relative}.kebab-menu__button{border-radius:var(--border-radius-sm);color:var(--color-fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:6px 8px;display:inline-flex}.kebab-menu__button:focus-visible{outline:none;box-shadow:0 0 0 3px #58a6ff47}.kebab-menu__list{background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:var(--border-radius-sm);z-index:60;flex-direction:column;gap:6px;min-width:160px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 28px #0206171f}.kebab-menu__list[aria-hidden=false]{display:flex}.kebab-menu__item{text-align:left;border-radius:var(--border-radius-sm);color:var(--color-fg-default);cursor:pointer;background:0 0;border:none;padding:8px 10px}.kebab-menu__item:hover,.kebab-menu__item:focus{background:var(--color-btn-hover-bg);outline:none}.kebab-menu__item--danger{color:var(--color-danger-fg)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:480px;box-shadow:0 10px 30px #02061733}.modal-content.wide{max-width:720px}.projects-empty{text-align:center;color:var(--color-fg-subtle);padding:48px 16px}.projects-empty__description{color:var(--color-fg-subtle);max-width:60ch;margin:8px auto 16px}.projects-empty .emoji{margin-bottom:12px;font-size:48px}.task-form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.task-form input,.task-form select,.task-form textarea{width:100%}.project-board__loading{color:var(--color-fg-muted);font-size:var(--font-size-sm);padding:44px 8px}.project-header-shell__description{margin-top:6px}.project-workspace{background:var(--color-canvas-default);min-height:100vh;position:relative;overflow-x:clip}.project-workspace__content{min-width:0;padding-bottom:24px;position:relative}.project-workspace__error{border:1px solid var(--color-border-default);background:var(--color-canvas-default);color:var(--color-fg-muted);border-radius:12px;margin:0 0 12px;padding:12px 14px;box-shadow:0 1px #0104090a}.project-header-shell{margin:-4px 0 var(--space-4);z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border-muted);background:#fffffff5;flex-direction:column;gap:12px;padding:12px 0 16px;display:flex;position:sticky;top:56px}@media (width>=920px){.project-header-shell{flex-direction:row;justify-content:space-between;align-items:center;gap:22px;padding:12px 0 18px}.project-header-shell__title-block{flex:1 1 0;margin-right:20px}.project-header-shell__controls{flex-direction:column;flex:none;align-items:stretch;gap:10px;min-width:min(100%,760px);display:flex}}.project-header-shell__title-block{max-width:72ch}.project-header-shell__eyebrow{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-fg-subtle);margin-bottom:4px;font-weight:600}.project-header-shell__title{margin-bottom:6px;font-size:26px;font-weight:600;line-height:1.1}.project-header-shell__description{color:var(--color-fg-muted);max-width:60ch}.project-header-shell__delete{color:var(--color-fg-muted);background:0 0;border:1px solid #0000;height:32px;padding-inline:10px}.project-header-shell__delete:hover:not(:disabled){border-color:var(--color-border-default);color:var(--color-fg-default);background:#6e768114}.project-header-shell__controls{flex-direction:column;align-items:stretch;gap:10px;width:100%;min-width:0;display:flex}.view-switcher{background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:999px;gap:2px;width:fit-content;padding:2px;display:inline-flex}.view-switcher__tab{color:var(--color-fg-muted);font-size:var(--font-size-sm);border-radius:999px;padding:7px 14px;font-weight:600}.view-switcher__tab.is-active{background:var(--color-canvas-default);color:var(--color-fg-default)}.filter-bar{flex-flow:wrap;align-items:stretch;gap:8px;width:100%;min-width:0;display:flex}.filter-bar__search{background:var(--color-canvas-default);border-color:var(--color-border-default);flex:280px;width:auto;min-height:38px;margin-bottom:0}.filter-bar__actions{flex-wrap:wrap;flex:360px;align-items:center;gap:8px;display:flex;position:relative}.filter-bar__select{flex:0 0 170px;width:170px;min-width:170px}.filter-bar__actions .btn{color:var(--color-fg-muted);background:var(--color-canvas-default);border:1px solid var(--color-border-default);font-size:var(--font-size-sm);border-radius:8px;padding:7px 12px;box-shadow:0 1px #01040905}.filter-bar__actions .btn:hover:not(:disabled){background:var(--color-canvas-subtle)}.filter-bar__actions .btn--primary{color:var(--color-fg-on-emphasis);background:var(--color-btn-primary-bg);border-color:var(--color-btn-primary-bg)}.filter-bar__count{background:var(--color-canvas-subtle);border:1px solid var(--color-border-muted);min-width:18px;height:18px;color:var(--color-fg-muted);border-radius:999px;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;font-size:10px;line-height:1;display:inline-flex}.board-card--button{text-align:left;width:100%}.table-view{border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);background:var(--color-canvas-subtle);overflow:auto}.table-view__table{border-collapse:collapse;width:100%}.table-view__table th,.table-view__table td{border-bottom:1px solid var(--color-border-muted);text-align:left;padding:12px 14px}.table-view__header-button{color:var(--color-fg-default)}.table-view__row:hover{background:#1f6feb0f}.table-view__link{color:var(--color-accent-fg)}.table-view__new-row td{color:var(--color-fg-subtle)}.task-panel{background:var(--color-canvas-default);border-left:1px solid var(--color-border-default);z-index:40;width:min(40vw,520px);padding:18px 20px;position:fixed;inset:56px 0 0 auto;overflow:auto;box-shadow:-1px 0 #0104090a}.task-panel__header,.task-panel__body{gap:var(--space-3);display:flex}.task-panel__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start}.task-panel__issue-number,.task-panel__meta-label,.task-panel__comment-meta{color:var(--color-fg-subtle);font-size:var(--font-size-xs)}.task-panel__title{font-size:18px;line-height:1.2}.task-panel__body{flex-direction:column;align-items:flex-start;min-width:0;margin-top:8px}.task-panel__editor-actions,.task-panel__composer-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.task-panel__composer{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.task-panel__content{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.task-panel__meta{flex-wrap:wrap;flex:none;gap:10px;width:100%;padding-left:0;display:flex}.task-panel__comments{gap:var(--space-2);flex-direction:column;display:flex}.task-panel__comment{border:1px solid var(--color-border-muted);border-radius:var(--border-radius-sm);background:var(--color-canvas-subtle);padding:10px 12px}.task-panel__empty{color:var(--color-fg-subtle)}.task-panel__field-label{font-size:var(--font-size-xs);color:var(--color-fg-subtle);margin-top:2px;display:block}.task-panel__input,.task-panel__textarea,.task-panel__select{background:var(--color-canvas-default);border:1px solid var(--color-border-default);width:100%}.task-panel__input--title{font-weight:600}.task-panel__meta-group{border:1px solid var(--color-border-muted);background:var(--color-canvas-subtle);border-radius:8px;flex-direction:column;flex:180px;gap:2px;padding:10px 12px;display:flex}.board-columns{gap:16px;min-width:0;padding:2px 2px 18px;display:flex;overflow-x:auto}.board-column{border:1px solid var(--color-border-default);background:var(--color-canvas-default);border-radius:14px;flex-direction:column;flex:0 0 332px;min-width:332px;display:flex;overflow:hidden;box-shadow:0 1px #01040908,0 8px 24px #0104090a}.board-column.is-dragging-over{border-color:var(--color-accent-emphasis);box-shadow:inset 0 0 0 1px #1f6feb26}.board-column__header{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border-muted);background:linear-gradient(#f6f8fafa,#f6f8faeb);padding:10px 12px;display:flex}.board-column__title-wrap{align-items:center;gap:8px;min-width:0;display:flex}.board-column__status-dot{border-radius:999px;flex:none;width:10px;height:10px}.board-column__title{font-size:var(--font-size-sm);margin:0;font-weight:600}.board-column__count{background:var(--color-canvas-default);min-width:24px;height:20px;color:var(--color-fg-muted);border:1px solid var(--color-border-default);font-size:var(--font-size-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-weight:600;display:inline-flex}.board-column__actions{align-items:center;display:flex}.board-column__action{width:28px;height:28px;padding:0}.board-column__body{flex-direction:column;flex:1;gap:10px;min-height:240px;padding:12px;display:flex}.board-column__body.is-dragging-over,.board-column.is-dragging-over .board-column__body{box-shadow:inset 0 0 0 1px var(--board-drop-accent);background:#1f6feb0f}.board-column__empty{color:var(--color-fg-subtle);font-size:var(--font-size-sm);text-align:center;margin:auto;padding:24px 12px}.board-card{border:1px solid var(--color-border-default);background:var(--color-canvas-default);cursor:grab;border-radius:12px;padding:12px;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 1px #01040908}.board-card input[type=checkbox]{flex:none;width:14px;height:14px}.board-card:hover{border-color:#1f6feb29;transform:translateY(-1px);box-shadow:0 8px 20px #01040914}.board-card.is-dragging{transform:scale(1.01);box-shadow:0 12px 24px #01040929}.board-card__title-row,.board-card__footer,.board-card__footer-right{align-items:center;display:flex}.board-card__title-row{gap:8px;margin-bottom:6px}.board-card__issue-meta{color:var(--color-fg-subtle);font-size:var(--font-size-xs);font-family:var(--font-mono)}.board-card__title{margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.3}.board-card__labels{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.board-card__label,.board-card__milestone{background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);min-height:20px;color:var(--color-fg-muted);border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.board-card__milestone{width:fit-content;margin-bottom:6px}.board-card__description{font-size:var(--font-size-xs);color:var(--color-fg-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;line-height:1.4;display:-webkit-box;overflow:hidden}.board-card__footer{justify-content:space-between;gap:10px}.board-card__footer-left{font-size:var(--font-size-xs);color:var(--color-fg-subtle)}.board-card__footer-right{gap:8px}.board-card__meta-pill{color:var(--color-fg-muted);font-size:var(--font-size-xs);align-items:center;gap:4px;display:inline-flex}.board-card__avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:flex}.roadmap-view{flex-direction:column;gap:24px;display:flex}.roadmap-period{border:1px solid var(--color-border-default);background:var(--color-canvas-subtle);border-radius:8px;overflow:hidden}.roadmap-period__header{background:var(--color-canvas-inset);border-left:4px solid var(--color-accent-fg);border-bottom:1px solid var(--color-border-muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.roadmap-period__title{margin:0;font-size:14px;font-weight:600}.roadmap-period__count{border:1px solid var(--color-border-default);background:var(--color-canvas-default);min-width:24px;height:22px;color:var(--color-fg-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;display:inline-flex}.roadmap-period__tasks{flex-direction:column;gap:8px;padding:12px;display:flex}.roadmap-period__empty{text-align:center;color:var(--color-fg-subtle);padding:24px;font-size:13px}.roadmap-task{border:1px solid var(--color-border-muted);background:var(--color-canvas-default);cursor:pointer;border-radius:6px;flex-direction:column;gap:10px;padding:12px;transition:background-color .2s,border-color .2s;display:flex}.roadmap-task:hover{background:var(--color-canvas-subtle);border-color:var(--color-border-default)}.roadmap-task.is-done{opacity:.7}.roadmap-task__header{align-items:flex-start;gap:10px;display:flex}.roadmap-task__status{flex:none;justify-content:center;align-items:center;margin-top:2px;display:flex}.roadmap-task__title-row{flex:1;align-items:center;gap:8px;display:flex}.roadmap-task__title{margin:0;font-size:14px;font-weight:600}.roadmap-task__id{color:var(--color-fg-subtle);font-size:12px;font-family:var(--font-mono)}.roadmap-task__description{color:var(--color-fg-muted);margin:0;font-size:13px;line-height:1.4}.roadmap-task__meta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.roadmap-task__meta-item{align-items:center;gap:6px;font-size:12px;display:flex}.roadmap-task__meta-label{color:var(--color-fg-subtle)}.roadmap-task__meta-value{color:var(--color-fg-default);font-weight:500}.roadmap-task__status-badge{text-transform:capitalize;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.roadmap-task__status-badge--todo{color:var(--color-fg-muted);background:#6e76812e}.roadmap-task__status-badge--in-progress{color:#d29922;background:#d299222e}.roadmap-task__status-badge--done{color:#3fb950;background:#3fb9502e}.hamburger-btn{border-radius:var(--border-radius-sm);border:1px solid var(--color-btn-border);background:var(--color-btn-bg);width:32px;height:32px;color:var(--color-fg-default);cursor:pointer;justify-content:center;align-items:center;display:none}@media (width<=960px){.project-header-shell{position:static;top:auto}.project-header-shell__controls{width:100%}.filter-bar{flex-direction:column}.filter-bar__search,.filter-bar__actions{flex:auto;width:100%}.task-panel{border-left:0;border-top:1px solid var(--color-border-default);border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:calc(100vh - 56px);inset:56px 0 0}.task-panel__body{flex-direction:column}.task-panel__meta{width:100%}.board-column{flex-basis:320px;min-width:320px}}@media (width<=1100px){.app-shell__body{grid-template-columns:240px minmax(0,1fr)}.project-header{flex-direction:column}}@media (width<=800px){.app-shell__body{grid-template-columns:1fr}.project-sidebar{border-right:1px solid var(--color-border-muted);z-index:30;width:min(86vw,320px);height:calc(100vh - 56px);transition:transform .2s;position:fixed;top:56px;left:0;transform:translate(-100%);box-shadow:0 10px 30px #01040940}.project-sidebar.project-sidebar--open{transform:translate(0)}.hamburger-btn{display:inline-flex}.app-shell__backdrop{z-index:20;opacity:0;pointer-events:none;background:#01040973;transition:opacity .2s;display:block;position:fixed;inset:56px 0 0}.app-shell__backdrop.is-visible{opacity:1;pointer-events:auto}.top-nav__section,.top-nav__brand{display:none}.projects-toolbar{flex-direction:column;align-items:stretch}.projects-toolbar__controls{justify-content:space-between}.projects-toolbar__select{width:160px}.projects-list{overflow-x:auto}.projects-list__head,.projects-list__row{min-width:920px}.project-header__actions,.project-header__select{width:100%}}.auth-container{min-height:100vh;padding:var(--space-6);background:var(--color-canvas-default);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:6px;width:100%;max-width:416px;padding:24px}.logo{font-size:var(--font-size-xl);color:var(--color-fg-default);letter-spacing:-.02em;font-weight:600}.animate-spin{animation:1s linear infinite spin}.landing-shell{background:var(--color-canvas-default);min-height:100vh;color:var(--color-fg-default)}.landing-nav{z-index:20;background:var(--card-bg);border-bottom:1px solid var(--color-border-muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:space-between;align-items:center;gap:12px;height:56px;padding:10px 16px;display:flex;position:sticky;top:0}.dark .landing-nav{background:#010409db}.landing-nav__brand,.landing-nav__actions,.landing-hero__actions,.landing-proof,.landing-card__row,.landing-column__header,.landing-stats,.landing-features{display:flex}.landing-nav__brand{align-items:center;gap:10px;font-size:14px;font-weight:600}.landing-mark{background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);width:28px;height:28px;color:var(--color-fg-muted);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.landing-nav__actions,.landing-hero__actions,.landing-proof,.landing-stats{align-items:center}.landing-nav__actions{gap:10px}.landing-theme-toggle{background:var(--color-btn-bg);border-color:var(--color-btn-border)}.landing-main{width:min(1100px,100% - 40px);margin:0 auto;padding:32px 0 48px}.landing-hero{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:32px;display:grid}.landing-hero__copy h1{letter-spacing:-.02em;max-width:60ch;margin:10px 0 12px;font-size:clamp(2rem,4.6vw,3.2rem);font-weight:650;line-height:1.02}.landing-kicker{border:1px solid var(--color-border-default);color:var(--color-fg-muted);background:#1f6feb14;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:inline-flex}.landing-hero__copy p{max-width:58ch;color:var(--color-fg-muted);font-size:1.05rem;line-height:1.7}.landing-hero__actions{flex-wrap:wrap;gap:12px;margin-top:24px}.landing-cta{padding:14px 20px}.landing-cta svg{margin-left:2px}.landing-secondary{background:var(--color-canvas-subtle);text-decoration:none}.landing-proof{color:var(--color-fg-muted);flex-wrap:wrap;gap:16px;margin-top:20px;font-size:13px}.landing-proof span{align-items:center;gap:6px;display:inline-flex}.landing-preview{border:1px solid var(--color-border-default);background:var(--card-bg);border-radius:10px;overflow:hidden;box-shadow:0 12px 28px #00000014}.landing-preview__topbar{border-bottom:1px solid var(--color-border-muted);background:var(--color-canvas-inset);gap:8px;padding:14px 16px;display:flex}.landing-preview__dot{background:var(--color-border-default);border-radius:999px;width:10px;height:10px}.landing-preview__board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.landing-column{border:1px solid var(--color-border-muted);background:var(--bg-color);border-radius:8px;padding:10px}.landing-column__header{color:var(--color-fg-muted);align-items:center;gap:8px;margin-bottom:12px}.landing-column__header h2{color:var(--color-fg-default);margin-right:auto;font-size:13px;font-weight:600}.landing-column__header span:last-child{border:1px solid var(--color-border-default);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 7px;font-size:11px;display:inline-flex}.landing-column__status{border-radius:999px;flex:none;width:8px;height:8px}.landing-column__list{flex-direction:column;gap:10px;display:flex}.landing-card{border:1px solid var(--card-border);background:var(--card-bg);border-radius:8px;padding:10px}.landing-card__row{color:var(--color-fg-subtle);align-items:center;gap:6px;margin-bottom:10px;font-size:11px}.landing-card h3{color:var(--color-fg-default);margin-bottom:10px;font-size:14px}.landing-card__label{border:1px solid var(--color-border-default);color:var(--color-accent-fg);background:#1f6feb14;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;display:inline-flex}.landing-stats{flex-wrap:wrap;justify-content:center;gap:12px;margin:28px 0 10px}.landing-stat{border:1px solid var(--color-border-default);background:var(--card-bg);border-radius:10px;min-width:170px;padding:12px 14px}.landing-stat strong,.landing-feature h3{color:var(--color-fg-default);margin-bottom:4px;font-size:14px;display:block}.landing-stat span,.landing-feature p{color:var(--color-fg-muted);font-size:13px;line-height:1.5}.landing-features{flex-wrap:wrap;gap:16px;margin-top:20px}.landing-feature{border:1px solid var(--color-border-default);background:var(--card-bg);border-radius:10px;flex:220px;min-width:220px;padding:14px}.landing-feature__icon{width:36px;height:36px;color:var(--color-accent-fg);background:#1f6feb1f;border-radius:10px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}@media (width<=920px){.landing-hero,.landing-preview__board{grid-template-columns:1fr}.landing-hero__copy h1{max-width:none}.landing-main{width:min(100% - 32px,1200px);padding-top:28px}}@media (width<=640px){.landing-nav{padding-inline:16px}.landing-main{width:min(100% - 24px,1200px)}.landing-hero__copy h1{font-size:clamp(2.2rem,12vw,3rem)}.landing-nav__brand span:last-child{display:none}}.dashboard-stat-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);margin-bottom:32px;display:grid}@media (width<=640px){.dashboard-stat-grid{grid-template-columns:1fr}}.dashboard-stat-card{background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:var(--border-radius-sm);padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);border-left-width:4px;display:flex}.dashboard-stat-card__body{flex-direction:column;gap:4px;display:flex}.dashboard-stat-card__value{font-size:var(--font-size-2xl);font-weight:600;line-height:1}.dashboard-stat-card__label{font-size:var(--font-size-sm);color:var(--color-fg-muted)}.dashboard-stat-card--accent{border-left-color:var(--color-accent-emphasis)}.dashboard-stat-card--success{border-left-color:var(--color-success-emphasis)}.dashboard-stat-card--attention{border-left-color:var(--color-attention-fg)}.dashboard-section-title{align-items:center;gap:8px;margin-bottom:20px;display:flex}.dashboard-charts-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:24px;display:grid}.avatar-dropdown{background:var(--card-bg);border:1px solid var(--card-border);z-index:100;border-radius:8px;min-width:160px;margin-top:8px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 24px #00000026}.avatar-dropdown__header{border-bottom:1px solid var(--card-border);padding:12px 16px;font-size:13px;font-weight:600}.avatar-dropdown__item{text-align:left;cursor:pointer;width:100%;color:var(--color-danger-fg);background:0 0;border:none;padding:10px 16px;font-size:13px;display:block}.avatar-dropdown__item:hover{background:#6e768114}.btn--full{width:100%;padding:12px}.auth-toggle-link{color:var(--color-accent-fg);cursor:pointer;font-weight:500}.auth-brand-icon{border-radius:50%;width:48px;height:48px}.auth-subtitle{text-align:center;color:var(--color-fg-muted);margin-bottom:24px}.btn,.btn--primary{transition:background-color .15s}.btn:disabled,.btn--primary:disabled{opacity:.6;cursor:not-allowed}.project-sidebar__link,.project-sidebar__project{transition:background-color .15s}.team-page{flex-direction:column;gap:24px;display:flex}.team-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.team-card{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.team-avatar{background:var(--color-accent-emphasis);width:64px;height:64px;color:var(--color-fg-on-emphasis);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:24px;font-weight:700;display:flex}.team-avatar--admin{background:linear-gradient(135deg, var(--color-attention-fg), var(--color-accent-emphasis))}.team-role-badge{font-size:var(--font-size-sm);border-radius:20px;align-items:center;gap:6px;margin-top:8px;padding:4px 12px;font-weight:600;display:inline-flex}.team-role-badge--admin{color:var(--color-attention-fg);background:#d299221f}.team-role-badge--member{color:var(--color-fg-default);background:var(--color-canvas-inset)}.team-delete-btn{background:var(--color-danger-emphasis);color:var(--color-fg-on-emphasis);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);border:none;align-items:center;gap:4px;padding:6px 8px;font-weight:500;transition:opacity .2s;display:flex;position:absolute;top:12px;right:12px}.team-delete-btn:hover{opacity:.85}.team-email-row{color:var(--color-fg-muted);font-size:var(--font-size-md);align-items:center;gap:6px;margin-bottom:8px;display:flex}.team-you-badge{font-size:var(--font-size-xs);color:var(--color-success-fg)}.modal-close-btn{cursor:pointer;color:var(--color-fg-muted);background:0 0;border:none;position:absolute;top:16px;right:16px}.filter-bar__count-badge{opacity:.7;margin-left:6px}.filter-popover{background:var(--color-canvas-default);border:1px solid var(--color-border-default);z-index:20;border-radius:6px;min-width:280px;max-width:360px;padding:12px;position:absolute;top:52px;left:0;box-shadow:0 8px 24px #8c959f33}.filter-popover__list{gap:8px;margin-top:10px;display:grid}.filter-popover__option{border-radius:var(--border-radius-sm);border:1px solid var(--color-border-default);cursor:pointer;width:100%;color:var(--color-fg-default);font-size:var(--font-size-md);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;transition:background-color .1s;display:flex}.filter-popover__option:hover{background:var(--color-canvas-subtle)}.filter-popover__option--active{border-color:var(--color-accent-emphasis);background:#58a6ff1f}.filter-popover__hint{font-size:var(--font-size-sm);color:var(--color-fg-muted);margin-top:6px}.filter-popover__footer{justify-content:space-between;gap:8px;margin-top:12px;display:flex}.table-view__group-header{background:var(--color-canvas-subtle);border-top:1px solid var(--color-border-default);padding:12px 14px;font-weight:600}.table-view__group-label{align-items:center;gap:8px;display:inline-flex}.table-view__group-dot{border-radius:999px;flex-shrink:0;width:10px;height:10px}.table-view__group-count{opacity:.7}.task-panel__label{font-size:var(--font-size-sm);color:var(--color-fg-muted);margin-top:8px;display:block}.project-header-shell__title-row{align-items:center;gap:12px;display:flex}.project-header-shell__saving{font-size:var(--font-size-sm);color:var(--color-fg-muted);margin-left:8px}.board-card__labels{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.board-card__label-badge{text-transform:none}.dashboard-page-title{margin-bottom:24px}.dashboard-distribution-panel{flex-wrap:wrap;align-items:flex-start;gap:32px;display:flex}.dashboard-distribution-left{flex:1;min-width:220px}.dashboard-distribution-right{flex:1;min-width:280px;height:280px}.dashboard-distribution-desc{color:var(--color-fg-muted);font-size:var(--font-size-md);margin-bottom:24px;line-height:1.6}.dashboard-status-row{border-radius:var(--border-radius-sm);align-items:center;gap:12px;padding:10px 14px;display:flex}.dashboard-status-row--todo{background:#6e76811f}.dashboard-status-row--in-progress{background:#d299221f}.dashboard-status-row--done{background:#3fb9501f}.dashboard-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dashboard-status-label{font-size:var(--font-size-md);flex:1;font-weight:500}.dashboard-status-value{font-weight:700;font-size:var(--font-size-xl)}.dashboard-status-pct{font-size:var(--font-size-sm);color:var(--color-fg-muted);text-align:right;min-width:36px}.dashboard-bottom-row{gap:24px;display:flex}.dashboard-recent-tasks{flex:1}.dashboard-task-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.dashboard-task-item{border-left:4px solid var(--color-accent-emphasis);background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:var(--border-radius-sm);padding:16px}.dashboard-task-item__header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.dashboard-empty{color:var(--color-fg-muted);margin-top:12px}.dashboard-activity-col{flex-direction:column;flex:1;gap:24px;display:flex}.dashboard-activity-scroll{max-height:300px;margin-top:16px;overflow-y:auto}.dashboard-activity-item{border-bottom:1px solid var(--color-border-muted);padding:12px 0}.dashboard-activity-item__action{color:var(--color-fg-muted);font-weight:400}.dashboard-activity-item__detail{font-size:var(--font-size-sm);color:var(--color-fg-muted);margin-top:4px}.dashboard-activity-item__time{font-size:var(--font-size-xs);color:var(--color-fg-muted);margin-top:4px}
