/* ========================================================
   FINISH: change password / withdrawal PIN, website terms,
   event detail, banned
   ======================================================== */
@keyframes ftGrid{from{background-position:0 0,0 0}to{background-position:0 44px,44px 0}}
@keyframes ftScan{0%{top:-12%}100%{top:112%}}
@keyframes ftSweep{0%{transform:translateX(-130%) skewX(-18deg)}55%,100%{transform:translateX(340%) skewX(-18deg)}}
@keyframes ftFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(26px,-28px)}}
@keyframes ftBlink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes ftPulse{0%,100%{box-shadow:0 0 0 0 rgba(242,169,0,.55)}50%{box-shadow:0 0 0 9px rgba(242,169,0,0)}}
@keyframes ftPulseRed{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}50%{box-shadow:0 0 0 10px rgba(239,68,68,0)}}
@keyframes ftShimmer{to{background-position:200% 0}}

/* ---------- background layers ---------- */
:is(.settings-page-root,.terms-page-wrapper:has(.terms-hero-header),.event-detail-page){position:relative;isolation:isolate}
:is(.settings-page-root,.terms-page-wrapper:has(.terms-hero-header),.event-detail-page)::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:linear-gradient(rgba(242,169,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(242,169,0,.06) 1px,transparent 1px);
  background-size:44px 44px;animation:ftGrid 6s linear infinite;
  -webkit-mask-image:radial-gradient(ellipse at 50% 25%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse at 50% 25%,#000 30%,transparent 80%)}
:is(.settings-page-root,.terms-page-wrapper:has(.terms-hero-header),.event-detail-page)::after{content:"";position:fixed;left:0;right:0;height:130px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(242,169,0,.07),transparent);animation:ftScan 7s linear infinite}
:is(.settings-card,.event-detail-card)::after{content:"";position:absolute;inset:9px;pointer-events:none;border-radius:13px;
  background:
   linear-gradient(#F2A900,#F2A900) top left/14px 2px,linear-gradient(#F2A900,#F2A900) top left/2px 14px,
   linear-gradient(#F2A900,#F2A900) top right/14px 2px,linear-gradient(#F2A900,#F2A900) top right/2px 14px,
   linear-gradient(#F2A900,#F2A900) bottom left/14px 2px,linear-gradient(#F2A900,#F2A900) bottom left/2px 14px,
   linear-gradient(#F2A900,#F2A900) bottom right/14px 2px,linear-gradient(#F2A900,#F2A900) bottom right/2px 14px;
  background-repeat:no-repeat;opacity:.7;filter:drop-shadow(0 0 4px rgba(242,169,0,.8))}

/* ---------- shared glass ---------- */
:is(.settings-card,.event-detail-card,.auth-card.ai-card:not(.ai-card-glow)){
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04))!important;
  backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.2)!important;border-radius:22px!important;
  box-shadow:0 18px 40px -14px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.3)!important}
:is(.settings-card,.event-detail-card)::before{content:"";position:absolute;top:-50%;left:-30%;width:42%;height:200%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);animation:ftSweep 6.5s ease-in-out infinite}

