/* ARCANA — sealed editions, the collector's counter and the ritual chamber. */
.cp-shop, .cp-wish, .cp-dialog { --cp-accent:#b8a1ff; --cp-gold:#d6be85; --cp-paper:#f0e6d2; --cp-muted:#99acbd; font-family:Outfit, sans-serif; color:var(--cp-paper); color-scheme:dark; }
.cp-shop *, .cp-wish *, .cp-dialog * { box-sizing:border-box; }
.cp-shop[hidden], .cp-wish[hidden], .cp-dialog[hidden], .cp-shop [hidden], .cp-wish [hidden], .cp-dialog [hidden], #cardPackWishRoot[hidden], .wish-content[hidden], .shop-results-toolbar[hidden], #wishInfoBtn[hidden], #wishShopBtn[hidden] { display:none!important; }
.cp-shop button, .cp-wish button, .cp-dialog button { font:inherit; cursor:pointer; }
.cp-shop a, .cp-wish a, .cp-dialog a { color:inherit; text-decoration:none; }
.cp-shop :is(button,a):focus-visible, .cp-wish :is(button,a):focus-visible, .cp-dialog :is(button,a,summary):focus-visible { outline:2px solid #f6dba4; outline-offset:6px; }
.cp-shop button:disabled, .cp-wish button:disabled, .cp-dialog button:disabled { cursor:wait; opacity:.55; }
.cp-overline { color:#b7a78c; font-size:9px; font-weight:600; letter-spacing:.2em; line-height:1.8; }
.cp-shop { min-width:0; padding:10px clamp(10px,2vw,32px) 24px; }
.cp-shop-heading { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:10px 0 28px; }
.cp-shop-heading h2 { font-size:clamp(28px,3vw,52px); font-weight:300; letter-spacing:-.045em; line-height:1.12; margin:14px 0 0; }
.cp-shop-heading h2 em { color:#cbb88f; font-style:normal; }
.cp-shop-balance { display:grid; grid-template-columns:38px auto; align-items:center; gap:9px 12px; }
.cp-shop-balance>img { width:34px; height:38px; object-fit:contain; filter:drop-shadow(0 0 15px #b7a1ff55); }
.cp-shop-balance>span { display:grid; gap:5px; }
.cp-shop-balance small { font-size:8px; letter-spacing:.12em; color:var(--cp-muted); }
.cp-shop-balance strong { font-weight:400; font-size:25px; }
.cp-shop-balance>a { grid-column:1/-1; color:#c5b18a; font-size:11px; padding-top:7px; }
.cp-shop-balance>a>span { padding-left:20px; }
.cp-set-nav { display:flex; gap:4px; border-block:1px solid #cdbb8a2c; overflow-x:auto; scrollbar-width:thin; padding:0 0 2px; }
.cp-set-nav>button { position:relative; min-width:110px; flex:1 0 100px; border:0; background:transparent; color:#a6acb9; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:15px 8px 17px; transition:background .3s,color .3s; font-size:10px; }
.cp-set-nav>button>img { width:90px; height:44px; object-fit:contain; filter:grayscale(.8); opacity:.65; transition:filter .3s,opacity .3s; }
.cp-set-nav .cp-set-rune { font:42px/44px Georgia,serif; color:#bfa87a; }
.cp-set-nav>button[aria-pressed="true"] { background:linear-gradient(0deg,color-mix(in srgb,var(--cp-accent) 12%,transparent),transparent); color:#f4e8d1; }
.cp-set-nav>button[aria-pressed="true"]::after { content:''; position:absolute; inset:auto 18% -1px; height:2px; background:var(--cp-accent); box-shadow:0 0 15px var(--cp-accent); }
.cp-set-nav>button[aria-pressed="true"]>img { filter:none; opacity:1; }
.cp-shop-exhibit { display:grid; grid-template-columns:minmax(180px,.86fr) minmax(190px,1fr) minmax(220px,1.15fr); gap:16px; position:relative; isolation:isolate; padding:38px 0 25px; }
.cp-shop-exhibit::before { content:''; z-index:-1; position:absolute; inset:0 -3%; background:radial-gradient(ellipse at 65% 43%,color-mix(in srgb,var(--cp-accent) 11%,transparent),transparent 65%); pointer-events:none; }
.cp-exhibit-copy { position:relative; z-index:2; min-width:0; align-self:center; padding-right:12px; }
.cp-exhibit-copy h3 { color:#f0e5ce; font-size:clamp(28px,3vw,46px); line-height:1.08; font-weight:300; margin:18px 0; letter-spacing:-.045em; }
.cp-exhibit-copy>p { color:#a8b5c4; font-size:12px; line-height:1.9; max-width:240px; }
.cp-exhibit-pool { display:flex; align-items:center; gap:14px; margin-top:28px; }
.cp-exhibit-pool>strong { font-size:44px; font-weight:300; color:color-mix(in srgb,var(--cp-accent) 60%,#fff4d5); line-height:1; }
.cp-exhibit-pool>span { font-size:10px; line-height:1.7; color:#b0ac9f; }
.cp-small-rates { display:flex; gap:17px; margin:23px 0; }
.cp-small-rates>span { display:grid; justify-items:center; gap:7px; }
.cp-small-rates img { width:31px; height:31px; object-fit:contain; }
.cp-small-rates b { font-size:10px; font-weight:500; }
.cp-text-button { background:none; border:0; border-bottom:1px solid #cbb88f44; padding:10px 0; color:#cbb88f; font-size:clamp(13px,.85vw,18px)!important; line-height:1.6; }
.cp-text-button>span { margin-left:13px; }
.cp-product { position:relative; min-width:0; align-self:stretch; display:flex; flex-direction:column; isolation:isolate; }
.cp-product-crown { height:27px; text-align:center; color:#aab6c5; font-size:8px; letter-spacing:.2em; }
.cp-product--box .cp-product-crown { color:#dfc7ff; }
.cp-product-crown>span::before,.cp-product-crown>span::after { content:'◇'; font-size:7px; margin:0 8px; opacity:.6; }
.cp-shop .cp-product-art { position:relative; z-index:0; flex:0 0 auto; min-width:0; min-height:220px; height:clamp(220px,25vw,355px); width:100%; display:block; border:0; background:none; padding:0; isolation:isolate; overflow:hidden; }
/* Absolute containment avoids an intrinsic image expanding the grid track
   through its 100% height and painting across the purchase controls. */
.cp-shop .cp-product-art>img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:100%; max-height:100%; padding:12px 8px 20px; object-fit:contain; pointer-events:none; transition:transform .5s,filter .5s; filter:drop-shadow(10px 15px 11px #0008); }
.cp-product-art:hover>img { transform:translateY(-10px) rotate(-2deg); filter:drop-shadow(12px 24px 18px #000b) drop-shadow(0 0 14px color-mix(in srgb,var(--cp-accent) 18%,transparent)); }
.cp-product-orbit { position:absolute; width:95%; left:2.5%; top:50%; aspect-ratio:1; border:1px solid color-mix(in srgb,var(--cp-accent) 17%,transparent); border-radius:50%; transform:translateY(-50%) scaleY(.85); z-index:-1; pointer-events:none; }
.cp-product-orbit::after { content:''; position:absolute; width:5px; height:5px; background:var(--cp-accent); left:13%; top:13%; transform:rotate(45deg); box-shadow:0 0 12px var(--cp-accent); }
.cp-product-plinth { position:absolute; bottom:-2%; left:2.5%; width:95%; height:20%; border-radius:50%; border-top:1px solid color-mix(in srgb,var(--cp-accent) 30%,transparent); background:radial-gradient(ellipse,color-mix(in srgb,var(--cp-accent) 17%,transparent),transparent 65%); transform:perspective(200px) rotateX(45deg); z-index:-1; pointer-events:none; }
.cp-product-caption { position:relative; z-index:2; flex:1 0 auto; text-align:center; margin-top:25px; padding:10px clamp(0px,1vw,16px) 0; }
.cp-product-caption h4 { font-size:21px; font-weight:400; letter-spacing:-.03em; color:#e6ddca; margin:9px 0; }
.cp-product-caption>p { color:var(--cp-muted); font-size:10px; min-height:25px; margin:0 0 16px; }
.cp-buy-button { width:100%; min-height:47px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 17px; border:1px solid #cbb5808f; background:linear-gradient(115deg,#cbb88916,#cbb88908); color:#e3cfab; transition:background .2s,box-shadow .2s; }
.cp-buy-button:hover:not(:disabled) { background:linear-gradient(115deg,#cbb88930,#cbb88912); box-shadow:0 0 20px #cbb88912; }
.cp-buy-button>span { font-size:11px; }
.cp-buy-button>strong { display:flex; align-items:center; gap:7px; font-size:16px; font-weight:500; white-space:nowrap; }
.cp-buy-button img { width:23px; height:25px; object-fit:contain; }
.cp-product-owned { display:block; font-size:10px; color:#8196ab; margin-top:13px; }
.cp-product-owned b { color:#a8becf; font-weight:500; }
.cp-shop-foot { margin-top:28px; padding:25px 0 0; border-top:1px solid #cdbb8a2c; display:flex; align-items:center; gap:18px; }
.cp-foot-sigil { font-size:31px; color:#b5a076; }
.cp-shop-foot p { margin:0; display:grid; gap:7px; }
.cp-shop-foot strong { font-size:12px; font-weight:500; color:#bfb8a8; }
.cp-shop-foot p>span { font-size:10px; line-height:1.7; color:#8499ad; }
.cp-shop-foot>a { margin-left:auto; font-size:11px; color:#cbb88f; white-space:nowrap; }
.cp-shop-foot>a>span { padding-left:14px; }
.cp-empty { padding:70px 20px; text-align:center; color:var(--cp-muted); }
.cp-dialog { border:1px solid #bca77c55; padding:clamp(24px,4vw,55px); background:radial-gradient(ellipse at 20% 10%,#28304a66,transparent 65%),#07101deb; backdrop-filter:blur(25px); max-width:min(940px,94vw); max-height:92dvh; overflow:auto; box-shadow:0 35px 120px #000b; }
.cp-dialog::backdrop { background:#01060ddd; backdrop-filter:blur(9px); }
.cp-dialog-close { position:absolute; top:15px; right:15px; z-index:12; border:1px solid #baa68055; border-radius:50%; background:#07101dc9; width:36px; height:36px; color:#dbc698; font-size:23px!important; line-height:1; }
.cp-dialog h2 { color:#eee2ca; font-size:clamp(30px,4vw,44px); line-height:1.15; letter-spacing:-.04em; font-weight:300; margin:13px 0 18px; }
.cp-dialog header>p { color:#9caec0; font-size:13px; line-height:1.9; }
.cp-rules-dialog { width:min(1440px,94vw); max-width:min(1560px,calc(100vw - 24px)); padding:clamp(22px,3.2vw,72px); font-size:clamp(16px,calc(.65vw + 6px),24px); }
.cp-rules-dialog>header { padding-right:40px; }
.cp-rules-dialog>header>p { color:#bacada; font-size:1em; }
.cp-rules-dialog .cp-overline { font-size:clamp(11px,.64em,16px); }
.cp-rules-dialog h2 { font-size:clamp(34px,3.1vw,62px); }
.cp-rules-dialog>.cp-dialog-close,.cp-pool-preview-dialog>.cp-dialog-close { position:sticky; top:8px; float:right; width:44px; height:44px; margin:-8px -8px 0 12px; background:#0a1425f5; font-size:28px!important; }
.cp-rules { color:#9cafc0; font-size:12px; line-height:1.85; }
.cp-rules-dialog .cp-rules { color:#b6c6d7; font-size:1em; }
.cp-rules-dialog .cp-rules>p { max-width:82ch; }
.cp-rules>p { margin:23px 0; }
.cp-rules strong { font-weight:500; color:#dcd0b6; }
.cp-rate-triad { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:20px 0; border-block:1px solid #cbb88f33; }
.cp-rate-triad>div { display:flex; align-items:center; flex-direction:column; gap:5px; }
.cp-rate-triad img { width:58px; height:58px; object-fit:contain; }
.cp-rate-triad strong { font-size:24px; font-weight:400; }
.cp-rate-triad span { font-size:10px; }
.cp-rules-dialog .cp-rate-triad { gap:clamp(10px,2vw,32px); padding:clamp(22px,2.2vw,40px) 0; }
.cp-rules-dialog .cp-rate-triad img { width:clamp(58px,4.5vw,86px); height:clamp(58px,4.5vw,86px); }
.cp-rules-dialog .cp-rate-triad strong { font-size:clamp(28px,2.5vw,44px); }
.cp-rules-dialog .cp-rate-triad span { color:#b7c6d7; font-size:max(13px,.8em); text-align:center; }
.cp-rule-highlight { display:flex; align-items:center; gap:16px; padding:19px; border:1px solid #c9abf333; background:#c9abf30a; }
.cp-rule-highlight>img { flex-shrink:0; width:53px; height:53px; object-fit:contain; }
.cp-rule-highlight>p { display:grid; gap:5px; margin:0; }
.cp-rule-highlight>p>span { font-size:11px; }
.cp-rules-dialog .cp-rule-highlight>p>span { font-size:.92em; }
.cp-rules-dialog .cp-rule-highlight { padding:clamp(16px,2vw,30px); }
.cp-rules-dialog .cp-rule-highlight>img { width:clamp(48px,4vw,76px); height:clamp(48px,4vw,76px); }
.cp-pool-all { display:flex; align-items:center; gap:18px; padding:clamp(18px,2vw,32px); border:1px solid #d1bc803d; background:#d1bc800a; }
.cp-pool-all>span { color:#dec78f; font-size:1.8em; }
.cp-pool-intro { margin-top:36px; padding-top:26px; border-top:1px solid #cbb88f30; }
.cp-pool-intro h3 { margin:0 0 8px; color:#eee1c8; font-size:1.4em; font-weight:400; }
.cp-pool-intro p { margin:0; font-size:.9em; }
.cp-pool { padding:28px 0 12px; border-bottom:1px solid #cbb88f30; }
.cp-pool-heading { display:flex; align-items:center; gap:15px; }
.cp-pool-heading>img { width:52px; height:52px; object-fit:contain; flex:none; }
.cp-pool-heading h3 { margin:0; color:#ead9b6; font-size:1.15em; font-weight:500; }
.cp-pool-heading>span { margin-left:auto; color:#b9c9da; font-size:.85em; }
.cp-pool .cp-pool-chance { margin:12px 0 22px; font-size:.86em; }
.cp-pool-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(135px,11vw,220px)),1fr)); gap:clamp(24px,2.1vw,40px); padding:18px 14px 28px; }
.cp-dialog .cp-pool-card { display:block; min-width:0; width:100%; margin:0; padding:0; border:0; background:none; text-align:left; color:#e7dfd0; }
.cp-pool-card-art { display:block; padding:0; transition:transform .25s; }
.cp-pool-card:hover .cp-pool-card-art,.cp-pool-card:focus-visible .cp-pool-card-art { transform:translateY(-5px); }
.cp-pool-card .hc-card { container-type:inline-size; box-shadow:5px 12px 20px #0007; }
.cp-pool-card .hc-card-edition { font-size:clamp(8px,5cqw,13px); }
.cp-pool-card .hc-card-caption>strong { font-size:clamp(10px,6cqw,16px); }
.cp-pool-card .hc-card-caption>small { font-size:clamp(6px,3.5cqw,9px); }
.cp-pool-card .hc-card-bonus { max-width:36%; padding:2px; }
.cp-pool-card .hc-card-stat-line { gap:2px; }
.cp-pool-card .hc-card-stat-icon { width:clamp(11px,7cqw,18px); height:clamp(11px,7cqw,18px); }
.cp-pool-card .hc-card-stat-value { font-size:clamp(17px,11cqw,27px); }
.cp-pool-card .hc-card-stat-value.is-long { font-size:clamp(14px,9cqw,23px); }
.cp-pool-card .hc-card-stat-label { font-size:clamp(6px,3.5cqw,9px); }
.cp-pool-card-caption { display:grid; gap:5px; padding-top:18px; }
.cp-pool-card-caption>strong { color:#e7dcc6; font-size:clamp(14px,.85em,20px); line-height:1.4; text-wrap:balance; }
.cp-pool-card-caption>small { color:#afc0d3; font-size:clamp(12px,.73em,17px); line-height:1.5; }
.cp-pool-preview-dialog { width:min(760px,94vw); max-width:min(840px,calc(100vw - 24px)); font-size:clamp(16px,calc(.65vw + 6px),24px); }
.cp-pool-preview-dialog>header>p { color:#bcc9d8; font-size:1em; }
.cp-pool-preview-dialog .cp-overline { font-size:.65em; }
.cp-pool-preview-art { width:min(420px,54dvh); max-width:88%; margin:30px auto 12px; container-type:inline-size; }
.cp-pool-preview-art .hc-card-stat-value { font-size:clamp(24px,9cqw,40px); }
.cp-pool-preview-art .hc-card-stat-icon { width:clamp(16px,6cqw,25px); height:clamp(16px,6cqw,25px); }
.cp-pool-preview-art .hc-card-stat-label { font-size:clamp(8px,3cqw,12px); }
.cp-pool-preview-art .hc-card-caption>strong { font-size:clamp(16px,5cqw,23px); }
.cp-pool-preview-art .hc-card-edition { font-size:clamp(11px,4cqw,16px); }
.cp-purchase-dialog { width:850px; padding:42px; }
.cp-purchase-dialog[open] { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:35px; }
.cp-purchase-art { position:relative; display:grid; place-items:center; background:radial-gradient(ellipse,color-mix(in srgb,var(--cp-accent) 12%,transparent),transparent 65%); }
.cp-purchase-art>img { width:100%; max-height:480px; object-fit:contain; filter:drop-shadow(15px 25px 16px #0008); }
.cp-purchase-copy { align-self:center; padding-top:10px; }
.cp-purchase-copy>p { color:#9caec0; font-size:12px; line-height:1.8; }
.cp-purchase-guarantee { display:flex; align-items:center; gap:10px; font-size:12px; color:#d6bcfa; }
.cp-purchase-guarantee img { width:35px; height:35px; object-fit:contain; }
.cp-purchase-copy dl { margin:25px 0 16px; }
.cp-purchase-copy dl>div { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #b9a67d26; padding:10px 0; }
.cp-purchase-copy dt { color:#8fa5ba; font-size:11px; }
.cp-purchase-copy dd { display:flex; align-items:center; gap:7px; font-size:15px; margin:0; }
.cp-purchase-copy dd>img { width:24px; height:24px; object-fit:contain; }
.cp-purchase-copy .cp-purchase-note { font-size:10px; color:#8596aa; margin-bottom:20px; }
.cp-action-status { min-height:20px; color:#cfbd96!important; font-size:11px!important; }
.cp-purchased-link { display:flex; justify-content:space-between; padding:12px 0; color:#bcddcb!important; font-size:12px; }

/* A chamber, rather than another product grid. The package floats over an astrolabe. */
.wish-tab--cards>img { filter:drop-shadow(0 0 8px #c7a9ff55); }
.wish-banner-tabs { flex-wrap:wrap; }
.cp-wish { position:relative; min-height:640px; isolation:isolate; border-top:1px solid #bba57825; padding:26px clamp(18px,3vw,50px) 20px; background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--cp-accent) 9%,transparent),transparent 60%),linear-gradient(180deg,#0a1020a6,#050a15ed); }
.cpw-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; position:relative; z-index:2; }
.cpw-heading h1 { margin:8px 0 0; font-size:clamp(25px,3vw,42px); font-weight:300; letter-spacing:-.04em; line-height:1.13; color:#eadfcb; }
.cpw-heading h1 em { font-style:normal; color:#ad9cce; }
.cpw-heading-links { display:flex; gap:20px; padding-top:10px; }
.cpw-heading-links>a, .cpw-heading-links>button { background:none; border:0; color:#bca782; font-size:11px; padding:5px 0; }
.cpw-ritual { display:grid; grid-template-columns:minmax(170px,.75fr) minmax(240px,1.5fr) minmax(170px,.75fr); align-items:center; min-height:440px; gap:20px; }
.cpw-lore { position:relative; z-index:2; padding:20px 0; }
.cpw-lore h2 { color:#e2d5bc; font-size:clamp(27px,3vw,45px); font-weight:300; line-height:1.12; letter-spacing:-.04em; margin:16px 0; }
.cpw-lore>p { font-size:12px; line-height:1.8; color:#9daabd; max-width:230px; }
.cpw-lore-count { display:flex; align-items:center; gap:12px; border-top:1px solid #bba57833; margin-top:22px; padding-top:20px; }
.cpw-lore-count>strong { font-size:40px; line-height:1; font-weight:300; color:#c6b497; }
.cpw-lore-count>span { color:#8d9bb0; font-size:10px; line-height:1.7; }
.cpw-stage { position:relative; width:100%; height:390px; display:grid; place-items:center; perspective:1000px; isolation:isolate; }
.cpw-stage::before { content:''; position:absolute; inset:13% 0 0; border-radius:50%; background:radial-gradient(ellipse,color-mix(in srgb,var(--cp-accent) 20%,transparent),transparent 65%); filter:blur(24px); z-index:-2; }
.cpw-astrolabe { width:115%; max-width:470px; aspect-ratio:1; position:absolute; z-index:-1; border:1px solid color-mix(in srgb,var(--cp-accent) 18%,transparent); border-radius:50%; transform:rotateX(12deg) rotate(-25deg); }
.cpw-astrolabe::before { content:''; position:absolute; inset:9%; border:1px solid color-mix(in srgb,var(--cp-accent) 15%,transparent); border-radius:50%; }
.cpw-astrolabe::after { content:''; position:absolute; inset:17%; border:1px dashed color-mix(in srgb,var(--cp-accent) 22%,transparent); border-radius:50%; animation:cpw-orbit 90s linear infinite; }
.cpw-constellation { position:absolute; inset:0; pointer-events:none; }
.cpw-constellation>i { position:absolute; color:#e3cfab; font-size:13px; text-shadow:0 0 18px var(--cp-accent); animation:cpw-twinkle 4s ease-in-out infinite alternate; }
.cpw-constellation>i:nth-child(1) { left:8%; top:28%; }
.cpw-constellation>i:nth-child(2) { right:2%; top:47%; animation-delay:-1s; }
.cpw-constellation>i:nth-child(3) { right:22%; top:7%; font-size:9px; animation-delay:-2s; }
.cpw-constellation>i:nth-child(4) { left:22%; bottom:15%; font-size:9px; animation-delay:-3s; }
.cpw-stage-plinth { position:absolute; width:117%; height:80px; bottom:0; border-radius:50%; border:1px solid color-mix(in srgb,var(--cp-accent) 30%,transparent); background:radial-gradient(ellipse,color-mix(in srgb,var(--cp-accent) 14%,transparent),transparent 68%); transform:rotateX(63deg); z-index:-1; }
.cpw-stage-plinth::after { content:''; position:absolute; inset:13%; border:1px solid color-mix(in srgb,var(--cp-accent) 18%,transparent); border-radius:50%; }
.cpw-package { width:88%; max-width:350px; height:340px; position:relative; border:0; background:none; padding:0; filter:drop-shadow(10px 25px 18px #0008); animation:cpw-float 5s ease-in-out infinite; }
.cpw-package>img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.cpw-package>.cpw-package-top { clip-path:inset(0 0 88%); z-index:2; }
.cpw-package>.cpw-package-body { clip-path:inset(12% 0 0); }
.cp-wish[data-product-id$="-box"] .cpw-package>.cpw-package-top { clip-path:inset(0 0 83%); transform-origin:50% 17%; }
.cp-wish[data-product-id$="-box"] .cpw-package>.cpw-package-body { clip-path:inset(17% 0 0); }
.cpw-package-seal { position:absolute; left:50%; bottom:2%; transform:translateX(-50%); display:flex; align-items:center; gap:8px; white-space:nowrap; background:#080e1dc9; border:1px solid #d8c49277; padding:8px 17px; color:#ddc99c; font-size:9px; letter-spacing:.12em; }
.cpw-package-seal::before,.cpw-package-seal::after { content:'◇'; color:#af98d0; font-size:8px; }
.cpw-package:hover { filter:drop-shadow(10px 25px 18px #0008) drop-shadow(0 0 14px color-mix(in srgb,var(--cp-accent) 18%,transparent)); }
.cpw-stage-burst { position:absolute; inset:0; pointer-events:none; opacity:0; background:radial-gradient(ellipse,#fff9db,#e3c2ff99 10%,#ae99ff4d 25%,transparent 55%); mix-blend-mode:screen; transform:scale(.1); }
.cpw-stage.is-opening .cpw-package { animation:none; pointer-events:none; }
.cpw-stage.is-opening .cpw-package-top { animation:cpw-unseal-top 1.8s cubic-bezier(.22,.7,.25,1) both; }
.cp-wish[data-product-id$="-box"] .cpw-stage.is-opening .cpw-package-top { animation-name:cpw-unseal-lid; }
.cpw-stage.is-opening .cpw-package-body { animation:cpw-unseal-body 1.8s ease both; }
.cpw-stage.is-opening .cpw-package-seal { opacity:0; }
.cpw-stage.is-opening .cpw-stage-burst { animation:cpw-burst 1.8s ease both; }
.cpw-points { justify-self:end; position:relative; text-align:center; max-width:205px; padding:20px 0; }
.cpw-points-sigil { --cp-progress:0; position:relative; width:124px; aspect-ratio:1; display:grid; place-items:center; margin:0 auto 23px; border-radius:50%; background:conic-gradient(from -90deg,#bfa0fa calc(var(--cp-progress)*1%),#a5a7c41a 0); isolation:isolate; box-shadow:0 0 30px #bfa0fa0a; }
.cpw-points-sigil::before { content:''; position:absolute; z-index:-1; inset:2px; border-radius:50%; background:radial-gradient(ellipse,#a288d221,#080e1e 65%); }
.cpw-points-sigil::after { content:''; position:absolute; inset:11px; border:1px solid #c8b1e42b; transform:rotate(45deg); }
.cpw-points-sigil>span { display:flex; align-items:baseline; gap:3px; font-size:11px; color:#8e8fa8; }
.cpw-points-sigil strong { font-size:37px; font-weight:300; color:#e5d9ff; }
.cpw-points h3 { font-size:10px; letter-spacing:.16em; font-weight:500; color:#c6b2e4; margin:0 0 10px; }
.cpw-points>p { color:#8d9bad; font-size:10px; line-height:1.8; margin:0; }
.cpw-points>p>strong { color:#c6b2e4; font-weight:500; }
.cpw-points.is-ready .cpw-points-sigil { box-shadow:0 0 35px #bfa0fa44; }
.cpw-point-flight { position:absolute; inset:30% 0 auto; color:#fff0b3; font-size:24px; text-shadow:0 0 20px #d7bbff; animation:cpw-point-rise 1.4s ease-out both; pointer-events:none; z-index:5; }
.cpw-controls { display:flex; justify-content:center; align-items:center; flex-direction:column; gap:9px; position:relative; z-index:2; padding:0 0 24px; }
.cpw-open-button { min-width:260px; border:1px solid #c6ad7f; background:linear-gradient(115deg,#e3cfa1,#ac8757); color:#10202d; display:flex; align-items:center; justify-content:space-between; gap:35px; min-height:51px; padding:12px 24px; box-shadow:0 7px 24px #0005,0 0 25px #bfa0fa0a; font-size:12px!important; font-weight:500!important; }
.cpw-open-button>span { font-size:21px; line-height:1; }
.cpw-controls>p { color:#8496ae; font-size:10px; line-height:1.7; text-align:center; margin:0; max-width:650px; }
.cpw-controls .cp-action-status { margin:0; color:#c4b7d9!important; }
.cpw-inventory { border-top:1px solid #bba57830; margin-top:8px; }
.cpw-inventory-header { display:flex; justify-content:space-between; align-items:center; padding:17px 0 8px; }
.cpw-inventory-header>span { color:#ada187; font-size:9px; letter-spacing:.18em; }
.cpw-inventory-header>small { color:#7e90a6; font-size:10px; }
.cpw-inventory-rail { display:flex; align-items:stretch; justify-content:center; gap:8px; padding:15px 5px 10px; overflow:auto; scrollbar-width:thin; }
.cpw-inventory-item { position:relative; width:110px; flex:0 0 110px; padding:0 7px 10px; border:0; background:none; color:#9aa4b8; text-align:center; border-bottom:1px solid #a594c41f; transition:background .25s; }
.cpw-inventory-item>img { display:block; width:100%; height:92px; object-fit:contain; filter:drop-shadow(3px 7px 6px #0008); transition:transform .3s; }
.cpw-inventory-item>span { display:block; font-size:9px; line-height:1.4; margin-top:9px; }
.cpw-inventory-item>small { display:block; font-size:8px; color:#748ba2; margin-top:4px; }
.cpw-inventory-item>b { position:absolute; top:2px; right:4px; min-width:20px; padding:2px 5px; font-size:10px; font-weight:500; color:#e5d9bd; background:#101928d9; border:1px solid #bba57866; border-radius:12px; }
.cpw-inventory-item[aria-pressed="true"] { border-bottom-color:#c6a9f1; color:#e1d4ee; background:linear-gradient(0deg,#c6a9f113,transparent); }
.cpw-inventory-item[aria-pressed="true"]>img { transform:translateY(-5px); }
.cpw-inventory-empty { display:flex; align-items:center; justify-content:center; gap:20px; padding:18px 0; color:#879ab0; font-size:12px; }
.cpw-inventory-empty>a { color:#d3bb8f; border-bottom:1px solid #d3bb8f55; padding-bottom:4px; }
.cpw-reveal-header { display:flex; justify-content:space-between; align-items:end; gap:24px; padding:28px 0 12px; }
.cpw-reveal-header h2 { color:#e7dac2; font-size:clamp(25px,3vw,40px); font-weight:300; letter-spacing:-.04em; margin:8px 0; }
.cpw-reveal-header p { font-size:11px; color:#96a8bf; margin:0; }
.cpw-reveal-progress { font-size:13px; color:#bca7d7; white-space:nowrap; }
.cpw-reveal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,240px)); justify-content:center; gap:clamp(20px,4vw,60px); padding:40px 25px 25px; perspective:1300px; }
.cpw-reveal-grid[data-count="10"] { grid-template-columns:repeat(5,minmax(0,185px)); gap:34px clamp(18px,2.5vw,35px); }
.cpw-reveal-slot { position:relative; min-width:0; }
.cpw-reveal-grid.is-arriving>.cpw-reveal-slot { animation:cpw-card-arrive 1.05s cubic-bezier(.16,.75,.3,1) both; animation-delay:calc(var(--cp-index)*65ms); }
.cpw-flip-card { display:block; width:100%; aspect-ratio:2/3; border:0; background:none; padding:0; position:relative; perspective:1000px; overflow:visible; }
.cpw-flip-inner { display:block; position:absolute; inset:0; transform-style:preserve-3d; transition:transform .7s cubic-bezier(.2,.7,.3,1); }
.cpw-card-front,.cpw-card-back { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.cpw-card-front { transform:rotateY(180deg); }
.cpw-card-back { display:grid; place-items:center; border-radius:3%; border:2px solid #c0a873; background:radial-gradient(ellipse at 50% 45%,#2b2356,#12182b 48%,#060e1b); box-shadow:inset 0 0 0 4px #0b1321,inset 0 0 0 5px #a28e6066,0 15px 25px #0007; overflow:hidden; }
.cpw-card-back::before { content:''; position:absolute; inset:6%; border:1px solid #d4b77d55; background:repeating-conic-gradient(from 45deg at 50% 50%,transparent 0deg 44deg,#b296cc10 45deg 46deg,transparent 47deg 90deg); }
.cpw-card-back::after { content:''; position:absolute; width:70%; aspect-ratio:1; border:1px solid #c6afd666; transform:rotate(45deg); box-shadow:inset 0 0 0 8px #0b132177,0 0 0 8px #0b132155; }
.cpw-back-rune { position:relative; display:grid; place-items:center; width:47%; aspect-ratio:1; border:1px solid #cab17488; border-radius:50%; font:clamp(35px,6vw,80px)/1 Georgia,serif; color:#d0b883; text-shadow:0 0 20px #a997cc77; z-index:1; }
.cpw-card-back>small { position:absolute; bottom:10%; font-size:8px; letter-spacing:.25em; color:#baaa8a; }
.cpw-flip-card:hover:not(.is-revealed) .cpw-card-back { box-shadow:inset 0 0 0 4px #0b1321,inset 0 0 0 5px #c8b088,0 0 24px #bca0ed44; }
.cpw-flip-card.is-revealed .cpw-flip-inner { transform:rotateY(180deg); }
.cpw-flip-card.is-revealed { cursor:zoom-in; }
.cpw-flip-card.is-revealed::after { content:''; position:absolute; inset:-12%; z-index:-1; background:radial-gradient(ellipse,var(--cp-reveal-glow,#74cbff33),transparent 65%); animation:cpw-reveal-flare 1.1s ease both; pointer-events:none; }
.cpw-reward-caption { min-height:51px; padding-top:17px; text-align:center; opacity:0; transition:opacity .4s .4s; }
.cpw-reveal-slot.is-revealed .cpw-reward-caption { opacity:1; }
.cpw-reward-caption>strong { display:block; font-size:8px; font-weight:500; letter-spacing:.1em; color:#d1bb8e; }
.cpw-reward-caption>span { display:block; margin-top:5px; color:#9cacc2; font-size:10px; line-height:1.5; }
.cpw-reveal-grid .hc-card { container-type:inline-size; }
.cpw-reveal-grid .hc-card-edition { font-size:clamp(7px,1vw,12px); }
.cpw-reveal-grid .hc-card-caption>strong { font-size:clamp(10px,1.1vw,16px); }
.cpw-reveal-grid .hc-card-caption>small { font-size:7px; }
.cpw-reveal-grid .hc-card-stat-value { font-size:clamp(17px,12cqw,29px); }
.cpw-reveal-grid .hc-card-stat-value.is-long { font-size:clamp(15px,10cqw,25px); }
.cpw-reveal-grid .hc-card-stat-icon { width:clamp(12px,8cqw,18px); height:clamp(12px,8cqw,18px); }
.cpw-reveal-grid .hc-card-stat-label { font-size:clamp(6px,3.8cqw,10px); }
.cpw-result-footer { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:17px; padding:5px 0 25px; }
.cpw-result-footer .cpw-open-button { min-width:210px; }
.cpw-result-footer>p { margin:0; color:#a293bb; font-size:11px; }
.cpw-point-receipt { display:inline-flex; gap:8px; align-items:center; padding:8px 14px; border:1px solid #bfa0fa33; color:#d0b5ff; font-size:10px; background:#bfa0fa09; }
.cpw-recover-notice { display:flex; align-items:center; gap:15px; margin:23px 0 0; padding:16px 22px; border:1px solid #cbb88f40; color:#b7a791; font-size:11px; line-height:1.7; background:#cbb88f08; }
.cpw-recover-notice>span { font-size:22px; color:#d7bd8b; }
.cpw-inspect-dialog { width:800px; }
.cpw-inspect-dialog[open] { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px; align-items:center; padding:50px; }
.cpw-inspect-art { padding:15px 7px 10px 15px; container-type:inline-size; }
.cpw-inspect-art .hc-card-stat-value { font-size:clamp(26px,9cqw,40px); }
.cpw-inspect-art .hc-card-stat-icon { width:clamp(17px,6cqw,26px); height:clamp(17px,6cqw,26px); }
.cpw-inspect-art .hc-card-stat-label { font-size:clamp(8px,3cqw,12px); }
.cpw-inspect-art .hc-card-caption>strong { font-size:20px; }
.cpw-inspect-art .hc-card-edition { font-size:14px; }
.cpw-inspect-art .hc-card-caption>small { font-size:9px; }
.cpw-inspect-copy>p { color:#99acc1; font-size:12px; line-height:1.9; }
.cpw-inspect-copy h3 { font-size:23px; font-weight:400; color:#ecd9b0; margin:25px 0 10px; }
.cpw-inspect-growth { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; margin-top:25px; }
.cpw-inspect-growth>span { display:grid; gap:8px; text-align:center; font-size:9px; color:#899aaf; padding:12px 0; border-top:1px solid #a494c633; }
.cpw-inspect-growth small { font-size:8px; }
.cpw-inspect-growth b { font-size:10px; font-weight:400; }
.cpw-inspect-growth>.is-current { color:#e7d0a4; border-color:#d2b888; }
@keyframes cpw-orbit { to { transform:rotate(360deg); } }
@keyframes cpw-twinkle { to { opacity:.2; transform:scale(.6); } }
@keyframes cpw-float { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-13px) rotate(1deg); } }
@keyframes cpw-unseal-top { 15% { transform:translateY(0); } 45% { transform:translateY(-45px) rotate(-8deg); opacity:1; } 100% { transform:translateY(-140px) rotate(-21deg) scale(.9); opacity:0; } }
@keyframes cpw-unseal-lid { 15% { transform:translateY(0) rotateX(0); } 45% { transform:translateY(-30px) rotateX(-32deg) rotate(-5deg); opacity:1; } 100% { transform:translateY(-125px) rotateX(-65deg) rotate(-16deg) scale(.9); opacity:0; } }
@keyframes cpw-unseal-body { 0%,20% { transform:translateY(0) scale(1); } 40% { transform:translateY(8px) scale(1.04); opacity:1; } 100% { transform:translateY(50px) scale(.8); opacity:0; } }
@keyframes cpw-burst { 0%,15% { transform:scale(.1); opacity:0; } 38% { opacity:1; } 65% { transform:scale(2); opacity:.8; } 100% { transform:scale(3); opacity:0; } }
@keyframes cpw-card-arrive { from { opacity:0; transform:translate(var(--cp-origin-x,0px),var(--cp-origin-y,100px)) rotateX(25deg) rotate(-12deg) scale(.15); } 20% { opacity:1; } to { opacity:1; transform:translate(0,0) rotateX(0) rotate(0) scale(1); } }
@keyframes cpw-point-rise { 0% { opacity:0; transform:translateY(35px) scale(.5); } 35% { opacity:1; transform:translateY(0) scale(1.1); } 100% { opacity:0; transform:translateY(-70px) scale(.8); } }
@keyframes cpw-reveal-flare { from { opacity:1; transform:scale(.7); } to { opacity:0; transform:scale(1.4); } }
@media (max-width:1100px) {
    .cp-shop-exhibit { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .cp-exhibit-copy { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; align-items:center; gap:6px 30px; padding:0 0 15px; }
    .cp-exhibit-copy h3 { grid-column:1; margin:8px 0; }
    .cp-exhibit-copy>p { grid-column:1; max-width:450px; margin:0; }
    .cp-exhibit-pool { grid-column:2; grid-row:1/4; margin:0; }
    .cp-small-rates { grid-column:2; grid-row:4; margin:9px 0; }
    .cp-exhibit-copy>.cp-text-button { grid-column:1; justify-self:start; }
    .cp-shop .cp-product-art { height:300px; }
    .cpw-ritual { grid-template-columns:minmax(120px,.7fr) minmax(200px,1.4fr) minmax(130px,.7fr); gap:15px; }
    .cpw-stage { height:340px; }
    .cpw-package { height:300px; }
    .cpw-reveal-grid[data-count="10"] { gap:26px 20px; padding-inline:10px; }
}
@media (max-width:1280px) {
    .wish-banner-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .wish-tab { padding-inline:8px; gap:7px; }
    .wish-tab .wt-name { font-size:11px; }
    .wish-tab .wt-sub { font-size:8px; }
    .wish-tab>img { width:30px; height:30px; }
}
@media (max-width:760px) {
    .cp-shop-heading { align-items:start; gap:15px; }
    .cp-shop-heading h2 { font-size:33px; }
    .cp-shop-balance { grid-template-columns:26px auto; gap:6px; }
    .cp-shop-balance>img { width:24px; height:28px; }
    .cp-shop-balance strong { font-size:20px; }
    .cp-shop-balance small { font-size:6px; }
    .cp-shop-balance>a { font-size:9px; max-width:130px; }
    .cp-set-nav>button { min-width:95px; }
    .cp-shop .cp-product-art { height:260px; min-height:180px; }
    .cp-product-caption h4 { font-size:20px; }
    .cp-product-crown { font-size:6px; }
    .cp-product-crown>span::before,.cp-product-crown>span::after { margin:0 3px; }
    .cp-buy-button { padding:9px 11px; gap:8px; }
    .cp-buy-button>strong { font-size:14px; }
    .cp-shop-foot { flex-wrap:wrap; }
    .cp-shop-foot>a { margin-left:48px; }
    .cp-wish { padding:20px 18px 15px; }
    .cpw-heading-links { flex-direction:column; gap:8px; align-items:end; }
    .cpw-heading-links>a,.cpw-heading-links>button { font-size:9px; }
    .cpw-ritual { grid-template-columns:1fr 140px; gap:0 15px; }
    .cpw-lore { grid-column:1/-1; padding:24px 0 0; display:grid; grid-template-columns:1fr auto; gap:5px 12px; }
    .cpw-lore h2 { font-size:28px; margin:5px 0; grid-column:1; }
    .cpw-lore>p { display:none; }
    .cpw-lore-count { grid-row:1/3; grid-column:2; padding:0; margin:0; border:0; }
    .cpw-lore-count>strong { font-size:34px; }
    .cpw-stage { height:320px; max-width:390px; justify-self:center; }
    .cpw-package { height:290px; }
    .cpw-points { max-width:140px; }
    .cpw-points-sigil { width:99px; margin-bottom:18px; }
    .cpw-points-sigil strong { font-size:30px; }
    .cpw-points h3 { font-size:9px; }
    .cpw-points>p { font-size:9px; }
    .cpw-reveal-grid { gap:30px; padding:35px 18px 25px; }
    .cpw-reveal-grid[data-count="10"] { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 25px; }
    .cpw-reveal-grid[data-count="10"]>.cpw-reveal-slot:last-child { grid-column:2; }
    .cpw-reveal-grid .hc-card-caption>strong { font-size:10px; }
    .cpw-reveal-grid .hc-card-edition { font-size:8px; }
    .cpw-reveal-grid .hc-card-caption>small { font-size:6px; }
    .cpw-reward-caption>strong { font-size:7px; }
    .cpw-reward-caption>span { font-size:9px; }
    .cpw-inventory-rail { justify-content:flex-start; }
    .cpw-inspect-dialog[open] { gap:25px; padding:45px 30px 30px; }
    .cpw-inspect-copy h2 { font-size:29px; }
    .cpw-inspect-art .hc-card-caption>strong { font-size:15px; }
}
@media (max-width:490px) {
    .wish-tab .wt-name { font-size:9px; }
    .cp-shop { padding-inline:3px; }
    .cp-shop-heading h2 { font-size:28px; }
    .cp-overline { font-size:8px; }
    .cp-shop-exhibit { gap:9px; padding-top:25px; }
    .cp-exhibit-copy { gap:6px 12px; }
    .cp-exhibit-copy h3 { font-size:30px; }
    .cp-exhibit-copy>p { font-size:10px; }
    .cp-exhibit-pool>strong { font-size:36px; }
    .cp-exhibit-pool>span { font-size:8px; }
    .cp-small-rates { gap:11px; }
    .cp-small-rates img { width:26px; height:26px; }
    .cp-small-rates b { font-size:8px; }
    .cp-shop .cp-product-art { height:220px; }
    .cp-product-caption { padding-inline:0; margin-top:18px; }
    .cp-product-caption h4 { font-size:18px; }
    .cp-product-caption>p { font-size:9px; min-height:35px; }
    .cp-product-caption .cp-overline { font-size:6px; }
    .cp-buy-button { padding:8px; }
    .cp-buy-button>span { font-size:10px; }
    .cp-buy-button>strong { gap:3px; font-size:12px; }
    .cp-buy-button img { width:18px; height:21px; }
    .cp-purchase-dialog[open] { display:block; padding:35px 25px 22px; }
    .cp-purchase-art { height:190px; }
    .cp-purchase-art>img { height:190px; }
    .cp-purchase-copy h2 { font-size:30px; }
    .cp-purchase-copy dl { margin-top:15px; }
    .cp-purchase-copy dl>div { padding:7px 0; }
    .cpw-heading h1 { font-size:27px; }
    .cpw-ritual { grid-template-columns:minmax(0,1fr) 100px; gap:0 9px; }
    .cpw-stage { height:290px; }
    .cpw-package { height:265px; width:100%; }
    .cpw-astrolabe { width:120%; }
    .cpw-points-sigil { width:80px; }
    .cpw-points-sigil::after { inset:8px; }
    .cpw-points-sigil strong { font-size:25px; }
    .cpw-points h3 { font-size:7px; letter-spacing:.1em; }
    .cpw-points>p { font-size:8px; }
    .cpw-lore-count { gap:8px; }
    .cpw-lore-count>span { font-size:8px; }
    .cpw-reveal-header { align-items:start; }
    .cpw-reveal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 25px; padding-inline:10px; }
    .cpw-reveal-grid[data-count="3"]>.cpw-reveal-slot:last-child { grid-column:1/-1; width:calc(50% - 13px); justify-self:center; }
    .cpw-reveal-grid[data-count="10"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cpw-reveal-grid[data-count="10"]>.cpw-reveal-slot:last-child { grid-column:auto; }
    .cpw-inspect-dialog[open] { display:block; padding:40px 35px 25px; }
    .cpw-inspect-art { width:80%; max-width:230px; margin:auto; }
    .cpw-inspect-copy { margin-top:25px; }
    .cpw-inspect-copy h2 { font-size:28px; margin-bottom:10px; }
    .cpw-inspect-growth { margin-top:15px; }
    .cp-rule-highlight { padding:12px; gap:10px; }
    .cp-rule-highlight>img { width:38px; height:38px; }
}
@media (max-width:600px) {
    .cp-rules-dialog { width:calc(100vw - 20px); max-width:calc(100vw - 20px); padding:24px 18px; font-size:16px; }
    .cp-rules-dialog>header { padding-right:25px; }
    .cp-rules-dialog .cp-rate-triad { gap:7px; padding-block:22px; }
    .cp-rules-dialog .cp-rate-triad span { font-size:12px; }
    .cp-rules-dialog .cp-rule-highlight { align-items:flex-start; gap:12px; padding:14px; }
    .cp-pool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 22px; padding:16px 8px 24px; }
    .cp-pool-heading { gap:10px; }
    .cp-pool-heading>img { width:40px; height:40px; }
    .cp-pool-heading h3 { font-size:18px; }
    .cp-pool-heading>span { font-size:13px; }
    .cp-pool-card-caption>strong { font-size:14px; }
    .cp-pool-all { gap:12px; padding:16px; }
    .cp-pool-preview-dialog { padding:24px 22px; }
}
@media (max-width:340px) {
    .cp-pool-grid { grid-template-columns:1fr; padding-inline:20px; }
}
@media (prefers-reduced-motion:reduce) {
    .cp-shop *, .cp-wish *, .cp-dialog * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
    .cpw-stage.is-opening .cpw-package { opacity:0; }
    .cpw-flip-card.is-revealed .cpw-flip-inner { transform:rotateY(180deg); }
    .cpw-reward-caption { transition:none; }
    .cpw-point-flight { display:none; }
}
