@tailwind base;@tailwind components;@tailwind utilities;:root{--bottom-nav-height:70px;--persistent-player-height:90px;--safe-area-bottom:env(safe-area-inset-bottom,0px);--bottom-spacing:calc(var(--bottom-nav-height) + var(--persistent-player-height) + var(--safe-area-bottom));--rp-primary:#00c853;--rp-primary-glow:#00c8531a}@layer base{@apply bg-rp-background text-rp-text-primary;html{scroll-behavior:smooth;width:100%;height:100%}@apply bg-rp-background text-rp-text-primary;body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0f0f0f 0%,#1a1a1a 100%);width:100vw;height:100vh;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;inset:0;overflow-x:hidden}#__next{width:100%;height:100%;overflow-y:auto}body.pwa-mode{-webkit-user-select:none;-webkit-touch-callout:none}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:700;line-height:1.2}p{line-height:1.6}:focus-visible{outline:2px solid var(--rp-primary,#00c853);outline-offset:2px}@media (max-width:768px){button:not(.skip-touch-target),a:not(.skip-touch-target),input[type=checkbox],input[type=radio],select{min-height:44px}*{-webkit-tap-highlight-color:var(--rp-primary-glow,#00c8531a)}}}@media (max-width:768px){#__next>*{padding-bottom:var(--bottom-spacing)!important}#__next>[style*="position: fixed"],#__next>[style*=position\:fixed]{padding-bottom:0!important}.pwa-install-banner,[class*=InstallPrompt],[class*=install-prompt]{bottom:calc(var(--bottom-nav-height) + 20px)!important}}@layer components{@apply bg-rp-primary hover:bg-rp-primary/90 text-white font-semibold py-3 px-6 rounded-lg transition-all duration-200;@apply bg-rp-secondary hover:bg-rp-secondary/90 text-black font-semibold py-3 px-6 rounded-lg transition-all duration-200;@apply bg-rp-input text-rp-input-text border border-rp-border rounded-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-rp-primary focus:border-transparent;}@apply bg-rp-background bg-rp-surface bg-rp-surface-light;@apply bg-rp-primary bg-rp-secondary bg-rp-accent bg-rp-danger bg-rp-success;@apply text-rp-text-primary text-rp-text-secondary text-rp-text-muted;@apply border-rp-border bg-rp-input text-rp-input-text;@keyframes slideIn{0%{opacity:0;transform:translateY(100px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-slideIn{animation:.5s ease-out slideIn}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(300%)}}
