@font-face{font-family:AntonLocal;src:url("assets/fonts/Anton-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:StreamsterLocal;src:url("assets/fonts/Streamster.ttf") format("truetype");font-display:swap}
@font-face{font-family:OutfitLocal;src:url("assets/fonts/Outfit-VariableFont_wght.ttf") format("truetype");font-display:swap}

:root {
  /* Variables de colores base */
  --bg: #fff6ff;
  --text: #3a1748;
  --muted: #7d5a8f;
  --white: #fff;
  
  /* AAA Glass Aero Config */
  --panel: rgba(255, 255, 255, 0.45);
  --panel-strong: rgba(255, 255, 255, 0.76);
  --panel-blur: 24px;
  
  --line: rgba(190, 101, 224, 0.28);
  --pink: #ffe1f5;
  --soft-pink: #f8d7f0;
  --lavender: #d993ff;
  --violet: #ba63e3;
  --deep: #4b1762;
  --magenta: #ea4fb9;
  --itch: #fa5c5c;
  
  --shadow: 0 26px 90px rgba(188, 99, 227, 0.28);
  --glow: 0 0 35px rgba(205, 107, 245, 0.58), 0 0 110px rgba(255, 186, 232, 0.78);

  /* Curvas de Animación AAA */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-squish: cubic-bezier(0.4, 0, 0.2, 1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{min-height:100vh;margin:0;color:var(--text);font-family:OutfitLocal,Arial,sans-serif;background:var(--bg);overflow-x: hidden; transition: background-color 0.8s var(--ease-out);}

/* === MADNESS MODE (Modo Oscuro) === */
body.madness-mode {
  --bg: #16081f;
  --text: #fff3ff;
  --muted: #e5c2f5;
  --panel: rgba(74, 19, 86, 0.55);
  --panel-strong: rgba(91, 25, 107, 0.78);
  --line: rgba(255, 135, 226, 0.32);
  --pink: #70205d;
  --soft-pink: #381449;
  --lavender: #da79ff;
  --violet: #ff70d7;
  --deep: #fff0ff;
  --magenta: #ff4fc3;
  --shadow: 0 30px 100px rgba(0, 0, 0, 0.45);
  filter: saturate(1.1);
}

a{color:inherit; transition: color 0.3s var(--ease-out);}
button,input,textarea{font:inherit}

/* === FONDOS Y EFECTOS AAA === */
.page-bg{position:fixed;inset:0;z-index:-5;background:linear-gradient(90deg,#fff 0%,#fff 36%,#fff8fd 72%,#fdeef9 100%);overflow:hidden; transition: background 0.8s var(--ease-out);}
.page-bg::before{content:"";position:absolute;inset:0;background:url("assets/images/soft-bg.png") center/cover no-repeat;opacity:.34; transition: 0.8s var(--ease-out);}
.page-bg::after{content:"";position:absolute;inset:-12%;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.98),transparent 30%),radial-gradient(circle at 78% 22%,rgba(217,147,255,.14),transparent 36%),radial-gradient(circle at 50% 86%,rgba(255,173,228,.18),transparent 38%);animation:dreamShift 18s ease-in-out infinite alternate}

body.madness-mode .page-bg::before{opacity:.26;filter:hue-rotate(35deg) contrast(1.2)}
body.madness-mode .page-bg::after{background:radial-gradient(circle at 15% 16%,rgba(255,92,195,.36),transparent 30%),radial-gradient(circle at 80% 16%,rgba(145,61,211,.52),transparent 36%),linear-gradient(120deg,rgba(15,5,24,.92),rgba(69,10,64,.84))}

.bloom-layer{position:fixed;inset:0;z-index:-4;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.64),transparent 18%),radial-gradient(circle at 30% 70%,rgba(255,122,209,.14),transparent 25%),radial-gradient(circle at 75% 35%,rgba(202,99,239,.16),transparent 28%);filter:blur(34px);animation:bloomPulse 10s ease-in-out infinite}
.noise-layer{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.11;background-image:linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(rgba(117,43,126,.22) 1px,transparent 1px);background-size:17px 17px;mix-blend-mode:soft-light}
.cursor-glow{display:none}

/* === SISTEMA DE PARTÍCULAS (Acelerado por GPU) === */
.heart-field{position:fixed;inset:0;z-index:-3;pointer-events:none;overflow:hidden}

.heart-particle {
  position: absolute;
  top: -50px; 
  color: var(--soft-pink); 
  font-size: var(--p-size);
  opacity: 0;
  filter: drop-shadow(0 0 8px rgba(234, 79, 185, 0.5));
  animation: particleRain var(--p-duration) linear infinite;
  will-change: transform, opacity;
}

@keyframes particleRain {
  0% { transform: translate3d(0, -10vh, 0) rotate(0deg); opacity: 0; }
  15% { opacity: var(--p-opacity); }
  85% { opacity: var(--p-opacity); }
  100% { transform: translate3d(var(--p-drift), 110vh, 0) rotate(var(--p-rotate)); opacity: 0; }
}

/* === HEADER AAA === */
.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;min-height:78px;padding:12px clamp(16px,4vw,56px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.3);backdrop-filter:blur(var(--panel-blur)); -webkit-backdrop-filter:blur(var(--panel-blur));box-shadow:0 14px 55px rgba(188,99,227,.14); transition: background 0.5s var(--ease-out);}
body.madness-mode .site-header{background:rgba(29,8,42,.6)}

.brand-logo,.text-logo{--logo-size:clamp(5rem,15vw,12.4rem);--script-size:var(--big-love-size,clamp(2.1rem,5.2vw,4.55rem));--script-overlap:var(--big-love-y,clamp(-2.55rem,-3.25vw,-1.35rem));--script-x:var(--big-love-x,0rem);--logo-stroke:clamp(1.4px,.22vw,3px);position:relative;display:inline-grid;justify-items:center;max-width:100%;text-decoration:none;color:var(--violet);filter:drop-shadow(0 0 16px rgba(189,92,232,.22))}
.brand-logo{--logo-size:2.05rem;--script-size:var(--nav-love-size,1.12rem);--script-overlap:var(--nav-love-y,-.68rem);--script-x:var(--nav-love-x,0rem);--logo-stroke:1px}
.brand-logo .logo-yandere,.text-logo .logo-yandere{font-size:var(--logo-size)}
.brand-logo .logo-script,.text-logo .logo-script{font-size:var(--script-size);margin-top:var(--script-overlap);transform:translateX(var(--script-x))}
.logo-yandere{font-family:AntonLocal,Impact,sans-serif;line-height:.84;letter-spacing:.01em;color:rgba(255,255,255,.96);-webkit-text-stroke:var(--logo-stroke) var(--lavender);text-transform:none;text-shadow:0 0 10px rgba(205,107,245,.22),0 0 30px rgba(255,186,232,.25)}
.logo-script{font-family:StreamsterLocal,cursive;line-height:.78;margin-left:0;color:var(--violet);text-align:center;text-shadow:0 0 8px rgba(188,99,227,.42),0 0 22px rgba(255,153,227,.32);white-space:nowrap}

/* NAVEGACIÓN - Transiciones Fluidas */
.primary-nav{display:flex;justify-content:center;gap:8px}
.primary-nav a,.more-menu a,.mode-toggle{
  border:1px solid transparent;border-radius:999px;padding:10px 14px;
  text-decoration:none;color:var(--text);background:rgba(255,255,255,.28);
  transition: all 0.4s var(--ease-out);
}
.primary-nav a:hover,.primary-nav a[aria-current=page],.more-menu a:hover,.more-menu a[aria-current=page],.mode-toggle:hover,.mode-toggle[aria-pressed=true]{
  border-color:var(--line);background:var(--panel-strong);
  box-shadow:0 0 24px rgba(214,95,240,.22);
  transform:translateY(-2px);
}
.mode-toggle:disabled,.mode-toggle:disabled:hover{cursor:default;opacity:.84;transform:none;border-color:transparent;background:rgba(255,255,255,.28);box-shadow:none}
.header-actions{position:relative;display:flex;align-items:center;gap:10px}.mode-toggle{cursor:pointer}

/* Toggle Menu Circular */
.more-toggle{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:48px;height:48px;
  border:1px solid rgba(199,108,225,.34);border-radius:50%;
  background:rgba(255,255,255,.82); cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.65) inset,0 8px 24px rgba(188,99,227,.18);
  transition: all 0.4s var(--ease-out);
}
.more-toggle:hover,.more-toggle[aria-expanded=true]{
  transform:translateY(-2px) scale(1.05);
  background:rgba(255,255,255,.94);
  box-shadow:0 0 0 1px rgba(255,255,255,.78) inset,0 12px 28px rgba(214,95,240,.32);
}
.more-toggle span{display:block;width:22px;height:2.5px;margin:0;border-radius:999px;background:#4b1762; transition: 0.3s var(--ease-out);}

/* Menú Desplegable (Animado) */
.more-menu{
  position:absolute;right:0;top:calc(100% + 14px);
  display:none;min-width:190px;padding:12px;
  border:1px solid var(--line);border-radius:22px;
  background:var(--panel-strong);backdrop-filter:blur(var(--panel-blur));
  box-shadow:var(--shadow);
  transform: translateY(15px); opacity: 0;
  transition: opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out);
}
.more-menu.open{
  display:grid;gap:8px;
  transform: translateY(0); opacity: 1;
}

