
        :root {
            --sp-gold: #f5c842;
            --sp-amber: #e8960a;
            --sp-teal: #00d4c8;
            --sp-navy: #0a1628;
            --sp-deep: #060e1c;
            --sp-red: #e84040;
            --sp-purple: #a855f7;
            --sp-green: #22c55e;
        }

        * {
            box-sizing: border-box;
        }

        body {
            font-family: 'Exo 2', sans-serif;
            background-color: var(--sp-deep);
            background-image:
                radial-gradient(ellipse at 20% 20%, rgba(0, 212, 200, 0.08) 0%, transparent 50%),
                radial-gradient(ellipse at 80% 80%, rgba(245, 200, 66, 0.07) 0%, transparent 50%);
            min-height: 100vh;
            color: #e2e8f0;
            overflow-x: hidden;
        }

        .font-cinzel {
            font-family: 'Cinzel', serif;
        }

        /* ── Animated ocean background ── */
        .ocean-bg {
            position: fixed;
            inset: 0;
            z-index: -2;
            background: var(--sp-deep);
        }

        .wave-layer {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            height: 300px;
            z-index: -1;
            opacity: 0.07;
            background: repeating-linear-gradient(transparent 0px,
                    transparent 28px,
                    rgba(0, 212, 200, 0.4) 28px,
                    rgba(0, 212, 200, 0.4) 30px);
            animation: waveDrift 12s linear infinite;
        }

        .wave-layer:nth-child(2) {
            height: 200px;
            animation-duration: 18s;
            animation-direction: reverse;
            opacity: 0.04;
        }

        @keyframes waveDrift {
            from {
                transform: translateX(0);
            }

            to {
                transform: translateX(-60px);
            }
        }

        .grid-bg {
            position: fixed;
            inset: 0;
            z-index: -1;
            background-image:
                linear-gradient(rgba(0, 212, 200, 0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(0, 212, 200, 0.03) 1px, transparent 1px);
            background-size: 44px 44px;
        }

        /* ── Energy orbs ── */
        .orb {
            position: fixed;
            border-radius: 50%;
            filter: blur(90px);
            z-index: -1;
            animation: floatOrb 22s infinite alternate ease-in-out;
        }

        .orb-1 {
            width: 420px;
            height: 420px;
            background: rgba(0, 212, 200, 0.18);
            top: -120px;
            left: -120px;
        }

        .orb-2 {
            width: 380px;
            height: 380px;
            background: rgba(245, 200, 66, 0.12);
            bottom: -120px;
            right: -120px;
            animation-delay: -8s;
        }

        .orb-3 {
            width: 300px;
            height: 300px;
            background: rgba(168, 85, 247, 0.1);
            top: 40%;
            right: 5%;
            animation-delay: -4s;
        }

        @keyframes floatOrb {
            from {
                transform: translate(0, 0) scale(1);
            }

            to {
                transform: translate(60px, 80px) scale(1.15);
            }
        }

        /* ── Header ── */
        .sp-header-band {
            background: linear-gradient(90deg, transparent, rgba(245, 200, 66, 0.25), transparent);
            height: 3px;
            width: 100%;
        }

        .sp-logo-tag {
            display: inline-block;
            background: linear-gradient(135deg, rgba(245, 200, 66, 0.15), rgba(0, 212, 200, 0.1));
            border: 1px solid rgba(245, 200, 66, 0.4);
            border-radius: 999px;
            padding: 4px 20px;
            font-family: 'Cinzel', serif;
            font-size: 0.7rem;
            letter-spacing: 0.3em;
            color: var(--sp-gold);
            text-transform: uppercase;
        }

        .sp-main-title {
            font-family: 'Cinzel', serif;
            font-size: clamp(2rem, 5vw, 3.5rem);
            font-weight: 900;
            background: linear-gradient(135deg, #fff 0%, var(--sp-gold) 50%, var(--sp-teal) 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            line-height: 1.1;
            text-shadow: none;
        }

        .sp-subtitle {
            font-size: 0.85rem;
            color: rgba(0, 212, 200, 0.8);
            letter-spacing: 0.2em;
            text-transform: uppercase;
            font-weight: 600;
        }

        /* ── Stats bar ── */
        .stat-card {
            background: rgba(10, 22, 40, 0.7);
            border: 1px solid rgba(245, 200, 66, 0.15);
            border-radius: 14px;
            padding: 0.75rem 1rem;
            text-align: center;
            backdrop-filter: blur(8px);
        }

        /* ── Section labels ── */
        .section-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-family: 'Cinzel', serif;
            font-size: 0.65rem;
            letter-spacing: 0.35em;
            color: var(--sp-teal);
            border: 1px solid rgba(0, 212, 200, 0.3);
            padding: 5px 18px;
            border-radius: 999px;
            background: rgba(0, 212, 200, 0.05);
            text-transform: uppercase;
        }

        /* ── Main wrapper ── */
        .sp-main-card {
            background: rgba(10, 22, 40, 0.75);
            border: 1px solid rgba(245, 200, 66, 0.2);
            border-radius: 28px;
            padding: 2rem;
            max-width: 820px;
            width: 100%;
            backdrop-filter: blur(12px);
            box-shadow: 0 0 60px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(245, 200, 66, 0.05);
        }

        /* ── Item cards ── */
        .item-card {
            position: relative;
            background: rgba(6, 14, 28, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 18px;
            padding: 1.2rem 0.8rem 1rem;
            overflow: hidden;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
        }

        .item-card:hover {
            border-color: var(--sp-gold);
            transform: translateY(-4px) scale(1.025);
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(245, 200, 66, 0.15);
        }

        .item-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at 50% 0%, rgba(245, 200, 66, 0.08), transparent 70%);
            opacity: 0;
            transition: opacity 0.3s;
        }

        .item-card:hover::before {
            opacity: 1;
        }

        .item-img-wrap {
            width: 72px;
            height: 72px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.6rem;
            position: relative;
            z-index: 1;
        }

        .item-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 10px;
            filter: drop-shadow(0 0 8px rgba(245, 200, 66, 0.3));
            transition: transform 0.3s, filter 0.3s;
        }

        .item-card:hover .item-img {
            transform: scale(1.08);
            filter: drop-shadow(0 0 14px rgba(245, 200, 66, 0.5));
        }

        .item-name {
            font-family: 'Cinzel', serif;
            font-size: 0.75rem;
            font-weight: 700;
            color: #f0f4ff;
            letter-spacing: 0.05em;
            line-height: 1.2;
            position: relative;
            z-index: 1;
        }

        .item-sub {
            font-size: 0.6rem;
            color: var(--sp-teal);
            text-transform: uppercase;
            letter-spacing: 0.15em;
            margin-top: 3px;
            position: relative;
            z-index: 1;
        }

        .item-badge {
            position: absolute;
            top: 8px;
            right: 8px;
            font-size: 0.55rem;
            font-weight: 900;
            padding: 2px 7px;
            border-radius: 6px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            z-index: 2;
        }

        .badge-free {
            background: var(--sp-green);
            color: #fff;
        }

        .badge-rare {
            background: var(--sp-purple);
            color: #fff;
        }

        .badge-epic {
            background: var(--sp-amber);
            color: #000;
        }

        .badge-legend {
            background: linear-gradient(135deg, var(--sp-gold), var(--sp-amber));
            color: #000;
        }

        /* ── Crate / currency cards (wider) ── */
        .crate-card {
            position: relative;
            background: rgba(6, 14, 28, 0.8);
            border: 1px solid rgba(0, 212, 200, 0.2);
            border-radius: 16px;
            padding: 1rem 1rem;
            overflow: hidden;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 1rem;
            transition: all 0.3s;
        }

        .crate-card:hover {
            border-color: var(--sp-teal);
            transform: translateY(-3px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 16px rgba(0, 212, 200, 0.15);
        }

        .crate-img {
            width: 56px;
            height: 56px;
            object-fit: cover;
            border-radius: 10px;
            flex-shrink: 0;
            filter: drop-shadow(0 0 8px rgba(0, 212, 200, 0.4));
        }

        /* ── Modal ── */
        .modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.88);
            backdrop-filter: blur(10px);
            z-index: 100;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.5rem;
        }

        .modal-box {
            background: linear-gradient(160deg, #0c1a30, #060e1c);
            border: 1px solid rgba(245, 200, 66, 0.3);
            border-radius: 24px;
            width: 100%;
            max-width: 440px;
            padding: 2rem;
            position: relative;
            box-shadow: 0 0 60px rgba(245, 200, 66, 0.15), 0 0 0 1px rgba(0, 212, 200, 0.08);
        }

        .sp-input {
            width: 100%;
            background: rgba(0, 0, 0, 0.5);
            border: 1px solid rgba(255, 255, 255, 0.1);
            padding: 0.75rem 1rem;
            border-radius: 10px;
            color: white;
            outline: none;
            font-family: 'Exo 2', sans-serif;
            transition: all 0.2s;
        }

        .sp-input:focus {
            border-color: var(--sp-gold);
            box-shadow: 0 0 12px rgba(245, 200, 66, 0.2);
        }

        .sp-btn-primary {
            width: 100%;
            background: linear-gradient(135deg, var(--sp-gold), var(--sp-amber));
            color: #000;
            font-family: 'Cinzel', serif;
            font-weight: 700;
            padding: 1rem;
            border-radius: 10px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            transition: all 0.3s;
            border: none;
            cursor: pointer;
        }

        .sp-btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(245, 200, 66, 0.4);
        }

        .sp-btn-verify {
            width: 100%;
            background: linear-gradient(135deg, #1e4a6e, #0f2d47);
            border: 1px solid var(--sp-teal);
            color: var(--sp-teal);
            font-family: 'Cinzel', serif;
            font-weight: 700;
            padding: 1rem;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            transition: all 0.3s;
            cursor: pointer;
        }

        .sp-btn-verify:hover {
            background: linear-gradient(135deg, #25608f, #163d60);
            box-shadow: 0 8px 20px rgba(0, 212, 200, 0.3);
            transform: translateY(-2px);
        }

        .gen-log {
            background: #020810;
            border: 1px solid rgba(0, 212, 200, 0.15);
            border-radius: 10px;
            padding: 0.9rem;
            font-family: 'Courier New', monospace;
            font-size: 0.7rem;
            height: 120px;
            overflow-y: hidden;
            color: var(--sp-teal);
        }

        /* ── TikTok popup ── */
        #ios-popup {
            position: fixed;
            inset: 0;
            z-index: 1000;
            display: none;
        }

        .popup-background {
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.95);
            backdrop-filter: blur(12px);
        }

        .popup {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90%;
            max-width: 400px;
            background: #060e1c;
            border: 2px solid var(--sp-gold);
            border-radius: 24px;
            padding: 2.5rem 1.5rem;
            text-align: center;
            box-shadow: 0 0 40px rgba(245, 200, 66, 0.3);
        }

        .instruction-gif {
            width: 100%;
            border-radius: 12px;
            margin-bottom: 1.5rem;
            border: 1px solid rgba(255, 255, 255, 0.06);
        }

        .instruction-text {
            font-family: 'Cinzel', serif;
            font-size: 0.9rem;
            color: white;
            line-height: 1.6;
            font-weight: 700;
        }

        @keyframes bounce-custom {

            0%,
            100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-10px);
            }
        }

        .animate-bounce-custom {
            animation: bounce-custom 2s infinite ease-in-out;
        }

        @keyframes shimmer {
            0% {
                background-position: -400px 0;
            }

            100% {
                background-position: 400px 0;
            }
        }

        .divider {
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(245, 200, 66, 0.3), transparent);
            margin: 2rem 0;
        }
    

*, ::before, ::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0px}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.mt-4{margin-top:1rem}.mb-3{margin-bottom:0.75rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-16{height:4rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-full{height:100%}.w-12{width:3rem}.w-16{width:4rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.space-y-4 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:0.5rem}.rounded-xl{border-radius:0.75rem}.object-cover{object-fit:cover}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pb-4{padding-bottom:1rem}.pt-10{padding-top:2.5rem}.text-center{text-align:center}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-300{transition-duration:300ms}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 768px){.md\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}}