@import "https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Noto+Sans+Arabic:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";
/* [next]/internal/font/google/space_grotesk_2ebaa799.module.css [app-client] (css) */
@font-face {
  font-family: Space Grotesk;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/32687112bd2dd8db-s.cfdd66c2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Space Grotesk;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/28868e710e86be81-s.c30238d4.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Space Grotesk;
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../media/0c89a48fa5027cee-s.p.4564287c.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Space Grotesk Fallback;
  src: local(Arial);
  ascent-override: 89.71%;
  descent-override: 26.62%;
  line-gap-override: 0.0%;
  size-adjust: 109.69%;
}

.space_grotesk_2ebaa799-module__im0rWa__className {
  font-family: Space Grotesk, Space Grotesk Fallback;
  font-style: normal;
}

.space_grotesk_2ebaa799-module__im0rWa__variable {
  --font-display: "Space Grotesk", "Space Grotesk Fallback";
}

/* [next]/internal/font/google/instrument_sans_939a1a68.module.css [app-client] (css) */
@font-face {
  font-family: Instrument Sans;
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c7f47671e39f7787-s.088ba3ed.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Instrument Sans;
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/f06bf9da926bae75-s.p.c68a79fb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Instrument Sans Fallback;
  src: local(Arial);
  ascent-override: 94.42%;
  descent-override: 24.33%;
  line-gap-override: 0.0%;
  size-adjust: 102.74%;
}

.instrument_sans_939a1a68-module__LwpU0q__className {
  font-family: Instrument Sans, Instrument Sans Fallback;
  font-style: normal;
}

.instrument_sans_939a1a68-module__LwpU0q__variable {
  --font-body: "Instrument Sans", "Instrument Sans Fallback";
}

/* [next]/internal/font/google/noto_sans_arabic_c4de3de6.module.css [app-client] (css) */
@font-face {
  font-family: Noto Sans Arabic;
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/3fd1b3eda9c5392f-s.p.2ae7fa5d.woff2") format("woff2");
  unicode-range: U+6??, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: Noto Sans Arabic;
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/0bcb14a778645c1f-s.80192c65.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Noto Sans Arabic;
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/cacc9745706895a8-s.7e35873a.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Noto Sans Arabic;
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6ae070eaf7847c89-s.a5cdf1ce.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Noto Sans Arabic;
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/14a9d8930cac1a04-s.84f01aea.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Noto Sans Arabic Fallback;
  src: local(Arial);
  ascent-override: 113.22%;
  descent-override: 60.81%;
  line-gap-override: 0.0%;
  size-adjust: 121.35%;
}

.noto_sans_arabic_c4de3de6-module__2lcHLW__className {
  font-family: Noto Sans Arabic, Noto Sans Arabic Fallback;
  font-style: normal;
}

.noto_sans_arabic_c4de3de6-module__2lcHLW__variable {
  --font-arabic: "Noto Sans Arabic", "Noto Sans Arabic Fallback";
}

/* [project]/src/app/globals.css [app-client] (css) */
:root {
  --font-display: "Space Grotesk", ui-sans-serif, system-ui;
  --font-body: "Instrument Sans", ui-sans-serif, system-ui;
  --font-arabic: "Noto Sans Arabic", "Noto Naskh Arabic", ui-sans-serif, system-ui;
  --ink: #0b0f14;
  --midnight: #0a0d12;
  --steel: #151b24;
  --slate: #1c2330;
  --glow: #7cf6ff;
  --ember: #ff9a62;
  --ice: #b6c2ff;
  --mist: #8a94a6;
  --frost: #e6edf7;
  --glass-base: #151b2499;
  --glass-elevated: #1c2330a6;
  --glass-elevated-end: #151b248c;
  --glass-card: #1c2330bf;
  --glass-card-end: #151b2499;
  --glass-border: #ffffff0f;
  --bg-radial-1: #7cf6ff12;
  --bg-radial-2: #b6c2ff0a;
  --bg-radial-3: #ff9a6208;
}