/* === LAYOUT Y HERO === */
.section{width:min(1140px,calc(100% - 36px));margin:0 auto;padding:92px 0}
.hero{min-height:calc(100vh - 78px);display:grid;place-items:center;text-align:center;align-content:center;gap:36px; perspective: 1000px;}
.hero::before{content:"";position:absolute;inset:78px 0 0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.72),transparent 25%),radial-gradient(circle at 28% 72%,rgba(255,127,215,.12),transparent 25%),radial-gradient(circle at 76% 25%,rgba(203,99,238,.13),transparent 28%);opacity:.9;z-index:-1}

.hero-logo{
  transform:translateY(-1vh);
  animation: heroIn 1.2s var(--ease-out) forwards, heroFloat 6s ease-in-out infinite alternate;
}
@keyframes heroIn { from { transform: scale(0.9) translateY(20px); opacity: 0; } to { transform: scale(1) translateY(-1vh); opacity: 1; } }
@keyframes heroFloat { 0% { transform: translateY(-1vh); } 100% { transform: translateY(-3vh); } }

.hero-play{width:max-content;margin:auto;transform:translateY(var(--hero-itch-y,0rem))}

.eyebrow{margin:0 0 12px;color:var(--magenta);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{margin:0;font-size:clamp(2.4rem,5.6vw,5.8rem);line-height:.96;letter-spacing:0;text-wrap:balance}
h2{margin:0 0 18px;font-size:clamp(2rem,4.2vw,4.3rem);line-height:1;text-wrap:balance}
h3{margin:0 0 12px;font-size:1.38rem; color: var(--text);}
p{font-size:1.05rem;line-height:1.75;color:var(--muted)}
.page-hero{text-align:center;padding-bottom:46px}.page-hero p{max-width:720px;margin:20px auto}.page-logo{margin-bottom:30px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.section-heading{max-width:760px;margin-bottom:30px}

/* === GLASS PANELS (PANELES VÍTREOS) === */
.glass-panel,.glass-card{
  border:1px solid var(--line);border-radius:28px;
  background:var(--panel);
  backdrop-filter:blur(var(--panel-blur)); -webkit-backdrop-filter:blur(var(--panel-blur));
  box-shadow:var(--shadow);
  transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out), border-color 0.5s var(--ease-out);
}
.glass-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 30px 100px rgba(188, 99, 227, 0.35);
  border-color: rgba(255, 255, 255, 0.7);
}
.glass-panel{padding:clamp(24px,5vw,48px)}.glass-card{padding:24px}
.feature-grid,.character-grid,.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.download-strip{text-align:center}

