:root{--color-primary:#4f46e5;--color-primary-light:#818cf8;--color-primary-dark:#3730a3;--color-primary-gradient:linear-gradient(135deg,#6366f1,#4f46e5 50%,#4338ca);--color-success:#10b981;--color-success-light:#34d399;--color-success-gradient:linear-gradient(135deg,#10b981,#34d399);--color-danger:#ef4444;--color-danger-light:#f87171;--color-danger-gradient:linear-gradient(135deg,#ef4444,#f87171);--color-warning:#f59e0b;--color-warning-light:#fbbf24;--color-warning-gradient:linear-gradient(135deg,#f59e0b,#fbbf24);--color-info:#3b82f6;--color-purple:#8b5cf6;--color-purple-gradient:linear-gradient(135deg,#8b5cf6,#a78bfa);--color-bg:#f9fafb;--color-bg-subtle:#f3f4f6;--color-surface:#fff;--color-text:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-xl:28px;--radius-pill:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 2px 8px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.03);--shadow-md:0 6px 20px rgba(0,0,0,.06),0 2px 6px rgba(0,0,0,.04);--shadow-lg:0 12px 32px rgba(0,0,0,.1),0 4px 12px rgba(0,0,0,.06);--shadow-color-primary:0 8px 24px rgba(79,70,229,.32);--shadow-color-success:0 8px 24px rgba(16,185,129,.32);--shadow-color-danger:0 8px 24px rgba(239,68,68,.28);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-snap:cubic-bezier(0.4,0,0.2,1);--dur-fast:0.12s;--dur-base:0.24s;--dur-slow:0.4s}page{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,SF Pro SC,PingFang SC,Hiragino Sans GB,Helvetica Neue,Microsoft YaHei,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-bg);color:var(--color-text);font-size:14px;margin:0;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden!important;overflow-y:auto!important}#taro-navigation-bar.taro-navigation-bar-home-icon{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95)!important;border-bottom:1px solid var(--color-border);display:-ms-flexbox!important;display:flex!important;height:44px!important;padding:0 16px!important;position:-webkit-sticky!important;position:sticky!important;top:0;z-index:100;-ms-flex-align:center!important;align-items:center!important;-ms-flex-pack:center!important;-webkit-box-sizing:border-box!important;box-sizing:border-box!important;color:var(--color-text)!important;font-size:17px!important;font-weight:600!important;justify-content:center!important}#taro-navigation-bar.taro-navigation-bar-home-icon .taro-navigation-bar-home{display:-ms-flexbox!important;display:flex!important;height:32px;left:12px;position:absolute!important;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:32px;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;border-radius:50%;cursor:pointer;justify-content:center}#taro-navigation-bar.taro-navigation-bar-home-icon .taro-navigation-bar-home:active{background:rgba(0,0,0,.06)}#taro-navigation-bar.taro-navigation-bar-home-icon .taro-navigation-bar-home svg{fill:var(--color-text);height:20px;width:20px}#taro-navigation-bar:not(.taro-navigation-bar-home-icon){display:none!important}html{height:100%;overflow-y:auto}.taro-tabbar__container{overflow-x:hidden!important;overflow-y:auto!important}::-webkit-scrollbar{background:transparent;height:0;width:0}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-2-lines{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card{background:var(--color-surface);border-radius:var(--radius-lg);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm);padding:28px;-webkit-transition:-webkit-transform var(--dur-base) var(--ease-out),-webkit-box-shadow var(--dur-base) var(--ease-out);transition:-webkit-transform var(--dur-base) var(--ease-out),-webkit-box-shadow var(--dur-base) var(--ease-out);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),-webkit-transform var(--dur-base) var(--ease-out),-webkit-box-shadow var(--dur-base) var(--ease-out)}.card-press{cursor:pointer}.card-press:active{-webkit-box-shadow:var(--shadow-xs);box-shadow:var(--shadow-xs);-webkit-transform:scale(.98);transform:scale(.98)}.btn-primary{background:var(--color-primary-gradient);border-radius:var(--radius-md);-webkit-box-shadow:var(--shadow-color-primary);box-shadow:var(--shadow-color-primary);color:#fff;font-size:30px;font-weight:600;padding:24px 0;text-align:center;-webkit-transition:-webkit-transform var(--dur-fast) var(--ease-snap),-webkit-box-shadow var(--dur-base) var(--ease-snap);transition:-webkit-transform var(--dur-fast) var(--ease-snap),-webkit-box-shadow var(--dur-base) var(--ease-snap);transition:transform var(--dur-fast) var(--ease-snap),box-shadow var(--dur-base) var(--ease-snap);transition:transform var(--dur-fast) var(--ease-snap),box-shadow var(--dur-base) var(--ease-snap),-webkit-transform var(--dur-fast) var(--ease-snap),-webkit-box-shadow var(--dur-base) var(--ease-snap)}.btn-primary:active{-webkit-box-shadow:0 4px 12px rgba(79,70,229,.25);box-shadow:0 4px 12px rgba(79,70,229,.25);-webkit-transform:scale(.97);transform:scale(.97)}.btn-success{background:var(--color-success-gradient);border-radius:var(--radius-md);-webkit-box-shadow:var(--shadow-color-success);box-shadow:var(--shadow-color-success);color:#fff;font-size:30px;font-weight:600;padding:24px 0;text-align:center;-webkit-transition:-webkit-transform var(--dur-fast) var(--ease-snap);transition:-webkit-transform var(--dur-fast) var(--ease-snap);transition:transform var(--dur-fast) var(--ease-snap);transition:transform var(--dur-fast) var(--ease-snap),-webkit-transform var(--dur-fast) var(--ease-snap)}.btn-success:active{-webkit-transform:scale(.97);transform:scale(.97)}.btn-ghost{background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:28px;font-weight:500;padding:22px 0;text-align:center;-webkit-transition:all var(--dur-fast) var(--ease-snap);transition:all var(--dur-fast) var(--ease-snap)}.btn-ghost:active{border-color:var(--color-primary);color:var(--color-primary);-webkit-transform:scale(.97);transform:scale(.97)}.skeleton{-webkit-animation:skeleton-loading 1.5s ease-in-out infinite;animation:skeleton-loading 1.5s ease-in-out infinite;background:-webkit-gradient(linear,left top,right top,from(#f0f0f0),color-stop(50%,#f8f8f8),to(#f0f0f0));background:linear-gradient(90deg,#f0f0f0,#f8f8f8 50%,#f0f0f0);background-size:200% 100%;border-radius:var(--radius-sm)}@-webkit-keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}@-webkit-keyframes fade-in-up{from{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fade-in-up{from{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes scale-in{from{opacity:0;-webkit-transform:scale(.96);transform:scale(.96)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-in{from{opacity:0;-webkit-transform:scale(.96);transform:scale(.96)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.fade-in-up{-webkit-animation:fade-in-up var(--dur-slow) var(--ease-out) both;animation:fade-in-up var(--dur-slow) var(--ease-out) both}.fade-in{-webkit-animation:fade-in var(--dur-base) var(--ease-out) both;animation:fade-in var(--dur-base) var(--ease-out) both}.scale-in{-webkit-animation:scale-in var(--dur-base) var(--ease-spring) both;animation:scale-in var(--dur-base) var(--ease-spring) both}.stagger > *{-webkit-animation:fade-in-up var(--dur-slow) var(--ease-out) both;animation:fade-in-up var(--dur-slow) var(--ease-out) both}.stagger > *:nth-child(1){-webkit-animation-delay:.02s;animation-delay:.02s}.stagger > *:nth-child(2){-webkit-animation-delay:.06s;animation-delay:.06s}.stagger > *:nth-child(3){-webkit-animation-delay:.1s;animation-delay:.1s}.stagger > *:nth-child(4){-webkit-animation-delay:.14s;animation-delay:.14s}.stagger > *:nth-child(5){-webkit-animation-delay:.18s;animation-delay:.18s}.stagger > *:nth-child(6){-webkit-animation-delay:.22s;animation-delay:.22s}.stagger > *:nth-child(7){-webkit-animation-delay:.26s;animation-delay:.26s}.stagger > *:nth-child(8){-webkit-animation-delay:.3s;animation-delay:.3s}