.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:8px;background:var(--color-card);box-shadow:0 4px 12px #00000026;min-width:280px;max-width:400px;pointer-events:auto;animation:slideDown .3s ease-out;transition:all .3s ease}.toast-hide{opacity:0;transform:translateY(-20px)}.toast-icon{font-size:20px;flex-shrink:0}.toast-message{flex:1;font-size:14px;color:var(--color-text);line-height:1.5}.toast-close{background:none;border:none;font-size:20px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.toast-close:hover{background:#0000000d;color:var(--color-text)}.toast-success{border-left:4px solid #52c41a}.toast-success .toast-icon{color:#52c41a}.toast-error{border-left:4px solid #ff4d4f}.toast-error .toast-icon{color:#ff4d4f}.toast-warning{border-left:4px solid #faad14}.toast-warning .toast-icon{color:#faad14}.toast-info{border-left:4px solid #1890ff}.toast-info .toast-icon{color:#1890ff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;animation:fadeIn .4s ease-out}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.6;animation:bounce 2s infinite}.empty-state-title{font-size:18px;font-weight:600;color:var(--color-text);margin:0 0 8px}.empty-state-description{font-size:14px;color:var(--color-text-secondary);margin:0 0 20px;line-height:1.6}.empty-state-action{padding:10px 24px;border-radius:8px;border:none;background:var(--gradient-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.empty-state-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.empty-state-action:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:pageEnter .3s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-enhanced{transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,var(--color-card) 0%,rgba(255,255,255,.05) 100%)}.card-enhanced:active{transform:scale(.98) translateY(2px);box-shadow:var(--shadow-sm)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ripple:active:after{width:300px;height:300px}.empty-state-enhanced{text-align:center;padding:40px 20px;animation:fadeInUp .5s ease-out}.empty-state-icon-large{font-size:64px;margin-bottom:16px;animation:bounce 2s infinite;display:inline-block}.empty-state-title-large{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:8px}.empty-state-description-large{font-size:14px;color:var(--color-text-3);line-height:1.6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.spinner-enhanced{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shimmer{background:linear-gradient(90deg,var(--color-div) 0%,rgba(255,255,255,.1) 50%,var(--color-div) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.gradient-border{position:relative;border-radius:12px}.gradient-border:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:14px;background:var(--gradient-primary);z-index:-1;opacity:0;transition:opacity .3s}.gradient-border:hover:before,.gradient-border:active:before{opacity:1}.floating{animation:floating 3s ease-in-out infinite}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.scale-in{animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.slide-in-left{animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.glow{box-shadow:0 0 20px #6366f14d;transition:box-shadow .3s}.glow:hover,.glow:active{box-shadow:0 0 30px #6366f180}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}html{scroll-behavior:smooth}.list-item-enhanced{transition:all .2s ease;border-left:3px solid transparent}.list-item-enhanced:active{background:var(--color-primary-light);border-left-color:var(--color-primary);transform:translate(4px)}.badge-bounce{animation:badgeBounce .5s ease}@keyframes badgeBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.progress-animated{background:var(--gradient-primary);background-size:200% 100%;animation:progressMove 2s linear infinite}@keyframes progressMove{0%{background-position:0% 0%}to{background-position:200% 0%}}button:active,a:active,[role=button]:active,.clickable:active{transform:scale(.97);opacity:.9;transition:all .1s ease}.card-press{transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}.card-press:active{transform:scale(.98) translateY(2px);box-shadow:0 2px 4px #0000001a}.btn-press{position:relative;overflow:hidden;transition:all .15s ease}.btn-press:active{transform:scale(.96);background-color:#0000000d}.list-slide{transition:transform .2s ease,background-color .2s ease;border-left:3px solid transparent}.list-slide:active{transform:translate(6px);background-color:var(--color-primary-light);border-left-color:var(--color-primary)}.tab-switch{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.tab-switch:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:var(--color-primary);transition:all .2s ease;transform:translate(-50%)}.tab-switch.active:after,.tab-switch:active:after{width:80%}.icon-bounce:active{animation:iconBounce .3s ease}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media(hover:hover){.btn-press:hover,.card-press:hover,.list-slide:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.haptic{transition:transform .05s ease}.haptic:active{transform:scale(.95)}.nav-item{transition:all .2s ease;position:relative}.nav-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-primary);opacity:0;transition:opacity .2s ease;border-radius:inherit}.nav-item:active:before{opacity:.1}.menu-item{transition:all .2s ease;position:relative}.menu-item:after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-50%);opacity:.3;transition:all .2s ease}.menu-item:active{background-color:var(--color-primary-light)}.menu-item:active:after{opacity:.6;transform:translateY(-50%) translate(4px)}:root{--color-primary: #6366f1;--color-primary-light: rgba(99,102,241,.15);--color-primary-dark: #818cf8;--color-accent: #8b5cf6;--color-profit: #10b981;--color-profit-bg: rgba(16,185,129,.15);--color-loss: #ef4444;--color-loss-bg: rgba(239,68,68,.15);--color-text: #f1f5f9;--color-text-2: #94a3b8;--color-text-3: #64748b;--color-bg: #0b1120;--color-card: #1e293b;--color-card-elevated: #334155;--color-border: #334155;--color-div: #1e293b;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-primary: 0 4px 20px rgba(99,102,241,.3);--safe-b: env(safe-area-inset-bottom, 0px);--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-accent: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--tabbar-bg: rgba(15,23,42,.92);--tabbar-blur: saturate(180%) blur(20px);--tabbar-text: #64748b;--tabbar-text-active: #818cf8;--color-bg-2: #0f172a;--adm-color-background: #0b1120;--adm-color-card: #1e293b;--adm-color-text: #f1f5f9;--adm-color-border: #334155;--adm-color-primary: #6366f1}[data-theme=light]{--color-primary-light: #eef2ff;--color-primary-dark: #4f46e5;--color-profit-bg: #d1fae5;--color-loss-bg: #fee2e2;--color-text: #0f172a;--color-text-2: #475569;--color-text-3: #94a3b8;--color-bg: #f8fafc;--color-card: #ffffff;--color-card-elevated: #ffffff;--color-border: #e2e8f0;--color-div: #f1f5f9;--shadow-sm: 0 1px 3px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.06);--shadow-lg: 0 8px 32px rgba(0,0,0,.08);--tabbar-bg: rgba(255,255,255,.92);--tabbar-text: #94a3b8;--tabbar-text-active: #6366f1;--color-bg-2: #f1f5f9;--adm-color-background: #f8fafc;--adm-color-card: #ffffff;--adm-color-text: #0f172a;--adm-color-border: #e2e8f0;--adm-color-primary: #6366f1}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif;font-size:14px;color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#root{min-height:100vh;padding-bottom:calc(60px + var(--safe-b) + 8px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-slide-in{animation:slideIn .25s ease-out}.fade-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1) both}.fade-in{animation:fadeIn .4s ease both}.gt-card{background:var(--color-card);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);margin-bottom:12px;animation:fadeIn .3s ease-out}.gt-card-title{font-size:15px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:6px}.asset-hero{background:var(--gradient-primary);border-radius:var(--radius-xl);padding:24px 20px;color:#fff;box-shadow:var(--shadow-primary);margin-bottom:16px;position:relative;overflow:hidden;animation:slideUp .4s ease-out}.asset-hero:before{content:"";position:absolute;top:-40%;right:-25%;width:220px;height:220px;background:#ffffff14;border-radius:50%}.asset-hero:after{content:"";position:absolute;bottom:-30%;left:-15%;width:160px;height:160px;background:#ffffff0d;border-radius:50%}.asset-hero-label{font-size:12px;opacity:.85;margin-bottom:4px;position:relative;z-index:1}.asset-hero-value{font-size:32px;font-weight:800;letter-spacing:-.5px;position:relative;z-index:1}.asset-hero-sub{font-size:13px;opacity:.9;display:flex;align-items:center;gap:8px;margin-top:6px;position:relative;z-index:1}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.stats-grid.c3{grid-template-columns:repeat(3,1fr)}.stats-grid.c4{grid-template-columns:repeat(4,1fr)}.stat-cell{background:var(--color-card);border-radius:var(--radius-md);padding:14px 10px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.stat-cell:active{transform:scale(.97);box-shadow:var(--shadow-md)}.stat-cell .lb{font-size:11px;color:var(--color-text-3);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-cell .vl{font-size:20px;font-weight:700}.stat-cell .vl.p{color:var(--color-profit)}.stat-cell .vl.l{color:var(--color-loss)}.stat-cell .vl.b{color:var(--color-primary)}.stat-cell .sb{font-size:11px;color:var(--color-text-3);margin-top:2px}.ticker-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--color-div);transition:background .15s}.ticker-row:last-child{border-bottom:none}.ticker-row:active{background:var(--color-primary-light);margin:0 -16px;padding:14px 16px;border-radius:var(--radius-sm)}.tk-info{flex:1;min-width:0}.tk-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-code{font-size:12px;color:var(--color-text-3);margin-top:2px}.tk-tags{display:flex;gap:4px;margin-top:4px}.tk-right{display:flex;align-items:center;gap:10px}.tk-market{text-align:right;min-width:72px}.tk-price{font-size:15px;font-weight:700;line-height:1.3}.tk-chg{font-size:12px;font-weight:600;line-height:1.3}.ticker-actions{display:flex;flex-direction:column;gap:5px}.buy-btn,.sell-btn{padding:5px 12px;font-size:12px;min-width:42px;border-radius:6px}.buy-btn,.sell-btn{border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001f;min-width:48px}.buy-btn{background:linear-gradient(135deg,#ef4444,#dc2626)}.buy-btn:active{transform:scale(.92);background:linear-gradient(135deg,#dc2626,#b91c1c)}.sell-btn{background:linear-gradient(135deg,#22c55e,#16a34a)}.sell-btn:active{transform:scale(.92);background:linear-gradient(135deg,#16a34a,#15803d)}.grid-card{background:var(--color-card);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);margin-bottom:12px;border-left:4px solid var(--color-primary);transition:transform .2s,box-shadow .2s;animation:fadeIn .3s ease-out}.grid-card:active{transform:scale(.98);box-shadow:var(--shadow-md)}.grid-card.off{border-left-color:var(--color-text-3)}.grid-card-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.grid-card-nm{font-size:15px;font-weight:600}.grid-st{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:600}.grid-st.on{background:var(--color-profit-bg);color:var(--color-profit)}.grid-st.off{background:#f3f4f6;color:var(--color-text-3)}.grid-bd{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin:12px 0;font-size:13px}.grid-bd .lb{color:var(--color-text-3)}.grid-bd .vl{text-align:right;font-weight:600}.grid-ft{display:flex;gap:8px;justify-content:flex-end}.trade-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--color-div);transition:background .15s}.trade-row:last-child{border-bottom:none}.trade-row:active{background:var(--color-primary-light);margin:0 -16px;padding:14px 16px;border-radius:var(--radius-sm)}.tr-sym{font-size:14px;font-weight:600}.tr-meta{font-size:12px;color:var(--color-text-3);margin-top:2px}.tr-amt{font-size:14px;font-weight:700;text-align:right}.tr-amt.p{color:var(--color-profit)}.tr-amt.l{color:var(--color-loss)}.tr-side{font-size:11px;padding:2px 8px;border-radius:6px;font-weight:600}.tr-side.buy{background:var(--color-loss-bg);color:var(--color-loss)}.tr-side.sell{background:var(--color-profit-bg);color:var(--color-profit)}.page-hd{display:flex;align-items:center;justify-content:space-between;padding:18px 0 14px}.page-title{font-size:22px;font-weight:700}.page-sub{font-size:12px;color:var(--color-text-3);margin-top:2px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-item{display:flex;flex-direction:column;align-items:center;padding:14px 4px;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.quick-item:active{background:var(--color-primary-light);transform:scale(.95)}.qi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:6px;transition:transform .2s;box-shadow:0 2px 8px #0000000f}.quick-item:active .qi-icon{transform:scale(.9)}.qi-label{font-size:12px;color:var(--color-text-2);font-weight:500}.empty-st{text-align:center;padding:48px 20px;color:var(--color-text-3);animation:fadeIn .4s ease-out}.empty-st .ei{font-size:52px;margin-bottom:16px;opacity:.4}.chart-box{position:relative;width:100%;height:200px;margin:8px 0}.chart-box canvas{width:100%;height:100%}.tab-sw{display:flex;background:var(--color-div);border-radius:var(--radius-md);padding:3px;margin-bottom:12px}.tab-sw .ti{flex:1;text-align:center;padding:9px 0;font-size:13px;font-weight:500;color:var(--color-text-2);border-radius:var(--radius-sm);cursor:pointer;transition:all .25s}.tab-sw .ti.on{background:var(--color-card);color:var(--color-primary);font-weight:600;box-shadow:var(--shadow-sm)}.tab-sw .ti:active{transform:scale(.96)}.px{padding-left:16px;padding-right:16px}.tp{color:var(--color-profit)!important}.tl{color:var(--color-loss)!important}.tm{color:var(--color-text-3)!important}.tb{color:var(--color-primary)!important}.fb{display:flex;justify-content:space-between;align-items:center}.fc{display:flex;align-items:center;gap:8px}.adm-tab-bar{border-top:1px solid var(--color-border)!important;background:var(--tabbar-bg)!important;-webkit-backdrop-filter:var(--tabbar-blur);backdrop-filter:var(--tabbar-blur);padding-bottom:var(--safe-b)!important;box-shadow:0 -1px 24px #0003!important}.adm-tab-bar-item{transition:all .25s ease;color:var(--tabbar-text)!important}.adm-tab-bar-item-active{color:var(--tabbar-text-active)!important;transform:scale(1.05)}.adm-tab-bar-item-active .adm-tab-bar-item-icon{filter:drop-shadow(0 2px 6px rgba(99,102,241,.35))}.adm-button{border-radius:var(--radius-sm)!important;font-weight:500!important;transition:all .2s!important;box-shadow:none!important}.adm-button:active{transform:scale(.96)!important}.adm-button-primary{background:var(--gradient-primary)!important;border:none!important;box-shadow:var(--shadow-primary)!important}.adm-button-primary:active{box-shadow:0 2px 8px #4f6ef733!important;filter:brightness(.95)!important}.adm-button-danger{background:linear-gradient(135deg,#ef4444,#dc2626)!important;border:none!important;box-shadow:0 4px 12px #ef444433!important}.adm-button-danger:active{filter:brightness(.95)!important}.adm-button.adm-button-fill-outline{border:1.5px solid var(--color-border)!important;background:var(--color-card)!important;box-shadow:none!important}.adm-button.adm-button-fill-outline:active{background:var(--color-primary-light)!important;border-color:var(--color-primary)!important}.adm-button.adm-button-fill-outline.adm-button-primary{color:var(--color-primary)!important;border-color:var(--color-primary)!important;background:var(--color-primary-light)!important}.adm-button.adm-button-fill-outline.adm-button-danger{color:var(--color-loss)!important;border-color:var(--color-loss)!important;background:var(--color-loss-bg)!important}.adm-button.adm-button-mini{border-radius:6px!important;font-size:12px!important;padding:2px 10px!important;font-weight:600!important}.adm-button.adm-button-small{border-radius:var(--radius-sm)!important;font-size:13px!important;padding:6px 14px!important}.adm-button.adm-button-large{border-radius:var(--radius-md)!important;font-size:16px!important;padding:14px 24px!important}.adm-button.adm-button-block{border-radius:var(--radius-md)!important}.adm-tag{font-size:10px!important;border-radius:6px!important}.adm-list-item-content{border-bottom-color:var(--color-div)!important}.adm-list-item:active{background:var(--color-primary-light)!important}.adm-input{--font-size:14px;--color:var(--color-text);--placeholder-color:var(--color-text-3)}.adm-input input{border-radius:var(--radius-sm)!important;background:transparent!important;color:var(--color-text)!important}.adm-input input::placeholder{color:var(--color-text-3)!important}.adm-form-item-label{color:var(--color-text-2)!important}.adm-list-body,.adm-list-item{background:var(--color-card)!important;border-color:var(--color-border)!important}.adm-list-item-content{border-color:var(--color-border)!important;color:var(--color-text)!important}.adm-modal-body{border-radius:var(--radius-xl)!important;background:var(--color-card)!important}.adm-modal-footer{gap:8px!important}.adm-modal-footer .adm-button{border-radius:var(--radius-sm)!important}.adm-modal-content,.adm-modal-title{color:var(--color-text)!important}.adm-popup-body{background:var(--color-card)!important}.adm-toast-mask .adm-toast-main{border-radius:var(--radius-md)!important;background:var(--color-card-elevated)!important;color:var(--color-text)!important}.adm-safe-area{background:var(--color-bg)!important}.adm-form-item-label{font-weight:500!important}.adm-radio{padding:10px 14px!important;border-radius:var(--radius-sm)!important;transition:background .2s!important}.adm-radio-checked{background:var(--color-primary-light)!important}.adm-space-vertical{gap:8px!important}.adm-pull-to-refresh-head-content{color:var(--color-primary)!important}.page-slide-enter{opacity:0;transform:translate(30px)}.page-slide-enter-active{opacity:1;transform:translate(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.page-slide-exit{opacity:1;transform:translate(0)}.page-slide-exit-active{opacity:0;transform:translate(-30px);transition:all .25s cubic-bezier(.4,0,.2,1)}.skeleton{background:linear-gradient(90deg,var(--color-div) 25%,var(--color-border) 50%,var(--color-div) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.glass-card{background:var(--color-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .25s ease}.glass-card:active{box-shadow:var(--shadow-lg);transform:scale(.99)}.fab{position:fixed;right:16px;bottom:calc(80px + var(--safe-b));width:52px;height:52px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:var(--shadow-primary);z-index:90;transition:all .25s ease;border:none;cursor:pointer}.fab:active{transform:scale(.9);box-shadow:0 2px 12px #6366f166}.notif-dot{position:relative}.notif-dot:after{content:"";position:absolute;top:0;right:0;width:8px;height:8px;background:#ef4444;border-radius:50%;border:2px solid var(--color-card)}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.num-tick{display:inline-block;animation:countUp .4s ease-out}.safe-bottom{padding-bottom:calc(60px + var(--safe-b) + 12px)}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}.auth-page{min-height:100vh;background:var(--gradient-primary);padding:0 20px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-bg-decor{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none}.auth-bg-circle{position:absolute;border-radius:50%;background:#ffffff14}.auth-bg-circle-1{top:-10%;right:-10%;width:200px;height:200px}.auth-bg-circle-2{bottom:20%;left:-5%;width:150px;height:150px;background:#ffffff0d}.auth-header{text-align:center;margin-bottom:40px;position:relative;z-index:1;animation:slideDown .5s ease-out}.auth-logo{width:72px;height:72px;border-radius:20px;background:#ffffff26;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a;transition:transform .3s ease}.auth-logo:active{transform:scale(.95) rotate(5deg)}.auth-title{color:#fff;font-size:26px;margin:0;font-weight:700;letter-spacing:-.02em}.auth-subtitle{color:#fffc;margin-top:8px;font-size:14px}.auth-card{background:var(--color-card);border-radius:24px;padding:28px 24px;box-shadow:var(--shadow-lg);position:relative;z-index:1;animation:slideUp .4s ease-out}.auth-form-label{font-weight:500;color:var(--color-text)}.auth-btn-primary{height:48px;font-size:16px;border-radius:12px;background:var(--gradient-primary);border:none;font-weight:600;box-shadow:var(--shadow-primary);transition:all .2s ease}.auth-btn-primary:active{transform:scale(.98);box-shadow:0 2px 8px #6366f14d;filter:brightness(.95)}.auth-btn-secondary{color:var(--color-text-2);font-size:14px;background:transparent;border:none}.auth-btn-secondary span{color:var(--color-primary);font-weight:600}.auth-footer-text{text-align:center;margin-top:32px;color:#ffffff80;font-size:12px;position:relative;z-index:1}.auth-code-input{display:flex;gap:10px}.auth-code-btn{white-space:nowrap;min-width:100px;border-radius:10px;font-weight:600;transition:all .2s}.auth-code-btn:disabled{background:var(--color-bg-2);color:var(--color-text-3)}.auth-code-btn:not(:disabled){background:var(--gradient-primary);color:#fff;border:none}.auth-code-btn:not(:disabled):active{transform:scale(.95);filter:brightness(.9)}.auth-hint{color:var(--color-text-3);font-size:12px;margin:4px 0 0;padding-left:4px}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.adm-capsule-tabs{background:var(--color-bg-2)!important;border-radius:var(--radius-md);padding:4px}.adm-capsule-tabs-tab{color:var(--color-text-2)!important}.adm-capsule-tabs-tab-active{color:#fff!important;background:var(--gradient-primary)!important;border-radius:var(--radius-sm)}.adm-input-wrapper{background:transparent!important}.adm-input{background:transparent!important;color:var(--color-text)!important}.adm-form-item,.adm-list-item{background:transparent!important}.reg-pwd-wrap{position:relative;display:flex;align-items:center}.reg-pwd-wrap .adm-input-wrapper{flex:1}.reg-pwd-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-text-3);font-size:20px;cursor:pointer;padding:4px;z-index:2;transition:color .2s}.reg-pwd-eye:active{color:var(--color-primary)}.reg-pwd-strength{display:flex;align-items:center;gap:8px;margin:-4px 0 12px;padding-left:4px}.reg-pwd-strength-bar{flex:1;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.reg-pwd-strength-fill{height:100%;border-radius:2px;transition:all .3s ease}.reg-agreement{margin:8px 0 4px}.reg-agreement .adm-checkbox-content{font-size:13px;line-height:1.5}.reg-agreement a{color:var(--color-primary);text-decoration:none;font-weight:500}.ai-page{display:flex;flex-direction:column;height:100vh;background:var(--color-bg)}.ai-header{background:var(--gradient-primary);padding:14px 16px;color:#fff;display:flex;align-items:center;gap:10px;flex-shrink:0}.ai-avatar{width:36px;height:36px;border-radius:10px;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .3s ease}.ai-avatar:active{transform:scale(.9) rotate(-10deg)}.ai-header-info{flex:1}.ai-title{font-size:16px;font-weight:600}.ai-subtitle{font-size:11px;opacity:.8}.ai-settings-btn{cursor:pointer;font-size:22px;opacity:.9;transition:all .2s}.ai-settings-btn:active{transform:scale(.9);opacity:1}.ai-messages{flex:1;overflow-y:auto;padding:12px 12px 80px}.ai-msg-row{display:flex;margin-bottom:14px;animation:messageSlideIn .3s ease-out}.ai-msg-row.user{justify-content:flex-end}.ai-msg-row.ai{justify-content:flex-start}.ai-msg-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;margin-top:2px}.ai-msg-avatar.ai-avatar-icon{background:var(--gradient-primary);margin-right:8px}.ai-msg-avatar.user-avatar-icon{background:var(--color-primary-light);margin-left:8px;font-size:14px}.ai-msg-bubble{max-width:75%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.6;box-shadow:0 1px 4px #0000000f;white-space:pre-wrap;transition:transform .2s}.ai-msg-bubble.user{border-radius:16px 16px 4px;background:var(--gradient-primary);color:#fff}.ai-msg-bubble.ai{border-radius:16px 16px 16px 4px;background:var(--color-card);color:var(--color-text)}.ai-msg-bubble:active{transform:scale(.98)}.ai-msg-time{font-size:10px;margin-top:4px;opacity:.5;text-align:right}.ai-cursor{display:inline-block;width:6px;height:16px;background:#6366f1;margin-left:2px;animation:blink 1s infinite;vertical-align:text-bottom}.ai-input-bar{position:fixed;bottom:calc(50px + var(--safe-b));left:0;right:0;background:var(--color-card);border-top:1px solid var(--color-border);padding:10px 14px;display:flex;gap:10px;align-items:center;z-index:99;box-shadow:0 -2px 12px #00000026}.ai-input-wrapper{flex:1;background:var(--color-bg);border-radius:12px;padding:0 4px}.ai-send-btn{border-radius:10px;min-width:64px;height:36px;font-weight:500;transition:all .2s}.ai-send-btn:active:not(:disabled){transform:scale(.95)}.ai-stop-btn{border-radius:10px;min-width:64px;color:#ef4444;border:1.5px solid #ef4444;font-weight:500;height:36px;transition:all .2s}.ai-stop-btn:active{transform:scale(.95);background:#ef44441a}.ai-setup{text-align:center;padding:60px 24px;min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column;align-items:center;justify-content:center}.ai-setup-icon{font-size:64px;margin-bottom:20px;animation:bounce 2s infinite}.ai-setup-title{font-size:20px;font-weight:700;color:var(--color-text);margin-bottom:12px}.ai-setup-desc{font-size:14px;color:var(--color-text-2);line-height:1.8;margin-bottom:32px;max-width:280px}.ai-setup-btn{border-radius:12px;padding:12px 40px;background:var(--gradient-primary);border:none;font-weight:600;box-shadow:var(--shadow-primary);transition:all .2s}.ai-setup-btn:active{transform:scale(.95);box-shadow:0 2px 8px #6366f14d}.ai-back-link{margin-top:16px;font-size:13px;color:var(--color-text-3);cursor:pointer;transition:color .2s}.ai-back-link:active{color:var(--color-primary)}.ai-skeleton-header{height:48px;border-radius:12px;background:var(--color-div);margin-bottom:16px;animation:skeleton-pulse 1.5s ease-in-out infinite}.ai-skeleton-line{height:20px;border-radius:6px;background:var(--color-div);margin-bottom:12px;animation:skeleton-pulse 1.5s ease-in-out infinite}.ai-skeleton-input{height:44px;border-radius:22px;background:var(--color-div);margin-top:16px;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.ai-settings-page{min-height:100vh;background:var(--color-bg)}.ai-settings-header{background:var(--gradient-primary);padding:14px 16px;color:#fff;display:flex;align-items:center;gap:10px}.ai-settings-back{font-size:20px;cursor:pointer;transition:transform .2s}.ai-settings-back:active{transform:scale(.9)}.ai-settings-header-info{flex:1}.ai-settings-title{font-size:16px;font-weight:600}.ai-settings-subtitle{font-size:11px;opacity:.8}.ai-settings-badge{font-size:12px;background:#fff3;padding:4px 10px;border-radius:12px}.ai-settings-content{padding:16px}.ai-settings-section{background:var(--color-card);border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow-sm);transition:all .2s}.ai-settings-section:active{box-shadow:var(--shadow-md);transform:translateY(-1px)}.ai-settings-section-title{font-size:14px;font-weight:600;margin-bottom:12px}.ai-settings-section-label{font-size:14px;font-weight:600;margin-bottom:8px}.ai-key-status{display:flex;align-items:center;justify-content:space-between}.ai-key-label{font-size:13px;color:var(--color-text-2)}.ai-key-value{font-size:14px;color:var(--color-text);font-family:monospace}.ai-model-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.ai-model-chip{padding:6px 14px;border-radius:16px;font-size:13px;cursor:pointer;transition:all .2s}.ai-model-chip.active{background:var(--gradient-primary);color:#fff}.ai-model-chip:not(.active){background:#f3f4f6;color:var(--color-text-2)}.ai-model-chip:active{transform:scale(.95)}.ai-hint{font-size:11px;color:var(--color-text-3);margin-top:6px}.ai-settings-actions{display:flex;gap:12px}.ai-save-btn{border-radius:10px;flex:2;background:var(--gradient-primary);border:none;font-weight:600;transition:all .2s}.ai-save-btn:active:not(:disabled){transform:scale(.98);filter:brightness(.95)}.ai-test-btn{border-radius:10px;flex:1;transition:all .2s}.ai-test-btn:active:not(:disabled){transform:scale(.98)}.ai-radio-option{padding:8px 12px;background:#f9fafb;border-radius:8px;width:100%;transition:all .2s}.ai-radio-option:active{background:var(--color-primary-light)}
