:root{--color-code-background:#1a1c1c1a;--color-background:#f9f9f9;--color-surface:#f9f9f9;--color-surface-bright:#fff;--color-surface-dim:#dadada;--color-surface-container-lowest:#fff;--color-surface-container-low:#f3f3f3;--color-surface-container:#eee;--color-surface-container-high:#e8e8e8;--color-surface-container-highest:#e2e2e2;--color-surface-variant:#e2e2e2;--color-on-background:#1a1c1c;--color-on-surface:#1a1c1c;--color-on-surface-variant:#4c4546;--color-primary:#000;--color-on-primary:#fff;--color-primary-container:#1b1b1b;--color-on-primary-container:#848484;--color-secondary:#62603d;--color-on-secondary:#fff;--color-secondary-container:#e9e4b8;--color-on-secondary-container:#686643;--color-outline:#7e7576;--color-outline-variant:#cfc4c5;--color-error:#ba1a1a;--color-on-error:#fff;--color-error-container:#ffdad6;--color-on-error-container:#93000a;--color-lemon:#fffacd;--color-lemon-border:#e6e2b8;--color-on-lemon:#1a1c1c;--color-text:var(--color-on-surface);--color-text-muted:var(--color-on-surface-variant);--color-text-subtle:var(--color-outline);--color-border:var(--color-outline-variant);--color-border-strong:#1a1c1c;--color-focus-ring:#000;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Lexend", "Inter", -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Consolas, monospace;--type-h1-size:48px;--type-h1-weight:600;--type-h1-line:1.1;--type-h1-tracking:-.02em;--type-h2-size:32px;--type-h2-weight:500;--type-h2-line:1.2;--type-h2-tracking:-.01em;--type-h3-size:24px;--type-h3-weight:500;--type-h3-line:1.2;--type-h3-tracking:0;--type-body-lg-size:18px;--type-body-lg-line:1.6;--type-body-md-size:16px;--type-body-md-line:1.6;--type-body-sm-size:14px;--type-body-sm-line:1.5;--type-label-size:12px;--type-label-weight:700;--type-label-line:1;--type-label-tracking:.1em;--space-unit:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-stack-sm:var(--space-3);--space-stack-md:var(--space-6);--space-stack-lg:var(--space-16);--space-gutter:var(--space-6);--space-margin:var(--space-12);--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-pill:999px}*{box-sizing:border-box}html{font-family:var(--font-body);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line);color:var(--color-on-background);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-on-surface);margin:0 0 .5em}h1{font-size:var(--type-h1-size);font-weight:var(--type-h1-weight);line-height:var(--type-h1-line);letter-spacing:var(--type-h1-tracking)}h2{font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);line-height:var(--type-h2-line);letter-spacing:var(--type-h2-tracking)}h3{font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line);letter-spacing:var(--type-h3-tracking)}a{color:var(--color-primary)}.app-shell{background:var(--color-background);flex-direction:column;min-height:100vh;display:flex}.app-nav{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-10);border-bottom:1px solid var(--color-border);background:var(--color-surface-container-lowest);flex-wrap:wrap;display:flex}.app-search{flex:1;max-width:24rem}.app-search input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--type-body-sm-size);background:var(--color-surface-container-low);border:1px solid var(--color-border);border-radius:var(--radius-md)}.app-nav-left{gap:var(--space-8);align-items:center;display:flex}.app-nav-left nav{gap:var(--space-2);display:flex}.app-nav-left a{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-on-surface-variant);padding:var(--space-2) var(--space-3);border:1px solid #0000;text-decoration:none}.app-nav-left a:hover{color:var(--color-on-surface);border-color:var(--color-border)}.app-nav-left a.active{color:var(--color-on-surface);border-color:var(--color-border-strong)}.app-brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-on-surface);font-size:18px;font-weight:700}.app-nav-right{gap:var(--space-3);font-size:var(--type-body-sm-size);align-items:center;display:flex}.app-user{color:var(--color-on-surface-variant)}.app-main{padding:var(--space-8) var(--space-10);flex:1;width:100%;max-width:1280px;margin:0 auto}main.auth{max-width:400px;padding:var(--space-10);text-align:center;margin:8rem auto}main.auth h1{font-size:var(--type-h2-size);margin-bottom:var(--space-3)}button{font:inherit;font-size:var(--type-body-sm-size);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-container-lowest);color:var(--color-on-surface);cursor:pointer;transition:background .1s,color .1s}button:hover:not(:disabled){background:var(--color-surface-container)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}button.primary:hover:not(:disabled){background:var(--color-primary-container)}button.ghost{color:var(--color-on-surface-variant);padding:var(--space-1) var(--space-2);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--color-surface-container);color:var(--color-on-surface)}button.danger{border-color:var(--color-error);color:var(--color-error);background:var(--color-surface-container-lowest)}button.danger:hover:not(:disabled){background:var(--color-error-container)}input,select,textarea{font:inherit;font-size:var(--type-body-md-size);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-container-lowest);color:var(--color-on-surface)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-focus-ring);outline-offset:-1px;border-color:var(--color-focus-ring)}textarea{font-family:var(--font-body);font-size:var(--type-body-md-size);line-height:var(--type-body-md-line);resize:vertical;width:100%;min-height:8rem}.quick-add{margin-bottom:var(--space-6)}.quick-add input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--type-body-lg-size);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-container-lowest)}.quick-add input::placeholder{color:var(--color-text-subtle)}.list-toolbar{margin-bottom:var(--space-3);font-size:var(--type-body-sm-size);justify-content:space-between;align-items:center;display:flex}.checkbox{gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-on-surface-variant);align-items:center;display:inline-flex}.count{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle)}.ticket-table{border-collapse:collapse;width:100%;font-size:var(--type-body-sm-size);background:var(--color-surface-container-lowest);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.ticket-table th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-strong);font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-on-surface-variant);background:var(--color-surface-container-low)}.ticket-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.ticket-table tr:last-child td{border-bottom:none}.ticket-table tr.clickable{cursor:pointer}.ticket-table tr.clickable:hover td{background:var(--color-surface-container-low)}.ticket-table .title-cell{text-overflow:ellipsis;white-space:nowrap;max-width:24rem;font-weight:500;overflow:hidden}.ticket-table th:has(.sort-header){padding:0}.sort-header{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);cursor:pointer;font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-on-surface-variant);text-align:left;white-space:nowrap;background:0 0;border:none;display:flex}.sort-header:hover,.sort-header.active{color:var(--color-on-surface)}.sort-arrow{opacity:.35;font-size:.8em;font-style:normal;line-height:1}.sort-header.active .sort-arrow{opacity:1}.mono{font-family:var(--font-mono);color:var(--color-on-surface-variant);font-size:.85em}.muted{color:var(--color-text-muted)}.empty{padding:var(--space-12) 0;text-align:center;color:var(--color-text-muted)}.error{color:var(--color-on-error-container);padding:var(--space-2) var(--space-4);background:var(--color-error-container);border:1px solid var(--color-error);margin:var(--space-2) 0;font-size:var(--type-body-sm-size)}.overdue{color:var(--color-error);font-weight:500}.badge{padding:var(--space-1) var(--space-3);font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);white-space:nowrap;background:var(--color-surface-container-lowest);color:var(--color-on-surface);display:inline-block}.status-todo{background:var(--color-surface-container-lowest);color:var(--color-on-surface-variant);border-color:var(--color-border)}.status-in_progress{background:var(--color-lemon);color:var(--color-on-lemon);border-color:var(--color-lemon-border)}.status-in_verification{background:var(--color-secondary-container);color:var(--color-on-secondary-container);border-color:var(--color-secondary)}.status-done{background:var(--color-surface-container-highest);color:var(--color-on-surface-variant);border-color:var(--color-border)}.priority-low{background:var(--color-surface-container-lowest);color:var(--color-text-subtle);border-color:var(--color-border)}.priority-medium{background:var(--color-surface-container-lowest);color:var(--color-on-surface);border-color:var(--color-border-strong)}.priority-high{background:var(--color-error-container);color:var(--color-on-error-container);border-color:var(--color-error)}.tags,.inline-tags{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:inline-flex}.tag{padding:var(--space-1) var(--space-2);background:var(--color-secondary-container);color:var(--color-on-secondary-container);border:1px solid var(--color-lemon-border);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;align-items:center;display:inline-flex}.tag.removable{padding-right:var(--space-1);gap:var(--space-1)}.tag-remove{color:inherit;padding:0 var(--space-1);cursor:pointer;opacity:.6;background:0 0;border:none;font-size:14px;line-height:1}.tag-remove:hover:not(:disabled){opacity:1;background:var(--color-code-background)}.tag-input{width:6rem;padding:var(--space-1) var(--space-2);font-family:var(--font-display);font-size:var(--type-label-size);border:1px dashed var(--color-outline);border-radius:var(--radius-pill)}.tag-add{font-family:var(--font-display)!important;font-size:var(--type-label-size)!important;font-weight:var(--type-label-weight)!important;letter-spacing:var(--type-label-tracking)!important;text-transform:uppercase!important;color:var(--color-text-subtle)!important;border:1px dashed var(--color-border)!important;border-radius:var(--radius-pill)!important;padding:var(--space-1) var(--space-2)!important;background:0 0!important}.tag-add:hover:not(:disabled){background:var(--color-surface-container-low)!important;color:var(--color-on-surface)!important}.inline-edit{cursor:pointer;padding:var(--space-1) var(--space-2);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2));border-radius:var(--radius-md);min-width:4rem;display:inline-block}.inline-edit:hover{background:var(--color-surface-container-low)}.inline-edit:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.inline-edit.placeholder{color:var(--color-text-subtle);font-style:italic}.inline-edit.editing{background:0 0;margin:0;padding:0}.inline-edit.editing input,.inline-edit.editing select{font:inherit;width:auto;min-width:8rem}.inline-edit.title input{font-family:var(--font-display);font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);letter-spacing:var(--type-h2-tracking);width:100%}.inline-edit-block{cursor:pointer;padding:var(--space-3) var(--space-4);margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-4));border-radius:var(--radius-md);min-height:2rem}.inline-edit-block:hover{background:var(--color-surface-container-low)}.inline-edit-block.placeholder{color:var(--color-text-subtle);font-style:italic}.inline-edit-block.editing{background:0 0;margin:0;padding:0}.inline-edit-block.editing textarea{width:100%}.inline-error{color:var(--color-error);font-size:var(--type-body-sm-size);margin-left:var(--space-2)}.hint{margin:var(--space-1) 0 0;font-size:var(--type-body-sm-size);color:var(--color-text-subtle)}.editor-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.editor-toolbar .hint{margin:0}.image-loading,.image-error{font-size:var(--type-body-sm-size);font-style:italic;display:inline-block}.image-error{color:var(--color-error)}.markdown img{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:100%;height:auto;margin:var(--space-2) 0}.markdown{line-height:var(--type-body-md-line);font-size:var(--type-body-md-size)}.markdown p:first-child{margin-top:0}.markdown p:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{margin-top:1.25em;margin-bottom:.5em}.markdown code{font-family:var(--font-mono);background:var(--color-surface-container);padding:.125rem var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875em}.markdown pre{background:var(--color-surface-container);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.markdown pre code{background:0 0;border:none;padding:0}.markdown ul,.markdown ol{padding-left:1.5rem}.markdown blockquote{border-left:3px solid var(--color-border-strong);padding-left:var(--space-3);color:var(--color-on-surface-variant);margin-left:0}.markdown table{border-collapse:collapse;margin:var(--space-2) 0}.markdown th,.markdown td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3)}.markdown th{background:var(--color-surface-container)}.ticket-detail{max-width:56rem}.ticket-header{margin-bottom:var(--space-8)}.ticket-key-row{gap:var(--space-4);margin-bottom:var(--space-2);font-size:var(--type-body-sm-size);align-items:center;display:flex}.back-link{color:var(--color-on-surface-variant);text-decoration:none}.back-link:hover{color:var(--color-on-surface)}.ticket-key{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle)}.ticket-detail h1{font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);letter-spacing:var(--type-h2-tracking);margin:0}.meta-grid{gap:var(--space-3) var(--space-6);margin:0 0 var(--space-12);padding:var(--space-6) 0;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border);grid-template-columns:max-content 1fr;align-items:baseline;display:grid}.meta-grid dt{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle)}.meta-grid dd{margin:0}.description-section{margin:var(--space-12) 0}.description-section h2{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-3)}.epic-tickets{margin:var(--space-12) 0}.epic-tickets h2{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-3)}.ticket-actions{align-items:center;gap:var(--space-3);padding-top:var(--space-12);border-top:1px solid var(--color-border);display:flex}.ticket-links{margin:var(--space-12) 0}.ticket-links h2{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-4)}.link-group{margin-bottom:var(--space-4)}.link-group h3{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-on-surface-variant);margin:0 0 var(--space-1)}.link-group ul{margin:0;padding:0;list-style:none}.link-row{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;display:flex}.link-target{align-items:center;gap:var(--space-3);color:inherit;padding:var(--space-1) var(--space-2);flex:1;min-width:0;text-decoration:none;display:flex}.link-target:hover{background:var(--color-surface-container-low)}.link-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.link-remove{opacity:.5;font-size:14px;line-height:1;padding:.125rem var(--space-2)!important}.link-remove:hover{opacity:1}.add-link-row{gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-container-low);flex-wrap:wrap;align-items:center;display:flex}.add-link-row select{font-size:var(--type-body-sm-size)}.add-link-row select:nth-of-type(2){flex:1;min-width:16rem}.add-link-button{margin-top:var(--space-2);font-family:var(--font-display)!important;font-size:var(--type-label-size)!important;font-weight:var(--type-label-weight)!important;letter-spacing:var(--type-label-tracking)!important;text-transform:uppercase!important;border:1px dashed var(--color-border)!important;border-radius:var(--radius-md)!important;padding:var(--space-2) var(--space-3)!important;color:var(--color-text-subtle)!important;background:0 0!important}.add-link-button:hover{background:var(--color-surface-container-low)!important;color:var(--color-on-surface)!important}.ticket-stream{margin:var(--space-12) 0}.ticket-stream h2{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-4)}.stream-list{margin:0 0 var(--space-6);gap:var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex}.stream-list>li{margin:0}.activity-item{font-size:var(--type-body-sm-size);color:var(--color-text-muted);padding:var(--space-1) 0;line-height:1.5}.activity-actor,.activity-body strong{color:var(--color-on-surface);font-weight:500}.activity-time{font-size:var(--type-body-sm-size)}.activity-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:2px}.activity-link:hover{color:var(--color-on-surface);-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.comment{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-surface-container-lowest)}.comment-header{gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--type-body-sm-size);align-items:baseline;display:flex}.comment-author{color:var(--color-on-surface);font-weight:600}.comment-meta{font-size:12px}.comment-body{font-size:var(--type-body-md-size)}.comment-edit textarea{width:100%}.comment-edit-actions,.comment-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.comment-actions button{padding:.125rem var(--space-2);font-size:12px}.new-comment{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);background:var(--color-surface-container-lowest)}.new-comment textarea{resize:vertical;background:0 0;border:none;width:100%;min-height:4rem;padding:0}.new-comment textarea:focus{outline:none}.new-comment-actions{gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);align-items:center;display:flex}.filter-bar{gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-surface-container-low);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.filter-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.filter-label{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle);min-width:4.5rem}.filter-chip{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-container-lowest);color:var(--color-text-muted)}.filter-chip:hover:not(:disabled){border-color:var(--color-border-strong);color:var(--color-on-surface)}.filter-chip.active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.filter-row select{font-size:var(--type-body-sm-size);padding:var(--space-1) var(--space-2);min-width:8rem}.view-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.view-toggle-btn{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;padding:var(--space-2) var(--space-3);background:var(--color-surface-container-lowest);color:var(--color-text-muted);border:none;border-radius:0}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--color-border)}.view-toggle-btn:hover:not(:disabled){background:var(--color-surface-container);color:var(--color-on-surface)}.view-toggle-btn.active{background:var(--color-primary);color:var(--color-on-primary)}.board{gap:var(--space-4);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.board-column{background:var(--color-surface-container-low);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);min-height:12rem;transition:background .1s,border-color .1s}.board-column.drop-target{background:var(--color-secondary-container);border-color:var(--color-border-strong)}.board-column-header{margin-bottom:var(--space-3);padding:0 var(--space-1);justify-content:space-between;align-items:center;display:flex}.board-column-label{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-on-surface)}.board-column-count{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);color:var(--color-text-subtle)}.board-column-body{gap:var(--space-2);flex-direction:column;display:flex}.board-column-empty{text-align:center;font-size:var(--type-body-sm-size);padding:var(--space-6) 0}.board-card{background:var(--color-surface-container-lowest);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);cursor:grab;flex-direction:column;transition:border-color .1s,transform .1s;display:flex}.board-card:hover{border-color:var(--color-border-strong)}.board-card:active{cursor:grabbing}.board-card.dragging{opacity:.4;transform:scale(.98)}.board-card-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.board-card-key{font-size:12px}.board-card-title{font-size:var(--type-body-md-size);color:var(--color-on-surface);margin:0;font-weight:500;line-height:1.4}.board-card-bottom{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:12px;display:flex}.board-card-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-card-status{padding:var(--space-1) var(--space-2);margin-top:var(--space-1);font-size:12px}.search-header{margin-bottom:var(--space-6)}.search-form{gap:var(--space-2);display:flex}.search-form input{padding:var(--space-3) var(--space-4);font-size:var(--type-body-md-size);flex:1}.search-results{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.search-result{background:var(--color-surface-container-lowest);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;gap:var(--space-2);flex-direction:column;transition:border-color .1s;display:flex}.search-result:hover,.search-result:focus-visible{border-color:var(--color-border-strong);outline:none}.search-result-top{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.search-result-title{font-size:var(--type-body-lg-size);margin:0;font-weight:500}.search-result-desc{font-size:var(--type-body-sm-size);margin:0;line-height:1.5}.search-result-bottom{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:12px;display:flex}.skeleton{background:linear-gradient(90deg, var(--color-surface-container) 0%, var(--color-surface-container-high) 50%, var(--color-surface-container) 100%);border-radius:var(--radius-md);background-size:600px 100%;animation:1.4s linear infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:-300px 0}to{background-position:600px 0}}.skeleton-row{height:3rem;margin-bottom:var(--space-2)}@media (width<=1024px){.app-main{padding:var(--space-6) var(--space-6)}}@media (width<=768px){.app-shell{font-size:15px}.app-nav{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.app-nav-left{gap:var(--space-3);flex:1;min-width:0}.app-nav-left nav{gap:var(--space-1)}.app-nav-left a{padding:var(--space-1) var(--space-2)}.app-search{flex-basis:100%;order:3;max-width:none}.app-nav-right{gap:var(--space-2)}.app-user{display:none}.app-main{padding:var(--space-4) var(--space-3)}button{min-height:44px;padding:var(--space-2) var(--space-4)}button.ghost,.filter-chip,.view-toggle-btn{min-height:36px}.quick-add input{font-size:16px}.filter-bar{padding:var(--space-3);gap:var(--space-3)}.filter-label{min-width:100%;margin-bottom:calc(-1 * var(--space-1))}.filter-row select{flex:1;min-width:0}.list-toolbar{gap:var(--space-3);flex-wrap:wrap}.ticket-table{background:0 0;border:none}.ticket-table thead{display:none}.ticket-table tbody,.ticket-table tr,.ticket-table td{width:100%;display:block}.ticket-table tr{background:var(--color-surface-container-lowest);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);margin-bottom:var(--space-2)}.ticket-table tr.clickable:hover td{background:0 0}.ticket-table td{padding:var(--space-1) 0;border-bottom:none}.ticket-table td:empty{display:none}.ticket-table td:before{content:attr(data-label);min-width:5.5rem;font-family:var(--font-display);font-size:11px;font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--color-text-subtle);margin-right:var(--space-2);display:inline-block}.ticket-table .title-cell{font-size:var(--type-body-md-size);white-space:normal;max-width:none}.ticket-table .title-cell:before{display:none}.board{scroll-snap-type:x mandatory;padding-bottom:var(--space-3);margin:0 calc(-1 * var(--space-3));padding-left:var(--space-3);padding-right:var(--space-3);grid-template-columns:none;grid-auto-columns:85vw;grid-auto-flow:column;overflow-x:auto}.board-column{scroll-snap-align:start}.meta-grid{gap:var(--space-1) 0;grid-template-columns:1fr}.meta-grid dt{margin-top:var(--space-3)}.meta-grid dt:first-child{margin-top:0}.ticket-detail h1{font-size:24px}.add-link-row{flex-direction:column;align-items:stretch}.add-link-row select,.add-link-row select:nth-of-type(2){width:100%;min-width:0}.comment{padding:var(--space-3)}.search-form{flex-direction:column}.search-form button{align-self:flex-start}}@media (width<=480px){.app-brand{font-size:16px}.app-nav-left{gap:var(--space-2)}.ticket-detail h1{font-size:20px}.board{grid-auto-columns:90vw}}.auth-form{gap:var(--space-3);text-align:left;display:grid}.auth-form input{width:100%;min-width:0}.auth-form button{margin-top:var(--space-3)}.agent-tokens{max-width:48rem}.agent-tokens .auth-form{max-width:28rem}.token-secret{margin:var(--space-6) 0;padding:var(--space-4);background:var(--color-lemon)}.token-secret input{width:100%;font-family:var(--font-mono);margin:var(--space-3) 0}.agent-token-list{padding:0;list-style:none}.agent-token-list li{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.agent-tokens code{overflow-wrap:anywhere}@media (width<=768px){.app-nav-left{flex-direction:column;align-items:flex-start}.app-nav-left nav{flex-wrap:wrap}.app-nav-right{align-self:flex-start}}.agent-tokens h2{margin-top:var(--space-8)}
