@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600&display=swap");:root{--bg-color-1:#eef2f5;--bg-color-2:#e0e7ff;--bg-color-3:#f5f3ff;--accent-color:#4f46e5;--glass-bg:rgba(255,255,255,0.6);--glass-border:rgba(255,255,255,0.4);--glass-shadow:0 4px 30px rgba(0,0,0,0.05);--text-color:#333;--muted:#6b7280;--bubble-assistant:rgba(255,255,255,0.8)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100vh;overflow:hidden;color:var(--text-color);font-family:Outfit,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 0 0,var(--bg-color-1) 0,transparent 50%),radial-gradient(circle at 100% 100%,var(--bg-color-2) 0,transparent 50%),radial-gradient(circle at 50% 50%,var(--bg-color-3) 0,transparent 100%);background-size:200% 200%;background-color:var(--bg-color-1);animation:mesh-move 15s ease-in-out infinite alternate}@keyframes mesh-move{0%{background-position:0 0}50%{background-position:100% 50%}to{background-position:0 100%}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(150,150,150,.3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(150,150,150,.8)}.app-layout{display:flex;width:100%;max-width:1280px;height:100vh;margin:0 auto}.avatar-pane{flex:0 0 38%;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar-pane .robot-face-container{transform:scale(.9)}.chat-pane{flex:1 1;min-width:0;display:flex;flex-direction:column;padding:1.5rem 1.5rem 0}.chat-header{padding:.75rem .25rem 1.2rem;text-align:left}.chat-header h1{font-size:2.4rem;font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:0 0 .55rem}.chat-header h1 .grad{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#ec4899);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.chat-header p{margin:0;max-width:620px;color:var(--muted);font-size:.92rem;font-weight:300;line-height:1.55}.chat-header p b{color:var(--text-color);font-weight:600}@media (max-width:880px){.app-layout{flex-direction:column}.avatar-pane{flex:0 0 auto;height:140px}.avatar-pane .robot-face-container{transform:scale(.32)}.chat-pane{flex:1 1;min-height:0;padding-top:0}.chat-header{text-align:center}.chat-header p{margin:0 auto}}.welcome{align-self:center;width:100%;max-width:560px;margin-top:.5rem;display:flex;flex-direction:column;gap:.75rem;animation:messageSlide .5s ease-out}.welcome-corpus{margin:0 0 .4rem;text-align:center;color:var(--muted);font-weight:300;font-size:.9rem;line-height:1.55}.welcome-corpus b{color:var(--text-color);font-weight:600}.corpus-books{display:flex;flex-direction:column;gap:.6rem}.book-card{display:flex;align-items:center;gap:.85rem;background:var(--glass-bg);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:14px;padding:.6rem .8rem;box-shadow:var(--glass-shadow);text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.book-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.16)}.book-open{font-size:.72rem;color:var(--accent-color);font-weight:500}.book-card img{width:46px;height:60px;object-fit:cover;flex-shrink:0;border-radius:6px;background:#fff;border:1px solid var(--glass-border);box-shadow:0 3px 10px rgba(0,0,0,.12)}.book-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.book-title{font-weight:600;font-size:.92rem;color:var(--text-color)}.book-sub{font-size:.78rem;color:var(--muted);font-weight:300}.starters-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-left:.2rem}.starters{display:flex;flex-direction:column;gap:.6rem}.starter-btn{background:var(--glass-bg);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);padding:.85rem 1.1rem;border-radius:14px;text-align:left;cursor:pointer;color:var(--text-color);font-family:inherit;font-weight:400;font-size:.92rem;box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.starter-btn:hover{transform:translateY(-3px) scale(1.01);border-color:rgba(255,255,255,.85);box-shadow:0 10px 30px rgba(0,0,0,.1)}.messages-area{flex-grow:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;padding:.5rem .5rem 1rem .25rem;mask-image:linear-gradient(180deg,transparent,black 4%);-webkit-mask-image:linear-gradient(180deg,transparent,black 4%)}.message{padding:1.1rem 1.4rem;border-radius:20px;max-width:85%;line-height:1.6;font-size:1rem;font-weight:300;white-space:pre-wrap;animation:messageSlide .4s cubic-bezier(.175,.885,.32,1.275);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.message.user{align-self:flex-end;background-color:var(--accent-color);color:#fff;border:none;border-bottom-right-radius:4px;box-shadow:0 10px 25px rgba(79,70,229,.3)}.message.assistant{align-self:flex-start;background-color:var(--bubble-assistant);color:var(--text-color);border-bottom-left-radius:4px}.sources{margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(0,0,0,.08)}.sources-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.6rem}.thumbs{display:flex;gap:.6rem;flex-wrap:wrap}.thumb{display:flex;flex-direction:column;gap:.3rem;width:88px;text-decoration:none;color:var(--muted);font-size:.7rem;line-height:1.3}.thumb span{overflow-wrap:anywhere}.thumb img{width:88px;height:114px;object-fit:cover;border-radius:10px;border:1px solid var(--glass-border);background:#fff;box-shadow:var(--glass-shadow);transition:transform .25s ease}.thumb:hover img{transform:translateY(-3px)}.page-preview{position:fixed;inset:0;z-index:200;pointer-events:none;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.page-preview img{display:block;max-height:94vh;max-width:94vw;border-radius:12px;border:1px solid var(--glass-border);background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.5)}.md{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .7rem}.md strong{font-weight:600;color:var(--text-color)}.md ol,.md ul{margin:.5rem 0 .7rem;padding-left:1.25rem}.md li{margin:.3rem 0;line-height:1.55}.md li::marker{color:var(--accent-color)}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:rgba(79,70,229,.08);padding:.1em .4em;border-radius:6px}.md a{color:var(--accent-color);text-decoration:underline;text-underline-offset:2px}.message.error-msg{background:rgba(254,226,226,.85);color:#991b1b;border-color:rgba(248,113,113,.4)}.thinking-dots{align-self:flex-start;display:flex;align-items:center;gap:5px;padding:1.2rem 1.4rem;border-radius:20px;background:var(--bubble-assistant);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);animation:messageSlide .4s ease-out}.thinking-dots span{width:8px;height:8px;border-radius:50%;background:var(--text-color);animation:smoothBlink 1.4s cubic-bezier(.4,0,.2,1) infinite both}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}.reading-indicator{display:flex;align-items:center;gap:8px;margin-top:.85rem;color:var(--muted);font-size:.9rem;font-weight:300;animation:messageSlide .3s ease-out}.reading-dots{display:inline-flex;align-items:center;gap:4px}.reading-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent-color);animation:smoothBlink 1.4s cubic-bezier(.4,0,.2,1) infinite both}.reading-dots span:nth-child(2){animation-delay:.2s}.reading-dots span:nth-child(3){animation-delay:.4s}.composer-area{padding:1rem 0 1.5rem}.composer{display:flex;gap:.6rem;align-items:center;background:var(--glass-bg);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:18px;padding:.45rem .45rem .45rem 1.1rem;box-shadow:var(--glass-shadow)}.composer input{flex:1 1;border:none;background:transparent;outline:none;font-family:inherit;font-size:1rem;font-weight:300;color:var(--text-color)}.composer input::placeholder{color:var(--muted)}.send-btn{border:none;cursor:pointer;border-radius:14px;padding:.7rem 1.3rem;background:var(--accent-color);color:#fff;font-family:inherit;font-weight:600;font-size:.95rem;box-shadow:0 8px 20px rgba(79,70,229,.3);transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.send-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.03)}.send-btn:disabled{opacity:.5;cursor:default}@keyframes messageSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes smoothBlink{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.5);opacity:1}}