html{scroll-behavior:smooth}

:root{
  --glow-primary:rgba(255,255,255,0.12);
  --glow-accent:rgba(94,234,212,0.35);
  --card-bg:rgba(5,5,15,0.75);
  --card-border:rgba(255,255,255,0.08);
  --blur-large:60px;
}

body{
  font-feature-settings:"ss01" 1,"ss02" 1;
  background-color:#000;
}

.glow-panel{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  box-shadow:0 30px 80px rgba(0,0,0,0.45),0 0 50px var(--glow-primary);
  backdrop-filter:blur(30px);
}

.soft-tilt{
  transform-style:preserve-3d;
  transition:transform .8s cubic-bezier(.19,1,.22,1),box-shadow .4s ease;
}

.soft-tilt:hover{
  transform:translateY(-8px) rotateX(3deg) rotateY(-2deg);
  box-shadow:0 25px 45px rgba(15,23,42,.35);
}

.gradient-border{
  position:relative;
  border-radius:24px;
  overflow:hidden;
}

.gradient-border::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(120deg,rgba(45,212,191,.6),rgba(249,115,22,.5),rgba(217,70,239,.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:destination-out;
  mask-composite:exclude;
}

.floating-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(var(--blur-large));
  opacity:.5;
  animation:orbital 18s ease-in-out infinite;
}

@keyframes orbital{
  0%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(-15%,10%,0) scale(1.1);}
  100%{transform:translate3d(0,0,0) scale(1);}
}

.reveal-on-scroll{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);
}

.reveal-on-scroll.is-visible{
  opacity:1;
  transform:translateY(0);
}

.pulse-link{
  position:relative;
}

.pulse-link::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  box-shadow:0 0 25px rgba(248,113,113,.3);
  opacity:0;
  transition:opacity .4s ease;
}

.pulse-link:hover::after{
  opacity:1;
}

.clamped-text{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.line-clamp-1{
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.admin-form label{
  display:block;
  margin-bottom:.35rem;
  font-size:.85rem;
  color:rgba(255,255,255,.75);
}

.admin-form input,
.admin-form textarea{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(15,23,42,.5);
  padding:.85rem 1rem;
  color:#fff;
  transition:border-color .3s ease,box-shadow .3s ease;
}

.admin-form input:focus,
.admin-form textarea:focus{
  outline:none;
  border-color:rgba(45,212,191,.7);
  box-shadow:0 0 0 3px rgba(45,212,191,.2);
}

.admin-grid{
  display:grid;
  gap:1.5rem;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal-on-scroll{
    opacity:1 !important;
    transform:none !important;
  }
}