@theme {
    --color-primary: oklch(85% .14 195); --color-primary-light: oklch(90% .1 195); --color-primary-dark: oklch(72% .16 195);   --color-accent-glow: oklch(88% .14 195); --color-accent-ice: oklch(78% .12 275); --color-accent-ember: oklch(78% .16 55);   --color-strain: oklch(72% .22 145); --color-recovery: oklch(85% .14 195); --color-exertion: oklch(78% .16 55);   --color-accent-cyan: oklch(88% .14 195); --color-accent-pink: oklch(72% .19 350); --color-accent-amber: oklch(78% .16 55); --color-accent-emerald: oklch(78% .17 160);   --color-background: oklch(8% .01 250); --color-background-deep: oklch(6% .008 250); --color-surface: oklch(13% .01 250); --color-surface-light: oklch(17% .01 250); --color-surface-elevated: oklch(20% .012 250);   --color-foreground: oklch(93% .01 250); --color-foreground-soft: oklch(80% .01 250); --color-muted: oklch(58% .02 250);   --color-border: oklch(20% .01 250); --color-border-glow: oklch(70% .12 195);   --color-destructive: oklch(62% .24 25); --color-success: oklch(72% .2 145); --color-warning: oklch(78% .16 55); --color-info: oklch(85% .14 195);
}

html {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-body);
  background: var(--midnight);
  color: var(--frost);
  background-image: radial-gradient(ellipse 100% 60% at 50% -30%, var(--bg-radial-1), transparent), radial-gradient(ellipse 50% 40% at 100% 10%, var(--bg-radial-2), transparent), radial-gradient(ellipse 50% 40% at 0% 90%, var(--bg-radial-3), transparent);
  background-attachment: fixed;
  min-height: 100vh;
}

body[dir="rtl"] {
  font-family: var(--font-arabic), var(--font-body);
}

