.brief-app{--brief-accent: #b90000;--brief-accent-strong: #8c0000;--brief-accent-soft: rgba(185, 0, 0, .12);display:grid;grid-template-columns:240px 1fr 300px;height:100vh;background:var(--bg);color:var(--ink);overflow:hidden}.brief-sidebar{background:var(--surface-soft);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 16px 24px;overflow-y:auto}.brief-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;border-bottom:1px solid var(--border);margin-bottom:20px}.brief-brand__avatar{width:32px;height:32px;background:var(--ink);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.brief-brand__text{display:flex;flex-direction:column;gap:1px}.brief-brand__name{font-weight:600;font-size:15px;letter-spacing:-.01em}.brief-brand__sub{font-size:11px;color:var(--ink-faint)}.brief-back{display:inline-block;margin-bottom:14px;padding:6px 8px;font-size:12px;color:var(--ink-soft);text-decoration:none;border-radius:6px}.brief-back:hover{background:var(--border);color:var(--ink)}.brief-nav{display:flex;flex-direction:column;flex:1}.brief-nav__label{font-size:11px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;padding:0 8px;margin-bottom:4px}.brief-session-list{display:flex;flex-direction:column;gap:1px;flex:1}.brief-session{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:8px;background:transparent;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer;position:relative}.brief-session:hover{background:var(--border)}.brief-session--active{background:var(--surface);box-shadow:0 1px 0 var(--border)}.brief-session__delete{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--ink-faint);cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s;margin-top:-2px}.brief-session:hover .brief-session__delete,.brief-session:focus-within .brief-session__delete{opacity:1}.brief-session__delete:hover{background:var(--brief-accent-soft);color:var(--brief-accent)}.brief-session__dot{width:7px;height:7px;border-radius:50%;margin-top:5px;flex-shrink:0}.brief-session__dot--live{background:var(--brief-accent)}.brief-session__dot--done{background:var(--accent)}.brief-session__dot--idle{background:var(--border-strong)}.brief-session__info{display:flex;flex-direction:column;flex:1;min-width:0}.brief-session__name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brief-session__meta{font-size:11px;color:var(--ink-faint);margin-top:1px}.brief-new-btn{margin-top:16px;padding:10px 14px;background:var(--brief-accent);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .15s}.brief-new-btn:not(:disabled):hover{background:var(--brief-accent-strong)}.brief-new-btn:disabled{cursor:not-allowed;opacity:.4}.brief-new-btn__hint{font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:13px;opacity:.8}.brief-chat{display:flex;flex-direction:column;min-width:0;background:var(--bg);overflow:hidden;height:100vh}.brief-chat-header{padding:16px 28px 14px;background:var(--surface-soft);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.brief-chat-header__left{display:flex;flex-direction:column;gap:3px}.brief-chat-header__right{display:flex;gap:8px;align-items:center}.brief-eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-faint);font-weight:500;text-transform:uppercase;letter-spacing:.07em}.brief-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.brief-status-dot--live{background:var(--brief-accent);animation:brief-blink 2s infinite}.brief-status-dot--done{background:var(--accent)}.brief-status-dot--idle{background:var(--border-strong)}@keyframes brief-blink{0%,to{opacity:1}50%{opacity:.25}}.brief-chat-title{font-size:17px;font-weight:600;letter-spacing:-.02em}.brief-chat-title span{color:var(--ink-faint);font-weight:400}.brief-pill{padding:5px 12px;background:var(--surface);border:1px solid var(--border);border-radius:20px;font-size:12px;color:var(--ink-soft);display:flex;gap:6px;align-items:center;white-space:nowrap}.brief-pill__label{color:var(--ink-faint);font-size:11px}.brief-pill__value{font-weight:600}.brief-messages{flex:1;overflow-y:auto;min-height:0;padding:28px 28px 16px;display:flex;flex-direction:column;gap:20px}.brief-msg{display:flex;flex-direction:column;max-width:640px}.brief-msg--user{align-self:flex-end;max-width:560px;align-items:flex-end}.brief-msg--tool{align-self:center;max-width:560px}.brief-msg__meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.brief-msg--user .brief-msg__meta{flex-direction:row-reverse}.brief-msg__avatar{width:26px;height:26px;background:var(--ink);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.brief-msg__avatar--user{background:var(--brief-accent)}.brief-msg__author{font-size:12px;font-weight:600}.brief-msg__time{font-size:11px;color:var(--ink-faint);font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace}.brief-msg__bubble{padding:13px 16px;font-size:14px;line-height:1.6;white-space:pre-wrap}.brief-msg__bubble--agent{background:var(--surface);border:1px solid var(--border);border-radius:4px 14px 14px}.brief-msg__bubble--user{background:var(--brief-accent);color:#fff;border-radius:14px 4px 14px 14px;padding:11px 16px}.brief-msg__tool{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:999px;font-size:12px;color:var(--ink-faint)}.brief-msg__tool-tag{color:var(--brief-accent);font-weight:600;font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:11px}.brief-msg__tool-text{font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:11px;color:var(--ink-soft)}.brief-empty{margin:auto 0;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--ink-soft);font-size:14px;text-align:center}.brief-empty p{margin:0;max-width:32rem}.brief-composer{padding:12px 20px 16px;background:var(--surface-soft);border-top:1px solid var(--border);flex-shrink:0}.brief-composer--disabled{opacity:.55;pointer-events:none}.brief-attach-row{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.brief-attach-chip{display:flex;align-items:center;gap:5px;padding:5px 11px;background:var(--surface);border:1px solid var(--border);border-radius:20px;font-size:12px;color:var(--ink-soft);cursor:pointer;transition:border-color .15s,color .15s}.brief-attach-chip:not(:disabled):hover{border-color:var(--ink-faint);color:var(--ink)}.brief-attach-chip:disabled{cursor:not-allowed;opacity:.55}.brief-attach-chip svg{color:var(--ink-faint);flex-shrink:0}.brief-composer-row{display:flex;align-items:flex-end;gap:8px}.brief-input-bubble{flex:1;display:flex;align-items:flex-end;background:var(--surface);border:1.5px solid var(--border);border-radius:22px;padding:9px 14px;transition:border-color .15s}.brief-input-bubble:focus-within{border-color:var(--brief-accent)}.brief-input{flex:1;border:none;background:transparent;font:inherit;font-size:14px;resize:none;outline:none;color:var(--ink);min-height:22px;max-height:110px;overflow-y:auto;line-height:1.5}.brief-input::placeholder{color:var(--ink-faint)}.brief-input:disabled{cursor:not-allowed}.brief-mic{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--ink-soft);cursor:pointer;margin-left:6px;transition:background .15s,color .15s}.brief-mic:hover:not(:disabled){background:var(--border);color:var(--ink)}.brief-mic:disabled{opacity:.4;cursor:not-allowed}.brief-mic--on{background:var(--brief-accent);color:#fff;animation:brief-mic-pulse 1.4s ease-in-out infinite}.brief-mic--on:hover:not(:disabled){background:var(--brief-accent-strong);color:#fff}@keyframes brief-mic-pulse{0%,to{box-shadow:0 0 0 0 var(--brief-accent-soft)}50%{box-shadow:0 0 0 6px transparent}}.brief-cta{width:42px;height:42px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background .15s,opacity .15s,transform .1s}.brief-cta:active:not(:disabled){transform:scale(.93)}.brief-cta--send{background:var(--brief-accent);color:#fff}.brief-cta--send:hover:not(:disabled){background:var(--brief-accent-strong)}.brief-cta--send:disabled{opacity:.35;cursor:not-allowed}.brief-composer-error{margin-top:8px;font-size:12px;color:var(--brief-accent)}.brief-composer-hint{display:flex;justify-content:space-between;margin-top:8px;padding:0 4px}.brief-hint{font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:10px;color:var(--ink-faint);letter-spacing:.04em}.brief-hint kbd{background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-family:inherit;font-size:10px;margin:0 2px}.brief-rail{background:var(--surface-soft);border-left:1px solid var(--border);padding:20px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.brief-block{display:flex;flex-direction:column;gap:10px}.brief-block__heading{font-size:11px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center}.brief-badge{font-size:11px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1px 7px;letter-spacing:0;text-transform:none}.brief-client-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px}.brief-client-card--empty{padding:18px 14px;text-align:center}.brief-client__name{font-size:15px;font-weight:600;letter-spacing:-.01em;margin-bottom:2px}.brief-client__role{font-size:12px;color:var(--ink-faint);margin-bottom:12px}.brief-client__rows{display:flex;flex-direction:column;gap:6px;margin:0;border-top:1px solid var(--border);padding-top:10px}.brief-client__row{display:flex;justify-content:space-between;font-size:12px;margin:0;gap:12px}.brief-client__row dt{color:var(--ink-faint);margin:0}.brief-client__row dd{font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;text-align:right}.brief-insight{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brief-accent);border-radius:0 8px 8px 0;padding:9px 12px}.brief-insight+.brief-insight{margin-top:8px}.brief-insight__text{font-size:12px;line-height:1.55;margin-bottom:5px}.brief-insight__tag{font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}.brief-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s,opacity .15s}.brief-btn:disabled{cursor:not-allowed;opacity:.45}.brief-btn--primary{background:var(--brief-accent);color:#fff}.brief-btn--primary:not(:disabled):hover{background:var(--brief-accent-strong)}.brief-btn--ghost{background:var(--surface);border-color:var(--border);color:var(--ink)}.brief-btn--ghost:not(:disabled):hover{border-color:var(--ink-faint)}.brief-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:100;padding:20px}.brief-modal__panel{background:var(--bg);border:1px solid var(--border);border-radius:14px;width:min(520px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #00000040}.brief-modal__panel--wide{width:min(820px,100%)}.brief-modal__head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.brief-modal__title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.brief-modal__close{width:28px;height:28px;border:none;background:transparent;font-size:22px;line-height:1;color:var(--ink-faint);border-radius:6px;cursor:pointer}.brief-modal__close:hover{background:var(--border);color:var(--ink)}.brief-modal__form{padding:18px;display:flex;flex-direction:column;gap:14px}.brief-modal__body{padding:18px;overflow-y:auto;flex:1}.brief-modal__actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:12px 18px;border-top:1px solid var(--border);background:var(--surface-soft)}.brief-modal__error{padding:8px 12px;background:var(--brief-accent-soft);border:1px solid var(--brief-accent);color:var(--brief-accent-strong);border-radius:8px;font-size:13px}.brief-modal__error-inline{color:var(--brief-accent);font-size:12px}.brief-modal__success{color:var(--accent-strong);font-size:12px;font-weight:500}.brief-field{display:flex;flex-direction:column;gap:6px}.brief-field--group{gap:8px;border:none;padding:0;margin:0}.brief-field__label{font-size:12px;font-weight:600;color:var(--ink-soft)}.brief-field__hint{font-size:12px;color:var(--ink-faint);font-weight:400}.brief-field__input{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;outline:none}.brief-field__input:focus{border-color:var(--brief-accent)}.brief-field__input:disabled{opacity:.6}.brief-radio{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}.brief-radio input{accent-color:var(--brief-accent)}.brief-plan__markdown{font-size:14px;line-height:1.6;color:var(--ink)}.brief-plan__markdown h1,.brief-plan__markdown h2,.brief-plan__markdown h3{margin:1.2em 0 .6em;font-weight:600;letter-spacing:-.01em}.brief-plan__markdown h1{font-size:1.4rem}.brief-plan__markdown h2{font-size:1.15rem}.brief-plan__markdown h3{font-size:1rem;color:var(--ink-soft)}.brief-plan__markdown p{margin:.6em 0}.brief-plan__markdown ul,.brief-plan__markdown ol{margin:.6em 0;padding-left:1.4em}.brief-plan__markdown li{margin:.2em 0}.brief-plan__markdown code{font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:.85em;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.brief-plan__markdown pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;overflow-x:auto;font-size:12px}.brief-plan__markdown blockquote{border-left:3px solid var(--brief-accent);padding:.1em 0 .1em .8em;color:var(--ink-soft);margin:.6em 0}.brief-plan__schema{margin-top:18px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.brief-plan__schema summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--ink-soft)}.brief-plan__schema pre{margin:10px 0 0;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:11px;overflow-x:auto;max-height:240px}.brief-plan__channels{margin-top:18px}.brief-plan__channels-heading{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 10px}.brief-plan__research-scope{font-size:12px;color:var(--ink-soft);margin:-4px 0 10px}.brief-plan__channel-list{display:flex;flex-direction:column;gap:10px}.brief-plan__channel{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.brief-plan__channel-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.brief-plan__channel-name{font-size:13px;font-weight:700;color:var(--ink)}.brief-plan__channel-tool,.brief-plan__channel-objective{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--ink-soft);background:var(--bg)}.brief-plan__channel-objective{border-color:var(--brief-accent);color:var(--brief-accent)}.brief-plan__channel-params{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:8px 0 0}.brief-plan__channel-param{display:contents}.brief-plan__channel-param dt{font-size:11px;font-weight:600;color:var(--ink-soft)}.brief-plan__channel-param dd{margin:0;font-size:12px;color:var(--ink)}.brief-plan__channel-rationale{margin:8px 0 0;font-size:12px;color:var(--ink-soft);font-style:italic}@media (max-width: 1100px){.brief-app{grid-template-columns:220px 1fr 280px}}@media (max-width: 900px){.brief-app{grid-template-columns:1fr;height:auto;min-height:100vh}.brief-sidebar,.brief-rail{height:auto;border-right:none;border-left:none;border-bottom:1px solid var(--border)}.brief-chat{height:auto;min-height:70vh}}.brief-attach-status{font-size:12px;color:var(--ink-soft);align-self:center}.brief-attach-status--error{color:#b90000}.brief-attachment{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:var(--surface-soft)}.brief-attachment__thumb{display:block;width:100%;max-height:120px;object-fit:cover;border-radius:6px;margin-bottom:6px;border:1px solid var(--border)}.brief-attachment__name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none}.brief-attachment__name:hover{text-decoration:underline}.brief-attachment__icon{flex-shrink:0}.brief-attachment__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief-attachment__preview{margin:6px 0 0;font-size:11px;line-height:1.45;color:var(--ink-soft);max-height:54px;overflow:hidden}.brief-modal__input{width:100%;box-sizing:border-box;font-size:14px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;outline:none}.brief-modal__input:focus{border-color:var(--brief-accent)}.brief-msg__attachment{align-self:flex-end;max-width:78%;display:flex;flex-direction:column;gap:6px}.brief-msg__attachment-img{display:block;max-width:100%;max-height:280px;border-radius:12px;border:1px solid var(--border);object-fit:contain;background:var(--surface-soft)}.brief-msg__attachment-file{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--brief-bubble-user, #eef2ff);color:var(--ink);text-decoration:none;font-weight:600;font-size:13px;max-width:100%}.brief-msg__attachment-file:hover{text-decoration:underline}.brief-msg__attachment-icon{flex-shrink:0;font-size:16px}.brief-msg__attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief-msg__attachment-foot{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.brief-msg__attachment-cap{font-size:11px;color:var(--ink-soft)}.brief-msg__attachment-details{align-self:flex-end;max-width:100%}.brief-msg__attachment-details summary{cursor:pointer;font-size:11px;color:var(--ink-soft);list-style:revert}.brief-msg__attachment-text{margin:6px 0 0;max-height:220px;overflow:auto;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.brief-staged{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 0}.brief-staged__chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 6px 4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);font-size:12px}.brief-staged__thumb{width:28px;height:28px;object-fit:cover;border-radius:5px;flex-shrink:0}.brief-staged__icon{flex-shrink:0}.brief-staged__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief-staged__remove{flex-shrink:0;border:none;background:transparent;cursor:pointer;font-size:16px;line-height:1;color:var(--ink-soft);padding:0 2px}.brief-staged__remove:hover{color:var(--brief-accent)}.brief-staged__remove:disabled{opacity:.4;cursor:default}.brief-msg__attachments{display:flex;flex-direction:column;gap:6px;align-items:flex-end;margin-bottom:6px}.research-app{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:var(--bg);color:var(--ink)}.research-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem;position:sticky;top:0;height:100vh;overflow-y:auto}.research-brand{display:flex;align-items:center;gap:.7rem;padding:0 .25rem}.research-brand__mark{width:36px;height:36px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.8rem;letter-spacing:.5px}.research-brand__name{font-weight:700;font-size:1rem;line-height:1.1}.research-brand__tag{font-size:.72rem;color:var(--ink-faint);margin-top:2px}.research-back{display:inline-block;font-size:.82rem;color:var(--ink-soft);text-decoration:none;padding:.3rem .25rem}.research-back:hover{color:var(--ink)}.research-agent-head{display:flex;align-items:center;gap:.6rem;padding:.25rem}.research-agent-head__name{font-weight:700;font-size:.95rem}.research-agent-head__sub{font-size:.76rem;color:var(--ink-faint);margin-top:2px}.research-sidebar__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:0 .25rem;margin-top:.25rem}.research-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block;background:var(--ink-faint)}.research-dot--idle{background:#d24b3e}.research-dot--done{background:#2f9b5a}.research-dot--failed{background:#d24b3e}.research-run-list{display:flex;flex-direction:column;gap:.15rem;flex:1}.research-run{display:flex;align-items:center;width:100%;border-radius:9px;color:inherit;border-left:3px solid transparent}.research-run:hover{background:var(--surface-soft)}.research-run--active{background:var(--surface-soft);border-left-color:var(--accent)}.research-run__select{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;text-align:left;background:transparent;border:none;padding:.55rem .6rem;color:inherit;cursor:pointer}.research-run__delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ink-faint);font-size:.82rem;line-height:1;padding:.4rem .55rem;margin-right:.15rem;border-radius:8px;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.research-run:hover .research-run__delete,.research-run--active .research-run__delete{opacity:1}.research-run__delete:hover{color:#d24b3e;background:#d24b3e1f}.research-run__body{min-width:0;display:flex;flex-direction:column;gap:1px}.research-run__title{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.research-run__sub{font-size:.74rem;color:var(--ink-faint)}.research-new-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.6rem;border:1px dashed var(--border-strong);border-radius:10px;background:transparent;color:var(--ink-soft);font-size:.85rem;font-weight:500}.research-new-btn:hover{background:var(--surface-soft);color:var(--ink)}.research-new-btn__plus{font-size:.95rem;line-height:1}.research-main{padding:1.5rem 2rem;width:100%;min-width:0}.research-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.research-header__title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700}.research-header__sub{font-size:.82rem;color:var(--ink-faint);margin-top:.35rem;margin-left:1rem}.research-header__actions{display:flex;gap:.5rem;flex-shrink:0}.research-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:10px;padding:.5rem .85rem;font-size:.85rem;font-weight:500;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);white-space:nowrap}.research-btn:hover{background:var(--surface-soft)}.research-btn__icon{font-size:.85rem;line-height:1}.research-btn--primary{background:var(--ink);color:#fff;border-color:var(--ink)}.research-btn--primary:hover{background:#000}.research-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.5rem}.research-stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.3rem}.research-stat__label{font-size:.78rem;color:var(--ink-faint)}.research-stat__value{font-size:1.7rem;font-weight:700;line-height:1.1}.research-stat__sub{font-size:.76rem;color:var(--ink-faint)}.research-stat__sub--accent{color:var(--accent);font-weight:600}.research-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.research-rightcol{display:flex;flex-direction:column;gap:1rem}.research-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem}.research-panel__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.85rem}.research-panel__title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.research-panel__count{font-size:.76rem;color:var(--ink-faint)}.research-modules{display:flex;flex-direction:column;gap:.4rem}.research-module{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:.7rem;padding:.6rem .5rem;border-radius:10px}.research-module:hover{background:var(--surface-soft)}.research-module__icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--bg);color:var(--ink-soft);font-size:.95rem}.research-module__body{min-width:0;display:flex;flex-direction:column;gap:1px}.research-module__name{font-size:.88rem;font-weight:600}.research-module__desc{font-size:.76rem;color:var(--ink-faint)}.research-tag{font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px}.research-tag--ready{background:var(--accent-soft);color:var(--accent-strong)}.research-tag--partial{background:var(--warn-soft);color:var(--warn-strong)}.research-hist-wrap{border-bottom:1px solid var(--border)}.research-hist-wrap:last-child{border-bottom:none}.research-hist-wrap .research-hist{border-bottom:none}.research-hist--clickable{cursor:pointer}.research-hist--clickable:hover{background:var(--surface-soft)}.research-moddata{padding:.4rem .25rem .85rem 2.6rem;overflow-x:auto}.research-table{border-collapse:collapse;width:100%;font-size:.8rem}.research-table th,.research-table td{text-align:left;padding:.35rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.research-table th{color:var(--ink-faint);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.research-itemlist{list-style:none;display:flex;flex-direction:column;gap:.35rem;font-size:.82rem}.research-itemlist a{color:var(--accent-strong);text-decoration:none}.research-itemlist a:hover{text-decoration:underline}.research-itemlist__meta{color:var(--ink-faint)}.research-itemlist__desc{color:var(--ink-faint);font-size:.78rem;margin-top:.15rem;line-height:1.4}.research-seogap{display:flex;flex-direction:column;gap:.7rem}.research-seogap__domain{display:flex;flex-direction:column;gap:.25rem;padding-left:.6rem;border-left:2px solid var(--accent-strong)}.research-seogap__name{font-size:.82rem;font-weight:600}.research-seogap__prio{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--accent-strong)}.research-seogap__suggested{margin:.15rem 0 0;font-size:.8rem;color:var(--ink-soft, var(--ink-faint))}.research-seogap__strengths{display:flex;flex-direction:column;gap:.25rem;margin-top:.4rem}.research-digest{display:flex;flex-direction:column;gap:.7rem;font-size:.82rem}.research-digest__answer{margin:0;color:var(--ink-soft, var(--ink-faint));line-height:1.5}.research-digest__theme{display:flex;flex-direction:column;gap:.2rem;padding-left:.6rem;border-left:2px solid var(--accent-strong)}.research-digest__title{font-weight:600}.research-digest__insight{margin:0;line-height:1.5}.research-digest__sources{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.76rem}.research-digest__sources a{color:var(--accent-strong);text-decoration:none}.research-digest__sources a:hover{text-decoration:underline}.research-moderrors{list-style:none;display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.78rem;color:var(--warn-strong, #9a5b00)}.research-social__platform{margin-bottom:.6rem}.research-social__name{font-size:.78rem;font-weight:600;text-transform:capitalize;margin-bottom:.25rem}.research-history{display:flex;flex-direction:column}.research-hist{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:.7rem;padding:.65rem .25rem;border-bottom:1px solid var(--border)}.research-hist:last-child{border-bottom:none}.research-hist__badge{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:.82rem;color:#fff}.research-hist__badge--s{background:#c2693a}.research-hist__badge--n{background:#3a82e2}.research-hist__badge--d{background:#1f1d1a}.research-hist__badge--z{background:#8a6d3b}.research-hist__body{min-width:0;display:flex;flex-direction:column;gap:1px}.research-hist__title{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.research-hist__meta{font-size:.75rem;color:var(--ink-faint)}.research-pill{font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px}.research-pill--done{background:var(--accent-soft);color:var(--accent-strong)}.research-pill--failed{background:#fadcd9;color:#9a2b1e}.research-config{margin:0 0 .85rem;display:flex;flex-direction:column;gap:.55rem}.research-config__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.research-config__row dt{font-size:.82rem;color:var(--ink-faint)}.research-config__row dd{margin:0;font-size:.85rem;font-weight:600;text-align:right}.research-config__modules-label{font-size:.8rem;color:var(--ink-faint);padding-top:.85rem;border-top:1px solid var(--border);margin-bottom:.5rem}.research-config__modules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.research-config__modules li{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.research-check{color:var(--accent);font-weight:700}.research-tag--planned{background:var(--surface-soft);color:var(--ink-faint)}.research-error{background:#fadcd9;color:#9a2b1e;border:1px solid #f0bcb5;border-radius:10px;padding:.6rem .85rem;font-size:.85rem;margin-bottom:1rem}.research-summary__text{margin:0 0 .5rem;font-size:.88rem;line-height:1.5;color:var(--ink)}.research-summary__block{margin-top:.25rem}.research-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;padding:1.5rem;z-index:50}.research-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem}.research-modal__title{margin:0;font-size:1.1rem;font-weight:700}.research-field{display:flex;flex-direction:column;gap:.3rem}.research-field>span{font-size:.8rem;font-weight:600;color:var(--ink-soft)}.research-field input,.research-field textarea{border:1px solid var(--border-strong);border-radius:9px;padding:.5rem .6rem;font:inherit;font-size:.85rem;background:var(--bg);color:var(--ink);resize:vertical}.research-modal__modules{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.2rem}.research-modal__module{display:flex;align-items:center;gap:.35rem;font-size:.85rem}.research-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.research-btn:disabled{opacity:.45;cursor:not-allowed}.research-modal__row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.research-modules-picker{display:flex;flex-direction:column;gap:.4rem;margin-top:.2rem}.research-mp{border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);overflow:hidden}.research-mp--on{border-color:var(--ink);background:var(--surface)}.research-mp__head{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;cursor:pointer}.research-mp__check{flex:none;width:16px;height:16px;cursor:pointer}.research-mp__body{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.research-mp__name{font-size:.85rem;font-weight:600;color:var(--ink)}.research-mp__desc{font-size:.72rem;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.research-mp__chevron{flex:none;font-size:.9rem;color:var(--ink-soft);transition:transform .15s ease}.research-mp__chevron--open{transform:rotate(180deg)}.research-mp__prompt{width:100%;border:none;border-top:1px solid var(--border);padding:.5rem .65rem;font:inherit;font-size:.82rem;background:var(--bg);color:var(--ink);resize:vertical;box-sizing:border-box}.research-mp__prompt:focus{outline:none}.research-mp__check:disabled{cursor:not-allowed;opacity:.5}.research-run-fields{display:flex;flex-direction:column;gap:.6rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border)}.research-run-fields__row2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.research-ai-toggle{display:flex;align-items:flex-start;gap:.55rem;margin-top:.85rem;padding:.6rem .7rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);cursor:pointer}.research-ai-toggle input{flex:none;width:16px;height:16px;margin-top:1px;cursor:pointer}.research-ai-toggle__body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.research-ai-toggle__name{font-size:.85rem;font-weight:600;color:var(--ink)}.research-ai-toggle__desc{font-size:.74rem;color:var(--ink-faint)}.research-run-action{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem}.research-run-action__info{font-size:.82rem;color:var(--ink-faint)}.research-run-action__info b{color:var(--ink);font-weight:700}@media (max-width: 1000px){.research-app{grid-template-columns:1fr}.research-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}.research-grid{grid-template-columns:1fr}.research-stats{grid-template-columns:repeat(2,1fr)}.research-main{padding:1.25rem}}.strategist-app{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:var(--bg);color:var(--ink)}.strategist-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem;position:sticky;top:0;height:100vh;overflow-y:auto}.strategist-brand{display:flex;align-items:center;gap:.7rem;padding:0 .25rem}.strategist-brand__mark{width:36px;height:36px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.8rem;letter-spacing:.5px}.strategist-brand__name{font-weight:700;font-size:1rem;line-height:1.1}.strategist-brand__tag{font-size:.72rem;color:var(--ink-faint);margin-top:2px}.strategist-back{display:inline-block;font-size:.82rem;color:var(--ink-soft);text-decoration:none;padding:.3rem .25rem}.strategist-back:hover{color:var(--ink)}.strategist-agent-head{display:flex;align-items:center;gap:.6rem;padding:.25rem}.strategist-agent-head__name{font-weight:700;font-size:.95rem}.strategist-agent-head__sub{font-size:.76rem;color:var(--ink-faint);margin-top:2px}.strategist-sidebar__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:0 .25rem;margin-top:.25rem}.strategist-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block;background:var(--ink-faint)}.strategist-dot--idle{background:var(--ink-faint)}.strategist-dot--done{background:#2f9b5a}.strategist-dot--failed{background:#d24b3e}.strategist-dot--busy{background:#c9a227}.strategist-run-list{display:flex;flex-direction:column;gap:.15rem;flex:1}.strategist-run{display:flex;align-items:center;width:100%;border-radius:9px;color:inherit;border-left:3px solid transparent}.strategist-run:hover{background:var(--surface-soft)}.strategist-run--active{background:var(--surface-soft);border-left-color:var(--accent)}.strategist-run__select{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;text-align:left;background:transparent;border:none;padding:.55rem .6rem;color:inherit;cursor:pointer}.strategist-run__delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ink-faint);font-size:.82rem;line-height:1;padding:.4rem .55rem;margin-right:.15rem;border-radius:8px;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.strategist-run:hover .strategist-run__delete,.strategist-run--active .strategist-run__delete{opacity:1}.strategist-run__delete:hover{color:#d24b3e;background:#d24b3e1f}.strategist-run__body{min-width:0;display:flex;flex-direction:column;gap:1px}.strategist-run__title{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strategist-run__sub{font-size:.74rem;color:var(--ink-faint)}.strategist-error{background:#fadcd9;color:#9a2b1e;border:1px solid #f0bcb5;border-radius:10px;padding:.6rem .85rem;font-size:.85rem;margin-bottom:1rem}.strategist-hint{margin:0 0 .5rem;font-size:.8rem;color:var(--ink-faint);line-height:1.5}.strategist-hint a{color:var(--accent-strong)}.strategist-main{padding:1.5rem 2rem;width:100%;min-width:0}.strategist-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.strategist-header__title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700}.strategist-header__sub{font-size:.82rem;color:var(--ink-faint);margin-top:.35rem;margin-left:1rem}.strategist-header__actions{display:flex;gap:.5rem;flex-shrink:0}.strategist-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:10px;padding:.5rem .85rem;font-size:.85rem;font-weight:500;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);white-space:nowrap}.strategist-btn:hover{background:var(--surface-soft)}.strategist-btn__icon{font-size:.85rem;line-height:1}.strategist-btn--primary{background:var(--ink);color:#fff;border-color:var(--ink)}.strategist-btn--primary:hover{background:#000}.strategist-btn:disabled{opacity:.45;cursor:not-allowed}.strategist-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.5rem}.strategist-stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.3rem}.strategist-stat__label{font-size:.78rem;color:var(--ink-faint)}.strategist-stat__value{font-size:1.7rem;font-weight:700;line-height:1.1}.strategist-stat__sub{font-size:.76rem;color:var(--ink-faint)}.strategist-stat__sub--accent{color:var(--accent);font-weight:600}.strategist-grid{display:grid;grid-template-columns:1fr 420px;gap:1rem;align-items:start}.strategist-leftcol{display:flex;flex-direction:column;gap:1rem}.strategist-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem}.strategist-panel__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.85rem}.strategist-panel__title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.strategist-pill{font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px}.strategist-pill--done{background:var(--accent-soft);color:var(--accent-strong)}.strategist-pill--failed{background:#fadcd9;color:#9a2b1e}.strategist-pill--busy{background:var(--warn-soft);color:var(--warn-strong)}.strategist-pill--idle{background:var(--surface-soft);color:var(--ink-faint)}.strategist-input-group{margin-bottom:.95rem}.strategist-input-group:last-child{margin-bottom:0}.strategist-input-label{display:block;font-size:.76rem;color:var(--ink-faint);margin-bottom:.4rem}.strategist-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.strategist-field{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:.5rem .65rem}.strategist-field--wide{grid-column:span 2}.strategist-field__key{font-size:.7rem;color:var(--ink-faint);margin-bottom:2px}.strategist-field__val{font-size:.83rem;font-weight:600}.strategist-select{width:100%;border:1px solid var(--border-strong);border-radius:9px;padding:.5rem .6rem;font:inherit;font-size:.85rem;background:var(--bg);color:var(--ink)}.strategist-select:focus{outline:none;border-color:var(--ink-faint)}.strategist-custom-inp{width:100%;border:1px solid var(--border-strong);border-radius:9px;padding:.55rem .7rem;font:inherit;font-size:.83rem;background:var(--bg);color:var(--ink);resize:vertical;min-height:68px;line-height:1.5;box-sizing:border-box}.strategist-custom-inp:focus{outline:none;border-color:var(--ink-faint);background:var(--surface)}.strategist-custom-inp::placeholder{color:var(--ink-faint)}.strategist-run-action{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.85rem 1.1rem}.strategist-run-action__info{font-size:.82rem;color:var(--ink-faint)}.strategist-run-action__info b{color:var(--ink);font-weight:700}.strategist-out-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.76rem;color:var(--ink-faint);margin-bottom:.75rem}.strategist-panel__foot{display:flex;justify-content:flex-end;margin-top:.85rem}.strategist-outputs{display:flex;flex-direction:column;gap:.5rem}.strategist-out-card{border:1px solid var(--border);border-radius:10px;overflow:hidden}.strategist-out-card__head{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;background:var(--surface-soft);border:none;padding:.6rem .8rem;color:inherit;cursor:pointer;font:inherit}.strategist-out-card__head:hover{background:var(--bg)}.strategist-out-card__icon{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:.8rem;flex-shrink:0}.strategist-out-card__icon--rust{background:#faece7;color:#993c1d}.strategist-out-card__icon--green{background:#e1f5ee;color:#0f6e56}.strategist-out-card__icon--amber{background:#faeeda;color:#854f0b}.strategist-out-card__icon--violet{background:#eeedfe;color:#534ab7}.strategist-out-card__icon--neutral{background:var(--bg);color:var(--ink-soft)}.strategist-out-card__name{flex:1;min-width:0;font-size:.85rem;font-weight:600}.strategist-chevron{flex:none;font-size:.9rem;color:var(--ink-soft);transition:transform .15s ease}.strategist-chevron--open{transform:rotate(180deg)}.strategist-out-card__body{padding:.75rem .85rem .9rem;border-top:1px solid var(--border);font-size:.82rem;line-height:1.55;color:var(--ink);display:flex;flex-direction:column;gap:.6rem}.strategist-out-block__label{display:block;font-size:.7rem;color:var(--ink-faint);margin-bottom:2px}.strategist-out-note{font-size:.76rem;color:var(--ink-faint)}.strategist-pill-row{display:flex;flex-wrap:wrap;gap:.35rem}.strategist-tag-pill{font-size:.76rem;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--border);color:var(--ink-soft);background:var(--bg)}.strategist-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.strategist-kpi{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:.5rem .65rem}.strategist-kpi__label{font-size:.68rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.strategist-kpi__val{font-size:.95rem;font-weight:600;margin-top:2px}.strategist-tl-item{display:flex;gap:.8rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.strategist-tl-item:last-child{border-bottom:none;padding-bottom:0}.strategist-tl-item:first-child{padding-top:0}.strategist-tl-item__phase{flex-shrink:0;min-width:55px;font-size:.76rem;font-weight:600;color:var(--accent-strong);padding-top:1px}.strategist-tl-item__detail{font-size:.78rem;color:var(--ink-soft);line-height:1.55}@media (max-width: 1100px){.strategist-grid{grid-template-columns:1fr}}@media (max-width: 1000px){.strategist-app{grid-template-columns:1fr}.strategist-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}.strategist-stats{grid-template-columns:repeat(2,1fr)}.strategist-main{padding:1.25rem}}.logs__refresh{margin-left:auto;font-size:13px;padding:6px 12px;border:1px solid var(--border, #d4d4d8);border-radius:6px;background:#fff;cursor:pointer}.logs__refresh:disabled{opacity:.6;cursor:default}.logs__filters{display:flex;gap:8px;margin-bottom:14px}.logs__chip{font-size:13px;padding:4px 12px;border:1px solid var(--border, #d4d4d8);border-radius:999px;background:#fff;cursor:pointer}.logs__chip--active{background:#18181b;color:#fff;border-color:#18181b}.logs__error{color:#b90000}.logs__list{display:flex;flex-direction:column;gap:6px}.logs__row{border:1px solid var(--border, #e4e4e7);border-left-width:3px;border-radius:8px;background:#fff;overflow:hidden}.logs__row--backend{border-left-color:#ef4444}.logs__row--agent{border-left-color:#f59e0b}.logs__row--frontend{border-left-color:#3b82f6}.logs__row-head{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;text-align:left;font:inherit}.logs__row-head:hover{background:#fafafa}.logs__source{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 8px;border-radius:999px;color:#fff;flex-shrink:0}.logs__source--backend{background:#ef4444}.logs__source--agent{background:#f59e0b}.logs__source--frontend{background:#3b82f6}.logs__kind{font-size:12px;font-weight:600;color:var(--ink-soft, #52525b);flex-shrink:0}.logs__message{font-size:13px;color:var(--ink, #18181b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.logs__time{font-size:11px;color:var(--ink-soft, #71717a);flex-shrink:0}.logs__chevron{color:#a1a1aa;flex-shrink:0}.logs__detail{padding:10px 14px 14px;border-top:1px solid var(--border, #f0f0f0);background:#fafafa}.logs__context{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 10px}.logs__context-row{display:contents}.logs__context-row dt{font-size:11px;font-weight:600;color:var(--ink-soft, #52525b)}.logs__context-row dd{margin:0;font-size:12px;color:var(--ink, #18181b);word-break:break-word}.logs__trace{margin:0;background:#18181b;color:#e4e4e7;border-radius:6px;padding:10px 12px;font-size:11px;line-height:1.5;overflow-x:auto;max-height:320px;white-space:pre-wrap;word-break:break-word}:root{--bg: #f5f2ed;--surface: #ffffff;--surface-soft: #faf8f4;--ink: #1f1d1a;--ink-soft: #5b574f;--ink-faint: #8a857a;--border: #e6e1d8;--border-strong: #d7d1c4;--accent: #2f6f4e;--accent-soft: #d4f0dc;--accent-strong: #1a5236;--warn-soft: #ffe7c2;--warn-strong: #7a4a00;--info-soft: #dfe6ff;--info-strong: #2a3d8a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink)}a{color:inherit}button{font:inherit;cursor:pointer}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.sidebar__brand{display:flex;align-items:center;gap:.75rem;padding:0 .25rem}.sidebar__brand-mark{width:36px;height:36px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;letter-spacing:.5px}.sidebar__brand-name{font-weight:700;font-size:1rem;line-height:1.1}.sidebar__brand-tag{font-size:.75rem;color:var(--ink-faint);margin-top:2px}.sidebar__nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar__link{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:8px;color:var(--ink-soft);font-size:.92rem;font-weight:500;text-decoration:none;transition:background .12s ease,color .12s ease}.sidebar__link:hover{background:var(--surface-soft);color:var(--ink)}.sidebar__link--active{background:var(--bg);color:var(--ink);font-weight:600}.sidebar__icon{width:18px;text-align:center;color:var(--ink-faint)}.sidebar__link--active .sidebar__icon{color:var(--ink)}.sidebar__footer{border-top:1px solid var(--border);padding-top:1rem;display:flex;flex-direction:column;gap:.5rem}.sidebar__user{font-size:.8rem;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__logout{background:transparent;border:1px solid var(--border-strong);border-radius:8px;padding:.45rem .75rem;font-size:.85rem;color:var(--ink-soft)}.sidebar__logout:hover{background:var(--surface-soft);color:var(--ink)}.dashboard{padding:2rem 2.25rem;max-width:1100px}.dashboard__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.dashboard__title{font-size:1.5rem;font-weight:700;margin:0}.dashboard__section{margin-top:2rem}.dashboard__section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);margin:0 0 .75rem}.muted{color:var(--ink-faint)}.btn{border-radius:10px;padding:.55rem 1rem;font-weight:500;font-size:.9rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink)}.btn:hover{background:var(--surface-soft)}.btn--primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn--primary:hover{background:#000}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.4rem;min-height:110px}.stat-card__label{font-size:.8rem;color:var(--ink-faint)}.stat-card__value{font-size:1.85rem;font-weight:700;line-height:1.1}.stat-card__sub{font-size:.78rem;color:var(--ink-faint)}.agent-pills{display:flex;flex-wrap:wrap;gap:.5rem}.agent-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.4rem .8rem;font-size:.85rem;color:var(--ink-soft)}.agent-pill__dot{width:8px;height:8px;border-radius:50%;background:var(--ink-faint)}.agent-pill__dot[data-online=true]{box-shadow:0 0 0 3px #2f6f4e2e}.agent-pill--violet .agent-pill__dot{background:#7b5cff}.agent-pill--indigo .agent-pill__dot{background:#4f5fc7}.agent-pill--blue .agent-pill__dot{background:#3a82e2}.agent-pill--teal .agent-pill__dot{background:#1aa39b}.agent-pill--amber .agent-pill__dot{background:#e0a13a}.agent-pill--green .agent-pill__dot{background:#2f9b5a}.project-list{display:flex;flex-direction:column;gap:.75rem}.project-card{display:grid;grid-template-columns:44px 1fr 60px;align-items:center;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.85rem 1rem;text-decoration:none;color:var(--ink);transition:border-color .12s ease,transform .12s ease}.project-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.project-card__icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:1rem;color:var(--ink)}.project-card__icon--active{background:var(--info-soft);color:var(--info-strong)}.project-card__icon--review{background:var(--warn-soft);color:var(--warn-strong)}.project-card__icon--done{background:var(--accent-soft);color:var(--accent-strong)}.project-card__body{min-width:0}.project-card__title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.25rem}.project-card__title{font-weight:600;font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card__meta{font-size:.8rem;color:var(--ink-faint);margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card__pct{text-align:right;font-size:.85rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.progress{width:100%;height:4px;background:var(--border);border-radius:999px;overflow:hidden}.progress__bar{height:100%;border-radius:999px;transition:width .2s ease}.progress__bar--active{background:#6e7df5}.progress__bar--review{background:#e0a13a}.progress__bar--done{background:#2f9b5a}.badge{display:inline-block;padding:.18rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge--active{background:var(--info-soft);color:var(--info-strong)}.badge--review{background:var(--warn-soft);color:var(--warn-strong)}.badge--done{background:var(--accent-soft);color:var(--accent-strong)}.placeholder{background:var(--surface);border:1px dashed var(--border-strong);border-radius:14px;padding:3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.85rem}.placeholder__badge{display:inline-block;padding:.25rem .75rem;background:var(--warn-soft);color:var(--warn-strong);border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.placeholder__blurb{max-width:32rem;color:var(--ink-soft);margin:0}.agent-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.agent-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:border-color .15s,box-shadow .15s}.agent-row:hover:not(.agent-row--disabled){border-color:var(--border-strong);box-shadow:0 1px 0 var(--border)}.agent-row--disabled{opacity:.55}.agent-row__link{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:1rem;padding:.95rem 1.15rem;text-decoration:none;color:inherit}.agent-row__number{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-faint);font-size:.95rem}.agent-row__body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.agent-row__name{font-weight:600;font-size:1rem}.agent-row__blurb{color:var(--ink-soft);font-size:.85rem}.agent-row__cta{font-size:.8rem;color:var(--ink-soft);white-space:nowrap}.agent-row:hover:not(.agent-row--disabled) .agent-row__cta{color:var(--accent-strong)}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard{padding:1.25rem}}.error-fallback{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.error-fallback__panel{max-width:480px;text-align:center;border:1px solid var(--border);border-radius:12px;padding:32px;background:#fff}.error-fallback__title{font-size:18px;margin:0 0 8px}.error-fallback__msg{color:#b90000;font-size:14px;margin:0 0 8px}.error-fallback__hint{color:var(--ink-soft);font-size:13px;margin:0 0 16px}.error-fallback__btn{font-size:14px;padding:8px 20px;border:none;border-radius:6px;background:#18181b;color:#fff;cursor:pointer}
