
.pixl-forge89{position:fixed;inset:0;z-index:6200;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:var(--shell-text,#f8f8fb)}
.pixl-forge89.is-open{pointer-events:auto}.pf89-scrim{position:absolute;inset:0;border:0;background:rgba(2,2,8,.58);backdrop-filter:blur(9px);opacity:0;transition:opacity .15s ease}.pixl-forge89.is-open .pf89-scrim{opacity:1}
.pf89-sheet{position:relative;width:min(100%,560px);max-height:min(78dvh,720px);display:flex;flex-direction:column;padding:8px 14px max(14px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:color-mix(in srgb,var(--pixl-system-chrome,#090812) 94%,#181527 6%);border:1px solid color-mix(in srgb,var(--pixl-theme,#765cff) 20%,rgba(255,255,255,.08));box-shadow:0 -24px 70px rgba(0,0,0,.42);transform:translateY(104%);transition:transform .18s cubic-bezier(.2,.8,.2,1);overflow:hidden}.pixl-forge89.is-open .pf89-sheet{transform:translateY(0)}
.pf89-grip{width:42px;height:4px;border-radius:99px;background:rgba(255,255,255,.22);margin:1px auto 9px}.pf89-sheet header{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 10px}.pf89-sheet header span{display:block;font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;color:var(--pixl-theme,#765cff)}.pf89-sheet h2{margin:5px 0 0;font-size:23px;line-height:1;letter-spacing:-.04em}.pf89-close{width:40px;height:40px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.045);font-size:26px;color:inherit}
.pf89-sheet nav{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);margin-bottom:10px}.pf89-sheet nav button{height:38px;border:0;border-radius:10px;background:transparent;color:var(--shell-muted,#9c9bad);font-size:12px;font-weight:850}.pf89-sheet nav button.is-active{background:color-mix(in srgb,var(--pixl-theme,#765cff) 24%,rgba(255,255,255,.055));color:var(--shell-text,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pixl-theme,#765cff) 42%,transparent)}
.pf89-body{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:1px 1px 6px}.pf89-body::-webkit-scrollbar{display:none}
.pf89-grid{display:grid;gap:8px}.pf89-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf89-choice{min-height:66px;padding:8px 9px;border-radius:15px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:inherit;display:grid;grid-template-columns:42px 1fr 18px;align-items:center;text-align:left;gap:9px}.pf89-choice.is-active{border-color:color-mix(in srgb,var(--pixl-theme,#765cff) 50%,rgba(255,255,255,.08));background:color-mix(in srgb,var(--pixl-theme,#765cff) 10%,rgba(255,255,255,.035))}.pf89-swatch{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--a),var(--b));display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.pf89-swatch i{width:15px;height:15px;border-radius:5px;background:rgba(255,255,255,.86)}.pf89-choice strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf89-choice small{display:block;margin-top:3px;font-size:9px;color:var(--shell-muted,#9896a8)}.pf89-choice>b{font-size:14px;color:var(--pixl-theme,#765cff)}
.pf89-shell-list{display:grid;gap:8px}.pf89-shell{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:15px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:inherit;text-align:left}.pf89-shell.is-active{border-color:color-mix(in srgb,var(--pixl-theme,#765cff) 48%,rgba(255,255,255,.08))}.pf89-shell-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--pixl-theme,#765cff) 20%,rgba(255,255,255,.04));font-weight:950}.pf89-shell strong{font-size:13px}.pf89-shell small{display:block;margin-top:4px;font-size:9px;color:var(--shell-muted,#9896a8)}.pf89-shell>b{font-size:9px;letter-spacing:.08em;color:var(--pixl-theme,#765cff)}
.pf89-cap-head{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;padding:7px 6px 12px}.pf89-joy-preview{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.035);border:1px solid color-mix(in srgb,var(--pixl-theme,#765cff) 34%,rgba(255,255,255,.08));overflow:hidden}.pf89-joy-preview img{width:84%;height:84%;object-fit:contain}.pf89-joy-preview span{font-size:24px;font-weight:950;color:var(--pixl-theme,#765cff)}.pf89-cap-head small{display:block;font:900 7px/1 ui-monospace,monospace;letter-spacing:.14em;color:var(--pixl-theme,#765cff)}.pf89-cap-head strong{display:block;margin-top:5px;font-size:14px}.pf89-cap-head em{display:block;margin-top:3px;font-size:9px;font-style:normal;color:var(--shell-muted,#9896a8)}.pf89-cap-head>button{height:34px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:inherit;font-size:8px;font-weight:900;letter-spacing:.08em}.pf89-cap-head>button:disabled{opacity:.35}
.pf89-categories{display:flex;gap:6px;overflow:auto;padding:0 0 9px;scrollbar-width:none}.pf89-categories::-webkit-scrollbar{display:none}.pf89-categories button{flex:0 0 auto;height:32px;padding:0 12px;border-radius:99px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:var(--shell-muted,#aaa);font-size:10px;font-weight:850}.pf89-categories button.is-active{background:var(--pixl-theme,#765cff);color:var(--pixl-theme-ink,#fff);border-color:transparent}
.pf89-cap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pf89-cap{position:relative;min-width:0;padding:7px 4px 8px;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.028);color:inherit;display:grid;justify-items:center;gap:6px}.pf89-cap.is-active{border-color:color-mix(in srgb,var(--pixl-theme,#765cff) 62%,rgba(255,255,255,.1));background:color-mix(in srgb,var(--pixl-theme,#765cff) 8%,rgba(255,255,255,.03))}.pf89-cap-art{width:58px;height:58px;display:grid;place-items:center}.pf89-cap-art img{width:100%;height:100%;object-fit:contain}.pf89-cap-art i{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--pixl-theme,#765cff) 18%,#111);font-size:20px;font-style:normal;font-weight:950}.pf89-cap strong{width:100%;font-size:9px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.pf89-cap>b{position:absolute;right:5px;top:5px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--pixl-theme,#765cff);font-size:9px;color:var(--pixl-theme-ink,#fff)}
html[data-pixl-theme="sinnoh"] .pf89-sheet{background:#e9f4fc;color:#17324a;border-color:rgba(53,120,149,.22)}html[data-pixl-theme="sinnoh"] .pf89-sheet nav,html[data-pixl-theme="sinnoh"] .pf89-choice,html[data-pixl-theme="sinnoh"] .pf89-shell,html[data-pixl-theme="sinnoh"] .pf89-cap,html[data-pixl-theme="sinnoh"] .pf89-joy-preview{background:rgba(255,255,255,.55);border-color:rgba(53,120,149,.14)}html[data-pixl-theme="sinnoh"] .pf89-close{color:#17324a;background:rgba(255,255,255,.65);border-color:rgba(53,120,149,.18)}
@media(max-width:360px){.pf89-cap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pf89-theme-grid{grid-template-columns:1fr}}

/* PIXL alpha90 — premium reference thumb-cap gallery. */
.pf89-sheet{max-height:min(84dvh,760px)}
.pf89-cap-head{grid-template-columns:68px 1fr auto;padding:7px 5px 13px}
.pf89-joy-preview{width:68px;height:68px;background:radial-gradient(circle at 40% 34%,rgba(255,255,255,.075),rgba(255,255,255,.025) 55%,rgba(0,0,0,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 7px 18px rgba(0,0,0,.10)}
.pf89-joy-preview img{width:96%;height:96%;filter:drop-shadow(0 3px 5px rgba(0,0,0,.24))}
.pf89-cap-head strong{font-size:15px}.pf89-cap-head em{font-size:9px;line-height:1.3}
.pf89-categories{padding-bottom:10px;scroll-snap-type:x proximity}.pf89-categories button{scroll-snap-align:start;height:34px;padding:0 13px}
.pf89-cap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pf89-cap{padding:8px 5px 9px;border-radius:16px;gap:5px;min-height:112px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}
.pf89-cap.is-featured:before{content:"NEW";position:absolute;left:7px;top:7px;padding:3px 5px;border-radius:999px;background:rgba(0,0,0,.44);border:1px solid rgba(255,255,255,.08);font:900 6px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;color:rgba(255,255,255,.82);z-index:2;backdrop-filter:blur(5px)}
.pf89-cap.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pixl-theme,#765cff) 35%,transparent),0 8px 22px rgba(0,0,0,.08)}
.pf89-cap-art{width:76px;height:76px;margin-top:0}.pf89-cap-art img{filter:drop-shadow(0 4px 5px rgba(0,0,0,.18))}
.pf89-cap-art i{width:66px;height:66px}
.pf89-cap-copy{width:100%;min-width:0;display:block;text-align:center}.pf89-cap-copy strong{display:block;width:100%;font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf89-cap-copy small{display:block;margin-top:3px;font-size:7px;line-height:1;color:var(--shell-muted,#9896a8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf89-cap>b{right:7px;top:7px;width:19px;height:19px;z-index:3}
html[data-pixl-theme="sinnoh"] .pf89-cap.is-featured:before{background:rgba(255,255,255,.76);color:#315167;border-color:rgba(53,120,149,.18)}
@media(max-width:360px){.pf89-cap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pf89-cap-art{width:68px;height:68px}.pf89-cap{min-height:105px;padding-inline:3px}}

/* PIXL alpha.105 — Forge catalog stability */
.pixl-forge89 .pf89-sheet{height:min(84dvh,760px);max-height:min(84dvh,760px)}
@supports(height:84svh){.pixl-forge89 .pf89-sheet{height:min(84svh,760px);max-height:min(84svh,760px)}}
.pf89-cap-loading{min-height:260px;display:grid;place-content:center;text-align:center;gap:8px;color:var(--shell-text,#fff)}
.pf89-cap-loading strong{font-size:18px}.pf89-cap-loading small{color:var(--shell-muted,#9c9bad)}

/* PIXL alpha.120 — bounded thumb-cap image decoding + clean failure state */
.pf89-cap-art{border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.035),rgba(255,255,255,.012) 62%,transparent 64%)}
.pf89-cap-art img,.pf89-joy-preview img{opacity:0;transition:opacity .12s ease;will-change:opacity}
.pf89-cap-art img.is-loaded,.pf89-joy-preview img.is-loaded{opacity:1}
.pf89-cap-art.is-load-failed{position:relative;background:radial-gradient(circle,color-mix(in srgb,var(--pixl-theme,#765cff) 11%,rgba(255,255,255,.035)),rgba(255,255,255,.018) 62%,transparent 64%)}
.pf89-cap-art.is-load-failed:after{content:'P';position:absolute;inset:0;display:grid;place-items:center;font:900 17px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:color-mix(in srgb,var(--pixl-theme,#765cff) 62%,rgba(255,255,255,.78))}

/* alpha121: selection is in-place; keep loaded gallery visible */
.pf89-cap-art img.is-loaded{visibility:visible!important;opacity:1!important}.pf89-cap-art img:not([src]){visibility:hidden}

/* alpha127 — exact optical container centering; source circles normalized to 371/384. */
.pf89-cap-art,.pf89-joy-preview{align-items:center!important;justify-items:center!important}
.pf89-cap-art img,.pf89-joy-preview img{display:block!important;object-fit:contain!important;object-position:50% 50%!important;margin:0!important;padding:0!important;transform:none!important;transform-origin:50% 50%!important}

/* alpha129 — geometry-only correction. Never move artwork inside its cap. */
.pf89-cap-art{width:76px!important;height:76px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.pf89-cap-art img{width:76px!important;height:76px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center center!important;display:block!important;margin:0!important;padding:0!important;transform:none!important}
.pf89-joy-preview img{object-fit:contain!important;object-position:center center!important;margin:0!important;padding:0!important;transform:none!important}

/* alpha130: exact fixed gallery geometry; source circle is 372/384 and image is never scaled past its box. */
.pf89-cap-art{width:76px!important;height:76px!important;display:grid!important;place-items:center!important}
.pf89-cap-art img{width:76px!important;height:76px!important;object-fit:contain!important;object-position:50% 50%!important;transform:none!important}

/* alpha133 — strict source-circle preservation + square raster geometry */
.pf89-cap-art{
  width:76px!important;height:76px!important;
  min-width:76px!important;min-height:76px!important;
  max-width:76px!important;max-height:76px!important;
  display:grid!important;place-items:center!important;
  aspect-ratio:1/1!important;
}
.pf89-cap-art img{
  width:76px!important;height:76px!important;
  min-width:76px!important;min-height:76px!important;
  max-width:76px!important;max-height:76px!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;
  margin:0!important;padding:0!important;
  border-radius:50%!important;
}

/* alpha134 — one physical cap diameter across repaired series. Artwork files are normalized to a
   372px source circle on a 384px square canvas; CSS must never apply category-specific sizing. */
.pf89-cap-art,.pf89-cap-art img{
  width:76px!important;height:76px!important;
  min-width:76px!important;min-height:76px!important;
  max-width:76px!important;max-height:76px!important;
  aspect-ratio:1/1!important;
}
.pf89-cap-art{display:grid!important;place-items:center!important;overflow:visible!important}
.pf89-cap-art img{display:block!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important;padding:0!important}
\n/* alpha135 — renderer-only correction. Source PNG bytes remain untouched. */
.pf89-cap-art{width:76px!important;height:76px!important;display:grid!important;place-items:center!important;overflow:visible!important;aspect-ratio:1/1!important}
.pf89-cap-art img{width:76px!important;height:76px!important;min-width:76px!important;min-height:76px!important;max-width:76px!important;max-height:76px!important;object-fit:contain!important;object-position:var(--cap-position,50% 50%)!important;border-radius:0!important;margin:0!important;padding:0!important;transform:scale(calc(var(--cap-render,100%) / 100%))!important;transform-origin:50% 50%!important}
.pf89-joy-preview img{object-fit:contain!important;object-position:var(--cap-position,50% 50%)!important;border-radius:0!important;transform:scale(calc(var(--cap-render,100%) / 100%))!important;transform-origin:50% 50%!important}


/* alpha136 — original-circle lock. The source artwork already contains the finished cap.
   Do not synthesize a rim, clip a rim, zoom a category, or optically nudge the raster. */
.pf89-cap-art{
  width:76px!important;height:76px!important;
  min-width:76px!important;min-height:76px!important;
  max-width:76px!important;max-height:76px!important;
  display:grid!important;place-items:center!important;
  overflow:visible!important;aspect-ratio:1/1!important;
  background:none!important;
}
.pf89-cap-art img{
  width:76px!important;height:76px!important;
  min-width:76px!important;min-height:76px!important;
  max-width:76px!important;max-height:76px!important;
  display:block!important;object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;transform-origin:50% 50%!important;
  margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;
  outline:0!important;box-shadow:none!important;
}
.pf89-joy-preview img{
  object-fit:contain!important;object-position:50% 50%!important;
  transform:none!important;transform-origin:50% 50%!important;
  border:0!important;border-radius:0!important;outline:0!important;
}

/* alpha137 — unified professional cap raster lock.
   The affected source PNGs are all 384x384 with the physical cap ring normalized to ~372px.
   Render every source exactly once, centered, with no extra clipping, border, shadow, category zoom, or nudge. */
.pf89-cap-art{
  width:76px!important;height:76px!important;min-width:76px!important;min-height:76px!important;max-width:76px!important;max-height:76px!important;
  display:grid!important;place-items:center!important;overflow:visible!important;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;
}
.pf89-cap-art img{
  width:76px!important;height:76px!important;min-width:76px!important;min-height:76px!important;max-width:76px!important;max-height:76px!important;
  display:block!important;object-fit:contain!important;object-position:50% 50%!important;transform:none!important;transform-origin:50% 50%!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important;filter:none!important;
}
.pf89-joy-preview img{object-fit:contain!important;object-position:50% 50%!important;transform:none!important;border:0!important;border-radius:0!important;outline:0!important;}
