:root{--colour-ink: #0f0f0f;--colour-ink-soft: #3d3d3d;--colour-muted: #7a7a7a;--colour-line: #e2e2e0;--colour-line-soft: #ebebea;--colour-surface: #ffffff;--colour-surface-alt: #f5f4f0;--colour-surface-hover: #efeeea;--colour-accent: #0f0f0f;--colour-accent-amber: #92400e;--colour-amber-bg: #fffbeb;--colour-amber-line: #fcd34d;--font-sans: "Inter", "Helvetica Neue", Arial, system-ui, sans-serif;--font-serif: "Georgia", "Times New Roman", serif;--max-col: 760px;--radius: 5px;--radius-sm: 3px;--space: 16px;--t-fast: .12s ease;--t-base: .18s ease}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--colour-ink);background:var(--colour-surface);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:15px 24px;background:var(--colour-surface);border-bottom:1px solid var(--colour-line);box-shadow:0 1px 0 var(--colour-line-soft)}.header .logo{height:26px;width:auto;display:block}.header .title{font-size:14px;color:var(--colour-muted);text-transform:uppercase;letter-spacing:.12em}.header .about-btn{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;background:none;border:1px solid var(--colour-line);border-radius:var(--radius);padding:6px 14px;cursor:pointer;color:var(--colour-ink);transition:border-color var(--t-fast),background var(--t-fast)}.header .about-btn:hover{border-color:var(--colour-ink);background:var(--colour-surface-alt)}.header .user-email{font-size:13px;color:var(--colour-muted)}.header .signout-btn{font-family:inherit;font-size:13px;font-weight:600;background:none;border:none;text-decoration:underline;cursor:pointer;color:var(--colour-ink);padding:6px 4px}.gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:24px}.gate-logo{height:40px;margin-bottom:8px}.gate h1{font-family:var(--font-serif);font-size:32px;margin:0}.gate-lead{max-width:420px;color:var(--colour-ink-soft);line-height:1.6;margin:0 0 8px}.gate-error{color:#7a1f1f}.disclaimer-text{max-height:38vh;overflow-y:auto;text-align:left;font-size:13px;line-height:1.6;border:1px solid var(--colour-line);border-radius:var(--radius);padding:16px 20px;max-width:560px;width:100%;background:var(--colour-surface-alt);color:var(--colour-ink-soft)}.disclaimer-text p{margin:0 0 12px}.disclaimer-text p:last-child{margin-bottom:0}.primary-btn{font-family:inherit;font-size:15px;font-weight:600;padding:12px 28px;background:var(--colour-ink);color:#fff;border:1px solid var(--colour-ink);border-radius:var(--radius);cursor:pointer;transition:opacity var(--t-fast)}.primary-btn:hover{opacity:.85}.about-panel{background:var(--colour-surface-alt);border-bottom:1px solid var(--colour-line);max-height:62vh;overflow-y:auto}.about-inner{max-width:var(--max-col);margin:0 auto;padding:24px}.about-inner h3{margin:0 0 8px;font-family:var(--font-serif);font-size:22px}.about-inner h4{margin:20px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--colour-muted)}.about-inner p{margin:0 0 10px;line-height:1.6;color:var(--colour-ink-soft)}.about-inner ul{margin:0 0 10px;padding-left:20px;line-height:1.6;color:var(--colour-ink-soft)}.about-inner li{margin-bottom:5px}.about-lead{margin:0 0 6px;color:var(--colour-ink-soft);line-height:1.6;font-size:16px}.methodology{margin-top:20px;text-align:left}.method-steps{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px}.method-step{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--colour-ink-soft)}.method-step .n{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:1px solid var(--colour-ink);color:var(--colour-ink);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.method-step strong{color:var(--colour-ink)}.layers{display:flex;flex-wrap:wrap;gap:6px}.layer-chip{font-size:12px;color:var(--colour-ink-soft);border:1px solid var(--colour-line);border-radius:999px;padding:3px 10px;white-space:nowrap}.citations-note{font-size:13px;color:var(--colour-muted);margin:0 0 12px}.prose .cite-link{color:var(--colour-ink);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer}.prose .cite-link:hover{background:var(--colour-surface-alt)}.cite-num{flex:0 0 auto;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--colour-ink);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.cite-flash{animation:citeflash 1.2s ease-out}@keyframes citeflash{0%{box-shadow:0 0 0 3px #11111159}to{box-shadow:0 0 #1110}}.body{flex:1;display:flex;min-height:0}.sidebar{width:264px;flex:0 0 264px;border-right:1px solid var(--colour-line);background:var(--colour-surface-alt);display:flex;flex-direction:column;overflow:hidden;padding:14px 12px}.sidebar .new-chat{font-family:inherit;font-size:14px;font-weight:600;padding:10px 12px;background:var(--colour-ink);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;width:100%}.sidebar-heading{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--colour-muted);margin:18px 6px 8px}.session-list{flex:1;overflow-y:auto}.sidebar-empty{color:var(--colour-muted);font-size:13px;padding:4px 6px}.session-item{display:flex;align-items:center;gap:6px;padding:8px;border-radius:var(--radius);cursor:pointer}.session-item:hover{background:#ececea}.session-item.active{background:#e4e4e1}.session-title{flex:1;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-when{font-size:11px;color:var(--colour-muted)}.session-del{border:none;background:none;color:var(--colour-muted);cursor:pointer;font-size:12px;opacity:0;padding:2px 4px}.session-item:hover .session-del{opacity:1}.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.drop-overlay{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px dashed var(--colour-ink);border-radius:8px;background:#f6f6f4eb;color:var(--colour-ink);font-weight:600;pointer-events:none}.conversation{flex:1;overflow-y:auto}.conversation-inner{max-width:var(--max-col);margin:0 auto;padding:32px 24px 40px}.empty{color:var(--colour-muted);text-align:center;margin-top:18vh}.empty h1{font-family:var(--font-serif);font-weight:700;font-size:30px;color:var(--colour-ink);margin-bottom:8px}.msg{margin-bottom:28px}.msg .role{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--colour-muted);margin-bottom:8px}.msg.user .bubble{background:var(--colour-surface-alt);border:1px solid var(--colour-line);border-radius:var(--radius);padding:12px 16px}.msg .prose{line-height:1.65;font-size:16px}.msg .prose h1,.msg .prose h2,.msg .prose h3{font-family:var(--font-serif);line-height:1.3}.msg .prose p{margin:0 0 12px}.msg .prose code{background:var(--colour-surface-alt);padding:1px 5px;border-radius:3px;font-size:.92em}.cursor{display:inline-block;width:7px;height:1.05em;background:var(--colour-ink);margin-left:1px;vertical-align:text-bottom;animation:blink 1s steps(2,start) infinite}.thinking{display:flex;align-items:center;gap:10px;color:var(--colour-muted);font-size:15px}.thinking-dots{display:inline-flex;gap:4px}.thinking-dots span{width:6px;height:6px;border-radius:50%;background:var(--colour-muted);animation:thinkingpulse 1.2s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinkingpulse{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes blink{to{visibility:hidden}}.citations{margin-top:20px;border-top:1px solid var(--colour-line);padding-top:14px}.citations h4{font-size:10.5px;text-transform:uppercase;letter-spacing:.16em;color:var(--colour-muted);margin:0 0 4px}.citations-note{font-size:13px;color:var(--colour-muted);margin:0 0 14px}.citation{border:1px solid var(--colour-line);border-radius:var(--radius);margin-bottom:8px;background:var(--colour-surface);overflow:hidden;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.citation.open{border-color:#0f0f0f59;box-shadow:0 2px 8px #0000000d}.citation-head{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:none;font:inherit;cursor:pointer;padding:11px 14px;transition:background var(--t-fast)}.citation-head:hover{background:var(--colour-surface-alt)}.citation-head .chevron{color:var(--colour-muted);font-size:11px;line-height:1;flex-shrink:0;transition:transform var(--t-base);display:inline-block}.citation.open .citation-head .chevron{transform:rotate(90deg)}.citation-head .display{font-weight:600;font-size:14px;line-height:1.4}.citation-body{padding:12px 14px 14px 44px;border-top:1px solid var(--colour-line)}.citation-body .arabic{font-size:15px;margin-bottom:8px}.citation-body .meta{font-size:13px;color:var(--colour-ink-soft);line-height:1.7}.citation-body .meta span{color:var(--colour-muted)}.citation-actions{margin-top:12px;display:flex;gap:18px;flex-wrap:wrap}.citation-actions a{color:var(--colour-accent);font-weight:600;font-size:14px}.citation-actions .url-pending{font-size:13px;color:var(--colour-muted);font-style:italic}.composer{flex:0 0 auto;border-top:1px solid var(--colour-line);background:var(--colour-surface);padding:16px 24px 18px}.composer-inner{max-width:var(--max-col);margin:0 auto;display:flex;gap:10px;align-items:flex-end}.composer textarea{flex:1;resize:none;font-family:inherit;font-size:16px;line-height:1.5;padding:12px 14px;border:1px solid var(--colour-line);border-radius:var(--radius);background:var(--colour-surface);max-height:200px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.composer textarea:hover{border-color:#0f0f0f66}.composer textarea:focus{outline:none;border-color:var(--colour-ink);box-shadow:0 0 0 2px #0f0f0f14}.composer button{font-family:inherit;font-size:15px;font-weight:600;padding:12px 22px;background:var(--colour-ink);color:#fff;border:1px solid var(--colour-ink);border-radius:var(--radius);cursor:pointer;transition:opacity var(--t-fast)}.composer button:not(:disabled):hover{opacity:.85}.composer button:disabled{opacity:.4;cursor:not-allowed}.disclaimer{max-width:var(--max-col);margin:8px auto 0;font-size:12px;color:var(--colour-muted);text-align:center}.error-banner{background:#fdf0f0;border:1px solid #e4b6b6;color:#7a1f1f;padding:10px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:14px}[dir=rtl]{unicode-bidi:isolate}.header .nav-btn{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;background:none;border:1px solid var(--colour-line);border-radius:var(--radius);padding:6px 14px;cursor:pointer;color:var(--colour-ink);transition:border-color var(--t-fast),background var(--t-fast)}.header .nav-btn:hover{border-color:var(--colour-ink);background:var(--colour-surface-alt)}.library{flex:1;overflow-y:auto}.library-inner{max-width:860px;margin:0 auto;padding:32px 24px 64px}.library-inner h1{font-family:var(--font-serif);font-size:30px;margin:0 0 6px}.library-lead{color:var(--colour-ink-soft);margin:0 0 18px;line-height:1.6}.library-search{width:100%;font-family:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--colour-ink);border-radius:var(--radius);margin-bottom:10px}.library-status{font-size:13px;color:var(--colour-muted);margin:0 0 16px}.lib-domain-filter{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.lib-domain-filter__header{display:flex;align-items:center;gap:8px}.lib-domain-search{flex:1;min-width:0;max-width:220px;font-size:12px;font-family:inherit;color:var(--colour-ink);background:var(--colour-surface-alt, #f5f5f4);border:1px solid var(--colour-line);border-radius:999px;padding:4px 12px;outline:none;transition:border-color var(--t-fast)}.lib-domain-search:focus{border-color:var(--colour-ink)}.lib-domain-search::placeholder{color:var(--colour-ink-soft)}.lib-domain-chips{display:flex;flex-wrap:wrap;gap:5px}.lib-domain-no-match{font-size:12px;color:var(--colour-ink-soft);font-style:italic}.filter-chip{display:inline-flex;align-items:center;font-size:11.5px;font-family:inherit;font-weight:450;line-height:1;color:var(--colour-ink-soft);background:transparent;border:1px solid var(--colour-line);border-radius:999px;padding:3px 10px;white-space:nowrap;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast)}.filter-chip:hover{border-color:var(--colour-ink);color:var(--colour-ink)}.filter-chip--active{background:var(--colour-ink);border-color:var(--colour-ink);color:#fff}.filter-chip--active:hover{opacity:.85}.filter-chip--clear{color:var(--colour-ink);border-color:var(--colour-ink);font-weight:500;flex-shrink:0}.lib-issuer-filter{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.lib-issuer-filter__label{font-size:12px;color:var(--colour-ink-soft);white-space:nowrap}.lib-issuer-badge{display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;line-height:1;color:var(--colour-ink-soft);background:var(--colour-surface-alt, #f5f5f4);border:1px solid var(--colour-line);border-radius:4px;padding:2px 6px;white-space:nowrap}.lib-group{border-top:1px solid var(--colour-line)}.lib-group-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;font:inherit;cursor:pointer;padding:12px 4px}.lib-group-head:hover{background:var(--colour-surface-alt)}.lib-group-head .chevron{color:var(--colour-muted);font-size:12px}.lib-group-label{flex:1;font-weight:700}.lib-group-count{color:var(--colour-muted);font-size:13px}.lib-items{padding:0 4px 10px}.lib-item{display:flex;align-items:center;gap:12px;padding:8px;border-top:1px solid var(--colour-surface-alt)}.lib-item:hover{background:var(--colour-surface-alt)}.lib-id{flex:0 0 86px;font-size:12px;font-weight:600;color:var(--colour-muted)}.lib-title{flex:1;font-size:14.5px;line-height:1.45}.lib-open{flex:0 0 auto;font-family:inherit;font-size:13px;font-weight:600;padding:6px 16px;background:var(--colour-ink);color:#fff;border:none;border-radius:var(--radius);cursor:pointer}.lib-open:disabled{opacity:.5;cursor:default}.composer-attachments{max-width:var(--max-col);margin:0 auto 8px;display:flex;flex-wrap:wrap;gap:6px}.attach-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--colour-surface-alt);border:1px solid var(--colour-line);border-radius:999px;padding:3px 10px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-remove{border:none;background:none;cursor:pointer;font-size:16px;line-height:1;color:var(--colour-muted);padding:0 0 0 2px}.attach-remove:hover{color:var(--colour-ink)}.attach-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--colour-ink);background:none;border:1px solid var(--colour-ink);border-radius:var(--radius);padding:11px;cursor:pointer;align-self:flex-end}.attach-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-btn:hover:not(:disabled){background:var(--colour-surface-alt)}.attach-btn:disabled{opacity:.5;cursor:not-allowed}.expert-btn{flex:0 0 auto;align-self:flex-end;color:var(--colour-ink);background:none;border:1px solid var(--colour-ink);border-radius:var(--radius);padding:10px 12px;font-size:.85rem;font-weight:600;cursor:pointer}.expert-btn:hover:not(:disabled){background:var(--colour-surface-alt)}.expert-btn.active{color:var(--colour-surface);background:var(--colour-ink);border-color:var(--colour-ink)}.expert-btn:disabled{opacity:.5;cursor:not-allowed}.msg-attachments{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.sections-view{display:flex;flex-direction:column;gap:4px}.direct-answer{padding:14px 18px 12px;margin-bottom:8px;background:var(--colour-surface-alt);border-radius:var(--radius);font-size:16px;line-height:1.7}.direct-answer p{margin:0}.section-flat{padding:4px 0 8px;font-size:16px;line-height:1.65}.section-flat p{margin:0 0 12px}.section-flat p:last-child{margin-bottom:0}.section-block{border:1px solid var(--colour-line);border-radius:var(--radius);overflow:hidden;transition:border-color var(--t-fast)}.section-block+.section-block{margin-top:4px}.section-block.section-conflict{border-color:var(--colour-amber-line);background:var(--colour-amber-bg)}.section-toggle{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--colour-surface-alt);border:none;font:inherit;font-size:14.5px;font-weight:700;font-family:var(--font-serif);cursor:pointer;padding:10px 14px;color:var(--colour-ink);line-height:1.3;transition:background var(--t-fast)}.section-block.section-conflict .section-toggle{background:#fef3c7;color:var(--colour-accent-amber)}.section-toggle:hover{background:var(--colour-surface-hover)}.section-block.section-conflict .section-toggle:hover{background:#fde68a}.section-chevron{flex:0 0 auto;font-size:9px;color:var(--colour-muted);transition:transform var(--t-base);display:inline-block;transform:rotate(0)}.section-chevron.open{transform:rotate(90deg)}.section-block.section-conflict .section-chevron{color:#b45309}.section-heading-text{flex:1}.section-conflict-badge{flex:0 0 auto;font-size:11px;font-family:var(--font-sans);font-weight:600;letter-spacing:.04em;color:#b45309;background:#fde68a;border-radius:999px;padding:2px 8px}.section-content{padding:12px 16px 4px;border-top:1px solid var(--colour-line);font-size:16px;line-height:1.65}.section-block.section-conflict .section-content{border-top-color:#fcd34d}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;padding:15px 24px}.header-left{display:flex;align-items:center;gap:14px}.header-centre{display:flex;justify-content:center;padding:0 16px}.header-right{display:flex;align-items:center;gap:12px;justify-content:flex-end}.header-right .about-btn{margin-left:0}.header-left .logo{height:26px;width:auto;display:block}.header-left .title{font-size:14px;color:var(--colour-muted);text-transform:uppercase;letter-spacing:.12em}@media (max-width: 720px){.header{grid-template-columns:1fr auto}.header-centre{display:none}}.searchbox{position:relative;display:flex;align-items:center;max-width:420px;width:100%}.searchbox-icon{position:absolute;left:10px;font-size:13px;pointer-events:none;opacity:.5}.searchbox-input{width:100%;font-family:inherit;font-size:14px;padding:7px 34px 7px 32px;border:1px solid var(--colour-line);border-radius:20px;background:var(--colour-surface-alt);color:var(--colour-ink);outline:none}.searchbox-input:focus{border-color:var(--colour-ink);background:var(--colour-surface)}.searchbox-clear{position:absolute;right:8px;background:none;border:none;cursor:pointer;font-size:11px;color:var(--colour-muted);padding:2px 4px;line-height:1}.header-search .searchbox-input{font-size:13px;padding:6px 30px}.citation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.cite-action-btn{font-family:inherit;font-size:13px;font-weight:600;padding:6px 14px;background:none;border:1px solid var(--colour-line);border-radius:var(--radius);cursor:pointer;color:var(--colour-ink)}.cite-action-btn:hover{border-color:var(--colour-ink)}.cite-action-btn:disabled{opacity:.5;cursor:default}.cite-action-en{border-color:var(--colour-accent);color:var(--colour-accent)}.title-unofficial{margin-left:3px;font-size:10px;color:var(--colour-muted);cursor:default}.lib-item{align-items:flex-start}.lib-title-block{flex:1;display:flex;flex-direction:column;gap:2px}.lib-title-ar{font-size:12px;color:var(--colour-muted);line-height:1.4}.library-search-echo{font-size:13px;color:var(--colour-muted);margin:0 0 10px}.lib-open-menu{position:relative;flex:0 0 auto}.lib-open-dropdown{position:absolute;right:0;top:calc(100% + 4px);z-index:20;background:var(--colour-surface);border:1px solid var(--colour-line);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;min-width:200px;display:flex;flex-direction:column}.lib-open-dropdown button{font-family:inherit;font-size:13px;text-align:left;padding:10px 14px;background:none;border:none;cursor:pointer;color:var(--colour-ink)}.lib-open-dropdown button:hover{background:var(--colour-surface-alt)}.lib-open-dropdown button+button{border-top:1px solid var(--colour-line)}.conversation::-webkit-scrollbar,.library::-webkit-scrollbar,.session-list::-webkit-scrollbar{width:5px}.conversation::-webkit-scrollbar-track,.library::-webkit-scrollbar-track,.session-list::-webkit-scrollbar-track{background:transparent}.conversation::-webkit-scrollbar-thumb,.library::-webkit-scrollbar-thumb,.session-list::-webkit-scrollbar-thumb{background:var(--colour-line);border-radius:99px}.conversation::-webkit-scrollbar-thumb:hover,.library::-webkit-scrollbar-thumb:hover{background:var(--colour-muted)}:focus-visible{outline:2px solid var(--colour-ink);outline-offset:2px;border-radius:var(--radius-sm)}.session-item,.lib-item,.lib-group-head{transition:background var(--t-fast)}.cite-action-btn{transition:border-color var(--t-fast),background var(--t-fast),opacity var(--t-fast)}.section-content{animation:sectionReveal .15s ease-out}@keyframes sectionReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.citation-body{animation:sectionReveal .15s ease-out}.sidebar .new-chat{transition:opacity var(--t-fast)}.sidebar .new-chat:hover{opacity:.85}.empty h1{font-weight:400;letter-spacing:-.01em}.thinking-dots span{background:var(--colour-line)}.attach-btn,.expert-btn{transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.section-conflict-badge{font-size:10.5px}.lib-open{transition:opacity var(--t-fast)}.lib-open:not(:disabled):hover{opacity:.82}
