@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --primary-friendly-blue: hsl(210, 70%, 55%);
  --secondary-bright-gold: hsl(45, 95%, 55%);
  --accent-sky-blue: hsl(195, 70%, 70%);
  --accent-warm-grey: hsl(30, 8%, 40%);

  --bg-light-clean: hsl(210, 30%, 98%);
  --bg-dark-charcoal: hsl(210, 15%, 18%);
  --text-light-white: hsl(0, 0%, 98%);
  --text-dark-charcoal: hsl(210, 15%, 15%);
  --shadow-color-soft: hsla(210, 70%, 45%, 0.25);
  --shadow-color-glow: hsla(45, 95%, 50%, 0.3);

  --font-main: 'Poppins', sans-serif;
  --font-heading: 'Orbitron', sans-serif;
}

html {
  height: 100%;
  display: flex;
  flex-direction: column;
  scroll-behavior: smooth;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: var(--font-main);
  background: hsl(210, 10%, 92%);
  color: var(--text-dark-charcoal);
  line-height: 1.6;
  transition: background 0.3s ease;
  opacity: 0;
}

body.fade-in {
  opacity: 1;
  transition: opacity 0.4s ease-out;
}

@keyframes fadeInBody {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* Body Background Control for Quiz/Results */

body.quiz-view-active::before {
  content: '';
  position: fixed; 
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4); 
  z-index: -1; 
}

body.results-view-active {
  background: white;
}

body.results-view-active::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); 
    z-index: -1;
}


a {
  text-decoration: none;
  color: inherit;
}

ul {
  list-style: none;
}

/* Header & Nav */
.site-header {
  position: relative;
  z-index: 1001; 
  flex-shrink: 0;
  overflow: hidden;
  text-align: center;
  padding: 0.4rem 1.5rem 1.2rem 1.5rem;
  background: url(images/banner.webp), linear-gradient(135deg, var(--primary-friendly-blue), hsl(210, 70%, 65%)),
              radial-gradient(circle at top left, hsla(45, 95%, 55%, 0.25), transparent 70%);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: var(--primary-friendly-blue);
  color: var(--text-light-white);
  border-bottom-left-radius: 50% 20px;
  border-bottom-right-radius: 40% 25px;
  margin-bottom: 0; 
  border-bottom: 3px solid var(--secondary-bright-gold); 
}

.site-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.025);
  z-index: 0;
  border-bottom-left-radius: 50% 20px;
  border-bottom-right-radius: 40% 25px;
}

.site-header h1 {
  color: var(--text-light-white);
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2.5rem, 6vw, 3.5rem);
  margin-bottom: 0.2rem;
    margin-top: 0.5rem;
  letter-spacing: 1px;
  font-weight: 700;
  position: relative;
  z-index: 1;
  text-shadow:
  -0.75px -0.75px 0 hsla(0, 0%, 0%, 0.45),
   0.75px -0.75px 0 hsla(0, 0%, 0%, 0.45),
  -0.75px  0.75px 0 hsla(0, 0%, 0%, 0.45),
   0.75px  0.75px 0 hsla(0, 0%, 0%, 0.45),
   2px 3px 6px hsla(0, 0%, 0%, 0.4); 
  }


.site-header h1 .header-me {
  color: var(--secondary-bright-gold);
}

.site-header .tagline {
  font-family: 'Orbitron', sans-serif;
  font-size: clamp(1.1rem, 2.2vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--text-light-white);
  text-align: center;
  margin-top: -0.2rem;
  margin-bottom: 0.30rem;
  position: relative;
  z-index: 1;
  text-shadow:
    -1px -1px 0 rgba(0, 0, 0, 0.65),
     1px -1px 0 rgba(0, 0, 0, 0.65),
    -1px  1px 0 rgba(0, 0, 0, 0.65),
     1px  1px 0 rgba(0, 0, 0, 0.65),
     2px 4px 6px rgba(0, 0, 0, 0.5);
}

/* Navigation Bar Container */
.main-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  flex-shrink: 0;
  padding: 1rem 0; 
  background: transparent; 
  margin-top: -4px; 
}

/* Navigation Background Pseudo-Element */
.main-nav::before {
  content: '';
  position: absolute;
  top: -20px; 
  left: 0;
  right: 0;
  height: calc(100% + 20px); 
  background: hsla(210, 30%, 99%, 0.90);
  backdrop-filter: blur(4px);
  box-shadow: 0 2px 10px hsla(210, 15%, 15%, 0.1);
  border-bottom: 1px solid hsla(210, 15%, 15%, 0.05); 
  z-index: -1; 
}


.nav-container {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
  position: relative;
  z-index: 1;
}

.hamburger {
  display: none;
  font-size: 2rem;
  cursor: pointer;
  color: var(--primary-friendly-blue);
}

#nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  position: relative;
  z-index: 1;
}

/* Nav Link Styles */
.main-nav ul li a { padding: 0.6rem 1.2rem; font-weight: 600; color: var(--text-dark-charcoal); border-radius: 50px; transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; position: relative; overflow: hidden; }
.main-nav ul li a::before { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; background-color: var(--secondary-bright-gold); transition: all 0.3s ease; transform: translateX(-50%); }
.main-nav li a:hover { background: hsla(210, 70%, 55%, 0.1); color: var(--primary-friendly-blue); }
.main-nav li a:hover::before { width: 70%; background-color: var(--primary-friendly-blue); }
.main-nav a.active { font-weight: 700; color: var(--primary-friendly-blue); background: hsla(210, 70%, 55%, 0.1); box-shadow: inset 0 0 5px hsla(210, 70%, 55%, 0.2); }
.main-nav a.active::before { width: 80%; background-color: var(--primary-friendly-blue); }


/* Main Content Areas */
main,
.quiz-page-container,
.result-container,
.static-content-container,
.quiz-categories,
main#categories {
  flex-grow: 1;
  flex-shrink: 0;
  width: 100%;
  padding-top: 1.25rem;
}

#quiz-grid-container {
  flex: 0 0 auto;
}

