.px-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
/*
 * Pixvu global frontend CSS
 *
 * Architecture:
 *  1. Foundations & typography
 *  2. Header / command bar
 *  3. Main shell & shared layout
 *  4. Catalog, cards, filters & search
 *  5. Home / taxonomy discovery
 *  6. Post modal, post workspace & generator
 *  7. Content, pricing, profile, footer & utilities
 *  8. Responsive / interaction states
 */
:root{
  --px-gutter:20px;
  --px-topbar-h:76px;
  --px-line:rgba(10,10,10,.075);
  --px-ink:#0a0a0a;
  --px-safe-bottom:env(safe-area-inset-bottom,0px);
  --px-content-max:1760px;
}

*{ box-sizing: border-box; }
html{min-height:100%;scroll-behavior:auto;scroll-padding-top:92px;scrollbar-gutter:stable}
body{ min-height: 100%; }

button,
input{ font: inherit; }
button,
a{ -webkit-tap-highlight-color: transparent; }
button{ color: inherit; }
a{ color: inherit; text-decoration: none; }
img{ display: block; max-width: 100%; }
::selection{ color: #fff; background: #111; }

/* ------------------------------
   HEADER / COMMAND BAR
   Opaque surface; motion appears only when entering/leaving sticky state.
------------------------------ */

.px-topbar{
  position: sticky;
  z-index: 70;
  top: 0;
  isolation:isolate;
  margin-left: var(--px-sidebar-w);
  padding: 10px var(--px-gutter) 9px calc(var(--px-gutter) + 22px);
  background:transparent;
  border-bottom:1px solid transparent;
  box-shadow:none;
  transition:margin-left 500ms var(--px-ease-out),border-color 500ms cubic-bezier(.22,.61,.36,1),box-shadow 500ms cubic-bezier(.22,.61,.36,1);
}
.px-topbar::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:rgba(249,249,248,.96);
  border-bottom:1px solid rgba(12,12,12,.055);
  box-shadow:0 14px 38px rgba(25,28,33,.055),inset 0 -1px 0 rgba(255,255,255,.58);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  opacity:0;
  pointer-events:none;
  transform:translateZ(0);
  will-change:opacity;
  transition:opacity 500ms cubic-bezier(.22,.61,.36,1);
}
.px-topbar.px-is-scrolled::before{opacity:1}
.px-topbar.px-is-scrolled{
  border-bottom-color:rgba(12,12,12,.018);
  box-shadow:0 1px 0 rgba(255,255,255,.16);
}

.px-topbar__dock{
  display: flex;
  align-items: center;
  min-height: 50px;
  gap: 12px;
  transform: translateY(0);
  transition: transform 460ms var(--px-ease-out);
}

.px-topbar.px-is-scrolled .px-topbar__dock{ transform: translateY(-1px); }
.px-topbar.px-is-scrolled .px-topbar__actions{ transform: translateY(-1px); }

.px-search{
  position: relative;
  display: flex;
  align-items: center;
  width: min(612px, calc(100% - 202px));
  min-width: 225px;
  height: 50px;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 7px 24px rgba(20, 24, 30, .024), inset 0 1px 0 rgba(255, 255, 255, .86);
    transition: background 500ms cubic-bezier(.22,.61,.36,1), border-color 500ms cubic-bezier(.22,.61,.36,1), box-shadow 500ms cubic-bezier(.22,.61,.36,1), transform 460ms var(--px-ease-out);
}

.px-topbar.px-is-scrolled .px-search{
  border-color: rgba(255, 255, 255, .9);
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(28, 33, 40, .045), inset 0 1px 0 rgba(255, 255, 255, .94);
}

.px-search:hover{
  border-color: rgba(0, 0, 0, .075);
  box-shadow: 0 9px 26px rgba(20, 24, 30, .035), inset 0 1px 0 #fff;
}
.px-search:focus-within .px-search__shortcut{ opacity: .55; transform: scale(.92); }

.px-search:focus-within{
  border-color: rgba(0, 0, 0, .11);
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .055), 0 0 0 3px rgba(0, 0, 0, .022), inset 0 1px 0 rgba(255, 255, 255, .96);
  transform: translateY(-1px);
}

.px-search__icon{
  position: absolute;
  left: 17px;
  width: 16px;
  height: 16px;
  color: #666a70;
  stroke-width:2;
  pointer-events: none;
}

.px-search input{
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: 0 55px 0 45px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #161616;
  font-size: 14px;
  font-weight: 450;
  letter-spacing: -.08px;
  appearance: none;
}
.px-search input::-webkit-search-cancel-button{ display: none; }
.px-search input::placeholder{ color: #7a7d83; opacity: 1; }

.px-search__shortcut{
  position: absolute;
  right: 12px;
  display: grid;
  place-items: center;
  width: 25px;
  height: 24px;
  border: 1px solid rgba(0, 0, 0, .035);
  border-radius: 7px;
  background: #f6f6f5;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
  color: #7d7d7d;
  font-size: 12.5px;
  font-weight: 550;
  transition: opacity 160ms ease, transform 240ms var(--px-ease-out);
}

.px-search__clear{
  position:absolute;
  right:45px;
  display:none;
  width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:9px;
  background:rgba(0,0,0,.045);
  place-items:center;
  cursor:pointer;
}
.px-search__clear:hover{ background: rgba(0, 0, 0, .075); }
.px-search__clear svg{ width: 15px; height: 15px; }

.px-topbar__actions{
  display:flex;
  align-items:center;
  gap:13px;
  margin-left:auto;
  padding-right:8px;
  transition:transform 460ms var(--px-ease-out);
}

.px-create-button{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 101px;
  height: 42px;
  padding: 0 14px;
  overflow: hidden;
  border: 1px solid #050505;
  border-radius: 11px;
  background: #070707;
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 7px 16px rgba(0, 0, 0, .08);
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -.08px;
  transition: transform 330ms var(--px-ease-out), box-shadow 220ms ease, background 180ms ease;
}

.px-create-button:hover{
  transform: translateY(-1px) scale(1.008);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 11px 22px rgba(0, 0, 0, .13);
}

.px-create-button:not(.px-create-button--pricing):hover svg{ transform: rotate(90deg) scale(1.04); }
.px-create-button:active{ transform: translateY(0) scale(.98); }
.px-create-button:focus-visible{ outline: 2px solid rgba(0, 0, 0, .35); outline-offset: 3px; }
.px-create-button svg{ width: 15px; height: 15px; stroke-width:2; transition: transform 460ms var(--px-ease-out); }

.px-profile-wrap{ position: relative; }
.px-profile-button{
  position: relative;
  width: 42px;
  height: 42px;
  padding: 1px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, .045);
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .035), inset 0 1px 0 rgba(255, 255, 255, .9);
  cursor: pointer;
  transition: transform 300ms var(--px-ease-out), box-shadow 220ms ease, border-color 180ms ease;
}
.px-profile-button:hover{ transform: translateY(-2px) scale(1.015); border-color: rgba(0, 0, 0, .09); box-shadow: 0 11px 24px rgba(0, 0, 0, .075); }
.px-profile-button:active{ transform: scale(.96); }
.px-profile-button:focus-visible{ outline: 2px solid rgba(0, 0, 0, .35); outline-offset: 3px; }
.px-profile-button img{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff}

