@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');body{background-color:#111;color:#fff;font-family:'Press Start 2P',cursive;text-align:center;margin:0;padding:0}nav{background-color:#222;padding:20px 0;border-bottom:3px solid #ff006e}nav a{color:#00fff7;text-decoration:none;margin:0 15px;font-size:12px;transition:0.2s ease}nav a:hover{color:#ff006e;text-shadow:0 0 10px #ff006e}h1{color:#00ff66;text-shadow:0 0 12px #00ff66;margin-top:20px;font-size:18px}p{font-size:14px;color:#00fff7;margin:10px auto;width:80%}.text-section p{font-size:70%;color:#ffffff;text-align:center;margin:10px auto;width:80%}body.home{background:url('../images/bg-home.webp') repeat center center fixed;background-size:auto}body.wardrobe{background:url('../images/bg-wardrobe.webp') no-repeat center center fixed;background-size:cover}body.adventures{background:url('../images/bg-adventures.webp') no-repeat center center fixed;background-size:cover}body.world{background:url('../images/bg-world.webp') no-repeat center center fixed;background-size:cover}body.characters{background:url('../images/bg-characters.webp') no-repeat center center fixed;background-size:cover}body.become{background:url('../images/bg-become.webp') no-repeat center calc(50% + 80px) fixed;background-size:cover}body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:-1}.top-left-logo{position:fixed;top:15px;left:25px;width:80px;height:auto;z-index:9999;filter:drop-shadow(0 0 10px #00fff7);transition:transform 0.2s ease,filter 0.3s ease;cursor:pointer}.top-left-logo:hover{transform:scale(1.05);filter:drop-shadow(0 0 15px #ff006e)}.start-screen{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);text-align:center;width:auto;z-index:10}.start-btn-img{width:150px;height:auto;cursor:pointer;transition:transform 0.2s ease,filter 0.2s ease;filter:drop-shadow(0 0 10px #00fff7)}.start-btn-img:hover{transform:scale(1.1);filter:brightness(1.3)}footer{position:fixed;bottom:10px;left:0;width:100%;text-align:center;font-size:10px;color:#666;z-index:1000;background:transparent}.footer-socials{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:4px}.footer-socials a{color:#555;display:inline-flex;align-items:center;transition:color 0.2s ease,filter 0.2s ease}.footer-socials a svg{width:18px;height:18px}.footer-socials a:hover{color:#00fff7;filter:drop-shadow(0 0 6px #00fff7)}body:not(.home) nav{border-bottom:3px solid #FFD700}body:not(.home) nav a:hover{color:#FFD700;text-shadow:0 0 10px #FFD700}body:not(.home) .logo,body:not(.home) .start-btn-img,body:not(.home) .top-left-logo{filter:drop-shadow(0 0 20px #FFD700)}body.home{background:url('../images/bg-home.webp') repeat center center;background-size:auto}.center-logo{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);text-align:center}.center-logo img{width:480px;height:auto;animation:glowPulse 2.5s ease-in-out infinite}body.home .character-section{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10}body.home .character-image{width:62%;height:auto;transform-origin:center;animation:slightBounce 2.5s ease-in-out infinite;filter:none}body.characters .character-image{width:auto;height:auto;filter:none;animation:none}@keyframes slightBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.character-font-image{margin-bottom:15px}.character-font-image img{width:140px;filter:drop-shadow(0 0 10px #00fff7)}.character-slot{position:relative;width:120px;height:120px;border-radius:10px;overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease}.character-slot img{width:100%;height:100%;border:2px solid #00fff7;border-radius:10px;object-fit:cover;transition:transform 0.25s ease,filter 0.25s ease}.character-slot:hover{transform:scale(1.1);z-index:2}.character-preview img{width:100%;border-radius:20px;border:2px solid #00fff7;box-shadow:0 0 25px #00fff7,0 0 50px #ff006e;opacity:0;transform:scale(0.9);transition:opacity 0.4s ease,transform 0.4s ease}.character-preview p{font-family:'Press Start 2P',cursive;color:#FFD700;font-size:10px;text-shadow:0 0 10px #ff006e;margin-top:10px;opacity:0;transition:opacity 0.4s ease}.character-preview.show img,.character-preview.show p{opacity:1;transform:scale(1)}.character-slot:hover{transform:scale(1.05)}.character-slot img:hover{transform:scale(1.1);filter:brightness(1.4);box-shadow:0 0 25px #00fff7,0 0 50px #ff006e;animation:glowPulse 1.5s infinite ease-in-out}.character-slot::after{content:attr(title);position:absolute;bottom:-35px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.8);color:#FFD700;font-family:'Press Start 2P',cursive;font-size:8px;padding:5px 8px;border:1px solid #00fff7;border-radius:4px;text-shadow:0 0 6px #ff006e;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s ease,transform 0.3s ease;box-shadow:0 0 10px #00fff7,0 0 20px #ff006e inset}.character-slot:hover::after{opacity:1;transform:translateX(-50%) translateY(-5px)}@keyframes glowPulse{0%,100%{box-shadow:0 0 20px #00fff7,0 0 40px #ff006e}50%{box-shadow:0 0 35px #ff006e,0 0 70px #FFD700}}@media (max-width:1024px){.character-grid{grid-template-columns:repeat(3,120px);grid-template-rows:repeat(5,120px)}}@media (max-width:768px){.character-grid{grid-template-columns:repeat(2,120px);grid-template-rows:auto}}@media (max-width:480px){.character-grid{grid-template-columns:repeat(2,100px)}}.character-info pre{margin:0;color:#00fff7}@keyframes glowBox{0%{box-shadow:0 0 10px #00fff7;border-color:#00fff7}100%{box-shadow:0 0 25px #FFD700;border-color:#FFD700}}.start-screen{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);text-align:center;z-index:10}.start-btn-img{width:140px;height:auto;cursor:pointer;filter:drop-shadow(0 0 10px #00fff7);transition:transform 0.2s ease,filter 0.2s ease}.start-btn-img:hover{transform:scale(1.1);filter:brightness(1.3)}.intro-text{position:fixed;top:50px;left:50%;transform:translateX(-50%);text-align:center;width:80%;max-width:900px;z-index:50}.intro-text h1{margin-bottom:15px;color:#00ff66;text-shadow:0 0 12px #00ff66;font-size:18px}.intro-text p{color:#00fff7;font-size:14px;line-height:1.6;margin:0 auto;width:90%;text-align:center}.bottom-text{position:fixed;bottom:45px;left:50%;transform:translateX(-50%);width:80%;font-size:0.8rem;color:#00fff7;text-align:center;line-height:1.4;z-index:2000;text-shadow:0 0 10px #00fff7}.peach-title{color:#ff9aae;text-shadow:0 0 10px #ff9aae,0 0 20px #ff7b9c}.intro-text h1.peach-title{color:#ff9aae !important;text-shadow:0 0 10px #ff9aae,0 0 20px #ff7b9c !important}.fashion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:25px;padding:60px 80px;justify-items:center;align-items:center;margin-top:100px}.fashion-item{position:relative;width:180px;height:220px;border:2px solid #00fff7;border-radius:12px;overflow:hidden;background:rgba(0,0,0,0.6);box-shadow:0 0 20px #00fff7,inset 0 0 15px #ff006e;transition:transform 0.3s ease,box-shadow 0.3s ease}.fashion-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease,filter 0.3s ease}.fashion-item:hover{transform:scale(1.08);box-shadow:0 0 40px #ff006e,0 0 80px #00fff7}.fashion-item:hover img{transform:scale(1.1);filter:brightness(1.3)}.item-label{position:absolute;bottom:0;width:100%;background:rgba(255,0,110,0.7);color:#fff;text-align:center;font-family:'Press Start 2P',cursive;font-size:8px;letter-spacing:0.5px;padding:8px 0;opacity:0;transition:opacity 0.3s ease}.fashion-item:hover .item-label{opacity:1}@keyframes neonGlow{0%{box-shadow:0 0 15px #00fff7,inset 0 0 10px #ff006e}50%{box-shadow:0 0 30px #ff006e,inset 0 0 20px #FFD700}100%{box-shadow:0 0 15px #00fff7,inset 0 0 10px #ff006e}}.fashion-item{animation:neonGlow 3s infinite ease-in-out}@media (max-width:768px){.fashion-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:30px}}.world-section{margin:270px auto 100px;width:85%;max-width:1000px;text-align:center;color:#00fff7;font-family:'Press Start 2P',cursive}.world-section h1.underlined{color:#FFD700;text-decoration:underline;text-underline-offset:6px;text-shadow:0 0 12px #ff006e;font-size:16px;margin-top:60px;margin-bottom:25px}.world-section p{font-size:10px;line-height:1.8;margin:15px auto;color:#ffffff;text-shadow:0 0 8px #00fff7;letter-spacing:0.5px}.world-section .quote{font-style:italic;color:#ff9aae;text-shadow:0 0 12px #ff7b9c;background:rgba(0,0,0,0.4);border:1px solid #FFD700;padding:15px 20px;border-radius:8px;display:inline-block;max-width:90%;line-height:1.8}.fade-in-text p{opacity:0;transform:translateY(20px);animation:fadeInUp 0.6s ease forwards}.fade-in-text p:nth-child(2){animation-delay:0.3s}.fade-in-text p:nth-child(3){animation-delay:0.6s}.fade-in-text p:nth-child(4){animation-delay:0.9s}.fade-in-text p:nth-child(5){animation-delay:1.2s}.fade-in-text p:nth-child(6){animation-delay:1.5s}.fade-in-text p:nth-child(7){animation-delay:1.8s}.fade-in-text p:nth-child(8){animation-delay:2.1s}.fade-in-text p:nth-child(9){animation-delay:2.4s}.fade-in-text p:nth-child(10){animation-delay:2.7s}.fade-in-text p:nth-child(11){animation-delay:3s}.fade-in-text p:nth-child(12){animation-delay:3.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(25px);text-shadow:0 0 5px #00fff7}60%{opacity:0.6;transform:translateY(5px);text-shadow:0 0 12px #00fff7}100%{opacity:1;transform:translateY(0);text-shadow:0 0 15px #FFD700}}.character-preview img{width:100%;border-radius:20px;border:2px solid #00fff7;box-shadow:0 0 25px #00fff7,0 0 50px #ff006e;transition:opacity 0.4s ease,transform 0.4s ease;opacity:0;transform:scale(0.9)}.character-info.show{opacity:1;transform:translateY(0)}.character-preview.show img{opacity:1;transform:scale(1)}.character-display{position:relative;width:40%;display:flex;flex-direction:column;align-items:center}.character-preview img{width:100%;max-height:400px;object-fit:contain;border-radius:10px}.character-preview p{margin-top:0.5rem;font-weight:bold;color:#fff;text-shadow:0 0 10px #00ffcc}.character-info.show,.character-preview.show{opacity:1}body.characters .character-section{position:relative;display:flex;justify-content:flex-start;align-items:flex-start;gap:60px;margin:140px 60px 80px 60px}.character-grid{display:grid;grid-template-columns:repeat(3,120px);grid-template-rows:repeat(5,120px);gap:15px;justify-content:start;align-items:center}.character-slot{position:relative;width:120px;height:120px;border-radius:10px;overflow:hidden;transition:transform 0.25s ease}.character-slot img{width:100%;height:100%;border:2px solid #00fff7;border-radius:10px;object-fit:cover;transition:transform 0.25s ease,filter 0.25s ease}.character-slot:hover{transform:scale(1.1);z-index:2}.character-display{flex:0 0 360px;display:flex;flex-direction:column;align-items:center;position:relative}.character-preview{width:100%;text-align:center;background:rgba(10,10,10,0.7);border-radius:12px;padding:15px;box-shadow:0 0 25px #00fff7;opacity:0;transform:scale(0.95);transition:opacity 0.4s ease,transform 0.4s ease}.character-preview.show{opacity:1;transform:scale(1)}.character-preview img{width:100%;height:auto;max-height:350px;object-fit:contain;border-radius:12px;border:2px solid #00fff7}.character-preview p{color:#FFD700;font-size:10px;text-shadow:0 0 8px #ff006e;margin-top:8px}.character-info{width:100%;margin-top:20px;background:rgba(0,0,0,0.8);border:2px solid #00fff7;border-radius:12px;box-shadow:0 0 20px #00fff7,inset 0 0 15px #ff006e;padding:15px;font-family:'Press Start 2P',monospace;font-size:9px;color:#FFD700;text-align:left;white-space:pre-wrap;line-height:1.6;opacity:0;transform:translateY(20px);transition:opacity 0.4s ease,transform 0.4s ease}.character-info.show{opacity:1;transform:translateY(0)}body.characters .player-select{position:absolute;top:15%;left:40px;transform:none;z-index:10;text-align:left}body.characters .player-select img{max-width:280px;height:auto;filter:drop-shadow(0 0 10px #00fff7);transition:transform 0.3s ease,filter 0.3s ease}body.characters .player-select img:hover{transform:scale(1.05);filter:drop-shadow(0 0 20px #ff006e)}body.characters .character-grid{position:absolute;top:calc(10% + 180px);right:40px;display:grid;grid-template-columns:repeat(5,120px);grid-template-rows:repeat(3,120px);gap:15px;justify-content:start;z-index:9}body.characters .stats-bar{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);width:10%;height:auto;z-index:12;text-align:center}@media (max-width:1024px){body.characters .player-select{top:10%;left:30px}body.characters .player-select img{max-width:220px}body.characters .character-grid{top:calc(10% + 200px);grid-template-columns:repeat(3,100px);gap:12px}body.characters .stats-bar{width:15%}}@media (max-width:768px){body.characters .player-select{top:8%;left:20px}body.characters .player-select img{max-width:180px}body.characters .character-grid{top:calc(8% + 180px);grid-template-columns:repeat(2,100px);gap:10px}body.characters .stats-bar{width:20%}}@media (max-width:480px){body.characters .player-select{top:5%;left:15px}body.characters .player-select img{max-width:160px}body.characters .character-grid{top:calc(5% + 160px);grid-template-columns:repeat(2,90px);gap:8px}body.characters .stats-bar{width:25%}}.character-section{display:flex;flex-direction:column;align-items:flex-start}.character-font-image{margin:20px 0}.character-content{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.character-display{flex:1;text-align:left}.character-section{display:flex;justify-content:center;align-items:flex-start;margin-top:2rem}.character-content{display:flex;justify-content:space-between;align-items:flex-start;gap:3rem}.character-left{display:flex;flex-direction:column;align-items:flex-start}.character-font-image{margin-bottom:1.5rem}.character-font-image img{width:200px;image-rendering:pixelated}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:1rem}.character-slot img{width:100%;transition:transform 0.2s ease-in-out}.character-slot:hover img{transform:scale(1.2)}.character-display{display:flex;flex-direction:column;align-items:center;text-align:left}.character-preview img{max-width:250px;image-rendering:pixelated;margin-bottom:0.5rem}p{margin-bottom:-14rem}.character-section{margin-top:-85rem}.avatar-section{display:flex;justify-content:center;align-items:center;margin:1rem 0}.avatar-image{max-width:300px;height:auto;image-rendering:pixelated}.avatar-section{display:flex;justify-content:center;align-items:center;margin-top:2rem;margin-bottom:2.5rem}.avatar-image{max-width:300px;height:auto;image-rendering:pixelated;transition:transform 0.2s ease}.avatar-image:hover{transform:scale(1.05)}.center-logo{display:flex;justify-content:center;align-items:center;margin-top:-5.3rem}.center-logo img{display:block;margin:3rem auto 1rem;max-width:380px;width:100%;height:auto;image-rendering:pixelated}.avatar-section{display:flex;justify-content:center;align-items:center;position:relative;margin-top:2rem;margin-bottom:6rem}.avatar-image{width:600px;max-width:145%;height:309px;image-rendering:pixelated;filter:drop-shadow(0 0 10px rgba(0,255,255,0.3))}.avatar-image:hover{transform:scale(1.05)}.start-screen{display:flex;flex-direction:column;align-items:center;margin-top:0rem;transform:translateY(-3rem)}.start-btn-img{width:180px;transition:transform 0.2s ease}.start-btn-img:hover{transform:scale(1.05)}.button-text{color:#00aaff;font-size:0.8rem;margin-top:0.5rem;text-shadow:0 0 8px #00aaff}.main-title{font-size:1.2rem;color:#fff;margin-top:2rem;text-align:center}.sub-title{font-size:1rem;color:#ccc;margin-top:2rem;text-align:center}.top-left-logo{position:absolute;top:1rem;left:1rem;width:100px}.center-logo img{display:block;margin:3rem auto 1rem;max-width:250px}.avatar-section{display:flex;justify-content:center;margin:1.5rem 0}.avatar-image{width:670px;height:460px;image-rendering:pixelated}.start-screen{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);text-align:center;z-index:10}.start-btn-img{width:180px;transition:transform 0.25s ease;cursor:pointer}.start-btn-img:hover{transform:scale(1.08)}.button-text{color:#0073ff;font-size:0.8rem;margin-top:10rem;text-shadow:0 0 8px #00aaff}.bottom-text{position:fixed;bottom:156px;left:50%;transform:translateX(-50%);width:300%;font-size:0.5rem;color:#00fff7;text-align:center;line-height:1.4;z-index:2000;text-shadow:0 0 10px #00fff7}.character-preview img{width:170%;max-width:none;transition:transform 0.3s ease}@media (max-width:768px){.character-preview img{width:100%}}p.announcement{text-align:center;font-size:1.2rem;color:#FFD639;margin-top:40px;font-family:'Press Start 2P',cursive}.game-section{display:flex;justify-content:center;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-top:260px}.game-frame{flex:1 1 45%;max-width:600px;height:400px;border:3px solid #00fff7;border-radius:10px;overflow:hidden;box-shadow:0 0 15px #00fff7;background:#000}iframe{width:100%;height:100%;border:none}p.announcement{text-align:center;font-size:1.2rem;color:#FFD639;margin-top:40px;font-family:'Press Start 2P',cursive}.game-section{display:flex;justify-content:center;align-items:flex-start;gap:30px;flex-wrap:wrap;margin:250px auto;max-width:1300px;padding:0 20px}.game-frame{flex:1 1 45%;max-width:600px;height:auto;background:#000;border-radius:12px;box-shadow:0 0 20px #00fff7;padding:15px;text-align:center}iframe{width:100%;height:400px;border:none;border-radius:8px;background:#000}.fullscreen-btn{margin-top:10px;padding:10px 20px;background:#00fff7;color:#111;font-family:'Press Start 2P',cursive;font-size:0.7rem;border:none;border-radius:8px;cursor:pointer;transition:all 0.2s ease;box-shadow:0 0 10px #00fff7}.fullscreen-btn:hover{background:#FFD639;box-shadow:0 0 20px #FFD639;transform:scale(1.05)}
.game-label{font-family:'Press Start 2P',cursive;font-size:9px;color:#FFD700;text-shadow:0 0 8px #FFD700;margin-bottom:8px;letter-spacing:1px}@media (max-width:768px){.game-frame{flex:1 1 100%}iframe{height:300px}}.creative-box{width:fit-content;margin:700px auto 0 auto;transform:translateX(0px);text-align:center}.creative-box h2{color:#B8860B;font-size:0.9rem}.creative-box p{color:#AFAFAF;font-size:0.7rem}.center-video-wrapper{display:flex;justify-content:center;margin-top:90px}.small-video{width:645px;height:auto;border-radius:10px}.artist-bio{max-width:600px;margin:10px auto 20px;font-size:1rem;opacity:0.85}.character-image{display:block;margin:20px auto;max-width:300px}.character-stats{background:#111;padding:16px;border-radius:8px;max-width:600px;margin:20px auto;color:#0f0}.external-link{display:block;text-align:center;margin:20px auto 40px;padding:12px 20px;width:fit-content;background:red;color:#fff;text-decoration:none;border-radius:6px}body.character-profile,body.media{background-image:url('../images/your-background.webp');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.image-wrapper{position:relative;display:inline-block;margin-bottom:20px}.character-image{width:100%;max-width:400px;display:block}.external-link{position:absolute;bottom:15px;right:15px;background:rgba(0,0,0,0.75);color:#fff;padding:10px 16px;text-decoration:none;font-weight:bold;border-radius:6px;transition:background 0.3s ease,transform 0.2s ease}.external-link:hover{background:rgba(255,0,0,0.85);transform:scale(1.05)}.character-stats{background:#111;color:#0f0;padding:15px;border-radius:8px;max-width:400px;font-family:monospace;white-space:pre-wrap}

/* ============================================================
   CHARACTER PAGE REBUILD — appended override layer
   Fixes mobile stacking bug, adds holographic 3D tilt (Option B),
   frameless floating character preview + mobile overlay.
   Loaded last so it wins over all earlier conflicting rules.
   ============================================================ */

/* --- Neutralize old layout hacks on the characters page --- */
body.characters p { margin-bottom: 10px; }
body.characters .char-tagline { margin: 10px auto 0; width: 85%; }
body.characters .character-section {
  margin: 30px auto 60px !important;
  position: static !important;
  display: block !important;
  width: 94%;
  max-width: 1300px;
}
body.characters .character-content {
  display: flex !important;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 50px;
}
body.characters .character-left {
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.characters .character-grid {
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: grid !important;
  grid-template-columns: repeat(5, 110px);
  gap: 14px;
  justify-content: center;
}
body.characters .character-slot {
  width: 110px;
  height: 110px;
  cursor: pointer;
}
body.characters .character-slot.locked { cursor: default; opacity: 0.85; }
body.characters .character-display {
  position: static !important;
  flex: 0 0 380px;
  width: 380px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* --- Option B: holographic tilt stage (frameless character) --- */
.tilt-stage {
  perspective: 900px;
  width: 100%;
  display: flex;
  justify-content: center;
}
.tilt-stage img {
  transform-style: preserve-3d;
  transition: transform 0.15s ease-out;
  will-change: transform;
  /* character floats free of the card frame */
  border: none !important;
  border-radius: 14px;
  box-shadow: none !important;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,0.65)) drop-shadow(0 0 22px rgba(0,255,247,0.45));
}
body.characters .character-preview {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: 100%;
}
body.characters .character-preview img {
  width: 100% !important;
  max-width: 340px !important;
  max-height: 420px;
  object-fit: contain;
}
body.characters .character-preview p {
  color: #FFD700;
  font-size: 12px;
  text-shadow: 0 0 12px #ff006e;
  margin-top: 14px;
}
body.characters .character-info {
  width: 100%;
  margin-top: 18px;
}

/* --- Profile page tilt --- */
.profile-tilt { perspective: 900px; }
.profile-tilt img.character-image {
  max-width: 400px;
  width: 100%;
  border-radius: 14px;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,0.65)) drop-shadow(0 0 22px rgba(0,255,247,0.45));
}

