:root{--primary: #01458e;--primary-dark: #013269;--bg: #f5f6f8;--panel: #ffffff;--border: #e3e6eb;--text: #1f2430;--text-2: #6b7280;--hover: #eef3fa;--danger: #d93026;--ok: #21a053}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}.app{display:flex;height:100%}.sidebar{width:280px;flex:0 0 280px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar .brand{padding:18px 16px 10px;border-bottom:1px solid var(--border)}.sidebar .brand-title{font-size:17px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:8px}.sidebar .update-line{font-size:12px;color:var(--text-2);margin-top:6px}.new-chat-btn{margin:12px 16px;padding:9px 12px;border:1px solid var(--primary);color:var(--primary);background:#fff;border-radius:8px;cursor:pointer;font-size:14px}.new-chat-btn:hover{background:var(--hover)}.main-head .head-link{margin-left:auto;font-size:13px;color:var(--primary);text-decoration:none;border:1px solid var(--border);border-radius:8px;padding:6px 12px;white-space:nowrap}.main-head .head-link:hover{background:var(--hover);border-color:var(--primary)}.wiki-entry{display:block;margin:0 16px 8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--primary);font-size:13px;text-decoration:none;text-align:center}.wiki-entry:hover{background:var(--hover);border-color:var(--primary)}.history-search{margin:0 16px 8px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;outline:none}.history{flex:1;overflow-y:auto;padding:0 8px 8px}.history h4{margin:10px 8px 4px;font-size:12px;color:var(--text-2)}.history-item{display:block;width:100%;text-align:left;padding:9px 10px;border:none;background:none;border-radius:8px;cursor:pointer;font-size:13.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-wrap{display:flex;align-items:center;border-radius:8px;position:relative}.history-item-wrap:hover{background:var(--hover)}.history-item-wrap .history-item{flex:1;min-width:0}.history-item-wrap:hover .history-item{background:none}.history-del{border:none;background:none;color:var(--text-2);opacity:.55;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:6px;flex:0 0 auto}.history-item-wrap:hover .history-del{opacity:1;visibility:visible}.history-del:hover{color:var(--danger);background:#fdecec;opacity:1}.history-item-wrap.active{background:var(--hover)}.history-item-wrap.active .history-item{color:var(--primary);font-weight:600}.user-menu{border-top:1px solid var(--border);padding:12px 16px;font-size:13px;color:var(--text-2)}.user-menu .row{display:flex;align-items:center;justify-content:space-between}.user-menu .link{color:var(--primary);cursor:pointer}.user-menu .link:hover{text-decoration:underline}.main{flex:1;display:flex;flex-direction:column;min-width:0}.main-head{padding:16px 24px;display:flex;align-items:center;gap:12px;background:var(--panel);border-bottom:1px solid var(--border)}.main-head .logo{width:34px;height:34px;border-radius:8px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}.main-head .site-name{font-size:16px;font-weight:700;color:var(--primary)}.chat-scroll{flex:1;overflow-y:auto;padding:24px 20% 12px}@media (max-width: 900px){.chat-scroll{padding:16px}}.welcome{text-align:center;margin-top:12vh}.welcome h1{font-size:26px;color:var(--primary);margin:10px 0 6px}.welcome .sub{color:var(--text-2);font-size:14px;margin-bottom:28px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:720px;margin:0 auto}@media (max-width: 700px){.quick-grid{grid-template-columns:1fr}}.quick-item{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:12px 14px;cursor:pointer;text-align:left;font-size:13px;color:var(--text)}.quick-item:hover{border-color:var(--primary);color:var(--primary)}.msg{margin:18px 0}.msg-user{display:flex;justify-content:flex-end}.msg-user .bubble{background:var(--primary);color:#fff;border-radius:12px 12px 4px;padding:10px 14px;max-width:78%;font-size:14px;line-height:1.6;white-space:pre-wrap}.msg-assistant .bubble{background:var(--panel);border:1px solid var(--border);border-radius:12px 12px 12px 4px;padding:12px 16px;font-size:14px;line-height:1.75}.msg-assistant .bubble code{background:#f1f3f6;padding:1px 5px;border-radius:4px;font-size:13px}.msg-assistant .bubble h1,.msg-assistant .bubble h2,.msg-assistant .bubble h3,.msg-assistant .bubble h4,.msg-assistant .bubble h5,.msg-assistant .bubble h6{margin:12px 0 6px;color:var(--text);line-height:1.4}.msg-assistant .bubble h1{font-size:20px}.msg-assistant .bubble h2{font-size:18px}.msg-assistant .bubble h3{font-size:16px}.msg-assistant .bubble h4{font-size:15px}.msg-assistant .bubble h5,.msg-assistant .bubble h6{font-size:14px}.msg-assistant .bubble ul,.msg-assistant .bubble ol{margin:6px 0;padding-left:22px}.msg-assistant .bubble li{margin:3px 0}.msg-assistant .bubble .table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0}.msg-assistant .bubble table{width:100%;border-collapse:collapse;margin:0;font-size:13px}.msg-assistant .bubble th,.msg-assistant .bubble td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top;line-height:1.6}.msg-assistant .bubble th{background:#f1f5f9;font-weight:600;white-space:nowrap}.msg-assistant .bubble .answer-img{display:block;max-width:100%;border:1px solid var(--border);border-radius:8px;margin:10px 0}.code-block{background:#f4f6f9;border:1px solid var(--border);border-radius:8px;padding:10px 12px;overflow-x:auto;margin:10px 0;font-size:12.5px;line-height:1.6}.code-block code{font-family:Consolas,Courier New,monospace;color:#2b3444;white-space:pre}.code-lang{font-size:11px;color:var(--text-2);margin-bottom:6px;text-transform:none}.think-live{color:var(--text-2);font-size:12.5px;margin-bottom:6px}.think-block{margin:0 0 10px;background:#f6f8fa;border:1px solid var(--border);border-radius:8px;padding:6px 10px}.think-block summary{color:var(--text-2);font-size:12.5px;cursor:pointer;-webkit-user-select:none;user-select:none}.think-block summary:hover{color:var(--primary)}.think-text{color:#8a94a6;font-size:13px;line-height:1.7;margin-top:6px;border-top:1px dashed var(--border);padding-top:6px;max-height:260px;overflow-y:auto;white-space:pre-wrap}.cursor{display:inline-block;width:8px;height:15px;background:var(--primary);animation:blink 1s steps(1) infinite;vertical-align:-2px}@keyframes blink{50%{opacity:0}}.cite-chip{color:var(--primary);cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none;margin:0 1px}.cite-chip:hover{text-decoration:underline}.refs{margin-top:10px;border-top:1px dashed var(--border);padding-top:8px}.refs .ref-title{font-size:12px;color:var(--text-2);margin-bottom:6px}.ref-item{display:flex;gap:8px;font-size:12.5px;color:var(--text-2);padding:4px 0;cursor:pointer;border-radius:4px}.ref-item:hover{background:#01458e0d}.ref-item .ref-count{color:var(--text-2);margin-left:4px}.ref-hint{margin-top:6px;font-size:11.5px;color:var(--text-3, #999)}.ref-item .n{color:var(--primary);font-weight:600;min-width:22px}.ref-item .doc{color:var(--primary);cursor:pointer;font-weight:600}.ref-item .doc:hover{text-decoration:underline}.ref-item .snippet{display:block;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:560px}.msg-tools{margin-top:8px;display:flex;gap:6px;align-items:center}.msg-tools button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:3px 10px;font-size:12.5px;color:var(--text-2);cursor:pointer}.msg-tools button:hover{border-color:var(--primary);color:var(--primary)}.msg-tools button.liked{background:var(--hover);color:var(--primary);border-color:var(--primary)}.error-bubble{color:var(--danger)}.input-area{padding:12px 20% 20px}@media (max-width: 900px){.input-area{padding:12px 16px 20px}}.input-box{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:10px 12px;box-shadow:0 2px 10px #0000000a}.input-box textarea{width:100%;border:none;resize:none;outline:none;font-size:14px;font-family:inherit;line-height:1.6;height:44px;background:transparent;color:var(--text)}.input-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}.input-hint{font-size:12px;color:var(--text-2);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-btns{display:flex;gap:8px;align-items:center;flex:0 0 auto}.round-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text-2);font-size:16px;cursor:pointer}.round-btn:hover{border-color:var(--primary);color:var(--primary)}.pill-btn{width:auto;height:auto;min-height:34px;padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text-2);font-size:14px;line-height:1.4;white-space:nowrap;cursor:pointer}.pill-btn:hover{border-color:var(--primary);color:var(--primary)}.pill-btn:disabled{opacity:.45;cursor:not-allowed}.send-btn{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:8px 22px;font-size:14px;cursor:pointer;white-space:nowrap}.send-btn:disabled{opacity:.45;cursor:not-allowed}.disclaimer{margin-top:14px;text-align:center;font-size:12px;color:var(--text-2)}.disclaimer a{color:var(--primary);text-decoration:none}.disclaimer a:hover{text-decoration:underline}.footer-line,.site-footer{margin-top:6px;text-align:center;font-size:12px;color:var(--text-2);padding-bottom:14px}.site-footer a{color:var(--text-2);text-decoration:none}.site-footer a:hover{color:var(--primary);text-decoration:underline}.site-footer-sep{margin:0 6px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:50}.overlay.login-gate{background:linear-gradient(180deg,#eef3fb,#f7f8fa);overflow-y:auto;padding:24px 16px;align-items:center}.dialog.dialog-gate{width:420px;max-width:100%;padding:30px 28px 22px}.gate-brand{text-align:center;margin-bottom:20px}.gate-brand .gate-logo{width:46px;height:46px;margin:0 auto 10px;border-radius:12px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}.gate-brand h1{margin:0 0 6px;font-size:22px;color:var(--primary)}.gate-brand .gate-sub{font-size:13px;color:var(--text-2);line-height:1.6}.gate-brand .gate-note{margin-top:10px;font-size:12px;color:var(--text-2);background:#f1f5f9;border-radius:8px;padding:8px 10px;line-height:1.6}.dialog.dialog-gate .site-footer{padding-bottom:0;margin-top:14px}.dialog{background:#fff;border-radius:14px;width:400px;max-width:92vw;padding:26px 28px;box-shadow:0 10px 40px #0003}.dialog h2{margin:0 0 4px;font-size:19px;color:var(--primary)}.dialog .tip{font-size:13px;color:var(--text-2);margin-bottom:16px}.dialog label{display:block;font-size:13px;color:var(--text-2);margin:12px 0 4px}.dialog input{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none}.dialog input:focus{border-color:var(--primary)}.dialog .primary-btn{width:100%;margin-top:18px;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.dialog .ghost-btn{width:100%;margin-top:8px;padding:10px;background:#fff;color:var(--text-2);border:1px solid var(--border);border-radius:8px;font-size:14px;cursor:pointer}.dialog .switch-line{margin-top:14px;text-align:center;font-size:13px;color:var(--text-2)}.dialog .switch-line span{color:var(--primary);cursor:pointer}.poster-dialog{width:460px}.poster-preview{max-height:56vh;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#f2f4f7;margin-bottom:4px}.poster-preview canvas{display:block;width:100%;height:auto}.img-result-title{font-size:14px;color:var(--text-2);margin-bottom:10px}.img-result-meta{color:var(--text-3, #9aa4b2);font-size:12px}.img-toggle{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.img-toggle input{width:auto;margin:0}.img-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (max-width: 700px){.img-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.img-thumb{padding:0;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:zoom-in;overflow:hidden;text-align:left}.img-thumb:hover{border-color:var(--primary)}.img-thumb img{display:block;width:100%;height:132px;object-fit:contain;background:#f7f9fc}.img-cap{display:block;padding:6px 8px;font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-body{display:flex;flex-direction:column;max-width:92vw;max-height:92vh;background:#fff;border-radius:12px;overflow:hidden}.lightbox-body>img{max-width:92vw;max-height:74vh;object-fit:contain;background:#f2f4f7}.lightbox-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--border)}.lightbox-name{flex:1;font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-nav{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2)}.lightbox-nav .round-btn{width:30px;height:30px}.lightbox-btn.ghost-btn{width:auto;margin-top:0;padding:7px 14px}.input-notice{margin-top:8px;font-size:13px;color:var(--primary);background:var(--primary-light, #e8f0fb);border-radius:8px;padding:8px 12px}.err-text{color:var(--danger);font-size:13px;margin-top:10px}.admin{flex:1;overflow-y:auto;padding:24px 5%}.admin h1{color:var(--primary);font-size:22px}.admin .tabs{display:flex;gap:8px;margin:16px 0}.admin .tabs button{padding:8px 18px;border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer;font-size:14px;white-space:nowrap}.admin .tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.admin table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.admin th,.admin td{border:1px solid var(--border);padding:8px 10px;text-align:left}.admin th{background:var(--hover)}.kb-row label{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:#fff;cursor:pointer}.kb-row label.checked{border-color:var(--primary);background:var(--hover)}.kb-check{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);border-radius:14px;background:#fafbfc;font-size:12.5px;cursor:pointer;color:var(--text-2)}.kb-check.checked{border-color:var(--primary);background:var(--hover);color:var(--primary)}.route-input{border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;background:#fff;color:var(--text-1);outline:none;box-sizing:border-box}.route-input:focus{border-color:var(--primary)}.refined-line{display:block;margin-bottom:8px;font-size:12.5px;color:var(--text-2);background:var(--hover);border-radius:6px;padding:5px 9px;line-height:1.5}.guidance-line{display:block;margin-bottom:8px;font-size:12.5px;color:#8a6d1a;background:#fdf6e3;border:1px solid #f0e0b6;border-radius:6px;padding:5px 9px;line-height:1.5}.related-qs{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.related-title{font-size:12.5px;color:var(--text-2)}.related-chip{border:1px solid var(--border-color, #d9dde3);background:#fff;color:var(--primary);font-size:12.5px;border-radius:999px;padding:4px 12px;cursor:pointer;transition:background .15s}.related-chip:hover{background:var(--hover, #eef3fb)}.guest-badge{display:inline-block;margin-top:3px;font-size:11px;color:var(--text-2);border:1px solid var(--border);border-radius:8px;padding:1px 6px}.fb-details{margin:3px 0;font-size:12.5px}.fb-details summary{cursor:pointer;color:var(--primary);-webkit-user-select:none;user-select:none}.fb-answer,.fb-think{margin-top:4px;padding:8px;border:1px solid var(--border);border-radius:6px;background:#fafbfc;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;color:var(--text-1)}.fb-think{color:var(--text-2);font-size:12px}.save-bar{margin-top:14px;display:flex;gap:12px;align-items:center}.toast{color:var(--ok);font-size:13px}.sidebar-toggle{display:none;width:36px;height:36px;flex:0 0 36px;border:1px solid var(--border);background:#fff;border-radius:8px;color:var(--text-2);font-size:18px;line-height:1;cursor:pointer}.sidebar-backdrop{display:none}@media (max-width: 768px){.sidebar{position:fixed;top:0;bottom:0;left:0;width:82vw;max-width:320px;flex:none;z-index:60;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 24px #0f172a2e;overflow-x:hidden}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:55}.sidebar-toggle{display:block}.main-head{padding:10px 14px;gap:10px}.main-head .logo{width:30px;height:30px;font-size:14px}.main-head .site-name{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-scroll{padding:12px 12px 8px}.welcome{margin-top:5vh}.welcome h1{font-size:21px}.welcome .sub{font-size:13px;margin-bottom:18px}.quick-grid{gap:8px}.quick-item{padding:11px 12px;font-size:14px}.input-area{padding:8px 12px 12px}.input-box{padding:8px 10px}.input-box textarea{height:56px;font-size:15px}.input-bar{gap:8px;flex-wrap:wrap}.input-hint{display:none}.input-btns{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.img-toggle{font-size:12px}.send-btn{padding:8px 16px}.msg-user .bubble{max-width:88%}.msg-assistant .bubble{overflow-wrap:anywhere}.msg-assistant .bubble pre{max-width:100%;overflow-x:auto}.msg-tools{flex-wrap:wrap}.ref-item>div{min-width:0;flex:1 1 auto;overflow:hidden}.ref-item .doc,.ref-item .ref-count{overflow-wrap:anywhere}.ref-item .snippet{max-width:100%}.disclaimer{font-size:11px;line-height:1.6;padding:0 4px}.dialog{width:92vw;padding:20px 18px;max-height:86vh;overflow-y:auto}.admin{padding:14px}.admin h1{font-size:20px}.admin .tabs{overflow-x:auto;padding-bottom:4px}.admin table{display:block;overflow-x:auto;white-space:nowrap}.lightbox-body>img{max-width:92vw;max-height:70vh;object-fit:contain}}
