:root{
  --bg:#f7f3eb;--panel:#fff;--sidebar:#eee6d8;--ink:#382d32;--muted:#71626b;--line:#ddd1c3;
  --accent:#863d46;--accentSoft:#eee0e5;--danger:#9f1239;--radius:18px;--shadow:0 12px 38px rgba(15,23,42,.08);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink)}
button,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.shell{min-height:100dvh;display:grid;grid-template-columns:286px minmax(0,1fr)}
.sidebar{height:100dvh;position:sticky;top:0;background:var(--sidebar);border-right:1px solid var(--line);padding:16px 13px;display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:10px;padding:4px 5px 16px}.brand-mark,.welcome-mark,.avatar{background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}
.brand-mark{width:38px;height:38px;border-radius:11px;font-size:12px}.brand-copy{min-width:0;display:flex;flex-direction:column}.brand-copy strong{font-size:14px}.brand-copy span{font-size:10px;color:var(--muted);line-height:1.25;margin-top:2px}
.icon-btn{border:0;background:transparent;color:#71626b}.close-btn{display:none;margin-left:auto;font-size:22px}
.new-chat{width:100%;border:1px solid #ddd1c3;background:#fff;border-radius:12px;padding:10px 11px;text-align:left;font-weight:750;color:#49343e}
.nav{display:grid;gap:4px;margin-top:15px}.nav-item{border:0;background:transparent;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:10px;color:#6f5966;text-align:left}
.nav-item.active,.nav-item:hover{background:#e9dce2;color:#583343}.badge{margin-left:auto;background:#ddcfc0;border-radius:999px;padding:2px 7px;font-size:10px}
.section-label{text-transform:uppercase;letter-spacing:.08em;color:#887c78;font-size:10px;font-weight:800;padding:20px 9px 6px}
.recent{min-height:0;overflow:auto;flex:1}.recent button{width:100%;border:0;background:transparent;border-radius:9px;padding:8px 9px;text-align:left;color:#6f5966;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent button:hover{background:#e9dce2}
.guard-card{background:#fff;border:1px solid #ddd1c3;border-radius:13px;padding:11px;margin-top:10px}.guard-card>div{display:flex;align-items:center;gap:7px;font-size:10.5px}.guard-card p{font-size:10.5px;color:var(--muted);line-height:1.45;margin:7px 0 0}.green-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px #dcfce7}
.main{min-width:0;height:100dvh;display:flex;flex-direction:column}.topbar{height:56px;display:flex;align-items:center;gap:11px;padding:0 20px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:20}
.menu-btn{display:none;font-size:19px}.top-title{min-width:0;display:flex;flex-direction:column}.top-title strong{font-size:13px}.top-title span{font-size:10px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.outline-btn{margin-left:auto;border:1px solid var(--line);background:#fff;color:#59404a;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:750}
.chat-view{height:calc(100dvh - 56px);display:flex;flex-direction:column;min-height:0}.scroll-area{flex:1;overflow:auto;padding:0 18px 16px;scroll-behavior:smooth}
.welcome{max-width:830px;margin:0 auto;padding:10vh 0 26px;text-align:center}.welcome-mark{width:52px;height:52px;border-radius:16px;margin:0 auto 18px;font-size:15px;box-shadow:var(--shadow)}.welcome h1{font-size:clamp(27px,3.4vw,42px);letter-spacing:-.035em;margin:0 0 10px}.welcome>p{max-width:650px;margin:0 auto;color:var(--muted);line-height:1.55;font-size:13.5px}
.suggestions{max-width:740px;margin:28px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.suggestions button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;display:flex;gap:10px;text-align:left;color:#49343e;min-height:78px}.suggestions button:hover{border-color:#b6989f;box-shadow:0 5px 18px rgba(15,23,42,.045)}.s-icon{width:29px;height:29px;flex:0 0 auto;border-radius:9px;background:var(--accentSoft);color:var(--accent);display:grid;place-items:center;font-weight:900}.suggestions strong{display:block;font-size:12.5px;margin-bottom:3px}.suggestions small{display:block;color:var(--muted);font-size:10.5px;line-height:1.35}
.messages{max-width:830px;margin:0 auto;padding:13px 0}.message{margin:18px 0}.user-msg{display:flex;justify-content:flex-end}.user-bubble{max-width:min(78%,680px);background:#eee5dc;padding:10px 14px;border-radius:18px 18px 4px 18px;white-space:pre-wrap;font-size:13.5px;line-height:1.55}
.assistant-msg{display:flex;gap:11px}.avatar{width:31px;height:31px;border-radius:10px;flex:0 0 auto;font-size:9px;margin-top:2px}.answer{min-width:0;max-width:calc(100% - 42px);flex:1}.answer-text{font-size:13.5px;line-height:1.67;color:#49343e}
.answer-block{margin:0 0 14px}.answer-block:last-child{margin-bottom:0}.answer-block p{margin:0;white-space:pre-wrap}.answer-block h3{font-size:14px;margin:0 0 6px}.citation-chips{display:inline-flex;gap:4px;flex-wrap:wrap;margin-left:6px;vertical-align:baseline}.cite{border:0;background:#eee0e5;color:#793742;border-radius:999px;padding:2px 6px;font-size:9.5px;font-weight:850}.cite:hover{background:#dfc8d1}
.answer-citations{margin-top:11px}.citation-toggle{border:0;background:transparent;padding:0;color:#765063;font-size:10.5px;font-weight:800}.citation-drawer{display:none;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.citation-drawer.open{display:block}.source-card{padding:10px 11px;border-bottom:1px solid var(--line)}.source-card:last-child{border-bottom:0}.source-head{display:flex;gap:8px}.source-num{width:21px;height:21px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;background:var(--accentSoft);color:var(--accent);font-size:9.5px;font-weight:900}.source-title{font-size:11px;font-weight:800;line-height:1.35}.source-meta{font-size:10px;color:var(--muted);line-height:1.35;margin-top:2px}.source-quote{margin:7px 0 0;padding-left:9px;border-left:2px solid #cdbbaa;color:#6f5966;font-size:10.5px;line-height:1.48}.source-link{display:inline-block;margin-top:7px;color:var(--accent);font-size:10px;font-weight:800;text-decoration:none}
.error{background:#fff1f2;border:1px solid #fecdd3;color:#881337;border-radius:12px;padding:10px 11px;font-size:11.5px;line-height:1.5}
.typing{display:flex;gap:4px;padding:8px 0}.typing i{width:6px;height:6px;border-radius:50%;background:#887c78;animation:p 1.2s infinite}.typing i:nth-child(2){animation-delay:.14s}.typing i:nth-child(3){animation-delay:.28s}@keyframes p{0%,80%,100%{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}
.composer-shell{padding:9px 17px max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(247,243,235,0),#f7f3eb 25%,#f7f3eb)}.composer{max-width:830px;margin:0 auto;display:flex;align-items:flex-end;background:#fff;border:1px solid #cdbbaa;border-radius:18px;padding:8px 8px 8px 13px;box-shadow:0 8px 28px rgba(15,23,42,.075)}.composer:focus-within{border-color:#a47b86;box-shadow:0 9px 30px rgba(18,63,93,.11)}#input{border:0;outline:0;resize:none;background:transparent;flex:1;min-height:32px;max-height:160px;padding:7px 4px;line-height:1.45;color:var(--ink)}#input::placeholder{color:#887c78}.send{width:36px;height:36px;flex:0 0 auto;border:0;border-radius:11px;background:var(--accent);color:#fff;font-size:18px;display:grid;place-items:center}.send:disabled{opacity:.35;cursor:not-allowed}.composer-foot{text-align:center;color:#887c78;font-size:9px;margin-top:6px}
.sources-view{height:calc(100dvh - 56px);overflow:auto;padding:34px max(22px,5vw)}.sources-header{max-width:1000px;margin:0 auto 22px;display:flex;gap:20px;align-items:flex-start}.sources-header h1{font-size:27px;margin:0 0 5px}.sources-header p{font-size:12.5px;color:var(--muted);margin:0}.source-list{max-width:1000px;margin:0 auto;display:grid;gap:8px}.source-row{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 13px;display:flex;align-items:flex-start;gap:11px}.pdf-icon{width:32px;height:36px;border-radius:8px;background:#eee6d8;color:#6f5966;display:grid;place-items:center;font-size:9px;font-weight:900;flex:0 0 auto}.source-info{min-width:0;flex:1}.source-info strong{font-size:12px;line-height:1.35;display:block}.source-info span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.open-source{border:1px solid var(--line);background:#fff;color:#59404a;border-radius:8px;padding:6px 8px;text-decoration:none;font-size:9.5px;font-weight:800}.muted{color:var(--muted);font-size:12px}
.scrim{display:none}
@media(max-width:820px){
  .shell{display:block}.sidebar{position:fixed;left:0;top:0;width:min(86vw,320px);transform:translateX(-104%);transition:.2s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.close-btn{display:block}.scrim{position:fixed;inset:0;background:rgba(15,23,42,.24);z-index:25}.scrim.open{display:block}
  .topbar{height:54px;padding:0 11px}.menu-btn{display:block}.chat-view,.sources-view{height:calc(100dvh - 54px)}.scroll-area{padding:0 11px 10px}.welcome{padding:7vh 0 18px}.welcome>p{font-size:12.5px}.suggestions{grid-template-columns:1fr;gap:7px;margin-top:21px}.suggestions button{min-height:67px;padding:11px}.messages{padding-top:8px}.message{margin:15px 0}.user-bubble{max-width:90%;font-size:13px}.answer-text{font-size:13px}.assistant-msg{gap:8px}.avatar{width:29px;height:29px}.answer{max-width:calc(100% - 37px)}.composer-shell{padding:7px 9px max(9px,env(safe-area-inset-bottom))}.composer{border-radius:16px}.composer-foot{font-size:8.5px}.sources-view{padding:22px 12px}.sources-header h1{font-size:22px}
}
.guided-form{display:grid;gap:18px;max-width:850px}.guided-form label{display:grid;gap:8px;font-weight:600}.guided-form textarea,.guided-form input,.guided-form select,#gQuestion{font:inherit;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}.guided-form textarea{min-height:95px}#gReview{margin-top:25px;max-width:850px}.source-info span{white-space:normal}button:disabled{opacity:.5;cursor:wait}

#repoStatus{display:none}

.brand-mark,.welcome-mark,.avatar{background:transparent;box-shadow:none}.brand-mark{flex-shrink:0}.brand-mark img,.welcome-mark img,.avatar img{width:100%;height:100%;object-fit:contain}.green-dot{background:#8b7e52;box-shadow:0 0 0 3px #eee6d8}.topbar{border-top:3px solid #863d46}.composer-foot{color:#71626b}

.debug-panel{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:12px}.debug-panel summary{cursor:pointer;color:var(--muted)}.debug-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;font-size:11px}.debug-panel button{margin-top:10px}
