/* Desktop page: 界隙回响 (hub · world · 序章 · 兑换商店 · 界隙召唤) + the in-battle 合魂 / 同调中 / 界规 parts and the fusion tear.
   Every selector starts at .pg-rift… (optionally after body.desktop-game / an element). 1u = --pg-u (≈10px at 1080p, 7px at 768).
   Rift light = violet #a77bff ↔ cyan #6fe3ff with a white-gold core: the 界隙 colour, kept apart from the gold of 合击 / skill-ready. */
body.desktop-game .pg-rift{--u:var(--pg-u);--pg-rift-violet:#a77bff;--pg-rift-cyan:#6fe3ff;--pg-rift-core:#fff4d6;--pg-rift-side:clamp(calc(var(--u)*34),30cqw,calc(var(--u)*46));position:absolute;inset:0;overflow:hidden;container:pgrift / size;color:var(--uk-text)}
body.desktop-game .pg-rift .r6{--rc:var(--uk-r6)}body.desktop-game .pg-rift .r5{--rc:var(--uk-r5)}body.desktop-game .pg-rift .r4{--rc:var(--uk-r4)}body.desktop-game .pg-rift .r3{--rc:var(--uk-r3)}

/* ---------- backdrop: pixel-capped picture, mirrored blurred extension, vignette (decoration only) ---------- */
body.desktop-game .pg-rift-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#132433,#07101b 72%);animation:uk-fade .24s ease-out both}
body.desktop-game .pg-rift-bg-img,body.desktop-game .pg-rift-bg-ext img{position:absolute;left:var(--bd-x,0px);top:var(--bd-y,0px);width:var(--bd-w,100%);height:var(--bd-h,100%);max-width:none;max-height:none;display:block;user-select:none}
body.desktop-game .pg-rift-bg-ext img{filter:blur(12px) brightness(.45) saturate(.85)}
body.desktop-game .pg-rift-bg-ext .l{transform:translateX(-100%) scaleX(-1)}
body.desktop-game .pg-rift-bg-ext .r{transform:translateX(100%) scaleX(-1)}
body.desktop-game .pg-rift-bg-ext .t{transform:translateY(-100%) scaleY(-1)}
body.desktop-game .pg-rift-bg-ext .b{transform:translateY(100%) scaleY(-1)}
body.desktop-game .pg-rift-bg-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050b13e6 0,#050b1340 14%,transparent 30%,transparent 70%,#050b1366 88%,#050b13cc 100%),linear-gradient(0deg,#050b13d9 0,#050b1340 22%,transparent 40%),linear-gradient(180deg,#050b13b3 0,transparent 20%)}
body.desktop-game .pg-rift-bg.is-world .pg-rift-bg-img,body.desktop-game .pg-rift-bg.is-shop .pg-rift-bg-img{filter:blur(5px) brightness(.42) saturate(.8)}
body.desktop-game .pg-rift-bg.is-world .pg-rift-bg-shade,body.desktop-game .pg-rift-bg.is-shop .pg-rift-bg-shade{background:radial-gradient(ellipse at 40% 50%,transparent 30%,#050b13b3 100%),linear-gradient(0deg,#050b13cc,transparent 30%)}
body.desktop-game .pg-rift-bg.is-story .pg-rift-bg-img{filter:blur(14px) brightness(.3)}
body.desktop-game .pg-rift-bg.is-summon .pg-rift-bg-img{filter:brightness(.62) saturate(.9) hue-rotate(12deg)}

/* ---------- shared frame of every view ---------- */
body.desktop-game .pg-rift-main{position:absolute;inset:calc(var(--u)*5.2);z-index:2;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;row-gap:calc(var(--u)*1.6);column-gap:calc(var(--u)*2.2);min-width:0;min-height:0}
body.desktop-game .pg-rift-head{grid-column:1/-1;grid-row:1;min-width:0}
body.desktop-game .pg-rift.is-entering .pg-rift-head .uk-plaque{animation:uk-rise .32s cubic-bezier(.2,.7,.2,1) both}
body.desktop-game .pg-rift-headmid{justify-content:flex-start;flex-wrap:nowrap;overflow:hidden}
body.desktop-game .pg-rift-chip{display:inline-flex;align-items:center;gap:calc(var(--u)*.45);white-space:nowrap;font:600 max(12px,calc(var(--u)*1.45))/1.2 var(--uk-sans);color:#ede7d8}
body.desktop-game .pg-rift-chip .uk-icon{--uk-is:max(15px,calc(var(--u)*2.1))}
body.desktop-game .pg-rift-wallet{display:inline-flex;align-items:center;gap:calc(var(--u)*1.6);padding:calc(var(--u)*.55) calc(var(--u)*1.6);border-radius:calc(var(--u)*3);background:radial-gradient(ellipse at 50% 0,#ffffff12,transparent 70%),linear-gradient(180deg,#0b1622cc,#07101bcc);box-shadow:inset 0 0 0 1px #c9a25a66,inset 0 1px 0 #f6e2a833,0 4px 10px #0008;flex:none}
body.desktop-game .pg-rift-icon{--pg-rift-is:clamp(18px,calc(var(--u)*2.6),34px);display:inline-block;flex:none;width:var(--pg-rift-is);height:var(--pg-rift-is);background:var(--pg-rift-icon) center/contain no-repeat;vertical-align:middle;font-style:normal;filter:drop-shadow(0 1px 2px #000a)}
body.desktop-game .pg-rift-icon--xs{--pg-rift-is:clamp(14px,calc(var(--u)*1.9),24px)}
body.desktop-game .pg-rift-icon--sm{--pg-rift-is:clamp(16px,calc(var(--u)*2.3),30px)}
body.desktop-game .pg-rift-icon--lg{--pg-rift-is:clamp(42px,calc(var(--u)*8),104px)}
body.desktop-game .pg-rift-info{grid-column:1/-1;grid-row:2/4;align-self:center;justify-self:center;width:min(100%,calc(var(--u)*96));max-height:100%;margin:0;display:flex;flex-direction:column;gap:calc(var(--u)*1);overflow:hidden}
body.desktop-game .pg-rift-infohead{display:flex;align-items:center;justify-content:space-between}
body.desktop-game .pg-rift-infohead .uk-panel-title{margin:0}
body.desktop-game .pg-rift-infobody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--u)*1.4) calc(var(--u)*2.4)}
body.desktop-game .pg-rift-infobody h3{margin:0 0 calc(var(--u)*.4);font:700 max(14px,calc(var(--u)*1.9))/1.2 var(--uk-serif);color:#f1d896}
body.desktop-game .pg-rift-infobody p{margin:0;font:400 max(13px,calc(var(--u)*1.5))/1.6 var(--uk-sans);color:#ede7d8}

/* ---------- 界隙大厅 (hub): door cards, 5 per page, book pager ---------- */
body.desktop-game .pg-rift-featured{display:inline-flex;align-items:center;gap:calc(var(--u)*1);min-width:0;white-space:nowrap}
body.desktop-game .pg-rift-featured>b{font:700 max(15px,calc(var(--u)*2.2))/1 var(--uk-serif);background:linear-gradient(180deg,var(--uk-title-a),var(--uk-title-b));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px #000)}
body.desktop-game .pg-rift-featured>small{font:400 max(12px,calc(var(--u)*1.35))/1.2 var(--uk-sans);color:#d9c9a0}
body.desktop-game .pg-rift-doors{grid-row:2;--plate:calc(var(--u)*13.6);container-type:size;display:flex;align-items:center;justify-content:center;gap:var(--uk-gap);min-height:0;min-width:0}
body.desktop-game .pg-rift-door{--cw:min(calc((100cqw - var(--uk-gap) * 4) / 5),calc((100cqh - var(--plate)) * 1536 / 2752));position:relative;display:flex;flex-direction:column;align-items:stretch;flex:none;width:var(--cw);margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:center;cursor:pointer;transition:transform .2s ease,filter .2s ease;animation:uk-rise .36s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 50ms)}
body.desktop-game .pg-rift .pg-rift-door:hover{transform:translateY(-4px);filter:brightness(1.1)}
body.desktop-game .pg-rift .pg-rift-door:focus-visible{outline:2px solid var(--uk-gold-hi);outline-offset:4px}
body.desktop-game .pg-rift-door-art{position:relative;display:block;width:100%;aspect-ratio:1536/2752;overflow:hidden;border-radius:calc(var(--cw) * .5) calc(var(--cw) * .5) calc(var(--u)*.6) calc(var(--u)*.6);background:#0b1622;box-shadow:0 0 0 2px #8a6a32,0 0 0 4px #f1d89655,inset 0 0 0 1px #f6e2a866,0 14px 24px #000b}
body.desktop-game .pg-rift-door-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
body.desktop-game .pg-rift-door-seam{position:absolute;left:50%;top:0;bottom:30%;width:22%;translate:-50% 0;background:linear-gradient(90deg,transparent,#a77bff22 28%,#fff4d655 50%,#6fe3ff22 72%,transparent);mix-blend-mode:screen;opacity:.0;transition:opacity .3s ease;pointer-events:none}
body.desktop-game .pg-rift-door:hover .pg-rift-door-seam,body.desktop-game .pg-rift-door.is-featured .pg-rift-door-seam{opacity:1;animation:pg-rift-breathe 3.4s ease-in-out infinite}
body.desktop-game .pg-rift-door.is-featured .pg-rift-door-art{box-shadow:0 0 0 2px #c9a25a,0 0 0 4px #ffd77ccc,0 0 calc(var(--u)*3) #ffcf6e88,0 14px 24px #000b}
body.desktop-game .pg-rift-door-badges{position:absolute;left:0;right:0;top:calc(var(--cw) * .2);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*.5);pointer-events:none}
body.desktop-game .pg-rift-badge{min-width:calc(var(--cw) * .62);height:max(22px,calc(var(--u)*3.1));font-size:max(12px,calc(var(--u)*1.45))}
body.desktop-game .pg-rift-door.is-sealed .pg-rift-door-art>img{filter:grayscale(.85) brightness(.5)}
body.desktop-game .pg-rift-door-wax{position:absolute;left:50%;top:50%;width:42%;aspect-ratio:1;translate:-50% -50%;background:url("./assets/pages/_kit/icon-wax.webp") center/contain no-repeat;filter:drop-shadow(0 3px 4px #000c)}
body.desktop-game .pg-rift-door-unstable{position:absolute;left:0;right:0;top:calc(50% + var(--cw) * .25);font:700 max(13px,calc(var(--u)*1.7))/1 var(--uk-serif);color:#ffb9a8;text-shadow:0 1px 3px #000}
body.desktop-game .pg-rift-door-plate{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*.45);margin-top:calc(var(--u)*-1.4);padding:calc(var(--u)*.35) calc(var(--u)*.2);border-style:solid;border-color:transparent;border-width:calc(var(--u)*1.9);border-image:url("./assets/pages/_kit/panel.webp") 200 fill / calc(var(--u)*1.9) stretch;filter:drop-shadow(0 8px 12px #000b)}
body.desktop-game .pg-rift-door-name{font:700 max(15px,calc(var(--u)*2.15))/1.1 var(--uk-serif);letter-spacing:.08em;background:linear-gradient(180deg,var(--uk-title-a),var(--uk-title-b));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px #000c);white-space:nowrap}
body.desktop-game .pg-rift-door-row{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:calc(var(--u)*.6);font:400 max(12px,calc(var(--u)*1.3))/1.2 var(--uk-sans);color:#c9d1d6;white-space:nowrap}
body.desktop-game .pg-rift-door-row b{font:700 max(12px,calc(var(--u)*1.45))/1 var(--uk-serif);color:#f3ead2;font-variant-numeric:tabular-nums}
body.desktop-game .pg-rift-door-stars{color:#f1d896}
body.desktop-game .pg-rift-pips{display:inline-flex;gap:2px}
body.desktop-game .pg-rift-pips i{width:max(5px,calc(var(--u)*.7));height:max(9px,calc(var(--u)*1.25));border-radius:2px;background:#2a3440;box-shadow:inset 0 0 0 1px #6b6f76}
body.desktop-game .pg-rift-pips i.on{background:linear-gradient(180deg,#d6c3ff,#7f5bd8);box-shadow:0 0 5px #a77bff99,inset 0 0 0 1px #e7dcff}
body.desktop-game .pg-rift-foot{grid-row:3;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*3);min-height:calc(var(--u)*4.6)}
body.desktop-game .pg-rift-foot-note{font:400 max(12px,calc(var(--u)*1.3))/1.2 var(--uk-sans);color:#a8b3b9}
body.desktop-game .pg-rift-sealed{grid-row:2;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*1.4);padding:calc(var(--u)*2) calc(var(--u)*6);text-align:center}
body.desktop-game .pg-rift-sealed p{margin:0;font:700 max(15px,calc(var(--u)*2.2))/1.4 var(--uk-serif);color:#f1d896}
body.desktop-game .pg-rift-sealed-icon{filter:grayscale(.7) brightness(.7)}

/* ---------- world page: route map + stage tablet + guests ---------- */
body.desktop-game .pg-rift-world{grid-template-columns:minmax(0,1fr) var(--pg-rift-side);grid-template-rows:auto minmax(0,1fr) auto}
body.desktop-game .pg-rift-rulechipbig{display:inline-flex;align-items:baseline;gap:calc(var(--u)*.6);flex:none;padding:calc(var(--u)*.5) calc(var(--u)*1.4);border-radius:calc(var(--u)*.8);background:linear-gradient(90deg,#2b1f4dcc,#0f2a3acc);box-shadow:inset 0 0 0 1px #a77bff88,0 0 calc(var(--u)*1.4) #6fe3ff33;cursor:help}
body.desktop-game .pg-rift-rulechipbig small{font:400 max(12px,calc(var(--u)*1.3))/1 var(--uk-sans);color:#c9b8ff}
body.desktop-game .pg-rift-rulechipbig b{font:700 max(14px,calc(var(--u)*2))/1 var(--uk-serif);color:#f4ecff;letter-spacing:.1em}
body.desktop-game .pg-rift-headbadge{flex:none;height:max(22px,calc(var(--u)*3.1));min-width:calc(var(--u)*12);font-size:max(12px,calc(var(--u)*1.4))}
body.desktop-game .pg-rift-headbadge.is-wide{min-width:calc(var(--u)*20)}
body.desktop-game .pg-rift-world .pg-rift-head .pg-rift-wallet{margin-left:auto}
body.desktop-game .pg-rift-mapwrap{grid-column:1;grid-row:2;container-type:size;display:grid;place-items:center;min-width:0;min-height:0}
body.desktop-game .pg-rift-map{position:relative;width:min(100cqw,calc(100cqh * 2752 / 1536));aspect-ratio:2752/1536;border-radius:calc(var(--u)*.6);overflow:visible;box-shadow:0 0 0 2px #8a6a32,0 0 0 4px #f1d89640,0 18px 30px #000c;animation:uk-rise .34s cubic-bezier(.2,.7,.2,1) both}
body.desktop-game .pg-rift-map-art{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}
body.desktop-game .pg-rift-map-shade{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 50% 50%,transparent 55%,#050b1366 100%);pointer-events:none}
body.desktop-game .pg-rift-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
body.desktop-game .pg-rift-route polyline{fill:none;stroke:#fff1c9;stroke-opacity:.8;stroke-width:2.4;stroke-dasharray:7 7;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #000) drop-shadow(0 0 6px #ffcf6e88);animation:pg-rift-dash 18s linear infinite}
body.desktop-game .pg-rift-node{--seal:clamp(30px,calc(var(--u)*5.2),70px);position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);z-index:2;display:flex;align-items:center;gap:calc(var(--u)*.5);margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;transform:translate(calc(var(--seal) / -2),-50%)}
body.desktop-game .pg-rift-node.label-left{flex-direction:row-reverse;transform:translate(calc(-100% + var(--seal) / 2),-50%)}
body.desktop-game .pg-rift-node-seal{position:relative;display:grid;place-items:center;flex:none;width:var(--seal);height:var(--seal);border-radius:50%;background:url("./assets/pages/_kit/icon-medal.webp") center/contain no-repeat;filter:drop-shadow(0 3px 5px #000d);transition:transform .2s ease,filter .2s ease}
body.desktop-game .pg-rift-node-seal b{font:700 calc(var(--seal)*.42)/1 var(--uk-serif);color:#f6e2a8;text-shadow:0 1px 2px #000}
body.desktop-game .pg-rift-node.is-boss .pg-rift-node-seal,body.desktop-game .pg-rift-node.is-oath .pg-rift-node-seal{width:calc(var(--seal)*1.18);height:calc(var(--seal)*1.18)}
body.desktop-game .pg-rift-node.is-boss .pg-rift-node-seal b{color:#ffb9a8}
body.desktop-game .pg-rift-node.is-oath .pg-rift-node-seal b{color:#e3d4ff}
body.desktop-game .pg-rift-node.is-locked .pg-rift-node-seal{filter:grayscale(.9) brightness(.55) drop-shadow(0 3px 5px #000d)}
body.desktop-game .pg-rift-node-wax{position:absolute;right:-14%;bottom:-12%;width:52%;aspect-ratio:1;background:url("./assets/pages/_kit/icon-wax.webp") center/contain no-repeat;filter:drop-shadow(0 2px 2px #000c)}
body.desktop-game .pg-rift-node.is-cleared .pg-rift-node-seal{filter:drop-shadow(0 0 7px #ffd27a99) drop-shadow(0 3px 5px #000d)}
body.desktop-game .pg-rift-node.is-selected .pg-rift-node-seal{transform:scale(1.12);filter:drop-shadow(0 0 10px #fff1c9) drop-shadow(0 0 18px #a77bffaa) drop-shadow(0 3px 5px #000d)}
body.desktop-game .pg-rift .pg-rift-node:hover .pg-rift-node-seal{transform:scale(1.08)}
body.desktop-game .pg-rift .pg-rift-node:focus-visible{outline:none}
body.desktop-game .pg-rift .pg-rift-node:focus-visible .pg-rift-node-seal{outline:2px solid #f1d896;outline-offset:3px}
body.desktop-game .pg-rift-node-label{--h:max(22px,calc(var(--u)*3.1));display:inline-flex;align-items:center;gap:calc(var(--u)*.5);box-sizing:border-box;height:var(--h);padding:0 calc(var(--h)*.25);border-style:solid;border-color:transparent;border-width:calc(var(--h)*120/635) calc(var(--h)*620/635);border-image:url("./assets/desktop/nav/plaque.webp") 120 620 fill / calc(var(--h)*120/635) calc(var(--h)*620/635) stretch;white-space:nowrap;filter:drop-shadow(0 3px 4px #000c)}
body.desktop-game .pg-rift-node-label b{font:700 max(12px,calc(var(--u)*1.45))/1 var(--uk-serif);color:#f3dfae;letter-spacing:.06em}
body.desktop-game .pg-rift-node-label small{font:400 max(12px,calc(var(--u)*1.25))/1 var(--uk-sans);color:#d9c9a0}
body.desktop-game .pg-rift-node.is-locked .pg-rift-node-label b{color:#a8b3b9}
body.desktop-game .pg-rift-node.is-selected .pg-rift-node-label b{color:#fff1c9}

body.desktop-game .pg-rift-stagepanel{grid-column:2;grid-row:2/4;--uk-pb:clamp(24px,calc(var(--u)*3.6),42px);min-height:0;min-width:0;margin:0;display:flex;flex-direction:column;gap:calc(var(--u)*1.05);animation:uk-rise .32s cubic-bezier(.2,.7,.2,1) .06s both}
body.desktop-game .pg-rift-stagehead{display:flex;flex-direction:column;gap:calc(var(--u)*.3)}
body.desktop-game .pg-rift-stagehead small{font:700 max(12px,calc(var(--u)*1.4))/1 var(--uk-serif);color:#c9b8ff;letter-spacing:.18em}
body.desktop-game .pg-rift-stagehead h2{margin:0;font:700 max(17px,calc(var(--u)*2.7))/1.15 var(--uk-serif);letter-spacing:.06em;background:linear-gradient(180deg,var(--uk-title-a),var(--uk-title-b));-webkit-background-clip:text;background-clip:text;color:transparent}
body.desktop-game .pg-rift-story{margin:0;font:400 max(12px,calc(var(--u)*1.4))/1.55 var(--uk-sans);color:#d8d2c3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.desktop-game .pg-rift-tiers{display:flex;justify-content:space-between;gap:calc(var(--u)*.6)}
body.desktop-game .pg-rift-tier{--ts:clamp(32px,calc(var(--u)*5.4),66px);flex:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*.3);min-width:0;margin:0;padding:calc(var(--u)*.3) 0;border:0;border-radius:calc(var(--u)*.8);background:none;color:inherit;font:inherit;cursor:pointer;transition:background .16s}
body.desktop-game .pg-rift .pg-rift-tier.is-selected{background:radial-gradient(ellipse at 50% 40%,#ffd27a26,transparent 70%)}
body.desktop-game .pg-rift-tier-seal{position:relative;display:grid;place-items:center;width:var(--ts);height:var(--ts);border-radius:50%;background:url("./assets/pages/_kit/icon-medal.webp") center/contain no-repeat;filter:drop-shadow(0 3px 4px #000c);transition:transform .16s,filter .16s}
body.desktop-game .pg-rift-tier-seal b{font:700 calc(var(--ts)*.4)/1 var(--uk-serif);color:#f6e2a8;text-shadow:0 1px 2px #000}
body.desktop-game .pg-rift-tier.tier-hell .pg-rift-tier-seal b{color:#ffb38a}
body.desktop-game .pg-rift-tier.tier-shura .pg-rift-tier-seal b{color:#ff8a8a}
body.desktop-game .pg-rift-tier.is-selected .pg-rift-tier-seal{transform:scale(1.08);filter:drop-shadow(0 0 10px #ffd27acc) drop-shadow(0 3px 4px #000c)}
body.desktop-game .pg-rift-tier.is-locked .pg-rift-tier-seal{filter:grayscale(.9) brightness(.5) drop-shadow(0 3px 4px #000c)}
body.desktop-game .pg-rift-tier-wax{position:absolute;right:-12%;bottom:-10%;width:50%;aspect-ratio:1;background:url("./assets/pages/_kit/icon-wax.webp") center/contain no-repeat}
body.desktop-game .pg-rift-tier-name{font:700 max(12px,calc(var(--u)*1.45))/1 var(--uk-serif);color:#f3dfae;white-space:nowrap}
body.desktop-game .pg-rift-tier-name em{margin-left:2px;font:400 max(12px,calc(var(--u)*1.2))/1 var(--uk-sans);font-style:normal;color:#ff9f8a}
body.desktop-game .pg-rift-tier.is-locked .pg-rift-tier-name{color:#8f99a1}
body.desktop-game .pg-rift-tier-stars{font-size:max(12px,calc(var(--u)*1.3));line-height:1;color:#f1d896;min-height:1em}
body.desktop-game .pg-rift-tier-stars i{font-style:normal;color:#6b6f76}
body.desktop-game .pg-rift-lock{margin:calc(var(--u)*-.4) 0 0;text-align:center;font:400 max(12px,calc(var(--u)*1.35))/1.3 var(--uk-sans);color:var(--uk-down)}
body.desktop-game .pg-rift-boss{display:flex;align-items:center;gap:calc(var(--u)*1.1);padding:calc(var(--u)*.6);border-radius:calc(var(--u)*.8);background:linear-gradient(90deg,#3a0f0f88,#0b162266);box-shadow:inset 0 0 0 1px #e0584a55}
body.desktop-game .pg-rift-boss-art{position:relative;flex:none;width:calc(var(--u)*13);aspect-ratio:16/10;overflow:hidden;border-radius:calc(var(--u)*.5);box-shadow:0 0 0 1px #c9a25a99,0 4px 8px #000a}
body.desktop-game .pg-rift-boss-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 35%}
body.desktop-game .pg-rift-boss-text{display:flex;flex-direction:column;gap:calc(var(--u)*.25);min-width:0}
body.desktop-game .pg-rift-boss-text small{font:400 max(12px,calc(var(--u)*1.2))/1 var(--uk-sans);color:#ff9f8a}
body.desktop-game .pg-rift-boss-text b{font:700 max(14px,calc(var(--u)*1.9))/1.15 var(--uk-serif);color:#ffe2d6}
body.desktop-game .pg-rift-boss-text span{font:400 max(12px,calc(var(--u)*1.25))/1.3 var(--uk-sans);color:#d8d2c3}
body.desktop-game .pg-rift-boss-text q{font:400 max(12px,calc(var(--u)*1.25))/1.35 var(--uk-serif);color:#c9b8a0;font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.desktop-game .pg-rift-layers{display:flex;flex-wrap:wrap;gap:calc(var(--u)*.5) calc(var(--u)*1.4);font:400 max(12px,calc(var(--u)*1.35))/1.3 var(--uk-sans);color:#d8d2c3}
body.desktop-game .pg-rift-layers span{display:inline-flex;align-items:center;gap:calc(var(--u)*.4)}
body.desktop-game .pg-rift-oath{margin:0;font:400 max(12px,calc(var(--u)*1.35))/1.3 var(--uk-sans);color:var(--uk-down)}
body.desktop-game .pg-rift-oath.is-ok{color:var(--uk-up)}
body.desktop-game .pg-rift-rewards{display:flex;flex-direction:column;gap:calc(var(--u)*.7)}
body.desktop-game .pg-rift-rewardrow{display:flex;flex-direction:column;gap:calc(var(--u)*.4)}
body.desktop-game .pg-rift-rewardrow h4{margin:0;font:700 max(12px,calc(var(--u)*1.4))/1 var(--uk-serif);color:#f1d896;letter-spacing:.1em}
body.desktop-game .pg-rift-rewardrow>div{display:flex;flex-wrap:wrap;gap:calc(var(--u)*.4) calc(var(--u)*1.1)}
body.desktop-game .pg-rift-rewardrow.is-done{opacity:.6}
body.desktop-game .pg-rift-gobox{margin-top:auto;display:flex;justify-content:center;padding-top:calc(var(--u)*.4)}
body.desktop-game .pg-rift-go{min-width:calc(var(--uk-bh)*4.2)}
body.desktop-game .pg-rift-worldfoot{grid-column:1;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*1.6);min-width:0}
body.desktop-game .pg-rift-actions{display:flex;align-items:center;gap:calc(var(--u)*.8);flex:none}
body.desktop-game .pg-rift-guests{display:flex;align-items:center;gap:calc(var(--u)*1);flex:none}
body.desktop-game .pg-rift-guestcards{display:flex;gap:calc(var(--u)*.6)}
body.desktop-game .pg-rift-guest{display:block;--uk-cw:clamp(46px,calc(var(--u)*6.6),92px)}
body.desktop-game .pg-rift-guest .uk-card{--uk-cw:inherit}
body.desktop-game .pg-rift-fusions{display:flex;flex-direction:column;gap:calc(var(--u)*.5)}
body.desktop-game .pg-rift-fusionchip{display:inline-flex;align-items:center;gap:calc(var(--u)*.4);padding:calc(var(--u)*.3) calc(var(--u)*.8) calc(var(--u)*.3) calc(var(--u)*.4);border-radius:calc(var(--u)*2);background:linear-gradient(90deg,#1b1530cc,#0b1622cc);box-shadow:inset 0 0 0 1px #6b6f76;white-space:nowrap}
body.desktop-game .pg-rift-fusionchip b{font:700 max(12px,calc(var(--u)*1.35))/1 var(--uk-serif);color:#d8d2c3}
body.desktop-game .pg-rift-fusionchip small{font:400 max(12px,calc(var(--u)*1.15))/1 var(--uk-sans);color:#8f99a1}
body.desktop-game .pg-rift-fusionchip:not(.is-on) .pg-rift-icon{filter:grayscale(1) brightness(.6)}
body.desktop-game .pg-rift-fusionchip.is-on{box-shadow:inset 0 0 0 1px #a77bffaa,0 0 calc(var(--u)*1.2) #6fe3ff44}
body.desktop-game .pg-rift-fusionchip.is-on b{color:#f4ecff}
body.desktop-game .pg-rift-fusionchip.is-on small{color:#9fe7ff}

/* ---------- 序章 (story) ---------- */
body.desktop-game .pg-rift-storyview{grid-template-rows:auto minmax(0,1fr) auto auto}
body.desktop-game .pg-rift-panel{grid-row:2;container-type:size;margin:0;display:grid;place-items:center;min-height:0}
body.desktop-game .pg-rift-panel img{display:block;width:min(100cqw,calc(100cqh * 2752 / 1536));aspect-ratio:2752/1536;height:auto;border-radius:calc(var(--u)*.6);box-shadow:0 0 0 2px #8a6a32,0 0 0 4px #f1d89640,0 18px 30px #000c;animation:uk-fade .5s ease-out both}
body.desktop-game .pg-rift-caption{grid-row:3;justify-self:center;width:min(100%,calc(var(--u)*110));--uk-pb:clamp(22px,calc(var(--u)*3),36px);margin:0}
body.desktop-game .pg-rift-caption p{margin:0;text-align:center;font:400 max(14px,calc(var(--u)*1.9))/1.6 var(--uk-serif);color:#f3ead2}
body.desktop-game .pg-rift-storyfoot{grid-row:4;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*4)}

/* ---------- 兑换商店 (shop) ---------- */
body.desktop-game .pg-rift-shop{grid-template-columns:minmax(0,1fr) var(--pg-rift-side);grid-template-rows:auto minmax(0,1fr)}
body.desktop-game .pg-rift-wares{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:calc(var(--u)*1.4);min-height:0;min-width:0}
body.desktop-game .pg-rift-ware{--uk-pb:clamp(18px,calc(var(--u)*2.6),32px);margin:0;padding:0;min-height:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;gap:calc(var(--u)*.6);text-align:center;animation:uk-rise .32s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 40ms)}
body.desktop-game .pg-rift-ware-icon{display:grid;place-items:center;height:clamp(52px,calc(var(--u)*10.5),140px)}
body.desktop-game .pg-rift-ware-icon .pg-rift-icon--lg{--pg-rift-is:clamp(52px,calc(var(--u)*10.5),140px)}
body.desktop-game .pg-rift-ware-icon .uk-icon{--uk-is:clamp(46px,calc(var(--u)*8.6),116px)}
body.desktop-game .pg-rift-ware-guest{display:block;--uk-cw:clamp(56px,calc(var(--u)*8.2),112px)}
body.desktop-game .pg-rift-ware-guest .uk-card{--uk-cw:inherit}
body.desktop-game .pg-rift-ware-text{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*.35);min-width:0}
body.desktop-game .pg-rift-ware-text>b{font:700 max(13px,calc(var(--u)*1.7))/1.2 var(--uk-serif);color:#f3dfae}
body.desktop-game .pg-rift-ware-text>small{font:400 max(12px,calc(var(--u)*1.2))/1.3 var(--uk-sans);color:#a8b3b9}
body.desktop-game .pg-rift-ware-price{display:inline-flex;align-items:center;gap:calc(var(--u)*.4)}
body.desktop-game .pg-rift-ware-price b{font:700 max(14px,calc(var(--u)*1.9))/1 var(--uk-serif);color:#fff1c9}
body.desktop-game .pg-rift-ware-price em{font:400 max(12px,calc(var(--u)*1.2))/1 var(--uk-sans);font-style:normal;color:#a8b3b9;margin-left:calc(var(--u)*.4)}
body.desktop-game .pg-rift-ware.is-sold{filter:saturate(.5) brightness(.8)}
body.desktop-game .pg-rift-ware-buy{min-height:calc(var(--u)*6.2);display:flex;align-items:flex-start;justify-content:center}
body.desktop-game .pg-rift-ware-buy .uk-btn{min-width:calc(var(--uk-bh)*3)}
body.desktop-game .pg-rift-bag{grid-column:2;grid-row:2;--uk-pb:clamp(24px,calc(var(--u)*3.6),42px);margin:0;min-height:0;display:flex;flex-direction:column;gap:calc(var(--u)*1)}
body.desktop-game .pg-rift-bag h3{margin:0;font:700 max(12px,calc(var(--u)*1.5))/1 var(--uk-serif);color:#f1d896;letter-spacing:.1em}
body.desktop-game .pg-rift-bagitems{display:flex;flex-wrap:wrap;gap:calc(var(--u)*.6) calc(var(--u)*1.6)}
body.desktop-game .pg-rift-picks{display:flex;flex-wrap:wrap;gap:calc(var(--u)*.8)}
body.desktop-game .pg-rift-pick{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*.3);margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;--uk-cw:clamp(46px,calc(var(--u)*6.4),88px)}
body.desktop-game .pg-rift-pick .uk-card{--uk-cw:inherit}
body.desktop-game .pg-rift-pick small{font:400 max(12px,calc(var(--u)*1.15))/1 var(--uk-sans);color:#c9d1d6;white-space:nowrap}
body.desktop-game .pg-rift-bagbtns{display:flex;flex-wrap:wrap;gap:calc(var(--u)*.8);margin-top:auto}
body.desktop-game .pg-rift-cosmetics{margin:0;display:flex;align-items:center;gap:calc(var(--u)*.4);font:400 max(12px,calc(var(--u)*1.25))/1.3 var(--uk-sans);color:#c9b8ff}
body.desktop-game .pg-rift-empty{margin:0;font:400 max(12px,calc(var(--u)*1.3))/1.4 var(--uk-sans);color:#a8b3b9}

/* ---------- 界隙召唤 (summon tab, in the summon page's language) ---------- */
body.desktop-game .pg-rift-summonview{grid-template-columns:minmax(0,1fr) clamp(calc(var(--u)*30),27cqw,calc(var(--u)*42));grid-template-rows:auto minmax(0,1fr) auto}
body.desktop-game .pg-rift-sumtabs .uk-tab{min-width:calc(var(--uk-bh)*3.2)}
body.desktop-game .pg-rift-switch{display:inline-flex;align-items:center;gap:calc(var(--u)*.8);flex:none;white-space:nowrap}
body.desktop-game .pg-rift-switch>b{font:700 max(14px,calc(var(--u)*2))/1 var(--uk-serif);color:#f3dfae;min-width:calc(var(--u)*10);text-align:center}
body.desktop-game .pg-rift-sanctum{grid-column:1;grid-row:2;container:pgrift-stage / size;display:flex;align-items:center;justify-content:space-between;min-height:0;min-width:0;padding:0 calc(var(--u)*1)}
body.desktop-game .pg-rift-shrine{--fh:min(calc(100cqh - var(--u) * 7.6),calc(24cqw / .5725),calc(var(--u) * 48));display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*.5);animation:uk-rise .36s cubic-bezier(.2,.7,.2,1) both}
body.desktop-game .pg-rift-shrine-frame{position:relative;display:block;height:var(--fh);aspect-ratio:813/1420}
body.desktop-game .pg-rift-shrine-arch{position:absolute;inset:0;z-index:2;width:100%;height:100%;filter:drop-shadow(0 12px 14px #000c)}
body.desktop-game .pg-rift-shrine .pg-rift-shrine-art.collection-portrait{position:absolute;left:23.4%;right:23.4%;top:17%;bottom:19%;z-index:1;height:auto;border-radius:0;background-color:#05090f}
body.desktop-game .pg-rift-shrine-wax{position:absolute;left:50%;bottom:22%;z-index:3;width:30%;aspect-ratio:1;translate:-50% 0;background:url("./assets/pages/_kit/icon-wax.webp") center/contain no-repeat}
body.desktop-game .pg-rift-shrine-stars{font-size:calc(var(--u)*2);line-height:1}
body.desktop-game .pg-rift-shrine-name{font-size:max(13px,calc(var(--u)*1.8))}
body.desktop-game .pg-rift-gate{--gh:min(calc(100cqh - var(--u) * 2),calc(30cqw / .558),calc(var(--u) * 56));position:relative;height:var(--gh);aspect-ratio:1536/2752;animation:uk-fade .5s ease-out both}
body.desktop-game .pg-rift-gate-art{position:absolute;inset:0;overflow:hidden;border-radius:calc(var(--gh)*.28) calc(var(--gh)*.28) calc(var(--u)*.6) calc(var(--u)*.6);box-shadow:0 0 0 2px #8a6a32,0 0 0 5px #a77bff66,0 0 calc(var(--u)*4) #6fe3ff55,0 18px 30px #000c}
body.desktop-game .pg-rift-gate-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body.desktop-game .pg-rift-gate-seam{position:absolute;left:50%;top:-4%;bottom:-2%;width:16%;translate:-50% 0;background:radial-gradient(ellipse 30% 50% at 50% 50%,#fff4d6cc,#a77bff55 40%,transparent 70%);mix-blend-mode:screen;pointer-events:none;animation:pg-rift-breathe 3.6s ease-in-out infinite}
body.desktop-game .pg-rift-sumbar{grid-column:1;grid-row:3;display:flex;align-items:flex-end;justify-content:center;gap:calc(var(--u)*3);min-width:0}
body.desktop-game .pg-rift-seal{position:relative;display:flex;flex-direction:column;align-items:center;width:calc(var(--u)*13.4)}
body.desktop-game .pg-rift-seal-disc{position:relative;display:block;width:calc(var(--u)*13);aspect-ratio:1;filter:drop-shadow(0 8px 10px #000b)}
body.desktop-game .pg-rift-seal-disc>img,body.desktop-game .pg-rift-seal-disc>svg{position:absolute;inset:0;width:100%;height:100%;display:block}
body.desktop-game .pg-rift-seal svg rect{fill:#1b1430;stroke:#0b0603;stroke-width:.35}
body.desktop-game .pg-rift-seal svg rect.on{fill:#d6c3ff;stroke:#f4ecff;stroke-width:.45}
body.desktop-game .pg-rift-seal-num{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:calc(var(--u)*4);gap:calc(var(--u)*.2)}
body.desktop-game .pg-rift-seal-num b{font:700 calc(var(--u)*4.2)/1 var(--uk-serif);background:linear-gradient(180deg,#fff0c2,#d9a94f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px #000c)}
body.desktop-game .pg-rift-seal-num small{font:700 max(12px,calc(var(--u)*1.5))/1 var(--uk-serif);color:#e9cf93;text-shadow:0 1px 2px #000}
body.desktop-game .pg-rift-seal .uk-ribbon{position:relative;z-index:2;margin-top:calc(var(--u)*-2);min-width:calc(var(--u)*12);height:max(22px,calc(var(--u)*3.1))}
body.desktop-game .pg-rift-sumgo{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*.9)}
body.desktop-game .pg-rift-sumbtns{display:flex;align-items:flex-start;gap:calc(var(--u)*2.2)}
body.desktop-game .pg-rift-sumbtn{display:inline-flex;flex-direction:column;align-items:center}
body.desktop-game .pg-rift-sumbtn .uk-btn-label{display:flex;flex-direction:column;align-items:center;gap:calc(var(--uk-bh)*.05)}
body.desktop-game .pg-rift-sumbtn-name{font:700 max(14px,calc(var(--uk-bh)*.23))/1 var(--uk-serif);letter-spacing:.14em;text-indent:.14em}
body.desktop-game .pg-rift-sumbtn-cost{display:inline-flex;align-items:center;gap:calc(var(--uk-bh)*.05);font:700 max(12px,calc(var(--uk-bh)*.175))/1 var(--uk-serif);color:#fff1c9}
body.desktop-game .pg-rift-sumbtn-cost .uk-icon{--uk-is:max(13px,calc(var(--uk-bh)*.2))}
body.desktop-game .pg-rift-tablet{grid-column:2;grid-row:2/4;--uk-pb:clamp(24px,calc(var(--u)*3.6),42px);margin:0;min-height:0;min-width:0;display:flex;flex-direction:column;gap:calc(var(--u)*1.1);animation:uk-rise .32s cubic-bezier(.2,.7,.2,1) .08s both}
body.desktop-game .pg-rift-tablet .uk-panel-title{margin:0;font-size:max(15px,calc(var(--u)*2.1))}
body.desktop-game .pg-rift-pool{display:flex;flex-direction:column;gap:calc(var(--u)*.7);min-height:0}
body.desktop-game .pg-rift-poolrow{display:flex;align-items:center;gap:calc(var(--u)*.9);padding:calc(var(--u)*.35) calc(var(--u)*.6);border-radius:calc(var(--u)*.9);background:radial-gradient(ellipse at 28% 50%,#ffffff0f,transparent 70%),linear-gradient(180deg,#0000003d,#0000001a);box-shadow:inset 0 1px 0 #ffffff12,inset 0 -1px 0 #00000059;--uk-cw:clamp(44px,calc(var(--u)*6.2),84px)}
body.desktop-game .pg-rift-poolrow .uk-card{--uk-cw:inherit}
body.desktop-game .pg-rift-poolname{display:flex;flex-direction:column;gap:calc(var(--u)*.3);flex:1;min-width:0}
body.desktop-game .pg-rift-poolname b{font:700 max(13px,calc(var(--u)*1.75))/1.1 var(--uk-serif);color:#f3dfae;white-space:nowrap}
body.desktop-game .pg-rift-poolname small{font:400 max(12px,calc(var(--u)*1.2))/1.1 var(--uk-sans);color:var(--rc,#a8b3b9);white-space:nowrap}
body.desktop-game .pg-rift-poolrow em{font:700 max(13px,calc(var(--u)*1.75))/1 var(--uk-serif);font-style:normal;color:#fff1c9}
body.desktop-game .pg-rift-rules{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-direction:column;gap:calc(var(--u)*.55)}
body.desktop-game .pg-rift-rules li{display:flex;align-items:center;gap:calc(var(--u)*.6);font:400 max(12px,calc(var(--u)*1.3))/1.3 var(--uk-sans);color:#d8d2c3}
body.desktop-game .pg-rift-mini-seal{display:grid;place-items:center;flex:none;width:max(18px,calc(var(--u)*2.4));aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#2b1f4d,#140e26);box-shadow:inset 0 0 0 1px #c9b8ff;font:700 max(10px,calc(var(--u)*1.05))/1 var(--uk-serif);font-style:normal;color:#e3d4ff}
body.desktop-game .pg-rift-summonview.is-revealing>:not(.pg-rift-head){visibility:hidden}
body.desktop-game .pg-rift-reveal{position:absolute;inset:calc(var(--u)*5.2);z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u)*1.6);background:radial-gradient(ellipse at 50% 45%,#2b1f4d99,transparent 70%)}
body.desktop-game .pg-rift-rgrid{display:flex;flex-direction:column;gap:calc(var(--u)*1.2);align-items:center}
body.desktop-game .pg-rift-rrow{display:flex;gap:calc(var(--u)*1.6)}
body.desktop-game .pg-rift-rcard{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*.4);animation:pg-rift-rise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 90ms)}
body.desktop-game .pg-rift-rcard .uk-card--sm{--uk-cw:clamp(64px,calc(var(--u)*10),130px)}
body.desktop-game .pg-rift-rcard.r6 .uk-card{filter:drop-shadow(0 0 12px #ffcf6eaa)}
body.desktop-game .pg-rift-rcard figcaption{display:flex;align-items:center;gap:calc(var(--u)*.4);font:400 max(12px,calc(var(--u)*1.25))/1 var(--uk-sans);color:#d8d2c3;white-space:nowrap}
body.desktop-game .pg-rift-rcard figcaption .uk-ribbon{height:max(20px,calc(var(--u)*2.8))}
body.desktop-game .pg-rift-rcard-name{font-size:max(12px,calc(var(--u)*1.5))}
body.desktop-game .pg-rift-rpity{font:700 max(12px,calc(var(--u)*1.25))/1 var(--uk-serif);color:#ffb38a}

/* ---------- battle: 合魂 crest, 同调中 sash, member thread, 界规 plate (inside .pg-battle) ---------- */
body.desktop-game .pg-rift-fuse{position:absolute;left:50%;top:58%;z-index:9;display:inline-flex;align-items:center;gap:3px;translate:-50% -50%;padding:max(4px,calc(var(--pg-u)*.45)) max(9px,calc(var(--pg-u)*1.1)) max(4px,calc(var(--pg-u)*.45)) max(5px,calc(var(--pg-u)*.6));border-radius:999px;background:linear-gradient(90deg,#3a1f78f2,#123c56f2);box-shadow:0 0 0 1px #e7dcff,0 0 0 2px #6fe3ff99,0 0 14px #a77bffcc,0 0 22px #6fe3ff77;cursor:pointer;white-space:nowrap;animation:pg-rift-pulse 1.6s ease-in-out infinite;pointer-events:auto}
body.desktop-game .pg-rift-fuse b{font:700 max(13px,calc(var(--pg-u)*1.75))/1 var(--uk-serif);letter-spacing:.12em;color:#f4ecff;text-shadow:0 0 6px #a77bff,0 1px 1px #000}
body.desktop-game .pg-rift-fuse .pg-rift-icon{--pg-rift-is:max(18px,calc(var(--pg-u)*2.6))}
body.desktop-game .pg-rift-fuse-ring{position:absolute;inset:-5px;border-radius:999px;box-shadow:0 0 0 1px #a77bff88;opacity:0;animation:pg-rift-ring 1.6s ease-out infinite;pointer-events:none}
body.desktop-game .pg-rift-fuse:hover{filter:brightness(1.15)}
body.desktop-game .pg-rift-fuse:focus-visible{outline:2px solid #e7dcff;outline-offset:2px}
body.desktop-game.desktop-battle .pg-rift-member.hero-card .pg-battle-card::before{content:"";position:absolute;inset:-3% -4%;z-index:6;border-radius:7px;pointer-events:none;box-shadow:0 0 0 2px #d6c3ff,0 0 0 3px #6fe3ff88,0 0 14px 3px #a77bffaa,0 0 26px #6fe3ff66;animation:pg-rift-breathe 1.6s ease-in-out infinite}
body.desktop-game .pg-rift-sync{position:absolute;inset:0;z-index:8;display:grid;place-items:center;pointer-events:none}
body.desktop-game .pg-rift-sync-veil{position:absolute;inset:4% 6% 6%;border-radius:6px;background:linear-gradient(180deg,#2b1f4d55,#123c5699);box-shadow:inset 0 0 0 1px #a77bff99,inset 0 0 14px #6fe3ff55}
body.desktop-game .pg-rift-sync b{position:relative;padding:2px max(5px,calc(var(--pg-u)*.6));border-radius:3px;background:linear-gradient(90deg,#3a1f78e6,#123c56e6);box-shadow:0 0 0 1px #c9b8ff;font:700 max(12px,calc(var(--pg-u)*1.4))/1.2 var(--uk-serif);letter-spacing:.1em;color:#e3d4ff;white-space:nowrap;rotate:-8deg}
body.desktop-game.desktop-battle .pg-rift-synced.hero-card :is(.pg-battle-dial,.pg-battle-motes,.pg-battle-chain){display:none!important}
body.desktop-game.desktop-battle .pg-rift-synced.hero-card .uk-card-art{filter:brightness(.7) saturate(.6) hue-rotate(-20deg)}
body.desktop-game .pg-rift-roster{position:relative}
body.desktop-game .pg-rift-link{position:absolute;z-index:7;height:3px;translate:0 -50%;border-radius:2px;background:linear-gradient(90deg,#a77bff,#fff4d6 50%,#6fe3ff);box-shadow:0 0 8px #a77bff,0 0 14px #6fe3ff99;pointer-events:none;animation:pg-rift-breathe 1.6s ease-in-out infinite}
body.desktop-game .pg-rift-hinted>span{visibility:hidden}
body.desktop-game .pg-rift-rulebar{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:calc(var(--pg-u)*.6);white-space:nowrap;pointer-events:auto}
body.desktop-game .pg-rift-rulechip{display:inline-flex;align-items:center;gap:calc(var(--pg-u)*.4);padding:max(2px,calc(var(--pg-u)*.25)) max(8px,calc(var(--pg-u)*.9));border-radius:999px;background:linear-gradient(90deg,#2b1f4de6,#0f2a3ae6);box-shadow:inset 0 0 0 1px #a77bff99,0 2px 6px #000a}
body.desktop-game .pg-rift-rulechip b{font:700 max(12px,calc(var(--pg-u)*1.3))/1 var(--uk-serif);color:#f4ecff}
body.desktop-game .pg-rift-rulechip em{font:400 max(12px,calc(var(--pg-u)*1.2))/1 var(--uk-sans);font-style:normal;color:#9fe7ff}
body.desktop-game .pg-rift-rulechip.is-fusion em{color:#c9b8ff}
body.desktop-game .pg-rift-ruleact{height:max(22px,calc(var(--pg-u)*2.6));margin:0;padding:0 max(10px,calc(var(--pg-u)*1.2));border:0;border-radius:999px;background:linear-gradient(180deg,#6b4cc4,#3a1f78);box-shadow:inset 0 0 0 1px #e7dcff,0 0 10px #a77bff88,0 2px 4px #000a;color:#fff4d6;font:700 max(12px,calc(var(--pg-u)*1.35))/1 var(--uk-serif);letter-spacing:.1em;cursor:pointer}
body.desktop-game .pg-rift-ruleact:disabled{filter:grayscale(.8) brightness(.6);cursor:default}
body.desktop-game .pg-rift-ruleact:not(:disabled):hover{filter:brightness(1.15)}

/* ---------- fusion tear (1.5 s short version; the full clip goes through game.mjs playCinematic) ---------- */
body.desktop-game .pg-rift-fx,body .pg-rift-fx{position:fixed;inset:0;z-index:95;display:grid;place-items:center;pointer-events:none;overflow:hidden;--pg-rift-ms:1500ms}
body .pg-rift-fx .pg-rift-fx-dim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,#1b1036cc,#05030ce6 70%);animation:pg-rift-fxfade var(--pg-rift-ms) ease-out both}
body .pg-rift-fx .pg-rift-fx-seam{position:absolute;left:50%;top:-5%;bottom:-5%;width:min(26vw,360px);translate:-50% 0;background:radial-gradient(ellipse 18% 50% at 50% 50%,#ffffff 0,#fff4d6 18%,#a77bffcc 42%,#6fe3ff55 62%,transparent 74%);mix-blend-mode:screen;animation:pg-rift-tear var(--pg-rift-ms) cubic-bezier(.2,.7,.2,1) both}
body .pg-rift-fx .pg-rift-fx-motes{position:absolute;inset:0}
body .pg-rift-fx .pg-rift-fx-motes b{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#fff4d6;box-shadow:0 0 10px 2px #a77bff;opacity:0;animation:pg-rift-mote var(--pg-rift-ms) ease-out both}
body .pg-rift-fx .pg-rift-fx-motes b:nth-child(2n){background:#e7fbff;box-shadow:0 0 10px 2px #6fe3ff}
body .pg-rift-fx .pg-rift-fx-motes b:nth-child(1){--dx:-22vw;--dy:-18vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(2){--dx:18vw;--dy:-24vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(3){--dx:-30vw;--dy:6vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(4){--dx:28vw;--dy:10vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(5){--dx:-12vw;--dy:28vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(6){--dx:14vw;--dy:26vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(7){--dx:-6vw;--dy:-32vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(8){--dx:8vw;--dy:-30vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(9){--dx:-26vw;--dy:-4vh}body .pg-rift-fx .pg-rift-fx-motes b:nth-child(10){--dx:24vw;--dy:-6vh}
body .pg-rift-fx .pg-rift-fx-form{position:relative;height:62vh;aspect-ratio:auto;display:block;animation:pg-rift-form var(--pg-rift-ms) cubic-bezier(.2,.7,.2,1) both;filter:drop-shadow(0 0 24px #a77bffaa) drop-shadow(0 0 40px #6fe3ff66)}
body .pg-rift-fx .pg-rift-fx-form img{display:block;height:100%;width:auto;max-width:none;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
body .pg-rift-fx .pg-rift-fx-title{position:absolute;left:50%;bottom:12vh;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:6px;white-space:nowrap;font:700 clamp(26px,4.4vh,56px)/1 var(--uk-serif,serif);letter-spacing:.18em;text-indent:.18em;color:#fff4d6;text-shadow:0 0 18px #a77bff,0 0 32px #6fe3ff99,0 2px 2px #000;animation:pg-rift-title var(--pg-rift-ms) cubic-bezier(.2,.7,.2,1) both}
body .pg-rift-fx .pg-rift-fx-title small{font:700 clamp(14px,2vh,24px)/1 var(--uk-serif,serif);letter-spacing:.5em;text-indent:.5em;color:#c9b8ff}
body .pg-rift-fx.is-held *{animation-play-state:paused!important;animation-delay:calc(var(--pg-rift-ms) * -.55)!important}
body .pg-rift-fx.is-reduced *{animation:pg-rift-fxfade var(--pg-rift-ms) linear both!important}

@keyframes pg-rift-breathe{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes pg-rift-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}
@keyframes pg-rift-ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
@keyframes pg-rift-dash{to{stroke-dashoffset:-140}}
@keyframes pg-rift-rise{0%{opacity:0;transform:translateY(18px) scale(.94)}100%{opacity:1;transform:none}}
@keyframes pg-rift-fxfade{0%{opacity:0}12%{opacity:1}82%{opacity:1}100%{opacity:0}}
@keyframes pg-rift-tear{0%{transform:scaleX(.02) scaleY(.1);opacity:0}18%{transform:scaleX(.08) scaleY(1);opacity:1}45%{transform:scaleX(1) scaleY(1)}82%{opacity:.9}100%{transform:scaleX(1.6);opacity:0}}
@keyframes pg-rift-form{0%,25%{opacity:0;transform:translateY(6vh) scale(.92)}50%{opacity:1;transform:none}85%{opacity:1}100%{opacity:0;transform:scale(1.04)}}
@keyframes pg-rift-title{0%,35%{opacity:0;transform:translateY(12px)}55%{opacity:1;transform:none}88%{opacity:1}100%{opacity:0}}
@keyframes pg-rift-mote{0%,20%{opacity:0;transform:translate(-50%,-50%)}40%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy)))}}

@media (max-height:800px){
  body.desktop-game .pg-rift-door-plate{gap:calc(var(--u)*.3)}
  body.desktop-game .pg-rift-stagepanel{gap:calc(var(--u)*.8)}
  body.desktop-game .pg-rift-story{-webkit-line-clamp:2}
  body.desktop-game .pg-rift-boss-text q{-webkit-line-clamp:1}
}
@media (prefers-reduced-motion:reduce){
  body.desktop-game :is(.pg-rift-door,.pg-rift-map,.pg-rift-stagepanel,.pg-rift-ware,.pg-rift-tablet,.pg-rift-shrine,.pg-rift-rcard,.pg-rift-gate){animation:none!important}
  body.desktop-game :is(.pg-rift-route polyline,.pg-rift-door-seam,.pg-rift-gate-seam,.pg-rift-fuse,.pg-rift-fuse-ring,.pg-rift-link){animation:none!important}
}
body.desktop-game .pg-rift-featured .uk-ribbon{min-width:calc(var(--u)*12);height:max(22px,calc(var(--u)*3.1));font-size:max(12px,calc(var(--u)*1.45))}
body.desktop-game .pg-rift-actions .uk-btn{min-width:calc(var(--uk-bh)*2.6);padding:0 calc(var(--uk-bh)*.3)}
body.desktop-game .pg-rift-guests{min-width:0}
body.desktop-game .pg-rift-fusions{min-width:0}
body.desktop-game .pg-rift-fusionchip{max-width:calc(var(--u)*17);overflow:hidden}
body.desktop-game .pg-rift-fusionchip b{overflow:hidden;text-overflow:ellipsis}
/* 角色养成：界隙商店多了两件每周限量的魂晶包、王印包（9 件）→ 5 列 × 2 行。图标用 @256，最大 116 CSS px（2 倍屏 232 设备像素），从不放大。 */
body.desktop-game .pg-rift-wares.is-five{grid-template-columns:repeat(5,minmax(0,1fr))}
body.desktop-game .pg-rift-ware-icon .pg-rift-prog-icon{width:clamp(46px,calc(var(--u)*8.6),116px);height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgb(0 0 0 / .45))}
