:root{--bg-base:#0d1117;--bg-surface:#161b22;--bg-surface-hover:#1c2128;--bg-elevated:#21262d;--border-default:#30363d;--border-muted:#21262d;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#6e7681;--accent-blue:#388bfd;--accent-green:#2ea043;--accent-amber:#d29922;--accent-red:#f85149;--accent-purple:#bc8cff;--link:#4493f8;--radius:8px;--radius-sm:6px;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body,html{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column}.header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--bg-surface);border-bottom:1px solid var(--border-default);padding:12px 24px}.header-row{justify-content:space-between;gap:16px}.header-row,.header-title{display:flex;align-items:center}.header-title{font-size:18px;font-weight:600;gap:10px}.header-title .logo{font-size:22px}.header-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.tab-nav{display:flex;gap:4px;margin-top:10px}.tab{padding:6px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border:1px solid transparent;background:none;transition:all .15s}.tab:hover{background:var(--bg-surface-hover)}.tab.active,.tab:hover{color:var(--text-primary)}.tab.active{background:var(--bg-elevated);border-color:var(--border-default)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:600;background:var(--accent-blue);color:white;margin-left:6px}.tab-badge.clear{background:var(--accent-green)}.content{max-width:960px;margin:0 auto;padding:24px 16px;width:100%;flex:1 1}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius);padding:16px;margin-bottom:12px;transition:border-color .15s}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--text-muted)}.card.read{opacity:.6}.card-row{display:flex;align-items:flex-start;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-secondary);overflow:hidden}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.author-block{flex:1 1;min-width:0}.author-name{font-weight:600;font-size:14px;color:var(--text-primary)}.author-handle{color:var(--text-muted);font-size:12px;margin-left:6px}.card-top-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.author-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.card-title{font-size:15px;font-weight:600;margin-top:10px;color:var(--text-primary)}.card-body{font-size:13px;color:var(--text-secondary);margin-top:8px;white-space:pre-wrap;word-break:break-word}.card-body.truncated{max-height:120px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,black 80%,transparent);mask-image:linear-gradient(180deg,black 80%,transparent)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag{font-size:11px;padding:2px 8px;border-radius:12px;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-muted)}.tag.draft{color:var(--accent-amber);border-color:var(--accent-amber)}.source-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);color:white;text-decoration:none}.source-badge.github{background:#24292f}.source-badge.discord{background:#5865f2}.human-id{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);background:var(--bg-elevated);padding:1px 6px;border-radius:4px;border:1px solid var(--border-muted)}.mark-read-icon{cursor:pointer;color:var(--text-muted);font-size:16px;padding:2px;border-radius:4px;transition:all .15s}.mark-read-icon:hover{color:var(--accent-green);background:var(--bg-elevated)}.detail-page{max-width:800px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-surface);margin-bottom:16px}.back-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.card-body.full{max-height:none;-webkit-mask-image:none;mask-image:none}.draft-section{margin-top:16px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius);padding:16px}.draft-header{justify-content:space-between;cursor:pointer}.draft-header,.draft-title{display:flex;align-items:center}.draft-title{font-weight:600;font-size:14px;gap:8px}.draft-body{margin-top:12px;white-space:pre-wrap;font-size:13px;line-height:1.6}.copy-btn,.draft-body{color:var(--text-secondary)}.copy-btn{font-size:12px;padding:4px 10px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-default);cursor:pointer}.copy-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.copy-btn.copied{color:var(--accent-green);border-color:var(--accent-green)}.create-case-section{margin-top:16px}.create-case-section textarea{width:100%;min-height:60px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:10px;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);resize:vertical}.create-case-section textarea:focus{outline:none;border-color:var(--accent-blue)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s}.btn-primary{background:var(--accent-blue);color:white}.btn-primary:hover{background:#4493f8}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover{border-color:var(--text-muted)}.btn-danger{background:var(--accent-red);color:white}.btn-danger:hover{opacity:.9}.q-card{background:var(--bg-surface);border:1px solid var(--border-default);border-left:3px solid var(--text-muted);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color .15s}.q-card:hover{border-color:var(--text-muted)}.q-card.priority-critical{border-left-color:var(--accent-red)}.q-card.priority-high{border-left-color:var(--accent-amber)}.q-card.priority-normal{border-left-color:var(--accent-blue)}.q-card.priority-low{border-left-color:var(--text-muted)}.q-card.overdue{border-left-color:var(--accent-red)}.q-card.resolved{opacity:.6}.q-card-row{display:flex;gap:12px}.q-card-left{flex-shrink:0}.q-card-main{flex:1 1;min-width:0}.q-card-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.q-card-title{font-size:14px;font-weight:600;margin-top:6px}.q-card-title,.q-card-title a{color:var(--text-primary)}.q-card-title a:hover{color:var(--link)}.q-card-blocked{font-size:12px;color:var(--accent-amber);margin-top:4px}.q-card-blocked.muted,.q-card-meta{color:var(--text-muted)}.q-card-meta{font-size:12px;margin-top:4px}.q-priority{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;margin-left:auto}.q-priority.critical{background:rgba(248,81,73,.15);color:var(--accent-red)}.q-priority.high{background:rgba(210,153,34,.15);color:var(--accent-amber)}.q-priority.normal{background:rgba(56,139,253,.15);color:var(--accent-blue)}.q-priority.low{background:rgba(110,118,129,.15);color:var(--text-muted)}.q-status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.q-status-badge.open{background:rgba(56,139,253,.15);color:var(--accent-blue)}.q-status-badge.in_progress{background:rgba(188,140,255,.15);color:var(--accent-purple)}.q-status-badge.waiting{background:rgba(210,153,34,.15);color:var(--accent-amber)}.q-status-badge.resolved{background:rgba(46,160,67,.15);color:var(--accent-green)}.q-status-badge.wont_fix{background:rgba(110,118,129,.15);color:var(--text-muted)}.overdue-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;background:rgba(248,81,73,.15);color:var(--accent-red)}.case-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.q-stat{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px 14px;text-align:center}.q-stat-value{font-size:18px;font-weight:700;color:var(--text-primary)}.q-stat-label{font-size:11px;color:var(--text-muted);margin-top:2px}.filters{display:flex;gap:10px;align-items:center;margin-bottom:16px}.filters select{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 10px;color:var(--text-primary);font-size:13px}.filters select:focus{outline:none;border-color:var(--accent-blue)}.filter-count{font-size:12px;color:var(--text-muted);margin-left:auto}.case-timeline{margin-top:20px}.timeline-item{display:flex;gap:12px;padding-bottom:16px;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:var(--border-default)}.timeline-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary);z-index:1}.timeline-icon.created{color:var(--accent-blue)}.timeline-icon.note{color:var(--accent-amber)}.timeline-icon.status_change{color:var(--accent-purple)}.timeline-icon.resolved{color:var(--accent-green)}.timeline-content{flex:1 1}.timeline-label{font-size:13px;font-weight:500;color:var(--text-primary)}.timeline-time{font-size:11px;color:var(--text-muted);margin-top:2px}.timeline-note{font-size:13px;color:var(--text-secondary);margin-top:4px;white-space:pre-wrap}.case-detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:16px}.case-detail-row{display:flex;flex-direction:column;gap:2px}.case-detail-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.case-detail-value{font-size:13px;color:var(--text-primary)}.resolution-note{background:rgba(46,160,67,.1);border:1px solid rgba(46,160,67,.3);border-radius:var(--radius-sm);padding:10px 14px;margin-top:12px;font-size:13px;color:var(--accent-green)}.close-case-section{margin-top:20px}.close-case-section textarea{width:100%;min-height:80px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:10px;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);resize:vertical;margin-bottom:10px}.close-case-actions{display:flex;gap:8px}.skeleton-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius);padding:16px;margin-bottom:12px}.skeleton-line{height:12px;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-surface-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;border-radius:6px;animation:shimmer 1.5s infinite;margin-bottom:8px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:65%}.skeleton-line.long{width:85%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state .empty-icon{font-size:32px;margin-bottom:12px}.empty-state .empty-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.empty-state .empty-sub{font-size:13px}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base)}.auth-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius);padding:32px;text-align:center;max-width:360px}.auth-card h1{font-size:22px;margin-bottom:8px}.auth-card p{color:var(--text-muted);font-size:13px;margin-bottom:20px}.auth-card .btn{width:100%;justify-content:center}.login-link{color:var(--accent-blue);text-decoration:none;font-weight:500}.login-link:hover{text-decoration:underline}.user-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.user-info img{width:24px;height:24px;border-radius:50%}@media (max-width:640px){.content{padding:16px 12px}.header{padding:10px 16px}.case-detail-grid{grid-template-columns:1fr}.card-row{flex-direction:row}.filters{flex-direction:column;align-items:stretch}.filter-count{margin-left:0}}