/* === BOTONES AAA SQUISHY Y ACTIVOS === */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;border:1px solid var(--line);border-radius:999px;
  padding:12px 20px;text-decoration:none;color:var(--text);font-weight: 600;
  cursor:pointer;background:var(--panel-strong);
  box-shadow:0 0 26px rgba(214,95,240,.18);
  position: relative; overflow: hidden;
  
  /* Curvas elásticas extremas */
  transition: transform 0.45s var(--ease-out), box-shadow 0.45s var(--ease-out), background 0.45s var(--ease-out);
  will-change: transform;
}

.btn:hover{
  transform:translateY(-4px); /* Elevación notable */
  box-shadow:0 0 34px rgba(214,95,240,.44),0 18px 45px rgba(188,99,227,.2);
  background: #fff;
}

.btn.itch-btn:hover {
  background: linear-gradient(135deg, var(--itch), #ff7c7c); /* Mantiene su gradiente rojo original */
  box-shadow: 0 0 34px rgba(250, 92, 92, 0.44), 0 18px 45px rgba(227, 99, 99, 0.2); /* Resplandor rojizo a juego */
}

.btn:active {
  /* Compresión física sin saltos bruscos */
  transform: translateY(1px) scale(0.96);
  transition: transform 0.15s var(--ease-squish);
  box-shadow: 0 4px 15px rgba(214,95,240,.2);
}

/* Efecto Glow al pasar el mouse por encima */
.btn::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at center, rgba(255,255,255,0.8), transparent 70%);
  opacity: 0; transition: opacity 0.4s var(--ease-out); transform: scale(1.5); pointer-events: none;
}
.btn:hover::after { opacity: 0.3; }

