:root{--tg-bg: var(--tg-theme-bg-color, #ffffff);--tg-text: var(--tg-theme-text-color, #0f0f0f);--tg-hint: var(--tg-theme-hint-color, #8e8e93);--tg-link: var(--tg-theme-link-color, #007aff);--tg-button: var(--tg-theme-button-color, #007aff);--tg-button-text: var(--tg-theme-button-text-color, #ffffff);--tg-secondary-bg: var(--tg-theme-secondary-bg-color, #f2f2f7);--tg-section-bg: var(--tg-theme-section-bg-color, #ffffff);--tg-section-header-text: var(--tg-theme-section-header-text-color, #6d6d72);--tg-separator: var(--tg-theme-section-separator-color, rgba(60, 60, 67, .12));--tg-destructive: var(--tg-theme-destructive-text-color, #ff3b30);--tg-accent: var(--tg-theme-accent-text-color, #007aff);--tg-subtitle: var(--tg-theme-subtitle-text-color, #8e8e93);--tg-header-bg: var(--tg-theme-header-bg-color, var(--tg-secondary-bg));--brand-success: #34c759;--brand-warning: #ff9f0a;--brand-danger: #ff3b30;--brand-info: #5ac8fa;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--tab-h: 56px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 22px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 0 0 .5px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 0 0 .5px rgba(0, 0, 0, .04);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.45;color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;background:var(--tg-secondary-bg);color:var(--tg-text);min-height:100vh;overscroll-behavior-y:none}button{font:inherit;cursor:pointer;background:none;border:none;color:inherit;padding:0}input,select,textarea{font:inherit;color:inherit}a{color:var(--tg-link);text-decoration:none}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.fade-in{animation:fadeIn .3s ease both}.scrollbar-hide{scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
