:root{--bg:#0e0e0e;--bg-elevated:#141414;--bg-bar:#171717;--bg-bubble:#1a1a1a;--border:#ffffff14;--border-focus:#ffffff2e;--text:#a3a3a3;--text-light:#d4d4d4;--text-grey:#6e6e6e;--text-placeholder:#5a5a5a;--send:#c4c4c4;--send-hover:#e0e0e0;--accent:#a8a8a8;--accent-soft:#ffffff0f;--max-w:680px;--font:"Manrope", system-ui, -apple-system, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--ease-spring:cubic-bezier(.34, 1.35, .64, 1);--ease-in-out:cubic-bezier(.45, .05, .55, .95);--danger:#d98989;--glow:#ffffff08;--dur-fast:.16s;--dur-med:.28s;--dur-slow:.48s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;background:var(--bg);font-weight:400;overflow:hidden}button,textarea,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}.app-shell{background:radial-gradient(ellipse 65% 42% at 50% -6%, var(--glow), transparent 58%), var(--bg);width:100%;height:100%;transition:background .6s var(--ease-soft);flex-direction:column;display:flex;position:relative}.app-shell.landing{justify-content:center;align-items:center}.app-shell.chatting{justify-content:flex-end}.app-shell.chatting:before{content:"";background:linear-gradient(to top, var(--bg) 40%, transparent);pointer-events:none;z-index:2;height:130px;animation:fade .55s var(--ease-soft) both;position:absolute;bottom:0;left:0;right:0}.landing-wrap{width:min(100%, var(--max-w));text-align:center;animation:fade-rise-center .7s var(--ease-out) both;flex-direction:column;align-items:center;gap:0;padding:0 24px;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-100%)}.brand-name{color:var(--text-light);letter-spacing:-.045em;animation:brand-breathe 6s var(--ease-in-out) .7s infinite;font-size:clamp(30px,5vw,36px);font-weight:500;line-height:1.1}.confetti-layer{pointer-events:none;z-index:80;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:.95;will-change:transform, opacity;border-radius:2px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.8,.25,1);animation-fill-mode:forwards;position:absolute;top:-16px}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-12vh)rotate(0)scale(1)}8%{opacity:1}55%{opacity:1;transform:translate(18px,48vh)rotate(380deg)scale(1)}to{opacity:0;transform:translate(-10px,112vh)rotate(780deg)scale(.85)}}.search-wrap{width:100%;max-width:var(--max-w);z-index:3;flex-direction:column;align-items:stretch;gap:10px;margin:0 auto;padding:0 20px 32px;display:flex}.app-shell.landing .search-wrap{animation:landing-search-in .75s var(--ease-out) 60ms both;position:absolute;top:42%;left:50%;transform:translate(-50%,22px)}.app-shell.chatting .search-wrap{animation:composer-settle .4s var(--ease-out) both;flex-shrink:0;padding-bottom:24px}.search-bar{border:1px solid var(--border);min-height:56px;transition:border-color var(--dur-med) var(--ease-soft), background var(--dur-med) var(--ease-soft), box-shadow var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);background:#171717f5;border-radius:28px;align-items:flex-end;gap:8px;padding:10px;display:flex;box-shadow:0 10px 36px #00000059}.search-bar:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-soft), 0 14px 44px #0006;background:#1a1a1a;transform:translateY(-1px)}.search-attach{width:38px;height:38px;color:var(--text-grey);transition:color var(--dur-med) var(--ease-soft), background var(--dur-med) var(--ease-soft), transform var(--dur-med) var(--ease-spring), opacity var(--dur-med) var(--ease-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:0;display:flex}.search-attach:hover:not(:disabled){color:var(--text-light);background:var(--accent-soft);transform:scale(1.08)}.search-attach:active:not(:disabled){transform:scale(.94)}.search-attach:disabled{opacity:.35;cursor:default}.image-chips{animation:fade-up .35s var(--ease-out) both;flex-wrap:wrap;gap:8px;padding:0 4px;display:flex}.image-chip{border:1px solid var(--border);width:64px;height:64px;animation:chip-in .45s var(--ease-out) both;transition:transform var(--dur-med) var(--ease-spring), border-color var(--dur-med) var(--ease-soft), box-shadow var(--dur-med) var(--ease-soft);background:#121212;border-radius:12px;position:relative;overflow:hidden}.image-chip:first-child{animation-delay:0s}.image-chip:nth-child(2){animation-delay:45ms}.image-chip:nth-child(3){animation-delay:90ms}.image-chip:nth-child(4){animation-delay:.135s}.image-chip:nth-child(5){animation-delay:.18s}.image-chip:hover{border-color:var(--border-focus);transform:translateY(-2px)scale(1.03);box-shadow:0 8px 20px #00000059}.image-chip img{object-fit:cover;width:100%;height:100%;display:block}.image-chip-remove{color:#eee;width:20px;height:20px;transition:background var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-spring);background:#000000a6;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.image-chip-remove:hover{background:#000000d9;transform:scale(1.08)}.msg-images{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.msg-image{border:1px solid var(--border);object-fit:cover;max-width:min(240px,70vw);max-height:200px;animation:image-in .55s var(--ease-out) both;transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-soft);background:#121212;border-radius:12px}.msg-image:hover{transform:scale(1.02);box-shadow:0 10px 28px #00000059}.search-bar textarea{color:var(--text-light);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:140px;padding:7px 0;font-size:15px;font-weight:400;line-height:1.45}.search-bar textarea::placeholder{color:var(--text-placeholder)}.search-send{background:var(--send);color:#0e0e0e;width:36px;height:36px;transition:background .35s var(--ease-soft), transform .4s var(--ease-spring), opacity .35s var(--ease-soft), box-shadow .35s var(--ease-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:1px;display:flex}.search-send:hover:not(:disabled){background:var(--send-hover);transform:scale(1.08);box-shadow:0 4px 16px #ffffff1f}.search-send:active:not(:disabled){transform:scale(.92)}.search-send:disabled{opacity:.28;cursor:default}.search-send.stop{color:#0e0e0e;animation:stop-pulse 1.8s var(--ease-in-out) infinite;background:#6e6e6e}.reload-hint{display:none}.icon-btn{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:36px;height:36px;color:var(--text-grey);z-index:10;transition:color .25s var(--ease-soft), border-color .25s var(--ease-soft), background .25s var(--ease-soft), transform .25s var(--ease-spring);animation:fade-rise .6s var(--ease-out) both;background:#0e0e0e8c;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;top:16px}.icon-btn:hover{color:var(--text-light);border-color:var(--border-focus);background:#1a1a1aeb}.icon-btn:active{transform:scale(.94)}.icon-btn.new-chat{right:16px}.icon-btn.settings{right:60px}.status-badge{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-grey);letter-spacing:-.01em;z-index:10;animation:fade-rise .55s var(--ease-out) both;background:#0e0e0ecc;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:11.5px;font-weight:500;display:inline-flex;position:absolute;top:16px;left:16px}.status-dot{background:#5c5c5c;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-badge.live .status-dot{background:var(--accent);animation:pulse-soft 2.2s var(--ease-soft) infinite;box-shadow:0 0 8px #c8c8c840}.chat-area{scroll-behavior:auto;width:100%;animation:chat-in .4s var(--ease-out) both;flex:1;padding:56px 20px 28px;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 28px calc(100% - 8px),#0000);mask-image:linear-gradient(#0000 0,#000 28px calc(100% - 8px),#0000)}.chat-area::-webkit-scrollbar{width:4px}.chat-area::-webkit-scrollbar-thumb{transition:background .25s var(--ease-soft);background:#a0a0a029;border-radius:999px}.chat-area::-webkit-scrollbar-thumb:hover{background:#a0a0a047}.thread{max-width:var(--max-w);flex-direction:column;gap:22px;margin:0 auto;display:flex}.msg{contain:content;display:flex}.msg-settled{content-visibility:auto;contain-intrinsic-size:auto 72px}.msg.user{animation:msg-in-user .32s var(--ease-out) both;justify-content:flex-end}.msg.assistant{animation:msg-in-assistant .36s var(--ease-out) both;justify-content:flex-start}.msg-content{color:#8f8f8f;word-break:break-word;max-width:min(100%,620px);font-size:15px;font-weight:400;line-height:1.7}.msg-content.streaming-plain{white-space:pre-wrap;color:#8f8f8f}.msg-content.content-ready{animation:content-fade .28s var(--ease-out) both}.msg.user .msg-content{color:var(--text-light);background:var(--bg-bubble);border:1px solid var(--border);white-space:pre-wrap;border-radius:20px 20px 6px;max-width:min(85%,520px);padding:12px 16px}.msg.assistant .msg-content{padding:2px}.msg-content strong{color:var(--text-light);font-weight:600}.md-link{color:var(--text-light);text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-soft), text-decoration-color var(--dur-fast) var(--ease-soft);-webkit-text-decoration:underline #ffffff38;text-decoration:underline #ffffff38}.md-link:hover{color:#eee;text-decoration-color:#ffffff73}.msg-sources{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;display:flex}.msg-sources-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-grey);margin-bottom:2px;font-size:11px;font-weight:500}.msg-source{color:var(--text);transition:color var(--dur-fast) var(--ease-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.4;text-decoration:none;overflow:hidden}.msg-source:hover{color:var(--text-light)}.md-p{margin:0 0 8px}.md-gap{height:8px}.md-h{color:var(--text-light);letter-spacing:-.02em;margin:14px 0 8px;font-size:15px;font-weight:600}.md-h4{margin-top:12px;font-size:14px}.md-li{align-items:flex-start;gap:8px;margin:0 0 6px;display:flex}.md-bullet,.md-num{color:#9a9a9a;flex-shrink:0;min-width:1.1em;font-weight:500}.inline-code{color:var(--text-light);background:#ffffff14;border-radius:5px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.code-block{border:1px solid var(--border);max-width:100%;animation:content-fade .4s var(--ease-out) both;background:#121212;border-radius:14px;margin:12px 0 14px;overflow:hidden}.code-bar{border-bottom:1px solid var(--border);background:#ffffff05;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.code-lang{color:#9a9a9a;text-transform:lowercase;letter-spacing:.02em;font-size:11px;font-weight:500}.code-copy{color:var(--text-grey);transition:color var(--dur-fast) var(--ease-soft), background var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-spring);border-radius:8px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-flex}.code-copy:hover{color:var(--text-light);background:var(--accent-soft);transform:translateY(-1px)}.code-block pre{max-height:420px;margin:0;padding:14px 16px;overflow-x:auto}.code-block code{color:#c8c8c8;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55}.typing-cursor:after{content:"";vertical-align:-.12em;background:var(--accent);width:2px;height:1em;animation:caret-blink 1.4s var(--ease-soft) infinite;border-radius:1px;margin-left:3px;display:inline-block}.thinking{animation:fade-rise .5s var(--ease-out) both;align-items:center;gap:10px;padding:6px 2px;display:flex}.thinking-shimmer{letter-spacing:-.01em;background:linear-gradient(90deg,#5a5a5a 0% 32%,#f0f0f0 50%,#5a5a5a 68% 100%) 0 0/220% 100%;color:#0000;animation:thinking-shimmer 2s var(--ease-in-out) infinite;-webkit-background-clip:text;background-clip:text;font-size:14px;font-weight:500}@keyframes thinking-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.error-banner{color:#c99;animation:error-in .45s var(--ease-out) both;background:#d9898912;border:1px solid #d9898938;border-radius:14px;padding:10px 14px;font-size:12.5px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#060708b8;place-items:center;padding:20px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);width:min(420px,100%);animation:fade-rise .3s var(--ease-out);background:linear-gradient(#171717,#141414);border-radius:20px;padding:22px;box-shadow:0 24px 60px #00000073}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.modal h2{color:var(--text-light);letter-spacing:-.02em;font-size:17px;font-weight:500}.modal .desc{color:var(--text-grey);margin:0 0 18px;font-size:13px;line-height:1.55}.modal a{color:var(--send);border-bottom:1px solid #c8c8c847;text-decoration:none}.modal a:hover{border-bottom-color:#dcdcdc8c}.field{flex-direction:column;gap:7px;margin-bottom:14px;display:flex}.field label{color:var(--text-grey);font-size:12px;font-weight:500}.field input{border:1px solid var(--border);color:var(--text-light);transition:border-color .25s var(--ease-soft);background:#0e0e0e;border-radius:14px;outline:none;padding:12px 14px;font-size:13px}.field input:focus{border-color:var(--border-focus)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.btn-ghost{color:var(--text-grey);border-radius:999px;padding:9px 14px;font-size:13px;transition:color .2s,background .2s}.btn-ghost:hover{color:var(--text-light);background:var(--accent-soft)}.btn-primary{background:var(--send);color:#0e0e0e;transition:background .2s, transform .2s var(--ease-spring);border-radius:999px;padding:9px 18px;font-size:13px;font-weight:500}.btn-primary:hover{background:var(--send-hover)}.btn-primary:active{transform:scale(.97)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes fade-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0,0)}}@keyframes fade-rise-center{0%{opacity:0;transform:translate(-50%,calc(12px - 100%))}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes landing-search-in{0%{opacity:0;transform:translate(-50%,36px)scale(.985)}to{opacity:1;transform:translate(-50%,22px)scale(1)}}@keyframes composer-settle{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0,0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}@keyframes chat-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}@keyframes msg-in-user{0%{opacity:0;transform:translate(10px,8px)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes msg-in-assistant{0%{opacity:0;transform:translate(-6px,8px)}to{opacity:1;transform:translate(0,0)}}@keyframes content-fade{0%{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:translate(0,0)}}@keyframes chip-in{0%{opacity:0;transform:translateY(6px)scale(.94)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes image-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes error-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translate(0,0)}}@keyframes brand-breathe{0%,to{opacity:.9}50%{opacity:1}}@keyframes stop-pulse{0%,to{box-shadow:0 0 #b4b4b400}50%{box-shadow:0 0 0 5px #b4b4b41f}}@keyframes caret-blink{0%,42%{opacity:1}58%,to{opacity:.15}}@keyframes pulse-soft{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{filter:none!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.brand-name{opacity:1!important;animation:none!important}.search-send.stop{animation:none!important}.msg-content.content-ready{opacity:1!important;animation:none!important}}@media (width<=640px){.search-wrap{padding:0 14px 22px}.chat-area{padding:64px 14px 20px}.thread{gap:18px}.icon-btn.settings{right:56px}}
