:root{font-family:Arial,"Segoe UI",sans-serif;color:#000276;background:#f5f5fa;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-width:280px}
button,textarea{font:inherit}
button,a,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
a{color:#5c00e8}
:focus-visible{outline:3px solid #5c00e8;outline-offset:3px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-60px;left:12px;z-index:5;padding:11px;background:#fff}
.skip-link:focus{top:12px}
.lite-shell{width:min(860px,calc(100% - 32px));min-height:100dvh;margin:0 auto;padding:clamp(14px,3vh,30px) 0;display:flex;flex-direction:column;justify-content:center;gap:16px}
.lite-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}
.lite-header img{display:block;width:174px;max-width:45%;height:auto;flex-shrink:0}
.header-actions{display:flex;align-items:center;gap:6px}
.header-actions button,.chat-top button{border:0;background:transparent;border-radius:7px;padding:10px 12px;font-size:13px;white-space:nowrap}
.header-actions button:hover,.chat-top button:hover{background:#e9e9f0}
.chat-panel{height:min(780px,calc(100dvh - 148px));min-height:480px;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 8px 30px #00027608}
.chat-top{min-height:72px;padding:14px 25px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.chat-top strong{display:block;font-size:15px;line-height:1.35}
.chat-top span{display:block;font-size:12px;color:#4f4f4f;margin-top:5px;line-height:1.4}
.chat-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:28px clamp(18px,5vw,56px);scrollbar-width:thin;scrollbar-color:#c7c7d5 transparent}
.welcome{max-width:620px;margin:clamp(16px,8vh,92px) auto 0;text-align:center}
.welcome h1{font-size:clamp(25px,4vw,34px);font-weight:500;letter-spacing:-.8px;line-height:1.2;margin:0 0 12px}
.welcome p{font-size:15px;line-height:1.6;color:#4f4f4f;margin:0}
.topics{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:27px}
.topics button{border:1px solid #d5d5df;background:#fff;border-radius:8px;padding:10px 13px;font-size:13px;line-height:1.3}
.topics button:hover{border-color:#5c00e8;background:#f5f5fa}
.composer-area{border-top:1px solid #ececf1;padding:17px 25px 20px;background:#fff}
.input-wrap{display:flex;align-items:flex-end;gap:8px;border:1px solid #aaaabc;border-radius:12px;padding:8px 8px 8px 15px}
.input-wrap:focus-within{border-color:#5c00e8;box-shadow:0 0 0 3px #5c00e81a}
textarea{display:block;flex:1;min-width:0;min-height:38px;max-height:150px;padding:8px 0;border:0;resize:none;outline:0;font-size:16px;line-height:1.45;color:#000276;background:transparent}
textarea::placeholder{color:#666678}
.send-button{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:0;border-radius:9px;background:#00ffbf}
.send-button:hover{background:#000276;color:#fff}
.send-button:disabled{opacity:.5;cursor:wait}
.send-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.input-meta{display:flex;justify-content:space-between;gap:10px;margin:8px 2px 0;font-size:11px;line-height:1.4;color:#4f4f4f}
.consent{display:flex;align-items:flex-start;gap:9px;margin-top:14px;font-size:12px;line-height:1.5;color:#4f4f4f}
.consent input{width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;accent-color:#5c00e8;cursor:pointer}
.consent button{border:0;background:none;padding:0;color:#5c00e8;text-decoration:underline;text-underline-offset:2px;font-size:inherit}
.message{max-width:min(100%,690px);margin:0 0 23px;overflow-wrap:anywhere}
.message-user{width:fit-content;max-width:85%;margin-left:auto;padding:13px 16px;border-radius:12px 12px 3px 12px;background:#e4fff6}
.message-label{font-size:12px;font-weight:600;margin-bottom:8px;color:#5c00e8}
.message-text{font-size:15px;line-height:1.65;white-space:pre-wrap}
.message-notice{margin-top:10px;padding:9px 11px;border-radius:6px;background:#f5f5fa;color:#4f4f4f;font-size:12px;line-height:1.55}
.sources{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.sources a{max-width:100%;padding:8px 10px;border:1px solid #e0e0e0;border-radius:7px;background:#f5f5fa;text-decoration:none;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.sources a:hover{text-decoration:underline}
.sources small{display:block;margin-top:3px;color:#4f4f4f;font-size:11px}
.copy-answer{border:0;background:transparent;padding:10px 0 0;color:#5c00e8;font-size:12px}
.loading{display:flex;align-items:center;gap:10px;font-size:13px;color:#4f4f4f}
.spinner{width:16px;height:16px;border:2px solid #5c00e83b;border-top-color:#5c00e8;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.error{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border:1px solid #efd1c6;border-radius:8px;background:#fff7f3;color:#934c39;font-size:13px;line-height:1.5}
.error button{border:0;background:transparent;padding:0;text-decoration:underline;color:inherit}
.lite-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#4f4f4f;font-size:11px;line-height:1.5}
.lite-footer div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px}
.lite-footer button{border:0;background:transparent;padding:0;color:#4f4f4f;font-size:inherit;text-align:right;text-decoration:underline;text-underline-offset:2px}
.lite-footer a{text-decoration:none;white-space:nowrap}
.lite-footer a:hover{text-decoration:underline}
dialog{width:min(540px,calc(100% - 32px));border:1px solid #e0e0e0;border-radius:15px;padding:25px;color:#000276;box-shadow:0 25px 100px #00027630}
dialog::backdrop{background:#00027670}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.dialog-top h2{font-size:20px;margin:0}
.dialog-top button{border:0;background:transparent;color:#4f4f4f;font-size:28px;line-height:1}
.dialog-top+div{font-size:14px;line-height:1.7;color:#4f4f4f;white-space:pre-line;margin-top:18px}
.access-gate{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;text-align:center}
.access-gate p{line-height:1.6;max-width:420px}
.access-gate button{padding:12px 24px;border:0;border-radius:8px;background:#00ffbf;color:#000276}
@media(max-width:600px){
  .lite-shell{width:100%;padding:0;gap:0;justify-content:flex-start}
  .lite-header{min-height:62px;padding:8px 14px;background:#fff;border-bottom:1px solid #e0e0e0}
  .lite-header img{width:140px}
  .header-actions{gap:0}
  .header-actions button{font-size:12px;padding:9px 7px}
  .chat-panel{height:calc(100dvh - 62px);min-height:460px;border:0;border-radius:0;box-shadow:none}
  .chat-top{min-height:62px;padding:10px 16px}
  .chat-top strong{font-size:14px}
  .chat-top span{font-size:11px}
  .chat-body{padding:22px 16px}
  .welcome{margin:clamp(20px,8vh,70px) auto 0}
  .welcome p{font-size:14px}
  .topics{gap:8px;margin-top:22px}
  .topics button{font-size:12px;padding:10px}
  .composer-area{padding:12px 14px 15px}
  .input-meta{font-size:10px}
  .input-meta span:first-child{max-width:70%}
  .consent{font-size:11px}
  .message-text{font-size:14px}
  .lite-footer{padding:10px 15px 16px;background:#fff;flex-wrap:wrap;font-size:10px}
}
@media(max-width:360px){.lite-header img{width:120px}.header-actions button{font-size:11px}.input-meta span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
