:root{color-scheme:light dark;--color-bg-base: #f8fafc;--color-bg-surface: #ffffff;--color-bg-elevated: #ffffff;--color-bg-glass: rgba(255, 255, 255, .7);--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-subtle: #f1f5f9;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-bg: rgba(59, 130, 246, .1);--color-purple: #6366f1;--color-purple-hover: #4f46e5;--color-purple-bg: rgba(99, 102, 241, .15);--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-glass: 0 8px 32px 0 rgba(31, 38, 135, .07)}.dark{--color-bg-base: #0d1117;--color-bg-surface: #161b22;--color-bg-elevated: #21262d;--color-bg-glass: rgba(13, 17, 23, .7);--color-text-primary: #e6edf3;--color-text-secondary: #8b949e;--color-text-muted: #484f58;--color-border: #30363d;--color-border-subtle: #21262d;--color-primary: #58a6ff;--color-primary-hover: #79c0ff;--color-primary-bg: rgba(88, 166, 255, .15);--color-purple: #a371f7;--color-purple-hover: #818cf8;--color-purple-bg: rgba(163, 113, 247, .15);--color-success: #238636;--color-warning: #d29922;--color-danger: #f85149;--shadow-sm: 0 1px 2px 0 rgba(0,0,0, .5);--shadow-md: 0 4px 6px -1px rgba(0,0,0, .6), 0 2px 4px -1px rgba(0,0,0, .4);--shadow-glass: 0 8px 32px 0 rgba(0,0,0, .37)}:root{--bp-sm: 320px;--bp-md: 600px;--bp-lg: 840px;--bp-xl: 1440px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0;height:100%;background:var(--color-bg-base);color:var(--color-text-primary);font-family:Inter,PingFang SC,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;transition:background-color .3s ease,color .3s ease}::-webkit-scrollbar{width:6px;height:6px}:root{--safe-area-inset-bottom: env(safe-area-inset-bottom)}.native-shell{--safe-area-inset-bottom: 0px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}button,input,select,textarea{font-family:inherit;font-size:inherit}
