:root{--tile-red: #E53935;--tile-orange: #FB8C00;--tile-yellow: #FDD835;--tile-green: #43A047;--tile-blue: #1E88E5;--tile-purple: #8E24AA;--bg-black: #212121;--bg-white: #FAFAFA;--surface: #1A1A2E;--surface-card: #16213E;--surface-elevated: #0F3460;--primary: #E94560;--primary-hover: #D63851;--success: #4CAF50;--warning: #FF9800;--error: #F44336;--text-primary: #FFFFFF;--text-secondary: #B0BEC5;--text-muted: #78909C;--border: #2A2A4A;--overlay: rgba(0, 0, 0, .7);--font-primary: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--shadow-elevated: 0 4px 16px rgba(0, 0, 0, .4);--shadow-overlay: 0 8px 32px rgba(0, 0, 0, .5);--anim-fast: .15s ease-out;--anim-normal: .3s ease-out;--anim-slow: .5s ease-out;--touch-min: 48px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);background-color:var(--surface);color:var(--text-primary);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh;display:flex;flex-direction:column}button{font-family:var(--font-primary);cursor:pointer;border:none;background:none;color:inherit;font-size:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,select,textarea{font-family:var(--font-primary);font-size:16px}a{color:var(--primary);text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@supports (padding: env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes countUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-30px);opacity:0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-100vh) rotate(720deg);opacity:0}}
