/*
* INCG Repacks
* Based on LittleLink (https://littlelink.io) - MIT License
*/

/* Design Tokens - INCG Brand
–––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
  font-size: clamp(15px, 2vw + 8px, 18px);

  /* Purple Palette */
  --color-purple-300: #d8b4fe;
  --color-purple-400: #c084fc;
  --color-purple-500: #a855f7;
  --color-purple-600: #9333ea;

  /* Surface Colors - Dark theme */
  --color-surface: #0a0a0f;
  --color-surface-light: #12121a;
  --color-surface-elevated: #1c1c24;

  /* Text Colors */
  --color-text-primary: #ffffff;
  --color-text-secondary: #cbd5e1;
  --color-text-muted: #94a3b8;

  /* Accent */
  --color-accent: #a855f7;
  --color-accent-hover: #9333ea;
  --color-accent-glow: rgba(168, 85, 247, 0.3);

  /* Typography scale */
  --scale-0: 1rem;
  --scale-1: 1.25rem;
  --scale-2: 1.563rem;
  --scale-3: 1.953rem;
  --scale-4: 2.441rem;
  --scale-5: 3.052rem;

  /* Spacing */
  --spacing-xs: 0.5rem;
  --spacing-s: 1rem;
  --spacing-m: 1.5rem;
  --spacing-l: 2rem;
  --spacing-xl: 3rem;
  --spacing-xxl: 4rem;

  /* Transitions */
  --transition-fast: 150ms ease-out;
  --transition-base: 250ms ease-out;

  /* Border Radius */
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-full: 9999px;
}

/* Grid
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  .container {
	position:relative;
	width:100%;
	max-width:37.5rem;     				/* 600px */
    text-align:center;
	margin:0 auto;
	padding:3rem 1.25rem 0 1.25rem;
	box-sizing:border-box;
}
.container-left {
	position:relative;
	width:100%;
	max-width:37.5rem;
	text-align:left;
	margin:0 auto;
	padding:0 1.25rem;
	box-sizing:border-box;
}
.container-left p {
	margin-bottom: 1rem;  				/* 16px space between paragraphs */
  }
.column {
	position:center;
	width:100%;
	float:center;
	box-sizing:border-box;
}
/* For devices larger than 400px */
  @media (min-width:25rem) {            /* 400px */
    .container {
	width:85%;
	padding-left:0;
	padding-right:0;
}
}/* For devices larger than 550px */
  @media (min-width:34.375rem) {        /* 550px */
    .container {
	width:80%;
}
.column,.columns {
	margin-left:0;
}
.column:first-child,.columns:first-child {
	margin-left:0;
}
}

/* Base Styles
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--color-surface);
  color: var(--color-text-primary);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: var(--scale-1);
  font-weight: 400;
  line-height: 1.6;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background-color: var(--color-purple-600);
  color: white;
}

/* Typography
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
h1 {
  margin: 0 0 0.5rem 0;
  font-size: var(--scale-5);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background: linear-gradient(to right, #e9d5ff, #c084fc);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.container p {
  margin: 0 0 2rem 0;
  color: var(--color-text-secondary);
}

/* Base Typography Settings
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Base size - 16px browser default */
:root {
  font-size:16px;           /* Using a 1.25 modular scale for typography */
  --scale-0:1rem;           /* 16px */
  --scale-1:1.25rem;        /* 20px */
  --scale-2:1.563rem;       /* 25px */
  --scale-3:1.953rem;       /* 31px */
  --scale-4:2.441rem;       /* 39px */
  --scale-5:3.052rem;       /* 49px */

  /* Spacing units */
  --spacing-xs:0.5rem;      /* 8px */
  --spacing-s:1rem;         /* 16px */
  --spacing-m:1.5rem;       /* 24px */
  --spacing-l:2rem;         /* 32px */
  --spacing-xl:3rem;        /* 48px */
  --spacing-xxl:4rem;       /* 64px */
}

/* Avatar */
.avatar {
	width: 8rem;             /* 128px */
	height: 8rem;
	border-radius: 50%;
	object-fit: cover;
	background-position: center;
	margin-bottom: var(--spacing-l);
	margin-left: auto;
	margin-right: auto;
	display: block;
  }

/* Typography Scale */
h1 {
	margin:0 0 var(--spacing-m) 0;
	font-size:var(--scale-5);           /* ~49px */
  	font-weight:800;
	line-height:1.1;
	letter-spacing:-0.02em;
	word-wrap:break-word;
	overflow-wrap:break-word;
}
body {
	font-size:var(--scale-1);           /* 20px */
  	line-height:1.6;
}
.container p {
	margin:0 0 var(--spacing-xl) 0;
	font-size:var(--scale-1);
	line-height:1.6;
}

