:root{
  --brand:#06b6d4;
  --brand2:#67e8f9;
  --accent:#22c55e;
  --bg:#020617;
  --panel:rgba(15,23,42,.72);
  --panel2:rgba(8,18,34,.86);
  --text:#eaf7ff;
  --muted:#9fb7cf;
  --line:rgba(103,232,249,.18);
  --green:#30e07a;
  --red:#ff5570;
  --yellow:#ffd166;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at 12% 8%,rgba(6,182,212,.30),transparent 26%),
    radial-gradient(circle at 82% 18%,rgba(103,232,249,.15),transparent 25%),
    radial-gradient(circle at 50% 100%,rgba(34,197,94,.12),transparent 34%),
    linear-gradient(180deg,#020617,#061426 55%,#020617);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(103,232,249,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(103,232,249,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.16));
  z-index:-2;
}

body:after{
  content:"";
  position:fixed;
  inset:-40%;
  background:
    conic-gradient(from 180deg,transparent,rgba(6,182,212,.10),transparent,rgba(34,197,94,.08),transparent);
  animation:auroraMove 18s linear infinite;
  pointer-events:none;
  z-index:-3;
}

@keyframes auroraMove{
  from{transform:rotate(0deg) scale(1)}
  to{transform:rotate(360deg) scale(1.08)}
}

a{
  color:inherit;
  text-decoration:none;
}

.container{
  width:min(1160px,94%);
  margin:auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(2,6,23,.78);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(103,232,249,.16);
  box-shadow:0 12px 40px rgba(0,0,0,.28),0 0 28px rgba(6,182,212,.10);
}

.nav-wrap{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:900;
}

.brand-logo-img{
  height:48px;
  max-width:190px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 14px rgba(103,232,249,.52));
}

.brand-text{
  font-size:22px;
  font-weight:950;
  letter-spacing:-.04em;
}

.btn-header,
.btn-primary{
  border:1px solid rgba(103,232,249,.55);
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#03111c;
  box-shadow:
    0 0 18px rgba(6,182,212,.38),
    0 0 48px rgba(6,182,212,.16),
    inset 0 0 14px rgba(255,255,255,.18);
  transition:.25s ease;
}

.btn-header{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:108px;
  padding:12px 20px;
  border-radius:999px;
  font-weight:950;
}

.btn-header:hover,
.btn-primary:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
  box-shadow:
    0 0 28px rgba(103,232,249,.60),
    0 0 78px rgba(6,182,212,.24),
    inset 0 0 16px rgba(255,255,255,.20);
}

.page-shell{
  padding:28px 0 46px;
}

.hero-card,
.rules-card,
.panel-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(103,232,249,.22);
  background:linear-gradient(180deg,rgba(15,23,42,.72),rgba(8,18,34,.88));
  border-radius:28px;
  box-shadow:
    0 0 0 1px rgba(103,232,249,.035),
    0 0 30px rgba(6,182,212,.13),
    0 24px 90px rgba(0,0,0,.42);
  isolation:isolate;
}

.hero-card{
  animation:cardFloat 7s ease-in-out infinite;
}

.rules-card,
.panel-card{
  margin-top:22px;
  padding:25px;
}

.hero-card:before,
.rules-card:before,
.panel-card:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    linear-gradient(120deg,transparent 18%,rgba(103,232,249,.16),transparent 46%),
    radial-gradient(circle at top right,rgba(6,182,212,.18),transparent 36%),
    radial-gradient(circle at bottom left,rgba(34,197,94,.10),transparent 34%);
  opacity:.95;
  pointer-events:none;
  z-index:-1;
}

.hero-card:after,
.rules-card:after,
.panel-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.07) 42%,transparent 58%);
  transform:translateX(-140%);
  animation:cardShine 7s ease-in-out infinite;
  pointer-events:none;
  z-index:0;
}

@keyframes cardFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

@keyframes cardShine{
  0%{transform:translateX(-140%)}
  45%{transform:translateX(140%)}
  100%{transform:translateX(140%)}
}

.hero-card > *,
.rules-card > *,
.panel-card > *{
  position:relative;
  z-index:1;
}

.banner-img{
  width:100%;
  display:block;
  object-fit:cover;
  filter:saturate(1.08) contrast(1.04);
}

.section-head{
  margin-bottom:19px;
}

.section-head h2{
  margin:0;
  font-size:26px;
  letter-spacing:-.045em;
  color:#f8fdff;
  text-shadow:0 0 16px rgba(103,232,249,.42);
}

.section-head p{
  margin:8px 0 0;
  color:#acd7e7;
  font-size:14px;
  line-height:1.55;
}

.rules-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:13px;
}

