.tab-bar[data-v-23c69276]{position:fixed;left:0;right:0;bottom:0;z-index:300;display:flex;height:56px;padding-bottom:env(safe-area-inset-bottom);background:var(--color-bg-card);border-top:1px solid var(--color-divider);box-shadow:0 -2px 12px #ff6b9d0f}.tab-bar__item[data-v-23c69276]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;color:var(--color-text-placeholder)}.tab-bar__item--active[data-v-23c69276]{color:var(--color-primary)}.tab-bar__icon[data-v-23c69276]{font-size:20px;line-height:1}.tab-bar__label[data-v-23c69276]{font-size:var(--font-caption);line-height:1}#app,.app-shell{min-height:100vh}.app-shell--with-tabbar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}:root{--color-primary: #ff6b9d;--color-primary-50: #fff0f5;--color-primary-100: #ffd9e6;--color-primary-300: #ff95b9;--color-primary-700: #e85a85;--color-primary-900: #b23d62;--color-accent: #8b7ae8;--color-accent-50: #f2f0ff;--color-accent-300: #b5a8f0;--color-accent-700: #6e5dcc;--color-neutral-0: #ffffff;--color-neutral-50: #fff9f5;--color-neutral-100: #fdf2f5;--color-neutral-200: #f0eae5;--color-neutral-400: #a8a0ab;--color-neutral-600: #6b6470;--color-neutral-800: #2d2a2e;--color-neutral-900: #1a1719;--color-success: #52c788;--color-success-50: #e8f8ee;--color-warning: #ffb84d;--color-warning-50: #fff4e0;--color-danger: #ff6b6b;--color-danger-50: #ffe5e5;--color-info: #74c0fc;--color-info-50: #e0f2ff;--color-text-primary: #2d2a2e;--color-text-secondary: #6b6470;--color-text-placeholder: #a8a0ab;--color-text-inverse: #ffffff;--color-bg-page: #fff9f5;--color-bg-card: #ffffff;--color-bg-soft: #fdf2f5;--color-bg-disabled: #f0eae5;--color-border: #f0eae5;--color-divider: #f0eae5;--color-dim-ei: #ff7675;--color-dim-sn: #74b9ff;--color-dim-tf: #55efc4;--color-dim-jp: #fdcb6e;--gradient-primary: linear-gradient(135deg, #ff6b9d 0%, #8b7ae8 100%);--gradient-warm: linear-gradient(135deg, #ffd89b 0%, #ff6b9d 100%);--gradient-soft: linear-gradient(180deg, #fff9f5 0%, #fdf2f5 100%);--font-display: 32px;--font-h1: 28px;--font-h2: 22px;--font-h3: 18px;--font-body-lg: 16px;--font-body: 14px;--font-caption: 12px;--font-family: "PingFang SC", "HarmonyOS Sans", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(255, 107, 157, .06);--shadow-sm: 0 2px 8px rgba(255, 107, 157, .08);--shadow-md: 0 4px 16px rgba(255, 107, 157, .12);--shadow-lg: 0 8px 24px rgba(255, 107, 157, .16);--shadow-glow: 0 0 24px rgba(255, 107, 157, .25);--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}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--font-family);font-size:var(--font-body);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;outline:none;background:none;cursor:pointer}input,textarea{font-family:inherit;outline:none;border:none}img{display:block;max-width:100%}::-webkit-scrollbar{width:0;height:0}view{display:block}text{display:inline}.page{min-height:100vh;background-color:var(--color-bg-page);padding-bottom:calc(var(--space-2xl) + env(safe-area-inset-bottom))}.page--with-tabbar{padding-bottom:calc(var(--space-2xl) + env(safe-area-inset-bottom))}.page__content{padding:var(--space-md) var(--space-md) var(--space-xl)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.text-secondary{color:var(--color-text-secondary)}.text-placeholder{color:var(--color-text-placeholder)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}
