@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{color-scheme:dark;background:#090b19;color:#f3f1ff;font-family:Manrope,'Segoe UI',sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px;overflow-x:clip}
.world-light{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 65% 45%,#34226555,transparent 55%),radial-gradient(ellipse at 28% 55%,#1b306044,transparent 60%),linear-gradient(145deg,#0d1025,#090a17 80%);pointer-events:none}
.stars{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#b9beff;opacity:.3;animation:twinkle 6s infinite alternate}
main{min-height:100svh;display:grid;place-items:center;padding:30px 20px}
.brand-center{position:relative;text-align:center;width:100%;padding-bottom:28px;animation:appear .9s both}
h1{margin:0 0 30px;font-size:clamp(60px,11.5vw,160px);line-height:1.08;letter-spacing:-.07em;font-weight:800;white-space:nowrap;color:#f5f2ff;text-shadow:0 4px 70px #8d75f01c}
h1 span{display:inline-block;padding-right:.14em;margin-right:-.14em;background:linear-gradient(110deg,#d3b7ff 10%,#9a93ff 63%,#7e9aff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
#copy-address{display:inline-flex;align-items:center;justify-content:center;gap:15px;max-width:100%;padding:13px 19px;border:1px solid #aa94ff29;border-radius:8px;background:#9a88ee08;color:#aaa8c7;font:500 clamp(11px,1.3vw,16px)/1.6 Manrope,'Segoe UI',sans-serif;letter-spacing:.3px;cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .2s;-webkit-tap-highlight-color:transparent}
#copy-address:hover{background:#9a88ee15;color:#ded3ff;border-color:#aa94ff5c;transform:translateY(-2px)}
#copy-address:active{transform:translateY(0)}
#copy-address:focus-visible{outline:2px solid #b7a0ff;outline-offset:6px}
#copy-address svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#copy-address .check-icon{display:none}
#copy-address.copied .copy-icon{display:none}
#copy-address.copied .check-icon{display:block}
#copy-address.copied{color:#d2c1ff;border-color:#aa94ff65}
.copy-status{position:absolute;top:100%;left:0;width:100%;font-size:11px;color:#a69bc8;min-height:18px}
@keyframes twinkle{from{opacity:.15}to{opacity:.55}}
@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){h1{font-size:clamp(55px,14.5vw,86px);margin-bottom:25px}#copy-address{gap:12px;padding:12px 13px;font-size:11px;letter-spacing:0}.brand-center{padding-bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.portrait{position:relative;width:min(425px,80vw);aspect-ratio:1 / .72;height:auto;margin:0 auto -28px;pointer-events:none}
.portrait img{position:absolute;left:0;bottom:-23%;width:100%;height:auto;mask-image:linear-gradient(to bottom,#000 0%,#000 53%,transparent 88%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 53%,transparent 88%)}
.portrait-glow{position:absolute;inset:3% -6% -10%;background:radial-gradient(ellipse,#7840dd33,transparent 67%);filter:blur(25px)}
h1{position:relative;z-index:1}
@media(max-width:600px){.portrait{margin-bottom:-15px;width:min(330px,84vw)}}
@media(max-height:650px) and (min-width:601px){.portrait{width:300px}h1{font-size:90px}main{padding-block:20px}}

/* The same hero becomes a compact, pinned brand while the offers scroll past. */
main{display:block;min-height:0;padding:0}
.hero-spacer{height:100svh}
.brand-center{position:fixed;top:0;left:0;z-index:12;width:100%;padding:0 20px 28px;transform-origin:50% 0;transform:translate3d(var(--hero-x,0px),var(--hero-y,18vh),0) scale(var(--hero-scale,1));animation:none;pointer-events:none;will-change:transform}
#copy-address{pointer-events:auto;opacity:var(--ip-opacity,1)}
.copy-status{opacity:var(--ip-opacity,1)}
.scroll-shade{position:fixed;inset:0 0 auto;height:180px;background:linear-gradient(#090b19 25%,#090b19ec 65%,#090b1900);opacity:var(--scroll-progress,0);z-index:10;pointer-events:none}
.topbar{position:fixed;top:26px;right:32px;z-index:25}
#registration-button{border:0;background:none;padding:8px 0;color:#c4bbd9;font:500 12px Manrope,'Segoe UI',sans-serif;cursor:pointer;transition:color .2s}
#registration-button:hover{color:#fff}
button:focus-visible,input:focus-visible{outline:2px solid #b7a0ff;outline-offset:5px}
.offers{position:relative;z-index:2;width:min(930px,100%);min-height:100svh;padding:175px 24px 110px;margin:auto}
.offers h2{font-size:24px;font-weight:600;letter-spacing:-.8px;margin:0 0 32px}
.offers-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.offer-card{min-width:0;min-height:480px;padding:32px;border:1px solid #a595ce29;border-radius:18px;background:linear-gradient(150deg,#1a1929f5,#121422f5);display:flex;flex-direction:column;box-shadow:0 20px 60px #05061222}
.offer-plus-plus{border-color:#9e80e450;background:linear-gradient(150deg,#241d36f0,#141728f5)}
.offer-card h3{font-size:34px;font-weight:750;letter-spacing:-1.5px;margin:0 0 35px;line-height:1.2}
.offer-card h3 span,.role-prefix{color:#f0d66f}
.offer-card dl{margin:0 0 42px}
.offer-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #aaa0ca19;font-size:13px}
.offer-card dl>div:last-child{border-bottom:0}
.offer-card dt{color:#a9a3bc}
.offer-card dd{font-weight:700;margin:0;white-space:nowrap}
.purchase-button{margin-top:auto;width:100%;padding:17px 14px;border:1px solid #9383ce3d;border-radius:10px;background:#8c7bce0d;color:#8f86a8;font:600 13px Manrope,'Segoe UI',sans-serif;cursor:default}
#registration-dialog{position:fixed;inset:64px 28px auto auto;margin:0;width:min(284px,calc(100% - 32px));padding:24px;border:1px solid #a48bdc42;border-radius:12px;background:#151528;box-shadow:0 16px 70px #0007;color:#eee8fb}
#registration-dialog::backdrop{background:#03051155}
#registration-dialog h2{margin:0 18px 20px 0;font-size:14px;letter-spacing:-.2px;line-height:1.5;font-weight:650}
#registration-close{position:absolute;right:10px;top:8px;width:28px;height:28px;border:0;background:none;color:#8f83a7;font:22px Manrope,sans-serif;cursor:pointer}
#registration-close:hover{color:white}
#nickname-form input{width:100%;height:41px;border:1px solid #a48bdc45;border-radius:6px;padding:10px 12px;color:#ece5ff;background:#0c0e20;font:12px Manrope,'Segoe UI',sans-serif}
#nickname-form input::placeholder{color:#6d6583}
#nickname-form input[aria-invalid=true]{border-color:#dc96b0}
.save-nickname{margin-top:12px;width:100%;border:1px solid #bda0ef4d;border-radius:6px;padding:10px;background:linear-gradient(110deg,#8966ce,#656bc7);color:white;font:600 11px Manrope,'Segoe UI',sans-serif;cursor:pointer}
.save-nickname:hover{filter:brightness(1.12)}
#nickname-status{min-height:16px;margin:12px 0 0;color:#9e90b8;font-size:10px;line-height:1.6}
#nickname-status.error{color:#e9a1bf}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.topbar{top:16px;right:20px}#registration-button{font-size:11px}.brand-center{padding-inline:14px}.offers{padding:155px 20px 70px}.offers h2{font-size:21px;margin-bottom:24px}.offers-grid{grid-template-columns:1fr;gap:20px}.offer-card{min-height:415px;padding:26px}.offer-card h3{font-size:31px;margin-bottom:25px}.offer-card dl>div{padding:16px 0;font-size:12px}#registration-dialog{top:54px;right:16px}}

#nickname-status:empty{display:none}
#registration-button{max-width:min(200px,42vw);overflow-wrap:anywhere}
.secret-corner{position:relative;isolation:isolate;z-index:2;min-height:280px;overflow:hidden;width:100%;margin:0 auto}
.secret-character{position:absolute;left:50%;bottom:-38px;width:220px;height:auto;transform:translateX(-50%);pointer-events:none;user-select:none}
@media(max-width:600px){.secret-corner{min-height:235px}.secret-character{width:190px;bottom:-32px}}

.purchase-button{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.purchase-button strong{font-size:22px;font-weight:700;color:#b5a4ef}.purchase-button span{font-size:10px;color:#8f86a8}

.topbar{display:flex;align-items:center;gap:26px}
#rules-button{border:0;background:none;padding:8px 0;color:#c4bbd9;font:500 12px Manrope,'Segoe UI',sans-serif;cursor:pointer;white-space:nowrap;transition:color .2s}
#rules-button:hover{color:white}
#rules-dialog{padding:0;width:min(900px,calc(100% - 40px));max-height:86svh;border:1px solid #a48bdc42;border-radius:16px;color:#eee8fb;background:#121426;box-shadow:0 30px 100px #0008;overflow:hidden}
#rules-dialog::backdrop{background:#030511b8;backdrop-filter:blur(8px)}
.rules-heading{padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #aa94ff20;background:#19182d}
.rules-heading h2{font-size:20px;font-weight:650;letter-spacing:-.5px;margin:0}
#rules-close{display:grid;place-items:center;flex-shrink:0;border:0;border-radius:6px;background:#ffffff06;color:#b9aecf;width:32px;height:32px;font:25px Manrope,sans-serif;cursor:pointer}
#rules-close:hover{background:#ffffff12;color:white}
.rules-scroll{max-height:calc(86svh - 80px);overflow-y:auto;padding:28px;overscroll-behavior:contain;scrollbar-color:#65517e #121426}
.rules-index{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid #aa94ff1c}
.rules-index a{border:1px solid #aa94ff23;border-radius:6px;padding:7px 10px;color:#b4a6d4;text-decoration:none;font-size:10px;line-height:1.5;transition:background .2s}
.rules-index a:hover{color:#ede3ff;background:#aa94ff10}
.rules-index a:focus-visible{outline:2px solid #b7a0ff;outline-offset:3px}
.rules-content section{padding-top:30px;scroll-margin-top:18px}
.rules-content h3{margin:0 0 20px;font-size:17px;line-height:1.6;font-weight:650;color:#d4c1fb}
.rules-content p{margin:0 0 17px;color:#b9b4cb;font-size:13px;line-height:1.95;overflow-wrap:anywhere}
.rule-number{font-weight:750;color:#eee8fb;margin-right:5px}
body.rules-open{overflow:hidden}
@media(max-width:600px){.topbar{gap:18px}#rules-button{font-size:11px}#registration-button{max-width:34vw}#rules-dialog{width:calc(100% - 24px);max-height:90svh;border-radius:12px}.rules-heading{padding:17px 18px}.rules-heading h2{font-size:17px}.rules-scroll{max-height:calc(90svh - 70px);padding:20px 18px}.rules-content p{font-size:12px;line-height:1.9}.rules-content h3{font-size:15px}.rules-index{padding-bottom:20px}.rules-index a{font-size:9px}}

#rules-close{padding:0;line-height:0}#rules-close svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* Checkout preview: payment methods are selectable; charging stays unavailable. */
.purchase-button{cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.purchase-button:hover{background:#a58de925;border-color:#bca0fa80;transform:translateY(-2px)}
.purchase-button svg{width:17px;height:17px;fill:none;stroke:#c0adee;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-left:auto}
#payment-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:0;border:1px solid #a48bdc42;border-radius:18px;color:#eee8fb;background:linear-gradient(155deg,#1c1930,#111526);box-shadow:0 30px 120px #0009;overflow-y:auto;scrollbar-color:#65517e #121426}
#payment-dialog::backdrop{background:#030511bd;backdrop-filter:blur(9px)}
.payment-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;border-bottom:1px solid #aa94ff20}
.payment-heading h2{font-size:17px;letter-spacing:-.4px;font-weight:650;margin:0}
.dialog-close{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:0;border-radius:7px;padding:0;line-height:0;background:#ffffff06;color:#b9aecf;cursor:pointer}
.dialog-close:hover{background:#ffffff12;color:#fff}
.dialog-close svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.payment-content{padding:25px 28px 24px}
.payment-offer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 25px;margin-bottom:23px;border-bottom:1px solid #aa94ff1c}
.payment-eyebrow{font-size:10px;color:#a79abb}
.payment-offer h3{font-size:32px;letter-spacing:-1px;margin:5px 0 0;line-height:1.2;font-weight:750}
#payment-role{color:#f0d66f}
.payment-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.payment-price strong{font-size:23px;letter-spacing:-.7px;color:#d4c1fb;white-space:nowrap}
.payment-price>span{font-size:10px;color:#958aa9}
.payment-label,.payment-methods legend{display:block;font-size:12px;font-weight:600;color:#d2c8e2;margin-bottom:10px}
#payment-nickname{width:100%;height:44px;border:1px solid #a48bdc45;border-radius:8px;padding:11px 13px;background:#0c0e2080;color:#eee8fb;font:13px Manrope,'Segoe UI',sans-serif}
#payment-nickname::placeholder{color:#81738f}
#payment-nickname[aria-invalid=true]{border-color:#dc96b0}
.payment-help{font-size:10px;line-height:1.7;color:#9f94b1;margin:9px 0 0}
.payment-error{font-size:10px;line-height:1.6;color:#e9a1bf;margin:7px 0 0}
.payment-error:empty{display:none}
.payment-methods{border:0;padding:0;margin:25px 0 22px;min-width:0;display:grid;gap:10px}
.payment-methods legend{float:left;width:100%;padding:0;margin-bottom:12px}
.payment-method{display:block;cursor:pointer;position:relative}
.payment-method-box{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #aa94ff24;border-radius:10px;background:#0b0f1f55;transition:border-color .2s,background .2s}
.payment-method:hover .payment-method-box{border-color:#bba4ed70}
.payment-method input:checked+.payment-method-box{border-color:#b398eb;background:#9977e015}
.payment-method input:focus-visible+.payment-method-box{outline:2px solid #b7a0ff;outline-offset:4px}
.payment-method-icon{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;border-radius:9px;background:#b598ed13;color:#c9b0f5}
.payment-method-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.payment-method-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.payment-method-copy strong{font-size:12px;font-weight:600;color:#e4d9f5}
.payment-method-copy>span{font-size:10px;color:#9b8eae}
.payment-radio{display:block;margin-left:auto;width:17px;height:17px;flex-shrink:0;border:1px solid #8f7baa66;border-radius:50%}
.payment-method input:checked+.payment-method-box .payment-radio{border:5px solid #b79aef;background:#e5d7ff}
.payment-total{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid #aa94ff1c;margin-bottom:18px;font-size:12px;color:#b8abc9}
.payment-total strong{color:#f1e9ff;font-size:20px;font-weight:700;letter-spacing:-.5px}
#payment-submit{width:100%;padding:14px;border:1px solid #b49ae63b;border-radius:9px;background:linear-gradient(115deg,#7352a655,#4c559555);color:#a599ba;font:600 12px Manrope,'Segoe UI',sans-serif;cursor:not-allowed}
.payment-availability{font-size:10px;line-height:1.7;text-align:center;color:#9e90b2;margin:12px 0 0}
body.payment-open{overflow:hidden}
@media(max-width:600px){#payment-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);border-radius:14px}.payment-heading{padding:18px 20px}.payment-heading h2{font-size:16px}.payment-content{padding:22px 20px}.payment-offer h3{font-size:29px}.payment-price strong{font-size:21px}.payment-method-box{padding:13px}}

.payment-heading{position:sticky;top:0;z-index:1;background:#1b192e}
@media(max-height:740px){.payment-heading{padding:16px 24px}.payment-content{padding:18px 24px}.payment-offer{padding-bottom:16px;margin-bottom:16px}.payment-methods{margin:18px 0 16px}.payment-methods legend{margin-bottom:10px}.payment-method-box{padding:11px 13px}.payment-total{padding-top:14px;margin-bottom:14px}.payment-availability{margin-top:10px}}

.payment-error{line-height:1.7;margin-top:9px}

.payment-method-input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
html.payment-open,body.payment-open{overflow:hidden}

/* Compact prices, crisp QR symbol, and optional promotion code. */
.purchase-button{justify-content:center;gap:0}
.purchase-button strong{display:block;text-align:center}
.payment-method-icon .qr-code-icon{display:block;width:23px;height:23px;fill:currentColor;stroke:none;shape-rendering:crispEdges}
.promo-code{margin:0 0 20px;border-top:1px solid #aa94ff1c}
.promo-code summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0 0;color:#bca9dc;font-size:12px;cursor:pointer;list-style:none}
.promo-code summary::-webkit-details-marker{display:none}
.promo-code summary:focus-visible{outline:2px solid #b7a0ff;outline-offset:5px;border-radius:3px}
.promo-code summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.promo-code[open] summary svg{transform:rotate(180deg)}
.promo-content{padding-top:14px}
.promo-entry{display:flex;gap:9px}
#promo-input{width:100%;min-width:0;height:41px;padding:10px 12px;border:1px solid #a48bdc45;border-radius:7px;background:#0c0e2080;color:#eee8fb;font:12px Manrope,'Segoe UI',sans-serif}
#promo-input::placeholder{color:#81738f}
#promo-input[aria-invalid=true]{border-color:#dc96b0}
#promo-apply{padding:10px 13px;flex-shrink:0;border:1px solid #b49ae644;border-radius:7px;background:#9977e015;color:#d0b8f4;font:600 11px Manrope,'Segoe UI',sans-serif;cursor:pointer}
#promo-apply:hover{background:#9977e02c;border-color:#b49ae677}
#promo-status{margin:9px 0 0;font-size:10px;line-height:1.7;color:#b7a6ca}
#promo-status:empty{display:none}
@media(max-height:740px){.promo-code{margin-bottom:15px}.promo-code summary{padding-top:13px}}

/* Promo totals: discounted amount above the original, red strike through. */
.payment-price,.payment-amount{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.payment-price .discount-price,.payment-amount .discount-price{font-size:16px;font-weight:700;line-height:1.4;color:#d4c1fb;letter-spacing:-.3px;white-space:nowrap}
.discount-price[hidden]{display:none}
.price-crossed{text-decoration-line:line-through;text-decoration-color:#ff617b;text-decoration-thickness:2px}
#promo-status.promo-success{color:#a6d8bb}
