*{box-sizing:border-box}

body{
  margin:0;
  font-family:"Segoe UI",Arial,sans-serif;
  color:#111827;
  min-height:100vh;
  background:
    radial-gradient(circle at top left,#ffe4f3 0,#fff7ed 28%,transparent 45%),
    radial-gradient(circle at top right,#dbeafe 0,#ecfeff 30%,transparent 48%),
    linear-gradient(135deg,#fff7ed,#f8fafc,#ecfeff);
}

.authPage{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
}

.authBox{
  width:430px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(25px);
  padding:40px;
  border-radius:30px;
  box-shadow:0 20px 60px rgba(0,0,0,.16);
}

.authBox h1,.logo{
  background:linear-gradient(90deg,#7c3aed,#ec4899,#f97316);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.authBox input{
  width:100%;
  padding:14px;
  margin:10px 0;
  border:1px solid #e9d5ff;
  border-radius:14px;
}

.authBox button,.priceCard button,.generateBtn,.bigBtn{
  border:0;
  border-radius:18px;
  padding:15px;
  background:linear-gradient(90deg,#7c3aed,#ec4899,#f97316);
  color:white;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(236,72,153,.25);
  text-decoration:none;
  display:inline-block;
}

.authBox button,.priceCard button,.generateBtn{
  width:100%;
}

.error{
  background:#ffe6e6;
  padding:12px;
  border-radius:12px;
  color:#dc2626;
  font-weight:700;
}

.success{
  background:#e7ffe6;
  padding:12px;
  border-radius:12px;
  color:#166534;
  font-weight:700;
}

.resetLink{
  font-size:12px;
  word-break:break-all;
  background:#f8fafc;
  padding:10px;
  border-radius:10px;
}

.topbar{
  min-height:82px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 32px;
  box-shadow:0 12px 34px rgba(124,58,237,.12);
}

.logo{
  font-size:32px;
  font-weight:950;
}

.tagline{
  color:#64748b;
  font-weight:700;
}

.topLink{
  display:inline-block;
  margin-left:12px;
  text-decoration:none;
  background:linear-gradient(90deg,#14b8a6,#7c3aed);
  color:white;
  padding:12px 18px;
  border-radius:14px;
  font-weight:900;
}

.noticeBox{
  max-width:650px;
  margin:80px auto;
  background:rgba(255,255,255,.92);
  padding:40px;
  border-radius:30px;
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.16);
}

.noticeBox h2{
  color:#7c3aed;
  font-size:36px;
}

.layout{
  display:grid;
  grid-template-columns:345px 1fr 405px;
  gap:24px;
  padding:24px;
  height:calc(100vh - 82px);
}

.sidebar,.main,.preview{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.9);
  border-radius:30px;
  padding:24px;
  box-shadow:0 18px 45px rgba(15,23,42,.10);
  overflow-y:auto;
}

.sidebar h2,.main h2,.preview h2,h3{
  color:#6d28d9;
}

.label{
  font-weight:900;
  color:#334155;
}

input[type="file"]{
  width:100%;
  padding:13px;
  background:#fff7ed;
  border:2px dashed #fb923c;
  border-radius:16px;
  margin-top:8px;
}

.optionGroup{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.option{
  background:#ffffff;
  border:1.5px solid #e9d5ff;
  color:#334155;
  padding:11px 15px;
  border-radius:14px;
  font-weight:850;
  cursor:pointer;
}

.option.active{
  background:linear-gradient(90deg,#14b8a6,#7c3aed);
  color:white;
  border-color:transparent;
}

.mainHead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

#selectedStyleName{
  background:linear-gradient(90deg,#fef3c7,#fed7aa);
  color:#9a3412;
  padding:10px 18px;
  border-radius:999px;
  font-weight:950;
  border:1px solid #fdba74;
}

.styleGrid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(165px,1fr));
  gap:18px;
}

.styleItem{
  background:linear-gradient(180deg,#fff,#fff7ed);
  border:1.5px solid #fde68a;
  border-radius:24px;
  padding:14px;
  text-align:center;
  cursor:pointer;
  transition:.25s;
  box-shadow:0 8px 20px rgba(249,115,22,.10);
}

.styleItem:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(236,72,153,.18);
}

.styleItem.active{
  border:3px solid #7c3aed;
  background:linear-gradient(180deg,#f5f3ff,#fff);
}

.styleItem img{
  width:145px;
  height:145px;
  object-fit:contain;
  background:white;
  border-radius:18px;
}

.styleItem span{
  display:block;
  margin-top:10px;
  font-weight:950;
}

.preview{
  text-align:center;
}

.preview img{
  width:100%;
  max-height:300px;
  object-fit:contain;
  background:white;
  border:1.5px solid #e9d5ff;
  border-radius:22px;
  margin-bottom:20px;
}

.summaryBox{
  margin-top:22px;
  padding:16px;
  background:linear-gradient(135deg,#ecfeff,#f5f3ff);
  border-left:6px solid #14b8a6;
  border-radius:20px;
}

#status{
  color:#7c3aed;
  font-size:20px;
  font-weight:950;
  text-align:center;
  margin:22px;
}

#download{
  display:none;
  background:linear-gradient(90deg,#14b8a6,#7c3aed,#ec4899);
  color:white;
  padding:14px 26px;
  border-radius:16px;
  text-decoration:none;
  font-weight:950;
}

#loadingPopup{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.70);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:999999;
  backdrop-filter:blur(9px);
}

.popupCard{
  width:430px;
  padding:38px;
  border-radius:32px;
  background:white;
  text-align:center;
  box-shadow:0 35px 80px rgba(0,0,0,.25);
}

.spinner{
  width:76px;
  height:76px;
  margin:auto;
  border-radius:50%;
  border:7px solid #fde68a;
  border-top:7px solid #ec4899;
  border-right:7px solid #7c3aed;
  animation:spin 1s linear infinite;
}

@keyframes spin{
  to{transform:rotate(360deg)}
}

.pricingWrap{
  padding:35px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:24px;
}

.priceCard{
  background:white;
  padding:28px;
  border-radius:28px;
  box-shadow:0 20px 55px rgba(0,0,0,.12);
  text-align:center;
}

.policyBox{
  max-width:850px;
  margin:40px auto;
  background:rgba(255,255,255,.92);
  padding:35px;
  border-radius:30px;
  line-height:1.8;
  box-shadow:0 20px 60px rgba(0,0,0,.14);
}

footer{
  text-align:center;
  padding:22px;
  font-weight:700;
}

@media(max-width:1200px){
  .layout{grid-template-columns:1fr;height:auto}
  .topbar{display:block}
  .topLink{margin-top:10px}
}

.heroBox{
  max-width:1100px;
  margin:55px auto 25px;
  padding:55px;
  border-radius:36px;
  background:rgba(255,255,255,.92);
  box-shadow:0 25px 70px rgba(0,0,0,.14);
  text-align:center;
}

.heroBox h1{
  font-size:46px;
  line-height:1.15;
  background:linear-gradient(90deg,#7c3aed,#ec4899,#f97316);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.heroBox p{
  font-size:20px;
  color:#475569;
  max-width:850px;
  margin:20px auto;
  line-height:1.7;
}

.heroButtons{
  margin-top:30px;
}

.secondaryBtn{
  background:linear-gradient(90deg,#14b8a6,#7c3aed) !important;
  margin-left:12px;
}
.lazy-video{

position:relative;

max-width:900px;

margin:30px auto;

aspect-ratio:16/9;

border-radius:24px;

overflow:hidden;

cursor:pointer;

background:#000;

box-shadow:

0 20px 55px rgba(0,0,0,.15);

background-image:

url('https://i.ytimg.com/vi/eWqLb8FrkFY/maxresdefault.jpg');

background-size:cover;

background-position:center;

}

.video-play{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

width:90px;

height:90px;

border:none;

border-radius:50%;

background:

rgba(255,255,255,.9);

font-size:34px;

cursor:pointer;

color:#ff0000;

transition:.3s;

}

.video-play:hover{

transform:

translate(-50%,-50%)

scale(1.08);

}

.lazy-video iframe{

width:100%;

height:100%;

border:0;

position:absolute;

top:0;

left:0;

}
.video-section{

padding:60px 20px;

}

.video-box{

max-width:950px;

margin:auto;

background:white;

padding:40px;

border-radius:30px;

box-shadow:

0 20px 60px rgba(0,0,0,.12);

text-align:center;

}

.video-box h2{

font-size:42px;

margin-bottom:15px;

color:#111827;

}

.video-box p{

font-size:18px;

margin-bottom:30px;

color:#64748b;

}

.youtube-lite{

position:relative;

cursor:pointer;

overflow:hidden;

border-radius:20px;

aspect-ratio:16/9;

box-shadow:

0 15px 40px rgba(0,0,0,.15);

}

.youtube-lite img{

width:100%;

display:block;

height:100%;

object-fit:cover;

}

.play-button{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

width:90px;

height:90px;

border-radius:50%;

background:rgba(255,255,255,.92);

display:flex;

align-items:center;

justify-content:center;

font-size:36px;

color:red;

box-shadow:

0 10px 30px rgba(0,0,0,.20);

transition:.3s;

}

.play-button:hover{

transform:

translate(-50%,-50%)

scale(1.08);

}

.youtube-lite iframe{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

border:0;

}.planBadge {
  display: inline-block;
  background: #d7fbe4;
  color: #005c3b;
  font-weight: 800;
  padding: 12px 24px;
  border-radius: 999px;
  margin-bottom: 20px;
}

.planPrice {
  color: #16a34a;
  font-size: 48px;
  margin: 16px 0;
}

.featureList {
  list-style: none;
  padding: 0;
  margin: 28px 0;
  text-align: left;
  font-size: 20px;
  line-height: 1.8;
}