body[dir="rtl"] h1, body[dir="rtl"] h2, body[dir="rtl"] h3, body[dir="rtl"] h4, body[dir="rtl"] h5, body[dir="rtl"] h6 {
  font-family: var(--font-arabic), var(--font-display);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

@apply bg-transparent;

::-webkit-scrollbar-thumb {
  background: #ffffff1f;
  border-radius: 9999px;
  transition: background .2s;
}

::-webkit-scrollbar-thumb:hover {
  background: #ffffff2e;
}

@apply outline-none;

:focus-visible {
  box-shadow: 0 0 0 4px #7cf6ff4d;
}

::selection {
  color: var(--frost);
  background: #7cf6ff40;
}

.metric-ring {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.metric-ring:before {
  content: "";
  background: conic-gradient(var(--ring-color, #7cf6ff) var(--ring-progress, 0%), #ffffff0f var(--ring-progress, 0%));
  border-radius: 50%;
  animation: .8s cubic-bezier(.4, 0, .2, 1) forwards ring-appear;
  position: absolute;
  inset: 0;
  -webkit-mask: radial-gradient(#0000 60%, #000 61%);
  mask: radial-gradient(#0000 60%, #000 61%);
}

@keyframes ring-appear {
  from {
    opacity: 0;
    transform: scale(.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.metric-ring-glow {
  filter: drop-shadow(0 0 12px var(--ring-color, #7cf6ff59));
}

.glass {
  background: var(--glass-base);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  border: 1px solid var(--glass-border);
}

.glass-elevated {
  background: linear-gradient(135deg, var(--glass-elevated) 0%, var(--glass-elevated-end) 100%);
  -webkit-backdrop-filter: blur(60px) saturate(200%);
  border: 1px solid #ffffff14;
  box-shadow: 0 32px 64px #00000059, 0 8px 24px #0003, inset 0 1px #ffffff0a;
}

.glass-card {
  background: linear-gradient(155deg, var(--glass-card) 0%, var(--glass-card-end) 100%);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid var(--glass-border);
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  box-shadow: 0 20px 40px #00000040, 0 4px 12px #00000026;
}

.glass-card:hover {
  border-color: #ffffff14;
  transform: translateY(-2px);
  box-shadow: 0 28px 56px #00000059, 0 8px 20px #0003, 0 0 0 1px #7cf6ff1a;
}

.glass-interactive {
  background: var(--glass-base);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  transition: all .25s cubic-bezier(.4, 0, .2, 1);
}

.glass-interactive:hover {
  background: var(--glass-elevated);
  border-color: var(--glass-border);
}

.glass-interactive:active {
  transform: scale(.98);
}

.glow-strain {
  box-shadow: 0 0 24px #4ade8066, 0 0 48px #4ade8033;
}

.glow-recovery {
  box-shadow: 0 0 24px #7cf6ff59, 0 0 48px #7cf6ff26;
}

.glow-exertion {
  box-shadow: 0 0 24px #ff9a6266, 0 0 48px #ff9a6233;
}

.glow-primary {
  box-shadow: 0 0 24px #7cf6ff4d, 0 0 56px #7cf6ff1f;
}

.glow-soft {
  box-shadow: 0 8px 40px #7cf6ff1a;
}

.gradient-text {
  background: linear-gradient(135deg, var(--frost) 0%, #e6edf7d9 50%, var(--glow) 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.gradient-text-vibrant, .gradient-text-primary {
  background: linear-gradient(135deg, var(--glow) 0%, var(--ice) 50%, var(--ember) 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.gradient-border {
  border-radius: 20px;
  position: relative;
}

.gradient-border:before {
  content: "";
  border-radius: inherit;
  -webkit-mask-composite: xor;
  pointer-events: none;
  background: linear-gradient(135deg, #7cf6ff80 0%, #b6c2ff4d 50%, #ff9a624d 100%);
  padding: 1px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  mask-image: linear-gradient(#fff 0 0), linear-gradient(#fff 0 0);
  -webkit-mask-position: 0 0, 0 0;
  mask-position: 0 0, 0 0;
  -webkit-mask-size: auto, auto;
  mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-origin: content-box, border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-source-type: auto, auto;
  mask-mode: match-source, match-source;
}

.btn-premium {
  background: linear-gradient(135deg, var(--glow) 0%, var(--ice) 100%);
  color: var(--ink);
  border: none;
  font-weight: 600;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px #7cf6ff4d, inset 0 1px #fff3;
}

.btn-premium:after {
  content: "";
  background: linear-gradient(135deg, #0000 40%, #ffffff1a 50%, #0000 60%);
  transition: transform .5s;
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.btn-premium:hover:after {
  transform: translateX(100%);
}

.btn-premium:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px #7cf6ff66, inset 0 1px #ffffff40;
}

.btn-premium:active {
  transform: translateY(0);
}

.btn-strain {
  background: linear-gradient(135deg, #22c55e 0%, #4ade80 100%);
  box-shadow: 0 8px 24px #4ade8059;
}

.btn-strain:hover {
  box-shadow: 0 12px 32px #4ade8073;
}

.btn-recovery {
  background: linear-gradient(135deg, var(--ice) 0%, var(--glow) 100%);
  box-shadow: 0 8px 24px #b6c2ff4d;
}

.btn-recovery:hover {
  box-shadow: 0 12px 32px #b6c2ff66;
}

@apply rounded-3xl;

.mui-tailwind-card {
  background: linear-gradient(155deg, #1c2330d9 0%, #151b24b3 100%);
  border: 1px solid #ffffff0a;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  box-shadow: 0 20px 40px #0003, inset 0 1px #ffffff05;
}

.mui-tailwind-card:hover {
  border-color: #7cf6ff1a;
  transform: translateY(-4px);
  box-shadow: 0 28px 56px #0000004d, 0 0 32px #7cf6ff0d, inset 0 1px #ffffff0a;
}

@apply rounded-2xl;

.metric-card {
  background: linear-gradient(145deg, #151b24e6 0%, #0a0d12cc 100%);
  border: 1px solid #ffffff08;
  box-shadow: 0 12px 32px #0003;
}

@apply rounded-2xl;

.mui-tailwind-input {
  background: color-mix(in srgb, var(--midnight) 80%, transparent);
  border: 1.5px solid var(--glass-border);
  transition: all .25s;
}

.mui-tailwind-input:focus-within {
  border-color: #7cf6ff66;
  box-shadow: 0 0 0 4px #7cf6ff1a, 0 8px 24px #0003;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

.shimmer {
  background: linear-gradient(100deg, #0000 0%, #ffffff08 50%, #0000 100%) 0 0 / 200% 100%;
  animation: 2.5s ease-in-out infinite shimmer;
}

@keyframes pulse-ring {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 #7cf6ff59;
  }

  50% {
    transform: scale(1.02);
    box-shadow: 0 0 0 10px #7cf6ff00;
  }
}

.pulse-ring {
  animation: 2s cubic-bezier(.4, 0, .2, 1) infinite pulse-ring;
}

@keyframes breathe {
  0%, 100% {
    opacity: .6;
    box-shadow: 0 0 20px #7cf6ff33;
  }

  50% {
    opacity: 1;
    box-shadow: 0 0 40px #7cf6ff59;
  }
}

.breathe {
  animation: 3s ease-in-out infinite breathe;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-6px);
  }
}

.float {
  animation: 4s ease-in-out infinite float;
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  animation: .5s cubic-bezier(.4, 0, .2, 1) forwards fade-in-up;
}

@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.scale-in {
  animation: .3s cubic-bezier(.4, 0, .2, 1) forwards scale-in;
}

.activity-dot {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: relative;
}

.activity-dot:after {
  content: "";
  background: inherit;
  opacity: .3;
  filter: blur(4px);
  border-radius: 50%;
  position: absolute;
  inset: -4px;
}

.activity-dot-active {
  background: var(--glow);
}

.activity-dot-pending {
  background: var(--ember);
}

.activity-dot-inactive {
  background: #fff3;
}

.stat-value {
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
}

.stat-large {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
}

.stat-unit {
  opacity: .6;
  margin-left: .25em;
  font-size: .4em;
  font-weight: 500;
}

.progress-bar {
  background: #ffffff0f;
  border-radius: 2px;
  height: 4px;
  overflow: hidden;
}

.progress-bar-fill {
  border-radius: 2px;
  height: 100%;
  transition: width .6s cubic-bezier(.4, 0, .2, 1);
}

.progress-bar-fill-strain {
  background: linear-gradient(90deg, #22c55e, #4ade80);
}

.progress-bar-fill-recovery {
  background: linear-gradient(90deg, var(--ice), var(--glow));
}

.progress-bar-fill-primary {
  background: linear-gradient(90deg, var(--glow), var(--ice));
}

.tag-premium {
  letter-spacing: .02em;
  color: var(--glow);
  background: #7cf6ff1a;
  border: 1px solid #7cf6ff33;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: .75rem;
  font-weight: 600;
  transition: all .2s;
}

.tag-premium:hover {
  background: #7cf6ff2e;
  border-color: #7cf6ff59;
}

.tag-strain {
  color: #4ade80;
  background: #4ade801f;
  border: 1px solid #4ade8040;
}

.tag-recovery {
  color: var(--glow);
  background: #7cf6ff1a;
  border: 1px solid #7cf6ff33;
}

.tag-exertion {
  color: var(--ember);
  background: #ff9a621f;
  border: 1px solid #ff9a6240;
}

.avatar-glow {
  position: relative;
}

.avatar-glow:after {
  content: "";
  background: linear-gradient(135deg, var(--glow), var(--ice), var(--ember));
  z-index: -1;
  opacity: 0;
  border-radius: 50%;
  transition: opacity .3s;
  position: absolute;
  inset: -2px;
}

.avatar-glow:hover:after {
  opacity: 1;
}

.divider-subtle {
  background: linear-gradient(90deg, #0000 0%, #ffffff0f 50%, #0000 100%);
  height: 1px;
}

@media (max-width: 640px) {
  .glass-card, .glass-elevated {
    -webkit-backdrop-filter: blur(16px);
  }

  .stat-large {
    font-size: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.noise:before {
  content: "";
  opacity: .012;
  pointer-events: none;
  z-index: 9999;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__087f1a6a._.css.map*/