:root{--app-bg: #F0F0F8;--app-card-bg: #FFFFFF;--app-card-border: rgba(108, 92, 231, .12);--app-card-shadow: 0 2px 12px rgba(108, 92, 231, .08), 0 1px 3px rgba(0, 0, 0, .04);--app-card-hover: #F3F4F8;--app-text: #1A1A2E;--app-text-secondary: rgba(26, 26, 46, .65);--app-text-hint: rgba(26, 26, 46, .45);--app-gradient: linear-gradient(135deg, #6C5CE7, #3B82F6);--app-tab-bg: rgba(255, 255, 255, .85);--app-tab-border: rgba(108, 92, 231, .1);--app-input-bg: #F3F4F8;--app-input-border: rgba(108, 92, 231, .15);--color-success: #22C55E;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #6C5CE7;--color-purple: #6C5CE7;--color-blue: #3B82F6}[data-theme=dark]{--app-bg: #0A0A14;--app-card-bg: rgba(255, 255, 255, .06);--app-card-border: rgba(255, 255, 255, .1);--app-card-shadow: 0 4px 24px rgba(0, 0, 0, .3), 0 0 1px rgba(255, 255, 255, .05);--app-card-hover: rgba(255, 255, 255, .1);--app-text: #FFFFFF;--app-text-secondary: rgba(255, 255, 255, .65);--app-text-hint: rgba(255, 255, 255, .45);--app-tab-bg: rgba(10, 10, 20, .88);--app-tab-border: rgba(255, 255, 255, .08);--app-input-bg: rgba(255, 255, 255, .08);--app-input-border: rgba(255, 255, 255, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--app-bg);color:var(--app-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:var(--color-purple);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}input,textarea,select{font-family:inherit;font-size:16px}.page-content{padding-bottom:calc(56px + env(safe-area-inset-bottom))}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=switch]:focus-visible,[role=tab]:focus-visible{outline:2px solid var(--color-purple);outline-offset:2px}button,a,[role=switch],[role=tab]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}
