/* Exact Gamevia branding from gamevia.space source, v229.
   This file owns fonts, brand tokens and the authentic logo frame only. */

/* inter-cyrillic-ext-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./assets/fonts/inter-cyrillic-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./assets/fonts/inter-cyrillic-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./assets/fonts/inter-greek-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./assets/fonts/inter-greek-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./assets/fonts/inter-vietnamese-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* inter-latin-ext-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./assets/fonts/inter-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;
}

/* inter-latin-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./assets/fonts/inter-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* space-grotesk-vietnamese-wght-normal */
@font-face {
  font-family: 'Space Grotesk Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 300 700;
  src: url(./assets/fonts/space-grotesk-vietnamese-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* space-grotesk-latin-ext-wght-normal */
@font-face {
  font-family: 'Space Grotesk Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 300 700;
  src: url(./assets/fonts/space-grotesk-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;
}

/* space-grotesk-latin-wght-normal */
@font-face {
  font-family: 'Space Grotesk Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 300 700;
  src: url(./assets/fonts/space-grotesk-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --color-background: #050505;
  --color-surface: rgba(10, 10, 10, 0.6);
  --color-surface-hover: rgba(17, 17, 17, 0.8);
  --color-primary: #ffffff;
  --color-secondary: #a1a1aa;
  
  --color-violet-900: #2e1065;
  --color-violet-800: #4c1d95;
  --color-violet-600: #7c3aed;
  --color-violet-500: #8b5cf6;

  --color-blue-600: #2563eb;
  --color-blue-500: #3b82f6;

  --color-green-500: #10b981;
  --color-red-500: #ef4444;
  --color-orange-500: #f97316;

  --font-sans: "Inter Variable", "Inter", system-ui, -apple-system, sans-serif;
  --font-space: "Space Grotesk Variable", "Space Grotesk", sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --gv-bg: var(--color-background);
  --gv-text: var(--color-primary);
  --gv-muted: var(--color-secondary);
  --gv-line: rgba(255, 255, 255, 0.1);
  --gv-action-gradient: linear-gradient(135deg, #6f00be, #004395);
  --gv-radius: 8px;
}

body {
  background-color: var(--color-background);
  color: var(--color-primary);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.font-space { font-family: var(--font-space); }
.font-mono { font-family: var(--font-mono); }

.gamevia-logo-frame {
  position: relative;
  isolation: isolate;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: #050505;
  box-shadow: 0 0 10px rgba(91, 77, 174, 0.14);
}

.gamevia-logo-frame::before {
  position: absolute;
  z-index: 0;
  inset: -58%;
  content: "";
  background: conic-gradient(
    from 0deg,
    transparent 0deg 125deg,
    rgba(48, 86, 157, 0.22) 145deg,
    rgba(72, 124, 216, 0.88) 168deg,
    rgba(124, 82, 196, 0.92) 188deg,
    rgba(72, 49, 126, 0.28) 215deg,
    transparent 240deg 360deg
  );
  animation: gamevia-logo-border-orbit 8s linear infinite;
}

.gamevia-logo-frame::after {
  position: absolute;
  z-index: 1;
  inset: 1px;
  border-radius: 7px;
  background: #050505;
  content: "";
}

.gamevia-logo-image {
  position: relative;
  z-index: 2;
  width: 32px;
  height: 32px;
}

.gamevia-logo-frame--cta {
  width: 56px;
  height: 56px;
  border-radius: 11px;
  box-shadow: 0 0 14px rgba(91, 77, 174, 0.18);
}

.gamevia-logo-frame--cta::after {
  border-radius: 10px;
}

.gamevia-logo-image--cta {
  width: 42px;
  height: 42px;
}

@keyframes gamevia-logo-border-orbit {
  to {
    transform: rotate(1turn);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gamevia-logo-frame::before {
    animation: none;
    transform: rotate(25deg);
  }
}

/* The reference markup applies Tailwind shrink-0/object-contain utilities.
   Preserve those asset constraints in this standalone application too. */
.gamevia-logo-frame { flex-shrink: 0; }
.gamevia-logo-image { object-fit: contain; }
