/* ============================================================
   ABJ TUTORIAL — Homepage Stylesheet
   ============================================================ */
:root{--navy:#0b1220;--blue:#2563eb;--blue-2:#3b82f6;--blue-soft:#eaf1ff;--ink:#0f172a;--muted:#64748b;--line:#e6ebf3;--bg:#ffffff;--soft:#f5f8fd;--gold-1:#f7e07a;--gold-2:#d4af37;--gold-3:#8a6516;--radius:20px;--radius-sm:14px;--shadow:0 18px 45px -22px rgba(15,23,42,.30);--shadow-lg:0 30px 70px -30px rgba(15,23,42,.35);--maxw:1120px;--ease:cubic-bezier(.4,0,.2,1);--bounce:cubic-bezier(.34,1.56,.64,1);--header-h:78px;}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;}
body{margin:0;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;width:100%;padding-top:calc(var(--header-h) + env(safe-area-inset-top));}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;-webkit-tap-highlight-color:transparent;}
input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px;}
section{scroll-margin-top:calc(var(--header-h) + 20px);}
.logo-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;}
.header{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:env(safe-area-inset-top);background:radial-gradient(900px 200px at 50% -30%, #dbe9ff 0%, rgba(219,233,255,.55) 55%, rgba(219,233,255,0) 100%),linear-gradient(180deg,#eef4ff 0%,#f5f9ff 55%,rgba(255,255,255,.94) 100%);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:box-shadow .3s var(--ease);}
.header.scrolled{box-shadow:0 12px 34px -22px rgba(15,23,42,.4);}
.header-inner{position:relative;display:flex;align-items:center;justify-content:center;height:var(--header-h);}
.brand{display:flex;align-items:center;gap:14px;text-align:left;}
.brand-logo{width:46px;height:46px;border-radius:13px;overflow:hidden;flex:0 0 auto;box-shadow:0 10px 26px -10px rgba(212,175,55,.75),0 0 0 1px rgba(212,175,55,.35) inset,0 0 0 2px rgba(255,255,255,.9);}
.brand-text{display:flex;flex-direction:column;line-height:1.05;}
.brand-name{color:var(--ink);font-weight:800;font-size:16px;letter-spacing:1.8px;}
.brand-moto{font-size:9px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;background:linear-gradient(90deg,#8a6516,#d4af37,#f7e07a,#d4af37,#8a6516);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-top:4px;}
.hero{position:relative;padding:60px 0 80px;overflow:hidden;background:radial-gradient(900px 480px at 50% -10%, #eaf1ff 0%, rgba(234,241,255,0) 62%),#fff;text-align:center;}
.hero-glow{position:absolute;inset:0;pointer-events:none;}
.hero-glow::before,.hero-glow::after{content:'';position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;}
.hero-glow::before{width:360px;height:360px;background:#bfdbfe;top:-120px;left:-70px;}
.hero-glow::after{width:320px;height:320px;background:#c7d2fe;top:70px;right:-90px;}
.hero-inner{position:relative;z-index:2;max-width:920px;margin:0 auto;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);background:var(--blue-soft);padding:8px 16px;border-radius:999px;border:1px solid #d7e4fb;margin-bottom:22px;}
.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--blue);}
.hero h1{font-size:clamp(34px,6.6vw,62px);line-height:1.04;letter-spacing:-1.8px;font-weight:800;margin:0 auto 14px;max-width:18ch;}
.grad-text{background:linear-gradient(100deg,#2563eb,#0ea5e9,#6366f1,#2563eb);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.motto{display:inline-block;font-size:clamp(11px,1.5vw,13px);font-weight:800;letter-spacing:4px;text-transform:uppercase;background:linear-gradient(90deg,#8a6516,#d4af37,#f7e07a,#d4af37,#8a6516);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 24px;}
.hero p.lead{font-size:clamp(15px,2.3vw,17.5px);color:var(--muted);max-width:62ch;margin:0 auto 56px;line-height:1.75;}
.hero p.lead b{color:var(--ink);font-weight:700;}
/* ORBIT */
.orbit{--item-size:23%;--center-size:32%;--orbit-radius:34%;--orbit-speed:56s;position:relative;width:clamp(320px,82vw,580px);aspect-ratio:1 / 1;margin:0 auto 58px;isolation:isolate;}
.orbit::before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle closest-side, rgba(37,99,235,.13), rgba(99,102,241,.07) 48%, transparent 74%);filter:blur(8px);z-index:0;pointer-events:none;}
.orbit-aura{position:absolute;inset:-8px;border-radius:50%;background:conic-gradient(from 0deg,rgba(37,99,235,0) 0deg,rgba(37,99,235,.85) 52deg,rgba(99,102,241,.12) 108deg,rgba(37,99,235,0) 152deg,rgba(212,175,55,0) 198deg,rgba(212,175,55,.80) 252deg,rgba(168,85,247,.12) 306deg,rgba(37,99,235,0) 360deg);-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2.5px));mask:radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2.5px));animation:auraSpin 15s linear infinite;z-index:0;pointer-events:none;opacity:.9;}
@keyframes auraSpin{to{transform:rotate(360deg);}}
.orbit-dashed{position:absolute;inset:3%;border-radius:50%;border:1px dashed rgba(37,99,235,.18);z-index:0;pointer-events:none;animation:dashSpin 90s linear infinite;}
@keyframes dashSpin{to{transform:rotate(-360deg);}}
.orbit-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none;}
.wire-base{stroke-width:.42;fill:none;opacity:.20;}
.wire-flow{stroke-width:.85;fill:none;stroke-linecap:round;stroke-dasharray:1.6 7;opacity:.95;animation:wireFlow 2.8s linear infinite;}
@keyframes wireFlow{to{stroke-dashoffset:-8.6;}}
.orbit-ring{position:absolute;inset:0;transform-origin:50% 50%;animation:orbitSpin var(--orbit-speed) linear infinite;z-index:2;will-change:transform;}
@keyframes orbitSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.orbit-counter{width:100%;height:100%;animation:orbitCounter var(--orbit-speed) linear infinite;will-change:transform;}
@keyframes orbitCounter{from{transform:rotate(0deg);}to{transform:rotate(-360deg);}}
.orbit.paused .orbit-ring,.orbit.paused .orbit-counter{animation-play-state:paused;}
.orbit-item{position:absolute;width:var(--item-size);aspect-ratio:1/1;transform:translate(-50%,-50%);z-index:3;cursor:pointer;animation:orbitItemIn .95s cubic-bezier(.22,1,.36,1) both;}
.orbit-item-1{top:calc(50% - var(--orbit-radius));left:50%;animation-delay:.10s;}
.orbit-item-2{top:50%;left:calc(50% + var(--orbit-radius));animation-delay:.26s;}
.orbit-item-3{top:calc(50% + var(--orbit-radius));left:50%;animation-delay:.42s;}
.orbit-item-4{top:50%;left:calc(50% - var(--orbit-radius));animation-delay:.58s;}
@keyframes orbitItemIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.28);}65%{opacity:1;transform:translate(-50%,-50%) scale(1.14);}100%{opacity:1;transform:translate(-50%,-50%) scale(1);}}
.orbit-item:focus{outline:none;}
.orbit-item:focus-visible .stat-face{box-shadow:0 0 0 3px #fff, 0 0 0 6px #2563eb;}
.orbit-center{position:absolute;top:50%;left:50%;width:var(--center-size);aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;z-index:6;}
.orbit-center::before{content:'';position:absolute;inset:-16%;border-radius:50%;background:radial-gradient(circle closest-side, rgba(37,99,235,.32), rgba(99,102,241,.12) 52%, transparent 74%);animation:centerGlow 4.2s ease-in-out infinite;pointer-events:none;}
.orbit-center::after{content:'';position:absolute;inset:-6%;border-radius:50%;border:1.5px solid rgba(37,99,235,.40);animation:centerRipple 3.8s ease-out infinite;pointer-events:none;}
@keyframes centerGlow{0%,100%{opacity:.7;transform:scale(1);}50%{opacity:1;transform:scale(1.09);}}
@keyframes centerRipple{0%{transform:scale(.90);opacity:.70;}70%{transform:scale(1.22);opacity:0;}100%{transform:scale(1.22);opacity:0;}}
.orbit-center-inner{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#2b2b4f;box-shadow:0 28px 60px -20px rgba(37,99,235,.55), 0 0 0 4px rgba(255,255,255,.92), 0 0 0 6px rgba(212,175,55,.35);animation:logoPulse 4.2s ease-in-out infinite;}
@keyframes logoPulse{0%,100%{transform:scale(1);box-shadow:0 26px 56px -22px rgba(37,99,235,.55),0 0 0 4px rgba(255,255,255,.92),0 0 0 6px rgba(212,175,55,.30);}50%{transform:scale(1.05);box-shadow:0 36px 72px -20px rgba(37,99,235,.80),0 0 0 4px rgba(255,255,255,.98),0 0 0 9px rgba(212,175,55,.48);}}
.orbit-center-inner img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;}
.stat-card{position:relative;width:100%;height:100%;perspective:900px;}
.stat-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,0,.2,1);}
.orbit-item.flipped .stat-card-inner{transform:rotateY(180deg);}
.stat-face{position:absolute;inset:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:11% 11%;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75), 0 14px 30px -18px rgba(15,23,42,.55);transition:box-shadow .35s var(--ease);}
.orbit-item:hover .stat-face{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.95), 0 22px 42px -18px rgba(15,23,42,.62);}
.stat-front{position:relative;}
.stat-front::after{content:'';position:absolute;top:-60%;left:-120%;width:70%;height:220%;background:linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);transform:rotate(18deg);animation:cardShine 6s ease-in-out infinite;pointer-events:none;}
.orbit-item-2 .stat-front::after{animation-delay:1.5s;}
.orbit-item-3 .stat-front::after{animation-delay:3s;}
.orbit-item-4 .stat-front::after{animation-delay:4.5s;}
@keyframes cardShine{0%{left:-120%;}45%{left:130%;}100%{left:130%;}}
.stat-back{transform:rotateY(180deg);background:linear-gradient(150deg,#0b1220 0%,#152040 55%,#1d4ed8 145%);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(247,224,122,.55), 0 18px 36px -18px rgba(15,23,42,.85);}
.orbit-item-1 .stat-front{background:linear-gradient(145deg,#fffdf3 0%,#fde9a8 48%,#e6c15a 100%);}
.orbit-item-2 .stat-front{background:linear-gradient(145deg,#f2f8ff 0%,#bfdbfe 48%,#7c8cf8 100%);}
.orbit-item-3 .stat-front{background:linear-gradient(145deg,#fbf5ff 0%,#d8b4fe 48%,#a855f7 100%);}
.orbit-item-4 .stat-front{background:linear-gradient(145deg,#fff3f4 0%,#fecaca 48%,#fb7185 100%);}
.sc-icon{display:grid;place-items:center;flex:0 0 auto;width:clamp(20px,3.4vw,34px);height:clamp(20px,3.4vw,34px);border-radius:50%;font-size:clamp(10px,1.75vw,17px);line-height:1;background:rgba(255,255,255,.85);box-shadow:0 6px 14px -8px rgba(15,23,42,.5), inset 0 0 0 1px rgba(255,255,255,.95);margin-bottom:5%;}
.sc-num{font-size:clamp(14px,2.15vw,21px);font-weight:800;color:#0b1220;line-height:1.05;letter-spacing:-.6px;text-shadow:0 1px 0 rgba(255,255,255,.55);font-variant-numeric:tabular-nums;}
.sc-label{font-size:clamp(7.5px,1.02vw,10px);font-weight:800;color:#1e293b;margin-top:4%;line-height:1.2;letter-spacing:.1px;max-width:100%;opacity:.86;text-wrap:balance;}
.sc-back-ic{font-size:clamp(11px,1.7vw,16px);line-height:1;margin-bottom:5%;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5));}
.sc-back-num{font-size:clamp(13px,1.95vw,19px);font-weight:800;line-height:1.05;margin-bottom:5%;background:linear-gradient(100deg,#f7e07a,#d4af37,#f7e07a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;}
.sc-back-text{font-size:clamp(7.5px,1vw,9.5px);line-height:1.35;font-weight:600;color:rgba(255,255,255,.86);max-width:100%;}
/* HERO ACTIONS */
.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.demo-wrap,.register-wrap{position:relative;display:inline-flex;padding:3px;border-radius:24px;transition:transform .3s var(--bounce);}
.demo-wrap{background:linear-gradient(135deg,#3b82f6 0%,#6366f1 45%,#a855f7 100%);}
.register-wrap{background:linear-gradient(135deg,#f7e07a 0%,#d4af37 45%,#8a6516 100%);}
.demo-wrap:hover,.register-wrap:hover{transform:translateY(-4px);}
.btn-demo{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:20px 42px;border-radius:21px;background:linear-gradient(135deg,#0b1220 0%,#15264a 55%,#1d4ed8 130%);color:#fff;font-size:17px;font-weight:800;min-height:64px;}
.demo-play-ring{position:relative;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#a855f7);display:grid;place-items:center;flex:0 0 36px;}
.demo-play-tri{width:0;height:0;margin-left:3px;border-left:11px solid #fff;border-top:6.5px solid transparent;border-bottom:6.5px solid transparent;}
.btn-register{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:20px 42px;border-radius:21px;background:linear-gradient(135deg,#0b1220 0%,#2b2105 55%,#8a6516 130%);color:#fff;font-size:17px;font-weight:800;min-height:64px;}
.register-ring{position:relative;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f7e07a,#d4af37);display:grid;place-items:center;flex:0 0 36px;color:#0b1220;}
.register-ring svg{width:16px;height:16px;display:block;}
.section{padding:82px 0;}
.section-head{text-align:center;margin-bottom:46px;}
.section-head h2{font-size:clamp(24px,5vw,40px);font-weight:800;letter-spacing:-1.2px;margin:0 0 12px;line-height:1.15;}
.section-head p{color:var(--muted);max-width:56ch;margin:0 auto;font-size:15.5px;}
.eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);background:var(--blue-soft);padding:7px 14px;border-radius:999px;margin-bottom:16px;}
.cur-section{position:relative;padding:90px 0 96px;background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);}
.cur-shell{position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:32px;padding:30px;box-shadow:0 40px 90px -55px rgba(15,23,42,.55);}
.sem-switch{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px;}
.sem-btn{position:relative;display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);text-align:left;min-height:88px;cursor:pointer;}
.sem-btn::before{content:'';position:absolute;inset:0;border-radius:22px;padding:2px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#f3e8ff);-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:1;}
.sem-btn.active::before{background:linear-gradient(135deg,#2563eb,#6366f1,#a855f7);}
.sem-btn > *{position:relative;z-index:2;}
.sem-icon{flex:0 0 46px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,#eaf1ff,#dbeafe);}
.sem-btn.active .sem-icon{background:linear-gradient(135deg,#2563eb,#6366f1);}
.sem-info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2;}
.sem-name{font-weight:800;font-size:15px;color:var(--ink);}
.sem-sub{font-size:11px;color:var(--muted);margin-top:5px;font-weight:700;}
.sem-check{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#6366f1);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;opacity:0;}
.sem-btn.active .sem-check{opacity:1;}
@media (max-width:640px){.sem-switch{grid-template-columns:1fr;}}
.stream-rail{display:flex;gap:12px;overflow-x:auto;padding:6px 6px 16px;margin-bottom:24px;}
.stream-rail::-webkit-scrollbar{height:5px;}
.stream-rail::-webkit-scrollbar-thumb{background:#d3dcea;border-radius:999px;}
.stream-pill{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:16px;background:#fff;border:1.5px solid var(--line);cursor:pointer;min-height:48px;}
.stream-pill.active{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:transparent;color:#fff;}
.stream-pill .s-ic{font-size:18px;}
.stream-pill .s-name{font-weight:700;font-size:13.5px;}
.stream-pill .s-count{font-size:10.5px;font-weight:800;background:rgba(15,23,42,.07);color:#475569;padding:3px 9px;border-radius:999px;}
.stream-pill.active .s-count{background:rgba(255,255,255,.24);color:#fff;}
.course-stage{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:start;}
.course-card{position:relative;border-radius:20px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);overflow:hidden;padding:2px;}
.course-card::before{content:'';position:absolute;inset:0;border-radius:20px;padding:2px;background:linear-gradient(135deg,var(--cc1, #3b82f6) 0%,var(--cc2, #2563eb) 50%,#a855f7 100%);-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:0;}
.course-inner{position:relative;background:#fff;border-radius:18px;overflow:hidden;z-index:1;}
.course-head{display:flex;align-items:center;gap:14px;padding:18px 20px;width:100%;text-align:left;cursor:pointer;}
.cc-ic{flex:0 0 46px;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg, var(--cc-soft1, #eaf1ff), var(--cc-soft2, #dbeafe));display:grid;place-items:center;font-size:21px;}
.cc-body{min-width:0;flex:1;}
.cc-name{font-size:14px;font-weight:800;color:var(--ink);line-height:1.35;}
.cc-meta{font-size:10.5px;font-weight:800;color:#a7b6cd;letter-spacing:1px;margin-top:4px;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:5px;align-items:center;}
.cc-code{display:inline-block;padding:2px 8px;border-radius:6px;background:linear-gradient(135deg, var(--cc-soft1, #eaf1ff), var(--cc-soft2, #dbeafe));color:var(--cc2, #2563eb);font-weight:800;}
.cc-chev{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;color:var(--muted);transition:transform .4s var(--bounce);}
.course-card.open .cc-chev{transform:rotate(180deg);}
.cc-chev svg{width:14px;height:14px;}
.course-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease);}
.course-card.open .course-panel{grid-template-rows:1fr;}
.course-panel-inner{overflow:hidden;padding:0 20px;}
.course-card.open .course-panel-inner{padding:0 20px 22px;}
.cp-divider{height:1px;background:linear-gradient(90deg, transparent, var(--cc1), transparent);opacity:.35;margin-bottom:16px;}
.cp-desc{font-size:13px;color:#475569;line-height:1.7;margin:0 0 16px;}
.cp-block{margin-bottom:16px;}
.cp-block:last-child{margin-bottom:0;}
.cp-block-title{font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--cc2, #2563eb);margin:0 0 10px;}
.cp-chapters{list-style:none;padding:0;margin:0;display:grid;gap:6px;}
.cp-chapters li{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:#334155;line-height:1.5;padding:7px 10px;border-radius:10px;background:rgba(15,23,42,.025);}
.cp-num{flex:0 0 18px;width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg, var(--cc1), var(--cc2));color:#fff;display:grid;place-items:center;font-size:9.5px;font-weight:800;}
.cp-videos{display:flex;flex-direction:column;gap:8px;}
.cp-videos-empty{padding:14px;border-radius:12px;background:rgba(15,23,42,.03);border:1px dashed rgba(15,23,42,.12);color:#94a3b8;font-size:12px;text-align:center;font-weight:600;}
.cp-video-item{display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;background:linear-gradient(135deg,#0b1220,#15264a);cursor:pointer;width:100%;text-align:left;border:none;font-family:inherit;transition:transform .25s var(--bounce);}
.cp-video-item:hover{transform:translateY(-2px);}
.cp-video-thumb{position:relative;width:100px;height:64px;flex:0 0 100px;border-radius:10px;overflow:hidden;background:#050a14;display:grid;place-items:center;}
.cp-video-thumb img{width:100%;height:100%;object-fit:cover;}
.cp-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#f7e07a,#d4af37);display:grid;place-items:center;}
.cp-video-play::before{content:'';width:0;height:0;margin-left:2px;border-left:9px solid #0b1220;border-top:5.5px solid transparent;border-bottom:5.5px solid transparent;}
.cp-video-info{min-width:0;flex:1;}
.cp-video-tag{display:inline-block;font-size:9px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:#f7e07a;background:rgba(247,224,122,.14);padding:2px 8px;border-radius:999px;margin-bottom:5px;}
.cp-video-title{color:#fff;font-size:12.5px;font-weight:800;line-height:1.35;}
.cp-video-sub{color:rgba(255,255,255,.6);font-size:10.5px;font-weight:600;margin-top:3px;}
.cp-video-iframe-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;}
.cp-video-iframe-wrap iframe{width:100%;height:100%;border:0;display:block;}
.cp-video-close{position:absolute;top:8px;right:8px;padding:6px 12px;border-radius:10px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:800;border:none;cursor:pointer;font-family:inherit;backdrop-filter:blur(8px);}
.cp-video-block{display:flex;flex-direction:column;gap:0;}
.cp-video-attach{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:8px 12px;border-radius:10px;background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(37,99,235,.08));border:1px solid rgba(59,130,246,.35);color:#2563eb;font-size:11.5px;font-weight:800;text-decoration:none;transition:transform .2s var(--bounce),background .2s;}
.cp-video-attach:hover{transform:translateY(-1px);background:linear-gradient(135deg,rgba(59,130,246,.2),rgba(37,99,235,.14));}
.cp-video-attach:active{transform:translateY(0) scale(.98);}
.tst-section{background:linear-gradient(180deg,#f7faff 0%,#ffffff 100%);}
.tst-wrap{position:relative;max-width:880px;margin:0 auto;padding:0 74px;}
.tst-viewport{overflow:hidden;border-radius:28px;padding:6px;touch-action:pan-y;}
.tst-track{display:flex;transition:transform .55s var(--ease);}
.tst-slide{flex:0 0 100%;padding:0 4px;}
.tst-frame{position:relative;border-radius:26px;padding:2px;}
.tst-frame::before{content:'';position:absolute;inset:0;border-radius:26px;padding:2px;background:conic-gradient(from 0deg,#f7e07a,#d4af37,#8a6516,#d4af37,#f7e07a);-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:0;}
.tst-card{position:relative;background:#fffdf6;border-radius:24px;padding:42px 42px 38px;z-index:1;}
.tst-quote{position:absolute;top:22px;right:30px;font-family:Georgia,serif;font-size:130px;color:rgba(212,175,55,.16);pointer-events:none;}
.tst-top{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px dashed rgba(212,175,55,.35);}
.tst-avatar{width:62px;height:62px;border-radius:50%;overflow:hidden;background:#2b2b4f;}
.tst-avatar img{width:100%;height:100%;object-fit:cover;}
.tst-from{font-size:16px;font-weight:800;color:var(--ink);}
.tst-subject{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;background:linear-gradient(135deg,#fff8e1,#fde9a8);color:#8a6516;padding:4px 11px;border-radius:999px;margin-top:6px;}
.tst-stars{color:#d4af37;font-size:15px;letter-spacing:3px;margin-top:6px;}
.tst-text{font-size:15.5px;color:#334155;margin:0;line-height:1.8;}
.tst-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:#fff;border:2px solid var(--gold-2);display:grid;place-items:center;color:var(--gold-3);cursor:pointer;}
.tst-arrow.prev{left:0;}.tst-arrow.next{right:0;}
.tst-dots{display:flex;justify-content:center;gap:6px;margin-top:28px;flex-wrap:wrap;}
.dot{width:8px;height:8px;border-radius:999px;background:#e6d9a8;padding:0;transition:all .35s var(--ease);}
.dot.active{background:linear-gradient(135deg,#d4af37,#8a6516);width:24px;}
.tst-counter{text-align:center;font-size:12px;font-weight:800;letter-spacing:1.6px;color:var(--gold-3);margin-top:16px;text-transform:uppercase;}
.cta-section{padding:0 0 82px;}
.cta-card{position:relative;border-radius:34px;padding:3px;}
.cta-card::before{content:'';position:absolute;inset:0;border-radius:34px;background:conic-gradient(from 0deg,#2563eb,#0ea5e9,#a855f7,#f7e07a,#d4af37,#ec4899,#2563eb);background-size:200% 200%;z-index:0;}
.cta-inner{position:relative;background:radial-gradient(700px 380px at 50% -20%, rgba(59,130,246,.55), transparent 68%),linear-gradient(135deg,#0b1220 0%,#131f3d 45%,#1e3a8a 110%);border-radius:31px;padding:64px 40px 60px;text-align:center;color:#fff;overflow:hidden;z-index:1;}
.cta-orb{position:absolute;border-radius:50%;filter:blur(50px);pointer-events:none;z-index:0;}
.cta-orb.a{width:280px;height:280px;background:rgba(59,130,246,.55);top:-120px;left:-60px;}
.cta-orb.b{width:240px;height:240px;background:rgba(212,175,55,.35);bottom:-120px;right:-50px;}
.cta-orb.c{width:180px;height:180px;background:rgba(168,85,247,.45);top:40%;right:18%;}
.cta-content{position:relative;z-index:2;}
.cta-badge{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#fde9a8;background:rgba(212,175,55,.14);padding:8px 16px;border-radius:999px;margin-bottom:22px;}
.cta-badge .spark{width:7px;height:7px;border-radius:50%;background:#22c55e;}
.cta-badge.closed{color:#fecaca;background:rgba(239,68,68,.14);}
.cta-badge.closed .spark{background:#ef4444;}
.cta-title{font-size:clamp(26px,5.4vw,44px);font-weight:800;letter-spacing:-1.4px;line-height:1.1;margin:0 0 14px;background:linear-gradient(100deg,#ffffff 20%,#fde9a8 55%,#a5b4fc 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cta-sub{font-size:clamp(14.5px,2.2vw,16.5px);color:rgba(255,255,255,.75);max-width:52ch;margin:0 auto 34px;line-height:1.6;}
.cta-sub b{color:#fff;font-weight:700;}
.cta-btn-wrap{position:relative;display:inline-flex;padding:3px;border-radius:22px;background:linear-gradient(135deg,#f7e07a 0%,#d4af37 25%,#8a6516 45%,#2563eb 70%,#a855f7 100%);}
.cta-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:20px 40px;border-radius:19px;font-size:17px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0b1220 0%,#1e3a8a 50%,#312e81 100%);min-height:64px;}
.cta-btn .tg-ic{width:24px;height:24px;display:grid;place-items:center;color:#f7e07a;}
.cta-status-badge{display:none;margin-top:18px;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.45);color:#22c55e;font-weight:800;font-size:12.5px;width:fit-content;margin-left:auto;margin-right:auto;}
.cta-status-badge.show{display:inline-flex;}
.cta-status-badge .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;}
.cta-status-badge .reg-id{font-family:monospace;color:#fff;font-size:13px;}
.footer{background:#fff;color:var(--ink);padding:80px 0 64px;}
.footer-inner{text-align:center;}
.footer-logo{width:100px;height:100px;margin:0 auto 22px;border-radius:26px;overflow:hidden;}
.footer h3{color:var(--ink);font-size:clamp(24px,3.6vw,32px);font-weight:800;margin:0 0 12px;}
.footer .footer-moto{display:inline-block;font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;background:linear-gradient(90deg,#8a6516,#d4af37,#f7e07a,#d4af37,#8a6516);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 18px;}
.footer p{color:var(--muted);font-size:clamp(14.5px,2vw,16px);max-width:52ch;margin:0 auto 36px;line-height:1.7;}
.socials{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.social{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#fff;border:2px solid var(--gold-2);}
.social svg{width:24px;height:24px;}
.social.tg{color:#229ED9;}.social.ig{color:#E1306C;}.social.tt{color:#0f172a;}.social.ph{color:#22c55e;}
.copy-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:230;padding:13px 22px;border-radius:999px;background:linear-gradient(135deg,#0b1220,#1e3a8a);color:#fff;font-weight:800;font-size:13.5px;opacity:0;visibility:hidden;transition:opacity .25s;}
.copy-toast.show{opacity:1;visibility:visible;}
/* Player, Reg, Status, Choice, Announcements, Chat — keeping existing structure intact */
.player-modal{position:fixed;inset:0;z-index:120;background:rgba(5,9,18,.88);backdrop-filter:blur(20px);display:grid;place-items:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .38s;}
.player-modal.open{opacity:1;visibility:visible;}
.player-shell{position:relative;width:100%;max-width:960px;max-height:92vh;background:linear-gradient(160deg,#0b1220 0%,#111c33 100%);border:1px solid rgba(96,165,250,.22);border-radius:28px;padding:22px;display:flex;flex-direction:column;overflow:hidden;}
.player-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;}
.pn-tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#bfdbfe;background:rgba(59,130,246,.2);padding:5px 12px;border-radius:999px;margin-bottom:10px;}
.pn-title{color:#fff;font-size:clamp(14px,2.4vw,18px);font-weight:800;margin:0;}
.player-close{width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;font-size:16px;cursor:pointer;}
.player-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#050a14;}
.player-frame iframe{width:100%;height:100%;border:0;display:block;}
.player-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:24px 4px 6px;margin-top:16px;border-top:1px solid rgba(255,255,255,.08);overflow-y:auto;}
.pl-item{display:flex;gap:13px;align-items:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.04);cursor:pointer;width:100%;text-align:left;border:none;font-family:inherit;}
.pl-thumb{position:relative;width:88px;height:56px;flex:0 0 88px;border-radius:12px;overflow:hidden;background:#111c33;}
.pl-thumb img{width:100%;height:100%;object-fit:cover;}
.pl-title{color:#fff;font-size:13px;font-weight:700;line-height:1.4;display:block;}
.pl-tag{display:inline-block;color:rgba(255,255,255,.5);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-top:5px;background:rgba(255,255,255,.06);padding:2px 8px;border-radius:999px;}
.loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;}
.loading-spinner::before{content:'';width:56px;height:56px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-right-color:#a855f7;border-radius:50%;animation:spin 1s linear infinite;display:block;}
@keyframes spin{to{transform:rotate(360deg);}}
.reg-modal{position:fixed;inset:0;z-index:150;background:rgba(5,9,18,.86);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:14px;opacity:0;visibility:hidden;transition:opacity .35s;overflow-y:auto;}
.reg-modal.open{opacity:1;visibility:visible;}
.reg-shell{position:relative;width:100%;max-width:460px;max-height:calc(100dvh - 28px);overflow-y:auto;background:linear-gradient(160deg,#ffffff 0%,#f8fbff 100%);border-radius:24px;padding:22px;box-shadow:0 50px 100px -40px rgba(0,0,0,.9);transition:max-width .35s var(--ease);}
@media (min-width:700px){.reg-shell{max-width:820px;padding:26px 28px;}}
.reg-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:18px;padding:4px 44px 16px;border-bottom:1px solid var(--line);position:relative;}
.reg-logo{width:54px;height:54px;border-radius:15px;overflow:hidden;box-shadow:0 12px 26px -10px rgba(212,175,55,.75);}
.reg-head h3{margin:2px 0 0;font-size:17px;font-weight:800;color:var(--ink);}
.reg-moto{font-size:8.5px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;background:linear-gradient(90deg,#8a6516,#d4af37,#f7e07a,#d4af37,#8a6516);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.reg-head p{margin:2px 0 0;font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue);}
.reg-close{position:absolute;top:0;right:0;width:34px;height:34px;border-radius:10px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;font-size:14px;font-weight:800;cursor:pointer;}
.reg-progress{display:flex;gap:5px;margin-bottom:16px;}
.reg-progress span{flex:1;height:4px;border-radius:999px;background:#e2eaf7;}
.reg-progress span.done{background:linear-gradient(90deg,#2563eb,#6366f1);}
.reg-progress span.current{background:linear-gradient(90deg,#f7e07a,#d4af37,#8a6516);}
.reg-step{display:none;}
.reg-step.active{display:block;}
.vip-only[hidden]{display:none;}
.reg-vip-field{display:grid;gap:8px;margin:14px 0 0;}
.reg-vip-field>label,.reg-vip-field legend,.reg-vip-contact>label{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}
.reg-vip-field legend{padding:0;margin-bottom:8px;}
.reg-vip-field legend span{color:#dc2626;}
.reg-vip-field legend small,.reg-vip-contact small{font-size:10px;font-weight:600;letter-spacing:0;text-transform:none;}
.reg-vip-subjects{border:0;padding:0;min-width:0;}
.reg-vip-subjects .reg-options{grid-template-columns:repeat(2,minmax(0,1fr));}
.reg-vip-choice{display:flex;align-items:flex-start;gap:8px;padding:10px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;cursor:pointer;}
.reg-vip-choice span{min-width:0;overflow-wrap:anywhere;}
.reg-vip-choice input{flex:none;margin:2px 0 0;accent-color:#2563eb;}
.reg-vip-choice:has(input:checked){border-color:#2563eb;background:#eff6ff;}
.reg-vip-contact{display:grid;gap:8px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line);}
.reg-step-label{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);margin-bottom:6px;}
.reg-step h4{margin:0 0 6px;font-size:17px;font-weight:800;color:var(--ink);}
.reg-step p.hint{margin:0 0 14px;font-size:12.5px;color:var(--muted);}
.reg-input{width:100%;padding:12px 14px;border-radius:12px;background:#fff;border:2px solid var(--line);font-size:14.5px;font-weight:600;color:var(--ink);outline:none;}
.reg-input:focus{border-color:#2563eb;}
.reg-input.error{border-color:#dc2626;background:#fef2f2;}
.reg-error{color:#dc2626;font-size:12px;font-weight:700;margin-top:8px;display:none;}
.reg-error.show{display:block;}
.reg-hint{margin-top:8px;padding:10px 12px;border-radius:10px;background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.25);font-size:11.5px;color:#1e40af;font-weight:600;line-height:1.55;display:none;}
.reg-hint.show{display:block;}
.reg-options{display:grid;gap:8px;}
.reg-options[hidden]{display:none;}
.reg-opt{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:14px;background:#fff;border:2px solid var(--line);cursor:pointer;text-align:left;font-size:13.5px;font-weight:700;color:var(--ink);font-family:inherit;}
.reg-opt.selected{border-color:transparent;background:linear-gradient(135deg,#eaf1ff,#dbeafe);box-shadow:inset 0 0 0 2px #2563eb;}
.reg-opt .ri{font-size:18px;}
.reg-opt .rl{flex:1;}
.reg-opt .rc{font-size:10.5px;font-weight:700;color:var(--muted);}
.reg-summary{background:linear-gradient(135deg,#f8fbff,#ffffff);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:14px;}
.reg-summary .row{display:flex;justify-content:space-between;padding:6px 0;font-size:12.5px;border-bottom:1px dashed var(--line);gap:10px;}
.reg-summary .row:last-child{border-bottom:none;}
.reg-summary .row span:first-child{color:var(--muted);font-weight:800;font-size:10px;text-transform:uppercase;flex:0 0 auto;}
.reg-summary .row span:last-child{font-weight:800;color:var(--ink);text-align:right;overflow-wrap:anywhere;}
.reg-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.pay-cell{background:linear-gradient(135deg,#fff8e1,#fde9a8);border:2px solid rgba(212,175,55,.5);border-radius:14px;padding:12px;text-align:center;min-height:86px;display:flex;flex-direction:column;justify-content:center;gap:4px;}
.pay-cell .label{font-size:9.5px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:#8a6516;}
.pay-cell .val{font-size:15px;font-weight:800;color:#0b1220;word-break:break-all;}
.pay-cell .val.amount{font-size:22px;color:#8a6516;}
.pay-cell .holder{font-size:11px;font-weight:800;color:#7a4f0a;overflow-wrap:anywhere;}
.pay-cell.full{grid-column:1/-1;min-height:auto;padding:12px 14px;}
.pay-cell{position:relative;}
.pay-cell.copyable{cursor:pointer;transition:transform .2s var(--bounce), box-shadow .25s var(--ease), border-color .2s, background .3s;user-select:none;-webkit-tap-highlight-color:transparent;}
.pay-cell.copyable::after{content:'📋';position:absolute;top:6px;right:8px;font-size:12px;line-height:1;opacity:.55;pointer-events:none;transition:opacity .2s, transform .25s var(--bounce);}
.pay-cell.copyable:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(212,175,55,.75);}
.pay-cell.copyable:hover::after{opacity:1;transform:scale(1.15);}
.pay-cell.copyable:active{transform:translateY(0) scale(.98);}
.pay-cell.copyable.copied{background:linear-gradient(135deg,#d1fae5,#a7f3d0) !important;border-color:rgba(16,185,129,.65) !important;}
.pay-cell.copyable.copied::after{content:'✓';color:#059669;font-weight:900;opacity:1;transform:scale(1.2);}
.pay-cell.copyable:focus-visible{outline:2px solid #2563eb;outline-offset:2px;}
.reg-footer{display:flex;gap:8px;margin-top:16px;}
.reg-btn{flex:1;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:800;cursor:pointer;border:none;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;}
.reg-btn[hidden]{display:none;}
.reg-btn.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;}
.reg-btn.primary:disabled{opacity:.5;cursor:not-allowed;}
.reg-btn.ghost{background:#fff;color:var(--ink);border:2px solid var(--line);flex:0 0 auto;padding-left:18px;padding-right:18px;}
.reg-success{text-align:center;padding:8px 0;display:none;}
.reg-success.show{display:block;}
.reg-success .check{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#d1fae5,#a7f3d0);display:grid;place-items:center;margin:0 auto 16px;font-size:34px;color:#059669;}
.reg-success h4{margin:0 0 8px;font-size:19px;font-weight:800;color:var(--ink);}
.reg-success p{margin:0 0 5px;font-size:13.5px;color:var(--muted);}
.reg-success .ref{display:inline-block;margin-top:12px;padding:9px 16px;border-radius:10px;background:#f8fbff;border:1px dashed var(--blue);color:var(--blue);font-size:14px;font-weight:800;letter-spacing:1.2px;cursor:pointer;font-family:inherit;}
.ref-hint{margin-top:8px;font-size:11.5px;font-weight:700;color:var(--muted);text-align:center;}
.reg-step[data-step="7"] .reg-grid{display:grid;grid-template-columns:1fr;gap:20px;}
.reg-col{min-width:0;}
.reg-col-title{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.reg-col-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);}
.reg-col-left .reg-summary{margin-bottom:0;}
.reg-col-right .reg-pay-grid:last-of-type{margin-bottom:0;}
@media (min-width:700px){.reg-step[data-step="7"] .reg-grid{grid-template-columns:1fr 1fr;gap:26px;}}
.sts-modal{position:fixed;inset:0;z-index:160;background:rgba(5,9,18,.86);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .35s;overflow-y:auto;}
.sts-modal.open{opacity:1;visibility:visible;}
.sts-shell{position:relative;width:100%;max-width:470px;max-height:calc(100dvh - 32px);overflow-y:auto;background:linear-gradient(160deg,#ffffff 0%,#f8fbff 100%);border-radius:24px;padding:24px 22px 22px;}
.sts-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line);position:relative;}
.sts-logo{width:54px;height:54px;border-radius:15px;overflow:hidden;box-shadow:0 12px 26px -10px rgba(212,175,55,.75);}
.sts-head h3{margin:6px 0 0;font-size:17px;font-weight:800;color:var(--ink);}
.sts-moto{font-size:8.5px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;background:linear-gradient(90deg,#8a6516,#d4af37,#f7e07a,#d4af37,#8a6516);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.sts-close{position:absolute;top:-4px;right:0;width:34px;height:34px;border-radius:10px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;font-size:14px;font-weight:800;cursor:pointer;}
.sts-id{display:block;width:100%;text-align:center;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#fff8e1,#fde9a8);border:2px dashed rgba(212,175,55,.6);margin-bottom:16px;cursor:pointer;font-family:inherit;}
.sts-id-label{display:block;font-size:9.5px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:#8a6516;margin-bottom:5px;}
.sts-id-val{display:block;font-size:19px;font-weight:800;letter-spacing:2px;color:#0b1220;}
.sts-id-copy{display:block;font-size:9.5px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:#8a6516;opacity:.8;margin-top:6px;}
.sts-badge{display:inline-block;padding:7px 16px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:12px;}
.sts-badge.ok{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;}
.sts-badge.bad{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;}
.sts-badge.wait{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#8a6516;}
.sts-title{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--ink);}
.sts-text{margin:0 0 14px;font-size:13.5px;color:var(--muted);}
.sts-rows{background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:14px;}
.sts-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12.5px;border-bottom:1px dashed var(--line);}
.sts-row:last-child{border-bottom:none;}
.sts-row span:first-child{color:var(--muted);font-weight:800;font-size:10px;text-transform:uppercase;}
.sts-row span:last-child{font-weight:800;color:var(--ink);text-align:right;}
.sts-reason{padding:12px 14px;border-radius:12px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.35);color:#991b1b;font-size:13px;margin-bottom:14px;}
.sts-warn{padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#fff8e1,#fde9a8);border:2px solid rgba(212,175,55,.55);margin-bottom:16px;}
.sts-warn strong{display:block;font-size:12.5px;font-weight:800;color:#8a6516;margin-bottom:8px;}
.sts-warn ul{margin:0;padding-left:18px;}
.sts-warn li{font-size:12.5px;color:#4a3a10;line-height:1.65;font-weight:600;}
.sts-upgrade-wrap{padding:16px 16px 12px;border-radius:16px;border:1px solid rgba(212,175,55,.34);background:linear-gradient(135deg,rgba(247,224,122,.13),rgba(255,255,255,.75));margin:0 0 16px;}
.sts-upgrade-title{font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#8a6516;}
.sts-upgrade-wrap .sts-text{margin:8px 0 12px;}
.sts-btn{width:100%;padding:14px 18px;border-radius:14px;font-size:14.5px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;border:none;font-family:inherit;margin-bottom:9px;}
.sts-btn.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;}
.sts-btn.gold{background:linear-gradient(135deg,#f7e07a,#d4af37);color:#0b1220;}
.sts-btn.ghost{background:#fff;color:var(--ink);border:2px solid var(--line);}
.sts-mini{margin:12px 0 0;font-size:11.5px;color:var(--muted);text-align:center;font-weight:600;}
.sts-loading{text-align:center;padding:40px 10px;}
.sts-spinner{display:inline-block;width:46px;height:46px;border-radius:50%;border:3px solid rgba(37,99,235,.18);border-top-color:#2563eb;border-right-color:#a855f7;animation:spin 1s linear infinite;}
.loading-screen{position:fixed;inset:0;z-index:230;background:linear-gradient(160deg,#0b1220 0%,#131f3d 100%);display:none;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;}
.loading-screen.show{display:flex;}
.rl-logo-ring{position:relative;width:96px;height:96px;display:grid;place-items:center;margin-bottom:18px;}
.rl-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,#f7e07a 90deg,#d4af37 180deg,#8a6516 270deg,transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 5px));animation:spin 1.4s linear infinite;}
.rl-logo{position:relative;width:60px;height:60px;border-radius:50%;overflow:hidden;}
.rl-logo img{width:100%;height:100%;object-fit:cover;}
.rl-text{color:#fff;font-size:15px;font-weight:800;margin-bottom:6px;}
.rl-sub{color:rgba(255,255,255,.7);font-size:12px;font-weight:600;max-width:260px;}
.err-modal{position:fixed;inset:0;z-index:200;background:rgba(5,9,18,.72);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .3s;}
.err-modal.open{opacity:1;visibility:visible;}
.err-box{background:#fff;border-radius:22px;padding:28px 24px 22px;max-width:380px;width:100%;text-align:center;}
.err-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#fee2e2,#fecaca);display:grid;place-items:center;margin:0 auto 16px;font-size:32px;}
.err-box h4{margin:0 0 10px;font-size:18px;font-weight:800;color:var(--ink);}
.err-box p{margin:0 0 20px;font-size:13.5px;color:var(--muted);}
.err-actions{display:flex;gap:8px;}
.err-btn{flex:1;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:800;cursor:pointer;border:none;font-family:inherit;}
.err-btn.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;}
.err-btn.ghost{background:#f8fafc;color:var(--ink);border:2px solid var(--line);}
.choice-modal{position:fixed;inset:0;z-index:170;background:rgba(5,9,18,.85);backdrop-filter:blur(20px);display:flex;align-items:flex-start;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .35s;overflow-y:auto;overscroll-behavior:contain;}
.choice-modal.open{opacity:1;visibility:visible;}
.choice-box{position:relative;width:100%;max-width:440px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;margin:auto 0;background:linear-gradient(160deg,#fff 0%,#f8fbff 100%);border-radius:24px;padding:26px 20px 20px;}
.choice-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:10px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;font-size:14px;font-weight:800;cursor:pointer;border:none;}
.choice-head{text-align:center;padding:6px 40px 18px;margin-bottom:6px;border-bottom:1px solid var(--line);}
.choice-logo{width:56px;height:56px;border-radius:16px;overflow:hidden;margin:0 auto 12px;}
.choice-head h3{margin:0 0 5px;font-size:19px;font-weight:800;color:var(--ink);}
.choice-head p{margin:0;font-size:12.5px;color:var(--muted);font-weight:600;}
.choice-options{display:grid;gap:11px;margin-top:16px;}
.choice-opt{display:flex;align-items:center;gap:14px;padding:15px 16px;border-radius:16px;background:#fff;border:2px solid var(--line);text-align:left;cursor:pointer;font-family:inherit;width:100%;}
.choice-opt:disabled{opacity:.58;cursor:not-allowed;}
.co-icon{flex:0 0 48px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:22px;}
.opt-new .co-icon{background:linear-gradient(135deg,#fff8e1,#fde9a8);}
.opt-vip .co-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);}
.opt-status .co-icon{background:linear-gradient(135deg,#eaf1ff,#dbeafe);}
.co-body{flex:1;min-width:0;}
.co-title{font-size:15px;font-weight:800;color:var(--ink);}
.co-desc{font-size:12px;color:var(--muted);margin-top:4px;font-weight:600;}
.abj-input-modal{position:fixed;inset:0;z-index:175;background:rgba(5,9,18,.85);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .3s;}
.abj-input-modal.open{opacity:1;visibility:visible;}
.abj-input-box{position:relative;width:100%;max-width:420px;background:linear-gradient(160deg,#fff 0%,#f8fbff 100%);border-radius:24px;padding:26px 22px 20px;}
.abj-input-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:10px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;font-size:14px;font-weight:800;cursor:pointer;border:none;}
.abj-input-head{text-align:center;padding:6px 40px 16px;margin-bottom:16px;border-bottom:1px solid var(--line);}
.abj-input-logo{width:56px;height:56px;border-radius:16px;overflow:hidden;margin:0 auto 12px;}
.abj-input-head h3{margin:0 0 5px;font-size:19px;font-weight:800;color:var(--ink);}
.abj-input-head p{margin:0;font-size:12.5px;color:var(--muted);font-weight:600;}
.abj-input-field{width:100%;padding:14px 16px;border-radius:14px;background:#fff;border:2px solid var(--line);font-size:16px;font-weight:700;letter-spacing:1px;color:var(--ink);outline:none;text-transform:uppercase;font-family:inherit;}
.abj-input-error{color:#dc2626;font-size:12px;font-weight:700;margin-top:8px;display:none;}
.abj-input-error.show{display:block;}
.abj-input-actions{display:flex;gap:8px;margin-top:18px;}
.abj-input-btn{flex:1;padding:13px 16px;border-radius:13px;font-size:14.5px;font-weight:800;cursor:pointer;border:none;font-family:inherit;min-height:48px;}
.abj-input-btn.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;}
.abj-input-btn.ghost{background:#fff;color:var(--ink);border:2px solid var(--line);flex:0 0 auto;padding-left:22px;padding-right:22px;}
.abj-confirm-modal{position:fixed;inset:0;z-index:176;background:rgba(5,9,18,.85);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .3s;}
.abj-confirm-modal.open{opacity:1;visibility:visible;}
.abj-confirm-box{position:relative;width:100%;max-width:400px;background:linear-gradient(160deg,#fff 0%,#f8fbff 100%);border-radius:24px;padding:28px 22px 20px;text-align:center;}
.abj-confirm-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#fff8e1,#fde9a8);display:grid;place-items:center;margin:0 auto 14px;font-size:30px;}
.abj-confirm-box h3{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--ink);}
.abj-confirm-box p{margin:0 0 20px;font-size:13.5px;color:var(--muted);}
.abj-chat-fab{position:fixed;right:18px;bottom:18px;z-index:80;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:grid;place-items:center;box-shadow:0 20px 40px -14px rgba(37,99,235,.9),inset 0 0 0 2px rgba(247,224,122,.85);cursor:pointer;transition:transform .35s var(--bounce),opacity .3s;}
.abj-chat-fab svg{width:28px;height:28px;}
.abj-chat-fab .abj-fab-dot{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:11px;font-weight:800;border-radius:999px;display:none;place-items:center;box-shadow:0 0 0 3px #fff,0 6px 12px -4px rgba(34,197,94,.85);line-height:1;}
.abj-chat-fab .abj-fab-dot.show{display:grid;}
.abj-chat-fab .abj-fab-dot.pulse{animation:badgePulse .7s cubic-bezier(.34,1.56,.64,1);}
@keyframes badgePulse{0%{transform:scale(1);}35%{transform:scale(1.45);}70%{transform:scale(.9);}100%{transform:scale(1);}}
.abj-chat-panel{position:fixed;right:18px;bottom:90px;z-index:90;width:370px;max-width:calc(100vw - 36px);height:560px;max-height:calc(100dvh - 130px);background:#fff;border-radius:20px;box-shadow:0 28px 68px -22px rgba(15,23,42,.45);display:flex;flex-direction:column;overflow:hidden;transform:translateY(14px) scale(.96);opacity:0;visibility:hidden;pointer-events:none;transition:transform .32s cubic-bezier(.34,1.56,.64,1), opacity .24s ease, visibility 0s linear .32s;}
.abj-chat-panel.open{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto;transition:transform .32s cubic-bezier(.34,1.56,.64,1), opacity .24s ease, visibility 0s;}
body:has(.abj-chat-panel.open) .abj-chat-fab{opacity:0;transform:scale(.6);pointer-events:none;}
.abj-chat-head{display:flex;align-items:center;gap:11px;padding:14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;flex-shrink:0;}
.abj-chat-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:0 0 40px;box-shadow:0 0 0 2px rgba(247,224,122,.9);}
.abj-chat-avatar img{width:100%;height:100%;object-fit:cover;}
.abj-chat-meta{flex:1;min-width:0;}
.abj-chat-title{font-size:14px;font-weight:800;}
.abj-chat-status{font-size:10.5px;font-weight:700;color:rgba(255,255,255,.85);margin-top:2px;display:flex;align-items:center;gap:6px;}
.abj-chat-status .dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;transition:background .3s, box-shadow .3s, transform .3s;}
.abj-chat-status .dot.online{background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:livePulseDot 2.4s infinite;}
.abj-chat-status .dot.offline{background:#94a3b8;box-shadow:none;animation:none;}
@keyframes livePulseDot{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6);}70%{box-shadow:0 0 0 7px rgba(34,197,94,0);}100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}}
.abj-chat-close{width:32px;height:32px;flex:0 0 32px;border-radius:9px;background:rgba(255,255,255,.14);color:#fff;border:none;display:grid;place-items:center;cursor:pointer;font-size:15px;font-weight:800;}
.abj-chat-body{flex:1;overflow-y:auto;padding:14px 12px;background:linear-gradient(180deg,#f8fbff,#ffffff);display:flex;flex-direction:column;gap:8px;}
.abj-msg{display:flex;gap:8px;max-width:88%;}
.abj-msg.user{align-self:flex-end;flex-direction:row-reverse;}
.abj-msg.admin{align-self:flex-start;}
.abj-msg-bubble{padding:9px 12px;border-radius:14px;font-size:13px;line-height:1.45;word-break:break-word;}
.abj-msg.user .abj-msg-bubble{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-bottom-right-radius:5px;}
.abj-msg.admin .abj-msg-bubble{background:#fff;color:#0f172a;border:1px solid #e6ebf3;border-bottom-left-radius:5px;}
.abj-msg-bubble img{max-width:220px;border-radius:10px;display:block;cursor:pointer;}
.abj-msg-bubble audio{max-width:240px;display:block;}
.abj-msg-bubble a.file{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#1d4ed8;text-decoration:none;background:#eef4ff;padding:6px 10px;border-radius:8px;font-size:12px;}
.abj-msg.user .abj-msg-bubble a.file{background:rgba(255,255,255,.18);color:#fff;}
.abj-msg-time{font-size:9.5px;color:#94a3b8;margin-top:2px;font-weight:600;display:inline-flex;align-items:center;gap:4px;}
.abj-msg-status{display:inline-flex;align-items:center;color:rgba(255,255,255,.7);}
.abj-msg-status svg{width:15px;height:12px;display:block;}
.abj-msg-status.read{color:#5ac8fa;}
.abj-typing-bubble{padding:12px 16px !important;display:inline-flex;gap:4px;align-items:center;background:#fff !important;border:1px solid #e6ebf3 !important;}
.abj-typing-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:typingBounce 1.4s infinite ease-in-out;}
.abj-typing-dot:nth-child(2){animation-delay:.2s;}
.abj-typing-dot:nth-child(3){animation-delay:.4s;}
@keyframes typingBounce{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-5px);opacity:1;}}
.abj-chat-welcome{align-self:stretch;padding:24px 16px 20px;text-align:center;color:#64748b;font-size:12.5px;}
.abj-chat-welcome .abj-welcome-head{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px;}
.abj-chat-welcome .abj-welcome-logo{width:64px;height:64px;border-radius:18px;overflow:hidden;}
.abj-chat-welcome .abj-welcome-logo img{width:100%;height:100%;object-fit:cover;}
.abj-chat-welcome .abj-welcome-title{font-size:15px;font-weight:800;color:#0f172a;}
.abj-chat-welcome .abj-welcome-sub{font-size:12px;color:#64748b;max-width:240px;}
.abj-chat-welcome .abj-welcome-chips{display:flex;flex-direction:column;gap:7px;margin-top:16px;}
.abj-chat-welcome .abj-chip{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:11px;background:#f8fbff;border:1px solid #e6ebf3;color:#0f172a;font-size:12.5px;font-weight:700;text-align:left;cursor:pointer;font-family:inherit;}
.abj-chat-foot{border-top:1px solid #e6ebf3;background:#fff;padding:8px 10px;display:flex;align-items:flex-end;gap:5px;position:relative;}
.abj-chat-input{flex:1;min-height:36px;max-height:120px;padding:8px 11px;border-radius:10px;border:1.5px solid #e6ebf3;background:#f8fbff;font-size:13px;font-weight:500;outline:none;resize:none;font-family:inherit;}
.abj-chat-send{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;display:grid;place-items:center;cursor:pointer;}
@media (max-width:600px){
  .abj-chat-panel{right:12px;left:12px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;height:min(540px, calc(100dvh - 130px));}
  .abj-chat-fab{right:14px;bottom:14px;width:56px;height:56px;}
}
@media (max-width:1024px){.wrap{padding:0 20px;}}
@media (max-width:640px){:root{--header-h:70px;}.wrap{padding:0 18px;}.brand-logo{width:42px;height:42px;}.brand-name{font-size:15px;}.hero{padding:40px 0 60px;}.section{padding:60px 0;}.cur-shell{padding:18px;}.course-stage{grid-template-columns:1fr;}.player-shell{padding:16px;}.reg-shell{padding:18px;}.cta-inner{padding:44px 22px 42px;}.footer{padding:60px 0 52px;}}
@media (max-width:480px){:root{--header-h:66px;}.wrap{padding:0 16px;}.orbit{--item-size:30%;--center-size:28%;--orbit-radius:33%;width:clamp(280px,94vw,400px);}.cur-shell{padding:15px;}}
/* ANNOUNCEMENTS */
.ann-bell{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 55%,#1d4ed8 100%);border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 26px -12px rgba(37,99,235,.65),inset 0 1px 0 rgba(255,255,255,.28),0 0 0 2px rgba(255,255,255,.55);transition:transform .25s var(--bounce),box-shadow .25s var(--ease),filter .2s;}
.ann-bell:hover{transform:translateY(-50%) translateY(-2px);box-shadow:0 18px 34px -14px rgba(37,99,235,.85),inset 0 1px 0 rgba(255,255,255,.35),0 0 0 2px rgba(255,255,255,.75);filter:brightness(1.06);}
.ann-bell:active{transform:translateY(-50%) scale(.96);}
.ann-bell svg{width:22px;height:22px;color:#fff;display:block;transition:transform .3s var(--bounce);}
.ann-bell:hover svg{transform:rotate(-12deg);}
.ann-bell.ringing svg{animation:bellRing 1.2s ease-in-out infinite;}
@keyframes bellRing{0%,100%{transform:rotate(0);}20%{transform:rotate(-15deg);}40%{transform:rotate(12deg);}60%{transform:rotate(-8deg);}80%{transform:rotate(4deg);}}
.ann-dot{position:absolute;top:-5px;right:-5px;min-width:22px;height:22px;padding:0 6px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:11px;font-weight:800;border-radius:999px;display:none;place-items:center;box-shadow:0 0 0 3px #ffffff,0 6px 12px -4px rgba(220,38,38,.9);line-height:1;letter-spacing:.3px;}
.ann-dot.show{display:grid;}
.ann-dot.pulse{animation:annPulse .8s cubic-bezier(.34,1.56,.64,1);}
@keyframes annPulse{0%{transform:scale(1);}35%{transform:scale(1.5);}70%{transform:scale(.9);}100%{transform:scale(1);}}
.ann-modal{position:fixed;inset:0;z-index:190;background:rgba(5,9,18,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:flex-start;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto;}
.ann-modal.open{opacity:1;visibility:visible;}
.ann-box{position:relative;width:100%;max-width:560px;margin:max(36px,7vh) auto 40px;background:linear-gradient(160deg,#ffffff 0%,#f8fbff 100%);border-radius:26px;padding:24px 22px 18px;box-shadow:0 50px 120px -30px rgba(15,23,42,.6),0 0 0 1px rgba(255,255,255,.8) inset;transform:translateY(-20px) scale(.96);opacity:0;transition:transform .5s var(--bounce),opacity .35s;}
.ann-modal.open .ann-box{transform:translateY(0) scale(1);opacity:1;}
.ann-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:12px;background:#eef2f7;color:#475569;border:none;display:grid;place-items:center;font-size:14px;font-weight:800;cursor:pointer;transition:all .25s var(--bounce);z-index:3;}
.ann-close:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:rotate(90deg);}
.ann-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:6px 44px 18px;margin-bottom:14px;border-bottom:1px solid var(--line);}
.ann-head-icon{font-size:34px;line-height:1;margin-bottom:4px;filter:drop-shadow(0 6px 12px rgba(37,99,235,.35));}
.ann-head h3{margin:0;font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.3px;}
.ann-head p{margin:0;font-size:12px;color:var(--muted);font-weight:600;}
.ann-actions-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 4px 12px;}
.ann-readall{padding:9px 14px;border-radius:11px;background:linear-gradient(135deg,#eaf1ff,#dbeafe);color:#2563eb;font-size:12px;font-weight:800;border:1px solid rgba(37,99,235,.25);cursor:pointer;font-family:inherit;transition:all .2s var(--ease);}
.ann-readall:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:transparent;transform:translateY(-1px);}
.ann-readall:disabled{opacity:.45;cursor:not-allowed;}
.ann-count{font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#dc2626;}
.ann-count.none{color:#10b981;}
.ann-list{display:flex;flex-direction:column;gap:10px;max-height:min(58vh,500px);overflow-y:auto;padding:2px;margin:0 -2px;}
.ann-list::-webkit-scrollbar{width:6px;}
.ann-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;}
.ann-item{position:relative;display:flex;gap:12px;padding:14px 18px 14px 20px;border-radius:16px;background:#fff;border:1px solid var(--line);cursor:pointer;transition:all .25s var(--ease);text-align:left;font-family:inherit;width:100%;}
.ann-item:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.35);box-shadow:0 14px 26px -16px rgba(37,99,235,.5);}
.ann-item.unread{background:linear-gradient(135deg,#f8fbff,#ffffff);border-color:rgba(37,99,235,.28);}
.ann-item.unread::before{content:'';position:absolute;left:6px;top:50%;transform:translateY(-50%);width:4px;height:42%;border-radius:4px;background:linear-gradient(180deg,#3b82f6,#2563eb);}
.ann-item.priority-important.unread::before{background:linear-gradient(180deg,#fbbf24,#d97706);}
.ann-item.priority-urgent.unread::before{background:linear-gradient(180deg,#ef4444,#dc2626);}
.ann-item-dot{position:absolute;top:16px;right:14px;width:8px;height:8px;border-radius:50%;background:#3b82f6;opacity:0;transition:opacity .25s;}
.ann-item.unread .ann-item-dot{opacity:1;}
.ann-item.priority-important .ann-item-dot{background:#fbbf24;}
.ann-item.priority-urgent .ann-item-dot{background:#ef4444;}
.ann-item-body{flex:1;min-width:0;}
.ann-item-title{font-size:14.5px;font-weight:800;color:var(--ink);line-height:1.35;padding-right:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ann-item-preview{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ann-item-meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;font-weight:700;color:#94a3b8;flex-wrap:wrap;}
.ann-item-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:9.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;}
.ann-item-pill.important{background:rgba(251,191,36,.16);color:#b45309;}
.ann-item-pill.urgent{background:rgba(239,68,68,.14);color:#dc2626;}
.ann-item-pill.pinned{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#8a6516;}
.ann-empty{text-align:center;padding:44px 20px;color:var(--muted);}
.ann-empty-icon{font-size:46px;margin-bottom:12px;opacity:.55;}
.ann-empty p{margin:0;font-size:13px;font-weight:600;}
.ann-detail-modal{position:fixed;inset:0;z-index:200;background:rgba(5,9,18,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto;}
.ann-detail-modal.open{opacity:1;visibility:visible;}
.ann-detail-box{position:relative;width:100%;max-width:640px;max-height:calc(100dvh - 32px);overflow-y:auto;background:linear-gradient(160deg,#ffffff 0%,#f8fbff 100%);border-radius:26px;padding:34px 28px 28px;box-shadow:0 60px 120px -30px rgba(15,23,42,.65);transform:translateY(20px) scale(.96);opacity:0;transition:transform .5s var(--bounce),opacity .35s;margin:auto;}
.ann-detail-modal.open .ann-detail-box{transform:translateY(0) scale(1);opacity:1;}
.ann-detail-box::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:26px 26px 0 0;background:linear-gradient(90deg,#3b82f6,#6366f1);}
.ann-detail-box.priority-important::before{background:linear-gradient(90deg,#fbbf24,#d97706);}
.ann-detail-box.priority-urgent::before{background:linear-gradient(90deg,#ef4444,#dc2626);}
.ann-detail-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:12px;background:#eef2f7;color:#475569;border:none;display:grid;place-items:center;font-size:15px;font-weight:800;cursor:pointer;transition:all .25s var(--bounce);z-index:3;}
.ann-detail-close:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:rotate(90deg);}
.ann-detail-head{padding:6px 48px 18px 0;margin-bottom:18px;border-bottom:1px dashed var(--line);}
.ann-detail-priority{display:inline-block;padding:5px 12px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;background:rgba(37,99,235,.1);color:#2563eb;margin-bottom:12px;}
.ann-detail-box.priority-important .ann-detail-priority{background:rgba(251,191,36,.18);color:#b45309;}
.ann-detail-box.priority-urgent .ann-detail-priority{background:rgba(239,68,68,.14);color:#dc2626;animation:urgentPulse 1.9s ease-in-out infinite;}
@keyframes urgentPulse{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);}}
.ann-detail-head h2{margin:0 0 12px;font-size:clamp(20px,2.8vw,26px);font-weight:800;color:var(--ink);line-height:1.24;letter-spacing:-.4px;}
.ann-detail-meta{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#94a3b8;flex-wrap:wrap;}
.ann-detail-dot{color:#cbd5e1;}
.ann-detail-scope{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:rgba(37,99,235,.08);color:#2563eb;font-size:10.5px;font-weight:800;letter-spacing:.5px;}
.ann-detail-body{font-size:15px;line-height:1.78;color:#334155;white-space:pre-wrap;word-break:break-word;}
@media (max-width:600px){
  .ann-bell{width:42px;height:42px;border-radius:12px;right:8px;}
  .ann-bell svg{width:20px;height:20px;}
  .ann-box{padding:22px 16px 14px;border-radius:22px;}
  .ann-head h3{font-size:18px;}
  .ann-detail-box{padding:26px 20px 22px;border-radius:22px;}
  .ann-detail-head{padding-right:44px;}
}
.ann-top-badge{position:fixed;top:calc(var(--header-h) + env(safe-area-inset-top));left:0;right:0;z-index:55;display:none;align-items:stretch;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:700;box-shadow:0 10px 30px -18px rgba(15,23,42,.7);border-bottom:1px solid rgba(255,255,255,.12);}
.ann-top-badge.show{display:flex;animation:annSlideDown .45s var(--bounce);}
@keyframes annSlideDown{from{transform:translateY(-100%);opacity:0;}to{transform:translateY(0);opacity:1;}}
.ann-top-badge.priority-important{background:linear-gradient(135deg,#f59e0b,#b45309);}
.ann-top-badge.priority-urgent{background:linear-gradient(135deg,#ef4444,#991b1b);}
.ann-top-inner{flex:1;display:flex;align-items:center;gap:10px;padding:10px 16px;background:transparent;border:none;color:inherit;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;text-align:left;min-width:0;}
.ann-top-icon{flex:0 0 auto;font-size:15px;line-height:1;}
.ann-top-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.2px;}
.ann-top-cta{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.18);font-size:11px;font-weight:800;letter-spacing:.5px;}
.ann-top-dismiss{flex:0 0 40px;background:rgba(0,0,0,.12);border:none;color:inherit;cursor:pointer;font-size:14px;font-weight:800;display:grid;place-items:center;transition:background .2s;}
.ann-top-dismiss:hover{background:rgba(0,0,0,.28);}
body.has-ann-badge{padding-top:calc(var(--header-h) + env(safe-area-inset-top) + 44px);}
@media (max-width:640px){
  .ann-top-inner{padding:9px 12px;font-size:12px;}
  .ann-top-cta{display:none;}
  body.has-ann-badge{padding-top:calc(var(--header-h) + env(safe-area-inset-top) + 40px);}
}
.vip-modal{position:fixed;inset:0;z-index:210;background:rgba(5,9,18,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;overflow-y:auto;}
.vip-modal.open{opacity:1;visibility:visible;}
.vip-dialog{position:relative;width:min(100%,700px);max-height:calc(100dvh - 32px);overflow-y:auto;background:linear-gradient(160deg,#fff,#f7faff);border-radius:26px;padding:28px;box-shadow:0 40px 100px -28px rgba(15,23,42,.68);transform:translateY(16px) scale(.98);transition:transform .25s var(--ease);margin:auto;}
.vip-modal.open .vip-dialog{transform:translateY(0) scale(1);}
.vip-dialog-head{position:relative;padding-right:48px;margin-bottom:22px;}
.vip-dialog-head h2{margin:12px 0 6px;font-size:clamp(22px,4vw,30px);line-height:1.2;letter-spacing:-.6px;}
.vip-dialog-head p{margin:0;color:var(--muted);font-size:13px;}
.vip-close{position:absolute;right:0;top:0;width:40px;height:40px;border-radius:12px;background:#eef2f7;color:#475569;font-weight:800;}
.vip-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(99,102,241,.12));color:#1d4ed8;font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;}
.vip-form{display:grid;gap:18px;}
.vip-form[hidden]{display:none;}
.vip-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vip-form-row{display:grid;gap:8px;min-width:0;}
.vip-form-row[hidden],.vip-submit[hidden]{display:none;}
.vip-form-row>label,.vip-form-row legend{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#475569;}
.vip-form-row>label span,.vip-form-row legend span{color:#dc2626;}
.vip-form-row small,.vip-form-row legend small{font-size:10px;font-weight:600;letter-spacing:0;text-transform:none;color:#64748b;}
.vip-form-row input,.vip-form-row textarea,.vip-form-row select{width:100%;min-height:46px;border:1px solid rgba(148,163,184,.38);border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;font-size:13px;}
.vip-form-row input:focus,.vip-form-row textarea:focus,.vip-form-row select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.12);}
.vip-gender,.vip-subjects{border:0;padding:0;margin:0;}
.vip-gender{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.vip-gender legend,.vip-subjects legend{width:100%;margin-bottom:8px;}
.vip-gender label{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#334155;}
.vip-gender input,.vip-option input{accent-color:#2563eb;}
.vip-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.vip-option{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid rgba(148,163,184,.28);border-radius:11px;background:#fff;font-size:12px;font-weight:700;color:#334155;cursor:pointer;}
.vip-option input{width:16px;height:16px;flex:none;margin:1px 0 0;cursor:pointer;}
.vip-option:has(input:checked){border-color:rgba(37,99,235,.45);background:#eff6ff;}
.vip-select-all-option{grid-column:1/-1;align-items:center;background:#f1f5f9;}
.vip-select-all-option span{color:#1e3a8a;font-weight:800;}
.vip-option-grid>p{grid-column:1/-1;margin:0;color:#64748b;font-size:12px;}
.vip-payment-box{display:grid;gap:13px;padding:16px;border-radius:17px;background:linear-gradient(145deg,#f1f5ff,#f8fafc);border:1px solid rgba(37,99,235,.14);}
.vip-payment-box h3{margin:0;font-size:15px;color:#1e3a8a;}
.vip-payment-box>p{margin:-8px 0 0;color:#64748b;font-size:11.5px;line-height:1.6;}
.vip-payment-amount{padding:11px 13px;border-radius:11px;background:#fff;color:#475569;font-size:12px;font-weight:700;}
.vip-payment-amount strong{color:#0f172a;font-size:16px;}
.vip-account-info{display:grid;gap:7px;padding:11px 13px;border:1px solid rgba(148,163,184,.2);border-radius:11px;background:#fff;}
.vip-account-info>div{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;}
.vip-account-info span{color:#64748b;font-weight:700;}
.vip-account-info strong{text-align:right;overflow-wrap:anywhere;}
.vip-submit{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:13px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;font-weight:800;letter-spacing:.3px;box-shadow:0 18px 30px -20px rgba(14,116,144,.75);}
.vip-invite-link{text-decoration:none;}
.vip-submit:hover{transform:translateY(-1px);}
.vip-submit:disabled{opacity:.58;cursor:not-allowed;transform:none;}
.vip-msg{min-height:20px;margin:0;font-size:12px;font-weight:700;line-height:1.5;}
.vip-msg.error{color:#b91c1c;}
.vip-msg.success{color:#166534;}
.vip-complete{padding:28px 20px;border:1px solid rgba(22,163,74,.2);border-radius:16px;background:linear-gradient(145deg,#f0fdf4,#fff);text-align:center;}
.vip-complete[hidden]{display:none;}
.vip-complete-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:24px;font-weight:900;}
.vip-complete h3{margin:0 0 6px;color:#14532d;font-size:20px;}
.vip-complete p{margin:0 0 18px;color:#475569;font-size:13px;line-height:1.6;}
.vip-complete .vip-submit{width:100%;}
.vip-invite{display:block;padding:13px 15px;border-radius:13px;background:#dcfce7;color:#166534;font-weight:800;text-align:center;border:1px solid #86efac;}
.vip-invite[hidden]{display:none;}
.vip-dialog{width:min(100%,760px);}
.vip-progress-head{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;}
.vip-progress-head span:first-child{color:#1d4ed8;}
.vip-progress{display:flex;gap:5px;margin:10px 0 22px;}
.vip-progress span{height:5px;flex:1;border-radius:999px;background:#e2e8f0;}
.vip-progress span.done{background:linear-gradient(90deg,#2563eb,#6366f1);}
.vip-progress span.current{background:linear-gradient(90deg,#f7e07a,#d4af37,#8a6516);}
.vip-step{display:none;min-height:285px;}
.vip-step.active{display:block;animation:vipStepIn .22s ease-out;}
@keyframes vipStepIn{from{opacity:.45;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
.vip-step-kicker{margin-bottom:6px;color:#2563eb;font-size:9px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;}
.vip-step>h3{margin:0 0 6px;color:#0f172a;font-size:20px;letter-spacing:-.3px;}
.vip-step>p{margin:0 0 18px;color:#64748b;font-size:12px;line-height:1.6;}
.vip-step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px;}
.vip-step-btn{min-height:44px;padding:11px 17px;border-radius:12px;font:inherit;font-size:12px;font-weight:800;}
.vip-step-btn.primary{margin-left:auto;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;box-shadow:0 15px 28px -20px rgba(14,116,144,.75);}
.vip-step-btn.secondary{background:#eef2f7;color:#475569;}
.vip-step-btn:disabled{opacity:.55;cursor:not-allowed;}
.vip-choice-grid{display:flex;gap:10px;flex-wrap:wrap;}
.vip-choice-grid label{display:inline-flex;align-items:center;gap:8px;min-width:120px;padding:12px 15px;border:1px solid rgba(148,163,184,.3);border-radius:12px;background:#fff;color:#334155;font-size:13px;font-weight:700;cursor:pointer;}
.vip-choice-grid input{accent-color:#2563eb;}
.vip-gender{display:block;}
.vip-gender legend{margin-bottom:9px;}
.vip-payment-box h4{margin:0;font-size:14px;color:#1e3a8a;}
.vip-screenshot-upload{margin-top:16px;padding:14px;border:1px dashed rgba(37,99,235,.35);border-radius:14px;background:#f8faff;}
.vip-screenshot-upload[hidden]{display:none;}
.vip-screenshot-upload h4{margin:0;color:#1e3a8a;font-size:14px;}
.vip-screenshot-upload>p{margin:0;color:#64748b;font-size:12px;line-height:1.55;}
.vip-receipt-preview{max-height:260px;overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:#fff;color:#475569;font-size:12px;}
.vip-receipt-preview[hidden]{display:none;}
.vip-receipt-preview img{display:block;width:100%;max-height:260px;object-fit:contain;}
.vip-screenshot-upload #vipScreenshotSubmit:disabled{opacity:.55;cursor:not-allowed;}
.vip-screenshot-upload .vip-submit,.vip-status-check{width:100%;margin-top:10px;}
.vip-step .vip-msg{margin-top:12px;}
.vip-summary{display:grid;gap:0;margin:14px 0;padding:6px 13px;border:1px solid rgba(148,163,184,.2);border-radius:13px;background:#f8fafc;}
.vip-summary>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.16);font-size:11px;}
.vip-summary>div:last-child{border-bottom:0;}
.vip-summary span{color:#64748b;font-weight:700;}
.vip-summary strong{color:#0f172a;text-align:right;overflow-wrap:anywhere;}
@media (max-width:900px){.tst-wrap{padding:0 56px;}.tst-card{padding:34px 30px 30px;}}
@media (max-width:640px){.tst-wrap{padding:0 4px;}.tst-viewport{padding:4px;border-radius:22px;}.tst-slide{padding:0 3px;}.tst-frame{border-radius:22px;}.tst-card{padding:26px 22px 24px;border-radius:20px;}.tst-quote{font-size:72px;top:6px;right:14px;}.tst-top{gap:12px;margin-bottom:14px;padding-bottom:14px;}.tst-avatar{width:50px;height:50px;flex:0 0 50px;}.tst-from{font-size:14.5px;}.tst-subject{font-size:9.5px;padding:3px 9px;letter-spacing:1px;}.tst-stars{font-size:13px;letter-spacing:2px;margin-top:5px;}.tst-text{font-size:13.5px;line-height:1.72;}.tst-arrow{display:none;}.tst-dots{margin-top:18px;gap:7px;}.tst-dots .dot{width:9px;height:9px;}.tst-dots .dot.active{width:26px;}.tst-counter{font-size:10.5px;letter-spacing:1.2px;margin-top:10px;}.vip-dialog{padding:22px 18px;border-radius:22px;}.vip-form-grid{grid-template-columns:1fr;}.vip-option-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:380px){.tst-card{padding:22px 16px 20px;border-radius:18px;}.tst-quote{font-size:56px;top:2px;right:10px;}.tst-top{gap:10px;margin-bottom:12px;padding-bottom:12px;}.tst-avatar{width:44px;height:44px;flex:0 0 44px;}.tst-from{font-size:13.5px;}.tst-text{font-size:13px;}}