.rule-item{
  position:relative;
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:15px;
  border-radius:20px;
  border:1px solid rgba(103,232,249,.18);
  background:linear-gradient(180deg,rgba(3,10,22,.58),rgba(4,13,25,.44));
  box-shadow:inset 0 0 18px rgba(6,182,212,.04),0 0 18px rgba(6,182,212,.05);
  transition:.25s ease;
  animation:itemRise .55s ease both;
}

.rule-item:nth-child(1){animation-delay:.03s}
.rule-item:nth-child(2){animation-delay:.06s}
.rule-item:nth-child(3){animation-delay:.09s}
.rule-item:nth-child(4){animation-delay:.12s}
.rule-item:nth-child(5){animation-delay:.15s}
.rule-item:nth-child(6){animation-delay:.18s}
.rule-item:nth-child(7){animation-delay:.21s}
.rule-item:nth-child(8){animation-delay:.24s}
.rule-item:nth-child(9){animation-delay:.27s}
.rule-item:nth-child(10){animation-delay:.30s}

@keyframes itemRise{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

.rule-item:hover{
  transform:translateY(-3px);
  border-color:rgba(103,232,249,.48);
  box-shadow:0 0 28px rgba(6,182,212,.16),inset 0 0 20px rgba(6,182,212,.05);
}

.rule-number{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#03111c;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  box-shadow:0 0 18px rgba(103,232,249,.40);
  font-weight:950;
  font-size:13px;
}

.rule-text{
  color:#d9eff7;
  font-size:14px;
  line-height:1.6;
}

.rule-text a{
  color:#67e8f9;
  font-weight:950;
  border-bottom:1px dashed rgba(103,232,249,.65);
  text-shadow:0 0 10px rgba(103,232,249,.55);
}

.rule-text a:hover{
  color:#fff;
  border-bottom-color:#fff;
}

.main-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:22px;
  align-items:start;
}

.claim-form{
  display:grid;
  gap:16px;
}

.form-group label{
  display:block;
  margin-bottom:8px;
  color:#dff8ff;
  font-weight:850;
  font-size:13px;
  text-shadow:0 0 9px rgba(103,232,249,.35);
}

.form-group input{
  width:100%;
  border:1px solid rgba(103,232,249,.24);
  background:rgba(2,8,18,.82);
  color:#fff;
  border-radius:18px;
  padding:15px;
  outline:none;
  font-size:15px;
  box-shadow:inset 0 0 18px rgba(6,182,212,.04),0 0 18px rgba(6,182,212,.045);
  transition:.22s ease;
}

.form-group input:focus{
  border-color:#67e8f9;
  box-shadow:0 0 0 4px rgba(6,182,212,.14),0 0 24px rgba(6,182,212,.22);
}

.form-help{
  display:block;
  margin-top:8px;
  color:#95b8c9;
  font-size:12px;
  line-height:1.5;
}

.btn-primary{
  width:100%;
  border-radius:18px;
  border:0;
  cursor:pointer;
  padding:16px 18px;
  font-size:15px;
  font-weight:950;
}

.notice{
  margin-bottom:16px;
  border-radius:18px;
  padding:14px;
  font-size:14px;
  line-height:1.5;
}

.notice-ok{
  color:#dcfce7;
  background:rgba(22,101,52,.25);
  border:1px solid rgba(48,224,122,.35);
  box-shadow:0 0 20px rgba(48,224,122,.12);
}

.notice-err{
  color:#ffe1e7;
  background:rgba(127,29,29,.25);
  border:1px solid rgba(255,85,112,.35);
  box-shadow:0 0 20px rgba(255,85,112,.12);
}

.claim-code{
  color:var(--green);
  font-weight:950;
  letter-spacing:.08em;
}

.history-list{
  display:grid;
  gap:13px;
}

.history-item{
  position:relative;
  border:1px solid rgba(103,232,249,.16);
  background:linear-gradient(180deg,rgba(3,10,22,.58),rgba(8,18,34,.48));
  border-radius:22px;
  padding:16px;
  box-shadow:inset 0 0 18px rgba(6,182,212,.04),0 0 18px rgba(6,182,212,.05);
  transition:.25s ease;
  animation:itemRise .55s ease both;
}

.history-item:hover{
  transform:translateY(-3px);
  border-color:rgba(103,232,249,.42);
  box-shadow:0 0 28px rgba(6,182,212,.14),inset 0 0 20px rgba(6,182,212,.04);
}

.history-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}

.history-user{
  font-weight:950;
  color:#f5fbff;
  font-size:14px;
}

.status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:7px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.04em;
  box-shadow:0 0 16px rgba(103,232,249,.12);
}

