:root{--family-font-display:"Songti SC", "Noto Serif CJK SC", "STSong", serif;--family-font-body:"Manrope Variable", "PingFang SC", "Microsoft YaHei", sans-serif;--family-font-mono:"Geist Mono Variable", "SFMono-Regular", Consolas, monospace;--family-text-caption:.75rem;--family-text-control:.875rem;--family-text-body:1rem;--family-leading-body:1.6;--family-leading-reading:1.85;--family-space-1:4px;--family-space-2:8px;--family-space-3:12px;--family-space-4:16px;--family-space-5:24px;--family-space-6:32px;--family-space-7:48px;--family-radius-small:6px;--family-radius-control:10px;--family-radius-surface:14px;--family-radius-panel:18px;--family-radius-icon:25%;--family-control-compact:36px;--family-control-comfortable:44px;--family-touch-target:44px;--family-control-height:var(--family-control-comfortable);--family-panel-padding:var(--family-space-5);--family-bg:#f3f4f7;--family-surface:#fff;--family-surface-raised:#f8f9fb;--family-text:#0f1115;--family-text-secondary:#3d424b;--family-text-muted:#6b717d;--family-border:#dfe2e8;--family-accent:#750ee4;--family-accent-soft:#f1e8fb;--family-focus:#750ee4;--family-focus-width:2px;--family-focus-offset:3px;--family-shadow-small:0 1px 3px #1d1d1f0f;--family-shadow-panel:0 2px 4px #1d1d1f0a, 0 16px 48px #1d1d1f0a;--brand:#750ee4;--brand-strong:#6207c5;--brand-wash:#f1e8fb;--on-brand:#fff;--marker:#ffe45c;--note:#fff7d1;--danger:#d13f45;--cover:#12141a;--cover-ink:#f3f4f7;--cover-muted:#a3a9b6;--card-shadow:0 1px 2px #0f11150d, 0 22px 44px -18px #0f111538;--card-shadow-hover:0 1px 2px #0f11150f, 0 28px 56px -18px #0f111547;--family-ease-out:cubic-bezier(.23, 1, .32, 1);--family-ease-in-out:cubic-bezier(.77, 0, .175, 1);--family-ease-drawer:cubic-bezier(.32, .72, 0, 1);--family-duration-press:.12s;--family-duration-fast:.14s;--family-duration-base:.18s;--family-duration-panel:.24s;--family-duration-exit:.1s;--family-press-scale:.985}.dark,html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--family-bg:#0d0f14;--family-surface:#161921;--family-surface-raised:#1c2029;--family-text:#eef0f4;--family-text-secondary:#c3c8d1;--family-text-muted:#8b919c;--family-border:#272b35;--family-accent:#b485ef;--family-accent-soft:#291c3c;--family-focus:#b485ef;--family-shadow-small:0 1px 3px #0003;--family-shadow-panel:0 2px 4px #0000001a, 0 16px 48px #0000001f;--brand:#ad7aee;--brand-strong:#c098f0;--brand-wash:#291c3c;--on-brand:#0d0f14;--marker:#ffe45c57;--note:#221f12;--danger:#ff7a80;--cover:#221d2c;--cover-ink:#eef0f4;--cover-muted:#9aa1b2;--card-shadow:0 1px 2px #0000004d, 0 22px 44px -18px #0009;--card-shadow-hover:0 1px 2px #0000004d, 0 28px 56px -18px #000000b3}[data-ui-density=compact]{--family-control-height:var(--family-control-compact);--family-panel-padding:var(--family-space-4)}[data-ui-density=comfortable]{--family-control-height:var(--family-control-comfortable);--family-panel-padding:var(--family-space-5)}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-wght-normal.DHIcAJRg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:where(a,button,summary,input,textarea,select,[role=button],[role=combobox]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}@layer base{:focus-visible{outline:var(--family-focus-width) solid var(--family-focus);outline-offset:var(--family-focus-offset)}}.family-control{min-height:var(--family-control-height)}.family-action{transition:background-color var(--family-duration-fast) var(--family-ease-out),border-color var(--family-duration-fast) var(--family-ease-out),color var(--family-duration-fast) var(--family-ease-out),opacity var(--family-duration-fast) var(--family-ease-out),box-shadow var(--family-duration-fast) var(--family-ease-out),transform var(--family-duration-press) var(--family-ease-out)}.family-action:active:not(:disabled):not([aria-disabled=true]):not(:focus-visible){transform:scale(var(--family-press-scale))}.family-action:where(:disabled,[aria-disabled=true]){cursor:not-allowed;opacity:.45}.family-action:focus-visible{transition:none}@media (pointer:coarse){.family-control{min-width:var(--family-touch-target);min-height:var(--family-touch-target)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.family-action:active:not(:disabled):not([aria-disabled=true]){transform:none}}:root{--mineral:var(--family-bg);--porcelain:var(--family-surface);--ink:var(--family-text);--pewter:var(--family-text-muted);--hairline:var(--family-border);--ink-soft:var(--family-text-secondary);--ease-out:var(--family-ease-out);--font-display:var(--family-font-display);--font-body:var(--family-font-body);--font-utility:var(--family-font-mono);--portal-width:960px;--portal-gutter:calc(clamp(18px, 4.5vw, 56px));--surface-line:color-mix(in srgb, var(--ink) 14%, transparent);--edge-shadow-strong:4px 4px 0 var(--ink);--edge-shadow-lg:7px 7px 0 var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--edge-shadow-strong:4px 4px 0 #000000d9;--edge-shadow-lg:7px 7px 0 #000000d9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{background:var(--mineral);scroll-behavior:smooth;min-width:320px}body{color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}a,button,input{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.45}a{text-decoration:none}::selection{background:var(--family-accent);color:var(--porcelain)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portal-button{border:1px solid var(--ink);background:var(--porcelain);min-height:46px;color:var(--ink);white-space:nowrap;box-shadow:var(--edge-shadow-strong);transition:translate var(--family-duration-fast) var(--ease-out),box-shadow var(--family-duration-fast) var(--ease-out);border-radius:0;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:15px;font-weight:700;display:inline-flex}.portal-button:active{box-shadow:0 0 0 var(--ink);translate:4px 4px}.portal-button span{font-family:var(--font-utility)}.portal-button--accent{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.portal-message{border:1px solid var(--surface-line);background:var(--porcelain);color:var(--ink-soft);overflow-wrap:anywhere;border-radius:0;margin:4px 0 0;padding:12px 16px;font-size:14px;line-height:1.75}.portal-message.is-error{border-color:color-mix(in srgb,var(--danger) 45%,var(--hairline));background:color-mix(in srgb,var(--danger) 8%,var(--porcelain));color:var(--ink)}.portal-message.is-success{border-color:color-mix(in srgb,var(--brand) 35%,var(--hairline));background:color-mix(in srgb,var(--brand-wash) 60%,var(--porcelain));color:var(--ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.gacha-page{width:min(var(--portal-width),100%);padding:calc(clamp(20px,4vw,40px)) var(--portal-gutter) 72px;margin:0 auto}.gacha-topbar{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.gacha-topbar__brand{align-items:center;gap:10px;display:inline-flex}.gacha-topbar__brand .site-logo{--logo-size:64px}.gacha-topbar__wordmark{font-family:var(--font-display);letter-spacing:.04em;align-items:baseline;gap:8px;font-size:22px;font-weight:900;display:inline-flex}.gacha-topbar__wordmark:after{background:var(--brand);content:"";width:7px;height:7px}.gacha-topbar__side{align-items:center;gap:10px;display:flex}.gacha-topbar__link{color:var(--pewter);font-family:var(--font-utility);font-size:13px;font-weight:600}.portal-button--compact{min-height:44px;box-shadow:4px 4px 0 var(--ink);padding:0 22px;font-size:15px}.portal-button--compact:active{box-shadow:0 0 0 var(--ink);translate:4px 4px}.gacha-topbar__cta{letter-spacing:.08em;position:relative}.gacha-topbar__badge{border:1px solid var(--ink);background:var(--marker);min-width:24px;color:var(--ink);font-family:var(--font-utility);text-align:center;letter-spacing:0;padding:1px 5px;font-size:11px;font-weight:700;line-height:1.5;position:absolute;top:-9px;right:-9px}.gacha-topbar__link:hover{color:var(--brand)}.theme-toggle{border:1px solid var(--surface-line);background:var(--porcelain);width:36px;height:36px;color:var(--pewter);transition:color var(--family-duration-fast) var(--ease-out),border-color var(--family-duration-fast) var(--ease-out);place-items:center;display:grid}.theme-toggle:hover{border-color:var(--ink);color:var(--ink)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:square;width:16px;height:16px}html.dark .theme-toggle__sun,html:not(.dark) .theme-toggle__moon{display:none}.gacha-hero{align-content:center;min-height:calc(100svh - 60px - clamp(20px,4vw,40px));padding:calc(clamp(16px,2.5vw,28px)) 0 calc(clamp(20px,3vw,32px));display:grid}.gacha-hero__header{text-align:center;margin-bottom:calc(clamp(16px,2.8vw,26px))}.gacha-hero__eyebrow{color:var(--brand);font-family:var(--font-utility);letter-spacing:.32em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.gacha-hero__title{color:var(--ink);font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:calc(clamp(28px,4.6vw,42px));font-weight:900;line-height:1.25}.gacha-play__facts{border:1px solid var(--ink);background:var(--porcelain);box-shadow:var(--edge-shadow-strong);flex-wrap:wrap;gap:0;margin:0 0 calc(clamp(20px,3vw,30px));padding:0;list-style:none;display:flex}.gacha-play__facts li{border-right:1px solid var(--surface-line);flex:1 1 0;gap:2px;min-width:128px;padding:12px 18px;display:grid}.gacha-play__facts li:last-child{border-right:0}.gacha-play__facts strong{font-family:var(--font-utility);font-size:19px;font-weight:700;line-height:1.2}.gacha-play__facts span{color:var(--pewter);font-size:12px}.gacha-strips{gap:14px;width:100vw;margin-left:-50vw;margin-right:-50vw;padding:6px 0;display:grid;position:relative;left:50%;right:50%}.gacha-hero__cta{justify-items:center;margin-top:calc(clamp(20px,3.5vw,36px));display:grid}.gacha-hero__cta-btn{min-height:52px;padding:0 36px;font-size:16px}.gacha-hero__cta-arrow-icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:square;width:18px;height:18px;animation:gacha-hint 1.6s var(--ease-out) infinite;display:block}@keyframes gacha-hint{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.gacha-play{padding-top:calc(clamp(24px,4vw,40px));scroll-margin-top:20px}.gacha-footer{border-top:1px solid var(--ink);color:var(--pewter);gap:6px;margin-top:56px;padding-top:20px;font-size:13px;line-height:1.7;display:grid}.share-page{width:min(760px,100%);padding:0 var(--portal-gutter) 72px;text-align:center;margin:0 auto}.share-hero{justify-items:center;padding-top:calc(clamp(36px,7vw,64px));display:grid}.share-hero__eyebrow{color:var(--pewter);font-family:var(--font-utility);letter-spacing:.28em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:600}.share-hero h1{font-family:var(--font-display);margin:0;font-size:calc(clamp(30px,5.5vw,46px));font-weight:900;line-height:1.2}.share-hero h1 .share-hero__rarity-name{padding:0 .08em}.share-hero h1 .share-hero__rarity-name.is-marked{background:linear-gradient(transparent 55%,var(--marker) 55%,var(--marker) 94%,transparent 94%)}.share-hero__odds{color:var(--pewter);font-family:var(--font-utility);letter-spacing:.04em;margin:10px 0 0;font-size:13px}.share-card{border:1px solid var(--ink);background:var(--porcelain);width:calc(min(340px,78vw));box-shadow:var(--edge-shadow-lg);margin:calc(clamp(24px,4vw,36px)) auto 0;padding:14px;position:relative}.share-card:after,.share-card:before{background:color-mix(in srgb,var(--marker) 88%,transparent);content:"";width:26px;height:12px;position:absolute}html.dark .share-card:after,html.dark .share-card:before{background:color-mix(in srgb,var(--marker) 45%,transparent)}.share-card:before{top:-8px;left:22px;transform:rotate(-4deg)}.share-card:after{bottom:-8px;right:22px;transform:rotate(-4deg)}.share-card__art{border:1px solid var(--surface-line);transition:border-radius var(--family-duration-fast) var(--ease-out);display:block}.share-card__art.is-circle{border-radius:50%;overflow:hidden}.share-card__shapes{gap:4px;display:inline-flex}.share-card__shape-btn{border:1px solid var(--surface-line);color:var(--secondary);cursor:pointer;transition:all var(--family-duration-fast) var(--ease-out);background:0 0;border-radius:2px;padding:1px 7px;font-size:11px;line-height:1.4}.share-card__shape-btn:hover{border-color:var(--ink);color:var(--ink)}.share-card__shape-btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}.share-card__art svg{width:100%;height:auto;display:block}.share-card__expiry{color:var(--pewter);font-size:11px}.share-card__meta{color:var(--pewter);font-family:var(--font-utility);justify-content:space-between;align-items:baseline;gap:8px;padding:10px 2px 0;font-size:12px;display:flex}.share-cta{justify-items:center;gap:12px;margin-top:calc(clamp(28px,5vw,44px));display:grid}.share-cta__pitch{max-width:400px;color:var(--ink-soft);margin:0;font-size:15px;line-height:1.8}.share-cta__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.share-cta__invite{color:var(--pewter);margin:4px 0 0;font-size:13px}.share-page .avatar-strip{margin-top:calc(clamp(32px,5vw,48px))}.gallery-page{width:min(var(--portal-width),100%);padding:0 var(--portal-gutter) 72px;margin:0 auto}.gallery-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:calc(clamp(16px,2.5vw,24px)) 0 0;display:flex}.gallery-hero h1{font-family:var(--font-display);margin:0;font-size:calc(clamp(24px,4vw,34px));font-weight:900;line-height:1.2}.gallery-hero__odds{border:1px solid var(--ink);background:var(--porcelain);box-shadow:var(--edge-shadow-strong);font-family:var(--font-utility);margin:0;padding:5px 10px;font-size:12px;font-weight:600}.gallery-layout{grid-template-columns:168px minmax(0,1fr);align-items:start;gap:calc(clamp(16px,3vw,32px));margin-top:calc(clamp(20px,4vw,32px));display:grid}.gallery-tabs{border:1px solid var(--ink);background:var(--porcelain);box-shadow:var(--edge-shadow-strong);gap:2px;padding:6px;display:grid;position:sticky;top:16px}.gallery-tab{min-height:40px;color:var(--ink-soft);text-align:left;cursor:pointer;transition:background-color var(--family-duration-fast) var(--ease-out),color var(--family-duration-fast) var(--ease-out);background:0 0;border:0;border-left:3px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.gallery-tab.is-active,.gallery-tab:hover{background:var(--brand-wash);color:var(--ink)}.gallery-tab.is-active{border-left-color:var(--brand);font-weight:700}.gallery-tab__count{color:var(--pewter);font-family:var(--font-utility);font-size:11px}.gallery-tab.is-active .gallery-tab__count{color:var(--brand);font-weight:700}.gallery-panel{min-width:0;min-height:380px}.gallery-panel:focus-visible{outline:2px solid var(--brand);outline-offset:6px}.gallery-panel__header{border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-bottom:10px;display:flex}.gallery-panel__title{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.gallery-panel__header h2{font-family:var(--font-display);margin:0;font-size:24px;font-weight:900;line-height:1.2}.gallery-panel__header p{color:var(--pewter);font-family:var(--font-utility);margin:0;font-size:12px}.gallery-want{align-items:center;gap:8px;display:inline-flex}.gallery-want__btn{border:1px solid var(--ink);background:var(--porcelain);min-height:30px;color:var(--ink);white-space:nowrap;cursor:pointer;transition:background-color var(--family-duration-fast) var(--ease-out),color var(--family-duration-fast) var(--ease-out),box-shadow var(--family-duration-fast) var(--ease-out);padding:3px 10px;font-size:12px;font-weight:700}.gallery-want__btn:hover:not(:disabled){background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:2px 2px 0 var(--ink)}.gallery-want__btn.is-done{border-color:var(--brand);background:var(--brand-wash);color:var(--brand);cursor:default;opacity:1}.gallery-want__count{color:var(--pewter);font-family:var(--font-utility);white-space:nowrap;font-size:11px}.gallery-slot{margin-top:calc(clamp(24px,4vw,36px))}.gallery-slot:first-of-type{margin-top:20px}.gallery-slot__title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.gallery-slot__title h3{color:var(--pewter);font-family:var(--font-utility);letter-spacing:.18em;margin:0;font-size:12px;font-weight:700}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.gallery-card{border:1px solid var(--surface-line);background:var(--porcelain);transition:border-color var(--family-duration-fast) var(--ease-out);gap:4px;padding:6px;display:grid}.gallery-card:hover{border-color:var(--ink)}.gallery-card__art{display:block}.gallery-card__art svg{width:100%;height:auto;display:block}.gallery-card__name{font-size:12px;font-weight:700;line-height:1.35}.gallery-card__badges{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.gallery-card__rarity{font-family:var(--font-utility);letter-spacing:.06em;font-size:10px;font-weight:600}.gallery-card__rarity.is-common{color:var(--pewter)}.gallery-card__rarity.is-rare{color:var(--brand)}.gallery-card__rarity.is-epic{color:var(--ink);-webkit-text-decoration:underline var(--brand) 2px;-webkit-text-decoration:underline var(--brand) 2px;text-decoration:underline var(--brand) 2px;text-underline-offset:3px}.gallery-card__rarity.is-legendary{background:linear-gradient(transparent 55%,var(--marker) 55%,var(--marker) 94%,transparent 94%);color:var(--ink);padding:0 .2em;font-weight:700}html.dark .gallery-card__rarity.is-legendary{color:var(--marker);-webkit-text-decoration:underline var(--marker) 2px;-webkit-text-decoration:underline var(--marker) 2px;text-decoration:underline var(--marker) 2px;text-underline-offset:3px;background:0 0}.gallery-cta{justify-items:center;margin-top:calc(clamp(36px,6vw,56px));display:grid}@media (width<=720px){.gallery-layout{grid-template-columns:minmax(0,1fr);gap:16px}.gallery-tabs{box-shadow:2px 2px 0 var(--ink);scrollbar-width:none;padding:4px;display:flex;position:static;overflow-x:auto}.gallery-tabs::-webkit-scrollbar{display:none}.gallery-tab{white-space:nowrap;border-bottom:3px solid #0000;border-left:0;flex:none}.gallery-tab.is-active{border-left-color:#0000;border-bottom-color:var(--brand)}.gallery-panel{min-height:0}}@media (width<=640px){.gacha-play__facts li{flex:30%;min-width:0;padding:10px 12px}.gacha-topbar__wordmark{font-size:19px}.gacha-topbar__brand .site-logo{--logo-size:44px}.gacha-hero{min-height:calc(100svh - 77px)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}}@media (prefers-reduced-motion:reduce){.portal-button{transition:none}}
