@font-face{font-family:SF Compact Text Web;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sf-compact/SF-Compact-Text-Regular.otf)format("opentype")}@font-face{font-family:SF Compact Text Web;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sf-compact/SF-Compact-Text-Medium.otf)format("opentype")}@font-face{font-family:SF Compact Text Web;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sf-compact/SF-Compact-Text-Semibold.otf)format("opentype")}@font-face{font-family:SF Compact Text Web;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sf-compact/SF-Compact-Text-Bold.otf)format("opentype")}@font-face{font-family:SF Pro Text Web;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sf-pro/SF-Pro-Text-Regular.otf)format("opentype")}@font-face{font-family:SF Pro Text Web;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sf-pro/SF-Pro-Text-Medium.otf)format("opentype")}@font-face{font-family:SF Pro Text Web;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sf-pro/SF-Pro-Text-Semibold.otf)format("opentype")}@font-face{font-family:SF Pro Text Web;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sf-pro/SF-Pro-Text-Bold.otf)format("opentype")}@font-face{font-family:SF Pro Display Web;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sf-pro/SF-Pro-Display-Regular.otf)format("opentype")}@font-face{font-family:SF Pro Display Web;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sf-pro/SF-Pro-Display-Semibold.otf)format("opentype")}:root{--color-bg-primary:#eef4ff;--color-bg-secondary:#ffffffb8;--color-bg-tertiary:#fff9;--color-bg-elevated:#ffffffd6;--color-text-primary:#0a0b0f;--color-text-secondary:#4f586c;--color-text-tertiary:#7f889d;--color-accent:#f0bf2f;--color-accent-hover:#ffd24a;--color-separator:#3c548c2e;--color-danger:#ff3b30;--color-bubble-user:#f0f0f0;--color-bubble-assistant:#1f2126;--shadow-elevated:0 24px 50px #1018281f;--shadow-soft:0 12px 30px #f0bf2f3d;--shadow-floating:0 18px 36px #10182829;--blur-small:blur(12px);--blur-medium:blur(18px);--blur-large:blur(24px);--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--curve-standard:cubic-bezier(.2, .8, .2, 1);--curve-emphasis:cubic-bezier(.34, 1.1, .64, 1);--font-sf-pro:"SF Pro Text Web", "SF Pro Display Web", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-sf-compact:"SF Compact Text Web", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-main-menu:"SF Pro Text Web", -apple-system, BlinkMacSystemFont, sans-serif}html.dark{--color-bg-primary:#0f1117;--color-bg-secondary:#181c27ad;--color-bg-tertiary:#1c212f94;--color-bg-elevated:#202738c7;--color-text-primary:#f5f7ff;--color-text-secondary:#c0c8d8;--color-text-tertiary:#8e98ab;--color-accent:#ffd24a;--color-accent-hover:#ffe684;--color-separator:#a0b0d238;--color-danger:#ff6b61;--color-bubble-user:#ececec;--color-bubble-assistant:#1d1f24e6;--shadow-elevated:0 24px 50px #00000059;--shadow-soft:0 12px 30px #ffd24a4d;--shadow-floating:0 18px 36px #00000061}*{box-sizing:border-box}html{font-family:var(--font-sf-pro)}html,body,#root{width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-sf-pro);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(130% 80% at 10% 0,#ffffff6b 0%,#fff0 55%),radial-gradient(90% 55% at 90% 0,#ebebeb57 0%,#ebebeb00 65%),linear-gradient(#fff 0%,#ececec 100%);transition:background .26s ease-out,color .22s ease-out}.app-layout{grid-template-columns:1fr;height:100dvh;min-height:0;display:grid;overflow:hidden}.app-layout>.desktop-sidebar,.app-layout>.main-pane{min-height:0}.app-layout.started>.desktop-sidebar{animation:sidebar-panel-in .42s var(--curve-standard) both}.app-layout.started{grid-template-columns:320px 1fr}.sidebar{font-family:var(--font-main-menu);border-right:1px solid var(--color-separator);height:100%;-webkit-backdrop-filter:var(--blur-large);box-shadow:var(--shadow-elevated);--mx:50%;--my:50%;background:#0a0a0e;flex-direction:column;gap:12px;padding:14px 12px;display:flex;position:relative;overflow:visible}.icefield{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:visible}.icefield:after{content:"";pointer-events:none;background:0 0;position:absolute;inset:0}.ice-chunk{left:var(--x);top:var(--y);width:var(--size);height:var(--size);clip-path:var(--shape);background:rgba(255, 255, 255, var(--opacity));animation:ice-drift var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay);filter:blur()drop-shadow(0 0 5px #fff8eb8c)drop-shadow(0 0 14px #ffd7aa4d);border:1px solid #ffffff9e;transition:filter .18s ease-out;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #ffffff1f,inset 0 1px #ffffff73,0 0 10px #ffe4c873,0 0 22px #ffc38238}.sidebar:hover .ice-chunk{filter:blur(.6px)drop-shadow(0 0 5px #fff8eb8c)drop-shadow(0 0 14px #ffd7aa4d)}.sidebar-content{z-index:1;isolation:isolate;flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;position:relative}.sidebar-top{z-index:2;flex-shrink:0;padding-bottom:4px;position:relative}.new-chat-button,.model-item,.chat-list-item,.icon-button,.message-input-inner button,.button-secondary,.button-danger,.button-warning{cursor:pointer;font:inherit;border:0}.new-chat-button{border-radius:var(--radius-md);color:#fff;letter-spacing:-.01em;width:100%;transition:transform .16s var(--curve-standard), box-shadow .22s var(--curve-standard), background .22s var(--curve-standard);background:linear-gradient(#ffd866 0%,#f0bf2f 100%);padding:12px 14px;font-weight:600}.new-chat-button:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.new-chat-button:active{transform:translateY(0)scale(.985)}.model-selector{flex-direction:column;gap:6px;display:flex}.subscription-card{z-index:1;border-radius:var(--radius-md);-webkit-backdrop-filter:var(--blur-small);background:#121118f7;border:1px solid #ffd35c57;flex-direction:column;flex-shrink:0;gap:4px;padding:11px 12px;display:flex;position:relative}.subscription-card strong{color:#f2eafe;font-size:13px}.subscription-card span{color:#ead28b;font-size:12px}.chat-list-section{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.chat-list-stack{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.sidebar-stars{border-radius:var(--radius-md);flex:1;min-height:56px;position:relative;overflow:visible}.sidebar-search-wrap{box-sizing:border-box;border-radius:var(--radius-md);background:#121118eb;border:1px solid #ffd66038;flex-shrink:0;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.sidebar-search-icon{color:#ffdc8ca6;flex-shrink:0}.sidebar-search-input{color:#f5ecff;min-width:0;font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:13px}.sidebar-search-input::placeholder{color:#e6d2aa73}.chat-list-empty{color:#dcc8a08c;text-align:center;margin:0;padding:12px 0;font-size:12.5px}.model-item{text-align:left;background:var(--color-bg-tertiary);color:var(--color-text-primary);border-radius:10px;padding:10px}.model-item.active{outline:2px solid var(--color-accent)}.model-item:disabled{opacity:.6;cursor:not-allowed}.sidebar-footer{z-index:2;flex-shrink:0;justify-content:stretch;padding-top:10px;display:flex;position:relative}.sidebar-profile-row{border-radius:var(--radius-md);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease, background .16s ease, transform .16s var(--curve-standard);background:#ffffff0a;border:1px solid #ffffff1a;align-items:center;gap:12px;margin:0;padding:10px;display:flex}.sidebar-profile-row:hover{background:#ffffff14;border-color:#ffd66047;transform:translateY(-1px)}.sidebar-profile-avatar{color:#ffffffc7;background:#ffffff0f;border:1px solid #ffffff24;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.sidebar-profile-meta{flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.sidebar-profile-name{color:#fffffff2;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:14px;font-weight:600;line-height:1.25;overflow:hidden}.sidebar-profile-plan{letter-spacing:.02em;font-size:12px;font-weight:600;line-height:1.2}.sidebar-profile-plan--pro,.sidebar-profile-plan--plus{color:#4ade80}.sidebar-profile-plan--trial{color:#ffffffeb}.chat-list{z-index:2;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:0 auto;gap:6px;width:100%;min-height:0;max-height:calc(100% - 56px);padding:16px 0 18px;display:flex;position:relative;overflow:hidden auto}.chat-list::-webkit-scrollbar{width:0;height:0}.chat-list-item{cursor:pointer;text-align:left;width:100%;font:inherit;color:#f0e9ff;border-radius:var(--radius-lg);transition:transform .18s var(--curve-standard), background .22s var(--curve-standard), border-color .22s var(--curve-standard), box-shadow .22s var(--curve-standard);background:#1a1622fa;border:1px solid #facd4c3d;justify-content:flex-start;align-items:center;gap:8px;padding:10px;display:flex}.chat-list-item:focus-visible{outline-offset:2px;outline:2px solid #ffd6608c}.chat-list-item--last:not(.active){box-shadow:0 4px 11px #c387301f,0 7px 17px #a56e2613,0 10px 24px -3px #3c2c160b}.chat-list-item.active{color:#fff;background:#30281cfa;border-color:#ffd27361;box-shadow:inset 0 1px #ffd79617,0 6px 13px #d29b3a30,0 10px 21px #af7d3018,0 14px 32px -4px #3728160d}.chat-list-item:hover:not(.active):not(.chat-list-item--last){border-color:#ffd6606b;transform:translateY(-1px);box-shadow:0 3px 9px #0000002e,0 5px 13px #b9873216}.chat-list-item.chat-list-item--last:hover:not(.active){border-color:#ffd6606b;transform:translateY(-1px);box-shadow:0 4px 12px #c88c3024,0 8px 19px #9b692616,0 12px 28px -3px #3226120b}.chat-list-item.active:hover{border-color:#ffda827a;transform:translateY(-1px);box-shadow:inset 0 1px #ffdca51a,0 7px 15px #d7a03e38,0 12px 25px #af7d301a,0 16px 36px -4px #41301a0e}.chat-avatar{color:#fff;background:linear-gradient(#ffe07c 0%,#f0bf2f 100%);border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:640;display:inline-flex;box-shadow:0 3px 10px #be87282e,0 5px 13px -2px #e6af371a}.chat-list-main{flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex;overflow:hidden}.chat-list-main strong{text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;font-size:13.5px;font-weight:590;line-height:1.18;overflow:hidden}.chat-list-main small{color:#dac78f;font-size:11.5px}.chat-pin{color:#e6c88c73;cursor:pointer;opacity:.85;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:4px;transition:opacity .18s ease-out,color .18s ease-out,background .18s ease-out;display:inline-flex}.chat-pin:hover{color:#ffe4a0f2;background:#ffffff0f}.chat-pin--pinned{color:#ffd866;opacity:1}.chat-delete{opacity:0;color:#e5cc88;cursor:pointer;margin-left:auto;transition:opacity .18s ease-out;display:inline-flex}.chat-list-item:hover .chat-delete,.chat-list-item:hover .chat-pin{opacity:1}.main-pane{background:linear-gradient(#27272b 0%,#0b0b0d 100%);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.account-panel{min-height:0;padding:0 max(20px, min(6vw, 40px)) max(22px, calc(16px + env(safe-area-inset-bottom)));flex-direction:column;flex:1;display:flex;overflow:hidden}.account-panel__header{flex-shrink:0;padding:12px 0 8px}@media (width<=1023px){.account-panel__header{display:none}}.account-panel__back{color:var(--color-text-secondary);font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:2px;margin-left:-10px;padding:8px 10px;font-size:15px;transition:color .16s,background .16s;display:inline-flex}.account-panel__back:hover{color:var(--color-text-primary);background:#ffffff0f}.account-panel__body{box-sizing:border-box;flex-direction:column;flex:1;align-items:flex-start;gap:18px;width:100%;min-height:0;padding-top:4px;display:flex;overflow-y:auto}.account-panel__sheet{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:16px;width:fit-content;max-width:calc(100% - 12px);display:flex}@media (width<=1023px){.account-panel__body{padding-top:8px}}.account-panel__title{letter-spacing:-.03em;max-width:calc(100% - 12px);margin:0;font-size:clamp(26px,4vw,34px);font-weight:700}.account-panel__card{border-radius:var(--radius-md);border:1px solid var(--color-separator);background:var(--color-bg-secondary);box-sizing:border-box;flex-direction:column;gap:6px;width:100%;min-width:0;padding:14px 16px;display:flex}.account-panel__label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.account-panel__value{overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:16px}.account-panel__value--muted{color:var(--color-text-secondary);text-transform:capitalize;font-size:14px}.account-panel__sign-out{border-radius:var(--radius-md);border:1px solid var(--color-separator);color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;align-self:flex-start;margin-top:8px;padding:12px 18px;font-size:15px;transition:border-color .16s,color .16s}.account-panel__sign-out:hover{border-color:var(--color-danger);color:var(--color-danger)}.account-panel__card--plus{background:linear-gradient(165deg, #3b3b6d59 0%, var(--color-bg-secondary) 55%);border-color:#ffd66038;gap:10px}.account-panel__plus-lead{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.45}.account-panel__plus-price{letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:18px;font-weight:650}.account-panel__plus-pay{cursor:pointer;font:inherit;color:#fff;background:#3b3b6d;border:none;border-radius:999px;align-self:flex-start;margin-top:4px;padding:12px 18px;font-size:15px;font-weight:650;transition:background .16s,transform .16s;box-shadow:0 2px 12px #3b3b6d59}.account-panel__plus-pay:hover:not(:disabled){background:#4a4a82;transform:translateY(-1px)}.account-panel__plus-pay:disabled{opacity:.65;cursor:not-allowed}.account-panel__plus-error{color:var(--color-danger);margin:0;font-size:13px;line-height:1.4}.chat-window{flex-direction:column;flex:1;gap:0;min-height:0;padding:12px 20px 0;display:flex;overflow:hidden}.chat-window-topbar{flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:0;padding-bottom:6px;display:grid}.chat-window-topbar__cell--left{min-width:0}.chat-window-topbar__cell--center{justify-self:center;min-width:0}.chat-window-topbar__cell--right{justify-self:end;align-items:center;min-width:0;display:flex}.plus-upgrade-banner__btn{cursor:pointer;font:inherit;letter-spacing:.01em;color:#fff;background:#3b3b6d;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:650;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 2px 12px #3b3b6d59}.plus-upgrade-banner__btn:hover{background:#4a4a82;transform:translateY(-1px);box-shadow:0 4px 16px #3b3b6d73}.plus-upgrade-banner__btn:focus-visible{outline-offset:2px;outline:2px solid #ffd660a6}.plus-upgrade-banner__icon{opacity:.95;flex-shrink:0}.chat-summary-button{color:var(--color-text-primary);background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;padding:8px 14px;font-size:13px}.chat-summary-button:disabled{opacity:.45;cursor:not-allowed}.summary-modal-overlay{z-index:80;-webkit-backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.summary-modal{border-radius:var(--radius-md);width:min(520px,100%);max-height:min(72dvh,560px);box-shadow:var(--shadow-soft);background:linear-gradient(#1e1c24 0%,#121016 100%);border:1px solid #ffd66047;flex-direction:column;display:flex;overflow:hidden}.summary-modal__header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.summary-modal__header h2{color:#f7f3ff;margin:0;font-size:16px;font-weight:640}.summary-modal__close{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:13px}.summary-modal__close:hover{color:#fff;border-color:#ffd66059}.summary-modal__body{flex:1;min-height:0;padding:16px 18px 20px;overflow:auto}.summary-modal__text{color:#f5f0fff0;white-space:pre-wrap;font-size:14px;line-height:1.55}.summary-modal__error{color:#fca5a5;margin:0;font-size:14px;line-height:1.45}.chat-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.chat-scroll::-webkit-scrollbar{width:0;height:0}.chat-scroll--welcome{flex-direction:column;flex:1;justify-content:flex-start;min-height:0;display:flex}.welcome-layout{flex-direction:column;flex:1;width:100%;min-height:min(100%,100dvh);display:flex}.welcome-screen.welcome-screen--stacked{flex:1;justify-content:center;width:min(420px,100%);min-height:0;margin:0 auto}.welcome-screen__signout-wrap{width:100%;padding:8px 16px max(28px, calc(20px + env(safe-area-inset-bottom)));flex-shrink:0;justify-content:center;display:flex}.chat-input-footer{padding-top:10px;padding-bottom:max(18px, calc(12px + env(safe-area-inset-bottom)));flex-direction:column;flex-shrink:0;gap:10px;display:flex}.welcome-screen{flex-direction:column;justify-content:center;align-items:center;gap:28px;width:min(760px,100%);min-height:52dvh;margin:auto;display:flex}.welcome-screen__brand{animation:fade-in-up .46s var(--curve-standard) both;justify-content:center;display:flex}.welcome-screen__brand svg{filter:drop-shadow(0 10px 28px #0000001f)}html.dark .welcome-screen__brand svg{filter:drop-shadow(0 10px 28px #00000059)}.welcome-screen h1{text-align:center;letter-spacing:-.04em;background:linear-gradient(120deg,#fff 0%,#d9fdd1 44%,#ffd400 100%);color:#0000;animation:fade-in-up .46s var(--curve-standard) both;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(34px,5.2vw,58px);font-weight:760;line-height:1.02}.welcome-start-button{color:#fff;letter-spacing:-.01em;cursor:pointer;transition:transform .16s var(--curve-standard), box-shadow .22s var(--curve-standard), background .22s var(--curve-standard), border-color .22s var(--curve-standard);background:linear-gradient(#1a1c22 0%,#08090d 100%);border:1px solid #ffffff29;border-radius:999px;padding:14px 30px;font-size:17px;font-weight:630;animation:.72s cubic-bezier(.22,1,.36,1) .18s both welcome-start-rise;box-shadow:0 0 0 1px #ffffff0f,0 0 32px #ffffff24,0 10px 40px #00000073}.welcome-start-button:hover{border-color:#ffffff42;transform:translateY(-1px)scale(1.01);box-shadow:0 0 0 1px #ffffff1a,0 0 40px #ffffff38,0 20px 48px #0f172a59}.welcome-start-button:active{transform:scale(.98)}.welcome-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.welcome-sign-out{color:var(--color-text-tertiary);cursor:pointer;text-underline-offset:3px;opacity:.72;background:0 0;border:none;padding:8px 14px;font-size:13px;text-decoration:underline}.welcome-sign-out:hover{color:var(--color-text-secondary);opacity:.95}.welcome-screen--with-auth{gap:22px;width:min(420px,100%)}.welcome-auth__loading{color:var(--color-text-secondary);margin:0;font-size:15px}.welcome-auth{width:100%;animation:fade-in-up .5s var(--curve-standard) both;flex-direction:column;gap:14px;animation-delay:.12s;display:flex}.welcome-auth__hint{color:var(--color-text-secondary);text-align:center;margin:0;font-size:13px;line-height:1.45}.welcome-auth__hint code{word-break:break-all;font-size:12px}.welcome-auth__oauth{flex-direction:column;gap:10px;display:flex}.welcome-auth__oauth-btn{border-radius:var(--radius-md);border:1px solid var(--color-separator);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);cursor:pointer;transition:transform .14s var(--curve-standard), border-color .18s ease-out, box-shadow .18s ease-out;justify-content:center;align-items:center;gap:10px;padding:12px 14px;font-size:15px;font-weight:590;display:inline-flex}.welcome-auth__oauth-btn:hover:not(:disabled){box-shadow:var(--shadow-soft);border-color:#fff3;transform:translateY(-1px)}.welcome-auth__oauth-btn:disabled{opacity:.55;cursor:not-allowed}.welcome-auth__oauth-icon{text-align:center;width:22px;font-size:17px;font-weight:700}.welcome-auth__oauth-btn--google .welcome-auth__oauth-icon{color:#4285f4}.welcome-auth__divider{color:var(--color-text-tertiary);align-items:center;gap:12px;font-size:12px;display:flex}.welcome-auth__divider:before,.welcome-auth__divider:after{content:"";background:var(--color-separator);flex:1;height:1px}.welcome-auth__form{flex-direction:column;gap:10px;display:flex}.welcome-auth__input{border-radius:var(--radius-sm);border:1px solid var(--color-separator);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);outline:none;padding:11px 12px;font-size:15px;transition:border-color .18s ease-out}.welcome-auth__input:focus{border-color:#f0bf2f73}.welcome-auth__mode{grid-template-columns:1fr 1fr;gap:8px;display:grid}.welcome-auth__mode-btn{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 10px;font-size:13px;transition:color .16s ease-out,border-color .16s ease-out,background .16s ease-out}.welcome-auth__mode-btn.is-active{color:var(--color-text-primary);border-color:var(--color-separator);background:var(--color-bg-secondary)}.welcome-auth__submit{border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:transform .14s var(--curve-standard), box-shadow .18s ease-out;background:linear-gradient(#ffd866 0%,#f0bf2f 100%);border:0;margin-top:4px;padding:12px 16px;font-size:15px;font-weight:640}.welcome-auth__submit:hover:not(:disabled){box-shadow:var(--shadow-soft);transform:translateY(-1px)}.welcome-auth__submit:disabled{opacity:.55;cursor:not-allowed}.welcome-auth__message{text-align:center;margin:0;font-size:13px;line-height:1.4}.welcome-auth__message--error{color:var(--color-danger)}.welcome-auth__message--info{color:var(--color-text-secondary)}.message-row-wrap{animation:message-enter .3s var(--curve-standard) both;animation-delay:calc(var(--message-index) * 28ms)}.message-list{flex-direction:column;gap:10px;padding-bottom:4px;padding-right:4px;display:flex}.message-row{display:flex}.message-row.user{justify-content:flex-end}.message-bubble{border-radius:var(--radius-lg);max-width:min(760px,78%);font-family:var(--font-sf-compact);background:var(--color-bubble-assistant);border:1px solid var(--color-separator);-webkit-backdrop-filter:var(--blur-small);transition:transform .18s var(--curve-standard), box-shadow .22s var(--curve-standard);padding:12px 14px;box-shadow:0 10px 26px #0f172a14}.message-bubble .code-block,.message-bubble .code-block *,.message-bubble pre,.message-bubble :not(pre)>code{font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Menlo,monospace!important}.message-bubble ul,.message-bubble ol{margin:8px 0 0;padding-left:18px}.message-row.user .message-bubble{background:var(--color-bubble-user);border-bottom-right-radius:var(--radius-sm);color:#111;border-color:#5c5c5c5c}.message-row.assistant .message-bubble{background:var(--color-bubble-assistant);border-bottom-left-radius:var(--radius-sm);color:#f5f5f5;border-color:#62687657}.message-bubble p{margin:0;font-size:15px;line-height:1.45}.message-bubble p+p{margin-top:8px}.message-bubble.streaming{animation:1.3s ease-in-out infinite pulse-stream;box-shadow:0 8px 24px #0f172a14,0 0 0 1px #b6b6b64d}.message-bubble--skeleton{animation:none;box-shadow:0 8px 24px #0f172a14,0 0 0 1px #b6b6b638}.assistant-skeleton{flex-direction:column;gap:10px;min-height:68px;padding:2px 0 4px;display:flex}.assistant-skeleton__line{background:linear-gradient(105deg,#ffffff12 0%,#ffffff29 42%,#ffffff14 86%) 0 0/220% 100%;border-radius:7px;max-width:100%;height:11px;animation:1.15s ease-in-out infinite skeleton-shimmer}.assistant-skeleton__line:first-child{width:94%}.assistant-skeleton__line:nth-child(2){width:81%}.assistant-skeleton__line:nth-child(3),.assistant-skeleton__line--short{width:52%}.timestamp{color:var(--color-text-tertiary);letter-spacing:.01em;margin-top:7px;font-size:11px;display:block}.message-input-wrap{background:var(--color-bg-secondary);border:1px solid var(--color-separator);-webkit-backdrop-filter:var(--blur-large);border-radius:var(--radius-xl);box-shadow:var(--shadow-floating);transition:border-color .22s var(--curve-standard), box-shadow .22s var(--curve-standard);flex-direction:column;gap:4px;padding:9px;display:flex}.message-input-inner{align-items:flex-end;gap:8px;display:flex}.message-input-counter{color:var(--color-text-tertiary);text-align:right;letter-spacing:.02em;padding:0 2px;font-size:11px}.message-input-wrap:focus-within{box-shadow:var(--shadow-elevated), 0 0 0 3px #ffda663d;border-color:#f0bf2f85}.message-input-wrap textarea{resize:none;width:100%;color:var(--color-text-primary);font:inherit;background:0 0;border:0;outline:0;padding:7px 10px;font-size:16px;line-height:1.35}.message-input-inner button{color:#fff;width:38px;height:38px;transition:transform .14s var(--curve-emphasis), background .18s var(--curve-standard), box-shadow .22s var(--curve-standard);background:linear-gradient(#ffe07c 0%,#f0bf2f 100%);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.message-input-inner button:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.message-input-inner button:active:not(:disabled){transform:scale(.97)}.message-input-inner button:disabled{opacity:.5}.typing-indicator{border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-separator);width:fit-content;animation:fade-in .18s var(--curve-standard) both;gap:6px;padding:8px 10px;display:inline-flex}.typing-indicator span{background:var(--color-text-secondary);border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite wave}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes wave{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.empty-state{text-align:center;width:100%;max-width:760px;margin:auto;animation:.38s ease-out both fade-in-up}.empty-state__logo{filter:drop-shadow(0 0 10px #ffd7af8c)drop-shadow(0 0 26px #ffaf5f47);margin:0 auto 14px;display:block}html:not(.dark) .empty-state__logo{filter:drop-shadow(0 0 12px #785a2d59)drop-shadow(0 0 28px #af8c4b33)}.empty-state__title{letter-spacing:-.02em;color:var(--color-text-secondary);margin:0;font-size:26px;font-weight:600;line-height:1.12}.empty-state__intro{text-align:left;max-width:28rem;margin:18px auto 0}.empty-state__intro p{color:var(--color-text-tertiary);margin:0 0 14px;font-size:15px;line-height:1.55}.empty-state__intro p:last-child{margin-bottom:0}.empty-state__shortcuts{opacity:.92;color:var(--color-text-tertiary)!important;margin-top:16px!important;font-size:13px!important;line-height:1.5!important}.empty-state__kbd{vertical-align:baseline;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-separator);border-radius:6px;margin:0 1px;padding:1px 6px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.4;display:inline-block}.icon-button{border-radius:var(--radius-sm);background:var(--color-bg-tertiary);width:34px;height:34px;color:var(--color-text-primary);transition:transform .14s var(--curve-emphasis), box-shadow .22s var(--curve-standard), background .22s var(--curve-standard);justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.icon-button:active{transform:scale(.97)}.mobile-header{border-bottom:1px solid var(--color-separator);background:var(--color-bg-secondary);-webkit-backdrop-filter:var(--blur-medium);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:none}.mobile-header__brand{justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.mobile-header strong{letter-spacing:-.01em;font-size:16px}.overlay{z-index:30;animation:overlay-in .26s var(--curve-standard) both;-webkit-backdrop-filter:blur(2px);background:#00000061;position:fixed;inset:0}.mobile-sidebar{z-index:40;will-change:transform;width:min(320px,90vw);animation:.36s cubic-bezier(.22,1,.36,1) both slide-in-drawer;position:fixed;top:0;bottom:0;left:0}.toast{border-radius:var(--radius-md);max-width:min(420px,100vw - 28px);box-shadow:var(--shadow-elevated);background:var(--color-bg-elevated);border:1px solid var(--color-separator);transform-origin:100% 100%;will-change:transform, opacity;padding:12px 13px;animation:.38s cubic-bezier(.22,1,.36,1) both toast-panel-in;position:fixed;bottom:14px;right:14px}.toast-error{border:1px solid var(--color-danger)}.dialog-overlay{background:#0006;place-items:center;animation:.16s ease-out both fade-in;display:grid;position:fixed;inset:0}.dialog{background:var(--color-bg-elevated);border:1px solid var(--color-separator);border-radius:var(--radius-lg);width:min(460px,95vw);-webkit-backdrop-filter:var(--blur-medium);box-shadow:var(--shadow-elevated);animation:fade-in-up .2s var(--curve-standard) both;padding:16px}.dialog h3{letter-spacing:-.02em;margin:0;font-size:20px}.dialog p{color:var(--color-text-secondary);margin:8px 0 0}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.button-secondary,.button-danger,.button-warning{border-radius:var(--radius-sm);padding:9px 13px}.button-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);transition:transform .14s ease-out,box-shadow .22s ease-out}.button-danger{color:#fff;background:linear-gradient(#ff5349 0%,#ff3b30 100%);transition:transform .14s ease-out,box-shadow .22s ease-out}.button-secondary:hover,.button-danger:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.button-secondary:active,.button-danger:active{transform:scale(.98)}.code-block{position:relative}.copy-button{color:#fff;cursor:pointer;background:#0003;border:0;border-radius:10px;padding:4px 8px;transition:transform .14s ease-out,opacity .18s ease-out;position:absolute;top:8px;right:8px}.copy-button:hover{transform:translateY(-1px)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes welcome-start-rise{0%{opacity:0;transform:translateY(clamp(72px,34vh,300px))}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes sidebar-panel-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-drawer{0%{opacity:0;transform:translate(calc(-100% - 8px))}to{opacity:1;transform:translate(0)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes toast-panel-in{0%{opacity:0;transform:translate(8px,12px)scale(.97)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes message-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-stream{0%,to{box-shadow:0 8px 24px #0f172a14,0 0 0 1px #b6b6b63d}50%{box-shadow:0 10px 28px #0f172a1f,0 0 0 1px #d6d6d666}}@keyframes ice-drift{0%{transform:translate(calc(-50% + var(--scatter-x,0px)), calc(-50% + var(--scatter-y,0px))) rotate(-2deg)}50%{transform:translate(calc(-50% + var(--drift-x) + var(--scatter-x,0px)), calc(-50% + var(--drift-y) + var(--scatter-y,0px))) rotate(2deg)}to{transform:translate(calc(-50% - var(--drift-x) + var(--scatter-x,0px)), calc(-50% - var(--drift-y) + var(--scatter-y,0px))) rotate(-3deg)}}@media (width<=1023px){.app-layout{grid-template-columns:1fr}.desktop-sidebar{display:none}.mobile-header{display:flex}.chat-window{padding-top:calc(10px + env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation:none!important}}@media (width<=767px){.message-bubble{max-width:92%}.welcome-screen{gap:22px;min-height:48dvh}.chat-window{padding:12px 10px 0}.sidebar{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:calc(10px + env(safe-area-inset-bottom))}}
