@tailwind base;@tailwind components;@tailwind utilities;@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Outfit:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Quicksand:wght@400;500;600;700&family=Nunito:wght@400;600;700&display=swap");:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:rgba(30,41,59,.8);--bg-overlay:rgba(15,23,42,.95);--accent:#7dd3fc;--accent-secondary:#c4b5fd;--accent-glow:rgba(125,211,252,.4);--success:#4ade80;--warning:#fcd34d;--danger:#fca5a5;--info:#7dd3fc;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--text-muted:#94a3b8;--text-accent:#7dd3fc;--border:rgba(148,163,184,.2);--border-active:rgba(96,165,250,.6);--xp-bar:linear-gradient(90deg,#60a5fa,#a78bfa);--health-bar:#34d399;--energy-bar:#38bdf8;--font-heading:"DM Sans","Inter",-apple-system,sans-serif;--font-body:"Inter","DM Sans",-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--radius:16px;--glow-intensity:0.3;--animation-speed:1}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-secondary)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;transition:all .2s ease}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::selection{background:var(--accent);color:var(--bg-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font-family:var(--font-body);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:calc(var(--radius) * .5);padding:.75rem 1rem;transition:all .2s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.card:hover{border-color:var(--border-active)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;background:var(--bg-tertiary);color:var(--text-primary)}.badge.success{background:var(--success);color:#fff}.badge.warning{background:var(--warning);color:#1a1a1a}.badge.danger{background:var(--danger);color:#fff}.badge.info{background:var(--info);color:#fff}.progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--xp-bar);border-radius:4px;transition:width .5s ease}.text-accent{color:var(--text-accent)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-card{background:var(--bg-card)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-fadeIn{animation:fadeIn calc(.3s * var(--animation-speed)) ease forwards}.animate-slideUp{animation:slideUp calc(.4s * var(--animation-speed)) ease forwards}.animate-pulse{animation:pulse calc(2s * var(--animation-speed)) ease-in-out infinite}@media (max-width:768px){html{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:768px){.bg-gradient,.bg-pattern{animation:none!important}*{transition-duration:.15s!important}.attribute-shimmer,.progress-fill:after,.progress-shimmer{animation:none!important;display:none!important}.action-btn,.goal-item,.nav-btn,.stat-item,.theme-option,.workout-item{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.action-btn:hover,.goal-item:hover,.workout-item:hover{transform:none!important}}@media (hover:none) and (pointer:coarse){:hover{transform:none!important}.goal-item,.theme-option,.workout-item,a,button{transition:background-color .1s ease,border-color .1s ease!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.goal-item:active,.workout-item:active,button:active{opacity:.8;transform:scale(.98)!important}.theme-selector-modal,.workout-log-modal{overscroll-behavior:contain}.goal-list,.main-content,.workout-list{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}}@supports (-webkit-touch-callout:none){.app-container{min-height:-webkit-fill-available}input,select,textarea{font-size:16px!important}}