:root{--c-primary: #2563EB;--c-primary-light: #DBEAFE;--c-primary-dark: #1D4ED8;--c-primary-glow: rgba(37, 99, 235, .15);--c-accent: #7C3AED;--c-accent-light: #EDE9FE;--c-success: #059669;--c-success-light: #D1FAE5;--c-warning: #D97706;--c-warning-light: #FEF3C7;--c-danger: #DC2626;--c-danger-light: #FEE2E2;--c-text: #0F172A;--c-text-secondary: #475569;--c-text-light: #94A3B8;--c-border: #E2E8F0;--c-border-light: #F1F5F9;--c-bg: #F8FAFC;--c-bg-white: #FFFFFF;--c-bg-warm: #FFFBF5;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--r-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 32px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.04);--shadow-glow: 0 0 20px var(--c-primary-glow);--t-fast: .15s;--t-normal: .25s;--t-slow: .4s;--t-spring: cubic-bezier(.34, 1.56, .64, 1);--t-smooth: cubic-bezier(.4, 0, .2, 1);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Menlo", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:1px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:15px;line-height:1.5;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none}@supports (padding-bottom: env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}a{color:var(--c-primary);text-decoration:none;-webkit-tap-highlight-color:transparent}input,textarea,select,button{font-family:inherit;font-size:inherit;outline:none;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}::-webkit-scrollbar-track{background:transparent}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e8edf2 37%,#f1f5f9 63%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes checkmark{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes ripple{to{transform:scale(2.5);opacity:0}}.animate-fadeInUp{animation:fadeInUp var(--t-normal) var(--t-smooth) both}.animate-fadeIn{animation:fadeIn var(--t-normal) var(--t-smooth) both}.animate-scaleIn{animation:scaleIn var(--t-normal) var(--t-spring) both}.animate-slideInRight{animation:slideInRight var(--t-normal) var(--t-smooth) both}.stagger>:nth-child(1){animation-delay:.03s}.stagger>:nth-child(2){animation-delay:.06s}.stagger>:nth-child(3){animation-delay:.09s}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.15s}.stagger>:nth-child(6){animation-delay:.18s}.stagger>:nth-child(7){animation-delay:.21s}.stagger>:nth-child(8){animation-delay:.24s}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.cloud-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;border-radius:var(--r-sm);font-size:15px;font-weight:600;border:none;cursor:pointer;position:relative;overflow:hidden;transition:all var(--t-fast) var(--t-smooth);-webkit-tap-highlight-color:transparent}.cloud-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff0;transition:background var(--t-fast)}.cloud-btn:active:after{background:#00000014}.cloud-btn:active{transform:scale(.97)}.cloud-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cloud-btn:disabled:after{display:none}.cloud-btn-primary{background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-dark) 100%);color:#fff;box-shadow:var(--shadow-sm),0 2px 8px var(--c-primary-glow)}.cloud-btn-primary:active{box-shadow:none}.cloud-btn-secondary{background:var(--c-bg-white);color:var(--c-text);border:1.5px solid var(--c-border);box-shadow:var(--shadow-xs)}.cloud-btn-ghost{background:transparent;color:var(--c-primary)}.cloud-btn-danger{background:linear-gradient(135deg,var(--c-danger),#B91C1C);color:#fff;box-shadow:var(--shadow-sm)}.cloud-btn-lg{padding:14px 28px;font-size:16px;border-radius:var(--r-md)}.cloud-btn-sm{padding:8px 16px;font-size:13px;border-radius:var(--r-xs)}.cloud-btn-block{width:100%}.cloud-btn-loading{pointer-events:none}.cloud-btn-loading:before{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.cloud-input{width:100%;padding:13px 16px;border:1.5px solid var(--c-border);border-radius:var(--r-sm);font-size:15px;color:var(--c-text);background:var(--c-bg-white);transition:all var(--t-fast) var(--t-smooth)}.cloud-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-glow)}.cloud-input::placeholder{color:var(--c-text-light)}.cloud-input:disabled{background:var(--c-bg);color:var(--c-text-light)}.cloud-input-error{border-color:var(--c-danger)}.cloud-input-error:focus{box-shadow:0 0 0 3px #dc26261f}.cloud-card{background:var(--c-bg-white);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--t-normal),transform var(--t-normal)}.cloud-card-hover:active{transform:scale(.98);box-shadow:var(--shadow-xs)}.cloud-card-glass{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.progress-ring{transform:rotate(-90deg)}.progress-ring-bg{stroke:var(--c-border-light)}.progress-ring-fill{stroke:var(--c-primary);stroke-linecap:round;transition:stroke-dashoffset 1s var(--t-smooth)}.cloud-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:var(--r-full);font-size:12px;font-weight:600;line-height:1.4}.cloud-badge-primary{background:var(--c-primary-light);color:var(--c-primary)}.cloud-badge-success{background:var(--c-success-light);color:var(--c-success)}.cloud-badge-warning{background:var(--c-warning-light);color:var(--c-warning)}.cloud-badge-danger{background:var(--c-danger-light);color:var(--c-danger)}.cloud-badge-purple{background:var(--c-accent-light);color:var(--c-accent)}.cloud-badge-pulse{position:relative}.cloud-badge-pulse:after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:var(--c-danger);border-radius:50%;animation:pulse 2s ease-in-out infinite}.cloud-page-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px;padding-top:env(safe-area-inset-top,0px);background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.6);position:sticky;top:0;z-index:50}.cloud-page-header h1{font-size:17px;font-weight:700;color:var(--c-text)}.cloud-page-header-back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-xs);cursor:pointer;transition:background var(--t-fast)}.cloud-page-header-back:active{background:var(--c-border-light)}.cloud-empty{text-align:center;padding:48px 24px;animation:fadeInUp var(--t-slow) var(--t-smooth)}.cloud-empty-icon{margin-bottom:16px;opacity:.4}.cloud-empty-text{font-size:15px;color:var(--c-text-light);font-weight:500}.cloud-empty-hint{font-size:13px;color:var(--c-text-light);margin-top:4px;opacity:.7}.cloud-empty-action{margin-top:20px}.cloud-error{text-align:center;padding:48px 24px;animation:fadeInUp var(--t-slow) var(--t-smooth)}.cloud-error-icon{color:var(--c-warning);margin-bottom:12px}.cloud-error-text{font-size:15px;color:var(--c-text-secondary);margin-bottom:16px}.cloud-divider{height:1px;background:var(--c-border-light);margin:0 16px}.cloud-refresh-hint{text-align:center;padding:8px;font-size:12px;color:var(--c-text-light);background:var(--c-primary-light)}.cloud-number{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-family:var(--font-mono)}
