:root{
--bg:#100320;--bg-2:#1a0730;--panel:#221238;--panel-2:#2d1443;
--text:#f8f5fc;--muted:#b2a7c1;--lime:#9ee806;--violet:#ad3df7;--orange:#ff6b21;
--line:rgba(224,213,239,.15);--shell:1240px;
--head:"Nunito Sans","Segoe UI",Arial,sans-serif;--body:Archivo,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16.5px;line-height:1.7}
a{color:inherit}img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-family:var(--head);font-weight:800;letter-spacing:-.025em}
.shell{width:min(var(--shell),calc(100% - 36px));margin-inline:auto}
.kicker{margin:0;color:var(--lime);font-family:var(--head);font-size:11.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;font-family:var(--head);font-weight:800;font-size:15.5px;text-decoration:none}
.btn-main{background:var(--lime);color:#100320}.btn-main:hover{background:#b0fb18}
.btn-ghost{border:1px solid var(--line)}
.top{position:sticky;top:0;z-index:20;background:rgba(16,3,32,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:26px;height:74px}
.top-in img{width:112px;height:41px;object-fit:contain}
.top nav{margin-left:auto;display:flex;gap:20px;font-family:var(--head);font-size:14px;font-weight:600;color:var(--muted)}
.top nav a{text-decoration:none}.top nav a:hover{color:var(--lime)}
.top .btn{min-height:42px;padding:0 20px;font-size:14px}
/* hero: copy left, mascot right, matrix strip underneath */
.hero{position:relative;overflow:hidden;background:var(--bg-2);padding:52px 0 0}
.hero-bg{position:absolute;left:0;right:0;top:0;width:100%;height:100%;object-fit:cover;opacity:.2;z-index:0}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:44px;align-items:end}
.hero-copy{padding-bottom:46px}
.hero h1{margin:14px 0 18px;font-size:clamp(33px,4.6vw,56px);line-height:1.03}
.hero .lead{margin:0 0 26px;max-width:56ch;color:var(--muted);font-size:18.5px}
.acts{display:flex;flex-wrap:wrap;gap:14px}
.age{margin:22px 0 0;color:#8d8299;font-family:var(--head);font-size:13px}
.hero-art img{width:100%;max-width:310px;margin-inline:auto}
/* matrix strip */
.matrix{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.matrix-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}
.matrix-in div{padding:24px 22px 26px;background:var(--bg)}
.matrix-in span{display:block;font-family:var(--head);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.matrix-in span.open{color:var(--orange)}
.matrix-in b{display:block;margin:8px 0 6px;font-family:var(--head);font-size:17px;font-weight:800}
.matrix-in p{margin:0;color:var(--muted);font-size:14.5px}
/* wide sections */
.sec{padding:54px 0;border-bottom:1px solid var(--line)}
.sec h2{margin:12px 0 18px;font-size:clamp(25px,2.9vw,38px);line-height:1.13}
.sec p{color:var(--muted)}
.sec-lead{max-width:70ch;margin:0 0 26px;font-size:18px}
.wide-table{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse;font-size:16px}
.wide-table table.tbl{min-width:560px}
table.tbl th,table.tbl td{padding:15px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--muted)}
table.tbl th{font-family:var(--head);font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
table.tbl td:first-child{color:var(--text);font-family:var(--head);font-weight:700;white-space:nowrap}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.trio section{padding:24px;background:var(--panel)}
.trio h3{margin:0 0 10px;font-size:18.5px}
.trio p{margin:0 0 10px;font-size:15.5px}
.trio ul{margin:0;padding-left:20px;color:var(--muted);font-size:15.5px}
.trio li{margin-bottom:6px}
.side{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:44px;align-items:start}
.side .art img{width:100%;max-width:210px;margin-inline:auto}
.rules{margin:6px 0 0;padding:0;list-style:none;counter-reset:r}
.rules li{counter-increment:r;padding:20px 0 20px 54px;position:relative;border-top:1px solid var(--line);color:var(--muted)}
.rules li::before{content:counter(r,decimal-leading-zero);position:absolute;left:0;top:20px;font-family:var(--head);font-size:16px;font-weight:800;color:var(--violet)}
.rules b{display:block;color:var(--text);font-family:var(--head);font-size:17.5px;margin-bottom:5px}
.callout{margin:26px 0 0;padding:22px 24px;background:var(--panel-2);border-left:3px solid var(--orange)}
.callout p{margin:0}
.faq{max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{margin:0;font-size:18px}
.faq summary i{font-style:normal;color:var(--lime);font-family:var(--head);font-size:22px;line-height:1}
.faq details[open] summary i{color:var(--orange)}
.faq details>p{margin:0 0 22px;max-width:70ch}
.close{padding:54px 0;background:var(--panel-2)}
.close-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px}
.close-in h2{margin:10px 0 8px;font-size:clamp(24px,2.6vw,32px)}
.close-in p{margin:0;color:var(--muted);max-width:620px}
.foot{padding:40px 0 48px;color:var(--muted);font-family:var(--head);font-size:14px}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.foot-top img{width:106px;height:39px;object-fit:contain}
.foot nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:18px;color:var(--text)}
.foot nav a{text-decoration:none}.foot nav a:hover{color:var(--lime)}
.foot p{max-width:880px;margin:12px 0 0}
.page{padding:54px 0 46px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.page h1{margin:12px 0 16px;font-size:clamp(29px,4vw,46px);line-height:1.07}
.page>.shell>p{margin:0;max-width:64ch;color:var(--muted);font-size:18px}
.doc{padding:44px 0 12px}
.doc-in{display:grid;grid-template-columns:minmax(0,236px) minmax(0,1fr);gap:50px;align-items:start}
.doc-nav{position:sticky;top:100px;padding-top:20px;border-top:2px solid var(--violet)}
.doc-nav p{margin:0 0 12px;color:var(--violet);font-family:var(--head);font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.doc-nav ol{margin:0;padding-left:20px;color:var(--muted);font-family:var(--head);font-size:15px}
.doc-nav li{margin-bottom:8px}.doc-nav a{text-decoration:none}.doc-nav a:hover{color:var(--lime)}
.doc-body section{padding-bottom:32px}
.doc-body section+section{padding-top:28px;border-top:1px solid var(--line)}
.doc-body h2{margin:0 0 14px;font-size:clamp(22px,2.3vw,29px)}
.doc-body h3{margin:20px 0 10px;font-size:18px}
.doc-body p,.doc-body ul{color:var(--muted);max-width:70ch}
.doc-body p{margin:0 0 14px}.doc-body ul{margin:0 0 16px;padding-left:22px}
.doc-body li{margin-bottom:8px}.doc-body strong{color:var(--text)}
@media(max-width:1080px){.matrix-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){
.hero-in,.side,.doc-in,.trio{grid-template-columns:minmax(0,1fr);gap:28px}
.doc-nav{position:static}.side .art{order:-1}}
@media(max-width:700px){
.top nav{display:none}
.hero{padding-top:38px}.hero-copy{padding-bottom:26px}.hero-art{order:-1}.hero-art img{max-width:230px}
.matrix-in{grid-template-columns:minmax(0,1fr)}
.acts a,.close-in a{width:100%}
.rules li{padding-left:0;padding-top:38px}.rules li::before{top:16px}
.doc-body table.tbl{display:block}
.doc-body table.tbl thead{display:none}
.doc-body table.tbl tbody,.doc-body table.tbl tr,.doc-body table.tbl td{display:block;width:100%}
.doc-body table.tbl tr{padding:12px 0;border-bottom:1px solid var(--line)}
.doc-body table.tbl td{border:0;padding:2px 0;white-space:normal}
.foot nav{margin-left:0}}
