:root{--bg:#0f1014;--bg-secondary:#171921;--bg-tertiary:#1e222d;--bg-elevated:#272c3a;--hover:#ffffff0d;--hover-strong:#ffffff17;--glass:#ffffff0a;--glass-hover:#ffffff12;--glass-border:#ffffff17;--text:#eceef4;--text-secondary:#a6adbe;--text-muted:#6b7284;--accent:#6e7ff3;--accent-hover:#5d6ef0;--accent-soft:#6e7ff326;--accent-softer:#6e7ff314;--accent-grad:linear-gradient(135deg, #6e7ff3 0%, #9a6cf0 52%, #54bdf5 100%);--success:#34d399;--warning:#fbb050;--danger:#f87171;--danger-soft:#f8717121;--border:#ffffff14;--border-hover:#ffffff29;--border-accent:#6e7ff373;--code-bg:#0b0d12;--code-inline-bg:#6e7ff321;--code-inline-text:#b4bdff;--radius-xs:8px;--radius-sm:10px;--radius:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:999px;--shadow-xs:0 1px 2px #00000052;--shadow-sm:0 2px 10px #0000004d;--shadow:0 10px 30px #0006;--shadow-lg:0 24px 60px #0000008c;--shadow-glow:0 10px 28px #6e7ff359;--shadow-accent:0 4px 16px #6e7ff36b;--sidebar-w:272px;--sidebar-collapsed-w:68px;--topbar-h:60px;--input-min-h:52px;--content-w:800px;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg:#f7f8fb;--bg-secondary:#fff;--bg-tertiary:#f1f3f9;--bg-elevated:#fff;--hover:#0f14280b;--hover-strong:#0f142814;--glass:#0f142808;--glass-hover:#0f14280f;--glass-border:#0f142814;--text:#191c26;--text-secondary:#4b5266;--text-muted:#8b93a7;--accent:#4d5cf1;--accent-hover:#3e4ce4;--accent-soft:#4d5cf117;--accent-softer:#4d5cf10d;--accent-grad:linear-gradient(135deg, #4d5cf1 0%, #7c3aed 52%, #0ea5e9 100%);--border:#0f142817;--border-hover:#0f14282e;--border-accent:#4d5cf166;--code-bg:#fff;--code-inline-bg:#4d5cf114;--code-inline-text:#4752d6;--shadow-xs:0 1px 2px #0f14280d;--shadow-sm:0 2px 10px #0f142812;--shadow:0 12px 32px #0f14281a;--shadow-lg:0 24px 64px #0f142829;--shadow-glow:0 10px 26px #4d5cf140;--shadow-accent:0 4px 14px #4d5cf14d}[data-theme=midnight]{--bg:#0a1120;--bg-secondary:#0f1728;--bg-tertiary:#16203a;--bg-elevated:#1b2745;--accent:#4f8cff;--accent-hover:#3d7aff;--accent-soft:#4f8cff29;--border:#6496dc1f;--border-hover:#6496dc38;--border-accent:#4f8cff80}[data-theme=neon]{--bg:#120a18;--bg-secondary:#1a0f22;--bg-tertiary:#251633;--bg-elevated:#2d1b3e;--accent:#d946ef;--accent-hover:#c026d3;--accent-soft:#d946ef29;--border:#dc78f01f;--border-hover:#dc78f038;--border-accent:#d946ef80}[data-theme=forest]{--bg:#0a1611;--bg-secondary:#0f1f19;--bg-tertiary:#152a22;--bg-elevated:#1c342b;--accent:#10b981;--accent-hover:#059669;--accent-soft:#10b98129;--border:#50c8a01f;--border-hover:#50c8a038;--border-accent:#10b98180}[data-theme=sunset]{--bg:#160d0a;--bg-secondary:#1f1310;--bg-tertiary:#2b1c18;--bg-elevated:#362420;--accent:#f97316;--accent-hover:#ea580c;--accent-soft:#f9731629;--border:#f096641f;--border-hover:#f0966438;--border-accent:#f9731680}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}::selection{background:var(--accent-soft);color:var(--text)}html,body,#root{height:100%;margin:0;padding:0}html{scroll-behavior:smooth}body{font-feature-settings:"cv11", "ss01";color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color .3s var(--ease), color .3s var(--ease);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff24 padding-box content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff42 padding-box content-box}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0f14282e padding-box content-box}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0f142852 padding-box content-box}*{scrollbar-width:thin;scrollbar-color:#ffffff24 transparent}[data-theme=light] *{scrollbar-color:#0f142833 transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs);box-shadow:0 0 0 5px var(--accent-softer)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-layout{background:var(--bg);height:100dvh;display:flex;overflow:hidden}.app-sidebar{width:var(--sidebar-w);background:var(--bg-secondary);border-right:1px solid var(--border);transition:width .24s var(--ease), margin-left .24s var(--ease), transform .24s var(--ease);flex-direction:column;flex-shrink:0;padding:14px 12px;display:flex}.app-layout.sidebar-hidden .app-sidebar{margin-left:calc(var(--sidebar-w) * -1)}.app-sidebar-top{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.app-new-chat-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--glass);color:var(--text);min-height:44px;transition:background .15s var(--ease), border-color .15s var(--ease), transform .1s var(--ease);justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-size:13.5px;font-weight:500;display:flex}.app-new-chat-btn:hover{background:var(--glass-hover);border-color:var(--border-hover)}.app-new-chat-btn:active{transform:scale(.98)}.app-new-chat-btn:first-child{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent);border-color:#0000}.app-new-chat-btn:first-child:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow);border-color:#0000}.app-new-chat-btn.ghost{color:var(--text-muted);background:0 0;border-style:dashed}.app-new-chat-btn.ghost:hover{color:var(--text);background:var(--glass);border-style:solid}.app-search{align-items:center;margin-bottom:10px;display:flex;position:relative}.app-search-icon{color:var(--text-muted);pointer-events:none;z-index:1;position:absolute;left:12px}.app-search-input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);width:100%;color:var(--text);min-height:40px;transition:border-color .15s var(--ease), background .15s var(--ease), box-shadow .15s var(--ease);outline:none;padding:10px 36px 10px 38px;font-size:13px}.app-search-input:focus{border-color:var(--accent);background:var(--bg-secondary);box-shadow:0 0 0 3px var(--accent-soft)}.app-search-input::placeholder{color:var(--text-muted)}.app-search-clear{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:4px;display:flex;position:absolute;right:8px}.app-search-clear:hover{background:var(--glass-hover);color:var(--text)}.app-chat-toolbar{align-items:center;gap:4px;margin-bottom:10px;display:flex}.app-toolbar-btn{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);white-space:nowrap;background:0 0;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.app-toolbar-btn:hover{background:var(--glass-hover);color:var(--text)}.app-toolbar-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--border-accent)}.app-toolbar-sort{flex-shrink:0;position:relative}.app-toolbar-sort .app-toolbar-btn{flex:none;width:34px}.app-toolbar-backdrop{z-index:10;position:fixed;inset:0}.app-sort-menu{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius);z-index:20;min-width:190px;box-shadow:var(--shadow);animation:menuIn .12s var(--ease-out);padding:5px;position:absolute;top:calc(100% + 6px);left:0}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.app-sort-item{border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;text-align:left;transition:background .1s var(--ease);background:0 0;border:none;padding:9px 12px;font-size:13px;display:block}.app-sort-item:hover{background:var(--glass-hover)}.app-sort-item.active{color:var(--accent);background:var(--accent-soft);font-weight:500}.app-bottom-bar{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;padding-top:12px;display:flex}.app-bottom-actions{align-items:center;gap:6px;display:flex}.app-icon-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-secondary);transition:background .12s var(--ease), color .12s var(--ease), transform .1s var(--ease);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex}.app-icon-btn:hover{background:var(--glass-hover);color:var(--text);transform:translateY(-1px)}.app-icon-btn:active{transform:translateY(0)}.app-icon-btn.danger:hover{color:var(--danger);background:var(--danger-soft)}.app-icon-btn.public{color:var(--success);background:#22c55e1a}.app-layout.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed-w);padding:12px 10px}.app-layout.sidebar-collapsed .app-sidebar-top{gap:8px}.app-layout.sidebar-collapsed .app-new-chat-btn{justify-content:center;width:44px;height:44px;min-height:44px;padding:0}.app-layout.sidebar-collapsed .btn-label,.app-layout.sidebar-collapsed .app-search,.app-layout.sidebar-collapsed .app-chat-list,.app-layout.sidebar-collapsed .app-chat-toolbar{display:none}.app-layout.sidebar-collapsed .app-bottom-actions{flex-direction:column;align-items:center;gap:8px}.app-layout.sidebar-collapsed .app-bottom-bar{align-items:center}.app-main{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}.app-topbar{border-bottom:1px solid var(--border);min-height:var(--topbar-h);background:var(--bg-secondary);z-index:10;align-items:center;gap:10px;padding:12px 20px;display:flex;position:relative}.app-topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.16;pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.app-topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--text);font-size:14px;font-weight:600;overflow:hidden}.app-burger{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:38px;height:38px;color:var(--text);background:0 0;justify-content:center;align-items:center;display:none}.app-burger:hover{background:var(--glass-hover)}.app-desktop-sidebar-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:38px;height:38px;color:var(--text-muted);transition:all .12s var(--ease);background:0 0;justify-content:center;align-items:center;display:flex}.app-desktop-sidebar-toggle:hover{color:var(--text);background:var(--glass-hover)}.app-palette-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);align-items:center;gap:8px;min-width:210px;padding:7px 12px;font-size:12.5px;display:flex}.app-palette-btn:hover{background:var(--glass-hover);color:var(--text)}.app-palette-text{text-align:left;flex:1}.app-palette-kbd{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-muted);padding:2px 7px;font-family:ui-monospace,monospace;font-size:10px;font-weight:600}.app-error-banner{background:var(--danger-soft);color:var(--danger);animation:slideDown .22s var(--ease-out);border-bottom:1px solid #ef444440;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:13px;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.app-error-banner button{color:var(--danger);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:4px;display:flex}.app-error-banner button:hover{background:#ef444426}.app-more-wrap{position:relative}.app-more-backdrop{z-index:50;position:fixed;inset:0}.app-more-menu{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius);z-index:60;min-width:230px;box-shadow:var(--shadow-lg);animation:menuIn .14s var(--ease-out);padding:6px;position:absolute;bottom:calc(100% + 8px);left:0}.app-more-item{border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;text-align:left;transition:background .1s var(--ease);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.app-more-item:hover{background:var(--glass-hover);text-decoration:none}.app-more-item svg{color:var(--text-muted);flex-shrink:0}.app-more-item:hover svg{color:var(--accent)}.app-more-divider{background:var(--border);height:1px;margin:4px 0}.app-layout.sidebar-collapsed .app-more-menu{top:0;bottom:auto;left:calc(100% + 8px)}.app-topbar{background:var(--bg);border-bottom:1px solid var(--border);padding:10px 18px}.app-topbar:after{display:none}.app-topbar-title{font-size:14px;font-weight:600}.app-palette-btn{border-radius:var(--radius-sm);background:var(--bg-secondary);border-color:var(--border);color:var(--text-secondary);min-width:200px;padding:8px 12px}.app-palette-btn:hover{border-color:var(--border-hover);color:var(--text);background:var(--bg-secondary)}.app-burger,.app-desktop-sidebar-toggle{border-radius:var(--radius-sm);color:var(--text-secondary);border-color:#0000}.app-burger:hover,.app-desktop-sidebar-toggle:hover{background:var(--hover);color:var(--text)}.app-sidebar{padding:14px 12px}.app-new-chat-btn{border-radius:var(--radius);min-height:46px;transition:all .15s var(--ease);font-size:14px;font-weight:600}.app-new-chat-btn:first-child{background:var(--accent);box-shadow:var(--shadow-accent)}.app-new-chat-btn:first-child:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.app-search-input{border-radius:var(--radius-sm)}.app-icon-btn{border-radius:var(--radius-sm);color:var(--text-secondary);background:0 0;border:1px solid #0000}.app-icon-btn:hover{background:var(--hover);color:var(--text);border-color:#0000;transform:none}.app-icon-btn.active{background:var(--accent-soft);color:var(--accent)}.app-icon-btn.public{background:var(--accent-softer);color:var(--success)}.app-icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.app-more-menu{border-radius:var(--radius);padding:6px}.app-more-item{border-radius:var(--radius-sm)}@media (width<=1024px){.subscription-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){:root{--sidebar-w:82vw;--topbar-h:56px}.app-sidebar{z-index:50;width:280px;max-width:85vw;transition:transform .24s var(--ease-out);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:16px 0 48px #0006;margin-left:0!important}.app-sidebar.open{transform:translate(0)}.app-layout.sidebar-hidden .app-sidebar{margin-left:0}.app-layout.sidebar-collapsed .app-sidebar{width:280px;padding:14px 12px}.app-layout.sidebar-collapsed .btn-label{display:inline}.app-layout.sidebar-collapsed .app-search,.app-layout.sidebar-collapsed .app-chat-list,.app-layout.sidebar-collapsed .app-chat-toolbar{display:flex}.app-layout.sidebar-collapsed .app-chat-list{display:block}.app-layout.sidebar-collapsed .app-bottom-actions{flex-direction:row}.app-layout.sidebar-collapsed .app-new-chat-btn{width:auto;height:auto;padding:11px 14px}.app-overlay.show{display:block}.app-burger{display:flex}.app-desktop-sidebar-toggle{display:none}.app-topbar{gap:8px;padding:10px 14px}.app-topbar-title,.app-palette-text,.app-palette-kbd{display:none}.app-palette-btn{min-width:auto;padding:7px 10px}}.app-chat-list{flex:1;min-height:0;padding-right:2px;overflow-y:auto}.app-chat-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);min-height:40px;transition:background .12s var(--ease), color .12s var(--ease);align-items:center;gap:8px;margin-bottom:2px;padding:10px 8px 10px 12px;font-size:13.5px;display:flex}.app-chat-item:hover{background:var(--glass-hover);color:var(--text)}.app-chat-item.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.app-chat-item.in-folder{padding-left:24px;font-size:12.5px}.app-chat-item.selected{border:1px solid var(--border-accent);background:var(--accent-soft)!important;color:var(--accent)!important}.app-chat-item.selection-mode{padding-left:8px}.app-chat-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-chat-action,.app-chat-delete{border-radius:var(--radius-xs);width:26px;height:26px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .12s var(--ease), background .12s var(--ease), color .12s var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-chat-item:hover .app-chat-action,.app-chat-item:hover .app-chat-delete{opacity:1}.app-chat-action:hover{background:var(--glass-hover);color:var(--text)}.app-chat-delete:hover{background:var(--danger-soft);color:var(--danger)}.app-chat-checkbox{color:var(--accent);flex-shrink:0;display:flex}.app-chat-badge{color:var(--success);flex-shrink:0;align-items:center;display:inline-flex}.app-chat-menu-backdrop{z-index:30;position:fixed;inset:0}.app-chat-menu{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius);z-index:40;min-width:190px;box-shadow:var(--shadow);animation:menuIn .12s var(--ease-out);margin-top:6px;padding:5px;position:absolute;top:100%;right:8px}.app-chat-menu button{border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.app-chat-menu button:hover{background:var(--glass-hover)}.app-chat-menu button.danger{color:var(--danger)}.app-chat-menu button.danger:hover{background:var(--danger-soft)}.app-folder{margin-bottom:3px}.app-folder-header{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;transition:background .12s var(--ease);align-items:center;gap:6px;padding:8px;font-size:12.5px;display:flex}.app-folder-header:hover{background:var(--glass-hover);color:var(--text)}.app-folder-caret{color:var(--text-muted);display:flex}.app-folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.app-folder-count{color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-full);padding:2px 7px;font-size:10.5px}.app-folder-chats{padding-left:6px}.app-folder-add{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;gap:4px;margin-left:18px;padding:6px 12px;font-size:12px;display:flex}.app-folder-add:hover{color:var(--accent);background:var(--accent-soft)}.app-empty-hint{color:var(--text-muted);text-align:center;padding:20px;font-size:12.5px}.bulk-bar{background:var(--accent-soft);border:1px solid var(--border-accent);border-radius:var(--radius);flex-direction:column;gap:8px;margin-bottom:10px;padding:12px 14px;display:flex}.bulk-info{color:var(--accent);font-size:12px;font-weight:500}.bulk-actions{gap:5px;display:flex}.bulk-actions button{width:30px}.bulk-actions button .app-chat-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:background .12s var(--ease), color .12s var(--ease);padding:9px 10px 9px 12px;font-size:13.5px}.bulk-actions button .app-chat-item:hover{background:var(--hover);color:var(--text)}.bulk-actions button .app-chat-item.active{background:var(--hover-strong);color:var(--text);font-weight:600}.bulk-actions button .app-chat-item.active .app-chat-title{color:var(--text)}.bulk-actions button .app-chat-item.in-folder{font-size:13px}.bulk-actions button .app-chat-item.selected{border:1px solid var(--border-accent);background:var(--accent-soft)!important;color:var(--accent)!important}.bulk-actions button .app-chat-action,.bulk-actions button .app-chat-delete{border-radius:8px}.bulk-actions button .app-folder-header{border-radius:var(--radius-sm);font-size:12px;font-weight:600}.bulk-actions button .app-folder-count{background:var(--bg-tertiary);border-radius:var(--radius-full)}.bulk-actions button .app-chat-menu{border-radius:var(--radius)}.bulk-actions button .app-chat-menu button{border-radius:var(--radius-sm)}.bulk-actions button .bulk-bar{border-radius:var(--radius)}.bulk-actions button{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-secondary);height:30px;color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);justify-content:center;align-items:center;display:flex}.bulk-actions button:hover:not(:disabled){background:var(--glass-hover);color:var(--text)}.bulk-actions button.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.bulk-actions button:disabled{opacity:.4;cursor:not-allowed}@media (width<=768px){.app-chat-action,.app-chat-delete{opacity:1;width:30px;height:30px}}.app-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:20px;padding:28px 24px;display:flex;overflow-y:auto}.app-msg-user{animation:msgIn .3s var(--ease-out);justify-content:flex-end;display:flex}.app-msg-assistant{animation:msgIn .3s var(--ease-out);justify-content:flex-start;display:flex}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-bubble-user{background:var(--accent);color:#fff;white-space:pre-wrap;word-break:break-word;max-width:70%;box-shadow:var(--shadow-accent);border-radius:16px 16px 5px;padding:12px 18px;font-size:14.5px;line-height:1.6}.app-bubble-assistant{background:var(--bg-secondary);color:var(--text);word-break:break-word;border:1px solid var(--border);max-width:78%;box-shadow:var(--shadow-xs);border-radius:16px 16px 16px 5px;padding:16px 20px;font-size:14.5px;line-height:1.7}.msg-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin-top:6px;display:flex}.app-msg-user .msg-actions{justify-content:flex-end}.msg-action-btn{border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg-elevated);width:30px;height:30px;color:var(--text-secondary);box-shadow:var(--shadow-xs);cursor:pointer;transition:all .12s var(--ease);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.msg-action-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--border-accent)}.msg-action-btn.active{color:var(--accent);background:var(--accent-soft);border-color:var(--border-accent)}.app-msg-user .msg-action-btn{color:#ffffffeb;box-shadow:none;background:#ffffff29;border-color:#ffffff3d}.app-msg-user .msg-action-btn:hover,.app-msg-user .msg-action-btn.active{color:#fff;background:#ffffff4d;border-color:#ffffff73}.pinned-bar{background:var(--accent-soft);border-bottom:1px solid var(--border-accent);color:var(--accent);align-items:flex-start;gap:10px;padding:10px 20px;font-size:12px;display:flex}.pinned-bar>svg{flex-shrink:0;margin-top:3px}.pinned-bar-list{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.pinned-bar-item{color:var(--text);opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pinned-bar-more{color:var(--text-muted);font-size:11px}.app-empty-brand{text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:50vh;padding:20px;display:flex}.app-empty-brand-logo{letter-spacing:-.04em;color:var(--text);opacity:.06;font-size:clamp(56px,10vw,110px);font-weight:800;line-height:1}.typing-indicator{align-items:center;gap:5px;padding:4px 0;display:inline-flex}.typing-indicator span{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both typingBounce}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.cursor{color:var(--accent);margin-left:2px;font-weight:400;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.stream-cursor{vertical-align:text-bottom;background:var(--accent);opacity:.85;width:7px;height:15px;animation:streamCursorPulse 1.05s var(--ease) infinite;border-radius:2px;margin-left:3px;display:inline-block}@keyframes streamCursorPulse{0%,to{opacity:.85;transform:scaleY(1)}50%{opacity:.25;transform:scaleY(.82)}}.markdown-stream{position:relative}.markdown-stream-tail{animation:streamTailIn .18s var(--ease-out);display:block}@keyframes streamTailIn{0%{opacity:0}to{opacity:1}}.markdown-stream.streaming{will-change:contents}@media (prefers-reduced-motion:reduce){.stream-cursor,.markdown-stream-tail{animation:none}.stream-cursor{opacity:.85}}.reasoning-block{color:var(--text-muted);border-left:3px solid var(--accent);background:var(--bg-tertiary);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:14px;padding:12px 16px;font-size:12.5px}.reasoning-block summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--accent);align-items:center;gap:6px;font-weight:500;list-style:none;display:flex}.reasoning-block summary::-webkit-details-marker{display:none}.reasoning-content{white-space:pre-wrap;margin-top:10px;font-size:12.5px;line-height:1.6}.app-input-bar{padding:14px 20px;padding-bottom:max(14px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;display:flex}.app-input-block{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-tertiary);transition:border-color .15s var(--ease), background .15s var(--ease), box-shadow .15s var(--ease);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.app-chat-input{width:100%;color:var(--text);resize:none;background:0 0;border:none;outline:none;min-height:28px;max-height:220px;padding:4px 6px;font-family:inherit;font-size:14.5px;line-height:1.5;overflow-y:auto}.app-chat-input::placeholder{color:var(--text-muted)}.app-chat-input:focus{box-shadow:none}.app-input-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.app-input-actions-left{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.app-input-actions-right{align-items:center;gap:6px;margin-left:auto;display:flex}.app-input-action-btn{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.app-input-action-btn:disabled{opacity:.4;cursor:not-allowed}.app-input-action-label,.app-input-action-label .label-full{display:inline}.app-input-action-label .label-short{display:none}.app-send-btn,.app-stop-btn{width:40px;height:40px;transition:background .15s var(--ease), transform .1s var(--ease), opacity .15s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-send-btn:active,.app-stop-btn:active{transform:scale(.94)}.app-send-btn{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent);border:none}.app-send-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow)}.app-send-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.app-stop-btn{background:var(--danger);color:#fff;border:none}.app-stop-btn:hover{background:#dc2626}.app-overlay{z-index:40;background:#0009;display:none;position:fixed;inset:0}.app-attachments{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:12px 20px 0;display:flex}.app-attachment-chip{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);max-width:280px;transition:border-color .15s var(--ease);align-items:center;gap:10px;padding:8px 8px 8px 12px;font-size:12.5px;display:flex}.app-attachment-chip:hover{border-color:var(--border-hover)}.app-attachment-icon{border-radius:var(--radius-sm);background:var(--bg-secondary);width:32px;height:32px;color:var(--text-muted);transition:color .15s var(--ease), background .15s var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-attachment-chip:hover .app-attachment-icon{color:var(--accent);background:var(--accent-soft)}.app-attachment-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.app-attachment-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;overflow:hidden}.app-attachment-meta{color:var(--text-muted);font-size:11px}.app-attachment-remove{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);min-width:26px;min-height:26px;transition:all .12s var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.app-attachment-remove:hover{color:var(--danger);background:var(--danger-soft)}.app-attachment-error{width:100%;color:var(--danger);padding:2px 0;font-size:12px}.msg-attachments{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.msg-attachment-chip{border-radius:var(--radius-sm);background:#ffffff26;border:1px solid #ffffff38;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:inline-flex}.msg-attachment-chip svg{opacity:.85;flex-shrink:0}.app-bubble-assistant .msg-attachment-chip{background:var(--bg-tertiary);border-color:var(--border)}.truncated-notice{border-radius:var(--radius);color:var(--warning);background:#f59e0b14;border:1px solid #f59e0b40;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:12.5px;display:flex}.truncated-continue-btn{border-radius:var(--radius-sm);color:var(--warning);cursor:pointer;transition:all .15s var(--ease);background:#f59e0b1f;border:1px solid #f59e0b66;margin-left:auto;padding:6px 14px;font-size:12.5px;font-weight:500}.truncated-continue-btn:hover{border-color:var(--warning);background:#f59e0b33}.typing-dots{vertical-align:middle;align-items:center;gap:3px;margin-left:4px;display:inline-flex}.typing-dots span{background:var(--accent);opacity:.4;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite typingDot}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.generated-images{flex-direction:column;gap:10px;max-width:100%;margin-top:12px;display:flex}.generated-image{object-fit:contain;border:1px solid var(--border);cursor:zoom-in;border-radius:12px;width:min(100%,768px);max-height:768px;transition:opacity .2s,transform .2s;display:block}.generated-image:hover{opacity:.92;transform:scale(1.01)}.generated-image-loading,.generated-image-error{border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:16px;font-size:13px}.image-skeleton{aspect-ratio:1;isolation:isolate;background:linear-gradient(135deg,#6e7ff31f,#9a6cf01f 40%,#54bdf51f 70%,#6e7ff31f) 0 0/300% 300%;border-radius:16px;width:100%;max-width:384px;animation:6s infinite imageSkeletonMove;position:relative;overflow:hidden}.image-skeleton:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 0%,#ffffff40 45%,#ffffff73 50%,#ffffff40 55%,#0000 100%);animation:2.2s ease-in-out infinite imageSkeletonShimmer;position:absolute;inset:0;transform:translate(-100%)}.image-skeleton-inner{color:var(--accent);z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.image-skeleton-spinner{border:2.5px solid var(--accent-softer);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.9s linear infinite imageSkeletonSpin}.image-skeleton-text{letter-spacing:.02em;color:var(--text-muted,#787882e6);font-size:13px}.image-skeleton-dots:after{content:"";animation:1.4s steps(4,end) infinite imageSkeletonDots}@keyframes imageSkeletonMove{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes imageSkeletonShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes imageSkeletonSpin{to{transform:rotate(360deg)}}@keyframes imageSkeletonDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.generated-image-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tertiary);opacity:0;width:fit-content;max-width:100%;animation:.42s cubic-bezier(.22,1,.36,1) forwards imageAppear;overflow:hidden;transform:scale(.96)}.generated-image-card .generated-image{border-radius:var(--radius) var(--radius) 0 0;border:none}@keyframes imageAppear{to{opacity:1;transform:scale(1)}}.generated-image-footer{border-top:1px solid var(--border);align-items:center;gap:12px;padding:9px 12px;font-size:11.5px;display:flex}.generated-image-model{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.generated-image-open{color:var(--accent);white-space:nowrap;font-weight:500}.shared-image-link{width:fit-content;max-width:100%;line-height:0;display:block}.shared-image-link:hover{text-decoration:none}.draft-banner{background:var(--accent-soft);border-top:1px solid var(--border-accent);color:var(--accent);align-items:center;gap:8px;padding:10px 20px;font-size:12px;font-weight:500;display:flex}.draft-banner button{color:inherit;cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;margin-left:auto;padding:4px;display:flex}.draft-banner button:hover{background:var(--accent-soft)}@media (width<=768px){.app-input-bar{padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.app-input-block{border-radius:var(--radius-lg);padding:8px 10px 6px}.app-chat-input{font-size:16px}.app-input-action-label .label-full{display:none}.app-input-action-label .label-short{display:inline}.app-input-action-label{font-size:10.5px}.app-input-action-btn{gap:5px;padding:7px 10px;font-size:11.5px}.app-input-action-btn svg{width:15px;height:15px}.app-send-btn,.app-stop-btn{width:38px;height:38px}.app-messages{gap:16px;padding:18px 14px}.app-bubble-user,.app-bubble-assistant{max-width:88%;font-size:14px}.app-bubble-user{border-radius:14px 14px 4px;padding:11px 15px}.app-bubble-assistant{border-radius:14px 14px 14px 4px;padding:14px 16px}.app-attachments{padding:10px 14px 0}.app-attachment-name{max-width:150px}.generated-image,.generated-image-card,.shared-image-link{width:100%}.generated-image{max-height:70vh}}@media (width<=400px){.app-bubble-user,.app-bubble-assistant{max-width:94%;padding:10px 13px;font-size:13.5px}.app-messages{padding:14px 10px}.app-send-btn,.app-stop-btn{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-attach-wrap{display:inline-flex;position:relative}.app-attach-menu-backdrop{z-index:50;position:fixed;inset:0}.app-attach-menu{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius);z-index:60;min-width:260px;box-shadow:var(--shadow-lg);animation:menuIn .14s var(--ease-out);padding:6px;position:absolute;bottom:calc(100% + 8px);left:0}.app-attach-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background .1s var(--ease);background:0 0;border:none;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.app-attach-menu-item:hover:not(:disabled){background:var(--glass-hover)}.app-attach-menu-item:disabled{opacity:.5;cursor:not-allowed}.app-attach-menu-item svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.app-attach-menu-item:hover:not(:disabled) svg{color:var(--accent)}.app-attach-menu-title{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:500}.app-attach-menu-desc{color:var(--text-muted);font-size:11px}.app-vision-preview{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 20px 0;display:flex}.app-vision-chip{border-radius:var(--radius-sm);border:1px solid var(--border);flex-shrink:0;width:60px;height:60px;position:relative;overflow:hidden}.app-vision-thumb{object-fit:cover;width:100%;height:100%;display:block}.app-vision-remove{color:#fff;cursor:pointer;width:20px;height:20px;transition:background .12s var(--ease);background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;right:2px}.app-vision-remove:hover{background:var(--danger)}.app-vision-hint{color:var(--accent);align-items:center;gap:6px;font-size:11.5px;font-weight:500;display:flex}.msg-vision-images{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.msg-vision-image{border-radius:var(--radius-sm);cursor:pointer;max-width:200px;max-height:200px;transition:opacity .15s var(--ease);border:1px solid #fff3}.msg-vision-image:hover{opacity:.9}@media (width<=768px){.app-attach-menu{min-width:220px}.msg-vision-image{max-width:140px;max-height:140px}.app-vision-chip{width:50px;height:50px}.app-vision-preview{padding:10px 14px 0}}.msg-vision-placeholder{border-radius:var(--radius-sm);background:#ffffff14;border:1px solid #ffffff26;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.app-bubble-assistant .msg-vision-placeholder{background:var(--bg-tertiary);border-color:var(--border)}.msg-vision-spinner{border:2px solid #fff3;border-top-color:#ffffffe6;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.msg-vision-edit-btn{color:#fff;cursor:pointer;opacity:0;width:28px;height:28px;transition:opacity .15s var(--ease), transform .1s var(--ease);background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex;position:absolute;top:6px;right:6px}@media (width<=768px){.msg-vision-edit-btn{opacity:1;background:#000000bf}}.msg-vision-item{display:inline-block;position:relative}.msg-vision-edit-btn{color:#fff;cursor:pointer;opacity:0;width:28px;height:28px;transition:opacity .15s var(--ease), transform .1s var(--ease), background .15s var(--ease);z-index:2;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.msg-vision-item:hover .msg-vision-edit-btn{opacity:1}.msg-vision-edit-btn:hover{background:var(--accent);transform:scale(1.1)}@media (width<=768px){.msg-vision-edit-btn{opacity:1;background:#000000bf}}.app-photo-mode-toggle{background:var(--bg-tertiary);border-radius:var(--radius-full);border:1px solid var(--border);gap:4px;padding:3px;display:inline-flex}.app-photo-mode-toggle .app-input-action-btn.small{background:0 0;border:none;padding:5px 10px;font-size:11.5px}.app-photo-mode-toggle .app-input-action-btn.small.active{background:var(--accent-soft);color:var(--accent)}@media (width<=768px){.app-photo-mode-toggle .app-input-action-btn.small span{font-size:0}.app-photo-mode-toggle .app-input-action-btn.small span:before{font-size:14px}.app-photo-mode-toggle .app-input-action-btn.small:first-child span:before{content:"👁"}.app-photo-mode-toggle .app-input-action-btn.small:last-child span:before{content:"✏️"}}.app-messages{gap:8px;padding:36px 20px 28px}.app-messages>*{width:100%;max-width:var(--content-w);margin-left:auto;margin-right:auto}.app-msg-assistant{align-items:flex-start}.app-msg-assistant:before{content:"✦";background:var(--accent-grad);color:#fff;width:30px;height:30px;box-shadow:var(--shadow-accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin:6px 12px 0 0;font-size:14px;line-height:1;display:flex}.app-bubble-assistant{box-shadow:none;background:0 0;border:none;border-radius:18px;max-width:min(92%,680px);padding:4px 20px 18px 0;font-size:15px;line-height:1.7}.app-bubble-user{background:var(--accent-soft);color:var(--text);border:1px solid var(--border-accent);max-width:min(85%,640px);box-shadow:none;border-radius:20px 20px 6px;padding:12px 18px;font-size:15px;line-height:1.6}.app-bubble-user a{color:var(--accent)}.app-bubble-user .code-inline{background:var(--accent-softer);color:var(--text)}.msg-action-btn{background:var(--bg-elevated);border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);box-shadow:none;transition:all .14s var(--ease);border-radius:10px}.msg-action-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--border-accent);transform:translateY(-1px)}.app-msg-user .msg-action-btn{background:var(--bg-elevated);border-color:var(--border);color:var(--text-secondary);box-shadow:none}.app-msg-user .msg-action-btn:hover,.app-msg-user .msg-action-btn.active{background:var(--accent-soft);border-color:var(--border-accent);color:var(--accent)}.msg-actions{gap:2px;margin-top:8px}.app-msg-user.pinned .app-bubble-user,.app-msg-assistant.pinned .app-bubble-assistant{box-shadow:0 0 0 2px var(--accent), var(--shadow-sm)}.reasoning-block{border:1px solid var(--border);background:var(--accent-softer);border-radius:var(--radius);border-left:none;margin:12px 0 14px;padding:12px 16px;font-size:12.5px}.app-input-bar{padding:10px 20px calc(14px + env(safe-area-inset-bottom,0px));background:0 0;border-top:none}.app-input-block{max-width:var(--content-w);border:1px solid var(--border);background:var(--bg-secondary);width:100%;box-shadow:var(--shadow-sm);border-radius:26px;gap:8px;margin:0 auto;padding:10px 12px 9px}.app-input-block:focus-within{border-color:var(--border-accent);background:var(--bg-secondary);box-shadow:0 0 0 4px var(--accent-softer), var(--shadow-sm)}.app-chat-input{padding:3px 8px;font-size:15px;line-height:1.55}.app-input-action-btn{border-radius:var(--radius-full);color:var(--text-muted);transition:all .15s var(--ease);background:0 0;border:1px solid #0000;padding:7px 12px;font-size:12px}.app-input-action-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.app-input-action-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--border-accent)}.app-send-btn,.app-stop-btn{border-radius:50%;width:38px;height:38px}.app-send-btn{background:var(--accent);box-shadow:var(--shadow-accent);transition:background .15s var(--ease), transform .12s var(--ease), opacity .15s var(--ease), box-shadow .15s var(--ease)}.app-send-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.app-send-btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);box-shadow:none;opacity:1}.app-stop-btn{background:var(--danger);box-shadow:0 4px 14px #f8717159}.app-attachments{border-top:none;justify-content:center;padding:0 20px 10px}.app-attachment-chip{border-radius:var(--radius);background:var(--bg-secondary)}.draft-banner{max-width:var(--content-w);border-radius:var(--radius-full);background:var(--accent-softer);border:1px solid var(--border-accent);color:var(--accent);justify-content:center;margin:0 auto 8px}.app-empty-brand{pointer-events:auto;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;gap:10px;min-height:0;padding:6vh 20px 4vh}.app-empty-brand-logo{letter-spacing:-.035em;background:var(--accent-grad);color:#0000;opacity:1;-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,7vw,68px);font-weight:800}.app-empty-brand-sub{color:var(--text-muted);letter-spacing:.02em;font-size:13.5px;font-weight:500}.welcome-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:620px;margin-top:22px;display:grid}.welcome-card{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text);cursor:pointer;transition:all .16s var(--ease);flex-direction:column;align-items:flex-start;gap:7px;padding:16px 18px;display:flex}.welcome-card:hover{border-color:var(--border-accent);background:var(--accent-softer);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.welcome-card-icon{width:34px;height:34px;color:var(--accent);background:var(--accent-soft);border-radius:12px;justify-content:center;align-items:center;display:flex}.welcome-card-title{font-size:13.5px;font-weight:600}.welcome-card-desc{color:var(--text-muted);font-size:12px;line-height:1.45}.welcome-hint{color:var(--text-muted);opacity:.8;margin-top:14px;font-size:12px}@media (width<=768px){.app-messages{padding:20px 14px 16px}.app-bubble-assistant{padding-left:0;padding-right:0}.app-msg-assistant:before{border-radius:9px;width:26px;height:26px;margin-right:8px;font-size:12px}.welcome-grid{grid-template-columns:1fr;gap:8px;max-width:420px}.app-empty-brand{padding:3vh 12px 2vh}.app-input-bar{padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px))}.app-input-block{border-radius:24px}.app-input-action-btn{padding:7px 10px}}.markdown p{margin:.6em 0}.markdown p:first-child{margin-top:0}.markdown p:last-child{margin-bottom:0}.markdown ul,.markdown ol{margin:.6em 0;padding-left:1.5em}.markdown li{margin:.2em 0}.markdown code{background:var(--code-inline-bg);color:var(--code-inline-text);border-radius:var(--radius-xs);padding:2px 7px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.markdown h1,.markdown h2,.markdown h3,.markdown h4{letter-spacing:-.01em;margin:1em 0 .5em;font-weight:600;line-height:1.3}.markdown h1{font-size:1.45em}.markdown h2{font-size:1.25em}.markdown h3{font-size:1.12em}.markdown h4{font-size:1em}.markdown blockquote{border-left:3px solid var(--border-hover);color:var(--text-muted);margin:.6em 0;padding-left:16px}.markdown table{border-collapse:collapse;border-radius:var(--radius);max-width:100%;margin:.6em 0;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);white-space:nowrap;padding:9px 14px}.markdown hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.markdown a{text-decoration:underline}.code-block{border-radius:var(--radius);border:1px solid var(--border);background:var(--code-bg);margin:16px 0;overflow:hidden}.code-block pre{max-height:5000px;transition:max-height .25s var(--ease);background:0 0;margin:0;padding:16px;overflow-x:auto}.code-block pre code{background:0 0;padding:0}.code-block pre.collapsed{max-height:280px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,#0000 100%);mask-image:linear-gradient(#000 60%,#0000 100%)}.code-block-footer{background:var(--bg-tertiary);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:6px 10px;display:flex}.code-block-footer-left,.code-block-footer-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.code-lang-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-xs);background:var(--bg-secondary);color:var(--text-muted);padding:3px 8px;font-family:ui-monospace,monospace;font-size:10px;font-weight:600}.code-copy-btn,.code-expand-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);white-space:nowrap;transition:all .12s var(--ease);align-items:center;gap:5px;padding:6px 12px;font-size:11px;font-weight:500;display:inline-flex}.code-copy-btn:hover,.code-expand-btn:hover{background:var(--glass-hover);color:var(--text)}.code-copy-btn.copied{color:var(--success);border-color:#22c55e66}.hljs{color:var(--text);background:0 0}.code-block pre code.hljs{color:#e4e7ee;background:0 0;padding:0;font-size:13px;line-height:1.6;display:block}.hljs-comment,.hljs-quote{color:#6b7280;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-section,.hljs-doctag,.hljs-type,.hljs-name,.hljs-strong{color:#c792ea;font-weight:600}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#c3e88d}.hljs-number,.hljs-symbol,.hljs-bullet,.hljs-variable,.hljs-template-variable,.hljs-link{color:#f78c6c}.hljs-title,.hljs-title.function_,.hljs-title.class_{color:#82aaff;font-weight:600}.hljs-built_in,.hljs-builtin-name{color:#ffcb6b}.hljs-attr,.hljs-property{color:#89ddff}.hljs-meta,.hljs-deletion{color:#6b7280}.hljs-tag{color:#c792ea}.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo{color:#ffcb6b}[data-theme=light] .hljs,[data-theme=light] .code-block pre code.hljs{color:#1f2937}[data-theme=light] .hljs-comment,[data-theme=light] .hljs-quote{color:#6b7280}[data-theme=light] .hljs-keyword,[data-theme=light] .hljs-selector-tag,[data-theme=light] .hljs-literal,[data-theme=light] .hljs-section,[data-theme=light] .hljs-doctag,[data-theme=light] .hljs-type,[data-theme=light] .hljs-name,[data-theme=light] .hljs-strong{color:#7c3aed}[data-theme=light] .hljs-string,[data-theme=light] .hljs-regexp,[data-theme=light] .hljs-addition,[data-theme=light] .hljs-attribute{color:#15803d}[data-theme=light] .hljs-number,[data-theme=light] .hljs-symbol,[data-theme=light] .hljs-bullet,[data-theme=light] .hljs-variable,[data-theme=light] .hljs-link{color:#b45309}[data-theme=light] .hljs-title,[data-theme=light] .hljs-title.function_,[data-theme=light] .hljs-title.class_{color:#1d4ed8}[data-theme=light] .hljs-built_in,[data-theme=light] .hljs-builtin-name{color:#c2410c}[data-theme=light] .hljs-attr,[data-theme=light] .hljs-property{color:#0e7490}[data-theme=light] .hljs-meta,[data-theme=light] .hljs-deletion{color:#6b7280}[data-theme=light] .hljs-tag{color:#7c3aed}[data-theme=light] .hljs-selector-id,[data-theme=light] .hljs-selector-class{color:#b45309}.app-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;animation:fadeIn .18s var(--ease);background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-modal{background:var(--bg-secondary);color:var(--text);border-radius:var(--radius-xl);width:440px;max-width:100%;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:modalIn .22s var(--ease-out);flex-direction:column;gap:18px;padding:24px;display:flex;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.settings-modal{width:540px}.folder-modal,.confirm-modal{width:400px}.settings-header{justify-content:space-between;align-items:center;display:flex}.settings-header h2{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600}.settings-tabs{background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--border);gap:4px;padding:4px;display:flex}.settings-tab{border-radius:var(--radius-sm);color:var(--text-muted);transition:all .12s var(--ease);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:12.5px;font-weight:500;display:flex}.settings-tab:hover{color:var(--text)}.settings-tab.active{background:var(--bg-secondary);color:var(--text);box-shadow:var(--shadow-xs)}.settings-models{flex-direction:column;gap:16px;display:flex}.settings-provider-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;padding-left:4px;font-size:11px;font-weight:600}.settings-model-list{flex-direction:column;gap:4px;display:flex}.settings-model{border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text);transition:background .12s var(--ease), border-color .12s var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:12px 14px;display:flex}.settings-model:hover{background:var(--glass-hover)}.settings-model.active{background:var(--accent-soft);border-color:var(--border-accent)}.settings-model-icon{width:34px;height:34px;color:var(--text-muted);border-radius:var(--radius-sm);background:var(--bg-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-model.active .settings-model-icon{color:#fff;background:var(--accent)}.settings-model-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-model-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex;overflow:hidden}.settings-model-desc{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.settings-model-check{color:var(--accent);flex-shrink:0;display:flex}.settings-section{flex-direction:column;gap:8px;display:flex}.settings-label{color:var(--text-muted);font-size:11.5px;font-weight:500}.settings-subtitle{margin:0;font-size:13.5px;font-weight:600}.settings-form{flex-direction:column;gap:12px;display:flex}.settings-error{color:var(--danger);margin:0;font-size:12.5px}.settings-success{color:var(--success);margin:0;font-size:12.5px}.settings-hint{color:var(--text-muted);margin:0;font-size:11.5px;line-height:1.5}.settings-link{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);transition:background .12s var(--ease), border-color .12s var(--ease);align-items:center;gap:12px;padding:14px 16px;font-size:13.5px;font-weight:500;display:flex}.settings-link:hover{background:var(--glass-hover);border-color:var(--border-hover);text-decoration:none}.settings-image-provider{border:1px solid var(--border-accent);border-radius:var(--radius-lg);background:var(--accent-soft);padding:12px}.settings-model-icon.image-model-icon{color:var(--accent)}.settings-model-type-badge{border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);text-transform:uppercase;align-items:center;padding:2px 7px;font-size:9px;font-weight:600;display:inline-flex}.settings-model.locked{opacity:.72;cursor:not-allowed}.settings-model.locked .settings-model-icon{filter:grayscale(.4)}.settings-model-lock-badge{border-radius:var(--radius-full);color:#fff;text-transform:uppercase;letter-spacing:.3px;background:linear-gradient(135deg,#f59e0b,#d97706);align-items:center;gap:4px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-flex}.input,.input-disabled{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);width:100%;min-height:44px;transition:border-color .15s var(--ease), background .15s var(--ease), box-shadow .15s var(--ease);outline:none;padding:11px 14px;font-size:13.5px}.input:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder{color:var(--text-muted)}.input-disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.btn-primary,.btn-secondary,.btn-danger{border-radius:var(--radius);min-height:44px;transition:background .12s var(--ease), border-color .12s var(--ease), transform .1s var(--ease);border:none;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:13.5px;font-weight:500;display:inline-flex}.btn-primary:active,.btn-secondary:active,.btn-danger:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text)}.btn-secondary:hover{background:var(--glass-hover);border-color:var(--border-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.icon-plain{color:var(--text-muted);border-radius:var(--radius-sm);min-width:34px;min-height:34px;transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.icon-plain:hover{color:var(--text);background:var(--glass-hover)}.divider{border-top:1px solid var(--border);margin:4px 0}.move-option{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);cursor:pointer;text-align:left;transition:background .12s var(--ease);align-items:center;gap:8px;padding:12px 14px;font-size:13.5px;display:flex}.move-option:hover{background:var(--glass-hover)}.confirm-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;width:400px;max-width:100%;box-shadow:var(--shadow-lg);animation:modalIn .22s var(--ease-out);flex-direction:column;align-items:center;gap:16px;padding:32px 26px 24px;display:flex;position:relative}.confirm-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s var(--ease);background:0 0;border:none;padding:6px;display:flex;position:absolute;top:14px;right:14px}.confirm-close:hover{background:var(--glass-hover);color:var(--text)}.confirm-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:4px;display:flex}.confirm-icon.danger{background:var(--danger-soft);color:var(--danger)}.confirm-icon.warning{color:var(--warning);background:#f59e0b1f}.confirm-icon.info{background:var(--accent-soft);color:var(--accent)}.confirm-title{color:var(--text);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.confirm-message{color:var(--text-muted);max-width:320px;margin:0;font-size:13.5px;line-height:1.55}.confirm-actions{gap:10px;width:100%;margin-top:8px;display:flex}.confirm-btn{border-radius:var(--radius);cursor:pointer;min-height:46px;transition:background .12s var(--ease), transform .1s var(--ease);border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 18px;font-size:13.5px;font-weight:500;display:inline-flex}.confirm-btn:active{transform:scale(.98)}.confirm-btn.cancel{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text)}.confirm-btn.cancel:hover{background:var(--glass-hover);border-color:var(--border-hover)}.confirm-btn.danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.confirm-btn.danger:hover{background:#dc2626}.confirm-btn.info{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.confirm-btn.info:hover{background:var(--accent-hover)}.share-status{border-radius:var(--radius);align-items:center;gap:10px;padding:12px 16px;font-size:13.5px;font-weight:500;display:flex}.share-status.private{background:var(--bg-tertiary);color:var(--text-muted)}.share-status.public{color:var(--success);background:#22c55e1f}.share-link-box{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);align-items:center;gap:8px;padding:8px 8px 8px 14px;display:flex}.share-link-input{color:var(--text);text-overflow:ellipsis;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:8px 0;font-family:ui-monospace,monospace;font-size:12.5px}.export-formats{flex-direction:column;gap:10px;display:flex}.export-format{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);cursor:pointer;text-align:left;transition:background .12s var(--ease), border-color .12s var(--ease), transform .1s var(--ease);align-items:center;gap:14px;padding:14px 16px;display:flex}.export-format:hover{background:var(--glass-hover);border-color:var(--border-hover);transform:translateY(-1px)}.export-format.active{border-color:var(--accent);background:var(--accent-soft)}.export-format-icon{border-radius:var(--radius-sm);background:var(--bg-secondary);width:40px;height:40px;color:var(--text-muted);transition:background .15s var(--ease), color .15s var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.export-format.active .export-format-icon{background:var(--accent);color:#fff}.export-format-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.export-format-label{color:var(--text);align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.export-format-label code{background:var(--bg-secondary);border-radius:var(--radius-xs);color:var(--text-muted);padding:2px 8px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:500}.export-format.active .export-format-label code{color:var(--accent);background:#ffffff24}.export-format-desc{color:var(--text-muted);font-size:11.5px;line-height:1.4}.import-drop{border-radius:var(--radius-lg);border:2px dashed var(--border-hover);background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;transition:all .18s var(--ease);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.import-drop:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);border-style:solid}.import-drop svg{color:var(--text-muted);transition:color .18s var(--ease)}.import-drop:hover svg{color:var(--accent)}.import-drop-title{color:var(--text);font-size:14.5px;font-weight:600}.import-drop-hint{color:var(--text-muted);font-size:12px}.import-file{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);align-items:center;gap:12px;padding:14px 16px;display:flex}.import-file>svg{color:var(--accent);flex-shrink:0}.import-file-info{flex:1;min-width:0}.import-file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.import-file-meta{color:var(--text-muted);margin-top:3px;font-size:11.5px}.stats-modal{width:560px;max-width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stats-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);min-width:0;height:100%;transition:background .15s var(--ease), border-color .15s var(--ease), transform .1s var(--ease);flex-direction:column;gap:8px;padding:16px;display:flex;overflow:hidden}.stats-card:hover{background:var(--glass-hover);border-color:var(--border-hover);transform:translateY(-2px)}.stats-card-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:2px;display:flex}.stats-card-icon.blue{background:var(--accent-soft);color:var(--accent)}.stats-card-icon.green{color:var(--success);background:#22c55e1f}.stats-card-icon.purple{color:#a855f7;background:#a855f71f}.stats-card-icon.orange{color:var(--warning);background:#f59e0b1f}.stats-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:500;line-height:1.2}.stats-card-value{color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;word-break:break-word;overflow-wrap:anywhere;font-size:24px;font-weight:700;line-height:1.15}.stats-card-value.long{font-size:18px}.stats-section{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding-top:16px;display:flex}.stats-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:10.5px;font-weight:600}.stats-row{color:var(--text-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:9px 0;font-size:13px;display:flex}.stats-row:last-child{border-bottom:none}.stats-row>span:first-child{color:var(--text-muted);flex-shrink:0}.stats-row-value{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;word-break:break-word;overflow-wrap:anywhere;min-width:0;font-weight:500}@media (width<=540px){.stats-modal{width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-card{gap:6px;padding:14px}.stats-card-icon{width:32px;height:32px}.stats-card-value{font-size:20px}.stats-card-value.long{font-size:15px}.stats-card-label{font-size:9.5px}}@media (width<=380px){.stats-grid{grid-template-columns:1fr}.stats-card-value{font-size:22px}}.shortcuts-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:420px;max-width:100%;box-shadow:var(--shadow-lg);animation:modalIn .18s var(--ease-out);padding:22px}.shortcuts-list{flex-direction:column;gap:8px;display:flex}.shortcut-row{background:var(--bg-tertiary);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.shortcut-keys{flex-shrink:0;align-items:center;gap:4px;display:flex}.shortcut-keys kbd{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);padding:3px 8px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:600;display:inline-block}.shortcut-desc{color:var(--text-muted);text-align:right;font-size:12.5px}@media (width<=768px){.app-modal{border-radius:var(--radius-lg);width:100%;padding:20px}.settings-modal,.folder-modal,.confirm-modal,.stats-modal{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stats-card{padding:14px}.stats-card-value{font-size:22px}.stats-card-icon{width:34px;height:34px}.export-format{gap:12px;padding:12px 14px}.export-format-icon{width:36px;height:36px}.import-drop{padding:32px 16px}.shortcuts-modal{padding:20px}}@media (width<=400px){.stats-grid{grid-template-columns:1fr}.export-format-label{font-size:13px}.export-format-desc{font-size:11px}}.image-edit-model{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);text-align:left;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;font-weight:500;display:flex}.image-edit-model:hover{background:var(--glass-hover);color:var(--text)}.image-edit-modal{width:500px;max-width:100%}.image-edit-preview{background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--border);justify-content:center;padding:8px;display:flex;overflow:hidden}.image-edit-preview-img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:200px}.image-edit-models{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.image-edit-model{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);text-align:left;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;display:flex}.image-edit-model:hover:not(:disabled){background:var(--glass-hover);color:var(--text)}.image-edit-model.active{background:var(--accent-soft);color:var(--accent);border-color:var(--border-accent)}.image-edit-model:disabled{opacity:.5;cursor:not-allowed}.image-edit-model svg{flex-shrink:0}.image-edit-model-body{flex-direction:column;gap:1px;min-width:0;display:flex}.image-edit-model-name{font-size:12.5px;font-weight:600}.image-edit-model-desc{opacity:.75;font-size:10.5px}.image-edit-textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}@media (width<=480px){.image-edit-models{grid-template-columns:1fr}.image-edit-preview-img{max-height:150px}}.app-modal-backdrop{-webkit-backdrop-filter:blur(10px);background:#05060ab8}.app-modal{border-radius:var(--radius-xl);background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-lg);gap:16px;padding:26px}.settings-header h2{font-size:20px;font-weight:700}.settings-tabs{border-radius:var(--radius);background:var(--bg-tertiary);padding:4px}.settings-tab{border-radius:var(--radius-sm);padding:10px;font-size:12.5px}.settings-tab.active{background:var(--bg-secondary);box-shadow:var(--shadow-xs)}.settings-model{border-radius:var(--radius);padding:12px 14px}.settings-model-icon{border-radius:var(--radius-sm)}.settings-link{border-radius:var(--radius)}.input,.input-disabled{border-radius:var(--radius);font-size:14px}.btn-primary{border-radius:var(--radius);box-shadow:var(--shadow-accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{border-radius:var(--radius);background:var(--bg-tertiary);border-color:var(--border)}.btn-danger{border-radius:var(--radius)}.icon-plain{border-radius:var(--radius-sm)}.divider{border-top:1px solid var(--border)}.move-option{border-radius:var(--radius)}.import-drop{border-radius:var(--radius-xl)}.export-format,.import-file,.share-link-box,.settings-image-provider{border-radius:var(--radius)}.stats-card{border-radius:var(--radius-lg)}.image-edit-preview{border-radius:var(--radius)}.image-edit-model{border-radius:var(--radius-sm)}.theme-picker{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.theme-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);cursor:pointer;transition:border-color .12s var(--ease), transform .12s var(--ease);text-align:left;flex-direction:column;padding:0;display:flex;overflow:hidden}.theme-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}.theme-card-preview{aspect-ratio:16/10;border-bottom:1px solid var(--border);width:100%;position:relative;overflow:hidden}.theme-card-bg{flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;padding:16px;display:flex;position:absolute;inset:0}.theme-card-bubble{border-radius:var(--radius-full);opacity:.9;width:60%;height:14px}.theme-card-bubble.small{border-radius:var(--radius-full);opacity:.7;width:35%;height:10px}.theme-card-check{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:8px;right:8px}.theme-card-body{flex-direction:column;gap:2px;padding:10px 12px 12px;display:flex}.theme-card-name{color:var(--text);font-size:12.5px;font-weight:600}.theme-card-desc{color:var(--text-muted);font-size:10.5px;line-height:1.3}@media (width<=768px){.theme-picker{grid-template-columns:1fr}}.theme-card{border-radius:var(--radius-lg)}.theme-card-preview{border-bottom:none}.theme-card-body{border-top:1px solid var(--border);padding:12px 14px 14px}.theme-card.active{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--accent-softer), var(--shadow-sm)}.theme-card-check{background:var(--accent-grad);box-shadow:var(--shadow-accent)}.onboarding-backdrop{z-index:300;animation:fadeIn .22s var(--ease);background:#000000c7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.onboarding-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:460px;box-shadow:var(--shadow-lg);animation:modalIn .25s var(--ease-out);flex-direction:column;align-items:center;gap:16px;padding:36px 30px 26px;display:flex;position:relative}.onboarding-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;display:flex;position:absolute;top:14px;right:14px}.onboarding-close:hover{background:var(--glass-hover);color:var(--text)}.onboarding-icon{border-radius:var(--radius-lg);color:#fff;background:var(--accent);justify-content:center;align-items:center;width:68px;height:68px;display:flex}.onboarding-icon.gradient{background:var(--accent)}.onboarding-icon.blue{background:#3b82f6}.onboarding-icon.purple{background:#8b5cf6}.onboarding-icon.green{background:#10b981}.onboarding-title{color:var(--text);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:700}.onboarding-text{color:var(--text-muted);max-width:380px;margin:0;font-size:13.5px;line-height:1.6}.onboarding-dots{gap:8px;margin-top:4px;display:flex}.onboarding-dot{border-radius:var(--radius-full);background:var(--border-hover);cursor:pointer;width:7px;height:7px;transition:all .15s var(--ease);border:none;padding:0}.onboarding-dot.active{border-radius:var(--radius-full);background:var(--accent);width:20px}.onboarding-dot.done{background:var(--accent);opacity:.5}.onboarding-actions{gap:10px;width:100%;margin-top:8px;display:flex}.onboarding-btn{flex:1;min-height:44px}.cmd-backdrop{z-index:200;animation:fadeIn .14s var(--ease);background:#0009;justify-content:center;align-items:flex-start;padding:12vh 20px 20px;display:flex;position:fixed;inset:0}.cmd-modal{background:var(--bg-secondary);border:1px solid var(--border-hover);border-radius:var(--radius-lg);width:100%;max-width:580px;max-height:70vh;box-shadow:var(--shadow-lg);animation:modalIn .18s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.cmd-search{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;display:flex}.cmd-search-icon{color:var(--text-muted);flex-shrink:0}.cmd-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:14.5px}.cmd-input::placeholder{color:var(--text-muted)}.cmd-kbd{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-muted);padding:3px 8px;font-family:ui-monospace,monospace;font-size:10px;font-weight:600}.cmd-list{flex:1;padding:6px;overflow-y:auto}.cmd-empty{text-align:center;color:var(--text-muted);padding:28px;font-size:13.5px}.cmd-item{border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;text-align:left;transition:background .1s var(--ease);background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;display:flex}.cmd-item.active{background:var(--accent-soft)}.cmd-item-icon{border-radius:var(--radius-sm);background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cmd-item.active .cmd-item-icon{background:var(--accent);color:#fff}.cmd-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cmd-item-label{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.cmd-item-hint{color:var(--text-muted);font-size:11.5px}.cmd-item-group{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:10.5px}.cmd-footer{border-top:1px solid var(--border);color:var(--text-muted);background:var(--bg-tertiary);gap:16px;padding:10px 20px;font-size:10.5px;display:flex}.cmd-footer kbd{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:9.5px}@media (width<=768px){.onboarding-modal{padding:28px 22px 22px}.onboarding-icon{width:60px;height:60px}.onboarding-title{font-size:18px}.onboarding-text{font-size:13px}.cmd-backdrop{padding:8vh 12px 12px}.cmd-modal{max-height:80vh}.cmd-item-group,.cmd-footer{display:none}}.auth-page{background:radial-gradient(1100px 520px at 15% -10%, var(--accent-soft), transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden auto}.auth-page:before,.auth-page:after{content:"";filter:blur(90px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.auth-page:before{background:var(--accent-soft);opacity:.35;width:460px;height:460px;top:-140px;left:-100px}.auth-page:after{background:var(--accent-soft);opacity:.25;width:380px;height:380px;bottom:-120px;right:-80px}.auth-form{z-index:1;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:authCardIn .5s var(--ease-out) both;flex-direction:column;gap:18px;padding:36px 30px;display:flex;position:relative}.auth-form:before{content:"";border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--accent);opacity:.5;height:2px;position:absolute;inset:0 0 auto}.auth-form-wide{max-width:440px}@keyframes authCardIn{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}.auth-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:2px;display:flex}.auth-logo-mark{border-radius:var(--radius);background:var(--accent);color:#fff;letter-spacing:-.04em;width:44px;height:44px;box-shadow:var(--shadow-accent);justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}@keyframes authLogoPulse{0%,to{box-shadow:0 6px 18px #6e7ff359}50%{box-shadow:0 6px 30px #6e7ff38c}}.auth-logo-text{letter-spacing:-.03em;color:var(--text);font-size:24px;font-weight:800}.auth-head{text-align:center;flex-direction:column;gap:6px;display:flex}.auth-title{color:var(--text);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:700}.auth-subtitle{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.auth-subtitle b{color:var(--text);font-weight:600}.auth-form-inner{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:6px;padding-left:2px;font-size:11.5px;font-weight:600;display:flex}.auth-field-hint{color:var(--text-muted);margin:0;padding-left:2px;font-size:11.5px;line-height:1.5}.auth-field-hint a{color:var(--accent);text-decoration:underline}.auth-input-lg{letter-spacing:.04em;min-height:50px;padding:14px 16px;font-family:ui-monospace,monospace;font-size:15px}.auth-input-lg:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-input-code{text-align:center;letter-spacing:10px;min-height:60px;padding:16px;font-family:ui-monospace,monospace;font-size:26px;font-weight:600}.auth-input-code::placeholder{letter-spacing:10px;opacity:.25}.auth-input-code:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-submit{background:var(--accent);color:#fff;width:100%;min-height:50px;box-shadow:var(--shadow-accent);transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);border:none;gap:6px;font-size:14.5px;font-weight:600}.auth-submit:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-back-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color .12s var(--ease);background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:4px 8px 4px 0;font-size:12.5px;font-weight:500;display:inline-flex}.auth-back-btn:hover{color:var(--text)}.auth-link-btn{color:var(--accent);cursor:pointer;border-radius:var(--radius-xs);transition:background .12s var(--ease);text-align:center;background:0 0;border:none;padding:8px;font-size:13px;font-weight:500}.auth-link-btn:hover:not(:disabled){background:var(--accent-soft)}.auth-link-btn:disabled{color:var(--text-muted);cursor:not-allowed}.auth-error,.auth-info{border-radius:var(--radius-sm);animation:authCardIn .3s var(--ease-out) both;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;line-height:1.4;display:flex}.auth-error{color:var(--danger);background:var(--danger-soft);border:1px solid #ef444440}.auth-info{color:var(--accent);background:var(--accent-soft);border:1px solid var(--border-accent)}.auth-referral-banner{background:var(--accent-soft);border:1px solid var(--border-accent);border-radius:var(--radius);color:var(--accent);animation:authCardIn .4s var(--ease-out) both;align-items:center;gap:10px;padding:12px 14px;font-size:12.5px;font-weight:500;line-height:1.4;display:flex}.auth-referral-banner svg{flex-shrink:0}.auth-qr-wrap{background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border);animation:authCardIn .3s var(--ease-out) both;flex-direction:column;align-items:center;gap:12px;padding:18px;display:flex}.auth-qr-code{border-radius:var(--radius);width:240px;height:240px;box-shadow:0 8px 24px #00000040, 0 0 0 1px var(--border-accent);background:#fff;justify-content:center;align-items:center;padding:10px;display:flex;position:relative}.auth-qr-code canvas{border-radius:6px;width:220px;height:220px;display:block}.auth-qr-logo{letter-spacing:-.04em;color:#fff;background:var(--accent);pointer-events:none;border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:800;display:flex;position:absolute;box-shadow:0 0 0 5px #fff,0 3px 10px #00000040}.auth-qr-timer{color:var(--text-muted);font-size:12.5px}.auth-qr-timer b{color:var(--text);font-variant-numeric:tabular-nums}.auth-open-btn{color:#fff;border-radius:var(--radius);cursor:pointer;width:100%;min-height:50px;animation:authCardIn .3s var(--ease-out) both;transition:transform .15s var(--ease), box-shadow .15s var(--ease), filter .15s var(--ease);background:#2aabee;border:none;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:14.5px;font-weight:600;text-decoration:none;display:flex;box-shadow:0 2px 10px #2aabee52}.auth-open-btn:hover{background:#229ed9;transform:translateY(-1px);box-shadow:0 6px 18px #2aabee66}.auth-open-btn:active{transform:translateY(0)}.auth-open-btn svg{flex-shrink:0}.auth-copy-btn{width:100%;min-height:44px;color:var(--text-secondary);background:var(--bg-tertiary);border:1px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:color .12s var(--ease), border-color .12s var(--ease), background .12s var(--ease);justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-size:12.5px;font-weight:500;display:flex}.auth-copy-btn:hover{color:var(--accent);border-color:var(--border-accent);background:var(--accent-soft)}.auth-copy-btn svg{flex-shrink:0}.auth-qr-hint{background:var(--accent-soft);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.auth-qr-hint-step{color:var(--text-secondary);align-items:center;gap:10px;font-size:12.5px;display:flex}.auth-qr-hint-step span{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.auth-qr-expired,.auth-qr-success{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:32px 20px;display:flex}.auth-qr-expired-icon{font-size:48px;line-height:1}.auth-qr-success-icon{width:80px;height:80px;color:var(--success);background:#22c55e1f;border-radius:50%;justify-content:center;align-items:center;animation:2.4s ease-in-out infinite authLogoPulse;display:flex}.auth-footer{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:8px;margin-top:2px;padding-top:6px;display:flex}.auth-qr-btn{border-radius:var(--radius);border:1px dashed var(--border-hover);width:100%;color:var(--text);cursor:pointer;transition:all .15s var(--ease);background:0 0;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:14px 18px;font-size:14px;font-weight:500;display:inline-flex}.auth-qr-btn:hover{border-style:solid;border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.auth-qr-btn svg{flex-shrink:0}.auth-footer-hint{color:var(--text-muted);text-align:center;margin:0;font-size:11.5px}.auth-methods{flex-direction:column;gap:10px;width:100%;display:flex}.auth-method-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s var(--ease), background .15s var(--ease), transform .15s var(--ease);align-items:center;gap:14px;padding:14px 16px;display:flex}.auth-method-btn>svg:first-child{color:var(--accent);flex-shrink:0}.auth-method-btn>svg:last-child{color:var(--text-muted);flex-shrink:0;margin-left:auto}.auth-method-btn:hover{border-color:var(--border-accent);background:var(--accent-soft);transform:translateY(-1px)}.auth-method-btn:active{transform:translateY(0)}.auth-method-text{flex-direction:column;gap:2px;min-width:0;display:flex}.auth-method-text b{color:var(--text);font-size:14px;font-weight:600}.auth-method-text i{color:var(--text-muted);font-size:12px;font-style:normal}[data-theme=light] .auth-page:before{opacity:.6}[data-theme=light] .auth-page:after{opacity:.4}@media (prefers-reduced-motion:reduce){.auth-page:before,.auth-page:after,.auth-form,.auth-logo-mark,.auth-qr-success-icon,.auth-error,.auth-info,.auth-referral-banner,.auth-qr-wrap,.auth-open-btn{animation:none!important}}@media (width<=480px){.auth-form{padding:28px 22px}.auth-title{font-size:18px}.auth-logo-mark{width:40px;height:40px;font-size:20px}.auth-logo-text{font-size:22px}.auth-input-lg{min-height:48px;font-size:14px}.auth-input-code{letter-spacing:8px;min-height:56px;font-size:22px}.auth-qr-code{width:200px;height:200px}.auth-submit,.auth-open-btn{min-height:48px}.auth-page:before{width:320px;height:320px}.auth-page:after{width:280px;height:280px}}.auth-error-body{flex-direction:column;gap:6px;display:flex}.auth-error-link{color:var(--accent);font-size:12.5px;font-weight:600;text-decoration:underline}.auth-page{background:radial-gradient(900px 480px at 50% -20%, var(--accent-softer), transparent 62%), radial-gradient(700px 480px at 110% 115%, var(--accent-softer), transparent 60%), var(--bg)}.auth-page:before,.auth-page:after{opacity:.14;filter:blur(100px)}.auth-form{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:34px 30px}.auth-form:before{background:var(--accent-grad);opacity:1;height:3px}.auth-logo-mark{background:var(--accent-grad);color:#fff}.auth-input-lg,.auth-input-code,.auth-submit,.auth-method-btn,.auth-qr-btn{border-radius:var(--radius)}.profile-page,.subscription-page,.help-page,.install-page{background:var(--bg);height:100vh;min-height:100vh;color:var(--text);-webkit-overflow-scrolling:touch;overflow:hidden auto}.profile-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);z-index:10;position:sticky;top:0}.profile-header-inner{align-items:center;gap:16px;max-width:720px;margin:0 auto;padding:16px 22px;display:flex}.profile-title{margin:0;font-size:16px;font-weight:600}.profile-content{flex-direction:column;gap:14px;max-width:720px;margin:0 auto;padding:26px 22px 64px;display:flex}.profile-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:20px;display:flex}.profile-card:first-child{flex-direction:row;align-items:center;gap:16px}.profile-avatar{border-radius:var(--radius-lg);background:var(--accent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.profile-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.profile-email{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.profile-meta{flex-wrap:wrap;gap:6px;display:flex}.profile-badge{border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-muted);align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.profile-badge.admin{color:#eab308;background:#eab3081f}.profile-card-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.profile-card-header h2{margin:0;font-size:12px;font-weight:500}.profile-limit-value{letter-spacing:-.02em;align-items:baseline;gap:6px;font-size:38px;font-weight:700;line-height:1;display:flex}.profile-limit-value .danger{color:var(--danger)}.profile-limit-total{color:var(--text-muted);font-size:18px;font-weight:500}.profile-progress{border-radius:var(--radius-full);background:var(--bg-tertiary);height:8px;overflow:hidden}.profile-progress-fill{background:var(--accent);border-radius:var(--radius-full);height:100%;transition:width .35s var(--ease)}.profile-progress-fill.warn{background:var(--warning)}.profile-progress-fill.danger{background:var(--danger)}.profile-hint{color:var(--text-muted);margin:0;font-size:11.5px;line-height:1.5}.profile-stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.profile-stat{background:var(--bg-tertiary);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px;display:flex}.profile-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.profile-stat-value{font-size:22px;font-weight:700}.profile-actions{flex-wrap:wrap;gap:8px;display:flex}.share-brand{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}@media (width<=768px){.profile-content{padding:18px 14px 64px}.profile-header-inner{padding:14px 16px}.profile-stats-grid{grid-template-columns:repeat(2,1fr)}.profile-limit-value{font-size:32px}}@media (width<=400px){.profile-stats-grid{grid-template-columns:1fr}}.referral-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 16px 4px;display:flex}.referral-hero-icon{border-radius:var(--radius-xl);background:var(--accent-soft);width:72px;height:72px;color:var(--accent);box-shadow:var(--shadow-accent);justify-content:center;align-items:center;display:flex}.referral-hero-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:22px;font-weight:700}.referral-hero-text{color:var(--text-muted);max-width:380px;margin:0;font-size:13.5px;line-height:1.55}.referral-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:18px 20px;display:flex}.referral-card-header{color:var(--text-muted);align-items:center;gap:10px;display:flex}.referral-card-header svg{color:var(--accent);flex-shrink:0}.referral-card-header h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:13px;font-weight:600}.referral-bonuses{flex-direction:column;gap:10px;display:flex}.referral-bonus-row{background:var(--bg-tertiary);border-radius:var(--radius);align-items:center;gap:14px;min-width:0;padding:12px 14px;display:flex}.referral-bonus-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.referral-bonus-icon.purple{color:#a855f7;background:#a855f71f}.referral-bonus-icon.green{color:var(--success);background:#22c55e1f}.referral-bonus-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.referral-bonus-value{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:700}.referral-bonus-desc{color:var(--text-muted);font-size:12px;line-height:1.4}.referral-link-box{flex-direction:column;gap:6px;display:flex}.referral-link-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.referral-link-row{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.referral-link-code{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:ui-monospace,monospace;font-size:12px;overflow:hidden}.referral-copy-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.referral-copy-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--border-accent)}.referral-share-btn{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.referral-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.referral-stat{background:var(--bg-tertiary);border-radius:var(--radius);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.referral-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:500;line-height:1.2}.referral-stat-value{color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.1}.referral-stat-value.accent{color:var(--accent)}.referral-invited-list{flex-direction:column;gap:6px;display:flex}.referral-invited-item{background:var(--bg-tertiary);border-radius:var(--radius-sm);align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.referral-invited-avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.referral-invited-info{flex:1;min-width:0}.referral-invited-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.referral-invited-username{color:var(--text-muted);font-size:11.5px;font-weight:400}.referral-invited-date{color:var(--text-muted);margin-top:2px;font-size:11px}.referral-invited-status{color:var(--text-muted);white-space:nowrap;border-radius:var(--radius-full);background:var(--bg);border:1px solid var(--border);flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:500}.referral-invited-status.active{color:var(--success);background:#22c55e1a;border-color:#22c55e40}.referral-steps{flex-direction:column;gap:12px;display:flex}.referral-step{align-items:flex-start;gap:12px;display:flex}.referral-step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.referral-step-text{color:var(--text-secondary);padding-top:3px;font-size:13.5px;line-height:1.5}@media (width<=480px){.referral-hero{padding:12px 8px 0}.referral-hero-icon{width:60px;height:60px}.referral-hero-title{font-size:19px}.referral-hero-text{font-size:13px}.referral-card{gap:12px;padding:16px}.referral-bonus-row{gap:12px;padding:11px 12px}.referral-bonus-icon{width:36px;height:36px}.referral-bonus-value{font-size:14px}.referral-bonus-desc{font-size:11.5px}.referral-stat-value{font-size:20px}.referral-stat{padding:12px}.referral-invited-avatar{width:32px;height:32px;font-size:13px}.referral-invited-item{gap:10px;padding:8px 10px}.referral-invited-name{font-size:12.5px}.referral-invited-status{padding:3px 8px;font-size:10px}}@media (width<=380px){.referral-stats{grid-template-columns:1fr}}.profile-plan-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-plan-name{color:var(--text);font-size:18px;font-weight:600}.profile-plan-expires{color:var(--text-muted);margin-top:4px;font-size:12px}.subscription-container{max-width:1200px;margin:0 auto;padding:36px 22px 64px}.subscription-hero{text-align:center;margin-bottom:36px}.subscription-hero h1{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(26px,3.5vw,36px);font-weight:700}.subscription-hero p{color:var(--text-muted);margin:0;font-size:14.5px}.subscription-message{color:var(--success);border-radius:var(--radius);background:#22c55e1a;border:1px solid #22c55e40;justify-content:center;align-items:center;gap:8px;margin-bottom:26px;padding:12px 18px;font-size:13.5px;font-weight:500;display:flex}.subscription-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:52px;display:grid}.subscription-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .15s var(--ease), transform .15s var(--ease);flex-direction:column;gap:18px;padding:24px 20px;display:flex;position:relative}.subscription-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.subscription-card.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.subscription-badge{background:var(--accent);color:#fff;border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding:4px 12px;font-size:10.5px;font-weight:600;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.subscription-card-head{flex-direction:column;gap:4px;display:flex}.subscription-card-name{color:var(--text);font-size:17px;font-weight:700}.subscription-card-desc{color:var(--text-muted);min-height:34px;font-size:12.5px;line-height:1.4}.subscription-card-price{align-items:baseline;gap:3px;padding:6px 0;display:flex}.price-amount{letter-spacing:-.03em;color:var(--text);font-size:36px;font-weight:800;line-height:1}.price-currency{color:var(--text-muted);font-size:17px;font-weight:600}.price-period{color:var(--text-muted);margin-left:5px;font-size:12.5px}.subscription-card-features{border-top:1px solid var(--border);flex-direction:column;flex:1;gap:9px;padding-top:14px;display:flex}.subscription-feature{color:var(--text-secondary);align-items:center;gap:9px;font-size:12.5px;line-height:1.4;display:flex}.subscription-feature-icon{width:18px;height:18px;color:var(--success);background:#22c55e26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.subscription-card-action{margin-top:auto;padding-top:6px}.subscription-btn{border-radius:var(--radius);cursor:pointer;width:100%;min-height:44px;transition:background .12s var(--ease);border:none;padding:12px 16px;font-size:13.5px;font-weight:500}.subscription-btn.primary{background:var(--accent);color:#fff}.subscription-btn.primary:hover{background:var(--accent-hover)}.subscription-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text)}.subscription-btn.secondary:hover{background:var(--glass-hover)}.subscription-current{border-radius:var(--radius);color:var(--success);background:#22c55e1a;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px;font-size:13.5px;font-weight:500;display:flex}.subscription-faq{max-width:640px;margin:0 auto}.subscription-faq h2{text-align:center;margin:0 0 22px;font-size:18px;font-weight:600}.subscription-faq-list{flex-direction:column;gap:8px;display:flex}.subscription-faq-list details{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.subscription-faq-list details[open]{border-color:var(--border-hover)}.subscription-faq-list summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;font-size:13.5px;font-weight:500;list-style:none;display:flex}.subscription-faq-list summary:after{content:"+";color:var(--text-muted);transition:transform .15s var(--ease);font-size:18px}.subscription-faq-list details[open] summary:after{transform:rotate(45deg)}.subscription-faq-list summary::-webkit-details-marker{display:none}.subscription-faq-list p{color:var(--text-muted);margin:10px 0 0;font-size:13.5px;line-height:1.55}@media (width<=1024px){.subscription-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.subscription-container{padding:24px 16px 64px}.subscription-hero{margin-bottom:28px}.subscription-hero h1{font-size:24px}.subscription-hero p{font-size:13.5px}.subscription-grid{grid-template-columns:1fr}.subscription-card{padding:22px 18px}.price-amount{font-size:32px}.subscription-faq h2{font-size:16px}}.subscription-section{margin-bottom:48px}.subscription-section-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.subscription-section-head h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:700}.subscription-section-head svg{color:var(--accent)}.subscription-section-sub{color:var(--text-muted);width:100%;margin:0;font-size:13px}.packs-grid{grid-template-columns:repeat(4,1fr)}.subscription-card.pack-card{gap:14px;padding:20px 18px}.subscription-card.pack-card.disabled{opacity:.55}.subscription-card.pack-card.current{border-color:var(--success);box-shadow:0 0 0 1px #22c55e33}.subscription-pack-icon{border-radius:var(--radius);background:var(--accent-soft);width:48px;height:48px;color:var(--accent);justify-content:center;align-items:center;display:flex}.subscription-card.pack-card.current .subscription-pack-icon{color:var(--success);background:#22c55e26}.subscription-badge.current{background:var(--success)}.subscription-card-limits{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 0;display:flex}.subscription-limit{color:var(--text-secondary);align-items:center;gap:8px;font-size:12.5px;display:flex}.subscription-limit svg{color:var(--accent);flex-shrink:0}.subscription-limit b{color:var(--text);font-weight:700}.subscription-message.error{background:var(--danger-soft);color:var(--danger);border-color:#ef444440}.subscription-pack-notice{background:var(--accent-soft);border:1px solid var(--border-accent);border-radius:var(--radius);color:var(--accent);align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.subscription-pack-notice svg{flex-shrink:0}.subscription-active-pack{border-radius:var(--radius);background:#22c55e14;border:1px solid #22c55e40;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:14px 18px;display:flex}.subscription-active-pack-info{align-items:center;gap:12px;display:flex}.subscription-active-pack-info svg{color:var(--success);flex-shrink:0}.subscription-active-pack-name{color:var(--text);font-size:14px;font-weight:600}.subscription-active-pack-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.subscription-btn.danger{background:var(--danger-soft);color:var(--danger);border:1px solid #ef44444d}.subscription-btn.danger:hover{border-color:var(--danger);background:#ef444433}@media (width<=1024px){.packs-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.packs-grid{grid-template-columns:1fr}.subscription-section{margin-bottom:32px}.subscription-section-head h2{font-size:18px}.subscription-active-pack{flex-direction:column;align-items:flex-start}}.help-container{flex-direction:column;gap:28px;max-width:780px;margin:0 auto;padding:32px 22px 64px;display:flex}.help-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.help-hero-icon{border-radius:var(--radius-lg);background:var(--accent);color:#fff;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.help-hero h1{letter-spacing:-.02em;margin:0;font-size:25px;font-weight:700}.help-hero p{color:var(--text-muted);margin:0;font-size:14px}.help-shortcuts{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:20px;display:flex}.help-shortcuts-head{align-items:center;gap:8px;display:flex}.help-shortcuts-head h2{margin:0;font-size:14px;font-weight:600}.help-shortcuts-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.help-shortcut{background:var(--bg-tertiary);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.help-keys{align-items:center;gap:4px;display:flex}.help-keys kbd{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);padding:3px 8px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:600}.help-plus{color:var(--text-muted);margin:0 2px}.help-shortcut-desc{color:var(--text-muted);text-align:right;font-size:12.5px}.help-faq{flex-direction:column;gap:14px;display:flex}.help-faq-head{align-items:center;gap:8px;display:flex}.help-faq-head h2{margin:0;font-size:18px;font-weight:600}.help-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.help-group-head{width:100%;color:var(--text);cursor:pointer;text-align:left;transition:background .12s var(--ease);background:0 0;border:none;align-items:center;gap:12px;padding:16px 20px;font-size:14px;font-weight:600;display:flex}.help-group-head:hover{background:var(--glass-hover)}.help-group-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.help-group-title{flex:1}.help-group-arrow{color:var(--text-muted);transition:transform .15s var(--ease);display:flex}.help-group-arrow.open{transform:rotate(90deg)}.help-group-items{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:8px 20px 16px;display:flex}.help-item{border-bottom:1px solid var(--border);padding:12px 0}.help-item:last-child{border-bottom:none}.help-item summary{cursor:pointer;color:var(--text);align-items:center;gap:8px;font-size:13.5px;font-weight:500;list-style:none;display:flex}.help-item summary:before{content:"+";color:var(--text-muted);transition:transform .15s var(--ease);width:14px;font-size:16px;display:inline-block}.help-item[open] summary:before{transform:rotate(45deg)}.help-item summary::-webkit-details-marker{display:none}.help-item p{color:var(--text-muted);margin:10px 0 0 22px;font-size:13.5px;line-height:1.6}.help-cta{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 22px;display:flex}.help-cta-icon{border-radius:var(--radius);background:var(--accent-soft);width:48px;height:48px;color:var(--accent);justify-content:center;align-items:center;margin-bottom:4px;display:flex}.help-cta h3{margin:0;font-size:16px;font-weight:600}.help-cta p{color:var(--text-muted);max-width:400px;margin:0;font-size:13.5px;line-height:1.55}.help-cta kbd{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 7px;font-family:ui-monospace,monospace;font-size:10.5px}.help-cta-btn{min-height:44px;margin-top:8px;padding:12px 22px;text-decoration:none}@media (width<=768px){.help-container{gap:22px;padding:20px 14px 64px}.help-shortcuts-grid{grid-template-columns:1fr}.help-hero h1{font-size:21px}}.install-container{flex-direction:column;gap:22px;max-width:600px;margin:0 auto;padding:28px 22px 64px;display:flex}.install-hero{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.install-preview{border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border);align-items:center;gap:14px;padding:14px 20px;display:flex}.install-preview-icon{border-radius:var(--radius);background:var(--accent);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.install-preview-letter{color:#fff;letter-spacing:-.04em;font-size:26px;font-weight:800;line-height:1}.install-preview-label{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.install-preview-name{color:var(--text);font-size:14px;font-weight:600}.install-preview-sub{color:var(--text-muted);font-size:11.5px}.install-hero h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.install-hero p{color:var(--text-muted);max-width:420px;margin:0;font-size:13.5px;line-height:1.55}.install-segments{background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.install-segment{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:9px 6px;font-size:12.5px;font-weight:500;display:flex}.install-segment:hover{color:var(--text)}.install-segment.active{background:var(--bg-secondary);color:var(--text);box-shadow:var(--shadow-xs)}.install-note{border-radius:var(--radius);background:var(--accent-soft);color:var(--text);align-items:center;gap:10px;padding:12px 16px;font-size:12.5px;line-height:1.5;display:flex}.install-note svg{color:var(--accent);flex-shrink:0}.install-note b{color:var(--accent)}.install-steps{flex-direction:column;display:flex}.install-step{gap:14px;padding-bottom:20px;display:flex;position:relative}.install-step:last-child{padding-bottom:0}.install-step-num{background:var(--accent);color:#fff;z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12.5px;font-weight:700;display:flex;position:relative}.install-step-line{background:var(--border);width:1px;position:absolute;top:30px;bottom:0;left:14px}.install-step-body{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:3px;display:flex}.install-step-head{color:var(--text);align-items:center;gap:8px;display:flex}.install-step-head svg{color:var(--accent);flex-shrink:0}.install-step-head h3{margin:0;font-size:13.5px;font-weight:600;line-height:1.35}.install-step-body p{color:var(--text-muted);margin:0;padding-left:24px;font-size:12.5px;line-height:1.5}.install-benefits{border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:8px;padding:16px;display:grid}.install-benefit{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;line-height:1.4;display:flex}.install-benefit svg{color:var(--success);flex-shrink:0}.install-footer{justify-content:center;padding-top:6px;display:flex}.install-back-btn{min-width:220px}@media (width<=768px){.install-container{gap:18px;padding:20px 16px 52px}.install-hero h1{font-size:20px}.install-segment span{display:none}.install-segment{padding:9px}.install-benefits{grid-template-columns:1fr;gap:6px}.install-step-body p{padding-left:0}.install-back-btn{min-width:100%}}.share-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);z-index:10;position:sticky;top:0}.share-header-inner{align-items:center;gap:16px;max-width:880px;min-height:56px;margin:0 auto;padding:16px 22px;display:flex}.share-brand{color:var(--text);flex-shrink:0;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.share-brand:hover{color:var(--accent);text-decoration:none}.share-title{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.share-content{flex-direction:column;gap:20px;max-width:880px;margin:0 auto;padding:28px 22px 64px;display:flex}.share-error{text-align:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:60px 20px}.share-error h2{margin:0 0 8px;font-size:20px;font-weight:700}.share-error p{color:var(--text-muted);margin:0;font-size:14px}@media (width<=768px){.share-header-inner{padding:12px 14px}.share-content{padding:18px 14px 52px}}.admin-page{background:var(--bg);min-height:100vh;color:var(--text);padding:22px}.admin-container{max-width:1200px;margin:0 auto}.admin-wide{max-width:1400px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.admin-head h1{margin:0;font-size:22px;font-weight:600}.admin-head-sub{color:var(--text-muted);margin:4px 0 0;font-size:13px}.admin-back{align-items:center;gap:4px;padding:9px 14px;text-decoration:none;display:inline-flex}.admin-layout{grid-template-columns:220px 1fr;align-items:start;gap:20px;display:grid}.admin-nav{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:2px;padding:8px;display:flex;position:sticky;top:20px}.admin-nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;transition:all .12s var(--ease);background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;font-weight:500;display:flex}.admin-nav-item:hover{background:var(--glass-hover);color:var(--text)}.admin-nav-item.active{background:var(--accent-soft);color:var(--accent)}.admin-content{min-width:0}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.admin-search-wrap{flex:1;align-items:center;min-width:240px;display:flex;position:relative}.admin-search-wrap-full{width:100%;margin-bottom:12px}.admin-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.admin-search{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);outline:none;padding:10px 36px 10px 38px;font-size:13.5px}.admin-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.admin-search-clear{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:4px;display:flex;position:absolute;right:8px}.admin-search-clear:hover{background:var(--glass-hover);color:var(--text)}.admin-select,.admin-input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text);cursor:pointer;outline:none;min-height:40px;padding:10px 14px;font-size:13.5px}.admin-select:focus,.admin-input:focus{border-color:var(--accent)}.admin-dir-btn{min-width:44px;padding:8px 14px;font-size:16px;font-weight:600}.admin-bulk-bar{background:var(--accent-soft);border:1px solid var(--border-accent);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;padding:12px 16px;display:flex}.admin-bulk-info{color:var(--accent);font-size:13px;font-weight:500}.admin-bulk-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.admin-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all .12s var(--ease);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:var(--accent);color:#fff}.admin-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.admin-btn-secondary{background:var(--bg-tertiary);border-color:var(--border);color:var(--text)}.admin-btn-secondary:hover:not(:disabled){background:var(--glass-hover);border-color:var(--border-hover)}.admin-btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#ef44444d}.admin-btn-danger:hover:not(:disabled){border-color:var(--danger);background:#ef444433}.admin-btn-ok{color:var(--success);background:#22c55e1f;border-color:#22c55e4d}.admin-btn-ok:hover:not(:disabled){background:#22c55e33}.admin-btn-ghost{border-color:var(--border);color:var(--text-secondary);background:0 0}.admin-btn-ghost:hover:not(:disabled){background:var(--glass-hover);color:var(--text)}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px;display:grid}.admin-stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .15s var(--ease), transform .15s var(--ease);align-items:flex-start;gap:14px;padding:18px;display:flex}.admin-stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.admin-stat-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.admin-stat-icon.blue{background:var(--accent-soft);color:var(--accent)}.admin-stat-icon.green{color:var(--success);background:#22c55e1f}.admin-stat-icon.purple{color:#a855f7;background:#a855f71f}.admin-stat-icon.orange{color:var(--warning);background:#f59e0b1f}.admin-stat-icon.red{background:var(--danger-soft);color:var(--danger)}.admin-stat-body{flex:1;min-width:0}.admin-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:11px}.admin-stat-value{color:var(--text);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.15}.admin-stat-sub{color:var(--text-muted);margin-top:4px;font-size:11.5px}.admin-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;overflow:hidden}.admin-panel-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.admin-panel-head h3{margin:0;font-size:14px;font-weight:600}.admin-panel-body{padding:18px}.admin-panel-body.admin-scroll{max-height:340px;overflow-y:auto}.admin-two-col{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.admin-chart{width:100%;position:relative}.admin-chart-svg{width:100%;height:auto;display:block}.admin-chart-empty{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.admin-chart-tooltip{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--radius-sm);pointer-events:none;box-shadow:var(--shadow);white-space:nowrap;z-index:10;padding:8px 12px;font-size:12px;position:absolute;top:8px;transform:translate(-50%)}.admin-chart-tooltip-date{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.admin-chart-tooltip-row{margin:2px 0}.admin-chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:11.5px;display:flex}.admin-chart-legend span{align-items:center;gap:6px;display:flex}.admin-chart-legend i{border-radius:2px;width:10px;height:3px;display:inline-block}.admin-period-buttons{background:var(--bg-tertiary);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.admin-period-btn{border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);background:0 0;border:none;padding:5px 10px;font-size:11.5px;font-weight:500}.admin-period-btn:hover{color:var(--text)}.admin-period-btn.active{background:var(--bg-secondary);color:var(--text)}.admin-usage-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:13.5px;display:flex}.admin-usage-row:last-child{border-bottom:none}.admin-usage-row b{font-size:16px;font-weight:600}.admin-plan-row{margin-bottom:12px}.admin-plan-info{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.admin-plan-bar{background:var(--bg-tertiary);border-radius:var(--radius-full);height:6px;overflow:hidden}.admin-plan-bar-fill{background:var(--accent);height:100%;transition:width .3s var(--ease)}.admin-mini-table{border-collapse:collapse;width:100%;font-size:12.5px}.admin-mini-table th{text-align:left;text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;border-bottom:1px solid var(--border);padding:8px 10px;font-size:10.5px;font-weight:600}.admin-mini-table td{border-bottom:1px solid var(--border);padding:10px}.admin-mini-table tr:last-child td{border-bottom:none}.admin-mini-table tr:hover{background:var(--glass-hover)}.admin-rank{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600}.admin-table-wrap{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;overflow:auto hidden}.admin-table{border-collapse:collapse;width:100%;font-size:12.5px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.admin-table th{background:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;font-size:10.5px;font-weight:600}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--glass-hover)}.admin-table tr.row-banned{opacity:.55}.admin-table tr.row-selected{background:var(--accent-soft)}.admin-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-th-sortable:hover{color:var(--text)}.admin-th-checkbox,.admin-td-checkbox{width:36px}.admin-checkbox{cursor:pointer;width:15px;height:15px;accent-color:var(--accent)}.admin-email-cell{align-items:center;gap:6px;display:flex}.admin-email-link{color:var(--text);cursor:pointer;transition:color .12s var(--ease);font-weight:500}.admin-email-link:hover{color:var(--accent);text-decoration:underline}.admin-num{font-variant-numeric:tabular-nums}.admin-muted{color:var(--text-muted);font-size:11.5px}.admin-date{color:var(--text-muted);white-space:nowrap;font-size:11.5px}.admin-ip{color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:11.5px}.admin-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.admin-empty-cell{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.admin-limit-cell{flex-direction:column;gap:4px;min-width:60px;display:flex}.admin-limit-bar{background:var(--bg-tertiary);border-radius:var(--radius-full);height:3px;overflow:hidden}.admin-limit-bar-fill{background:var(--accent);height:100%;transition:width .2s}.admin-limit-bar-fill.warn{background:var(--warning)}.admin-limit-bar-fill.danger{background:var(--danger)}.admin-badge{border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-muted);white-space:nowrap;text-transform:lowercase;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.admin-badge.admin{color:#eab308;background:#eab30824}.admin-badge.danger{color:var(--danger);background:var(--danger-soft)}.admin-badge.ok{color:var(--success);background:#22c55e24}.admin-badge.self{color:var(--accent);background:var(--accent-soft)}.admin-badge.small{padding:2px 6px;font-size:9px}.admin-plan-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.admin-plan-badge.plan-free{background:var(--bg-tertiary);color:var(--text-muted)}.admin-plan-badge.plan-mini{color:#3b82f6;background:#3b82f626}.admin-plan-badge.plan-pro{background:var(--accent-soft);color:var(--accent)}.admin-plan-badge.plan-max{color:#a855f7;background:#a855f726}.admin-plan-badge.plan-team{color:var(--success);background:#22c55e26}.admin-action-badge{border-radius:var(--radius-xs);background:var(--bg-tertiary);color:var(--text-secondary);padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.admin-action-badge.action-ban_user,.admin-action-badge.action-bulk_ban,.admin-action-badge.action-delete_user,.admin-action-badge.action-bulk_delete{background:var(--danger-soft);color:var(--danger)}.admin-action-badge.action-unban_user,.admin-action-badge.action-bulk_unban{color:var(--success);background:#22c55e1f}.admin-action-badge.action-change_plan{background:var(--accent-soft);color:var(--accent)}.admin-icon-btn{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:all .12s var(--ease);justify-content:center;align-items:center;display:inline-flex}.admin-icon-btn:hover{background:var(--glass-hover);color:var(--text)}.admin-icon-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.admin-icon-btn.ok{color:var(--success)}.admin-actions{align-items:center;gap:4px;display:flex}.admin-pagination{justify-content:center;align-items:center;gap:12px;padding:12px;display:flex}.admin-pagination-info{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.admin-error-box{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius);border:1px solid #ef444440;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;font-size:13px;display:flex}.admin-error-box button{color:inherit;cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:4px;display:flex}.admin-error-box button:hover{background:#ef444426}.admin-loading{text-align:center;color:var(--text-muted);padding:40px;font-size:13.5px}.admin-empty-state{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:13.5px;display:flex}.admin-messages-list{flex-direction:column;gap:10px;display:flex}.admin-message-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.admin-message-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;font-size:11.5px;display:flex}.admin-msg-role{border-radius:var(--radius-xs);text-transform:uppercase;padding:2px 8px;font-size:10px;font-weight:600}.admin-msg-role.user{background:var(--accent-soft);color:var(--accent)}.admin-msg-role.assistant{color:var(--success);background:#22c55e1f}.admin-message-user{color:var(--text-secondary);font-weight:500}.admin-message-title{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;max-width:260px;overflow:hidden}.admin-message-time{color:var(--text-muted);white-space:nowrap;font-size:11px}.admin-message-content{color:var(--text-secondary);word-break:break-word;white-space:pre-wrap;max-height:120px;font-size:13px;line-height:1.5;overflow:hidden}.admin-user-modal{width:640px;max-width:100%;max-height:90vh;overflow-y:auto}.admin-user-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-user-modal-title{word-break:break-all;margin:0 0 6px;font-size:18px;font-weight:600}.admin-user-modal-badges{flex-wrap:wrap;gap:6px;display:flex}.admin-user-info-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.admin-user-info-item{background:var(--bg-tertiary);border-radius:var(--radius-sm);gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.admin-user-info-item svg{color:var(--text-muted);flex-shrink:0;margin-top:3px}.admin-user-info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:10.5px}.admin-user-telegram{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-sm);padding:10px 14px;font-size:12.5px}.admin-user-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.admin-user-stat{background:var(--bg-tertiary);border-radius:var(--radius-sm);text-align:center;padding:12px}.admin-user-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:10.5px}.admin-user-stat-value{letter-spacing:-.02em;font-size:22px;font-weight:700}.admin-user-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-user-edit{background:var(--bg-tertiary);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.admin-user-edit-label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12.5px;display:flex}.admin-user-edit-checkbox{cursor:pointer;flex-direction:row;align-items:center;gap:8px}.admin-user-edit-actions{gap:8px;margin-top:6px;display:flex}.admin-user-edit-actions .btn-secondary,.admin-user-edit-actions .btn-primary{flex:1}.admin-user-section{margin-top:4px}.admin-user-section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;margin-bottom:10px;font-size:11px;font-weight:600}.admin-user-chats{flex-direction:column;gap:4px;display:flex}.admin-user-chat{background:var(--bg-tertiary);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:12.5px;display:flex}.admin-user-chat-main{flex:1;min-width:0}.admin-user-chat-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.admin-user-chat-meta{color:var(--text-muted);font-size:10.5px}.admin-user-chat-badges{color:var(--text-muted);align-items:center;gap:6px;display:flex}.admin-ip-form{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.admin-ip-form .admin-input{flex:1;min-width:200px}.admin-plan-options{flex-wrap:wrap;gap:8px;display:flex}.admin-plan-option{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);cursor:pointer;transition:all .12s var(--ease);padding:10px 16px}.admin-plan-option:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.admin-link-name{color:var(--text);cursor:pointer;transition:color .12s var(--ease), border-color .12s var(--ease);border-bottom:1px dashed #0000;font-weight:500}.admin-link-name:hover{color:var(--accent);border-bottom-color:var(--accent)}.admin-link-code{border-radius:var(--radius-xs);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text);letter-spacing:.06em;padding:3px 9px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11.5px;display:inline-block}.admin-link-url-row{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:14px;padding:8px 10px;display:flex}.admin-link-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:1;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.admin-row-actions{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.admin-btn-icon{padding:6px 8px;line-height:0}.admin-btn-icon svg{display:block}.admin-accent-green{color:var(--success);font-variant-numeric:tabular-nums}.admin-stats-grid-compact{gap:8px;margin-bottom:14px}.admin-stats-grid-compact .admin-stat-card{border-radius:var(--radius);padding:12px 14px}.admin-stats-grid-compact .admin-stat-value{font-size:20px}.admin-detail-rows{color:var(--text-secondary);flex-direction:column;gap:6px;margin-bottom:6px;font-size:12.5px;display:flex}.admin-detail-rows>div{align-items:center;gap:8px;min-width:0;display:flex}.admin-detail-rows svg{color:var(--text-muted);flex-shrink:0}.admin-detail-rows b{color:var(--text);font-weight:500}.admin-toggle{border:1px solid var(--border);background:var(--bg-tertiary);cursor:pointer;width:38px;height:21px;transition:background .15s var(--ease), border-color .15s var(--ease);border-radius:999px;flex-shrink:0;padding:0;position:relative}.admin-toggle span{background:var(--text-muted);width:15px;height:15px;transition:transform .15s var(--ease), background .15s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.admin-toggle:hover{border-color:var(--border-hover)}.admin-toggle.on{background:#22c55e2e;border-color:#22c55e73}.admin-toggle.on span{background:var(--success);transform:translate(17px)}.admin-head-left{align-items:flex-start;gap:10px;min-width:0;display:flex}.admin-burger{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:38px;height:38px;color:var(--text);transition:background .12s var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:none}.admin-burger:hover{background:var(--glass-hover)}.admin-overlay{z-index:40;background:#0009;display:none;position:fixed;inset:0}.admin-nav-mobile-head,.admin-nav-close{display:none}@media (width<=1024px){.admin-two-col,.admin-user-info-grid{grid-template-columns:1fr}}@media (width<=900px){.admin-layout{grid-template-columns:1fr;gap:14px}.admin-nav{z-index:50;border:none;border-right:1px solid var(--border);width:280px;max-width:85vw;transition:transform .24s var(--ease-out);border-radius:0;margin:0;padding:14px 12px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:16px 0 48px #0006}.admin-nav.open{transform:translate(0)}.admin-nav-mobile-head{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:2px 6px 12px;font-size:13px;font-weight:600;display:flex}.admin-nav-close{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:34px;height:34px;color:var(--text-muted);transition:all .12s var(--ease);background:0 0;justify-content:center;align-items:center;display:flex}.admin-nav-close:hover{color:var(--text);background:var(--glass-hover)}.admin-nav-item{padding:12px 14px}.admin-overlay.show{display:block}.admin-burger{display:flex}}@media (width<=768px){.admin-page{padding:14px}.admin-head h1{font-size:18px}.admin-stats-grid{grid-template-columns:1fr}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-search-wrap{min-width:0}.admin-user-stats{grid-template-columns:1fr}.admin-user-modal{width:100%}.admin-table th,.admin-table td{padding:8px 10px}.admin-table{font-size:11.5px}.admin-ip-form{flex-direction:column}.admin-input{min-width:0}}
