:root{--primary: #ff6b9d;--primary-light: #ffb3c8;--primary-dark: #d94378;--gradient: linear-gradient(135deg, #FF9A9E 0%, #FAD0C4 100%);--gradient-pink: linear-gradient(135deg, #ff9ebb 0%, #ff6b9d 100%);--bg: #FFF5F7;--bg-card: #FFFFFF;--text-primary: #5C4B4B;--text-secondary: #77696B;--text-light: #8F8383;--shadow: 0 4px 20px rgba(255, 107, 157, .15);--shadow-lg: 0 8px 32px rgba(255, 107, 157, .2);--radius: 16px;--radius-lg: 24px;--radius-full: 50px;--fs-micro: 12px;--fs-small: 13px;--fs-body: 15px;--fs-lead: 17px;--fs-title: 20px;--fs-hero: 25px;--lh-tight: 1.35;--lh-body: 1.55;--r-btn: 12px;--h-main: 48px;--h-sub: 44px;--h-small: 36px;--tap: 44px;--r-none: 0;--r-2xs: 6px;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-card: 18px;--r-lg: 20px;--r-sheet: 20px;--r-pill: 999px;--r-round: 50%;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 10px;--sp-6: 12px;--sp-7: 14px;--sp-8: 16px;--sp-9: 18px;--sp-10: 20px;--sp-11: 24px;--sp-12: 28px;--sp-13: 32px;--sp-14: 40px;--sp-15: 48px;--sp-16: 64px;--sp-17: 80px;--safe-bottom: env(safe-area-inset-bottom, 0px);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--ease: cubic-bezier(.22, .8, .32, 1);--dur: .2s;--focus-ring: #2563eb}*{margin:0;padding:0;box-sizing:border-box}html,body{min-width:320px;min-height:100%;font-family:var(--font-sans);background:#f6f4f1;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-text-size-adjust:100%}p{line-height:1.6}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled){cursor:pointer}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-2xs)}::selection{background:#ffd9e2;color:#4a1f29}#pt-toast{position:fixed;left:50%;top:48%;transform:translate(-50%,-50%);z-index:99999;max-width:80%;padding:var(--sp-5) var(--sp-8);border-radius:var(--r-sm);background:#202428eb;color:#fff;box-shadow:0 8px 28px #00000047;text-align:center;font-size:var(--fs-small);line-height:1.6;opacity:0;pointer-events:none;transition:opacity .2s,translate .2s var(--ease);translate:0 8px}#pt-toast.visible{opacity:1;translate:0 0}.page-enter-active{transition:opacity .22s ease-out,translate .22s var(--ease)}.page-leave-active{transition:opacity .15s ease-in}.page-enter-from{opacity:0;translate:0 10px}.page-leave-to{opacity:0}.fade-enter-active{transition:opacity .2s ease-out}.fade-leave-active{transition:opacity .18s ease-in}.fade-enter-from,.fade-leave-to{opacity:0}.up-enter-active{transition:translate .3s var(--ease)}.up-leave-active{transition:translate .22s ease-in}.up-enter-from,.up-leave-to{translate:0 100%}.pop-enter-active{transition:opacity .24s ease-out,scale .24s cubic-bezier(.34,1.3,.64,1)}.pop-enter-from{opacity:0;scale:.94}.pop-leave-active{transition:opacity .15s ease-in}.pop-leave-to{opacity:0}button:not(:disabled):active{transform:scale(.97)}:root{--van-primary-color: var(--primary);--van-background: var(--bg);--van-cell-background: var(--bg-card);--van-cell-border-color: transparent;--van-button-primary-background: var(--gradient-pink);--van-button-primary-border-color: transparent;--van-nav-bar-background: transparent;--van-nav-bar-icon-color: var(--text-primary);--van-nav-bar-title-text-color: var(--text-primary);--van-tabbar-background: rgba(255,255,255,.85);--van-tabbar-item-active-color: var(--primary);--van-tabbar-item-text-color: var(--text-secondary);--van-field-label-color: var(--text-secondary);--van-field-input-text-color: var(--text-primary);--van-popup-background: var(--bg-card);--van-dialog-background: var(--bg-card);--van-toast-background: rgba(92, 75, 75, .85);--van-toast-text-color: #fff}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(120,113,108,.35);border-radius:var(--r-2xs)}@media (prefers-reduced-motion:reduce){#pt-toast,.page-enter-active,.page-leave-active,.fade-enter-active,.fade-leave-active,.up-enter-active,.up-leave-active,.pop-enter-active,.pop-leave-active{transition:none}}