.status-confirmed{
  color:#dcfce7;
  background:rgba(48,224,122,.14);
  border:1px solid rgba(48,224,122,.35);
  box-shadow:0 0 18px rgba(48,224,122,.18);
}

.status-rejected{
  color:#ffe1e7;
  background:rgba(255,85,112,.13);
  border:1px solid rgba(255,85,112,.35);
  box-shadow:0 0 18px rgba(255,85,112,.18);
}

.status-pending{
  color:#fff4d1;
  background:rgba(255,209,102,.13);
  border:1px solid rgba(255,209,102,.35);
  box-shadow:0 0 18px rgba(255,209,102,.18);
}

.status-checking{
  color:#dff8ff;
  background:rgba(6,182,212,.13);
  border:1px solid rgba(6,182,212,.35);
  box-shadow:0 0 18px rgba(6,182,212,.22);
}

.history-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.history-info-box{
  border:1px solid rgba(103,232,249,.12);
  background:rgba(13,27,47,.55);
  border-radius:16px;
  padding:11px;
}

.history-info-box span{
  display:block;
  color:#95b8c9;
  font-size:11px;
  margin-bottom:4px;
}

.history-info-box strong{
  display:block;
  color:#eaf7ff;
  font-size:12px;
  word-break:break-word;
}

.history-pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}

.history-page-number,
.history-page-btn{
  min-width:38px;
  padding:9px 12px;
  border-radius:13px;
  border:1px solid rgba(103,232,249,.18);
  background:rgba(3,10,22,.45);
  color:#dff8ff;
  font-weight:850;
  text-align:center;
  font-size:13px;
  transition:.22s ease;
}

.history-page-number:hover,
.history-page-btn:hover{
  border-color:rgba(103,232,249,.45);
  box-shadow:0 0 18px rgba(6,182,212,.14);
}

.history-page-number.active{
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#03111c;
  border-color:transparent;
  box-shadow:0 0 18px rgba(103,232,249,.35);
}

.empty-history{
  color:#95b8c9;
  border:1px dashed rgba(103,232,249,.22);
  border-radius:18px;
  padding:28px 14px;
  text-align:center;
  font-size:14px;
}

.site-footer{
  text-align:center;
  color:#9fddeb;
  text-shadow:0 0 10px rgba(103,232,249,.24);
  font-size:12px;
  padding:26px 0 0;
}

@media(max-width:900px){
  .main-grid,
  .rules-grid{
    grid-template-columns:1fr;
  }

  .nav-wrap{
    min-height:66px;
  }

  .brand-logo-img{
    height:38px;
    max-width:160px;
  }

  .rules-card,
  .panel-card{
    padding:18px;
    border-radius:22px;
  }

  .section-head h2{
    font-size:22px;
  }

  .history-info-grid{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation:none !important;
    transition:none !important;
  }
}

/* ===== PREMIUM FORM BUTTONS & UPLOAD UI ===== */

.form-panel,
.history-panel{
  border-radius:28px !important;
  background:
    linear-gradient(145deg,rgba(15,35,58,.78),rgba(3,10,22,.92)),
    radial-gradient(circle at top right,rgba(103,232,249,.14),transparent 38%) !important;
}

.form-group{
  position:relative;
}

.form-group label{
  font-size:12px !important;
  letter-spacing:.02em;
  margin-bottom:9px !important;
}

.form-group input:not([type="file"]){
  height:48px;
  border-radius:18px !important;
  background:
    linear-gradient(180deg,rgba(2,8,18,.92),rgba(1,6,15,.96)) !important;
  border:1px solid rgba(103,232,249,.26) !important;
  box-shadow:
    inset 0 0 18px rgba(103,232,249,.035),
    0 0 0 1px rgba(255,255,255,.015),
    0 12px 28px rgba(0,0,0,.22) !important;
}

.form-group input:not([type="file"])::placeholder{
  color:rgba(214,239,247,.48);
}

.form-group input:not([type="file"]):focus{
  transform:translateY(-1px);
  background:
    linear-gradient(180deg,rgba(3,13,27,.98),rgba(1,8,18,.98)) !important;
  border-color:rgba(103,232,249,.75) !important;
  box-shadow:
    0 0 0 4px rgba(6,182,212,.12),
    0 0 28px rgba(6,182,212,.28),
    inset 0 0 20px rgba(103,232,249,.05) !important;
}

.upload-input{
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  position:absolute !important;
  pointer-events:none !important;
}