/* --- Mobile character overlay (floats ABOVE everything) --- */
.char-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 60px 18px 30px;
  background: rgba(0, 0, 10, 0.92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  overflow-y: auto;
}
.char-overlay.open { display: flex; animation: overlayIn 0.25s ease; }
@keyframes overlayIn {
  from { opacity: 0; transform: scale(0.97); }
  to   { opacity: 1; transform: scale(1); }
}
.char-overlay-close {
  position: fixed;
  top: 14px;
  right: 16px;
  z-index: 100000;
  background: rgba(0,0,0,0.6);
  color: #00fff7;
  border: 2px solid #00fff7;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  font-size: 18px;
  font-family: 'Press Start 2P', cursive;
  cursor: pointer;
  box-shadow: 0 0 14px #00fff7;
}
.char-overlay-stage {
  perspective: 900px;
  width: 100%;
  max-width: 340px;
  touch-action: pan-y;
}
.char-overlay-stage img {
  width: 100%;
  max-height: 55vh;
  object-fit: contain;
  transform-style: preserve-3d;
  will-change: transform;
  border-radius: 14px;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,0.7)) drop-shadow(0 0 25px rgba(0,255,247,0.5));
  animation: floatChar 3s ease-in-out infinite;
}
@keyframes floatChar {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -8px; }
}
.char-overlay-name {
  font-family: 'Press Start 2P', cursive;
  color: #FFD700;
  font-size: 14px;
  text-shadow: 0 0 12px #ff006e;
  margin: 18px 0 6px;
  width: auto;
}
.char-overlay-stats {
  background: rgba(0,0,0,0.8);
  border: 2px solid #00fff7;
  border-radius: 12px;
  box-shadow: 0 0 20px #00fff7, inset 0 0 15px #ff006e;
  padding: 14px;
  font-family: 'Press Start 2P', monospace;
  font-size: 8px;
  color: #FFD700;
  text-align: left;
  white-space: pre-wrap;
  line-height: 1.7;
  width: 100%;
  max-width: 340px;
  margin: 10px 0;
}
.char-overlay-btn {
  font-family: 'Press Start 2P', cursive;
  font-size: 10px;
  color: #111;
  background: #00fff7;
  padding: 13px 22px;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 0 14px #00fff7;
  margin-top: 6px;
}
.char-overlay-btn:active { background: #FFD639; box-shadow: 0 0 18px #FFD639; }

/* --- Hint under the overlay image --- */
.char-overlay-stage::after {
  content: "↺ drag to rotate";
  display: block;
  text-align: center;
  color: #00fff7;
  font-family: 'Press Start 2P', cursive;
  font-size: 7px;
  margin-top: 10px;
  opacity: 0.7;
}

/* --- Responsive: tablet --- */
@media (max-width: 1024px) {
  body.characters .character-grid { grid-template-columns: repeat(4, 100px); gap: 12px; }
  body.characters .character-slot { width: 100px; height: 100px; }
  body.characters .character-display { flex: 0 0 320px; width: 320px; }
}

/* --- Responsive: mobile — grid only, overlay handles preview --- */
@media (max-width: 768px) {
  body.characters .character-content { flex-direction: column; align-items: center; gap: 20px; }
  body.characters .character-grid { grid-template-columns: repeat(3, 96px); gap: 10px; }
  body.characters .character-slot { width: 96px; height: 96px; }
  /* hide the desktop hover panels on mobile — replaced by the overlay */
  body.characters .character-display { display: none !important; }
  body.characters .character-font-image img { width: 150px; }
  body.characters .character-section { margin-top: 20px !important; }
}
@media (max-width: 380px) {
  body.characters .character-grid { grid-template-columns: repeat(3, 88px); gap: 8px; }
  body.characters .character-slot { width: 88px; height: 88px; }
}

/* --- Respect reduced-motion preference --- */
@media (prefers-reduced-motion: reduce) {
  .tilt-stage img, .char-overlay-stage img { transition: none; animation: none; }
}

/* --- Profile page turntable polish --- */
.profile-tilt { cursor: grab; user-select: none; -webkit-user-select: none; touch-action: pan-y; }
.profile-tilt:active { cursor: grabbing; }
.image-wrapper::after {
  content: "↺ drag to rotate • double-tap to reset";
  display: block;
  text-align: center;
  color: #00fff7;
  font-size: 9px;
  margin-top: 8px;
  opacity: 0.65;
  font-family: 'Press Start 2P', cursive;
}

/* --- Media page fix: neutralize the global negative-margin hack
       so the video sits cleanly below the menu and heading --- */
body.media p { margin-bottom: 10px; }
body.media main { margin-top: 20px; }
body.media .center-video-wrapper {
  margin: 50px auto 100px;
  padding: 0 15px;
}
body.media .small-video {
  width: 480px;
  max-width: 88%;
  border: 3px solid #00fff7;
  border-radius: 12px;
  box-shadow: 0 0 20px #00fff7;
}

/* ---- HOME SIDE PANELS ---- */
.home-left-panel,.home-right-panel{position:fixed;width:185px;z-index:5;display:flex;flex-direction:column;gap:10px}
.home-left-panel{left:22px;top:140px;text-align:left}
.home-right-panel{right:22px;top:50%;transform:translateY(-50%);text-align:left}
@media(max-width:1200px){.home-left-panel,.home-right-panel{display:none}}
.panel-label{font-family:'Press Start 2P',cursive;font-size:8px;color:#ff006e;text-shadow:0 0 8px #ff006e;letter-spacing:2px;margin-bottom:6px}
.panel-text{font-family:'Press Start 2P',cursive;font-size:8px;color:#666;line-height:2}
.panel-accent{font-family:'Press Start 2P',cursive;font-size:10px;color:#FFD700;text-shadow:0 0 10px #FFD700;margin-top:8px}
.panel-drop{display:flex;flex-direction:column;gap:4px;text-decoration:none;border-left:2px solid #00fff7;padding-left:10px;margin-bottom:12px;transition:border-color 0.2s}
.panel-drop:hover{border-color:#ff006e}
.panel-locked{border-color:#2a2a2a;opacity:0.5;pointer-events:none}
.drop-tag{font-family:'Press Start 2P',cursive;font-size:7px;color:#ff006e;letter-spacing:1px}
.drop-title{font-family:'Press Start 2P',cursive;font-size:9px;color:#FFD700}
.drop-sub{font-family:'Press Start 2P',cursive;font-size:6px;color:#444}

/* ---- JOIN PAGE — reset global negative margin, then build layout ---- */
body.become p{margin-bottom:12px !important;width:auto}
body.become h1,body.become h2{width:auto}
.join-page{max-width:700px;margin:0 auto;padding:100px 24px 120px}
.join-hero{text-align:center;margin-bottom:40px}
.join-title{color:#00ff66 !important;text-shadow:0 0 14px #00ff66;font-size:16px !important;margin-bottom:12px}
.join-sub{font-size:10px !important;color:#00fff7 !important;line-height:2}
.join-about{background:rgba(0,0,0,0.6);border:1px solid #222;border-left:3px solid #00fff7;border-radius:8px;padding:28px 32px;margin-bottom:40px;text-align:left}
.arcade-intro{font-family:'Press Start 2P',cursive;font-size:9px !important;color:#bbb !important;line-height:2.4 !important;width:100% !important;margin:0 !important}
.join-pillars{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:40px;flex-wrap:wrap}
.pillar{display:flex;flex-direction:column;align-items:center;gap:10px}
.pillar-symbol{font-size:24px;color:#00fff7;text-shadow:0 0 14px #00fff7}
.pillar-word{font-family:'Press Start 2P',cursive;font-size:9px;color:#FFD700;text-shadow:0 0 8px #FFD700;letter-spacing:1px}
.pillar-divider{font-size:28px;color:#2a2a2a;line-height:1}
.join-tagline-block{text-align:center;margin-bottom:40px;padding:24px;border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a}
.join-tagline{font-family:'Press Start 2P',cursive;font-size:10px !important;color:#00fff7 !important;text-shadow:0 0 10px #00fff7;line-height:2;margin-bottom:14px;width:auto !important}
.join-tagline-sub{font-family:'Press Start 2P',cursive;font-size:8px !important;color:#555 !important;line-height:2;width:auto !important}
.mailchimp-placeholder{border:2px dashed #2a2a2a;border-radius:10px;padding:32px;text-align:center;background:rgba(0,0,0,0.4)}
.mc-label{font-family:'Press Start 2P',cursive;font-size:9px;color:#FFD700;text-shadow:0 0 8px #FFD700;margin-bottom:20px;letter-spacing:1px;display:block;width:auto !important}
.mc-coming span{font-family:'Press Start 2P',cursive;font-size:8px;color:#333;display:block;margin-bottom:14px;letter-spacing:1px}
.mc-coming p{font-family:'Press Start 2P',cursive;font-size:8px !important;color:#444 !important;line-height:2;width:auto !important;margin:0 !important}
.mc-coming a{color:#00fff7;text-decoration:none}
.mc-coming a:hover{text-shadow:0 0 8px #00fff7}

/* ---- MANIFESTO: WURI AWAKENING (point 9) ---- */
.wuri-awakening{margin:36px 0;padding:28px 32px;border:1px solid rgba(0,255,247,0.2);border-left:3px solid #00fff7;border-right:3px solid #ff006e;border-radius:8px;background:rgba(0,255,247,0.03);text-align:center}
.wuri-rule-line{width:60%;margin:0 auto 20px;height:1px;background:linear-gradient(90deg,transparent,#00fff7,#ff006e,transparent)}
.wuri-awakening .wuri-rule-line:last-child{margin:20px auto 0}
.wuri-number{font-family:'Press Start 2P',cursive;font-size:9px;color:#ff006e;text-shadow:0 0 10px #ff006e;margin-bottom:14px;width:auto !important}
.wuri-text{font-family:'Press Start 2P',cursive;font-size:11px;color:#00fff7;text-shadow:0 0 8px rgba(0,255,247,0.5);line-height:2.4;margin:0;width:auto !important}

/* ---- MUSIC SECTION ---- */
.music-section {
  max-width: 700px;
  margin: 50px auto 120px;
  padding: 0 20px;
}
.music-heading {
  color: #ff006e;
  text-shadow: 0 0 14px #ff006e, 0 0 28px #ff006e;
  font-size: 14px;
  margin-bottom: 8px;
}
.music-note {
  font-size: 9px;
  color: #00fff7;
  margin-bottom: 30px;
}
.track-card {
  background: rgba(0, 0, 0, 0.75);
  border: 2px solid #00fff7;
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 18px;
  box-shadow: 0 0 14px rgba(0, 255, 247, 0.15);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.track-card:hover {
  box-shadow: 0 0 28px rgba(255, 0, 110, 0.35);
}
.track-card.playing {
  border-color: #ff006e;
  box-shadow: 0 0 28px #ff006e;
}
.track-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.track-num {
  color: #ff006e;
  font-size: 10px;
  min-width: 22px;
}
.track-title-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  text-align: left;
}
.track-title {
  color: #FFD700;
  font-size: 10px;
  text-shadow: 0 0 8px #FFD700;
  letter-spacing: 0.5px;
}
.track-artist {
  color: #00fff7;
  font-size: 7px;
  opacity: 0.8;
  letter-spacing: 0.5px;
}
.track-plays {
  color: #555;
  font-size: 8px;
}
.player-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.play-pause-btn {
  background: transparent;
  border: 2px solid #00fff7;
  color: #00fff7;
  font-family: 'Press Start 2P', cursive;
  font-size: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  min-width: 52px;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.play-pause-btn:hover {
  background: #00fff7;
  color: #111;
  box-shadow: 0 0 14px #00fff7;
}
.track-card.playing .play-pause-btn {
  border-color: #ff006e;
  color: #ff006e;
}
.track-card.playing .play-pause-btn:hover {
  background: #ff006e;
  color: #fff;
  box-shadow: 0 0 14px #ff006e;
}
.progress-wrap {
  flex: 1;
  height: 6px;
  background: #222;
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
}
.progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #00fff7, #ff006e);
  border-radius: 3px;
  transition: width 0.4s linear;
}
.time-display {
  font-size: 7px;
  color: #555;
  min-width: 86px;
  text-align: right;
}
@media (max-width: 600px) {
  .track-meta { flex-wrap: wrap; }
  .time-display { display: none; }
  .music-heading { font-size: 11px; }
}

/* ---- PANEL PARAGRAPH MARGIN FIX ---- */
/* Global p{margin-bottom:-14rem} collapses panel paragraphs upward into the logo.
   Flex gap handles spacing — we just need to zero out the destructive margins. */
.home-left-panel p, .home-right-panel p { margin: 0 !important; }

/* ---- MEDIA PAGE PARAGRAPH FIX ---- */
body.media p { margin-bottom: 12px !important; width: auto; }

/* ---- WORLD PAGE PARAGRAPH FIX ---- */
/* The standalone <p> before .world-section had margin-bottom:-14rem pulling the section into the nav */
body.world p { margin-bottom: 12px !important; width: auto; }

/* ============================================================
   MOBILE RESPONSIVE — all breakpoints
   ============================================================ */

/* NAV: horizontal scroll on mobile so all links stay accessible */
@media (max-width: 768px) {
  nav {
    overflow-x: auto;
    white-space: nowrap;
    padding: 10px 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    text-align: left;
  }
  nav::-webkit-scrollbar { display: none; }
  nav a { font-size: 9px; margin: 0 10px; display: inline-block; }
}

/* HOME: avatar responsive on tablets */
@media (max-width: 900px) {
  .avatar-image { width: 100% !important; height: auto !important; max-width: 100vw; }
}

/* ---- HOME MOBILE: swap strategy ---- */
/* Mobile layout is a separate div in the HTML — clean, no fighting fixed positions */
.home-mobile { display: none; }

@media (max-width: 768px) {
  /* Hide the complex desktop layout entirely on phones */
  body.home .page-wrapper { display: none !important; }
  body.home footer { display: none; }

  /* Show the clean mobile layout */
  .home-mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
    padding: 80px 20px 40px;
    text-align: center;
    box-sizing: border-box;
  }

  .hm-titles { margin-bottom: 14px; width: 100%; }

  .hm-heading {
    font-family: 'Press Start 2P', cursive;
    font-size: 1rem;
    color: #fff;
    line-height: 1.8;
    margin: 0 0 10px;
  }

  .hm-sub {
    font-family: 'Press Start 2P', cursive;
    font-size: 0.75rem;
    color: #aaa;
    margin: 0 0 6px !important;
    width: auto !important;
  }

  .hm-wuri {
    width: 130px;
    height: auto;
    margin-bottom: 10px;
    filter: drop-shadow(0 0 12px #00fff7);
  }

  .hm-avatar {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 20px;
    image-rendering: pixelated;
  }

  .hm-start {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    margin-bottom: 26px;
  }
  .hm-btn-img {
    width: 140px;
    height: auto;
    filter: drop-shadow(0 0 10px #00fff7);
    transition: transform 0.2s ease;
  }
  .hm-start:active .hm-btn-img { transform: scale(0.96); }

  .hm-about {
    width: 100%;
    max-width: 340px;
    background: rgba(0,0,0,0.55);
    border: 1px solid #1a1a1a;
    border-left: 2px solid #00fff7;
    border-right: 2px solid #ff006e;
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 22px;
    box-sizing: border-box;
  }
  .hm-about p { margin: 0 0 8px !important; width: auto !important; }

  .hm-label {
    font-family: 'Press Start 2P', cursive;
    font-size: 7px;
    color: #ff006e;
    text-shadow: 0 0 8px #ff006e;
    letter-spacing: 2px;
    margin-bottom: 12px !important;
  }
  .hm-body {
    font-family: 'Press Start 2P', cursive;
    font-size: 7.5px;
    color: #777;
    line-height: 2;
  }
  .hm-accent {
    font-family: 'Press Start 2P', cursive;
    font-size: 10px;
    color: #FFD700;
    text-shadow: 0 0 10px #FFD700;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
  }

  .hm-bottom-quote {
    font-family: 'Press Start 2P', cursive;
    font-size: 7px;
    color: #00fff7;
    text-shadow: 0 0 8px #00fff7;
    line-height: 2;
    text-align: center;
    margin: 0 0 16px !important;
    width: auto !important;
  }

  .hm-footer-text {
    font-family: 'Press Start 2P', cursive;
    font-size: 7px;
    color: #333;
    margin: 0 !important;
    width: auto !important;
  }

  .hm-latest {
    width: 100%;
    max-width: 340px;
    background: rgba(0,0,0,0.55);
    border: 1px solid #1a1a1a;
    border-left: 2px solid #ff006e;
    border-right: 2px solid #00fff7;
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 22px;
    box-sizing: border-box;
    text-align: left;
  }
  .hm-latest .panel-label { margin-bottom: 14px !important; }
  .hm-latest .panel-locked { pointer-events: none; opacity: 0.4; }
}

/* ---- ADVENTURES: mobile game layout ---- */
@media (max-width: 768px) {
  .game-section { margin: 110px auto 100px; gap: 24px; padding: 0 12px; }
  .game-frame { flex: 1 1 100%; max-width: 100%; padding: 12px; }
  .game-frame iframe { height: 260px; }
  .fullscreen-btn {
    width: 100%;
    padding: 14px 0;
    font-size: 0.75rem;
    margin-top: 12px;
    border-radius: 10px;
  }
  .game-label { font-size: 0.55rem; margin-bottom: 8px; }
}

/* WORLD PAGE: the original 270px top margin was counteracted by the global p{margin-bottom:-14rem}
   Now that the p margin bug is fixed, we reduce world-section margin-top properly */
body.world .world-section { margin-top: 30px !important; margin-bottom: 80px; }

@media (max-width: 768px) {
  body.world .world-section { margin-top: 14px !important; width: 95%; margin-bottom: 60px; }
  .world-section h1.underlined { font-size: 13px; margin-top: 30px; }
  .world-section p { font-size: 9px; }
}

/* JOIN PAGE: tighten on very small screens */
@media (max-width: 480px) {
  .join-page { padding: 80px 16px 80px; }
  .join-about { padding: 16px 14px; }
  .arcade-intro { font-size: 7.5px !important; }
  .join-pillars { gap: 10px; }
  .pillar-word { font-size: 7px; }
  .join-tagline { font-size: 8px !important; }
}

/* ADVENTURES: tighter margins on mobile */
@media (max-width: 480px) {
  .game-section { margin: 160px auto 40px; padding: 0 12px; }
  iframe { height: 240px; }
}

/* MEDIA: track cards on small screens */
@media (max-width: 480px) {
  .music-section { padding: 0 12px; margin: 30px auto 80px; }
  .track-card { padding: 12px 14px; margin-bottom: 14px; }
  .play-pause-btn { font-size: 8px; padding: 6px 10px; min-width: 40px; }
  .progress-wrap { height: 5px; }
}

/* WARDROBE: already responsive but reduce padding on small screens */
@media (max-width: 480px) {
  .fashion-grid { padding: 20px 12px; gap: 14px; }
  .fashion-item { width: 140px; height: 170px; }
}

/* ---- FOOTER SOCIAL LINKS ---- */
footer { line-height: 1; }
.footer-copy { font-size: 10px; color: #555; }
.footer-socials {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: 14px;
}
.footer-socials a {
  font-family: 'Press Start 2P', cursive;
  font-size: 8px;
  color: #444;
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer-socials a:hover { color: #00fff7; }
.social-divider { color: #2a2a2a; font-size: 10px; line-height: 1; }
.footer-privacy { font-family: 'Press Start 2P', cursive; font-size: 7px; color: #333; text-decoration: none; display: block; margin-top: 3px; }
.footer-privacy:hover { color: #00fff7; }

/* ---- JOIN PAGE: WHATSAPP BLOCK ---- */
.whatsapp-join-block {
  text-align: center;
  margin-bottom: 32px;
  padding: 28px 24px;
  border: 2px solid #25D366;
  border-radius: 10px;
  background: rgba(37,211,102,0.04);
  box-shadow: 0 0 18px rgba(37,211,102,0.15);
}
.whatsapp-label {
  font-family: 'Press Start 2P', cursive;
  font-size: 8px !important;
  color: #25D366 !important;
  letter-spacing: 2px;
  margin-bottom: 18px !important;
  width: auto !important;
  text-shadow: 0 0 10px rgba(37,211,102,0.6);
}
.whatsapp-join-btn {
  display: inline-block;
  font-family: 'Press Start 2P', cursive;
  font-size: 10px;
  color: #111;
  background: #25D366;
  padding: 14px 24px;
  border-radius: 8px;
  text-decoration: none;
  letter-spacing: 1px;
  box-shadow: 0 0 20px rgba(37,211,102,0.4);
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
  margin-bottom: 14px;
}
.whatsapp-join-btn:hover {
  background: #1ebe5a;
  box-shadow: 0 0 30px rgba(37,211,102,0.7);
  transform: scale(1.03);
}
.whatsapp-sub {
  font-family: 'Press Start 2P', cursive;
  font-size: 7px !important;
  color: #3a3a3a !important;
  line-height: 2;
  margin: 0 !important;
  width: auto !important;
}

/* ---- WURI RUNNER: mobile tap hint ---- */
#tapHint {
  display: none;
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Press Start 2P', cursive;
  font-size: 8px;
  color: #00fff7;
  text-shadow: 0 0 8px #00fff7;
  pointer-events: none;
  animation: blink 1.2s step-start infinite;
  z-index: 50;
}
@keyframes blink { 50% { opacity: 0; } }
@media (hover: none) and (pointer: coarse) {
  #tapHint { display: block; }
}

/* ---- MAILCHIMP EMAIL FORM ---- */
#mc_embed_signup {
  background: transparent;
  width: 100%;
  max-width: 480px;
  margin: 0 auto 60px;
  padding: 0 20px;
  box-sizing: border-box;
}
#mc_embed_signup form { padding: 0; }
.mc-section { text-align: center; }
#mc_embed_signup .mc-field-group { margin-bottom: 14px; width: 100%; }
#mc_embed_signup input[type="email"] {
  width: 100%;
  background: rgba(0,0,0,0.6);
  border: 1.5px solid #333;
  border-radius: 6px;
  color: #00fff7;
  font-family: 'Press Start 2P', cursive;
  font-size: 8px;
  padding: 14px 16px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}
#mc_embed_signup input[type="email"]:focus {
  border-color: #00fff7;
  box-shadow: 0 0 12px rgba(0,255,247,0.2);
}
#mc_embed_signup input[type="email"]::placeholder { color: #555; }
#mc_embed_signup .button {
  width: 100%;
  background: #00fff7;
  color: #111;
  font-family: 'Press Start 2P', cursive;
  font-size: 9px;
  border: none;
  border-radius: 6px;
  padding: 14px;
  cursor: pointer;
  letter-spacing: 1px;
  box-shadow: 0 0 16px rgba(0,255,247,0.3);
  transition: background 0.2s ease, box-shadow 0.2s ease;
  display: block;
  margin: 0;
  height: auto;
}
#mc_embed_signup .button:hover {
  background: #ff006e;
  box-shadow: 0 0 20px rgba(255,0,110,0.4);
}
#mce-error-response {
  font-family: 'Press Start 2P', cursive !important;
  font-size: 7px !important;
  color: #ff006e !important;
  margin: 10px 0 0 !important;
  line-height: 2 !important;
  width: auto !important;
}
#mce-success-response {
  font-family: 'Press Start 2P', cursive !important;
  font-size: 7px !important;
  color: #00ff66 !important;
  margin: 10px 0 0 !important;
  line-height: 2 !important;
  width: auto !important;
}
#mc_embed_signup p { margin-bottom: 0 !important; width: auto !important; }
#mc_embed_signup .clear { margin: 0 !important; }

/* ── Theme song toggle (character pages) ─────────────────────────────── */
.theme-toggle{
  position:fixed; bottom:20px; right:20px; z-index:9999;
  width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.62); color:#00fff7;
  border:2px solid #00fff7; font-size:20px; line-height:1; cursor:pointer;
  box-shadow:0 0 14px rgba(0,255,247,0.55);
  animation:themePulse 2.4s ease-in-out infinite;
  transition:transform .2s ease, box-shadow .2s ease, color .2s ease, border-color .2s ease;
}
.theme-toggle:hover{ transform:scale(1.12); box-shadow:0 0 22px #00fff7; }
.theme-toggle.muted{
  color:#ff006e; border-color:#ff006e;
  box-shadow:0 0 12px rgba(255,0,110,0.45); animation:none;
}
@keyframes themePulse{
  0%,100%{ box-shadow:0 0 12px rgba(0,255,247,0.45); }
  50%    { box-shadow:0 0 22px rgba(0,255,247,0.85); }
}
@media (max-width:768px){
  .theme-toggle{ width:44px; height:44px; font-size:18px; bottom:16px; right:16px; }
}
