:root { color-scheme: dark; --ink:#f8f5ff; --muted:#aaa5bb; --panel:#1b1928; --line:rgba(255,255,255,.1); --gold:#ffd75e; --violet:#7c5cff; font-family:"Avenir Next",Inter,system-ui,sans-serif; }
.market-emoji{display:grid;place-items:center;width:46px;height:58px;border-radius:8px;background:linear-gradient(145deg,#272344,#11101d);font-size:28px;box-shadow:inset 0 0 0 1px #ffffff26}.market-emoji[data-rarity="Epic"],.market-emoji[data-rarity="Legendary"]{background:linear-gradient(135deg,#5825a9,#ca4c94,#d8b644);box-shadow:0 0 12px #bc75ff88}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { min-height:100%; background:#0d0c14; }
body { margin:0; min-height:100dvh; color:var(--ink); background:#0c121b; }
button,a { font:inherit; -webkit-tap-highlight-color:transparent; }
.rip-shell { width:min(1180px,100%); min-height:100dvh; margin:auto; padding:calc(14px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(50px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left)); }
.rip-header { min-height:68px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; border-bottom:1px solid var(--line); }
.back-link { color:var(--ink); text-decoration:none; font-weight:850; min-height:48px; display:inline-flex; align-items:center; width:max-content; }
.rip-brand { text-align:center; }.rip-brand strong,.rip-brand small,.balance small,.balance strong { display:block; }.rip-brand strong { letter-spacing:.16em; }.rip-brand small,.balance small { color:var(--muted); font-size:.72rem; margin-top:3px; }.balance { justify-self:end; text-align:right; }.balance strong { color:var(--gold); font-size:1.2rem; font-variant-numeric:tabular-nums; }
.market-strip { min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--muted); font-size:.82rem; }.market-strip strong { color:var(--ink); }.connection-dot { width:8px;height:8px;border-radius:50%;background:#f5a623;box-shadow:0 0 12px currentColor; }.connection-dot.online { background:#45d789; }.market-strip span:last-child::before { content:"·"; margin-right:8px; }
.pack-stage { min-height:620px; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); align-items:center; gap:20px 50px; padding:50px clamp(16px,6vw,80px); border:1px solid var(--line); border-radius:30px; overflow:hidden; background:#151d29; box-shadow:0 30px 90px rgba(0,0,0,.32); perspective:1100px; }
.pack-copy { max-width:610px; position:relative; z-index:2; }.eyebrow { margin:0;color:#bdacff;font-size:.74rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase; }.pack-copy h1 { margin:10px 0 20px;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.88;letter-spacing:-.065em; }.pack-copy>p:not(.eyebrow) { color:var(--muted);line-height:1.6;max-width:520px;font-size:1.08rem; }
.rip-button { min-height:50px;border:0;border-radius:14px;padding:12px 18px;color:white;background:#393548;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.22); }.rip-button.primary { background:linear-gradient(135deg,#7a56ff,#d44eac); }.rip-button.sell { background:linear-gradient(135deg,#e0526f,#f1874d);width:100%; }.rip-button:disabled { opacity:.45;cursor:not-allowed; }
.dashboard-actions,.reveal-actions { display:flex;gap:10px;flex-wrap:wrap }.reveal-actions{margin-top:20px}.reveal-actions .rip-button{margin:0;min-width:120px}.history-label{display:block;color:var(--muted);margin-top:6px}.mini-history,.market-spark{position:relative;overflow:hidden;border:1px solid rgba(74,255,147,.22);border-radius:8px;background-color:#07130e;background-image:linear-gradient(rgba(73,255,148,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(73,255,148,.09) 1px,transparent 1px);background-size:14px 14px;box-shadow:inset 0 0 18px rgba(0,0,0,.5)}.mini-history{width:min(100%,270px);height:72px;margin-top:18px}.market-chart-svg{display:block;width:100%;height:100%;overflow:visible}.market-chart-svg polyline{fill:none;stroke:#43f58b;stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linejoin:miter;stroke-linecap:square;filter:drop-shadow(0 0 3px rgba(67,245,139,.72))}.market-chart-svg circle{fill:#b7ffd3;stroke:#43f58b;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #43f58b)}
.booster { --rx:0deg;--ry:0deg;--lift:0px;--rip:0%;--foil-x:50%;--foil-y:30%;position:relative; justify-self:center;width:min(270px,65vw);aspect-ratio:.64;border:1px solid rgba(255,255,255,.68);border-radius:8px 8px 13px 13px;color:white;cursor:grab;overflow:hidden;transform:translateZ(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(-1.4deg);background:radial-gradient(ellipse at 51% 44%,rgba(238,223,255,.92) 0 16%,transparent 17%),radial-gradient(ellipse at 50% 49%,#5341a4 0 31%,transparent 32%),linear-gradient(152deg,#111827 0 18%,#35256e 43%,#782f79 70%,#171d2c);box-shadow:-25px 28px 65px rgba(0,0,0,.5),inset 7px 0 8px rgba(255,255,255,.17),inset -7px 0 9px rgba(0,0,0,.38),inset 0 0 35px rgba(20,20,35,.35);transition:transform .11s ease-out;transform-style:preserve-3d;touch-action:none;will-change:transform;clip-path:polygon(2% 0,98% 0,100% 2%,99% 98%,96% 100%,3% 99%,0 97%,1% 3%); }
.booster.dragging{cursor:grabbing;transition:none}.foil-texture{position:absolute;inset:0;background:radial-gradient(circle at var(--foil-x) var(--foil-y),rgba(255,255,255,.95),transparent 18%),conic-gradient(from 100deg at var(--foil-x) var(--foil-y),rgba(255,68,150,.56),rgba(79,220,255,.55),rgba(255,233,82,.55),rgba(159,92,255,.6),rgba(255,68,150,.56)),repeating-linear-gradient(105deg,transparent 0 10px,rgba(255,255,255,.14) 11px,transparent 13px);mix-blend-mode:color-dodge;opacity:.78;filter:saturate(1.45)}
.tear-line{position:absolute;z-index:6;left:0;right:0;top:21%;height:4px;background:repeating-linear-gradient(90deg,rgba(20,21,31,.9) 0 7px,rgba(255,255,255,.92) 7px 13px,rgba(104,111,126,.9) 13px 18px);box-shadow:0 2px 5px rgba(0,0,0,.5)}.tear-line::before{content:"";position:absolute;left:3%;top:-6px;border-width:6px 0 6px 8px;border-style:solid;border-color:transparent transparent transparent rgba(245,248,255,.85)}.tear-strip{position:absolute;z-index:7;left:0;top:calc(21% - 14px);width:var(--rip);height:31px;background:linear-gradient(165deg,#f9fbff,#6e7584 42%,#eef3fa 58%,#555c69);clip-path:polygon(0 3%,97% 3%,100% 18%,96% 35%,100% 52%,95% 70%,100% 86%,96% 98%,0 98%);box-shadow:4px 8px 13px rgba(0,0,0,.48);pointer-events:none}.rip-instruction{grid-column:2;margin:-5px 0 0;text-align:center;color:var(--muted);font-size:.82rem;font-weight:800}
.booster:hover { filter:brightness(1.04); }.booster::before,.booster::after { content:"";position:absolute;z-index:8;left:0;right:0;height:27px;background:repeating-linear-gradient(90deg,#f8fbff 0 5px,#777e8b 5px 9px,#d9dfe8 9px 14px);box-shadow:0 2px 7px rgba(0,0,0,.42) }.booster::before{top:0}.booster::after{bottom:0;box-shadow:0 -2px 7px rgba(0,0,0,.42)}.pack-shine { position:absolute;inset:-60%;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.16) 47%,rgba(255,255,255,.8) 50%,rgba(110,235,255,.28) 54%,transparent 61%);transform:translate(calc(var(--shine-x,-35) * 1%),calc(var(--shine-y,-15) * 1%));mix-blend-mode:screen; }.pack-top,.pack-bottom,.pack-orb { z-index:4;position:absolute;left:50%;transform:translateX(-50%);font-weight:1000;text-shadow:0 3px 10px rgba(0,0,0,.72); }.pack-top{top:9%;font-size:1.55rem;letter-spacing:.15em}.pack-bottom{bottom:9%;width:100%;font-size:.7rem;letter-spacing:.16em}.pack-orb{top:36%;display:grid;place-items:center;width:104px;height:104px;border-radius:29% 71% 63% 37% / 43% 35% 65% 57%;color:white;background:linear-gradient(145deg,#ffcc66,#e24c92 45%,#6554e8);font-size:2rem;border:2px solid rgba(255,255,255,.75);box-shadow:0 0 0 10px rgba(255,255,255,.13),0 15px 35px rgba(0,0,0,.42)}
.booster.ripping { animation:ripPack .9s cubic-bezier(.2,.8,.2,1) forwards; }.booster.ripping .tear-strip{animation:stripFly .65s ease-out forwards}.booster.ripping::before{animation:foilTop .72s ease-in forwards}
.reveal-stage,.portfolio { margin-top:22px;padding:28px;border:1px solid var(--line);border-radius:28px;background:rgba(27,25,40,.84); }.reveal-head,.portfolio-head { display:flex;justify-content:space-between;align-items:end;gap:16px; }.reveal-head h2,.portfolio-head h2 { margin:5px 0 0;font-size:2rem; }.reveal-head>span { color:var(--gold);font-weight:900;font-size:1.1rem; }
.reveal-table { min-height:530px;display:grid;grid-template-columns:minmax(300px,1fr) minmax(220px,.65fr);align-items:center;gap:40px;perspective:1200px; }.card-stack { position:relative;height:470px;display:grid;place-items:center; }.reveal-info h3 { font-size:2.4rem;margin:10px 0 24px; }.reveal-info p,.dialog-details p { margin:0 0 4px;color:var(--muted); }.reveal-info>strong,.dialog-details>strong { display:block;color:var(--gold);font-size:2rem;margin-bottom:6px;font-variant-numeric:tabular-nums; }.reveal-info .rip-button { display:block;margin-top:28px;min-width:180px; }
.rarity { display:inline-flex;padding:6px 10px;border:1px solid currentColor;border-radius:999px;color:#b8a7ff;font-size:.7rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase; }.rarity[data-rarity="Legendary"] { color:#ffd75e;box-shadow:0 0 20px rgba(255,215,94,.2); }.rarity[data-rarity="Ultra Rare"] { color:#ff83ca; }.rarity[data-rarity="Rare"] { color:#72c9ff; }
.price-change { font-weight:850;color:#45d789; }.price-change.down { color:#ff6c82; }
.trading-card { --rx:0deg;--ry:0deg;--lift:0px;position:relative;width:clamp(220px,31vw,320px);aspect-ratio:.716;border-radius:16px;overflow:hidden;transform:translateZ(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transform-origin:center;transition:transform .11s ease-out;will-change:transform;box-shadow:0 26px 55px rgba(0,0,0,.5);background:#272336;touch-action:none;user-select:none;-webkit-user-select:none; }.trading-card img { display:block;width:100%;height:100%;object-fit:cover;pointer-events:none; }.trading-card::after { content:"";position:absolute;inset:-20%;pointer-events:none;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.08) 36%,rgba(255,255,255,.68) 48%,rgba(132,231,255,.25) 55%,transparent 70%);transform:translate(calc(var(--shine-x, -45) * 1%),calc(var(--shine-y, -15) * 1%));mix-blend-mode:screen;opacity:.72;transition:transform .11s ease-out; }.trading-card.legendary::before { content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:conic-gradient(from 180deg at 50% 50%,transparent,#ffdb5b33,#8ceaff55,#ff82cf44,transparent);mix-blend-mode:color-dodge;animation:holo 4s linear infinite; }
.trading-card.enter { animation:cardReveal .72s cubic-bezier(.16,.8,.24,1) both; }.trading-card.exit { animation:cardExit .35s ease-in both; }
.portfolio-value { text-align:right; }.portfolio-value small,.portfolio-value strong { display:block; }.portfolio-value small { color:var(--muted); }.portfolio-value strong { color:var(--gold);font-size:1.3rem;margin-top:4px; }
.portfolio-chart-wrap{margin-top:20px;padding:14px;border:1px solid rgba(67,245,139,.14);border-radius:14px;background:#09120e}.portfolio-chart-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;color:#91a79a;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.portfolio-chart-labels strong{color:#43f58b;font-size:.9rem}.portfolio-chart-labels strong.down{color:#ff687f}.portfolio-chart{height:130px;border:1px solid rgba(74,255,147,.22);border-radius:8px;background-color:#07130e;background-image:linear-gradient(rgba(73,255,148,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(73,255,148,.09) 1px,transparent 1px);background-size:20px 20px;box-shadow:inset 0 0 22px rgba(0,0,0,.55)}
.chart-numbers{display:flex;justify-content:space-between;gap:8px;margin-top:7px;color:#82978a;font:700 .66rem/1.2 ui-monospace,SFMono-Regular,monospace}.chart-numbers strong{color:#d9f5e3}.chart-numbers>span:last-child{color:#43f58b}.chart-numbers>span.down:last-child{color:#ff687f}
.collection-grid { margin-top:22px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px; }.binder-card { position:relative;border:0;border-radius:14px;padding:0;overflow:hidden;background:#292638;color:white;cursor:pointer;text-align:left;box-shadow:0 13px 30px rgba(0,0,0,.28); }.binder-card img { width:100%;display:block;aspect-ratio:.716;object-fit:cover; }.binder-meta { padding:10px; }.binder-meta strong,.binder-meta small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.binder-meta small { color:var(--gold);margin-top:3px; }.owned-badge { position:absolute;top:7px;right:7px;padding:4px 7px;border-radius:999px;background:rgba(12,11,20,.88);font-size:.72rem;font-weight:900; }.empty-binder { grid-column:1/-1;color:var(--muted);padding:40px 0;text-align:center; }
.prototype-note { max-width:850px;margin:28px auto 0;color:#777185;font-size:.72rem;line-height:1.5;text-align:center; }
.card-dialog { width:min(850px,94vw);border:1px solid var(--line);border-radius:24px;padding:30px;color:var(--ink);background:#171521;box-shadow:0 35px 100px rgba(0,0,0,.65);grid-template-columns:auto 1fr;align-items:center;gap:34px; }.card-dialog[open] { display:grid; }.card-dialog::backdrop { background:rgba(4,3,8,.8);backdrop-filter:blur(6px); }.dialog-close { position:absolute;right:14px;top:10px;min-width:44px;min-height:44px;border:0;background:transparent;color:white;font-size:2rem;cursor:pointer; }.dialog-details small { display:block;color:var(--muted);line-height:1.4;margin-top:10px; }.toast { position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:20;transform:translate(-50%,140%);padding:12px 18px;border-radius:999px;color:#16131f;background:var(--gold);font-weight:900;box-shadow:0 14px 35px rgba(0,0,0,.35);transition:transform .25s ease; }.toast.show { transform:translate(-50%,0); }
.market-dialog{width:min(860px,94vw);max-height:85dvh;border:1px solid var(--line);border-radius:24px;padding:28px;color:var(--ink);background:#171521}.market-dialog::backdrop{background:rgba(4,3,8,.82);backdrop-filter:blur(6px)}.market-dialog-head h2{margin:5px 0 18px;font-size:2rem}.market-dialog input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;color:white;background:#252232;font:inherit}.market-results{display:grid;gap:8px;margin-top:16px}.market-row{display:grid;grid-template-columns:25px 50px minmax(120px,1fr) 118px 92px;align-items:center;gap:10px;padding:9px;border-radius:13px;background:#101914;border:1px solid rgba(67,245,139,.11)}.market-rank{color:#668071;font:800 .7rem ui-monospace,monospace;text-align:center}.market-row img{width:50px;border-radius:5px}.market-row strong,.market-row small{display:block}.market-row small{color:var(--muted);margin-top:3px}.market-spark{width:118px;height:42px}.market-price{text-align:right}.market-price strong{color:#78f8aa;font-variant-numeric:tabular-nums}.market-price small{color:#43d987}.market-price small.down{color:#ff687f}
@keyframes ripPack { 0%{transform:rotateX(var(--rx)) rotateY(var(--ry))}35%{transform:scale(1.08) rotateZ(-3deg)}100%{transform:scale(.28) translateY(-800px) rotateZ(22deg);opacity:0} } @keyframes stripFly{to{transform:translate(150px,-170px) rotate(38deg);opacity:0}}@keyframes foilTop{to{transform:translate(-35px,-120px) rotate(-14deg);opacity:0}} @keyframes cardReveal { from{opacity:0;transform:translateY(90px) rotateY(110deg) scale(.75)}to{opacity:1;transform:rotateX(var(--rx)) rotateY(var(--ry))} } @keyframes cardExit { to{opacity:0;transform:translateX(-150%) rotateZ(-15deg)} } @keyframes holo { to{filter:hue-rotate(360deg)} }
@media (min-width:700px) and (max-width:1180px) { .rip-shell{padding-inline:24px}.pack-stage{min-height:560px;padding:42px}.collection-grid{grid-template-columns:repeat(4,1fr)}.reveal-table{min-height:500px}.trading-card{width:min(300px,35vw)} }
@media (max-width:699px) { .rip-header{grid-template-columns:1fr 1fr}.rip-brand{display:none}.market-strip{justify-content:flex-start;flex-wrap:wrap;padding:7px 0}.market-strip span:last-child{display:none}.pack-stage{min-height:680px;grid-template-columns:1fr;text-align:center;padding:35px 18px}.pack-copy{display:flex;flex-direction:column;align-items:center}.pack-copy h1{font-size:3.4rem}.booster{grid-row:1}.rip-instruction{grid-column:1;grid-row:2;margin-top:-15px}.pack-copy{grid-row:3}.reveal-stage,.portfolio{padding:18px}.reveal-table{grid-template-columns:1fr;gap:12px;text-align:center}.card-stack{height:400px}.reveal-info .rip-button{margin:20px auto}.collection-grid{grid-template-columns:repeat(2,1fr)}.card-dialog[open]{grid-template-columns:1fr;max-height:92dvh;overflow:auto;text-align:center}.card-dialog .trading-card{width:min(230px,60vw)} }
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}
@media (max-width:560px){.market-row{grid-template-columns:22px 42px 1fr 82px}.market-row img{width:42px}.market-spark{display:none}.market-price{min-width:82px}.market-row>span:nth-child(3) small{font-size:.62rem}}
.pack-picker{display:grid;gap:8px;margin:22px 0}.pack-choice{min-height:58px;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:rgba(255,255,255,.045);text-align:left;cursor:pointer}.pack-choice i{width:22px;height:32px;border-radius:3px;background:linear-gradient(145deg,#8892a3,#dce3ec);box-shadow:0 5px 10px rgba(0,0,0,.3)}.pack-choice[data-tier="rare"] i{background:linear-gradient(145deg,#43bdf4,#634ae6,#e85da9)}.pack-choice[data-tier="epic"] i{background:conic-gradient(#ffdb5b,#56e7ff,#f05fba,#8b67ff,#ffdb5b)}.pack-choice strong,.pack-choice small{display:block}.pack-choice small{margin-top:3px;color:var(--muted)}.pack-choice.selected{border-color:#a996ff;background:rgba(124,92,255,.16);box-shadow:0 0 0 2px rgba(124,92,255,.12)}.pack-choice:nth-child(1){animation:packChoiceShake 6s 0s infinite}.pack-choice:nth-child(2){animation:packChoiceShake 6s 2s infinite}.pack-choice:nth-child(3){animation:packChoiceShake 6s 4s infinite}
.booster[data-tier="rare"]{background:radial-gradient(ellipse at 50% 46%,#bdeaff 0 17%,transparent 18%),radial-gradient(ellipse at 50% 49%,#3359b9 0 32%,transparent 33%),linear-gradient(150deg,#10283d,#175c92 45%,#6438a2 75%,#111827)}.booster[data-tier="epic"]{background:radial-gradient(ellipse at 50% 46%,#fff0a7 0 17%,transparent 18%),radial-gradient(ellipse at 50% 49%,#9d3d98 0 32%,transparent 33%),conic-gradient(from 145deg,#21113d,#723da9,#d84d8d,#d68b36,#5235a2,#21113d);box-shadow:0 30px 80px rgba(171,64,219,.38),inset 7px 0 8px rgba(255,255,255,.24),inset -7px 0 9px rgba(0,0,0,.38)}
.rip-instruction strong,.rip-instruction span{display:block}.rip-instruction strong{color:var(--ink);font-size:1rem}.rip-instruction span{margin-top:4px}
.trading-card.rarity-rare{box-shadow:0 27px 60px rgba(48,174,255,.32),0 0 0 2px rgba(95,202,255,.7)}.trading-card.rarity-ultra-rare{box-shadow:0 29px 70px rgba(238,76,185,.4),0 0 0 3px rgba(255,108,211,.75)}.trading-card.rarity-legendary{box-shadow:0 32px 85px rgba(255,198,62,.5),0 0 0 3px rgba(255,224,105,.9)}.trading-card.rarity-legendary::before,.trading-card.rarity-ultra-rare::before,.trading-card.rarity-rare::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:conic-gradient(from 180deg at 50% 50%,transparent,#ffdb5b33,#8ceaff55,#ff82cf44,transparent);mix-blend-mode:color-dodge;animation:holo 3.2s linear infinite}.trading-card.rarity-rare::before{opacity:.42}.trading-card.rarity-ultra-rare::before{opacity:.78}
@keyframes packChoiceShake{0%,8%,100%{transform:none}2%{transform:rotate(-1.7deg) translateX(-2px)}4%{transform:rotate(1.7deg) translateX(2px)}6%{transform:rotate(-.8deg)}}
.pack-stage{display:block;padding:42px clamp(20px,5vw,58px)}.pack-copy{max-width:none;text-align:center}.pack-copy h1{font-size:clamp(2.7rem,6vw,5.4rem);margin-bottom:12px}.pack-copy>p:not(.eyebrow){max-width:720px;margin:0 auto}.dashboard-actions{justify-content:center;margin-top:18px}.pack-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,3vw,34px);align-items:end;margin-top:34px;perspective:1200px}.pack-option{text-align:center}.pack-option header{min-height:82px;display:block}.pack-option header strong,.pack-option header span,.pack-option header small{display:block}.pack-option header strong{font-size:1.2rem}.pack-option header span{margin-top:3px;color:var(--gold);font-weight:900}.pack-option header small{margin-top:5px;color:var(--muted);font-size:.72rem}.pack-option .booster{width:min(100%,220px);margin:auto;animation:packShelfShake 7.5s infinite}.pack-option:nth-child(2) .booster{animation-delay:2.5s}.pack-option:nth-child(3) .booster{animation-delay:5s}.pack-option:nth-child(2){transform:translateY(-7px)}.pack-option:nth-child(3){transform:translateY(-2px)}.pack-shelf+.rip-instruction{margin:20px auto 0}.pack-option .pack-top{font-size:1.15rem}.pack-option .pack-orb{width:78px;height:78px;font-size:1.55rem}.pack-option .pack-bottom{font-size:.61rem}
@keyframes packShelfShake{0%,7%,100%{transform:rotateZ(-1.4deg)}2%{transform:rotateZ(-3deg) translateX(-3px)}4%{transform:rotateZ(.8deg) translateX(3px)}6%{transform:rotateZ(-2deg)}}
@media(max-width:699px){.pack-stage{padding:28px 14px}.pack-copy h1{font-size:2.9rem}.pack-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:26px}.pack-option header{min-height:105px}.pack-option header strong{font-size:.9rem}.pack-option header span{font-size:.78rem}.pack-option header small{font-size:.6rem;line-height:1.25}.pack-option .booster{width:100%;max-width:150px}.pack-option .pack-top{font-size:.72rem}.pack-option .pack-orb{width:48px;height:48px;font-size:1rem}.pack-option .pack-bottom{font-size:.42rem}.pack-shelf+.rip-instruction{grid-column:auto;grid-row:auto}}
.pack-option .booster{animation:none}.pack-option{animation:packShelfShake 7.5s infinite}.pack-option:nth-child(2){animation-delay:2.5s}.pack-option:nth-child(3){animation-delay:5s}
.connection-blocker:not([hidden]) .blocker-action,.connection-blocker:not([hidden]) #retry-connection{animation:blockerNudge 6s ease-in-out infinite}.connection-blocker:not([hidden]) #retry-connection{animation-delay:3s}@keyframes blockerNudge{0%,9%,100%{transform:none}2%{transform:rotate(-2deg) translateX(-4px)}4%{transform:rotate(2deg) translateX(4px)}6%{transform:rotate(-1deg) translateX(-2px)}8%{transform:none}}@media(prefers-reduced-motion:reduce){.pack-option,.connection-blocker:not([hidden]) .blocker-action,.connection-blocker:not([hidden]) #retry-connection{animation:none!important}}
.emoji-card-art{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto auto auto;place-items:center;padding:24px;color:white;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.25),transparent 30%),linear-gradient(145deg,#273554,#7656b8 55%,#d4568d);text-align:center}.emoji-card-art>span{align-self:end;font-size:clamp(5rem,13vw,8rem);filter:drop-shadow(0 14px 12px rgba(0,0,0,.3))}.emoji-card-art small{padding:5px 9px;border:1px solid currentColor;border-radius:999px;font-weight:900}.emoji-card-art strong{font-size:1.35rem}.emoji-card-art em{font-size:.65rem;opacity:.7}.binder-emoji{display:grid;place-items:center;aspect-ratio:.716;font-size:clamp(3rem,7vw,6rem);background:linear-gradient(145deg,#26344f,#7655b0,#d45187)}.binder-emoji[data-rarity="Epic"],.binder-emoji[data-rarity="Legendary"]{background:conic-gradient(#5531a0,#e54e99,#f2bd44,#42d5df,#5531a0)}
.connection-blocker{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(8,7,14,.94);backdrop-filter:blur(10px)}.connection-blocker>div{width:min(460px,100%);padding:34px;border:1px solid var(--line);border-radius:24px;text-align:center;background:#1b1928;box-shadow:0 30px 90px rgba(0,0,0,.55)}.connection-blocker h1{margin:10px 0;font-size:2.2rem}.connection-blocker p{color:var(--muted);line-height:1.55}.blocker-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#ffbd47;background:rgba(255,189,71,.12);font-size:1.4rem}.blocker-action{display:inline-flex;align-items:center;text-decoration:none;margin:10px 5px}.connection-blocker .rip-button{margin:10px 5px}.binder-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:10px}.binder-details{min-width:0;border:0;padding:0;color:white;background:transparent;text-align:left;cursor:pointer}.binder-details strong,.binder-details small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.binder-details small{color:var(--gold);margin-top:3px}.binder-sell{min-height:38px;border:1px solid rgba(255,105,130,.35);border-radius:9px;padding:7px 9px;color:#ff91a4;background:rgba(255,75,106,.1);font-weight:900;cursor:pointer}

@media(max-width:480px){
  .rip-shell{padding:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(34px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left))}
  .rip-header{min-height:58px;gap:8px}.back-link{min-height:44px}.balance strong{font-size:1rem}.market-strip{font-size:.72rem}
  .pack-stage{min-height:auto;padding:22px 6px}.pack-copy h1{font-size:clamp(2.15rem,13vw,3rem)}.pack-copy>p:not(.eyebrow){font-size:.88rem;line-height:1.45}
  .pack-shelf{gap:5px;margin-top:20px}.pack-option header{min-height:98px}.pack-option header strong{font-size:.78rem}.pack-option header span{font-size:.68rem}.pack-option header small{font-size:.55rem}.pack-option .booster{min-height:230px}.pack-option .pack-orb{width:42px;height:42px}.rip-instruction{font-size:.82rem}
  .dashboard-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.rip-button{min-height:46px}
  .reveal-stage,.portfolio{padding:14px 10px;border-radius:18px}.card-stack{height:350px}.trading-card{width:min(238px,68vw)}.collection-grid{gap:9px}.binder-actions{grid-template-columns:1fr}.binder-sell{width:100%}
  .market-dialog,.card-dialog{width:100vw;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0;padding:22px 14px calc(18px + env(safe-area-inset-bottom))}.market-row{grid-template-columns:20px 38px minmax(0,1fr) 74px;gap:7px}.market-emoji{width:38px;height:48px;font-size:23px}.market-row small{font-size:.6rem}.toast{width:max-content;max-width:calc(100vw - 24px);text-align:center}
}

.casino-dialog{width:min(92vw,560px);text-align:center}.casino-wager{display:grid;gap:7px;margin:18px auto;width:min(220px,100%);font-weight:900}.casino-wager input{min-height:48px;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:10px;text-align:center;font:900 1.1rem inherit;background:rgba(0,0,0,.18);color:inherit}.casino-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.casino-reels span{display:grid;place-items:center;min-height:90px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(0,0,0,.25);font-size:3rem}.casino-reels.rolling span{animation:casinoRoll .35s linear infinite}.casino-result{min-height:28px;font-weight:900}.emoji-card-art strong{color:var(--rarity-name,#fff);text-shadow:0 2px 12px rgba(0,0,0,.45)}.rarity-uncommon{--rarity-name:#72f0a9}.rarity-rare{--rarity-name:#72bfff}.rarity-epic{--rarity-name:#d99aff}.rarity-legendary{--rarity-name:#ffe16b}@keyframes casinoRoll{50%{transform:translateY(-5px) rotate(4deg)}}

.modifier-info-box{margin:14px 0 16px;padding:14px;border:1px solid rgba(157,132,255,.3);border-radius:14px;background:linear-gradient(145deg,rgba(116,76,215,.14),rgba(255,255,255,.035));text-align:left}.modifier-info-box>strong{display:block;margin-bottom:10px;color:#d8c9ff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.modifier-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.modifier-info-grid span{padding:9px 10px;border-radius:10px;background:rgba(0,0,0,.16)}.modifier-info-grid b,.modifier-info-grid small{display:block}.modifier-info-grid b{font-size:.86rem}.modifier-info-grid small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35}@media(max-width:620px){.modifier-info-grid{grid-template-columns:1fr}.modifier-info-box{padding:11px}}
