/* =============================================
   💖 PINK EDITION — add-ons (v4)
   Tarot · Love letter · Rush · Girlitude · Countdown · Tama · Fake call · Wrapped
   ============================================= */

/* ===== GIRLITUDE METER ===== */
.girl-meter{
  position:fixed;top:10px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  padding:6px 14px;border-radius:999px;
  border:2px solid var(--pink-300);box-shadow:0 6px 20px rgba(255,62,160,.2);
  z-index:160;font-family:'Quicksand',sans-serif;font-size:12px;font-weight:700;
  color:var(--pink-600);
}
.girl-meter__label{text-transform:uppercase;letter-spacing:1px;font-size:10px}
.girl-meter__bar{width:120px;height:8px;background:var(--pink-100);border-radius:999px;overflow:hidden}
.girl-meter__fill{
  width:0%;height:100%;
  background:linear-gradient(90deg,var(--pink-400),var(--pink-500),var(--violet));
  background-size:200% 100%;animation:shineText 3s linear infinite;
  transition:width .4s ease;border-radius:999px;
}
.girl-meter__pct{min-width:36px;text-align:right;font-variant-numeric:tabular-nums}
.girl-meter.max{animation:pulse 1s infinite}
@media (max-width:680px){.girl-meter{top:auto;bottom:56px;font-size:10px}.girl-meter__bar{width:80px}}

/* ===== COUNTDOWN ===== */
.countdown{
  position:fixed;top:70px;right:16px;
  display:flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,#3d1640,#a855f7);color:#fff;
  padding:8px 14px;border-radius:18px;
  border:2px solid var(--gold);
  box-shadow:0 10px 30px rgba(61,22,64,.35);
  z-index:150;font-family:'Quicksand',sans-serif;
  transform:translateX(120%);transition:transform .5s cubic-bezier(.34,1.56,.64,1);
}
.countdown.show{transform:translateX(0)}
.countdown__icon{font-size:22px;animation:wobble 2s infinite}
.countdown__text small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.2px;opacity:.8}
.countdown__text strong{display:block;font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:1px}
@media (max-width:680px){.countdown{top:auto;bottom:120px;right:10px;padding:6px 10px}.countdown__text strong{font-size:14px}}