.btn.primary{border-color:transparent;color:white;background:linear-gradient(135deg,var(--magenta),var(--violet))}
.btn.soft{background:rgba(255,224,247,.58)}
.itch-btn{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--itch),#ff7c7c)}
.itch-mark{display:inline-grid;place-items:center;min-width:54px;height:28px;border-radius:8px;color:#fff;background:#d84444;font-size:.78rem;font-weight:900;letter-spacing:.02em}
.hero-play:hover{transform:translateY(calc(var(--hero-itch-y,0rem) - 6px))}
.hero-play:active{transform:translateY(calc(var(--hero-itch-y,0rem) + 2px)) scale(0.96)}

/* === PERSONAJES Y GALERÍA === */
.editorial{display:grid;gap:28px;padding-top:20px}.quote-block{padding:clamp(28px,6vw,70px);border-left:3px solid var(--magenta)}
.character-card{display:flex;min-height:520px;flex-direction:column}
.portrait{
  min-height:250px;margin-bottom:20px;border:1px solid var(--line);border-radius:24px;
  background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.95) 0 15%,transparent 16%),radial-gradient(ellipse at 50% 78%,rgba(255,255,255,.76) 0 35%,transparent 36%),linear-gradient(145deg,var(--pink),var(--lavender));
  box-shadow:inset 0 0 55px rgba(255,255,255,.38),0 0 35px rgba(214,95,240,.2);
  transition: transform 0.5s var(--ease-out), filter 0.5s var(--ease-out);
}
.character-card:hover .portrait { transform: scale(1.04); filter: hue-rotate(10deg); }

.portrait-two{filter:hue-rotate(18deg)}.portrait-three{filter:hue-rotate(45deg)}.portrait-four{filter:hue-rotate(78deg)}
.role{margin-top:-6px;color:var(--magenta);font-weight:800}.secret-btn{width:100%;margin-top:auto}.secret-output{min-height:48px;margin:14px 0 0;color:var(--magenta); font-style: italic;}

.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-item,.modal-image{
  position:relative;min-height:240px;border:1px solid var(--line);border-radius:24px;overflow:hidden;
  color:var(--text);cursor:pointer;background:linear-gradient(135deg,rgba(255,255,255,.34),transparent),url("assets/images/soft-bg.png") center/cover no-repeat;
  box-shadow:var(--shadow); transition: all 0.5s var(--ease-out);
}
.gallery-item::after,.modal-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(255,231,250,.84))}

.gallery-item span{
  position:absolute;left:16px;right:16px;bottom:14px;z-index:1;padding:10px 12px;
  border-radius:999px;background:rgba(255,255,255,.62);backdrop-filter:blur(12px);
  font-weight:800; text-align: center; transition: all 0.4s var(--ease-out);
}
.gallery-item:hover{transform:translateY(-8px) scale(1.02); box-shadow: 0 30px 60px rgba(188, 99, 227, 0.4);}
.gallery-item:hover span { background: #fff; color: var(--magenta); transform: translateY(-3px); }

.shot-two{filter:hue-rotate(20deg)}.shot-three{filter:hue-rotate(46deg)}.shot-four{filter:hue-rotate(70deg)}.shot-five{filter:hue-rotate(95deg)}.shot-six{filter:hue-rotate(120deg)}

/* === MODAL ANIMADO === */
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px; opacity: 0; transition: opacity 0.4s var(--ease-out);}
.modal.open { opacity: 1; }

