@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Syne:wght@600;700;800&display=swap";
:root{--ink:#18211f;--muted:#78817d;--line:#dce3de;--paper:#f7f8f4;--green:#125d4c;--coral:#ef755e;--yellow:#f8d86b}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#eef2ed;flex-direction:column;flex-shrink:0;width:270px;padding:27px 17px 20px;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:10px;padding:0 12px 52px;font:800 22px Syne,sans-serif;display:flex}.brand>span:last-child span{color:var(--green)}.brand-mark{color:#fff;background:var(--green);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.library-head{color:#99a39e;letter-spacing:1.5px;justify-content:space-between;align-items:center;padding:0 12px 10px;font-size:10px;font-weight:700;display:flex}.icon-button{color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:5px;display:grid}.icon-button:hover{color:var(--ink);background:#e3e9e3}.upload-trigger{position:relative}.upload-trigger input,.upload-card input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-card{color:var(--green);cursor:pointer;background:#e7f4e9;border:1px dashed #a9c5b2;border-radius:8px;flex-direction:column;align-items:flex-start;gap:7px;margin:0 3px 24px;padding:17px 15px;display:flex;position:relative}.upload-card:hover{border-color:var(--green);background:#ddf0e2}.upload-card span{font-size:12px;font-weight:700}.upload-card small{color:#729079;font-size:10px}.book-list{gap:5px;display:grid}.book-row{color:#78817d;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:10px 11px;font-size:12px;display:flex}.book-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-row svg:last-child{opacity:0;margin-left:auto}.book-row.selected,.book-row:hover{color:var(--ink);background:#fff;box-shadow:0 2px 8px #cbd5cc55}.book-row.selected svg:last-child,.book-row:hover svg:last-child{opacity:1;color:var(--green)}.empty-library{color:#a0a9a3;padding:8px 12px;font-size:12px;line-height:1.6}.sidebar-note{border-top:1px solid var(--line);color:#829087;align-items:flex-start;gap:8px;margin-top:auto;padding:15px 10px 0;font-size:10px;line-height:1.5;display:flex}.sidebar-note svg{color:var(--coral);flex-shrink:0}.content-area{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fafbf8cc;justify-content:space-between;align-items:center;height:72px;padding:0 52px;display:flex}.breadcrumb,.top-actions{align-items:center;gap:9px;font-size:12px;display:flex}.breadcrumb span{color:#a0a9a4}.breadcrumb strong{text-overflow:ellipsis;white-space:nowrap;max-width:330px;overflow:hidden}.top-actions{color:#80908a;font-size:11px}.status-dot{background:#53bb83;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #d7efdf}.notice{color:#7c5d18;background:#fff7d8;border:1px solid #f3e4a4;border-radius:7px;align-items:center;gap:8px;margin:16px 52px -4px;padding:11px 14px;font-size:12px;display:flex}.notice button{color:inherit;background:0 0;border:0;margin-left:auto}.content-inner{max-width:1060px;margin:0 auto;padding:66px 52px 70px}.eyebrow{color:#9ba59f;letter-spacing:1.8px;font-size:10px;font-weight:700}.page-heading{margin:10px 0 34px}h1{letter-spacing:-2px;margin:0 0 8px;font:800 clamp(30px,3.6vw,48px)/1.08 Syne,sans-serif}.page-heading p{color:var(--muted);margin:0;font-size:13px}.chat-panel{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;min-height:550px;display:flex;box-shadow:0 10px 30px #b8c8bd20}.chat-scroll{flex:1;padding:31px 34px}.message-row{gap:13px;margin-bottom:30px;display:flex}.message-row.user{flex-direction:row-reverse}.message-row.user .message-body{text-align:right}.message-row.user .message-avatar{background:var(--green);color:#fff}.message-body{max-width:78%}.message-avatar{background:var(--yellow);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:9px;font-weight:800;display:grid}.message-meta{color:#9ca6a0;letter-spacing:1.5px;margin:2px 0 8px;font-size:9px;font-weight:700}.message-copy{color:#3a4540;font-size:14px;line-height:1.7}.message-copy>:first-child{margin-top:0}.message-copy>:last-child{margin-bottom:0}.message-copy p{margin:0 0 14px}.message-copy h1,.message-copy h2,.message-copy h3{color:var(--ink);margin:20px 0 9px;font-family:Syne,sans-serif;line-height:1.25}.message-copy h1{font-size:24px}.message-copy h2{font-size:20px}.message-copy h3{font-size:17px}.message-copy ul,.message-copy ol{margin:8px 0 16px;padding-left:24px}.message-copy li{margin:5px 0;padding-left:3px}.message-copy strong{color:var(--ink);font-weight:700}.message-copy code{color:var(--green);background:#eef3ef;border-radius:4px;padding:2px 5px;font-size:.92em}.message-copy pre{color:#f7f8f4;background:#18211f;border-radius:7px;margin:12px 0 16px;padding:13px 15px;overflow-x:auto}.message-copy pre code{color:inherit;background:0 0;padding:0}.message-row.user .message-copy{color:#fff;background:var(--green);text-align:left;border-radius:12px 2px 12px 12px;padding:10px 14px;display:inline-block}.citations{align-items:center;gap:6px;margin-top:12px;display:flex}.citations span{color:#a0aaa4;margin-right:3px;font-size:10px}.citations button{color:var(--green);background:#effaf2;border:1px solid #b8dec8;border-radius:4px;padding:4px 7px;font-size:10px}.confidence{margin-top:10px;font-size:10px;font-weight:600}.confidence-high{color:#4d8a68}.confidence-low{color:#ad6b33}.composer{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;align-items:center;gap:10px;margin:0 16px 16px;padding:6px 8px 6px 12px;display:flex}.composer-icon{color:var(--coral)}.composer input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.composer input::placeholder{color:#abb4ae}.send-button{background:var(--coral);color:#fff;border:0;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.send-button:disabled{opacity:.35;cursor:not-allowed}@media (max-width:700px){.sidebar{width:210px}.topbar{padding:0 24px}.content-inner{padding:44px 24px 55px}.chat-scroll{padding:24px 20px}}@media (max-width:560px){.sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;min-height:auto;padding:18px 16px}.app-shell{display:block}.brand{padding:0 4px 22px}.upload-card{margin-bottom:16px}.book-list{max-height:120px;overflow:auto}.sidebar-note{display:none}.topbar{height:58px;padding:0 17px}.breadcrumb{max-width:100%}.breadcrumb strong{max-width:180px}.top-actions{display:none}.notice{margin:12px 16px -3px}.content-inner{padding:34px 16px 45px}h1{font-size:32px}.chat-panel{min-height:calc(100vh - 330px)}.chat-scroll{padding:22px 16px}.message-body{max-width:84%}.message-copy{font-size:13px}.composer{margin:0 9px 9px}}.thinking{color:#a0a9a4;letter-spacing:2px;font-size:24px;line-height:1;display:inline-block}.thinking .dot{animation:1.4s infinite both blink}.thinking .dot:nth-child(2){animation-delay:.2s}.thinking .dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}
