.auth{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.auth-header{padding:24px 28px}.auth-main{flex:1;justify-content:center;align-items:flex-start;padding:6vh 16px 32px;display:flex}.auth-card{flex-direction:column;width:100%;max-width:360px;display:flex}.auth-title{letter-spacing:-.02em;text-align:center;font-size:30px;font-weight:600;line-height:1.2}.auth-sub{max-width:320px;color:var(--text-2);text-align:center;margin:10px auto 28px;font-size:15px}.auth-form{flex-direction:column;gap:12px;display:flex}.field{position:relative}.field input{border:1px solid var(--border-strong);background:var(--bg);border-radius:999px;outline:none;width:100%;height:52px;padding:18px 20px 4px;font-size:16px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.field label{color:var(--text-3);pointer-events:none;transition:transform .15s var(--ease), font-size .15s var(--ease), top .15s var(--ease), color .15s;font-size:16px;position:absolute;top:50%;left:21px;transform:translateY(-50%)}.field input:focus+label,.field input:not(:placeholder-shown)+label{font-size:12px;top:15px;transform:translateY(-50%)}.field input:focus+label{color:var(--focus)}.field-locked input{background:var(--bg-subtle);color:var(--text-2);padding-right:80px}.field-locked input:focus{border-color:var(--border-strong);box-shadow:none}.field-locked input:focus+label{color:var(--text-3)}.field-error input,.field-error input:focus{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.field-error input:focus+label{color:var(--danger)}.field-action{color:var(--focus);font-size:14px;font-weight:500;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.field-icon{width:36px;height:36px;color:var(--text-2);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.field-icon:hover{background:var(--bg-hover)}.field input[type=password],.field input#password{padding-right:54px}.auth-error{color:var(--danger);margin-top:-2px;padding-left:20px;font-size:13px}.auth-link{color:var(--focus);font-weight:500}.auth-link:hover{text-decoration:underline}.forgot{align-self:flex-start;padding-left:20px;font-size:14px}.auth-form .btn-primary{margin-top:8px}.auth-switch{color:var(--text-2);text-align:center;margin-top:18px;font-size:14px}.divider{color:var(--text-3);align-items:center;gap:14px;margin:24px 0;font-size:12px;font-weight:500;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.social{flex-direction:column;gap:10px;display:flex}.social .btn-outline{justify-content:flex-start;gap:14px;padding:0 22px;font-weight:400}.auth-footer{padding:20px 16px calc(24px + env(safe-area-inset-bottom));color:var(--text-3);justify-content:center;gap:10px;font-size:13px;display:flex}.auth-footer a:hover{color:var(--text-2);text-decoration:underline}@media (width<=600px){.auth-header{justify-content:center;padding:20px 16px 0;display:flex}.auth-main{padding-top:40px}.auth-title{font-size:26px}}.gsi-wrap{justify-content:center;min-height:44px;display:flex;position:relative}.gsi-wrap.disabled{opacity:.5;pointer-events:none}.gsi-button{color-scheme:normal;justify-content:center;width:100%;display:flex}.gsi-placeholder{background:var(--bg-hover);border-radius:999px;animation:1.2s ease-in-out infinite ad-pulse;position:absolute;inset:0}@keyframes ad-pulse{50%{opacity:.5}}.app{background:var(--bg);height:100dvh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);height:100%;transition:width .22s var(--ease);flex:none;position:relative;overflow:hidden}[data-theme=dark] .sidebar{border-right-color:#0000}.sidebar.collapsed{width:var(--rail-w)}.panel{width:var(--sidebar-w);flex-direction:column;height:100%;display:flex}.sidebar.collapsed .panel{display:none}.rail{width:var(--rail-w);flex-direction:column;align-items:center;gap:4px;height:100%;padding:8px 0 12px;display:none}.sidebar.collapsed .rail{display:flex}.rail-spacer{flex:1}.rail-logo .rail-logo-toggle,.rail-logo:hover .rail-logo-mark{display:none}.rail-logo:hover .rail-logo-toggle{display:block}.rail-logo{cursor:e-resize;margin-bottom:4px}.rail-avatar{border-radius:50%}.sb-top{flex:none;justify-content:space-between;align-items:center;height:52px;padding:0 8px;display:flex}.sb-logo{border-radius:var(--radius-sm);place-items:center;width:36px;height:36px;transition:background-color .15s;display:grid}.sb-logo:hover{background:var(--bg-hover)}.sb-top .icon-btn:not(.show-mobile){cursor:w-resize}.sb-nav{flex-direction:column;flex:none;gap:1px;padding:0 6px 8px;display:flex}.sb-link{text-align:left;border-radius:10px;align-items:center;gap:10px;height:36px;padding:0 10px;font-size:14px;transition:background-color .15s;display:flex}.sb-link:hover{background:var(--bg-hover)}.sb-link svg{flex:none}.sb-link span{flex:1}.sb-kbd{color:var(--text-3);opacity:0;white-space:nowrap;font-size:12px;transition:opacity .15s}.sb-link:hover .sb-kbd{opacity:1}.sb-scroll{border-top:1px solid #0000;flex:1;min-height:0;padding:0 6px 12px;transition:border-color .15s;overflow-y:auto}.sb-scroll.scrolled{border-top-color:var(--border)}.sb-empty{color:var(--text-3);padding:16px 10px;font-size:14px}.sb-group+.sb-group{margin-top:16px}.sb-group-title{z-index:1;background:var(--bg-sidebar);color:var(--text-3);padding:10px 10px 6px;font-size:12px;font-weight:500;position:sticky;top:0}.chat-item{border-radius:10px;position:relative}.chat-item:hover,.chat-item.menu-open{background:var(--bg-hover)}.chat-item.active{background:var(--bg-active)}.chat-link{border-radius:10px;height:36px;padding:0 10px;font-size:14px;line-height:36px;display:block}.chat-title{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.chat-item:hover .chat-link,.chat-item.active .chat-link,.chat-item.menu-open .chat-link{padding-right:38px}.chat-more{width:30px;height:30px;color:var(--text-2);opacity:0;border-radius:8px;place-items:center;transition:opacity .1s;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.chat-more:hover{color:var(--text)}.chat-item:hover .chat-more,.chat-item.active .chat-more,.chat-item.menu-open .chat-more,.chat-more:focus-visible{opacity:1}.chat-rename{border:1px solid var(--focus);background:var(--bg);border-radius:10px;outline:none;width:100%;height:36px;padding:0 10px;font-size:14px}.sb-foot{border-top:1px solid var(--border);flex:none;padding:6px}.profile-btn{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px;transition:background-color .15s;display:flex}.profile-btn:hover,.profile-btn[aria-expanded=true]{background:var(--bg-hover)}.profile-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.profile-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.profile-plan{color:var(--text-3);font-size:12px}.user-menu{transform-origin:0 100%;min-width:244px}.menu-header{padding:8px 10px 4px}.menu-email{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.menu-theme{justify-content:space-between;align-items:center;min-height:42px;padding:0 4px 0 38px;font-size:14px;display:flex}.segmented{background:var(--bg-hover);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.segmented button{width:32px;height:26px;color:var(--text-2);border-radius:999px;place-items:center;transition:background-color .15s,color .15s;display:grid}.segmented button:hover{color:var(--text)}.segmented button.on{background:var(--bg);color:var(--text);box-shadow:0 1px 2px #0000001f}[data-theme=dark] .segmented button.on{background:#47443f}.sb-backdrop{display:none}.main{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.topbar{flex:none;justify-content:space-between;align-items:center;gap:8px;height:52px;padding:0 8px;display:flex}.topbar-left,.topbar-right{align-items:center;gap:4px;min-width:0;display:flex}.mode-btn{white-space:nowrap;border-radius:10px;align-items:center;gap:6px;height:38px;padding:0 10px;font-size:18px;line-height:1;transition:background-color .15s;display:flex}.mode-btn:hover,.mode-btn[aria-expanded=true]{background:var(--bg-hover)}.mode-brand{font-weight:500}.mode-name{color:var(--text-2)}.mode-chevron{color:var(--text-3);margin-top:1px}.mode-menu{width:300px}.mode-menu-title{color:var(--text-3);padding:8px 10px 6px;font-size:13px}.mode-option{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px 10px;display:flex}.mode-option:hover{background:var(--bg-hover)}.mode-option-text{flex-direction:column;flex:1;gap:1px;display:flex}.mode-option-name{font-size:14px}.mode-option-desc{color:var(--text-3);font-size:13px}.mode-check{flex:none}.share-btn{height:36px;padding:0 12px}.trial-pill{border:1px solid var(--border);height:34px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 4px 0 12px;font-size:13px;transition:background-color .15s;display:inline-flex}.trial-pill:hover{background:var(--bg-hover)}.trial-pill-cta{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:4px 10px;font-weight:500}.paywall{max-width:var(--thread-w);background:var(--bg-composer);box-shadow:var(--shadow-composer);border-radius:24px;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:16px 16px 16px 22px;display:flex}.paywall-text{color:var(--text-2);flex-direction:column;gap:2px;font-size:14px;display:flex}.paywall-text strong{color:var(--text);font-size:15px;font-weight:600}.paywall .btn-primary{flex:none}@media (width<=767px){.paywall{text-align:center;flex-direction:column;align-items:stretch;padding:16px}}.empty{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:0 24px 12vh;display:flex;position:relative}.empty-hero{text-align:center;margin-bottom:28px}.empty-greeting{color:var(--text-2);margin-bottom:6px;font-size:16px}.empty-title{letter-spacing:-.015em;font-size:28px;font-weight:500;line-height:1.25}.empty-note{max-width:440px;color:var(--text-3);margin:12px auto 0;font-size:14px;line-height:1.5}.empty-composer{width:100%;max-width:var(--thread-w)}.suggestions{width:100%;max-width:var(--thread-w);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.chip{border:1px solid var(--border);height:40px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:14px;transition:background-color .15s,color .15s;display:inline-flex}.chip:hover{background:var(--bg-hover);color:var(--text)}.chip svg{color:var(--text-3);flex:none}.empty-disclaimer{position:absolute;bottom:12px;left:0;right:0}.thread{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.thread-inner{max-width:var(--thread-w);flex-direction:column;gap:28px;margin:0 auto;padding:20px 24px 40px;display:flex}.msg{flex-direction:column;display:flex}.msg-user{align-items:flex-end}.bubble{background:var(--bg-bubble);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:22px;max-width:70%;padding:10px 18px}.msg-actions{opacity:0;gap:2px;margin-top:6px;transition:opacity .15s;display:flex}.msg:hover .msg-actions,.msg-actions.always,.msg-actions:focus-within{opacity:1}.msg-assistant .msg-actions{margin-left:-6px}.msg-action{width:32px;height:32px;color:var(--text-2);border-radius:8px;place-items:center;transition:background-color .15s,color .15s;display:grid;position:relative}.msg-action:hover{background:var(--bg-hover);color:var(--text)}.msg-action.pressed{color:var(--text)}@media (hover:hover){[data-tip]:after{content:attr(data-tip);z-index:5;color:#fdfcfa;white-space:nowrap;pointer-events:none;opacity:0;background:#1b1916;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:500;transition:opacity .1s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tip]:hover:after{opacity:1;transition-delay:.35s}}.md{overflow-wrap:anywhere;font-size:16px;line-height:1.75}.md>*+*{margin-top:14px}.md h1,.md h2,.md h3{margin-top:26px;font-size:18px;font-weight:600;line-height:1.4}.md>:first-child{margin-top:0}.md ul,.md ol{padding-left:1.5em}.md ul{list-style:outside}.md ol{list-style:decimal}.md li+li{margin-top:6px}.md li::marker{color:var(--text-3)}.md li>p{margin:0}.md strong{font-weight:600}.md blockquote{border-left:3px solid var(--border-strong);color:var(--text-2);margin-left:0;margin-right:0;padding:2px 0 2px 16px}.md code{background:var(--bg-subtle);font-family:var(--mono);border-radius:6px;padding:2px 6px;font-size:.875em}.md a{color:var(--focus);text-decoration:underline}.md.streaming>:last-child:after{content:"";background:var(--text);vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-left:6px;animation:1s ease-in-out infinite pulse;display:inline-block}.msg-error{border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 7%, transparent);color:var(--text);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;padding:10px 14px;font-size:14px;display:flex}.msg-error .btn-outline{height:32px;padding:0 12px;font-size:13px}.thinking{align-items:center;height:28px;display:flex}.thinking span{background:var(--text);border-radius:50%;width:12px;height:12px;animation:1.1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.55;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}.msg-user.editing{align-items:stretch}.edit-box{background:var(--bg-bubble);border-radius:24px;padding:14px 16px 12px 20px}.edit-box textarea{resize:none;background:0 0;border:0;outline:none;width:100%;max-height:50vh;line-height:1.5;display:block}.edit-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.dock{padding:0 16px calc(4px + env(safe-area-inset-bottom));background:var(--bg);flex:none;position:relative}.composer{max-width:var(--thread-w);border-radius:var(--radius-xl);background:var(--bg-composer);box-shadow:var(--shadow-composer);cursor:text;align-items:flex-end;gap:8px;margin:0 auto;padding:10px 10px 10px 22px;display:flex}.composer textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-width:0;max-height:216px;padding:6px 0;font-size:16px;line-height:24px}.composer textarea::placeholder{color:var(--text-3)}.send-btn{background:var(--primary);width:36px;height:36px;color:var(--on-primary);cursor:pointer;border-radius:50%;flex:none;place-items:center;transition:opacity .15s,background-color .15s;display:grid}.send-btn:hover:not(:disabled){opacity:.85}.send-btn:disabled{background:var(--primary-disabled);cursor:default}[data-theme=dark] .send-btn:disabled{color:#2d2b28}.voice-btn{width:36px;height:36px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;transition:background-color .15s,color .15s;display:grid;position:relative}.voice-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.composer.recording{cursor:default;align-items:center;gap:10px;padding:10px}.voice-wave{flex:1;align-items:center;gap:12px;min-width:0;height:36px;display:flex}.voice-bars{flex:1;justify-content:flex-end;align-items:center;gap:3px;min-width:0;height:28px;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18%);mask-image:linear-gradient(90deg,#0000,#000 18%)}.voice-bars span{background:var(--text);transform-origin:50%;border-radius:3px;flex:none;width:3px;height:100%;transition:transform 80ms linear}.voice-wave.synthetic .voice-bars span{animation:1s ease-in-out infinite voice-bar}@keyframes voice-bar{0%,to{transform:scaleY(.15)}50%{transform:scaleY(.8)}}.voice-time{font-variant-numeric:tabular-nums;color:var(--text-2);flex:none;font-size:14px}.scroll-down{z-index:2;border:1px solid var(--border-strong);background:var(--bg);width:36px;height:36px;color:var(--text);border-radius:50%;place-items:center;animation:.15s fade-in;display:grid;position:absolute;top:-52px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000014}.disclaimer{color:var(--text-3);text-align:center;padding:8px 8px 6px;font-size:12px;line-height:1.4}.search-modal{align-self:start;max-width:680px;margin-top:10vh;overflow:hidden}.search{flex-direction:column;height:100%;display:flex}.search-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 10px 10px 20px;display:flex}.search-icon{color:var(--text-3);flex:none}.search-head input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:40px;font-size:16px}.search-head input::placeholder{color:var(--text-3)}.search-list{max-height:min(440px,60vh);padding:8px;overflow-y:auto}.search-group-title{color:var(--text-3);padding:14px 12px 6px;font-size:12px;font-weight:500}.search-item{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;display:flex}.search-item.active{background:var(--bg-hover)}.search-item svg{color:var(--text-2);flex:none}.search-item-text{flex-direction:column;min-width:0;display:flex}.search-item-title,.search-item-snippet{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.search-item-title{font-size:14px}.search-item-snippet{color:var(--text-3);font-size:13px}.search-empty{color:var(--text-3);text-align:center;padding:20px 12px;font-size:14px}@media (width>=768px){.show-mobile{display:none!important}}@media (width<=767px){.hide-mobile{display:none!important}.sidebar,.sidebar.collapsed{z-index:50;width:min(85vw,320px);padding-top:env(safe-area-inset-top);transition:transform .26s var(--ease), box-shadow .26s;border-right:0;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.mobile-open{transform:none;box-shadow:8px 0 32px #0000002e}.sidebar .rail{display:none!important}.sidebar .panel,.sidebar.collapsed .panel{width:100%;display:flex}.sb-backdrop{z-index:45;background:var(--backdrop);opacity:0;pointer-events:none;transition:opacity .26s;display:block;position:fixed;inset:0}.sb-backdrop.show{opacity:1;pointer-events:auto}.sb-kbd{display:none}.sb-link{height:42px;font-size:15px}.chat-link{height:42px;font-size:15px;line-height:42px}.sb-foot{padding-bottom:calc(6px + env(safe-area-inset-bottom))}.topbar{padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top))}.mode-btn{padding:0 8px;font-size:17px}.empty{padding:0 12px calc(4px + env(safe-area-inset-bottom));justify-content:flex-end}.empty-hero{flex-direction:column;flex:1;justify-content:center;margin:0;padding-bottom:8vh;display:flex}.empty-title{font-size:24px}.suggestions{scrollbar-width:none;flex-wrap:nowrap;order:1;justify-content:flex-start;width:calc(100% + 24px);margin:0 -12px 10px;padding:0 12px;overflow-x:auto}.suggestions::-webkit-scrollbar{display:none}.chip{flex:none}.empty-composer{order:2}.empty-disclaimer{order:3;position:static}.thread-inner{gap:24px;padding:12px 16px 32px}.bubble{max-width:85%}.dock{padding:0 10px calc(2px + env(safe-area-inset-bottom))}.composer{border-radius:26px;padding:8px 8px 8px 18px}.disclaimer{font-size:11px}.modal-backdrop:has(.search-modal){place-items:stretch stretch;padding:0}.search-modal{max-width:none;height:100dvh;padding-top:env(safe-area-inset-top);border-radius:0;margin:0}.search-list{flex:1;max-height:none}}@media (hover:none){.msg-actions,.chat-item.active .chat-more{opacity:1}}.menu-account{align-items:center;gap:10px;padding:8px 10px;display:flex}.menu-account-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.menu-account-name{font-size:14px;font-weight:500}.menu-kbd{color:var(--text-3);font-size:12px}.modal.settings{flex-direction:column;max-width:720px;height:min(600px,100dvh - 32px);display:flex;overflow:hidden}.settings-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 16px 12px 24px;display:flex}.settings-head h2{font-size:18px;font-weight:600}.settings-body{flex:1;min-height:0;display:flex}.settings-nav{border-right:1px solid var(--border);flex-direction:column;flex:none;gap:2px;width:200px;padding:12px 8px;display:flex}.settings-tab{height:38px;color:var(--text-2);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex}.settings-tab:hover{background:var(--bg-hover);color:var(--text)}.settings-tab.active{background:var(--bg-active);color:var(--text);font-weight:500}.settings-panel{flex:1;min-width:0;padding:8px 24px 24px;overflow-y:auto}.settings-intro{color:var(--text-2);margin:12px 0 4px;font-size:13px}.settings-group{color:var(--text-3);text-transform:uppercase;letter-spacing:.02em;margin:20px 0 2px;font-size:13px;font-weight:600}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 0;display:flex}.settings-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-label{font-size:14px}.settings-hint{color:var(--text-3);font-size:12.5px;line-height:1.45}.settings-control{flex:none;justify-content:flex-end;max-width:60%;display:flex}.settings-value{color:var(--text-2);text-align:right;overflow-wrap:anywhere;font-size:14px}.settings-select,.settings-input{border:1px solid var(--border-strong);background:var(--bg-elevated);min-width:200px;height:36px;color:var(--text);border-radius:10px;outline:none;padding:0 12px;font-size:14px}.settings-select:focus,.settings-input:focus,.settings-textarea:focus{border-color:var(--focus)}.settings-stack{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:14px 0;display:flex}.settings-textarea{border:1px solid var(--border-strong);background:var(--bg-elevated);resize:vertical;border-radius:10px;outline:none;width:100%;margin-top:6px;padding:10px 12px;font-size:14px;line-height:1.5}.settings-inline{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.settings-inline .settings-input{min-width:160px}.settings-footer{background:var(--bg-elevated);border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin:0 -24px -24px;padding:14px 24px;display:flex;position:sticky;bottom:-24px}[data-theme=dark] .settings-footer{background:#2b2926}.settings-confirm{background:color-mix(in srgb, var(--danger) 7%, transparent);border-radius:12px;margin:10px 0;padding:14px 16px;font-size:14px}.settings-confirm p{color:var(--text-2);margin-bottom:12px}.btn-outline.danger{color:var(--danger)}.modal.shortcuts{max-width:440px;overflow:hidden}.shortcuts-list{padding:8px 24px 20px}.shortcuts-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.shortcuts-list li:last-child{border-bottom:0}.shortcuts-keys{gap:4px;display:flex}.shortcuts-keys kbd{border:1px solid var(--border-strong);min-width:26px;height:26px;color:var(--text-2);background:var(--bg-subtle);border-radius:6px;place-items:center;padding:0 7px;font-size:12px;display:inline-grid}@media (width<=767px){.modal-backdrop:has(.settings){place-items:stretch stretch;padding:0}.modal.settings{max-width:none;height:100dvh;padding-top:env(safe-area-inset-top);border-radius:0}.settings-body{flex-direction:column}.settings-nav{border-right:0;border-bottom:1px solid var(--border);scrollbar-width:none;flex-direction:row;width:auto;padding:8px 12px;overflow-x:auto}.settings-tab{flex:none;height:34px}.settings-panel{padding:4px 16px 24px}.settings-row{flex-wrap:wrap}.settings-control{justify-content:flex-start;width:100%;max-width:100%}.settings-select,.settings-input{width:100%;min-width:0}:is(.settings-row:has(.btn-sm) .settings-control,.settings-row:has(.settings-value) .settings-control){width:auto}.settings-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));margin:0 -16px -24px}}.voice-overlay{z-index:90;background:var(--bg);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);flex-direction:column;animation:.2s fade-in;display:flex;position:fixed;inset:0}.voice-top{color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;font-size:14px;display:flex}.voice-persona{color:var(--text);font-weight:500}.voice-remaining{font-variant-numeric:tabular-nums;color:var(--text-3)}.voice-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:0 24px;display:flex}.voice-orb{--lvl:0;color:#fff;background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--focus) 55%, #fff), var(--focus) 60%, color-mix(in srgb, var(--focus) 70%, #000));width:200px;height:200px;box-shadow:0 0 calc(30px + var(--lvl) * 60px) color-mix(in srgb, var(--focus) 35%, transparent);transform:scale(calc(1 + var(--lvl) * .18));border-radius:50%;place-items:center;transition:transform 80ms linear,box-shadow 80ms linear,filter .3s;display:grid}.voice-orb.connecting{filter:grayscale(.6)opacity(.6)}.voice-orb.thinking{animation:1.4s ease-in-out infinite voice-breathe}.voice-orb.listening{animation:3s ease-in-out infinite voice-breathe}.voice-orb.muted{filter:grayscale()opacity(.5)}@keyframes voice-breathe{50%{transform:scale(1.05)}}.voice-status{min-height:22px;color:var(--text-2);text-align:center;font-size:15px}.voice-captions{text-align:center;flex-direction:column;gap:8px;max-width:640px;min-height:80px;font-size:17px;line-height:1.55;display:flex}.voice-captions .user{color:var(--text-3);font-size:15px}.voice-error{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:420px;display:flex}.voice-error strong{font-size:19px}.voice-error p{color:var(--text-2);margin-bottom:8px;font-size:15px}.voice-controls{justify-content:center;gap:18px;padding:24px 24px 36px;display:flex}.voice-ctl{background:var(--bg-hover);width:60px;height:60px;color:var(--text);border-radius:50%;place-items:center;transition:background-color .15s,opacity .15s;display:grid}.voice-ctl:hover{background:var(--bg-active)}.voice-ctl.on{background:var(--primary);color:var(--on-primary)}.voice-ctl.end{background:var(--danger);color:#fff}.voice-ctl.end:hover{opacity:.9}.send-btn.voice{background:var(--primary)}@media (width<=600px){.voice-orb{width:160px;height:160px}.voice-captions{font-size:16px}}.modal.install{max-width:420px;overflow:hidden}.install-body{flex-direction:column;gap:18px;padding:18px 24px 24px;display:flex}.install-app{align-items:center;gap:14px;display:flex}.install-app img{border-radius:14px;flex:none}.install-app .settings-hint{margin-top:4px}.install-steps{flex-direction:column;gap:12px;margin:0;padding:0;font-size:15px;line-height:1.5;list-style:none;display:flex}.install-steps li{align-items:flex-start;gap:10px;display:flex}.install-num{background:var(--bg-hover);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:600;display:grid}.install-ico{vertical-align:-3px}@media (display-mode:standalone){.auth-header,.ob-header,.plans-header{padding-top:calc(env(safe-area-inset-top) + 12px)}}.ob{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.ob-header{height:60px;padding:env(safe-area-inset-top) 12px 0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.ob-header-side{display:flex}.ob-header-side.end{justify-content:flex-end}.ob-progress{background:var(--bg-hover);border-radius:999px;width:min(480px,100% - 32px);height:3px;margin:0 auto;overflow:hidden}.ob-progress span{background:var(--focus);border-radius:inherit;transform-origin:0;height:100%;transition:transform .35s var(--ease);display:block}.ob-main{padding:7vh 16px calc(32px + env(safe-area-inset-bottom));flex:1;justify-content:center;display:flex}.ob-card{width:100%;max-width:480px;animation:ob-in .28s var(--ease);flex-direction:column;display:flex}@keyframes ob-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ob-title{letter-spacing:-.015em;font-size:26px;font-weight:600;line-height:1.25}.ob-subtitle{color:var(--text-2);margin-top:10px;font-size:15px;line-height:1.55}.ob-body{flex-direction:column;margin-top:24px;display:flex}.ob-options{flex-direction:column;gap:10px;display:flex}.ob-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ob-option{border:1px solid var(--border-strong);background:var(--bg);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px 16px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.ob-option:hover{background:var(--bg-hover)}.ob-option.selected{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);background:color-mix(in srgb, var(--focus) 6%, var(--bg))}.ob-option.compact{text-align:center;border-radius:12px;justify-content:center;min-height:46px;padding:8px 10px}.ob-option.compact .ob-option-label{font-size:14px}.ob-option-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ob-option-label{font-size:15px;font-weight:500}.ob-option-hint{color:var(--text-3);font-size:13px}.ob-check{border:1.5px solid var(--border-strong);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.ob-option.selected .ob-check{background:var(--focus);border-color:var(--focus)}.ob-label{color:var(--text-2);margin:4px 0 8px;font-size:13px;font-weight:500}.ob-label+.ob-input{margin-bottom:14px}.ob-input{border:1px solid var(--border-strong);background:var(--bg);border-radius:14px;outline:none;width:100%;height:52px;padding:0 18px;font-size:16px;transition:border-color .15s,box-shadow .15s}.ob-input:focus{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.ob-input::placeholder{color:var(--text-3)}.ob-textarea{resize:none;height:auto;min-height:120px;padding:14px 18px;line-height:1.5}.ob-help{color:var(--text-3);margin-top:8px;font-size:12px}.ob-notice{flex-direction:column;gap:12px;display:flex}.ob-notice li{background:var(--bg-subtle);color:var(--text-2);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.55}.ob-notice strong{color:var(--text);font-weight:600}.ob-error{color:var(--danger);margin-top:16px;font-size:14px}.ob-actions{gap:8px;margin-top:28px;display:flex}.ob-actions .btn-primary{flex:1}.ob-actions .btn-ghost{height:52px;padding:0 20px;font-size:15px}@media (width<=600px){.ob-main{padding-top:4vh}.ob-title{font-size:23px}.ob-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ob-card{min-height:100%}.ob-actions{margin-top:auto;padding-top:28px}}.plans{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.plans-header{height:60px;padding:env(safe-area-inset-top) 16px 0 24px;justify-content:space-between;align-items:center;display:flex}.plans-main{width:100%;max-width:1040px;padding:4vh 16px calc(40px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;margin:0 auto;display:flex}.plans-title{letter-spacing:-.02em;text-align:center;font-size:30px;font-weight:600;line-height:1.2}.plans-sub{color:var(--text-2);text-align:center;margin-top:10px;font-size:15px}.plans-banner{background:var(--bg-subtle);color:var(--text-2);border-radius:12px;align-items:center;gap:10px;margin-top:22px;padding:10px 16px;font-size:14px;display:flex}.plans-banner.info{background:color-mix(in srgb, var(--focus) 9%, var(--bg));color:var(--text)}.plans-banner.warn{background:color-mix(in srgb, var(--danger) 9%, var(--bg));color:var(--text)}.plans-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;margin-top:32px;display:grid}.plan-card{border:1px solid var(--border-strong);background:var(--bg);border-radius:20px;flex-direction:column;padding:24px;display:flex}.plan-card.highlight{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);background:color-mix(in srgb, var(--focus) 4%, var(--bg))}.plan-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-name{font-size:20px;font-weight:600}.plan-badge{background:var(--focus);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.plan-badge.subtle{background:var(--bg-hover);color:var(--text-2)}.plan-tagline{color:var(--text-2);margin-top:4px;font-size:14px}.plan-price{align-items:baseline;gap:8px;margin-top:20px;display:flex}.plan-amount{letter-spacing:-.02em;font-size:36px;font-weight:600}.plan-period{color:var(--text-3);font-size:14px}.plan-note{min-height:40px;color:var(--text-2);margin-top:6px;font-size:13px;line-height:1.45}.plan-btn{background:var(--bg-hover);height:46px;color:var(--text-2);border-radius:999px;justify-content:center;align-items:center;margin-top:12px;font-size:15px;font-weight:500;transition:opacity .15s,background-color .15s;display:inline-flex}.plan-btn.primary{background:var(--primary);color:var(--on-primary)}.plan-btn.outline{background:var(--bg);color:var(--text);border:1px solid var(--border-strong)}.plan-btn:not(:disabled):hover{opacity:.85}.plan-btn.outline:not(:disabled):hover{opacity:1;background:var(--bg-hover)}.plan-btn:disabled{cursor:default}.plan-features{flex-direction:column;gap:10px;margin-top:22px;font-size:14px;display:flex}.plan-features li{align-items:flex-start;gap:10px;display:flex}.plan-features svg{color:var(--focus);flex:none;margin-top:2px}.plans-foot{max-width:560px;color:var(--text-3);text-align:left;align-items:flex-start;gap:8px;margin-top:28px;font-size:13px;line-height:1.5;display:flex}.plans-foot svg{flex:none;margin-top:2px}@media (width<=860px){.plans-grid{grid-template-columns:1fr;max-width:440px}.plan-card.highlight{order:-1}.plan-card.plan-free{order:1}.plan-note{min-height:0}.plans-title{font-size:25px}}:root{--font:ui-sans-serif, -apple-system, system-ui, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:28px;--sidebar-w:260px;--rail-w:52px;--thread-w:48rem;--ease:cubic-bezier(.2, .8, .2, 1)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fdfcfa;--bg-sidebar:#f6f4f0;--bg-elevated:#fefdfb;--bg-composer:#fff;--bg-bubble:#f2efea;--bg-hover:#281e0f0d;--bg-active:#281e0f13;--bg-subtle:#f2efea;--text:#1b1916;--text-2:#5f5a53;--text-3:#938c81;--border:#281e0f1a;--border-strong:#281e0f26;--primary:#1b1916;--on-primary:#fdfcfa;--primary-disabled:#dcd7cf;--danger:#d1392f;--focus:#6a58cf;--shadow-composer:0 0 0 1px #281e0f0f, 0 4px 16px #281e0f0f;--shadow-pop:0 0 0 1px #281e0f0f, 0 10px 32px #281e0f1f;--backdrop:#0000004d}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1f1e1c;--bg-sidebar:#171614;--bg-elevated:#33312d;--bg-composer:#2d2b28;--bg-bubble:#2d2b28;--bg-hover:#fff5e10f;--bg-active:#fff5e11a;--bg-subtle:#2b2926;--text:#ece9e3;--text-2:#b5afa6;--text-3:#8e887e;--border:#fff5e11a;--border-strong:#fff5e129;--primary:#f3f0ea;--on-primary:#1b1916;--primary-disabled:#67625a;--danger:#ef5a4f;--focus:#a395f0;--shadow-composer:0 0 0 1px #ffffff0a, 0 4px 16px #00000040;--shadow-pop:0 0 0 1px #ffffff14, 0 12px 32px #00000073;--backdrop:#0000008c}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}img{max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}::selection{background:color-mix(in srgb, var(--focus) 28%, transparent)}kbd{font-family:var(--font)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.btn-primary,.btn-outline,.btn-danger,.btn-ghost{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:14px;font-weight:500;transition:background-color .15s,opacity .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.5}.btn-outline{border:1px solid var(--border-strong);background:var(--bg)}.btn-outline:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-ghost{color:var(--text)}.btn-ghost:hover{background:var(--bg-hover)}.btn-lg{width:100%;height:52px;font-size:16px}.btn-sm{height:34px;padding:0 14px;font-size:14px}.icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-2);flex:none;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.avatar{color:#fff;letter-spacing:.02em;-webkit-user-select:none;user-select:none;background:#7a62c9;border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.popover{z-index:60;background:var(--bg-elevated);min-width:200px;max-width:calc(100vw - 16px);box-shadow:var(--shadow-pop);animation:pop-in .12s var(--ease);transform-origin:0 0;border-radius:16px;padding:6px;position:fixed}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.menu-item{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 10px;font-size:14px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--bg-hover);outline:none}.menu-item.danger{color:var(--danger)}.menu-icon{width:18px;color:inherit;place-items:center;display:grid}.menu-label{flex:1}.menu-sep{background:var(--border);height:1px;margin:6px 4px}.modal-backdrop{z-index:70;background:var(--backdrop);place-items:center;padding:16px;animation:.15s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal{background:var(--bg-elevated);width:100%;max-width:440px;box-shadow:var(--shadow-pop);animation:pop-in .16s var(--ease);border-radius:20px}[data-theme=dark] .modal{background:#2b2926}.modal.confirm{padding:24px}.modal-title{margin-bottom:8px;font-size:18px;font-weight:600}.modal-text{color:var(--text-2);margin-bottom:24px;font-size:15px}.modal-text strong{color:var(--text);font-weight:600}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.toaster{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--primary);color:var(--on-primary);animation:toast-in .2s var(--ease);white-space:nowrap;border-radius:12px;padding:10px 16px;font-size:14px;box-shadow:0 8px 24px #0003}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
