:root{
  --bg:#0a0d11;--bg2:#10151b;--panel:#121820;--panel2:#171e27;--line:#303946;
  --ink:#ece9e0;--muted:#8f99a5;--brass:#b69b5f;--red:#e24d45;--green:#45b86c;--blue:#4688e8;
  --hp:#71d27b;--warn:#e4bf63;--danger:#e3615b;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}body{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app{height:100svh;display:grid;grid-template-rows:58px 1fr 62px;background:var(--bg)}
.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);background:#0b0f14;z-index:40}.brand{font-weight:950;letter-spacing:.1em;font-size:14px}.brand b{color:var(--brass)}.topstats{display:flex;justify-content:center;gap:20px;color:var(--muted);font-size:11px}.topstats strong{color:var(--ink)}.top-actions{display:flex;gap:7px}.square{width:34px;height:34px;border:1px solid var(--line);background:#11171d;color:#cbd0d5}.workspace{min-height:0;display:grid;grid-template-columns:176px 1fr}.rail{border-right:1px solid var(--line);background:#0c1015;padding:14px 10px;display:flex;flex-direction:column;gap:5px}.nav{height:46px;border:0;border-left:3px solid transparent;background:transparent;color:#9099a4;text-align:left;padding:0 13px;font-weight:850}.nav:hover{background:#141a21;color:white}.nav.active{border-left-color:var(--brass);background:#171c22;color:white}.nav small{display:block;color:#67717c;font-size:9px;margin-top:2px;font-weight:600}.rail-foot{margin-top:auto;padding:12px 10px;border-top:1px solid #242c35;font-size:9px;line-height:1.6;color:#65707c}.content{position:relative;min-width:0;min-height:0;overflow:hidden}.screen{position:absolute;inset:0;overflow:auto;padding:22px 26px;display:none}.screen.active{display:block}.mobile-nav{display:none;border-top:1px solid var(--line);background:#0b0f14;z-index:50}.mobile-nav button{border:0;background:transparent;color:#818b97;font-size:10px;font-weight:850}.mobile-nav button.active{color:#f1ede2}
.eyebrow{font-size:9px;letter-spacing:.2em;color:#8c96a2;font-weight:900}.title{font-size:30px;font-weight:950;letter-spacing:-.03em;margin:4px 0 3px}.sub{font-size:11px;color:var(--muted)}.panel{border:1px solid var(--line);background:var(--panel)}.btn{border:1px solid #495361;background:#171e26;color:white;padding:10px 15px;font-weight:900}.btn:hover{background:#202936}.btn.primary{background:#d8d3c7;color:#101317;border-color:#d8d3c7}.btn.brass{background:#1d1911;border-color:#7e6a3d;color:#e2d19f}.btn.danger{border-color:#7f403d;color:#ed9691}.btn:disabled{opacity:.42;cursor:not-allowed}.section-title{font-size:10px;font-weight:950;letter-spacing:.15em;color:#c5c0b4;margin-bottom:9px}.pill{display:inline-flex;height:22px;align-items:center;padding:0 7px;border:1px solid #3d4652;font-size:9px;font-weight:900}.assault{color:var(--red)}.trick{color:var(--green)}.guard{color:var(--blue)}.support{color:#d1ba78}

/* Home */
.home{padding:0!important;overflow:hidden!important}.home-bg{position:absolute;inset:0;background:linear-gradient(90deg,#090d12 0 28%,transparent 53%),radial-gradient(circle at 68% 42%,#435565 0,#26343f 22%,#111820 52%,#090d12 78%)}.home-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#07090c 100%),repeating-linear-gradient(90deg,transparent 0 104px,#ffffff07 105px 106px);opacity:.75}.home-monster{position:absolute;z-index:2;right:8%;top:7%;width:48%;height:80%;object-fit:contain;filter:drop-shadow(0 35px 32px #000a)}.home-left{position:absolute;z-index:4;left:4%;top:7%;bottom:6%;width:31%;display:flex;flex-direction:column}.rank-big{font-size:35px;font-weight:950;margin-top:10px}.rp{font:700 12px ui-monospace,monospace;color:#a6afb9;margin-top:4px}.progress{height:5px;background:#232a32;margin:11px 0 5px}.progress i{display:block;height:100%;background:var(--brass);width:62%}.home-cards{margin-top:28px}.home-stat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #2b333c;font-size:11px}.home-stat b{color:#ddd1ad}.home-cta{margin-top:auto}.big-cta{width:100%;height:68px;text-align:left;padding:10px 16px;border:1px solid #d7d1c2;background:#dfdbd0;color:#0c1014;clip-path:polygon(0 0,97% 0,100% 20%,100% 100%,3% 100%,0 80%)}.big-cta small{display:block;font-size:9px;letter-spacing:.16em}.big-cta b{font-size:22px}.home-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.home-shortcuts .btn{font-size:10px;padding:9px 6px}.home-side{position:absolute;z-index:4;right:2.5%;top:12%;width:19%}.feed{border-left:1px solid #45505b;padding-left:13px}.feed-item{padding:10px 0;border-bottom:1px solid #28303a}.feed-item b{font-size:11px;display:block}.feed-item span{font-size:9px;color:#77818d}

/* Pack */
.pack-layout{height:100%;display:grid;grid-template-columns:190px 1fr 300px;gap:16px}.pack-index,.pack-info{padding:14px}.pack-tab{padding:13px 9px;border-bottom:1px solid #27303a}.pack-tab.active{border-left:3px solid var(--brass);background:#181e25}.pack-tab b{font-size:12px}.pack-tab small{display:block;color:#6f7985;font-size:9px;margin-top:3px}.pack-stage{position:relative;display:grid;place-items:center;background:radial-gradient(circle,#283643,#141b23 46%,#0e1319 76%);overflow:hidden}.pack-object{width:230px;height:340px;border:1px solid #707985;background:linear-gradient(145deg,#333d47,#11171d 64%);box-shadow:0 30px 60px #000b;display:grid;place-items:center;transform:rotate(-2deg);position:relative}.pack-object:before,.pack-object:after{content:"";position:absolute;left:0;right:0;height:23px;background:repeating-linear-gradient(90deg,#c5b37a 0 3px,#76663f 4px 7px)}.pack-object:before{top:0}.pack-object:after{bottom:0}.pack-object b{font-size:26px;letter-spacing:.14em}.pack-object small{position:absolute;bottom:62px;color:#ae9d6e}.pack-buy{position:absolute;bottom:24px;display:flex;gap:8px}.odds{display:grid;grid-template-columns:1fr auto;gap:7px;font:11px ui-monospace,monospace;margin-top:16px}.odds span:nth-child(even){color:#d4c494}.pack-info p{font-size:11px;color:#939ca6;line-height:1.7}

/* Card UI */
.toolbar{display:flex;gap:8px;align-items:center;margin:16px 0}.search{flex:1;height:40px;border:1px solid var(--line);background:#10161c;color:white;padding:0 12px}.filter{height:40px;border:1px solid var(--line);background:#10161c;color:#a3adb8;padding:0 11px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px}.game-card{aspect-ratio:.7;border:1px solid #4a5561;background:linear-gradient(180deg,#151d26,#0f141b);position:relative;overflow:hidden;box-shadow:0 8px 20px #0006;cursor:pointer;transition:.16s}.game-card:hover{transform:translateY(-3px);border-color:#77818d}.game-card.selected{outline:2px solid var(--brass);outline-offset:2px}.card-art{position:absolute;inset:0 0 27%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 48%,#293744,#121820 65%);overflow:hidden;isolation:isolate}.card-art::before,.card-art::after,.game-card::before,.game-card::after{content:"";position:absolute;pointer-events:none}.game-card::before,.game-card::after{inset:0;opacity:0;transition:opacity .18s ease}.card-art::before,.card-art::after{inset:0;opacity:0;transition:opacity .18s ease}.card-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 12px #0008);transition:filter .18s ease,transform .18s ease}.card-rarity{position:absolute;top:8px;left:8px;z-index:3;font-size:10px;font-weight:950;color:#e0cb8d;text-shadow:0 2px 6px #000}.card-no{position:absolute;top:8px;right:8px;z-index:3;font:700 9px ui-monospace,monospace;color:#b8c0c7}.card-info{position:absolute;left:0;right:0;bottom:0;height:28%;padding:8px;background:#0d1217ed;border-top:1px solid #3c4651}.card-name{font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{display:flex;justify-content:space-between;align-items:end;margin-top:5px}.grades{display:flex;gap:3px}.grade{width:18px;height:16px;display:grid;place-items:center;border:1px solid #414b56;font:800 8px ui-monospace,monospace}.serial{font:700 8px ui-monospace,monospace;color:#78838e}.finish{position:absolute;right:7px;top:28px;font-size:8px;font-weight:900;color:#c9b87d;text-shadow:0 1px 4px #000}.game-card[data-finish="Foil"]{border-color:#87b4d9;box-shadow:0 0 0 1px #7fb3d433,0 12px 26px #0008,0 0 32px #8ae0ff22}.game-card[data-finish="Foil"] .card-rarity{color:#eff8ff;text-shadow:0 0 8px #7dd8ff88,0 2px 6px #000}.game-card[data-finish="Foil"] .finish{color:#d8f7ff}.game-card[data-finish="Foil"] .card-art{background:radial-gradient(circle at 50% 42%,#294965 0,#162538 52%,#111821 100%);box-shadow:inset 0 0 0 1px #b8eeff44,inset 0 0 24px #67e0ff22}.game-card[data-finish="Foil"]::before{opacity:1;background:radial-gradient(circle at 16% 20%,#ffffff6a 0 1px,transparent 2px),radial-gradient(circle at 79% 18%,#aef1ff66 0 1px,transparent 2px),radial-gradient(circle at 24% 74%,#ffdff466 0 1px,transparent 2px),radial-gradient(circle at 70% 70%,#9fbeff5a 0 1px,transparent 2px),linear-gradient(180deg,#ffffff09,#ffffff00 42%,#ffffff08 58%,#ffffff00 100%);background-size:72px 72px,110px 110px,96px 96px,128px 128px,100% 100%;mix-blend-mode:screen;animation:foilTwinkle 5.8s linear infinite}.game-card[data-finish="Foil"]::after{opacity:.92;inset:-32%;background:linear-gradient(115deg,transparent 38%,#b3fdff10 43%,#e7fbff68 48%,#ffc8fa40 52%,#8dbfff45 56%,transparent 63%);transform:translateX(-55%) rotate(12deg);animation:foilSweep 4.6s linear infinite}.game-card[data-finish="Foil"] .card-art::before{opacity:1;background:radial-gradient(circle at 50% 46%,#d3ffff12 0,#7be5ff22 36%,transparent 68%),radial-gradient(circle at 18% 18%,#ffffff86 0 1px,transparent 2px),radial-gradient(circle at 84% 24%,#c4f5ff80 0 1px,transparent 2px),radial-gradient(circle at 22% 86%,#ffd8ff7a 0 1px,transparent 2px),radial-gradient(circle at 78% 78%,#9bc9ff78 0 1px,transparent 2px);background-size:100% 100%,58px 58px,76px 76px,70px 70px,90px 90px;mix-blend-mode:screen}.game-card[data-finish="Foil"] .card-art::after{opacity:1;inset:6px;border-radius:10px;border:1px solid #98dfff70;box-shadow:inset 0 0 16px #cbf7ff1a,0 0 24px #7ce4ff22}.game-card[data-finish="Foil"] .card-art img{filter:drop-shadow(0 15px 12px #0009) drop-shadow(0 0 16px #93f0ff26) saturate(1.07) brightness(1.05)}.game-card[data-hr="true"]{border-color:#d9ba63;background:linear-gradient(180deg,#211a0e,#130f0b 54%,#0e1217 100%);box-shadow:0 0 0 1px #f4cf7048,0 12px 30px #0008,0 0 36px #f0c75a1d}.game-card[data-hr="true"] .card-rarity{color:#ffe796;text-shadow:0 0 10px #ffdd73a4,0 2px 6px #000}.game-card[data-hr="true"] .card-no{color:#f4e4b0}.game-card[data-hr="true"] .finish{color:#f4db9a}.game-card[data-hr="true"] .card-art{background:radial-gradient(circle at 50% 42%,#594521 0,#22180c 52%,#11161d 100%);box-shadow:inset 0 0 0 1px #f5dc8a46,inset 0 0 28px #e7c65424}.game-card[data-hr="true"]::before{opacity:1;background:radial-gradient(circle at 14% 18%,#ffe48b72 0 1px,transparent 2px),radial-gradient(circle at 82% 22%,#fff7d06b 0 1px,transparent 2px),radial-gradient(circle at 26% 74%,#f0c85f62 0 1px,transparent 2px),radial-gradient(circle at 76% 72%,#ffe08068 0 1px,transparent 2px),linear-gradient(180deg,#fff2b707,#ffffff00 44%,#ffe89d0a 62%,#ffffff00 100%);background-size:78px 78px,118px 118px,88px 88px,132px 132px,100% 100%;mix-blend-mode:screen;animation:goldTwinkle 6.2s linear infinite}.game-card[data-hr="true"]::after{opacity:1;inset:-30%;background:linear-gradient(114deg,transparent 36%,#fff2aa00 41%,#fff2aa30 45%,#fff0c85f 50%,#fff6c53f 55%,transparent 62%);transform:translateX(-55%) rotate(14deg);animation:urSweep 4.3s linear infinite}.game-card[data-hr="true"] .card-art::before{opacity:1;background:radial-gradient(circle at 50% 42%,#fff2aa10 0,#ffd44d30 35%,transparent 70%),radial-gradient(circle at 18% 18%,#ffe57f7c 0 1px,transparent 2px),radial-gradient(circle at 84% 24%,#fff2be78 0 1px,transparent 2px),radial-gradient(circle at 22% 86%,#efc65b75 0 1px,transparent 2px),radial-gradient(circle at 78% 78%,#f6dda285 0 1px,transparent 2px),repeating-linear-gradient(120deg,transparent 0 12px,#ffe68912 12px 13px,transparent 13px 25px);mix-blend-mode:screen}.game-card[data-hr="true"] .card-art::after{opacity:1;inset:5px;border-radius:10px;border:1px solid #f4d57870;box-shadow:inset 0 0 18px #fff0be18,0 0 30px #f4c54f18}.game-card[data-hr="true"] .card-art img{filter:sepia(.33) saturate(1.18) hue-rotate(-10deg) brightness(1.08) contrast(1.03) drop-shadow(0 14px 12px #000a) drop-shadow(0 0 14px #f0cf6b26)}.game-card[data-hr="true"][data-finish="Foil"]{box-shadow:0 0 0 1px #f0d58475,0 0 0 3px #87dfff16,0 14px 32px #0009,0 0 40px #eed37a2a}.game-card[data-hr="true"][data-finish="Foil"]::before{opacity:1;background:radial-gradient(circle at 15% 18%,#ffeebd76 0 1px,transparent 2px),radial-gradient(circle at 82% 20%,#d6f6ff78 0 1px,transparent 2px),radial-gradient(circle at 24% 76%,#ffd9ff76 0 1px,transparent 2px),radial-gradient(circle at 76% 72%,#ffd87074 0 1px,transparent 2px),linear-gradient(180deg,#fff3c408,#ffffff00 44%,#d3f4ff08 60%,#ffffff00 100%);background-size:70px 70px,108px 108px,90px 90px,128px 128px,100% 100%;mix-blend-mode:screen;animation:goldTwinkle 5.4s linear infinite}.game-card[data-hr="true"][data-finish="Foil"]::after{opacity:1;inset:-31%;background:linear-gradient(114deg,transparent 36%,#fff2aa00 40%,#fff3d248 45%,#ffffff6f 50%,#ffc8f14b 55%,#9ddbff3f 58%,transparent 64%);transform:translateX(-55%) rotate(14deg);animation:urSweep 4s linear infinite}.game-card[data-hr="true"][data-finish="Foil"] .card-art img{filter:sepia(.26) saturate(1.24) hue-rotate(-9deg) brightness(1.1) contrast(1.04) drop-shadow(0 14px 12px #000a) drop-shadow(0 0 16px #f4d57324)}.game-card.sp{border-color:#bf92ff;background:linear-gradient(180deg,#24162d,#140f1c 54%,#0e1217 100%);box-shadow:0 0 0 1px #b576ff66,0 12px 30px #0008,0 0 36px #b576ff20}.game-card.sp .card-rarity{color:#f1ddff;text-shadow:0 0 9px #d9aaff9c,0 2px 6px #000}.game-card.sp .card-art{background:radial-gradient(circle at 50% 42%,#47315e 0,#24162f 52%,#11161d 100%)}.game-card.sp .card-art img{filter:drop-shadow(0 15px 12px #0009) drop-shadow(0 0 16px #d59dff28) saturate(1.12) brightness(1.06)}@keyframes foilSweep{to{transform:translateX(55%) rotate(12deg)}}@keyframes foilTwinkle{0%{background-position:0 0,0 0,0 0,0 0,0 0}100%{background-position:48px 24px,-36px 44px,28px -32px,-46px -26px,0 0}}@keyframes urSweep{to{transform:translateX(56%) rotate(14deg)}}@keyframes goldTwinkle{0%{background-position:0 0,0 0,0 0,0 0,0 0}100%{background-position:40px 20px,-34px 38px,26px -24px,-40px -18px,0 0}}.empty-card{aspect-ratio:.7;border:1px dashed #39434f;background:#0f141a;display:grid;place-items:center;color:#58636f;font-size:10px}

/* Deck */
.deck-layout{display:grid;grid-template-columns:1fr 340px;gap:16px}.loadout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.load-slot{height:146px;border:1px solid var(--line);background:#121820;display:grid;grid-template-columns:104px 1fr;overflow:hidden;cursor:pointer}.load-slot img{width:100%;height:100%;object-fit:contain;background:radial-gradient(circle,#273643,#10161c)}.load-slot .info{padding:12px}.load-slot small{display:block;color:#79838e;font-size:9px;margin-top:4px}.load-slot b{font-size:13px}.deck-side{padding:16px}.deck-stat{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #29313a;font-size:11px}.collection-strip{margin-top:16px}.collection-strip .card-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}

/* Prebattle */
.prebattle-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.team-panel{padding:14px}.team-six{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.team-card{border:1px solid #3c4651;background:#10161d;min-height:142px;position:relative;padding:7px;cursor:pointer}.team-card img{width:100%;height:94px;object-fit:contain;filter:drop-shadow(0 10px 10px #0007)}.team-card b{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-card.banned{filter:grayscale(1) brightness(.45)}.team-card.banned:after{content:"BAN";position:absolute;inset:0;display:grid;place-items:center;font-size:25px;font-weight:1000;color:#d36a64;transform:rotate(-9deg)}.team-card.pick{outline:2px solid var(--brass)}.order-num{position:absolute;top:6px;left:6px;width:22px;height:22px;background:#ddd5bd;color:#11151a;display:grid;place-items:center;font:900 10px ui-monospace,monospace;z-index:3}.phasebar{margin-bottom:16px;padding:13px 15px;border:1px solid #414b57;background:#11171e;display:flex;justify-content:space-between;align-items:center}.phasebar b{font-size:13px}.phasebar span{font-size:10px;color:#8f99a4}.center-actions{text-align:center;margin-top:15px}

/* Battle */
.battle-screen{padding:0!important;overflow:hidden!important}.arena{position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,#2c3a47,#121922 39%,#080c11 74%);overflow:hidden}.arena:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-8%;height:45%;background:repeating-linear-gradient(90deg,transparent 0 82px,#ffffff08 83px 84px),repeating-linear-gradient(0deg,transparent 0 54px,#ffffff07 55px 56px);transform:perspective(560px) rotateX(61deg);transform-origin:bottom}.battle-top{position:absolute;z-index:24;left:0;right:0;top:0;height:62px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;background:linear-gradient(#070a0eea,transparent)}.bname.right{text-align:right}.bname b{font-size:11px}.bname small{display:block;color:#7d8792;font-size:9px}.round{font:800 17px ui-monospace,monospace;text-align:center}.round small{display:block;font:800 8px system-ui;letter-spacing:.18em;color:#7d8792}.battle-mon{position:absolute;z-index:5;width:min(42vw,520px);height:min(53vh,540px);object-fit:contain;filter:drop-shadow(0 28px 24px #000a);transition:transform .3s,filter .25s,opacity .25s}.battle-mon.cpu{right:4%;top:10%}.battle-mon.player{left:4%;top:38%}.battle-mon.push-player{transform:translateX(11vw) scale(1.07)}.battle-mon.push-cpu{transform:translateX(-11vw) scale(1.07)}.battle-mon.lose-player{transform:translateX(-7vw) scale(.94);filter:brightness(.55) drop-shadow(0 22px 20px #000)}.battle-mon.lose-cpu{transform:translateX(7vw) scale(.94);filter:brightness(.55) drop-shadow(0 22px 20px #000)}.battle-mon.hit{animation:hit .28s linear}@keyframes hit{0%,100%{translate:0}25%{translate:-12px 3px}50%{translate:9px -2px}75%{translate:-6px 1px}}.hpbox{position:absolute;z-index:15;width:min(360px,38vw)}.hpbox.cpu{left:20px;top:70px}.hpbox.player{right:20px;bottom:137px}.hphead{display:flex;justify-content:space-between;font-size:10px;font-weight:900;margin-bottom:5px}.hpbar{height:11px;background:#202730;border:1px solid #46515d;transform:skewX(-11deg);overflow:hidden}.hpbar i{display:block;height:100%;background:var(--hp);transition:width .65s}.status-row{font-size:9px;color:#98a1ab;margin-top:5px;min-height:12px}.bench{display:flex;gap:5px;margin-top:6px}.bench img{width:32px;height:32px;object-fit:contain;background:#11171d;border:1px solid #3b4550}.bench img.ko{filter:grayscale(1) brightness(.35)}.battle-actions{position:absolute;z-index:25;left:50%;bottom:10px;transform:translateX(-50%);width:min(980px,94vw);display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.move-btn{height:72px;border:1px solid #485360;background:#11171e;color:white;text-align:left;padding:9px 12px;position:relative;overflow:hidden}.move-btn:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--type)}.move-btn small{font-size:9px;color:var(--type);font-weight:950}.move-btn b{display:block;margin-top:5px;font-size:13px}.move-btn em{display:block;margin-top:3px;font-size:9px;color:#737d88;font-style:normal}.move-btn.change:before{background:#7d8792}.combat-log{position:absolute;z-index:16;right:14px;top:118px;width:230px;max-height:150px;overflow:hidden;pointer-events:none;color:#79838e;font-size:9px;text-align:right}.combat-log div{margin:4px 0;text-shadow:0 2px 5px #000}.clash-layer{position:absolute;inset:0;z-index:31;pointer-events:none;display:none}.clash-layer.on{display:block}.clash-flash{position:absolute;left:50%;top:46%;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff 0 5%,#f0d37f 7% 14%,transparent 63%);animation:cf .52s ease-out both}@keyframes cf{from{opacity:0;scale:.2}45%{opacity:1;scale:1.3}to{opacity:0;scale:2.2}}.clash-cards{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(850px,89vw);display:grid;grid-template-columns:1fr 58px 1fr;gap:8px;align-items:center}.clash-tech{padding:15px 20px;background:#10161ded;border:1px solid #4f5965;clip-path:polygon(0 0,96% 0,100% 22%,100% 100%,4% 100%,0 78%);animation:cl .32s ease both}.clash-tech.right{text-align:right;clip-path:polygon(4% 0,100% 0,100% 78%,96% 100%,0 100%,0 22%);animation-name:cr}.clash-tech small{font-size:10px;font-weight:950;letter-spacing:.15em}.clash-tech b{display:block;font-size:24px;margin-top:4px}@keyframes cl{from{opacity:0;transform:translateX(-80px)}to{opacity:1}}@keyframes cr{from{opacity:0;transform:translateX(80px)}to{opacity:1}}.clash-vs{text-align:center;font-weight:950;color:#78818c}.skill-banner{position:absolute;inset:0;z-index:35;pointer-events:none;display:none;place-items:center}.skill-banner.on{display:grid;animation:sb .76s ease both}@keyframes sb{0%{opacity:0}17%,72%{opacity:1}100%{opacity:0}}.skill-banner:before{content:"";position:absolute;left:-8%;width:116%;height:112px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c) 47%,#11161d),transparent);transform:skewY(-2deg)}.skill-banner b{position:relative;font-size:clamp(34px,7vw,84px);font-weight:1000;transform:skewX(-7deg);text-shadow:0 8px 24px #000d}.mini-skill{position:absolute;z-index:34;left:50%;top:49%;transform:translate(-50%,-50%);padding:10px 22px;background:#0d1218e8;border-left:4px solid var(--c);font-size:20px;font-weight:950;display:none}.mini-skill.on{display:block;animation:mini .56s ease both}@keyframes mini{0%{opacity:0;transform:translate(-50%,-40%)}20%,72%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-58%)}}.fx{position:absolute;inset:0;z-index:33;pointer-events:none;display:none;mix-blend-mode:screen}.fx.on{display:block;animation:fx .62s ease both}@keyframes fx{0%{opacity:0}12%{opacity:1}100%{opacity:0}}.fx.slash{background:linear-gradient(121deg,transparent 0 44%,#fff 44.1% 44.45%,#e9574fc8 44.6% 45.1%,transparent 45.25%)}.fx.cannon{background:radial-gradient(circle at 70% 40%,#fff 0 2%,#ffd27a 2.4% 5%,#ef6a4488 6% 12%,transparent 22%)}.fx.impact{background:radial-gradient(circle at 55% 48%,#fff 0 2%,#d7c28a66 3% 8%,transparent 20%)}.fx.lightning{background:linear-gradient(105deg,transparent 46%,#e7f3ff 46.3% 46.8%,#76baffaa 47% 48%,transparent 48.3%)}.fx.mist{background:radial-gradient(ellipse at 55% 50%,#6acb7655,transparent 35%)}.fx.guardfx{background:radial-gradient(ellipse at 50% 48%,transparent 0 19%,#a9c9ff99 19.4% 20.2%,#4587ed55 21% 24%,transparent 25%)}.fx.heal{background:radial-gradient(circle at 30% 60%,#b6ffcb55,transparent 28%)}.damage-pop{position:absolute;z-index:38;font:900 clamp(38px,7vw,76px) ui-monospace,monospace;color:#f4f1e8;text-shadow:0 7px 20px #000c;opacity:0;pointer-events:none}.damage-pop.cpu{right:18%;top:29%}.damage-pop.player{left:18%;top:58%}.damage-pop.on{animation:dpop .72s ease}@keyframes dpop{0%{opacity:0;transform:translateY(18px) scale(.7)}20%{opacity:1;transform:scale(1.14)}100%{opacity:0;transform:translateY(-34px)}}

/* overlays */
.overlay{position:fixed;inset:0;z-index:100;background:#05070bd9;display:grid;place-items:center;padding:18px}.overlay-card{width:min(920px,96vw);max-height:94vh;overflow:auto;border:1px solid #59636e;background:#10161d;padding:20px}.pack-open-stage{text-align:center;min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center}.sealed-pack{width:230px;height:340px;border:1px solid #78818a;background:linear-gradient(145deg,#35404a,#12181e);box-shadow:0 35px 70px #000;position:relative;display:grid;place-items:center;transition:.4s}.sealed-pack:before,.sealed-pack:after{content:"";position:absolute;left:0;right:0;height:24px;background:repeating-linear-gradient(90deg,#c9b67c 0 3px,#74643d 4px 7px)}.sealed-pack:before{top:0}.sealed-pack:after{bottom:0}.sealed-pack b{font-size:25px;letter-spacing:.15em}.sealed-pack.cue-sr{box-shadow:0 0 38px #8b5bd25c,0 35px 70px #000}.sealed-pack.cue-ssr{box-shadow:0 0 42px #d2b25f7a,0 35px 70px #000}.sealed-pack.cue-hr{box-shadow:0 0 55px #f2e1a77a,0 0 25px #8c6cff55,0 35px 70px #000}.sealed-pack.cue-sp{box-shadow:0 0 70px #b866ff99,0 0 28px #ff8ad366,0 35px 70px #000}.sealed-pack.rip{opacity:0;transform:scale(1.18);filter:brightness(1.8)}.open-hint{margin-top:22px;color:#8e98a3;font-size:10px;letter-spacing:.2em}.pack-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;width:100%}.flip{aspect-ratio:.7;perspective:900px;cursor:pointer}.flip-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:.55s cubic-bezier(.2,.8,.2,1)}.flip.open .flip-inner{transform:rotateY(180deg)}.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden}.flip-back{border:1px solid #4a5560;background:linear-gradient(145deg,#1b242e,#090d12);display:grid;place-items:center}.flip-back:after{content:"MONSTARICA";color:#aa9257;font-weight:950;letter-spacing:.18em}.flip-front{transform:rotateY(180deg)}.pack-result-actions{display:flex;justify-content:center;gap:8px;margin-top:18px}.detail-modal{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:25px}.detail-modal .game-card{width:100%;max-width:360px;margin:auto}.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #353e48;border-bottom:1px solid #353e48;margin:16px 0}.detail-stat{text-align:center;padding:11px;border-right:1px solid #353e48}.detail-stat:last-child{border:0}.detail-stat small{display:block;color:#77818c;font-size:9px}.detail-stat b{font-size:21px}.detail-moves{display:grid;gap:7px}.detail-move{display:grid;grid-template-columns:55px 1fr auto;align-items:center;padding:9px 0;border-bottom:1px solid #282f37;font-size:11px}.result-box{text-align:center;padding:35px}.result-box h1{font-size:45px;margin:0 0 8px}.result-box.win h1{color:#8ade94}.result-box.lose h1{color:#e17a74}.switch-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.switch-choice{border:1px solid #4b5560;background:#11171e;color:white;padding:10px}.switch-choice img{width:100%;height:160px;object-fit:contain}.switch-choice b{display:block}

@media(max-width:900px){
  body{overflow:hidden}.app{grid-template-rows:52px 1fr 62px}.workspace{grid-template-columns:1fr}.rail{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr)}.screen{padding:16px 12px}.topbar{padding:0 9px}.brand{font-size:11px}.topstats{font-size:9px;gap:9px}.topstats span:nth-child(2){display:none}.top-actions .square:first-child{display:none}
  .home-left{left:4%;width:46%;top:6%;bottom:5%}.home-side{display:none}.home-monster{right:-8%;top:10%;width:68%;height:70%}.rank-big{font-size:25px}.home-cards{margin-top:20px}.home-stat{font-size:10px}.big-cta{height:58px}.big-cta b{font-size:18px}.home-shortcuts{grid-template-columns:1fr}
  .pack-layout{grid-template-columns:1fr}.pack-index,.pack-info{display:none}.pack-stage{height:100%}
  .card-grid{grid-template-columns:repeat(3,1fr);gap:7px}.game-card .card-name{font-size:10px}.grade{width:16px;height:14px;font-size:7px}.serial{font-size:7px}
  .deck-layout{grid-template-columns:1fr}.deck-side{order:-1}.loadout-grid{grid-template-columns:1fr 1fr}.load-slot{height:112px;grid-template-columns:76px 1fr}.deck-side .deck-stat:nth-child(n+4){display:none}
  .prebattle-grid{grid-template-columns:1fr}.team-six{grid-template-columns:repeat(3,1fr)}
  .battle-top{height:52px;padding:0 8px}.battle-mon{width:62vw;height:36vh}.battle-mon.cpu{right:-12%;top:8%}.battle-mon.player{left:-12%;top:45%}.hpbox{width:56vw}.hpbox.cpu{left:8px;top:57px}.hpbox.player{right:8px;bottom:150px}.combat-log{display:none}.battle-actions{grid-template-columns:1fr 1fr;gap:6px;bottom:7px}.move-btn{height:58px;padding:7px 9px}.move-btn b{font-size:12px}.clash-cards{grid-template-columns:1fr 36px 1fr;top:43%;gap:4px}.clash-tech{padding:10px 8px}.clash-tech b{font-size:16px}.clash-tech small{font-size:8px}.skill-banner b{font-size:38px}.damage-pop.cpu{right:8%;top:23%}.damage-pop.player{left:8%;top:60%}
  .pack-open-stage{min-height:520px}.pack-cards{grid-template-columns:repeat(3,1fr);max-height:76vh;overflow:auto}.pack-cards .flip:nth-child(4),.pack-cards .flip:nth-child(5){transform:translateX(52%)}.detail-modal{grid-template-columns:1fr}.detail-modal .game-card{max-width:280px}
}
@media(max-width:520px){.card-grid{grid-template-columns:repeat(2,1fr)}.loadout-grid{grid-template-columns:1fr}.title{font-size:24px}.team-card img{height:82px}.pack-cards{gap:6px}.overlay{padding:8px}.overlay-card{padding:12px}}


/* v03 usability: tutorial / grouped collection / contextual detail */
.species-grid{align-items:start}.species-card{aspect-ratio:.7;border:1px solid #4a5561;background:#121820;position:relative;overflow:hidden;cursor:pointer;box-shadow:0 8px 20px #0006;transition:.16s}.species-card:hover{transform:translateY(-3px);border-color:#77818d}.species-art{position:absolute;inset:0 0 23%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 48%,#293744,#121820 65%)}.species-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 12px #0008)}.species-info{position:absolute;left:0;right:0;bottom:0;height:24%;padding:9px;background:#0d1217ed;border-top:1px solid #3c4651}.species-info b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.species-info small{display:block;margin-top:5px;color:#7f8993;font-size:9px}.copy-count{position:absolute;right:8px;bottom:27%;z-index:4;background:#e7e1d5;color:#11151a;font:950 13px ui-monospace,monospace;padding:4px 7px;box-shadow:0 4px 12px #0008}.instance-picker{max-width:1050px}.instance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:15px}.instance-card{border:1px solid #333c46;background:#0c1117;color:white;padding:8px;cursor:pointer;text-align:left}.instance-card:hover{border-color:#7b858f;background:#141a21}.instance-card .game-card{width:100%}.instance-caption{font:700 9px ui-monospace,monospace;color:#9aa4ae;margin-top:8px;text-align:center}
.pack-detail-hint{position:absolute;right:7px;bottom:7px;z-index:5;background:#0a0e12dd;border:1px solid #56616c;padding:4px 6px;font-size:7px;font-weight:950;letter-spacing:.12em;color:#d9d6ce}.flip.open{cursor:zoom-in}
.move-btn{padding-right:51px}.move-btn em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.move-info{position:absolute;right:6px;top:8px;border:1px solid #53606c;color:#9ba5af;padding:3px 4px;font-size:7px;letter-spacing:.08em;z-index:4}.battle-detail-target{cursor:zoom-in}.bench .battle-detail-target:hover{outline:1px solid #a59a7c}.quick-card-detail{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:24px;align-items:center}.quick-card-detail.public{grid-template-columns:minmax(220px,320px) 1fr}.quick-art{height:360px;display:grid;place-items:center;background:radial-gradient(circle,#293744,#11171d 70%);border:1px solid #3f4954}.quick-art img{width:100%;height:100%;object-fit:contain}.detail-moves.rich .detail-move{width:100%;background:none;color:white;border:0;border-bottom:1px solid #282f37;text-align:left;grid-template-columns:55px 1fr auto;cursor:pointer}.detail-move.clickable em{grid-column:2/4;color:#7f8994;font-size:9px;font-style:normal;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-detail{width:min(620px,94vw)}.skill-detail-head{border-left:6px solid var(--type);padding-left:15px}.skill-detail-head span{color:var(--type);font-size:11px;font-weight:950;letter-spacing:.17em}.skill-detail-head h2{margin:5px 0 0;font-size:27px}.skill-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #343e48;border-bottom:1px solid #343e48;margin-top:18px}.skill-detail-grid>div{text-align:center;padding:12px;border-right:1px solid #343e48}.skill-detail-grid>div:last-child{border:0}.skill-detail-grid small{display:block;color:#78828d;font-size:8px}.skill-detail-grid b{display:block;margin-top:4px}.skill-effect{font-size:12px;line-height:1.8;color:#d4d8dc}
.tutorial-overlay{background:#05070be8}.tutorial-card{width:min(760px,95vw);border:1px solid #59636e;background:#10161d;padding:28px;box-shadow:0 30px 80px #000}.tutorial-card h1{font-size:clamp(25px,4vw,40px);margin:8px 0 14px}.tutorial-card p{color:#a8b0b9;line-height:1.8;font-size:13px}.tutorial-progress{float:right;color:#756f61;font:800 10px ui-monospace,monospace;letter-spacing:.15em}.tutorial-flow{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:24px 0;padding:14px;border-top:1px solid #333d47;border-bottom:1px solid #333d47;font-size:10px;font-weight:950;letter-spacing:.08em}.tutorial-flow i{color:#59636d;font-style:normal}.tutorial-triangle{display:flex;align-items:center;justify-content:center;gap:12px;margin:26px 0;font-size:20px}.tutorial-triangle span{color:#5d6670}.t-red{color:var(--red)}.t-green{color:var(--green)}.t-blue{color:var(--blue)}.tutorial-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.tutorial-actions.two{grid-template-columns:1fr 1fr}.tut-action{height:68px;background:#121820;color:white;border:1px solid #45505c;font-weight:950;cursor:pointer;border-top:4px solid}.tut-action.red{border-top-color:var(--red)}.tut-action.green{border-top-color:var(--green)}.tut-action.blue{border-top-color:var(--blue)}.tut-action.neutral{border-top-color:#a7afb7}.tut-action.support{border-top-color:#d1ba78}.tutorial-message{background:#211b14;border-left:3px solid #c6a65b;padding:10px 12px;color:#dbcda8;font-size:11px}.tutorial-clash{display:grid;grid-template-columns:1fr 55px 1fr;gap:10px;align-items:center;margin:24px 0}.tc{padding:18px;border:1px solid #4d5762;background:#141a21;text-align:center;border-top:5px solid}.tc.red{border-top-color:var(--red)}.tc.green{border-top-color:var(--green)}.tc.lose{opacity:.45;transform:translateX(14px)}.tc-vs{text-align:center;font-weight:950;color:#737d87}
@media(max-width:900px){.quick-card-detail,.quick-card-detail.public{grid-template-columns:1fr}.quick-card-detail .game-card{max-width:260px;margin:auto}.quick-art{height:260px}.instance-grid{grid-template-columns:repeat(2,1fr)}.move-btn em{font-size:8px}.tutorial-card{padding:20px}.tutorial-actions{gap:6px}.tut-action{height:60px}.tutorial-flow{font-size:8px}.copy-count{font-size:11px}.species-info b{font-size:10px}}
.detail-move.full{grid-template-columns:55px 1fr auto}.detail-move.full em{grid-column:2/4;color:#8d96a0;font-size:9px;font-style:normal;line-height:1.55;margin-top:3px}
.detail-target{cursor:zoom-in}.load-slot,.team-card{position:relative}.slot-detail,.prep-detail{position:absolute;right:6px;top:6px;z-index:6;border:1px solid #505b66;background:#0b1016d9;color:#9da7b1;padding:3px 5px;font-size:7px;font-weight:950;letter-spacing:.08em;cursor:zoom-in}.prep-detail{right:5px;top:5px}.home-monster.detail-target:hover{filter:drop-shadow(0 28px 25px #000a) brightness(1.05)}

/* v04 : in-battle guided tutorial / toggleable battle event log */
.battle-log-toggle{position:absolute;z-index:29;right:18px;top:68px;padding:9px 14px;border:1px solid #5f6b78;background:#10161fe5;color:#f2efe6;font-size:12px;font-weight:900;letter-spacing:.06em}
.battle-log-toggle span{font-size:9px;color:#a0a8b1;margin-left:5px}
.battle-log-panel{position:absolute;z-index:41;right:16px;top:111px;width:min(338px,calc(100vw - 32px));max-height:min(57vh,500px);display:flex;flex-direction:column;border:1px solid #56616f;background:#0c1119f5;box-shadow:0 24px 45px #000b;opacity:0;pointer-events:none;transform:translateX(16px);transition:opacity .2s,transform .2s}
.battle-log-panel.open{opacity:1;pointer-events:auto;transform:translateX(0)}
.battle-log-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #384350;padding:12px 14px;font-size:13px}
.battle-log-title button{border:0;background:none;color:#bbc2ca;font-size:19px}
.battle-log-history{overflow-y:auto;padding:10px 14px;min-height:70px;max-height:325px;overscroll-behavior:contain}
.battle-log-entry{padding:9px 0;border-bottom:1px solid #29323d;color:#c1c8d1;font-size:11px;line-height:1.5}
.battle-log-disclaimer{margin:0;padding:10px 14px;color:#8994a0;border-top:1px solid #2c3642;font-size:10px;line-height:1.6}
.tutorial-hud{position:absolute;z-index:26;left:18px;top:160px;width:min(380px,43vw);padding:16px 18px 14px;border:1px solid #786b4e;border-left:4px solid #c1a361;background:#0e141ce8;box-shadow:0 12px 30px #0006;pointer-events:none}
.tutorial-guide-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#c4af7f;font-weight:900;letter-spacing:.05em}
.tutorial-guide-head button{pointer-events:auto;border:1px solid #4d5865;background:#18212b;color:#a6b1bd;padding:6px 9px;font-size:10px;cursor:pointer}
.tutorial-hud>b{display:block;margin:9px 0 6px;font-size:16px;letter-spacing:.02em}
.tutorial-hud p{margin:0 0 9px;color:#d1d6db;font-size:12px;line-height:1.75}
.tutorial-hud small{display:block;color:#a08e70;font-size:10px}
.move-btn.tutorial-highlight{outline:2px solid #d5bc77;outline-offset:2px;box-shadow:0 0 0 5px #bd9e4820}
.tutorial-end{max-width:540px!important}.tutorial-end h1{font-size:clamp(24px,4vw,38px)}.tutorial-end p{color:#bdc5ce;font-size:13px;line-height:1.8}
@media(max-width:900px){
 .battle-log-toggle{top:57px;right:8px;padding:7px 11px}
 .battle-log-panel{right:7px;top:91px;width:min(350px,calc(100vw - 14px));max-height:55vh}
 .tutorial-hud{top:110px;left:8px;width:min(62vw,340px);padding:11px 12px}
 .tutorial-hud>b{font-size:13px;margin:5px 0}
 .tutorial-hud p{font-size:10px;line-height:1.6}
 .tutorial-hud small{font-size:9px}
}
@media(max-width:520px){
 .tutorial-hud{top:157px;width:65vw;max-height:180px;overflow-y:auto}
 .battle-log-panel{max-height:52vh}
 .battle-log-history{max-height:calc(52vh - 104px)}
}

/* Pack: touch and mouse-friendly continuous reveal; readable controls at all sizes. */
.pack-reveal-heading{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:10px;width:100%}
.pack-reveal-heading .eyebrow{font-size:13px;letter-spacing:.12em;color:#e8e2d5}
#pack-progress{font:800 12px ui-monospace,monospace;color:#c1ae7a}
.pack-reveal-instructions{font-size:11px;line-height:1.7;color:#aab2bc;margin:0 0 16px;text-align:center}
.pack-cards{touch-action:pan-y;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain}
.flip{position:relative;-webkit-tap-highlight-color:transparent;touch-action:pan-y}
.flip:focus-visible{outline:2px solid #e4cca0;outline-offset:3px}
.pack-reveal-controls{display:flex;justify-content:center;margin-top:17px;min-height:42px}
.pack-reveal-controls .btn{min-height:40px;min-width:180px}
.pack-detail-hint{display:none;position:absolute;right:7px;bottom:7px;z-index:12;font-size:10px;padding:7px 9px;min-height:28px;letter-spacing:0;color:#f2ecda;background:#161b21f0;border-color:#958458;cursor:pointer}
.flip.open .pack-detail-hint{display:block}
.flip.open{cursor:pointer}
@media(max-width:900px){
 .pack-reveal-instructions{max-width:380px;padding:0 12px;font-size:10px}
 .pack-reveal-controls{margin-top:10px}
 .pack-detail-hint{padding:5px 7px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.flip-inner{transition-duration:.08s}}

/* モンスタリカ v07：5つの固定ナビとカード／図鑑／合成 */
.brand{font-size:18px;letter-spacing:.06em;white-space:nowrap}.brand-mark{font-size:8px;letter-spacing:.24em;font-weight:700;color:#a4aeb9;margin-left:8px;vertical-align:middle}
.mobile-nav button{font-size:clamp(10px,2.6vw,12px);padding:10px 1px;white-space:nowrap}
.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
.hub-tabs{display:flex;gap:0;border-bottom:1px solid #404a55;margin:0 0 22px;overflow:auto;white-space:nowrap}
.hub-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#9ba5b2;font-size:13px;font-weight:900;padding:11px 18px;cursor:pointer}
.hub-tabs button.active{color:#f1ece3;border-bottom-color:#4c91f6;background:#17212c}
.hub-tabs small{font-size:10px;color:#8a97a8}
.atlas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px;padding-bottom:20px}
.atlas-entry{height:112px;display:flex;align-items:center;text-align:left;padding:8px;gap:10px;border:1px solid #33404c;background:#141b23;color:#e7e7e7;cursor:pointer;min-width:0}
.atlas-thumb{width:78px;height:94px;flex-shrink:0;display:grid;place-items:center;background:#202a34;overflow:hidden}
.atlas-thumb img{width:100%;height:100%;object-fit:contain}
.atlas-thumb span{font:900 34px ui-monospace,monospace;color:#68727c}
.atlas-label{display:grid;gap:5px;min-width:0}.atlas-label small{font-size:10px;color:#768693}.atlas-label b{font-size:12px;overflow:hidden;text-overflow:ellipsis}.atlas-label em{font-style:normal;color:#dfc988;font-size:11px}
.atlas-entry.unknown{opacity:.62;cursor:default}
.fusion-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.fusion-pane{padding:16px;min-width:0}
.fusion-selected{height:270px;display:grid;place-items:center;border:1px dashed #4b5560;margin-bottom:13px;background:#0f151c;overflow:hidden}
.fusion-selected>.game-card{height:247px;width:174px;flex:0 0 auto;transform:none}
.fusion-selected>.empty-card{display:grid;place-items:center;width:100%;height:100%;color:#7d8996;border:0}
.fusion-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:7px;max-height:270px;overflow:auto}
.fusion-mini{height:112px;border:1px solid #3c4855;background:#151c23;color:#e9e8e4;padding:5px;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:1fr 1fr;gap:2px 5px;align-items:center;text-align:left;cursor:pointer}
.fusion-mini img{width:46px;height:88px;grid-row:span 2;object-fit:contain}.fusion-mini span{font-weight:850;font-size:11px;overflow-wrap:anywhere}.fusion-mini small{font:9px ui-monospace,monospace;color:#9eabb7}
.fusion-mini.chosen{border-color:#58a2f5;background:#1c2b39}.fusion-mini.blocked{opacity:.22;filter:grayscale(1);cursor:not-allowed}
.fusion-bottom{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:16px;margin-bottom:28px}.fusion-bottom p{max-width:620px;line-height:1.7}
.shop-feature{margin-top:14px;display:grid;grid-template-columns:1fr 240px;gap:16px;align-items:center;min-height:260px;padding:30px;background:linear-gradient(115deg,#1d2732,#0f151c)}
.shop-feature h2{font-size:clamp(20px,3vw,32px)}.shop-pack-art{aspect-ratio:.7;max-width:180px;display:grid;place-items:center;background:linear-gradient(135deg,#414b58,#17212c);border:1px solid #8b97a3;color:#e9ddbd;font-weight:900;letter-spacing:.08em;transform:rotate(-5deg);box-shadow:0 15px 35px #0009}.shop-pack-art small{display:block;font-size:10px}
.sale-card .game-card{width:100%}.sale-card>.btn{width:100%;margin-top:4px;font-size:12px}
.settings-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.battle-mode-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}
.mode-item{display:block;text-align:left;border:1px solid #43505e;padding:13px;background:#15202a;color:#eee;min-height:76px;cursor:pointer}
.mode-item b,.mode-item small{display:block}.mode-item b{font-size:14px}.mode-item small{font-size:10px;color:#9ca8b4;margin-top:6px}.mode-item.disabled{opacity:.55;background:#15181d;cursor:default}
@media(max-width:900px){.brand{font-size:14px}.brand-mark{display:none}.fusion-layout{grid-template-columns:1fr 1fr;gap:8px}.fusion-pane{padding:9px}.fusion-selected{height:220px}.fusion-selected>.game-card{height:202px;width:142px}.fusion-library{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px}.fusion-mini{height:93px;grid-template-columns:32px minmax(0,1fr)}.fusion-mini img{width:32px;height:74px}.fusion-mini span{font-size:9px}.fusion-mini small{font-size:8px}.fusion-bottom{padding:12px}.atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.topstats span:nth-child(1),.topstats span:nth-child(2){display:none}.hub-tabs button{padding:11px 13px}.fusion-layout{grid-template-columns:1fr}.fusion-selected{height:195px}.fusion-selected>.game-card{height:177px;width:125px}.fusion-library{grid-template-columns:repeat(3,minmax(0,1fr));max-height:185px}.fusion-mini{display:flex;flex-direction:column;height:115px;text-align:center}.fusion-mini img{height:66px;width:70px}.fusion-mini span{max-width:100%;font-size:9px}.fusion-mini small{display:none}.fusion-bottom{align-items:stretch;flex-direction:column}.shop-feature{grid-template-columns:1fr 110px;padding:13px}.shop-pack-art{width:100px}.atlas-entry{height:98px}.atlas-thumb{width:58px;height:80px}.atlas-label b{font-size:10px}}

/* v09: 未発見シルエット / 上部ナビゲーション / 専用モーダル / その他 */
.brand-zone{display:flex;align-items:center;gap:12px;min-width:0}.brand{min-width:0}.back-top{display:inline-flex;align-items:center;gap:5px;border:1px solid #364755;background:#14202c;color:#dde6f0;border-radius:4px;padding:7px 11px;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}.back-top:hover,.back-top:focus-visible{background:#263e52;border-color:#4c91f6}.back-top:first-letter{font-size:20px}
.atlas-entry.unknown{opacity:1;cursor:default;border-color:#273440;background:#10161e}.atlas-entry.unknown .atlas-thumb{background:radial-gradient(circle,#526374,#344251 64%,#202b36)}.atlas-thumb img.mystery{filter:brightness(0) saturate(0)!important;opacity:.94;object-fit:contain}.atlas-entry.unknown .atlas-label b{color:#98a5b3;letter-spacing:.1em}.atlas-entry.unknown .atlas-label small{color:#8c9cae}
.more-menu{max-width:580px;padding:23px}.more-menu h2,.more-page h2{font-size:26px;margin:5px 44px 20px 0}.more-options{display:grid;gap:6px}.more-options button{display:grid;grid-template-columns:1fr auto;text-align:left;align-items:center;gap:3px;padding:14px 16px;color:#dce7f2;background:#16222d;border:1px solid #2b3b4a;cursor:pointer}.more-options button:hover{background:#1d3244;border-color:#558cc8}.more-options strong{font-size:14px}.more-options small{font-size:11px;color:#8ea0b2;grid-column:1}.more-options span{grid-row:1/3;grid-column:2;font-size:24px;color:#7ca8dc}.more-page{max-width:760px;padding:25px}.rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.rule-grid article{background:#14202a;border-left:2px solid #4c91f6;padding:14px 16px}.rule-grid article h3{font-size:14px;margin:0 0 7px;color:#e3edf7}.rule-grid article p{margin:0;color:#b0becc;font-size:12px;line-height:1.8}.more-return{position:sticky;top:0;float:right;border:1px solid #3d5870;color:#d9eafa;background:#182a3b;padding:9px 12px;cursor:pointer;margin-top:12px}.profile-card{display:flex;align-items:center;gap:16px;border:1px solid #3c5063;padding:16px;background:#132334;margin-bottom:17px}.profile-card h3{margin:5px 0;font-size:22px}.profile-card p{font-size:12px;color:#96a6b7}.profile-avatar{width:64px;height:64px;border:1px solid #5882b2;display:grid;place-items:center;font-size:34px}.field-label{display:block;margin:12px 0 6px;color:#afc2d5;font-size:12px}.profile-icons{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:17px}.profile-icon{width:44px;height:44px;border:1px solid #334456;background:#15212d;color:#d6e5f5;font-size:21px;cursor:pointer}.profile-icon.selected{border:2px solid #62a2f4;background:#203d5c}
.overlay-top-close{position:sticky;top:0;float:right;z-index:30;display:grid;place-items:center;width:34px;height:34px;border:1px solid #435b73;background:#182738;color:#e0ebf6;font-size:25px;line-height:1;margin:-8px -7px 0 9px;cursor:pointer}.overlay-top-close:hover{background:#2a465e}
.decision-shade{z-index:250}.decision-card{max-width:460px;padding:29px 25px;overflow:visible}.decision-mark{font-size:27px;color:#71abeb}.decision-card h2{font-size:22px;margin:10px 0}.decision-card p{color:#bac6d2;font-size:13px;line-height:1.9;white-space:normal}.decision-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:25px}.decision-actions .btn{min-width:110px}.btn.danger{background:#512c31;color:#ffe7e7;border-color:#a85e69}
/* all in-game scroll containers have one deliberate, compact scrollbar style */
*{scrollbar-width:thin;scrollbar-color:#456683 #101923}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#101923}::-webkit-scrollbar-thumb{background:#456683;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#6b93bb}
@media(max-width:900px){.brand-zone{gap:5px}.back-top{font-size:10px;padding:6px 7px}.back-top span{display:none}.brand{font-size:13px!important}.rule-grid{grid-template-columns:1fr}.more-menu,.more-page{padding:16px}.more-options button{padding:11px 12px}}
@media(max-width:520px){.back-top{padding:4px 8px;font-size:18px}.brand-mark{display:none}.topstats{font-size:10px}}

/* 「その他」がスマホでも操作できる */
@media(max-width:900px){.top-actions .square:first-child{display:grid!important;place-items:center}.topbar{grid-template-columns:auto minmax(0,1fr) auto}.topstats{justify-content:flex-end}}
@media(max-width:540px){.more-return{float:none;display:block;margin:0 40px 15px 0}.atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Updated card backs and narrow-pane messages */
.flip-back:after{font-size:clamp(8px,1vw,13px);letter-spacing:.045em}
.fusion-empty-note{grid-column:1/-1;display:block;min-width:0;padding:12px 5px;color:#aeb9c5;line-height:1.65;font-size:11px;text-align:center;white-space:normal;word-break:normal}
/* MONSTARICA v10: fixed viewports, scrolling only in collections/lists */
:root{--brass:#428de9}
.app{height:100dvh;grid-template-rows:58px minmax(0,1fr) 0}
.workspace,.content{min-height:0;overflow:hidden}
.rail{min-height:0}
.screen.active:has(.atlas-grid),
.screen.active:has(.species-grid),
.screen.active:has(.deck-layout),
.screen.active:has(.fusion-layout),
.screen.active:has(.prebattle-grid),
.screen.active:has(.sale-card){display:flex;flex-direction:column;min-height:0;overflow:hidden}
.screen:has(.atlas-grid)>.atlas-grid,.screen:has(.species-grid)>.species-grid,
.screen:has(.sale-card)>.card-grid{flex:1;min-height:0;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding:5px 5px 24px 1px}
.screen:has(.atlas-grid)>.hub-tabs,.screen:has(.species-grid)>.hub-tabs{flex-shrink:0}
.screen:has(.deck-layout)>.deck-layout{margin-top:10px!important;flex:1;min-height:0;overflow:hidden}
.deck-layout>div:first-child{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:5px}
.deck-side{min-height:0;overflow-y:auto}
.screen:has(.fusion-layout)>.fusion-layout{flex:1;min-height:0;margin:12px 0;overflow:hidden}
.fusion-pane{min-height:0;display:flex;flex-direction:column}
.fusion-selected{height:clamp(115px,26vh,265px);flex-shrink:0}
.fusion-selected>.game-card{height:min(245px,25vh);width:auto;aspect-ratio:.7}
.fusion-library{max-height:none;min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;align-content:start}
.fusion-bottom{flex-shrink:0;margin-bottom:0}
.screen:has(.prebattle-grid)>.prebattle-grid{flex:1;min-height:0;overflow:hidden}
.team-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.screen:has(.prebattle-grid)>.center-actions{flex-shrink:0;margin-top:10px}
.overlay-card{position:relative}
.overlay-top-close{position:fixed!important;top:max(12px,env(safe-area-inset-top))!important;right:max(12px,env(safe-area-inset-right))!important;z-index:410!important;margin:0!important;float:none!important;border:1px solid #7190a8;background:#0a1421e8;width:40px;height:40px;display:grid;place-items:center;box-shadow:0 7px 22px #0009}
.pack-open-stage{min-height:0;max-height:min(94dvh,820px);overflow:hidden;padding-top:42px}
.pack-reveal-heading,.pack-reveal-instructions,.pack-reveal-controls,.pack-result-actions{flex-shrink:0}
.pack-cards{min-height:0;max-height:60dvh;overflow-y:auto;overscroll-behavior:contain;align-content:start}
.pack-result-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-profile-title{margin-left:9px;color:#8ab7f2;font-weight:700;font-size:10px}
.home-bg[data-scene="night"]{background:radial-gradient(circle at 68% 34%,#38465e,#171b2c 45%,#07090e 80%)}
.home-bg[data-scene="forest"]{background:radial-gradient(circle at 62% 34%,#285647,#19352c 43%,#07120f 80%)}
.home-bg[data-scene="arena"]{background:radial-gradient(circle at 70% 42%,#475769,#252b34 44%,#10151b 80%)}
.brand{font-size:clamp(13px,1.6vw,20px);font-weight:950;letter-spacing:.10em}
.rank-big{letter-spacing:.035em;white-space:nowrap}
.more-page{height:min(88dvh,760px);display:flex;flex-direction:column;overflow:hidden!important}
.more-page>.more-sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.more-page>.more-return{align-self:flex-start;position:static;float:none;margin:0 0 8px;flex-shrink:0}
.more-page>h2,.more-page>.eyebrow{flex-shrink:0}
.profile-editor{min-height:0;display:flex;flex-direction:column;height:100%}
.profile-card{flex-shrink:0;margin-bottom:7px}
.profile-body-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 3px 10px 0}
.profile-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.profile-choice-list{display:flex;gap:7px;flex-wrap:wrap}
.profile-choice{padding:8px 10px;background:#151f2b;border:1px solid #384a5f;color:#c9d7e5;font-size:11px;cursor:pointer}
.profile-choice.selected,.profile-monster-option.selected{border:2px solid #58a6ff;background:#152b40;color:#fff}
.profile-monster-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:6px;max-height:225px;min-height:90px;overflow-y:auto;overscroll-behavior:contain;padding:3px}
.profile-monster-option{min-width:0;display:grid;grid-template-columns:45px 1fr;gap:2px 6px;text-align:left;align-items:center;background:#151f29;color:#e6edf8;border:1px solid #33475c;padding:5px;cursor:pointer}
.profile-monster-option img{height:62px;width:45px;object-fit:contain;grid-row:span 2}
.profile-monster-option b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-monster-option small{font-size:8px;color:#9caebf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-editor-actions{flex-shrink:0;border-top:1px solid #344254;padding:10px 0 2px;display:flex;justify-content:flex-end}
.battle-mode-list .mode-item.advanced{border-color:#477ec3;background:#15283a}
@media(max-width:900px){
 .app{grid-template-rows:52px minmax(0,1fr) calc(62px + env(safe-area-inset-bottom))}
 .mobile-nav{padding-bottom:env(safe-area-inset-bottom)}
 .screen{padding:13px 11px}
 .screen:has(.fusion-layout)>.fusion-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .fusion-pane{padding:7px}.fusion-mini{height:85px;grid-template-columns:30px minmax(0,1fr);gap:0 2px}
 .fusion-mini img{width:30px;height:71px}.fusion-mini span{font-size:9px}.fusion-mini small{font-size:7px}
 .fusion-selected{height:clamp(120px,22vh,192px)}.fusion-selected>.game-card{height:clamp(108px,20vh,175px)}
 .fusion-bottom{padding:10px;gap:7px}.fusion-bottom p{font-size:10px}.fusion-bottom .btn{white-space:nowrap}
 .screen:has(.prebattle-grid)>.prebattle-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}
 .team-panel{padding:8px}.team-six{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
 .team-card{padding:3px;min-height:92px}.team-card img{height:65px}.team-card b{font-size:8px}
 .profile-form-row{grid-template-columns:1fr}.profile-monster-scroll{max-height:170px}
 .pack-open-stage{padding-top:40px}.pack-cards{max-height:56dvh}
 .home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
 .brand{font-size:12px!important;letter-spacing:.035em}
 .rank-big{font-size:clamp(19px,5vw,29px)!important}
 .home-cards{margin-top:15px}.home-stat{padding:6px 0}
 .topstats{gap:5px}.topstats span:first-child{display:none}
 .team-six{grid-template-columns:repeat(3,minmax(0,1fr))}.team-card{min-height:94px}
 .profile-monster-scroll{grid-template-columns:repeat(2,minmax(0,1fr))}
 .overlay-card.more-page{max-height:90dvh;height:90dvh}
 .pack-cards{max-height:52dvh}
}

/* Scoped to non-battle screens: no changes to combat or match preparation. */
.lobby-ui .species-grid,.lobby-ui .deck-owned-grid{grid-auto-rows:max-content}
.lobby-ui .species-card{min-height:0;width:100%}
body.lobby-ui{--ink:#f1f5fb;--muted:#98a9bf;--line:#2a3a50;--panel:#111c2b;--brass:#4b9aff;background:#080f1b}
.lobby-ui button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.lobby-ui button:focus-visible,.lobby-ui [tabindex]:focus-visible{outline:2px solid #8dc8ff;outline-offset:3px}
.lobby-ui .app{grid-template-rows:72px minmax(0,1fr) 82px;background:radial-gradient(ellipse at 70% 10%,#16273f,#090f1a 65%)}
.lobby-ui .topbar{grid-template-columns:1fr auto auto;gap:20px;background:#0a1220e8;padding:0 34px;border-bottom-color:#ffffff12}
.lobby-ui .brand{font-size:19px!important;letter-spacing:.14em;color:#f5f8ff}.lobby-ui .brand-zone{gap:20px}.page-location{border-left:1px solid #3a485c;padding-left:20px;font-size:12px;color:#9baec6}
.lobby-currency{display:flex;align-items:center;gap:14px;min-width:120px;justify-content:space-between;background:#ffffff07;border:1px solid #ffffff18;padding:9px 15px;border-radius:20px;font-size:14px;font-variant-numeric:tabular-nums}.lobby-currency>span{border:1px solid #88baff;border-radius:50%;font-size:10px;color:#a6cbff;width:20px;height:20px;display:grid;place-items:center}
.profile-access{background:#17263a;color:#bbdaff;border:1px solid #3a5477;border-radius:50%;width:38px;height:38px;font-size:22px}
.lobby-ui .workspace{display:block}.lobby-ui .content{height:100%}.lobby-ui .screen{padding:26px 4%;max-width:1700px;margin:auto}.lobby-ui .title{font-size:28px}.lobby-ui .eyebrow{color:#7faddc;font-size:10px;letter-spacing:.17em}.lobby-ui .sub{font-size:12px;line-height:1.65}
.lobby-ui .btn{border-radius:8px;min-height:44px;background:#19283b;border-color:#3b4e66;font-size:13px}.lobby-ui .btn.primary{background:#287be7;border-color:#4d9bff;color:#fff;box-shadow:0 6px 22px #0757c22b}.lobby-ui .btn:hover{filter:brightness(1.15)}.lobby-ui .btn:disabled{box-shadow:none}
.lobby-ui .panel{border-radius:12px}.lobby-nav{display:flex;justify-content:center;gap:12px;padding:8px 25px max(8px,env(safe-area-inset-bottom));background:#0c1422ed;border-top:1px solid #ffffff16;z-index:50}.lobby-nav button{width:170px;border:0;border-top:2px solid transparent;background:transparent;color:#8193ac;display:flex;align-items:center;justify-content:center;gap:13px;font-weight:750;font-size:13px;border-radius:7px}.lobby-nav svg{width:23px;height:23px}.lobby-nav button.active{color:#b5d9ff;background:linear-gradient(#2679e42b,#15305b17);border-top-color:#55a8ff}.lobby-nav button:hover{background:#213c5a66;color:white}
.lobby-home .home-bg{background:radial-gradient(ellipse at 65% 45%,#20456c 0%,#122941 29%,#0c1829 56%,#080e19 90%)}.lobby-home .home-bg:after{pointer-events:none;background:linear-gradient(0deg,#070e1cf0 0,transparent 38%),repeating-linear-gradient(120deg,transparent 0 180px,#72b4ff08 181px 182px);opacity:1}
.hero-orbit{position:absolute;left:40%;top:5%;width:52%;height:90%;border-radius:50%;border:1px solid #97d7ff14;transform:rotate(-25deg);box-shadow:0 0 100px #389df20c,inset 0 0 70px #3b95e809}.hero-orbit:after{content:'';position:absolute;inset:10%;border:1px solid #97d7ff12;border-radius:50%}
.hero-monster{position:absolute;right:8%;top:2%;width:52%;height:90%;z-index:2;border:0;background:transparent;padding:0;cursor:pointer}.hero-monster img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 25px #0008)}
.home-player{position:absolute;top:26px;left:4%;z-index:4;display:flex;align-items:center;gap:12px;min-width:235px;text-align:left;background:#0a1524a8;border:1px solid #7cabd02b;color:#edf5ff;padding:12px 16px;border-radius:10px}.player-emblem{font-size:27px;color:#a5cfff}.home-player small{display:block;color:#87a7cb;font-size:10px;margin-bottom:4px}.home-player b{font-size:14px}.home-player i{font-style:normal;margin-left:auto;font-size:24px;color:#89a7c8}
.home-heading{position:absolute;left:4%;top:24%;z-index:3}.home-heading h1{font-size:clamp(24px,2.5vw,40px);font-weight:650;line-height:1.65;letter-spacing:.07em;margin:13px 0 22px}.collection-progress{border:0;background:transparent;color:#cad8e8;text-align:left;width:240px;padding:0;font-size:11px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.collection-progress b{font-size:18px;color:#edf4fc}.collection-progress small{font-size:11px;color:#7992b0;font-weight:500}.collection-progress>i{grid-column:1/-1;background:#4d6e9133;height:3px}.collection-progress em{display:block;height:100%;background:#5baaff;min-width:3px}
.hero-caption{position:absolute;right:4%;bottom:9%;z-index:3;text-align:right;display:grid;gap:7px}.hero-caption small{font-size:10px;color:#7fb5df;letter-spacing:.2em}.hero-caption b{font-size:25px;letter-spacing:.06em;font-weight:600}.hero-caption span{font-size:10px;color:#7f96b1}
.home-controls{position:absolute;left:4%;bottom:5%;width:min(430px,38%);z-index:4}.lobby-battle{width:100%;height:78px;display:flex;justify-content:space-between;align-items:center;padding:12px 25px;border:1px solid #73bbff;background:linear-gradient(115deg,#1859ce,#328ef6);color:#fff;border-radius:10px;box-shadow:0 10px 40px #075bb33b;text-align:left}.lobby-battle small{display:block;font-size:10px;letter-spacing:.24em;color:#bcdfff;margin-bottom:5px}.lobby-battle b{font-size:24px;letter-spacing:.1em}.lobby-battle i{font-size:32px;font-style:normal;font-weight:300}.lobby-battle:hover{filter:brightness(1.12)}
.lobby-home .home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.lobby-home .home-shortcuts button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;background:#111f32db;border:1px solid #43668a55;color:#c2d4e9;font-size:11px;border-radius:8px}.home-shortcuts svg{width:19px;height:19px;color:#8bb8e8}.lobby-home .home-shortcuts button:hover{background:#25436b}.mail-dot{position:absolute;right:6px;top:3px;background:#328eff;color:white;min-width:16px;border-radius:10px;padding:1px 3px;font-size:9px;font-style:normal}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.page-heading h1{font-size:27px;margin:5px 0 0;font-weight:700;letter-spacing:.03em}.page-heading>span{font-size:12px;color:#a8bfdc}.page-heading>span b{font-weight:500;color:#758ca8}.lobby-ui .hub-tabs{flex-shrink:0;margin:0 0 18px;gap:5px;border-bottom:1px solid #33435b;overflow:visible}.lobby-ui .hub-tabs button{padding:12px 24px;font-size:13px;border-radius:8px 8px 0 0}.lobby-ui .hub-tabs button.active{background:#2761a326;color:#cde6ff;border-bottom-color:#5aaeff}.lobby-ui .toolbar{margin:16px 0 10px}.lobby-ui .search{border-radius:8px;min-width:0;height:44px;background:#101e31;border-color:#364a64;font-size:13px}.sort-label{font-size:11px;color:#869fbd;padding:0 8px;white-space:nowrap}.rarity-filters{display:flex;gap:6px;flex-shrink:0;overflow-x:auto;padding:1px 0 12px}.rarity-filters button{padding:7px 14px;border:1px solid #2b415e;border-radius:6px;background:#112036;color:#90aac9;font-size:11px;white-space:nowrap}.rarity-filters button.active{background:#285990;border-color:#559de6;color:white}
.lobby-ui .species-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:15px}.lobby-ui .species-card{border-radius:10px;border-color:#385371;max-width:260px}.lobby-ui .species-card:hover{border-color:#70b6ff;transform:translateY(-2px)}.lobby-ui .species-art{background:radial-gradient(ellipse at 50% 45%,#244767,#101e31 75%)}.lobby-ui .species-info{background:#0c1829f5;border-top-color:#30465f;padding:12px}.lobby-ui .species-info b{font-size:13px}.lobby-ui .species-info small{font-size:10px;color:#9bafc7}.lobby-ui .copy-count{border-radius:5px;background:#d0e8ff}.collection-empty{grid-column:1/-1;padding:40px;text-align:center;color:#9aadc5}
.lobby-ui .atlas-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:16px}.lobby-ui .atlas-entry{border-radius:10px;height:125px}.lobby-ui .atlas-entry b{font-size:12px}.lobby-ui .atlas-entry.unknown .atlas-thumb{border-radius:8px}
.lobby-ui .deck-screen{display:flex;flex-direction:column;overflow:hidden}.deck-summary{display:flex;justify-content:space-between;gap:8px;margin:15px 0 10px;flex-shrink:0;font-size:12px;color:#bdd0e7}.deck-summary span{font-size:11px;color:#8da4bf}.lobby-ui .fixed-loadout{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;flex-shrink:0}.lobby-ui .fixed-loadout .load-slot{display:flex;flex-direction:column;position:relative;height:clamp(100px,20vh,185px);border-radius:8px}.lobby-ui .fixed-loadout .load-slot img{min-height:0;flex:1;background:radial-gradient(ellipse,#284b6b,#101c2e)}.lobby-ui .fixed-loadout .info{padding:7px;text-align:center;flex-shrink:0}.lobby-ui .fixed-loadout .info b{font-size:11px;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lobby-ui .fixed-loadout .slot-detail{position:absolute;top:3px;right:3px;left:auto;font-size:10px;padding:6px;background:#0b1931cf;border-radius:5px;color:#b9dbff;cursor:pointer}.lobby-ui .fixed-loadout .empty-card{height:clamp(100px,20vh,185px);border:1px dashed #3c526c;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#55708e;background:#0b1524}.fixed-loadout .empty-card span{font-size:24px}.fixed-loadout .empty-card small{font-size:10px}.lobby-ui .deck-owned-grid{overflow:auto;flex:1;min-height:0;align-content:start;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));padding:4px 5px 15px 0}.lobby-ui .deck-owned-grid .game-card{border-radius:8px}.lobby-ui .deck-owned-grid .game-card.selected{outline:2px solid #62b2ff;outline-offset:-2px}
.lobby-ui .pack-page{display:grid;grid-template-columns:1fr 1.3fr;grid-template-rows:1fr 1fr;align-items:center;gap:0 40px;padding:5% 9%;overflow:hidden;background:radial-gradient(ellipse at 68% 50%,#254a7345,transparent 65%)}.pack-heading{align-self:end;padding-bottom:26px}.pack-heading h1{font-size:clamp(26px,3vw,42px);font-weight:600;letter-spacing:.04em;line-height:1.5}.pack-heading p{font-size:14px;letter-spacing:.08em;color:#a0bddd}.pack-showcase{grid-column:2;grid-row:1/3;position:relative;height:100%;display:grid;place-items:center}.pack-aura{position:absolute;width:90%;aspect-ratio:1;border:1px solid #4e8fd64a;border-radius:50%;box-shadow:0 0 85px #1a7aca1a,inset 0 0 80px #358cd215}.lobby-ui .pack-object{width:clamp(190px,21vw,285px);height:auto;aspect-ratio:.67;background:linear-gradient(145deg,#4c97d9 0,#15467d 29%,#11243d 54%,#296291 78%,#0c233c);border:1px solid #7cbbef;border-radius:3px;transform:rotate(-7deg);overflow:hidden;box-shadow:22px 32px 50px #0009}.lobby-ui .pack-object:before,.lobby-ui .pack-object:after{height:17px;background:repeating-linear-gradient(90deg,#6d9fc6 0 2px,#1b507f 3px 5px)}.lobby-ui .pack-object b{font-size:clamp(15px,1.8vw,24px);letter-spacing:.05em;position:absolute;top:64%}.lobby-ui .pack-object small{bottom:19%;font-size:8px;color:#c8e6ff;letter-spacing:.17em}.pack-symbol{font-weight:900;font-size:145px;line-height:1;color:#e5f6ff;transform:skew(-8deg);text-shadow:6px 6px 0 #4f9edb66;margin-top:-55px}.pack-purchase{align-self:start;width:100%;max-width:380px}.pack-purchase>div{display:flex;justify-content:space-between;font-size:12px;align-items:center;margin-bottom:15px}.pack-purchase>div span{font-size:11px;color:#9db4d0}.pack-purchase>.btn{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;font-size:14px}.pack-purchase strong{font-size:18px}.text-button{display:block;border:0;border-bottom:1px solid #52647b;background:none;color:#9fb6d3;font-size:11px;margin:18px auto 0;padding:4px 0 6px}
.lobby-ui .fusion-bottom b{font-size:13px}.lobby-ui .fusion-bottom p{margin:5px 0 0}.lobby-ui .fusion-mini{border-radius:7px}.lobby-ui .fusion-selected{border-radius:8px}.lobby-ui .fusion-pane>.section-title{font-size:12px;letter-spacing:.03em}.lobby-ui .shop-feature{border-radius:14px;min-height:300px}.lobby-ui .shop-feature h2{font-weight:650}.lobby-ui .shop-pack-art{color:#d9ecff;background:linear-gradient(145deg,#3970a7,#153150);border-color:#5283b2}.lobby-ui .shop-feature p{margin-bottom:22px}
.lobby-ui .overlay{backdrop-filter:blur(8px);padding:62px 18px 22px}.lobby-ui .overlay-card{border-radius:15px;border-color:#3a506b;background:#101c2d;max-height:calc(100dvh - 84px)}.lobby-ui .overlay-top-close{border-radius:50%;width:42px;height:42px}.lobby-ui .more-menu{max-height:calc(100dvh - 88px);overflow:auto}.lobby-ui .more-options button{border-radius:8px}.lobby-ui .more-page{height:min(82dvh,760px)}.lobby-ui .decision-card{padding:25px}.lobby-ui .pack-open-stage{min-height:0;max-height:calc(100dvh - 84px);padding:24px 18px}.lobby-ui .pack-cards{max-height:51dvh}.lobby-ui .inbox-modal{width:min(620px,95vw);display:flex;flex-direction:column;min-height:330px;padding:25px;overflow:hidden}.inbox-modal h2{font-size:25px;font-weight:650;margin:6px 0 20px}.inbox-list{overflow:auto;min-height:0;flex:1}.lobby-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 12px;text-align:center;color:#93a9c5}.lobby-empty svg{width:48px;height:48px;color:#5d90c4;margin-bottom:12px}.lobby-empty h3{font-size:16px;color:#c5d7ed;margin:15px 0 8px}.lobby-empty p{font-size:12px;line-height:1.8;margin:0}.coming-soon{border:1px solid #345779;border-radius:15px;padding:5px 14px;color:#83baf0;font-size:11px;margin-top:10px}.mail-item{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #35506d;border-radius:8px;padding:15px;margin-bottom:10px}.mail-item h3{font-size:14px;margin:0 0 8px}.mail-item p{font-size:12px;color:#9cb4d0;line-height:1.6}.mail-item>span{font-size:11px;white-space:nowrap;color:#7d96b4}.mail-item button{white-space:nowrap}.lobby-ui .odds{gap:12px;font-size:13px;margin:12px 0}.rate-note{margin-top:20px}
@media(min-width:901px) and (max-height:760px){.home-heading{top:22%}.home-heading h1{font-size:26px;margin:10px 0 15px}.home-controls{bottom:4%}.lobby-battle{height:65px}.lobby-home .home-shortcuts button{height:40px}.home-player{top:18px;padding:9px 14px}.lobby-ui .app{grid-template-rows:60px minmax(0,1fr) 72px}}
@media(max-width:900px){
 .lobby-ui .app{grid-template-rows:58px minmax(0,1fr) calc(70px + env(safe-area-inset-bottom))}.lobby-ui .topbar{padding:0 16px;gap:10px}.lobby-ui .brand{font-size:14px!important;letter-spacing:.1em}.lobby-ui .brand-zone{gap:8px}.page-location{display:none}.lobby-currency{min-width:88px;padding:6px 10px;gap:10px;font-size:12px}.profile-access{height:32px;width:32px;font-size:19px}.lobby-ui .back-top{padding:0;width:32px;height:32px;font-size:24px;border-radius:8px}.lobby-nav{gap:0;padding:5px 7px max(5px,env(safe-area-inset-bottom))}.lobby-nav button{width:20%;flex-direction:column;gap:5px;font-size:10px}.lobby-nav svg{width:23px;height:23px}.lobby-ui .screen{padding:17px 16px}.lobby-ui .home{padding:0!important}
 .lobby-home .home-bg{background:radial-gradient(ellipse at 53% 37%,#224f78 0,#132b46 38%,#0a1425 74%)}.hero-orbit{left:7%;top:8%;width:86%;height:65%}.hero-monster{top:10%;right:4%;width:92%;height:62%}.home-player{top:16px;left:16px;min-width:200px;padding:8px 12px;gap:10px;background:#0a192a99}.home-player small{font-size:9px}.home-player b{font-size:12px}.player-emblem{font-size:24px}.home-heading{top:20px;right:16px;left:auto}.home-heading>.eyebrow,.home-heading h1{display:none}.collection-progress{width:85px;gap:4px;display:flex;flex-direction:column;align-items:flex-end;font-size:9px}.collection-progress b{font-size:16px}.collection-progress>i{width:70px;height:2px}.collection-progress small{font-size:10px}.hero-caption{right:22px;bottom:36%;gap:4px}.hero-caption b{font-size:21px}.hero-caption small{font-size:8px}.hero-caption span{font-size:9px}.home-controls{left:16px;right:16px;bottom:16px;width:auto}.lobby-battle{height:66px;padding:10px 20px;border-radius:13px}.lobby-battle b{font-size:21px}.lobby-battle small{font-size:9px;margin-bottom:3px}.lobby-home .home-shortcuts{gap:7px;margin-top:9px}.lobby-home .home-shortcuts button{height:45px;border-radius:9px;font-size:11px}.home-shortcuts svg{width:19px;height:19px}
 .lobby-ui .hub-tabs{margin-bottom:15px;gap:0;overflow:visible}.lobby-ui .hub-tabs button{flex:1;padding:12px 5px;font-size:12px}.page-heading h1{font-size:23px}.page-heading>span{font-size:10px}.lobby-ui .toolbar{margin:13px 0 9px}.lobby-ui .search{font-size:12px}.sort-label{font-size:10px;padding:0 0 0 4px}.rarity-filters{gap:5px;padding-bottom:12px}.rarity-filters button{padding:7px 12px}.lobby-ui .species-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lobby-ui .species-info{padding:8px}.lobby-ui .species-info b{font-size:11px}.lobby-ui .species-info small{font-size:9px;margin-top:3px}.lobby-ui .atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lobby-ui .atlas-entry{height:100px;gap:5px;padding:5px}.lobby-ui .atlas-thumb{width:55px;height:85px}.lobby-ui .atlas-label b{font-size:10px}.lobby-ui .atlas-label small{font-size:9px}
 .lobby-ui .fixed-loadout{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.lobby-ui .fixed-loadout .load-slot,.lobby-ui .fixed-loadout .empty-card{height:108px}.lobby-ui .fixed-loadout .info{padding:5px 2px}.lobby-ui .fixed-loadout .info b{font-size:8px}.lobby-ui .fixed-loadout .slot-detail{font-size:8px;padding:6px 4px;top:1px;right:1px}.deck-summary{font-size:11px;margin:12px 0 9px}.deck-summary span{font-size:9px}.lobby-ui .deck-owned-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lobby-ui .deck-screen>.page-heading .btn{min-height:38px;font-size:12px}.lobby-ui .deck-screen>.page-heading h1{font-size:20px}
 .lobby-ui .pack-page{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;padding:20px 25px;gap:8px}.pack-heading{align-self:start;text-align:center;padding:0}.pack-heading h1{font-size:23px;margin:8px 0}.pack-heading p{font-size:11px;margin:6px 0}.pack-showcase{grid-column:1;grid-row:2;min-height:0;width:100%}.pack-aura{width:auto;height:85%}.lobby-ui .pack-object{width:auto;height:min(95%,330px);max-width:220px;min-height:0;aspect-ratio:.67}.lobby-ui .pack-object b{font-size:17px}.lobby-ui .pack-object small{font-size:6px}.pack-symbol{font-size:clamp(60px,14vh,120px);margin-top:-35px}.pack-purchase{margin:auto;align-self:end;max-width:450px}.pack-purchase>div{margin-bottom:10px;font-size:11px}.pack-purchase>.btn{min-height:52px;font-size:13px}.text-button{margin-top:10px;font-size:10px}
 .lobby-ui .fusion-layout{gap:8px}.lobby-ui .fusion-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.lobby-ui .fusion-mini{display:flex;flex-direction:column;height:100px;padding:3px;text-align:center}.lobby-ui .fusion-mini img{width:100%;height:63px}.lobby-ui .fusion-mini span{font-size:9px}.lobby-ui .fusion-selected{height:clamp(100px,21vh,185px)}.lobby-ui .fusion-selected>.game-card{height:clamp(95px,20vh,175px)}.lobby-ui .fusion-bottom{flex-direction:row;gap:10px;align-items:center;padding:10px}.lobby-ui .fusion-bottom .sub{font-size:9px;line-height:1.6}.lobby-ui .fusion-bottom b{font-size:11px}.lobby-ui .fusion-bottom>.btn{font-size:12px;flex-shrink:0;padding:10px}.lobby-ui .fusion-pane>.section-title{font-size:11px}
 .lobby-ui .overlay{padding:62px 10px 15px}.lobby-ui .overlay-card{max-height:calc(100dvh - 80px);border-radius:12px}.lobby-ui .more-page{height:calc(100dvh - 80px)!important}.lobby-ui .inbox-modal{padding:20px 16px}.lobby-ui .pack-open-stage{padding:16px 10px;min-height:0}.lobby-ui .pack-reveal-instructions{font-size:10px;padding:0}.lobby-ui .pack-cards{max-height:50dvh}.lobby-ui .pack-result-actions .btn{font-size:10px;padding:8px 10px}.lobby-ui .shop-feature{min-height:240px;padding:18px}.lobby-ui .shop-feature h2{font-size:20px}
}
@media(max-width:480px){.lobby-ui .species-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-ui .fixed-loadout{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.lobby-ui .fixed-loadout .load-slot,.lobby-ui .fixed-loadout .empty-card{height:89px}.lobby-ui .fixed-loadout .load-slot{flex-direction:row}.lobby-ui .fixed-loadout .load-slot img{width:100%;height:100%}.lobby-ui .fixed-loadout .info{position:absolute;bottom:0;left:0;right:0;background:#0a1525df}.lobby-ui .fixed-loadout .info b{font-size:9px}.lobby-ui .deck-owned-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px) and (max-height:720px){.hero-monster{top:7%;height:62%}.home-player{top:10px}.home-controls{bottom:10px}.lobby-battle{height:55px}.lobby-home .home-shortcuts button{height:39px}.hero-caption{bottom:42%;right:18px}.hero-caption b{font-size:17px}.hero-caption span{display:none}.lobby-ui .pack-page{padding:12px 20px}.pack-heading h1{font-size:20px;margin:5px 0}.pack-heading .eyebrow{display:none}.pack-purchase>.btn{min-height:44px}.lobby-ui .fusion-selected{height:100px}.lobby-ui .fusion-selected>.game-card{height:95px}.lobby-ui .deck-screen>.hub-tabs{margin-bottom:8px}.lobby-ui .fixed-loadout .load-slot,.lobby-ui .fixed-loadout .empty-card{height:70px}.deck-summary{margin:8px 0 6px}.lobby-ui .collection-screen .eyebrow{display:none}}
@media(max-height:500px){.lobby-ui .screen:not(.home){overflow:auto}.lobby-ui .home-heading{display:none}.home-controls{width:45%;left:3%;bottom:8px}.hero-monster{right:0;width:53%;top:0;height:95%}.hero-caption{display:none}.home-player{top:8px}.lobby-battle{height:45px}.lobby-home .home-shortcuts button{height:32px}.lobby-ui .app{grid-template-rows:46px minmax(0,1fr) 55px}.lobby-nav button{flex-direction:row;font-size:10px;gap:7px}.lobby-nav svg{width:19px;height:19px}}

/* MONSTARICA: compact fusion workbench — controls remain visible, owned cards scroll */
.lobby-ui .screen.fusion-v12{display:flex!important;flex-direction:column!important;overflow:hidden!important;gap:11px;padding-top:17px;padding-bottom:14px}
.fs-header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex:0 0 auto;min-height:33px}
.fs-header h1{margin:0;color:#eff7ff;font-size:clamp(18px,2.1vw,27px);letter-spacing:.045em;font-weight:800}
.fs-header-right{display:flex;align-items:center;gap:10px;color:#8ea9c8;font-size:11px}
.fs-clear-all{background:#122036;border:1px solid #395273;color:#bed4ee;border-radius:6px;font-size:11px;padding:8px 12px}
.fs-clear-all:disabled{opacity:.32;cursor:default}
.fs-workbench{display:grid;grid-template-columns:minmax(0,1fr) 29px minmax(0,1fr) 38px minmax(0,1fr);align-items:stretch;gap:9px;flex:0 0 auto;height:clamp(208px,34vh,340px);min-height:0;max-width:1100px;width:100%;margin:0 auto}
.fs-slot{display:flex;flex-direction:column;min-width:0;min-height:0;background:#101c2d;border:1px solid #314c6d;border-radius:9px;position:relative;overflow:hidden}
.fs-slot.is-focused{border-color:#4b9efa;box-shadow:inset 0 0 0 1px #4b9efa50}
.fs-slot-heading{height:30px;flex:0 0 30px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;background:#0b1728;border-bottom:1px solid #263c56;font-size:12px;font-weight:800;color:#b6cde7}
.fs-slot-heading b{color:#539df4;margin-right:4px;font-size:11px}
.fs-slot-clear{border:0;background:transparent;color:#9eb4d0;font-size:20px;line-height:1;width:24px;height:25px}
.fs-slot-area{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;width:100%;background:radial-gradient(ellipse at 50% 40%,#1b3957,#101b2c 77%);color:#e6f3ff;border:0;padding:6px;cursor:pointer;overflow:hidden}
.fs-slot-area:hover{background:radial-gradient(ellipse at 50% 40%,#214c77,#13233a 78%)}
.fs-slot-art{flex:1;min-height:0;width:min(100%,175px);position:relative;display:flex;align-items:center;justify-content:center}
.fs-slot-art img{display:block;max-width:100%;max-height:100%;height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 8px 8px #0008)}
.fs-slot-art>span{position:absolute;top:2px;left:3px;background:#102035df;border:1px solid #3a5f8d;color:#d9ebfc;padding:2px 5px;font-size:10px;font-weight:850}
.fs-slot-info{flex:0 0 auto;min-width:0;text-align:center;display:flex;flex-direction:column;gap:2px;max-width:100%;line-height:1.25;padding-top:3px}
.fs-slot-info strong{font-size:clamp(10px,1.2vw,14px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.fs-slot-info small{font-size:9px;color:#8ca7c5;white-space:nowrap}
.fs-grades{color:#b8cce5;font-size:9px;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.fs-slot-detail{height:25px;flex:0 0 25px;border:0;border-top:1px solid #2b4261;background:#10273f;color:#8fc7ff;font-size:10px;font-weight:800;letter-spacing:.04em}
.fs-slot-detail span{font-size:13px}
.fs-slot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#7799bc;font-size:11px}
.fs-slot-empty i{width:56px;height:56px;display:grid;place-items:center;border:1px dashed #40668e;border-radius:50%;font-size:36px;font-style:normal;line-height:1;font-weight:300}
.fs-operator,.fs-arrow{display:grid;place-items:center;align-self:center;font-size:28px;font-weight:900;color:#5b8cdb;user-select:none}
.fs-arrow{font-size:25px;color:#7faaff}
.fs-arrow span{width:30px;height:35px;background:#1a406b;display:grid;place-items:center;clip-path:polygon(0 0,75% 0,100% 50%,75% 100%,0 100%);font-size:18px}
.fs-result{background:linear-gradient(140deg,#182337,#0b1023);border:2px solid #355b93;border-radius:9px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:0 8px 12px;text-align:center;overflow:hidden}
.fs-result.is-ready{border-color:#925fe8;background:linear-gradient(155deg,#251b42,#0b1227 77%);box-shadow:inset 0 0 0 1px #b47aff3c}
.fs-result-header{align-self:stretch;padding:9px 1px;border-bottom:1px solid #5475b740;font-size:12px;font-weight:900;color:#9db6e4;letter-spacing:.17em}
.fs-result.is-ready .fs-result-header{color:#d5b6ff}
.fs-result-icon{display:grid;place-items:center;flex:1;min-height:0;width:100%}
.fs-result-icon span{font-size:clamp(45px,7vw,95px);font-weight:300;color:#426b9c;line-height:1}
.fs-result.is-ready .fs-result-icon span{color:#ad79ff}
.fs-result-icon img{max-height:100%;max-width:100%;width:100%;height:100%;object-fit:contain}
.fs-result strong{color:#e6ebf8;font-size:clamp(11px,1.3vw,15px);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-result small{display:block;flex:0 0 auto;color:#899dbf;font-size:10px;margin-top:7px}







.fs-inventory{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid #263d56;border-radius:9px;background:#0b1422;overflow:hidden}
.fs-inventory-tools{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 13px;border-bottom:1px solid #263a52;background:#101e30}
.fs-inventory-title{display:flex;align-items:baseline;gap:13px;white-space:nowrap}
.fs-inventory-title strong{font-size:14px;letter-spacing:.04em}
.fs-inventory-title span{color:#839bb7;font-size:10px}
.fs-inventory-filters{display:flex;gap:8px;align-items:center;min-width:0}
.fs-inventory-filters input{width:clamp(160px,25vw,300px);max-width:100%;height:33px;background:#0b1727;border:1px solid #375474;border-radius:6px;color:#e9f3ff;padding:0 10px;font-size:11px;outline:none}
.fs-inventory-filters input:focus{border-color:#60a9fa}
.fs-filter-button{white-space:nowrap;background:#17283e;color:#9bb8d7;border:1px solid #3d5674;border-radius:6px;height:33px;padding:0 10px;font-size:10px;cursor:pointer}
.fs-filter-button.active{color:#fff;background:#2464ac;border-color:#65aaf6}
.fs-filter-button:disabled{opacity:.4;cursor:default}
.fs-list-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-color:#4d719c #0d1725;scrollbar-width:thin}
.fs-owned-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-content:start;gap:10px}
.fs-owned{display:flex;flex-direction:column;position:relative;min-width:0;min-height:170px;border:1px solid #2c4865;background:#111f30;border-radius:7px;overflow:hidden;cursor:pointer;transition:border-color .14s,background .14s}
.fs-owned:hover,.fs-owned:focus-visible{border-color:#6cacf2;outline:none;background:#182b42}
.fs-owned.is-blocked{opacity:.28;filter:grayscale(.95);cursor:not-allowed}
.fs-owned.is-base{border:2px solid #4b9bfa}
.fs-owned.is-material{border:2px solid #af7dff}
.fs-owned-art{height:105px;flex:1;min-height:0;position:relative;background:radial-gradient(ellipse at 50% 40%,#273f58,#101c2b);display:grid;place-items:center}
.fs-owned-art img{height:100%;width:100%;object-fit:contain;padding:3px;filter:drop-shadow(0 6px 8px #0008)}
.fs-owned-rarity{position:absolute;top:5px;left:5px;min-width:21px;padding:3px 5px;background:#0b1727d9;border:1px solid #4a7099;border-radius:3px;font-size:9px;color:#c9e6ff;font-weight:900}
.fs-owned-marker{position:absolute;top:4px;right:5px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#3a8dee;color:white;font-size:12px}
.fs-owned.is-material .fs-owned-marker{background:#9561e7}
.fs-owned-info{padding:7px 8px 6px;flex:0 0 auto;display:flex;flex-direction:column;gap:4px;min-width:0}
.fs-owned-info>b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-owned-info>span{font-size:9px;color:#91abc6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-owned-info>small{font-size:8px;color:#7792b1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-owned-detail{align-self:stretch;flex:0 0 23px;background:#182b41;border:0;border-top:1px solid #2f4d6d;color:#93caff;font-size:10px;font-weight:750}
.fs-no-matches{grid-column:1/-1;padding:24px 12px;text-align:center;color:#8faac9;font-size:12px}
@media(max-width:900px){
 .lobby-ui .screen.fusion-v12{gap:8px;padding:12px 12px 9px}
 .fs-workbench{gap:5px;grid-template-columns:minmax(0,1fr) 19px minmax(0,1fr) 22px minmax(0,1fr);height:clamp(160px,29vh,250px)}
 .fs-operator{font-size:21px}.fs-arrow span{width:21px;height:30px;font-size:12px}
 .fs-slot-heading{height:25px;flex-basis:25px;font-size:10px;padding:0 5px}
 .fs-slot-info small{font-size:7px}.fs-grades{font-size:8px}
 .fs-slot-empty{font-size:9px;gap:6px}.fs-slot-empty i{width:39px;height:39px;font-size:28px}
 .fs-result-header{font-size:10px;padding:7px 0}.fs-result small{font-size:8px}
 .fs-slot-detail{height:23px;flex-basis:23px}
 
 
 .fs-owned-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:7px}
 .fs-owned{min-height:147px}.fs-owned-art{height:92px}.fs-list-scroll{padding:8px}
}
@media(max-width:600px){
 .fs-header h1{font-size:20px}.fs-header-right{font-size:9px}.fs-clear-all{padding:5px 8px;font-size:10px}
 .fs-workbench{height:clamp(151px,27vh,218px)}.fs-slot-info strong{font-size:9px}.fs-slot-info small{font-size:7px}.fs-slot-art>span{font-size:8px}
 .fs-slot-area{padding:3px}.fs-result{padding:0 3px 7px}.fs-result strong{font-size:10px}.fs-result small{font-size:8px}
 .fs-inventory-tools{flex-direction:column;align-items:stretch;gap:7px;padding:8px}.fs-inventory-title{justify-content:space-between}.fs-inventory-title strong{font-size:12px}
 .fs-inventory-filters input{flex:1;width:100%;min-width:0;height:32px}.fs-filter-button{height:32px;padding:0 6px}
 .fs-owned-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .fs-owned{min-height:140px}.fs-owned-art{height:77px}.fs-owned-info{padding:5px}.fs-owned-info>b{font-size:10px}.fs-owned-info>span{font-size:8px}.fs-owned-info>small{font-size:7px}.fs-owned-detail{font-size:9px}
}
@media(max-width:360px){.fs-workbench{grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr) 15px minmax(0,1fr);gap:3px}.fs-operator{font-size:16px}.fs-arrow span{width:16px;height:26px;font-size:10px}.fs-owned-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-height:610px){.fs-workbench{height:clamp(135px,24vh,185px)}.lobby-ui .screen.fusion-v12{gap:6px}.fs-slot-info small,.fs-grades{display:none}.fs-owned{min-height:130px}}
/* Keep the result art inside its own preview region, leaving the result label visible. */
.fs-result-icon img{max-height:clamp(78px,22vh,178px);width:100%;object-fit:contain}
@media(max-width:900px){.fs-result-icon img{max-height:clamp(64px,15vh,125px)}}
@media(max-width:600px){.fs-result-icon img{max-height:clamp(54px,12vh,96px)}}

/* v13: the result card is also the fusion action. No separate action bar. */
.fs-result{font:inherit;appearance:none;-webkit-appearance:none;color:inherit;cursor:default;width:100%;gap:0}
.fs-result.is-ready{cursor:pointer;border-color:#4d98f2;background:linear-gradient(152deg,#182d49,#0b1425 80%);box-shadow:inset 0 0 0 1px #75b5ff38;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s}
.fs-result.is-ready:hover{border-color:#91c8ff;background:linear-gradient(155deg,#224165,#0e1b31 80%);box-shadow:inset 0 0 0 1px #9bcfff55}
.fs-result.is-ready:active{transform:scale(.985)}
.fs-result:focus-visible{outline:3px solid #91c8ff;outline-offset:3px}
.fs-result:disabled{opacity:1;cursor:default}
.fs-result .fs-result-header{display:block}
.fs-result-prompt{display:flex;align-items:center;justify-content:center;min-height:24px;padding:4px 1px 0;color:#7d97b3;font-size:10px;line-height:1.3;white-space:nowrap;font-weight:750}
.fs-result.is-ready .fs-result-prompt{color:#9dceff}
.fs-result-prompt span{font-size:18px;line-height:1;margin-left:3px}
@media(max-width:600px){.fs-result-prompt{font-size:9px;padding-top:2px}.fs-result-prompt span{font-size:15px}}
@media(max-width:360px){.fs-result-prompt{font-size:8px}}

.pick-order{position:absolute;right:6px;top:6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:#58a6ff;color:#051221;font-size:10px;font-weight:900}
.profile-monster-option{position:relative}
.profile-home-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px}
.home-pick-chip{min-height:72px;border:1px dashed #3d5870;background:#101a24;color:#dce8f7;padding:8px;display:flex;align-items:center;gap:8px;text-align:left}
.home-pick-chip.filled{border-style:solid;background:#152433}
.home-pick-chip img{width:42px;height:52px;object-fit:contain;flex:0 0 auto}
.home-pick-chip b{display:block;font-size:11px}
.home-pick-chip small{font-size:9px;color:#95abc0}
.hero-swap{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:999px;border:1px solid #71b3ff55;background:#0d1d2fae;color:#ddebff;font-size:26px;display:grid;place-items:center}
.hero-swap.left{left:39%}.hero-swap.right{right:4%}
.hero-dots{display:flex;justify-content:flex-end;gap:7px;margin-top:3px}
.hero-dot{width:10px;height:10px;border-radius:999px;border:1px solid #6e94ba;background:transparent;padding:0}.hero-dot.active{background:#7cb8ff;border-color:#7cb8ff;box-shadow:0 0 0 2px #1a3655}
@media(max-width:900px){.hero-swap{width:34px;height:34px;font-size:22px}.hero-swap.left{left:14px}.hero-swap.right{right:14px}.hero-dots{justify-content:flex-end}.profile-home-picks{grid-template-columns:1fr}}


/* v15 pack opening page + rarity styling */
.pack-page-overlay{padding:0;background:radial-gradient(circle at 50% 15%,#0e1f36 0%,#040912 55%,#010307 100%)}
.pack-page-modal{width:100vw!important;max-width:none!important;height:100dvh;max-height:none!important;border:0!important;border-radius:0!important;padding:0!important;overflow:hidden!important;background:linear-gradient(180deg,#07111f,#03070f 72%,#060d19)!important;position:relative}
.pack-page-modal .overlay-top-close{top:16px;right:16px;background:#081321d6;border-color:#4a6a95;color:#dbe9ff}
.pack-page-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,#17416c66 0%,transparent 28%),radial-gradient(circle at 50% 50%,#1f4a7a33 0%,transparent 44%),linear-gradient(180deg,#07111f 0%,#040a15 52%,#050a13 100%)}
.pack-page-bg:before,.pack-page-bg:after{content:"";position:absolute;inset:0;pointer-events:none}.pack-page-bg:before{background:repeating-linear-gradient(120deg,transparent 0 110px,#71b6ff0b 111px 112px),repeating-linear-gradient(0deg,transparent 0 76px,#ffffff05 77px 78px)}.pack-page-bg:after{background:radial-gradient(circle at 50% 18%,#7dc6ff22 0,transparent 30%),linear-gradient(180deg,transparent 0 75%,#000a 100%)}
.pack-page-bg.reveal:after{background:radial-gradient(circle at 50% 20%,#2c7edc44 0,transparent 28%),linear-gradient(180deg,transparent 0 70%,#000a 100%)}
.pack-open-stage{display:flex;flex-direction:column;min-height:100%;justify-content:center;align-items:stretch;text-align:center}
.pack-page-hero,.pack-page-body{position:relative;z-index:1;padding:clamp(28px,4vw,46px)}
.pack-page-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.pack-page-copy h2,.pack-page-header h2{margin:6px 0 0;font-size:clamp(24px,4vw,42px);letter-spacing:.12em;font-weight:900;color:#eef6ff}
.pack-page-copy p{margin:8px 0 0;color:#8db0d4;font-size:12px;letter-spacing:.15em}.pack-page-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;padding:24px clamp(22px,3.5vw,42px) 0;gap:20px}.pack-page-header .eyebrow{font-size:10px}.pack-page-progress{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:132px;padding:11px 16px;border:1px solid #30557e;border-radius:999px;background:#0b1727d9;color:#e8f3ff;font:900 13px ui-monospace,monospace;letter-spacing:.08em}
.pack-rarity-cue{font-size:11px;letter-spacing:.18em;color:#a8cfff}.pack-result-lead{font-size:14px;font-weight:900;letter-spacing:.08em;color:#f0f6ff;margin-bottom:8px}.pack-page-body{display:flex;flex-direction:column;min-height:0;flex:1;padding-top:14px;padding-bottom:18px}.pack-reveal-heading{text-align:left;display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.pack-reveal-instructions{font-size:11px;color:#90afcf;line-height:1.6;text-align:right}
.pack-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;min-height:0;overflow:auto;padding:4px 4px 10px;align-content:start}
.flip{min-width:0}.flip-back{border:1px solid #4f6988;background:linear-gradient(145deg,#0f1d31,#060b14 72%);border-radius:10px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #7db6ff0f,0 14px 28px #0007}.flip-back:before{content:"";position:absolute;inset:8px;border:1px solid #2f4d71;border-radius:8px;opacity:.8}.flip-back:after{content:"MONSTARICA";color:#a6cfff;font-weight:900;letter-spacing:.18em}.flip-back span{position:absolute;top:11px;left:12px;font:900 11px ui-monospace,monospace;color:#6f97bf}
.pack-detail-hint{border-color:#446c9b;background:#0b1727e8;color:#dff0ff}
.pack-bottom-bar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px clamp(22px,3.5vw,42px) 22px}
.pack-reveal-controls,.pack-result-actions{margin:0;display:flex;gap:10px;justify-content:flex-start}.pack-result-actions{flex-wrap:wrap;justify-content:flex-end}.pack-reveal-controls .btn,.pack-result-actions .btn{min-height:44px;padding:11px 18px}
.sealed-pack{width:min(280px,62vw);height:min(398px,70vh);border-radius:18px;border:1px solid #6a84a0;background:linear-gradient(145deg,#2c3951,#101724 62%,#0a111a);box-shadow:0 35px 70px #000c;position:relative;display:grid;place-items:center;transition:.42s cubic-bezier(.2,.8,.2,1)}.sealed-pack:before,.sealed-pack:after{height:26px}.sealed-pack b{font-size:clamp(28px,4vw,38px);letter-spacing:.18em;color:#ecf5ff}.sealed-pack small{position:absolute;bottom:62px;color:#ae9d6e}
.open-hint{margin-top:2px;color:#b7d3f1;font-size:12px;letter-spacing:.24em}
.game-card{border-color:#405263;border-radius:10px;background:linear-gradient(180deg,#152033,#0d131d);box-shadow:0 10px 24px #0007}.game-card:hover{border-color:#89a2c6}
.game-card .card-art{background:radial-gradient(circle at 50% 42%,#30465e 0%,#182331 48%,#0d131d 72%)}
.game-card[data-base-rarity="R"]{border-color:#4f86d8;box-shadow:0 0 0 1px #315da166,0 10px 24px #0007}.game-card[data-base-rarity="R"] .card-rarity{color:#9cc4ff}
.game-card[data-base-rarity="SR"]{border-color:#8c62d9;box-shadow:0 0 0 1px #784dcb77,0 0 24px #6d44cf1a,0 10px 24px #0007}.game-card[data-base-rarity="SR"] .card-rarity{color:#d3b8ff}
.game-card[data-base-rarity="SSR"]{border-color:#d8b25e;box-shadow:0 0 0 1px #c3963377,0 0 28px #ffdf7a1d,0 10px 24px #0007}.game-card[data-base-rarity="SSR"] .card-rarity{color:#ffe29b}.game-card[data-base-rarity="SSR"] .card-info{background:linear-gradient(180deg,#17120aeb,#0d1217f1);border-top-color:#6c5525}
.game-card[data-hr="true"]{border-color:#ff8c54;box-shadow:0 0 0 1px #ff7d4d85,0 0 30px #ffb16a29,0 10px 26px #0007}.game-card[data-hr="true"] .card-rarity{color:#ffd4a6}.game-card[data-hr="true"] .card-info{background:linear-gradient(180deg,#1a110aef,#0d1217f1);border-top-color:#7a4726}
.game-card[data-finish="SP"]{border-color:#ff66d2;box-shadow:0 0 0 1px #ff75e577,0 0 34px #ff7de62e,0 10px 28px #0008}.game-card[data-finish="SP"] .card-rarity{color:#ffccf3}
.game-card.foil:after{display:none}
.game-card.foil .card-art img{filter:drop-shadow(0 0 1px #ffffff) drop-shadow(0 0 4px #ff5bd6) drop-shadow(0 0 7px #ffcc66) drop-shadow(0 0 10px #7cffc4) drop-shadow(0 0 14px #7db8ff) drop-shadow(0 18px 13px #0008);animation:foil-outline 5.2s linear infinite}
@keyframes foil-outline{0%{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px #ff5bd6) drop-shadow(0 0 7px #ffcc66) drop-shadow(0 0 10px #7cffc4) drop-shadow(0 0 14px #7db8ff) drop-shadow(0 18px 13px #0008)}33%{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px #7db8ff) drop-shadow(0 0 7px #ff5bd6) drop-shadow(0 0 10px #ffef86) drop-shadow(0 0 14px #73ffe0) drop-shadow(0 18px 13px #0008)}66%{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px #73ffe0) drop-shadow(0 0 7px #7db8ff) drop-shadow(0 0 10px #ff5bd6) drop-shadow(0 0 14px #ffe28b) drop-shadow(0 18px 13px #0008)}100%{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px #ff5bd6) drop-shadow(0 0 7px #ffcc66) drop-shadow(0 0 10px #7cffc4) drop-shadow(0 0 14px #7db8ff) drop-shadow(0 18px 13px #0008)}}
@media(max-width:960px){.pack-page-header{padding-top:20px}.pack-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pack-bottom-bar{flex-direction:column;align-items:stretch}.pack-reveal-controls,.pack-result-actions{justify-content:center}.pack-result-actions{width:100%}.pack-reveal-instructions{text-align:left}.pack-reveal-heading{flex-direction:column;align-items:flex-start}.sealed-pack{width:min(250px,72vw);height:min(352px,58vh)}}
@media(max-width:560px){.pack-page-header{padding:16px 16px 0;align-items:flex-start;flex-direction:column}.pack-page-progress{align-self:flex-start}.pack-page-body{padding:12px 16px 16px}.pack-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pack-bottom-bar{padding:8px 16px 16px}.flip-back:after{font-size:10px;letter-spacing:.08em}.sealed-pack{width:min(216px,76vw);height:min(308px,48vh)}.open-hint{font-size:11px}.pack-rarity-cue{font-size:10px}.pack-page-copy h2,.pack-page-header h2{font-size:24px}}


/* v16 mobile pack opening */
.pack-page-header.mobile{padding-bottom:8px}
.pack-mobile-wrap{position:relative;z-index:2;display:flex;flex-direction:column;min-height:0;flex:1;padding:4px 16px 16px;gap:12px}
.pack-mobile-instructions{font-size:11px;color:#9ec0e4;text-align:center;letter-spacing:.05em}
.pack-mobile-stack-zone{display:flex;justify-content:center;align-items:center;min-height:154px}
.pack-mobile-stack{position:relative;width:min(54vw,214px);height:min(76vw,300px);outline:none}
.mobile-stack-card{position:absolute;inset:0;border:1px solid #4f6988;border-radius:12px;background:linear-gradient(145deg,#0f1d31,#060b14 72%);box-shadow:0 12px 22px #0007;transform:translate(calc(var(--layer) * 4px),calc(var(--layer) * 5px)) scale(calc(1 - var(--layer) * .03)) rotate(calc(var(--layer) * 1.2deg));display:grid;place-items:center;color:#a9c8ea;font-weight:900;font-size:22px}
.mobile-stack-card:before{content:"";position:absolute;inset:8px;border:1px solid #2f4d71;border-radius:9px}.mobile-stack-card:after{content:"MONSTARICA";position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.16em;color:#79a4d1}
.pack-mobile-stack-empty{position:absolute;inset:0;border:1px dashed #426285;border-radius:12px;display:grid;place-items:center;color:#80a5cc;font-size:15px;font-weight:900;background:#0b1625a8}
.pack-mobile-viewer{display:flex;justify-content:center;align-items:center;min-height:290px}
.pack-mobile-placeholder{width:min(62vw,248px);aspect-ratio:.7;border:1px dashed #496888;border-radius:14px;background:#08111eb3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#a6c7ea;box-shadow:inset 0 0 0 1px #7bc0ff0d}.pack-mobile-placeholder b{font-size:18px;letter-spacing:.14em}.pack-mobile-placeholder span{font-size:11px;color:#7fa4cc}
.pack-mobile-current{display:flex;flex-direction:column;align-items:center;gap:8px}.pack-mobile-card{width:min(62vw,248px)}.pack-mobile-card.appear{animation:packCardAppear .28s ease-out}.pack-detail-hint.mobile{position:static;font-size:10px;padding:7px 11px}
@keyframes packCardAppear{0%{transform:translateY(14px) scale(.96);opacity:0}100%{transform:none;opacity:1}}
.pack-mobile-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.pack-mobile-thumb{aspect-ratio:.72;border:1px solid #355472;border-radius:8px;background:#0d1724;padding:0;overflow:hidden;display:grid;place-items:center;color:#789abc;font:900 12px ui-monospace,monospace}.pack-mobile-thumb img{width:100%;height:100%;object-fit:contain;background:radial-gradient(circle at 50% 42%,#22364b 0%,#121d2a 68%)}.pack-mobile-thumb.opened{border-color:#618fc3;background:#122235}.pack-mobile-thumb.active{outline:2px solid #8dc4ff;outline-offset:1px}.pack-mobile-thumb:disabled{opacity:.55}
.pack-mobile-controls{display:flex;justify-content:center}.pack-mobile-controls .btn{min-width:180px}
@media(max-width:640px){.pack-page-modal{overflow:hidden!important}.pack-page-modal .overlay-top-close{top:12px;right:12px;width:40px;height:40px}.pack-page-hero{padding:20px 16px}.pack-page-copy p{font-size:11px}.pack-page-copy h2,.pack-page-header h2{font-size:22px}.pack-page-center{display:flex;flex-direction:column;align-items:center;gap:10px}.pack-page-header{padding:16px 16px 0}.pack-page-progress{font-size:12px;padding:9px 14px;min-width:116px}.pack-page-body{padding-top:6px}.pack-bottom-bar{padding:10px 16px 16px}.pack-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:none}.pack-reveal-instructions{font-size:10px}.pack-result-actions{justify-content:center}.pack-result-actions .btn{flex:1 1 auto;min-width:0}.pack-mobile-wrap .pack-result-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pack-mobile-wrap .pack-result-actions .btn{padding:10px 6px;font-size:10px}}

/* v15 rarity polish */
.game-card{overflow:hidden}
.game-card .card-art{position:absolute;inset:0 0 27%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,#30465e 0%,#182331 48%,#0d131d 72%)}
.game-card .card-art::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#ffffff0f,transparent 22%,transparent 78%,#00000026)}
.game-card .card-rarity{padding:3px 8px;border-radius:999px;border:1px solid #617181;background:#101824d9;backdrop-filter:blur(4px)}
.game-card .card-no{padding:2px 6px;border-radius:999px;background:#09111acc;border:1px solid #2e4259}
.game-card[data-base-rarity="N"]{border-color:#52667c}
.game-card[data-base-rarity="UC"]{border-color:#4f7b63;box-shadow:0 0 0 1px #2d684055,0 10px 24px #0007}.game-card[data-base-rarity="UC"] .card-rarity{color:#b9ffd2;border-color:#4b916a;background:#102217de}
.game-card[data-base-rarity="R"]{border-color:#4f86d8;box-shadow:0 0 0 1px #315da166,0 0 18px #447de414,0 10px 24px #0007}.game-card[data-base-rarity="R"] .card-rarity{color:#d9ebff;border-color:#6aa8ff;background:#0d2040de}
.game-card[data-base-rarity="SR"]{border-color:#8c62d9;box-shadow:0 0 0 1px #784dcb77,0 0 24px #6d44cf26,0 10px 24px #0007}.game-card[data-base-rarity="SR"] .card-rarity{color:#f0deff;border-color:#b184ff;background:#23103ede}.game-card[data-base-rarity="SR"] .card-info{background:linear-gradient(180deg,#150f23ef,#0d1217f1);border-top-color:#5d4387}
.game-card[data-base-rarity="SSR"]{border-color:#d8b25e;box-shadow:0 0 0 1px #c3963377,0 0 30px #ffdf7a26,0 10px 24px #0007}.game-card[data-base-rarity="SSR"] .card-rarity{color:#fff1c2;border-color:#ffd87f;background:#34260dde}.game-card[data-base-rarity="SSR"] .card-info{background:linear-gradient(180deg,#17120aeb,#0d1217f1);border-top-color:#8b6d30}
.game-card[data-hr="true"]{border-color:#ff8c54;box-shadow:0 0 0 1px #ff7d4d85,0 0 34px #ffb16a33,0 10px 26px #0007}.game-card[data-hr="true"] .card-rarity{color:#fff0e7;border-color:#ffb483;background:#36180ede}.game-card[data-hr="true"] .card-info{background:linear-gradient(180deg,#1a110aef,#0d1217f1);border-top-color:#9a552f}
.game-card[data-finish="SP"]{border-color:#ff66d2;box-shadow:0 0 0 1px #ff75e577,0 0 40px #ff7de63b,0 10px 28px #0008}.game-card[data-finish="SP"] .card-rarity{color:#fff0fb;border-color:#ff9ae9;background:#3c1031de}
.game-card.foil:after{display:none}
.game-card.foil .card-art::after{content:"";position:absolute;inset:3px;border-radius:10px;padding:2px;background:conic-gradient(from 0deg,#78d2ff,#ffffff,#ff9bdc,#ffe08a,#8bffc8,#7aa2ff,#78d2ff);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 5px #ffffff55) drop-shadow(0 0 10px #8cc8ff55);animation:foil-prism 3.6s linear infinite;pointer-events:none}
.game-card.foil .card-art img{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #ffffff66) drop-shadow(0 18px 13px #0008)}
@keyframes foil-prism{to{transform:rotate(360deg)}}

/* v15 mobile pack flow */
.pack-mobile-wrap{gap:14px}
.pack-mobile-stack-zone{min-height:150px}
.pack-mobile-viewer{min-height:330px}
.pack-mobile-current-meta{display:grid;justify-items:center;gap:4px;color:#a8c6e8}.pack-mobile-current-meta b{font-size:13px;letter-spacing:.16em}.pack-mobile-current-meta span{font-size:10px;color:#7fa3c9}
.pack-mobile-summary{padding-top:4px}
.pack-mobile-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:start}
.pack-mobile-result-card{padding:0;background:none;border:0}
.pack-mobile-result-card.top{grid-column:span 2}
.pack-mobile-result-card.bottom{grid-column:span 3}
.pack-mobile-result-card .game-card{height:100%;min-height:0}
.pack-mobile-summary.hidden,.pack-mobile-viewer.hidden,.pack-mobile-stack-zone.hidden,.pack-mobile-controls.hidden{display:none}
@media(max-width:640px){
 .pack-mobile-wrap{padding:2px 14px 14px}
 .pack-mobile-stack{width:min(58vw,228px);height:min(81vw,318px)}
 .pack-mobile-viewer{min-height:0}
 .pack-mobile-card{width:min(72vw,286px)}
 .pack-mobile-summary-grid{grid-template-columns:repeat(6,1fr);gap:6px}
 .pack-mobile-result-card.top{grid-column:span 2}
 .pack-mobile-result-card.bottom{grid-column:span 3}
 .pack-mobile-result-card .game-card{aspect-ratio:.68}
 .pack-result-actions.hidden{display:none!important}
}

/* v16 — compact desktop pack screen; never crop cards or hide the footer. */
@media(min-width:641px){
 .pack-page-overlay{padding:clamp(14px,4vh,48px)!important;background:#02060ccf}
 .pack-page-modal{width:min(1120px,calc(100vw - 28px))!important;max-width:1120px!important;height:min(560px,calc(100dvh - 32px))!important;max-height:calc(100dvh - 32px)!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:stretch!important;align-items:stretch!important;border:1px solid #425a75!important;border-radius:16px!important;padding:16px 22px!important;overflow:hidden!important;background:linear-gradient(160deg,#122035 0%,#091320 100%)!important;box-shadow:0 30px 90px #000c!important}
 .pack-page-modal .overlay-top-close{top:12px!important;right:12px!important}
 .pack-page-modal .pack-page-bg{border-radius:16px}
 .pack-page-header{padding:2px 58px 8px 0!important;flex:0 0 auto;min-height:55px;align-items:center}
 .pack-page-header h2{font-size:20px!important;letter-spacing:.12em!important;margin:2px 0!important}
 .pack-page-header .eyebrow{font-size:9px}
 .pack-page-progress{padding:8px 12px!important;min-width:93px;font-size:11px}
 .pack-page-body{flex:1 1 auto;min-height:0!important;overflow:hidden!important;padding:0 0 3px!important;justify-content:center;align-items:stretch}
 .pack-reveal-heading{flex:0 0 auto;min-height:35px;margin:0 0 6px!important;align-items:center}
 .pack-reveal-instructions{font-size:10px}
 .pack-cards{flex:0 0 auto!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,var(--pack-card-width)))!important;--pack-card-width:min(190px,calc((100vw - 100px) / 5),calc((100dvh - 265px) * .7));width:100%!important;max-height:100%!important;min-height:0!important;gap:12px!important;padding:5px 2px 8px!important;align-content:center!important;justify-content:center!important;overflow:visible!important}
 .pack-cards .flip{width:100%;min-width:0;aspect-ratio:.7}
 .pack-bottom-bar{flex:0 0 65px!important;padding:8px 0 0!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;min-height:0!important}
 .pack-reveal-controls,.pack-result-actions{justify-content:center!important;width:auto!important}
 .pack-reveal-controls .btn,.pack-result-actions .btn{min-height:41px;padding:9px 16px}
 .pack-result-actions.hidden{display:none!important}
 .pack-page-modal .pack-page-hero{padding:16px 24px;min-height:0;flex:1 1 auto}
}
/* v16 — mobile: one central deck/viewer, then a 3+2 result grid. */
@media(max-width:640px){
 .pack-page-overlay{padding:0!important}
 .pack-page-modal{height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:stretch!important}
 .pack-page-header.mobile{padding:14px 60px 4px 16px!important;flex:0 0 auto;min-height:72px;display:flex!important;flex-direction:row;align-items:center;gap:5px}
 .pack-page-header.mobile h2{font-size:18px!important;margin-top:3px}
 .pack-page-header.mobile .pack-page-progress{min-width:auto;padding:6px 9px;font-size:10px;white-space:nowrap}
 .pack-page-modal .overlay-top-close{top:10px!important;right:10px!important;width:38px!important;height:38px!important}
 .pack-mobile-flow{position:relative;z-index:2;display:flex;flex-direction:column;min-height:0;flex:1;padding:4px 12px 12px;gap:4px}
 .mobile-flow-hint{font-size:11px;color:#c2d6ec;text-align:center;min-height:20px;flex:0 0 20px;letter-spacing:.04em}
 .mobile-flow-stage{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 10px}
 .mobile-flow-face{position:relative;width:min(67vw,240px,calc((100dvh - 208px)*.7));aspect-ratio:.7;max-height:100%;cursor:pointer;touch-action:pan-y;outline:none;user-select:none}
 .mobile-flow-face.has-card{animation:packCardAppear .22s ease-out}
 .mobile-flow-single-card,.mobile-flow-single-card .game-card{width:100%;height:100%}
 .mobile-flow-stack{position:absolute;inset:0}
 .mobile-flow-back{position:absolute;inset:0;border:1px solid #547399;background:linear-gradient(145deg,#152944,#070e1d);box-shadow:0 7px 20px #0009;border-radius:12px;transform:translate(calc(var(--stack-layer)*2px),calc(var(--stack-layer)*-4px)) rotate(calc(var(--stack-layer)*-.9deg));display:grid;place-items:center}
 .mobile-flow-back:before{content:"";position:absolute;inset:8px;border:1px solid #3a608d;border-radius:8px}
 .mobile-flow-back b{font-size:12px;color:#afd5ff;letter-spacing:.14em}
 .mobile-flow-card-tools{flex:0 0 42px;display:flex;align-items:center;justify-content:center}
 .mobile-flow-detail{font-size:11px;color:#d6eaff;border:1px solid #426b93;background:#14253a;border-radius:6px;padding:8px 18px}
 .mobile-flow-summary{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:5px 0}
 .mobile-five-grid{width:min(100%,440px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(4px,1.7vw,9px);align-content:center;justify-content:center}
 .mobile-five-card{min-width:0;background:none;padding:0;border:0;cursor:pointer;text-align:left}
 .mobile-five-card.row-top{grid-column:span 2}
 .mobile-five-card.row-bottom{grid-column:span 3}
 .mobile-five-card .game-card{width:100%;aspect-ratio:.7;max-height:calc((100dvh - 225px) / 2)}
 .mobile-five-card .card-rarity{font-size:8px;padding:2px 5px}
 .mobile-five-card .card-no{font-size:7px}
 .mobile-five-card .card-info{padding:5px}
 .mobile-five-card .card-name{font-size:9px}
 .mobile-five-card .grades{gap:1px}
 .mobile-five-card .grade{width:11px;height:11px;font-size:6px}
 .mobile-five-card .serial{font-size:6px}
 .mobile-flow-bottom{flex:0 0 auto;min-height:48px;display:flex;justify-content:center;align-items:center}
 .mobile-flow-bottom .btn{min-height:40px;font-size:11px}
 .mobile-flow-bottom .pack-result-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;margin:0}
 .mobile-flow-bottom .pack-result-actions.hidden{display:none!important}
 .mobile-flow-bottom .pack-result-actions .btn{width:100%;padding:8px 2px;font-size:10px}
 .pack-page-modal .pack-page-hero{padding:24px 14px 14px;min-height:0}
}
@media(max-width:640px) and (max-height:650px){
 .pack-page-header.mobile{min-height:56px;padding-top:9px!important;padding-bottom:2px!important}
 .mobile-flow-detail{padding:6px 12px}
 .mobile-flow-card-tools{flex-basis:34px}
 .mobile-flow-face{width:min(60vw,200px,calc((100dvh - 165px)*.7))}
 .mobile-five-card .game-card{max-height:calc((100dvh - 178px) / 2)}
}


/* v17: touch layout consolidation */
.game-card,.pack-mobile-result-card,.mobile-five-card{color:#e8f2ff}
.game-card .card-info{color:#e8f2ff!important;background:#0b1625f2!important}
.game-card .card-name{color:#f2f7ff!important;text-shadow:0 1px 1px #0007}
.game-card .grades,.game-card .grade{color:#d7e5fa!important}
.mobile-five-card{color:#eaf4ff!important}
.mobile-five-card .card-info{color:#eaf4ff!important}
.mobile-five-card .card-name{color:#f2f7ff!important}
.instance-picker{max-width:min(920px,96vw)!important}
.instance-picker-title{display:flex;gap:12px;align-items:center;justify-content:space-between}
.instance-picker-title h2{margin:2px 0 8px;font-size:20px}
.instance-close{margin-top:16px;float:right}
@media(max-width:640px){
 html,body{width:100%;height:100%;overflow:hidden}
 .app,.lobby-app{height:100dvh;max-height:100dvh;overflow:hidden}
 .lobby-ui .screen{padding:12px 12px 8px}
 .lobby-ui .topbar{min-width:0}
 .lobby-ui .brand{font-size:12px!important;white-space:nowrap}
 .lobby-currency{min-width:76px;padding:5px 8px;font-size:11px}
 .lobby-nav button{min-width:0;font-size:10px}
 .lobby-nav svg{height:21px;width:21px}
 .lobby-ui .hub-tabs{flex:0 0 auto;min-height:41px;margin:0 0 8px!important;overflow:visible}
 .lobby-ui .hub-tabs button{padding:10px 2px;min-width:0;font-size:12px}
 .lobby-ui .collection-screen{display:flex!important;flex-direction:column;gap:0;overflow:hidden!important}
 .collection-screen .page-heading{flex:0 0 auto;margin:4px 0 5px}
 .collection-screen .page-heading h1{font-size:22px}
 .collection-screen .toolbar{flex:0 0 auto;margin:7px 0!important}
 .collection-screen .toolbar .search{min-width:0;height:35px}
 .collection-screen .rarity-filters{flex:0 0 auto;display:flex;overflow-x:auto;scrollbar-width:none;padding:4px 0 8px;gap:5px}
 .collection-screen .rarity-filters::-webkit-scrollbar{display:none}
 .collection-screen .rarity-filters button{flex:0 0 auto;padding:6px 10px;white-space:nowrap}
 .collection-screen>.species-grid{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;align-content:start;padding:5px 1px 12px}
 .lobby-ui .species-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .lobby-ui .species-card{width:100%;max-width:none;min-width:0}
 .lobby-ui .species-info{padding:7px}
 .lobby-ui .species-info b{font-size:12px}
 .lobby-ui .species-info small{font-size:9px}
 .lobby-ui .screen:has(.atlas-grid){display:flex;flex-direction:column;overflow:hidden!important;gap:0}
 .lobby-ui .screen>.atlas-grid{flex:1;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;align-content:start;padding:5px 0 12px}
 .lobby-ui .atlas-entry{min-width:0}
 /* fusion: keep cards/controls in place, scroll inventory only */
 .lobby-ui .screen.fusion-v12{gap:7px;padding:10px 10px 7px;overflow:hidden!important}
 .fs-header{flex:0 0 auto;min-height:30px}
 .fs-header h1{font-size:19px}
 .fs-workbench{height:clamp(142px,25dvh,210px);min-height:0;flex:0 0 auto;gap:4px}
 .fs-operator{font-size:18px}
 .fs-arrow span{width:18px;height:24px}
 .fs-slot-heading{height:21px;flex-basis:21px;font-size:9px}
 .fs-slot-info strong{font-size:9px}
 .fs-inventory{flex:1;min-height:0;overflow:hidden}
 .fs-inventory-tools{flex:0 0 auto;padding:7px;gap:6px}
 .fs-inventory-filters input{height:34px}
 .fs-list-scroll{flex:1;min-height:0;overflow:auto!important;overscroll-behavior:contain;padding:6px}
 .fs-owned-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .fs-owned{min-height:127px}
 .fs-owned-art{height:72px}
 .fs-owned-info{padding:5px 4px;gap:2px}
 .fs-owned-info>b{font-size:10px}
 .fs-owned-info>span{font-size:8px}
 .fs-owned-info>small{font-size:7px}
 .fs-owned-detail{height:25px;flex:0 0 25px}
 /* pack: all five on the same-size tiles; 3 above, centered 2 below */
 .pack-page-modal .overlay-top-close{z-index:50}
 .mobile-five-grid{width:min(100%,430px);max-height:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;justify-items:stretch;align-content:center}
 .mobile-five-card{grid-column:span 2;min-width:0;max-height:none}
 .mobile-five-card.row-top{grid-column:span 2}
 .mobile-five-card.row-bottom:nth-child(4){grid-column:2/span 2}
 .mobile-five-card.row-bottom:nth-child(5){grid-column:4/span 2}
 .mobile-five-card .game-card{width:100%;height:auto;aspect-ratio:.7;max-height:calc((100dvh - 208px)/2);border-radius:7px}
 .mobile-five-card .card-info{height:31%;padding:5px 4px}
 .mobile-five-card .card-name{font-size:10px}
 .mobile-five-card .serial{font-size:6px}
 .mobile-five-card .grade{min-width:9px;width:10px;height:11px;font-size:6px}
 .mobile-flow-summary{min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
 .mobile-flow-bottom{flex:0 0 auto}
 .pack-page-header.mobile{height:auto;min-height:64px;padding:9px 55px 2px 14px!important}
 .pack-page-header.mobile h2{font-size:17px!important}
 .pack-page-modal .overlay-top-close{top:9px!important;right:9px!important;width:36px!important;height:36px!important}
 .mobile-flow-hint{font-size:10px}
 /* battle: stable vertical bands for information, sprites, actions */
 .battle-screen .arena{inset:0;overflow:hidden}
 .battle-top{height:46px;padding:0 10px}
 .bname b{font-size:10px}.bname small{font-size:9px}
 .round{font-size:15px}.round small{font-size:8px}
 .hpbox.cpu{top:49px;left:12px;width:58vw;max-width:275px}
 .hpbox.player{right:12px;bottom:181px;width:56vw;max-width:275px}
 .hphead{font-size:10px;gap:8px}
 .hpbox .bench img{width:26px;height:26px}
 .battle-mon.cpu{right:-5%;top:13%;width:60vw;height:30%;max-height:210px}
 .battle-mon.player{left:-7%;top:40%;width:59vw;height:31%;max-height:240px}
 .battle-log-toggle{top:53px!important;right:11px!important;min-width:74px;height:35px;padding:6px!important;font-size:11px}
 .battle-log-toggle span{font-size:9px}
 .battle-log-panel{top:93px!important;right:10px!important;max-height:min(42dvh,300px);width:min(84vw,340px)}
 .battle-actions{left:9px;right:9px;transform:none;width:auto;bottom:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .battle-actions .move-btn{height:clamp(66px,10.5dvh,80px);min-width:0;padding:7px 8px}
 .battle-actions .move-btn b{font-size:12px;margin-top:3px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .battle-actions .move-btn small{font-size:9px}
 .battle-actions .move-btn em{font-size:9px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .battle-actions .move-info{font-size:8px;padding:3px 4px}
 .tutorial-hud{position:absolute;left:11px;right:11px;top:clamp(128px,28dvh,205px);bottom:auto;max-height:127px;width:auto!important;overflow:auto;padding:9px 11px!important;z-index:27;background:#0b1321ec}
 .tutorial-guide-head{display:flex;align-items:center;justify-content:space-between;gap:7px}
 .tutorial-hud>b{font-size:13px;margin:3px 0}
 .tutorial-hud p{font-size:10px;line-height:1.35;margin:2px 0 4px}
 .tutorial-hud small{font-size:9px;line-height:1.25}
 .tutorial-hud button{pointer-events:auto;z-index:2;position:relative}
 /* home: controls remain visible while monster stays in viewport */
 .home-player{max-width:55%;min-width:0}
 .hero-monster{right:2%;width:96%;height:58%;top:12%}
 .hero-caption{bottom:38%;right:12px}
 .hero-swap{top:54%;z-index:7}
 .home-controls{bottom:10px;left:10px;right:10px}
 .lobby-battle{height:clamp(55px,9dvh,69px)}
 .lobby-home .home-shortcuts button{height:clamp(34px,6dvh,48px)}
}
@media(max-width:375px){
 .lobby-ui .species-grid{gap:6px}
 .fs-owned-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-caption b{font-size:18px}
 .lobby-ui .brand{letter-spacing:.03em}
 .lobby-ui .back-top{width:28px;height:30px}
 .battle-actions .move-btn{height:69px}
}
@media(max-width:640px) and (max-height:700px){
 .battle-mon.cpu{height:25%;top:14%}
 .battle-mon.player{height:27%;top:38%}
 .battle-actions .move-btn{height:63px}
 .hpbox.player{bottom:151px}
 .tutorial-hud{top:23%;max-height:112px}
 .mobile-five-card .game-card{max-height:calc((100dvh - 185px)/2)}
 .fs-workbench{height:142px}
}

/* v17 detail contrast fixes for native button defaults */
.species-card,.instance-card,.mobile-five-card,.pack-mobile-result-card{color:#eaf4ff!important}
.species-card .species-info b{color:#f6faff!important}
.species-card .species-info small{color:#a4bddb!important}
.species-card .card-rarity{color:#e8d2a4}
.fs-owned,.fs-result,.fs-owned-info{color:#ebf4ff}
@media(max-width:640px){
 .species-card{color:#eef7ff!important}
 .lobby-ui .species-card{aspect-ratio:.83}
 .lobby-ui .species-info{height:27%}
 .lobby-ui .species-art{inset:0 0 26%}
 .lobby-ui .atlas-entry{color:#eaf5ff!important}
}

/* v18: input visibility and responsive audit corrections. */
#save-warning{position:fixed;z-index:5000;inset:0 0 auto;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 12px;background:#622b13;color:#fff;font-size:12px;box-shadow:0 2px 12px #0009}
#save-warning button{flex-shrink:0;background:#fff;color:#622b13;border:0;border-radius:4px;padding:7px 10px}
:focus-visible{outline:2px solid #91cbff;outline-offset:3px}
.hero-monster,.sealed-pack{touch-action:pan-y}
.pack-page-overlay .pack-cards .flip{transform:none}
@media(min-width:641px){
 .pack-cards{--pack-card-width:min(190px,calc((100vw - 140px) / 5),calc((100dvh - 265px) * .7))}
}
/* Short landscape viewports keep the workbench above a usable inventory. */
@media(max-height:500px) and (orientation:landscape){
 .lobby-ui .screen.fusion-v12{padding:6px 10px;gap:4px}
 .fs-header{min-height:24px}.fs-header h1{font-size:17px}
 .fs-header-right button{height:24px;padding:3px 8px}
 .fs-workbench{height:100px!important;min-height:0;gap:6px}
 .fs-slot-heading{height:18px;flex-basis:18px;font-size:9px}
 .fs-slot-area{flex-direction:row;min-height:0;gap:6px}
 .fs-slot-art{height:100%;width:40%;flex:0 0 40%}
 .fs-slot-info{padding:2px;min-width:0}.fs-slot-info strong{font-size:10px}.fs-slot-info small{font-size:8px}
 .fs-slot-detail{height:20px;min-height:20px;flex-basis:20px}
 .fs-result{padding:4px;gap:1px}.fs-result-header{font-size:8px}
 .fs-result-icon{height:36px;min-height:0;flex:1}.fs-result-icon>span{font-size:28px}
 .fs-result strong{font-size:10px}.fs-result-prompt{font-size:9px;padding:3px}
 .fs-inventory-tools{padding:4px 7px;gap:5px;flex-direction:row;align-items:center}
 .fs-inventory-title{font-size:11px;white-space:nowrap}
 .fs-inventory-filters{width:auto;flex:1;justify-content:flex-end}
 .fs-inventory-filters input{height:28px;max-width:230px}.fs-filter-button{height:28px;font-size:10px}
 .fs-list-scroll{padding:5px}
 .fs-owned-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}
 .fs-owned{min-height:120px}.fs-owned-art{height:60px}.fs-owned-detail{height:23px;flex-basis:23px}
 .lobby-ui .collection-screen{display:flex;flex-direction:column;overflow:hidden!important}
 .lobby-ui .collection-screen .hub-tabs{min-height:27px;margin-bottom:4px!important}
 .lobby-ui .collection-screen .hub-tabs button{padding:5px 10px}
 .collection-screen .page-heading h1{font-size:18px}.collection-screen .page-heading{margin:0}
 .lobby-ui .collection-screen .toolbar{margin:4px 0}.collection-screen .search{height:29px;padding:5px 9px}
 .collection-screen .rarity-filters{padding:3px 0 6px;gap:4px;flex-shrink:0;overflow-x:auto}
 .collection-screen .rarity-filters button{padding:4px 9px;flex-shrink:0}
 .lobby-ui .species-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;flex:1;min-height:0;overflow-y:auto;align-content:start}
 .lobby-ui .species-card{aspect-ratio:.9}
 /* Battle controls form a single bottom row; guide stays in the central gap. */
 body:not(.lobby-ui) .app{grid-template-rows:40px minmax(0,1fr) 38px}
 .battle-top{height:30px;padding:0 10px}.bname small{display:none}
 .hpbox.cpu{top:35px;left:12px;width:29%;max-width:none}
 .hpbox.player{top:35px;bottom:auto;right:12px;width:29%;max-width:none}
 .hpbox .bench img{width:21px;height:21px}.status-row{font-size:8px;margin-top:2px}
 .hphead{font-size:9px}.hpbar{height:7px}
 .battle-mon.cpu{top:26%;right:4%;height:47%;width:27%}
 .battle-mon.player{top:26%;left:4%;height:47%;width:27%}
 .battle-actions{left:10px;right:10px;bottom:6px;width:auto;transform:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
 .battle-actions .move-btn{height:59px;padding:5px 7px}.battle-actions .move-btn b{font-size:11px;line-height:1.2;margin:3px 0}
 .battle-actions .move-btn em{font-size:8px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
 .tutorial-hud{left:33%;right:33%;top:33px;bottom:72px;width:auto!important;max-height:none;padding:6px!important;overflow:auto}
 .tutorial-hud>b{font-size:11px}.tutorial-hud p{font-size:9px;line-height:1.4}.tutorial-hud small{font-size:8px}
 .tutorial-guide-head{gap:4px}.tutorial-guide-head span{font-size:8px}.tutorial-guide-head button{font-size:9px;padding:5px}
 .battle-log-toggle{top:112px!important;right:12px!important;min-width:60px;height:28px;padding:4px!important;font-size:9px}
 .battle-log-panel{top:35px!important;bottom:72px;max-height:none!important;z-index:29}
 .pack-page-modal .pack-page-hero{padding:4px 10px!important;gap:8px}
 .pack-page-center .sealed-pack{height:180px;width:126px}
 .pack-page-copy h2{font-size:20px}.pack-page-copy p{font-size:10px}
}
@media(max-height:500px) and (orientation:landscape){
 .fs-owned-grid{grid-template-columns:repeat(auto-fill,minmax(195px,1fr))}
 .fs-owned{display:grid;grid-template-columns:50px minmax(0,1fr) 32px;min-height:64px;height:64px}
 .fs-owned-art{height:62px}.fs-owned-info{padding:4px;justify-content:center;min-width:0}
 .fs-owned-info>b{font-size:10px}.fs-owned-info>span{font-size:8px}.fs-owned-info>small{font-size:7px}
 .fs-owned-detail{height:100%;min-height:0;border-top:0;border-left:1px solid #304863;font-size:9px;padding:0}
 .fs-owned-rarity{font-size:7px;padding:2px;left:2px;top:2px}
}
.pack-page-modal .overlay-top-close{position:absolute!important}
@media(min-width:641px){
 .pack-page-modal{width:min(1120px,100%)!important;max-width:100%!important;min-width:0}
 .pack-cards{--pack-card-width:min(190px,calc((100dvh - 265px) * .7));grid-template-columns:repeat(5,minmax(0,1fr))!important;width:min(100%,calc(var(--pack-card-width) * 5 + 48px))!important;align-self:center}
 .pack-reveal-heading{min-width:0}.pack-reveal-instructions{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:640px) and (orientation:landscape){
 .mobile-five-grid{grid-template-columns:repeat(5,minmax(0,1fr));width:min(100%,calc((100dvh - 170px) * 3.5 + 24px));gap:6px}
 .mobile-five-card.row-top,.mobile-five-card.row-bottom:nth-child(4),.mobile-five-card.row-bottom:nth-child(5){grid-column:auto}
 .mobile-five-card .game-card{max-height:none;aspect-ratio:.7}
}
/* Keep the card name, grades and serial clear of the detail action. */
.pack-cards .pack-detail-hint{bottom:29%;right:5px}

/* Mission and login rewards */
.mission-shade{z-index:112;overscroll-behavior:contain}
.lobby-ui .missions-modal,.lobby-ui .login-bonus-modal{width:min(760px,96vw);height:min(740px,calc(100dvh - 88px));max-height:calc(100dvh - 88px);padding:0;display:flex;flex-direction:column;overflow:hidden;background:#101c2c;color:#eaf3ff;border:1px solid #3a5f84;box-shadow:0 22px 70px #0008}
.mission-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid #2b4762;flex:0 0 auto}
.mission-head h2{font-size:23px;font-weight:750;margin:3px 0 0}.mission-head small{font-size:10px;font-weight:700;letter-spacing:.18em;color:#80b9f1}
.mission-x{border:1px solid #3a6286;border-radius:9px;background:#142942;color:#d7e7fa;width:35px;height:35px;font-size:24px;flex:0 0 auto;display:grid;place-items:center;padding:0}
.mission-login-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 18px 8px;padding:12px 16px;background:#152d46;border:1px solid #3e6387;border-radius:9px;flex:0 0 auto}
.mission-login-banner small{display:block;color:#88bdf1;font-size:9px;letter-spacing:.1em}.mission-login-banner b{display:block;font-size:12px;margin-top:3px}
.mission-login-banner .btn{font-size:11px;padding:9px 16px;white-space:nowrap}
.mission-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #314d69;margin:2px 18px 0;flex:0 0 auto}
.mission-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#8ca5bf;padding:12px 4px;font-size:12px;font-weight:750;white-space:nowrap}
.mission-tabs button.active{color:#eaf6ff;border-bottom-color:#47a8ff;background:#17304a}
.mission-list{padding:12px 18px 22px;display:flex;flex-direction:column;gap:9px;overflow-y:auto;min-height:0;flex:1;overscroll-behavior:contain}
.mission-item{border:1px solid #294158;border-radius:10px;padding:12px 14px;background:#0e1a2a;display:flex;align-items:center;gap:12px;justify-content:space-between;min-height:83px}
.mission-item.ready{border-color:#3679b5}.mission-copy{min-width:0;flex:1}.mission-copy b{display:block;font-size:13px;margin-bottom:5px}.mission-copy span{display:block;color:#8aa8c3;font-size:11px}.mission-meter{height:4px;background:#294058;margin-top:10px;overflow:hidden;border-radius:4px}.mission-meter i{height:100%;display:block;background:#44a7ff}
.mission-action{display:grid;gap:6px;justify-items:center;flex:0 0 auto;min-width:92px}.mission-action strong{font-size:12px;color:#c5e1ff}.mission-action .btn{width:100%;min-height:34px;font-size:11px;padding:5px 10px}.mission-action .btn:disabled{opacity:.55}.mission-equip{border:1px solid #3f6687;background:#172b42;color:#bee0ff;padding:4px 8px;font-size:10px;border-radius:4px}.mission-equip:disabled{opacity:.55}
.lobby-ui .login-bonus-modal{height:auto;max-width:620px}.login-bonus-grid{padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.login-bonus-day{border:1px solid #355372;background:#0c1928;padding:17px 7px;text-align:center;display:grid;gap:8px;min-height:91px;align-content:center;border-radius:8px}.login-bonus-day.today{border-color:#55adff;background:#123857}.login-bonus-day small{font-size:10px;color:#95b6d4}.login-bonus-day b{font-size:13px;color:#deefff}.login-bonus-actions{padding:6px 18px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.login-bonus-actions span{font-size:12px;color:#adc6df}
.battle-data-modal{max-width:600px}.battle-data-items{display:grid;gap:10px;margin:16px 0}.battle-data-items>div{border:1px solid #385575;padding:18px 14px;background:#122338;display:flex;justify-content:space-between;gap:15px;align-items:center;border-radius:8px}.battle-data-items b{font-size:13px}.battle-data-items span{color:#8babcc;font-size:11px}
@media(max-width:540px){.lobby-ui .missions-modal,.lobby-ui .login-bonus-modal{width:100%;height:calc(100dvh - 78px);max-height:calc(100dvh - 78px)}.mission-head{padding:14px 13px}.mission-head h2{font-size:21px}.mission-login-banner{margin:10px 10px 5px;padding:9px 12px}.mission-tabs{margin:0 10px}.mission-tabs button{font-size:11px;padding:12px 1px}.mission-list{padding:8px 10px 20px;gap:7px}.mission-item{padding:10px;min-height:77px}.mission-copy b{font-size:12px}.mission-action{min-width:85px}.login-bonus-grid{padding:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.login-bonus-day{padding:12px 3px;min-height:80px}.login-bonus-day b{font-size:11px}.login-bonus-actions{padding:8px 12px 18px;align-items:stretch;flex-direction:column}.login-bonus-actions .btn{width:100%;min-height:46px}.battle-data-items>div{padding:14px 10px}}

/* The reward dialogs supply their own in-panel close controls. */
.mission-shade .overlay-top-close,.battle-data-modal > .overlay-top-close{display:none!important}

/* 限定報酬カード */
.game-card[data-base-rarity="REWARD"]{border-color:#91ccff;box-shadow:0 0 0 1px #76c4ff88,0 0 24px #78ccff1e,0 10px 24px #0008}
.game-card[data-base-rarity="REWARD"] .card-rarity{color:#edfcff;border-color:#9edbff;background:#092742f0}
.game-card[data-base-rarity="REWARD"] .card-info{border-top-color:#5397bf;background:linear-gradient(180deg,#0b2332ed,#0c121cef)}
.special-reward-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:10px;margin-top:8px;border-top:1px solid #263b50}
.special-reward-item{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #365571;background:#112134;color:#e6f3ff;border-radius:10px}
.special-reward-item img{height:64px;width:64px;object-fit:contain;flex-shrink:0}
.special-reward-item b{display:block;font-size:12px}.special-reward-item small{color:#9fc1de;font-size:10px}.special-reward-item em{font-size:10px;color:#86d3ff;font-style:normal;display:block;margin-top:4px}
@media(max-width:600px){.special-reward-list{grid-template-columns:1fr}.special-reward-item{padding:8px}.special-reward-item img{width:54px;height:54px}}

/* Earned rewards */
.lobby-home .home-shortcuts button:has(.mission-ready-dot){border-color:#399cff;background:#14395e}
.mission-ready-dot{position:absolute;right:5px;top:3px;min-width:18px;height:18px;padding:1px 4px;border-radius:10px;color:white!important;background:#eb695c;display:grid;place-items:center;font-size:10px;font-style:normal;line-height:1;font-weight:850;box-shadow:0 0 0 2px #0b1d31}
.reward-top-alert{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid #4179a7;border-radius:50%;background:#102841;color:#aadaff;cursor:pointer}
.reward-top-alert svg{width:19px;height:19px}.reward-top-alert em{position:absolute;top:-5px;right:-6px;min-width:17px;height:17px;border-radius:10px;background:#eb695c;color:white;font-style:normal;font-size:10px;display:grid;place-items:center;padding:1px 4px}
.mission-head-counter,.mission-tab-alert{display:inline-grid;place-items:center;font:800 10px system-ui;color:#fff;background:#ec6658;border-radius:10px;padding:1px 6px;margin-left:6px}
.mission-login-banner.ready{border-color:#439cff;box-shadow:inset 0 0 0 1px #318dfc33}.mission-item.claimed{opacity:.72}
.mission-item.tier-rare{border-left:3px solid #42a5f5}.mission-item.tier-epic{border-left:3px solid #a881ff}.mission-item.tier-legendary{border-left:3px solid #f2b85a}.mission-item.tier-mythic{border-left:3px solid #c7e5ff}
.title-emblem{display:inline-flex;align-items:center;max-width:100%;font-weight:800;letter-spacing:.02em;white-space:normal;line-height:1.4}
.title-emblem.tier-common{color:inherit}
.title-emblem.tier-rare{color:#79c9ff;text-shadow:0 0 8px #399eff30}
.title-emblem.tier-epic{color:#d7b6ff;text-shadow:0 0 9px #a370ee55}
.title-emblem.tier-legendary{background:linear-gradient(105deg,#f7c767,#fff6cb,#df9c42,#fff4bb);background-size:220% 100%;color:transparent;-webkit-background-clip:text;background-clip:text;animation:titleGold 6s ease-in-out infinite}
.title-emblem.tier-mythic{background:linear-gradient(115deg,#9ae7ff,#fff,#e2a6ff,#b0f4e7,#bca6ff);background-size:230% 100%;color:transparent;-webkit-background-clip:text;background-clip:text;animation:titleGold 4.5s ease-in-out infinite;filter:drop-shadow(0 0 5px #79d6ff55)}
@keyframes titleGold{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.profile-choice.tier-epic{border-color:#9364c9}.profile-choice.tier-legendary{border-color:#bc8b35;background:#32240e}.profile-choice.tier-mythic{border-color:#a7bce8;background:#242945}
.profile-choice .title-emblem{font-size:inherit}
.mission-copy b>.title-emblem{font-size:13px}
@media(prefers-reduced-motion:reduce){.title-emblem.tier-legendary,.title-emblem.tier-mythic{animation:none}}
@media(max-width:540px){.reward-top-alert{width:32px;height:32px}.reward-top-alert svg{width:16px;height:16px}.mission-tab-alert{font-size:9px;margin-left:3px;padding:0 4px}.mission-head-counter{font-size:10px}}

.challenge-filter-bar{display:flex;gap:6px;padding:9px 18px 3px;overflow-x:auto;scrollbar-width:thin;flex:0 0 auto;overscroll-behavior-inline:contain}
.challenge-filter-bar button{flex:0 0 auto;min-height:31px;border:1px solid #365477;border-radius:6px;padding:5px 12px;background:#101e2d;color:#9ac4e6;font-size:11px;font-weight:800}
.challenge-filter-bar button.active{background:#19528d;border-color:#59b4ff;color:#fff}
@media(max-width:540px){.challenge-filter-bar{padding:7px 10px 2px;gap:5px}.challenge-filter-bar button{font-size:10px;padding:5px 10px}}

/* v25: the TITLE TEXT itself conveys rarity; no glowing title container. */
.profile-choice.tier-epic,.profile-choice.tier-legendary,.profile-choice.tier-mythic{background:#15212d;border-color:#39516b;box-shadow:none;filter:none}
.profile-choice.selected{border-color:#58a6ff!important;background:#152b40!important}
.title-emblem{background-color:transparent;filter:none;isolation:isolate}
.title-emblem.tier-common{color:#d6e2ec;text-shadow:none}
.title-emblem.tier-rare{color:#49b7ff;text-shadow:0 0 3px #4bbfff99,0 0 9px #238bff9c}
.title-emblem.tier-epic{color:#db9bff;text-shadow:0 0 3px #bd58ffdd,0 0 12px #a75bf5b8}
.title-emblem.tier-legendary{
 color:#ffe8a2;-webkit-text-fill-color:transparent;
 background-image:linear-gradient(100deg,#f5ad3c,#fff4bd,#ffca59,#da831e,#fff8d5);
 background-size:230% 100%;-webkit-background-clip:text;background-clip:text;
 text-shadow:none;filter:none;animation:titleGold 4.2s linear infinite}
.title-emblem.tier-mythic{
 color:#dffaff;-webkit-text-fill-color:transparent;
 background-image:linear-gradient(95deg,#67e0ff,#ffffff,#fa82f6,#ffef98,#91ffe2,#c69bff,#67e0ff);
 background-size:300% 100%;-webkit-background-clip:text;background-clip:text;
 text-shadow:none;filter:none;animation:titleGold 3s linear infinite}
@media(prefers-reduced-motion:reduce){.title-emblem.tier-legendary,.title-emblem.tier-mythic{animation:none}}
/* A compact four-stat grid fits narrow pack results, with detailed grades in card detail. */
.game-card .card-art{bottom:34%}
.game-card .card-info{height:34%;display:flex;flex-direction:column;justify-content:center;padding:5px 6px 6px}
.game-card .card-name-line{display:flex;align-items:baseline;justify-content:space-between;gap:3px;min-width:0}
.game-card .card-name-line .card-name{font-size:clamp(9px,1vw,13px);flex:1;overflow:hidden;text-overflow:ellipsis;min-width:0}
.game-card .card-name-line .serial{flex:0 1 auto;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(6px,.66vw,9px)}
.card-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:4px}
.card-stat{min-width:0;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;border-right:1px solid #45566a77;line-height:1.1}
.card-stat:last-child{border-right:0}
.card-stat small{font-size:clamp(6px,.6vw,9px);font-weight:700;color:#8da9c8}
.card-stat b{font-size:clamp(8px,.81vw,12px);color:#f4f8ff;font-weight:800;font-variant-numeric:tabular-nums}
.card-stat-grade{font-style:normal;font-size:clamp(7px,.7vw,10px);font-weight:900}
.grade-A{color:#6abaff}.grade-B{color:#bac8d9}.grade-C{color:#e0ae67}
.detail-stat-values{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}
.detail-stat-values .detail-stat{min-width:0;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:3px}
.detail-stat-values .detail-stat>b{font-size:clamp(16px,2.2vw,24px);color:#f4f8ff;font-variant-numeric:tabular-nums}
.detail-grade{font-size:12px;font-weight:900;white-space:nowrap}
.detail-grade em{font-size:10px;font-style:normal;font-weight:650}
.fs-owned-info>small{white-space:normal;line-height:1.1;overflow:visible}
@media(max-width:640px){
 .game-card .card-info{padding:3px 3px 4px}
 .game-card .card-name-line .card-name{font-size:clamp(8px,2.25vw,11px)}
 .game-card .card-name-line .serial{font-size:clamp(5px,1.6vw,8px)}
 .card-stat-grid{margin-top:2px}
 .card-stat small{font-size:clamp(6px,1.55vw,8px)}
 .card-stat b{font-size:clamp(7px,2.15vw,10px)}
 .card-stat-grade{font-size:clamp(7px,1.85vw,9px)}
 .detail-stat-values .detail-stat{padding:8px 2px}
 .detail-grade{font-size:10px}.detail-grade em{font-size:8px}
}
/* Keep the values on a large detail card readable on small viewports. */
.quick-card-detail .game-card .card-name-line .card-name,.detail-modal .game-card .card-name-line .card-name{font-size:14px}
.quick-card-detail .game-card .card-name-line .serial,.detail-modal .game-card .card-name-line .serial{font-size:9px}
.quick-card-detail .game-card .card-info,.detail-modal .game-card .card-info{padding:8px 9px}
.quick-card-detail .game-card .card-stat small,.detail-modal .game-card .card-stat small{font-size:10px}
.quick-card-detail .game-card .card-stat b,.detail-modal .game-card .card-stat b{font-size:14px}
.quick-card-detail .game-card .card-stat-grade,.detail-modal .game-card .card-stat-grade{font-size:11px}
@media(max-width:640px){.lobby-ui .fixed-loadout .load-slot .info small{display:none}}

/* v26: Background selections override the base blue lobby scene, including mobile. */
.lobby-ui .lobby-home .home-bg[data-scene="blue"]{background:radial-gradient(ellipse at 65% 45%,#20456c 0%,#122941 31%,#0c1829 60%,#080e19 94%)}
.lobby-ui .lobby-home .home-bg[data-scene="night"]{background:radial-gradient(ellipse at 60% 42%,#333c6b 0%,#151833 36%,#090f22 66%,#060912 94%)}
.lobby-ui .lobby-home .home-bg[data-scene="forest"]{background:radial-gradient(ellipse at 64% 46%,#265e46 0%,#143b32 34%,#0b2521 60%,#07150f 95%)}
.lobby-ui .lobby-home .home-bg[data-scene="arena"]{background:radial-gradient(ellipse at 63% 43%,#625d55 0%,#333f4f 33%,#182535 62%,#0b121b 95%)}
@media(max-width:900px){
 .lobby-ui .lobby-home .home-bg[data-scene="blue"]{background:radial-gradient(ellipse at 53% 37%,#224f78 0%,#132b46 40%,#0a1425 78%)}
 .lobby-ui .lobby-home .home-bg[data-scene="night"]{background:radial-gradient(ellipse at 53% 37%,#394172 0%,#1b2045 40%,#080d20 80%)}
 .lobby-ui .lobby-home .home-bg[data-scene="forest"]{background:radial-gradient(ellipse at 53% 37%,#2a664b 0%,#163c33 40%,#081d16 80%)}
 .lobby-ui .lobby-home .home-bg[data-scene="arena"]{background:radial-gradient(ellipse at 53% 37%,#69635a 0%,#354352 40%,#111a25 80%)}
}
/* Two visibly usable rows of five cards on desktop. Only chosen cards display stats. */
@media(min-width:901px) and (min-height:501px){
 .lobby-ui .fusion-v12 .fs-owned-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
 .lobby-ui .fusion-v12 .fs-workbench{height:clamp(205px,31dvh,300px)}
 .lobby-ui .fusion-v12 .fs-owned{height:clamp(104px,14dvh,134px);min-height:104px}
 .lobby-ui .fusion-v12 .fs-owned-art{height:calc(100% - 27px)}
 .lobby-ui .fusion-v12 .fs-owned-info{min-height:27px}
}
.fs-owned-info{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap;padding:6px 7px}
.fs-owned-info>span,.fs-owned-info>small{font-size:10px;color:#9dc1e7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-owned-info>small{color:#8fa5bd}
.fs-slot-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 9px;font-variant-numeric:tabular-nums;text-align:left}
.fs-slot-stats>span{font-size:10px;white-space:nowrap;color:#d5e7fc}
.fs-slot-stats i{font-size:9px;font-style:normal;color:#9bb4d6}
@media(max-width:900px){.fs-slot-stats{gap:1px 3px}.fs-slot-stats>span{font-size:8px}.fs-slot-stats i{font-size:7px}.fs-owned-info{padding:4px 5px}.fs-owned-info>span,.fs-owned-info>small{font-size:8px}}
@media(max-width:360px){.fs-owned-info>span,.fs-owned-info>small{font-size:7px}}
/* Initial guided match occupies the whole screen: only the expected action. */
.tutorial-first-run .tutorial-only-app{display:grid;grid-template-rows:minmax(0,1fr);height:100dvh;max-height:100dvh}
.tutorial-first-run .tutorial-only-app .content{height:100%;min-height:0}
.tutorial-first-run .battle-log-panel,.tutorial-first-run .battle-log-toggle{display:none!important}
.tutorial-first-run .battle-detail-target{pointer-events:none!important;cursor:default}
.tutorial-first-run .battle-actions.tutorial-one-action{grid-template-columns:minmax(0,1fr);max-width:460px;left:50%;right:auto;transform:translateX(-50%);width:min(460px,calc(100vw - 24px))}
.tutorial-first-run .battle-actions.tutorial-one-action .move-btn{width:100%;height:76px}
.tutorial-first-run .tutorial-hud{pointer-events:none}
@media(max-width:900px){
 .tutorial-first-run .battle-actions.tutorial-one-action{bottom:calc(12px + env(safe-area-inset-bottom));max-width:none;width:calc(100vw - 24px)}
 .tutorial-first-run .battle-actions.tutorial-one-action .move-btn{height:clamp(66px,10dvh,80px)}
 .tutorial-first-run .tutorial-hud{max-height:118px;top:clamp(115px,24dvh,188px);overflow-y:auto}
}

/* Keep image captions readable at both desktop and phone widths. */
.fs-owned-info{background:#142439;border-top:1px solid #2d4a67}
.fs-owned-info>span{color:#dbeeff;font-weight:800;letter-spacing:.02em}
.fs-owned-info>small{color:#a4c2df;font-weight:700}

/* v27 atlas view: compact control adjacent to heading, never consumes grid height */
.atlas-screen .atlas-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:0 0 auto;margin:0 0 4px}
.atlas-heading-title{min-width:0}
.atlas-view-switch{display:inline-flex;flex:0 0 auto;align-items:center;padding:3px;gap:3px;border:1px solid #345777;border-radius:9px;background:#081829}
.atlas-view-switch button{min-width:67px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:#9eb7d0;font-size:12px;font-weight:750;cursor:pointer}
.atlas-view-switch button.active{background:#2173c7;color:#fff;box-shadow:0 2px 8px #0007}
.atlas-screen .atlas-grid{margin-top:12px!important}
.atlas-entry.atlas-foil{border-color:#5d7da3;background:linear-gradient(130deg,#142837,#191e37 55%,#102b2b)}
.atlas-entry.atlas-foil .atlas-thumb{border:1px solid #5678a2}
.atlas-entry.atlas-foil .atlas-label small{color:#a4d2f1}
/* v27 rewards */
.mission-header-actions{display:flex;align-items:center;gap:9px;min-width:0}
.mission-claim-all{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;padding:10px 13px;border:1px solid #43a1f0;border-radius:8px;background:#0b5faf;color:#fff;font-size:12px;font-weight:800;cursor:pointer}
.mission-claim-all:disabled{opacity:.35;cursor:default;border-color:#44617b;background:#15293c}
.mission-claim-all span{background:#ffffff29;border-radius:5px;padding:1px 6px;font-size:11px}
.lobby-ui .reward-receipt{width:min(670px,95vw);height:min(690px,calc(100dvh - 84px));max-height:calc(100dvh - 84px);padding:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #42688e;border-radius:15px;background:#101c2c;color:#edf5ff}
.receipt-header{padding:21px 22px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #314762}
.receipt-header small{color:#88b8eb;font-size:10px;font-weight:800;letter-spacing:.16em}
.receipt-header h2{margin:4px 0;font-size:24px}
.receipt-header p{margin:0;color:#9fb8d2;font-size:12px}
.receipt-total{display:flex;gap:24px;align-items:center;padding:15px 22px;border-bottom:1px solid #2f4d6b;background:#102c48}
.receipt-total div{display:grid;gap:4px}.receipt-total small{color:#a2bed9;font-size:10px}.receipt-total b{font-size:24px;color:#fff}
.receipt-list{flex:1;min-height:0;overflow:auto;padding:6px 22px 12px;overscroll-behavior:contain}
.receipt-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #28415b;padding:11px 2px}
.receipt-item div{display:grid;gap:4px;min-width:0}.receipt-item small{color:#87afd3;font-size:9px}.receipt-item b{font-size:13px;min-width:0}.receipt-item strong{color:#a4dfff;white-space:nowrap;font-size:13px}.receipt-item .receipt-title-label{color:#f0ce83}
.receipt-footer{display:flex;justify-content:flex-end;padding:12px 20px 18px;border-top:1px solid #304f6d}.receipt-footer button{min-width:160px}
@media(max-width:540px){
 .atlas-view-switch{padding:2px;gap:2px}.atlas-view-switch button{min-width:54px;padding:7px 6px;font-size:11px}
 .mission-head{gap:7px}.mission-header-actions{gap:6px}.mission-claim-all{font-size:10px;padding:8px 8px}.mission-claim-all span{font-size:9px;padding:1px 4px}
 .lobby-ui .reward-receipt{width:100%;height:min(760px,calc(100dvh - 74px));max-height:calc(100dvh - 74px)}
 .receipt-header{padding:14px}.receipt-header h2{font-size:20px}.receipt-total{padding:13px 14px;gap:16px}.receipt-total b{font-size:21px}
 .receipt-list{padding:5px 14px}.receipt-item b{font-size:12px}.receipt-item strong{font-size:12px}.receipt-footer{padding:12px 14px}
}
/* v28 — Fusion collection cards: full artwork, five columns and two usable rows on desktop. */
@media (min-width:901px) and (min-height:501px) {
 .lobby-ui .screen.fusion-v12 {gap:8px;}
 .lobby-ui .fusion-v12 .fs-workbench {height:clamp(175px,22dvh,216px);}
 .lobby-ui .fusion-v12 .fs-owned-grid {
   display:grid;
   grid-template-columns:repeat(5,minmax(0,1fr));
   gap:8px;
   align-items:start;
 }
 .lobby-ui .fusion-v12 .fs-owned {
   display:flex;
   flex-direction:column;
   height:clamp(150px,19dvh,190px);
   min-height:150px;
   min-width:0;
   overflow:hidden;
 }
 .lobby-ui .fusion-v12 .fs-owned-art {
   position:relative;
   display:block;
   height:auto;
   flex:1 1 auto;
   min-height:0;
   width:100%;
   overflow:hidden;
 }
 .lobby-ui .fusion-v12 .fs-owned-art img {
   display:block;
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   max-height:100%;
   object-fit:contain;
   object-position:center center;
   padding:4px 6px;
 }
 .lobby-ui .fusion-v12 .fs-owned-info {
   height:28px;
   min-height:28px;
   flex:0 0 28px;
   justify-content:space-between;
   align-items:center;
   gap:5px;
   background:#0c192a;
   border-top:1px solid #2e4968;
   padding:5px 8px;
 }
 .lobby-ui .fusion-v12 .fs-owned-info>span,
 .lobby-ui .fusion-v12 .fs-owned-info>small {font-size:10px;line-height:1.2;color:#bbd7f2;}
}

/* v29 finish final override */
.game-card[data-finish="Foil"]::before,.game-card[data-finish="Foil"]::after,.game-card[data-hr="true"]::before,.game-card[data-hr="true"]::after{display:block}
.game-card[data-finish="Foil"] .card-art::after,.game-card[data-hr="true"] .card-art::after{content:"";padding:0;-webkit-mask:none;mask:none}
.game-card[data-finish="Foil"]{border-color:#87b4d9;box-shadow:0 0 0 1px #7fb3d433,0 12px 26px #0008,0 0 32px #8ae0ff22}
.game-card[data-finish="Foil"] .card-rarity{color:#eff8ff;text-shadow:0 0 8px #7dd8ff88,0 2px 6px #000}
.game-card[data-finish="Foil"] .finish{color:#d8f7ff}
.game-card[data-finish="Foil"] .card-art{background:radial-gradient(circle at 50% 42%,#294965 0,#162538 52%,#111821 100%);box-shadow:inset 0 0 0 1px #b8eeff44,inset 0 0 24px #67e0ff22}
.game-card[data-finish="Foil"]::before{opacity:1;background:radial-gradient(circle at 16% 20%,#ffffff6a 0 1px,transparent 2px),radial-gradient(circle at 79% 18%,#aef1ff66 0 1px,transparent 2px),radial-gradient(circle at 24% 74%,#ffdff466 0 1px,transparent 2px),radial-gradient(circle at 70% 70%,#9fbeff5a 0 1px,transparent 2px),linear-gradient(180deg,#ffffff09,#ffffff00 42%,#ffffff08 58%,#ffffff00 100%);background-size:72px 72px,110px 110px,96px 96px,128px 128px,100% 100%;mix-blend-mode:screen;animation:foilTwinkle 5.8s linear infinite}
.game-card[data-finish="Foil"]::after{display:block;opacity:.92;inset:-32%;background:linear-gradient(115deg,transparent 38%,#b3fdff10 43%,#e7fbff68 48%,#ffc8fa40 52%,#8dbfff45 56%,transparent 63%);transform:translateX(-55%) rotate(12deg);animation:foilSweep 4.6s linear infinite}
.game-card[data-finish="Foil"] .card-art::before{opacity:1;background:radial-gradient(circle at 50% 46%,#d3ffff12 0,#7be5ff22 36%,transparent 68%),radial-gradient(circle at 18% 18%,#ffffff86 0 1px,transparent 2px),radial-gradient(circle at 84% 24%,#c4f5ff80 0 1px,transparent 2px),radial-gradient(circle at 22% 86%,#ffd8ff7a 0 1px,transparent 2px),radial-gradient(circle at 78% 78%,#9bc9ff78 0 1px,transparent 2px);background-size:100% 100%,58px 58px,76px 76px,70px 70px,90px 90px;mix-blend-mode:screen}
.game-card[data-finish="Foil"] .card-art::after{opacity:1;inset:6px;border-radius:10px;border:1px solid #98dfff70;box-shadow:inset 0 0 16px #cbf7ff1a,0 0 24px #7ce4ff22;background:none;filter:none;animation:none}
.game-card[data-finish="Foil"] .card-art img{filter:drop-shadow(0 15px 12px #0009) drop-shadow(0 0 16px #93f0ff26) saturate(1.07) brightness(1.05);animation:none}
.game-card[data-hr="true"]{border-color:#d9ba63;background:linear-gradient(180deg,#211a0e,#130f0b 54%,#0e1217 100%);box-shadow:0 0 0 1px #f4cf7048,0 12px 30px #0008,0 0 36px #f0c75a1d}
.game-card[data-hr="true"] .card-rarity{color:#ffe796;text-shadow:0 0 10px #ffdd73a4,0 2px 6px #000}
.game-card[data-hr="true"] .card-no{color:#f4e4b0}
.game-card[data-hr="true"] .finish{color:#f4db9a}
.game-card[data-hr="true"] .card-art{background:radial-gradient(circle at 50% 42%,#594521 0,#22180c 52%,#11161d 100%);box-shadow:inset 0 0 0 1px #f5dc8a46,inset 0 0 28px #e7c65424}
.game-card[data-hr="true"]::before{opacity:1;background:radial-gradient(circle at 14% 18%,#ffe48b72 0 1px,transparent 2px),radial-gradient(circle at 82% 22%,#fff7d06b 0 1px,transparent 2px),radial-gradient(circle at 26% 74%,#f0c85f62 0 1px,transparent 2px),radial-gradient(circle at 76% 72%,#ffe08068 0 1px,transparent 2px),linear-gradient(180deg,#fff2b707,#ffffff00 44%,#ffe89d0a 62%,#ffffff00 100%);background-size:78px 78px,118px 118px,88px 88px,132px 132px,100% 100%;mix-blend-mode:screen;animation:goldTwinkle 6.2s linear infinite}
.game-card[data-hr="true"]::after{display:block;opacity:1;inset:-30%;background:linear-gradient(114deg,transparent 36%,#fff2aa00 41%,#fff2aa30 45%,#fff0c85f 50%,#fff6c53f 55%,transparent 62%);transform:translateX(-55%) rotate(14deg);animation:urSweep 4.3s linear infinite}
.game-card[data-hr="true"] .card-art::before{opacity:1;background:radial-gradient(circle at 50% 42%,#fff2aa10 0,#ffd44d30 35%,transparent 70%),radial-gradient(circle at 18% 18%,#ffe57f7c 0 1px,transparent 2px),radial-gradient(circle at 84% 24%,#fff2be78 0 1px,transparent 2px),radial-gradient(circle at 22% 86%,#efc65b75 0 1px,transparent 2px),radial-gradient(circle at 78% 78%,#f6dda285 0 1px,transparent 2px),repeating-linear-gradient(120deg,transparent 0 12px,#ffe68912 12px 13px,transparent 13px 25px);mix-blend-mode:screen}
.game-card[data-hr="true"] .card-art::after{opacity:1;inset:5px;border-radius:10px;border:1px solid #f4d57870;box-shadow:inset 0 0 18px #fff0be18,0 0 30px #f4c54f18;background:none;filter:none;animation:none}
.game-card[data-hr="true"] .card-art img{filter:sepia(.33) saturate(1.18) hue-rotate(-10deg) brightness(1.08) contrast(1.03) drop-shadow(0 14px 12px #000a) drop-shadow(0 0 14px #f0cf6b26);animation:none}
.game-card[data-hr="true"][data-finish="Foil"]{box-shadow:0 0 0 1px #f0d58475,0 0 0 3px #87dfff16,0 14px 32px #0009,0 0 40px #eed37a2a}
.game-card[data-hr="true"][data-finish="Foil"]::before{opacity:1;background:radial-gradient(circle at 15% 18%,#ffeebd76 0 1px,transparent 2px),radial-gradient(circle at 82% 20%,#d6f6ff78 0 1px,transparent 2px),radial-gradient(circle at 24% 76%,#ffd9ff76 0 1px,transparent 2px),radial-gradient(circle at 76% 72%,#ffd87074 0 1px,transparent 2px),linear-gradient(180deg,#fff3c408,#ffffff00 44%,#d3f4ff08 60%,#ffffff00 100%);background-size:70px 70px,108px 108px,90px 90px,128px 128px,100% 100%;mix-blend-mode:screen;animation:goldTwinkle 5.4s linear infinite}
.game-card[data-hr="true"][data-finish="Foil"]::after{opacity:1;inset:-31%;background:linear-gradient(114deg,transparent 36%,#fff2aa00 40%,#fff3d248 45%,#ffffff6f 50%,#ffc8f14b 55%,#9ddbff3f 58%,transparent 64%);transform:translateX(-55%) rotate(14deg);animation:urSweep 4s linear infinite}
.game-card[data-hr="true"][data-finish="Foil"] .card-art img{filter:sepia(.26) saturate(1.24) hue-rotate(-9deg) brightness(1.1) contrast(1.04) drop-shadow(0 14px 12px #000a) drop-shadow(0 0 16px #f4d57324)}
.game-card.sp{border-color:#bf92ff;background:linear-gradient(180deg,#24162d,#140f1c 54%,#0e1217 100%);box-shadow:0 0 0 1px #b576ff66,0 12px 30px #0008,0 0 36px #b576ff20}.game-card.sp .card-rarity{color:#f1ddff;text-shadow:0 0 9px #d9aaff9c,0 2px 6px #000}.game-card.sp .card-art{background:radial-gradient(circle at 50% 42%,#47315e 0,#24162f 52%,#11161d 100%)}.game-card.sp .card-art img{filter:drop-shadow(0 15px 12px #0009) drop-shadow(0 0 16px #d59dff28) saturate(1.12) brightness(1.06);animation:none}

/* HR is the independent luxury finish; UR is a normal rarity. */
/* v29 finish final override */
.game-card[data-finish="Foil"]::before,.game-card[data-finish="Foil"]::after,.game-card[data-hr="true"]::before,.game-card[data-hr="true"]::after{display:block}
.game-card[data-finish="Foil"] .card-art::after,.game-card[data-hr="true"] .card-art::after{content:"";padding:0;-webkit-mask:none;mask:none}
.game-card[data-hr="true"]{border-color:#d9ba63;background:linear-gradient(180deg,#211a0e,#130f0b 54%,#0e1217 100%);box-shadow:0 0 0 1px #f4cf7048,0 12px 30px #0008,0 0 36px #f0c75a1d}
.game-card[data-hr="true"] .card-rarity{color:#ffe796;text-shadow:0 0 10px #ffdd73a4,0 2px 6px #000}
.game-card[data-hr="true"] .card-no{color:#f4e4b0}
.game-card[data-hr="true"] .finish{color:#f4db9a}
.game-card[data-hr="true"] .card-art{background:radial-gradient(circle at 50% 42%,#594521 0,#22180c 52%,#11161d 100%);box-shadow:inset 0 0 0 1px #f5dc8a46,inset 0 0 28px #e7c65424}
.game-card[data-hr="true"]::before{opacity:1;background:radial-gradient(circle at 14% 18%,#ffe48b72 0 1px,transparent 2px),radial-gradient(circle at 82% 22%,#fff7d06b 0 1px,transparent 2px),radial-gradient(circle at 26% 74%,#f0c85f62 0 1px,transparent 2px),radial-gradient(circle at 76% 72%,#ffe08068 0 1px,transparent 2px),linear-gradient(180deg,#fff2b707,#ffffff00 44%,#ffe89d0a 62%,#ffffff00 100%);background-size:78px 78px,118px 118px,88px 88px,132px 132px,100% 100%;mix-blend-mode:screen;animation:goldTwinkle 6.2s linear infinite}
.game-card[data-hr="true"]::after{display:block;opacity:1;inset:-30%;background:linear-gradient(114deg,transparent 36%,#fff2aa00 41%,#fff2aa30 45%,#fff0c85f 50%,#fff6c53f 55%,transparent 62%);transform:translateX(-55%) rotate(14deg);animation:urSweep 4.3s linear infinite}
.game-card[data-hr="true"] .card-art::before{opacity:1;background:radial-gradient(circle at 50% 42%,#fff2aa10 0,#ffd44d30 35%,transparent 70%),radial-gradient(circle at 18% 18%,#ffe57f7c 0 1px,transparent 2px),radial-gradient(circle at 84% 24%,#fff2be78 0 1px,transparent 2px),radial-gradient(circle at 22% 86%,#efc65b75 0 1px,transparent 2px),radial-gradient(circle at 78% 78%,#f6dda285 0 1px,transparent 2px),repeating-linear-gradient(120deg,transparent 0 12px,#ffe68912 12px 13px,transparent 13px 25px);mix-blend-mode:screen}
.game-card[data-hr="true"] .card-art::after{opacity:1;inset:5px;border-radius:10px;border:1px solid #f4d57870;box-shadow:inset 0 0 18px #fff0be18,0 0 30px #f4c54f18;background:none;filter:none;animation:none}
.game-card[data-hr="true"] .card-art img{filter:sepia(.33) saturate(1.18) hue-rotate(-10deg) brightness(1.08) contrast(1.03) drop-shadow(0 14px 12px #000a) drop-shadow(0 0 14px #f0cf6b26);animation:none}
.game-card[data-hr="true"][data-finish="Foil"]{box-shadow:0 0 0 1px #f0d58475,0 0 0 3px #87dfff16,0 14px 32px #0009,0 0 40px #eed37a2a}
.game-card[data-hr="true"][data-finish="Foil"]::before{opacity:1;background:radial-gradient(circle at 15% 18%,#ffeebd76 0 1px,transparent 2px),radial-gradient(circle at 82% 20%,#d6f6ff78 0 1px,transparent 2px),radial-gradient(circle at 24% 76%,#ffd9ff76 0 1px,transparent 2px),radial-gradient(circle at 76% 72%,#ffd87074 0 1px,transparent 2px),linear-gradient(180deg,#fff3c408,#ffffff00 44%,#d3f4ff08 60%,#ffffff00 100%);background-size:70px 70px,108px 108px,90px 90px,128px 128px,100% 100%;mix-blend-mode:screen;animation:goldTwinkle 5.4s linear infinite}
.game-card[data-hr="true"][data-finish="Foil"]::after{opacity:1;inset:-31%;background:linear-gradient(114deg,transparent 36%,#fff2aa00 40%,#fff3d248 45%,#ffffff6f 50%,#ffc8f14b 55%,#9ddbff3f 58%,transparent 64%);transform:translateX(-55%) rotate(14deg);animation:urSweep 4s linear infinite}
.game-card[data-hr="true"][data-finish="Foil"] .card-art img{filter:sepia(.26) saturate(1.24) hue-rotate(-9deg) brightness(1.1) contrast(1.04) drop-shadow(0 14px 12px #000a) drop-shadow(0 0 16px #f4d57324)}

/* HR finish marker in the BAN / lineup screen. Illustration remains unmodified. */
.team-card.team-card-hr{border:2px solid #e7b957;background:linear-gradient(160deg,#342716,#171920 44%,#171c22);box-shadow:inset 0 0 0 1px #fff0b575,0 0 0 1px #b8873190,0 0 15px #e8b04e32}
.team-card.team-card-hr::before{content:"";position:absolute;inset:5px;border:1px solid #caa35488;pointer-events:none}
.team-card.team-card-hr b{color:#ffe6ab;text-shadow:0 1px 6px #5a330c}
.team-card.team-card-hr img{filter:drop-shadow(0 10px 10px #0007)}
.atlas-view-switch button.locked{opacity:.56;cursor:not-allowed}.atlas-entry.atlas-hr:not(.unknown){border-color:#bf9045;background:linear-gradient(135deg,#322414,#131c2b)}
.atlas-entry.atlas-hr:not(.unknown) .atlas-thumb{background:radial-gradient(circle,#6a451954,transparent 70%)}
.mail-hr-pack{display:inline-flex!important;margin-top:8px;padding:7px 12px;border:1px solid #d4ad61;border-radius:8px;background:linear-gradient(120deg,#49331a,#161b25);color:#ffe2a0!important;letter-spacing:.04em}
/* Battle conditions: distinct visual language for healing and continuing damage */
.condition-pulse{position:absolute;z-index:22;width:min(35vw,430px);height:42%;pointer-events:none;transform:translate(-50%,-50%);border-radius:50%;animation:conditionBloom .65s ease-out both}
.condition-pulse.player{left:25%;top:60%}.condition-pulse.cpu{left:75%;top:31%}
.condition-pulse.condition-heal{background:radial-gradient(ellipse,#a7ffd959 0,#26cc8570 18%,#2ccd7430 44%,transparent 71%);box-shadow:inset 0 0 28px #80ffc755}
.condition-pulse.condition-poison{background:radial-gradient(ellipse,#d59cff73 0,#7834a66e 23%,#5a2a8230 50%,transparent 70%)}
.condition-pulse.condition-burn{background:radial-gradient(ellipse,#ffcf846b 0,#f46f327b 23%,#9c282c36 48%,transparent 72%)}
.condition-pulse.condition-bleed{background:radial-gradient(ellipse,#ffa2aa6b 0,#ce314c66 25%,transparent 70%)}
.condition-pulse.condition-curse{background:radial-gradient(ellipse,#ada5fc64 0,#43438e80 23%,transparent 70%)}
.condition-pulse.condition-status{background:radial-gradient(ellipse,#b2d4ff66 0,#4162c274 24%,transparent 72%)}
@keyframes conditionBloom{0%{opacity:0;scale:.65}25%{opacity:1;scale:1.06}100%{opacity:0;scale:1.55}}
.damage-pop.condition-value{z-index:43;color:#e8fef1;font-size:clamp(25px,4.3vw,52px);white-space:nowrap;letter-spacing:-.02em}
.damage-pop.condition-value.condition-heal{color:#a1ffd2;text-shadow:0 0 18px #1afc91aa,0 4px 16px #031c0d}
.damage-pop.condition-value.condition-poison{color:#e4b8ff;text-shadow:0 0 18px #a755d5bb,0 4px 16px #200531}
.damage-pop.condition-value.condition-burn{color:#ffd09c;text-shadow:0 0 18px #ff7a34b0,0 4px 16px #3e0e08}
.damage-pop.condition-value.condition-bleed{color:#ffafbc;text-shadow:0 0 18px #e44366aa,0 4px 16px #3a0714}
.damage-pop.condition-value.condition-curse{color:#d2c5ff;text-shadow:0 0 16px #8d78f3ae,0 4px 16px #08062a}
.battle-mon.condition-heal-monster{filter:drop-shadow(0 0 18px #67ff9c9b) drop-shadow(0 24px 24px #0009)}
.battle-mon.condition-poison-monster{filter:drop-shadow(0 0 18px #ad64e3aa) drop-shadow(0 24px 24px #0009)}
.battle-mon.condition-burn-monster{filter:drop-shadow(0 0 18px #ff814cad) drop-shadow(0 24px 24px #0009)}
.battle-mon.condition-bleed-monster,.battle-mon.condition-curse-monster{filter:drop-shadow(0 0 18px #a67cba9b) drop-shadow(0 24px 24px #0009)}
@media(max-width:640px){.condition-pulse{width:64vw;height:31%}.condition-pulse.player{left:29%;top:62%}.condition-pulse.cpu{left:70%;top:30%}.damage-pop.condition-value{font-size:clamp(22px,6vw,38px)}}
@media(prefers-reduced-motion:reduce){.condition-pulse{animation-duration:.05s}.game-card[data-finish="Foil"]::after,.game-card[data-hr="true"]::after{animation:none}}

.species-card.species-has-hr{border-color:#b98b3e;box-shadow:0 0 0 1px #e8be6044,0 10px 25px #0008}.species-hr-mark{position:absolute;z-index:5;right:7px;top:7px;min-width:24px;padding:3px 5px;border-radius:5px;color:#3e280b;background:linear-gradient(120deg,#ffeeba,#c58d30 45%,#fff5cf);font-size:10px;line-height:1.2;font-weight:950;text-align:center;box-shadow:0 0 12px #f0c1585c}


/* v31: metal-grain card finishes. Micro-particles, not decorative stars. */
.game-card[data-hr="true"],.game-card[data-finish="Foil"]{isolation:isolate}
.game-card[data-hr="true"] .card-art{background:radial-gradient(circle at 48% 43%,#cba950 0%,#8c6228 28%,#4b3519 64%,#19140f 100%)}
.game-card[data-hr="true"]{border:2px solid #ffdf8c;box-shadow:0 0 0 1px #fff0b25e,0 0 20px #d6982990,0 8px 28px #000b;background:linear-gradient(135deg,#fff0b1,#c48e38 20%,#55310c 44%,#eed088 75%,#89561b)}
.game-card[data-hr="true"]::before{display:block;content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:1;
 background-image:var(--v31-hr-grain,none),var(--v31-hr-grain,none),radial-gradient(ellipse at 40% 31%,#fffbcc85,transparent 57%);
 background-size:230px 230px,153px 153px,100% 100%;background-position:0 0,31px 41px,0 0;mix-blend-mode:screen;
 animation:v31GoldFlecks 5s ease-in-out infinite alternate}
.game-card[data-hr="true"]::after{display:block;content:"";position:absolute;inset:-40%;z-index:2;pointer-events:none;opacity:.83;
 background:linear-gradient(113deg,transparent 36%,#ffd46700 42%,#fff3c348 46%,#fffcee88 49%,#ffc66b36 53%,transparent 61%);
 transform:translateX(-54%) rotate(9deg);animation:v31GoldBeam 5.2s ease-in-out infinite}
.game-card[data-hr="true"] .card-art::before{content:"";position:absolute;inset:0;z-index:0;opacity:1;background:repeating-conic-gradient(from 12deg at 50% 46%,#ffe59c0b 0deg 4deg,transparent 5deg 14deg);mix-blend-mode:screen}
.game-card[data-hr="true"] .card-art::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;padding:0;-webkit-mask:none;mask:none;opacity:.9;filter:none;animation:v31GoldFlecks 5.2s ease-in-out infinite alternate;
 background-image:var(--v31-hr-grain,none),radial-gradient(ellipse at 56% 33%,#ffdf8c38 0%,transparent 66%);background-size:190px 190px,100% 100%;border:0;border-radius:0;box-shadow:inset 0 0 18px #fff7c142;mix-blend-mode:screen}
.game-card[data-hr="true"] .card-art img{z-index:1;position:relative;filter:sepia(.26) saturate(1.12) hue-rotate(-9deg) brightness(1.09) drop-shadow(0 5px 8px #180d02a8) drop-shadow(0 0 13px #ffe89a90);animation:none}
.game-card[data-hr="true"] .card-info{z-index:3;position:absolute;background:linear-gradient(165deg,#33230fef,#15140fef);border-top:1px solid #ffd98699}
.game-card[data-hr="true"] .card-name{color:#fff3cb;text-shadow:0 1px 6px #492600}
.game-card[data-hr="true"] .card-rarity{z-index:4;color:#231a0a!important;background:linear-gradient(110deg,#fff8dc,#efc666,#fff4d1)!important;border-color:#ffe7a5!important;text-shadow:none!important;box-shadow:0 0 11px #fff0b05e}
.game-card[data-hr="true"] .card-no,.game-card[data-hr="true"] .finish{z-index:4;color:#fff2cb}
.game-card[data-finish="Foil"]:not([data-hr="true"]){border:2px solid #b5e6ff;box-shadow:0 0 0 1px #d7c6ff8c,0 0 17px #91c9ffd6,0 9px 28px #000b;background:linear-gradient(150deg,#cee5ff,#667fbd 22%,#392c5c 45%,#b6e4f0 78%,#739ac7)}
.game-card[data-finish="Foil"]:not([data-hr="true"])::before{display:block;content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:1;
 background-image:var(--v31-foil-grain,none),var(--v31-foil-grain,none),linear-gradient(150deg,#d5e9ff33,#ecc5ff22 51%,#fff0ca24);
 background-size:222px 222px,158px 158px,100% 100%;background-position:0 0,30px 34px,0 0;mix-blend-mode:screen;
 animation:v31FoilFlecks 5s ease-in-out infinite alternate}
.game-card[data-finish="Foil"]:not([data-hr="true"])::after{display:block;content:"";position:absolute;inset:-40%;z-index:2;pointer-events:none;opacity:.86;background:linear-gradient(113deg,transparent 37%,#bdffff00 43%,#ccf7ff73 48%,#efc0ff7c 50%,#faffdd59 54%,transparent 61%);
 transform:translateX(-54%) rotate(9deg);animation:v31GoldBeam 5.2s ease-in-out infinite}
.game-card[data-finish="Foil"]:not([data-hr="true"]) .card-art{background:radial-gradient(circle at 50% 43%,#587eab 0%,#28375c 54%,#111b2b 100%)}
.game-card[data-finish="Foil"]:not([data-hr="true"]) .card-art::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.9;padding:0;-webkit-mask:none;mask:none;border:0;border-radius:0;filter:none;animation:v31FoilFlecks 5s ease-in-out infinite alternate;background-image:var(--v31-foil-grain,none),linear-gradient(140deg,#c3f8ff24,#ffd1ef2e 50%,#c5d4ff26);background-size:180px 180px,100% 100%;box-shadow:inset 0 0 16px #d9f1ff55;mix-blend-mode:screen}
.game-card[data-finish="Foil"]:not([data-hr="true"]) .card-art img{z-index:1;position:relative;filter:brightness(1.09) saturate(1.12) drop-shadow(0 5px 8px #090923a8) drop-shadow(0 0 10px #b0e5ff9f);animation:none}
.game-card[data-finish="Foil"]:not([data-hr="true"]) .card-info{z-index:3;background:linear-gradient(140deg,#19263ced,#151827ed);border-top-color:#b6d8ff80}
.game-card[data-hr="true"][data-finish="Foil"]::before{background-image:var(--v31-hr-grain,none),var(--v31-foil-grain,none),radial-gradient(ellipse at 45% 32%,#fff5b284,transparent 60%);background-size:202px 202px,155px 155px,100% 100%}
.game-card[data-hr="true"][data-finish="Foil"] .card-art::after{background-image:var(--v31-hr-grain,none),var(--v31-foil-grain,none);background-size:183px 183px,137px 137px}
@keyframes v31GoldFlecks{0%{background-position:0 0,31px 41px,0 0;opacity:.86}100%{background-position:10px 16px,40px 32px,0 0;opacity:1}}
@keyframes v31FoilFlecks{0%{background-position:0 0,30px 34px,0 0;opacity:.84}100%{background-position:13px 18px,40px 24px,0 0;opacity:1}}
@keyframes v31GoldBeam{0%,8%{transform:translateX(-58%) rotate(9deg);opacity:.15}48%{opacity:.93}94%,100%{transform:translateX(60%) rotate(9deg);opacity:.15}}
@media(prefers-reduced-motion:reduce){.game-card[data-hr="true"]::before,.game-card[data-finish="Foil"]::before,.game-card[data-hr="true"]::after,.game-card[data-finish="Foil"]::after,.game-card[data-hr="true"] .card-art::after,.game-card[data-finish="Foil"] .card-art::after{animation:none!important}}
/* Finishing balance: keep the artwork clear beneath reflective grain. */
.game-card[data-hr="true"]::before{opacity:.72}
.game-card[data-hr="true"] .card-art::after{opacity:.54}
.game-card[data-hr="true"] .card-art img{filter:sepia(.2) saturate(1.17) hue-rotate(-6deg) brightness(1.035) contrast(1.09) drop-shadow(0 5px 8px #180d02a8) drop-shadow(0 0 8px #ffe89a50)}
.game-card[data-finish="Foil"]:not([data-hr="true"])::before{opacity:.72}
.game-card[data-finish="Foil"]:not([data-hr="true"]) .card-art::after{opacity:.58}
.game-card[data-hr="true"][data-finish="Foil"] .card-art::after{opacity:.64}

/* v32: rarity background system integrated from the standalone background study.
   The frame/layout stays common; rarity is expressed by the background light, depth and grain.
   Effects stay behind the monster art so the illustration remains readable. */
.game-card[data-rarity-tier]{
 --card-border:#56697f;
 --card-shell:linear-gradient(180deg,#172233,#0c131d);
 --card-shell-shadow:0 0 0 1px #20324799,0 10px 24px #0008;
 --card-art-bg:radial-gradient(circle at 50% 42%,#31485f 0,#182433 50%,#0d131c 78%);
 --card-info-bg:linear-gradient(180deg,#102030f2,#0c131df5);
 --card-info-border:#31475e;
 --card-pill-bg:#0f1b29e3;
 --card-pill-border:#617d99;
 --card-pill-color:#e6f1ff;
 --card-top-color:#c6d7ea;
 --card-name-color:#f4f8ff;
 --art-grain:none;
 --art-grain-size:168px 168px;
 --art-grain-opacity:.42;
 --art-glow:none;
 --shell-glow:none;
 --shell-sheen:linear-gradient(180deg,#ffffff10,transparent 24%,transparent 76%,#00000028);
 --finish-overlay:none;
 --finish-overlay-size:180px 180px;
 --finish-overlay-opacity:0;
 --finish-beam:none;
 --finish-beam-opacity:0;
 border:1px solid var(--card-border)!important;
 background:var(--card-shell)!important;
 box-shadow:var(--card-shell-shadow)!important;
 isolation:isolate;
}
.game-card[data-rarity-tier]::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:1;
 background-image:var(--shell-glow),var(--shell-sheen);
 background-size:100% 100%,100% 100%;
 background-repeat:no-repeat;
}
.game-card[data-rarity-tier]::after{
 content:"";position:absolute;inset:-42%;z-index:1;pointer-events:none;
 background-image:var(--finish-beam);
 background-size:100% 100%;background-repeat:no-repeat;
 opacity:var(--finish-beam-opacity);
 transform:translateX(-58%) rotate(10deg);
 animation:rarityBeamSlide 6.2s ease-in-out infinite;
}
.game-card[data-rarity-tier] .card-art{
 background:var(--card-art-bg)!important;
 overflow:hidden;
}
.game-card[data-rarity-tier] .card-art::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background-image:var(--art-glow),var(--art-grain);
 background-size:100% 100%,var(--art-grain-size);
 background-repeat:no-repeat,repeat;
 opacity:var(--art-grain-opacity);
 mix-blend-mode:screen;
 animation:rarityParticleDrift 7.6s linear infinite alternate;
}
.game-card[data-rarity-tier] .card-art::after{
 content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background-image:var(--finish-overlay);
 background-size:var(--finish-overlay-size);
 background-repeat:repeat;
 opacity:var(--finish-overlay-opacity);
 mix-blend-mode:screen;
 animation:rarityParticleDrift 5.6s linear infinite alternate;
 box-shadow:inset 0 0 0 1px #ffffff12;
}
.game-card[data-rarity-tier] .card-art img{position:relative;z-index:2;filter:drop-shadow(0 15px 12px #0009)}
.game-card[data-rarity-tier] .card-rarity{
 z-index:5;color:var(--card-pill-color)!important;border-color:var(--card-pill-border)!important;
 background:var(--card-pill-bg)!important;text-shadow:none!important;box-shadow:none!important;
}
.game-card[data-rarity-tier] .card-no,
.game-card[data-rarity-tier] .finish{z-index:5;color:var(--card-top-color)!important}
.game-card[data-rarity-tier] .card-info{
 z-index:5;background:var(--card-info-bg)!important;border-top:1px solid var(--card-info-border)!important;
}
.game-card[data-rarity-tier] .card-name{color:var(--card-name-color)!important}

.game-card[data-rarity-tier="N"]{
 --card-border:#56697b;
 --card-shell:linear-gradient(180deg,#192432,#0c1219);
 --card-shell-shadow:0 0 0 1px #2c3a4996,0 10px 22px #0007;
 --card-art-bg:radial-gradient(circle at 50% 42%,#394c62 0,#1b2737 50%,#10161f 80%);
 --card-info-bg:linear-gradient(180deg,#122132f2,#0c131cf4);
 --card-info-border:#334a5f;
 --card-pill-bg:#111b27e5;
 --card-pill-border:#6b7f93;
 --card-pill-color:#dbe6f1;
 --card-top-color:#b8c7d6;
 --art-glow:radial-gradient(ellipse at 50% 35%,#d7e4ee20 0%,transparent 62%);
}
.game-card[data-rarity-tier="C"]{
 --card-border:#7190ab;
 --card-shell:linear-gradient(180deg,#1a2c3d,#0c1520);
 --card-shell-shadow:0 0 0 1px #40617e8a,0 0 16px #7fb5e116,0 10px 24px #0007;
 --card-art-bg:radial-gradient(circle at 50% 41%,#456a86 0,#22364a 52%,#101821 82%);
 --card-info-bg:linear-gradient(180deg,#112638f2,#0b141ef5);
 --card-info-border:#406784;
 --card-pill-bg:#102538e3;
 --card-pill-border:#86aecd;
 --card-pill-color:#ebf7ff;
 --card-top-color:#d2e7f8;
 --art-glow:radial-gradient(ellipse at 50% 34%,#bfe7ff26 0%,transparent 64%);
}
.game-card[data-rarity-tier="UC"]{
 --card-border:#4f9d88;
 --card-shell:linear-gradient(180deg,#163229,#0a1417);
 --card-shell-shadow:0 0 0 1px #2d705c8e,0 0 18px #5ef0c616,0 10px 24px #0008;
 --card-art-bg:radial-gradient(circle at 50% 40%,#38a487 0,#1b5348 50%,#0e1818 82%);
 --card-info-bg:linear-gradient(180deg,#102921f3,#0b1516f5);
 --card-info-border:#34725f;
 --card-pill-bg:#0d221be3;
 --card-pill-border:#58b090;
 --card-pill-color:#ddfff1;
 --card-top-color:#bceedd;
 --art-glow:radial-gradient(ellipse at 50% 34%,#a7ffe32e 0%,transparent 62%);
 --art-grain:radial-gradient(circle at 14% 18%,#cbfff058 0 1px,transparent 2px),radial-gradient(circle at 82% 22%,#9dffdf56 0 1px,transparent 2px),radial-gradient(circle at 24% 78%,#d9ffef48 0 1px,transparent 2px),radial-gradient(circle at 74% 72%,#8affd548 0 1px,transparent 2px);
 --art-grain-size:94px 94px,128px 128px,110px 110px,142px 142px;
 --art-grain-opacity:.48;
}
.game-card[data-rarity-tier="R"]{
 --card-border:#5f94de;
 --card-shell:linear-gradient(180deg,#142a4b,#0b131f);
 --card-shell-shadow:0 0 0 1px #356ec694,0 0 20px #4a8dff20,0 10px 24px #0008;
 --card-art-bg:radial-gradient(circle at 50% 40%,#3e7ad0 0,#1a3968 48%,#0d1624 82%);
 --card-info-bg:linear-gradient(180deg,#102644f2,#0c131ef5);
 --card-info-border:#4878ba;
 --card-pill-bg:#102744e3;
 --card-pill-border:#6ea9ff;
 --card-pill-color:#edf6ff;
 --card-top-color:#d6e8ff;
 --art-glow:radial-gradient(ellipse at 50% 34%,#a8d0ff34 0%,transparent 64%);
 --art-grain:radial-gradient(circle at 14% 18%,#e9f7ff68 0 1px,transparent 2px),radial-gradient(circle at 82% 22%,#8bc5ff5f 0 1px,transparent 2px),radial-gradient(circle at 24% 78%,#c1e6ff54 0 1px,transparent 2px),radial-gradient(circle at 74% 72%,#a2d0ff5a 0 1px,transparent 2px);
 --art-grain-size:88px 88px,122px 122px,102px 102px,136px 136px;
 --art-grain-opacity:.58;
}
.game-card[data-rarity-tier="SR"]{
 --card-border:#9f68e6;
 --card-shell:linear-gradient(180deg,#281542,#0d111b);
 --card-shell-shadow:0 0 0 1px #7f49d08d,0 0 24px #9750ff24,0 10px 24px #0008;
 --card-art-bg:radial-gradient(circle at 50% 39%,#8f57dc 0,#48256f 47%,#120f1f 82%);
 --card-info-bg:linear-gradient(180deg,#211137f2,#0d121ef5);
 --card-info-border:#7248ae;
 --card-pill-bg:#27123fe3;
 --card-pill-border:#bc8fff;
 --card-pill-color:#f4e7ff;
 --card-top-color:#e4ceff;
 --card-name-color:#fbf4ff;
 --art-glow:radial-gradient(ellipse at 50% 33%,#f1b0ff30 0%,transparent 66%);
 --art-grain:radial-gradient(circle at 16% 20%,#ffd7ff62 0 1px,transparent 2px),radial-gradient(circle at 79% 18%,#cba5ff56 0 1px,transparent 2px),radial-gradient(circle at 24% 74%,#ffd0f860 0 1px,transparent 2px),radial-gradient(circle at 70% 70%,#c7a0ff56 0 1px,transparent 2px);
 --art-grain-size:82px 82px,116px 116px,96px 96px,128px 128px;
 --art-grain-opacity:.62;
}
.game-card[data-rarity-tier="SSR"]{
 --card-border:#e5b869;
 --card-shell:linear-gradient(180deg,#34240f,#100f12);
 --card-shell-shadow:0 0 0 1px #c08d4296,0 0 28px #ffcf6c2a,0 10px 24px #0008;
 --card-art-bg:radial-gradient(circle at 50% 39%,#f092c8 0,#8656b0 32%,#30497b 63%,#10141f 84%);
 --card-info-bg:linear-gradient(180deg,#2e1d12f2,#0d121ef5);
 --card-info-border:#b18446;
 --card-pill-bg:#34240ee8;
 --card-pill-border:#f1cb87;
 --card-pill-color:#fff2cb;
 --card-top-color:#f4dfb0;
 --card-name-color:#fff8ea;
 --art-glow:radial-gradient(ellipse at 50% 31%,#ffe2a938 0%,#ff9cf328 38%,transparent 68%);
 --art-grain:radial-gradient(circle at 15% 18%,#ffe7ba70 0 1px,transparent 2px),radial-gradient(circle at 82% 20%,#ffe0ff6c 0 1px,transparent 2px),radial-gradient(circle at 24% 76%,#cddaff66 0 1px,transparent 2px),radial-gradient(circle at 76% 72%,#ffd97070 0 1px,transparent 2px);
 --art-grain-size:78px 78px,114px 114px,92px 92px,128px 128px;
 --art-grain-opacity:.7;
}
.game-card[data-rarity-tier="UR"]{
 --card-border:#bfe8ff;
 --card-shell:linear-gradient(180deg,#19304a,#0c111c 64%,#091019);
 --card-shell-shadow:0 0 0 1px #7fbce49b,0 0 30px #a9edff2a,0 10px 25px #0008;
 --card-art-bg:radial-gradient(circle at 50% 38%,#f9ffff 0,#a6d3ef 22%,#4c678f 50%,#151c2b 82%);
 --card-info-bg:linear-gradient(180deg,#152a41f2,#0d111cf5);
 --card-info-border:#7baecf;
 --card-pill-bg:linear-gradient(120deg,#f8ffff,#d7efff 48%,#ffffff);
 --card-pill-border:#d8f1ff;
 --card-pill-color:#18314c;
 --card-top-color:#dff4ff;
 --card-name-color:#f8feff;
 --art-glow:radial-gradient(ellipse at 50% 31%,#ffffff40 0%,#d0f7ff36 34%,transparent 70%);
 --art-grain:var(--v31-platinum-grain,none);
 --art-grain-size:184px 184px;
 --art-grain-opacity:.72;
 --shell-glow:radial-gradient(ellipse at 50% 24%,#ffffff18 0%,transparent 56%);
}
.game-card[data-rarity-tier="HR"]{
 --card-border:#f0cc77;
 --card-shell:linear-gradient(180deg,#3f2a0f,#120f10 64%,#0a1017);
 --card-shell-shadow:0 0 0 1px #e1af4c92,0 0 34px #f5c85d2d,0 10px 26px #0009;
 --card-art-bg:radial-gradient(circle at 50% 38%,#fff3bc 0,#d8a54b 24%,#71461a 54%,#17141b 84%);
 --card-info-bg:linear-gradient(180deg,#34230ff2,#101117f5);
 --card-info-border:#d0a14a;
 --card-pill-bg:linear-gradient(120deg,#fff1b8,#e6b65d 44%,#fff4ce);
 --card-pill-border:#ffe6a1;
 --card-pill-color:#31200b;
 --card-top-color:#ffedc1;
 --card-name-color:#fff8e9;
 --art-glow:radial-gradient(ellipse at 50% 31%,#fff1af3e 0%,#ffd56a35 36%,transparent 70%);
 --art-grain:var(--v31-hr-grain,none);
 --art-grain-size:192px 192px;
 --art-grain-opacity:.76;
 --shell-glow:radial-gradient(ellipse at 50% 23%,#ffe38a1a 0%,transparent 58%);
}
.game-card[data-rarity-tier="REWARD"]{
 --card-border:#84cfff;
 --card-shell:linear-gradient(180deg,#163349,#0b121d);
 --card-shell-shadow:0 0 0 1px #77c7ff92,0 0 24px #78d2ff24,0 10px 25px #0008;
 --card-art-bg:radial-gradient(circle at 50% 39%,#5cc8ff 0,#236083 44%,#101824 84%);
 --card-info-bg:linear-gradient(180deg,#12324af2,#0d111cf5);
 --card-info-border:#61a9d1;
 --card-pill-bg:#092742f0;
 --card-pill-border:#9edbff;
 --card-pill-color:#edfcff;
 --card-top-color:#d7f0ff;
 --card-name-color:#f4fbff;
 --art-glow:radial-gradient(ellipse at 50% 32%,#a8e9ff2f 0%,transparent 66%);
 --art-grain:radial-gradient(circle at 16% 20%,#d5f8ff58 0 1px,transparent 2px),radial-gradient(circle at 79% 18%,#88d8ff54 0 1px,transparent 2px),radial-gradient(circle at 24% 74%,#e9fcff52 0 1px,transparent 2px),radial-gradient(circle at 70% 70%,#8fd6ff52 0 1px,transparent 2px);
 --art-grain-size:88px 88px,120px 120px,100px 100px,132px 132px;
 --art-grain-opacity:.56;
}

/* Foil adds a rainbow metal layer behind the art. */
.game-card[data-rarity-tier][data-finish="Foil"]:not([data-rarity-tier="HR"]){
 --finish-overlay:var(--v31-foil-grain,none),linear-gradient(140deg,#d8ffff22,#ffd5f52a 50%,#fff0c625);
 --finish-overlay-size:164px 164px,100% 100%;
 --finish-overlay-opacity:.72;
 --finish-beam:linear-gradient(113deg,transparent 37%,#b8ffff00 43%,#dcfbff68 48%,#f2c0ff72 50%,#fff2c45f 54%,transparent 61%);
 --finish-beam-opacity:.58;
}
.game-card[data-rarity-tier][data-finish="Foil"]:not([data-rarity-tier="HR"]) .card-art img{
 filter:brightness(1.06) saturate(1.12) drop-shadow(0 15px 12px #0009) drop-shadow(0 0 10px #c8f4ff7a);
}

/* Collectible HR finish: platinum shell over the base rarity. */
.game-card[data-rarity-tier][data-hr="true"]{
 --finish-overlay:var(--v31-platinum-grain,none),radial-gradient(ellipse at 52% 34%,#ffffff1f 0%,transparent 66%);
 --finish-overlay-size:176px 176px,100% 100%;
 --finish-overlay-opacity:.8;
 --finish-beam:linear-gradient(113deg,transparent 36%,#ffffff00 42%,#e8fbff66 47%,#ffffff82 50%,#d1efff66 54%,transparent 62%);
 --finish-beam-opacity:.62;
}
.game-card[data-rarity-tier][data-hr="true"] .card-art img{
 filter:brightness(1.08) contrast(1.03) saturate(1.1) drop-shadow(0 15px 12px #0009) drop-shadow(0 0 12px #e7fbff84);
}

/* SP remains the flashiest special case. */
.game-card.sp{
 border-color:#d18fff!important;
 background:linear-gradient(180deg,#28163a,#120f1d 58%,#0b111a)!important;
 box-shadow:0 0 0 1px #c175ff77,0 0 38px #d877ff30,0 10px 28px #0009!important;
}
.game-card.sp .card-art{background:radial-gradient(circle at 50% 39%,#b483ff 0,#532d88 44%,#151021 84%)!important}
.game-card.sp .card-rarity{background:linear-gradient(120deg,#fff1ff,#dba6ff 48%,#ffe9ff)!important;border-color:#e8b8ff!important;color:#301440!important}
.game-card.sp .card-info{background:linear-gradient(180deg,#2a1439f2,#0d121ef5)!important;border-top-color:#a673d3!important}
.game-card.sp .card-art::before{background-image:radial-gradient(ellipse at 50% 32%,#ffd9ff38 0%,transparent 68%),var(--v31-foil-grain,none)!important;background-size:100% 100%,156px 156px!important;opacity:.78!important}
.game-card.sp::after{opacity:.72!important;background-image:linear-gradient(113deg,transparent 36%,#ffffff00 42%,#ffd7ff73 47%,#ffffff8b 50%,#d0b4ff6f 55%,transparent 62%)!important}
.game-card.sp .card-art img{filter:brightness(1.1) saturate(1.18) drop-shadow(0 15px 12px #0009) drop-shadow(0 0 14px #f4cbff88)!important}

@keyframes rarityParticleDrift{
 0%{background-position:0 0,0 0}
 100%{background-position:14px 20px,0 0}
}
@keyframes rarityBeamSlide{
 0%,8%{transform:translateX(-58%) rotate(10deg);opacity:0}
 24%{opacity:var(--finish-beam-opacity)}
 68%{opacity:var(--finish-beam-opacity)}
 100%{transform:translateX(60%) rotate(10deg);opacity:0}
}
@media(prefers-reduced-motion:reduce){
 .game-card[data-rarity-tier]::after,
 .game-card[data-rarity-tier] .card-art::before,
 .game-card[data-rarity-tier] .card-art::after{animation:none!important}
}
/* 初回導入: 実戦・パック開封・同名再抽選を一続きで案内 */
.onboard-guide{position:relative;z-index:2;margin:0 0 14px;border-left:3px solid #b69b5f;background:linear-gradient(100deg,#1b211fe9,#10171be2);padding:11px 14px 12px;box-shadow:0 8px 22px #0003;text-align:left;color:#eee9dc}
.onboard-guide strong{display:block;font-size:13px;font-weight:850;letter-spacing:.025em;line-height:1.5}
.onboard-guide p{font-size:11px;line-height:1.7;color:#c2c5c3;margin:5px 0}
.onboard-guide>span{font-size:9px;letter-spacing:.12em;color:#b5a37c;font-weight:850}
.onboard-home-step{position:absolute;z-index:12;bottom:15px;right:18px;width:min(355px,42vw);padding:12px;background:#0b1016d8;border:1px solid #6e5e3a;box-shadow:0 15px 35px #0009}
.onboard-home-step .btn{width:100%}
.onboard-highlight{outline:2px solid #cfaf69;outline-offset:3px}
.onboarding-battle-guide{max-height:min(220px,33vh);overflow:auto}
.onboard-fusion-finish{margin-top:20px;padding:15px;border:1px solid #8d7b50;background:#211d15}
.onboard-fusion-finish strong{font-size:19px}
.onboard-fusion-finish p{font-size:12px;color:#d0c6b1;line-height:1.65}
.onboard-fusion-finish button{width:100%}
@media(max-width:900px){
 .onboard-guide{padding:9px 10px;margin-bottom:10px}
 .onboard-guide strong{font-size:12px}.onboard-guide p{font-size:10px}
 .onboard-home-step{left:12px;right:12px;bottom:110px;width:auto;padding:10px}
 .onboarding-battle-guide{max-height:170px}
}
@media(max-width:520px){.onboard-home-step{bottom:100px}.onboarding-battle-guide{max-height:145px}}

/* v33 tutorial winning gift card */
.onboard-pack-reward{display:flex;align-items:center;gap:16px;max-width:340px;margin:18px auto 22px;padding:14px 20px;background:linear-gradient(105deg,#212a30,#121920);border:1px solid #7b856f;text-align:left}
.onboard-pack-reward-icon{height:64px;width:49px;flex:none;display:grid;place-items:center;background:linear-gradient(150deg,#707766,#29323c 42%,#0d1318);border:1px solid #c7c5ac;box-shadow:0 9px 15px #0008;color:#e5dcbd;font-size:22px;font-weight:900;letter-spacing:.04em}
.onboard-pack-reward small,.onboard-pack-reward span{display:block;font-size:10px;color:#aab5b9;margin-bottom:5px}.onboard-pack-reward strong{font-size:19px;color:#f2ead7}.onboard-pack-reward span{margin-top:7px;margin-bottom:0}
.tutorial-highlight:not(:disabled){outline:2px solid #c2a35c;outline-offset:2px;box-shadow:0 0 0 4px #b79c5330}
@media(max-width:600px){.onboard-pack-reward{max-width:300px;gap:12px;padding:12px}.onboard-pack-reward strong{font-size:17px}}
