/* ================= Çiçekler · "Buket" ve "Çiçek çelengi" ================= */
/* Akşamüstü kapı önü: sıcak aplik ışığı, gül ve şeftali vurgular. Yazılar kapının üstünde: koyu hale ile okunur */
:root {
  --bg: #3A2A36;
  --bg-deep: #1C1420;
  --pink: #FFB3C7;        /* vurgu: gül */
  --pink-deep: #F07FA0;
  --mint: #FFD9C2;        /* etiket: şeftali */
  --lilac: #EAD7E6;
  --cream: #FFF4EC;
  --gold: #FFC98A;
  --text: #FFF9F4;
  --muted: rgba(255, 242, 236, .8);
}
.headline, .label, .sub { text-shadow: 0 1px 2px rgba(30, 14, 24, .6), 0 0 20px rgba(30, 14, 24, .5); }
.headline .accent { text-shadow: 0 1px 2px rgba(40, 10, 24, .65), 0 0 18px rgba(40, 10, 24, .55), 0 0 30px rgba(255, 140, 170, .35); }
/* Başlığın arkasında yumuşak koyu hale: açık kapı pervazı ve duvar önünde pembe isim okunmuyordu (metinle birlikte söner) */
.copy::before {
  content: ''; position: absolute; z-index: -1; left: 50%; top: -30px;
  width: min(760px, 120vw); height: calc(100% + 70px); transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(36, 18, 28, .46), rgba(36, 18, 28, .22) 60%, rgba(36, 18, 28, 0));
  pointer-events: none;
}
.btn.primary {
  background: linear-gradient(180deg, #FFD6E2 0%, #F28DAE 100%); color: #3A0F22;
  box-shadow: 0 12px 34px -10px rgba(242, 141, 174, .75), inset 0 1px 0 rgba(255, 255, 255, .6);
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 12px 34px -10px rgba(242, 141, 174, .75), 0 0 0 0 rgba(255, 190, 210, .45), inset 0 1px 0 rgba(255, 255, 255, .6); }
  50% { box-shadow: 0 12px 34px -10px rgba(242, 141, 174, .75), 0 0 0 14px rgba(255, 190, 210, 0), inset 0 1px 0 rgba(255, 255, 255, .6); }
}
.flash { background: radial-gradient(circle at 50% 40%, #FFFBF6 0%, #FFE2EA 30%, rgba(255, 200, 215, .35) 60%, rgba(255, 200, 215, 0) 80%); }
.loader { background: radial-gradient(90% 70% at 50% 45%, #5A3A4A 0%, #1C1420 70%); }
.preview-pill { color: #3A0F22; background: rgba(255, 205, 220, .92); }
.ad-badge { background: #FFB3C7; color: #3A0F22; }
.grain { display: none; }
#scene { touch-action: none; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.btn { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }

/* ---------- buket: kurdele ucunda aşağı kayan ışık (çek) ---------- */
.pull-hint {
  position: fixed; left: 0; top: 0; width: 60px; height: 150px; margin: -30px 0 0 -30px;
  pointer-events: none; opacity: 0; transition: opacity .5s ease; z-index: 4;
}
.pull-hint.on { opacity: 1; }
.pull-hint::after {
  content: ''; position: absolute; left: 50%; top: 18px; bottom: 16px; width: 3px; margin-left: -1.5px; border-radius: 2px;
  background: linear-gradient(180deg, rgba(255, 235, 240, .6), rgba(255, 235, 240, 0));
}
.pull-hint i {
  position: absolute; left: 50%; top: 0; width: 34px; height: 34px; margin-left: -17px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 250, 250, .95) 0%, rgba(255, 205, 220, .55) 45%, rgba(255, 190, 210, 0) 72%);
  box-shadow: 0 0 22px rgba(255, 200, 220, .6);
  animation: pull 1.7s cubic-bezier(.45, 0, .35, 1) infinite;
}
@keyframes pull {
  0% { transform: translateY(0) scale(.8); opacity: 0; }
  15% { opacity: 1; transform: translateY(6px) scale(1); }
  70% { opacity: 1; transform: translateY(96px) scale(1); }
  100% { transform: translateY(108px) scale(.8); opacity: 0; }
}

/* ---------- çelenk: kesik çizgili daire ve üstünde dönen ışık (daire çiz) ---------- */
.draw-guide {
  position: fixed; left: 0; top: 0; width: 200px; height: 200px; margin: -100px 0 0 -100px; overflow: visible;
  pointer-events: none; opacity: 0; transition: opacity .6s ease; z-index: 4;
}
.draw-guide.on { opacity: 1; }
.draw-guide circle { fill: none; }
.dg-track { stroke: rgba(255, 240, 245, .55); stroke-width: 2.2; stroke-dasharray: 3 9; stroke-linecap: round; }
.dg-done { display: none; }
.dg-dot { animation: orbit 2.6s linear infinite; transform-origin: 0 0; }
.dg-dot circle { fill: rgba(255, 250, 250, .95); filter: drop-shadow(0 0 6px rgba(255, 200, 220, .9)); }
@keyframes orbit { to { transform: rotate(360deg); } }
/* Yukarı çekiş (buketteki kart): nokta aşağıdan yukarı kayar, iz çizgisi aşağıda */
.pull-hint.up { margin-top: -130px; }
.pull-hint.up::after { top: 16px; bottom: 18px; background: linear-gradient(0deg, rgba(255, 235, 240, .6), rgba(255, 235, 240, 0)); }
.pull-hint.up i { top: auto; bottom: 0; animation-name: pullUp; }
@keyframes pullUp {
  0% { transform: translateY(0) scale(.8); opacity: 0; }
  15% { opacity: 1; transform: translateY(-6px) scale(1); }
  70% { opacity: 1; transform: translateY(-96px) scale(1); }
  100% { transform: translateY(-108px) scale(.8); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .dg-dot, .pull-hint i { animation-duration: 4s; } }
