@tailwind base;@tailwind components;@tailwind utilities;html,body,#root{height:100%;overflow:hidden;background:#efeef3;color:#1a202c}body:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 100% 0%,rgba(0,133,199,.03) 0%,transparent 25%),radial-gradient(circle at 0% 100%,rgba(255,215,0,.03) 0%,transparent 25%);pointer-events:none;z-index:0}#root{position:relative;z-index:1}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}.pt-safe{padding-top:env(safe-area-inset-top)}.fade-in{animation:fadeIn .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mask-fade-x{mask-image:linear-gradient(to right,transparent,black 12px,black calc(100% - 12px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 12px,black calc(100% - 12px),transparent)}.neu-card{@apply bg-neu-base rounded-3xl p-5 transition-all duration-300;box-shadow:8px 8px 16px #a3a3a840,-8px -8px 16px #fffc;border:1px solid rgba(255,255,255,.4)}.neu-card-interactive{@apply neu-card cursor-pointer active:scale-[.98];}.neu-card-interactive:active{box-shadow:inset 4px 4px 8px #a3a3a833,inset -4px -4px 8px #ffffffb3}.neu-inset{@apply bg-neu-base rounded-2xl border-none;box-shadow:inset 3px 3px 6px #a3a3a840,inset -3px -3px 6px #ffffffb3}.neu-button{@apply bg-neu-base text-electric-600 font-bold rounded-2xl flex items-center justify-center transition-all duration-200 active:scale-95;box-shadow:5px 5px 10px #a3a3a84d,-5px -5px 10px #ffffffe6;border:1px solid rgba(255,255,255,.5)}.neu-button:active{box-shadow:inset 2px 2px 4px #a3a3a84d,inset -2px -2px 4px #ffffffb3}.neu-button.primary{@apply bg-electric-600 text-white shadow-lg shadow-electric-600/30 border-none;box-shadow:6px 6px 12px #0085c74d,-6px -6px 12px #fffc}.neu-button.primary:active{background:#0077b3;box-shadow:inset 3px 3px 6px #0003}.glass-panel{background:#efeef3d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.3)}.glass-nav-bottom{background:#efeef3e6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.4);box-shadow:0 -4px 20px #00000005}.soft-input{@apply w-full bg-neu-base rounded-2xl px-4 py-3.5 text-gray-900 placeholder-gray-500 outline-none transition-all font-medium text-base;box-shadow:inset 2px 2px 5px #a3a3a859,inset -2px -2px 5px #fffc;border:1px solid transparent}.soft-input:focus{box-shadow:inset 3px 3px 6px #a3a3a866,inset -3px -3px 6px #fffc;border-color:#0085c733}.neu-badge{@apply px-2 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest;box-shadow:2px 2px 4px #d1d1d9,-2px -2px 4px #fff}.filter-pill{@apply px-4 py-2.5 rounded-xl text-xs font-bold transition-all;box-shadow:3px 3px 6px #a3a3a84d,-3px -3px 6px #ffffffd9;border:none;background:#efeef3}.filter-pill:active{box-shadow:inset 2px 2px 4px #a3a3a840,inset -2px -2px 4px #fff9}button,[role=button],a,input[type=submit],input[type=button]{min-height:44px;min-width:44px}button{touch-action:manipulation}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{overscroll-behavior:none}button,[role=button]{user-select:none;-webkit-user-select:none}body{overscroll-behavior-y:contain}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #0085C7;outline-offset:2px}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:8px}.haptic-press{animation:hapticPress .1s ease-out}@keyframes hapticPress{0%{transform:scale(1)}50%{transform:scale(.97)}to{transform:scale(1)}}