.upload-card{
  position:relative;
  display:flex !important;
  align-items:center;
  gap:13px;
  width:100%;
  min-height:70px;
  padding:13px;
  border-radius:20px;
  cursor:pointer;
  border:1px solid rgba(103,232,249,.28);
  background:
    linear-gradient(135deg,rgba(6,182,212,.10),rgba(2,8,18,.88) 42%,rgba(103,232,249,.08)),
    radial-gradient(circle at top right,rgba(103,232,249,.14),transparent 35%);
  box-shadow:
    inset 0 0 20px rgba(103,232,249,.035),
    0 14px 34px rgba(0,0,0,.24),
    0 0 20px rgba(6,182,212,.08);
  overflow:hidden;
  transition:.24s ease;
}

.upload-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.08),transparent);
  transform:translateX(-130%);
  transition:.55s ease;
}

.upload-card:hover{
  transform:translateY(-2px);
  border-color:rgba(103,232,249,.72);
  box-shadow:
    0 0 28px rgba(6,182,212,.24),
    0 20px 46px rgba(0,0,0,.32),
    inset 0 0 22px rgba(103,232,249,.05);
}

.upload-card:hover:before{
  transform:translateX(130%);
}

.upload-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#03111c;
  font-size:22px;
  font-weight:950;
  background:linear-gradient(135deg,var(--brand),#67e8f9);
  box-shadow:0 0 24px rgba(103,232,249,.36);
}

.upload-text{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.upload-text b{
  display:block;
  color:#f8fdff;
  font-size:13px;
  line-height:1.2;
}

.upload-text small{
  display:block;
  color:#93b7c7;
  font-size:11px;
}

.upload-action{
  flex:0 0 auto;
  padding:9px 13px;
  border-radius:999px;
  color:#c9f7ff;
  font-size:11px;
  font-weight:950;
  border:1px solid rgba(103,232,249,.30);
  background:rgba(2,8,18,.55);
  box-shadow:inset 0 0 14px rgba(103,232,249,.04);
}

.picked-file{
  margin-top:9px;
  min-height:31px;
  display:flex;
  align-items:center;
  padding:8px 11px;
  border-radius:13px;
  color:#8fb6c8;
  font-size:12px;
  border:1px dashed rgba(103,232,249,.20);
  background:rgba(2,8,18,.35);
}

.picked-file.has-file{
  color:#dcfce7;
  border-color:rgba(48,224,122,.40);
  background:rgba(22,101,52,.14);
  box-shadow:0 0 18px rgba(48,224,122,.10);
}

.btn-primary{
  position:relative;
  overflow:hidden;
  height:52px;
  border-radius:20px !important;
  letter-spacing:.02em;
  color:#02121d !important;
  background:
    linear-gradient(135deg,#04b8d6,#67e8f9 54%,#b7f7ff) !important;
}

.btn-primary:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-45%;
  width:35%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg);
  animation:buttonShine 2.8s ease-in-out infinite;
}

@keyframes buttonShine{
  0%{left:-45%}
  45%{left:120%}
  100%{left:120%}
}

.btn-primary:hover{
  transform:translateY(-3px) scale(1.01);
}

.history-panel .empty-history{
  min-height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(135deg,rgba(6,182,212,.07),rgba(2,8,18,.44));
  color:#a9d7e6;
}

@media(max-width:700px){
  .upload-card{
    align-items:flex-start;
  }

  .upload-action{
    display:none;
  }
}

/* ===== INDEX PREMIUM ANIMATION LIKE LOGIN ===== */

.frontend-fx{
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:-1;
}

.fx-orb{
  position:absolute;
  width:280px;
  height:280px;
  border-radius:999px;
  filter:blur(45px);
  opacity:.22;
  animation:orbFloat 14s ease-in-out infinite;
}

.fx-orb-1{
  top:8%;
  left:7%;
  background:rgba(6,182,212,.70);
}

.fx-orb-2{
  top:18%;
  right:8%;
  background:rgba(103,232,249,.42);
  animation-delay:-4s;
}

.fx-orb-3{
  bottom:5%;
  left:42%;
  background:rgba(34,197,94,.32);
  animation-delay:-8s;
}

@keyframes orbFloat{
  0%,100%{
    transform:translate3d(0,0,0) scale(1);
  }
  33%{
    transform:translate3d(28px,-24px,0) scale(1.08);
  }
  66%{
    transform:translate3d(-24px,20px,0) scale(.96);
  }
}

