:root{--bg:#020617;--panel:rgba(15,23,42,.9);--border:rgba(148,163,184,.2);--muted:#94a3b8;--fg:#f8fafc;--accent:#38bdf8;--accent-strong:#22d3ee;--danger:#fb7185}*,:after,:before{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif;background-color:var(--bg);color:var(--fg);min-height:100vh}.app-shell{height:100vh;min-height:0;display:grid;grid-template-columns:clamp(230px,22vw,320px) minmax(320px,1.1fr) minmax(320px,.7fr);grid-gap:1rem;gap:1rem;padding:1.5rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:0 0 40px rgba(2,6,23,.7);flex-direction:column;height:100%;overflow:hidden}.panel,.panel-inner{display:flex;min-height:0}.panel-inner{flex:1 1;overflow-y:auto;flex-direction:column;gap:.75rem;padding-right:.25rem}.panel-sidebar{display:flex;flex-direction:column;height:100%;min-height:0}.panel-sidebar>.panel-inner{flex:1 1;gap:.75rem}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.panel-header-actions{display:flex;align-items:center;gap:.35rem}.panel-header-actions .select-toggle{background:hsla(0,0%,100%,.06);border:1px solid var(--border);color:var(--muted);padding:.45rem .85rem;font-size:.85rem;border-radius:999px;transition:border .2s ease,color .2s ease,background .2s ease}.panel-header-actions .select-toggle.active{border-color:var(--accent);color:var(--accent)}.panel h2,.panel h3{margin:0;font-size:1rem;color:var(--fg);font-weight:600}.thread-list{overflow-y:auto;gap:.5rem;display:flex;flex-direction:column;padding-right:.25rem;flex:1 1 auto;min-height:0}.chat-messages,.result-list,.thread-list{scrollbar-width:thin;scrollbar-color:rgba(56,189,248,.8) rgba(15,23,42,.8)}.chat-messages::-webkit-scrollbar,.result-list::-webkit-scrollbar,.thread-list::-webkit-scrollbar{width:10px}.chat-messages::-webkit-scrollbar-track,.result-list::-webkit-scrollbar-track,.thread-list::-webkit-scrollbar-track{background:rgba(15,23,42,.7);border-radius:999px}.chat-messages::-webkit-scrollbar-thumb,.result-list::-webkit-scrollbar-thumb,.thread-list::-webkit-scrollbar-thumb{background:rgba(56,189,248,.9);border-radius:999px}.thread-card{border-radius:12px;padding:.75rem;border:1px solid transparent;background:rgba(15,23,42,.6);cursor:pointer;transition:border .2s ease,background .2s ease;display:flex;flex-direction:column;gap:.35rem}.thread-card.active{border-color:var(--accent);background:rgba(56,189,248,.1)}.thread-card span{font-size:.85rem;color:var(--muted)}.thread-row{justify-content:space-between}.thread-row,.thread-row-left{display:flex;align-items:center;gap:.5rem}.thread-row-left{flex:1 1;min-width:0}.thread-row-left strong{font-size:.95rem;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-checkbox{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:hsla(0,0%,100%,.04);border:1px solid transparent}.thread-checkbox input{margin:0;width:18px;height:18px;accent-color:var(--accent)}.thread-actions{display:flex;gap:.5rem;align-items:center}.thread-card strong{font-size:.95rem;display:block}.thread-card.selecting{border-color:rgba(56,189,248,.5);background:rgba(56,189,248,.08)}.sidebar-search{margin-bottom:.75rem}.sidebar-search input{width:100%;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--border);background:rgba(15,23,42,.8);color:var(--fg)}.selection-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .55rem;border-radius:12px;border:1px dashed rgba(148,163,184,.5);background:rgba(15,23,42,.85);position:-webkit-sticky;position:sticky;top:0;z-index:1;margin-bottom:.5rem}.selection-actions button{flex:1 1;border-radius:999px;padding:.45rem .75rem;font-size:.85rem}.selection-actions button.ghost{background:hsla(0,0%,100%,.08);border:1px solid rgba(148,163,184,.4)}.bookmarks{margin-top:1.25rem;flex:1 1;display:flex;flex-direction:column;gap:.5rem;max-height:220px;overflow-y:auto}.bookmark-row{padding:.6rem .75rem;border-radius:10px;background:hsla(0,0%,100%,.03);border:1px solid rgba(148,163,184,.2);display:flex;justify-content:space-between;gap:.75rem;font-size:.85rem}.bookmark-row button{border:none;background:transparent;color:var(--danger);cursor:pointer;font-size:.75rem}.chat-column{flex-direction:column;gap:1rem;overflow:hidden}.chat-box,.chat-column{display:flex;height:100%;min-height:0}.chat-box{flex:1 1;flex-direction:column;border-radius:18px;border:1px solid var(--border);background:rgba(15,23,42,.9);padding:1rem;overflow:visible}.chat-messages{padding-bottom:.75rem;overflow-y:auto;scroll-behavior:smooth}.chat-messages,.messages{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:1rem;padding-right:.5rem}.messages{padding-bottom:1rem}.message{max-width:85%;word-break:break-word;display:inline-flex;flex-direction:column;gap:.35rem}.message.user{align-self:flex-end;background:rgba(59,130,246,.15);border-radius:16px 16px 4px 16px;padding:.75rem}.message.assistant{align-self:flex-start;background:rgba(14,165,233,.08);border-radius:16px 16px 16px 4px;padding:.75rem}.message small{font-size:.7rem;color:var(--muted)}.message-content{line-height:1.5;font-size:.95rem;margin-top:.3rem}.message-content p{margin:0;white-space:pre-line}.message-content h2,.message-content h3{margin:.4rem 0 .25rem}.message-content ol,.message-content ul{margin:.35rem 0 .35rem 1rem;-webkit-padding-start:1.15rem;padding-inline-start:1.15rem}.message-content li+li{margin-top:.25rem}.assistant-md{word-break:break-word;overflow-wrap:anywhere}.assistant-md h2,.assistant-md h3{font-weight:600;margin:.6rem 0 .25rem}.assistant-md p{margin:.25rem 0;line-height:1.6}.assistant-md ol,.assistant-md ul{margin:0 0 .5rem 1.1rem;-webkit-padding-start:1.2rem;padding-inline-start:1.2rem}.assistant-md li{margin-bottom:.25rem}.assistant-md code{background:hsla(0,0%,100%,.08);padding:.08rem .35rem;border-radius:6px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9rem}.assistant-md a{color:var(--accent);text-decoration:underline}.status{padding:.5rem .75rem;border-radius:10px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);color:#fecdd3;font-size:.85rem}.auth-banner{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:10px;background:rgba(14,165,233,.12);border:1px solid rgba(14,165,233,.4);color:#a5f3fc}.auth-banner-actions{display:flex;align-items:center;gap:.25rem}.auth-banner button{padding:.35rem .75rem;border-radius:999px;border:none;font-size:.8rem;font-weight:600;background:hsla(0,0%,100%,.08);color:var(--fg);cursor:pointer}.auth-banner button.auth-close{background:transparent;padding:.35rem;width:32px;height:32px;border-radius:50%;font-weight:700}.chat-input{display:flex;flex-direction:column;gap:.5rem;position:-webkit-sticky;position:sticky;bottom:0;background:rgba(2,6,23,.95);padding-top:.75rem;padding-bottom:.75rem;margin-top:0;border-top:1px solid rgba(148,163,184,.4);z-index:2}.chat-input textarea{width:100%;min-height:90px;border-radius:14px;border:1px solid var(--border);padding:.75rem;background:rgba(15,23,42,.85);color:var(--fg);resize:vertical}.chat-input .actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chat-input button,.panel button,.right-panel button{border:none;border-radius:999px;padding:.5rem 1rem;cursor:pointer;font-weight:600;color:var(--fg);background:linear-gradient(135deg,var(--accent),var(--accent-strong));transition:opacity .2s ease}.chat-input button:disabled{opacity:.6;cursor:not-allowed}.checkbox-toggle{display:flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--muted)}.checkbox-toggle input{accent-color:var(--accent)}.right-panel{gap:1rem;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.right-panel .result-panel{flex:1 1;display:flex;flex-direction:column;gap:.75rem;min-height:0;overflow-y:auto}.result-panel h3{font-size:1rem}.result-status{font-size:.8rem;color:var(--muted);margin-bottom:.45rem}.result-status.sync-warning{color:#facc15}.result-list{gap:.9rem}.result-item{padding:.85rem;border-radius:14px;border:1px solid rgba(100,116,139,.25);background:rgba(2,6,23,.45);display:flex;flex-direction:column;gap:.35rem}.result-item__title{display:flex;align-items:center;gap:.4rem}.result-item strong{font-size:.95rem}.result-item a{color:var(--accent);text-decoration:none;font-size:.85rem}.result-item button{align-self:flex-start;font-size:.8rem;padding:.35rem .75rem}.suspect-badge{padding:.15rem .45rem;border-radius:999px;color:#fef3c7;background:rgba(234,179,8,.18);border:1px solid rgba(234,179,8,.35)}.mismatch-badge,.suspect-badge{display:inline-flex;align-items:center;font-size:.72rem}.mismatch-badge{margin-left:.5rem;padding:.15rem .4rem;border-radius:10px;background:rgba(239,68,68,.18);color:#fecdd3;border:1px solid rgba(239,68,68,.35)}.interpret-sources{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.chip{display:inline-flex;padding:.1rem .45rem;border-radius:999px;background:rgba(148,163,184,.25);color:var(--fg);font-size:.75rem}.chip,.share-row{align-items:center}.share-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.share-row input{flex:1 1;border-radius:10px;border:1px solid var(--border);background:rgba(15,23,42,.85);padding:.45rem .75rem;color:var(--fg)}.last-result-meta{font-size:.8rem;color:var(--muted)}.result-panel button.copy{background:hsla(0,0%,100%,.08)}.result-panel button.pdf,.result-panel button.share{font-size:.85rem}.result-panel .actions{display:flex;flex-wrap:wrap;gap:.5rem}.result-panel{flex-direction:column;height:100%}.result-list,.result-panel{display:flex;gap:.75rem;min-height:0}.result-list{flex:1 1;overflow-y:auto;flex-direction:column;padding-right:.25rem}.icon-button{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:10px;cursor:pointer;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;transition:border .2s ease,color .2s ease,background .2s ease}.icon-button.danger{border-color:rgba(251,113,133,.4);color:var(--danger)}.icon-button:hover{background:hsla(0,0%,100%,.06)}@media (max-width:1100px){.app-shell{grid-template-columns:1fr;padding:1rem}.panel{width:100%}}