@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-latin.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:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-latin.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:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-sans-3-latin.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:"Source Sans 3";font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/source-sans-3-latin.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:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-sans-3-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/source-sans-3-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-serif-4-latin.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:"Source Serif 4";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/source-serif-4-latin.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:"Source Serif 4";font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/source-serif-4-latin.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:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-serif-4-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/source-serif-4-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/source-serif-4-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--c-brown:#2a4866;--c-brown-rgb:42 72 102;--c-ink:#141418;--c-sky:#7ac2e7;--c-sky-rgb:122 194 231;--c-slate:#5b6b7c;--c-bronze:#5b8fc4;--c-gold:#f5b942;--surface-card:#ffffffb3;--surface-card-pull:#ffffffd6;--surface-card-border:rgb(var(--c-brown-rgb) / .12);--surface-input:#ffffffd9;--surface-input-border:rgb(var(--c-brown-rgb) / .2);--btn-primary-bg:linear-gradient(135deg, #2a4866 0%, #3d6a94 100%);--btn-primary-fg:#fff;--btn-secondary-border:rgb(var(--c-brown-rgb) / .25);--btn-secondary-fg:#2a4866;--rarity-n:#9ca3af;--rarity-r:#5fa5d3;--rarity-sr:#7c3aed;--rarity-ssr:#f5b942;--rarity-n-body:color-mix(in srgb, var(--rarity-n) 20%, #ffffffe0);--rarity-r-body:color-mix(in srgb, var(--rarity-r) 26%, #ffffffe0);--rarity-sr-body:color-mix(in srgb, var(--rarity-sr) 30%, #ffffffe0);--rarity-ssr-body:color-mix(in srgb, var(--rarity-ssr) 72%, #8c5f0a9e);--rarity-ssr-ink:#3d2a00;--ink-n:#6b7280;--ink-r:#2a6f9e;--ink-sr:#7c3aed;--ink-ssr:#7a5406;--ink-muted:#43556a;--badge-unused-bg:#e5e7eb;--badge-unused-fg:#4b5563;--badge-pending-bg:#e0e7ef;--badge-pending-fg:#33475c;--badge-rolling-bg:#dbeafe;--badge-rolling-fg:#1e40af;--badge-selected-bg:#dcfce7;--badge-selected-fg:#166534;--badge-shipped-bg:#fef3c7;--badge-shipped-fg:#92400e;--badge-delivered-bg:#d1fae5;--badge-delivered-fg:#065f46;--badge-scheduled-bg:#e5e7eb;--badge-scheduled-fg:#4b5563;--badge-active-bg:#dcfce7;--badge-active-fg:#166534;--badge-archived-bg:#e5e7eb;--badge-archived-fg:#6b7280;--feedback-error:#dc2626;--feedback-warning:#b45309;--feedback-hint:#6b7280;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-card:18px;--radius-btn:24px;--radius-btn-sm:12px;--shadow-card-hover:0 4px 20px rgb(var(--c-brown-rgb) / .1);--shadow-focus:0 0 0 3px rgb(var(--c-sky-rgb) / .35)}html{scrollbar-gutter:stable}.app{flex-direction:column;align-items:center;min-height:100dvh;padding:1rem;display:flex}.pull-flow{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;width:100%;display:flex;position:relative}.live-bg{z-index:-1;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;flex:0 0 0;position:fixed;inset:0;overflow:hidden}.live-bg__video{object-fit:cover;visibility:hidden;opacity:0;background:#000;width:100%;height:100%;transition:opacity .6s;display:block;position:absolute;inset:0}.live-bg__video--playing{visibility:visible;opacity:1}.live-bg__scrim{background:#14182847;position:absolute;inset:0}.live-bg__blur{background:linear-gradient(to top right,#14182857 0%,#14182829 45%,#0000 100%);position:absolute;inset:0}.live-bg__pattern{opacity:.08;background-image:repeating-radial-gradient(circle at 0 0,#0000 0,#82abc7 15px),repeating-linear-gradient(#678cb755,#678cb7);position:absolute;inset:0}.card{background:var(--surface-card-pull);border:1px solid var(--surface-card-border);border-radius:var(--radius-card);padding:var(--space-6);text-align:center;width:100%;max-width:500px;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-card-hover)}.title{margin-bottom:.5rem;font-size:2rem;font-weight:600}.subtitle{color:var(--c-slate);margin-bottom:1.5rem}.code-input{width:100%;padding:var(--space-3);text-align:center;border-radius:var(--radius-md);border:1px solid var(--surface-input-border);background:var(--surface-input);color:var(--c-ink);margin-bottom:var(--space-4);letter-spacing:.1em;font-size:1.25rem}.code-input:focus{border-color:var(--c-bronze);box-shadow:var(--shadow-focus);outline:none}.btn-primary{width:100%;padding:var(--space-3) var(--space-5);border-radius:var(--radius-btn);background:var(--btn-primary-bg);color:var(--btn-primary-fg);cursor:pointer;border:none;font-size:1.1rem;font-weight:600;transition:transform .15s,opacity .15s}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-azur{color:#fdfeff;letter-spacing:normal;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:214.48px;height:102.28px;margin:0 auto .75rem;padding:0;font-family:Source Han Serif SC-Heavy,"Source Serif 4",serif;font-size:13.2px;font-weight:800;line-height:102.29px;display:block;position:relative}.btn-azur .azur-layer{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.btn-azur .azur-layer-glint{width:100%;height:100%;animation:.45s both azur-glint-in;inset:50%;transform:translate(-50%,-50%)}@keyframes azur-glint-in{0%{opacity:0}to{opacity:1}}.btn-azur .azur-layer-hover{opacity:0;transition:opacity .2s}.btn-azur:hover:not(:disabled) .azur-layer-hover{opacity:1}.btn-azur .azur-label{z-index:1;text-shadow:0 0 5.5px #53acffcc,0 0 5.5px #53acff;display:inline-block;position:relative}.btn-azur .azur-label-measure{visibility:hidden;white-space:pre;pointer-events:none;position:absolute;top:0;left:0}.btn-azur:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(.3)}.btn-secondary{padding:var(--space-2) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--btn-secondary-border);color:var(--btn-secondary-fg);cursor:pointer;background:0 0;font-size:.9rem}.btn-small{padding:var(--space-1) var(--space-3);border-radius:var(--radius-btn-sm);border:1px solid rgb(var(--c-brown-rgb) / .2);color:var(--c-ink);cursor:pointer;background:#ffffffb3;font-size:.8rem}.code-info{margin:1rem 0}.badge-scheduled{background:var(--badge-scheduled-bg);color:var(--badge-scheduled-fg)}.badge-active{background:var(--badge-active-bg);color:var(--badge-active-fg)}.badge-archived{background:var(--badge-archived-bg);color:var(--badge-archived-fg)}.gacha-reveal-host{justify-content:center;width:100%;display:flex}.gacha-reveal{--gacha-chrome-h:232px;--gacha-fan-h:176px;flex-direction:column;align-items:center;width:100%;max-width:clamp(600px,62vw,1000px);padding:1rem;display:flex}.gacha-progress{color:var(--c-slate);letter-spacing:.05em;margin-bottom:1rem;font-size:.9rem;font-weight:600}.gacha-stage{width:clamp(min(54vw, 165px), calc((100dvh - var(--gacha-chrome-h) - var(--gacha-fan-h)) * 9 / 16), min(75%, 360px));aspect-ratio:3/4;justify-content:center;align-items:center;display:flex}.gacha-stage-card{width:100%;container-type:inline-size}.gacha-stage-card .gacha-card-face{border-radius:clamp(12px,3.2cqw,20px);padding:3.33cqw}.gacha-stage-card .gacha-card-front{border-width:.83cqw}.gacha-stage-card .gacha-sticker{margin-bottom:1.7cqw;font-size:10cqw}.gacha-stage-card .gacha-rarity{font-size:5cqw}.gacha-stage-card .gacha-up{padding:.85cqw 2.5cqw;font-size:4.6cqw;top:1.7cqw;left:1.7cqw}.gacha-stage-card .gacha-sparkle{font-size:8cqw;top:1.7cqw;right:1.7cqw}.gacha-stage-card .gacha-card-front--ssr{border-width:1.7cqw}.gacha-stage-card .gacha-card-front--sr{animation-name:gacha-glow-sr-fluid;box-shadow:0 0 7.5cqw #7c3aeda6,0 0 17.5cqw #7c3aed59}@supports ((-webkit-mask:conic-gradient(red 0 0) subtract) or (mask:conic-gradient(red 0 0) subtract)){.gacha-stage-card .gacha-card-front--ssr:before,.gacha-stage-card .gacha-card-front--ssr:after{inset:-1.7cqw}.gacha-stage-card .gacha-card-front--ssr:after{filter:blur(5.83cqw)}}.gacha-skip{margin-top:1.25rem}.gacha-card-wrapper{aspect-ratio:3/4;width:100%;position:relative}.gacha-card{width:100%;height:100%;transform-style:preserve-3d;position:relative}.gacha-card-face{backface-visibility:hidden;border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;padding:8px;display:flex;position:absolute;inset:0}.gacha-card-back{border:2px solid var(--c-bronze);background:linear-gradient(135deg,#2a4866 0%,#1e3a5f 100%);overflow:hidden;transform:rotateY(0)}.gacha-card-back-img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.gacha-card-front{border:2px solid var(--rarity-n);transform:rotateY(180deg)}.gacha-card-front--n{background:var(--rarity-n-body);border-color:var(--rarity-n)}.gacha-card-front--r{background:var(--rarity-r-body);border-color:var(--rarity-r)}.gacha-card-front--sr{background:var(--rarity-sr-body);border-color:var(--rarity-sr);animation:1.8s ease-in-out infinite gacha-glow-sr;box-shadow:0 0 18px #7c3aeda6,0 0 42px #7c3aed59}.gacha-shine{background:linear-gradient(105deg, #fff0 40%, var(--gacha-shine-color,#ffffff6b) 50%, #fff0 60%);pointer-events:none;border-radius:inherit;z-index:0;animation:gacha-shine-sweep var(--gacha-shine-duration,2.8s) linear infinite;background-position:100% 100%;background-size:250% 250%;position:absolute;inset:0}@keyframes gacha-shine-sweep{0%{background-position:100% 100%}to{background-position:0 0}}@property --ssr-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.gacha-card-front--ssr{background:var(--rarity-ssr-body);background-clip:padding-box;border:4px solid #0000}@supports ((-webkit-mask:conic-gradient(red 0 0) subtract) or (mask:conic-gradient(red 0 0) subtract)){.gacha-card-front--ssr:before,.gacha-card-front--ssr:after{--ssr-full:conic-gradient(red 0 0);content:"";border:inherit;border-radius:inherit;background:conic-gradient(from var(--ssr-angle), #f94144, #f3722c, #f8961e, #f9844a, #f9c74f, #90be6d, #43aa8b, #4d908e, #277da1, #577590, #f94144) border-box;-webkit-mask:var(--ssr-full) no-clip subtract, var(--ssr-full) padding-box;mask:var(--ssr-full) no-clip subtract, var(--ssr-full) padding-box;pointer-events:none;z-index:-1;animation:4s linear infinite ssr-angle-spin;position:absolute;inset:-4px;box-shadow:0 0 40px #0000}.gacha-card-front--ssr:after{filter:blur(14px)}}@keyframes ssr-angle-spin{to{--ssr-angle:1turn}}@keyframes gacha-glow-sr{0%,to{box-shadow:0 0 18px #7c3aeda6,0 0 42px #7c3aed59}50%{box-shadow:0 0 26px #7c3aede6,0 0 64px #7c3aed80}}@keyframes gacha-glow-sr-fluid{0%,to{box-shadow:0 0 7.5cqw #7c3aeda6,0 0 17.5cqw #7c3aed59}50%{box-shadow:0 0 10.8cqw #7c3aede6,0 0 26.7cqw #7c3aed80}}.gacha-burst{border-radius:var(--radius-md);pointer-events:none;z-index:1;position:absolute;inset:0}.gacha-burst--sr{background:radial-gradient(circle,#7c3aed8c 0%,#7c3aed00 70%)}.gacha-burst--ssr{background:radial-gradient(circle,#ffffffb3 0%,#f5b94259 40%,#ff525200 70%)}.gacha-up{color:#fff;background:var(--c-gold);border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700;position:absolute;top:4px;left:4px}.gacha-sparkle{font-size:1.2rem;position:absolute;top:4px;right:4px}.gacha-cracks{pointer-events:none;z-index:2;border-radius:var(--radius-md);width:100%;height:100%;position:absolute;inset:0}.gacha-sticker{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;margin-bottom:4px;font-size:1.5rem;display:flex;overflow:hidden}.gacha-sticker-img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.gacha-rarity{text-transform:uppercase;flex:none;font-size:.75rem;font-weight:700}.gacha-card-static{aspect-ratio:3/4}.gacha-card-static .gacha-card-face{position:relative;transform:none}.gacha-fan-row{overflow-clip-margin:48px;flex-flow:row;justify-content:center;align-items:flex-end;gap:0;width:100%;min-height:80px;margin-top:1.25rem;display:flex;overflow:clip}.gacha-fan-card{transform-origin:bottom;flex:none;width:clamp(70px,10% + 2px,104px);margin-right:-2px;container-type:inline-size}.gacha-fan-card .gacha-card-wrapper,.gacha-fan-card.gacha-card-static{aspect-ratio:3/4;width:100%}.gacha-fan-card .gacha-card-static .gacha-card-face{position:absolute;inset:0}.gacha-fan-card .gacha-card-face{padding:11.4cqw}.gacha-fan-card .gacha-sticker{margin-bottom:5.7cqw;font-size:18.3cqw}.gacha-fan-card .gacha-rarity{font-size:12.6cqw}.gacha-fan-card .gacha-up{padding:1.4cqw 4.3cqw;font-size:11.4cqw;top:2.9cqw;left:2.9cqw}.gacha-fan-card .gacha-sparkle{font-size:16cqw;top:2.9cqw;right:2.9cqw}.gacha-card-thumb{aspect-ratio:3/4;flex:none;width:56px;position:relative}.gacha-card-thumb .gacha-card-face{border-radius:var(--radius-sm);width:100%;height:100%;position:relative;transform:none}.gacha-card-thumb .gacha-sticker{margin-bottom:2px;font-size:.65rem}.gacha-card-thumb .gacha-rarity{font-size:.5rem}.gacha-card-thumb .gacha-up{padding:1px 3px;font-size:.45rem;top:2px;left:2px}.gacha-card-thumb .gacha-sparkle{font-size:.6rem;top:2px;right:2px}.gacha-card-thumb .gacha-card-front--ssr,.gacha-fan-card .gacha-card-front--ssr{background:var(--rarity-ssr-body);background-clip:padding-box;border:3px solid #0000}.gacha-card-thumb .gacha-card-front--ssr:before,.gacha-fan-card .gacha-card-front--ssr:before{border-width:3px;inset:-3px}.gacha-card-thumb .gacha-card-front--ssr:after,.gacha-fan-card .gacha-card-front--ssr:after{filter:blur(3px);border-width:3px;inset:-3px}.gacha-card-thumb .gacha-card-front--n{border-color:color-mix(in srgb, var(--rarity-n) 50%, transparent)}.gacha-card-thumb .gacha-card-front--sr{border-color:color-mix(in srgb, var(--rarity-sr) 50%, transparent);box-shadow:none;animation:none}.gacha-card-thumb .gacha-card-front--sr,.gacha-card-thumb .gacha-card-front--ssr{--gacha-shine-color:#ffffff47;--gacha-shine-duration:4s}.roll-row:hover .gacha-card-thumb .gacha-card-front--n{border-color:var(--rarity-n)}.roll-row:hover .gacha-card-thumb .gacha-card-front--sr{border-color:var(--rarity-sr);animation:.9s ease-in-out infinite gacha-glow-sr;box-shadow:0 0 22px #7c3aede6,0 0 52px #7c3aed80}.roll-row:hover .gacha-card-thumb .gacha-card-front--sr,.roll-row:hover .gacha-card-thumb .gacha-card-front--ssr{--gacha-shine-color:#ffffff80;--gacha-shine-duration:2.2s}.rolls-list{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.roll-item{background:var(--surface-card);border-radius:var(--radius-md);padding:var(--space-3);border:1px solid #0000}.roll-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600;display:flex}.btn-select{padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);color:#fff;cursor:pointer;background:#166534;border:none;font-size:.85rem;font-weight:600}.roll-items{flex-wrap:wrap;gap:.5rem;display:flex}.roll-items-table{margin:.5rem 0 0;font-size:.85rem}.roll-items-table th,.roll-items-table td{padding:.35rem .5rem}.rarity-N{color:var(--rarity-n)}.rarity-R{color:var(--rarity-r)}.rarity-SR{color:var(--rarity-sr)}.rarity-SSR{color:var(--rarity-ssr);font-weight:700}.roll-row{align-items:center;gap:var(--space-3);background:var(--surface-card);border:1px solid rgb(var(--c-brown-rgb) / .15);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.roll-row:hover{border-color:var(--rarity-sr);transform:translateY(-2px)scale(1.01);box-shadow:0 0 0 1px #7c3aed4d,0 4px 14px #0000002e}.roll-row:focus-visible{outline:2px solid var(--rarity-sr);outline-offset:2px}.roll-row--confirming{border-color:var(--c-gold);box-shadow:0 0 0 1px #f5b94266,0 4px 14px #0000002e}.roll-row__label{color:var(--c-slate);white-space:nowrap;flex:none;font-size:.85rem;font-weight:600}.roll-row__cards{flex-flow:wrap;flex:auto;gap:.35rem;display:flex}.kept-roll{margin:var(--space-3) 0;padding:var(--space-3);border-radius:var(--radius-md);background:#f5b94214;border:1px solid #f5b94240}.kept-roll .roll-row__cards{justify-content:center}.roll-row__keep-tip{color:var(--c-gold);opacity:0;flex:none;font-size:.75rem;font-weight:600;transition:opacity .15s}.roll-row:hover .roll-row__keep-tip{opacity:1}.roll-row__confirm{right:var(--space-3);align-items:center;gap:var(--space-3);background:var(--surface-card);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);z-index:2;border:1px solid #f5b94280;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #00000038}.roll-row__confirm-actions{gap:var(--space-2);display:flex}.admin-page{width:100%;max-width:800px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tab{padding:var(--space-2) var(--space-5);border-radius:var(--radius-lg);border:1px solid rgb(var(--c-brown-rgb) / .2);color:var(--c-slate);cursor:pointer;background:0 0}.tab.active{background:rgb(var(--c-sky-rgb) / .2);border-color:var(--c-sky);color:var(--c-brown)}.admin-table{border-collapse:collapse;width:100%;margin-bottom:1rem}.admin-table th{text-align:left;border-bottom:1px solid rgb(var(--c-brown-rgb) / .15);color:var(--c-slate);padding:.5rem;font-size:.85rem}.admin-table td{border-bottom:1px solid rgb(var(--c-brown-rgb) / .08);padding:.5rem}.sticker-table th{text-align:left;border-bottom:1px solid rgb(var(--c-brown-rgb) / .15);color:var(--c-slate);padding:.5rem;font-size:.85rem}.sticker-table td{border-bottom:1px solid rgb(var(--c-brown-rgb) / .08);padding:.5rem}.sticker-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.sticker-add-btn{width:auto;padding:.5rem 1rem;font-size:.9rem}.sticker-thumb{object-fit:cover;border:1px solid rgb(var(--c-brown-rgb) / .15);border-radius:6px;width:48px;height:48px}.sticker-thumb-placeholder{background:rgb(var(--c-brown-rgb) / .05);color:#9ca3af;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.sticker-id-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.sticker-key-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.sticker-key-link{color:#5b8fc4;text-decoration:none}.sticker-key-link:hover{text-decoration:underline}.sticker-actions{gap:.5rem;display:flex}.sticker-delete-btn{color:#dc2626}.sticker-delete-btn:hover{background:#dc26261a}.sticker-form{background:var(--surface-card);border:1px solid var(--surface-card-border);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-4) 0;gap:var(--space-4);flex-direction:column;display:flex}.sticker-form-preview{align-items:center;gap:var(--space-3);display:flex}.sticker-form-fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.sticker-form-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.sticker-form-row label{flex:1;min-width:150px}.sticker-form-actions{justify-content:flex-end;gap:.5rem;display:flex}.sticker-edit-row{background:rgb(var(--c-sky-rgb) / .05);border-left:3px solid var(--c-sky)}.code-gen-form{flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.code-gen-form label{color:var(--c-slate);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.code-gen-form input{border:1px solid rgb(var(--c-brown-rgb) / .2);width:80px;color:var(--c-ink);background:#ffffffd9;border-radius:6px;padding:.4rem}.generated-codes{margin:1rem 0}.generated-code{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.generated-code code{letter-spacing:.1em;color:var(--c-gold);font-size:1.2rem}.error{color:var(--feedback-error);margin-top:.5rem;font-size:.9rem}.warning{color:var(--feedback-warning);margin-top:.5rem}.hint{color:var(--feedback-hint);margin-top:1rem;font-size:.85rem;font-style:italic}.ts-cell{color:var(--c-slate);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.badge{border-radius:999px;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.badge-unused{background:var(--badge-unused-bg);color:var(--badge-unused-fg)}.badge-pending{background:var(--badge-pending-bg);color:var(--badge-pending-fg)}.badge-rolling{background:var(--badge-rolling-bg);color:var(--badge-rolling-fg)}.badge-selected{background:var(--badge-selected-bg);color:var(--badge-selected-fg)}.badge-shipped{background:var(--badge-shipped-bg);color:var(--badge-shipped-fg)}.badge-delivered{background:var(--badge-delivered-bg);color:var(--badge-delivered-fg)}.action-row{flex-wrap:wrap;align-items:center;gap:1rem;margin:1rem 0;display:flex}.ship-form{background:var(--surface-card);border:1px solid var(--surface-card-border);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-4) 0;gap:var(--space-3);flex-direction:column;display:flex}.ship-form .form-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.ship-form label{color:var(--c-slate);flex-direction:column;flex:1;gap:.25rem;min-width:180px;font-size:.85rem;display:flex}.ship-form input,.ship-form select{border:1px solid rgb(var(--c-brown-rgb) / .2);color:var(--c-ink);background:#ffffffd9;border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.ship-form .form-actions{gap:.5rem;display:flex}.timeline{border-left:2px solid rgb(var(--c-brown-rgb) / .12);margin:1rem 0;padding:0;list-style:none}.timeline-item{align-items:flex-start;gap:.75rem;padding:.5rem 0 .5rem 1rem;display:flex;position:relative}.timeline-dot{background:var(--c-sky);width:10px;height:10px;box-shadow:0 0 0 3px rgb(var(--c-sky-rgb) / .4);border-radius:50%;position:absolute;top:1rem;left:-6px}.timeline-label{font-size:.95rem}.timeline-body{flex:1}.meta-line{color:#6b7280;margin-top:.15rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}.roll-item-selected{background:rgb(var(--c-sky-rgb) / .15);border-color:rgb(var(--c-brown-rgb) / .4);box-shadow:0 0 0 1px rgb(var(--c-brown-rgb) / .2)}.roll-item-starred{border-color:#f5b94280}.selected-badge{margin-left:var(--space-2);color:var(--c-gold);font-weight:600}.discarded-badge{margin-left:var(--space-2);color:#6b7280;font-size:.75rem;font-weight:500}.events-log{background:rgb(var(--c-brown-rgb) / .04);border:1px solid rgb(var(--c-brown-rgb) / .1);border-radius:8px;margin-top:2rem;padding:.5rem 1rem}.events-log summary{cursor:pointer;color:var(--c-slate);padding:.5rem 0;font-size:.85rem;font-weight:500}.events-log table{font-size:.75rem}.events-log table th,.events-log table td{padding:.35rem}.modal-backdrop{z-index:900;background:#141828d9;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--surface-card,#fff);border:1px solid var(--surface-card-border,rgb(var(--c-brown-rgb) / .15));border-radius:var(--radius-lg,12px);width:100%;max-width:640px;margin-bottom:2rem;padding:1.5rem;position:relative;box-shadow:0 12px 40px #00000040}.modal-close{color:var(--c-slate);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.5rem;line-height:1;position:absolute;top:.5rem;right:.75rem}.modal-close:hover{background:rgb(var(--c-brown-rgb) / .1);color:var(--c-ink,#1f2937)}.banner-cover__stage{aspect-ratio:16/9;margin-block:10px;position:relative}.banner-cover__stage--tall{aspect-ratio:5/3}.banner-cover__track{position:absolute;inset:0}.banner-cover__item{border:1px solid rgb(var(--c-brown-rgb) / .15);border-radius:var(--radius-md);background:var(--surface-input);cursor:pointer;padding:0;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .28s,filter .28s;position:absolute;inset:0;overflow:hidden}.banner-cover__fill{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.banner-cover__item:focus-visible{outline:2px solid var(--c-brown);outline-offset:2px}.banner-cover__item[data-slot="0"]{z-index:4;transform:scale(.82)}.banner-cover__item[data-slot="1"]{z-index:3;opacity:.92;filter:brightness(.78);transform:translate(-16%)rotate(-8deg)scale(.74)}.banner-cover__item[data-slot="-2"]{z-index:3;opacity:.92;filter:brightness(.78);transform:translate(16%)rotate(8deg)scale(.74)}.banner-cover__item[data-slot="2"]{z-index:2;opacity:.85;filter:brightness(.6);transform:translateY(20%)scale(.58)}.banner-cover__item[data-slot="3"]{z-index:1;opacity:.7;filter:brightness(.5);transform:translateY(25%)scale(.5)}.banner-cover__item[data-slot="-1"]{visibility:hidden;opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .28s,filter .28s,visibility 0s linear .28s}.banner-cover__stage--tall .banner-cover__item[data-slot="3"]{transform:translateY(31%)scale(.5)}.banner-cover__pill{pointer-events:none;z-index:4;white-space:nowrap;text-overflow:ellipsis;-webkit-backdrop-filter:blur(14px);max-width:calc(100% - 52px);color:var(--c-brown);box-shadow:0 1px 6px rgb(var(--c-brown-rgb) / .18);background:#ffffff9e;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:700;position:absolute;bottom:8px;left:8px;overflow:hidden}.banner-cover__bar{min-height:30px;margin-top:var(--space-3);justify-content:center;align-items:center;gap:.6rem;display:flex}.banner-cover__nav{border:1px solid rgb(var(--c-brown-rgb) / .2);width:30px;height:30px;color:var(--c-brown);cursor:pointer;background:#ffffffb3;border-radius:999px;place-items:center;padding:0;font-size:.95rem;font-weight:700;line-height:1;display:grid}.banner-cover__nav:hover{background:#fff}.banner-cover__dots{flex:none;justify-content:center;align-items:center;gap:6px;display:flex}.banner-cover__dot{background:rgb(var(--c-brown-rgb) / .25);cursor:pointer;border:none;border-radius:999px;width:9px;height:9px;padding:0;transition:width .18s,background .18s}.banner-cover__dot[aria-current=true]{background:var(--c-sky);width:22px;box-shadow:0 0 0 2px rgb(var(--c-sky-rgb) / .35)}.banner-cover__stage--duo .banner-cover__item[data-slot="1"]{z-index:2;opacity:.85;filter:brightness(.6);transform:translateY(20%)scale(.58)}.banner-badge{background:color-mix(in srgb, var(--c-gold) 22%, #fff);color:var(--ink-ssr);font-variant-numeric:tabular-nums;box-shadow:0 1px 4px rgb(var(--c-brown-rgb) / .25);border-radius:999px;padding:1px 6px;font-size:.65rem;font-weight:700;position:absolute;bottom:4px;right:4px}.banner-hero{margin-bottom:var(--space-3);text-align:left}.banner-hero__art{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid rgb(var(--c-brown-rgb) / .15);background:var(--surface-input);width:100%;display:block;position:relative;overflow:hidden}.banner-hero__art>img,.banner-hero__art-fill{object-fit:cover;width:100%;height:100%;display:block}.banner-hero__art-fill{position:absolute;inset:0}.banner-hero__name{color:var(--c-brown);margin-top:.4rem;font-size:.9rem;font-weight:700}.banner-hero__meta{color:var(--ink-muted);font-size:.75rem}.banner-summary{text-align:left;padding-top:var(--space-3);border-top:1px solid rgb(var(--c-brown-rgb) / .12);margin-bottom:var(--space-4)}.banner-summary__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.banner-summary__name{color:var(--c-brown);font-size:.85rem;font-weight:700}.banner-summary__pulls{font-variant-numeric:tabular-nums;color:var(--ink-muted);flex:none;font-size:.75rem}.banner-summary__featured{color:var(--ink-muted);margin-top:.25rem;font-size:.75rem;line-height:1.5}.banner-summary__featured em{color:var(--ink-ssr);font-style:normal;font-weight:700}.banner-summary__sep{color:rgb(var(--c-brown-rgb) / .3)}.banner-skel{width:100%;margin-bottom:var(--space-4);opacity:0;flex-direction:column;transition:opacity .2s;display:flex}.banner-skel--shown{opacity:1}.banner-skel__art{aspect-ratio:16/9;border-radius:var(--radius-md);width:100%;margin-bottom:12px}.banner-skel__bar{border-radius:var(--radius-md);height:30px}.banner-skel__summary{border-radius:var(--radius-md);height:54px}.banner-skel__art,.banner-skel__bar,.banner-skel__summary{background-image:linear-gradient(90deg, rgb(var(--c-brown-rgb) / .06) 0%, rgb(var(--c-brown-rgb) / .12) 40%, rgb(var(--c-brown-rgb) / .06) 80%);background-size:240% 100%;animation:1.4s ease-in-out infinite banner-shimmer}@keyframes banner-shimmer{0%{background-position:140% 0}to{background-position:-140% 0}}.banner-note{text-align:left;color:var(--ink-muted);padding:var(--space-3);border-radius:var(--radius-md);background:rgb(var(--c-brown-rgb) / .05);margin-bottom:var(--space-4);font-size:.8rem;line-height:1.5}.banner-note--error{background:rgb(var(--feedback-error) / .07);color:var(--feedback-error)}.banner-note__retry{margin-left:var(--space-2);font:inherit;color:var(--c-brown);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.banner-locked__reason{color:var(--ink-muted);text-align:left;margin-top:.35rem;font-size:.75rem;line-height:1.5}.banner-locked__reason strong{color:var(--c-brown)}.banner-art-fallback{background:linear-gradient(135deg, rgb(var(--c-sky-rgb) / .35), rgb(var(--c-brown-rgb) / .3))}.banner-summary__more{color:rgb(var(--c-brown-rgb) / .55)}.pull-video-overlay{z-index:1000;cursor:pointer;touch-action:none;visibility:hidden;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pull-video-overlay--visible{visibility:visible}.pull-video-overlay__video{object-fit:contain;width:100%;height:100%;display:block}.pull-video-overlay__hint{color:#ffffffd9;letter-spacing:.04em;pointer-events:none;background:#00000073;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.pull-video-overlay__skip{color:#fff;background:#0006;border-color:#fff6;position:absolute;top:1rem;right:1rem}.page-footer{flex:none;justify-content:center;margin-top:auto;margin-bottom:.75rem;display:flex}.quick-menu{padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);box-shadow:0 6px 22px rgb(var(--c-brown-rgb) / .18), inset 0 1px 0 #ffffffb3;background:#ffffff9e;border:1px solid #fffc;flex-wrap:wrap;justify-content:center;align-items:center;row-gap:.15rem;font-size:.85rem;display:flex}.quick-menu__item{white-space:nowrap;border-radius:var(--radius-sm);font:inherit;color:var(--c-brown);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.42rem .58rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.quick-menu__item:hover{background:rgb(var(--c-sky-rgb) / .3)}.quick-menu__item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.quick-menu__sep{color:rgb(var(--c-brown-rgb) / .35);-webkit-user-select:none;user-select:none}.quick-menu__item:disabled{opacity:.55;cursor:default}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rates-backdrop{z-index:950;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:var(--space-4);background:#141828b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.rates-panel{width:100%;max-width:340px;padding:var(--space-5);text-align:left;border:1px solid rgb(var(--c-brown-rgb) / .12);border-radius:var(--radius-lg);max-height:calc(100dvh - 2rem);box-shadow:0 12px 40px rgb(var(--c-brown-rgb) / .35);background:#fff;overflow-y:auto}.rates-panel__title{color:var(--c-brown);margin-bottom:.15rem;font-size:1.15rem;font-weight:700}.rates-panel__sub{color:var(--ink-muted);margin-bottom:var(--space-4);font-size:.8rem}.rates-table{border-collapse:collapse;width:100%;font-size:.9rem}.rates-table th{text-align:right;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);padding-bottom:var(--space-2);border-bottom:1px solid rgb(var(--c-brown-rgb) / .15);font-size:.7rem;font-weight:700}.rates-table th:first-child{text-align:left}.rates-table td{text-align:right;border-bottom:1px solid rgb(var(--c-brown-rgb) / .08);vertical-align:middle;padding:.4rem 0}.rates-table td:first-child{text-align:left}.rates-table tr:last-child td{border-bottom:none}.rates-tier{align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.rates-tier__dot{border-radius:999px;flex:none;width:.6rem;height:.6rem}.rates-tier--N{color:var(--ink-n)}.rates-tier--R{color:var(--ink-r)}.rates-tier--SR{color:var(--ink-sr)}.rates-tier--SSR{color:var(--ink-ssr)}.rates-tier__dot--N{background:var(--rarity-n)}.rates-tier__dot--R{background:var(--rarity-r)}.rates-tier__dot--SR{background:var(--rarity-sr)}.rates-tier__dot--SSR{background:var(--rarity-ssr)}.rates-pct{font-variant-numeric:tabular-nums;color:var(--ink-muted)}.rates-featured{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid rgb(var(--c-brown-rgb) / .15)}.rates-featured__heading{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin-bottom:var(--space-2);font-size:.7rem;font-weight:700}.rates-featured__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:.2rem 0;font-size:.85rem;display:flex}.rates-featured__name{color:var(--c-brown);font-weight:600}.rates-featured__mult{font-variant-numeric:tabular-nums;color:var(--ink-r);flex:none;font-weight:700}.rates-fineprint{margin-top:var(--space-4);padding:var(--space-3);background:rgb(var(--c-brown-rgb) / .06);border-radius:var(--radius-md);color:var(--ink-muted);font-size:.72rem;line-height:1.45}.rates-panel__footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.rates-panel__banner{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.rates-panel__state{color:var(--ink-muted);padding:var(--space-3) 0;font-size:.85rem}@media (width<=380px){.quick-menu__sep{display:none}.quick-menu__item{padding-left:.35rem;padding-right:.35rem}}@media (prefers-reduced-motion:reduce){.banner-cover__item,.banner-cover__item[data-slot="-1"],.banner-cover__dot{transition:none}.banner-skel__art,.banner-skel__line{animation:none}}
