:root{--color-primary: #4A9B8E;--color-primary-light: #6BB5A8;--color-primary-dark: #3A7D72;--color-secondary: #F5A623;--color-secondary-light: #F7BC5A;--color-bg: #F8F6F3;--color-surface: #FFFFFF;--color-surface-hover: #F0EEEB;--color-text-primary: #2D3436;--color-text-secondary: #636E72;--color-text-hint: #B2BEC3;--color-success: #27AE60;--color-warning: #F39C12;--color-danger: #E74C3C;--color-milestone: #9B59B6;--color-medal-gold: #FFD700;--color-medal-silver: #C0C0C0;--color-medal-bronze: #CD7F32;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-xxl: 28px}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-container{padding:var(--spacing-md);padding-bottom:calc(50px + var(--spacing-md) + env(safe-area-inset-bottom));min-height:100vh}.card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.van-toast{max-width:78vw;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);line-height:1.5}.van-notify{padding-top:calc(var(--spacing-sm) + env(safe-area-inset-top));padding-bottom:var(--spacing-sm);font-size:var(--font-size-sm);line-height:1.5}.van-dialog{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.van-dialog .van-dialog__header{padding-top:var(--spacing-lg);color:var(--color-text-primary);font-weight:600}.van-dialog .van-dialog__message{color:var(--color-text-secondary);line-height:1.6}.van-dialog .van-dialog__footer .van-button{font-size:var(--font-size-md)}.van-dialog .van-dialog__footer .van-button:active{opacity:.82}
