:root{--accent: #233dff;--accent-soft: rgba(35, 61, 255, .12);--on-accent: #ffffff;--bg: #fafafa;--surface: #ffffff;--border: #e4e4e7;--border-strong: #d4d4d8;--text: #18181b;--muted: #71717a;--error: #b00020;--error-soft: rgba(176, 0, 32, .12);--success: #1a7f37;--font-ui: "Inter Tight", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--font-wordmark: "Bricolage Grotesque", var(--font-ui)}@media(prefers-color-scheme:dark){:root{--accent: #ffba08;--accent-soft: rgba(255, 186, 8, .16);--on-accent: #1c1917;--bg: #18181b;--surface: #232327;--border: #3f3f46;--border-strong: #52525b;--text: #f4f4f5;--muted: #a1a1aa;--error: #ff8389;--error-soft: rgba(255, 131, 137, .16);--success: #57ab5a}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}main{padding:16px 16px 32px;max-width:480px;margin:0 auto}.wordmark{font-family:var(--font-wordmark);font-weight:500;font-size:20px;letter-spacing:-.045em;margin:0;line-height:1}.topbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border)}.eyebrow{font-family:var(--font-mono);font-weight:500;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}.section-gap{margin-top:16px}.section{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.section>.menu-item{border:none;border-radius:0;background:none}.section-body{padding:0 12px 12px;border-top:1px solid var(--border)}.section-body .card{background:var(--bg)}.crumbs{display:flex;align-items:center;gap:10px;margin-top:12px}.crumbs .eyebrow{margin:0}.btn{font-family:var(--font-ui);font-weight:600;font-size:13px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:7px 14px;cursor:pointer;transition:border-color .15s,background .15s,opacity .15s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);width:100%;padding:10px 14px;font-size:14px}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-sm{font-size:12px;padding:4px 10px;font-weight:500}.btn-ghost{border-color:transparent;background:transparent;color:var(--muted);font-weight:500}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:12px 14px;font-family:var(--font-ui);font-size:13px;cursor:default;transition:border-color .15s,box-shadow .15s}.menu-item+.menu-item{margin-top:8px}.menu-item:hover:not(:disabled){border-color:var(--accent);box-shadow:0 1px 6px #00000014}.menu-item:disabled{cursor:default;color:var(--muted)}.menu-item .menu-body{flex:1;min-width:0}.menu-item .menu-title{font-weight:600;display:flex;align-items:center;gap:8px}.menu-item .menu-desc{color:var(--muted);font-size:12px;margin-top:2px}.menu-item .chevron{color:var(--muted);font-size:16px;line-height:1;transition:transform .15s ease}.menu-item[aria-expanded=true] .chevron{transform:rotate(90deg)}.badge{font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;white-space:nowrap}.card{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:12px 14px;margin-top:12px}.card-accent{border-left:3px solid var(--accent)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-title{font-weight:600;font-size:13px}.card p{margin:6px 0 0;white-space:pre-wrap}.placeholder{color:var(--muted);font-style:italic}.md{margin-top:6px;font-size:12.5px;line-height:1.5}.md>:first-child{margin-top:0}.md p{margin:8px 0 0;white-space:normal}.md h1,.md h2,.md h3,.md h4{font-size:12.5px;font-weight:600;margin:12px 0 0}.md ul,.md ol{margin:6px 0 0;padding-left:18px}.md li{margin-top:4px}.md blockquote{margin:8px 0 0;padding-left:10px;border-left:3px solid var(--border);color:var(--muted)}.md table{border-collapse:collapse;margin-top:8px;font-size:11.5px;display:block;max-width:100%;overflow-x:auto}.md th,.md td{border:1px solid var(--border);padding:4px 6px;text-align:left;vertical-align:top}.md th{font-weight:600;background:var(--accent-soft)}.md code{font-size:11.5px;background:var(--accent-soft);border-radius:4px;padding:1px 4px}.md hr{border:0;border-top:1px solid var(--border);margin:10px 0 0}.md a{color:var(--accent)}.clamp{max-height:120px;overflow:auto}.issue-list{list-style:none;margin:4px 0 0;padding:0}.subcard{display:flex;align-items:flex-start;gap:8px;width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:8px 10px;margin-top:8px;font-family:var(--font-ui);font-size:12.5px;line-height:1.45;text-align:left;cursor:default;transition:border-color .18s ease,box-shadow .18s ease}.subcard:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.issue-item{flex-wrap:wrap}.issue-item.blocked{border-color:var(--error);box-shadow:0 0 0 3px var(--error-soft)}.issue-blocked-note{flex-basis:100%;margin-top:4px;color:var(--error);font-size:11.5px;font-style:italic}.issue-item.dragging{opacity:.45;transform:scale(.98)}.issue-item.drag-over{border-color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.grip{flex:none;color:var(--muted);font-size:11px;letter-spacing:-2px;line-height:1.6;-webkit-user-select:none;user-select:none}.issue-num{flex:none;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--accent);border:1px solid var(--border-strong);border-radius:6px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.issue-text{flex:1;min-width:0}.issue-remove{flex:none;padding:0 4px;line-height:1.4}.subcard-selected,.subcard-selected:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-thread{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-height:260px;overflow-y:auto}.chat-msg{max-width:88%;border-radius:10px;padding:7px 10px;font-size:12.5px;line-height:1.45;white-space:pre-wrap}.chat-user{align-self:flex-end;background:var(--accent-soft);border:1px solid transparent}.chat-ai{align-self:flex-start;background:var(--surface);border:1px solid var(--border)}.chat-pending{display:flex;align-items:center;gap:8px;color:var(--muted)}.subcard-add .plus{flex:none;color:var(--accent);font-weight:700;font-size:14px;line-height:1.3}.issue-add-row{display:flex;gap:8px;align-items:stretch;margin-top:10px}.issue-add-row .input{flex:1}.btn-plus{font-size:16px;font-weight:700;padding:4px 12px}.issue-cap{margin-top:10px;font-size:12px}.field-label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin:12px 0 4px}.input{width:100%;font-family:var(--font-ui);font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px}.input::placeholder{color:var(--muted)}.input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}textarea.input{resize:vertical;min-height:64px;margin-top:10px}.steps{list-style:none;margin:12px 0 0;padding:0;font-size:12px;color:var(--muted)}.steps li{display:flex;align-items:center;gap:8px;padding:3px 0}.steps .tick{color:var(--success)}.spinner{width:11px;height:11px;flex:none;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.evidence-item{padding:10px 0}.evidence-item+.evidence-item{border-top:1px solid var(--border)}.evidence-source{color:var(--muted)}.quote{font-style:italic;color:var(--muted);border-left:2px solid var(--border-strong);padding-left:10px;margin:6px 0 8px}.actions{display:flex;gap:8px;margin-top:10px}.status{font-size:12px;margin-top:12px}.status.error{color:var(--error)}.status.ok{color:var(--success)}.signin{text-align:center;padding-top:48px}.signin .wordmark{font-size:26px}.signin p{color:var(--muted);margin:12px auto 20px;max-width:260px}.signin .btn-primary{width:auto;padding:10px 28px}
