@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--glass-bg: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .22);--text-primary: #fff;--text-secondary: rgba(255, 255, 255, .85);--shadow-light: 0 8px 32px rgba(0, 0, 0, .08);--shadow-medium: 0 12px 40px rgba(0, 0, 0, .13);--border-radius: 20px;--border-radius-sm: 12px;--transition: all .25s cubic-bezier(.4, 0, .2, 1);--focus-outline: 2px solid #f093fb;--focus-outline-offset: 2px}body{background:var(--primary-gradient);min-height:100vh;position:relative;color:var(--text-primary)}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.22) 0%,transparent 60%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.22) 0%,transparent 60%),radial-gradient(circle at 40% 40%,rgba(120,219,255,.13) 0%,transparent 60%);pointer-events:none;z-index:-1}html,body{height:100%;min-height:100vh}#app{display:flex;flex-direction:column}main{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%;padding:0 20px}#chat_container{flex:1 1 auto;min-height:0;overflow-y:auto;width:100%;max-width:900px;margin:0 auto;padding:16px 0 120px;display:flex;flex-direction:column;gap:6px;box-sizing:border-box;scroll-behavior:smooth}#chat_container::-webkit-scrollbar{display:none}.wrapper{width:100%;max-width:900px;margin:0 auto;animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--border-radius);border:1px solid var(--glass-border);box-shadow:var(--shadow-light);position:relative;overflow:hidden}.ai:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.chat{width:100%;display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:12px 18px;position:relative;background:none}.profile{width:48px;height:48px;border-radius:var(--border-radius-sm);background:var(--primary-gradient);display:flex;justify-content:center;align-items:center;box-shadow:0 6px 20px #667eea38;flex-shrink:0;position:relative;overflow:hidden}.profile:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.13) 50%,transparent 70%);animation:shimmer 1.5s linear infinite;z-index:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ai .profile{background:var(--secondary-gradient);box-shadow:0 6px 20px #f093fb38}.profile img{width:60%;height:60%;object-fit:contain;filter:brightness(0) invert(1);z-index:1;position:relative}.message{flex:1;color:var(--text-primary);font-size:16px;line-height:1.7;max-width:100%;overflow-x:auto;white-space:pre-wrap;scrollbar-width:none;font-weight:400;position:relative}.message::-webkit-scrollbar{display:none}form{width:100%;max-width:900px;margin:0 auto;position:sticky;bottom:0;left:0;right:0;background:#ffffff1a;z-index:100;border-radius:0 0 var(--border-radius-sm) var(--border-radius-sm);padding:10px 18px;display:flex;align-items:center;gap:8px;box-sizing:border-box;box-shadow:0 -2px 16px #0000000a;border-top:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-clip:padding-box}form:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}textarea{width:100%;color:var(--text-primary);font-size:16px;padding:16px 20px;background:#ffffff1a;border-radius:var(--border-radius-sm);border:1px solid rgba(255,255,255,.18);outline:none;resize:none;font-family:inherit;line-height:1.5;transition:var(--transition);min-height:56px;max-height:160px;overflow-y:auto;box-sizing:border-box}textarea:focus{border-color:#f093fb;background:#ffffff26;box-shadow:0 0 0 4px #ffffff17;outline:var(--focus-outline);outline-offset:var(--focus-outline-offset);transform:translateY(-1px)}textarea::placeholder{color:#fff9;font-weight:400}button{outline:0;border:0;cursor:pointer;background:var(--primary-gradient);border-radius:var(--border-radius-sm);padding:16px;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:0 6px 20px #667eea38;min-width:56px;position:relative;overflow:hidden}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .5s}button:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 25px #667eea47}button:hover:before{left:100%}button:active{transform:translateY(0) scale(.97)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}form img{width:20px;height:20px;filter:brightness(0) invert(1);z-index:1;position:relative}footer{animation:fadeIn 1s ease-out .5s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading{display:inline-flex;align-items:center;gap:8px}.loading-dots{display:flex;gap:4px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--text-primary);animation:loadingDots 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loadingDots{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.typing-indicator{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;font-style:italic}@media (max-width: 900px){form{max-width:100vw;padding:8px;border-radius:0}#chat_container{padding-bottom:130px}}@media (max-width: 768px){:root{--border-radius: 16px;--border-radius-sm: 10px}header{margin:20px auto 0;padding:12px 20px 8px}header h1{font-size:1.5rem}.chat{padding:16px;gap:12px}.profile{width:40px;height:40px}.message{font-size:15px;line-height:1.6}form{max-width:100vw;padding:8px;border-radius:0}textarea{font-size:15px;padding:12px 16px;min-height:48px}button{padding:12px;min-width:48px}footer{font-size:.9rem;margin:0 auto 12px}#chat_container{padding-bottom:120px}}@media (max-width: 600px){form{padding:6px 2vw}#chat_container{padding-bottom:140px}}@media (max-width: 480px){.chat{padding:12px}.profile{width:36px;height:36px}.message{font-size:14px}form{padding:12px}textarea{padding:10px 14px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,textarea:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.home-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--primary-gradient);color:var(--text-primary);padding:0 16px}.home-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.home-logo{width:48px;height:48px;filter:brightness(0) invert(1)}.home-header h1{font-size:2.5rem;font-weight:700;letter-spacing:1px}.home-header h1 span{font-weight:400;font-size:1.2rem;color:#b3b3b3}.features{background:#ffffff1a;border-radius:var(--border-radius);padding:24px 32px;margin-bottom:32px;box-shadow:var(--shadow-light);max-width:420px;width:100%}.features h2{font-size:1.3rem;margin-bottom:12px;color:#fff}.features ul{list-style:none;padding:0}.features li{margin-bottom:10px;font-size:1.08rem;color:var(--text-secondary)}.home-actions{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.sign-in-btn{background:var(--secondary-gradient);color:#fff;font-size:1.1rem;font-weight:600;border:none;border-radius:var(--border-radius-sm);padding:14px 32px;cursor:pointer;text-decoration:none;box-shadow:var(--shadow-light);transition:var(--transition);text-align:center}.sign-in-btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:var(--shadow-medium)}.home-footer{margin-top:auto;color:#b3b3b3;font-size:1rem;opacity:.85;text-align:center;padding-bottom:18px}@media (max-width: 600px){.features{padding:16px 8px}.home-header h1{font-size:1.5rem}}