/* Specific layout styles */
.quiz-categories { padding-left: 2rem; padding-right: 2rem; padding-bottom: 1.25rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2.5rem; max-width: 1200px; margin-left: auto; margin-right: auto; align-content: start; }
.quiz-categories > h2 { grid-column: 1 / -1; text-align: center; color: var(--primary-friendly-blue); margin-bottom: -1rem; font-family: 'Righteous', sans-serif; font-size: clamp(1.8rem, 5vw, 2.2rem); text-shadow:
  
   2px 3px 6px hsla(0, 0%, 0%, 0.25); 
  }
.quiz-categories > #loading-message, .quiz-categories > .no-quiz-message { grid-column: 1 / -1; text-align: center; font-style: italic; color: var(--accent-warm-grey); margin-top: 1rem; }
.quiz-categories h2 .highlight-gold { color: var(--secondary-bright-gold); text-shadow:
  -0.75px -0.75px 0 hsla(0, 0%, 0%, 0.45),
   0.75px -0.75px 0 hsla(0, 0%, 0%, 0.45),
  -0.75px  0.75px 0 hsla(0, 0%, 0%, 0.45),
   0.75px  0.75px 0 hsla(0, 0%, 0%, 0.45),
   2px 3px 6px hsla(0, 0%, 0%, 0.4); 
  }



.static-content-container { max-width: 800px; margin-left: auto; margin-right: auto; margin-bottom: 3rem; padding: 2rem 3rem; padding-top: 1.5rem; background: white; box-shadow: 0 8px 30px hsla(210, 15%, 15%, 0.1); border-radius: 8px; position: relative; top: 2% }
.static-content-container h2 { color: var(--primary-friendly-blue); margin-bottom: 1.5rem; text-align: center; font-family: 'Righteous', sans-serif; text-shadow: 2px 3px 6px hsla(0, 0%, 0%, 0.25); }
.static-content-container h3 { color: var(--primary-friendly-blue); margin-top: 2rem; margin-bottom: 0.75rem; }
.static-content-container p { margin-bottom: 1rem; line-height: 1.7; }
.static-content-container ul { list-style: disc; margin-left: 2rem; margin-bottom: 1rem; }
.static-content-container li { margin-bottom: 0.5rem; }
.static-content-container a { color: var(--primary-friendly-blue); text-decoration: underline; }
.static-content-container a:hover { color: var(--secondary-bright-gold); }

main#categories > .quiz-tile > .quiz-button { margin-top: auto; }
main#categories > .featured-quiz > .featured-button { margin-top: auto; }

.quiz-disclaimer {
  font-size: 0.5em; 
  font-style: italic;
  line-height: 1.2;
  opacity: 0.85;
  color: #666;
  margin-top: 1em;
  margin-bottom: 2em;
  padding: 0 1em;
  text-align: center;
  display: none; 
}


/* Background images for category tiles on index */
#fun.quiz-tile { background-image: url('images/tiles/fun.webp'); }
#weird.quiz-tile { background-image: url('images/tiles/weird.webp'); }
#social.quiz-tile { background-image: url('images/tiles/socialmain.webp'); }
#practical.quiz-tile { background-image: url('images/tiles/practical.webp'); }
#health.quiz-tile { background-image: url('images/tiles/health.webp'); }

/* Styles for category tiles with background images */
#fun.quiz-tile, #weird.quiz-tile, #social.quiz-tile, #practical.quiz-tile, #health.quiz-tile { background-size: cover; background-position: center center; background-repeat: no-repeat; position: relative; overflow: hidden; }
#fun.quiz-tile::before, #weird.quiz-tile::before, #social.quiz-tile::before, #practical.quiz-tile::before, #health.quiz-tile::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.6); z-index: 0; transform: none; transition: background-color 0.3s ease; }
#fun.quiz-tile:hover::before, #weird.quiz-tile:hover::before, #social.quiz-tile:hover::before, #practical.quiz-tile:hover::before, #health.quiz-tile:hover::before { background-color: rgba(0, 0, 0, 0.4); }
#fun.quiz-tile p,
#weird.quiz-tile p,
#social.quiz-tile p,
#practical.quiz-tile p,
#health.quiz-tile p,
#featured.quiz-tile p {
  color: var(--text-light-white); 
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6); 
  position: relative; 
  z-index: 1; 
  font-weight: 500; 
  font-size: 1rem;
  margin-bottom: 0; 
}

#fun.quiz-tile h2,
#weird.quiz-tile h2,
#social.quiz-tile h2,
#practical.quiz-tile h2,
#health.quiz-tile h2 {
  color: var(--text-light-white); 
  font-size: 1.8rem; 
  margin-bottom: 0.5rem; 
  font-weight: 600; 
  position: relative;
  z-index: 1; 
  text-shadow: 2px 2px 4px var(--secondary-bright-gold); 
}

#featured.quiz-tile h2 {
    color: var(--text-light-white);
    font-size: 2rem;
    margin-bottom: 0.5rem; 
    font-weight: 600; 
    position: relative; 
    z-index: 1; 
    text-shadow: 2px 2px 4px var(--accent-sky-blue); 
}

#fun.quiz-tile .quiz-button,
#weird.quiz-tile .quiz-button,
#social.quiz-tile .quiz-button,
#practical.quiz-tile .quiz-button,
#health.quiz-tile .quiz-button,
.quiz-tile.has-background-image .quiz-button,
.featured-quiz .featured-button {
  background: hsla(45, 95%, 55%, 0.2);
  color: var(--secondary-bright-gold);
  border: 2px solid var(--secondary-bright-gold);
  padding: 0.6rem 1.2rem;
  font-size: 1rem;
  border-radius: 4px;
  box-shadow: 0 3px 8px var(--shadow-color-glow);
  position: relative;
  z-index: 1;
  transform: none;
  transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(2px);
  top: -0.5rem;
}

