:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f5f6f8)var(--lightningcss-dark,#0e1013);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#16191d);--surface-2:var(--lightningcss-light,#f0f2f5)var(--lightningcss-dark,#1d2126);--surface-3:var(--lightningcss-light,#e7eaee)var(--lightningcss-dark,#262b31);--hover:var(--lightningcss-light,#0f172a0d)var(--lightningcss-dark,#ffffff0d);--active:var(--lightningcss-light,#0f172a14)var(--lightningcss-dark,#ffffff14);--line:var(--lightningcss-light,#e3e6ea)var(--lightningcss-dark,#272c33);--line-strong:var(--lightningcss-light,#cfd4da)var(--lightningcss-dark,#353b43);--text:var(--lightningcss-light,#14171a)var(--lightningcss-dark,#e8eaed);--text-2:var(--lightningcss-light,#5b6470)var(--lightningcss-dark,#9aa3ae);--text-3:var(--lightningcss-light,#8a929c)var(--lightningcss-dark,#6f7883);--accent:var(--lightningcss-light,#05a95c)var(--lightningcss-dark,#22c774);--accent-hover:var(--lightningcss-light,#04934f)var(--lightningcss-dark,#3bd486);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#03200f);--accent-soft:var(--lightningcss-light,#e3f6ec)var(--lightningcss-dark,#22c77424);--accent-text:var(--lightningcss-light,#04824a)var(--lightningcss-dark,#4fd98f);--danger:var(--lightningcss-light,#d93a3f)var(--lightningcss-dark,#ff6b6f);--danger-soft:var(--lightningcss-light,#fdecec)var(--lightningcss-dark,#ff6b6f1f);--warn:var(--lightningcss-light,#b76e00)var(--lightningcss-dark,#f2b54a);--timeline:var(--lightningcss-light,#eef1f4)var(--lightningcss-dark,#0b0d10);--bubble-in:var(--surface);--bubble-in-line:var(--lightningcss-light,#0000)var(--lightningcss-dark,#262b31);--bubble-out:var(--lightningcss-light,#d4f5e2)var(--lightningcss-dark,#174a31);--bubble-out-text:var(--lightningcss-light,#0c2a1a)var(--lightningcss-dark,#e6f6ec);--snackbar-bg:var(--lightningcss-light,#1f2328)var(--lightningcss-dark,#e8eaed);--snackbar-text:var(--lightningcss-light,#f1f3f5)var(--lightningcss-dark,#14171a);--snackbar-sub:var(--lightningcss-light,#b9c0c8)var(--lightningcss-dark,#4b535c);--focus:var(--lightningcss-light,#05a95c73)var(--lightningcss-dark,#22c77480);--backdrop:var(--lightningcss-light,#0f172a5c)var(--lightningcss-dark,#0009);--font:system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs:11px;--fs-sm:12.5px;--fs-md:14px;--fs-lg:15px;--fs-xl:18px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-bubble:18px;--r-full:999px;--shadow-sm:0 1px 2px var(--lightningcss-light,#0f172a0f)var(--lightningcss-dark,#0006);--shadow-md:0 4px 16px var(--lightningcss-light,#0f172a1a)var(--lightningcss-dark,#00000073);--shadow-lg:0 16px 48px var(--lightningcss-light,#0f172a2e)var(--lightningcss-dark,#0009);--sidebar-w:340px;--ease:cubic-bezier(.2, .8, .2, 1);--dur:.16s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-reduced-motion:reduce){:root{--dur:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.55;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}a{color:var(--accent-text);text-underline-offset:2px}h1,h2,h3,p{margin:0}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}kbd{font-family:var(--font)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:36px;padding:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{background:var(--danger);color:#fff;border-color:#0000;font-weight:600}.icon-btn{border-radius:var(--r-sm);color:var(--text-2);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.head-btn{border-radius:var(--r-md);width:36px;height:36px}.link-btn{color:var(--accent-text);font-size:inherit;background:0 0;border:0;align-items:center;gap:3px;padding:0;font-weight:500;display:inline-flex}.link-btn:hover{text-underline-offset:2px;text-decoration:underline}.ghost{color:var(--text-3);font-size:var(--fs-sm);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.chip{align-items:center;gap:var(--sp-1);min-height:24px;padding:0 var(--sp-2) 0 10px;border-radius:var(--r-full);background:var(--surface-2);font-size:var(--fs-sm);white-space:nowrap;display:inline-flex}.chip-sub{color:var(--text-3)}.chip-x{border-radius:var(--r-full);width:18px;height:18px;color:var(--text-3);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.chip-x:hover{background:var(--active);color:var(--text)}.hint{color:var(--text-2);font-size:var(--fs-sm)}.spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100dvh;display:grid}.placeholder{background:var(--timeline);color:var(--text-3);place-items:center;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.sidebar-head{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-3) var(--sp-2) var(--sp-5);padding-top:max(var(--sp-4), env(safe-area-inset-top));display:flex}.sidebar-head h1{letter-spacing:-.01em;flex:1;font-size:20px;font-weight:700}.search{margin:0 var(--sp-3) var(--sp-2);position:relative}.search input{border-radius:var(--r-md);background:var(--surface-2);width:100%;height:36px;font-size:var(--fs-md);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);border:1px solid #0000;padding:0 32px 0 34px}.search input::placeholder{color:var(--text-3)}.search input:focus{border-color:var(--accent);background:var(--surface);outline:none}.search input::-webkit-search-cancel-button{display:none}.search-icon{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:11px;translate:0 -50%}.search-clear{width:24px;height:24px;position:absolute;top:50%;right:6px;translate:0 -50%}.tabs{margin:0 var(--sp-3) var(--sp-2);border-radius:var(--r-md);background:var(--surface-2);gap:2px;padding:3px;display:flex}.tab{height:30px;padding:0 var(--sp-1);color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:5px;font-weight:500;display:inline-flex}.tab:hover{color:var(--text)}.tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);font-weight:600}.tab-badge{border-radius:var(--r-full);background:var(--accent);min-width:18px;color:var(--accent-ink);font-size:var(--fs-xs);text-align:center;padding:0 5px;font-weight:700;line-height:17px}.conv-list{padding:var(--sp-1) var(--sp-2) var(--sp-2);flex:1;margin:0;list-style:none;overflow-y:auto}.conv-list .empty{padding:var(--sp-6) var(--sp-4);color:var(--text-3);font-size:var(--fs-sm);text-align:center}.section-head{padding:var(--sp-3) var(--sp-3) var(--sp-1);color:var(--text-3);font-size:var(--fs-xs);letter-spacing:.04em;font-weight:600}.conv-item{content-visibility:auto;contain-intrinsic-size:auto 68px}.conv{gap:var(--sp-3);width:100%;padding:10px var(--sp-3);border-radius:var(--r-lg);text-align:left;transition:background var(--dur) var(--ease);background:0 0;border:0;display:flex}.conv:hover{background:var(--hover)}.conv.active{background:var(--accent-soft)}.conv-main{flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;display:flex}.conv-row{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.conv-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.conv-time{color:var(--text-3);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex:none}.conv-preview{color:var(--text-2);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.conv.unread .conv-preview{color:var(--text);font-weight:500}.conv.unread .conv-time{color:var(--accent-text);font-weight:600}.conv-tag{border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-xs);flex:none;padding:0 7px}.badge{border-radius:var(--r-full);background:var(--accent);min-width:20px;color:var(--accent-ink);font-size:var(--fs-xs);text-align:center;flex:none;padding:0 6px;font-weight:700;line-height:20px}.sidebar-foot{padding:var(--sp-2) var(--sp-3);padding-bottom:max(var(--sp-2), env(safe-area-inset-bottom));border-top:1px solid var(--line)}.sync-status{align-items:center;gap:var(--sp-2);display:flex}.sync-text{min-width:0;padding-left:var(--sp-2);flex-direction:column;flex:1;display:flex}.sync-account{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.sync-state{min-width:0;color:var(--text-3);font-size:var(--fs-xs);align-items:center;gap:5px;display:flex}.sync-state.warn{color:var(--warn)}.sync-error{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{flex:none;width:46px;height:46px;position:relative}.avatar-face,.msg-avatar{background:linear-gradient(145deg, hsl(var(--hue,200) 60% 58%), hsl(var(--hue,200) 55% 44%));color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar-face{width:46px;height:46px;font-size:18px}.avatar-face.icon{background:var(--surface-3);color:var(--text-2)}.avatar.group .avatar-face{border:2px solid var(--surface);width:32px;height:32px;font-size:13px;position:absolute}.avatar.group .avatar-face:first-child{top:0;left:0}.avatar.group .avatar-face:nth-child(2){bottom:0;right:0}.chat{background:var(--timeline);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.chat-head{align-items:center;gap:var(--sp-2);min-height:64px;padding:var(--sp-2) var(--sp-5);padding-top:max(var(--sp-2), env(safe-area-inset-top));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);display:flex}.chat-head-text{min-width:0}.chat-head .avatar{zoom:.78}.chat-head h2{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.chat-sub{color:var(--text-3);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.back-btn{width:36px;height:36px;margin-left:-8px;display:none}.timeline{padding:var(--sp-3) var(--sp-6) var(--sp-5);overscroll-behavior:contain;flex:1;overflow-y:auto}.timeline-empty{color:var(--text-3);font-size:var(--fs-sm);text-align:center;margin:15vh 0}.day-sep{z-index:1;margin:var(--sp-4) 0 var(--sp-2);pointer-events:none;justify-content:center;display:flex;position:sticky;top:0}.day-sep span{border-radius:var(--r-full);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-2);font-size:var(--fs-xs);padding:2px 12px;font-weight:600}.topic-sep{align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-3);color:var(--text-2);font-size:var(--fs-xs);display:flex}.topic-sep:before,.topic-sep:after{content:"";border-top:1px solid var(--line-strong);opacity:.6;flex:1}.topic-sep span{text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-weight:600;overflow:hidden}.system-note{margin:var(--sp-2) auto var(--sp-4);color:var(--text-3);font-size:var(--fs-xs);text-align:center}.jump-new{z-index:2;border-radius:var(--r-full);background:var(--accent);box-shadow:var(--shadow-md);color:var(--accent-ink);font-size:var(--fs-sm);animation:rise-center var(--dur) var(--ease);border:0;align-items:center;gap:6px;padding:7px 14px;font-weight:600;display:inline-flex;position:absolute;bottom:150px;left:50%;translate:-50%}.msg{align-items:flex-start;gap:var(--sp-2);margin-top:10px;display:flex}.msg.continued{margin-top:2px}.msg.out{justify-content:flex-end}.msg-avatar,.msg-avatar-space{flex:none;width:32px;height:32px}.msg-avatar{margin-top:2px;font-size:13px}.msg-col{flex-direction:column;min-width:0;max-width:min(620px,78%);display:flex}.msg.out .msg-col{align-items:flex-end}.msg-name{color:var(--text-2);font-size:var(--fs-xs);margin:0 0 3px 12px;font-weight:600}.msg-line{align-items:flex-end;gap:6px;min-width:0;max-width:100%;display:flex}.msg.out .msg-line{flex-direction:row-reverse}.msg-side{flex-direction:column;flex:none;align-items:center;gap:3px;padding-bottom:2px;display:flex}.msg-time{color:var(--text-3);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.unread-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.bubble{border:1px solid var(--bubble-in-line);border-radius:var(--r-bubble);background:var(--bubble-in);min-width:0;box-shadow:var(--shadow-sm);font-size:var(--fs-lg);padding:9px 14px}.msg.in .bubble{border-top-left-radius:6px}.msg.out .bubble{background:var(--bubble-out);color:var(--bubble-out-text);border-color:#0000;border-top-right-radius:6px}.msg.targeted .bubble{box-shadow:0 0 0 2px var(--accent), var(--shadow-sm)}.bubble-text{overflow-wrap:anywhere;white-space:pre-wrap}.bubble-text a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent)}.bubble-parent{border:0;border-left:3px solid var(--accent);border-radius:var(--r-sm);background:var(--active);width:100%;font-size:var(--fs-sm);text-align:left;flex-direction:column;margin-bottom:6px;padding:4px 10px;display:flex}.bubble-parent-name{color:var(--accent-text);font-weight:600}.bubble-parent-text{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment{align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);max-width:100%;color:var(--text);font-size:var(--fs-sm);transition:background var(--dur) var(--ease);margin-top:6px;padding:8px 12px;display:flex}.attachment:hover:not(:disabled){background:var(--surface-2)}.attachment:disabled{opacity:1}.attachment-icon{color:var(--text-2);flex:none}.attachment-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.attachment-size{color:var(--text-3);flex:none}.image-thumb{border-radius:var(--r-md);background:var(--surface-2);border:0;max-width:100%;margin-top:6px;padding:0;display:block;overflow:hidden}.image-thumb img{object-fit:cover;max-width:min(320px,100%);max-height:320px;display:block}.image-thumb-ph{justify-content:center;align-items:center;gap:var(--sp-1);width:220px;height:140px;color:var(--text-3);font-size:var(--fs-xs);flex-direction:column;display:flex}.image-thumb-ph.loading{animation:1.4s ease-in-out infinite pulse}.msg-actions{opacity:0;transition:opacity var(--dur) var(--ease);gap:2px;margin:2px 4px 0;display:flex}.msg:hover .msg-actions,.msg:focus-within .msg-actions,.msg.targeted .msg-actions{opacity:1}.msg-actions button{border-radius:var(--r-sm);color:var(--text-3);font-size:var(--fs-xs);background:0 0;border:0;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.msg-actions button:hover{background:var(--hover);color:var(--text)}@media (hover:none){.msg-actions{opacity:1}.conv:active,.icon-btn:active:not(:disabled){background:var(--hover)}.btn:active:not(:disabled){transform:scale(.97)}}.msg.pending .bubble{opacity:.7}.msg.pending.failed .bubble{opacity:1;box-shadow:0 0 0 1.5px var(--danger)}.pending-status{justify-content:flex-end;align-items:center;gap:4px var(--sp-2);color:var(--text-3);font-size:var(--fs-xs);flex-wrap:wrap;margin:4px 4px 0;display:flex}.msg.failed .pending-status{color:var(--danger)}.raw{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:min(620px,100%);font-size:var(--fs-sm);margin-top:6px;padding:10px 12px}.raw dl{margin:0 0 var(--sp-2);grid-template-columns:auto 1fr;gap:2px 12px;display:grid}.raw dt{color:var(--text-3)}.raw dd{overflow-wrap:anywhere;margin:0}.raw pre{max-height:320px;font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;margin:0;overflow:auto}.raw iframe{border:1px solid var(--line);border-radius:var(--r-sm);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;width:100%;height:360px}.composer{padding:10px var(--sp-5) 12px;padding-bottom:max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.composer.disabled{padding:var(--sp-4);color:var(--text-3);font-size:var(--fs-sm);text-align:center}.composer-topic{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.chip.reply{text-overflow:ellipsis;max-width:100%;overflow:hidden}.chip.new{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.subject-input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);min-width:160px;height:28px;font-size:var(--fs-sm);flex:1;padding:0 10px}.subject-input:focus{border-color:var(--accent);outline:none}.composer-files{margin-bottom:var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.composer-row{align-items:flex-end;gap:var(--sp-2);display:flex}.attach-btn{border-radius:var(--r-full);flex:none;width:40px;height:40px}.composer-row textarea{border:1px solid var(--line);background:var(--surface-2);resize:none;min-height:40px;max-height:240px;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);border-radius:20px;flex:1;padding:8px 16px;line-height:1.5}.composer-row textarea::placeholder{color:var(--text-3)}.composer-row textarea:focus{border-color:var(--accent);background:var(--surface);outline:none}.send-btn{border-radius:var(--r-full);background:var(--accent);width:40px;height:40px;color:var(--accent-ink);transition:background var(--dur) var(--ease), transform var(--dur) var(--ease), opacity var(--dur) var(--ease);border:0;flex:none;place-items:center;padding:0;display:grid}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{opacity:.35}.composer-meta{gap:var(--sp-3);color:var(--text-3);font-size:var(--fs-xs);margin:6px 4px 0 48px;display:flex}.composer-meta-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.composer-hint{flex:none}.composer-error{color:var(--danger);font-size:var(--fs-sm);margin:4px 4px 0 48px}.new-chat-head{z-index:3;position:relative}.to-field{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.to-label{color:var(--text-3);font-size:var(--fs-sm);font-weight:600}.to-field input{background:0 0;border:0;outline:0;flex:1;min-width:140px;padding:6px 0}.suggest{top:calc(100% + 4px);left:var(--sp-3);right:var(--sp-3);max-height:50vh;padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);position:absolute;overflow-y:auto}.suggest-item{align-items:baseline;gap:var(--sp-2);border-radius:var(--r-md);cursor:pointer;padding:8px 12px;display:flex}.suggest-item:hover,.suggest-item.active{background:var(--accent-soft)}.suggest-name{font-weight:600}.suggest-sub{color:var(--text-3);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialog{border:1px solid var(--line);background:var(--surface);width:min(480px,100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-lg);color:var(--text);border-radius:18px;padding:0}.dialog[open]{animation:pop var(--dur) var(--ease)}.dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-body{gap:var(--sp-4);padding:var(--sp-6);flex-direction:column;display:flex}.dialog-title{font-size:17px;font-weight:700}.dialog-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-1);display:flex}.confirm-send{width:min(600px,100vw - 32px)}.confirm-head{font-size:var(--fs-md);grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.confirm-head dt{color:var(--text-3)}.confirm-head dd{overflow-wrap:anywhere;margin:0}.confirm-body{max-height:40vh;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);font:inherit;font-size:var(--fs-md);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;overflow:auto}.confirm-sign{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);display:flex}.confirm-sign input{width:16px;height:16px;accent-color:var(--accent)}.confirm-note{color:var(--text-3);font-size:var(--fs-sm)}.settings{width:min(560px,100vw - 32px)}.settings-section{gap:var(--sp-2);flex-direction:column;display:flex}.settings-section+.settings-section{padding-top:var(--sp-4);border-top:1px solid var(--line)}.settings-section h3{font-size:var(--fs-md);font-weight:700}.field{color:var(--text-2);font-size:var(--fs-sm);flex-direction:column;gap:6px;display:flex}.field textarea{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-sm);resize:vertical;padding:8px 12px}.field textarea:focus{border-color:var(--accent);outline:none}.check{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.account-row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.account-email{overflow-wrap:anywhere;flex:1;font-weight:500}.account-confirm{gap:var(--sp-2);display:flex}.snackbar{bottom:calc(112px + env(safe-area-inset-bottom));left:calc(var(--sidebar-w) + (100vw - var(--sidebar-w)) / 2);z-index:20;align-items:center;gap:var(--sp-1);border-radius:var(--r-lg);background:var(--snackbar-bg);width:min(400px,100vw - 32px);box-shadow:var(--shadow-lg);color:var(--snackbar-text);font-size:var(--fs-md);animation:rise-center var(--dur) var(--ease);padding:6px 6px 6px 18px;display:flex;position:fixed;overflow:hidden;translate:-50%}.snackbar-text{font-variant-numeric:tabular-nums;flex:1}.snackbar-btn{border-radius:var(--r-md);color:var(--snackbar-sub);font-size:var(--fs-sm);background:0 0;border:0;padding:8px 12px;font-weight:500}.snackbar-btn:hover{background:color-mix(in srgb, var(--snackbar-text) 10%, transparent)}.snackbar-btn.strong{color:var(--accent);font-weight:700}.snackbar-progress{background:var(--accent);transform-origin:0;width:100%;height:3px;animation:drain var(--undo-ms) linear forwards;position:absolute;bottom:0;left:0}.banner{top:max(var(--sp-3), env(safe-area-inset-top));z-index:30;align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);max-width:calc(100vw - 32px);box-shadow:var(--shadow-md);font-size:var(--fs-md);animation:drop var(--dur) var(--ease);padding:8px 8px 8px 16px;display:flex;position:fixed;left:50%;translate:-50%}.banner.muted{color:var(--text-2);padding:8px 16px}.toaster{right:var(--sp-6);bottom:max(var(--sp-6), env(safe-area-inset-bottom));z-index:40;gap:var(--sp-2);flex-direction:column;width:min(420px,100vw - 32px);display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--sp-2);border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg);font-size:var(--fs-md);animation:rise var(--dur) var(--ease);padding:10px 8px 10px 14px;display:flex}.toast-icon{color:var(--danger);flex:none;margin-top:2px}.toast-text{overflow-wrap:anywhere;flex:1}.toast-close{flex:none;width:24px;height:24px}.welcome{min-height:100dvh;padding:var(--sp-6) var(--sp-4);background:radial-gradient(60rem 40rem at 50% -10%, var(--accent-soft), transparent 70%), var(--bg);place-items:center;display:grid;overflow-y:auto}.welcome-card{align-items:center;gap:var(--sp-4);border:1px solid var(--line);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-lg);text-align:center;border-radius:24px;flex-direction:column;padding:40px 32px 32px;display:flex}.welcome-card h1{letter-spacing:-.02em;font-size:26px;font-weight:800}.welcome-lead{color:var(--text-2);font-size:var(--fs-lg)}.google-btn{justify-content:center;align-items:center;gap:var(--sp-3);width:100%;height:46px;margin-top:var(--sp-2);border-radius:var(--r-full);color:#1f1f1f;transition:background var(--dur) var(--ease);background:#fff;border:1px solid #747775;font-weight:500;display:flex}.google-btn:hover:not(:disabled){background:#f2f2f2}.welcome-error{border-radius:var(--r-md);background:var(--danger-soft);width:100%;color:var(--danger);font-size:var(--fs-sm);text-align:left;padding:10px 12px}.welcome-note{color:var(--text-3);font-size:var(--fs-xs)}.crash-detail{width:100%;max-height:160px;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:left;white-space:pre-wrap;margin:0;overflow:auto}@keyframes rise{0%{opacity:0;translate:0 8px}}@keyframes drop{0%{opacity:0;translate:-50% -8px}}@keyframes sheet-up{0%{translate:0 100%}}@keyframes pop{0%{opacity:0;scale:.97}}@keyframes drain{to{transform:scaleX(0)}}@keyframes pulse{50%{opacity:.5}}@keyframes rise-center{0%{opacity:0;translate:-50% 8px}}@media (width<=760px){:root{--sidebar-w:100%}.app{grid-template-columns:minmax(0,1fr)}.app[data-view=chat] .sidebar,.app[data-view=list] .placeholder{display:none}.back-btn{display:inline-grid}.chat-head,.timeline,.composer{padding-left:var(--sp-3);padding-right:var(--sp-3)}.composer-meta,.composer-error{margin-left:4px}.composer-meta{display:none}.dialog,.confirm-send,.settings,.shortcuts{width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - var(--sp-6));border-width:1px 0 0;border-radius:20px 20px 0 0;margin:auto 0 0}.dialog[open]{animation:sheet-up calc(var(--dur) * 1.5) var(--ease)}.dialog-body{padding:var(--sp-5) var(--sp-4) max(var(--sp-4), env(safe-area-inset-bottom))}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%;min-height:48px}.msg-col{max-width:86%}.snackbar{left:50%;bottom:calc(104px + env(safe-area-inset-bottom))}.toaster{right:50%;top:max(var(--sp-3), env(safe-area-inset-top));bottom:auto;translate:50%}}@media (pointer:coarse){.head-btn,.back-btn,.attach-btn,.send-btn{width:44px;height:44px}.composer-row textarea{border-radius:22px;min-height:44px;padding:10px 16px}.tab{height:36px}.btn{min-height:44px}.search input,.subject-input,.composer-row textarea,.to-field input,.field textarea{font-size:16px}}.shortcut-list{gap:var(--sp-2);flex-direction:column;margin:0;display:flex}.shortcut-row{align-items:center;gap:var(--sp-4);display:flex}.shortcut-row dt{gap:var(--sp-1);min-width:120px;display:flex}.shortcut-row dd{color:var(--text-2);margin:0}.shortcut-row kbd{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);min-width:26px;font-size:var(--fs-sm);text-align:center;border-bottom-width:2px;padding:2px 7px}
