:root{--bg:#0d1020;--card:#171b33;--txt:#f2f3ff;--muted:#b9bedc;--pink:#ff4fa8;--blue:#4c79ff}
*{box-sizing:border-box}body{margin:0;font-family:'Outfit',sans-serif;background:linear-gradient(180deg,#0a0d1e,#111738);color:var(--txt)}
a{text-decoration:none;color:inherit}.container{max-width:1100px;margin:auto;padding:16px}.row{display:flex;align-items:center}.between{justify-content:space-between}.gap{gap:10px}.center{text-align:center}
.topbar{position:sticky;top:0;background:#0c1028d6;backdrop-filter:blur(8px);z-index:9;border-bottom:1px solid #ffffff1f}.logo{font:800 28px 'Baloo 2';color:#fff}.nav{display:flex;gap:14px}.nav a{color:#dfe3ff}
.btn{display:inline-block;background:linear-gradient(120deg,var(--pink),var(--blue));color:#fff;padding:11px 16px;border-radius:14px;border:0;font-weight:700}.ghost{background:#ffffff12;border:1px solid #ffffff3a}
.hero{padding:42px 0}.hero-grid{display:grid;gap:18px;grid-template-columns:1fr}.kicker{color:#ffb7e4}.hero h1{font:800 clamp(34px,7vw,58px) 'Baloo 2';margin:8px 0}.hero-card{background:#0e122d;border:1px solid #ff4fa85c;border-radius:22px;padding:22px;box-shadow:0 0 40px #ff4fa836}.stranger{background-image:linear-gradient(145deg,#1b0e1f,#170812)}
.section{padding:34px 0}.dark{background:#070a19}.grid{display:grid;gap:14px}.cards{grid-template-columns:1fr}.card{background:var(--card);border-radius:18px;overflow:hidden;border:1px solid #ffffff1f}.card img{width:100%;height:170px;object-fit:cover}.card div{padding:12px}.mini{display:inline-block;padding:7px 11px;border-radius:10px;background:#ffffff15;margin-top:8px}
.pills{grid-template-columns:repeat(2,minmax(0,1fr))}.pills span{padding:11px;border:1px solid #ffffff24;border-radius:12px;text-align:center;background:#fff1}
.pricing{grid-template-columns:1fr}.price{background:var(--card);padding:16px;border-radius:18px}.amount{font-size:30px;font-weight:800;color:#ffb4df}
.create-grid{display:grid;grid-template-columns:1fr;gap:15px}.panel{background:var(--card);padding:16px;border-radius:16px;border:1px solid #ffffff24}.panel label{display:block;margin-bottom:10px}.panel input,.panel select,.panel textarea{width:100%;padding:10px;border-radius:11px;border:1px solid #ffffff3b;background:#0f1431;color:#fff}
.preview-box #livePreview{min-height:180px;border:1px dashed #ffffff55;border-radius:14px;padding:10px}
.invite{min-height:100vh}.cover{min-height:100vh;display:grid;place-items:center;position:relative;background:#090b16 url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?w=1400&auto=format&fit=crop') center/cover no-repeat}.overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#ff1d5f33,#050611c9)}.content{position:relative;z-index:2;text-align:center;padding:18px}.content h1{font:800 clamp(54px,16vw,96px) 'Baloo 2';margin:0;text-shadow:0 0 30px var(--p)}.content h2{margin:0 0 8px;text-shadow:0 0 14px #fff6}.round{width:64px;height:64px;border:0;border-radius:50%;font-size:24px;background:linear-gradient(120deg,var(--p),var(--s));color:#fff;box-shadow:0 0 30px var(--p)}
.hidden{display:none}.main{padding:20px 14px 40px}.event-cards{display:grid;gap:10px}.event-cards div{background:#fff1;padding:12px;border-radius:12px;border:1px solid #fff3}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.countdown b{display:grid;place-items:center;height:62px;background:#0a0c1f;border:1px solid #ff4fa87a;border-radius:12px;font-size:26px;box-shadow:0 0 15px #ff4fa84f}
.actions{display:grid;gap:10px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.gallery img{width:100%;height:120px;object-fit:cover;border-radius:10px}.music-float{position:fixed;right:12px;bottom:16px;width:52px;height:52px;border-radius:50%;border:0;background:linear-gradient(120deg,var(--p),var(--s));color:#fff;font-size:22px}.foot{text-align:center;color:#c7cbeb;margin-top:18px}
.err{color:#ff9db8}.danger{background:#74263f}table{width:100%;border-collapse:collapse}th,td{padding:8px;border-bottom:1px solid #fff2;text-align:left}
@media (min-width:880px){.hero-grid{grid-template-columns:1.2fr 1fr}.cards{grid-template-columns:repeat(3,1fr)}.pricing{grid-template-columns:repeat(3,1fr)}.create-grid{grid-template-columns:1.1fr .9fr}.event-cards{grid-template-columns:repeat(3,1fr)}}

.theme-stickers{position:absolute;inset:0;pointer-events:none;z-index:1}
.theme-stickers span{position:absolute;font-size:30px;opacity:.9;filter:drop-shadow(0 0 10px #000)}
.theme-stickers span:nth-child(1){top:10%;left:10%}
.theme-stickers span:nth-child(2){top:14%;right:12%}
.theme-stickers span:nth-child(3){bottom:18%;left:14%}

.invite .cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0006,#0008)}
.invite.theme-stranger-things .cover{background:#090b16 url('/assets/img/stranger/stranger-2.jpg') center/cover no-repeat}
.invite.theme-super-mario .cover{background:linear-gradient(180deg,#73bbff 0 45%,#5cc76e 45% 100%)}
.invite.theme-super-mario .overlay{background:radial-gradient(circle at 20% 20%,#fff7 0 20%,transparent 24%),radial-gradient(circle at 80% 18%,#fff7 0 20%,transparent 24%),linear-gradient(180deg,#ffffff22,#00000055)}
.invite.theme-spider-man .cover{background:linear-gradient(145deg,#08173d,#102a6f 45%,#670d1b)}
.invite.theme-spider-man .overlay{background:repeating-linear-gradient(135deg,#ffffff11 0 2px,transparent 2px 18px),linear-gradient(180deg,#0005,#0009)}
.invite.theme-minecraft .cover{background:linear-gradient(180deg,#7bd0ff 0 40%,#64a53f 40% 72%,#7d5c3c 72%)}
.invite.theme-barbie .cover{background:linear-gradient(145deg,#ff4fa8,#ff8ccc 40%,#ffd4ec)}
.invite.theme-pokemon .cover{background:linear-gradient(180deg,#ffdf36 0 52%,#2f58c8 52%)}
.invite.theme-frozen .cover{background:linear-gradient(160deg,#a6ecff,#d8f6ff 50%,#8fd7ff)}
.invite.theme-frozen .content,.invite.theme-frozen .foot{color:#0e3d59}
.invite.theme-harry-potter .cover{background:linear-gradient(145deg,#1a130e,#3a2819,#0d0d0d)}
.invite.theme-harry-potter .overlay{background:radial-gradient(circle at 20% 20%,#c8a36a33,transparent 30%),linear-gradient(180deg,#0007,#000b)}

.content{z-index:2}
.main{position:relative;z-index:2;background:linear-gradient(180deg,#0a0e23c2,#121a3ec2)}
.round{cursor:pointer}
.music-float{box-shadow:0 8px 30px #0008;cursor:pointer}

.scanlines{position:absolute;inset:0;opacity:.14;background:repeating-linear-gradient(180deg,#fff1 0 2px,transparent 2px 5px);mix-blend-mode:screen;animation:flicker 4s linear infinite}
@keyframes flicker{0%,100%{opacity:.10}50%{opacity:.18}}

.theme-panel{margin:12px 0 14px;padding:12px 14px;border-radius:14px;border:1px solid #fff3;background:#ffffff10;backdrop-filter:blur(3px);font-weight:600}
.theme-stickers span{animation:floaty 3.5s ease-in-out infinite}
.theme-stickers span:nth-child(2){animation-delay:.6s}.theme-stickers span:nth-child(3){animation-delay:1.2s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.invite.theme-stranger-things .content h1{font-family:Georgia,serif;letter-spacing:.04em;text-transform:uppercase}
.invite.theme-stranger-things .countdown b{box-shadow:0 0 18px #ff2a4f88;border-color:#ff2a4f}
.invite.theme-stranger-things .theme-panel{border-color:#ff2a4f66}

.invite.theme-super-mario .content h1{font-family:'Baloo 2',cursive;text-shadow:0 0 0,#000 3px 3px 0}
.invite.theme-super-mario .countdown b{background:#1d4cb3;border-color:#ffd84f;color:#fff}
.invite.theme-super-mario .theme-panel{background:#2f7df633;border-color:#ffd84f88}

.invite.theme-spider-man .content h1{letter-spacing:.03em}
.invite.theme-spider-man .countdown b{background:#0d214f;border-color:#ec3d4b}
.invite.theme-spider-man .theme-panel{border-color:#ec3d4b88}

.invite.theme-minecraft .content h1{letter-spacing:.04em;text-transform:uppercase}
.invite.theme-minecraft .event-cards div,.invite.theme-minecraft .countdown b{border-radius:4px}
.invite.theme-minecraft .theme-panel{border-radius:6px;border-color:#64a53f}

.invite.theme-barbie .content h1{font-style:italic}
.invite.theme-barbie .theme-panel{background:#ff4fa833;border-color:#fff7}
.invite.theme-barbie .countdown b{border-color:#ff4fa8}

.invite.theme-pokemon .content h1{text-transform:uppercase}
.invite.theme-pokemon .theme-panel{background:linear-gradient(90deg,#ffdf3644,#2f58c844);border-color:#ffdf36}
.invite.theme-pokemon .countdown b{border-color:#2f58c8;color:#ffdf36}

.invite.theme-frozen .theme-panel{background:#ffffffa6;border-color:#8fd7ff;color:#0e3d59}
.invite.theme-frozen .countdown b{background:#eaf9ff;color:#0e3d59;border-color:#8fd7ff}

.invite.theme-harry-potter .content h1{font-family:Georgia,serif;letter-spacing:.03em}
.invite.theme-harry-potter .theme-panel{background:#2f1d1266;border-color:#c8a36a;color:#f0ddbb}
.invite.theme-harry-potter .countdown b{background:#1a130e;border-color:#c8a36a;color:#f0ddbb}

/* Mario scene */
.mario-scene{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.mario-scene .ground{position:absolute;left:0;right:0;bottom:0;height:16%;background:repeating-linear-gradient(90deg,#8b4b1f 0 24px,#9f5a2a 24px 48px);border-top:6px solid #6e3815}
.mario-scene .pipe{position:absolute;bottom:12%;width:72px;height:120px;background:#2db94d;border:5px solid #1f7f35;border-radius:10px 10px 0 0;box-shadow:inset -8px 0 0 #43d665}
.mario-scene .pipe::before{content:'';position:absolute;top:-20px;left:-10px;width:88px;height:24px;background:#36c958;border:5px solid #1f7f35;border-radius:8px}
.mario-scene .p1{left:6%}.mario-scene .p2{right:8%;height:95px}
.mario-scene .block{position:absolute;top:30%;width:52px;height:52px;background:#f2a62e;border:4px solid #b96d00;display:grid;place-items:center;color:#fff;font:900 24px/1 'Baloo 2'}
.mario-scene .b1{left:33%}.mario-scene .b2{left:48%}
.mario-scene .coin{position:absolute;top:18%;width:28px;height:28px;border-radius:50%;background:#ffd84f;border:4px solid #c98a00;box-shadow:0 0 14px #ffd84f99;animation:coinPop 1.4s ease-in-out infinite}
.mario-scene .coin1{left:30%}.mario-scene .coin2{left:45%;animation-delay:.25s}.mario-scene .coin3{left:60%;animation-delay:.5s}
.mario-scene .cloud{position:absolute;top:12%;width:76px;height:34px;background:#fff;border-radius:30px;opacity:.95}
.mario-scene .cloud::before,.mario-scene .cloud::after{content:'';position:absolute;background:#fff;border-radius:50%}
.mario-scene .cloud::before{width:28px;height:28px;left:8px;top:-12px}.mario-scene .cloud::after{width:34px;height:34px;right:10px;top:-14px}
.mario-scene .c1{left:10%}.mario-scene .c2{right:12%;top:18%}
@keyframes coinPop{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.invite.theme-super-mario .content h1{color:#fff;text-shadow:0 2px 0 #193f96,0 0 28px #ffcf47}
.invite.theme-super-mario .content h2{color:#ffe05c}

/* Spider-Man scene */
.spidey-scene,.pokemon-scene,.frozen-scene,.potter-scene{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.spidey-scene .web{position:absolute;width:160px;height:160px;border-radius:50%;border:2px solid #ffffff66;opacity:.75}
.spidey-scene .web::before,.spidey-scene .web::after{content:'';position:absolute;inset:20px;border-radius:50%;border:2px solid #ffffff55}
.spidey-scene .w1{top:-40px;left:-50px}.spidey-scene .w2{top:-30px;right:-50px}.spidey-scene .w3{bottom:20%;right:8%;width:90px;height:90px}
.spidey-scene .city{position:absolute;left:0;right:0;bottom:0;height:24%;background:repeating-linear-gradient(90deg,#0f1b45 0 32px,#12235e 32px 54px)}

/* Pokemon scene */
.pokemon-scene .ball{position:absolute;width:50px;height:50px;border-radius:50%;border:3px solid #222;background:linear-gradient(#ef3a3a 0 50%,#fff 50%);box-shadow:0 0 14px #0006;animation:bounceBall 2s ease-in-out infinite}
.pokemon-scene .ball::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #222}
.pokemon-scene .b1{left:14%;top:24%}.pokemon-scene .b2{right:14%;top:32%;animation-delay:.7s}
.pokemon-scene .bolt{position:absolute;font-size:34px;color:#ffe34d;text-shadow:0 0 10px #ffea8a;animation:flash 1.3s steps(2) infinite}
.pokemon-scene .l1{left:40%;top:22%}.pokemon-scene .l2{left:58%;top:34%;animation-delay:.4s}
@keyframes bounceBall{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes flash{0%,49%{opacity:.35}50%,100%{opacity:1}}

/* Frozen scene */
.frozen-scene .flake{position:absolute;color:#fff;font-size:30px;opacity:.85;animation:snow 6s linear infinite}
.frozen-scene .f1{left:12%;top:-10%;animation-delay:0s}.frozen-scene .f2{left:35%;top:-18%;animation-delay:1.2s}.frozen-scene .f3{left:62%;top:-12%;animation-delay:2.1s}.frozen-scene .f4{left:82%;top:-20%;animation-delay:3.2s}
@keyframes snow{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(120vh) rotate(240deg)}}

/* Harry Potter scene */
.potter-scene .spark{position:absolute;color:#f2d6a2;font-size:24px;opacity:.8;animation:sparkle 2.4s ease-in-out infinite}
.potter-scene .s1{left:16%;top:18%}.potter-scene .s2{left:34%;top:30%;animation-delay:.5s}.potter-scene .s3{right:22%;top:22%;animation-delay:1s}.potter-scene .s4{right:12%;top:36%;animation-delay:1.4s}
@keyframes sparkle{0%,100%{opacity:.2;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}

.invite.theme-spider-man .content h1{color:#ffecf0;text-shadow:0 0 22px #ec3d4b}
.invite.theme-pokemon .content h1{color:#fff;text-shadow:0 0 18px #2f58c8,0 0 28px #ffdf36}
.invite.theme-frozen .content h1{text-shadow:0 0 24px #7fd8ff}
.invite.theme-harry-potter .content h1{text-shadow:0 0 18px #c8a36a}

/* Fullscreen gate mode */
body.invite-mode{overflow:hidden;height:100dvh}
.invite{height:100dvh;min-height:100dvh;position:relative;overflow:hidden}
.invite .cover,.invite .main{position:absolute;inset:0}
.invite .main{display:grid;grid-template-rows:auto auto auto auto auto 1fr auto;gap:8px;padding:10px 10px 70px;overflow:hidden;opacity:0;transform:translateY(20px);pointer-events:none;transition:.35s ease;inset:auto 0 0 0;height:52dvh;border-radius:18px 18px 0 0;background:linear-gradient(180deg,#0a0e23d6,#121a3ee0);backdrop-filter:blur(4px)}
.invite.started .main{opacity:1;transform:none;pointer-events:auto}
.invite.started .cover{opacity:1;pointer-events:none}
.invite:not(.started) .content{display:grid;place-items:center;min-height:100dvh}
.invite:not(.started) .content .tiny,
.invite:not(.started) .content h1,
.invite:not(.started) .content h2,
.invite:not(.started) .content p{display:none}
.invite:not(.started) .round{width:88px;height:88px;font-size:32px}

.invite .event-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.invite .event-cards div{padding:9px;font-size:12px}
.invite .theme-panel{margin:0;padding:9px 10px;font-size:13px}
.invite .countdown{margin:0;gap:6px}
.invite .countdown b{height:52px;font-size:22px}
.invite .actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.invite .actions .btn{padding:9px 8px;font-size:12px;text-align:center;border-radius:11px}
.invite .gallery{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-content:stretch}
.invite .gallery img{height:100%;min-height:64px;max-height:12dvh}
.invite .foot{margin:2px 0 0;font-size:12px}

@media (max-width:420px){
  .invite .actions .btn{font-size:11px;padding:8px 6px}
  .invite .event-cards div{font-size:11px}
  .invite .theme-panel{font-size:12px}
  .invite .countdown b{height:48px;font-size:20px}
}

.media-strip video{width:100%;height:100%;min-height:78px;max-height:18dvh;object-fit:cover;border-radius:10px}

.invite.started .content{opacity:1;pointer-events:none}

/* Readability + mini-map tweaks */
.content{max-width:680px;margin:0 auto;padding:20px 16px;border-radius:18px;background:linear-gradient(180deg,#0000004f,#0000002d);backdrop-filter:blur(3px)}
.content .tiny{font-weight:700;letter-spacing:.02em;color:#ffe9f2}
.content h1{line-height:1.02}
.content h2{font-weight:800;color:#fff6c4}
.content p{font-size:16px;line-height:1.4;color:#f4f6ff;text-shadow:0 1px 2px #000}

.mini-map-wrap{border:1px solid #ffffff3a;border-radius:12px;overflow:hidden;background:#0f1431a8}
.mini-map-head{padding:8px 10px;font-weight:700;font-size:13px;background:#ffffff1f;border-bottom:1px solid #ffffff2f}
.mini-map{display:block;width:100%;height:120px;border:0}

@media (max-width:420px){
  .content{max-width:92vw;padding:16px 12px}
  .content h1{font-size:44px}
  .content h2{font-size:28px}
  .content p{font-size:14px}
  .mini-map{height:104px}
}


/* Fix readability over panel */
.invite .cover{z-index:40}
.invite .content{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:30;width:min(92vw,760px);background:linear-gradient(180deg,#0b1229d0,#0b122980);border:1px solid #ffffff38;box-shadow:0 14px 44px #0008}
.invite .content h1{color:#ffffff !important;text-shadow:0 2px 0 #1c2f73,0 0 22px #000,0 0 34px #ffd84f;font-size:clamp(56px,14vw,118px)}
.invite .content h2{color:#fff2a8 !important;text-shadow:0 0 12px #000}
.invite .content p,.invite .content .tiny{color:#ffffff !important;text-shadow:0 1px 4px #000}
.invite .main{z-index:30}
.invite.started .main{opacity:1;transform:none}
.invite.started .content{opacity:1;pointer-events:none}

@media (max-width:640px){
  .invite .content{top:34%;padding:14px 12px}
  .invite .content h1{font-size:clamp(44px,12vw,72px)}
  .invite .main{height:56dvh}
}

/* --- Final stable invite layering fix --- */
.invite{position:relative !important;overflow:hidden !important}
.invite .cover{z-index:5 !important;opacity:1 !important}
.invite .main{
  z-index:20 !important;
  height:68dvh !important;
  inset:auto 0 0 0 !important;
  border-radius:18px 18px 0 0 !important;
  background:linear-gradient(180deg,#0a0e23d9,#121a3ee8) !important;
  opacity:0;
  transform:translateY(24px);
  pointer-events:none;
}
.invite.started .main{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}

/* Hero text card: no ugly blue, cleaner glass */
.invite .content{
  z-index:40 !important;
  position:absolute !important;
  left:50% !important;
  top:36% !important;
  transform:translate(-50%,-50%) !important;
  width:min(92vw,760px) !important;
  background:linear-gradient(180deg,#10182d88,#10182d52) !important;
  border:1px solid #ffffff3d !important;
  box-shadow:0 12px 34px #0007 !important;
  border-radius:16px !important;
}
.invite.started .content{
  top:10% !important;
  transform:translate(-50%,0) scale(.82) !important;
  opacity:1 !important;
  pointer-events:none !important;
}
.invite .content h1{color:#fff !important;text-shadow:0 2px 0 #1c2f73,0 0 26px #000,0 0 34px #ffd84f !important}
.invite .content h2{color:#fff2a8 !important}
.invite .content p,.invite .content .tiny{color:#fff !important}

@media (max-width:640px){
  .invite .content{top:32% !important;padding:12px !important}
  .invite.started .content{top:7% !important;transform:translate(-50%,0) scale(.78) !important}
  .invite .main{height:72dvh !important}
}

/* --- No blue box + unified flow layout --- */
.invite .content{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  width:min(94vw,840px) !important;
  top:18% !important;
  transform:translate(-50%,0) !important;
  padding:8px 10px !important;
}
.invite .content h1,.invite .content h2,.invite .content p,.invite .content .tiny{
  text-align:center !important;
}

.invite .main{
  inset:40dvh 0 0 0 !important;
  height:auto !important;
  border-radius:20px 20px 0 0 !important;
  background:linear-gradient(180deg,#0a0e23eb,#121a3ef2) !important;
}
.invite.started .content{
  top:6% !important;
  transform:translate(-50%,0) !important;
  opacity:1 !important;
}

/* avoid overlap by reserving more top space in panel */
.invite .main .event-cards{margin-top:4px}

@media (max-width:640px){
  .invite .content{top:12% !important;width:94vw !important}
  .invite .content h1{font-size:clamp(38px,11vw,62px) !important}
  .invite .content h2{font-size:clamp(22px,7vw,34px) !important}
  .invite .main{inset:36dvh 0 0 0 !important}
  .invite.started .content{top:3% !important}
}
