@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700&family=Inter:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:#1a0a0a;width:100%;min-height:100vh}#root{width:100%;min-height:100vh}.auth-overlay{z-index:9000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-overflow-scrolling:touch;padding:env(safe-area-inset-top,1rem) 1rem env(safe-area-inset-bottom,1rem);min-height:100vh;background:#000000b3;justify-content:center;align-items:center;min-height:-webkit-fill-available;animation:.18s auth-fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}.auth-modal{background:#0f172a;border:1px solid #ffffff1a;border-radius:1rem;width:100%;max-width:400px;max-height:90vh;margin:auto;padding:2rem;animation:.22s cubic-bezier(.16,1,.3,1) auth-slide-up;overflow-y:auto;box-shadow:0 25px 60px #00000080,0 0 0 1px #df0a8126}@keyframes auth-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.auth-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.auth-modal-title{color:#f1f5f9;margin:0;font-size:1.2rem;font-weight:700}.auth-modal-close{color:#64748b;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.5rem;line-height:1;transition:color .15s}.auth-modal-close:hover{color:#f1f5f9}.auth-tabs{background:#1e293b;border-radius:.5rem;gap:.25rem;margin-bottom:1.25rem;padding:.25rem;display:flex}.auth-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.375rem;flex:1;padding:.5rem;font-size:.875rem;font-weight:600;transition:background .15s,color .15s}.auth-tab-active{color:#fff;background:#df0a81}.auth-tab:not(.auth-tab-active):hover{color:#f1f5f9;background:#ffffff0d}.auth-alert{border-radius:.5rem;margin-bottom:1rem;padding:.65rem .875rem;font-size:.82rem;font-weight:500}.auth-alert-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444459}.auth-alert-success{color:#86efac;background:#22c55e1f;border:1px solid #22c55e59}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:.375rem;display:flex}.auth-label{color:#94a3b8;letter-spacing:.03em;text-transform:uppercase;font-size:.8rem;font-weight:600}.auth-input{color:#f1f5f9;background:#1e293b;border:1px solid #ffffff1a;border-radius:.5rem;outline:none;padding:.65rem .875rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:#df0a81;box-shadow:0 0 0 3px #df0a812e}.auth-input::placeholder{color:#475569}.auth-input:disabled{opacity:.55;cursor:not-allowed}.auth-submit{color:#fff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#df0a81,#b5006a);border:none;border-radius:.5rem;justify-content:center;align-items:center;min-height:2.75rem;margin-top:.25rem;padding:.75rem;font-size:.95rem;font-weight:700;transition:opacity .15s,transform .1s;display:flex}.auth-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.65s linear infinite auth-spin;display:inline-block}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-footer-note{text-align:center;color:#64748b;margin-top:1rem;font-size:.82rem}.auth-link-btn{color:#df0a81;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.auth-header-btn{color:#df0a81;cursor:pointer;white-space:nowrap;background:#df0a811a;border:1px solid #df0a8173;border-radius:50px;align-items:center;gap:.35rem;padding:.35rem .9rem;font-size:.75rem;font-weight:700;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.auth-header-btn:hover{background:#df0a8133;border-color:#df0a81b3;transform:translateY(-1px)}.auth-header-user{align-items:center;gap:.4rem;display:inline-flex}.auth-header-username{color:#216d94;white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:.75rem;font-weight:600;overflow:hidden}.auth-header-logout{color:#ef4444;cursor:pointer;white-space:nowrap;background:#ef44440f;border:1px solid #ef44444d;border-radius:50px;padding:.35rem .75rem;font-size:.72rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s}.auth-header-logout:hover{background:#ef444424;border-color:#ef444499;transform:translateY(-1px)}.saving-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:all;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.saving-box{background:#0f172a;border:1px solid #ffffff14;border-radius:1rem;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 3rem;display:flex;box-shadow:0 20px 50px #00000080}.saving-spinner{border:4px solid #df0a8133;border-top-color:#df0a81;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite auth-spin}.saving-text{color:#f1f5f9;margin:0;font-size:1rem;font-weight:700}.saving-sub{color:#64748b;margin:0;font-size:.8rem}.hm-wrapper{position:relative}.hm-trigger{cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);border:1px solid #d8b4fe99;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;transition:background .15s,box-shadow .15s,transform .1s;display:flex;box-shadow:0 2px 10px #7c3aed80}.hm-trigger:hover{background:linear-gradient(135deg,#8b4ef0,#c084fc);box-shadow:0 3px 14px #a855f7b3}.hm-trigger:active{transform:scale(.95)}.hm-trigger span{background:#fff;border-radius:2px;width:20px;height:2.5px;transition:transform .2s,opacity .2s;display:block}.hm-trigger-open span:first-child{transform:translateY(7px)rotate(45deg)}.hm-trigger-open span:nth-child(2){opacity:0}.hm-trigger-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hm-dropdown{z-index:200;background:#1e0d38;border:1px solid #a78bfa40;border-radius:10px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #00000080}.hm-item{color:#e2d9f3;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;width:100%;padding:.55rem .75rem;font-size:.9rem;text-decoration:none;transition:background .12s;display:flex}.hm-item:hover{color:#fff;background:#a78bfa26}.hm-item-danger{color:#f87171}.hm-item-danger:hover{background:#f871711f}.hm-icon{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.hm-divider{background:#ffffff14;height:1px;margin:4px 0}.hm-user{color:#c4b5fd;padding:.4rem .75rem;font-size:.8rem;font-weight:500}.hm-item-toggle{justify-content:space-between}.hm-toggle-label{text-align:left;flex:1}.hm-toggle-pill{background:#ffffff1f;border:1px solid #ffffff26;border-radius:99px;flex-shrink:0;width:34px;height:18px;transition:background .2s,border-color .2s;position:relative}.hm-toggle-pill.hm-toggle-on{background:#7c3aed;border-color:#a855f7}.hm-toggle-thumb{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.hm-toggle-pill.hm-toggle-on .hm-toggle-thumb{transform:translate(16px)}.btn-back-home{color:var(--accent-2,#216d94);background:#216d940d;border:1px solid #216d9440;border-radius:50px;align-items:center;gap:.5rem;padding:.55rem 1.4rem;font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-back-home:hover{background:#216d941f;border-color:#216d9499;transform:translateY(-2px)}@media (width<=600px){.btn-back-home .back-text{display:none}.btn-back-home{padding:.55rem .8rem}}.history-section-header{border-bottom:1px solid var(--border,#00000017);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.gacha-nuzlocke{background:#1a0a0a}.gacha-nuzlocke .gacha-topbar{background:#0f1117;border-bottom:1px solid #ffffff0d;box-shadow:0 4px 15px #0000004d}.gacha-nuzlocke .gacha-header-bg{background:radial-gradient(80% 60% at 50% 0,#dc262626 0%,#0000 70%),linear-gradient(#2d0a0a 0%,#1a0a0a 100%)}.gacha-nuzlocke .btn-back-home{color:#dc2626;background:#dc26261a;border-color:#dc26264d}.gacha-nuzlocke .btn-back-home:hover{background:#dc262633;border-color:#dc262699}.gacha-nuzlocke .gacha-eyebrow{color:#ef4444}.gacha-nuzlocke .gacha-title{background:linear-gradient(135deg,#dc2626 0%,#f97316 50%,#991b1b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gacha-nuzlocke .gacha-subtitle{color:#fca5a5}.gacha-nuzlocke .gacha-main{background:#1a0a0a}.gacha-nuzlocke .pack-status-panel{background:#dc26260d;border-color:#dc262633}.gacha-nuzlocke .pack-status-label{color:#fca5a5}.gacha-nuzlocke .pack-status-value{color:#ef4444}.gacha-nuzlocke .odds-panel{background:#dc26260d;border-color:#dc262633}.gacha-nuzlocke .odds-title{color:#ef4444}.gacha-nuzlocke .odds-label,.gacha-nuzlocke .odds-pct,.gacha-nuzlocke .odds-guarantee-item{color:#fca5a5}.gacha-nuzlocke .odds-note{color:#991b1b}.gacha-nuzlocke .history-section-header{border-color:#dc262633}.gacha-nuzlocke .history-title{color:#ef4444}.gacha-nuzlocke .history-item{background:#dc26260d;border-color:#dc262633}.gacha-nuzlocke .history-empty{color:#fca5a5;background:#dc26260d;border-color:#dc262633}.gacha-nuzlocke .history-num{color:#fca5a5}.gacha-nuzlocke .pack-click-hint{color:#ef4444}.gacha-nuzlocke .pack-click-hint.cooldown-hint{color:#991b1b}.gacha-nuzlocke .collection-modal{background:#1a0a0a;border:1px solid #dc26264d}.gacha-nuzlocke .collection-modal-header{background:#2d0a0a;border-bottom-color:#dc262633}.gacha-nuzlocke .collection-modal-title{color:#ef4444}.gacha-nuzlocke .collection-modal-close{color:#fca5a5;background:#dc262633}.gacha-nuzlocke .collection-modal-close:hover{color:#ef4444;background:#dc262666}.gacha-nuzlocke .collection-modal-body{background:#1a0a0a}.gacha-nuzlocke .collection-modal-footer{background:#2d0a0a;border-top-color:#dc262633}.gacha-nuzlocke .collection-progress-label{color:#fca5a5}.gacha-nuzlocke .collection-progress-pct{color:#ef4444}.gacha-nuzlocke .collection-progress-bar-bg{background:#3d1515}.gacha-nuzlocke .collection-progress-bar-fill{background:linear-gradient(90deg,#dc2626,#f97316)}.gacha-nuzlocke .collection-rarity-count{color:#991b1b}.gacha-nuzlocke .collection-card-name{color:#fca5a5}.gacha-nuzlocke .collection-card-locked-wrap{border-color:#3d1515;background:#0d0505!important}.gacha-nuzlocke .collection-card-question{color:#3d1515}.gacha-nuzlocke .collection-card-name-locked{color:#3d1515!important}.gacha-nuzlocke .card-zoom-overlay{background:#000000d9}.gacha-nuzlocke .card-zoom-close{color:#ef4444;background:#dc262633}.gacha-nuzlocke .card-zoom-close:hover{background:#dc262666}.gacha-nuzlocke .btn-open-pack{background:linear-gradient(135deg,#dc2626,#991b1b)}.gacha-nuzlocke .btn-open-pack:hover{background:linear-gradient(135deg,#ef4444,#dc2626)}.gacha-nuzlocke .nav-btn{color:#ef4444;background:linear-gradient(145deg,#dc26263d,#dc26260f);border-color:#dc262659}.gacha-nuzlocke .nav-btn:hover:not(:disabled){background:linear-gradient(145deg,#dc26266b,#dc262629);border-color:#dc2626bf;box-shadow:0 8px 22px #dc262659,inset 0 1px #fff3}.gacha-nuzlocke .card-counter{color:#fca5a5}.gacha-nuzlocke .ur-banner{color:#fff;background:linear-gradient(135deg,#dc2626,#f97316)}.gacha-nuzlocke .progress-dot{background:#dc262633;border-color:#dc262666}.gacha-nuzlocke .progress-dot.dot-current{border-color:#ef4444;box-shadow:0 0 8px #dc262699}.gacha-nuzlocke .backup-section{background:#dc262608;border-color:#dc262640}.gacha-nuzlocke .backup-section-title{color:#ef4444}.gacha-nuzlocke .backup-desc{color:#fca5a5}.gacha-nuzlocke .backup-textarea{color:#fca5a5;background:#0d0505;border-color:#dc26264d}.gacha-nuzlocke .backup-textarea:focus{border-color:#ef4444}.gacha-nuzlocke .btn-backup-copy{color:#fff;background:linear-gradient(135deg,#dc2626,#991b1b)}.gacha-nuzlocke .btn-backup-copy:hover{background:linear-gradient(135deg,#ef4444,#dc2626)}.gacha-nuzlocke .btn-backup-import{color:#fff;background:linear-gradient(135deg,#f97316,#dc2626)}.gacha-nuzlocke .btn-backup-import:hover{background:linear-gradient(135deg,#fb923c,#f97316)}.gacha-nuzlocke .backup-alert-warning{color:#fdba74;background:#f973161a;border-color:#f973164d}.gacha-nuzlocke .backup-alert-error{color:#fca5a5;background:#dc26261a;border-color:#dc26264d}.gacha-nuzlocke .backup-alert-success{color:#a7f3d0;background:#10b9811a;border-color:#10b9814d}.pack-container.is-god-pack{animation:.8s ease-in-out infinite god-pack-container-glow}@keyframes god-pack-container-glow{0%,to{filter:drop-shadow(0 0 18px #ffd700b3)drop-shadow(0 0 40px #ffa50066)}50%{filter:drop-shadow(0 0 40px gold)drop-shadow(0 0 80px #ffa500cc)drop-shadow(0 0 120px #ff640066)}}.history-item-godpack{background:linear-gradient(135deg,#ffd70014 0%,#ffa5000d 100%)!important;border-color:#ffd70073!important;box-shadow:0 0 10px #ffd70033!important}.history-badge-godpack{letter-spacing:.05em;flex-shrink:0;animation:1.8s ease-in-out infinite god-badge-pulse;box-shadow:0 0 8px #ffd70099;color:#1a0a00!important;background:linear-gradient(135deg,gold,#ff8c00)!important;border:none!important;font-size:.68rem!important;font-weight:800!important}@keyframes god-badge-pulse{0%,to{box-shadow:0 0 6px #ffd70080}50%{box-shadow:0 0 16px #ffd700e6}}.gacha-nuzlocke .god-pack-banner{background-image:linear-gradient(90deg,gold 0%,#ff4500 25%,gold 50%,#ff4500 75%,gold 100%);border-color:#ffd70080;box-shadow:0 0 30px #ff450099,0 0 60px #ffd7004d,inset 0 1px #ffffff14}.gacha-nuzlocke .history-item-godpack{background:linear-gradient(135deg,#ffd7000f 0%,#dc26260f 100%)!important;border-color:#ffa50066!important}.oshidex-header-actions{flex:1;justify-content:flex-end;align-items:center;gap:.5rem;margin-right:.5rem;display:flex}.gacha-nuzlocke .recycle-qty-val,.gacha-nuzlocke .confirm-title{color:#fca5a5}.shop-reveal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:300;background:#000000d1;justify-content:center;align-items:center;padding:1.5rem;animation:.2s both overlay-fade-in;display:flex;position:fixed;inset:0}.shop-reveal-content{flex-direction:column;align-items:center;gap:1.5rem;animation:.28s cubic-bezier(.34,1.4,.64,1) both zoom-pop;display:flex}.shop-reveal-hint{color:#fff;text-align:center;letter-spacing:.02em;text-shadow:0 2px 12px #0009;margin:0;font-family:Cinzel,serif;font-size:1.05rem;font-weight:700}.shop-reveal-done{margin-top:.25rem}.donation-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.25s both overlay-fade-in;display:flex;position:fixed;inset:0}.donation-modal{text-align:center;background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:.85rem;width:100%;max-width:400px;padding:2.5rem 2rem 2rem;animation:.3s cubic-bezier(.34,1.3,.64,1) both modal-slide-in;display:flex;position:relative;box-shadow:0 30px 70px #00000059}.donation-close{color:#4b5563;cursor:pointer;background:#00000012;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;line-height:1;transition:background .15s;display:flex;position:absolute;top:.85rem;right:.9rem}.donation-close:hover{color:#df0a81;background:#df0a811f}.donation-icon{font-size:3rem;line-height:1;animation:1.2s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}45%{transform:scale(1.1)}60%{transform:scale(1)}}.donation-title{color:#111827;margin:0;font-family:Cinzel,serif;font-size:1.15rem;font-weight:700}.donation-message{color:#4b5563;margin:0;font-size:.88rem;line-height:1.55}.donation-link{color:#fff;background:linear-gradient(135deg,#df0a81 0%,#f79321 100%);border-radius:50px;padding:.55rem 1.6rem;font-size:.92rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 4px 14px #df0a8159}.donation-link:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 8px 22px #df0a8180}.donation-sub{color:#9ca3af;margin:0;font-size:.75rem;line-height:1.5}.donation-btn-close{color:#00a4a5;cursor:pointer;background:0 0;border:1.5px solid #00a4a566;border-radius:50px;margin-top:.25rem;padding:.45rem 1.8rem;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s}.donation-btn-close:hover{background:#00a4a514;border-color:#00a4a5}.donation-modal--nuzlocke{background:#1a0a0a;border:1px solid #dc26264d}.donation-modal--nuzlocke .donation-title{color:#fca5a5}.donation-modal--nuzlocke .donation-message{color:#fca5a5;opacity:.8}.donation-modal--nuzlocke .donation-link{background:linear-gradient(135deg,#dc2626 0%,#f97316 100%);box-shadow:0 4px 14px #dc262666}.donation-modal--nuzlocke .donation-link:hover{box-shadow:0 8px 22px #dc26268c}.donation-modal--nuzlocke .donation-sub{color:#991b1b}.donation-modal--nuzlocke .donation-btn-close{color:#ef4444;border-color:#dc262666}.donation-modal--nuzlocke .donation-btn-close:hover{background:#dc26261a;border-color:#ef4444}.donation-modal--nuzlocke .donation-close{color:#fca5a5;background:#dc262626}.donation-modal--nuzlocke .donation-close:hover{color:#ef4444;background:#dc26264d}.oshidex-header-actions{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:flex-start;align-items:center;gap:.5rem;margin-right:0;display:flex}.oshidex-modal .collection-modal-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.oshidex-modal .collection-modal-title{grid-area:1/1}.oshidex-modal .collection-modal-close{grid-area:1/2}.stardust-badge{color:#b45309;white-space:nowrap;background:linear-gradient(135deg,#f59e0b1f,#fbbf2414);border:1px solid #f59e0b59;border-radius:50px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.stardust-icon{color:#f59e0b;font-size:.85rem}.stardust-count{color:#d97706;font-size:.9rem;font-weight:800}.stardust-label{color:#92400e;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:600}.stardust-highlight{color:#d97706}.btn-recycle-mode{color:#16a34a;cursor:pointer;white-space:nowrap;background:#22c55e0f;border:1px solid #22c55e4d;border-radius:50px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-recycle-mode:hover{background:#22c55e24;border-color:#22c55e99;transform:translateY(-1px)}.btn-recycle-mode.active{color:#15803d;background:#22c55e2e;border-color:#16a34a;box-shadow:0 0 8px #22c55e4d}.btn-shop{color:#b45309;cursor:pointer;white-space:nowrap;background:#f59e0b14;border:1px solid #f59e0b59;border-radius:50px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-shop:hover{background:#f59e0b29;border-color:#f59e0bb3;transform:translateY(-1px)}.recycle-banner{color:#15803d;background:linear-gradient(135deg,#22c55e12,#10b9810a);border-bottom:1px solid #22c55e33;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.78rem;display:flex}.btn-autoconvert{color:#16a34a;cursor:pointer;white-space:nowrap;background:#22c55e1a;border:1px solid #22c55e73;border-radius:50px;margin-left:auto;padding:.3rem .75rem;font-size:.72rem;font-weight:700;transition:all .2s}.btn-autoconvert:hover{background:#22c55e33;transform:translateY(-1px)}.collection-card.recycle-eligible .collection-card-img-wrap{cursor:pointer;border:2px solid #22c55e80;border-radius:8px}.collection-card.recycle-eligible .collection-card-img-wrap:hover{transform:translateY(-3px);box-shadow:0 0 14px #22c55e80,0 6px 18px #0003}.recycle-overlay{pointer-events:none;opacity:0;background:#22c55e26;border-radius:8px;justify-content:center;align-items:center;font-size:1.5rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.collection-card.recycle-eligible .collection-card-img-wrap:hover .recycle-overlay{opacity:1}.recycle-picker-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#00000080;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.recycle-picker{background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;width:90%;max-width:300px;padding:1.5rem;animation:.2s both modal-slide-in;display:flex;box-shadow:0 16px 40px #00000040}.recycle-picker-img{border-radius:8px;width:100px;box-shadow:0 4px 12px #00000026}.recycle-picker-name{color:#111827;text-align:center;margin:0;font-size:.9rem;font-weight:700}.recycle-picker-info{color:#4b5563;text-align:center;margin:0;font-size:.8rem;line-height:1.5}.recycle-qty-row{align-items:center;gap:1rem;display:flex}.recycle-qty-btn{color:#16a34a;cursor:pointer;background:#22c55e14;border:1px solid #22c55e66;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;font-weight:700;transition:all .15s;display:flex}.recycle-qty-btn:hover:not(:disabled){background:#22c55e2e}.recycle-qty-btn:disabled{opacity:.35;cursor:default}.recycle-qty-val{color:#111827;text-align:center;min-width:2ch;font-size:1.4rem;font-weight:800}.recycle-picker-actions{flex-direction:column;gap:.5rem;width:100%;display:flex}.btn-recycle-confirm{color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a,#22c55e);border:none;border-radius:50px;width:100%;padding:.65rem 1rem;font-size:.82rem;font-weight:700;transition:all .2s}.btn-recycle-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 18px #22c55e66}.btn-recycle-cancel{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #0000001a;border-radius:50px;width:100%;padding:.5rem;font-size:.78rem;transition:background .15s}.btn-recycle-cancel:hover{background:#0000000d}.confirm-modal{text-align:center;max-width:400px;padding:2rem 1.5rem}.confirm-icon{margin-bottom:.5rem;font-size:2.5rem}.confirm-title{color:#111827;margin:0 0 .5rem;font-size:1.25rem;font-weight:800}.confirm-message{color:#4b5563;margin:0 0 1.5rem;font-size:.9rem;line-height:1.5}.gacha-nuzlocke .recycle-picker{background:#1a0a0a;border:1px solid #dc26264d}.gacha-nuzlocke .recycle-picker-name{color:#fca5a5}.gacha-nuzlocke .recycle-picker-info{color:#e2b8b8}.gacha-nuzlocke .recycle-qty-val,.gacha-nuzlocke .confirm-title{color:#fca5a5}.gacha-nuzlocke .confirm-message{color:#e2b8b8}.confirm-actions{gap:.75rem;width:100%;display:flex}.confirm-actions button{flex:1}.shop-modal{max-width:500px}.shop-modal .collection-modal-header{flex-wrap:nowrap;justify-content:flex-start}.shop-modal .collection-modal-title{min-width:0}.shop-modal .stardust-badge{flex-shrink:0;margin-left:auto}.shop-modal .collection-modal-close{flex-shrink:0}.shop-desc{color:#4b5563;margin:0 0 1.25rem;font-size:.82rem;line-height:1.6}.shop-items{flex-direction:column;gap:.65rem;margin-bottom:1.5rem;display:flex}.shop-item{background:#fff;border:1px solid #00000014;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;transition:box-shadow .2s;display:flex}.shop-item:not(.shop-item-disabled):hover{box-shadow:0 4px 14px #00000014}.shop-item-disabled{opacity:.55}.shop-item-info{flex-direction:column;gap:.2rem;display:flex}.shop-item-rarity{font-size:.85rem;font-weight:700}.shop-item-stock{color:#6b7280;font-size:.72rem}.shop-item-right{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.shop-item-price{color:#d97706;white-space:nowrap;font-size:.9rem;font-weight:800}.btn-shop-buy{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#d97706,#f59e0b);border:none;border-radius:50px;padding:.4rem .9rem;font-size:.78rem;font-weight:700;transition:all .2s}.btn-shop-buy:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b73}.btn-shop-buy:disabled{color:#9ca3af;cursor:default;background:#e5e7eb}.shop-rates{background:#f59e0b0a;border:1px solid #f59e0b33;border-radius:12px;padding:1rem 1.25rem}.shop-rates-title{text-transform:uppercase;letter-spacing:.1em;color:#92400e;margin:0 0 .65rem;font-size:.72rem;font-weight:700}.shop-rates-grid{color:#4b5563;grid-template-columns:1fr 1fr;gap:.3rem 1rem;font-size:.75rem;display:grid}.gacha-nuzlocke .stardust-badge{color:#c7d2fe;background:linear-gradient(135deg,#6366f126,#8b5cf61a);border-color:#8b5cf659}.gacha-nuzlocke .stardust-icon{color:#a5b4fc}.gacha-nuzlocke .stardust-count{color:#e0e7ff}.gacha-nuzlocke .stardust-label{color:#a5b4fc}.gacha-nuzlocke .shop-desc,.gacha-nuzlocke .recycle-picker-info{color:#cbd5e1}.gacha-nuzlocke .shop-rates-title{color:#c7d2fe}.gacha-nuzlocke .shop-item-price{color:#818cf8}.gacha-nuzlocke .recycle-qty-val,.gacha-nuzlocke .recycle-picker-name{color:#f1f5f9}.gacha-dark .stardust-badge{color:#fcd34d;background:linear-gradient(135deg,#f59e0b1f,#fbbf2412);border-color:#f59e0b4d}.gacha-dark .stardust-icon{color:#fbbf24}.gacha-dark .stardust-count{color:#fde68a}.gacha-dark .stardust-label{color:#d97706}.gacha-dark .shop-desc{color:#94a3b8}.gacha-dark .shop-item{background:#0f1117;border-color:#ffffff12}.gacha-dark .shop-item-stock{color:#64748b}.gacha-dark .shop-item-price{color:#fbbf24}.gacha-dark .btn-shop-buy:disabled{color:#4b5563;background:#1e2433}.gacha-dark .shop-rates{background:#f59e0b0d;border-color:#f59e0b2e}.gacha-dark .shop-rates-title{color:#d97706}.gacha-dark .shop-rates-grid{color:#94a3b8}.gacha-dark .recycle-picker{background:#1a1f2e;border:1px solid #ffffff12}.gacha-dark .recycle-picker-name{color:#e2e8f0}.gacha-dark .recycle-picker-info{color:#94a3b8}.gacha-dark .recycle-qty-val{color:#e2e8f0}.gacha-dark .btn-recycle-cancel{color:#94a3b8;border-color:#ffffff1a}.gacha-dark .btn-recycle-cancel:hover{background:#ffffff0d}.gacha-dark .confirm-title{color:#e2e8f0}.gacha-dark .confirm-message{color:#94a3b8}.gacha-dark .btn-collection-open{color:#f472b6;background:#df0a8114;border-color:#df0a8159}.gacha-dark .btn-collection-open:hover{background:#df0a8129;border-color:#df0a81a6}.gacha-dark .recycle-banner{color:#4ade80;background:linear-gradient(135deg,#22c55e14,#10b9810d);border-bottom-color:#22c55e2e}.collection-filter{gap:.35rem;margin-bottom:1rem;display:flex}.filter-chip{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000001f;border-radius:50px;padding:.32rem .85rem;font-size:.78rem;font-weight:600;transition:all .15s}.filter-chip:hover{color:#00a4a5;border-color:#00a4a5}.filter-chip-active,.filter-chip-active:hover{color:#fff;background:#00a4a5;border-color:#00a4a5}.gacha-dark .filter-chip{color:#94a3b8;border-color:#ffffff1f}.gacha-dark .filter-chip:hover{color:#22d3ee;border-color:#22d3ee}.gacha-dark .filter-chip-active,.gacha-dark .filter-chip-active:hover{color:#fff;background:#0e7490;border-color:#22d3ee}.gacha-nuzlocke .filter-chip{color:#fca5a5;border-color:#dc26264d}.gacha-nuzlocke .filter-chip:hover{color:#ef4444;border-color:#ef4444}.gacha-nuzlocke .filter-chip-active,.gacha-nuzlocke .filter-chip-active:hover{color:#fff;background:#dc2626;border-color:#dc2626}.gacha-page{--bg:#eef1f5;--bg-header:linear-gradient(180deg, #f0fdfa 0%, #eef1f5 100%);--surface:#fff;--surface-2:#f5f6f8;--text:#1f2937;--text-muted:#6b7280;--text-faint:#9ca3af;--border:#00000017;--accent:#00a4a5;--accent-2:#216d94;--pink:#df0a81;--orange:#f79321;--shadow:#0000000f;--topbar-bg:#fffc;--locked-bg:#e2e5ea;--locked-border:#c3c9d2;--locked-text:#aab1bc}.gacha-page.gacha-dark{--bg:#0b1120;--bg-header:linear-gradient(180deg, #0f1b2d 0%, #0b1120 100%);--surface:#131c2e;--surface-2:#1a2438;--text:#e5e7eb;--text-muted:#94a3b8;--text-faint:#64748b;--border:#ffffff17;--shadow:#00000059;--topbar-bg:#0b1120cc;--locked-bg:#0d1524;--locked-border:#263349;--locked-text:#34445e}*{box-sizing:border-box}body,#root{width:100%;margin:0}.gacha-page{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;font-family:Inter,sans-serif;transition:background .3s,color .3s;display:flex}.gacha-topbar{z-index:50;background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1.25rem;display:flex;position:sticky;top:0}.topbar-brand{background:linear-gradient(135deg, var(--pink), var(--accent));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-family:Cinzel,serif;font-size:.95rem;font-weight:700}.topbar-actions{align-items:center;gap:.45rem;display:flex}.topbar-btn{border:1px solid var(--border);background:var(--surface);height:38px;color:var(--text);cursor:pointer;border-radius:50px;align-items:center;gap:.4rem;padding:0 .75rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;line-height:1;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex}.topbar-btn:hover{border-color:var(--accent);box-shadow:0 4px 12px var(--shadow);transform:translateY(-1px)}.topbar-btn-primary{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));color:var(--accent)}.topbar-dex-count{background:color-mix(in srgb, var(--accent) 18%, transparent);font-variant-numeric:tabular-nums;border-radius:20px;padding:.14rem .45rem;font-size:.68rem;font-weight:700}@media (width<=560px){.topbar-btn-text{display:none}.topbar-btn{padding:0 .6rem}}.gacha-header{text-align:center;padding:3.25rem 1.5rem 2.5rem;position:relative;overflow:hidden}.gacha-header-bg{background:radial-gradient(ellipse 80% 60% at 50% 0%, #df0a8117 0%, transparent 70%), var(--bg-header);z-index:0;position:absolute;inset:0}.gacha-header-content{z-index:1;position:relative}.gacha-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.gacha-title{background:linear-gradient(135deg,#df0a81 0%,#00a4a5 50%,#f79321 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-family:Cinzel,serif;font-size:clamp(1.7rem,5vw,3.2rem);font-weight:700;line-height:1.15}.gacha-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.gacha-main{flex:1;width:100%;margin:0 auto;padding:1.5rem 1.5rem 4rem}.gacha-idle{flex-direction:column;align-items:center;gap:1.6rem;display:flex}.pack-container{perspective:1000px;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;width:220px;height:310px;margin-top:.75rem;position:relative}.pack-container:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:12px}.pack-3d-model{transform-style:preserve-3d;transform:rotateY(var(--pack-ry,0deg));transition:transform .2s ease-out;position:absolute;inset:0}.pack-container:not(.is-cutting):not(:hover) .pack-3d-model{animation:4s ease-in-out infinite pack-float}@keyframes pack-float{0%,to{transform:rotateY(var(--pack-ry,0deg)) translateY(0)}50%{transform:rotateY(var(--pack-ry,0deg)) translateY(-8px)}}.pack-half{transform-style:preserve-3d;position:absolute;inset:0}.pack-top{clip-path:polygon(0 0,100% 0,100% 20%,0 20%);z-index:2}.pack-bottom{clip-path:polygon(0 20%,100% 20%,100% 100%,0 100%);z-index:1}.pack-face{object-fit:contain;backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.pack-back{transform:rotateY(180deg)translateZ(8px)}.pack-front{transform:translateZ(8px)}.pack-slash{opacity:0;z-index:100;pointer-events:none;background:#fff;width:140%;height:6px;position:absolute;top:19.5%;left:-20%;transform:translateZ(50px)rotate(-5deg)scaleX(0);box-shadow:0 0 15px #fffc,0 0 30px #00a4a599}.pack-click-hint{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;font-size:.7rem;font-weight:600;animation:2s ease-in-out infinite hint-pulse;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.cooldown-hint{color:var(--pink)}@keyframes hint-pulse{0%,to{opacity:.55}50%{opacity:1}}.pack-container.is-cutting{cursor:default}.pack-container.is-cutting .pack-3d-model{transition:transform .4s;transform:rotateY(0)}.pack-container.is-cutting .pack-slash{animation:.3s ease-in forwards slash-strike}.pack-container.is-cutting .pack-top{animation:.6s cubic-bezier(.34,1.56,.64,1) .35s forwards fly-off}.pack-container.is-cutting .pack-bottom{animation:.5s ease-in .5s forwards drop-down}@keyframes slash-strike{0%{opacity:0;transform:translateZ(50px)rotate(-5deg)scaleX(0)}50%{opacity:1;transform:translateZ(50px)rotate(-5deg)scaleX(1)}to{opacity:0;transform:translateZ(50px)rotate(-5deg)scaleX(1)translateY(-10px)}}@keyframes fly-off{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(-60px)rotate(-15deg)scale(1.1)}}@keyframes drop-down{0%{opacity:1;filter:brightness();transform:translateY(0)}to{opacity:0;filter:brightness(2);transform:translateY(40px)scale(.9)}}.pack-meter{gap:.4rem;margin-top:.5rem;display:flex}.pack-pip{background:var(--border);border-radius:4px;width:14px;height:6px;transition:background .3s,box-shadow .3s}.pack-pip.pip-full{background:linear-gradient(90deg, var(--accent-2), var(--accent));box-shadow:0 0 6px color-mix(in srgb, var(--accent) 60%, transparent)}.pack-status-panel,.pity-counter,.odds-panel{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:0 4px 15px var(--shadow);border-radius:14px;padding:1rem 1.25rem}.pack-status-panel{flex-direction:column;gap:.6rem;display:flex}.pack-status-item{justify-content:space-between;align-items:center;display:flex}.pack-status-label,.pity-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.75rem;font-weight:600}.pack-status-value{color:var(--accent-2);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.gacha-dark .pack-status-value,.pack-status-value.countdown{color:var(--accent)}.pity-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.pity-value{color:var(--accent);font-size:.82rem;font-weight:700}.pity-value.pity-hot{color:var(--pink)}.pity-bar-bg{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.pity-bar-fill{background:linear-gradient(90deg, var(--accent-2), var(--accent));border-radius:99px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.pity-bar-fill.pity-fill-hot{background:linear-gradient(90deg, var(--pink), var(--orange))}.pity-sub{color:var(--text-muted);text-align:right;margin:.45rem 0 0;font-size:.7rem}.odds-title{color:var(--orange);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .9rem;font-family:Cinzel,serif;font-size:.85rem}.odds-list{flex-direction:column;gap:.45rem;display:flex}.odds-row{align-items:center;gap:.65rem;display:flex}.odds-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.odds-label{color:var(--text-muted);flex:1;font-size:.85rem}.odds-pct{color:var(--text);font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:600}.odds-guarantees{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;margin-top:.9rem;padding-top:.9rem;display:flex}.odds-guarantee-item{color:var(--text-muted);align-items:center;gap:.5rem;margin:0;font-size:.78rem;display:flex}.guarantee-icon{border-radius:4px;justify-content:center;align-items:center;width:1.5rem;padding:.1rem .35rem;font-size:.6rem;font-weight:800;line-height:1;display:inline-flex}.rare-icon{color:#60a5fa;background:#60a5fa33;border:1px solid #60a5fa55}.ur-icon{color:#f59e0b;background:#f59e0b33;border:1px solid #f59e0b55}.odds-note{color:var(--text-faint);text-align:center;margin:.9rem 0 0;font-size:.7rem}.history-section{width:100%;max-width:500px}.history-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .7rem;font-family:Cinzel,serif;font-size:.82rem}.history-empty{color:var(--text-faint);text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:10px;padding:1.25rem;font-size:.82rem}.history-list{flex-direction:column;gap:.45rem;display:flex}.history-item{background:var(--surface);border:1px solid var(--border);box-shadow:0 2px 8px var(--shadow);border-radius:10px;align-items:center;gap:.75rem;padding:.55rem .9rem;display:flex}.history-item-godpack{border-color:#f59e0b;box-shadow:0 0 12px #f59e0b59}.history-num{color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:100px;font-size:.72rem;font-weight:500}.history-badges{flex-wrap:wrap;gap:.35rem;display:flex}.history-badge{border-radius:20px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.history-badge-godpack{color:#f59e0b;background:#f59e0b2e;border:1px solid #f59e0b}.gacha-opening{flex-direction:column;justify-content:flex-start;align-items:center;gap:1.25rem;min-height:60vh;padding-top:1rem;display:flex}.ur-banner{color:var(--orange);text-shadow:0 0 20px #f79321cc;letter-spacing:.08em;font-family:Cinzel,serif;font-size:1.2rem;font-weight:700;animation:.5s cubic-bezier(.34,1.56,.64,1) both ur-banner-pop}.god-pack-banner{flex-direction:column;align-items:center;gap:.2rem;animation:.5s cubic-bezier(.34,1.56,.64,1) both ur-banner-pop;display:flex}.god-pack-title{background:linear-gradient(90deg,#f59e0b,#df0a81,#00a4a5,#f59e0b) 0 0/300% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Cinzel,serif;font-size:1.5rem;font-weight:700;animation:2.5s linear infinite god-shift}@keyframes god-shift{to{background-position:300% 0}}.god-pack-sub{color:var(--orange);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:600}@keyframes ur-banner-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.card-progress{align-items:center;gap:.55rem;display:flex}.progress-dot{background:var(--border);border:1px solid var(--text-faint);cursor:pointer;border-radius:50%;width:11px;height:11px;transition:background .4s,transform .3s,box-shadow .4s}.progress-dot.dot-current{border-color:var(--text);transform:scale(1.35)}.progress-dot.dot-revealed{border-color:#0000;box-shadow:0 0 6px}.progress-dot:hover:not(.dot-current){transform:scale(1.5)}.reveal-stage{flex-direction:column;align-items:center;gap:.5rem;animation:.35s cubic-bezier(.34,1.4,.64,1) both card-enter;display:flex}@keyframes card-enter{0%{opacity:0;transform:translateY(24px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.reveal-row{align-items:center;gap:1.25rem;display:flex}.nav-btn{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 22%, transparent), color-mix(in srgb, var(--accent) 6%, transparent));width:52px;height:52px;color:var(--accent);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.45rem;line-height:1;transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 4px 14px #0000002e,inset 0 1px #ffffff1f}.nav-btn:hover:not(:disabled){background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 40%, transparent), color-mix(in srgb, var(--accent) 16%, transparent));border-color:var(--accent);box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 35%, transparent), inset 0 1px 0 #fff3;transform:translateY(-2px)scale(1.08)}.nav-btn:active:not(:disabled){transform:translateY(0)scale(.94)}.nav-btn:disabled{opacity:.2;cursor:default;box-shadow:none}.card-counter{color:var(--text-muted);letter-spacing:.1em;text-align:center;margin:0;font-size:.75rem}.kbd-hint{color:var(--text-faint);letter-spacing:.04em;margin-top:.25rem;font-size:.65rem;display:block}@media (hover:none){.kbd-hint{display:none}}.card-rarity-label{text-transform:uppercase;letter-spacing:.1em;opacity:0;background:#111827;border-radius:6px;align-items:center;gap:.35rem;padding:.18rem .6rem .18rem .4rem;font-size:.7rem;font-weight:700;transition:opacity .25s .7s,transform .25s .7s;display:flex;transform:translateY(4px);box-shadow:0 4px 12px #0003}.card-rarity-label.label-visible{opacity:1;transform:translateY(0)}.card-rarity-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.new-badge{color:#fff;background:linear-gradient(135deg, var(--pink), var(--orange));letter-spacing:.08em;border-radius:4px;padding:.12rem .4rem;font-size:.58rem;font-weight:800;animation:.35s cubic-bezier(.34,1.56,.64,1) both new-pop}@keyframes new-pop{0%{transform:scale(0)}to{transform:scale(1)}}.gacha-card{aspect-ratio:5/7;perspective:900px;cursor:pointer;border-radius:12px;position:relative}.gacha-card.single-card{width:340px}@media (width<=480px){.gacha-card.single-card{width:250px}}.gacha-card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:12px;transition:transform .65s cubic-bezier(.4,0,.2,1);position:relative}.gacha-card.revealed .gacha-card-inner{transform:rotateY(180deg)}.gacha-card-back,.gacha-card-front{backface-visibility:hidden;border-radius:12px;position:absolute;inset:0;overflow:hidden}.gacha-card-back{background:#000;justify-content:center;align-items:center;transition:box-shadow .3s;display:flex;box-shadow:0 0 15px #00a4a54d,inset 0 1px #ffffff14}.gacha-card:not(.revealed):hover .gacha-card-back{box-shadow:0 0 28px #00a4a599,inset 0 1px #ffffff1f}.card-back-img{object-fit:cover;width:100%;height:100%}.card-tap-hint{color:#fbbf24d9;letter-spacing:.1em;text-transform:uppercase;background:#0000008c;border-radius:4px;padding:.2rem .5rem;font-size:.6rem;animation:1.5s ease-in-out infinite hint-pulse;position:absolute;bottom:14px}.gacha-card-front{border:2px solid var(--card-color,#a0a0b0);box-shadow:0 0 18px color-mix(in srgb, var(--glow-color,#a0a0b0) 50%, transparent);background:#fff;flex-direction:column;display:flex;overflow:hidden;transform:rotateY(180deg)}.card-img{object-fit:cover;object-position:top center;flex:1;width:100%;min-height:0;display:block}.card-name{text-align:center;color:var(--card-color,#a0a0b0);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;background:#000000a6;flex-shrink:0;padding:.3rem .4rem;font-size:.6rem;font-weight:600;overflow:hidden}.gacha-card.ultraRare .gacha-card-front{border-color:#f59e0b;animation:2.5s ease-in-out infinite ultra-pulse}@keyframes ultra-pulse{0%,to{box-shadow:0 0 18px #f9731699}50%{box-shadow:0 0 40px #f97316,0 0 65px #f59e0b80}}.gacha-card.rare .gacha-card-front{box-shadow:0 0 18px #3b82f6b3,inset 0 0 20px #3b82f60d}.gacha-card.revealed .gacha-card-front{animation:.3s .35s both card-appear}@keyframes card-appear{0%{opacity:.5}to{opacity:1}}.holo-overlay{z-index:10;pointer-events:none;mix-blend-mode:screen;filter:saturate(1.6)brightness(1.1);background:linear-gradient(125deg,#ff008000 0%,#ff00802e 15%,#ffc80038 30%,#00ff7833 45%,#00b4ff38 60%,#a000ff2e 75%,#ff008000 100%) 0 0/300% 300%;border-radius:10px;animation:3.5s linear infinite holo-pan;position:absolute;inset:0}.holo-overlay:after{content:"";background:linear-gradient(105deg,#0000 30%,#ffffff2e 50%,#0000 70%) 0 0/200% 200%;border-radius:10px;animation:2s linear infinite holo-sheen;position:absolute;inset:0}@keyframes holo-pan{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 0}}@keyframes holo-sheen{0%{background-position:-200% -200%}to{background-position:200% 200%}}.btn-reveal-all{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent);cursor:pointer;border-radius:50px;padding:.55rem 1.6rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;transition:background .2s,transform .15s}.btn-reveal-all:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-1px)}.pack-summary{gap:.5rem;animation:.3s both card-enter;display:flex}.summary-thumb{aspect-ratio:5/7;border:2px solid var(--card-color,#a0a0b0);cursor:pointer;width:56px;box-shadow:0 0 8px color-mix(in srgb, var(--glow-color,#a0a0b0) 40%, transparent);border-radius:8px;transition:transform .15s;position:relative;overflow:hidden}.summary-thumb:hover,.summary-thumb-current{transform:translateY(-4px)scale(1.06)}.summary-thumb img{object-fit:cover;width:100%;height:100%;display:block}.summary-new{color:#fff;background:linear-gradient(135deg, var(--pink), var(--orange));letter-spacing:.05em;border-radius:3px;padding:.08rem .25rem;font-size:.42rem;font-weight:800;position:absolute;top:2px;right:2px}.btn-open-pack{cursor:pointer;letter-spacing:.06em;color:#fff;background:linear-gradient(135deg,#df0a81 0%,#00a4a5 50%,#f79321 100%);border:none;border-radius:50px;padding:1rem 3.25rem;font-family:Cinzel,serif;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 0 20px #00a4a580,0 4px 20px #0000004d}.btn-open-pack:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 0 35px #00a4a5b3,0 8px 30px #0006}.btn-open-pack:active{transform:translateY(0)scale(.98)}.btn-shine{background:linear-gradient(105deg,#0000 40%,#ffffff40 50%,#0000 60%);width:40%;height:200%;animation:3s infinite shine;position:absolute;top:-50%;left:-60%}@keyframes shine{0%{left:-60%}40%{left:120%}to{left:120%}}.collection-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.2s both overlay-fade-in;display:flex;position:fixed;inset:0}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.collection-modal{background:var(--bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:100%;max-width:680px;max-height:88vh;animation:.25s cubic-bezier(.34,1.3,.64,1) both modal-slide-in;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000059}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.collection-modal.oshidex-modal{height:88vh}.collection-modal-header{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.4rem;display:flex}.collection-modal-title{color:var(--text);margin:0;font-family:Cinzel,serif;font-size:1rem;font-weight:700}.collection-modal-close{background:var(--surface-2);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;line-height:1;transition:background .15s,color .15s;display:flex}.collection-modal-close:hover{background:color-mix(in srgb, var(--pink) 15%, transparent);color:var(--pink)}.collection-modal-body{-webkit-overflow-scrolling:touch;flex:1;padding:1.25rem 1.4rem;overflow-y:auto}.collection-filter{gap:.35rem;display:flex}.filter-chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50px;padding:.32rem .85rem;font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;transition:all .15s}.filter-chip:hover{border-color:var(--accent);color:var(--accent)}.filter-chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-chip-active:hover{color:#fff}.collection-rarity-group{margin-bottom:1.25rem}.collection-rarity-label{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;margin-bottom:.65rem;font-size:.78rem;font-weight:700;display:flex}.collection-rarity-count{color:var(--text-muted);text-transform:none;letter-spacing:0;margin-left:auto;font-size:.7rem;font-weight:500}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.65rem;display:grid}.collection-card{cursor:zoom-in;flex-direction:column;align-items:center;gap:.35rem;display:flex}.collection-card-img-wrap{aspect-ratio:5/7;background:#111827;border-radius:8px;width:100%;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.collection-card-img-wrap:hover{box-shadow:0 0 14px var(--glow,#a0a0b0), 0 6px 18px #00000040;transform:translateY(-3px)}.collection-card-img{object-fit:cover;width:100%;height:100%;display:block}.collection-count-badge{color:#fbbf24;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;border:1px solid #fbbf2466;border-radius:6px;padding:.1rem .35rem;font-size:.65rem;font-weight:700;line-height:1.4;position:absolute;bottom:4px;right:4px}.collection-card-name{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.62rem;line-height:1.3;overflow:hidden}.collection-card-locked{cursor:default}.collection-card-locked-wrap{border:1.5px dashed var(--locked-border);justify-content:center;align-items:center;display:flex;background:var(--locked-bg)!important;box-shadow:none!important}.collection-card-locked-wrap:hover{box-shadow:none!important;transform:none!important}.collection-card-question{color:var(--locked-text);-webkit-user-select:none;user-select:none;font-size:1.8rem;font-weight:800;line-height:1}.collection-card-name-locked{font-style:italic;color:var(--locked-text)!important}.card-zoom-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#000000bf;border-radius:16px;justify-content:center;align-items:center;animation:.18s both overlay-fade-in;display:flex;position:absolute;inset:0}.card-zoom-content{flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 1rem 1rem;animation:.22s cubic-bezier(.34,1.4,.64,1) both zoom-pop;display:flex;position:relative}@keyframes zoom-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.card-zoom-img-wrap{width:min(300px,80vw);max-height:65vh;box-shadow:0 0 0 2px var(--card-color,#a0a0b0), 0 0 28px var(--glow,#a0a0b0), 0 16px 40px #0000008c;border-radius:14px;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.card-zoom-img{object-fit:contain;border-radius:14px;width:100%;max-height:65vh;display:block}.card-zoom-badge{padding:.2rem .55rem!important;font-size:.75rem!important}.card-zoom-name{text-align:center;margin:0;font-family:Cinzel,serif;font-size:.95rem;font-weight:700}.card-zoom-rarity{color:#ffffffa6;text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.72rem}.card-zoom-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;line-height:1;transition:background .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.card-zoom-close:hover{background:#ffffff4d}.collection-modal-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:1rem 1.4rem}.collection-progress-info{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.collection-progress-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.collection-progress-pct{color:var(--text);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.collection-progress-bar-bg{background:var(--border);border-radius:999px;width:100%;height:8px;overflow:hidden}.collection-progress-bar-fill{background:linear-gradient(90deg, var(--accent-2), var(--accent));border-radius:999px;height:100%;transition:width .4s}.backup-modal-body{flex-direction:column;gap:1.25rem;display:flex}.backup-section{background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 12px var(--shadow);border-radius:12px;padding:1.25rem}.backup-section-title{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-family:Cinzel,serif;font-size:.9rem;font-weight:700}.backup-desc{color:var(--text-muted);margin:0 0 .75rem;font-size:.78rem;line-height:1.4}.backup-textarea{background:var(--surface-2);border:1px solid var(--border);width:100%;height:90px;color:var(--text);resize:none;border-radius:8px;outline:none;margin-bottom:.75rem;padding:.6rem;font-family:monospace;font-size:.75rem;transition:border-color .2s}.backup-textarea:focus{border-color:var(--accent)}.backup-actions{justify-content:flex-end;gap:.5rem;display:flex}.btn-backup{cursor:pointer;color:#fff;border:none;border-radius:50px;padding:.45rem 1.2rem;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;transition:all .2s}.btn-backup:hover{transform:translateY(-1px)}.btn-backup-copy{background:var(--accent)}.btn-backup-import{background:var(--pink)}.backup-alert{border-radius:8px;padding:.65rem .85rem;font-size:.76rem;font-weight:500;line-height:1.4}.backup-alert-warning{color:#c26900;background:#f793211a;border:1px solid #f793214d}.gacha-dark .backup-alert-warning{color:#fbbf24}.backup-alert-error{color:#b91c1c;background:#dc26261a;border:1px solid #dc26264d}.gacha-dark .backup-alert-error{color:#f87171}.backup-alert-success{color:#047857;background:#10b9811a;border:1px solid #10b9814d}.gacha-dark .backup-alert-success{color:#34d399}@media (prefers-reduced-motion:reduce){.pack-container:not(.is-cutting):not(:hover) .pack-3d-model,.holo-overlay,.holo-overlay:after,.btn-shine,.pack-click-hint,.card-tap-hint,.god-pack-title{animation:none}}