/* ===== TAMAGOTCHI ===== */
.tama{
  position:fixed;right:16px;bottom:160px;z-index:155;
  width:180px;
  background:linear-gradient(180deg,#ffe4f3,#ffc4dd);
  border:3px solid var(--pink-500);border-radius:24px;
  padding:10px;
  box-shadow:0 16px 40px rgba(255,62,160,.35), inset 0 2px 0 rgba(255,255,255,.6);
  font-family:'Quicksand',sans-serif;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), opacity .3s ease;
}
.tama.collapsed{transform:translateY(calc(100% - 30px))}
.tama__header{
  display:flex;align-items:center;gap:6px;
  font-family:'Pacifico',cursive;font-size:14px;color:var(--pink-600);margin-bottom:6px;
  padding:0 4px;
}
.tama__mood{font-size:16px}
.tama__screen{
  position:relative;height:80px;background:linear-gradient(180deg,#fff7fc,#ffe0f0);
  border-radius:14px;border:2px solid var(--pink-300);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;margin-bottom:8px;
}
.tama__car{font-size:44px;animation:tamaIdle 2s ease-in-out infinite;transform-origin:center}
.tama__car.happy{animation:tamaHappy .6s ease}
.tama__car.sad{filter:grayscale(.6)}
.tama__emote{position:absolute;top:6px;right:8px;font-size:18px;opacity:0;transition:all .3s;transform:translateY(6px)}
.tama__emote.show{opacity:1;transform:translateY(0)}
@keyframes tamaIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes tamaHappy{0%,100%{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-8deg)}75%{transform:scale(1.2) rotate(8deg)}}
.tama__bars{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.tama__bar{display:flex;align-items:center;gap:6px;font-size:10px}
.tama__bar>span{width:14px;text-align:center}
.tama__barfill{
  flex:1;height:8px;background:#fff;border-radius:999px;overflow:hidden;position:relative;
  border:1px solid rgba(228,31,135,.2);
}
.tama__barfill::after{
  content:'';position:absolute;inset:0;width:var(--w,50%);
  background:linear-gradient(90deg,var(--pink-400),var(--pink-500));
  border-radius:999px;transition:width .5s ease;
}
.tama__barfill.low::after{background:linear-gradient(90deg,#ff8a3d,#ff3e86)}
.tama__barfill.critical::after{background:#ff3e86;animation:pulse .6s infinite}
.tama__actions{display:flex;gap:6px;justify-content:center}
.tama__btn{
  flex:1;background:#fff;border:2px solid var(--pink-300);border-radius:12px;
  padding:6px 0;font-size:18px;cursor:pointer;transition:all .2s;
}
.tama__btn:hover{transform:translateY(-2px);background:var(--pink-100);border-color:var(--pink-500)}
.tama__btn:active{transform:scale(.92)}
.tama__toggle{
  position:absolute;top:8px;right:8px;width:22px;height:22px;
  background:#fff;border:2px solid var(--pink-300);border-radius:50%;
  font-size:12px;line-height:1;cursor:pointer;color:var(--pink-600);
  display:flex;align-items:center;justify-content:center;padding:0;
}
@media (max-width:680px){.tama{width:150px;bottom:130px;right:8px}.tama__car{font-size:34px}}

/* ===== FAKE CALL ===== */
.fakecall-trigger{
  position:fixed;left:16px;bottom:230px;z-index:140;
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  border:3px solid #fff;box-shadow:0 10px 24px rgba(34,197,94,.5);
  font-size:24px;cursor:pointer;color:#fff;
  animation:pulse 2s infinite;
  transition:transform .2s;
}
.fakecall-trigger:hover{transform:scale(1.1)}
.fakecall{
  position:fixed;inset:0;z-index:300;
  background:rgba(0,0,0,.75);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.fakecall.show{opacity:1;pointer-events:auto}
.fakecall__phone{
  width:320px;max-width:90vw;padding:40px 28px 28px;
  background:linear-gradient(180deg,#1a0a1d,#3d1640);
  color:#fff;border-radius:40px;
  border:3px solid #222;
  box-shadow:0 30px 80px rgba(0,0,0,.6), inset 0 2px 0 rgba(255,255,255,.1);
  text-align:center;position:relative;
  transform:scale(.7);transition:transform .4s cubic-bezier(.34,1.56,.64,1);
}
.fakecall.show .fakecall__phone{transform:scale(1)}
.fakecall__notch{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);
  width:100px;height:20px;background:#000;border-radius:999px;
}
.fakecall__kicker{font-size:11px;text-transform:uppercase;letter-spacing:2px;opacity:.7;margin-bottom:20px}
.fakecall__avatar{
  width:110px;height:110px;margin:0 auto 14px;
  background:linear-gradient(135deg,var(--pink-400),var(--violet));
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:56px;
  box-shadow:0 10px 30px rgba(255,62,160,.4);
  animation:pulse 1.2s infinite;
}
.fakecall__name{font-family:'Pacifico',cursive;font-size:28px;color:#fff;margin-bottom:4px}
.fakecall__sub{font-size:12px;opacity:.7;margin-bottom:20px}
.fakecall__pulse{display:flex;justify-content:center;align-items:flex-end;gap:6px;margin-bottom:24px;height:22px}
.fakecall__pulse span{
  width:4px;background:var(--pink-400);border-radius:2px;
  animation:rhythm 1s ease-in-out infinite;
}
.fakecall__pulse span:nth-child(1){animation-delay:0s;height:10px}
.fakecall__pulse span:nth-child(2){animation-delay:.2s;height:22px}
.fakecall__pulse span:nth-child(3){animation-delay:.4s;height:14px}
@keyframes rhythm{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
.fakecall__actions{display:flex;justify-content:space-around;align-items:center;gap:20px}
.fakecall__labels{display:none}
.fakecall__btn{
  width:64px;height:64px;border-radius:50%;border:none;cursor:pointer;
  font-size:28px;color:#fff;transition:transform .2s;
}
.fakecall__btn--decline{background:linear-gradient(135deg,#ef4444,#b91c1c);transform:rotate(135deg)}
.fakecall__btn--decline:hover{transform:rotate(135deg) scale(1.1)}
.fakecall__btn--accept{background:linear-gradient(135deg,#22c55e,#16a34a);animation:callshake 1s infinite}
@keyframes callshake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px) rotate(-5deg)}75%{transform:translateX(4px) rotate(5deg)}}
.fakecall__script{
  margin-top:18px;min-height:40px;font-family:'Quicksand',sans-serif;
  font-size:14px;line-height:1.4;opacity:0;transition:opacity .3s;
  color:#ffd6e8;font-style:italic;
}
.fakecall__script.show{opacity:1}

/* ===== WRAPPED ===== */
.wrapped{
  position:fixed;inset:0;z-index:320;
  background:radial-gradient(circle at 30% 20%,#ff6fb5 0%,#a855f7 40%,#3d1640 100%);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .4s;
  overflow:hidden;
}
.wrapped.show{opacity:1;pointer-events:auto}
.wrapped::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 70%,rgba(255,216,107,.25),transparent 40%),
    radial-gradient(circle at 20% 90%,rgba(255,62,160,.3),transparent 50%);
  animation:wrappedBg 6s ease-in-out infinite alternate;
}
@keyframes wrappedBg{0%{transform:scale(1) rotate(0)}100%{transform:scale(1.2) rotate(5deg)}}
.wrapped__slide{
  position:relative;width:min(92vw,420px);padding:40px 28px 28px;
  background:rgba(255,255,255,.08);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.2);border-radius:32px;
  color:#fff;text-align:center;
  box-shadow:0 40px 100px rgba(0,0,0,.4);
}
.wrapped__dots{display:flex;gap:6px;justify-content:center;margin-bottom:24px}
.wrapped__dots span{width:24px;height:3px;background:rgba(255,255,255,.3);border-radius:999px;transition:background .3s}
.wrapped__dots span.active{background:var(--gold)}
.wrapped__content{min-height:260px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.wrapped__emoji{font-size:68px;margin-bottom:14px;animation:wobble 2s ease-in-out infinite}
.wrapped__kicker{font-size:12px;text-transform:uppercase;letter-spacing:3px;opacity:.7;margin-bottom:8px}
.wrapped__title{font-family:'Pacifico',cursive;font-size:32px;line-height:1.1;margin-bottom:12px;background:linear-gradient(90deg,var(--gold),#fff,var(--gold));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shineText 2s linear infinite}
.wrapped__big{font-family:'Lobster',cursive;font-size:72px;line-height:1;margin:12px 0;color:var(--gold);text-shadow:0 6px 30px rgba(255,216,107,.6)}
.wrapped__sub{font-size:14px;opacity:.85;line-height:1.5;max-width:300px;margin:0 auto}
.wrapped__actions{margin-top:24px;display:flex;justify-content:center;gap:10px}
.wrapped__next{
  background:linear-gradient(135deg,var(--pink-500),var(--violet));color:#fff;
  border:none;border-radius:999px;padding:12px 28px;font-weight:700;font-size:14px;
  font-family:'Quicksand',sans-serif;cursor:pointer;
  box-shadow:0 10px 30px rgba(255,62,160,.4);transition:transform .2s;
}
.wrapped__next:hover{transform:translateY(-2px)}
.wrapped__close{
  position:absolute;top:12px;right:14px;background:none;border:none;
  color:#fff;font-size:28px;cursor:pointer;opacity:.6;line-height:1;
}
.wrapped__close:hover{opacity:1}

/* ===== TAROT ===== */
.tarot{text-align:center;padding:20px 0}
.tarot__deck{display:flex;gap:18px;justify-content:center;margin-bottom:18px;flex-wrap:wrap}
.tarot__card{
  width:140px;height:210px;cursor:pointer;perspective:1000px;
}
.tarot__inner{
  position:relative;width:100%;height:100%;
  transition:transform .8s cubic-bezier(.34,1.56,.64,1);
  transform-style:preserve-3d;
}
.tarot__card.flipped .tarot__inner{transform:rotateY(180deg)}
.tarot__back,.tarot__front{
  position:absolute;inset:0;border-radius:18px;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:14px;text-align:center;
  box-shadow:0 14px 36px rgba(168,85,247,.35);
}
.tarot__back{
  background:
    repeating-linear-gradient(45deg,var(--pink-500) 0 10px,var(--violet) 10px 20px);
  font-size:60px;color:#fff;border:3px solid var(--gold);
  text-shadow:0 4px 12px rgba(0,0,0,.3);
}
.tarot__front{
  background:linear-gradient(180deg,#fff,#fff4fa);
  color:var(--pink-600);transform:rotateY(180deg);
  border:3px solid var(--pink-300);
}
.tarot__front-emoji{font-size:44px;margin-bottom:6px}
.tarot__front-title{font-family:'Pacifico',cursive;font-size:16px;line-height:1.1;margin-bottom:4px}
.tarot__front-desc{font-size:10px;line-height:1.3;opacity:.75}
.tarot__hint{font-family:'Pacifico',cursive;color:var(--pink-500);margin-bottom:10px;font-size:18px}
.tarot__verdict{
  max-width:520px;margin:20px auto 0;padding:18px 22px;
  background:linear-gradient(180deg,#fff,#fff4fa);
  border:2px solid var(--pink-300);border-radius:20px;
  font-family:'Quicksand',sans-serif;line-height:1.5;
  opacity:0;transform:translateY(10px);transition:all .5s;
}
.tarot__verdict.show{opacity:1;transform:translateY(0)}

/* ===== LOVE LETTER ===== */
.loveletter{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:20px;
}
.loveletter input, .loveletter select{
  padding:12px 16px;border:2px solid var(--pink-300);border-radius:999px;
  font-family:'Quicksand',sans-serif;font-size:14px;
  background:#fff;min-width:180px;
}
.loveletter input:focus, .loveletter select:focus{outline:none;border-color:var(--pink-500)}
.letter{
  max-width:600px;margin:0 auto;
  opacity:0;max-height:0;overflow:hidden;transition:all .6s;
}
.letter.show{opacity:1;max-height:1400px;margin-top:24px}
.letter__paper{
  position:relative;
  background:
    repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(255,62,160,.08) 32px),
    linear-gradient(180deg,#fffdf5,#fff4fa);
  padding:50px 40px;
  border:1px solid var(--pink-200);
  border-radius:4px;
  box-shadow:0 30px 60px rgba(255,62,160,.2), inset 0 0 40px rgba(255,182,217,.15);
  font-family:'Quicksand',sans-serif;
  line-height:1.8;color:#5a2a4b;
  transform:rotate(-.3deg);
}
.letter__paper::before{
  content:'';position:absolute;top:0;left:40px;bottom:0;width:1px;
  background:rgba(255,62,160,.25);
}
.letter__header{font-family:'Pacifico',cursive;text-align:right;color:var(--pink-500);margin-bottom:30px;font-size:20px;line-height:1.2}
.letter__header span{font-size:12px;color:var(--pink-400);font-family:'Quicksand',sans-serif;font-style:italic}
.letter__body{font-size:16px;white-space:pre-wrap}
.letter__sign{margin-top:32px;text-align:right;font-family:'Pacifico',cursive;color:var(--pink-500);font-size:22px}
.letter__sign em{font-size:14px;color:var(--pink-400);font-family:'Quicksand',sans-serif}

/* ===== RUSH ATELIER ===== */
.rush{max-width:640px;margin:0 auto}
.rush__hud{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;
}
.rush__stat{
  background:rgba(255,255,255,.1);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:10px;
  text-align:center;color:#fff;
}
.rush__stat span{display:block;font-size:10px;opacity:.7;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.rush__stat strong{font-family:'Lobster',cursive;font-size:22px;color:var(--gold)}
.rush__arena{
  position:relative;height:340px;background:
    radial-gradient(circle at 30% 30%,rgba(255,216,107,.2),transparent 40%),
    linear-gradient(180deg,rgba(61,22,64,.8),rgba(26,10,29,.9));
  border:2px solid var(--pink-500);border-radius:24px;overflow:hidden;
  box-shadow:inset 0 0 60px rgba(168,85,247,.3);
  cursor:crosshair;user-select:none;
}
.rush__arena::before{
  content:'';position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(90deg,transparent 0 40px,rgba(255,255,255,.04) 40px 41px),
    repeating-linear-gradient(0deg,transparent 0 40px,rgba(255,255,255,.04) 40px 41px);
  pointer-events:none;
}
.rush__target{
  position:absolute;width:54px;height:54px;
  display:flex;align-items:center;justify-content:center;font-size:36px;
  cursor:pointer;transition:transform .08s ease;
  filter:drop-shadow(0 4px 10px rgba(255,62,160,.5));
}
.rush__target:hover{transform:scale(1.15)}
.rush__target.pop{animation:targetPop .3s forwards;pointer-events:none}
@keyframes targetPop{0%{transform:scale(1)}50%{transform:scale(1.6);filter:drop-shadow(0 0 20px #ffd86b)}100%{transform:scale(0);opacity:0}}
.rush__target.bomb{filter:drop-shadow(0 4px 10px rgba(239,68,68,.7))}
.rush__target.bonus{filter:drop-shadow(0 4px 14px rgba(255,216,107,.9))}
.rush__plus{
  position:absolute;pointer-events:none;font-family:'Lobster',cursive;
  color:var(--gold);font-size:26px;animation:rushPlus 1s forwards;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
}
.rush__plus.neg{color:#ef4444}
@keyframes rushPlus{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-40px) scale(1.4)}}
.rush__overlay{
  position:absolute;inset:0;background:rgba(26,10,29,.85);backdrop-filter:blur(6px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  color:#fff;z-index:10;text-align:center;padding:20px;
  transition:opacity .3s;
}
.rush__overlay.hidden{opacity:0;pointer-events:none}
.rush__overlay-emoji{font-size:64px;animation:wobble 2s infinite}
.rush__overlay-text{font-family:'Pacifico',cursive;font-size:24px;max-width:380px;line-height:1.2}
