*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#0a5c4a;--primary-light:#0d7a63;--primary-dark:#073d32;--accent:#5dcaa5;--bg-deep:#073d32;--bg-mid:#0a5c4a;--bg-card:#0d6e59;--bg-card-light:#12876d;--bg-surface:#0f7a65;--text-primary:#f0fff8;--text-secondary:#b8e8d9;--text-muted:#7abfaa;--text-on-accent:#073d32;--success:#5dcaa5;--error:#ff6b6b;--warning:#ffd166;--font-heading:"Libre Baskerville", Georgia, serif;--font-body:"Noto Sans", Arial, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#root{flex-direction:column;max-width:430px;margin:0 auto;display:flex;position:relative}.screen{background:var(--bg-deep);height:100dvh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow:hidden auto}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes elastic{0%{transform:scale(0)}60%{transform:scale(1.1)}80%{transform:scale(.95)}to{transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes progress{0%{width:0%}to{width:100%}}@keyframes skeletonPulse{0%,to{opacity:.45}50%{opacity:.9}}.animate-fadeUp{animation:.5s ease-out both fadeUp}.animate-fadeIn{animation:.5s ease-out both fadeIn}.animate-scaleIn{animation:.4s ease-out both scaleIn}.animate-elastic{animation:.6s ease-out both elastic}.animate-slideUp{animation:.45s ease-out both slideUp}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}button{cursor:pointer;font-family:var(--font-body);border:none;font-size:16px;font-weight:700;transition:transform .1s,opacity .1s}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}::-webkit-scrollbar{display:none}*{scrollbar-width:none}