/* Container spacing */
.container {
	padding:var(--spacing-xl) var(--spacing-m) 0 var(--spacing-m);
	text-align:center;
}

/* Footer */
footer {
  margin: var(--spacing-xxl) 0;
  font-size: var(--scale-0);
  color: var(--color-text-muted);
}

footer a {
  color: var(--color-text-muted);
}

footer a:hover {
  color: var(--color-purple-400);
}

/* Responsive adjustments */
@media (max-width:34.375rem) {              /* 550px */
  h1 {
	font-size:var(--scale-4);
}
body {
	font-size:var(--scale-0);
}
.container p {
	font-size:var(--scale-0);
}
.avatar {
	margin-bottom:var(--spacing-m);
}
footer {
	margin:var(--spacing-xl) 0;         	/* 3rem (48px) top and bottom */
}
}

/* Links
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  color: var(--color-purple-400);
  text-decoration: none;
  transition: color var(--transition-fast);
}
a:hover {
  color: var(--color-purple-300);
}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button, button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18.75rem;
  min-height: 3rem;
  padding: 0.75rem 1rem;
  font-size: 1.125rem;
  font-weight: 600;
  text-decoration: none;
  white-space: normal;
  background-color: var(--button-background, var(--color-surface-light));
  color: var(--button-text, var(--color-text-primary));
  border: 1px solid rgba(255, 255, 255, 0.03);
  border-radius: var(--radius-lg);
  cursor: pointer;
  box-sizing: border-box;
  hyphens: auto;
  margin-bottom: 1rem;
  text-align: center;
  line-height: 1.3;
  transition: transform var(--transition-base), 
              background-color var(--transition-base), 
              box-shadow var(--transition-base),
              filter var(--transition-fast);
}

.button:hover, button:hover {
  filter: brightness(1.1);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.4);
  border-color: rgba(255, 255, 255, 0.1);
}

/* Icons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.icon {
	width:1.25rem;
	height:1.25rem;
	margin-right:0.5rem;
	flex-shrink:0;
}

/* Avatar
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
.avatar {
  width: 8rem;
  height: 8rem;
  object-fit: cover;
  background-position: center;
  margin-bottom: var(--spacing-l);
  border: 2px solid rgba(168, 85, 247, 0.3);
  box-shadow: 0 0 30px var(--color-accent-glow);
}

/* Modifier for no avatar rounding */
.avatar--none {
  border-radius: 0%;
}

/* Modifier for rounded avatar */
.avatar--rounded {
  border-radius: 50%;
}

/* Modifier for slightly rounded corners */
.avatar--soft {
  border-radius: var(--radius-lg);
}

/* Theme System
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Dark theme is now default */

:root.theme-dark {
  color-scheme: dark;
}

:root.theme-dark :focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* Light theme override */
:root.theme-light body {
  background-color: #ffffff;
  color: #1a1a1a;
}

:root.theme-light a:not(.button) {
  color: var(--color-purple-600);
}

:root.theme-light a:not(.button):hover {
  color: var(--color-purple-500);
}

/* Auto theme */
:root.theme-auto {
  color-scheme: light dark;
}

@media (prefers-color-scheme: light) {
  :root.theme-auto body {
    background-color: #ffffff;
    color: #1a1a1a;
  }
  :root.theme-auto a:not(.button) {
    color: var(--color-purple-600);
  }
  :root.theme-auto a:not(.button):hover {
    color: var(--color-purple-500);
  }
}

/* Button Text Color Override
    –––––––––––––––––––––––––––––––––––––––––––––––––– */
    .button:hover,button:hover {
	color:var(--button-text);
}

/* Responsive Typography
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  @media (max-width:34.375rem) {            /* 550px */
    h1 {
	font-size:2rem;                         /* 32px */
	}
	body {
	font-size:1rem;                    		/* 16px */
	}
}

/* Privacy Page Styles
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
nav {
	margin:var(--spacing-l) 0;
	text-align:left;
}
section {
	margin:var(--spacing-xl) 0;
	text-align:left;
}
h2 {
	font-size:var(--scale-3);
	font-weight:700;
	margin-bottom:var(--spacing-m);
}
h3 {
	font-size:var(--scale-2);
	font-weight:600;
	margin:var(--spacing-l) 0 var(--spacing-s) 0;
}
ul {
	list-style:none;
	padding:0;
	margin:0 0 var(--spacing-m) 0;
}
ul li {
	margin-bottom:var(--spacing-xs);
}

/* Privacy page specific responsive adjustments */
  @media (max-width:34.375rem) {
	h2 {
	font-size:var(--scale-2);
	}
	h3 {
	font-size:var(--scale-1);
	}
	section {
	margin:var(--spacing-l) 0;
	}
}

/* Font Face Definitions
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:400;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:600;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:700;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:800;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg');
}
