:root{--bg-deep: #f5f5f5;--bg-base: #f5f5f5;--bg-surface: #fafafa;--bg-card: #ffffff;--bg-card-hover: #f5f5f5;--border-subtle: #f0f0f0;--border-card: #e0e0e0;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--accent: #FF6B35;--accent-glow: rgba(255,107,53,.25);--accent-light: #FF8A5C;--gold: #FFB347;--gold-glow: rgba(255,179,71,.2);--gold-light: #FFD180;--teal: #4ECDC4;--teal-glow: rgba(78,205,196,.2);--success: #66BB6A;--warning: #FFA726;--danger: #EF5350;--info: #42A5F5;--gradient-hero: linear-gradient(135deg, #ffffff 0%, #fafafa 50%, #fff8f5 100%);--gradient-card: linear-gradient(135deg, #ffffff, #fafafa);--gradient-accent: linear-gradient(135deg, #FF6B35, #FF8A5C);--gradient-gold: linear-gradient(135deg, #FFB347, #FFD180);--gradient-teal: linear-gradient(135deg, #4ECDC4, #7EDDD6);--shadow-sm: 0 1px 4px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--shadow-glow: 0 0 20px var(--accent-glow);--shadow-gold: 0 0 20px var(--gold-glow);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--font-xs: 11px;--font-sm: 13px;--font-base: 15px;--font-lg: 17px;--font-xl: 20px;--font-2xl: 24px;--font-3xl: 32px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s}body{background:var(--bg-deep);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-base);line-height:1.5}#app-shell{max-width:450px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--bg-base);position:relative;overflow:hidden}::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:2px}::selection{background:var(--accent);color:#fff}.card{background:var(--gradient-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:var(--space-lg)}.card-glass{background:#fff;border:1px solid #f0f0f0;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;border-radius:var(--radius-full);font-size:var(--font-base);font-weight:600;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:active{box-shadow:0 2px 8px var(--accent-glow)}.btn-outline{background:transparent;border:1px solid #e0e0e0;color:var(--text-primary)}.btn-ghost{background:#f5f5f5;color:var(--text-secondary)}.btn-gold{background:var(--gradient-gold);color:#333;box-shadow:0 4px 16px var(--gold-glow)}.badge{display:inline-flex;align-items:center;gap:2px;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:600}.badge-accent{background:#ff6b3526;color:var(--accent-light)}.badge-gold{background:#ffb34726;color:var(--gold)}.badge-teal{background:#4ecdc426;color:var(--teal)}.badge-success{background:#66bb6a26;color:var(--success)}.divider{height:1px;background:var(--border-subtle);margin:var(--space-lg) 0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent)}.text-gold{color:var(--gold)}.text-teal{color:var(--teal)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-in{animation:fadeInUp var(--duration-slow) var(--ease-out) both}.page-enter-active{animation:fadeInUp .35s var(--ease-spring) both}.page-leave-active{animation:fadeIn .2s var(--ease-out) both reverse}.privacy-overlay[data-v-ab3b149a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#ffffffeb;display:flex;align-items:center;justify-content:center;animation:overlay-in-ab3b149a .25s ease}@keyframes overlay-in-ab3b149a{0%{opacity:0}to{opacity:1}}.privacy-card[data-v-ab3b149a]{background:#fff;border-radius:10px;width:300px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 24px #00000026;animation:card-in-ab3b149a .3s ease}@keyframes card-in-ab3b149a{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.privacy-header[data-v-ab3b149a]{padding:20px 20px 0;text-align:center}.privacy-icon[data-v-ab3b149a]{font-size:32px;display:block}.privacy-title[data-v-ab3b149a]{font-size:18px;font-weight:700;color:#1a1a1a;display:block;margin-top:8px}.privacy-body[data-v-ab3b149a]{padding:16px 20px}.privacy-text[data-v-ab3b149a]{font-size:14px;color:#666;line-height:1.7}.privacy-items[data-v-ab3b149a]{margin-top:12px}.privacy-item[data-v-ab3b149a]{display:flex;margin-bottom:8px;gap:4px}.pi-bullet[data-v-ab3b149a]{font-size:14px;color:#ff3b3b;font-weight:600;min-width:18px}.pi-label[data-v-ab3b149a]{font-weight:600;color:#333}.pi-text[data-v-ab3b149a]{font-size:13px;color:#666;line-height:1.6;flex:1}.privacy-links[data-v-ab3b149a]{text-align:center;margin-top:12px}.pl-link[data-v-ab3b149a]{font-size:12px;color:#ff3b3b}.pl-sep[data-v-ab3b149a]{margin:0 6px;color:#ddd}.privacy-footer[data-v-ab3b149a]{padding:0 20px 20px;display:flex;flex-direction:column;gap:8px}.privacy-btn[data-v-ab3b149a]{width:100%;padding:12px;border-radius:6px;font-size:15px;font-weight:600;transition:transform .15s ease}.privacy-btn[data-v-ab3b149a]:active{transform:scale(.97)}.privacy-btn.agree[data-v-ab3b149a]{background:linear-gradient(135deg,#ff3b3b,#ff6b7f);color:#fff;border:none}.privacy-btn.disagree[data-v-ab3b149a]{background:#fff;color:#999;border:.5px solid #e0e0e0}:root{--bg-primary: #f5f5f5;--bg-secondary: #fafafa;--bg-card: #ffffff;--bg-elevated: #f0f0f0;--border-subtle: #f0f0f0;--border-medium: #e0e0e0;--text-primary: #1a1a1a;--text-secondary: #666666;--text-disabled: #aaaaaa;--text-inverse: #ffffff;--accent: #FF6B35;--accent-glow: rgba(255,107,53,.25);--accent-light: #FFA726;--accent-dark: #E55A2B;--success: #4ECDC4;--success-bg: rgba(78,205,196,.1);--warning: #FF9800;--warning-bg: rgba(255,152,0,.1);--danger: #F44336;--danger-bg: rgba(244,67,54,.08);--info: #64B5F6;--info-bg: rgba(100,181,246,.1);--gold: #FFB347;--gold-bg: rgba(255,179,71,.12);--diamond: #64B5F6;--diamond-bg: rgba(100,181,246,.12);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--shadow-xs: 0 1px 3px rgba(0,0,0,.04);--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--shadow-xl: 0 12px 40px rgba(0,0,0,.16);--shadow-glow: 0 4px 20px rgba(255,107,53,.25);--shadow-glow-lg: 0 8px 32px rgba(255,107,53,.3);--font-xs: 11px;--font-sm: 13px;--font-base: 15px;--font-lg: 17px;--font-xl: 20px;--font-2xl: 24px;--font-3xl: 32px;--font-4xl: 40px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-in: cubic-bezier(.4, 0, 1, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#app,#app-shell{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,sans-serif;font-size:var(--font-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;overscroll-behavior:none;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}button,a,[role=button]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:2px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}input,textarea,button{font-family:inherit}button{cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent;transition:transform .15s var(--ease-out)}button:active{transform:scale(.96)}:where([role=button]):active,:where(.card):active,:where(.menu-item):active,:where(.nav-item):active{filter:brightness(.95)}.uni-text{word-break:break-all}.uni-scroll-view{-webkit-overflow-scrolling:touch}.uni-swiper{display:flex}.uni-swiper-item{flex-shrink:0;width:100%}.page-enter-active{animation:page-in .32s var(--ease-spring) both}.page-leave-active{animation:page-out .18s var(--ease-out) both}@keyframes page-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes page-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.98)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.glass-card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,var(--accent),var(--accent-light));color:#fff;border:none;border-radius:14px;padding:12px 28px;font-weight:600;font-size:var(--font-base);box-shadow:var(--shadow-glow);transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out)}.btn-primary:active{transform:scale(.97);box-shadow:var(--shadow-glow-lg)}.btn-primary[disabled]{background:var(--border-medium);color:var(--text-disabled);box-shadow:none}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid var(--border-medium);color:var(--text-secondary);border-radius:14px;padding:12px 28px;font-size:var(--font-base);transition:all .15s var(--ease-out)}.btn-ghost:active{border-color:var(--accent);color:var(--accent)}.input-field{width:100%;padding:12px 16px;background:#fff;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-base);transition:border-color .2s}.input-field:focus{outline:none;border-color:var(--accent)}.input-field::placeholder{color:var(--text-disabled)}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-xs);font-size:var(--font-xs);font-weight:600}.badge-primary{background:var(--gold-bg);color:var(--accent)}.badge-success{background:var(--success-bg);color:#2db5a8}.badge-info{background:var(--info-bg);color:#4a90d9}.badge-warning{background:var(--warning-bg);color:var(--warning)}.sheet-enter-active{animation:sheet-in .32s var(--ease-spring)}.sheet-leave-active{animation:sheet-out .22s var(--ease-out)}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .4s var(--ease-out) both}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:shake .4s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 1.5s ease-in-out infinite}body.modal-open{overflow:hidden!important;position:fixed;width:100%}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;overflow-y:auto;-webkit-overflow-scrolling:touch}.fixed-bottom-safe{padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media (min-width: 768px){#app-shell{max-width:450px;margin:0 auto;box-shadow:0 0 40px #00000014;min-height:100vh}}