/* ---------- change password / PIN ---------- */
.settings-page-root{padding-top:78px!important;padding-bottom:130px!important}
.settings-title{background:linear-gradient(90deg,#fff,#FFD76A,#fff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent!important;animation:ftShimmer 5s linear infinite}
.settings-title::before{content:"// SECURITY.SETTINGS";display:block;font:600 10px/1 'JetBrains Mono',monospace;letter-spacing:2px;color:#F2A900;-webkit-text-fill-color:#F2A900;margin-bottom:10px;animation:ftBlink 2.6s ease-in-out infinite}
.settings-desc{color:#b8c6dd!important}
.settings-icon-pod{background:linear-gradient(145deg,#FFE9A8,#F2A900)!important;color:#1a1200!important;border:none!important;border-radius:50%!important;box-shadow:0 0 0 4px rgba(255,255,255,.16),0 0 24px rgba(242,169,0,.6)!important;animation:ftPulse 2.6s ease-out infinite}
.settings-icon-pod i{color:#1a1200!important}
.settings-page-root .field-label{color:#fff!important;letter-spacing:.6px}
.settings-page-root :is(input[type=password],input[type=text]){background:rgba(0,10,30,.45)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:12px!important;color:#fff!important;transition:border-color .2s ease,box-shadow .2s ease}
.settings-page-root :is(input[type=password],input[type=text]):focus{border-color:#F2A900!important;box-shadow:0 0 0 3px rgba(242,169,0,.2),0 0 16px rgba(242,169,0,.35)!important;outline:none}
.settings-page-root .eye-toggle-btn{color:#b8c6dd!important}
.settings-page-root :is(button[type=submit],.btn-update,.settings-submit){height:50px;border:none!important;border-radius:14px!important;background:linear-gradient(135deg,#FFD76A,#F2A900)!important;color:#1a1200!important;font-weight:800!important;letter-spacing:.6px;text-transform:uppercase;box-shadow:0 0 22px rgba(242,169,0,.5)!important;animation:ftPulse 2.4s ease-out infinite}

/* ---------- website terms ---------- */
.terms-page-wrapper:has(.terms-hero-header) .terms-hero-header{background:none!important}
.terms-hero-syscode{font-family:'JetBrains Mono',monospace!important;color:#F2A900!important;letter-spacing:2px;animation:ftBlink 2.6s ease-in-out infinite}
.terms-hero-header h1{background:linear-gradient(90deg,#fff,#FFD76A,#fff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent!important;animation:ftShimmer 5s linear infinite}
.terms-hero-date{font-family:'JetBrains Mono',monospace!important;color:#b8c6dd!important}
.terms-body-container{background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03))!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18)!important;border-radius:20px!important;padding:24px 20px!important;box-shadow:0 14px 34px -12px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.25)}
.terms-section-title{color:#fff!important;border-left:3px solid #F2A900;padding-left:10px;text-shadow:0 0 14px rgba(242,169,0,.35)}
.terms-paragraph,.terms-intro-text,.terms-list li{color:#d3dcee!important;line-height:1.75}

/* ---------- event detail ---------- */
.event-detail-page .page-content{padding-top:76px!important;padding-bottom:130px!important}
.event-back-link{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;margin-bottom:14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff!important;text-decoration:none!important;transition:transform .2s ease,border-color .2s ease}
.event-back-link:hover{transform:translateX(-4px);border-color:#F2A900}
.event-back-link i{color:#F2A900}
.event-detail-card{padding:24px 20px!important}
.event-detail-title{background:linear-gradient(90deg,#fff,#FFD76A,#fff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent!important;animation:ftShimmer 5s linear infinite}
.event-detail-meta{font-family:'JetBrains Mono',monospace!important;color:#F2A900!important;font-size:12px!important}
.event-detail-content{color:#d3dcee!important;line-height:1.8}
.event-detail-content img{max-width:100%;height:auto;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.5)}

/* ---------- banned (keeps its red warning identity) ---------- */
.auth-card.ai-card:not(.ai-card-glow){max-width:440px!important;border-color:rgba(239,68,68,.55)!important;box-shadow:0 18px 40px -14px rgba(0,0,0,.75),0 0 40px rgba(239,68,68,.22),inset 0 1px 0 rgba(255,255,255,.25)!important}
.auth-card.ai-card:not(.ai-card-glow)::after{content:"";position:absolute;inset:9px;pointer-events:none;border-radius:15px;
  background:
   linear-gradient(#ef4444,#ef4444) top left/14px 2px,linear-gradient(#ef4444,#ef4444) top left/2px 14px,
   linear-gradient(#ef4444,#ef4444) top right/14px 2px,linear-gradient(#ef4444,#ef4444) top right/2px 14px,
   linear-gradient(#ef4444,#ef4444) bottom left/14px 2px,linear-gradient(#ef4444,#ef4444) bottom left/2px 14px,
   linear-gradient(#ef4444,#ef4444) bottom right/14px 2px,linear-gradient(#ef4444,#ef4444) bottom right/2px 14px;
  background-repeat:no-repeat;opacity:.8;filter:drop-shadow(0 0 4px rgba(239,68,68,.9))}
.auth-card.ai-card:not(.ai-card-glow) h1{color:#fff!important}
.auth-card.ai-card:not(.ai-card-glow) p{color:#c9d5ea!important}
.auth-card.ai-card:not(.ai-card-glow) .fa-shield{filter:drop-shadow(0 0 12px rgba(239,68,68,.9))}
.auth-card.ai-card:not(.ai-card-glow) .ai-badge-danger{animation:ftBlink 1.8s ease-in-out infinite}
.auth-card.ai-card:not(.ai-card-glow) div:has(> .fa-shield){animation:ftPulseRed 2s ease-out infinite}

@media (prefers-reduced-motion:reduce){:is(.settings-page-root,.terms-page-wrapper,.event-detail-page,.auth-card) *,:is(.settings-page-root,.terms-page-wrapper,.event-detail-page)::before,:is(.settings-page-root,.terms-page-wrapper,.event-detail-page)::after{animation:none!important}}
.settings-card-header{background:none!important;border:none!important;box-shadow:none!important}
.settings-card{padding-bottom:26px}
