:root{--night:#140A2E;--night2:#1E1145;--pink:#FF2E88;--cyan:#22D3EE;--sun:#FFC233;--bone:#FFF6E5;--mist:#B9A9E8;--line:rgba(255,246,229,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--bone);font:400 17px/1.6 "Rubik",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--cyan)}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3,.disp{font-family:"Bungee",Impact,sans-serif;font-weight:400;line-height:1;margin:0;letter-spacing:.01em}
h2{font-size:clamp(2rem,5.4vw,3.6rem)}
h3{font-size:1.25rem}
p{margin:.6em 0}
.sub{color:var(--mist)}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(20,10,46,.9);backdrop-filter:blur(10px);border-bottom:3px solid var(--pink)}
.nav .wrap{display:flex;align-items:center;gap:16px;height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--bone);text-decoration:none;font:1.2rem "Bungee",sans-serif}
.brand img{width:34px;height:34px}
.nav nav{margin-left:auto;display:flex;gap:6px}
.nav nav a{color:var(--bone);text-decoration:none;font-weight:700;font-size:.95rem;padding:8px 12px;border-radius:8px}
.nav nav a:hover{background:var(--night2)}
.nav nav a[aria-current=page]{background:var(--cyan);color:var(--night)}
.nav nav a.cta{background:var(--pink);color:#fff}
/* sticker buttons */
.btn{display:inline-block;font:1rem "Bungee",sans-serif;text-decoration:none;color:var(--night);background:var(--sun);border:3px solid var(--night);padding:12px 20px;border-radius:12px;box-shadow:5px 5px 0 var(--pink);cursor:pointer;transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--pink)}
.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--pink)}
.btn.alt{background:var(--cyan);box-shadow:5px 5px 0 var(--sun)}
.btn.alt:hover{box-shadow:7px 7px 0 var(--sun)}
.btn:disabled{opacity:.6;cursor:wait}
/* hero */
.hero{position:relative;padding:56px 0 0;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70%;height:120%;background:conic-gradient(from 200deg,var(--pink),var(--sun),var(--cyan),var(--pink));filter:blur(90px);opacity:.28;pointer-events:none}
.slabs{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:6px}
.slab{display:inline-block;font:clamp(2.4rem,10.5vw,7.2rem)/.92 "Bungee",sans-serif;padding:.08em .22em .02em;color:var(--night);transform:rotate(-3deg)}
.slab.s1{background:var(--sun)}
.slab.s2{background:var(--pink);color:#fff;transform:rotate(2deg);margin-left:4vw}
.slab.s3{background:var(--cyan);transform:rotate(-1.5deg)}
.hero .lede{position:relative;max-width:560px;font-size:1.15rem;margin:30px 0 0}
.hero .btns{position:relative;display:flex;flex-wrap:wrap;gap:16px;margin-top:26px}
@media (prefers-reduced-motion:no-preference){
  .slab{animation:pop .7s cubic-bezier(.2,1.6,.4,1) both}.slab.s2{animation-delay:.12s}.slab.s3{animation-delay:.24s}
  @keyframes pop{from{opacity:0;transform:translateY(40px) rotate(-12deg) scale(.8)}}
}
/* marquee */
.marquee{margin-top:46px;background:var(--sun);color:var(--night);border-block:3px solid var(--night);transform:rotate(-1.5deg);overflow:hidden;white-space:nowrap}
.marquee div{display:inline-block;padding:12px 0;font:1.3rem "Bungee",sans-serif}
.marquee span{margin:0 18px}
@media (prefers-reduced-motion:no-preference){.marquee div{animation:slide 22s linear infinite}@keyframes slide{to{transform:translateX(-50%)}}}
/* banners */
.banners{display:flex;gap:clamp(12px,2.6vw,28px);padding:38px 4px 40px;overflow-x:auto;border-top:8px solid var(--sun);margin-top:54px}
.banner{flex:0 0 auto;width:clamp(100px,16vw,150px);text-decoration:none;color:#fff;transform-origin:top center;position:relative;margin-top:-38px}
.banner .cloth{height:clamp(190px,26vw,250px);background:var(--c);clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%);display:flex;flex-direction:column;align-items:center;padding-top:28px;box-shadow:inset 0 -70px 60px -40px rgba(0,0,0,.35)}
.banner .tag{font:clamp(1.3rem,3vw,2rem) "Bungee",sans-serif;text-shadow:3px 3px 0 rgba(0,0,0,.3)}
.banner .nm{font-size:.78rem;font-weight:800;opacity:.95;margin-top:8px;text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:0 8px}
.banner.open .cloth{background:repeating-linear-gradient(135deg,var(--night2) 0 12px,#2A1960 12px 24px);border:3px dashed var(--sun);clip-path:none;height:clamp(160px,22vw,210px)}
.banner.open .tag{color:var(--sun);font-size:2.6rem}
@media (prefers-reduced-motion:no-preference){.banner{animation:sway 5s ease-in-out infinite alternate}.banner:nth-child(2n){animation-delay:-1.7s}.banner:nth-child(3n){animation-delay:-3.3s}@keyframes sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}}
/* sections */
section{padding:72px 0}
.head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:28px}
.head p{max-width:500px;margin:0}
.kick{display:inline-block;font:800 .85rem "Rubik",sans-serif;color:var(--night);background:var(--cyan);padding:3px 10px;border-radius:6px;transform:rotate(-2deg);margin-bottom:12px}
.band-pink{background:var(--pink)}
.band-pink .sub{color:#FFE0EF}
/* clan cards */
.clans{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.clan{position:relative;background:var(--night2);border:3px solid var(--c);border-radius:18px;padding:24px;box-shadow:8px 8px 0 var(--c);transition:transform .15s}
.clan:hover{transform:translate(-3px,-3px) rotate(-.5deg)}
.clan .t{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.clan .t b{font:1.6rem "Bungee",sans-serif}
.clan .tg{font:800 .8rem "Rubik",sans-serif;background:var(--c);color:#fff;padding:2px 8px;border-radius:6px}
.clan .meta{font-size:.92rem;color:var(--mist);margin:8px 0 0}
.clan .links{display:flex;gap:16px;margin-top:12px;font-weight:800}
.founding{position:absolute;top:-14px;right:16px;font:.72rem "Bungee",sans-serif;color:var(--night);background:var(--sun);padding:4px 10px;border-radius:8px;transform:rotate(4deg);border:2px solid var(--night)}
/* stats strip */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stat{background:var(--night2);border-radius:16px;padding:20px;text-align:center;border:2px solid var(--line)}
.stat b{display:block;font:clamp(2rem,6vw,3.2rem) "Bungee",sans-serif;color:var(--sun)}
.stat span{font-weight:700;color:var(--mist)}
/* scoreboard */
.board{display:grid;gap:12px}
.row{display:grid;grid-template-columns:56px 1fr repeat(4,56px) 80px;align-items:center;gap:6px;background:var(--night2);border-radius:14px;padding:12px 16px;border-left:10px solid var(--c);font-variant-numeric:tabular-nums}
.row.top{background:linear-gradient(90deg,rgba(255,194,51,.22),var(--night2) 60%);box-shadow:0 0 0 3px var(--sun)}
.row .pos{font:1.6rem "Bungee",sans-serif;color:var(--mist)}
.row.top .pos{color:var(--sun)}
.row .nm{font:1.15rem "Bungee",sans-serif}
.row .n{text-align:center;font-weight:700}
.row .pts{text-align:right;font:1.6rem "Bungee",sans-serif;color:var(--cyan)}
.row.hd{background:none;border:0;padding:0 16px;font:800 .75rem "Rubik",sans-serif;color:var(--mist);text-transform:uppercase;letter-spacing:.08em}
.row.hd .pts{font:inherit;color:inherit}
.vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;background:var(--night2);border-radius:16px;padding:18px;border:2px solid var(--line)}
.vs .side{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.vs .chip{font:1.1rem "Bungee",sans-serif;background:var(--c);color:#fff;padding:8px 14px;border-radius:10px;min-width:96px}
.vs .side.win .chip{box-shadow:0 0 0 3px var(--sun),0 0 24px var(--sun)}
.vs .mid{font:1.6rem "Bungee",sans-serif;color:var(--pink)}
.vs .meta{grid-column:1/-1;text-align:center;font-size:.9rem;color:var(--mist)}
.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.empty{border:3px dashed var(--line);padding:24px;border-radius:16px;color:var(--mist);text-align:center}
/* events */
.events{display:grid;gap:16px}
.ev{display:grid;grid-template-columns:100px 1fr;gap:18px;background:var(--night2);border-radius:18px;padding:20px;border:2px solid var(--line)}
.ev .day{background:var(--pink);color:#fff;border-radius:14px;text-align:center;padding:12px 6px;transform:rotate(-3deg);align-self:start}
.ev .day b{display:block;font:2.4rem/1 "Bungee",sans-serif}
.ev .day span{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}
.prize{display:inline-block;margin-top:8px;font-weight:800;color:var(--night);background:var(--sun);padding:3px 10px;border-radius:6px}
/* charter */
.charter{counter-reset:art;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.art{counter-increment:art;background:var(--night2);border-radius:18px;padding:22px 22px 18px;position:relative;border:2px solid var(--line)}
.art::before{content:counter(art);position:absolute;top:-18px;left:18px;width:44px;height:44px;display:grid;place-items:center;font:1.3rem "Bungee",sans-serif;background:var(--cyan);color:var(--night);border-radius:12px;transform:rotate(-6deg);border:3px solid var(--night)}
.art h3{margin-top:14px}
.art p{color:var(--mist);margin:.4em 0 0;font-size:.97rem}
/* form */
.panel{background:var(--bone);color:var(--night);border-radius:24px;padding:clamp(22px,4vw,40px);box-shadow:10px 10px 0 var(--cyan)}
.panel h2{color:var(--night)}
.panel .sub{color:#5B4B8A}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:20px}
label{display:block;font-weight:800;font-size:.9rem;margin-bottom:5px}
input,textarea{width:100%;background:#fff;border:3px solid var(--night);color:var(--night);font:inherit;padding:11px 12px;border-radius:12px}
input:focus,textarea:focus{outline:none;box-shadow:4px 4px 0 var(--pink)}
.full{grid-column:1/-1}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:700}
.check input{width:auto;margin-top:6px}
.hp{position:absolute;left:-9999px}
.msg{grid-column:1/-1;padding:12px 14px;border-radius:12px;display:none;font-weight:700}
.msg.ok{display:block;background:#D7FBE8;border:3px solid #10B981}
.msg.err{display:block;background:#FFE0EA;border:3px solid var(--pink)}
.panel .btn{box-shadow:5px 5px 0 var(--pink)}
footer{padding:40px 0 56px;color:var(--mist);font-size:.92rem;border-top:3px solid var(--pink)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
footer a{color:var(--bone)}
@media (max-width:720px){
  .nav nav a{padding:8px 8px;font-size:.88rem}.brand span{display:none}
  form{grid-template-columns:1fr}.strip{grid-template-columns:1fr 1fr 1fr;gap:8px}.stat{padding:14px 6px}
  .row{grid-template-columns:36px 1fr 40px 60px;padding:12px}.row .n.hide{display:none}
  .ev{grid-template-columns:72px 1fr}.ev .day b{font-size:1.8rem}
  section{padding:56px 0}
}
