*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, sans-serif;
}

body{
background:#050505;
color:white;
min-height:100vh;
padding:20px;
overflow-x:hidden;
}

.bg-animation{
position:fixed;
inset:0;
background:
radial-gradient(circle at top,#001dff33,transparent),
radial-gradient(circle at bottom,#ffd00022,transparent);
z-index:-1;
}

.logo{
display:flex;
align-items:center;
gap:15px;
justify-content:center;
margin-bottom:20px;
}

.eye-ring{
width:60px;
height:60px;
border-radius:50%;
border:5px solid;
border-color:
blue
yellow
red
green;
animation:spin 1.5s linear infinite;
}

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

header{
text-align:center;
margin-bottom:30px;
}

.hero-text{
font-size:24px;
font-weight:bold;
line-height:1.4;
}

.generator-card,
.activity-card,
.video-section{
background:rgba(255,255,255,.05);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.1);
border-radius:20px;
padding:20px;
margin-bottom:20px;
}

textarea{
width:100%;
height:150px;
background:#111;
border:none;
color:white;
padding:15px;
border-radius:15px;
margin-top:15px;
}

.options{
display:flex;
flex-wrap:wrap;
gap:20px;
margin-top:20px;
}

.option-group{
flex:1;
min-width:200px;
}

.option-group label{
display:block;
margin-top:10px;
}

.price-card{
margin-top:20px;
padding:20px;
text-align:center;
background:#111;
border-radius:15px;
}

#price{
font-size:42px;
color:gold;
}

button{
width:100%;
padding:18px;
margin-top:20px;
border:none;
border-radius:15px;
font-size:20px;
font-weight:bold;
cursor:pointer;
background:linear-gradient(
90deg,
blue,
gold,
red,
green
);
background-size:400%;
animation:glow 4s linear infinite;
}

@keyframes glow{
0%{background-position:0%;}
100%{background-position:400%;}
}

.eye-mascot{
width:100px;
height:100px;
margin:auto;
border-radius:50%;
border:5px solid gold;
position:relative;
}

.eye-mascot::after{
content:"";
width:25px;
height:25px;
background:gold;
border-radius:50%;
position:absolute;
top:32px;
left:32px;
}

.idle{
animation:pulse 2s infinite;
}

.working{
animation:spin 1s linear infinite;
}

.success{
box-shadow:0 0 25px lime;
}

@keyframes pulse{
50%{
transform:scale(1.08);
}
}

video{
width:100%;
border-radius:15px;
}

.video-result {
    display: none;

    margin-top: 30px;

    background: rgba(255,255,255,0.05);

    backdrop-filter: blur(10px);

    border-radius: 20px;

    padding: 20px;
}

.video-header {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    color: gold;
    margin-bottom: 20px;
}

#generatedVideo {
    width: 100%;
    border-radius: 15px;
}

.video-actions {
    margin-top: 20px;
    text-align: center;
}

.download-btn {
    display: inline-block;

    padding: 12px 24px;

    background: gold;

    color: black;

    border-radius: 10px;

    text-decoration: none;

    font-weight: bold;
}

.demo-modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.75);
  backdrop-filter:blur(4px);
  z-index:1000;
  align-items:center;
  justify-content:center;
}
.demo-modal-overlay.show{
  display:flex;
}
.demo-modal-box{
  position:relative;
  width:100%;
  max-width:520px;
  height:90vh;
  max-height:650px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
}
.demo-modal-iframe{
  width:100%;
  height:100%;
  border:none;
  background:#050505;
}
.demo-modal-close{
  position:absolute;
  top:10px;
  right:14px;
  background:none;
  border:none;
  color:white;
  font-size:28px;
  cursor:pointer;
  z-index:1001;
  line-height:1;
}
