:root{--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.2, .8, .2, 1);--bg: #ffffff;--bg-secondary: #f4f4f5;--sidebar-bg: #f9f9f9;--text: #0d0d0d;--text-secondary: #6e6e70;--border: rgba(0, 0, 0, .09);--hover: rgba(0, 0, 0, .045);--selected: rgba(0, 0, 0, .08);--pressed: rgba(0, 0, 0, .13);--accent: #0d0d0d;--accent-hover: #2f2f31;--on-accent: #ffffff;--bubble-user: #0d0d0d;--bubble-user-text: #ffffff;--bubble-assistant: #f4f4f5;--bubble-assistant-text: #0d0d0d;--badge-bg: rgba(0, 0, 0, .06);--ghost-btn-bg: rgba(0, 0, 0, .055);--ghost-btn-hover: rgba(0, 0, 0, .09);--ghost-btn-active: rgba(0, 0, 0, .14);--shadow: 0 2px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .14);--toast-bg: rgba(13, 13, 13, .92);--toast-text: #ffffff;--danger: #e5484d;--warning: #f5a524}[data-theme=black]{--bg: #000000;--bg-secondary: #1a1a1a;--sidebar-bg: #000000;--text: #f5f5f5;--text-secondary: #9b9b9e;--border: rgba(255, 255, 255, .1);--hover: rgba(255, 255, 255, .06);--selected: rgba(255, 255, 255, .13);--pressed: rgba(255, 255, 255, .2);--accent: #f5f5f5;--accent-hover: #d7d7d9;--on-accent: #0d0d0d;--bubble-user: #f5f5f5;--bubble-user-text: #0d0d0d;--bubble-assistant: #1e1e1e;--bubble-assistant-text: #f5f5f5;--badge-bg: rgba(255, 255, 255, .1);--ghost-btn-bg: rgba(255, 255, 255, .09);--ghost-btn-hover: rgba(255, 255, 255, .14);--ghost-btn-active: rgba(255, 255, 255, .21);--shadow: 0 2px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6);--toast-bg: rgba(245, 245, 245, .94);--toast-text: #0d0d0d;--danger: #ff6b72;--warning: #f5a524}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:var(--font);cursor:pointer}input,textarea{font-family:var(--font);color:var(--text)}.app{display:flex;height:100vh;overflow:hidden}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:var(--sidebar-bg);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-right:1px solid var(--border);padding:18px 14px 12px}.sidebar-top{display:flex;align-items:center;padding:0 8px 12px}.brand{font-size:21px;font-weight:700;letter-spacing:-.2px}.new-char-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:0 0 12px;padding:10px 0;border:1px solid var(--border);border-radius:12px;background:var(--ghost-btn-bg);color:var(--text);font-size:15px;font-weight:600;letter-spacing:.2px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .18s var(--ease),background .18s ease}.new-char-btn:hover{background:var(--ghost-btn-hover);transform:translateY(-1px)}.new-char-btn:active{background:var(--ghost-btn-active);transform:scale(.98)}.new-char-plus{font-size:16px;line-height:1;font-weight:700}.char-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebar-hint{padding:16px 12px;font-size:13px;color:var(--text-secondary);line-height:1.6}.char-block{display:flex;flex-direction:column}.char-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;cursor:pointer;transition:background .18s var(--ease),transform .18s var(--ease);-webkit-user-select:none;user-select:none}.char-row:hover{background:var(--hover)}.char-row.active{background:var(--selected)}.triangle{font-size:11px;color:var(--text-secondary);width:12px;transition:transform .15s ease}.triangle.open{transform:rotate(90deg)}.char-avatar{font-size:22px;line-height:1}.char-name{flex:1;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-badge{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;min-width:22px;height:20px;padding:0 7px;border-radius:10px;background:var(--badge-bg);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.gear-btn{border:none;background:transparent;font-size:15px;opacity:0;transition:opacity .15s ease,transform .15s ease;padding:2px}.char-row:hover .gear-btn{opacity:.7}.gear-btn:hover{opacity:1!important;transform:rotate(30deg)}.conv-list{margin:2px 0 6px 30px;display:flex;flex-direction:column;gap:1px}.conv-item{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:10px;font-size:13.5px;cursor:pointer;color:var(--text-secondary);transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}.conv-item:hover{background:var(--hover);color:var(--text)}.conv-item.active{background:var(--selected);color:var(--text)}.conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-del{border:none;background:transparent;color:var(--text-secondary);font-size:12px;opacity:0;transition:opacity .15s ease;padding:2px 4px;border-radius:6px}.conv-item:hover .conv-del{opacity:.8}.conv-del:hover{color:var(--danger);background:var(--hover)}.new-conv-btn{border:1px dashed var(--border);background:transparent;color:var(--text-secondary);border-radius:10px;padding:7px 10px;font-size:13px;margin-top:4px;transition:all .15s ease}.new-conv-btn:hover{border-color:var(--accent);color:var(--accent)}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 2px;font-size:12px;color:var(--text-secondary)}.key-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-actions{display:flex;gap:6px;flex-shrink:0}.theme-btn{width:34px;height:34px;flex-shrink:0;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .18s var(--ease),transform .18s var(--ease)}.theme-btn:hover{background:var(--hover)}.theme-btn:active{background:var(--pressed);transform:scale(.93)}.chat{display:flex;flex-direction:column;height:100%}.chat-header{padding:14px 24px 0;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.chat-header-main{display:flex;align-items:center;gap:10px;padding-bottom:12px}.chat-header-actions{margin-left:auto;display:flex;gap:6px}.icon-btn{width:30px;height:30px;border-radius:9px;border:1px solid var(--border);background:transparent;font-size:15px;display:flex;align-items:center;justify-content:center;transition:background .18s var(--ease),transform .18s var(--ease)}.icon-btn:hover{background:var(--hover)}.icon-btn:active{background:var(--pressed);transform:scale(.93)}.chat-members-hint{font-size:12px;color:var(--text-secondary);background:var(--badge-bg);border-radius:8px;padding:2px 8px}.chat-avatar{font-size:26px;line-height:1}.chat-char-name{font-size:17px;font-weight:700}.chat-divider{color:var(--text-secondary)}.chat-conv-title{font-size:14px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .15s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}.chat-conv-title:hover{background:var(--hover);color:var(--text)}.rename-input{font-size:14px;padding:4px 8px;border-radius:8px;border:1px solid var(--accent);background:var(--bg);outline:none;width:220px}.context-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin:0 -24px}.context-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease,background .3s ease}.context-fill.hot{background:var(--warning)}.messages{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:4px}.loading-hint,.chat-empty{margin:auto;text-align:center;color:var(--text-secondary)}.chat-empty-avatar{font-size:64px;margin-bottom:16px}.chat-empty p{font-size:15px;line-height:1.8}.msg-row{display:flex;flex-direction:column;margin:6px 0}.msg-row.user{align-items:flex-end}.msg-row.assistant{align-items:flex-start}.bubble{max-width:72%;padding:10px 14px;border-radius:14px;font-size:15px;line-height:1.65;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow);animation:bubble-in .18s ease}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.msg-row.user .bubble{background:var(--bubble-user);color:var(--bubble-user-text);border-bottom-right-radius:4px}.msg-row.assistant .bubble{background:var(--bubble-assistant);color:var(--bubble-assistant-text);border-bottom-left-radius:4px}.msg-time{font-size:11px;color:var(--text-secondary);opacity:0;transition:opacity .15s ease;margin:3px 6px 0}.msg-row:hover .msg-time{opacity:1}.bubble.streaming{min-height:40px}.cursor{color:var(--accent);animation:blink .9s steps(1) infinite;font-weight:700}@keyframes blink{50%{opacity:0}}.bubble.error-bubble{background:#ff3b301a;color:var(--danger);border:1px solid rgba(255,59,48,.3);box-shadow:none}.composer{padding:12px 24px 16px}.input-wrap{display:flex;align-items:flex-end;gap:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;padding:10px 10px 10px 16px;box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--selected),var(--shadow)}.input-wrap textarea{flex:1;border:none;outline:none;resize:none;background:transparent;font-size:15px;line-height:1.5;max-height:160px;padding:4px 0}.input-wrap textarea::placeholder{color:var(--text-secondary)}.send-btn{width:36px;height:36px;flex-shrink:0;border:none;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:16px;display:flex;align-items:center;justify-content:center;transition:transform .18s var(--ease),opacity .18s ease,background .18s ease;box-shadow:0 2px 10px #0000002e}.send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.send-btn:disabled{opacity:.35;cursor:default}.composer-hint{text-align:center;font-size:11.5px;color:var(--text-secondary);margin-top:8px}.empty-state{margin:auto;text-align:center;color:var(--text-secondary)}.empty-logo{font-size:72px;margin-bottom:12px}.empty-state h2{color:var(--text);margin:0 0 8px}.empty-state p{margin:0;font-size:14px}.toast{position:fixed;top:18px;right:18px;z-index:1000;background:var(--toast-bg);color:var(--toast-text);padding:10px 18px;border-radius:12px;font-size:14px;box-shadow:var(--shadow-lg);animation:toast-in .25s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#00000052;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);display:flex;align-items:center;justify-content:center;animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}}.modal{width:340px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow-lg);animation:modal-in .24s var(--ease)}@keyframes modal-in{0%{opacity:0;transform:scale(.94) translateY(8px)}}.modal h3{margin:0 0 16px;font-size:17px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.modal-head h3{margin:0}.modal-close{width:30px;height:30px;flex-shrink:0;border:none;border-radius:50%;background:var(--hover);color:var(--text-secondary);font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,transform .15s ease}.modal-close:hover{background:var(--pressed);color:var(--text)}.modal-close:active{transform:scale(.92)}.modal label,.settings-body label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:12px}.modal input,.settings-body input[type=text],.settings-body input:not([type]){display:block;width:100%;margin-top:6px;padding:9px 12px;font-size:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.modal input:focus,.settings-body input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--selected)}.req{color:var(--danger)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.btn{border:1px solid var(--border);border-radius:10px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .18s var(--ease);background:var(--bg);color:var(--text)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.primary:active:not(:disabled){transform:scale(.98)}.btn.secondary:hover{background:var(--hover)}.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:var(--danger);color:#fff}.btn.small{padding:5px 12px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:default}.settings{flex:1;overflow-y:auto;padding:28px 32px 48px;max-width:760px;width:100%;margin:0 auto}.settings-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.settings-avatar{font-size:40px;line-height:1}.settings-head h2{margin:0;font-size:22px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{border:none;background:transparent;color:var(--text-secondary);font-size:14.5px;padding:10px 14px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.settings-body label input[type=range]{width:100%;margin-top:10px;accent-color:var(--accent)}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.dirty-hint{font-size:12.5px;color:var(--warning)}.danger-zone{margin-top:36px;padding-top:20px;border-top:1px solid var(--border)}.md-editor{width:100%;min-height:320px;font-family:var(--mono);font-size:13.5px;line-height:1.7;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary);outline:none;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.md-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--selected)}.versions-title{margin:28px 0 12px;font-size:15px}.versions{display:flex;flex-direction:column;gap:8px}.versions-empty{font-size:13px;color:var(--text-secondary);padding:12px 0}.group-section{margin:4px 0 8px}.group-section-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px;font-size:13px;font-weight:600;color:var(--text-secondary)}.new-char-btn.ghost{margin-top:-4px}.member-picker{margin:4px 0 8px}.member-picker-title{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.modal .member-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:14px;color:var(--text);cursor:pointer;margin-bottom:0;transition:background .15s ease}.modal .member-option:hover{background:var(--hover)}.modal .member-option input[type=checkbox]{display:inline-block;width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--text)}.member-avatar{font-size:18px}.msg-speaker{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:12.5px;color:var(--text-secondary)}.msg-speaker-avatar{font-size:15px}.msg-speaker-name{font-weight:600}.typing-hint{font-size:13px;color:var(--text-secondary);padding:6px 4px;animation:typing-blink 1.2s ease-in-out infinite}@keyframes typing-blink{0%,to{opacity:.55}50%{opacity:1}}.key-desc{font-size:13px;line-height:1.8;color:var(--text-secondary);margin:0 0 12px}.key-desc.small{font-size:12px;margin:12px 0 0}.key-desc b{color:var(--text)}.key-status-row{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--hover)}.key-status-label{color:var(--text-secondary);flex-shrink:0}.key-ok{color:var(--text);font-weight:600}.key-none{color:var(--warning);font-weight:600}.key-input-row{display:flex;gap:8px;align-items:center}.key-input-row input{flex:1;min-width:0;margin:0}.key-input-row .btn{flex-shrink:0;white-space:nowrap}.model-picker{position:relative;width:100%}.key-input-row .model-picker{flex:1;min-width:0;width:auto}.model-picker>input{width:100%;margin:0}.model-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:230px;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0;padding:6px;list-style:none;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #00000029}.model-dropdown li{padding:9px 10px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.model-dropdown li:hover,.model-dropdown li:active{background:var(--hover)}.model-id{font-size:13px;color:var(--text);word-break:break-all;line-height:1.35}.model-name{font-size:12px;color:var(--text-secondary);word-break:break-all;line-height:1.35}.model-empty{color:var(--text-secondary);font-size:13px;cursor:default}.version-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary);transition:box-shadow .15s ease}.version-item:hover{box-shadow:var(--shadow)}.version-meta{font-size:12px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.version-preview{flex:1;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#78788059;border-radius:4px}::-webkit-scrollbar-track{background:transparent}.auth-page{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);position:relative;overflow:hidden}.auth-theme-btn{position:absolute;top:20px;right:20px}.auth-card{width:340px;padding:32px 28px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);animation:modal-in .24s var(--ease)}.auth-logo{font-size:48px;text-align:center;line-height:1}.auth-title{margin:12px 0 4px;font-size:24px;font-weight:700;text-align:center;letter-spacing:-.3px}.auth-sub{margin:0 0 20px;font-size:13px;color:var(--text-secondary);text-align:center}.auth-tabs{display:flex;gap:4px;margin-bottom:18px;padding:4px;border-radius:12px;background:var(--hover)}.auth-tabs button{flex:1;border:none;background:transparent;border-radius:8px;padding:8px 0;font-size:14px;color:var(--text-secondary);transition:background .18s var(--ease),color .18s ease}.auth-tabs button.active{background:var(--bg);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.auth-card label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:12px}.auth-card input{display:block;width:100%;margin-top:6px;padding:10px 12px;font-size:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--selected)}.auth-error{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--danger)}.auth-submit{width:100%;padding:11px 0;font-size:15px}.auth-tip{margin:14px 0 0;font-size:12px;color:var(--text-secondary);text-align:center}.auth-splash{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text-secondary);font-size:14px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 2px}.user-name{flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{flex-shrink:0;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;padding:5px 12px;border-radius:8px;transition:background .18s var(--ease),color .18s ease}.logout-btn:hover{background:var(--hover);color:var(--text)}.app{height:100vh;height:100dvh}.sidebar{transition:margin-left .28s var(--ease),transform .28s var(--ease)}.app:not(.sidebar-open) .sidebar{margin-left:-281px}.sidebar-top .brand{flex:1}.collapse-btn{width:28px;height:28px;flex-shrink:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.collapse-btn:hover{background:var(--hover);color:var(--text)}.sidebar-expand-btn{display:none;position:fixed;left:12px;top:14px;z-index:60;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text);font-size:20px;line-height:1;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:transform .18s var(--ease),background .18s ease}.sidebar-expand-btn:hover{background:var(--hover);transform:scale(1.06)}.app:not(.sidebar-open) .sidebar-expand-btn{display:flex}.backdrop,.menu-btn{display:none}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(300px,84vw);z-index:50;transform:translate(-105%);box-shadow:var(--shadow-lg)}.app.sidebar-open .sidebar{transform:translate(0)}.app.sidebar-open .backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000052;animation:fade-in .2s ease}.sidebar-expand-btn{display:none!important}.menu-btn{display:flex;flex-shrink:0}.main{position:relative}.chat-header{padding:10px 12px 0}.chat-header-main{gap:8px;padding-bottom:10px}.chat-char-name{font-size:16px}.chat-conv-title{max-width:34%}.context-bar{margin:0 -12px}.messages{padding:14px 12px}.bubble{max-width:86%}.composer{padding:8px 12px calc(10px + env(safe-area-inset-bottom))}.settings{padding:16px 16px 48px}.settings-head{margin-bottom:14px}.empty-state{padding:0 28px}.empty-state .menu-btn{position:absolute;top:12px;left:12px}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;max-height:92dvh;overflow-y:auto;padding:8px 20px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;border-bottom:none;animation:sheet-up .28s var(--ease)}@keyframes sheet-up{0%{transform:translateY(48px);opacity:.4}to{transform:none;opacity:1}}.modal:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--border);margin:4px auto 10px}.modal-head{position:sticky;top:-8px;z-index:5;margin:0 -20px 12px;padding:10px 20px;background:var(--bg-secondary)}.toast{left:16px;right:16px;top:auto;bottom:calc(16px + env(safe-area-inset-bottom));text-align:center}}