#fun.quiz-tile .quiz-button:hover,
#weird.quiz-tile .quiz-button:hover,
#social.quiz-tile .quiz-button:hover,
#practical.quiz-tile .quiz-button:hover,
#health.quiz-tile .quiz-button:hover,
.quiz-tile.has-background-image .quiz-button:hover {
  transform: translateY(-2px) scale(1.05);
  background: hsla(45, 95%, 55%, 0.35);
  box-shadow: 0 4px 10px var(--shadow-color-glow);
  border-color: hsl(45, 95%, 60%);
}

.quiz-button:focus-visible,
.featured-button:focus-visible {
  outline: 3px dashed var(--secondary-bright-gold);
  outline-offset: 4px;
}

/* General .quiz-tile styles */
.quiz-tile { height: 360px; max-height: 360px; min-height: 360px; display: flex; flex-direction: column; background-color: white; background-size: cover; background-position: center center; background-repeat: no-repeat; border: none; padding: 2rem 1.5rem; text-align: center; box-shadow: 5px 7px 10px hsla(210, 15%, 15%, 0.12); border-radius: 10px; transform: skew(-10deg); transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease, background 0.4s ease; position: relative; overflow: hidden; }
.quiz-tile-text-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; }
.tile-icon { font-size: 2.5rem; margin-bottom: 0.5rem; color: var(--secondary-bright-gold); filter: drop-shadow(2px 2px 3px var(--shadow-color-glow)); }
.quiz-tile h2 { font-size: 1.6rem; margin-bottom: 0.5rem; color: var(--primary-friendly-blue); font-weight: 600; }
.quiz-tile p { font-size: 1rem; color: hsl(210, 10%, 40%); margin-bottom: 0; }
.quiz-tile .coming-soon { color: var(--accent-warm-grey); font-style: italic; margin-top: 0.5rem; margin-bottom: 0.5rem; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease, background 0.4s ease, background-size 0.4s ease; background-size: cover; }

.coming-soon-tile { transform: skew(-10deg) !important; pointer-events: none; opacity: 0.7; background: hsl(0, 0%, 96%); border-color: hsl(0, 0%, 85%); box-shadow: 3px 4px 8px hsla(210, 15%, 15%, 0.08); }
.coming-soon-tile:hover { transform: skew(-10deg) !important; box-shadow: 3px 4px 8px hsla(210, 15%, 15%, 0.08) !important; border-color: hsl(0, 0%, 85%); }
.coming-soon-tile p { position: relative; padding-bottom: -0.5rem !important; color: hsl(0, 0%, 65%) !important; text-shadow: none !important; }
.coming-soon-tile h2 { padding-bottom: 0.5rem !important; color: hsl(0, 0%, 65%) !important; text-shadow: none !important; }
.coming-soon-tile .tile-icon { position: relative; top: 1rem; opacity: 0.6; filter: grayscale(50%); color: var(--accent-warm-grey); }
.quiz-tile.coming-soon-tile .quiz-button {
  display: none !important;
}
.coming-soon-tile .quiz-tile-text-content p {
  margin-top: -0.5rem; 
}
.coming-soon-tile .quiz-tile-text-content {
  position: relative;
  top: -1.5rem; 
}
.quiz-tile.coming-soon-tile:hover .quiz-button { transform: none !important; background: var(--accent-warm-grey) !important; color: hsl(30, 5%, 70%) !important; border-color: transparent !important; box-shadow: none !important; cursor: not-allowed !important; }
.quiz-tile.coming-soon-tile:hover .quiz-button span { transform: none !important; }
.quiz-tile.has-background-image::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.6); z-index: 0; transform: none; transition: background-color 0.3s ease; }
.quiz-tile.has-background-image:hover::before { background-color: rgba(0, 0, 0, 0.4); }
.quiz-tile.has-background-image h2 { color: var(--text-light-white); paint-order: stroke fill; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6); }
.quiz-tile.has-background-image p { color: var(--text-light-white); paint-order: stroke fill; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6); font-weight: 500; }


.quiz-button, .featured-button { display: inline-block; padding: 0.6rem 1.5rem; font-weight: 700; font-family: var(--font-main); font-size: 1rem; cursor: pointer; transition: all 0.3s ease; letter-spacing: 0.5px; text-align: center; border-radius: 4px; box-shadow: 0 4px 10px var(--shadow-color-glow); margin-top: 1.5rem; position: relative; overflow: hidden; max-width: 90%; align-self: center; }
.quiz-button span, .featured-button span { display: inline-block; position: relative; z-index: 2; }
.quiz-tile:hover { transform: translateY(-10px) skew(-10deg) scale(1.05); box-shadow: 8px 12px 18px hsla(210, 15%, 15%, 0.18); }
.quiz-button:hover, .featured-button:hover {
  transform: translateY(-2px) scale(1.05);
  background: hsla(45, 95%, 55%, 0.35);
  box-shadow: 0 4px 10px var(--shadow-color-glow);
  border-color: hsl(45, 95%, 60%);
}
.quiz-button:disabled, .coming-soon-tile .quiz-button, .featured-button:disabled { background: var(--accent-warm-grey); color: hsl(30, 5%, 70%); cursor: not-allowed; box-shadow: none; }
.quiz-button:disabled:hover, .coming-soon-tile .quiz-button:hover, .featured-button:disabled:hover { background: var(--accent-warm-grey); box-shadow: none; }