.px-profile-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:254px;
  padding:8px;
  border:1px solid rgba(0,0,0,.075);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 20px 50px rgba(0,0,0,.11),inset 0 1px 0 rgba(255,255,255,.96);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.985);
  transform-origin:92% 0;
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  backdrop-filter:blur(24px) saturate(160%);
  transition:opacity 160ms ease,visibility 160ms ease,transform 280ms var(--px-ease-out);
}
.px-profile-menu__avatar img{ width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.px-profile-menu__head > span:last-child{ display: grid; gap: 1px; }
.px-profile-menu__head strong{ font-size: 14px; font-weight: 650; }
.px-profile-menu__head small{ color: #848484; font-size: 12.5px; }
.px-profile-menu button{
  display: flex;
  align-items: center;
  width: 100%;
  height: 36px;
  gap: 9px;
  padding: 0 9px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #3d3d3d;
  cursor: pointer;
  font-size: 12.5px;
  text-align: left;
}
.px-profile-menu button:hover{ color: #0a0a0a; background: rgba(0, 0, 0, .045); }
.px-profile-menu button svg{ width: 15px; height: 15px; stroke-width:2; }

/* ------------------------------
   Pixvu main + hero
------------------------------ */
.px-main{
  margin-left: var(--px-sidebar-w);
  padding: 0 var(--px-gutter) 34px;
}

/* ------------------------------
   Pixvu gallery + filters
------------------------------ */
.px-gallery-shell{
  position:relative;
  z-index:5;
  min-height:0;
  padding:13px 16px 16px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 58px rgba(36,42,50,.04),inset 0 1px 0 rgba(255,255,255,.9);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.px-gallery-toolbar{
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.px-filter-scroll{padding:2px 0}
body.search .px-gallery-toolbar{justify-content:flex-end}
body.search .px-gallery-toolbar .px-filter-nav{flex:0 1 auto}
.px-filter-nav{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto}.px-filter-scroll{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-behavior:smooth}.px-filter-scroll::-webkit-scrollbar{display:none}.px-filter-nav__arrow{display:none;place-items:center;flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid rgba(0,0,0,.068);border-radius:10px;background:rgba(255,255,255,.8);color:#333;cursor:pointer}.px-filter-nav.has-overflow .px-filter-nav__arrow{display:grid}.px-filter-nav__arrow:disabled{opacity:.28;cursor:default}.px-filter-nav__arrow svg{width:13px;height:13px}.px-filter-chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:38px;gap:7px;padding:0 13px;border:1px solid rgba(0,0,0,.068);border-radius:12px;background:rgba(255,255,255,.75);color:#2b2b2b;box-shadow:0 3px 10px rgba(0,0,0,.012),inset 0 1px 0 rgba(255,255,255,.92);white-space:nowrap;font-size:13.5px;font-weight:600;letter-spacing:-.06px;transition:color 180ms ease,background 200ms ease,border-color 180ms ease,transform 380ms var(--px-ease-out),box-shadow 260ms ease}.px-filter-chip:hover{transform:translateY(-2px);border-color:rgba(0,0,0,.11);background:#fff;box-shadow:0 9px 22px rgba(0,0,0,.045)}.px-filter-chip:active{transform:translateY(0) scale(.975)}.px-filter-chip:focus-visible{outline:2px solid rgba(0,0,0,.28);outline-offset:2px}.px-filter-chip svg{width:15px;height:15px;stroke-width:2}.px-filter-chip--all{border-color:#0b0b0b;background:#0b0b0b;color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.11)}.px-filter-chip--all:hover{border-color:#000;background:#000;color:#fff}.px-filter-chip--model{border-color:rgba(0,0,0,.105);background:rgba(247,247,246,.96);font-weight:650}.px-filter-divider{flex:0 0 auto;width:1px;height:22px;margin:0 2px;background:rgba(0,0,0,.12)}.px-sort-select{position:relative;flex:0 0 auto}.px-sort-select__button svg{width:13px;height:13px;transition:transform .22s ease}.px-sort-select.is-open .px-sort-select__button svg{transform:rotate(180deg)}.px-sort-select__option svg{width:13px;height:13px;opacity:0}.px-sort-select__button:focus-visible,
.px-sort-select__option:focus-visible,
.px-filter-nav__arrow:focus-visible{outline:2px solid rgba(0,0,0,.28);outline-offset:2px}
.px-masonry-grid.is-masonry-ready{ display: block; }
.px-masonry-grid.is-masonry-ready > .px-post-card,
.px-masonry-grid.is-masonry-ready > .px-skeleton-card{
  position: absolute;
  inset: 0 auto auto 0;
  margin: 0;
}
.px-post-card{
  border: 1px solid rgba(0, 0, 0, .05);
  border-radius: 15px;
}
.px-post-card__link{
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  background: inherit;
}
.px-post-card__link > img{
  width: 100%;
  height: 100%;
}
.px-post-card__placeholder{
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: #aaa;
  font-size: 28px;
}
.px-post-card__veil{
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,.09) 0%, transparent 38%, transparent 58%, rgba(0,0,0,.62) 100%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease;
}
.px-post-card__meta{
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 230ms ease;
}

.px-post-card__title{
  left: 11px;
  right: 11px;
  bottom: 10px;
}
@media (hover:hover) and (pointer:fine) {
  .px-post-card:hover{ border-color: rgba(0,0,0,.085); box-shadow: 0 12px 30px rgba(24,27,31,.075), inset 0 1px 0 rgba(255,255,255,.72); }
  .px-post-card:hover .px-post-card__link > img{ transform: scale(1.035); }
  .px-post-card:hover .px-post-card__veil,
.px-post-card:hover .px-post-card__meta{ opacity: 1; }
  .px-post-card:hover .px-post-card__title{ transform: translateY(0); }
}
.px-skeleton-card{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:var(--px-skeleton-ratio);
  overflow:hidden;
  border-radius:15px;
  background:#ececea;
}
.px-skeleton-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,transparent 18%,rgba(255,255,255,.78) 48%,transparent 78%);
  transform:translate3d(-105%,0,0);
  animation:px-skeleton-sweep 1.45s linear infinite;
  will-change:transform;
}
.px-catalog-end{ display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0 8px;color:#aaa; }
.px-catalog-end span{ width:44px;height:1px;background:rgba(0,0,0,.08); }
.px-catalog-end small{ font-size:11px;text-transform:uppercase;letter-spacing:.12em; }

.px-gallery-empty{
  display: grid;
  min-height: 320px;
  place-items: center;
  align-content: center;
  padding: 36px 18px;
  text-align: center;
}
.px-gallery-empty__icon{
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 12px;
  border: 1px solid rgba(0, 0, 0, .06);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(0, 0, 0, .035);
}
.px-gallery-empty__icon svg{ width: 19px; height: 19px; }
.px-gallery-empty strong{ font-size: 16px; letter-spacing: -.22px; }
.px-gallery-empty p{ margin: 6px 0 14px; color: #777; font-size: 13px; }
.px-gallery-empty button{
  height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(0, 0, 0, .09);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  font-size: 12.5px;
  font-weight: 600;
}

/* ------------------------------
   Collapsed desktop navigation
   Every icon sits on the same optical centerline.
------------------------------ */

/* ------------------------------
   Responsive refinements
------------------------------ */
@media (min-width: 1920px) {
  .px-main{ max-width: calc(1760px + var(--px-sidebar-w)); }
  
}

@media (max-width: 1440px) {
  :root{ --px-gutter: 16px; }

}

@media (max-width: 1180px) {
  
  .px-topbar{ padding-left: var(--px-gutter); }

  .px-search{ width: min(549px, calc(100% - 175px)); }
  .px-topbar__actions{ gap: 10px; }
  .px-create-button{ min-width: 90px; }
  
}

@media (max-width: 1024px) {
  :root{ --px-gutter: 13px; --px-topbar-h: 70px; }
  body.px-page{ background: linear-gradient(180deg, #fbfbfa 0%, #f6f6f4 100%); }

  .px-topbar{ margin-left: 0; padding: 3px 11px 7px; }
  .px-topbar__dock{ min-height: 49px; gap: 7px; }
  
  .px-search{ flex: 1 1 auto; width: auto; min-width: 0; height: 47px; border-radius: 15px; }
  .px-search__icon{ left: 14px; width: 15px; height: 15px; }
  .px-search input{ padding-left: 40px; font-size: 13.5px; }
  .px-search__shortcut{ right: 11px; }
  .px-topbar__actions{ gap: 7px; }
  .px-create-button{ min-width: 40px; width: 40px; height: 40px; padding: 0; border-radius: 12px; }
  .px-create-button:not(.px-create-button--pricing) span{ display: none; }
  .px-profile-button{ width: 37px; height: 37px; }

  .px-main{ margin-left: 0; padding-left: 13px; padding-right: 13px; }

  .px-gallery-shell{ margin-top: -6px; }
}

@media (max-width: 720px) {
  :root{ --px-topbar-h: 65px; }
  .px-topbar{ padding: 3px 8px 6px; }
  .px-topbar__dock{ gap: 5px; min-height: 45px; }
  
  .px-search{ height: 44px; border-radius: 14px; }
  .px-search__icon{ left: 13px; width: 15px; height: 15px; }
  .px-search input{ padding: 0 38px 0 37px; font-size: 13px; text-overflow: ellipsis; }
  .px-search__shortcut{ display: none; }
  .px-search__clear{ right: 8px; width: 28px; height: 28px; }
  .px-create-button{ width: 37px; min-width: 37px; height: 37px; border-radius: 10px; }
  .px-profile-button{ width: 37px; height: 37px; }
  .px-profile-menu{ position: fixed; top: 62px; right: 9px; }

  .px-main{ padding: 0 8px 22px; }

  .px-gallery-shell{ padding: 10px; border-radius: 18px; }
  .px-gallery-toolbar{ align-items: stretch; gap: 7px; margin-bottom: 10px; }
  .px-filter-nav{ flex: 1 1 auto; }
  .px-filter-chip{ height: 39px; border-radius: 11px; padding-inline: 11px; font-size: 12.5px; }
  .px-filter-chip svg{ width: 15px; height: 15px; }
  .px-sort-select__button{ min-width: 86px; height: 39px; padding-inline: 11px; font-size: 12.5px; }
  .px-post-card{ border-radius: 13px; }
  
}

@media (max-width: 520px) {
  .px-search input{ padding-right: 12px; }
  
  .px-topbar__dock{ gap: 5px; }

  .px-sort-select{ align-self: stretch; }
  .px-sort-select__button{ min-width: 80px; }
}

@media (max-width: 390px) {
  .px-topbar{ padding-inline: 7px; }
  
  .px-create-button{ width: 34px; min-width: 34px; height: 34px; }
  .px-profile-button{ width: 34px; height: 34px; }
  .px-search{ height: 44px; }
  .px-search input{ font-size: 13px; padding-left: 37px; }

  .px-gallery-shell{ padding: 8px; }
  .px-filter-chip{ padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
*::before,
*::after{
    scroll-behavior: auto;
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}

/* ==========================================================================
   WORDPRESS INTEGRATION, UTILITIES & SHARED COMPONENTS
   ========================================================================== */
body.px-page{
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-family: "Inter Tight", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--px-ink);
  overflow-x: hidden;
  margin: 0;background:radial-gradient(760px 440px at 73% -7%,rgba(224,229,239,.42),transparent 72%),linear-gradient(180deg,#fbfbfa 0%,#f7f7f5 50%,#f3f3f1 100%)}
[hidden]{display:none!important}.px-icon{width:1em;height:1em;display:inline-block;flex:0 0 auto}.px-skip-link{position:fixed;left:12px;top:8px;z-index:10000;padding:9px 13px;border-radius:8px;background:#090909;color:#fff;transform:translateY(-150%)}.px-skip-link:focus{transform:none}
button,
a,
input,
select,
textarea{font-family:inherit}.px-main{
  transition: margin-left 500ms var(--px-ease-out), padding 320ms var(--px-ease-out);
  min-width: 0;max-width:calc(var(--px-content-max) + var(--px-sidebar-w));margin-right:auto}
.px-profile-button--guest{border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.76)}.px-profile-button--guest svg{width:17px;height:17px}.px-profile-menu a{display:flex;align-items:center;width:100%;height:36px;gap:9px;padding:0 9px;border:0;border-radius:9px;color:#3d3d3d;font-size:12.5px;text-align:left}.px-profile-menu a:hover{color:#0a0a0a;background:rgba(0,0,0,.045)}.px-profile-menu a svg{width:15px;height:15px}.px-profile-menu.px-is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.px-search__clear.is-visible{display:grid}

.px-discover{padding-top:8px}

@keyframes px-shimmer{to{background-position:-180% 0}}
@keyframes px-skeleton-sweep{to{transform:translate3d(105%,0,0)}}

/* Category/tag/search head — compact luminous context, no stock imagery. */
.px-collection-head:before{
  inset:0;
}.px-collection-head__eyebrow span{
  align-items:center;
}

/* Fullscreen post modal transport. */.px-post-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}.px-post-modal__frame.is-loaded{opacity:1}
body.px-modal-document{margin:0;background:#f7f7f5}.px-modal-document__main{min-height:100vh}

/* Prompt detail — source preview, generator controls, and shared settings. */
.px-source-stage{
  place-items:center;
}.px-compare-stage{
  min-height:80vh;
}.px-source-stage__empty{display:grid;place-items:center;width:100%;height:100%;color:#aaa}.px-source-stage__empty svg{width:42px;height:42px}

.px-source-stage__dots button:hover{
  background:rgba(255,255,255,.08);
}

.px-live-stage{position:relative;width:100%}.px-upload-preview{width:100%}.px-compare-stage__before{z-index:1}.px-compare-stage__handle{position:absolute;z-index:7;top:0;bottom:0;left:var(--px-compare);width:2px;background:rgba(255,255,255,.95);box-shadow:0 0 0 1px rgba(0,0,0,.12);transform:translateX(-1px);cursor:ew-resize}.px-compare-stage__handle>span{position:absolute;top:50%;left:50%;display:flex;align-items:center;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.14);transform:translate(-50%,-50%)}.px-compare-stage__handle svg{width:16px;height:16px}.px-compare-stage__handle svg:first-child{transform:rotate(90deg)}.px-compare-stage__handle svg:last-child{transform:rotate(-90deg)}.px-generating{position:absolute;z-index:9;inset:0;display:grid;place-items:center;overflow:hidden;background:rgba(245,245,243,.73);backdrop-filter:blur(12px)}.px-generating-ghost{position:absolute;inset:-18px;background-size:cover;background-position:center;filter:blur(32px) saturate(.7);opacity:.24}.px-generation-status{position:relative;display:grid;justify-items:center;gap:8px;min-width:260px;padding:21px 24px;border:1px solid rgba(255,255,255,.76);border-radius:16px;background:rgba(255,255,255,.72);box-shadow:0 20px 50px rgba(0,0,0,.06);text-align:center}.px-generation-status>div{display:grid;gap:3px}.px-generation-status strong{font-size:14.5px}.px-generation-status small{color:#777;font-size:12px}.px-spinner,
.px-inline-loader i{display:inline-block;width:19px;height:19px;border:2px solid rgba(0,0,0,.12);border-top-color:#111;border-radius:50%;animation:px-spin .75s linear infinite}.px-progress{width:220px;height:3px;border-radius:999px;background:rgba(0,0,0,.07);overflow:hidden}.px-progress i,
.px-panel-status i{display:block;width:0;height:100%;background:#0b0b0b;transition:width .4s var(--px-ease-out)}@keyframes px-spin{to{transform:rotate(360deg)}}.px-upload-preview-actions,
.px-result-actions{position:absolute;z-index:10;right:14px;bottom:14px;display:flex;gap:7px}.px-upload-preview-actions button,
.px-result-actions button,
.px-result-actions a{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid rgba(255,255,255,.5);border-radius:10px;background:rgba(255,255,255,.78);color:#111;backdrop-filter:blur(16px);font-size:12px;font-weight:600;cursor:pointer}.px-upload-preview-actions svg,
.px-result-actions svg{width:13px;height:13px}.px-generation-error{position:absolute;z-index:12;inset:0;display:grid;place-items:center;align-content:center;gap:9px;padding:30px;background:rgba(248,246,244,.9);text-align:center}.px-generation-error>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff}.px-generation-error strong{font-size:15.5px}.px-generation-error p{max-width:360px;margin:0;color:#777;font-size:12.5px;line-height:1.5}.px-generation-error>div{display:flex;gap:7px}.px-generation-error button{padding:9px 12px;border:1px solid var(--px-line);border-radius:9px;background:#fff;font-size:12px;cursor:pointer}
.px-live-settings{position:absolute;z-index:20;top:16px;left:70px}.px-live-settings__trigger{display:flex;align-items:center;gap:8px;min-height:39px;padding:0 11px;border:1px solid rgba(0,0,0,.075);border-radius:11px;background:rgba(255,255,255,.84);color:#222;box-shadow:0 9px 24px rgba(0,0,0,.055);backdrop-filter:blur(18px) saturate(145%);font-size:12.5px;font-weight:650;cursor:pointer}.px-live-settings__trigger>svg:first-child{width:14px;height:14px}.px-live-settings__trigger>svg:last-child{width:12px;height:12px;margin-left:auto;transition:transform .2s}.px-live-settings__trigger.is-open>svg:last-child{transform:rotate(180deg)}.px-live-settings__panel{position:absolute;top:47px;left:0;width:min(370px,calc(100vw - 70px));max-height:calc(80vh - 80px);overflow:auto;padding:11px;border:1px solid rgba(255,255,255,.85);border-radius:16px;background:rgba(250,250,249,.91);box-shadow:0 22px 60px rgba(0,0,0,.13),inset 0 1px 0 #fff;backdrop-filter:blur(25px) saturate(150%)}.px-live-settings__panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 11px}.px-live-settings__panel>header>div{display:flex;align-items:center;gap:8px}.px-live-settings__panel>header>div>svg{width:16px;height:16px}.px-live-settings__panel>header span{display:grid;gap:1px}.px-live-settings__panel>header strong{font-size:13px}.px-live-settings__panel>header small{color:#888;font-size:11px}.px-live-settings__panel>header>button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:rgba(0,0,0,.045);cursor:pointer}.px-live-settings__panel>header>button svg{width:12px;height:12px}.px-live-settings__body{display:grid;gap:9px}.px-setting-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.px-setting-row.is-single{grid-template-columns:1fr}.px-live-settings label{display:grid;gap:5px;color:#6f6f6f;font-size:11.5px;font-weight:600}.px-live-settings select,
.px-live-settings input,
.px-live-settings textarea{width:100%;min-height:39px;padding:8px 9px;border:1px solid rgba(0,0,0,.08);border-radius:9px;background:#fff;color:#222;font-size:12.5px;outline:none}.px-live-settings textarea{resize:vertical;line-height:1.45}.px-live-settings select:focus,
.px-live-settings input:focus,
.px-live-settings textarea:focus{border-color:rgba(0,0,0,.28);box-shadow:0 0 0 3px rgba(0,0,0,.035)}.px-extra>span{display:flex;justify-content:space-between}.px-extra small{color:#aaa}.px-variable-fields{display:grid;gap:8px}.px-prompt-sidebar__head>div{display:grid;gap:7px}
.px-prompt-box pre{
  font:430 14.5px/1.68 "Inter Tight",Inter,system-ui,sans-serif;
}.px-prompt-box.is-loading{opacity:.72}.px-inline-loader{display:inline-flex;align-items:center;gap:8px;color:#777;font-size:12px}.px-inline-loader i{width:14px;height:14px}.px-prompt-box.is-unlocked{background:#fff}.px-copy-prompt-cta .px-copy-prompt-cta__lock{display:none}.px-copy-prompt-cta.is-locked .px-copy-prompt-cta__copy{display:none}.px-copy-prompt-cta.is-locked .px-copy-prompt-cta__lock{display:grid}.px-copy-prompt-cta:disabled{opacity:.65;cursor:not-allowed}.px-generation-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.px-generate-primary>span{display:flex;align-items:center;gap:8px}.px-generate-primary svg{width:15px;height:15px}.px-generate-primary:disabled{opacity:.45;cursor:not-allowed}.px-panel-status{display:grid;gap:5px;padding:8px 10px;border-radius:9px;background:rgba(0,0,0,.035);font-size:11px;color:#666}.px-panel-status>div{height:2px;overflow:hidden;border-radius:999px;background:rgba(0,0,0,.08)}
.px-suggestions .px-catalog{opacity:.94}.px-suggestions .px-post-card,
.px-suggestions .px-skeleton-card{border-radius:12px}.px-suggestions .px-catalog-end{padding-bottom:0}

/* Generic content pages and functional states. */
.px-prose{color:#444;font-size:15.5px;line-height:1.75}.px-prose h2,
.px-prose h3{color:#111;line-height:1.15}.px-prose a{text-decoration:underline;text-underline-offset:3px}.px-prose img{height:auto;border-radius:14px}.px-empty-page{display:grid;justify-items:center;align-content:center;min-height:65vh;padding:30px;text-align:center}.px-empty-page>span{color:#aaa;font:400 72px/1 "Instrument Serif",Georgia,serif}.px-empty-page h1{margin:10px 0 6px;font-size:22px}.px-empty-page p{margin:0 0 16px;color:#777;font-size:14px}.px-empty-page a{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:10px;background:#111;color:#fff;font-size:13.5px}.px-empty-page svg{width:12px;height:12px}.px-toast-stack{position:fixed;z-index:10000;right:auto;bottom:calc(18px + var(--px-safe-bottom));left:calc(var(--px-sidebar-w,0px) + 18px);display:grid;width:min(390px,calc(100vw - 36px));gap:8px;pointer-events:none;isolation:isolate}body.px-sidebar-collapsed .px-toast-stack{left:calc(var(--px-sidebar-collapsed-w,0px) + 18px)}@media(max-width:1024px){.px-toast-stack{left:18px}}.px-toast{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) 26px;align-items:start;gap:10px;width:100%;padding:12px 10px 12px 12px;overflow:hidden;pointer-events:auto;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(24,27,24,.92);color:#fff;box-shadow:0 20px 52px rgba(18,22,19,.2),inset 0 1px 0 rgba(255,255,255,.08);-webkit-backdrop-filter:blur(20px) saturate(128%);backdrop-filter:blur(20px) saturate(128%);opacity:0;transform:translateY(8px) scale(.985);transition:opacity .2s ease,transform .28s var(--px-ease-out),box-shadow .2s ease}.px-toast::before{position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);content:"";pointer-events:none}.px-toast.is-visible{opacity:1;transform:none}.px-toast.is-visible:hover,.px-toast.is-paused{box-shadow:0 24px 62px rgba(18,22,19,.24),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-1px)}.px-toast.is-leaving{opacity:0;transform:translateY(5px) scale(.985);pointer-events:none}.px-toast__marker{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.94)}.px-toast__icon{width:14px;height:14px}.px-toast__message{min-width:0;padding:4px 0 3px;overflow-wrap:anywhere;font-size:12.5px;font-weight:560;line-height:1.48;letter-spacing:-.005em}.px-toast__close{display:grid;width:26px;height:26px;margin:2px 0 0;padding:0;cursor:pointer;place-items:center;border:0;border-radius:8px;background:rgba(255,255,255,.09);color:rgba(255,255,255,.76);transition:background .16s ease,color .16s ease,transform .16s ease}.px-toast__close:hover,.px-toast__close:focus-visible{background:rgba(255,255,255,.18);color:#fff}.px-toast__close:active{transform:scale(.94)}.px-toast__close:focus-visible{outline:2px solid rgba(255,255,255,.64);outline-offset:2px}.px-toast__close-icon{width:12px;height:12px}.px-toast.is-success{background:rgba(35,91,59,.94)}.px-toast.is-warning{background:rgba(118,79,27,.95)}.px-toast.is-error{background:rgba(139,48,44,.95)}.px-toast.is-success .px-toast__marker,.px-toast.is-warning .px-toast__marker,.px-toast.is-error .px-toast__marker{background:rgba(255,255,255,.12)}.px-toast.is-repeated{animation:px-toast-repeat .24s ease}.px-toast.is-repeated::after{position:absolute;inset:auto 12px 0;height:2px;border-radius:999px;background:rgba(255,255,255,.24);content:""}@keyframes px-toast-repeat{50%{transform:translateY(-2px) scale(1.006)}}
.px-site-footer{margin-left:var(--px-sidebar-w);padding:8px var(--px-gutter) 28px;transition:margin-left .5s var(--px-ease-out)}.px-site-footer__inner{display:flex;align-items:center;gap:20px;padding:16px 5px;border-top:1px solid rgba(0,0,0,.06)}.px-footer-brand{display:flex;align-items:center}.px-footer-brand strong{font-size:14.5px}.px-site-footer p{margin:0;color:#999;font-size:12.5px}.px-site-footer nav{display:flex;align-items:center;gap:14px;margin-left:auto}.px-site-footer nav a,
.px-site-footer nav button{padding:0;border:0;background:transparent;color:#777;font-size:12.5px;cursor:pointer}.px-site-footer nav a:hover,
.px-site-footer nav button:hover{color:#111}

/* WPUM account compatibility, kept inside the product shell. */

/* Responsive behavior is designed as a different composition, not a squeeze. */
@media (max-width:1280px){.px-prompt-view__main{grid-template-columns:minmax(0,1fr) minmax(380px,410px);gap:20px}.px-prompt-view{padding-right:24px}}
@media (max-width:1024px){.px-site-footer{margin-left:0}.px-prompt-view{padding:18px 13px 34px}.px-prompt-view__main{grid-template-columns:1fr}.px-prompt-sidebar{position:static;min-height:58vh}.px-source-stage,
.px-compare-stage{min-height:58vh}.px-source-stage__image{max-height:58vh}}
@media (max-width:720px){.px-gallery-toolbar{align-items:flex-start}.px-filter-nav{gap:4px}.px-filter-nav__arrow{width:30px;height:35px}.px-filter-chip{height:35px;padding:0 10px;font-size:12.5px}.px-sort-select__button{height:35px;min-width:96px;font-size:12.5px}.px-sort-select__menu{width:150px}.px-post-card{border-radius:13px}.px-post-card__title{
  left:9px;
  right:9px;
  bottom:8px;
}.px-source-stage{min-height:52vh}.px-compare-stage{
  min-height:52vh;
}.px-source-stage__media,
.px-source-stage__image{max-height:52vh}.px-source-stage__nav{width:34px;height:34px}.px-source-stage__nav--prev{left:10px}.px-source-stage__nav--next{right:10px}.px-prompt-sidebar{min-height:auto;border-radius:16px;font-size:12.5px}.px-generation-actions{grid-template-columns:minmax(0,1fr)}.px-live-settings{top:10px;left:10px}.px-live-settings__panel{width:min(340px,calc(100vw - 36px));max-height:calc(52vh - 68px)}.px-site-footer__inner{display:grid}.px-site-footer nav{margin-left:0;flex-wrap:wrap}}
@media (max-width:760px){.px-toast-stack{left:10px;right:10px;bottom:10px;width:auto}.px-toast{grid-template-columns:28px minmax(0,1fr) 26px;gap:9px;padding:11px 9px 11px 11px;border-radius:13px}.px-toast__marker{width:28px;height:28px}.px-toast__message{font-size:12.25px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.px-post-modal__surface,
.px-skeleton-card,
.px-inline-loader i,
.px-spinner,
.px-toast{animation:none}*,
*:before,
*:after{scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* Shared eyebrow label. */
.px-eyebrow{color:#989898;font-size:11px;font-weight:700;letter-spacing:.12em}

/* Image-backed page hero eyebrow: Collections + Favorites. */
.px-page-hero__eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 11px;color:#747982;font-family:"Inter Tight",Inter,system-ui,sans-serif;font-size:10.5px;font-weight:760;letter-spacing:.12em;text-transform:uppercase}
.px-page-hero__eyebrow>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid rgba(18,20,25,.075);border-radius:12px;background:rgba(255,255,255,.78);color:#6257b9;box-shadow:0 5px 16px rgba(37,31,72,.025),inset 0 1px 0 rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.px-page-hero__eyebrow svg{width:16px;height:16px}
.px-page-hero__eyebrow>b{flex:0 0 auto;color:#747982;font:760 10.5px/1 "Inter Tight",Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.px-page-hero__eyebrow>i{display:block;width:34px;height:1px;flex:0 0 34px;background:rgba(31,34,40,.15)}
@media(max-width:760px){.px-page-hero__eyebrow{gap:8px;margin-bottom:10px;font-size:10px}.px-page-hero__eyebrow>span{width:34px;height:34px;flex-basis:34px;border-radius:11px}.px-page-hero__eyebrow svg{width:15px;height:15px}.px-page-hero__eyebrow>b{font-size:10px}.px-page-hero__eyebrow>i{width:26px;flex-basis:26px}}

.px-page-hero__stats{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:17px}
.px-page-hero__stat{display:inline-flex;min-height:38px;align-items:center;gap:7px;padding:6px 10px 6px 7px;border:1px solid rgba(35,35,45,.075);border-radius:12px;background:rgba(255,255,255,.56);box-shadow:0 7px 20px rgba(53,48,80,.035),inset 0 1px 0 rgba(255,255,255,.86);backdrop-filter:blur(13px) saturate(130%);-webkit-backdrop-filter:blur(13px) saturate(130%);color:#24272c}
.px-page-hero__stat>i{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;border:1px solid rgba(21,23,28,.06);border-radius:8px;background:rgba(255,255,255,.62);color:#6860a7;font-style:normal}
.px-page-hero__stat>i svg{width:13px;height:13px;stroke-width:1.9}
.px-page-hero__stat>small{color:#777c85;font-size:10px;font-weight:620;letter-spacing:-.005em}
.px-page-hero__stat>b{margin-left:1px;color:#16181b;font-size:11px;font-weight:760;font-variant-numeric:tabular-nums}
@media(max-width:760px){.px-page-hero__stats{gap:5px;margin-top:13px}.px-page-hero__stat{min-height:34px;gap:5px;padding:5px 8px 5px 5px;border-radius:10px}.px-page-hero__stat>i{width:22px;height:22px;flex-basis:22px;border-radius:7px}.px-page-hero__stat>i svg{width:12px;height:12px}.px-page-hero__stat>small{font-size:9.25px}.px-page-hero__stat>b{font-size:10px}}

/* ==========================================================================
   CATALOG, CARDS & DISCOVERY CONTROLS
   ========================================================================== */
.px-catalog{ min-width: 0;container-type:inline-size}
.px-masonry-grid,
.px-catalog--compact .px-masonry-grid,
.px-suggestions .px-masonry-grid{--px-css-cols:2;--px-masonry-gap:8px}
@container (min-width:660px){.px-catalog:not(.px-catalog--compact) .px-masonry-grid{--px-css-cols:3;--px-masonry-gap:11px}}
@container (min-width:960px){.px-catalog:not(.px-catalog--compact) .px-masonry-grid{--px-css-cols:4}}
@container (min-width:1230px){.px-catalog:not(.px-catalog--compact) .px-masonry-grid{--px-css-cols:5}}
@container (min-width:1500px){.px-catalog:not(.px-catalog--compact) .px-masonry-grid{--px-css-cols:5}}
@container (min-width:620px){.px-catalog--compact .px-masonry-grid{--px-css-cols:3;--px-masonry-gap:10px}}
@container (min-width:860px){.px-catalog--compact .px-masonry-grid{--px-css-cols:4}}
@container (min-width:1100px){.px-catalog--compact .px-masonry-grid{--px-css-cols:5}}

/* Cards: all overlay information, including the love control, stays hidden until interaction. */
.px-post-card__caption{position:absolute;left:11px;right:11px;bottom:10px;display:grid;gap:3px;min-width:0;color:#fff;transform:translateY(6px);transition:transform 360ms cubic-bezier(.22,.72,.2,1)}
.px-post-card__category{
  font-weight:650;
}
.px-post-card__title{position:static;display:block;min-width:0;overflow:hidden;color:#fff;font-size:clamp(13.5px,.95vw,16px);font-weight:620;letter-spacing:-.25px;line-height:1.14;text-overflow:ellipsis;text-shadow:0 2px 15px rgba(0,0,0,.24);transform:none;white-space:nowrap;transition:none}
.px-post-card__bookmark{
  top:10px;
  right:10px;
}
.px-post-card__bookmark svg{
  stroke-width:2;
}
.px-post-card__bookmark.is-active svg{fill:currentColor}
.px-post-card:focus-within .px-post-card__veil,
.px-post-card:focus-within .px-post-card__meta{opacity:1}
.px-post-card:focus-within .px-post-card__caption,
.px-post-card:focus-within .px-post-card__bookmark{opacity:1;pointer-events:auto;transform:translateY(0)}
@media (hover:hover) and (pointer:fine){.px-post-card:hover .px-post-card__caption,
.px-post-card:hover .px-post-card__bookmark{opacity:1;pointer-events:auto;transform:translateY(0)}}

/* Collection head: editorial context strip, not a floating card. */
.px-collection-head{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,260px);align-items:end;min-height:178px;margin:10px 0 17px;padding:26px 8px 25px;overflow:hidden;border:0;border-bottom:1px solid rgba(0,0,0,.07);border-radius:0;background:transparent;box-shadow:none}
.px-collection-head:before{content:"";position:absolute;z-index:-2;right:-4%;top:50%;width:min(52vw,760px);height:190%;transform:translateY(-50%);background:radial-gradient(ellipse at 70% 50%,rgba(225,219,255,.42) 0%,rgba(239,224,214,.23) 38%,rgba(247,247,245,0) 72%);filter:blur(3px);pointer-events:none}
.px-collection-head:after{content:"";position:absolute;z-index:-1;right:1%;bottom:-1px;width:32%;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.17),transparent);pointer-events:none}
.px-collection-head__content{position:relative;z-index:2;align-self:end;max-width:760px}
.px-collection-head__eyebrow{
  margin-bottom:13px;display:flex;align-items:center;gap:9px;margin:0 0 13px;color:#737373}
.px-collection-head__eyebrow span{display:inline;min-height:0;padding:0;border:0;border-radius:0;background:none;color:#5d5d5d;font-weight:760;letter-spacing:.15em;text-transform:uppercase}
.px-collection-head__eyebrow i{display:block;width:34px;height:1px;background:rgba(0,0,0,.16)}
.px-collection-head__eyebrow b{color:#aaa;font-weight:610;letter-spacing:.03em}
.px-collection-head h1{max-width:700px;margin:0;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(43px,4.2vw,62px);font-weight:400;line-height:.91;letter-spacing:-1.85px}
.px-collection-head p{max-width:600px;margin:11px 0 0;color:#727272;font-size:15px;line-height:1.5}
.px-collection-head__signal{position:relative;z-index:2;align-self:center;justify-self:end;display:grid;grid-template-columns:auto minmax(34px,82px);align-items:center;gap:8px;width:min(100%,235px);color:#979797}
.px-collection-head__signal>span{grid-column:1/-1;font-size:11px;font-weight:760;letter-spacing:.16em;text-align:right}
.px-collection-head__signal>i{display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.17))}
.px-collection-head__signal>small{font-size:11px;font-weight:650;letter-spacing:.11em;text-align:right}

/* Search results hero — same premium archive language, but a distinct search composition. */
body.search{overflow-x:hidden}
body.search .px-topbar:not(.px-is-scrolled)::before{opacity:0}
body.search .px-topbar:not(.px-is-scrolled){background:transparent;box-shadow:none}
body.search .px-topbar:not(.px-is-scrolled) .px-search{
  border-color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.69);
  box-shadow:0 14px 38px rgba(70,72,105,.055),inset 0 1px 0 rgba(255,255,255,.94);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.search .px-topbar:not(.px-is-scrolled) .px-profile-button--guest{
  border-color:rgba(255,255,255,.64);
  background:rgba(255,255,255,.68);
  box-shadow:0 9px 26px rgba(70,72,105,.045);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.px-search-field{
  --px-search-stage-h:clamp(292px,22vw,330px);
  --px-search-tail-overlap:54px;
  position:relative;
  isolation:isolate;
  min-width:0;
  padding-top:calc(var(--px-search-stage-h) - var(--px-topbar-h) - 8px);
}
.px-search-field > .px-search-hero{
  position:absolute;
  z-index:0;
  top:calc(-1 * var(--px-topbar-h));
  right:auto;
  bottom:0;
  left:calc(-1 * var(--px-gutter));
  display:block;
  width:calc(100vw - var(--px-sidebar-w));
  min-height:0;
  margin:0;
  padding:0;
  overflow:visible;
  color:#111217;
  pointer-events:none;
  box-shadow:none;
  background-image:
    linear-gradient(180deg,rgba(247,247,245,0) 0%,rgba(247,247,245,.5) 48%,#f7f7f5 100%),
    linear-gradient(154deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.18) 38%,rgba(255,255,255,0) 66%),
    linear-gradient(112deg,#fdfdfc 0%,#f3f3f4 29%,#f0f2f6 61%,#faf4f7 100%);
  background-repeat:no-repeat;
  background-position:
    0 calc(var(--px-search-stage-h) - var(--px-search-tail-overlap)),
    0 0,
    0 0;
  background-size:
    100% calc(var(--px-search-tail-overlap) + 100px),
    100% calc(var(--px-search-stage-h) + 72px),
    100% calc(var(--px-search-stage-h) + 72px);
}
body.px-sidebar-collapsed .px-search-field > .px-search-hero{width:calc(100vw - var(--px-sidebar-collapsed-w))}
.px-search-field::before,
.px-search-field::after,
.px-search-field > .px-search-hero::before,
.px-search-field > .px-search-hero::after{content:none}
.px-search-hero__stage{
  position:sticky;
  z-index:2;
  top:0;
  display:flex;
  align-items:center;
  width:100%;
  height:var(--px-search-stage-h);
  padding:calc(var(--px-topbar-h) + clamp(24px,2.5vw,36px)) clamp(30px,4vw,68px) clamp(26px,2.8vw,38px);
  overflow:hidden;
  isolation:isolate;
  pointer-events:none;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.px-search-hero__inner{position:relative;z-index:1;display:block;width:100%}
.px-search-hero__content{width:min(880px,82%);min-width:0}
.px-search-hero__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:13px;color:#696971}
.px-search-hero__icon{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.9);border-radius:9px;background:rgba(255,255,255,.7);color:#6459aa;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 8px 20px rgba(56,52,73,.035)}
.px-search-hero__icon svg{width:14px;height:14px}
.px-search-hero__eyebrow>span:not(.px-search-hero__icon){font-size:11.5px;font-weight:760;letter-spacing:.16em;text-transform:uppercase}
.px-search-hero__eyebrow>i{display:block;width:34px;height:1px;background:rgba(18,18,20,.18)}
.px-search-hero__eyebrow>b{color:#8d8d94;font-size:12px;font-weight:610;letter-spacing:.02em}
.px-search-hero h1{
  display:-webkit-box;
  overflow:hidden;
  max-width:100%;
  margin:0;
  color:#101115;
  font-family:"Instrument Serif",Georgia,serif;
  font-size:clamp(50px,4.7vw,74px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-2.8px;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.px-search-hero p{
  max-width:610px;
  margin:13px 0 0;
  color:rgba(35,36,42,.58);
  font-size:14.5px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:-.08px;
}
.px-search-field > .px-gallery-shell--collection{
  position:relative;
  z-index:7;
  margin-top:0;
  background:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.96);
  box-shadow:0 22px 68px rgba(30,34,42,.048),inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transform:translateZ(0);
}
.px-search-field > .px-gallery-shell--collection::before{content:none}

@media(max-width:1024px){
  .px-search-field{
    --px-search-stage-h:304px;
    --px-search-tail-overlap:42px;
    padding-top:calc(var(--px-search-stage-h) - var(--px-topbar-h) - 6px);
  }
  .px-search-field > .px-search-hero{left:-13px;width:100vw}
  body.px-sidebar-collapsed .px-search-field > .px-search-hero{width:100vw}
  .px-search-hero__stage{padding:calc(var(--px-topbar-h) + 24px) 30px 27px}
  .px-search-hero__content{width:min(720px,86%)}
  .px-search-hero h1{font-size:clamp(48px,6vw,64px);letter-spacing:-2.45px}
}
@media(max-width:720px){
  .px-search-field{
    --px-search-stage-h:278px;
    --px-search-tail-overlap:32px;
    padding-top:calc(var(--px-search-stage-h) - var(--px-topbar-h) - 4px);
  }
  .px-search-field > .px-search-hero{left:-8px;width:100vw}
  .px-search-hero__stage{padding:calc(var(--px-topbar-h) + 18px) 16px 21px}
  .px-search-hero__content{width:min(94%,560px)}
  .px-search-hero h1{font-size:clamp(43px,11.6vw,57px);line-height:.91;letter-spacing:-2.2px;-webkit-line-clamp:2}
  .px-search-hero p{max-width:92%;margin-top:10px;font-size:13.5px;line-height:1.45}
  .px-search-hero__eyebrow{gap:8px;margin-bottom:10px}
  .px-search-hero__eyebrow>b{font-size:11px}
  .px-search-field > .px-gallery-shell--collection{background:rgba(255,255,255,.94);box-shadow:0 16px 46px rgba(30,34,42,.04),inset 0 1px 0 rgba(255,255,255,.98)}
  body.search .px-topbar:not(.px-is-scrolled) .px-search{background:rgba(255,255,255,.72)}
}
@supports (overflow:clip){body.search{overflow-x:clip}}

/* Sort control: compact command menu with clear selected state. */
.px-sort-select__button{
  cursor:pointer;
  gap:10px;
  justify-content:space-between;
  align-items:center;
  display:flex;min-width:124px;height:38px;padding:0 10px 0 13px;
  border:1px solid rgba(0,0,0,.068);border-color:rgba(0,0,0,.09);border-radius:11px;background:#f7f7f5;box-shadow:inset 0 1px 0 rgba(255,255,255,.95);color:#202020;font-size:13px;font-weight:670;transition:border-color 180ms ease,background 180ms ease,transform 220ms ease}
.px-sort-select__button:hover{border-color:rgba(0,0,0,.16);background:#fff;transform:translateY(-1px)}
.px-sort-select.is-open .px-sort-select__button{border-color:rgba(0,0,0,.2);background:#fff}
.px-sort-select__menu{
  z-index:50;
  position:absolute;
  right:0;top:calc(100% + 8px);width:172px;padding:5px;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:rgba(249,249,247,.98);box-shadow:0 16px 42px rgba(0,0,0,.11),inset 0 1px 0 #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.px-sort-select__option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  border:0;
  background:transparent;
  cursor:pointer;height:38px;padding:0 9px 0 10px;border-radius:8px;color:#5d5d5d;font-size:12.5px;font-weight:570;transition:background 150ms ease,color 150ms ease,padding 180ms ease}
.px-sort-select__option:hover{padding-left:12px;background:rgba(0,0,0,.045);color:#111}
.px-sort-select__option.is-selected{background:#111;color:#fff;font-weight:650}
.px-sort-select__option.is-selected svg{opacity:1;color:#fff}

/* Search: discovery-first layout for recent posts, categories and tags. */

/* Pricing replaces + Create and must retain its label at responsive widths. */
.px-create-button--pricing>span{position:relative;z-index:3}
.px-create-button--pricing::before{
  content:"";
  position:absolute;
  z-index:-1;
  right:7%;
  bottom:-10px;
  left:7%;
  height:17px;
  border-radius:50%;
  background:linear-gradient(90deg,#6559ff 0%,#c75cff 27%,#ff6aa9 53%,#ffad65 74%,#62d7ff 100%);
  background-size:220% 100%;
  filter:blur(12px);
  opacity:.48;
  transform:translateZ(0) scaleX(.9);
  animation:px-pricing-glow-travel 4.6s linear infinite;
  pointer-events:none;
}
.px-create-button--pricing::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:-2px;
  padding:1.35px;
  border-radius:13px;
  background:conic-gradient(from var(--px-pricing-angle),transparent 0deg 252deg,rgba(111,95,255,.05) 260deg,#7464ff 276deg,#d760ff 301deg,#ff6caa 321deg,#ffb061 339deg,#65dfff 350deg,transparent 359deg 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  filter:drop-shadow(0 0 4px rgba(154,111,255,.3));
  animation:px-pricing-border-orbit 3.65s linear infinite;
}
.px-create-button--pricing:hover{transform:translateY(-1px) scale(1.008);box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 10px 22px rgba(0,0,0,.15)}

@property --px-pricing-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes px-pricing-border-orbit{to{--px-pricing-angle:360deg}}
@keyframes px-pricing-glow-travel{0%{background-position:0% 50%;transform:translate3d(-3%,0,0) scaleX(.82)}50%{background-position:100% 50%;transform:translate3d(3%,1px,0) scaleX(1)}100%{background-position:0% 50%;transform:translate3d(-3%,0,0) scaleX(.82)}}
@media (max-width:1024px){.px-create-button--pricing{width:auto;height:40px;padding:0 12px}}
@media (max-width:720px){.px-post-card__caption{left:9px;right:9px;bottom:8px}.px-post-card__category{font-size:11px}.px-post-card__title{font-size:13.5px}.px-post-card__bookmark{
  top:8px;
  right:8px;
}.px-collection-head{grid-template-columns:1fr;min-height:146px;margin-top:6px;padding:22px 3px 20px}.px-collection-head h1{font-size:42px}.px-collection-head p{font-size:14px}.px-collection-head__signal{display:none}.px-create-button--pricing{width:auto;height:37px;padding:0 10px;font-size:12.5px}}
@media (max-width:390px){.px-create-button--pricing{width:auto;height:34px;padding:0 9px}}

/* ==========================================================================
   DISCOVERY, MODAL BROWSING & CATALOG STATES
   ========================================================================== */

.px-post-card.is-viewed:after{content:"";position:absolute;z-index:4;right:9px;bottom:9px;width:5px;height:5px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(15,15,15,.42);box-shadow:0 1px 6px rgba(0,0,0,.13);pointer-events:none;transition:opacity 180ms ease,transform 240ms ease}
.px-post-card:hover.is-viewed:after,
.px-post-card:focus-within.is-viewed:after{opacity:0;transform:scale(.7)}
.px-post-card .px-post-card__bookmark:active{transform:translateY(0) scale(.9)}
.px-post-card__bookmark.is-active{background:rgba(10,10,10,.78);animation:px-love-confirm 320ms cubic-bezier(.2,.8,.2,1)}
@keyframes px-love-confirm{0%{transform:translateY(0) scale(.82)}70%{transform:translateY(0) scale(1.08)}100%{transform:translateY(0) scale(1)}}
.px-catalog.is-reflowing .px-masonry-grid{opacity:.45;transform:translateY(3px)}
.px-masonry-grid{
  min-height: 1px;
  align-items: start;
  gap: var(--px-masonry-gap);
  grid-template-columns: repeat(var(--px-css-cols), minmax(0, 1fr));
  display: grid;
  position: relative;transition:opacity 180ms ease,transform 220ms var(--px-ease-out)}

@media (max-width:720px){
  .px-post-card.is-viewed:after{right:7px;bottom:7px;width:4px;height:4px}
}
.px-copy-prompt-cta.is-confirmed{transform:translateY(-1px) scale(.995)}

/* ================================================================
   Taxonomy archive hero — full-bleed premium category/tag identity
================================================================ */
body.px-archive-hero-page{overflow-x:hidden}
body.px-archive-hero-page .px-topbar:not(.px-is-scrolled) .px-search{
  border-color:rgba(255,255,255,.56);
  background:rgba(255,255,255,.62);
  box-shadow:0 14px 42px rgba(52,49,70,.07),inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.px-archive-hero-page .px-topbar:not(.px-is-scrolled) .px-profile-button--guest{
  border-color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.62);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.px-archive-hero{
  width:calc(100vw - var(--px-sidebar-w));
  margin:calc(-1 * var(--px-topbar-h)) 0 25px calc(-1 * var(--px-gutter));
}
body.px-sidebar-collapsed .px-archive-hero{width:calc(100vw - var(--px-sidebar-collapsed-w))}
.px-archive-hero:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  pointer-events:none;
}
.px-archive-hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(247,247,245,.72));
  pointer-events:none;
}
.px-archive-hero__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.96) contrast(.98)}
.px-archive-hero.has-image:before{
  background:
    linear-gradient(90deg,rgba(249,249,248,.98) 0%,rgba(249,249,248,.93) 27%,rgba(249,249,248,.67) 47%,rgba(249,249,248,.28) 68%,rgba(249,249,248,.08) 100%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(247,247,245,.2) 62%,rgba(247,247,245,.72));
}
.px-archive-hero.has-image:after{height:34%;background:linear-gradient(180deg,transparent,rgba(247,247,245,.56))}
.px-archive-hero__taxonomy-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.74);border-radius:9px;background:rgba(255,255,255,.62);color:var(--px-archive-accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 20px rgba(56,52,73,.035);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.px-archive-hero__taxonomy-icon svg{width:14px;height:14px}
.px-archive-hero__eyebrow>span:not(.px-archive-hero__taxonomy-icon){font-size:11.5px;font-weight:760;letter-spacing:.16em}
.px-archive-hero__eyebrow>i{width:34px;height:1px;background:rgba(18,18,20,.18)}
.px-archive-hero__eyebrow>b{color:#8e8d94;font-size:12px;font-weight:610;letter-spacing:.02em}
.px-archive-hero__signature{
  display:grid;
}
.px-archive-hero__signature>span{
  font-family:"Instrument Serif",Georgia,serif;
  line-height:.78;
}
.px-archive-hero__signature>small{
  font-weight:800;
}

@media (max-width:1024px){
  .px-archive-hero{
  width:100vw;
  margin-left:-13px;
  padding-left:30px;
  padding-right:30px;
}
  body.px-sidebar-collapsed .px-archive-hero{width:100vw}

}
@media (max-width:720px){
  .px-archive-hero{
  width:100vw;
  margin-left:-8px;
}
  .px-archive-hero:before,.px-archive-hero.has-image:before{background:linear-gradient(90deg,rgba(249,249,248,.96) 0%,rgba(249,249,248,.79) 58%,rgba(249,249,248,.26) 100%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(247,247,245,.42))}
  .px-archive-hero__inner{gap:0}
  .px-archive-hero__content{width:100%;max-width:560px}
  
  .px-archive-hero p{
  max-width:92%;
  line-height:1.48;
}
  
  .px-archive-hero__signature{display:none}
  
  body.px-archive-hero-page .px-topbar:not(.px-is-scrolled) .px-search{background:rgba(255,255,255,.68)}
}

/* ==========================================================================
   TAXONOMY HERO VARIANTS
   ========================================================================== */
.px-archive-hero{
  margin-bottom:18px;
  padding:calc(var(--px-topbar-h) + clamp(24px,2.5vw,38px)) clamp(30px,4vw,68px) clamp(25px,2.8vw,38px);
}
.px-archive-hero:before{
  background:
    linear-gradient(90deg,rgba(250,250,249,.93) 0%,rgba(250,250,249,.72) 27%,rgba(250,250,249,.24) 53%,rgba(250,250,249,.03) 79%),
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(247,247,245,.03) 64%,rgba(247,247,245,.15));
}
.px-archive-hero__content{width:min(700px,66%)}
.px-archive-hero__eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  color:#68676d;margin-bottom:11px}
.px-archive-hero h1{
  max-width:760px;
  margin:0;
  font-family:"Instrument Serif",Georgia,serif;
  font-weight:400;
  text-wrap:balance;font-size:clamp(48px,4.35vw,70px);line-height:.88;letter-spacing:-2.7px}
.px-archive-hero p{
  text-wrap:pretty;
  color:#595960;max-width:590px;
  margin:19px 0 0;margin-top:12px;font-size:14.5px;line-height:1.48}
/* Deliberately more separated families: not eight versions of lavender. */
.px-archive-hero--opal{--px-archive-a:#cbc4ff;--px-archive-b:#ffcfc8;--px-archive-c:#cbdcff;--px-archive-accent:#6858de}
.px-archive-hero--aurora{--px-archive-a:#e8b8ed;--px-archive-b:#ffc5df;--px-archive-c:#bdcdfb;--px-archive-accent:#a83991}
.px-archive-hero--celeste{--px-archive-a:#b9dcff;--px-archive-b:#c6f0f5;--px-archive-c:#d8c8ff;--px-archive-accent:#3379c7}
.px-archive-hero--peach{--px-archive-a:#ffd0b9;--px-archive-b:#ffc2c5;--px-archive-c:#f4d0ff;--px-archive-accent:#c96249}
.px-archive-hero--mint{--px-archive-a:#bdebd9;--px-archive-b:#c7eff7;--px-archive-c:#e5e1ad;--px-archive-accent:#318d73}
.px-archive-hero--violet{--px-archive-a:#cab7ff;--px-archive-b:#efc0f2;--px-archive-c:#bfcfff;--px-archive-accent:#704bc0}
.px-archive-hero--sunrise{--px-archive-a:#ffd2a8;--px-archive-b:#f7babd;--px-archive-c:#cbbff5;--px-archive-accent:#c45f5a}
.px-archive-hero--ice{--px-archive-a:#bfe7ef;--px-archive-b:#c7dff4;--px-archive-c:#d6e8e2;--px-archive-accent:#397d94}
.px-archive-hero--lagoon{--px-archive-a:#aee6e1;--px-archive-b:#b8dff3;--px-archive-c:#c9efcf;--px-archive-accent:#1f8593}
.px-archive-hero--citrus{--px-archive-a:#f4e7a6;--px-archive-b:#ffd0a4;--px-archive-c:#bfe5d9;--px-archive-accent:#a87b25}
.px-archive-hero--orchid{--px-archive-a:#dfb7f2;--px-archive-b:#f6bcd9;--px-archive-c:#f2cfb5;--px-archive-accent:#9748b1}
.px-archive-hero--ember{--px-archive-a:#eec0a9;--px-archive-b:#f2d39b;--px-archive-c:#d7b8d1;--px-archive-accent:#aa513d}

/* Shape language also changes between preset families. */

@media (max-width:1024px){
  .px-archive-hero{min-height:310px;padding-top:calc(var(--px-topbar-h) + 24px);padding-bottom:26px}
  .px-archive-hero h1{font-size:clamp(47px,6vw,62px)}
  .px-archive-hero__content{width:min(650px,78%)}
}
@media (max-width:720px){
  .px-archive-hero{min-height:278px;margin-bottom:13px;padding:calc(var(--px-topbar-h) + 18px) 16px 21px}
  .px-archive-hero h1{font-size:clamp(43px,11.8vw,58px);letter-spacing:-2.2px}
  .px-archive-hero p{margin-top:10px;font-size:13.5px}
}

/* ==========================================================================
   TAXONOMY HERO FIELD
   ========================================================================== */
.px-archive-field{
  --px-archive-stage-h:clamp(274px,22vw,338px);
  --px-archive-tail-overlap:46px;
  position:relative;
  isolation:isolate;
  min-width:0;
  padding-top:calc(var(--px-archive-stage-h) - var(--px-topbar-h) - 8px);
}

/*
 * One element owns the entire taxonomy color field.
 * The first six layers reproduce the exact compact hero appearance from
 * a fixed stage height. The final four layers continue the same
 * edge colors downward and naturally fade to transparent before page end.
 */
.px-archive-field > .px-archive-hero{
  position:absolute;
  z-index:0;
  top:calc(-1 * var(--px-topbar-h));
  right:auto;
  bottom:0;
  left:calc(-1 * var(--px-gutter));
  display:block;
  width:calc(100vw - var(--px-sidebar-w));
  min-height:0;
  margin:0;
  padding:0;
  overflow:visible;
  color:#0a0a0b;
  pointer-events:none;
  box-shadow:none;
  background-image:
    linear-gradient(180deg,transparent 58%,rgba(247,247,245,.72) 100%),
    linear-gradient(90deg,rgba(250,250,249,.93) 0%,rgba(250,250,249,.72) 27%,rgba(250,250,249,.24) 53%,rgba(250,250,249,.03) 79%),
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(247,247,245,.03) 64%,rgba(247,247,245,.15)),
    radial-gradient(62% 120% at 88% 8%,rgba(255,255,255,.48),transparent 58%),
    radial-gradient(48% 92% at 72% 82%,var(--px-archive-b),transparent 70%),
    linear-gradient(118deg,#fbfbfa 0%,var(--px-archive-a) 47%,var(--px-archive-c) 100%),
    radial-gradient(ellipse 92% 70% at 0% 0%,rgba(251,251,250,.76) 0%,rgba(251,251,250,.44) 27%,rgba(251,251,250,.16) 50%,transparent 76%),
    radial-gradient(ellipse 76% 66% at 48% 0%,color-mix(in srgb,var(--px-archive-a) 28%,transparent) 0%,color-mix(in srgb,var(--px-archive-a) 13%,transparent) 35%,transparent 77%),
    radial-gradient(ellipse 64% 56% at 72% 0%,color-mix(in srgb,var(--px-archive-b) 23%,transparent) 0%,color-mix(in srgb,var(--px-archive-b) 9%,transparent) 37%,transparent 72%),
    radial-gradient(ellipse 92% 70% at 100% 0%,color-mix(in srgb,var(--px-archive-c) 31%,transparent) 0%,color-mix(in srgb,var(--px-archive-c) 14%,transparent) 38%,transparent 78%);
  background-repeat:no-repeat;
  background-position:
    0 0,0 0,0 0,0 0,0 0,0 0,
    0 calc(var(--px-archive-stage-h) - var(--px-archive-tail-overlap)),
    0 calc(var(--px-archive-stage-h) - var(--px-archive-tail-overlap)),
    0 calc(var(--px-archive-stage-h) - var(--px-archive-tail-overlap)),
    0 calc(var(--px-archive-stage-h) - var(--px-archive-tail-overlap));
  background-size:
    100% var(--px-archive-stage-h),
    100% var(--px-archive-stage-h),
    100% var(--px-archive-stage-h),
    100% var(--px-archive-stage-h),
    100% var(--px-archive-stage-h),
    100% var(--px-archive-stage-h),
    100% calc(100% - var(--px-archive-stage-h) + var(--px-archive-tail-overlap)),
    100% calc(100% - var(--px-archive-stage-h) + var(--px-archive-tail-overlap)),
    100% calc(100% - var(--px-archive-stage-h) + var(--px-archive-tail-overlap)),
    100% calc(100% - var(--px-archive-stage-h) + var(--px-archive-tail-overlap));
}
body.px-sidebar-collapsed .px-archive-field > .px-archive-hero{width:calc(100vw - var(--px-sidebar-collapsed-w))}

/* No pseudo-element or wrapper field is allowed to introduce a second palette. */
.px-archive-field::before,
.px-archive-field::after,
.px-archive-field > .px-archive-hero::before,
.px-archive-field > .px-archive-hero::after{content:none}

.px-archive-hero__stage{
  position:sticky;
  z-index:2;
  top:0;
  display:flex;
  align-items:stretch;
  width:100%;
  height:var(--px-archive-stage-h);
  padding:calc(var(--px-topbar-h) + clamp(24px,2.5vw,38px)) clamp(30px,4vw,68px) clamp(25px,2.8vw,38px);
  overflow:hidden;
  isolation:isolate;
  pointer-events:none;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.px-archive-hero__stage::after{content:none}
.px-archive-hero.has-image .px-archive-hero__stage::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(249,249,248,.96) 0%,rgba(249,249,248,.86) 28%,rgba(249,249,248,.52) 49%,rgba(249,249,248,.17) 72%,rgba(249,249,248,.04) 100%);
  pointer-events:none;
}
.px-archive-hero__media{
  position:absolute;
  overflow:hidden;z-index:0;inset:0}

.px-archive-field > .px-gallery-shell--collection{
  position:relative;
  z-index:7;
  margin-top:0;
  background:rgba(255,255,255,.9);
  border-color:rgba(255,255,255,.95);
  box-shadow:0 22px 68px rgba(30,34,42,.05),inset 0 1px 0 rgba(255,255,255,.97);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transform:translateZ(0);
}
.px-archive-field > .px-gallery-shell--collection::before{content:none}

@media (max-width:1024px){
  .px-archive-field{
    --px-archive-stage-h:310px;
    --px-archive-tail-overlap:38px;
    padding-top:calc(var(--px-archive-stage-h) - var(--px-topbar-h) - 6px);
  }
  .px-archive-field > .px-archive-hero{left:-13px;width:100vw}
  body.px-sidebar-collapsed .px-archive-field > .px-archive-hero{width:100vw}
  .px-archive-hero__stage{padding:calc(var(--px-topbar-h) + 24px) 30px 26px}
}
@media (max-width:720px){
  .px-archive-field{
    --px-archive-stage-h:278px;
    --px-archive-tail-overlap:30px;
    padding-top:calc(var(--px-archive-stage-h) - var(--px-topbar-h) - 4px);
  }
  .px-archive-field > .px-archive-hero{left:-8px;width:100vw}
  .px-archive-hero__stage{padding:calc(var(--px-topbar-h) + 18px) 16px 21px}
  .px-archive-field > .px-gallery-shell--collection{
    background:rgba(255,255,255,.94);
    box-shadow:0 16px 46px rgba(30,34,42,.04),inset 0 1px 0 rgba(255,255,255,.98);
  }
}
@supports (overflow:clip){body.px-archive-hero-page{overflow-x:clip}}

/* ==========================================================================
   HOMEPAGE EDITORIAL HERO
   ========================================================================== */
.px-home-portal{
  position:relative;
  isolation:isolate;
  width:calc(100vw - var(--px-sidebar-w));
  min-height:clamp(430px,31vw,510px);
  margin:calc(-1 * var(--px-topbar-h)) 0 0 calc(-1 * var(--px-gutter));
  overflow:hidden;
  background:#101217;
}
body.px-sidebar-collapsed .px-home-portal{width:calc(100vw - var(--px-sidebar-collapsed-w))}
.px-home-portal__showcase{display:grid;min-height:inherit;grid-template-columns:minmax(390px,1.5fr) repeat(3,minmax(0,1fr))}
.px-home-portal__panel{
  position:relative;
  z-index:2;
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:calc(var(--px-topbar-h) + clamp(26px,2.6vw,40px)) clamp(30px,3vw,48px) clamp(38px,3.2vw,52px);
  overflow:hidden;
  background:linear-gradient(138deg,#4c49ee 0%,#514ef1 50%,#5a55ef 100%);
  color:#fff;
}
.px-home-portal__panel:before{
  content:"";
  position:absolute;
  inset:-24% -18% auto auto;
  width:76%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(149,136,255,.24),rgba(106,93,247,.08) 42%,transparent 70%);
  pointer-events:none;
}
.px-home-portal__panel>*{position:relative;z-index:1}
.px-home-portal__eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 15px;color:rgba(255,255,255,.82);font-size:9px;font-weight:760;line-height:1;letter-spacing:.17em;text-transform:uppercase}
.px-home-portal__eyebrow i{display:block;width:34px;height:1px;background:rgba(255,255,255,.42)}
.px-home-portal h1{max-width:640px;margin:0;color:#fff;font:400 clamp(52px,4.6vw,80px)/.82 "Instrument Serif",Georgia,serif;letter-spacing:-.048em;text-wrap:balance}
.px-home-portal h1 em{display:block;margin-top:.08em;color:#fff;font-weight:400;font-style:italic}
.px-home-portal__panel>p{max-width:500px;margin:19px 0 0;color:rgba(255,255,255,.82);font-size:13.5px;font-weight:470;line-height:1.55;text-wrap:pretty}
.px-home-portal__cta{
  display:inline-flex;
  width:max-content;
  min-height:46px;
  align-items:center;
  gap:10px;
  margin-top:24px;
  padding:0 17px 0 18px;
  border:1px solid rgba(255,255,255,.74);
  border-radius:10px;
  background:#fff;
  color:#171821;
  box-shadow:0 12px 26px rgba(32,24,115,.12),inset 0 1px 0 #fff;
  font-size:12.5px;
  font-weight:720;
  line-height:1;
  text-decoration:none;
  transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s ease,background .2s ease;
}
.px-home-portal__cta span{display:grid;width:15px;height:15px;place-items:center;transition:transform .26s cubic-bezier(.22,1,.36,1)}
.px-home-portal__cta svg{width:14px;height:14px}
.px-home-portal__posts{display:grid;min-width:0;grid-column:span 3;grid-template-columns:repeat(3,minmax(0,1fr));background:#0e1014}
.px-home-portal__post{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  border-left:1px solid rgba(255,255,255,.72);
  background:#17191e;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
}
.px-home-portal__post img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.001);transition:transform .62s cubic-bezier(.16,1,.3,1)}
.px-home-portal__post-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 58%,rgba(4,5,7,.08) 74%,rgba(4,5,7,.58) 100%);transition:background .35s ease}
.px-home-portal__post-label{position:absolute;z-index:2;left:15px;bottom:17px;max-width:calc(100% - 30px);overflow:hidden;color:rgba(255,255,255,.92);font-size:8.5px;font-weight:760;line-height:1;letter-spacing:.15em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.28);transition:transform .3s cubic-bezier(.22,1,.36,1),color .2s ease}
.px-home-portal__post-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.35);background:linear-gradient(145deg,#282a32,#16181e)}
.px-home-portal__post-placeholder svg{width:34px;height:34px}

@media(hover:hover) and (pointer:fine){
  .px-home-portal__cta:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(32,24,115,.19),inset 0 1px 0 #fff}
  .px-home-portal__cta:hover span{transform:translateX(3px)}
  .px-home-portal__post:hover img{transform:scale(1.055)}
  .px-home-portal__post:hover .px-home-portal__post-shade{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 48%,rgba(4,5,7,.1) 72%,rgba(4,5,7,.66) 100%)}
  .px-home-portal__post:hover .px-home-portal__post-label{transform:translateY(-3px);color:#fff}
}

.px-discover--home{position:relative;z-index:8;margin-top:0;padding-top:14px}
.px-gallery-shell--home{border-radius:24px;background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.96);box-shadow:0 18px 60px rgba(24,28,36,.045),inset 0 1px 0 #fff;backdrop-filter:none;-webkit-backdrop-filter:none}

@media(max-width:1180px){
  .px-home-portal{min-height:440px}
  .px-home-portal__showcase{grid-template-columns:minmax(350px,1.36fr) repeat(3,minmax(0,1fr))}
  .px-home-portal__panel{padding-right:30px;padding-left:34px}
  .px-home-portal h1{font-size:clamp(54px,5.5vw,72px)}
  .px-home-portal__panel>p{font-size:12.8px}
}
@media(max-width:1024px){
  .px-home-portal,body.px-sidebar-collapsed .px-home-portal{width:100vw;margin-left:-13px;min-height:420px}
  .px-home-portal__showcase{grid-template-columns:minmax(330px,1.25fr) repeat(3,minmax(0,1fr))}
  .px-home-portal__panel{padding:calc(var(--px-topbar-h) + 24px) 26px 38px 28px}
  .px-home-portal h1{font-size:clamp(50px,6.2vw,66px)}
  .px-home-portal__post-label{left:12px;bottom:14px;font-size:8px;letter-spacing:.12em}
}
@media(max-width:720px){
  .px-home-portal{width:100vw;min-height:550px;margin-left:-8px;background:#514ef1}
  .px-home-portal__showcase{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(330px,auto) 220px}
  .px-home-portal__panel{padding:calc(var(--px-topbar-h) + 20px) 18px 28px}
  .px-home-portal__eyebrow{margin-bottom:12px;font-size:8.5px}.px-home-portal__eyebrow i{width:24px}
  .px-home-portal h1{max-width:520px;font-size:clamp(52px,14.2vw,70px);line-height:.84}
  .px-home-portal__panel>p{max-width:430px;margin-top:14px;font-size:12.5px;line-height:1.48}
  .px-home-portal__cta{min-height:42px;margin-top:19px;padding-inline:15px;border-radius:9px;font-size:12px}
  .px-home-portal__posts{grid-column:auto;grid-template-columns:repeat(3,minmax(0,1fr));min-height:220px}
  .px-home-portal__post:first-child{border-left:0}
  .px-home-portal__post-label{left:9px;right:8px;bottom:11px;max-width:none;font-size:7px;letter-spacing:.1em}
  .px-discover--home{padding-top:10px}.px-gallery-shell--home{border-radius:19px}
}
@media(max-width:440px){
  .px-home-portal{min-height:525px}
  .px-home-portal__showcase{grid-template-rows:minmax(315px,auto) 210px}
  .px-home-portal h1{font-size:clamp(48px,14.5vw,62px)}
  .px-home-portal__panel>p{max-width:360px}
  .px-home-portal__posts{min-height:210px}
}
@media(prefers-reduced-motion:reduce){.px-home-portal__cta,.px-home-portal__cta span,.px-home-portal__post img,.px-home-portal__post-label{transition:none}}
@supports(overflow:clip){body.home{overflow-x:clip}}

/* ==========================================================================
   MOBILE TOPBAR COMPOSITING
   ========================================================================== */
@media (max-width: 1024px) {
  .px-topbar::before {
    background: rgba(249, 249, 248, .94);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    opacity: 0;
    transform: none;
    will-change: auto;
  }

  .px-topbar.px-is-scrolled::before {
    opacity: 1;
  }

  .px-topbar,
  .px-topbar .px-search,
  .px-topbar .px-profile-button--guest {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* ==========================================================================
   INTERACTIONS, MODALS & POST WORKSPACE
   ========================================================================== */

/* Apply the saved sidebar state before paint, then enable the AI Suite motion curve. */
#pxAppShell:not(.is-ready) .px-main,
#pxAppShell:not(.is-ready) .px-topbar,
#pxAppShell:not(.is-ready) .px-site-footer{ transition: none; }

#pxAppShell.is-ready .px-main,
#pxAppShell.is-ready .px-topbar,
#pxAppShell.is-ready .px-site-footer{
  transition: margin-left .38s cubic-bezier(.16, 1, .3, 1);
}

/* Collapsed navigation keeps one optical center and swaps logo/toggle in place. */

/* Catalog geometry must remain measurable by the deterministic masonry script. */
.px-post-card{
  transition: border-color 180ms ease;
  isolation: isolate;
  box-shadow: 0 1px 0 rgba(255,255,255,.72) inset, 0 7px 20px rgba(26,28,31,.025);
  background: #e8e8e5;
  overflow: hidden;
  aspect-ratio: var(--px-ratio);
  min-width: 0;
  position: relative;
  content-visibility: auto;
  contain-intrinsic-size: auto 320px;
  contain: layout paint;
  backface-visibility: visible;
}
.px-post-card__link > img{
  transition: transform 420ms cubic-bezier(.22,.72,.2,1);
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
  backface-visibility: hidden;
  will-change: auto;
}
.px-card-image-reveal .px-post-card__image{opacity:.01;transition:opacity 180ms ease-out,transform 420ms cubic-bezier(.22,.72,.2,1)}
.px-post-card__image.is-loaded{opacity:1}
@media (hover: hover) and (pointer: fine) {
  .px-post-card:hover .px-post-card__link > img{
    transform: scale(1.035);
  }
}

.px-footer-menu{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Explicit continuation and recovery controls for automatic catalog loading. */
.px-catalog-sentinel{ height: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(220px, 100%);
  min-height: 44px;
  margin: 16px auto 2px;
  padding: 0 18px;
  border: 1px solid rgba(0, 0, 0, .075);
  border-radius: 12px;
  background: rgba(255, 255, 255, .82);
  color: #444;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95);
  font: 650 14px/1 "Inter Tight", sans-serif;
  text-decoration: none;
  cursor: pointer;
}
.px-catalog-sentinel:hover{ background: #fff; color: #111; }
.px-catalog-retry{
  display: grid;
  justify-items: center;
  gap: 6px;
  max-width: 520px;
  margin: 18px auto 4px;
  padding: 18px;
  border: 1px solid rgba(142, 72, 54, .16);
  border-radius: 14px;
  background: rgba(255, 248, 245, .9);
  color: #5a342b;
  text-align: center;
}
.px-catalog-retry strong{ font-size: 14.5px; }
.px-catalog-retry span{ color: #80645c; font-size: 14px; line-height: 1.45; }
.px-catalog-retry button{
  min-height: 42px;
  margin-top: 5px;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  background: #201b19;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 650;
  line-height: 1;
  cursor: pointer;
}

/* Real overlay modal: two structural skeletons, compositor-cheap dimmed page below, no thumbnail clone. */
.px-modal-root{--px-sidebar-w:0px;--px-sidebar-collapsed-w:0px;--px-ease-out:cubic-bezier(.16,1,.3,1)}
.px-post-modal{position:fixed;z-index:500;inset:0;
  --px-modal-side-gap: clamp(40px, 5.8vw, 88px);
  --px-modal-top-gap: clamp(20px, 2.9vw, 44px);
  padding: var(--px-modal-top-gap) var(--px-modal-side-gap) 0;
  background: rgba(20, 20, 20, .86);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.px-post-modal-open{overflow:hidden; overscroll-behavior: none; }
.px-post-modal__surface{position:absolute;overflow:hidden;
  z-index: 2;
  top: var(--px-modal-top-gap);
  right: var(--px-modal-side-gap);
  bottom: 0;
  left: var(--px-modal-side-gap);
  border: 1px solid rgba(255, 255, 255, .84);
  border-bottom: 0;
  border-radius: clamp(19px, 1.8vw, 28px) clamp(19px, 1.8vw, 28px) 0 0;
  background: rgba(248, 248, 246, .94);
  box-shadow: 0 34px 110px rgba(19, 22, 28, .2), inset 0 1px 0 rgba(255, 255, 255, .95);
}
.px-post-modal.is-entering .px-post-modal__surface{
  animation: px-modal-sheet-in .48s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes px-modal-sheet-in{
  from{ transform: translate3d(0, 100%, 0); }
  to{ transform: translate3d(0, 0, 0); }
}
.px-post-modal__frame{position:absolute;z-index:3;inset:0;width:100%;height:100%;border:0;opacity:0;
  border-radius: inherit;
  background: #f7f7f5;
	transition: opacity .16s cubic-bezier(.22, 1, .36, 1);
}
.px-post-modal__frame.is-pending,
.px-post-modal__frame.is-retiring{opacity:0;pointer-events:none;}
.px-post-modal__loader{
  transition: opacity .16s ease;
}

.px-post-modal__close,
.px-post-modal__nav{
  position: absolute;
  z-index: 6;
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 12px;
  background: rgba(255, 255, 255, .055);
  color: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, opacity .2s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
}
.px-post-modal__close{
  top: calc(var(--px-modal-top-gap) + 10px);
  right: max(0px, calc((var(--px-modal-side-gap) - 40px) / 2));
}
.px-post-modal__nav{ top: 50%; }
.px-post-modal__nav--prev{
  left: max(0px, calc((var(--px-modal-side-gap) - 40px) / 2));
  transform: translateY(-50%);
}
.px-post-modal__nav--next{
  right: max(0px, calc((var(--px-modal-side-gap) - 40px) / 2));
  transform: translateY(-50%);
}
.px-post-modal__close:hover,
.px-post-modal__nav:hover:not(:disabled){
  border-color: rgba(255, 255, 255, .25);
  background: rgba(255, 255, 255, .14);
}
.px-post-modal__close:hover{ transform: scale(1.05); }
.px-post-modal__nav--prev:hover:not(:disabled),
.px-post-modal__nav--next:hover:not(:disabled){ transform: translateY(-50%) scale(1.08); }
.px-post-modal__close svg{ width: 20px; height: 20px; }
.px-post-modal__nav svg{
  width:22px;
  height:22px;
  opacity:.92;
  transition:opacity .18s ease,transform .3s cubic-bezier(.22,1,.36,1);
}
.px-post-modal__nav:hover:not(:disabled) svg{ opacity:1; transform:scale(1.06); }
.px-post-modal__nav:disabled{ opacity: .22; cursor: default; }
.px-post-modal.is-auth-covered > :not(.px-post-modal__surface):not(.px-post-modal__backdrop){ pointer-events: none; }
.px-post-modal__loader.is-leaving{
  opacity: 0;
  pointer-events: none;
}
.px-post-modal__skeleton--visual{ grid-column: 1; }
.px-post-modal__skeleton--sidebar{ grid-column: 2; }

/* The iframe is already visually isolated; live glass inside it only adds scroll cost. */
.px-modal-document .px-gallery-shell,
.px-modal-document .px-prompt-sidebar,
.px-modal-document .px-live-settings__trigger,
.px-modal-document .px-live-settings__panel,
.px-modal-document .px-source-stage__nav,
.px-modal-document .px-source-stage__dots,
.px-modal-document .px-post-card__premium,
.px-modal-document .px-post-card__bookmark{
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.px-modal-document .px-gallery-shell{ background: rgba(255, 255, 255, .94); }

/* A quiet, high-contrast scrollbar inside the iframe document. */
html.px-modal-root{
	scrollbar-width: thin;
	scrollbar-color: rgba(78, 78, 78, .52) transparent;
}
html.px-modal-root::-webkit-scrollbar{ width: 10px; }
html.px-modal-root::-webkit-scrollbar-track{ background: transparent; }
html.px-modal-root::-webkit-scrollbar-thumb{
	border: 3px solid #f7f7f5;
	border-radius: 999px;
	background: rgba(78, 78, 78, .5);
}
html.px-modal-root::-webkit-scrollbar-thumb:hover{ background: rgba(34, 34, 34, .72); }

/* Image stage: source media stays clean and action-free. */
.px-source-stage__media.is-empty{ width: 100%; min-height: 60vh; }
.px-source-stage__media::after{
  content: "";
  position: absolute;
  z-index: 14;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 28px;
  margin: -14px 0 0 -14px;
  border: 2px solid rgba(255, 255, 255, .32);
  border-top-color: #fff;
  border-radius: 50%;
  opacity: 0;
  filter: drop-shadow(0 2px 7px rgba(0, 0, 0, .42));
  pointer-events: none;
}
.px-source-stage.is-media-loading .px-source-stage__media::after{ opacity: 1; animation: px-carousel-spin .72s linear infinite; }
.px-source-stage.is-media-loading .px-source-stage__image{ opacity: .58; transform: scale(.992); }
.px-source-stage.is-media-entering.is-media-next .px-source-stage__image{ animation: px-carousel-enter-next .44s cubic-bezier(.16, 1, .3, 1) both; }
.px-source-stage.is-media-entering.is-media-prev .px-source-stage__image{ animation: px-carousel-enter-prev .44s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes px-carousel-spin{ to{ transform: rotate(360deg); } }
@keyframes px-carousel-enter-next{ from{ opacity: .32; transform: translate3d(12px, 0, 0) scale(.992); } to{ opacity: 1; transform: none; } }
@keyframes px-carousel-enter-prev{ from{ opacity: .32; transform: translate3d(-12px, 0, 0) scale(.992); } to{ opacity: 1; transform: none; } }

/* Prompt hierarchy, fixed reading area, and one coherent action system. */

.px-copy-prompt-cta,
.px-generate-primary{
  text-decoration:none;
  cursor:pointer;
  padding:0 15px;
  align-items:center;
  display:flex;
  position: relative;
  justify-content: center;
  font-size: 14px;
  overflow: hidden;
  transform: translateY(0);
  transition: transform .3s cubic-bezier(.22, 1, .36, 1), background .2s ease, border-color .2s ease, box-shadow .3s ease, opacity .2s ease;
}
.px-action-button__content{
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: center;
}
.px-action-button__content > i{ display: grid; flex: 0 0 auto; }
.px-action-button__content > b{ font-size: inherit; font-weight: 680; line-height: 1.15; }

.px-generate-primary .px-action-button__content{ padding-inline: 76px; }
.px-generate-primary b{ font-size: 14px; }
.px-generate-primary em{
  color:#cfcfcf; position: absolute; right: 15px;
  font-style:normal; font-size: 12.5px; white-space: nowrap; }
.px-copy-prompt-cta:active:not(:disabled),
.px-generate-primary:active:not(:disabled){ transform: translateY(0) scale(.992); }

.px-prompt-sidebar__actions{ position: relative; display: flex; align-items: center; align-self: start; gap: 3px; flex: 0 0 auto; }

.px-prompt-more-menu{
  position: absolute;
  z-index: 40;
  top: calc(100% + 7px);
  right: 0;
  display: grid;
  width: 220px;
  gap: 4px;
  padding: 8px;
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: 14px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .16);
  transform-origin: top right;
  animation: px-more-menu-in .2s cubic-bezier(.22, 1, .36, 1) both;
}
.px-prompt-more-menu > strong{ padding: 7px 9px 5px; color: #777; font-size: 10.5px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.px-prompt-more-menu > button{
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 10px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #202020;
  font: 620 13.5px/1 "Inter Tight", Inter, system-ui, sans-serif;
  text-align: left;
  cursor: pointer;
  transition: background .16s ease, transform .2s cubic-bezier(.22, 1, .36, 1);
}
.px-prompt-more-menu > button:hover{ background: #f1f1ee; transform: translateX(2px); }
.px-prompt-more-menu svg{ width: 17px; height: 17px; color: #555; }
@keyframes px-more-menu-in{ from{ opacity: 0; transform: translateY(-5px) scale(.97); } to{ opacity: 1; transform: none; } }

/* Card love control: heart and authoritative like count stay on one line. */
.px-post-card__bookmark{
  gap: 5px;
}
.px-post-card__bookmark svg{
  stroke:currentColor;
  fill:transparent; width:16px; height:16px; flex:0 0 16px; }
.px-post-card__love-count{
  display: inline-block;
  color: currentColor;
  font-size:12px;
  font-weight:520;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.px-post-card__love-count[hidden]{
  display:none;
}
.px-post-card__premium svg{ display: block; width: 20px; height: 20px; }
@media (max-width:720px){
  .px-post-card__bookmark{ width:auto; height:28px; min-width:28px; min-height:28px; padding:0 7px; gap:4px; }
  .px-post-card__bookmark svg{ width:16px; height:16px; flex-basis:16px; }
  .px-post-card__love-count{ font-size:12px; }
}

/* Sidebar-only discovery dialog. The top navigation search remains a native GET form. */

/* Compact labels stay small without falling below a practical reading size. */
.px-collection-head__eyebrow span,
.px-collection-head__eyebrow b{ font-size: 11.5px; }
.px-post-card__category{
  text-shadow:0 2px 12px rgba(0,0,0,.22);
  white-space:nowrap;
  text-transform:uppercase;
  text-overflow:ellipsis;
  line-height:1.1;
  letter-spacing:.035em;
  color:rgba(255,255,255,.78);
  overflow:hidden;
  display:block; font-size: 11px; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible{
  outline: 2px solid rgba(16, 16, 16, .62);
  outline-offset: 3px;
}

/* The supplied hero artwork includes a captured top strip. */

@media (hover: none), (pointer: coarse) {
  .px-post-card__bookmark{ width:auto; min-width:40px; height:40px; min-height:40px; padding-inline:10px; }
  .px-filter-chip,
.px-sort-select__button,
.px-filter-nav__arrow,
.px-search__clear{ min-height: 42px; }
}

@media (max-width: 820px), (hover: none), (pointer: coarse) {
  /* Remove large live blur surfaces from every native-navigation device. */
  .px-gallery-shell,
.px-prompt-sidebar,
.px-live-settings__panel,
.px-source-stage__nav,
.px-source-stage__dots,
.px-post-card__premium,
.px-post-card__bookmark{
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .px-gallery-shell{ background: rgba(255, 255, 255, .94); }
	.px-prompt-sidebar{ background: #fff; }
	.px-prompt-sidebar,
.px-source-stage{ min-height: 0; }
    .px-source-stage__nav{
    border-color: rgba(255, 255, 255, .28);
    background: linear-gradient(145deg, rgba(24, 26, 31, .84), rgba(11, 12, 15, .68));
    color: #fff;
  }
  .px-post-card{ backface-visibility: visible; }
  .px-post-card__link > img{ transform: none; transition: none; }
  .px-sort-select__menu{
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@media (max-width: 1024px) {

	.px-prompt-view__main{ grid-template-columns: 1fr; }
	.px-source-stage{
	  min-height: 0;
	  place-items: start center;
	}
	.px-source-stage__media{
	  width: fit-content;
	  max-height: none;
	}
	.px-source-stage__image{
	  max-height: none;
	  border-radius: 13px;
	}
	.px-prompt-sidebar{ min-height: 0; }
}

@media (max-width: 720px) {
  .px-catalog-sentinel{ margin-top: 12px; }

  .px-prompt-sidebar{ padding: 16px; font-size: 14px; }
	.px-source-stage{ min-height: 0; }
	.px-source-stage__media,
.px-source-stage__image{ max-height: none; }
  .px-prompt-sidebar__head h1{ font-size: 23px; line-height: 1.1; }
  .px-prompt-box > header{ height: 44px; }
  .px-prompt-box > header strong{ font-size: 14px; }
	.px-prompt-box__body{
	  height: 190px;
	  min-height: 190px;
	  max-height: 190px;
	  overflow: auto;
	  padding: 14px;
	}
	.px-prompt-box.is-unlocked .px-prompt-box__body{ min-height: 190px; }
	.px-prompt-box pre{ font-size: 14px; line-height: 1.68; }
  .px-copy-prompt-cta,
.px-generate-primary{ min-height: 50px; font-size: 14px; }
  .px-generate-primary b{ font-size: 14px; }
  .px-generate-primary em{ font-size: 12.5px; }
  .px-live-settings label{ font-size: 12.5px; }
  .px-live-settings select,
.px-live-settings input,
.px-live-settings textarea{ font-size: 14px; }
  .px-suggestions h2{ font-size: 16px; }

}

@media (prefers-reduced-motion: reduce) {
  .px-post-modal__surface,
.px-post-modal__loader,
.px-source-stage__media::after,
.px-source-stage.is-media-entering .px-source-stage__image,
.px-source-stage__dots button.is-active > span{ animation: none; transition: none; }
}

/* --- Post engagement, model identity & media controls --- */

.px-prompt-sidebar__head>div:first-child{ min-width:0; }
.px-post-engagement__button{
  padding:0 10px;
}
.px-post-engagement__button:hover{
  transform:translateY(-1px);
}
.px-post-engagement__button:active{ transform:translateY(0) scale(.975); }
.px-post-engagement__button:focus{ outline:none; }
.px-post-engagement__button:focus-visible{
  outline:2px solid rgba(12,13,15,.5);
  outline-offset:2px;
}
.px-post-engagement__button--love.is-active svg{
  fill:currentColor;
  stroke:currentColor;
  animation:px-engagement-heart .34s cubic-bezier(.16,1,.3,1);
}
/* Copy keeps the normal outline at rest. The confirmed state reveals a
   dedicated solid geometry with a transparent knockout between the sheets,
   so the two layers stay visually separate instead of merging into one blob. */
.px-icon use[href="#px-copy"]{
  fill-opacity:0;
  stroke-opacity:1;
}
[data-px-copy-engagement].is-engaged .px-icon use[href="#px-copy"],
[data-px-copy-engagement].is-confirmed .px-icon use[href="#px-copy"]{
  fill-opacity:1;
  stroke-opacity:0;
}
.px-post-engagement__button--copy.is-engaged svg,
.px-post-engagement__button--copy.is-confirmed svg{
  stroke:currentColor;
  animation:px-engagement-copy .28s cubic-bezier(.22,1,.36,1);
}
/* Share uses three circles plus connecting lines. Only the circles accept fill,
   so filling the SVG creates the intended clicked state without thickening links. */
.px-post-engagement__button--share.is-shared svg{
  fill:currentColor;
  stroke:currentColor;
  animation:px-engagement-share .32s cubic-bezier(.16,1,.3,1);
}
@keyframes px-engagement-heart{
  0%{ transform:scale(.72); }
  58%{ transform:scale(1.22); }
  100%{ transform:scale(1); }
}
@keyframes px-engagement-copy{
  0%{ transform:scale(.76); }
  62%{ transform:scale(1.14); }
  100%{ transform:none; }
}
@keyframes px-engagement-share{
  0%{ transform:scale(.82); }
  58%{ transform:scale(1.12); }
  100%{ transform:none; }
}

.px-post-engagement__notice{
  position:absolute;
  z-index:20;
  left:50%;
  bottom:calc(100% + 7px);
  display:block;
  width:max-content;
  padding:6px 8px;
  border-radius:8px;
  background:#111214;
  color:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
  font:650 10.5px/1 "Inter Tight",Inter,system-ui,sans-serif;
  letter-spacing:0;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,4px) scale(.96);
  transform-origin:50% 100%;
  transition:opacity .16s ease,transform .22s cubic-bezier(.22,1,.36,1);
}
.px-post-engagement__notice::after{
  position:absolute;
  top:100%;
  left:50%;
  width:7px;
  height:7px;
  background:#111214;
  content:"";
  transform:translate(-50%,-4px) rotate(45deg);
}
.px-post-engagement__button--copy.is-notifying .px-post-engagement__notice{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}
/* Source carousel: quiet monochrome pagination exactly centered on the media. */
.px-source-stage__mobile-viewport{ display:none; }
@keyframes px-source-dot-focus{
  0%{ transform:scale(.62); }
  58%{ transform:scale(1.32); }
  100%{ transform:scale(1.05); }
}

@media (max-width:820px),(hover:none),(pointer:coarse){
  .px-source-stage.has-carousel{
    width:100%;
    margin-bottom:24px;
  }
  
  .px-source-stage.has-carousel.is-media-loading .px-source-stage__media::after{
    opacity:0;
    animation:none;
  }
  .px-source-stage__mobile-viewport{
  position:relative;
  max-width:100%;
  aspect-ratio:var(--px-mobile-media-ratio,4 / 5);
  overflow:hidden;
  background:#f2f2f0;
  box-shadow:inset 0 0 0 1px rgba(17,18,20,.045);
  touch-action:pan-y pinch-zoom;
  overscroll-behavior-x:contain;
}
  .px-source-stage__mobile-track{
    display:flex;
    width:100%;
    height:100%;
    transform:translate3d(0,0,0);
    transition:none;
    will-change:transform;
  }
  .px-source-stage.is-mobile-carousel-animating .px-source-stage__mobile-track,
  .px-source-stage.is-mobile-carousel-settling .px-source-stage__mobile-track{
    transition:transform .285s cubic-bezier(.22,1,.36,1);
  }
  .px-source-stage.is-mobile-carousel-dragging .px-source-stage__mobile-track{ transition:none; }
  .px-source-stage__mobile-slide{
    display:grid;
    flex:0 0 100%;
    width:100%;
    height:100%;
    min-width:100%;
    margin:0;
    padding:0;
    place-items:center;
    overflow:hidden;
    background:#f2f2f0;
  }
  .px-source-stage__mobile-image{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:contain;
    object-position:center;
    pointer-events:none;
    -webkit-user-drag:none;
    -webkit-user-select:none;
    user-select:none;
  }

  .px-post-engagement{ min-height:40px; }
  .px-post-engagement__button{ height:38px;min-width:38px;padding-inline:10px; }
  .px-post-engagement__button svg{ width:23px;height:23px; }
}

@media (prefers-reduced-motion:reduce){
  .px-post-engagement__button,
  .px-post-engagement__button svg{
    animation:none!important;
    transition:none!important;
  }
}

/* --- Post workspace layout --- */
body.single-post .px-main{
  max-width:none;
  margin-right:0;
}

.px-prompt-view{
  min-height:100vh;
  position:relative;
  --px-post-rail-w:480px;
  --px-post-workspace-gap:34px;
  --px-post-workspace-h:clamp(610px,calc(100dvh - 150px),720px);
  width:100%;
  max-width:none;
  margin:0;
  padding:34px clamp(18px,2.2vw,34px) 48px;
}

.px-prompt-view__main{
  display:flex;
  width:fit-content;
  max-width:100%;
  margin-inline:auto;
  align-items:flex-start;
  justify-content:center;
  gap:var(--px-post-workspace-gap);
}

.px-prompt-visual{
  width:fit-content;
  height:var(--px-post-workspace-h);
  align-self:center;
  justify-content:center;
}

.px-source-stage{
  isolation: auto;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  overflow: visible;
  position:relative;
  display:flex;
  width:fit-content;
  height:100%;
  min-height:0;
  align-items:stretch;
  justify-content:center;
}

.px-source-stage__media{
  touch-action: pan-y pinch-zoom;
  place-items: center;
  position:relative;
  display:flex;
  width:fit-content;
  height:100%;
  max-width:none;
  max-height:none;
  padding:0;
  overflow:visible;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:20px;
  background:transparent;
  box-shadow:0 18px 46px rgba(18,20,24,.06);
}

.px-source-stage__image{
  transition: opacity .18s ease, transform .34s cubic-bezier(.22, 1, .36, 1);
  display:block;
  width:auto;
  height:100%;
  max-width:none;
  max-height:none;
  border-radius:20px;
  object-fit:contain;
  box-shadow:inset 0 0 0 1px rgba(18,19,21,.045);
}

/* Carousel controls belong to the image and vanish at either end. */
.px-source-stage__nav{
  display:grid;
}
.px-source-stage__nav:disabled{
  display:none;
  opacity:0;
  pointer-events:none;
}

/* Pagination is centered on the image itself, with white Instagram-like dots. */
.px-source-stage.has-carousel,
.px-source-stage.has-carousel .px-source-stage__media{
  margin-bottom:0;
}
.px-source-stage__dots{
  overscroll-behavior-inline:contain;
  position:absolute;
  z-index:17;
  left:50%;
  bottom:14px;
  display:flex;
  width:max-content;
  max-width:min(72%,220px);
  padding:2px 3px;
  align-items:center;
  justify-content:center;
  gap:0;
  overflow-x:auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:translateX(-50%);
  scrollbar-width:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.px-source-stage__dots::-webkit-scrollbar{ display:none; }
.px-source-stage__dots button{
  transform:none;
  appearance:none;
  display:grid;
  width:15px;
  height:15px;
  flex:0 0 15px;
  margin:0;
  padding:0;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  transition:transform .22s cubic-bezier(.22,1,.36,1);
}
.px-source-stage__dots button>span{
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,255,255,.52);
  box-shadow:0 1px 4px rgba(0,0,0,.28);
  opacity:1;
  transform:scale(1);
  transition:transform .24s cubic-bezier(.22,1,.36,1),background-color .18s ease,opacity .18s ease,box-shadow .18s ease;
}
.px-source-stage__dots button.is-near>span{
  background:rgba(255,255,255,.72);
  opacity:.9;
  transform:scale(.92);
}
.px-source-stage__dots button.is-far>span{
  background:rgba(255,255,255,.48);
  opacity:.7;
  transform:scale(.72);
}
.px-source-stage__dots button.is-active>span{
  width:6px;
  height:6px;
  background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.06);
  opacity:1;
  transform:scale(1.06);
  animation:px-source-dot-focus .32s cubic-bezier(.16,1,.3,1);
}
.px-source-stage__dots button:hover{ transform:translateY(-1px); }
.px-source-stage__dots button:hover>span{
  background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.35),0 0 0 4px rgba(255,255,255,.16);
  transform:scale(1.3);
}
.px-source-stage__dots button.is-active:hover>span{
  background:#050506;
  box-shadow:0 0 0 4px rgba(16,17,19,.075); transform:scale(1.18); }
.px-source-stage__dots button:focus-visible{
  outline:2px solid rgba(255,255,255,.92);
  outline-offset:1px;
}

/* Fixed-width post rail with natural content-driven height. */
.px-prompt-sidebar,
.px-modal-document .px-prompt-sidebar{
  position:sticky;
  top:26px;
  display:grid;
  grid-template-rows:auto auto auto auto auto;
  width:var(--px-post-rail-w);
  min-width:var(--px-post-rail-w);
  max-width:var(--px-post-rail-w);
  min-height:0;
  flex:0 0 var(--px-post-rail-w);
  align-content:start;
  gap:14px;
  padding:4px 0 0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  font-size:13px;
}
.px-prompt-sidebar__head{
  padding:0 2px 2px;
}
.px-prompt-sidebar__head h1{
  margin:0;
  color:#0c0d0f;
  font-size:clamp(26px,1.85vw,29px);
  line-height:.99;
  font-weight:720;
  letter-spacing:-1.15px;
  text-wrap:wrap;
}
.px-prompt-more-toggle:hover,
.px-prompt-more-toggle[aria-expanded="true"]{
  transform: translateY(-1px); background:#efefec; }

.px-post-engagement__button--share{ padding-inline:9px; }

/* Prompt reader uses a deliberate 300px code-like viewport inside the natural-height rail. */
.px-prompt-box{
  position:relative;
  display:grid;
  grid-template-rows:46px minmax(0,1fr);
  overflow:hidden;
  min-height:0;
  height:300px;
  max-height:300px;
  border:1px solid rgba(18,19,21,.09);
  border-radius:18px;
  background:#fff;
  box-shadow:none;
}
.px-prompt-box>header{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:46px;
  padding:0 20px;
  border-bottom:1px solid rgba(18,19,21,.06);
  background:#fff;
}

.px-prompt-box__body,
.px-prompt-box.is-unlocked .px-prompt-box__body{
  min-height:0;
}

.px-prompt-box__body::-webkit-scrollbar-track{ background:transparent; }

.px-prompt-box pre{
  white-space:pre-wrap;
  margin:0;
  color:#292b2f;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New","Inter Tight",Inter,system-ui,sans-serif;
  font-size:14px;
  font-weight:450;
  line-height:1.7;
  letter-spacing:-.012em;
  font-variant-ligatures:none;
  tab-size:2;
}

/* Clear secondary/primary action hierarchy. */
.px-copy-prompt-cta{
  min-height:52px;
  gap:9px;
  border:1px solid rgba(16,17,19,.105);
  border-radius:13px;
  background:rgba(255,255,255,.82);
  color:#17181b;
  box-shadow:0 1px 2px rgba(0,0,0,.018),inset 0 1px 0 rgba(255,255,255,.94);
  font-weight:650;
}

.px-copy-prompt-cta:focus-visible{
  outline:3px solid rgba(16,17,19,.09);
  outline-offset:2px;
}
.px-copy-prompt-cta svg{ width:18px;height:18px; }

.px-generate-primary{
  min-height:56px;
}
.px-generate-primary:focus-visible{
  outline:3px solid rgba(16,17,19,.13);
  outline-offset:2px;
}
.px-generation-panel{
  display:grid; gap:7px;min-height:0; }
.px-generation-hint{
  display:block;
  margin:0;
  color:#85878b;
  font-size:11.5px;
  font-weight:500;
  line-height:1.4;
  text-align:center;
}

.px-suggestions{
  margin-top:20px;
  padding:0;
  border-top:0;
}
.px-suggestions>header{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:13px;
  padding-inline:2px;
}
.px-suggestions h2{
  margin:0;
  color:#1f2023;
  font-size:16px;
  font-weight:680;
  letter-spacing:-.25px;
}

/* Stacked fallback for genuinely narrow desktops/tablets. */
@media (max-width:1180px){
  .px-prompt-view{
    --px-post-workspace-h:auto;
    max-width:920px;
    margin-inline:auto;
    padding:20px 16px 34px;
  }
  .px-prompt-view__main{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    max-width:100%;
    gap:24px;
  }
  .px-prompt-visual{
    width:100%;
    height:auto;
    justify-content:center;
  }
  .px-source-stage{
    width:100%;
    height:auto;
    justify-content:center;
  }
  .px-source-stage__media{
    width:fit-content;
    height:auto;
    max-width:100%;
  }
  .px-source-stage__image{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:68vh;
  }
  .px-prompt-sidebar,
  .px-modal-document .px-prompt-sidebar{
    position:static;
    display:grid;
    grid-template-rows:auto auto auto auto auto;
    width:100%;
    min-width:0;
    max-width:none;
    height:auto;
    gap:12px;
    padding:0 2px;
  }
  .px-prompt-sidebar__head h1{
    max-width:none;
    font-size:26px;
  }
  .px-prompt-box{
    height:300px;
    min-height:0;
    max-height:300px;
  }
  .px-prompt-box__body,
  .px-prompt-box.is-unlocked .px-prompt-box__body{
    min-height:0;
  }
  .px-suggestions{ margin-top:24px; }
}

@media (max-width:820px),(hover:none),(pointer:coarse){
  .px-source-stage.has-carousel .px-source-stage__media{
    display:block;
    width:100%;
    max-width:100%;
    max-height:none;
    margin-bottom:0;
    padding:0;
    border:0;
    border-radius:18px;
    background:transparent;
    box-shadow:none;
    touch-action:pan-y pinch-zoom;
    -webkit-user-select:none;
    user-select:none;
  }
  .px-source-stage.has-carousel .px-source-stage__image{ display:none; }
  .px-source-stage__nav{ display:none; }
  .px-source-stage__mobile-viewport{
    display:block;
    width:100%;
    border-radius:18px;
  }
  .px-source-stage__dots{
    bottom:12px;
    max-width:min(70vw,190px);
  }
  .px-source-stage__dots button{
    width:14px;
    height:14px;
    flex-basis:14px;
  }
  .px-source-stage__dots button>span{ width:5px;height:5px; }
  .px-source-stage__dots button.is-active>span{ width:5.5px;height:5.5px; }
}

@media (max-width:720px){
  .px-prompt-view{ padding:10px 8px 28px; }
  .px-prompt-view__main{ gap:20px; }
  .px-source-stage__media{ border-radius:18px; }
  .px-source-stage__image{ border-radius:18px; }
  .px-prompt-sidebar,
  .px-modal-document .px-prompt-sidebar{
    gap:11px;
    padding:0 4px;
  }
  .px-prompt-sidebar__head{ padding-inline:1px; }
  .px-prompt-sidebar__head h1{
    font-size:24px;
    line-height:1.02;
    letter-spacing:-.7px;
  }
  .px-post-engagement{ gap:7px; }
  .px-prompt-box{ height:300px;min-height:0;max-height:300px;border-radius:16px;grid-template-rows:46px minmax(0,1fr); }
  
  .px-prompt-box__body,
  .px-prompt-box.is-unlocked .px-prompt-box__body{
  min-height:0;
}
  .px-prompt-box pre{ font-size:14.5px;line-height:1.68; }
  .px-copy-prompt-cta{ min-height:50px; }
  .px-generate-primary{ min-height:54px; }
  .px-suggestions{ margin-top:18px;padding-top:0;border-top:0; }
}

@media (prefers-reduced-motion:reduce){
  .px-source-stage__nav,
  .px-source-stage__dots button,
  .px-source-stage__dots button>span,
  .px-source-stage__mobile-track,
  .px-copy-prompt-cta,
  .px-generate-primary{
    animation:none!important;
    transition:none!important;
  }
}

/* --- Post workspace detail polish --- */
.px-source-stage__nav{
  cursor:pointer;
  transform:translateY(-50%);
  color:#fff;
  place-items:center;
  padding:0;
  top:50%;
  z-index:16;
  position:absolute;
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  border-color:rgba(255,255,255,.24);
  background:rgba(10,11,13,.58);
  box-shadow:0 7px 18px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.12);
  opacity:.6;
  -webkit-backdrop-filter:blur(11px) saturate(112%);
  backdrop-filter:blur(11px) saturate(112%);
  transition:opacity .18s ease,transform .24s cubic-bezier(.22,1,.36,1),background .18s ease,box-shadow .18s ease;
}
.px-source-stage__nav svg{ width:15px;height:15px; }
.px-source-stage__nav--prev{ left:-16px; }
.px-source-stage__nav--next{ right:-16px; }
.px-source-stage__media:hover .px-source-stage__nav,
.px-source-stage__nav:focus-visible{ opacity:.88; }
.px-source-stage__nav:hover{
  transform:translateY(calc(-50% - 2px));
  color:#fff;
  opacity:1;
  background:rgba(5,6,8,.82);
  box-shadow:0 10px 22px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.14);
}

.px-prompt-sidebar__head{
  gap:18px;
  align-items:flex-start;
  justify-content:space-between;
  display:flex;
  margin-bottom:-4px;
}
.px-prompt-more-toggle{
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: background .16s ease, transform .2s cubic-bezier(.16, 1, .3, 1), color .16s ease;
  color:#3b3d41;
  width:34px;
  height:34px;
  margin-top:-1px;
  border-radius:10px;
}
.px-prompt-more-toggle svg{ width:17px;height:17px; }

.px-post-engagement{
  min-height:40px;
  padding:0;
  align-items:center;
  display:flex;
  gap:8px;
  margin:0 0 1px;
  margin-top:-2px;
}
.px-post-engagement__button{
  transition:background .18s ease,color .18s ease,transform .22s cubic-bezier(.22,1,.36,1);
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
  letter-spacing:-.01em;
  box-shadow:none;
  color:#202226;
  background:transparent;
  border:0;
  border-radius:11px;
  margin:0;
  justify-content:center;
  align-items:center;
  display:inline-flex;
  position:relative;
  gap:7px;
  height:40px;
  min-width:40px;
  padding-inline:8px;
  font:650 12.5px/1 "Inter Tight",Inter,system-ui,sans-serif;
  font-size:13px;
  font-weight:680;
}
.px-post-engagement__button svg{
  transition:transform .24s cubic-bezier(.22,1,.36,1),fill .18s ease,stroke .18s ease;
  flex:0 0 auto;
  width:23px;
  height:23px;
}
.px-post-engagement__button>span[data-px-engagement-count]{
  transition:opacity .18s ease,color .18s ease;
  min-width:1ch;
  position:relative;
  color:#292b2f;
  font-variant-numeric:tabular-nums;
  font-weight:680;
}
.px-post-engagement__button:hover{
  color:#08090b;
  background:rgba(20,21,23,.045);
}

.px-prompt-box>header>strong{
  color:#161719;
  letter-spacing:-.015em;
  font-size:13px;
  font-weight:720;
}
.px-prompt-box__providers{
  position:relative;
  display:flex;
  max-width:72%;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
  margin-right:-3px;
  isolation:isolate;
}
.px-prompt-box__provider-wrap{
  position:static;
  display:grid;
  width:29px;
  height:29px;
  flex:0 0 29px;
  place-items:center;
}
.px-prompt-box__provider{
  position:static;
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#17191d;
  box-shadow:none;
  cursor:help;
  transition:background .18s ease,box-shadow .18s ease;
}
.px-prompt-box__provider>img{
  display:block;
  width:20px;
  height:20px;
  object-fit:contain;
}
.px-prompt-box__provider-wrap:hover .px-prompt-box__provider,
.px-prompt-box__provider-wrap:focus-within .px-prompt-box__provider{
  background:#f2f2ef;
}
.px-prompt-box__provider:focus{outline:0}
.px-prompt-box__provider:focus-visible{box-shadow:0 0 0 3px rgba(17,19,24,.075)}
.px-provider-tooltip{
  position:absolute;
  z-index:100;
  top:calc(100% + 8px);
  right:-3px;
  display:grid;
  width:min(300px,calc(100vw - 38px));
  gap:10px;
  padding:12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  background:rgba(17,18,20,.97);
  color:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
  font-family:"Inter Tight",Inter,system-ui,sans-serif;
  text-align:left;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-4px) scale(.97);
  transform-origin:calc(100% - 13px) 0;
  transition:opacity .16s ease,visibility .16s ease,transform .22s cubic-bezier(.22,1,.36,1);
}
.px-provider-tooltip::before{
  position:absolute;
  top:-4px;
  right:min(var(--px-provider-arrow-right,13px),calc(100% - 18px));
  width:8px;
  height:8px;
  border-top:1px solid rgba(255,255,255,.13);
  border-left:1px solid rgba(255,255,255,.13);
  background:#111214;
  content:"";
  transform:rotate(45deg);
}
.px-prompt-box__provider-wrap:hover .px-provider-tooltip,
.px-prompt-box__provider-wrap:focus-within .px-provider-tooltip{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.px-provider-tooltip__head{display:flex;align-items:center;gap:9px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.09)}
.px-provider-tooltip__mark{display:grid;width:33px;height:33px;flex:0 0 33px;place-items:center;border:1px solid rgba(255,255,255,.82);border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.px-provider-tooltip__mark img{display:block;width:20px;height:20px;object-fit:contain}
.px-provider-tooltip__head>span:last-child{display:grid;min-width:0;gap:2px}
.px-provider-tooltip__head strong{color:#fff;font-size:12.5px;font-weight:720;line-height:1.1;letter-spacing:-.01em}
.px-provider-tooltip__head small{color:rgba(255,255,255,.56);font-size:10px;font-weight:420;line-height:1.2}
.px-provider-tooltip__models{display:grid;max-height:158px;gap:4px;overflow:auto;padding-right:2px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.px-provider-tooltip__models::-webkit-scrollbar{width:3px}.px-provider-tooltip__models::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(255,255,255,.22)}
.px-provider-tooltip__models>span{display:flex;min-height:30px;align-items:center;gap:8px;padding:6px 7px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.045)}
.px-provider-tooltip__models i{display:grid;width:16px;height:16px;flex:0 0 16px;place-items:center;border-radius:5px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.78);font-size:9px;font-style:normal;line-height:1}
.px-provider-tooltip__models b{min-width:0;color:rgba(255,255,255,.88);font-size:10.8px;font-weight:590;line-height:1.25;letter-spacing:-.005em}
.px-prompt-box__body,
.px-prompt-box.is-unlocked .px-prompt-box__body{
  overscroll-behavior:contain;
  scrollbar-width:thin;
  overflow:auto;
  max-height:none;
  height:auto;
  padding:19px 22px 28px;
  scrollbar-color:#c5c6c3 transparent;
}
.px-prompt-box__body::-webkit-scrollbar{ width:4px; }
.px-prompt-box__body::-webkit-scrollbar-thumb{
  border-radius:999px;
  border:0;
  background:#c5c6c3;
}
.px-prompt-box__body::-webkit-scrollbar-thumb:hover{ background:#a8aaa6; }

.px-copy-prompt-cta:hover:not(:disabled){
  border-color:rgba(16,17,19,.16);
  background:#f8f8f6;
  box-shadow:0 3px 10px rgba(0,0,0,.035),inset 0 1px 0 #fff;
  transform:translateY(-1px);
}

.px-generate-primary{
  border:1px solid #050506;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(180deg,#18191b 0%,#08090a 100%);
  width:100%;
  gap:10px;
  box-shadow:0 8px 18px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.10);
}
.px-generate-primary:hover:not(:disabled){
  border-color:#000;
  background:linear-gradient(180deg,#222326 0%,#050506 100%);
  transform:translateY(-1px);
  box-shadow:0 11px 24px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.11);
}

@media (max-width:720px){
  .px-prompt-sidebar__head{ margin-bottom:-2px; }
  .px-prompt-more-toggle{ width:34px;height:34px;margin-top:-1px; }
  .px-post-engagement__button svg{ width:23px;height:23px; }
  .px-prompt-box>header{ height:46px;padding-inline:17px; }
  .px-prompt-box__body,
  .px-prompt-box.is-unlocked .px-prompt-box__body{ padding:17px 18px 26px; }
}

/* --- Prompt reader --- */
.px-prompt-box__body,
.px-prompt-box.is-unlocked .px-prompt-box__body,
.px-prompt-box pre{
  background:#fff;
}
.px-prompt-box.has-more-content::after{
  position:absolute;
  z-index:2;
  right:8px;
  bottom:1px;
  left:1px;
  height:30px;
  content:"";
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 82%);
}

/* --- Post first-paint stability --- */
body.single-post .px-main,
.px-modal-document .px-modal-document__main{
  container-name:px-post-shell;
  container-type:inline-size;
}

/*
 * The media height is synchronized from the rail before reveal. Keep the whole
 * post composition prepaint-hidden on desktop so cached HTML/natural image
 * dimensions can never flash before the final geometry is known.
 */
@media (min-width:1181px){
  .px-prompt-view:not(.is-post-workspace-ready) .px-prompt-view__main,
  .px-prompt-view:not(.is-post-workspace-ready) .px-suggestions{
    visibility:hidden;
    opacity:0;
    animation:px-post-workspace-failsafe 0s linear 1s forwards;
  }

  .px-prompt-view.is-post-workspace-ready .px-prompt-view__main,
  .px-prompt-view.is-post-workspace-ready .px-suggestions{
    visibility:visible;
    opacity:1;
    animation:none;
    transition:opacity .09s ease-out;
  }
}

@keyframes px-post-workspace-failsafe{
  to{ visibility:visible;opacity:1; }
}

/* The parent post-modal already hides the iframe behind a structural skeleton until
 * the child announces that its workspace has been measured. Do not apply the normal
 * single-page prepaint hide inside the iframe as well; that double gate was the cause
 * of the intermittent white/blank modal between Next/Previous navigations. */
@media (min-width:1181px){
  .px-modal-document .px-prompt-view:not(.is-post-workspace-ready) .px-prompt-view__main,
  .px-modal-document .px-prompt-view:not(.is-post-workspace-ready) .px-suggestions{
    visibility:visible;
    opacity:1;
    animation:none;
  }
}

/*
 * Sidebar/open-state responsiveness is CSS-owned. This replaces the old JS
 * measurement race that could randomly stack the rail during hard refresh.
 */
@container px-post-shell (max-width:1060px){
  .px-prompt-view{
    --px-post-workspace-h:auto;
    max-width:920px;
    margin-inline:auto;
  }

  .px-prompt-view__main{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    max-width:100%;
    gap:24px;
  }

  .px-prompt-visual{
    width:100%;
    height:auto;
    justify-content:center;
  }

  .px-source-stage{
    width:100%;
    height:auto;
    justify-content:center;
  }

  .px-source-stage__media{
    width:fit-content;
    height:auto;
    max-width:100%;
  }

  .px-source-stage__image{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:none;
  }

  .px-prompt-sidebar,
  .px-modal-document .px-prompt-sidebar{
    position:static;
    width:100%;
    min-width:0;
    max-width:none;
    height:auto;
    flex:0 1 auto;
    gap:12px;
    padding:0 2px;
  }

  .px-prompt-sidebar__head h1{ max-width:none; }
  .px-prompt-box{ height:300px;min-height:0;max-height:300px; }
}

@media (prefers-reduced-motion:reduce){
  .px-prompt-view.is-post-workspace-ready .px-prompt-view__main,
  .px-prompt-view.is-post-workspace-ready .px-suggestions{
    transition:none;
  }
}

/* --- Generator media geometry --- */
.px-prompt-visual{
  align-items:stretch;
  flex:0 0 auto;
  min-width:0;
  display:flex;
  position:relative;
}

/*
 * platform.css historically removed the source stage with display:none during
 * preview/generation. The source stage is now also the intrinsic sizing anchor
 * for the centered post workspace, so removing it collapses the visual column.
 * Keep it in flow and make it visually inert instead; the live generator stage
 * is layered over the exact same box.
 */
[data-pv-generator][data-generation-state="preview"] .px-source-stage,
[data-pv-generator][data-generation-state="generating"] .px-source-stage,
[data-pv-generator][data-generation-state="result"] .px-source-stage,
[data-pv-generator][data-generation-state="error"] .px-source-stage{
  display:flex;
  visibility:hidden;
  pointer-events:none;
}

[data-pv-generator][data-generation-state="preview"] .px-live-stage,
[data-pv-generator][data-generation-state="generating"] .px-live-stage,
[data-pv-generator][data-generation-state="result"] .px-live-stage,
[data-pv-generator][data-generation-state="error"] .px-live-stage{
  position:absolute;
  z-index:24;
  inset:0;
}

[data-pv-generator][data-generation-state="preview"] .px-compare-stage,
[data-pv-generator][data-generation-state="generating"] .px-compare-stage,
[data-pv-generator][data-generation-state="result"] .px-compare-stage,
[data-pv-generator][data-generation-state="error"] .px-compare-stage{
  overflow:hidden;
  border-radius:20px;
}

@container px-post-shell (max-width:1060px){
  [data-pv-generator][data-generation-state="preview"] .px-source-stage,
  [data-pv-generator][data-generation-state="generating"] .px-source-stage,
  [data-pv-generator][data-generation-state="result"] .px-source-stage,
  [data-pv-generator][data-generation-state="error"] .px-source-stage{
    display:flex;
  }
}

@media (max-width:720px){
  [data-pv-generator][data-generation-state="preview"] .px-compare-stage,
  [data-pv-generator][data-generation-state="generating"] .px-compare-stage,
  [data-pv-generator][data-generation-state="result"] .px-compare-stage,
  [data-pv-generator][data-generation-state="error"] .px-compare-stage{
    border-radius:18px;
  }
}

/* --- Generator canvas & live controls --- */
[data-pv-generator][data-generation-state="preview"] .px-prompt-visual,
[data-pv-generator][data-generation-state="generating"] .px-prompt-visual,
[data-pv-generator][data-generation-state="result"] .px-prompt-visual,
[data-pv-generator][data-generation-state="error"] .px-prompt-visual{
  width:min(720px,calc(100cqw - var(--px-post-rail-w) - var(--px-post-workspace-gap) - 100px));
  min-width:440px;
  height:var(--px-post-workspace-h);
  min-height:0;
  flex:0 0 auto;
}

[data-pv-generator][data-generation-state="preview"] .px-source-stage,
[data-pv-generator][data-generation-state="generating"] .px-source-stage,
[data-pv-generator][data-generation-state="result"] .px-source-stage,
[data-pv-generator][data-generation-state="error"] .px-source-stage,
[data-pv-generator][data-generation-state="preview"] .px-source-stage__media,
[data-pv-generator][data-generation-state="generating"] .px-source-stage__media,
[data-pv-generator][data-generation-state="result"] .px-source-stage__media,
[data-pv-generator][data-generation-state="error"] .px-source-stage__media{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
}

[data-pv-generator][data-generation-state="preview"] .px-live-stage,
[data-pv-generator][data-generation-state="generating"] .px-live-stage,
[data-pv-generator][data-generation-state="result"] .px-live-stage,
[data-pv-generator][data-generation-state="error"] .px-live-stage,
[data-pv-generator][data-generation-state="preview"] .px-upload-preview,
[data-pv-generator][data-generation-state="generating"] .px-upload-preview,
[data-pv-generator][data-generation-state="result"] .px-upload-preview,
[data-pv-generator][data-generation-state="error"] .px-upload-preview,
[data-pv-generator][data-generation-state="preview"] .px-compare-stage,
[data-pv-generator][data-generation-state="generating"] .px-compare-stage,
[data-pv-generator][data-generation-state="result"] .px-compare-stage,
[data-pv-generator][data-generation-state="error"] .px-compare-stage{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  max-width:none;
  max-height:none;
}

/* The upload/result canvas never derives geometry from either image. */
.px-compare-stage{display:block;--px-compare:50%;
  isolation:isolate;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,19,21,.065);
  border-radius:20px;
  background:#f1f1ef;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),inset 0 0 0 1px rgba(18,19,21,.018);
}
.px-compare-stage__before,
.px-compare-stage__after img{
  position:absolute;
  inset:22px;
  width:calc(100% - 44px);
  height:calc(100% - 44px);
  max-width:none;
  max-height:none;
  border-radius:14px;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.px-compare-stage__after{
  position:absolute;
  z-index:2;
  inset:0;
  clip-path:inset(0 calc(100% - var(--px-compare)) 0 0);
  background:#f1f1ef;
}

/* Settings / Replace / Cancel use the same independent action-button language as result controls. */
.px-live-toolbar{
  position:absolute;
  z-index:30;
  top:14px;
  left:14px;
  display:flex;
  align-items:center;
  gap:7px;
  max-width:calc(100% - 28px);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.px-live-toolbar .px-live-settings{
  position:static;
  z-index:auto;
  top:auto;
  left:auto;
}
.px-live-toolbar .px-live-settings__trigger,
.px-live-toolbar__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:10px;
  background:rgba(255,255,255,.88);
  color:#111315;
  box-shadow:0 7px 20px rgba(0,0,0,.065);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%);
  font-size:12px;
  font-weight:640;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,box-shadow .2s ease,transform .2s cubic-bezier(.22,1,.36,1);
}
.px-live-toolbar .px-live-settings__trigger:hover,
.px-live-toolbar .px-live-settings__trigger.is-open,
.px-live-toolbar__button:hover{
  border-color:rgba(255,255,255,.82);
  background:#fff;
  box-shadow:0 9px 22px rgba(0,0,0,.085);
  transform:translateY(-1px);
}
.px-live-toolbar .px-live-settings__trigger:active,
.px-live-toolbar__button:active{ transform:scale(.98); }
.px-live-toolbar .px-live-settings__trigger>svg:first-child,
.px-live-toolbar__button svg{ width:13px;height:13px; }
.px-live-toolbar .px-live-settings__trigger>svg:last-child{ width:10px;height:10px;margin-left:1px; }
.px-live-toolbar .px-live-settings__panel{
  position:absolute;
  z-index:40;
  top:calc(100% + 8px);
  left:0;
  width:min(370px,calc(100cqw - 28px));
  max-height:min(560px,calc(100dvh - 130px));
  border:1px solid rgba(17,18,20,.08);
  background:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.12),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

/* Save gets an explicit confirmed state instead of looking unchanged after a successful write. */
.px-result-actions [data-pv-result-favorite] svg{
  fill:none;
  stroke:currentColor;
  transition:fill .18s ease,transform .2s cubic-bezier(.22,1,.36,1);
}
.px-result-actions [data-pv-result-favorite].is-active svg{
  fill:currentColor;
  transform:scale(1.04);
}
.px-result-actions [data-pv-result-favorite].is-active{
  background:#fff;
  border-color:rgba(255,255,255,.78);
}
.px-result-actions [data-pv-result-favorite]:disabled{
  opacity:.58;
  cursor:wait;
}

/* A second, explicit Generate action lives on the canvas itself. */
.px-live-generate{
  position:absolute;
  z-index:28;
  left:50%;
  bottom:18px;
  display:none;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:168px;
  height:46px;
  padding:0 18px;
  border:1px solid #050506;
  border-radius:13px;
  background:linear-gradient(180deg,#191a1d 0%,#08090a 100%);
  color:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.12);
  font-size:13.5px;
  font-weight:720;
  letter-spacing:-.015em;
  transform:translateX(-50%);
  cursor:pointer;
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,background .18s ease;
}
[data-pv-generator][data-generation-state="preview"] .px-live-generate,
[data-pv-generator][data-generation-state="result"] .px-live-generate{display:inline-flex}
.px-live-generate:hover:not(:disabled){
  background:linear-gradient(180deg,#24262a 0%,#050506 100%);
  box-shadow:0 16px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.13);
  transform:translate(-50%,-2px);
}
.px-live-generate:focus-visible{
  outline:3px solid rgba(16,17,19,.14);
  outline-offset:3px;
}
.px-live-generate:disabled{
  opacity:.48;
  cursor:not-allowed;
}

@container px-post-shell (max-width:1060px){
  [data-pv-generator][data-generation-state="preview"] .px-prompt-visual,
  [data-pv-generator][data-generation-state="generating"] .px-prompt-visual,
  [data-pv-generator][data-generation-state="result"] .px-prompt-visual,
  [data-pv-generator][data-generation-state="error"] .px-prompt-visual{
    width:100%;
    min-width:0;
    height:clamp(440px,68svh,620px);
  }
}

@media (max-width:720px){
  [data-pv-generator][data-generation-state="preview"] .px-prompt-visual,
  [data-pv-generator][data-generation-state="generating"] .px-prompt-visual,
  [data-pv-generator][data-generation-state="result"] .px-prompt-visual,
  [data-pv-generator][data-generation-state="error"] .px-prompt-visual{
    height:clamp(400px,62svh,560px);
  }
  .px-compare-stage{ border-radius:18px; }
  .px-compare-stage__before,
  .px-compare-stage__after img{
    inset:16px;
    width:calc(100% - 32px);
    height:calc(100% - 32px);
    border-radius:12px;
  }
  .px-live-toolbar{
    top:10px;
    left:10px;
    max-width:calc(100% - 20px);
    overflow:visible;
  }
  .px-live-toolbar .px-live-settings__trigger,
  .px-live-toolbar__button{
    min-height:34px;
    padding:0 8px;
    font-size:11.5px;
  }
  .px-live-toolbar .px-live-settings__panel{
    width:min(350px,calc(100cqw - 20px));
  }
  .px-live-generate{
    bottom:14px;
    height:44px;
    min-width:126px;
  }
}

/* ==========================================================================
   RELIABILITY UI & FINAL COMPONENT STATES
   ========================================================================== */

/* Pricing: animation speed is controlled with WAAPI so hover preserves position. */
.px-create-button--pricing{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 18px rgba(0,0,0,.12);
  background:linear-gradient(180deg,#0b0b0d,#050506);
  border-color:rgba(255,255,255,.08);
  isolation:isolate;
  overflow:visible;
  --px-pricing-angle:0deg;
  gap:7px;
  min-width:96px;
  padding-inline:13px;
}
.px-create-button--pricing>svg{
  width:14px;
  height:14px;
  transform:none;
  stroke-width:2;
  transition:transform 240ms cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
.px-create-button--pricing:hover>svg{transform:rotate(90deg)}
.px-create-button--pricing:hover::before{opacity:.66;filter:blur(13px);animation-duration:4.6s}
.px-create-button--pricing:hover::after{animation-duration:3.65s}
@media(max-width:720px){.px-create-button--pricing{min-width:66px}}

/* Real model marks in homepage/archive filter chips and Sidebar Search. */
.px-filter-chip__model-icon{display:block;width:16px;height:16px;object-fit:contain;flex:0 0 auto}
.px-search-term__mark img{display:block;width:16px;height:16px;object-fit:contain}
.px-search-result__premium{
  position: absolute;
  z-index: 2;
  top: 5px;
  left: 5px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(10, 10, 10, .66);
  pointer-events: none;
  width:20px;
  height:20px;
  border-radius:6px;
}
.px-search-result__premium svg{
  width:12px;
  height:12px;
}

/* Sort control should visually lock while a mode request is in flight. */
.px-catalog.is-mode-changing .px-sort-select{pointer-events:none}
.px-catalog.is-mode-changing .px-sort-select__button{opacity:.62}
.px-sort-select__button:disabled{cursor:wait}

/* Account topbar: breathing room + a proper settings menu instead of a utility popup. */


.px-profile-menu__head{
  display: flex;
  align-items: center;gap:11px;padding:10px 10px 12px}
.px-profile-menu__avatar{
  flex: 0 0 auto;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(17,18,20,.07);border-radius:12px;background:#f4f4f2;color:#17181a}
.px-profile-menu__avatar svg{display:block;width:18px;height:18px}
.px-profile-menu__credits{display:grid;gap:9px;margin:1px 5px 8px;padding:9px 5px 4px}
.px-profile-menu__credits-head>span{display:flex;align-items:center;gap:8px;color:#202328}
.px-profile-menu__credits-head svg{width:16px;height:16px;stroke-width:2}
.px-profile-menu__credits-head strong{font-size:12.5px;font-weight:700;letter-spacing:-.012em}
.px-profile-menu__credits-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#858a93;font-size:10.5px;white-space:nowrap}
.px-profile-menu__credits-meta b{color:#25282d;font-size:11.5px;font-weight:760;font-variant-numeric:tabular-nums}
.px-profile-menu__credits-track{display:block;height:6px;overflow:hidden;border-radius:999px;background:#e8ebef;box-shadow:inset 0 1px 1px rgba(25,28,34,.045)}
.px-profile-menu__credits-track>i{display:block;width:var(--px-credit-used);height:100%;min-width:2px;border-radius:inherit;background:hsl(var(--px-credit-hue) 76% 43%);box-shadow:0 0 8px hsl(var(--px-credit-hue) 76% 43% / .18);transition:width .35s cubic-bezier(.22,1,.36,1),background .35s ease}
.px-profile-menu__divider--credits{margin-top:2px!important;margin-bottom:7px!important}
.px-profile-menu__nav{display:grid;gap:2px}
.px-profile-menu__nav>a,
.px-profile-menu__signout{display:flex;align-items:center;width:100%;min-height:40px;gap:10px;padding:0 10px;border-radius:10px;color:#4d5055;text-decoration:none;font-size:13.5px;font-weight:570;transition:background .18s ease,color .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}
.px-profile-menu__nav>a svg,
.px-profile-menu__signout svg{width:16px;height:16px;flex:0 0 auto;stroke-width:2}
.px-profile-menu__nav>a:hover,.px-profile-menu__nav>a:focus-visible{background:#f2f2f0;color:#0d0e10;transform:translateX(2px)}
.px-profile-menu__signout:hover,.px-profile-menu__signout:focus-visible{
  transform:translateX(2px);
}
.px-profile-menu__divider{
  height: 1px;
  background: rgba(0, 0, 0, .065);margin:7px 5px}

/* Taxonomy hero: compact the unused top space and make the right side semantic. */
.px-archive-hero{
  background:
    radial-gradient(62% 120% at 88% 8%,rgba(255,255,255,.48),transparent 58%),
    radial-gradient(48% 92% at 72% 82%,var(--px-archive-b),transparent 70%),
    linear-gradient(118deg,#fbfbfa 0%,var(--px-archive-a) 47%,var(--px-archive-c) 100%);
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.035);
  color:#0a0a0b;
  overflow:hidden;
  align-items:stretch;
  display:flex;
  isolation:isolate;
  position:relative;
  --px-archive-accent:#7267f0;
  --px-archive-c:#dfeaf8;
  --px-archive-b:#f9e8e5;
  --px-archive-a:#e7e3ff;
  min-height:clamp(285px,22vw,338px);
  padding-top:calc(var(--px-topbar-h) + clamp(20px,2.3vw,34px));
  padding-bottom:clamp(28px,3vw,40px);
}
.px-archive-hero__inner{gap:34px;z-index:3;
  width:100%;
  justify-content:space-between;
  display:flex;
  position:relative;align-items:center}
.px-archive-hero__content{align-self:center}
.px-archive-hero__signature{
  gap:8px;
  align-items:center;
  justify-items:end;
  grid-template-columns:1fr;align-self:center;min-width:164px;
  padding:14px 0 0;color:rgba(15,15,18,.62)}
.px-archive-hero__signature>span{
  letter-spacing:-2px;
  text-align:right;
  grid-column:1/-1;color:rgba(19,18,22,.32);font-size:clamp(40px,3.5vw,58px)}
.px-archive-hero__signature>small{color:rgba(18,18,20,.68);font-size:10.5px;letter-spacing:.18em}

/* Post modal skeleton mirrors the real centered post workspace instead of filling the sheet. */
.px-post-modal__loader{
  opacity:1;display:grid;inset:0;z-index:5;position:absolute;grid-template-columns:minmax(340px,470px) 480px;justify-content:center;align-content:start;gap:34px;padding:44px max(24px,calc((100% - 984px)/2)) 24px;background:#f7f7f5}
.px-post-modal__skeleton{position:relative;display:block;overflow:hidden;background:#e9e9e7;
  min-width:0;
  border-radius:21px;min-height:min(680px,calc(100dvh - 112px))}
.px-post-modal__skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 18%,rgba(255,255,255,.8) 48%,transparent 78%);transform:translate3d(-105%,0,0);animation:px-skeleton-sweep 1.35s linear infinite;will-change:transform}

/* Card Love/Premium controls: compact 28px glass labels. */
.px-post-card__bookmark{
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  transition:opacity 200ms ease,transform 360ms cubic-bezier(.22,.72,.2,1),background 180ms ease;
  cursor:pointer;
  transform:translateY(-5px);
  pointer-events:none;
  opacity:0;
  place-items:center;
  z-index:5;
  position:absolute;width:auto;min-width:28px;height:28px;min-height:28px;padding:0 8px;
  border-radius:8px;border:1px solid rgba(255,255,255,.58)}
.px-post-card__premium{
  pointer-events: none;
  place-items: center;
  display: grid;
  top: 10px;
  left: 10px;
  z-index: 4;
  position:absolute;width:31px;height:28px;min-width:31px;min-height:28px;
  border-radius: 10px;border:1px solid rgba(255,255,255,.55)}

/* Dark micro-tooltips for post engagement and model identity. */
[data-px-tooltip]{position:relative}
@media(hover:hover) and (pointer:fine){
  [data-px-tooltip]::after{content:attr(data-px-tooltip);position:absolute;z-index:80;left:50%;bottom:calc(100% + 8px);padding:5px 7px;border-radius:6px;background:rgba(16,17,19,.94);color:#fff;box-shadow:0 7px 18px rgba(0,0,0,.16);font:600 10.5px/1 "Inter Tight",Inter,sans-serif;letter-spacing:0;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,4px) scale(.96);transition:opacity .16s ease,transform .2s cubic-bezier(.22,1,.36,1)}
  [data-px-tooltip]:hover::after,[data-px-tooltip]:focus-visible::after{opacity:1;transform:translate(-50%,0) scale(1)}
}
.px-prompt-box__body,.px-prompt-box.is-unlocked .px-prompt-box__body{overscroll-behavior-y:auto;overscroll-behavior-x:contain}

@media(max-width:760px){
  .px-sort-select__button{min-width:95px}
  .px-archive-hero{min-height:292px;padding-top:calc(var(--px-topbar-h) + 18px);padding-bottom:22px}
  .px-post-modal__loader{grid-template-columns:1fr;padding:20px}
  .px-post-modal__skeleton--sidebar{display:none}
  .px-post-card__bookmark{height:28px;min-height:28px}
  .px-topbar__actions{padding-right:3px}
}

/* ==========================================================================
   PRICING, PROFILE & TAXONOMY FINAL STATES
   ========================================================================== */

/* Mobile CTA keeps the same action but uses the shorter label. */
.px-pricing-label--mobile{
  display:none;
}
@media(max-width:720px){
  .px-pricing-label--desktop{
  display:none;
}
  .px-pricing-label--mobile{
  display:inline;
}
}

/* Account dropdown routes are explicit; Sign out must stay unmistakably destructive. */
.px-profile-menu__signout,
.px-profile-menu__signout:visited{
  color:#c92d32!important;
}
.px-profile-menu__signout:hover,
.px-profile-menu__signout:focus-visible{
  color:#a91f25!important;
  background:#fff0f0!important;
}

/* Card Love + Premium share one dark translucent control language. */
.px-post-card__bookmark,
.px-post-card__premium{
  border-color:rgba(10,11,13,.34);
  background:rgba(22,23,26,.64);
  color:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.px-post-card__bookmark:hover,
.px-post-card__bookmark:focus-visible,
.px-post-card__premium:hover{
  border-color:rgba(7,8,10,.5);
  background:rgba(16,17,19,.78);
}
.px-post-card__bookmark .px-post-card__love-count{
  color:#fff;
}

/* ==========================================================================\n   Pixvu user avatars\n   ========================================================================== */
.px-user-avatar{
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  flex:0 0 auto;
  background:#f0f0ee;
  color:#34363a;
  line-height:1;
  user-select:none;
}
.px-user-avatar>img{display:block;width:100%;height:100%;object-fit:cover}
.px-user-avatar__initial{display:block;font-family:"Inter Tight",Inter,system-ui,sans-serif;font-weight:760;line-height:1;text-transform:uppercase}
.px-user-avatar.is-palette-0{background:#eeeaff;color:#6656bf}
.px-user-avatar.is-palette-1{background:#e9f3ff;color:#3f70a8}
.px-user-avatar.is-palette-2{background:#e8f7f0;color:#387860}
.px-user-avatar.is-palette-3{background:#fff0e7;color:#9a684e}
.px-user-avatar.is-palette-4{background:#ffedf2;color:#a75470}
.px-user-avatar.is-palette-5{background:#e8f7f8;color:#33757a}
.px-user-avatar.is-palette-6{background:#fff4d9;color:#8c6b2d}
.px-user-avatar.is-palette-7{background:#eceff3;color:#56606d}
.px-profile-button>.px-user-avatar{z-index:2;width:100%;height:100%;border-radius:50%;font-size:13px}
.px-profile-menu__avatar.px-user-avatar{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(17,18,20,.07);border-radius:12px;font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.62)}
.px-profile-menu__avatar.px-user-avatar>img{border-radius:inherit}

/* ==========================================================================
   PREMIUM CROWN + LIVE GENERATOR CONTROL REFINEMENT
   ========================================================================== */
.px-premium-crown,
.px-generate-crown,
.px-copy-premium-crown,
.px-pricing-crown{
  color:#ffb600;
}
.px-premium-crown use,
.px-generate-crown use,
.px-copy-premium-crown use,
.px-pricing-crown use{fill:currentColor;stroke:none}
.px-create-button--pricing>svg{color:#ffb600;stroke:none}
.px-create-button--pricing:hover>svg{transform:none}
.px-generate-primary .px-generate-crown,
.px-live-generate .px-generate-crown{width:18px;height:18px;stroke:none}
.px-copy-prompt-cta__lock .px-copy-premium-crown{width:15px;height:15px;stroke:none}
.px-post-card__premium .px-premium-crown,
.px-search-result__premium .px-premium-crown{color:#ffb600}
body.px-premium-user .px-premium-crown,
body.px-premium-user .px-generate-crown,
body.px-premium-user .px-copy-premium-crown,
body.px-premium-user .px-pricing-crown{color:#8a8d93}

/* Top-right image actions. Result Save/Download appear before Replace/Cancel. */
.px-live-toolbar{
  top:14px;
  right:14px;
  left:auto;
  justify-content:flex-end;
  max-width:calc(100% - 28px);
}
.px-live-toolbar .px-result-actions{
  position:static;
  right:auto;
  bottom:auto;
  display:flex;
  align-items:center;
  gap:7px;
}
.px-live-toolbar .px-result-actions[hidden]{display:none!important}
.px-live-toolbar .px-result-actions button,
.px-live-toolbar .px-result-actions a{
  min-height:38px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:10px;
  background:rgba(255,255,255,.88);
  color:#111315;
  box-shadow:0 7px 20px rgba(0,0,0,.065);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%);
  font-size:12px;
  font-weight:640;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.px-live-toolbar .px-result-actions button:hover,
.px-live-toolbar .px-result-actions a:hover{
  border-color:rgba(255,255,255,.82);
  background:#fff;
  box-shadow:0 9px 22px rgba(0,0,0,.085);
  transform:translateY(-1px);
}
.px-live-toolbar .px-result-actions svg{width:13px;height:13px}

/* Settings sits directly to the left of Generate at the bottom of the upload canvas. */
.px-live-controls{
  position:absolute;
  z-index:28;
  left:50%;
  bottom:18px;
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  max-width:calc(100% - 28px);
  transform:translateX(-50%);
}
[data-pv-generator][data-generation-state="preview"] .px-live-controls,
[data-pv-generator][data-generation-state="result"] .px-live-controls{display:flex}
.px-live-controls .px-live-settings__trigger{
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:118px;
  height:46px;
  min-height:46px;
  padding:0 17px;
  border:1px solid rgba(20,22,25,.1);
  border-radius:13px;
  background:linear-gradient(180deg,#fff 0%,#f7f7f6 100%);
  color:#111315;
  box-shadow:0 12px 28px rgba(0,0,0,.09),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%);
  font-size:13.5px;
  font-weight:720;
  letter-spacing:-.015em;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,background .18s ease,border-color .18s ease;
}
.px-live-controls .px-live-settings__trigger:hover,
.px-live-controls .px-live-settings__trigger.is-open{
  border-color:rgba(20,22,25,.15);
  background:linear-gradient(180deg,#fff 0%,#fbfbfa 100%);
  box-shadow:0 16px 34px rgba(0,0,0,.12),inset 0 1px 0 #fff;
  transform:translateY(-2px);
}
.px-live-controls .px-live-settings__trigger:focus-visible{outline:3px solid rgba(16,17,19,.1);outline-offset:3px}
.px-live-controls .px-live-settings__trigger svg{width:15px;height:15px;stroke-width:2}
.px-live-controls .px-live-generate{
  position:static;
  left:auto;
  bottom:auto;
  height:46px;
  min-width:168px;
  transform:none;
}
.px-live-controls .px-live-generate:hover:not(:disabled){transform:translateY(-2px)}
.px-live-generate__cost{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:22px;
  margin-left:7px;
  padding:0;
  border:0;
  color:#cfcfcf;
  font-size:12px;
  font-weight:600;
  line-height:1;
  font-variant-numeric:tabular-nums;
  transform:none;
}
.px-live-generate__cost[hidden]{display:none!important}
.px-live-generate__cost svg{width:13px;height:13px;flex:0 0 13px;stroke-width:2}
.px-live-generate__cost strong{font:inherit;color:inherit}
.px-live-generate__label{display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1;transform:none}
.px-live-generate__label b{font:inherit}

/* Settings is a bounded modal inside the upload canvas, never outside it. */
.px-live-settings__panel{
  position:absolute!important;
  z-index:60!important;
  inset:0!important;
  display:grid;
  width:auto!important;
  height:auto;
  max-height:none!important;
  place-items:center;
  overflow:hidden!important;
  padding:14px!important;
  border:0!important;
  border-radius:inherit!important;
  background:rgba(238,238,236,.58)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:blur(16px) saturate(115%)!important;
  backdrop-filter:blur(16px) saturate(115%)!important;
}
.px-live-settings__panel[hidden]{display:none!important}
.px-live-settings__dialog{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:min(460px,calc(100% - 18px));
  max-height:calc(100% - 18px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.82);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 58px rgba(0,0,0,.14),inset 0 1px 0 #fff;
}
.px-live-settings__dialog>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px 11px 16px;
  border-bottom:1px solid rgba(18,19,21,.06);
}
.px-live-settings__dialog>header>div{display:flex;align-items:center;gap:9px;min-width:0}
.px-live-settings__dialog>header>div>svg{width:16px;height:16px;flex:0 0 auto}
.px-live-settings__dialog>header span{display:grid;gap:1px;min-width:0}
.px-live-settings__dialog>header strong{font-size:13px;font-weight:700;color:#1b1d20}
.px-live-settings__dialog>header small{font-size:10.5px;color:#8b8f95}
.px-live-settings__dialog>header>button{
  display:grid;
  width:28px;
  height:28px;
  flex:0 0 28px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:8px;
  background:rgba(0,0,0,.045);
  color:#34373c;
  cursor:pointer;
}
.px-live-settings__dialog>header>button:hover{background:rgba(0,0,0,.075)}
.px-live-settings__dialog>header>button svg{width:12px;height:12px}
.px-live-settings__body{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  display:grid;
  align-content:start;
  gap:10px;
  padding:13px 16px 15px;
  scrollbar-width:thin;
}
.px-live-settings__panel label,.px-live-settings__panel .px-setting-field{display:grid;gap:5px;color:#666b72;font-size:11.5px;font-weight:600}
.px-live-settings__panel select,
.px-live-settings__panel input,
.px-live-settings__panel textarea{
  width:100%;
  min-height:39px;
  padding:8px 9px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:9px;
  background:#fff;
  color:#222;
  font-size:12.5px;
  outline:none;
}
.px-live-settings__panel textarea{resize:vertical;line-height:1.45}
.px-live-settings__panel select:focus,
.px-live-settings__panel input:focus,
.px-live-settings__panel textarea:focus{border-color:rgba(0,0,0,.28);box-shadow:0 0 0 3px rgba(0,0,0,.035)}
.px-live-settings__dialog>footer{
  display:flex;
  justify-content:center;
  padding:11px 16px 14px;
  border-top:1px solid rgba(18,19,21,.06);
  background:rgba(250,250,249,.78);
}
.px-live-settings__save{
  min-width:118px;
  min-height:38px;
  padding:0 18px;
  border:1px solid #111214;
  border-radius:10px;
  background:#111214;
  color:#fff;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.1);
}
.px-live-settings__save:hover{background:#222428}

/* Mobile comparison: true drag support and accurately centered opposing chevrons. */
[data-pv-generator][data-generation-state="result"] .px-compare-stage{touch-action:pan-y}
[data-pv-generator][data-generation-state="result"] .px-compare-stage__handle{touch-action:none}
.px-compare-stage__handle{cursor:col-resize}
.px-compare-stage__handle>span{
  display:grid;
  grid-template-columns:12px 12px;
  align-items:center;
  justify-content:center;
  justify-items:center;
  gap:1px;
  width:38px;
  height:38px;
  padding:0 5px;
  box-sizing:border-box;
}
.px-compare-stage__handle svg{display:block;width:12px;height:12px;transform-origin:50% 50%}
.px-compare-stage__handle svg:first-child{transform:rotate(90deg)}
.px-compare-stage__handle svg:last-child{transform:rotate(-90deg)}

@media(max-width:720px){
  .px-live-toolbar{top:10px;right:10px;left:auto;max-width:calc(100% - 20px);gap:5px}
  .px-live-toolbar .px-result-actions{gap:5px}
  .px-live-toolbar .px-result-actions button,
  .px-live-toolbar .px-result-actions a,
  .px-live-toolbar__button{min-height:34px;padding:0 8px;font-size:11px;border-radius:9px}
  .px-live-controls{bottom:14px;gap:6px;max-width:calc(100% - 20px)}
  .px-live-controls .px-live-settings__trigger,
  .px-live-controls .px-live-generate{height:44px;min-height:44px;border-radius:12px}
  .px-live-controls .px-live-settings__trigger{padding:0 12px;font-size:11.5px}
  .px-live-controls .px-live-generate{min-width:154px;padding-inline:14px}
  .px-live-settings__panel{padding:10px!important}
  .px-live-settings__dialog{width:min(390px,calc(100% - 8px));max-height:calc(100% - 8px);border-radius:15px}
  .px-live-settings__body{padding:11px 12px 13px}
  .px-live-settings__panel label{font-size:11.5px}
  .px-live-settings__panel select,.px-live-settings__panel input,.px-live-settings__panel textarea{font-size:13px}
}
@media(max-width:390px){
  .px-live-toolbar .px-result-actions button,
  .px-live-toolbar .px-result-actions a,
  .px-live-toolbar__button{padding-inline:7px;font-size:10.5px;gap:4px}
  .px-live-toolbar .px-result-actions svg,.px-live-toolbar__button svg{width:12px;height:12px}
  .px-live-controls .px-live-settings__trigger{padding-inline:10px}
  .px-live-controls .px-live-generate{min-width:146px;padding-inline:12px}
}


/* Locked prompt access — integrated directly into the prompt reader. */
.px-prompt-box.is-locked .px-prompt-box__body{display:grid;align-items:center;padding:0 22px 10px;background:#fff}
.px-prompt-lock{
  display:grid;
  width:100%;
  align-content:center;
  justify-items:start;
  min-height:100%;
  padding:18px 2px 16px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.px-prompt-lock__head{display:flex;align-items:center;gap:11px;min-width:0}
.px-prompt-lock__icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;margin:0;border:1px solid rgba(20,21,24,.075);border-radius:10px;background:#f7f7f5;color:#24262b;box-shadow:none}
.px-prompt-lock__icon svg{width:15px;height:15px;stroke-width:1.9}
.px-prompt-lock__copy{display:grid;gap:3px;min-width:0}
.px-prompt-lock__copy small{color:#9a9da2;font-size:8.5px;font-weight:760;line-height:1;letter-spacing:.105em}
.px-prompt-lock__copy strong{color:#17191c;font-size:14px;font-weight:690;line-height:1.24;letter-spacing:-.015em}
.px-prompt-lock>p{max-width:390px;margin:10px 0 13px;color:#74787f;font-size:12.25px;line-height:1.5}
.px-prompt-unlock{display:inline-flex;width:max-content;max-width:100%;min-height:36px;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid #111214;border-radius:9px;background:#111214;color:#fff;box-shadow:0 6px 15px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.09);font-size:11.75px;font-weight:670;line-height:1;text-decoration:none;cursor:pointer;transition:transform .22s cubic-bezier(.22,1,.36,1),background .18s ease,box-shadow .22s ease}
.px-prompt-unlock:hover{transform:translateY(-1px);background:#242629;box-shadow:0 9px 20px rgba(0,0,0,.11),inset 0 1px 0 rgba(255,255,255,.09)}
.px-prompt-unlock svg{width:12px;height:12px}
@media(max-width:720px){.px-prompt-box.is-locked .px-prompt-box__body{padding:0 18px 8px}.px-prompt-lock{padding:15px 0}.px-prompt-lock>p{font-size:12px}.px-prompt-unlock{min-height:37px}}

/* Generator input-image modes — Required keeps the existing image-first canvas;
   Optional and Disabled intentionally read as image-less until a user opts in. */
.px-input-placeholder,
.px-input-mode-note{
  display:none;
  position:absolute;
  z-index:1;
  inset:22px;
  pointer-events:none;
  user-select:none;
}
[data-pv-generator][data-user-input-image="optional"][data-has-user-input="0"][data-generation-state="preview"] .px-input-placeholder{
  display:grid;
  place-items:center;
}
.px-input-placeholder svg{
  width:48px;
  height:48px;
  color:#a8adb4;
  opacity:.42;
  stroke-width:1.35;
}
[data-pv-generator][data-user-input-image="disabled"][data-generation-state="preview"] .px-input-mode-note{
  display:grid;
  place-content:center;
  justify-items:center;
  gap:6px;
  padding:24px;
  text-align:center;
}
.px-input-mode-note strong{
  max-width:390px;
  color:#4e535a;
  font-size:15px;
  font-weight:680;
  line-height:1.35;
  letter-spacing:-.012em;
}
.px-input-mode-note small{
  max-width:390px;
  color:#92969c;
  font-size:11.5px;
  font-weight:540;
  line-height:1.45;
}
[data-pv-generator][data-has-user-input="0"] .px-compare-stage__before{
  display:none;
}
[data-pv-generator][data-has-user-input="0"] .px-compare-stage__after{
  clip-path:none;
}
[data-pv-generator][data-has-user-input="0"] .px-compare-stage__handle{
  display:none!important;
}
[data-pv-generator][data-has-user-input="0"][data-generation-state="result"] .px-compare-stage{
  touch-action:auto;
}

.px-settings-input-image{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(18,19,21,.07);
  border-radius:11px;
  background:#f8f8f6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.px-settings-input-image__identity{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.px-settings-input-image__identity>span:last-child{
  display:grid;
  gap:2px;
  min-width:0;
}
.px-settings-input-image__identity strong{
  color:#2c2f34;
  font-size:11.5px;
  font-weight:690;
  line-height:1.2;
}
.px-settings-input-image__identity small{
  max-width:150px;
  overflow:hidden;
  color:#95999f;
  font-size:9.75px;
  font-weight:540;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.px-settings-input-image__thumb{
  position:relative;
  display:grid;
  width:36px;
  height:36px;
  flex:0 0 36px;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(18,19,21,.07);
  border-radius:9px;
  background:#efefec;
  color:#a7abb1;
}
.px-settings-input-image__thumb>svg{
  width:15px;
  height:15px;
  opacity:.72;
}
.px-settings-input-image__thumb>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.px-settings-input-image__actions{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}
.px-settings-input-image__actions button{
  min-height:30px;
  padding:0 9px;
  border:1px solid rgba(18,19,21,.08);
  border-radius:8px;
  background:#fff;
  color:#4a4e54;
  font:inherit;
  font-size:10.5px;
  font-weight:650;
  line-height:1;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.025);
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.px-settings-input-image__actions button:hover{
  border-color:rgba(18,19,21,.16);
  background:#fdfdfc;
  color:#1e2024;
}
.px-settings-input-image__actions button:active{transform:scale(.97)}
.px-settings-input-image__actions button[data-pv-input-remove]{
  border-color:transparent;
  background:transparent;
  color:#8d9197;
  box-shadow:none;
}
.px-settings-input-image__actions button[data-pv-input-remove]:hover{
  background:rgba(0,0,0,.035);
  color:#4e5258;
}

@media(max-width:720px){
  .px-input-placeholder,.px-input-mode-note{inset:16px}
  .px-input-placeholder svg{width:42px;height:42px}
  .px-input-mode-note{padding:20px}
  .px-input-mode-note strong{font-size:14px}
  .px-input-mode-note small{font-size:11px}
  .px-settings-input-image{gap:9px;padding:8px}
  .px-settings-input-image__identity{gap:7px}
  .px-settings-input-image__thumb{width:34px;height:34px;flex-basis:34px}
  .px-settings-input-image__identity small{max-width:118px}
  .px-settings-input-image__actions button{min-height:29px;padding-inline:8px;font-size:10px}
}

/* Model-aware optional input image compatibility. */
.px-settings-input-image.is-disabled{
  background:#f6f6f4;
  border-color:rgba(18,19,21,.055);
}
.px-settings-input-image.is-disabled .px-settings-input-image__thumb,
.px-settings-input-image.is-disabled .px-settings-input-image__identity strong{
  opacity:.58;
}
.px-settings-input-image.is-disabled .px-settings-input-image__identity small{
  color:#8e9298;
  white-space:normal;
}
.px-settings-input-image__actions button:disabled,
.px-settings-input-image__actions button:disabled:hover,
.px-settings-input-image__actions button:disabled:active{
  border-color:rgba(18,19,21,.06);
  background:#f0f0ee;
  color:#a4a7ab;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}



/* Generator Settings polish: larger primary trigger and fully custom dropdown controls. */
.px-live-controls .px-live-settings__trigger{
  min-width:132px;
  height:48px;
  min-height:48px;
  padding-inline:19px;
  gap:8px;
  border-radius:14px;
  font-size:14px;
}
.px-live-controls .px-live-settings__trigger svg{width:16px;height:16px}



.px-setting-field--model{width:100%;min-width:0}
.px-setting-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:100%}
.px-setting-row.is-single{grid-template-columns:minmax(0,1fr)}
.px-setting-field[hidden]{display:none!important}
.px-setting-field>span{display:block}
.px-setting-field>select[hidden]{display:none!important}
.px-setting-select{position:relative;display:block;min-width:0}
.px-setting-select__button{
  display:flex;
  width:100%;
  min-height:42px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 11px 0 12px;
  border:1px solid rgba(18,19,21,.09);
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#fbfbfa 100%);
  color:#202226;
  box-shadow:0 1px 2px rgba(0,0,0,.02),inset 0 1px 0 rgba(255,255,255,.8);
  font-size:12.75px;
  font-weight:520;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .18s ease,transform .16s ease;
}
.px-setting-select__button:hover:not(:disabled){border-color:rgba(18,19,21,.17);background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.045)}
.px-setting-select__button:focus-visible{border-color:rgba(18,19,21,.28);outline:0;box-shadow:0 0 0 3px rgba(16,17,19,.055)}
.px-setting-select__button:disabled{background:#f4f4f2;color:#9a9da2;cursor:not-allowed;box-shadow:none}
.px-setting-select__value{display:flex;min-width:0;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}
.px-setting-select__value>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.px-setting-select__value small{flex:0 0 auto;color:#8b8f95;font-size:9.5px;font-weight:500;letter-spacing:0}
.px-setting-select__arrow{position:relative;width:8px;height:8px;flex:0 0 8px;border-right:1.5px solid #6f747b;border-bottom:1.5px solid #6f747b;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.px-setting-select.is-open .px-setting-select__arrow{transform:translateY(2px) rotate(225deg)}
.px-setting-select__menu[hidden]{display:none!important}
.px-setting-select__menu{
  position:absolute;
  z-index:90;
  display:grid;
  gap:3px;
  padding:5px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(18,19,21,.09);
  border-radius:11px;
  background:rgba(255,255,255,.985);
  box-shadow:0 18px 42px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.06),inset 0 1px 0 #fff;
  scrollbar-width:thin;
}
.px-setting-select__menu button{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  min-height:34px;
  align-items:center;
  justify-content:stretch;
  gap:5px;
  width:100%;
  padding:6px 8px 6px 9px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#303338;
  font-size:12.25px;
  font-weight:500;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
}
.px-setting-select__menu button:hover:not(:disabled),.px-setting-select__menu button:focus-visible{background:#f3f3f1;color:#15171a;outline:0}
.px-setting-select__menu button[aria-selected="true"]{background:#f5f5f3;color:#111315;font-weight:620}
.px-setting-select__menu button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.px-setting-select__option-main{display:flex;align-items:center;gap:7px;min-width:0}.px-setting-select__option-main small{flex:0 0 auto;margin-left:1px}
.px-setting-select__option-main>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.px-setting-select__provider-icon{display:block;width:13px;height:13px;flex:0 0 13px;object-fit:contain}
.px-setting-select__menu button small{color:#8c9096;font-size:9.5px;font-weight:500;white-space:nowrap}
.px-setting-select__menu button i{display:grid;grid-column:2;width:18px;height:18px;justify-self:end;place-items:center;color:transparent;font-size:12px;font-style:normal;font-weight:800}
.px-setting-select__menu button[aria-selected="true"] i{color:#26292e}
.px-setting-select__menu button:disabled{opacity:.42;cursor:not-allowed}

/* Variable placeholders should read like normal helper text, never like labels. */
.px-variable-field input::placeholder{color:#999da3;font-weight:400;opacity:1}

@media(max-width:720px){
  .px-live-controls .px-live-settings__trigger{min-width:124px;height:46px;min-height:46px;padding-inline:14px;font-size:13px}
  .px-live-controls .px-live-settings__trigger svg{width:15px;height:15px}
  .px-setting-select__button{min-height:41px;font-size:13px}
  .px-setting-select__menu button{min-height:35px;font-size:12.5px}
}