.modal-backdrop{position:absolute;inset:0;background:rgba(55,11,68,.5);backdrop-filter:blur(10px)}
.modal-content{
  position:relative;z-index:1;width:min(760px,100%);
  transform: scale(0.9) translateY(30px); transition: transform 0.5s var(--ease-out);
}
.modal.open .modal-content { transform: scale(1) translateY(0); }

.modal-close{
  position:absolute;top:12px;right:14px;width:42px;height:42px;
  border:1px solid var(--line);border-radius:50%;background:var(--panel-strong);
  cursor:pointer;font-size:1.8rem; display: flex; align-items: center; justify-content: center;
  transition: all 0.4s var(--ease-out); color: var(--deep);
}
.modal-close:hover { background: #fff; color: var(--magenta); transform: scale(1.1) rotate(90deg); }
.modal-image{min-height:340px;margin-bottom:22px;cursor:default}

/* === FORMULARIO E ITCH === */
.itch-embed-wrap{display:grid;justify-items:center;gap:24px}.itch-embed-wrap iframe{width:min(552px,100%);max-width:100%;border-radius:12px;box-shadow:0 0 40px rgba(214,95,240,.24)}
.volunteer-form{display:grid;gap:18px;max-width:760px;margin:auto}.volunteer-form label{display:grid;gap:8px;color:var(--magenta);font-weight:800}
.volunteer-form input,.volunteer-form textarea{
  width:100%;border:1px solid var(--line);border-radius:18px;padding:14px 16px;color:var(--text);
  background:var(--panel-strong);outline:none; transition: all 0.4s var(--ease-out);
}
.volunteer-form input:focus,.volunteer-form textarea:focus{background: #fff; box-shadow: 0 0 0 4px rgba(214,95,240,.15); border-color: var(--magenta); transform: translateY(-2px);}

.faq-list{display:grid;gap:14px;max-width:880px}
.faq-list details{
  border:1px solid var(--line);border-radius:22px;padding:20px 22px;
  background:var(--panel);backdrop-filter:blur(var(--panel-blur));
  box-shadow:var(--shadow); transition: all 0.4s var(--ease-out);
}
.faq-list details[open] { background: #fff; transform: scale(1.02); margin-bottom: 10px; }
.faq-list summary{cursor:pointer;font-weight:900;color:var(--deep); list-style: none;}

/* === CHANGELOG === */
.changelog-wrap{padding-top:20px}.changelog-entry{display:grid;gap:28px}.changelog-title{display:grid;gap:10px}.changelog-title h2{margin-bottom:0}.version-pill{width:max-content;border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--magenta);background:var(--panel-strong);font-size:.9rem;font-weight:900}.testing-note{border:1px solid rgba(234,79,185,.34);border-radius:22px;padding:18px 20px;color:var(--text);background:rgba(255,225,245,.5);line-height:1.7}.testing-note strong{color:var(--magenta)}.changelog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.changelog-grid section{border:1px solid var(--line);border-radius:22px;padding:22px;background:rgba(255,255,255,.32); transition: transform 0.4s var(--ease-out);}.changelog-grid section:hover{transform: translateY(-4px); background: rgba(255,255,255,0.6);} .changelog-grid h3{color:var(--deep)}.changelog-grid ul{display:grid;gap:10px;margin:0;padding-left:1.1rem;color:var(--muted);line-height:1.65}

/* === FOOTER === */
.site-footer{display:flex;justify-content:space-between;gap:30px;padding:38px clamp(18px,5vw,64px);border-top:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(248,215,240,.54));backdrop-filter:blur(22px)}body.madness-mode .site-footer{background:rgba(30,8,43,.78)}.footer-logo{--logo-size:2rem;--script-size:var(--footer-love-size,.9rem);--script-overlap:var(--footer-love-y,-.52rem);--script-x:var(--footer-love-x,0rem)}.site-footer p{margin:10px 0 6px;font-size:.95rem}.footer-email{color:var(--magenta);font-weight:800;text-decoration:none}
.social-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.social-buttons a{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border:1px solid var(--line);border-radius:50%;
  color:var(--violet);background:var(--panel-strong);text-decoration:none;
  font-size:0;font-weight:900;line-height:1;box-shadow:0 0 26px rgba(214,95,240,.24);
  transition: all 0.45s var(--ease-out);
}
.social-buttons a:hover{
  transform:translateY(-6px) scale(1.1);
  box-shadow:0 15px 34px rgba(214,95,240,.46);
  background: #fff; color: var(--magenta); border-color: var(--magenta);
}
.social-buttons a:active { transform: translateY(0px) scale(0.9); transition: 0.15s var(--ease-squish); }
.social-buttons svg{display:none}.social-buttons a::before{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;background:currentColor;display:block;transform:translate(-50%,-50%)}.social-buttons a[aria-label="X"]::before{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.7 10.5 21.1 2h-1.8l-6.1 7-4.9-7H2.6l7.8 11.1L2.6 22h1.8l6.7-7.7 5.4 7.7h5.7l-8.5-11.5Zm-2.4 2.8-.8-1.1L4 3.4h3.5l4.8 6.6.8 1.1 6.8 9.4h-3.5l-5.1-7.2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.7 10.5 21.1 2h-1.8l-6.1 7-4.9-7H2.6l7.8 11.1L2.6 22h1.8l6.7-7.7 5.4 7.7h5.7l-8.5-11.5Zm-2.4 2.8-.8-1.1L4 3.4h3.5l4.8 6.6.8 1.1 6.8 9.4h-3.5l-5.1-7.2Z'/%3E%3C/svg%3E") center/contain no-repeat}.social-buttons a[aria-label="Discord"]::before{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.5 5.2A16.3 16.3 0 0 0 15.4 4l-.2.4c1.5.4 2.2 1 2.2 1s-1.9-1-4.4-1.1h-.2A13.6 13.6 0 0 0 8 5.4s.8-.7 2.4-1.1L10.1 4c-1.5.2-2.8.6-4.1 1.2-2.6 3.9-3.3 7.7-3 11.5 1.7 1.3 3.4 2 5 2.4l1-1.7c-.6-.2-1.1-.4-1.6-.8l.4-.3c3.1 1.5 6.5 1.5 9.6 0l.4.3c-.5.4-1 .6-1.6.8l1 1.7c1.6-.5 3.3-1.2 5-2.4.4-4.4-.7-8.2-3.1-11.5ZM8.7 14.4c-.9 0-1.6-.8-1.6-1.8s.7-1.8 1.6-1.8c.9 0 1.7.8 1.6 1.8 0 1-.7 1.8-1.6 1.8Zm5.8 0c-.9 0-1.6-.8-1.6-1.8s.7-1.8 1.6-1.8c.9 0 1.7.8 1.6 1.8 0 1-.7 1.8-1.6 1.8Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.5 5.2A16.3 16.3 0 0 0 15.4 4l-.2.4c1.5.4 2.2 1 2.2 1s-1.9-1-4.4-1.1h-.2A13.6 13.6 0 0 0 8 5.4s.8-.7 2.4-1.1L10.1 4c-1.5.2-2.8.6-4.1 1.2-2.6 3.9-3.3 7.7-3 11.5 1.7 1.3 3.4 2 5 2.4l1-1.7c-.6-.2-1.1-.4-1.6-.8l.4-.3c3.1 1.5 6.5 1.5 9.6 0l.4.3c-.5.4-1 .6-1.6.8l1 1.7c1.6-.5 3.3-1.2 5-2.4.4-4.4-.7-8.2-3.1-11.5ZM8.7 14.4c-.9 0-1.6-.8-1.6-1.8s.7-1.8 1.6-1.8c.9 0 1.7.8 1.6 1.8 0 1-.7 1.8-1.6 1.8Zm5.8 0c-.9 0-1.6-.8-1.6-1.8s.7-1.8 1.6-1.8c.9 0 1.7.8 1.6 1.8 0 1-.7 1.8-1.6 1.8Z'/%3E%3C/svg%3E") center/contain no-repeat}.social-buttons a[aria-label="YouTube"]::before{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23 7.1s-.2-1.6-.9-2.3c-.9-.9-1.9-.9-2.4-1C16.4 3.6 12 3.6 12 3.6s-4.4 0-7.7.2c-.5.1-1.5.1-2.4 1C1.2 5.5 1 7.1 1 7.1S.8 9 .8 10.8v1.7C.8 14.4 1 16.9 1 16.9s.2 1.6.9 2.3c.9.9 2.1.9 2.6 1 1.9.2 7.5.2 7.5.2s4.4 0 7.7-.2c.5-.1 1.5-.1 2.4-1 .7-.7.9-2.3.9-2.3s.2-1.9.2-3.8v-1.7c0-1.8-.2-3.7-.2-3.7ZM9.9 14.9V8.5l5.7 3.2-5.7 3.2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23 7.1s-.2-1.6-.9-2.3c-.9-.9-1.9-.9-2.4-1C16.4 3.6 12 3.6 12 3.6s-4.4 0-7.7.2c-.5.1-1.5.1-2.4 1C1.2 5.5 1 7.1 1 7.1S.8 9 .8 10.8v1.7C.8 14.4 1 16.9 1 16.9s.2 1.6.9 2.3c.9.9 2.1.9 2.6 1 1.9.2 7.5.2 7.5.2s4.4 0 7.7-.2c.5-.1 1.5-.1 2.4-1 .7-.7.9-2.3.9-2.3s.2-1.9.2-3.8v-1.7c0-1.8-.2-3.7-.2-3.7ZM9.9 14.9V8.5l5.7 3.2-5.7 3.2Z'/%3E%3C/svg%3E") center/contain no-repeat}.social-buttons a[aria-label="Instagram"]::before{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 2h9C19 2 22 5 22 7.5v9c0 2.5-3 5.5-5.5 5.5h-9C5 22 2 19 2 16.5v-9C2 5 5 2 7.5 2Zm0 2C6 4 4 6 4 7.5v9C4 18 6 20 7.5 20h9c1.5 0 3.5-2 3.5-3.5v-9C20 6 18 4 16.5 4h-9Zm9.8 2.1a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4ZM12 7.4a4.6 4.6 0 1 1 0 9.2 4.6 4.6 0 0 1 0-9.2Zm0 2a2.6 2.6 0 1 0 0 5.2 2.6 2.6 0 0 0 0-5.2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 2h9C19 2 22 5 22 7.5v9c0 2.5-3 5.5-5.5 5.5h-9C5 22 2 19 2 16.5v-9C2 5 5 2 7.5 2Zm0 2C6 4 4 6 4 7.5v9C4 18 6 20 7.5 20h9c1.5 0 3.5-2 3.5-3.5v-9C20 6 18 4 16.5 4h-9Zm9.8 2.1a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4ZM12 7.4a4.6 4.6 0 1 1 0 9.2 4.6 4.6 0 0 1 0-9.2Zm0 2a2.6 2.6 0 1 0 0 5.2 2.6 2.6 0 0 0 0-5.2Z'/%3E%3C/svg%3E") center/contain no-repeat}

/* === ANIMACIÓN DE REVELADO (SCROLL) === */
.reveal{
  opacity:0; transform:translateY(30px) scale(0.95);
  transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms); /* Dinámico por JS */
  will-change: opacity, transform;
}
.reveal.visible{opacity:1; transform:translateY(0) scale(1);}