/* Featured Quiz styles */
.featured-quiz { background: linear-gradient(145deg, var(--primary-friendly-blue), var(--accent-sky-blue)); background-image: url('images/antihero.webp'); padding: 2rem 2rem; text-align: center; box-shadow: 6px 8px 12px var(--shadow-color-soft); transform: rotate(1deg) skew(-10deg); border-radius: 10px; transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), box-shadow 0.4s ease, border 0.4s ease; display: flex; flex-direction: column; color: var(--text-light-white); overflow: hidden; border: 2px solid var(--accent-sky-blue); position: relative; }
.featured-quiz::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.6); z-index: 0; transition: background-color 0.3s ease; }
.featured-quiz:hover { transform: translateY(-12px) rotate(-1deg) skew(-10deg) scale(1.05); box-shadow: 10px 14px 22px hsla(210, 70%, 45%, 0.35); background-color: rgba(0, 0, 0, 0.4); }
.featured-quiz h2 { font-style: italic; font-size: clamp(1.8rem, 5vw, 2.2rem); margin-bottom: 1rem; color: var(--accent-sky-blue); text-shadow: 1px 1px 3px hsla(210, 15%, 15%, 0.4); padding: 0 0.5rem; position: relative; z-index: 1; }
.featured-quiz:hover::before { background-color: rgba(0, 0, 0, 0.4); }
.featured-quiz p { font-style: italic; font-size: 1.1rem; color: var(--text-light-white); opacity: 0.9; margin-bottom: 1.5rem; flex-grow: 1; padding: 0 0.5rem; position: relative; z-index: 1; }
.featured-quiz > * {
  transform: skew(10deg);
  position: relative;
  z-index: 1; 
}
.featured-quiz .featured-button { background: hsla(195, 70%, 70%, 0.3); 
    color: var(--accent-sky-blue); 
    border: 2px solid var(--accent-sky-blue);
    box-shadow: 0 3px 8px var(--shadow-color-soft);  
    padding: 0.6rem 1.2rem;
    font-size: 1rem;
    border-radius: 4px;
    position: relative;
    z-index: 1;
    top: -0.5rem;
    backdrop-filter: blur(2px);
    transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, color 0.25s ease;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); 
}
.featured-quiz .featured-button:hover {
    transform: translateY(-2px) scale(1.05);
    background: hsla(195, 70%, 70%, 0.6);
    box-shadow: 0 4px 10px hsla(195, 70%, 60%, 0.4); 
    border-color: hsl(195, 70%, 75%); 
}

/* Styles for Quiz Page */

