@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";body{margin:0}:root{--bg:oklch(98.5% .005 260);--bg-card:oklch(100% 0 0);--bg-sidebar:oklch(97.5% .004 260);--bg-hover:oklch(96% .006 260);--border:oklch(91% .008 260);--border-light:oklch(94% .006 260);--text-primary:oklch(25% .015 260);--text-secondary:oklch(50% .012 260);--text-muted:oklch(62% .01 260);--status-pending:oklch(65% .01 260);--status-progress:oklch(55% .16 250);--status-review:oklch(62% .16 75);--status-done:oklch(55% .16 155);--status-blocked:oklch(55% .2 25);--status-pending-bg:oklch(96% .005 260);--status-progress-bg:oklch(95% .035 250);--status-review-bg:oklch(95% .035 75);--status-done-bg:oklch(95% .035 155);--status-blocked-bg:oklch(95% .05 25);--priority-p0:oklch(55% .22 25);--priority-p1:oklch(60% .16 60);--priority-p2:oklch(55% .14 250);--accent:oklch(52% .18 260);--progress-fill:oklch(55% .16 155);--font-body:"Figtree", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}.topnav{padding:var(--space-sm) var(--space-xl);border-bottom:1px solid var(--border);background:var(--bg-card);z-index:100;justify-content:space-between;align-items:center;height:48px;display:flex;position:sticky;top:0}.topnav__brand{align-items:center;gap:var(--space-sm);display:flex}.topnav__logo{font-size:18px}.topnav__title{letter-spacing:-.3px;color:var(--text-primary);font-size:15px;font-weight:700}.topnav__center{position:absolute;left:50%;transform:translate(-50%)}.sprint-badge{color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600}.topnav__right{align-items:center;gap:var(--space-sm);display:flex}.last-update{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.live-dot{background:var(--status-done);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse-live}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.4}}.sprint-bar-wrapper{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-light);background:var(--bg-card)}.sprint-bar{justify-content:space-between;align-items:center;gap:var(--space-xl);display:flex}.sprint-bar__left{align-items:center;gap:var(--space-md);flex:1;display:flex}.sprint-name{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:600}.sprint-progress-track{background:var(--bg);border:1px solid var(--border-light);border-radius:99px;flex:1;max-width:280px;height:6px;overflow:hidden}.sprint-progress-fill{background:var(--progress-fill);border-radius:99px;height:100%;transition:width .6s}.sprint-pct{color:var(--progress-fill);font-size:13px;font-weight:700;font-family:var(--font-mono);min-width:36px}.sprint-bar__stats{gap:var(--space-lg);display:flex}.stat{font-size:12px;font-weight:500}.stat--done{color:var(--status-done)}.stat--progress{color:var(--status-progress)}.stat--blocked{color:var(--status-blocked)}.stat--total{color:var(--text-muted)}.mobile-tabs{padding:var(--space-sm) var(--space-lg);gap:var(--space-xs);background:var(--bg-card);border-bottom:1px solid var(--border-light);display:none}.mobile-tab{padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;flex:1;min-height:44px;font-size:13px;font-weight:500;transition:all .15s}.mobile-tab--active{background:var(--text-primary);color:var(--bg-card);border-color:var(--text-primary)}.main-content{flex:1;grid-template-columns:1fr 280px;min-height:0;display:grid}.kanban-board{gap:var(--space-sm);padding:var(--space-lg);grid-template-columns:repeat(5,1fr);align-content:start;display:grid;overflow-x:auto}.kanban-col{flex-direction:column;min-width:0;display:flex}.kanban-col__header{padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.col-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:12px;font-weight:600}.col-count{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);font-size:11px;font-weight:600;font-family:var(--font-mono);border-radius:99px;padding:1px 7px}.kanban-col__body{gap:var(--space-sm);flex-direction:column;display:flex}.col-empty{text-align:center;color:var(--text-muted);padding:var(--space-xl) 0;font-size:12px}.task-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;border-left:3px solid #0000;transition:all .2s}.task-card:hover{background:var(--bg-hover);box-shadow:0 1px 4px oklch(0% 0 0/.06)}.task-card--pending{border-left-color:var(--status-pending);background:var(--status-pending-bg)}.task-card--in-progress{border-left-color:var(--status-progress);background:var(--status-progress-bg)}.task-card--review{border-left-color:var(--status-review);background:var(--status-review-bg)}.task-card--done{border-left-color:var(--status-done);background:var(--status-done-bg)}.task-card--blocked{border-left-color:var(--status-blocked);background:var(--status-blocked-bg);animation:3s ease-in-out infinite pulse-blocked}@keyframes pulse-blocked{0%,to{box-shadow:0 0 oklch(55% .2 25/0)}50%{box-shadow:0 0 0 3px oklch(55% .2 25/.12)}}.task-card__header{margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;display:flex}.task-id{font-family:var(--font-mono);color:var(--text-muted);font-size:11px;font-weight:600}.priority-badge{font-family:var(--font-mono);font-size:11px;font-weight:700}.task-title{color:var(--text-primary);margin-bottom:var(--space-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.task-meta{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.assignee-chip{color:var(--member-color);background:oklch(from var(--member-color) l c h / .1);border-radius:99px;padding:2px 8px;font-size:11px;font-weight:500}.design-tag{color:var(--status-review);background:var(--status-review-bg);border:1px solid oklch(from var(--status-review) l c h / .3);border-radius:99px;padding:2px 7px;font-size:10px;font-weight:600}.attempts-chip{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);border-radius:99px;padding:2px 6px;font-size:10px}.gate-summary{align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);font-size:11px;display:flex}.gate-dot{border-radius:50%;width:6px;height:6px}.gate-dot--pass{background:var(--status-done)}.gate-dot--fail{background:var(--status-blocked)}.gate-dot--infra_error{background:var(--status-review)}.gate-label{color:var(--text-secondary)}.gate-duration{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:10px}.task-expanded{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.gate-detail,.task-history{margin-bottom:var(--space-md)}.gate-detail__title,.task-history__title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:var(--space-sm);font-size:11px;font-weight:700}.gate-check{align-items:flex-start;gap:var(--space-sm);padding:3px 0;font-size:12px;display:flex}.check-icon{font-family:var(--font-mono);text-align:center;flex-shrink:0;width:16px;font-size:12px;font-weight:700}.check-icon--pass{color:var(--status-done)}.check-icon--fail{color:var(--status-blocked)}.check-name{color:var(--text-primary);font-weight:500}.check-output{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin-left:auto;font-size:11px;overflow:hidden}.fail-reason{margin-top:var(--space-sm);color:var(--status-blocked);background:oklch(from var(--status-blocked) l c h / .06);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:12px;line-height:1.4}.history-item{align-items:baseline;gap:var(--space-sm);padding:2px 0;font-size:11px;display:flex}.history-time{font-family:var(--font-mono);color:var(--text-muted);min-width:48px;font-size:10px}.history-actor{min-width:56px;font-weight:600}.history-msg{color:var(--text-secondary)}.sidebar{border-left:1px solid var(--border);background:var(--bg-sidebar);max-height:calc(100vh - 120px);position:sticky;top:48px;overflow-y:auto}.activity-feed{padding:var(--space-lg)}.activity-feed__title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:var(--space-md);font-size:12px;font-weight:700}.activity-feed__list{gap:var(--space-md);flex-direction:column;display:flex}.activity-item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border-left:2px solid var(--border);background:var(--bg-card)}.activity-item--success{border-left-color:var(--status-done)}.activity-item--warning{border-left-color:var(--status-review)}.activity-item--critical{border-left-color:var(--status-blocked)}.activity-item__row{align-items:center;gap:var(--space-sm);margin-bottom:2px;display:flex}.activity-actor{font-size:12px;font-weight:600}.activity-task-id{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg);border:1px solid var(--border-light);border-radius:3px;padding:1px 5px;font-size:10px}.activity-time{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:10px}.activity-msg{color:var(--text-secondary);font-size:12px;line-height:1.4}.members-panel{padding:var(--space-lg)}.members-view{gap:var(--space-md);flex-direction:column;display:flex}.member-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.member-card__header{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-left:3px solid;display:flex}.member-card__emoji{font-size:16px}.member-card__name{color:var(--text-primary);font-size:14px;font-weight:700}.member-card__counts{gap:var(--space-sm);margin-left:auto;display:flex}.mc-stat{border-radius:99px;padding:2px 7px;font-size:11px;font-weight:600}.mc-active{color:var(--status-progress);background:var(--status-progress-bg)}.mc-done{color:var(--status-done);background:var(--status-done-bg)}.mc-blocked{color:var(--status-blocked);background:var(--status-blocked-bg)}.member-card__tasks{padding:0 var(--space-lg) var(--space-md)}.member-task-row{align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;border-bottom:1px solid var(--border-light);font-size:12px;display:flex}.member-task-row:last-child{border-bottom:none}.mt-id{font-family:var(--font-mono);color:var(--text-muted);min-width:24px;font-size:11px}.mt-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.mt-status{white-space:nowrap;border-radius:99px;padding:2px 7px;font-size:10px;font-weight:600}.mt-status--pending{color:var(--status-pending);background:var(--status-pending-bg)}.mt-status--in-progress{color:var(--status-progress);background:var(--status-progress-bg)}.mt-status--review{color:var(--status-review);background:var(--status-review-bg)}.mt-status--done{color:var(--status-done);background:var(--status-done-bg)}.mt-status--blocked{color:var(--status-blocked);background:var(--status-blocked-bg)}.mt-empty{color:var(--text-muted);padding:var(--space-sm) 0;font-size:12px}.footer{padding:var(--space-sm) var(--space-xl);border-top:1px solid var(--border);background:var(--bg-card)}.member-bar{gap:var(--space-xl);align-items:center;display:flex}.member-load{align-items:center;gap:var(--space-xs);flex:1;display:flex}.member-emoji{font-size:14px}.member-name{color:var(--text-secondary);min-width:52px;font-size:12px;font-weight:600}.load-track{background:var(--bg);border-radius:99px;flex:1;min-width:40px;height:4px;overflow:hidden}.load-fill{border-radius:99px;height:100%;transition:width .4s}.load-count{font-family:var(--font-mono);text-align:right;min-width:16px;font-size:12px;font-weight:700}@media (width<=768px){.topnav{padding:var(--space-sm) var(--space-lg)}.topnav__center{display:none}.mobile-tabs{display:flex}.main-content{display:block}.kanban-board{padding:var(--space-md);grid-template-columns:1fr}.kanban-col:has(.kanban-col__body>.col-empty:only-child){display:none}.sidebar{border-left:none;border-top:1px solid var(--border);max-height:none;position:static}.footer{display:none}.mobile-hidden{display:none!important}.mobile-visible{display:block!important}.mobile-visible.kanban-board{display:grid!important}.sprint-bar{gap:var(--space-sm);flex-direction:column;align-items:flex-start}.sprint-bar__stats{gap:var(--space-md)}.sprint-progress-track{max-width:100%}.members-panel{border-left:none}}@media (width>=769px){.mobile-tabs,.members-panel{display:none}}