body{
  background:
    radial-gradient(circle at 12% 10%, rgba(6,182,212,.32), transparent 24%),
    radial-gradient(circle at 88% 16%, rgba(103,232,249,.14), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(34,197,94,.12), transparent 32%),
    linear-gradient(180deg,#020617,#061426 54%,#020617) !important;
}

body:before{
  animation:gridMove 18s linear infinite;
}

@keyframes gridMove{
  from{
    background-position:0 0,0 0;
  }
  to{
    background-position:42px 42px,42px 42px;
  }
}

.site-header{
  animation:headerDrop .65s ease both;
}

@keyframes headerDrop{
  from{
    opacity:0;
    transform:translateY(-18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.hero-card,
.rules-card,
.form-panel,
.history-panel{
  animation:sectionRise .75s ease both;
}

.hero-card{
  animation-delay:.08s;
}

.rules-card{
  animation-delay:.16s;
}

.form-panel{
  animation-delay:.24s;
}

.history-panel{
  animation-delay:.32s;
}

@keyframes sectionRise{
  from{
    opacity:0;
    transform:translateY(24px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.hero-card,
.rules-card,
.panel-card{
  position:relative !important;
  overflow:hidden !important;
  border-color:rgba(103,232,249,.30) !important;
  box-shadow:
    0 0 0 1px rgba(103,232,249,.04),
    0 0 34px rgba(6,182,212,.16),
    0 28px 92px rgba(0,0,0,.45) !important;
}

.hero-card:before,
.rules-card:before,
.panel-card:before{
  content:"" !important;
  position:absolute !important;
  inset:-2px !important;
  background:
    radial-gradient(circle at top right,rgba(103,232,249,.18),transparent 34%),
    radial-gradient(circle at bottom left,rgba(34,197,94,.10),transparent 36%),
    linear-gradient(120deg,transparent 18%,rgba(103,232,249,.10),transparent 52%) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.hero-card:after,
.rules-card:after,
.panel-card:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.08) 42%,transparent 62%) !important;
  transform:translateX(-145%) !important;
  animation:frontendCardShine 7s ease-in-out infinite !important;
  pointer-events:none !important;
  z-index:1 !important;
}

.hero-card > *,
.rules-card > *,
.panel-card > *{
  position:relative;
  z-index:2;
}

@keyframes frontendCardShine{
  0%{
    transform:translateX(-145%);
  }
  42%{
    transform:translateX(145%);
  }
  100%{
    transform:translateX(145%);
  }
}

.hero-card{
  animation-name:sectionRise, heroFloat;
  animation-duration:.75s, 7s;
  animation-delay:.08s, .9s;
  animation-timing-function:ease, ease-in-out;
  animation-iteration-count:1, infinite;
  animation-fill-mode:both, none;
}

@keyframes heroFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-5px);
  }
}

.banner-img{
  animation:bannerBreath 6s ease-in-out infinite;
  transform-origin:center;
}

@keyframes bannerBreath{
  0%,100%{
    filter:saturate(1.08) contrast(1.04) brightness(1);
  }
  50%{
    filter:saturate(1.15) contrast(1.07) brightness(1.04);
  }
}

.section-head h2{
  position:relative;
}

.section-head h2:after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand),#67e8f9,transparent);
  box-shadow:0 0 18px rgba(103,232,249,.45);
  animation:linePulse 2.4s ease-in-out infinite;
}

@keyframes linePulse{
  0%,100%{
    opacity:.55;
    width:64px;
  }
  50%{
    opacity:1;
    width:104px;
  }
}

.rule-item,
.history-item{
  animation:softPop .55s ease both;
}

.rule-item:nth-child(1){animation-delay:.05s}
.rule-item:nth-child(2){animation-delay:.09s}
.rule-item:nth-child(3){animation-delay:.13s}
.rule-item:nth-child(4){animation-delay:.17s}
.rule-item:nth-child(5){animation-delay:.21s}
.rule-item:nth-child(6){animation-delay:.25s}
.rule-item:nth-child(7){animation-delay:.29s}
.rule-item:nth-child(8){animation-delay:.33s}
.rule-item:nth-child(9){animation-delay:.37s}
.rule-item:nth-child(10){animation-delay:.41s}