.quiz-page-container { max-width: 750px; margin-left: auto; margin-right: auto; margin-bottom: 3rem; padding: 2.5rem 3rem; padding-top: 1.5rem; background: transparent; box-shadow: none; border-radius: 0; position: relative; z-index: 1; }
.quiz-container { display: none; animation: fadeIn 0.5s ease-out forwards; opacity: 0; }
.quiz-container.active { display: block; opacity: 1; }
.quiz-header { text-align: center; margin-bottom: 2.5rem; }
.quiz-header h2 { color: var(--secondary-bright-gold); font-size: 2rem; margin-bottom: 0.75rem; font-weight: 700; font-family: 'Montserrat', sans-serif; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px  1px 0 #000, 1px  1px 0 #000, 1px 1px 2px hsla(210, 15%, 10%, 0.3); }
.quiz-header p { color: rgba(255, 255, 255, 0.98); font-size: 1.05rem; text-shadow: 1px 1px 2px hsla(0,0%,0%,0.4); }
.quiz-tile:not(.featured-quiz) h2 {
  color: var(--text-light-white);
  font-size: 1.6rem; 
  margin-bottom: 0.5rem;
  font-weight: 600;
  position: relative;
  z-index: 1;
  text-shadow: 2px 2px 4px var(--secondary-bright-gold);
}

.quiz-tile p { 
  color: var(--text-light-white);
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
  position: relative;
  z-index: 1;
}

.question { display: none; margin-bottom: 3rem; }
.question.active { display: block; }
.question-counter { text-align: center; font-size: 0.9rem; color: rgba(255, 255, 255, 0.98); margin-bottom: 0.75rem; font-weight: 600; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px  1px 0 #000, 1px  1px 0 #000, 1px 1px 2px hsla(210, 15%, 10%, 0.3); }
.question h3 { font-size: 1.5rem; margin-bottom: 2.5rem; color: rgba(255, 255, 255, 0.98); text-align: center; font-weight: 600; line-height: 1.4; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px  1px 0 #000, 1px  1px 0 #000, 1px 1px 2px hsla(210, 15%, 10%, 0.3); }
.options { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 500px; margin: 0 auto; }
.option { background: linear-gradient(145deg, var(--bg-light-clean), hsl(210, 20%, 96%)); padding: 1rem 1.5rem; border-radius: 4px; cursor: pointer; transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); border: 2px solid transparent; text-align: center; color: var(--text-dark-charcoal); font-weight: 500; width: 100%; max-width: 450px; box-shadow: 3px 5px 8px hsla(210, 15%, 15%, 0.06); transform: skew(-10deg); }
.option span { display: inline-block; transform: skew(10deg); }
.option:hover { background: linear-gradient(145deg, hsl(45, 95%, 92%), hsl(45, 90%, 88%)); transform: translateY(-3px) scale(1.02) skew(-10deg); border-color: hsla(45, 95%, 55%, 0.4); box-shadow: 4px 6px 12px hsla(210, 15%, 15%, 0.1); color: var(--text-dark-charcoal); }
.option.selected { background: linear-gradient(135deg, var(--secondary-bright-gold), hsl(45, 95%, 65%)); color: var(--text-dark-charcoal); border-color: hsl(45, 95%, 45%); font-weight: 600; transform: translateY(-1px) scale(1.01) skew(-10deg); box-shadow: inset 0 0 8px hsla(45, 50%, 20%, 0.15), 2px 4px 5px hsla(210, 15%, 15%, 0.1); }
.navigation { margin-top: 40px; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.navigation button { flex-grow: 1; min-width: 120px; background: linear-gradient(135deg, var(--primary-friendly-blue), var(--primary-friendly-blue)); color: var(--text-light-white); border: none; padding: 12px 24px; border-radius: 8px; cursor: pointer; font-size: 1rem; font-weight: 600; transition: all 0.3s ease; border-bottom: 2px solid var(--secondary-bright-gold); }
.navigation button:hover:not(:disabled) { background: linear-gradient(135deg, var(--accent-sky-blue), var(--accent-sky-blue)); transform: translateY(-2px); box-shadow: 0 4px 10px hsla(210, 15%, 10%, 0.35); border-bottom-color: var(--secondary-bright-gold); }
.navigation button:active:not(:disabled) { transform: translateY(0px); box-shadow: 0 2px 5px hsla(210, 15%, 10%, 0.25); }
.navigation button:disabled { background: hsl(210, 8%, 70%); cursor: not-allowed; opacity: 0.6; box-shadow: none; border-bottom-color: transparent; }

.quiz-tile .corner-line {
  display: block;
  position: absolute;
  width: 50px;  
  height: 50px; 
  border: 4px solid var(--secondary-bright-gold); 
  box-sizing: border-box;
  transition: width 0.3s ease-out, height 0.3s ease-out; 
  pointer-events: none; 
  z-index: 4; 
}

.quiz-tile .corner-line.tr {
  top: 3px;          
  right: 3px;        
  border-left-color: transparent; 
  border-bottom-color: transparent; 
  transform-origin: 100% 0%;
  border-top-right-radius: 10px; 
  overflow: visible
}

.quiz-tile .corner-line.bl {
  bottom: 3px;   
  left: 3px;        
  border-top-color: transparent; 
  border-right-color: transparent; 
   transform-origin: 0% 100%; 
   border-bottom-left-radius: 10px; 
}

.quiz-tile:hover .corner-line {
  width: 100px;  
  height: 100px; 
}

.featured-quiz .corner-line {
  border-color: var(--accent-sky-blue); 
  transition: width 0.3s ease-out, height 0.3s ease-out, transform 0.3s ease-out;
  transform: rotate(0deg);
  
}

.featured-quiz .corner-line.tr {
  border-left-color: transparent; 
  border-bottom-color: transparent; 
  border-top-color: var(--accent-sky-blue); 
  border-right-color: var(--accent-sky-blue); 
}

.featured-quiz .corner-line.bl {
  border-top-color: transparent; 
  border-right-color: transparent; 
  border-bottom-color: var(--accent-sky-blue); 
  border-left-color: var(--accent-sky-blue); 
}

/* Result Container */
.result-container { display: none; max-width: 750px; margin-left: auto; margin-right: auto; margin-bottom: -4.5rem; margin-top: 2.30rem; padding: 2.5rem 3rem; padding-top: 1.5rem; background-color: white; box-shadow: 0 8px 30px hsla(210, 15%, 15%, 0.1); border-radius: 15px; text-align: center; animation: fadeIn 0.6s ease-out forwards; opacity: 0; position: relative; z-index: 2; }
.result-container.active { display: block; opacity: 1; }
.result-title { font-size: clamp(2rem, 5vw, 2.5rem); font-family: 'Montserrat', sans-serif; color: var(--primary-friendly-blue); margin-bottom: 1.5rem; font-weight: 700; text-shadow:
  
   2px 3px 6px hsla(0, 0%, 0%, 0.25); }
.result-image {
  max-width: 100%;
  height: 400px;
  margin: 0 auto 2.5rem auto;
  border-radius: 15px;
  box-shadow: 0 5px 15px hsla(210, 15%, 15%, 0.15);
  background-color: var(--bg-light-clean);
  border: 1px solid hsla(210, 15%, 85%, 0.5);
  max-width: 400px;
}
.result-image-wrapper { max-width: 100%; width: auto; height: 300px; margin: 0 auto 2.5rem auto; border-radius: 15px; box-shadow: 0 5px 15px hsla(210, 15%, 15%, 0.15); border: 1px solid hsla(210, 15%, 85%, 0.5); background-color: var(--bg-light-clean); display: inline-flex; align-items: center; justify-content: center; overflow: hidden; } 
.result-image-img { height: 100%; width: auto; object-fit: contain; display: block; }
.result-description { margin-bottom: 2.5rem; color: var(--text-dark-charcoal); font-size: 1.1rem; line-height: 1.7; text-shadow: none; }
.share-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; margin-bottom: 1.5rem; }
.share-button { display: inline-flex; align-items: center; justify-content: center; padding: 0.6rem 1.2rem; border-radius: 50px; color: white; font-size: 0.9rem; font-weight: 600; text-decoration: none; transition: all 0.3s ease; box-shadow: 0 2px 5px hsla(0, 0%, 0%, 0.2); }
.share-button:hover { opacity: 0.85; transform: scale(1.05) translateY(-2px); box-shadow: 0 4px 8px hsla(0, 0%, 0%, 0.3); }
.facebook { background: #3b5998; }
.twitter { background: #1da1f2; }
.copy-link { background: hsl(210, 15%, 90%); border: 1px solid hsl(210, 15%, 80%); font-family: inherit; color: var(--text-dark-charcoal); cursor: pointer; }
.share-button.download-image { background: #4CAF50; border: none; font-family: inherit; cursor: pointer; }
.share-button.download-image:hover { background: #45a049; }
.back-button { margin-top: 3rem; background: linear-gradient(135deg, var(--secondary-bright-gold), hsl(45, 95%, 65%)); color: var(--text-dark-charcoal); flex-grow: 0; min-width: 150px; border: none; padding: 12px 30px; border-radius: 8px; cursor: pointer; font-size: 1rem; font-weight: 700; transition: all 0.3s ease; width: auto; display: inline-block; box-shadow: 0 4px 10px var(--shadow-color-glow); }
.back-button:hover:not(:disabled) { background: linear-gradient(135deg, hsl(45, 95%, 65%), var(--secondary-bright-gold)); transform: translateY(-2px); box-shadow: 0 6px 15px hsla(45, 95%, 50%, 0.45); }
.website-link { display: block; margin-left: auto; margin-right: auto; font-size: 0.8rem; color: var(--text-dark-charcoal); margin-top: 0.5rem; margin-bottom: 1.5rem; font-style: italic; text-decoration: none; text-align: center; transition: color 0.2s ease-in-out, text-shadow 0.2s ease-in-out; } 
.website-link .header-me { color: var(--secondary-bright-gold); } 
.website-link:hover .header-me { color: hsl(45, 95%, 70%); }

/* Form Styles */
.static-content-container form { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.5rem; }
.static-content-container form label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: var(--text-dark-charcoal); }
.static-content-container form input[type="email"], .static-content-container form textarea { width: 100%; padding: 0.8rem 1rem; border: 2px solid hsla(210, 15%, 85%, 0.8); border-radius: 4px; font-family: var(--font-main); font-size: 1rem; background-color: hsl(210, 30%, 99%); transition: border-color 0.3s ease, box-shadow 0.3s ease; color: var(--text-dark-charcoal); }
.static-content-container form input[type="email"]:focus, .static-content-container form textarea:focus { outline: none; border-color: var(--primary-friendly-blue); box-shadow: 0 0 0 3px hsla(210, 70%, 55%, 0.2); }
.static-content-container form textarea { min-height: 120px; resize: vertical; }
.static-content-container form button[type="submit"] { display: inline-block; background: var(--secondary-bright-gold); color: var(--text-dark-charcoal); padding: 0.8rem 2rem; border: none; font-weight: 700; font-family: var(--font-main); font-size: 1.1rem; cursor: pointer; transition: all 0.3s ease; letter-spacing: 0.5px; text-align: center; border-radius: 50px; box-shadow: 0 4px 10px var(--shadow-color-glow); margin-top: 1rem; align-self: center; max-width: 200px; width: auto; }
.static-content-container form button[type="submit"]:hover { background: hsl(45, 95%, 60%); box-shadow: 0 6px 15px hsla(45, 95%, 50%, 0.4); transform: translateY(-2px); }
.static-content-container form button[type="submit"]:active { transform: translateY(0); box-shadow: 0 3px 8px hsla(45, 95%, 50%, 0.3); }

#load-more-button {
  display: flex;
  flex-direction: column; 
  align-items: center; 
  gap: 5px;
  width: auto; 
  padding: 0; 
  background-color: transparent; 
  border: none; 
  border-radius: 0; 
  box-shadow: none; 
  clip-path: none; 
  color: var(--primary-friendly-blue); 
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-align: center; 
  position: relative; 
  z-index: 1; 
  margin: 20px auto; 
  transform: translateY(0);
  transition: color 0.2s ease-in-out, transform 0.3s ease;
  animation: none !important;
}

#load-more-button.quiz-button::before { 
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid var(--primary-friendly-blue);
  transform: translateY(0);
  filter: none;
  animation: none; 
  animation: float-arrow 1s ease-in-out infinite !important;
  transition: border-top-color 0.3s ease, transform 0.3s ease;
}

#load-more-button:hover {
  color: var(--secondary-bright-gold); 
  transform: translateY(-3px);
}

#load-more-button.quiz-button:hover::before { 
  border-top-color: var(--secondary-bright-gold);
  filter: none;
  animation: none;
}

.category-description {
  grid-column: 1 / -1; 
  text-align: center;
  font-size: 1.1rem;
  color: var(--accent-warm-grey);
  max-width: 600px; 
  line-height: 1.6;
  margin: -1rem auto 0rem auto; 
}

@keyframes float-arrow {
  0% {
    transform: translateY(0); 
  }
  50% {
    transform: translateY(-5px); 
  }
  100% {
    transform: translateY(0); 
  }
}

button,
a,
.quiz-button,
.featured-button {
  -webkit-tap-highlight-color: transparent;
}

button:focus,
.quiz-button:focus,
.featured-button:focus {
  outline: none;
}

.action-button {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  padding: 12px 30px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  gap: 0.4rem;
  min-width: 150px;
  transition: background 0.2s ease, transform 0.2s ease;
  text-align: center;
  white-space: nowrap;
}

.back-button {
  background-color: #f5b700;
  color: #2a2a2a;
  box-shadow: 0 4px 10px rgba(245, 183, 0, 0.2);
  margin-right: 1rem;
  padding-top: 12px;
padding-bottom: 12px;
padding-left: 17px;
padding-right: 17px;
}

.back-button:hover {
  background-color: #ffca30;
  transform: translateY(-1px);
}

.subscribe-button {
  background: white;
  color: var(--primary-friendly-blue);
  border: 2px solid var(--primary-friendly-blue);
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  padding: 12px 30px;
  border-radius: 50px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  gap: 0.4rem;
  min-width: 150px;
  transition: all 0.25s ease;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 3px 8px var(--shadow-color-soft);
}

.subscribe-button:hover {
  background: var(--primary-friendly-blue);
  color: white;
  box-shadow: 0 5px 12px var(--shadow-color-soft);
  transform: translateY(-2px);
}

/* Footer */
.site-footer {
  text-align: center;
  padding: 3rem 1rem 2rem 1rem;
  background: linear-gradient(0deg, hsl(210, 25%, 92%), var(--bg-light-clean));
  color: hsl(210, 10%, 45%);
  font-size: 0.9rem;
  border-top-left-radius: 40% 20px;
  border-top-right-radius: 50% 15px;
  box-shadow: 0 -5px 15px hsla(210, 15%, 15%, 0.07);
  width: 100%;
  margin-top: auto;
  flex-shrink: 0;
}

.footer-links { margin-top: 0.8rem; }
.footer-links a { color: var(--primary-friendly-blue); margin: 0 0.7rem; font-weight: 600; transition: color 0.3s ease; }
.footer-links a:hover { color: var(--secondary-bright-gold); }

.blog-post-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem;
    flex-grow: 1;
}

