*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-base: #f3f1ee;--bg-soft: #ece9e4;--surface: #fffdf8;--surface-2: #f8f5ef;--text-main: #2f2a25;--text-soft: #5f574f;--accent: #9f2337;--accent-strong: #861d2e;--line: #ddd6cc;--shadow-soft: 0 12px 30px rgba(88, 67, 53, .12);--shadow-focus: 0 0 0 3px rgba(159, 35, 55, .25);--radius-shell: 20px;--radius-mid: 14px;--radius-tight: 10px;--header-h: 64px;--z-header: 30;--z-overlay: 40;--z-modal: 50}html{scroll-behavior:smooth}body{font-family:Outfit,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at 92% 10%,rgba(159,35,55,.12),transparent 40%),radial-gradient(circle at 18% 90%,rgba(145,123,101,.18),transparent 34%),var(--bg-base);color:var(--text-main);height:100dvh;overflow:hidden;font-variant-numeric:tabular-nums}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(64,51,40,.035) .8px,transparent .8px);background-size:3px 3px;opacity:.45;z-index:0}.skip-link{position:absolute;left:12px;top:-42px;padding:.55rem .85rem;border-radius:var(--radius-tight);background:var(--accent);color:#fff;text-decoration:none;z-index:var(--z-modal);transition:top .2s ease}.skip-link:focus{top:10px}:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.icon-button,.toolbox-button,.btn,.feedback-btn,.upload-button,.question-bubble,.copy-button,.satisfied-button,.unsatisfied-button,.lang-switch a{transition:transform .2s ease,filter .2s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease}.icon-button:hover,.toolbox-button:hover,.btn:hover,.feedback-btn:hover{transform:translateY(-1px)}.icon-button:active,.toolbox-button:active,.btn:active,.feedback-btn:active{transform:translateY(1px) scale(.98)}.btn{padding:8px 14px;border-radius:var(--radius-tight);border:1px solid var(--line);background:#fff;cursor:pointer;font-size:.95rem;font-family:inherit}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:none;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-backdrop.open{display:flex}.modal{background:var(--surface);border-radius:12px;box-shadow:0 10px 30px #0003;width:92%;max-width:360px;padding:18px 16px 14px}.modal-title{font-size:1.05rem;font-weight:600;margin-bottom:8px;color:var(--text-main)}.modal-content{color:var(--text-soft);line-height:1.5}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#000000d9;color:#fff;padding:10px 14px;border-radius:var(--radius-tight);font-size:.92rem;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:2100}.toast.show{opacity:1}.toast.success{background:#1a6b37eb}.toast.error{background:#9f2337eb}.switch{position:relative;display:inline-block;width:50px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent)}input:checked+.slider:before{transform:translate(26px)}.loading-admin{min-height:100dvh;background:var(--bg-base)}.header{position:fixed;top:0;left:0;right:0;background:#fffcf6e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:var(--shadow-soft);padding:14px 1rem;z-index:var(--z-header);overflow:visible}.header-inner{margin:0;display:flex;align-items:center;justify-content:flex-start;gap:1rem}.header-left{display:flex;align-items:center;gap:12px}.header-left img,.header-right img{display:block;height:36px;width:auto}.header-right{margin-left:auto;display:flex;align-items:center;gap:16px}.header-nav{display:flex;align-items:center;gap:6px}.nav-btn{font-size:.84rem;font-weight:500;color:var(--text-soft);text-decoration:none;padding:.3rem .7rem;border-radius:6px;border:1px solid var(--line);background:transparent;white-space:nowrap;transition:color .22s ease,border-color .22s ease,background .22s ease}.nav-btn:hover{color:var(--accent);border-color:var(--accent);background:#9f23370a}.auth-actions{display:flex;align-items:center;gap:8px}.auth-btn{border:1px solid var(--line);background:#fff;color:var(--text-main);border-radius:999px;padding:.35rem .8rem;cursor:pointer;font-size:.84rem;font-family:inherit}.auth-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.auth-user{font-size:.82rem;color:var(--text-soft);white-space:nowrap}.lang-switch{display:flex;align-items:center;gap:10px}.lang-switch a{color:var(--accent);text-decoration:none;font-weight:600;letter-spacing:.01em}.lang-switch a:hover{text-decoration:underline}.lang-switch a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:700}.header-badge{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:#9f233714;border:1px solid rgba(159,35,55,.2);border-radius:6px;padding:3px 8px}.upload-button{height:36px;padding:0 20px;border:none;background:var(--accent);color:#fff;border-radius:999px;font-size:.92rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-family:inherit}.upload-button:hover{background:var(--accent-strong);transform:translateY(-1px)}.upload-button:active{transform:translateY(1px) scale(.98)}.back-link{font-size:.86rem;color:var(--text-soft);text-decoration:none;padding:.3rem .65rem;border-radius:6px;border:1px solid var(--line);transition:color .22s ease,border-color .22s ease,background .22s ease}.back-link:hover{color:var(--accent);border-color:var(--accent);background:#9f23370a}.page{position:relative;z-index:1;display:flex;height:calc(100dvh - var(--header-h));margin-top:var(--header-h);width:100%;gap:0}.left-panel,.chat-container{background:linear-gradient(160deg,#ffffffeb,#f8f5eff2);box-shadow:var(--shadow-soft)}.left-panel{width:260px;flex-shrink:0;overflow-y:auto;padding:1rem;border-right:1px solid var(--line)}.right-content{flex:3;display:flex;flex-direction:column;min-width:0;height:100%}.sidebar-title{font-size:.9rem;color:var(--text-soft);letter-spacing:.06em;text-transform:lowercase;margin-bottom:.75rem}.sidebar-title strong{display:block;font-size:1.15rem;font-weight:600;letter-spacing:-.015em;color:var(--text-main);text-wrap:balance;text-transform:none}.questions{display:flex;flex-direction:column;gap:.5rem}.questions-loading,.questions-empty{color:var(--text-soft);font-size:.94rem;line-height:1.55;padding:.7rem;border-radius:var(--radius-mid);background:#ffffffa6}.questions-loading{background:linear-gradient(90deg,#f8f5efcc,#fffdf8f2,#f8f5efcc);background-size:200% 100%;animation:questionsShimmer 1.25s linear infinite}@keyframes questionsShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.question-bubble{display:inline-block;background:#ffffffeb;color:#333;border-radius:16px;padding:8px 12px;border:none;border-left:3px solid transparent;box-shadow:0 6px 16px #7865541a;cursor:pointer;max-width:95%;text-align:left;font-size:inherit;font-family:inherit}.question-bubble:hover{transform:translate(4px);box-shadow:0 10px 24px #725a4929;border-left-color:var(--accent)}.question-bubble:active{transform:translate(2px) scale(.99)}.chat-container{flex:1;display:flex;flex-direction:column;background:var(--surface);width:100%;min-height:0}.messages{flex:1;overflow-y:auto;padding:1.2rem 1.2rem 1.5rem;display:flex;flex-direction:column;gap:1rem;min-height:0;-webkit-overflow-scrolling:touch}.message{max-width:80%;padding:.75rem 1rem;border-radius:18px;word-wrap:break-word;line-height:1.58;font-weight:500;text-wrap:pretty}.user-message{align-self:flex-end;background:var(--surface-2);color:var(--text-main);border-radius:16px;margin-right:6%}.assistant-message{align-self:auto;background:transparent;color:var(--text-main);border-radius:0;margin-left:10%;margin-right:15%;max-width:none;width:auto;padding:0}.assistant-message a,.user-message a{color:#555;text-decoration:none}.assistant-message a:visited,.user-message a:visited{color:#555}.assistant-message a:hover,.user-message a:hover{color:#333}.status-message{align-self:center;background:#f9a0a0;color:#6c0c0c;font-style:italic;font-size:.9rem}@keyframes statusGlow{0%{box-shadow:0 0 #b01212b3}50%{box-shadow:0 0 0 6px #1976d200}to{box-shadow:0 0 #1976d200}}.status-message.glowing{animation:statusGlow 1.5s infinite}.error-message{align-self:stretch;background:#fff3f3;border:1px solid #f5c2c2;border-left:4px solid #c0392b;border-radius:8px;color:#7b2020;font-size:.92rem;padding:10px 14px;margin-left:10%;margin-right:15%;max-width:none;display:flex;align-items:flex-start;gap:10px;line-height:1.45}.error-message .error-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.error-message .error-body{flex:1;min-width:0}.error-message .error-title{font-weight:600;margin-bottom:2px}.error-message .error-detail{font-size:.86rem;color:#a04040;opacity:.9;word-wrap:break-word}.warning-message{align-self:stretch;background:#c7890a12;border-left:3px solid #c7890a;color:#6b4600;border-radius:8px;padding:.65rem .85rem;font-size:.9rem;margin:.25rem 0;max-width:none}.turn-info{display:inline-block;margin-left:12px;font-size:.75em;color:var(--accent);background:#9f233712;border-left:3px solid var(--accent);padding:4px 8px;border-radius:4px;vertical-align:middle}.history-separator{display:flex;align-items:center;gap:12px;color:#888;font-size:.9rem;margin:.5rem 0;align-self:center;width:90%}.history-separator:before,.history-separator:after{content:"";flex:1;height:1px;background:#e0e0e0}.history-separator span{white-space:nowrap}.source-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;margin:0 4px;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #0000001a}.source-dot:hover{filter:brightness(.95)}.source-dot.unavailable{background:#bdbdbd;cursor:not-allowed}.copy-row{margin-top:6px}.user-message .copy-row{text-align:right}.assistant-message .copy-row{text-align:left}.copy-row-outside.user-copy{text-align:right;margin-top:4px;margin-right:6%}.copy-button{width:18px;height:18px;border:none;background:transparent url(/assets/copy-G5o-qQZI.png) center center / contain no-repeat;cursor:pointer;padding:0}.copy-button:hover{background-image:url(/assets/copy2-W9iR93bQ.png)}.satisfied-button{width:18px;height:18px;border:none;background:transparent url(data:image/png;base64,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) center center / contain no-repeat;cursor:pointer;padding:0;margin-left:4px}.satisfied-button:hover,.satisfied-button.clicked{background-image:url(/assets/sati2-BeEUK5_3.png)}.unsatisfied-button{width:18px;height:18px;border:none;background:transparent url(data:image/png;base64,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) center center / contain no-repeat;cursor:pointer;padding:0;margin-left:4px}.unsatisfied-button:hover,.unsatisfied-button.clicked{background-image:url(/assets/unsati2-Bq8YJqgA.png)}.input-area{padding:1rem 1.1rem 1.2rem;border-top:1px solid var(--line);background:#fffaf4c7;display:flex;align-items:center;justify-content:center;gap:.5rem}.input-box{flex:1;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:#fff;outline:none;font-size:1rem;font-family:inherit;resize:none;max-height:160px;max-width:800px;overflow-y:auto;scrollbar-width:none;transition:border-color .22s ease,box-shadow .22s ease}.input-box::-webkit-scrollbar{display:none}.input-box:focus{border-color:var(--accent);box-shadow:var(--shadow-focus)}.icon-button{width:40px;height:40px;padding:0;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer}.icon-button img{width:24px;height:24px;display:block}.toolbox{position:relative}.toolbox-button{padding:.6rem .9rem;border:1px solid #ddd;background:#fff;border-radius:16px;cursor:pointer;font-size:.95rem;font-family:inherit}.toolbox-panel{position:absolute;left:0;bottom:110%;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 6px 24px #00000014;padding:12px 14px;min-width:220px;z-index:1000;display:none}.toolbox-panel.open{display:block}.toolbox-row{display:flex;align-items:center;gap:8px}.toolbox-row+.toolbox-row{margin-top:12px}.toolbox-row label:first-child{font-size:.9rem;color:var(--text-soft)}.vis-label{font-size:.85rem;color:var(--text-soft)}.footer-legal{max-width:1360px;margin:0 auto .9rem;padding:0 1rem;display:flex;justify-content:space-between;color:var(--text-soft);font-size:.84rem}.footer-legal a{color:var(--text-soft);text-decoration:none;border-bottom:1px solid transparent}.footer-legal a:hover{color:var(--accent);border-bottom-color:var(--accent)}.feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-dialog{background:#fff;border-radius:12px;padding:24px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.feedback-dialog h3{margin:0 0 8px;color:#333;font-size:1.25rem}.feedback-dialog p{margin:0 0 20px;color:#666;font-size:.9rem}.feedback-reasons{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.feedback-reason-item{display:flex;align-items:center;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease}.feedback-reason-item:hover,.feedback-reason-item.selected{border-color:var(--accent);background:#fef5f6}.feedback-reason-item input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.feedback-reason-item label{flex:1;cursor:pointer;color:#333;font-size:.95rem}.feedback-custom-input{width:100%;min-height:80px;padding:10px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;margin-bottom:16px}.feedback-custom-input:focus{outline:none;border-color:var(--accent)}.feedback-actions{display:flex;gap:10px;justify-content:flex-end}.feedback-btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;font-family:inherit}.feedback-btn-cancel{background:#f5f5f5;color:#666}.feedback-btn-cancel:hover{background:#e0e0e0}.feedback-btn-submit{background:var(--accent);color:#fff}.feedback-btn-submit:hover{background:var(--accent-strong)}.feedback-btn-submit:disabled{background:#ccc;cursor:not-allowed}.upload-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;display:none;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:1.5rem}.upload-overlay.active{display:flex}.upload-dialog{background:#fff;width:100%;max-width:420px;border-radius:16px;padding:1.5rem;box-shadow:0 10px 30px #0003}.upload-dialog h3{font-size:1.2rem;margin-bottom:.5rem}.upload-dialog p{font-size:.9rem;color:#555;margin-bottom:1rem}.upload-dialog .form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.upload-dialog label{font-size:.9rem;color:#333}.upload-dialog select,.upload-dialog input[type=text],.upload-dialog input[type=file]{padding:.6rem .75rem;border:1px solid #d0d0d0;border-radius:8px;font-size:.95rem;font-family:inherit}.upload-dialog input[type=file]{padding:.35rem .5rem}.upload-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.assistant-message ol,.assistant-message ul{margin:.5em 0;padding-left:1.2em}.assistant-message ol ul,.assistant-message ul ul,.assistant-message ol ol{margin:.3em 0;padding-left:1.5em}.assistant-message li{margin:.25em 0}.assistant-message table,.user-message table{border-collapse:collapse;width:100%;margin:1em 0;border:1px solid #ddd}.assistant-message table th,.assistant-message table td,.user-message table th,.user-message table td{border:1px solid #ddd;padding:8px 12px;text-align:left}.assistant-message table th,.user-message table th{background-color:#f5f5f5;font-weight:600;color:#333}.assistant-message table tr:nth-child(2n),.user-message table tr:nth-child(2n){background-color:#fafafa}.assistant-message table tr:hover,.user-message table tr:hover{background-color:#f0f0f0}.lock-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:100;background:radial-gradient(circle at 92% 10%,rgba(159,35,55,.1),transparent 40%),radial-gradient(circle at 18% 90%,rgba(145,123,101,.15),transparent 34%),var(--bg-base)}.lock-card{background:var(--surface);border-radius:var(--radius-mid);box-shadow:var(--shadow-soft);padding:2.5rem 2rem 2rem;width:100%;max-width:380px}.lock-logo{display:flex;align-items:center;gap:10px;margin-bottom:1.75rem}.lock-logo img{height:32px}.lock-badge{font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:#9f233714;border:1px solid rgba(159,35,55,.2);border-radius:5px;padding:2px 7px}.lock-title{font-size:1.35rem;font-weight:700;margin-bottom:.4rem;color:var(--text-main)}.lock-sub{font-size:.9rem;color:var(--text-soft);margin-bottom:1.75rem}.lock-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem}.lock-field label{font-size:.88rem;font-weight:500;color:var(--text-soft)}.lock-field input{padding:.65rem .85rem;border:1.5px solid var(--line);border-radius:var(--radius-tight);font-size:.97rem;font-family:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}.lock-field input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.lock-error{font-size:.86rem;color:var(--accent);margin-top:-.6rem;margin-bottom:.8rem;min-height:1.2em}.btn-primary{width:100%;padding:.72rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-tight);font-size:.97rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,transform .18s}.btn-primary:hover{background:var(--accent-strong);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px) scale(.99)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}#adminShell{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:radial-gradient(circle at 92% 10%,rgba(159,35,55,.12),transparent 40%),radial-gradient(circle at 18% 90%,rgba(145,123,101,.18),transparent 34%),var(--bg-base)}.admin-main{position:relative;z-index:1;margin-top:var(--header-h);padding:2rem 2rem 4rem;max-width:1100px;margin-left:auto;margin-right:auto}.page-heading{font-size:1.5rem;font-weight:700;color:var(--text-main);margin-bottom:.35rem}.page-sub{font-size:.93rem;color:var(--text-soft);margin-bottom:2rem}.card{background:var(--surface);border-radius:var(--radius-mid);box-shadow:var(--shadow-soft);padding:1.75rem;margin-bottom:1.5rem}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.4rem}.card-icon{width:36px;height:36px;border-radius:9px;background:#9f233717;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-icon svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card-title{font-size:1.1rem;font-weight:600;color:var(--text-main)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group.full{grid-column:1 / -1}.form-group label{font-size:.87rem;font-weight:500;color:var(--text-soft)}.form-group select,.form-group input[type=text],.form-group input[type=file],.form-group textarea{padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:var(--radius-tight);font-size:.95rem;font-family:inherit;background:#fff;color:var(--text-main);transition:border-color .2s,box-shadow .2s}.form-group textarea{resize:vertical;min-height:90px}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.form-group input[type=file]{padding:.4rem .6rem}.tabs{display:flex;gap:0;border-bottom:1.5px solid var(--line);margin-bottom:1.25rem}.tab-btn{padding:.55rem 1.1rem;background:none;border:none;font-size:.93rem;font-weight:500;font-family:inherit;color:var(--text-soft);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;transition:color .2s,border-color .2s}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-pane{display:none}.tab-pane.active{display:block}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.upload-status{font-size:.88rem;color:var(--text-soft);margin-top:.9rem;padding:.6rem .85rem;border-radius:var(--radius-tight);background:var(--surface-2);display:none}.upload-status.visible{display:block}.upload-status.ok{color:#155724;background:#15572412}.upload-status.err{color:var(--accent);background:#9f23370f}.preview-chip{display:inline-block;font-size:.85rem;color:var(--text-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:.35rem .75rem;margin-top:.5rem}.scrape-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.scrape-status-item{min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:8px;background:#ffffff8c}.scrape-status-item.wide{grid-column:1 / -1}.scrape-status-item span{display:block;margin-bottom:.25rem;color:var(--text-soft);font-size:.82rem}.scrape-status-item strong{display:block;color:var(--text-main);font-size:.92rem;font-weight:600;overflow-wrap:anywhere}.scrape-state.running{color:#7a5a00}.scrape-state.success{color:#155724}.scrape-state.failed{color:var(--accent)}#adminShell .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between}#adminShell .header-right{display:flex;align-items:center;gap:1rem}#adminShell .header-right a{font-size:.86rem;color:var(--text-soft);text-decoration:none;padding:.3rem .65rem;border-radius:6px;border:1px solid var(--line);transition:color .2s,border-color .2s,background .2s}#adminShell .header-right a:hover{color:var(--accent);border-color:var(--accent);background:#9f23370a}#logoutBtn{font-size:.86rem;color:var(--text-soft);background:none;border:1px solid var(--line);border-radius:6px;padding:.3rem .65rem;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s}#logoutBtn:hover{color:var(--accent);border-color:var(--accent)}.admin-tabs{margin-bottom:1.5rem}.kb-stats-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem}.kb-stat-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:var(--surface-2, #f5f2ef);border-radius:10px;padding:.75rem 1.25rem;min-width:90px;border:1px solid var(--line)}.kb-stat-num{font-size:1.6rem;font-weight:700;color:var(--text-main)}.kb-stat-label{font-size:.78rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em}.kb-internal .kb-stat-num{color:#861d2e}.kb-external .kb-stat-num{color:#2f2a25}.kb-public .kb-stat-num{color:#1976d2}.kb-untagged .kb-stat-num{color:#888}.kb-stats-placeholder{color:var(--text-muted, #aaa);margin-top:.75rem}.kb-badge{display:inline-block;border-radius:5px;padding:2px 8px;font-size:.82em;font-weight:600}.badge-internal{background:#861d2e;color:#fff}.badge-external{background:#2f2a25;color:#fff}.badge-public{background:#1976d2;color:#fff}.badge-untagged{background:#aaa;color:#fff}.kb-results-wrap{margin-top:1rem;overflow-x:auto;border-radius:8px;border:1px solid var(--line)}.kb-table{width:100%;border-collapse:collapse;font-size:.86rem}.kb-table th{position:sticky;top:0;z-index:1;background:var(--surface-2, #f5f2ef);padding:.55rem .8rem;text-align:left;font-weight:600;color:var(--text-soft);border-bottom:1px solid var(--line);white-space:nowrap}.kb-table td{padding:.5rem .8rem;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text-main)}.kb-table tr:last-child td{border-bottom:none}.kb-table tr:hover td{background:#9f233708}.kb-url-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-url-cell a{color:var(--accent);text-decoration:none}.kb-url-cell a:hover{text-decoration:underline}.kb-preview-cell{max-width:320px;color:var(--text-soft)}.kb-vis-select{font-size:.83rem;padding:.2rem .4rem;border-radius:5px;border:1px solid var(--line);background:var(--surface, #fff);cursor:pointer;font-family:inherit}.sidebar-toggle-btn{display:none;width:36px;height:36px;padding:0;border:1px solid var(--line);background:transparent;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,border-color .2s ease}.sidebar-toggle-btn svg{width:20px;height:20px;stroke:var(--text-main);fill:none;stroke-width:2;stroke-linecap:round}.sidebar-toggle-btn:hover{background:var(--surface-2);border-color:var(--accent)}.sidebar-close-btn{display:none;margin-left:auto;margin-bottom:.75rem;width:32px;height:32px;padding:0;border:1px solid var(--line);background:transparent;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.sidebar-close-btn svg{width:16px;height:16px;stroke:var(--text-soft);fill:none;stroke-width:2.5;stroke-linecap:round}.sidebar-close-btn:hover{background:var(--surface-2);border-color:var(--accent)}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:calc(var(--z-overlay) - 1);cursor:pointer}.sidebar-backdrop.visible{display:block}@media (max-width: 768px){.page{flex-direction:row;height:calc(100dvh - var(--header-h));overflow:hidden}.left-panel{position:fixed;top:var(--header-h);left:0;bottom:0;width:80vw;max-width:300px;max-height:none;z-index:var(--z-overlay);transform:translate(-100%);transition:transform .28s ease;box-shadow:4px 0 24px #0000002e;border-right:none;border-bottom:none;overflow-y:auto;padding:.75rem 1rem 1rem}.left-panel.sidebar-open{transform:translate(0)}.sidebar-toggle-btn,.sidebar-close-btn{display:flex}.right-content{width:100%;min-height:0;flex:1}.assistant-message,.error-message{margin-left:1%;margin-right:2%}.user-message{margin-right:2%;max-width:88%}.copy-row-outside.user-copy{margin-right:2%}.assistant-message table,.user-message table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.header{padding:10px .75rem}.header-inner{gap:.5rem}.header-left{gap:8px}.header-left .polyu-logo{height:28px}.header-left .kteo-logo{height:26px}.header-right{gap:8px}.header-badge,.back-link{display:none}.auth-user{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-area{padding:.65rem .65rem .85rem}.footer-legal{flex-direction:column;gap:.3rem;padding:0 .9rem;font-size:.79rem;text-align:center}.form-grid{grid-template-columns:1fr}.admin-main{padding:1.5rem 1rem 2.5rem}.card{padding:1.25rem}}@media (max-width: 480px){:root{--header-h: 52px}.header{padding:0 .55rem;height:var(--header-h);display:flex;align-items:center}.header-inner{gap:.3rem;width:100%}.header-left{gap:6px}.header-left .polyu-logo{height:26px}.header-left .kteo-logo{display:none}.header-right{gap:6px}.auth-btn{font-size:.78rem;padding:.26rem .55rem;white-space:nowrap}.auth-user{display:none}.lang-switch{gap:4px;font-size:.78rem}.lang-switch span{display:none}.lang-switch a{font-weight:600}.messages{padding:.75rem .55rem 1rem;gap:.7rem}.assistant-message,.error-message{margin-left:0;margin-right:0}.user-message{max-width:92%;margin-right:0}.copy-row-outside.user-copy{margin-right:0}.input-area{padding:.5rem .45rem .65rem;gap:.3rem}.input-box{font-size:.95rem}.feedback-dialog{padding:16px}.upload-dialog{padding:1.25rem}.upload-actions{flex-direction:column-reverse;align-items:stretch}}
