@font-face{font-family:Poppins;src:url("../assets/raw/default/8b48e563f3eed70b.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url("../assets/raw/default/e6b1a5c6258cf1c1.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url("../assets/raw/default/2e4ed78836968aa4.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url("../assets/raw/default/268c20c22e933e24.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Poppins;src:url("../assets/raw/default/39a1447e36600178.woff2") format("woff2");font-weight:800;font-display:swap}

:root{--canvas:#0f0d37;--canvas-2:#201d47;--deep:#01051d;--raised:#3c3974;--muted:#8682b8;--secondary:#bfbce2;--blue:#32a1f5;--pink:#f12586;--red:#ce4f4f;--white:#fff;--r-common:#7d84a7;--r-uncommon:#52b990;--r-rare:#32a1f5;--r-epic:#8f66ff;--r-legendary:#f1a630;--r-mythic:#f12586;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:#090823;color:var(--white);font-family:Poppins,Arial,sans-serif;overscroll-behavior:none}
button{font:inherit;color:inherit;border:0;cursor:pointer;background:transparent}
button:focus-visible{outline:2px solid #76c7ff;outline-offset:2px}
img{display:block;max-width:100%;user-select:none;-webkit-user-drag:none}
.source-icon{display:inline-block;flex:0 0 auto;width:20px;height:20px;background-color:transparent;background-image:var(--icon);background-repeat:no-repeat;background-position:center;background-size:contain}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.prototype-shell{min-height:100%;display:grid;place-items:center;gap:18px;padding:0}
.app{position:relative;width:min(390px,100vw);height:min(844px,100dvh);min-height:640px;overflow:clip;background:radial-gradient(circle at 50% 26%,#262363 0,#171448 36%,#0f0d37 70%);isolation:isolate;--tell:#dfe6fb;--tell-soft:rgba(223,230,251,.42);--wash:.08;--glow:.4}
.app[data-tell="uncommon"]{--tell:var(--r-uncommon);--tell-soft:rgba(82,185,144,.48);--wash:.13;--glow:.55}
.app[data-tell="rare"]{--tell:var(--r-rare);--tell-soft:rgba(50,161,245,.5);--wash:.17;--glow:.65}
.app[data-tell="epic"]{--tell:var(--r-epic);--tell-soft:rgba(143,102,255,.52);--wash:.22;--glow:.78}
.app[data-tell="legendary"]{--tell:var(--r-legendary);--tell-soft:rgba(241,166,48,.55);--wash:.27;--glow:.9}
.app[data-tell="mythic"]{--tell:var(--r-mythic);--tell-soft:rgba(241,37,134,.6);--wash:.36;--glow:1}
.pressable{transition:transform 140ms var(--ease-out),background-color 180ms ease,opacity 180ms ease}
.pressable:active{transform:scale(.97)}
.eyebrow{display:block;color:var(--muted);font-size:8px;line-height:12px;font-weight:700;letter-spacing:1.45px}

/* ---------- One Stage: persistent pack stage ---------- */
.stage{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding-bottom:200px;transition:padding 360ms var(--ease-out);touch-action:pan-y;user-select:none}
.app.is-reveal .stage{padding-bottom:104px}
.stage-dim{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#24205d 0,#100e38 46%,#05051d 100%);opacity:0;transition:opacity 320ms ease}
.app.is-reveal .stage-dim{opacity:1}
.stage-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,transparent 15%,rgba(1,5,29,.1) 50%,rgba(1,5,29,.5));pointer-events:none}
.stage-wash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,var(--tell-soft),transparent 62%);opacity:0;transition:opacity 420ms ease}
.app.is-landed .stage-wash{opacity:var(--wash)}
.app.is-result .stage-wash{opacity:calc(var(--wash)*.55)}
.stage-word{position:absolute;z-index:0;left:0;right:0;top:112px;text-align:center;font-size:92px;line-height:1;font-weight:800;letter-spacing:4px;color:transparent;-webkit-text-stroke:1.5px rgba(214,220,248,.16);pointer-events:none;white-space:nowrap}
.stage-anchor{position:relative;z-index:2;width:300px;height:410px;perspective:1000px}
.app:not(.is-reveal) .foil-pack{animation:packSway 3200ms var(--ease-in-out) infinite alternate}

/* ---------- Home overlay chrome ---------- */
.home-ui{transition:opacity 240ms ease}
.app.is-reveal .home-ui{opacity:0;pointer-events:none}
.float-bar{position:absolute;z-index:10;top:0;left:0;right:0;height:60px;padding:12px 12px 0;display:flex;align-items:center;gap:7px}
.float-spacer{flex:1}
.quiet-icon{width:36px;height:36px;border-radius:50%;background:rgba(60,57,116,.4);display:grid;place-items:center;color:var(--secondary)}
.quiet-icon .source-icon{width:18px;height:18px}
.balance-pill{height:38px;min-width:104px;padding:0 13px 0 9px;border-radius:20px;background:rgba(60,57,116,.55);display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.balance-pill img{width:25px;height:20px;object-fit:contain}.balance-pill strong{font-size:12px;letter-spacing:.2px}
.tips-pill{height:30px;border-radius:16px;background:rgba(60,57,116,.55);padding:0 11px;color:var(--secondary);font-size:10px;font-weight:600;display:flex;align-items:center;gap:5px}
.tips-pill .source-icon{width:15px;height:15px}
.stage-eyebrow{position:absolute;z-index:10;top:70px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2.6px;font-weight:700;color:var(--muted)}
.edge-arrow{position:absolute;z-index:10;top:302px;width:38px;height:38px;border-radius:50%;background:rgba(60,57,116,.42);display:grid;place-items:center;color:var(--secondary)}
.edge-arrow .source-icon{width:22px;height:22px}
.edge-arrow.left{left:10px}.edge-arrow.right{right:10px}
.fact-chips{position:absolute;z-index:10;left:14px;right:14px;top:538px;display:flex;gap:7px;justify-content:center}
.chip{height:47px;padding:0 12px;border-radius:14px;background:rgba(60,57,116,.5);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);display:flex;align-items:center;gap:7px;text-align:left}
.chip>img{width:23px;height:18px;object-fit:contain}
.chip>span:not(.source-icon){display:flex;flex-direction:column}
.chip small{font-size:8px;color:var(--muted);line-height:11px}
.chip b{font-size:11px;line-height:15px;font-weight:700}
.chip-info{width:13px;height:13px;color:#aaa5d1}
.tier-dots{position:absolute;z-index:10;left:0;right:0;top:598px;display:flex;justify-content:center;align-items:center;gap:5px}
.tier-dots i{display:block;width:4px;height:4px;border-radius:50%;background:#66628e;transition:width 220ms var(--ease-out),background 180ms ease}
.tier-dots i.active{width:15px;border-radius:5px;background:#64bcfb;box-shadow:0 0 10px rgba(50,161,245,.52)}
.bottom-stack{position:absolute;z-index:10;left:14px;right:14px;bottom:66px;display:flex;flex-direction:column;gap:8px}
.bottom-nav{position:absolute;z-index:10;left:0;right:0;bottom:0;height:58px;display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(180deg,rgba(39,36,88,.95),#211e4f);border-top:1px solid rgba(255,255,255,.08)}
.bottom-nav button{position:relative;background:transparent;color:#7772a0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.bottom-nav .nav-icon{width:22px;height:22px}
.bottom-nav small{font-size:8px}
.bottom-nav button.active{color:#fff}
.bottom-nav button.active::after{content:"";position:absolute;bottom:0;width:44px;height:3px;border-radius:3px 3px 0 0;background:var(--pink);box-shadow:0 -3px 9px rgba(241,37,134,.45)}
.inside-tab{width:100%;border-radius:16px;background:rgba(32,29,71,.8);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(10px);padding:0 0 9px;overflow:hidden;text-align:left}
.inside-tab .odds-strip{margin-bottom:9px}
.odds-strip{display:flex;gap:2px;height:4px;overflow:hidden;background:#373465}
.odds-strip span{flex:var(--size);min-width:2px}
.common{background:var(--r-common)}.uncommon{background:var(--r-uncommon)}.rare{background:var(--r-rare)}.epic{background:var(--r-epic)}.legendary{background:var(--r-legendary)}.mythic{background:var(--r-mythic)}
.inside-line{display:flex;align-items:center;gap:10px;padding:0 12px}
.eye-icon{width:20px;height:20px;color:#9fd7ff}
.inside-copy{display:flex;flex-direction:column;min-width:0}
.inside-copy strong{font-size:11px;line-height:15px}
.inside-copy small{font-size:8px;color:var(--secondary);line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inside-arrow{margin-left:auto;width:18px;height:18px;color:var(--secondary);transform:rotate(-90deg)}
.dock{display:flex;gap:8px}
.pack-quantity{flex:0 0 106px;height:46px;border-radius:14px;background:rgba(60,57,116,.72);display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:var(--secondary)}
.pack-quantity strong{font-size:11px;color:#fff}
.pack-quantity .source-icon{width:17px;height:17px}
.open-button{flex:1;height:46px;border-radius:23px;background:linear-gradient(100deg,#32a1f5,#55b3fb);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 9px 24px rgba(50,161,245,.25)}
.cta-cost{display:flex;align-items:center;gap:3px}.cta-cost img{width:27px;height:14px;object-fit:contain}.cta-cost b{font:inherit}
.options-button{flex:0 0 46px;height:46px;border-radius:14px;background:rgba(60,57,116,.72);display:grid;place-items:center;color:var(--secondary)}
.options-button .source-icon{width:19px;height:19px}
.loyalty{text-align:center;color:#a39ec9;font-size:8px;margin:0}

/* ---------- Sheets (What's inside / item details) ---------- */
.sheet{position:absolute;inset:0;z-index:20;background:radial-gradient(circle at 50% 0,#29255c,#0f0d37 38%);transform:translateY(100%);opacity:0;visibility:hidden;transition:transform 420ms var(--ease-drawer),opacity 220ms ease,visibility 0s linear 420ms}.sheet[aria-hidden="false"]{transform:translateY(0);opacity:1;visibility:visible;transition:transform 420ms var(--ease-drawer),opacity 220ms ease}.sheet-header{height:74px;position:sticky;top:0;z-index:2;padding:15px 18px 10px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(15,13,55,.98),rgba(15,13,55,.88));border-bottom:1px solid rgba(255,255,255,.08)}.sheet-header h2{font-size:19px;margin:1px 0 0}.close-button{width:36px;height:36px;border-radius:50%;background:rgba(60,57,116,.68);display:grid;place-items:center;color:var(--secondary)}.close-button .source-icon{width:22px;height:22px}.sheet-scroll{height:calc(100% - 74px);overflow:auto;padding:12px 15px 38px;scrollbar-width:none}.inside-summary{padding:14px;border-radius:18px;background:linear-gradient(145deg,rgba(60,57,116,.78),rgba(36,33,82,.78));border:1px solid rgba(255,255,255,.08)}.summary-topline{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.09)}.summary-topline>span{display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(255,255,255,.08)}.summary-topline>span:last-child{border:0}.summary-topline small{font-size:8px;color:#9e99c6}.summary-topline strong{font-size:10px;height:20px;display:flex;align-items:center;gap:3px}.summary-topline img{width:21px;height:16px;object-fit:contain}.distribution-head{display:flex;align-items:center;justify-content:space-between;padding:12px 0 7px;font-size:9px;font-weight:600}.text-button{padding:5px;background:transparent;color:#74c4ff;font-size:8px}.distribution-bar{display:flex;height:8px;border-radius:7px;overflow:hidden;gap:2px}.distribution-bar i:nth-child(1){flex:29.63}.distribution-bar i:nth-child(2){flex:55.7}.distribution-bar i:nth-child(3){flex:13.59}.distribution-bar i:nth-child(4){flex:.98;min-width:3px}.distribution-bar i:nth-child(5){flex:.09;min-width:3px}.distribution-bar i:nth-child(6){flex:.02;min-width:3px}.distribution-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px;margin-top:11px}.distribution-legend span{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:5px;color:#aaa5cf;font-size:8px}.distribution-legend i{width:7px;height:7px;border-radius:50%}.distribution-legend b{color:#fff;font-size:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;padding:20px 2px 10px}.section-heading.compact{padding-top:23px}.section-heading h3,.full-checklist h3{font-size:13px;line-height:17px;margin:1px 0}.eyebrow.pink{color:#ff68ae}.chance-chip{font-size:8px;font-weight:700;padding:5px 9px;border-radius:12px}.mythic-chip{background:rgba(241,37,134,.17);color:#ff79b7;border:1px solid rgba(241,37,134,.32)}.chase-card{width:100%;min-height:184px;border-radius:21px;padding:10px;background:linear-gradient(145deg,rgba(241,37,134,.18),rgba(50,161,245,.12) 52%,rgba(60,57,116,.56));border:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:144px 1fr;align-items:center;text-align:left;overflow:hidden}.chase-image{height:164px;position:relative;display:grid;place-items:center}.chase-image img{width:133px;height:133px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 12px 12px rgba(0,0,0,.45))}.mythic-rays{position:absolute;width:180px;height:180px;border-radius:50%;background:conic-gradient(from 20deg,transparent,#f1258640,transparent,#32a1f540,transparent);animation:slowSpin 12s linear infinite}.chase-copy{padding:2px 3px}.rarity-label{font-size:8px;letter-spacing:1.2px;color:#ff79b7;font-weight:800}.chase-copy h4{font-size:15px;line-height:19px;margin:4px 0}.chase-copy>p{font-size:8px;line-height:12px;color:#aaa5cf;margin:0 0 11px}.chase-copy>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.chase-copy>div span{display:flex;flex-direction:column;padding:6px;border-radius:9px;background:rgba(1,5,29,.42)}.chase-copy small{font-size:7px;color:#918cb9}.chase-copy strong{font-size:8px}.rarity-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:3px;scrollbar-width:none}.rarity-tabs button{flex:0 0 auto;height:34px;border-radius:17px;padding:0 11px;background:rgba(60,57,116,.55);font-size:8px;color:#aaa5cf}.rarity-tabs button span{padding-left:4px;opacity:.65}.rarity-tabs button.active{background:#fff;color:#171443;font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.catalog-card{background:rgba(60,57,116,.43);border-radius:13px;padding:7px;text-align:left;min-width:0}.catalog-art{aspect-ratio:1;display:grid;place-items:center;position:relative;border-radius:9px;background:radial-gradient(circle,#383376,#1a1748)}.catalog-art img{width:100%;height:100%;object-fit:contain}.catalog-art i{position:absolute;right:4px;top:4px;padding:3px 5px;border-radius:8px;background:rgba(1,5,29,.82);color:#ff79b7;font-size:6px;font-style:normal}.catalog-card>strong{display:block;font-size:7px;line-height:10px;height:20px;margin-top:5px;overflow:hidden}.catalog-card>small{font-size:6px;color:#9b96c2}.full-checklist{margin-top:24px;padding:14px;border-radius:16px;background:rgba(60,57,116,.38);display:flex;align-items:center;justify-content:space-between}.full-checklist p{font-size:7px;color:#9792bd;margin:2px 0}.checklist-list{border-radius:15px;overflow:hidden;background:rgba(1,5,29,.3)}.detail-sheet{z-index:23}.detail-sheet.over-collection{z-index:58}.detail-content{height:calc(100% - 74px);overflow:auto;padding:25px 24px;text-align:center}.detail-art{height:324px;position:relative;display:grid;place-items:center}.detail-art span{position:absolute;width:270px;height:270px;border-radius:50%;background:conic-gradient(from 40deg,#f1258640,#32a1f52b,#f5b33a3b,#f1258640);filter:blur(4px);animation:slowSpin 12s linear infinite}.detail-art img{position:relative;width:280px;height:280px;object-fit:contain;filter:drop-shadow(0 19px 23px rgba(0,0,0,.42))}.detail-content h2{font-size:20px;line-height:25px;margin:6px 0 1px}.detail-content>p{font-size:9px;color:#aba6ce}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0 18px}.detail-facts span{padding:10px 5px;border-radius:12px;background:rgba(60,57,116,.5);display:flex;flex-direction:column}.detail-facts small{font-size:7px;color:#9691bd}.detail-facts strong{font-size:10px}.detail-content details{text-align:left;background:rgba(60,57,116,.4);border-radius:14px;padding:12px;font-size:9px;color:#b8b3d7}.detail-content summary{font-weight:600;color:#fff}.detail-content details p{line-height:16px}
.odds-total{display:grid;place-items:center;flex:0 0 auto;width:47px;height:47px;border-radius:50%;background:rgba(50,161,245,.12);border:1px solid rgba(80,181,250,.32);color:#85ceff;font-size:9px;font-weight:800}
.band-list{display:flex;flex-direction:column;gap:7px}
.band-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-radius:15px;background:rgba(60,57,116,.4);border:1px solid rgba(255,255,255,.07);text-align:left}
.band-thumbs{display:flex}
.band-thumbs img{width:26px;height:34px;object-fit:contain;margin-left:-9px;filter:drop-shadow(0 4px 5px rgba(0,0,0,.4))}
.band-thumbs img:first-child{margin-left:0}
.band-copy{display:flex;flex-direction:column;min-width:0}
.band-copy strong{font-size:10px}
.band-copy small{font-size:8px;color:#9e99c6;margin-top:1px}
.band-row>b{font-size:10px;color:#85ceff;font-weight:800}
.checklist-tools{display:flex;gap:7px;margin-top:9px}
.search-box{flex:1;display:flex;align-items:center;height:36px;border-radius:12px;background:rgba(1,5,29,.5);border:1px solid rgba(255,255,255,.09);padding:0 11px;transition:border-color 160ms ease}
.search-box:focus-within{border-color:#76c7ff}
.search-box input{flex:1;min-width:0;background:transparent;border:0;color:#fff;font:inherit;font-size:9.5px;outline:none}
.search-box input::placeholder{color:#77729f}
.sort-seg{display:flex;border-radius:12px;background:rgba(1,5,29,.5);border:1px solid rgba(255,255,255,.09);overflow:hidden}
.sort-seg button{padding:0 10px;font-size:8px;color:#aaa6cc;font-weight:700}
.sort-seg button.active{background:#fff;color:#171443}
.checklist-none{padding:26px 12px;text-align:center;color:#8f8ab5;font-size:9px;margin:0}
.checklist-filters{position:sticky;top:0;z-index:1;display:flex;gap:6px;overflow:auto;margin:9px -15px 0;padding:11px 15px 8px;background:linear-gradient(180deg,#12103e 78%,transparent);scrollbar-width:none}
.checklist-filters button{flex:0 0 auto;height:31px;padding:0 10px;border-radius:16px;background:rgba(60,57,116,.56);color:#aaa6cc;font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.checklist-filters button span{margin-left:4px;color:#77729f}
.checklist-filters button.active{background:#fff;color:#171443}.checklist-filters button.active span{color:#5b5683}
.checklist-status{text-align:right;color:#8f8ab5;font-size:7px;padding:1px 3px 6px}
.checklist-item{width:100%;min-height:83px;padding:7px 10px;display:grid;grid-template-columns:56px 1fr 12px;gap:10px;align-items:center;background:transparent;text-align:left;border-bottom:1px solid rgba(255,255,255,.07)}
.checklist-item:last-child{border-bottom:0}.checklist-item>img{width:56px;height:68px;object-fit:contain;filter:drop-shadow(0 6px 7px rgba(0,0,0,.35))}.checklist-item>span{min-width:0;display:flex;flex-direction:column}.checklist-item small{font-size:7px;color:#ff79b7;letter-spacing:.4px}.checklist-item strong{font-size:9px;line-height:13px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checklist-item b{font-size:7px;color:#a39ec6}.checklist-item .checklist-chevron{width:17px;height:17px;color:#716d99}
.detail-art img{object-fit:contain}.detail-content details[open] p{white-space:pre-line}

/* ---------- Modals ---------- */
.modal-backdrop{position:absolute;inset:0;z-index:26;background:rgba(1,5,29,.72);display:flex;align-items:flex-end;opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 0s linear 300ms}.modal-backdrop[aria-hidden="false"]{opacity:1;visibility:visible;transition:opacity 220ms ease}.options-card{width:100%;padding:8px 16px max(22px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:linear-gradient(180deg,#2a275f,#171442);transform:translateY(100%);transition:transform 360ms var(--ease-drawer);box-shadow:0 -20px 50px rgba(0,0,0,.35)}.modal-backdrop[aria-hidden="false"] .options-card{transform:translateY(0)}.modal-grabber{width:38px;height:4px;border-radius:3px;background:#5f5b8d;margin:1px auto 11px}.options-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.options-card h2{font-size:18px;margin:2px 0}.option-row{width:100%;height:61px;background:transparent;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;text-align:left;gap:10px}.option-row>span:not(.source-icon){display:flex;flex-direction:column}.option-row .option-icon{width:20px;height:20px;color:var(--secondary)}.option-row .option-chevron{width:17px;height:17px;color:#817ca8}.option-row strong{font-size:10px}.option-row small{font-size:7px;color:#9994bd}.option-row>b{margin-left:auto;font-size:9px;color:#c3bfdf}.toggle{margin-left:auto;width:35px;height:20px;border-radius:10px;background:#4a467a;position:relative;transition:background 180ms ease}.toggle::after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#aaa6c6;border-radius:50%;transition:left 180ms var(--ease-out),background 180ms ease}.toggle.on{background:var(--blue)}.toggle.on::after{left:17px;background:#fff}.primary-button,.secondary-button,.tertiary-button{width:100%;height:43px;border-radius:22px;font-size:10px;font-weight:700}.primary-button{background:linear-gradient(100deg,#32a1f5,#57b6fd);box-shadow:0 8px 22px rgba(50,161,245,.18)}.secondary-button{background:transparent;border:1px solid #5fbbfc}.tertiary-button{background:rgba(60,57,116,.72);color:#ddd9f2}.secondary-button span,.tertiary-button span{color:#9bd8ff}.options-card>.primary-button{margin-top:12px}
.result-confirm{z-index:48}.compact-card{text-align:center;padding:15px 22px 24px}.warning-icon{width:46px;height:46px;margin:8px auto 10px;border-radius:50%;background:rgba(241,37,134,.14);display:grid;place-items:center;color:#ff75b5}.warning-icon .source-icon{width:23px;height:23px}.compact-card h2{font-size:17px}.compact-card>p{font-size:9px;line-height:15px;color:#aaa5cc}.compact-card>.text-button{width:100%;margin-top:7px}

/* ---------- Reveal choreography on the shared stage ---------- */
.reveal-ui{position:absolute;inset:0;z-index:40;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 260ms ease,visibility 0s linear 280ms}
.app.is-reveal .reveal-ui{opacity:1;visibility:visible;transition:opacity 260ms ease}
.reveal-ui>*{pointer-events:auto}
.reveal-header{height:60px;padding:12px 14px 0;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}
.reveal-balance{position:absolute;left:55px;top:11px;height:38px;min-width:104px;padding:0 13px 0 9px;justify-content:center;border-radius:20px;background:rgba(60,57,116,.55);display:flex;align-items:center;gap:6px;font-size:12px}.reveal-balance img{width:25px;height:20px;object-fit:contain}.reveal-balance strong,.balance-pill strong{font-variant-numeric:tabular-nums}
.collection-chip{position:absolute;left:167px;top:13px;height:34px;padding:0 11px;border-radius:17px;background:rgba(60,57,116,.55);display:flex;align-items:center;gap:5px;font-size:10px;color:#8ee0bd}
.collection-chip .source-icon{width:16px;height:16px}
.collection-chip strong{font-variant-numeric:tabular-nums;min-width:9px;text-align:center}
.collection-chip.chip-pop{animation:chipPop 460ms var(--ease-out)}
@keyframes chipPop{30%{filter:brightness(1.6)}100%{filter:brightness(1)}}
.skip-button{position:absolute;right:14px;top:16px;padding:7px 12px;background:transparent;color:#a7a2c9;font-size:9px}
.result-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:50%;background:rgba(60,57,116,.68);display:none;place-items:center;color:var(--secondary)}.result-close .source-icon{width:22px;height:22px}
.app.is-result .skip-button{display:none}
.app.is-result .result-close{display:grid}
.rarity-aura{position:absolute;width:322px;height:322px;left:50%;top:50%;translate:-50% -50%;opacity:0;transform:scale(.86);transition:opacity 300ms ease,transform 520ms var(--ease-out)}
.rarity-aura::before,.rarity-aura::after,.rarity-aura i{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(154,164,201,.35)}
.rarity-aura::after{inset:34px;border-color:rgba(126,132,167,.25)}
.rarity-aura i:nth-child(1){inset:70px;background:radial-gradient(circle,rgba(201,208,231,.2),transparent 66%);border:0}
.rarity-aura i:nth-child(2){border:0;background:conic-gradient(from 0deg,transparent,rgba(207,214,236,.28),transparent 22%,transparent 68%,rgba(207,214,236,.15),transparent);animation:slowSpin 7s linear infinite}
.rarity-aura i:nth-child(3){inset:15px;border:0;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:31px 31px;opacity:.23}
.card-assembly{position:absolute;inset:0;margin:auto;width:292px;height:398px;opacity:0;transform:translateY(96px) scale(.9);transition:transform 340ms cubic-bezier(.2,1.4,.3,1),opacity 210ms ease;transform-style:preserve-3d}
.app.is-landed .card-assembly{opacity:1;transform:translateY(0) scale(1);transition:none}
.app.is-result .card-assembly{opacity:1;transform:translateY(-96px) scale(.94);transition:transform 460ms var(--ease-out),opacity 210ms ease}
.card-glow{position:absolute;inset:-92px;background:radial-gradient(closest-side,var(--tell-soft) 0%,transparent 46%),radial-gradient(closest-side,var(--tell-soft) 0%,transparent 74%);opacity:0;filter:blur(26px);transition:opacity 520ms ease;pointer-events:none;transform:translateZ(-44px) scale(1.08)}
.app.is-landed .card-glow{opacity:var(--glow)}
.app.is-result .card-glow{opacity:calc(var(--glow)*.7)}
.card-rotator{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 340ms cubic-bezier(.45,1.28,.5,1)}
.card-rotator img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:10px;backface-visibility:hidden;box-shadow:0 20px 44px rgba(0,0,0,.46)}
.card-back{background:#18154a}.card-front{transform:rotateY(180deg)}
.card-rotator .card-front{object-fit:contain;box-shadow:none;filter:drop-shadow(4px 19px 23px rgba(0,0,0,.5))}
.app.is-landed[data-tell="legendary"] .card-glow,.app.is-landed[data-tell="mythic"] .card-glow{animation:bloomBreath 2600ms var(--ease-in-out) 700ms infinite alternate}
.app.is-landed .card-front{animation:cardShadow 4600ms var(--ease-in-out) 740ms infinite alternate}
.app.is-landed .card-rotator{transition:none;transform:rotateY(180deg);animation:landPresent 740ms var(--ease-out) forwards,cardIdle 4600ms var(--ease-in-out) 740ms infinite alternate}
.foil-pack{position:absolute;inset:0;margin:auto;width:190px;height:322px;pointer-events:none;filter:drop-shadow(0 24px 24px rgba(0,0,0,.42))}
.app.is-opening .foil-pack{animation:packEnter 320ms var(--ease-out)}
.app.is-gripping .foil-pack{transform-origin:50% 18%;animation:packCrinkle 270ms var(--ease-in-out) both}
.app.is-torn .foil-pack{animation:none}
.app.is-descend .foil-pack{translate:0 488px;scale:1.6;transition:translate 480ms var(--ease-in-out),scale 480ms var(--ease-in-out)}
.app.is-landed .foil-pack{translate:0 640px;opacity:0;transition:translate 520ms cubic-bezier(.55,0,.85,.36),opacity 360ms ease 160ms}
.pack-piece{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;will-change:transform,filter}
.pack-strip{clip-path:polygon(0 0,100% 0,100% 11.4%,93% 10.9%,86% 12%,79% 11.1%,71% 12.1%,64% 11.1%,56% 12%,48% 11%,41% 12.1%,33% 11%,26% 12%,19% 11%,12% 12%,6% 11.2%,0 11.8%)}
.pack-body{clip-path:polygon(0 11.8%,6% 11.2%,12% 12%,19% 11%,26% 12%,33% 11%,41% 12.1%,48% 11%,56% 12%,64% 11.1%,71% 12.1%,79% 11.1%,86% 12%,93% 10.9%,100% 11.4%,100% 100%,0 100%)}
.app.is-torn .pack-strip{animation:stripTear 520ms var(--ease-out) forwards}
.app.is-torn .pack-body{animation:bodyRecoil 380ms var(--ease-out)}
.reel{position:absolute;inset:0;z-index:1;opacity:0;pointer-events:none}
.app.is-reel .reel{opacity:1;transition:opacity 180ms ease}
.app.is-landed .reel{opacity:0;transition:opacity 150ms ease}
.app.is-landed .reel-winner{opacity:0;transition:none}
.app.is-result .reel,.app.is-skipped .reel{display:none}
.reel-track{position:absolute;left:50%;top:0;width:292px;margin-left:-146px;will-change:transform}
.app.is-reel .reel-track{filter:url(#reelBlur)}
.app.is-sharp .reel-track{filter:none}
.app.is-stopped .reel-track{filter:none}
.reel-card{position:absolute;left:0;width:292px;height:398px;object-fit:contain;filter:drop-shadow(0 16px 22px rgba(0,0,0,.5))}
.reel-markers{position:absolute;left:0;right:0;top:calc((100% - 104px)/2);height:0;opacity:0;transition:opacity 220ms ease}
.app.is-reel .reel-markers{opacity:1}
.app.is-stopped .reel-markers::before{border-left-color:var(--tell);filter:drop-shadow(0 0 6px var(--tell-soft));animation:markerClampL 420ms var(--ease-out) both}
.app.is-stopped .reel-markers::after{border-right-color:var(--tell);filter:drop-shadow(0 0 6px var(--tell-soft));animation:markerClampR 420ms var(--ease-out) both}
.app.is-landed .reel-markers{opacity:0}
.reel-markers::before{content:"";position:absolute;left:24px;top:-7px;border:7px solid transparent;border-left-color:rgba(214,220,248,.5)}
.reel-markers::after{content:"";position:absolute;right:24px;top:-7px;border:7px solid transparent;border-right-color:rgba(214,220,248,.5)}
.foil-bits{position:absolute;left:0;right:0;top:11%;height:0;pointer-events:none}
.foil-bits i{position:absolute;left:calc(var(--bx)*1%);top:0;width:var(--bw,7px);height:5px;border-radius:1.5px;background:linear-gradient(120deg,#dff3ef,#63d6b4 55%,#2e7f68);opacity:0}
.foil-bits i:nth-child(1){--bx:8;--dx:-34px;--dy:-58px;--rot:-140deg;--bw:8px;--bd:0ms}
.foil-bits i:nth-child(2){--bx:22;--dx:-18px;--dy:-74px;--rot:120deg;--bw:6px;--bd:30ms}
.foil-bits i:nth-child(3){--bx:35;--dx:-8px;--dy:-52px;--rot:-90deg;--bw:9px;--bd:10ms}
.foil-bits i:nth-child(4){--bx:48;--dx:6px;--dy:-80px;--rot:150deg;--bw:5px;--bd:44ms}
.foil-bits i:nth-child(5){--bx:60;--dx:16px;--dy:-56px;--rot:-120deg;--bw:8px;--bd:22ms}
.foil-bits i:nth-child(6){--bx:72;--dx:28px;--dy:-70px;--rot:100deg;--bw:6px;--bd:36ms}
.foil-bits i:nth-child(7){--bx:84;--dx:38px;--dy:-48px;--rot:-160deg;--bw:7px;--bd:14ms}
.foil-bits i:nth-child(8){--bx:93;--dx:48px;--dy:-64px;--rot:130deg;--bw:5px;--bd:50ms}
.tell-particles{position:absolute;inset:-40px;pointer-events:none;transition:opacity 300ms ease}
.tell-particles i{position:absolute;left:var(--px);top:var(--py);width:4px;height:4px;border-radius:50%;background:var(--tell);opacity:0}
.tell-particles i:nth-child(1){--px:12%;--py:24%;--pd:0ms}
.tell-particles i:nth-child(2){--px:86%;--py:30%;--pd:80ms}
.tell-particles i:nth-child(3){--px:20%;--py:72%;--pd:140ms}
.tell-particles i:nth-child(4){--px:80%;--py:66%;--pd:40ms}
.tell-particles i:nth-child(5){--px:50%;--py:12%;--pd:110ms}
.tell-particles i:nth-child(6){--px:6%;--py:48%;--pd:170ms}
.tell-particles i:nth-child(7){--px:94%;--py:52%;--pd:60ms}
.tell-particles i:nth-child(8){--px:38%;--py:86%;--pd:200ms}
.result-sheet{position:absolute;z-index:7;left:0;right:0;bottom:0;padding:14px 15px max(18px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:linear-gradient(180deg,rgba(37,33,80,.96),rgba(13,11,45,.98));border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -24px 60px rgba(0,0,0,.45);transform:translateY(103%);visibility:hidden;transition:transform 440ms var(--ease-drawer),visibility 0s linear 460ms}
.result-sheet::before{content:"";display:block;width:38px;height:4px;border-radius:3px;background:#5f5b8d;margin:0 auto 10px}
.app.is-result .result-sheet{transform:translateY(0);visibility:visible;transition:transform 440ms var(--ease-drawer)}
.result-copy{text-align:center;opacity:0;transform:translateY(10px);transition:opacity 240ms ease 140ms,transform 300ms var(--ease-out) 140ms}
.app.is-result .result-copy{opacity:1;transform:translateY(0)}
.acquired-kicker{font-size:8px;color:#83c9a8;display:inline-flex;align-items:center;gap:5px}.acquired-kicker i.source-icon{width:16px;height:16px;background-color:transparent}
.result-labels{margin-top:7px;display:flex;justify-content:center;align-items:center;gap:8px}.result-labels span{font-size:8px;letter-spacing:1.2px;color:var(--tell);font-weight:800}.result-labels b{font-size:8px;color:#9e9abb}
.result-copy h2{font-size:20px;line-height:24px;margin:4px 0 10px}
.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.value-grid span{padding:8px;border-radius:12px;background:rgba(60,57,116,.43);display:flex;flex-direction:column}.value-grid small{font-size:8px;color:#9893bc}.value-grid strong{font-size:10.5px}
.result-actions{display:grid;gap:7px;margin-top:13px;opacity:0;transform:translateY(12px);transition:opacity 240ms ease 340ms,transform 320ms var(--ease-out) 340ms}
.app.is-result .result-actions{opacity:1;transform:translateY(0)}
.app.is-restarting .card-assembly{opacity:0;transform:translateY(76px) scale(.44);transition:transform 480ms var(--ease-in-out),opacity 380ms ease}
.app.is-restarting .result-sheet{transform:translateY(103%)}
.app.is-restarting .rarity-aura{opacity:0;transform:scale(.6)}
.app.is-restarting .stage-wash{opacity:0}
.app.is-restarting .card-glow{opacity:0}
.app.is-sold .card-assembly{opacity:0;transition:none}
.app.is-sold #sellResult{display:none}
.app.is-sold #viewCollection{display:none}
.app.is-skipped .foil-pack{opacity:0!important;animation:none!important;transition:none!important}
.app.is-skipped .foil-bits i{animation:none!important}
button[disabled]{cursor:default;opacity:.45}

/* ---------- Collection & shared flights ---------- */
.collection-screen{position:absolute;inset:0;z-index:52;background:radial-gradient(circle at 50% 0,#29255c,#0f0d37 43%);opacity:0;visibility:hidden;transform:translateX(100%);transition:transform 440ms var(--ease-drawer),opacity 220ms ease,visibility 0s linear 440ms}
.collection-screen[aria-hidden="false"]{opacity:1;visibility:visible;transform:translateX(0);transition:transform 440ms var(--ease-drawer),opacity 220ms ease}
.collection-header{height:76px;padding:12px 15px;display:grid;grid-template-columns:70px 1fr 38px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(15,13,55,.82);backdrop-filter:blur(12px)}
.collection-header .quiet-button{justify-self:start}.collection-header>div{text-align:center}.collection-header h2{font-size:16px;line-height:21px;margin:1px 0}.collection-count{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(60,57,116,.72);font-size:10px;font-weight:700}
.quiet-button{background:transparent;color:var(--secondary);font-size:11px;padding:7px 2px;display:flex;align-items:center;gap:3px}.quiet-button .source-icon{width:18px;height:18px}
.collection-body{height:calc(100% - 76px);overflow:auto;padding:16px}.collection-hero{min-height:61px;padding:11px 13px;border-radius:16px;background:linear-gradient(115deg,rgba(65,188,145,.16),rgba(50,161,245,.1));border:1px solid rgba(111,216,178,.19);display:flex;align-items:center;gap:10px}.collection-check{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(82,185,144,.2);color:#8ee0bd}.collection-check .source-icon{width:18px;height:18px}.collection-hero>div{display:flex;flex-direction:column}.collection-hero strong{font-size:10px}.collection-hero small{font-size:7px;color:#a7a2c8;margin-top:2px}
.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.collection-card{padding:10px;border-radius:17px;background:rgba(60,57,116,.42);text-align:left}.collection-art{position:relative;display:grid;place-items:center;aspect-ratio:.76;border-radius:13px;background:radial-gradient(circle,#39347a,#1a1748);overflow:hidden}.collection-art img{width:100%;height:100%;object-fit:contain;padding:6px;filter:drop-shadow(0 10px 11px rgba(0,0,0,.42))}.collection-art i{position:absolute;right:7px;top:7px;padding:4px 6px;border-radius:9px;background:#f12586;color:#fff;font-size:6px;font-style:normal;font-weight:800;letter-spacing:.6px}
.collection-card.landed .collection-art{animation:tileLand 700ms var(--ease-out)}
.collection-card.landed .collection-art::after{content:"";position:absolute;inset:6px;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 47%,rgba(160,225,255,.36) 53%,transparent 66%);background-size:300% 300%;background-position:8% 50%;animation:tileShine 860ms var(--ease-out) 180ms both;-webkit-mask:var(--tile-art) center/contain no-repeat;mask:var(--tile-art) center/contain no-repeat}
.collection-card.landed .collection-art i{animation:badgePop 420ms var(--ease-out) 520ms both}
@keyframes tileLand{0%{box-shadow:0 0 0 0 rgba(131,201,168,.6)}100%{box-shadow:0 0 0 16px rgba(131,201,168,0)}}
@keyframes tileShine{0%{opacity:0;background-position:8% 50%}18%{opacity:1}100%{opacity:0;background-position:92% 50%}}
@keyframes badgePop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.18);opacity:1}100%{transform:scale(1);opacity:1}}.collection-card>strong{display:block;font-size:9px;line-height:13px;margin-top:7px}.collection-card>small{font-size:7px;color:#a5a0c7}.collection-empty{padding:70px 18px;text-align:center;color:#9d98bf}.collection-empty .empty-icon{display:block;width:38px;height:38px;margin:0 auto;color:#9d98bf}.collection-empty h3{font-size:15px;color:#fff;margin:8px 0 2px}.collection-empty p{font-size:8px;margin:0}
.asset-flight{position:fixed;z-index:1000;pointer-events:none;transform-origin:center;filter:drop-shadow(0 20px 25px rgba(0,0,0,.48))}.asset-flight img{width:100%;height:100%;object-fit:contain}.asset-flight strong{position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);white-space:nowrap;padding:5px 9px;border-radius:11px;background:#fff;color:#1b1746;font-size:9px;box-shadow:0 7px 18px rgba(0,0,0,.3)}
.ticket-burst{position:fixed;z-index:1001;width:25px;height:18px;object-fit:contain;pointer-events:none}
.toast{position:absolute;z-index:60;left:50%;bottom:92px;min-width:210px;max-width:340px;padding:11px 14px;border-radius:14px;background:rgba(1,5,29,.94);border:1px solid rgba(255,255,255,.13);box-shadow:0 13px 35px rgba(0,0,0,.4);font-size:9px;text-align:center;opacity:0;transform:translate(-50%,12px) scale(.97);pointer-events:none;transition:opacity 180ms ease,transform 220ms var(--ease-out)}.toast.visible{opacity:1;transform:translate(-50%,0) scale(1)}

/* ---------- Keyframes ---------- */
@keyframes slowSpin{to{transform:rotate(360deg)}}
@keyframes packEnter{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes packSway{from{transform:rotate(-1deg) translateY(0)}to{transform:rotate(1deg) translateY(-5px)}}
@keyframes packCrinkle{0%,100%{transform:none;filter:brightness(1)}30%{transform:scale(1.016,.984) skewX(.8deg) rotate(-.6deg);filter:brightness(1.15)}62%{transform:scale(.995,1.006) skewX(-.5deg) rotate(.4deg);filter:brightness(1.05)}}
@keyframes stripTear{0%{transform:none;opacity:1}42%{transform:translate(-10px,-46px) rotate(-9deg);opacity:1}100%{transform:translate(-26px,-150px) rotate(-22deg);opacity:0}}
@keyframes bodyRecoil{0%,100%{transform:none}38%{transform:translateY(7px) scale(1.012,.985)}}
@keyframes bodyFall{to{transform:translateY(64px) scale(.93);opacity:0}}
@keyframes bitFly{0%{opacity:0;transform:none}18%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot))}}
@keyframes tellPulse{0%{transform:scale(.92)}55%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes landPulse{0%{scale:1}40%{scale:1.035}100%{scale:1}}
@keyframes landPresent{0%{transform:rotateY(180deg) rotateX(0deg) scale(1)}40%{transform:rotateY(187.5deg) rotateX(-2.6deg) scale(1.05)}75%{transform:rotateY(174.5deg) rotateX(2.2deg) scale(1.075)}100%{transform:rotateY(175.5deg) rotateX(1.8deg) scale(1.05)}}
@keyframes cardIdle{from{transform:rotateY(175.5deg) rotateX(1.8deg) translateY(0) scale(1.05)}to{transform:rotateY(184.5deg) rotateX(-1.8deg) translateY(-6px) scale(1.05)}}
@keyframes sheenTilt{from{opacity:.16;background-position:24% 50%}to{opacity:.34;background-position:76% 50%}}
@keyframes selectShine{0%{opacity:0;background-position:8% 50%}22%{opacity:.95}100%{opacity:0;background-position:92% 50%}}
@keyframes cardShadow{from{filter:drop-shadow(4px 19px 23px rgba(0,0,0,.5))}to{filter:drop-shadow(-14px 25px 27px rgba(0,0,0,.44))}}
@keyframes markerClampL{0%{transform:translateX(0)}45%{transform:translateX(10px)}100%{transform:translateX(5px)}}
@keyframes markerClampR{0%{transform:translateX(0)}45%{transform:translateX(-10px)}100%{transform:translateX(-5px)}}
@keyframes balanceTicks{0%,30%,60%,100%{scale:1;filter:brightness(1)}12%{scale:1.09;filter:brightness(1.4)}42%{scale:1.07;filter:brightness(1.3)}72%{scale:1.05;filter:brightness(1.22)}}
@keyframes bloomBreath{from{opacity:calc(var(--glow)*.62);transform:translateZ(-44px) scale(1.03)}to{opacity:var(--glow);transform:translateZ(-44px) scale(1.12)}}
@keyframes particleRise{0%{opacity:0;transform:translateY(6px) scale(.6)}30%{opacity:.95}100%{opacity:0;transform:translateY(-26px) scale(1)}}
@keyframes shimmerSweep{0%{opacity:0;transform:translate(-32%,-26%) scale(.55)}35%{opacity:.95}100%{opacity:0;transform:translate(28%,24%) scale(1.05)}}

/* ---------- Foil shader layer & reveal juice ---------- */
.foil-sheen{position:absolute;inset:0;pointer-events:none;-webkit-mask:var(--pack-art) center/100% 100% no-repeat;mask:var(--pack-art) center/100% 100% no-repeat;background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.3) 46%,rgba(122,214,255,.26) 51%,rgba(255,138,216,.2) 56%,transparent 68%),conic-gradient(from 210deg at 28% 18%,rgba(122,205,255,.1),rgba(255,122,205,.08) 30%,rgba(122,255,214,.1) 60%,rgba(122,205,255,.1));background-size:260% 260%,100% 100%;background-position:12% 50%,0 0;mix-blend-mode:screen;animation:sheenDrift 4200ms var(--ease-in-out) infinite alternate}
.app.is-gripping .foil-sheen{animation:sheenGrip 270ms ease-out both}
.app.is-torn .foil-sheen,.app.is-out .foil-sheen{opacity:0;transition:opacity 220ms ease}
.app.is-torn .stage-anchor{animation:anchorShake 240ms linear 190ms}
.card-glare{position:absolute;inset:0;transform:translateZ(30px);pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.42) 47%,rgba(160,225,255,.3) 53%,transparent 64%);background-size:300% 300%;background-position:8% 50%;-webkit-mask:var(--result-art) center/contain no-repeat;mask:var(--result-art) center/contain no-repeat}
.app.is-landed .card-glare{animation:selectShine 560ms var(--ease-out) 80ms,sheenTilt 4600ms var(--ease-in-out) 740ms infinite alternate}
.app.is-closing .result-sheet{transform:translateY(103%);transition:transform 340ms var(--ease-drawer)}
.app.is-closing .card-assembly{opacity:0!important;transform:translateY(-120px) scale(.9);transition:transform 320ms var(--ease-in-out),opacity 280ms ease}
.app.is-closing .stage-wash{opacity:0}
.app.is-closing .card-rotator{animation:none}
.tear-half{position:fixed;z-index:1000;pointer-events:none;filter:drop-shadow(0 14px 18px rgba(0,0,0,.45));will-change:transform,opacity}
.app.is-result .card-assembly{cursor:pointer}
.acquired-kicker .kicker-chevron{width:12px;height:12px;margin-left:1px}
.acquired-kicker:disabled{opacity:1;cursor:default}
.reveal-balance.balance-ticks{animation:balanceTicks 760ms var(--ease-out)}
.app.is-skipped .foil-sheen{animation:none!important;opacity:0!important}
.app.is-skipped .stage-anchor{animation:none!important}
@keyframes sheenDrift{from{background-position:12% 50%,0 0}to{background-position:88% 50%,0 0}}
@keyframes sheenGrip{0%{background-position:30% 50%,0 0;filter:brightness(1)}60%{filter:brightness(1.7)}100%{background-position:74% 50%,0 0;filter:brightness(1.1)}}
@keyframes anchorShake{0%,100%{translate:0 0}20%{translate:2px -2px}40%{translate:-2.5px 1.5px}60%{translate:2px 1px}80%{translate:-1.5px -1px}}
@keyframes glareSweep{0%{opacity:0;background-position:8% 50%}18%{opacity:1}100%{opacity:0;background-position:92% 50%}}

/* ---------- Media ---------- */
@media (max-width:740px){.prototype-shell{display:block}.app{width:100vw;height:100dvh}}
@media (hover:hover) and (pointer:fine){.inside-tab:hover,.pack-quantity:hover,.options-button:hover{background-color:#4a4785}.catalog-card:hover{transform:translateY(-2px)}.open-button:hover{filter:brightness(1.06)}}
@media (max-height:760px){.stage{padding-bottom:170px}.app:not(.is-reveal) .stage-anchor{scale:.82}.stage-word{font-size:62px;top:74px}.fact-chips{top:auto;bottom:214px}.tier-dots{top:auto;bottom:198px}.edge-arrow{top:40%}.bottom-stack{bottom:58px}.bottom-nav{height:52px}.app.is-result .card-assembly{transform:translateY(-70px) scale(.8)}.result-sheet{padding:10px 15px max(12px,env(safe-area-inset-bottom))}.result-actions{margin-top:9px;gap:6px}.primary-button,.secondary-button,.tertiary-button{height:40px}.value-grid span{padding:6px}.result-copy h2{font-size:17px;line-height:21px;margin:3px 0 7px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.sheet,.options-card,.reveal-ui,.card-assembly,.card-rotator,.result-sheet,.result-copy,.result-actions,.stage,.stage-dim{transition-duration:120ms!important;transition-delay:0ms!important}.foil-bits,.tell-particles,.foil-sheen,.card-glare,.reel-markers,.tear-half{display:none}.app.is-landed .card-assembly{transform:none}.app.is-result .card-assembly{transform:translateY(-96px) scale(.88)}.collection-screen{transition-duration:120ms}.asset-flight,.ticket-burst{display:none}}