.blog-post-content {
    background: white;
    border-radius: 12px;
    box-shadow: 0 8px 25px hsla(210, 15%, 15%, 0.1);
    overflow: hidden;
    margin-bottom: 2rem;
}

.post-header {
    padding: 2rem 2rem 1rem;
}

.post-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
}

.post-category {
    background: var(--secondary-bright-gold);
    color: var(--text-dark-charcoal);
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.post-date {
    color: var(--accent-warm-grey);
    font-weight: 500;
}

.post-header h1 {
    color: var(--primary-friendly-blue);
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 2rem;
}

.post-image {
    margin: 0 -2rem;
}

.post-image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center;
}

.post-body {
    padding: 2rem;
    color: var(--text-dark-charcoal);
    line-height: 1.7;
    font-size: 1.1rem;
}

.post-body .lead {
    font-size: 1.25rem;
    color: var(--accent-warm-grey);
    font-weight: 500;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.post-body h2 {
    color: var(--primary-friendly-blue);
    font-size: 1.5rem;
    font-weight: 600;
    margin: 2.5rem 0 1rem 0;
    line-height: 1.4;
}

.post-body p {
    margin-bottom: 1.5rem;
}

.post-body ul {
    list-style: disc;
    margin-left: 1.5rem;
    margin-bottom: 1.5rem;
}

.post-body li {
    margin-bottom: 0.5rem;
}


.post-footer {
    padding: 2rem;
    border-top: 1px solid #eee;
}

.share-buttons {
    margin-bottom: 2rem;
}

.share-buttons h3 {
    color: var(--primary-friendly-blue);
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.share-btn {
    display: inline-block;
    padding: 0.5rem 1rem;
    margin-right: 0.5rem;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.share-btn.twitter {
    background: #1da1f2;
    color: white;
}

.share-btn.facebook {
    background: #4267b2;
    color: white;
}

.share-btn.linkedin {
    background: #0077b5;
    color: white;
}

.share-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.related-content h3 {
    color: var(--primary-friendly-blue);
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.related-links {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.related-link {
    background: var(--accent-sky-blue);
    color: white;
    padding: 0.6rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.related-link:hover {
    background: var(--primary-friendly-blue);
    transform: translateY(-2px);
}

.newsletter-section {
    background: linear-gradient(135deg, var(--primary-friendly-blue), var(--accent-sky-blue));
    border-radius: 15px;
    padding: 3rem 2rem;
    text-align: center;
    color: white;
    margin-bottom: 2rem;
}

.newsletter-content h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.newsletter-content p {
    font-size: 1.1rem;
    margin-bottom: 2rem;
    opacity: 0.9;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.newsletter-form {
    display: flex;
    justify-content: center;
}

.back-to-blog {
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #eee;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--primary-friendly-blue);
    color: white;
    text-decoration: none;
    padding: 0.8rem 1.5rem;
    border-radius: 25px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    box-shadow: 0 3px 8px hsla(210, 70%, 55%, 0.3);
}

.back-link:hover {
    background: var(--accent-sky-blue);
    transform: translateY(-2px);
    box-shadow: 0 5px 12px hsla(210, 70%, 55%, 0.4);
    color: white;
}

.back-link:before {
    content: "←";
    font-size: 1.1em;
}

.blog-post-content .post-image-inline {
    display: block; 
    margin-left: -24px;
    margin-right: -24px;
    width: calc(100% + 48px);
    box-sizing: border-box; 
    overflow: hidden;
    height: 350px;
    margin-top: 25px; 
    margin-bottom: 25px;
}

.blog-post-content .post-image-inline img {
    display: block; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

.spoiler-warning a {
    color: #0000EE; 
    text-decoration: underline; 
}

.spoiler-warning a:hover {
    color: #551A8B; 
}

.result-container .result-blog-link {
    margin-top: 10px; 
    margin-bottom: 0; 
    font-size: 0.95rem; 
    color: var(--text-dark-charcoal); 
    text-align: center; 
}

.result-container .result-blog-link a {
    color: #e74c3c; 
    text-decoration: underline;
    font-weight: normal; 
}

.result-container .result-blog-link a:hover {
    text-decoration: none; 
    color: #c0392b; 
}

.result-container .website-link {
    margin-bottom: 0; 
}


/* Mobile */
@media (max-width: 768px) {
  .site-header h1 { font-size: clamp(2rem, 8vw, 2.5rem); }
  .tagline { font-size: clamp(0.9rem, 3vw, 1.1rem); }
  .quiz-categories { padding: 1rem; padding-top: 1.5rem; gap: 1.5rem; }
  .quiz-categories > h2 { font-size: clamp(1.6rem, 4vw, 2rem); margin-bottom: -0.5rem; }
  .quiz-tile, .featured-quiz { padding: 1.5rem 1rem; border-width: 2px; }
  .static-content-container { padding: 1.5rem; padding-top: 1.5rem; }
  .main-nav { padding: 0.1rem 0; }
  .nav-container { justify-content: space-between; }
  .hamburger { display: block; color: var(--primary-friendly-blue); }
  #nav-links { display: none; flex-direction: column; align-items: stretch; position: absolute; top: 100%; left: 0; width: 100%; padding: 0; z-index: 999; }
  #nav-links.active { display: flex; background: hsla(210, 30%, 99%, 0.97); box-shadow: 0 8px 16px rgba(0,0,0,0.15); border-radius: 0 0 8px 8px; }
  #nav-links li { width: 100%; text-align: center; }
  #nav-links li a { display: block; padding: 1rem; width: 100%; border-bottom: 1px solid hsla(210, 15%, 15%, 0.05); border-radius: 0; color: var(--text-dark-charcoal); }
  #nav-links li a:hover { background: hsla(210, 70%, 55%, 0.1); color: var(--primary-friendly-blue); }
  #nav-links li a.active { background: hsla(210, 70%, 55%, 0.1); color: var(--primary-friendly-blue); font-weight: 700; border-left: 3px solid var(--primary-friendly-blue); padding-left: calc(1rem - 3px); }
  #nav-links li a::before { display: none; }
  #nav-links li:last-child a { border-bottom: none; }
  #nav-links a.active { border-bottom: none; }
  #fun.quiz-tile .quiz-button,
  #weird.quiz-tile .quiz-button,
  #social.quiz-tile .quiz-button,
  #practical.quiz-tile .quiz-button,
  #health.quiz-tile .quiz-button,
  .quiz-tile.has-background-image .quiz-button,
  .featured-quiz .featured-button, .quiz-tile.has-background-image .quiz-button {
    padding: 0.8rem 1.4rem; 
    font-size: 1.1rem;
    border-radius: 50px;
  }

  .quiz-page-container, .result-container { padding: 1.5rem; padding-top: 1.5rem; margin-top: 2rem; margin-bottom: -3.8; }
  .result-container { border-radius: 20px; }
  .question h3 { font-size: 1.3rem; }
  .options { gap: 10px; }
  .option { padding: 12px 15px; font-size: 0.9rem; }
  .question-counter { font-size: 0.85rem; }
  .navigation { flex-direction: row; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
  .navigation button { width: auto; flex-grow: 1; }
  .result-title { font-size: 1.8rem; }
  .result-image { height: 320px; }
}

.blog-post-container {
        padding: 1rem;
    }

    .post-header, .post-body, .post-footer {
        padding: 1.5rem;
    }

    .post-header h1 {
        font-size: 1.8rem;
    }

    .post-body {
        font-size: 1rem;
    }

    .post-body .lead {
        font-size: 1.1rem;
    }

    .post-image {
        margin: 0 -1.5rem;
    }

    .related-links {
        flex-direction: column;
        align-items: flex-start; 
    }

     .related-link {
        width: auto; 
     }


    .newsletter-section {
        padding: 2rem 1rem;
    }

    .newsletter-form {
        flex-direction: column; 
        align-items: center;
    }

     .subscribe-button {
        width: 100%; 
        max-width: 175px; 
     }


@media (max-width: 480px) {
  .site-header h1 { font-size: 1.8rem; }
  .tagline { font-size: 0.9rem; }
  .quiz-tile, .featured-quiz { clip-path: none; border-radius: 15px; transform: none; padding: 1.5rem 1rem; border-width: 2px; }
  .static-content-container { padding: 1rem; padding-top: 1.5rem; }
  .quiz-tile > .tile-icon, .quiz-tile > .quiz-tile-text-content, .quiz-tile > .coming-soon, .quiz-tile > .quiz-button { transform: none; z-index: 1; }
  .quiz-tile:hover, .featured-quiz:hover { transform: translateY(-5px); box-shadow: 4px 6px 10px hsla(210, 15%, 15%, 0.15); }
  .quiz-button, .featured-button { clip-path: none; border-radius: 50px; padding: 0.6rem 1.2rem; font-size: 0.9rem; transform: none; position: relative; overflow: hidden; margin-top: 1rem; }
  .quiz-button span, .featured-button span { transform: none; }
  .option { padding: 10px 12px; font-size: 0.85rem; border-radius: 10px; transform: none; }
  .option span { transform: none; }
  .option:hover { transform: translateY(-3px) scale(1.02); }
  .option.selected { transform: translateY(-1px) scale(1.01); }
  #fun.quiz-tile .quiz-button,
  #weird.quiz-tile .quiz-button,
  #social.quiz-tile .quiz-button,
  #practical.quiz-tile .quiz-button,
  #health.quiz-tile .quiz-button,
  .quiz-tile.has-background-image .quiz-button,
  .featured-quiz .featured-button, .quiz-tile.has-background-image .quiz-button {
    padding: 0.8rem 1.4rem; 
    font-size: 1.1rem;
    border-radius: 50px;
  }
  .site-header .tagline {
  font-size: 0.62rem;
}
  .quiz-tile.coming-soon-tile {
    transform: none !important;
  }

  .category-description {
    margin-top: -0.5rem;
    font-size: 0.95rem;
  }

  .quiz-categories > h2 {
  margin-bottom: 0.5rem; 
}


  .quiz-page-container, .result-container { padding: 1rem; padding-top: 1.5rem; }
  .result-container { border-radius: 15px; }
  .quiz-page-container .navigation { flex-direction: row; align-items: center; gap: 0.5rem; }
  .quiz-page-container .navigation #prev-btn, .quiz-page-container .navigation #next-btn { width: 50px; height: 50px; min-width: 0; flex-grow: 0; padding: 0; border-radius: 50%; font-size: 0; line-height: 0; position: relative; box-shadow: 0 3px 8px hsla(210, 15%, 10%, 0.3); border-bottom: none; display: flex; align-items: center; justify-content: center; }
  .quiz-page-container .navigation #prev-btn::before, .quiz-page-container .navigation #next-btn::before { content: ""; font-size: 1.8rem; font-weight: bold; color: var(--text-light-white); position: absolute; line-height: 1; text-indent: 0; }
  .quiz-page-container .navigation #prev-btn::before { content: '\2190'; }
  .quiz-page-container .navigation #next-btn::before { content: '\2192'; }
  .quiz-page-container .navigation button:hover:not(:disabled) { transform: translateY(-2px) scale(1.05); box-shadow: 0 5px 12px hsla(210, 15%, 10%, 0.4); border-bottom: none; }
  .quiz-page-container .navigation button:active:not(:disabled) { transform: translateY(0px) scale(1); box-shadow: 0 2px 5px hsla(210, 15%, 10%, 0.3); border-bottom: none; }
  .quiz-page-container .navigation button:disabled { background: hsl(210, 8%, 70%); opacity: 0.6; box-shadow: none; border-bottom: none; }
  .quiz-page-container .navigation button:disabled::before { opacity: 0.5; }
  .share-buttons { gap: 8px; }
  .result-title { font-size: 1.6rem; }
  .result-description { font-size: 0.95rem; }
  .result-image { height: 240px; max-height: 240px; border-radius: 10px; background-size: contain }
  .static-content-container h2 { font-size: 1.5rem;}

  .post-header, .post-body, .post-footer {
        padding: 1rem;
    }

    .post-header h1 {
        font-size: 1.6rem;
    }

    .post-body {
        font-size: 0.95rem;
    }

    .post-body .lead {
        font-size: 1.1rem;
    }

     .post-body h2 {
        font-size: 1.3rem;
        margin-top: 2rem;
     }

    .post-image {
        margin: 0 -1rem;
    }

     .post-image img {
        height: 250px;
     }

    .share-btn {
        padding: 0.4rem 0.8rem;
        font-size: 0.8rem;
        margin-right: 0.3rem;
    }

     .related-link {
         padding: 0.5rem 0.8rem;
         font-size: 0.8rem;
     }

    .newsletter-content h3 {
        font-size: 1.5rem;
    }

     .newsletter-content p {
        font-size: 1rem;
     }

    .subscribe-button {
        font-size: 0.9rem;
        padding: 10px 20px;
    }
}