:root{--primary: #061ffa;--primary-dark: #0215be;--primary-light: #394cfc;--secondary: #ff7300;--secondary-dark: #e05a00;--background: #ffffff;--surface: #f5f5f5;--surface-2: #eeeeee;--text: #333333;--text-secondary: #666666;--text-disabled: #999999;--success: #4caf50;--warning: #ff9800;--error: #f44336;--border: #e0e0e0;--divider: #eeeeee;--shadow: rgba(0, 0, 0, .1);--shadow-md: rgba(0, 0, 0, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 999px;--font: "Poppins", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100%;overflow:hidden}body{height:100%;font-family:var(--font);background:#111;color:var(--text);overflow:hidden;-webkit-font-smoothing:antialiased}#root{height:100%;display:flex;justify-content:center;background:#111}.app-shell{position:relative;width:100%;max-width:764px;height:100%;background:var(--background);overflow:hidden;display:flex;flex-direction:column}input,textarea,select{font-family:var(--font)}button{font-family:var(--font);cursor:pointer;border:none;outline:none}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2.5);opacity:0}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-slideUp{animation:slideUp .35s cubic-bezier(.34,1.56,.64,1)}.animate-slideDown{animation:slideDown .3s ease}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.animate-spin{animation:spin .8s linear infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