@keyframes softPop{
  from{
    opacity:0;
    transform:translateY(14px) scale(.98);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.rule-number{
  animation:numberGlow 2.8s ease-in-out infinite;
}

@keyframes numberGlow{
  0%,100%{
    box-shadow:0 0 16px rgba(103,232,249,.32);
  }
  50%{
    box-shadow:0 0 28px rgba(103,232,249,.62);
  }
}

.rule-item:hover,
.history-item:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(103,232,249,.62) !important;
  box-shadow:
    0 0 32px rgba(6,182,212,.20),
    0 18px 42px rgba(0,0,0,.30),
    inset 0 0 20px rgba(103,232,249,.05) !important;
}

.form-group{
  animation:formFieldRise .55s ease both;
}

.form-group:nth-child(1){animation-delay:.08s}
.form-group:nth-child(2){animation-delay:.13s}
.form-group:nth-child(3){animation-delay:.18s}
.form-group:nth-child(4){animation-delay:.23s}
.form-group:nth-child(5){animation-delay:.28s}

@keyframes formFieldRise{
  from{
    opacity:0;
    transform:translateX(-12px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

.upload-card{
  animation:uploadGlow 3s ease-in-out infinite;
}

@keyframes uploadGlow{
  0%,100%{
    box-shadow:
      inset 0 0 20px rgba(103,232,249,.035),
      0 14px 34px rgba(0,0,0,.24),
      0 0 18px rgba(6,182,212,.08);
  }
  50%{
    box-shadow:
      inset 0 0 24px rgba(103,232,249,.055),
      0 16px 38px rgba(0,0,0,.28),
      0 0 28px rgba(6,182,212,.15);
  }
}

.btn-primary{
  animation:submitPulse 3.2s ease-in-out infinite;
}

@keyframes submitPulse{
  0%,100%{
    box-shadow:
      0 0 24px rgba(6,182,212,.34),
      0 0 68px rgba(6,182,212,.16),
      inset 0 0 14px rgba(255,255,255,.18);
  }
  50%{
    box-shadow:
      0 0 34px rgba(103,232,249,.54),
      0 0 90px rgba(6,182,212,.24),
      inset 0 0 16px rgba(255,255,255,.22);
  }
}

.history-panel{
  min-height:240px;
}

.empty-history{
  animation:emptyPulse 2.6s ease-in-out infinite;
}

@keyframes emptyPulse{
  0%,100%{
    border-color:rgba(103,232,249,.22);
    box-shadow:0 0 0 rgba(6,182,212,0);
  }
  50%{
    border-color:rgba(103,232,249,.42);
    box-shadow:0 0 24px rgba(6,182,212,.12);
  }
}

.site-footer{
  animation:footerFade .8s ease both;
  animation-delay:.55s;
}

@keyframes footerFade{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media(prefers-reduced-motion:reduce){
  .frontend-fx,
  .fx-orb,
  body:before,
  body:after,
  .site-header,
  .hero-card,
  .rules-card,
  .panel-card,
  .banner-img,
  .rule-item,
  .history-item,
  .form-group,
  .upload-card,
  .btn-primary,
  .empty-history,
  .site-footer,
  .section-head h2:after,
  .rule-number{
    animation:none !important;
  }
}

/* ===== CLEAN FIX: STABLE NEON ANIMATION TANPA NGERUSAK LAYOUT ===== */

/* Matikan animasi transform yang bikin layout geser/berantakan */
.hero-card,
.rules-card,
.panel-card,
.form-panel,
.history-panel,
.rule-item,
.history-item,
.form-group,
.banner-img{
  transform:none !important;
}

/* Background tetap hidup tapi aman */
body{
  background:
    radial-gradient(circle at 15% 12%, rgba(6,182,212,.24), transparent 28%),
    radial-gradient(circle at 85% 20%, rgba(103,232,249,.12), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(34,197,94,.10), transparent 32%),
    linear-gradient(180deg,#020617,#061426 55%,#020617) !important;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background-image:
    linear-gradient(rgba(103,232,249,.035) 1px aria-hidden="true">.*?</div>\n', '\n', s, flags=re.S)

p.write_text(s)
PY

cat >> style10.css <<'CSS'

/* ===== CLEAN FIX: STABLE NEON ANIMATION TANPA NGERUSAK LAYOUT ===== */

/* Matikan animasi transform yang bikin layout geser/berantakan */
.hero-card,
.rules-card,
.panel-card,
.form-panel,
.history-panel,
.rule-item,
.history-item,
.form-group,
.banner-img{
  transform:none !important;
}

/* Background tetap hidup tapi aman */
body{
  background:
    radial-gradient(circle at 15% 12%, rgba(6,, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.035) 1px, transparent 1px);
  background-size:42px 42px;
  animation:safeGridMove 22s linear infinite;
  opacity:.65;
}

@keyframes safeGridMove{
  from{background-position:0 0,0 0}
  to{background-position:42px 42px,42px 42px}
}

/* Card premium tapi stabil */
.hero-card,
.rules-card,
.panel-card{
  position:relative !important;
  overflow:hidden !important;
  border-color:rgba(103,232,249,.28) !important;
  box-shadow:
    0 0 0 1px rgba(103,232,249,.04),
    0 0 26px rgba(6,182,212,.14),
    0 24px 80px rgba(0,0,0,.42) !important;
}

/* Shine tipis, tidak mengubah posisi card */
.hero-card:after,
.rules-card:after,
.panel-card:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.07) 45%, transparent 62%) !important;
  transform:translateX(-140%);
  animation:safeCardShine 7s ease-in-out infinite;
  z-index:1 !important;
}

@keyframes safeCardShine{
  0%{transform:translateX(-140%)}
  45%{transform:translateX(140%)}
  100%{transform:translateX(140%)}
}

.hero-card > *,
.rules-card > *,
.panel-card > *{
  position:relative;
  z-index:2;
}

/* Header glow aman */
.site-header{
  box-shadow:
    0 10px 34px rgba(0,0,0,.28),
    0 0 24px rgba(6,182,212,.10),
    inset 0 -1px 0 rgba(103,232,249,.14) !important;
}

/* Title glow rapi */
.section-head h2{
  text-shadow:0 0 14px rgba(103,232,249,.38) !important;
}

.section-head h2:after{
  content:"";
  display:block;
  width:78px;
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand),#67e8f9,transparent);
  box-shadow:0 0 16px rgba(103,232,249,.42);
  animation:safeLinePulse 2.8s ease-in-out infinite;
}

@keyframes safeLinePulse{
  0%,100%{opacity:.65;width:72px}
  50%{opacity:1;width:105px}
}

/* Hover tetap ada tapi tidak berlebihan */
.rule-item,
.history-item{
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.rule-item:hover,
.history-item:hover{
  border-color:rgba(103,232,249,.52) !important;
  box-shadow:
    0 0 24px rgba(6,182,212,.16),
    inset 0 0 18px rgba(103,232,249,.04) !important;
}

/* Upload dan tombol tetap modern */
.upload-card{
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.upload-card:hover{
  border-color:rgba(103,232,249,.72) !important;
  box-shadow:
    0 0 26px rgba(6,182,212,.20),
    0 16px 38px rgba(0,0,0,.28) !important;
}

.btn-primary{
  position:relative;
  overflow:hidden;
  animation:safeButtonGlow 3.2s ease-in-out infinite !important;
}

@keyframes safeButtonGlow{
  0%,100%{
    box-shadow:
      0 0 22px rgba(6,182,212,.34),
      0 0 58px rgba(6,182,212,.14),
      inset 0 0 14px rgba(255,255,255,.18);
  }
  50%{
    box-shadow:
      0 0 34px rgba(103,232,249,.50),
      0 0 78px rgba(6,182,212,.20),
      inset 0 0 16px rgba(255,255,255,.22);
  }
}

/* Hindari animasi dobel yang bikin kacau */
.frontend-fx,
.force-neon-bg,
.force-orb,
.fx-orb{
  display:none !important;
}

/* ==================================================
   SAFE INDEX ANIMATION - NEON CLEAN VERSION
   Tidak mengubah posisi layout, jadi aman.
================================================== */

body{
  position:relative;
  background:
    radial-gradient(circle at 14% 12%, rgba(6,182,212,.25), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(103,232,249,.12), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(34,197,94,.10), transparent 32%),
    linear-gradient(180deg,#020617,#061426 55%,#020617) !important;
}

/* grid neon bergerak pelan */
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    linear-gradient(rgba(103,232,249,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103,232,249,.035) 1px, transparent 1px);
  background-size:42px 42px;
  animation:indexGridMove 24s linear infinite;
  opacity:.65;
}

@keyframes indexGridMove{
  from{background-position:0 0,0 0}
  to{background-position:42px 42px,42px 42px}
}

/* aurora glow, aman karena tidak ganggu klik */
body:after{
  content:"";
  position:fixed;
  inset:-30%;
  z-index:0;
  pointer-events:none;
  background:
    conic-gradient(
      from 180deg,
      transparent,
      rgba(6,182,212,.10),
      transparent,
      rgba(34,197,94,.055),
      transparent,
      rgba(103,232,249,.08),
      transparent
    );
  filter:blur(28px);
  opacity:.75;
  animation:indexAuroraSpin 28s linear infinite;
}

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

/* pastikan konten selalu di atas efek */
.site-header,
.page-shell{
  position:relative;
  z-index:2;
}

/* header masuk halus */
.site-header{
  animation:indexHeaderIn .55s ease both;
  box-shadow:
    0 10px 34px rgba(0,0,0,.28),
    0 0 24px rgba(6,182,212,.12),
    inset 0 -1px 0 rgba(103,232,249,.16) !important;
}

@keyframes indexHeaderIn{
  from{opacity:0}
  to{opacity:1}
}

/* card glow stabil */
.hero-card,
.rules-card,
.panel-card{
  position:relative !important;
  overflow:hidden !important;
  border-color:rgba(103,232,249,.30) !important;
  box-shadow:
    0 0 0 1px rgba(103,232,249,.045),
    0 0 28px rgba(6,182,212,.15),
    0 24px 80px rgba(0,0,0,.42) !important;
  animation:indexCardGlow 4.5s ease-in-out infinite;
}

@keyframes indexCardGlow{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(103,232,249,.045),
      0 0 24px rgba(6,182,212,.12),
      0 24px 80px rgba(0,0,0,.42);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(103,232,249,.08),
      0 0 38px rgba(6,182,212,.22),
      0 24px 90px rgba(0,0,0,.48);
  }
}

/* shine jalan di atas card, tidak geser card */
.hero-card:after,
.rules-card:after,
.panel-card:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:linear-gradient(
    115deg,
    transparent 0%,
    rgba(255,255,255,.075) 44%,
    transparent 62%
  ) !important;
  transform:translateX(-145%);
  animation:indexCardShine 7s ease-in-out infinite;
}

@keyframes indexCardShine{
  0%{transform:translateX(-145%)}
  42%{transform:translateX(145%)}
  100%{transform:translateX(145%)}
}

.hero-card > *,
.rules-card > *,
.panel-card > *{
  position:relative;
  z-index:2;
}

/* banner breathing halus, tidak scale */
.banner-img{
  animation:indexBannerLight 5s ease-in-out infinite;
}

@keyframes indexBannerLight{
  0%,100%{
    filter:saturate(1.06) contrast(1.03) brightness(1);
  }
  50%{
    filter:saturate(1.16) contrast(1.06) brightness(1.045);
  }
}

/* judul section lebih hidup */
.section-head h2{
  text-shadow:0 0 16px rgba(103,232,249,.42) !important;
}

.section-head h2:after{
  content:"";
  display:block;
  width:76px;
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand),#67e8f9,transparent);
  box-shadow:0 0 16px rgba(103,232,249,.48);
  animation:indexLinePulse 2.8s ease-in-out infinite;
}

@keyframes indexLinePulse{
  0%,100%{opacity:.65;width:72px}
  50%{opacity:1;width:108px}
}

/* nomor rules glow */
.rule-number{
  animation:indexNumberGlow 2.5s ease-in-out infinite;
}

@keyframes indexNumberGlow{
  0%,100%{
    box-shadow:0 0 16px rgba(103,232,249,.34);
  }
  50%{
    box-shadow:0 0 28px rgba(103,232,249,.62);
  }
}

/* hover item aman, tidak geser layout */
.rule-item,
.history-item,
.upload-card{
  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    filter .22s ease !important;
}

.rule-item:hover,
.history-item:hover,
.upload-card:hover{
  border-color:rgba(103,232,249,.58) !important;
  box-shadow:
    0 0 26px rgba(6,182,212,.18),
    inset 0 0 18px rgba(103,232,249,.045) !important;
  filter:brightness(1.035);
}

/* tombol submit glow bergerak */
.btn-primary{
  position:relative;
  overflow:hidden;
  animation:indexButtonGlow 3s ease-in-out infinite !important;
}

@keyframes indexButtonGlow{
  0%,100%{
    box-shadow:
      0 0 22px rgba(6,182,212,.34),
      0 0 58px rgba(6,182,212,.14),
      inset 0 0 14px rgba(255,255,255,.18);
  }
  50%{
    box-shadow:
      0 0 34px rgba(103,232,249,.52),
      0 0 80px rgba(6,182,212,.22),
      inset 0 0 16px rgba(255,255,255,.22);
  }
}

/* shine di tombol */
.btn-primary:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-45%;
  width:34%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-18deg);
  animation:indexButtonShine 3.2s ease-in-out infinite;
}

@keyframes indexButtonShine{
  0%{left:-45%}
  45%{left:120%}
  100%{left:120%}
}

/* empty history hidup halus */
.empty-history{
  animation:indexEmptyPulse 2.4s ease-in-out infinite;
}

@keyframes indexEmptyPulse{
  0%,100%{
    border-color:rgba(103,232,249,.22);
    box-shadow:none;
  }
  50%{
    border-color:rgba(103,232,249,.48);
    box-shadow:0 0 24px rgba(6,182,212,.13);
  }
}

/* user yang tidak suka animasi tetap aman */
@media(prefers-reduced-motion:reduce){
  body:before,
  body:after,
  .site-header,
  .hero-card,
  .rules-card,
  .panel-card,
  .banner-img,
  .section-head h2:after,
  .rule-number,
  .btn-primary,
  .btn-primary:after,
  .empty-history,
  .hero-card:after,
  .rules-card:after,
  .panel-card:after{
    animation:none !important;
  }
}