@keyframes dreamShift{from{transform:scale(1) rotate(0)}to{transform:scale(1.04) rotate(.6deg)}}
@keyframes bloomPulse{0%,100%{opacity:.48;transform:scale(1)}50%{opacity:.72;transform:scale(1.035)}}

/* === MEDIA QUERIES === */
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto}.primary-nav{grid-column:1/-1;justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.feature-grid,.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}
@media(max-width:640px){
  .section{width:min(100% - 28px,1140px);padding:64px 0}
  .site-header{gap:12px}
  .brand-logo{--logo-size:1.65rem;width:max-content;justify-items:center}
  .mode-toggle{padding:9px 10px;font-size:.86rem}
  .primary-nav a{padding:9px 12px;font-size:.92rem}
  .feature-grid,.character-grid,.gallery-grid,.changelog-grid{grid-template-columns:1fr}
  .hero{min-height:78vh}
  .hero-logo,.page-logo{--logo-size:clamp(4rem,18vw,6.6rem);--logo-stroke:clamp(1.2px,.45vw,2.2px);width:100%;justify-items:center}
  .hero-play{width:100%;max-width:420px}
  .btn{width:100%}
  .site-footer{flex-direction:column}
  .social-buttons{justify-content:flex-start}
  .character-card{min-height:auto}
  .modal-image{min-height:230px}
}

/* (NOTA: EL BLOQUE DE PREFERS-REDUCED-MOTION HA SIDO ELIMINADO INTENCIONALMENTE PARA GARANTIZAR ANIMACIONES ILIMITADAS) */