.collection-hub{width:min(1180px,96vw);max-height:92dvh;padding:28px;border:1px solid #76603f;background:#101923;color:#edf1f5;border-radius:18px;overflow:auto}.collection-hub::backdrop,.human-dialog::backdrop{background:#02060bd9;backdrop-filter:blur(7px)}.collection-hub header{display:flex;gap:18px;justify-content:space-between;align-items:start}.collection-hub h2{font-size:clamp(22px,4vw,32px);margin:4px 0 18px}.collection-hub h3{margin:8px 0;font-size:17px}.collection-hub button{cursor:pointer;min-height:40px}.collection-hub button:disabled{opacity:.45;cursor:default}.collection-hub p{line-height:1.7}.hub-wallet{display:flex;gap:24px;flex-wrap:wrap;align-items:center;padding:16px 20px;border:1px solid #475264;background:#1a2839;border-radius:12px}.hub-wallet strong{font-size:24px;color:#f3cf83}.hub-wallet small{font-size:13px;color:#e4e9ee}.hub-wallet>span{margin-left:auto;color:#c5d0dc}.hub-rule{color:#bfcbd7;font-size:13px}.hub-tabs{display:flex;gap:8px;position:sticky;top:-28px;z-index:2;background:#101923;padding:14px 0}.hub-tabs button,.hub-missions button,.hub-card-actions button{border:1px solid #58687b;border-radius:7px;color:#e7edf4;background:#24364b;padding:8px 14px}.hub-tabs button[aria-pressed=true]{background:#ebc879;color:#17202c;border-color:#ebc879;font-weight:800}.hub-message{min-height:24px;color:#f4d694}.lobby-wallet{border:1px solid #aa8650;border-radius:8px;padding:12px;background:#253042;color:#ffdc94;width:100%;text-align:left;font-weight:700}.hub-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.hub-packs article{overflow:hidden;position:relative;border:1px solid #5d6370;border-top:3px solid var(--pack-color,#d5b273);background:radial-gradient(ellipse at top,#394858,#182332 70%);border-radius:12px;padding:24px;text-align:center}.pack-sigil{font-size:58px;line-height:1.2;color:#edcf92;text-shadow:0 0 28px #d4b36b99;display:block}.hub-packs p{color:#c4d0dc;font-size:13px}.hub-packs .primary{width:100%;font-size:14px;padding:12px}.hub-pity{display:flex;flex-direction:column;gap:6px;padding:14px 18px;border-left:3px solid #edc77a;background:#243247}.hub-pity b{color:#f5d18b}.hub-pity span{font-size:13px;color:#c7d1df}.hub-odds{border-top:1px solid #526174;padding:16px 0;color:#c4d1df;font-size:13px}.hub-odds summary{color:#e8d4ab;cursor:pointer;font-size:15px}.pack-reveal{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0;perspective:1000px}.pack-card{padding:7px;border:1px solid #64758a;background:#253a50;border-radius:10px;display:flex;flex-direction:column;gap:7px;animation:pack-arrival .65s both;animation-delay:calc(var(--reveal)*.14s)}.pack-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px}.pack-card b{font-size:14px}.pack-card small,.pack-card span{font-size:12px;color:#d0d9e6}.pack-card.legendary{border-color:#ffd271;box-shadow:0 0 28px #ffc76555}.pack-card.legendary small{color:#ffe19b}.hub-filters{display:flex;gap:10px;margin:12px 0 18px}.hub-filters input,.hub-filters select{padding:12px;background:#213247;border:1px solid #60718a;border-radius:7px;color:#eef2f8;min-width:0}.hub-filters input{flex:1}.hub-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hub-card{display:flex;gap:15px;background:#1d2c3d;border:1px solid #4c5d71;border-radius:12px;padding:12px}.hub-card>img{width:105px;height:145px;object-fit:cover;border-radius:7px}.hub-card.unowned>img{filter:saturate(.25)}.hub-card>div{min-width:0;flex:1}.hub-card small{font-size:12px;color:#b7c6d8}.hub-card em{font-style:normal;color:#ffd97a;font-size:14px}.hub-card p{font-size:13px;margin:7px 0;color:#d3dce7}.hub-count{font-size:12px;color:#ead19b}.hub-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.hub-card-actions button{font-size:12px;padding:7px 9px}.break-button{margin-top:8px;width:100%;color:#ffe2a1;border:1px solid #a88651;border-radius:7px;background:#493d2b;padding:8px;font-size:12px}.growth-note{display:block;margin-top:6px;line-height:1.6}.hub-onboarding{padding:18px;background:#263347;border:1px solid #5e6980;border-radius:12px}.hub-onboarding>div{display:flex;gap:8px;flex-wrap:wrap}.hub-onboarding p{font-size:14px;color:#c7d3e1}.hub-missions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.hub-missions article{background:#1c2a3b;border:1px solid #56647b;padding:18px;border-radius:12px}.hub-missions small{color:#d6c39b}.hub-missions p{font-size:14px;color:#c3cfdd}.hub-missions progress{width:75%;accent-color:#dfba70}.hub-missions span{float:right;font-size:13px}.hub-missions button{display:block;width:100%;margin-top:14px}.human-dialog{background:#142132;color:#ecf0f7;border:1px solid #7d7159;border-radius:16px;width:min(420px,92vw);padding:25px}.human-dialog p{line-height:1.7;color:#c8d2df;font-size:14px}.human-widget{min-height:70px;margin:20px 0}.unit .mastery-badge{position:absolute;right:6px;top:30px;background:#18222ce6;border:1px solid #caa767;border-radius:4px;padding:1px 4px;color:#ffdb86;font-size:11px;z-index:2}.hand-card .mastery-badge{position:absolute;right:7px;top:8px;color:#ffe294;text-shadow:0 1px 4px #000;font-size:13px}.hub-tabs button:focus-visible,.collection-hub button:focus-visible{outline:3px solid #97dfff;outline-offset:3px}@keyframes pack-arrival{from{opacity:0;transform:rotateY(80deg) translateY(18px)}to{opacity:1;transform:none}}@media(max-width:760px){.collection-hub{padding:16px;width:96vw}.hub-tabs{top:-16px}.hub-tabs button{flex:1;font-size:12px;padding:8px 6px}.hub-packs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hub-packs article{padding:18px 10px}.hub-cards{grid-template-columns:1fr}.hub-card>img{width:87px;height:122px}.hub-wallet{gap:12px;padding:12px}.hub-wallet strong{font-size:20px}.hub-wallet>span{width:100%;margin:0}.hub-missions{grid-template-columns:1fr}.pack-reveal{grid-template-columns:repeat(3,minmax(0,1fr))}.pack-card b{font-size:12px}}@media(prefers-reduced-motion:reduce){.pack-card{animation:none}}
.duel-play dialog.collection-hub { --collection-inset:28px; }
.duel-play dialog.collection-hub>header { top:calc(0px - var(--collection-inset)); margin-top:calc(0px - var(--collection-inset)); padding-top:var(--collection-inset); }
@media(max-width:760px) { .duel-play dialog.collection-hub { --collection-inset:16px; } }
.duel-play .collection-hub .hub-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,auto) minmax(130px,auto); }
.duel-play .collection-hub .hub-filters :is(input,select) { width:100%; min-width:0; font-size:16px; }
.duel-play .collection-hub .hub-catalog-count { margin:8px 0 16px; color:#cfdbeb; font-size:15px; }
.duel-play .collection-hub .hub-card { display:flex; flex-direction:column; gap:12px; align-items:stretch; padding:16px; }
.duel-play .collection-hub .hub-card>div { flex:initial; }
.duel-play .collection-hub .hub-card-summary { display:flex; align-items:center; gap:16px; min-width:0; }
.duel-play .collection-hub .hub-card-summary>img { width:112px; height:auto; aspect-ratio:5/7; object-fit:cover; flex:0 0 112px; border-radius:7px; }
.duel-play .collection-hub .hub-card-summary>div { min-width:0; }
.duel-play .collection-hub .hub-card-summary h3 { font-size:20px; line-height:1.5; margin:8px 0; }
.duel-play .collection-hub .hub-card-summary b { display:block; font-size:21px; line-height:1.5; }
.duel-play .collection-hub .hub-card>p { margin:0; }
.duel-play .collection-hub .hub-card :is(.hub-card-actions,.break-button,.growth-note) { margin-top:0; }
.duel-play .collection-hub .hub-card-actions button { flex:1 1 auto; }
.duel-play .collection-hub .hub-card.unowned img { filter:saturate(.25); }
.duel-play .collection-hub .hub-card:focus { outline:3px solid #a6e6ff; outline-offset:3px; }
.duel-play .collection-hub .hub-catalog-empty { grid-column:1/-1; padding:16px; border:1px solid #60758b; border-radius:8px; background:#1b2b3e; }
@media(max-width:600px) {
  .duel-play .collection-hub .hub-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .duel-play .collection-hub #hub-search { grid-column:1/-1; }
  .duel-play .collection-hub .hub-card-summary { gap:14px; }
  .duel-play .collection-hub .hub-card-summary>img { width:100px; flex-basis:100px; }
}
