/* 传奇海报工坊 — 独立站 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@600;700&family=ZCOOL+XiaoWei&display=swap');

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%}
body.ps-body{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  color:rgba(248,242,230,.94);
  background:#050608;
  overflow-x:hidden;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
body.ps-body input,
body.ps-body textarea,
body.ps-body [contenteditable="true"]{
  -webkit-user-select:text;
  user-select:text;
  -webkit-touch-callout:default;
}
body.ps-body img,
body.ps-body .ps-showcase-thumb,
body.ps-body .ps-result,
body.ps-body .ps-history-item,
body.ps-body canvas{
  -webkit-user-drag:none;
  user-drag:none;
  -webkit-touch-callout:none;
  pointer-events:auto;
}
body.ps-body .ps-logo-zone,
body.ps-body .ps-qr-zone,
body.ps-body .ps-logo-zone *,
body.ps-body .ps-qr-zone *{
  -webkit-user-select:auto;
  user-select:auto;
  -webkit-touch-callout:default;
}
.ps-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 90% 55% at 70% -10%, rgba(196,48,48,.28), transparent 55%),
    radial-gradient(ellipse 50% 40% at 8% 100%, rgba(201,146,42,.12), transparent 50%),
    radial-gradient(ellipse 40% 30% at 95% 80%, rgba(40,20,10,.5), transparent 60%),
    linear-gradient(180deg,#0a0b10 0%,#07080c 45%,#050608 100%);
}
.ps-bg::before{
  content:"";position:absolute;inset:0;
  background:
    repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.012) 3px,rgba(255,255,255,.012) 4px);
  opacity:.55;mix-blend-mode:overlay;
}
.ps-bg::after{
  content:"";position:absolute;left:-10%;right:-10%;bottom:-8%;height:42%;
  background:
    radial-gradient(ellipse 60% 80% at 30% 100%, rgba(226,70,40,.18), transparent 70%),
    radial-gradient(ellipse 50% 70% at 70% 100%, rgba(180,40,20,.14), transparent 70%);
  filter:blur(2px);animation:ps-ember 8s ease-in-out infinite alternate;
}
@keyframes ps-ember{from{opacity:.7;transform:translateY(0)}to{opacity:1;transform:translateY(-12px)}}
.ps-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
.ps-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 clamp(12px,1.6vw,18px);
}
.ps-install{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(232,201,106,.38);
  background:
    linear-gradient(135deg, rgba(232,201,106,.18), rgba(226,59,74,.08)),
    rgba(0,0,0,.35);
  color:#f3e8c8;
  font:inherit;
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  transition:transform .2s ease, border-color .2s ease, filter .2s ease;
}
.ps-install:hover{
  transform:translateY(-1px);
  border-color:rgba(232,201,106,.65);
  filter:brightness(1.06);
}
.ps-install:active{transform:scale(.98)}
.ps-install-ico{flex:0 0 auto;opacity:.9}
@media (max-width:560px){
  .ps-install{padding:9px 12px;font-size:12px}
  .ps-install span{letter-spacing:.02em}
}
.ps-logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:6px 14px 6px 6px;
  text-decoration:none;
  color:inherit;
  border-radius:999px;
  background:
    linear-gradient(135deg, rgba(232,201,106,.14), rgba(226,59,74,.07) 55%, transparent),
    rgba(0,0,0,.35);
  border:1px solid rgba(232,201,106,.32);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 12px 32px rgba(0,0,0,.38),
    0 0 28px rgba(232,201,106,.1);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ps-logo:hover{
  transform:translateY(-1px);
  border-color:rgba(232,201,106,.55);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 16px 40px rgba(0,0,0,.45),
    0 0 36px rgba(232,201,106,.16);
}
.ps-logo-mark{
  position:relative;
  width:clamp(42px,4.2vw,52px);
  height:clamp(42px,4.2vw,52px);
  flex:0 0 auto;
  filter:drop-shadow(0 4px 12px rgba(196,48,48,.4));
}
.ps-logo-mark svg{display:block;width:100%;height:100%}
.ps-logo-mark::after{
  content:"";
  position:absolute;inset:-6px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(232,201,106,.26), transparent 68%);
  z-index:-1;
  animation:ps-logo-glow 3.6s ease-in-out infinite;
}
@keyframes ps-logo-glow{
  0%,100%{opacity:.55;transform:scale(.92)}
  50%{opacity:1;transform:scale(1.06)}
}
.ps-logo-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  text-align:left;
  min-width:0;
}
.ps-logo-name{
  font-family:"ZCOOL XiaoWei","Noto Serif SC",serif;
  font-size:clamp(24px,2.8vw,34px);
  line-height:1.02;
  letter-spacing:.12em;
  white-space:nowrap;
  background:linear-gradient(105deg,#8a6a22 0%,#f7e5a3 28%,#fff8df 48%,#e8c96a 62%,#b8862d 100%);
  background-size:180% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 12px rgba(232,201,106,.28));
  animation:ps-logo-shine 4.8s ease-in-out infinite;
}
.ps-logo-name em{
  font-style:normal;
  margin:0 .06em;
  background:linear-gradient(105deg,#c41e3a 0%,#ff7a8a 40%,#ffe0e4 50%,#ff7a8a 60%,#c41e3a 100%);
  background-size:180% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  animation:ps-logo-shine 4.8s ease-in-out infinite;
  filter:drop-shadow(0 0 12px rgba(226,59,74,.4));
}
@keyframes ps-logo-shine{
  0%,100%{background-position:100% 50%}
  45%,55%{background-position:0% 50%}
}
.ps-logo-tag{
  font-size:11px;
  letter-spacing:.18em;
  text-indent:.18em;
  color:rgba(232,201,106,.58);
  font-family:"Noto Serif SC",serif;
  white-space:nowrap;
}
.ps-hero{display:none}
.ps-masthead{display:none!important}
.ps-masthead-line{display:none!important}
.ps-hero-core{
  position:relative;
  text-align:center;
  padding:0 0 clamp(14px,2vw,22px);
  margin:0 0 4px;
}
.ps-hero-core::before,
.ps-hero-core::after{display:none}
.ps-hero-eyebrow{
  margin:0 0 6px;
  font-size:12px;
  letter-spacing:.28em;
  text-indent:.28em;
  color:rgba(232,201,106,.75);
}
.ps-brand{display:none}
.ps-hero-title{
  margin:0 0 10px;
  font-family:"Noto Serif SC","ZCOOL XiaoWei",serif;
  font-size:clamp(36px,5.2vw,64px);
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.08;
}
.ps-hero-boast{
  margin:0 0 8px;
  font-family:"Noto Serif SC","ZCOOL XiaoWei",serif;
  font-size:clamp(16px,1.7vw,20px);
  letter-spacing:.1em;
  line-height:1.4;
  background:linear-gradient(100deg,#b8862d 0%,#f7e5a3 35%,#fff8df 50%,#e8c96a 68%,#c9a227 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 18px rgba(232,201,106,.18));
}
.ps-hero-sub{
  margin:0 auto;
  max-width:34em;
  font-size:clamp(13px,1.25vw,15px);
  line-height:1.7;
  color:rgba(200,208,220,.72);
}
@media (max-width:560px){
  .ps-logo{gap:8px;padding:6px 12px 6px 6px}
  .ps-logo-name{letter-spacing:.08em;font-size:22px}
  .ps-logo-tag{letter-spacing:.1em;text-indent:.1em;font-size:10px}
  .ps-hero-title{letter-spacing:.06em}
  .ps-hero-boast{letter-spacing:.06em}
}

.ps-page{
  flex:1;
  max-width:1480px;
  width:100%;
  margin:0 auto;
  padding:20px clamp(16px,3vw,40px) 48px;
}
.ps{
  --ps-bg:#07090e;
  --ps-panel:rgba(14,16,22,.88);
  --ps-line:rgba(232,201,106,.22);
  --ps-ink:#e23b4a;
  --ps-gold:#e8c96a;
  --ps-gold-bright:#f7e5a3;
  --ps-text:rgba(248,242,230,.94);
  --ps-muted:rgba(180,190,210,.62);
  --ps-font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  --ps-display:"Noto Serif SC","ZCOOL XiaoWei",serif;
  color:var(--ps-text);
  font-family:var(--ps-font);
}
.ps-top{display:none}
.ps-foot{
  margin:28px auto 0;
  text-align:center;
  font-size:12px;
  color:rgba(180,190,210,.42);
}
.ps-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media (max-width:980px){
  .ps-workspace{grid-template-columns:1fr!important}
  .ps-rail{grid-template-columns:repeat(4,1fr)!important}
}


/* 热血传奇海报设计台 — 铺满内容区，暗金朱砂 */
.ps-page { /* layout set in shell */ }

.ps {
    --ps-bg: #07090e;
    --ps-panel: rgba(16, 20, 28, 0.92);
    --ps-line: rgba(232, 201, 106, 0.22);
    --ps-ink: #e23b4a;
    --ps-gold: #e8c96a;
    --ps-gold-bright: #f7e5a3;
    --ps-text: rgba(248, 242, 230, 0.94);
    --ps-muted: rgba(180, 190, 210, 0.62);
    --ps-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
    --ps-display: "DIN Alternate", "Bahnschrift", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    color: var(--ps-text);
    font-family: var(--ps-font);
}

.ps-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
    padding: 4px 0 0;
    border-bottom: 0;
}

.ps-brand {
    display: none !important;
}

.ps-kicker {
    margin: 0 0 6px;
    font-size: 13px;
    letter-spacing: 0.22em;
    color: var(--ps-gold);
}

.ps-title {
    margin: 0;
    font-family: var(--ps-display);
    font-size: clamp(32px, 3.6vw, 46px);
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.1;
}

.ps-title-shine {
    position: relative;
    display: inline-block;
    background: linear-gradient(
        105deg,
        #f5ece0 0%,
        #f5ece0 38%,
        #fff8ea 46%,
        #ffffff 50%,
        #fff8ea 54%,
        #f5ece0 62%,
        #f5ece0 100%
    );
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: ps-title-shine 3.2s ease-in-out infinite;
}

.ps-title-shine em {
    font-style: normal;
    background: linear-gradient(
        105deg,
        #e23b4a 0%,
        #e23b4a 38%,
        #ff8a95 46%,
        #ffe0e4 50%,
        #ff8a95 54%,
        #e23b4a 62%,
        #e23b4a 100%
    );
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: ps-title-shine 3.2s ease-in-out infinite;
    filter: drop-shadow(0 0 14px rgba(226, 59, 74, 0.35));
}

@keyframes ps-title-shine {
    0%, 100% { background-position: 100% 50%; }
    45%, 55% { background-position: 0% 50%; }
}

@keyframes ps-sheen {
    0%, 100% { transform: translateX(-120%); }
    45%, 55% { transform: translateX(120%); }
}

.ps-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.ps-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.04em;
    color: var(--ps-muted);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.ps-chip-hot {
    color: #1a0c0c;
    background: linear-gradient(90deg, #f7e5a3, #e8c96a);
    border-color: transparent;
    font-weight: 700;
}

.ps-workspace {
    display: grid;
    grid-template-columns: minmax(420px, 460px) minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
}

.ps-aside {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.ps-wizard {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    box-sizing: border-box;
}

.ps-step[hidden] {
    display: none !important;
}

.ps-step.is-on {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.ps-panel {
    background:
        radial-gradient(ellipse 80% 60% at 0% 0%, rgba(226, 59, 74, 0.14), transparent 55%),
        var(--ps-panel);
    border: 1px solid var(--ps-line);
    border-radius: 20px;
    padding: 22px 22px 20px;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(8px);
}

.ps-panel-title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.ps-panel-title span {
    font-weight: 400;
    color: var(--ps-muted);
    font-size: 12px;
}

.ps-panel-sub {
    margin: 0 0 16px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--ps-muted);
}

.ps-rail {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 4px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.ps-rail li span {
    font-size: 11px;
    text-align: center;
    line-height: 1.2;
}

.ps-rail li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    color: var(--ps-muted);
    font-size: 12px;
    cursor: pointer;
}

.ps-rail li b {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.35);
    font-size: 12px;
    font-weight: 700;
}

.ps-rail li.is-done b {
    border-color: rgba(232, 201, 106, 0.7);
    color: var(--ps-gold);
}

.ps-rail li.is-current {
    color: var(--ps-text);
}

.ps-rail li.is-current b {
    color: #1a0c0c;
    border-color: transparent;
    background: linear-gradient(135deg, #f7e5a3, #e23b4a);
}

.ps-logo-zone {
    position: relative;
    min-height: 168px;
    border-radius: 14px;
    border: 1px dashed rgba(232, 201, 106, 0.4);
    background: rgba(0, 0, 0, 0.28);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.ps-logo-zone.is-drag {
    border-color: #e8c96a;
    background: rgba(232, 201, 106, 0.08);
}

.ps-logo-zone:focus {
    border-color: rgba(232, 201, 106, 0.7);
    box-shadow: 0 0 0 3px rgba(232, 201, 106, 0.12);
}

.ps-logo-file {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.ps-logo-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 20px;
    text-align: center;
    pointer-events: none;
}

.ps-logo-empty strong {
    font-size: 15px;
    font-weight: 700;
}

.ps-logo-empty span {
    font-size: 12px;
    color: var(--ps-muted);
}

.ps-logo-preview {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 168px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.ps-logo-preview[hidden] {
    display: none !important;
}

.ps-logo-preview img {
    max-width: 72%;
    max-height: 132px;
    object-fit: contain;
    display: block;
}

.ps-logo-clear {
    position: absolute;
    top: 10px;
    right: 10px;
    border: 0;
    border-radius: 8px;
    padding: 6px 10px;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
    color: var(--ps-text);
    background: rgba(0, 0, 0, 0.55);
}

.ps-field-label {
    display: block;
    margin: 12px 0 8px;
    font-size: 13px;
    color: var(--ps-muted);
}

.ps-input-sm {
    height: 46px;
    font-size: 15px;
}

.ps-nav-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ps-skip {
    color: var(--ps-muted) !important;
}

.ps-step-no {
    margin: 0 0 6px;
    font-size: 12px;
    letter-spacing: 0.16em;
    color: var(--ps-gold);
}

.ps-input,
.ps-prompt {
    width: 100%;
    box-sizing: border-box;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.35);
    color: var(--ps-text);
    font: inherit;
    outline: none;
}

.ps-input {
    height: 52px;
    padding: 0 16px;
    font-size: 18px;
}

.ps-textarea,
.ps-textarea-sm {
    height: auto;
    min-height: 96px;
    padding: 12px 14px;
    font-size: 16px;
    line-height: 1.55;
    resize: vertical;
}

.ps-qr-zone {
    min-height: 140px;
}

.ps-input:focus,
.ps-prompt:focus {
    border-color: rgba(232, 201, 106, 0.55);
    box-shadow: 0 0 0 3px rgba(232, 201, 106, 0.12);
}

.ps-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.ps-chip-btn {
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.28);
    color: var(--ps-text);
    border-radius: 999px;
    padding: 8px 14px;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}

.ps-chip-btn.is-active {
    color: #1a0c0c;
    border-color: transparent;
    background: linear-gradient(90deg, #f7e5a3, #e8c96a);
    font-weight: 700;
}

.ps-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 20px;
}

.ps-next,
.ps-back {
    border: 0;
    border-radius: 10px;
    padding: 10px 16px;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.ps-next {
    color: #1a0c0c;
    background: linear-gradient(90deg, #f7e5a3, #e8c96a);
}

.ps-back {
    color: var(--ps-text);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.ps-recap {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

.ps-recap li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 14px;
}

.ps-recap li span {
    color: var(--ps-muted);
}

.ps-brief {
    margin: 14px auto 0;
    padding: 0;
    width: min(360px, 86%);
    list-style: none;
    text-align: left;
}

.ps-brief li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 14px;
}

.ps-brief li span {
    color: var(--ps-muted);
}

.ps-styles {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: none;
    overflow: visible;
    padding-right: 0;
    margin-bottom: 4px;
}

.ps-size-label{
  margin:14px 0 8px;
  font-size:12px;
  letter-spacing:.14em;
  color:rgba(232,201,106,.72);
}
.ps-sizes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:4px;
}
.ps-size{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.28);
  color:inherit;
  font:inherit;
  cursor:pointer;
  text-align:left;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.ps-size strong{
  font-size:13px;
  font-weight:700;
  color:rgba(243,232,200,.92);
}
.ps-size span{
  font-size:11px;
  line-height:1.35;
  color:rgba(180,190,210,.62);
}
.ps-size:hover{
  border-color:rgba(232,201,106,.4);
  background:rgba(232,201,106,.06);
}
.ps-size.is-active{
  border-color:rgba(232,201,106,.7);
  background:rgba(232,201,106,.12);
  box-shadow:0 0 0 1px rgba(232,201,106,.18);
}
@media (max-width:560px){
  .ps-sizes{grid-template-columns:1fr}
}

.ps-style {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 0;
    text-align: center;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.28);
    color: inherit;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ps-style:hover {
    border-color: rgba(232, 201, 106, 0.45);
    transform: none;
}

.ps-style.is-active {
    color: #1a0c0c;
    border-color: transparent;
    background: linear-gradient(90deg, #f7e5a3, #e8c96a);
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(232, 201, 106, 0.2);
}

.ps-style-visual,
.ps-style-visual::after,
.ps-style-copy,
.ps-style-copy strong,
.ps-style-copy small {
    display: none !important;
}

.ps-style-visual--kaifu,
.ps-style-visual--shabak,
.ps-style-visual--chongzhi,
.ps-style-visual--hequ,
.ps-style-visual--banben,
.ps-style-visual--jieri,
.ps-style-visual--duan,
.ps-style-visual--heng,
.ps-style-visual--guofeng,
.ps-style-visual--huaijiu,
.ps-style-visual--boss,
.ps-style-visual--jipin {
    background: none !important;
}

.ps-prompt {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    min-height: 72px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.35);
    color: var(--ps-text);
    font: inherit;
    font-size: 13px;
    line-height: 1.55;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ps-prompt:focus {
    border-color: rgba(232, 201, 106, 0.55);
    box-shadow: 0 0 0 3px rgba(232, 201, 106, 0.12);
}

.ps-prompt-foot {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 8px 0 14px;
    font-size: 11px;
    color: var(--ps-muted);
}

.ps-count em {
    font-style: normal;
    color: var(--ps-gold);
}

.ps-generate {
    position: relative;
    width: 100%;
    border: 0;
    border-radius: 12px;
    padding: 14px 16px;
    cursor: pointer;
    overflow: hidden;
    color: #1a0c0c;
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.06em;
    background: linear-gradient(95deg, #f7e5a3 0%, #e8c96a 40%, #e23b4a 100%);
    box-shadow: 0 10px 28px rgba(226, 59, 74, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    transition: transform 0.15s ease, filter 0.15s ease;
}

.ps-generate:hover:not(:disabled) {
    transform: translateY(-1px);
    filter: brightness(1.05);
}

.ps-generate:disabled {
    cursor: wait;
    filter: grayscale(0.25) brightness(0.9);
}

.ps-generate-glow {
    position: absolute;
    inset: -40%;
    background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.35), transparent);
    animation: ps-sheen 2.4s ease-in-out infinite;
    pointer-events: none;
}

.ps-generate-label {
    position: relative;
    z-index: 1;
}

.ps-note {
    margin: 10px 0 0;
    text-align: center;
    font-size: 11px;
    color: var(--ps-muted);
}

.ps-stage {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    min-height: 100%;
}

.ps-canvas {
    position: relative;
    flex: 1;
    height: auto;
    min-height: min(480px, calc(100vh - 240px));
    max-height: none;
    border-radius: 22px;
    border: 1px solid var(--ps-line);
    background:
        radial-gradient(ellipse 50% 40% at 70% 20%, rgba(226, 59, 74, 0.16), transparent 60%),
        radial-gradient(ellipse 40% 35% at 20% 80%, rgba(232, 201, 106, 0.1), transparent 55%),
        linear-gradient(165deg, #0b0e14, #121820 50%, #0a0c12);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ps-canvas--portrait,
.ps-canvas--landscape,
.ps-canvas--square {
    flex: 1;
    height: auto;
    min-height: min(480px, calc(100vh - 240px));
    max-height: none;
}

.ps-empty[hidden],
.ps-loading[hidden],
.ps-result[hidden] {
    display: none !important;
}

.ps-empty,
.ps-loading {
    text-align: center;
    padding: 28px;
    z-index: 1;
}

.ps-empty-ring {
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
    border-radius: 50%;
    border: 2px solid rgba(232, 201, 106, 0.35);
    box-shadow: 0 0 0 10px rgba(226, 59, 74, 0.08), inset 0 0 24px rgba(232, 201, 106, 0.15);
    animation: ps-pulse 2.8s ease-in-out infinite;
}

@keyframes ps-pulse {
    0%, 100% { transform: scale(1); opacity: 0.85; }
    50% { transform: scale(1.06); opacity: 1; }
}

.ps-empty-title,
.ps-loading-title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 700;
}

.ps-empty-desc,
.ps-loading-desc {
    margin: 0;
    font-size: 13px;
    color: var(--ps-muted);
}

.ps-loading-bars {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-bottom: 16px;
    height: 28px;
}

.ps-loading-bars span {
    width: 5px;
    border-radius: 4px;
    background: linear-gradient(180deg, #f7e5a3, #e23b4a);
    animation: ps-bar 1s ease-in-out infinite;
}

.ps-loading-bars span:nth-child(2) { animation-delay: 0.12s; }
.ps-loading-bars span:nth-child(3) { animation-delay: 0.24s; }
.ps-loading-bars span:nth-child(4) { animation-delay: 0.36s; }

@keyframes ps-bar {
    0%, 100% { height: 10px; opacity: 0.5; }
    50% { height: 28px; opacity: 1; }
}

.ps-progress {
    width: min(280px, 70vw);
    height: 4px;
    margin: 18px auto 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.ps-progress i {
    display: block;
    height: 100%;
    width: 8%;
    border-radius: inherit;
    background: linear-gradient(90deg, #e8c96a, #e23b4a);
    transition: width 0.4s ease;
}

.ps-result {
    margin: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    animation: ps-fadein 0.45s ease both;
}

@keyframes ps-fadein {
    from { opacity: 0; transform: scale(0.98); }
    to { opacity: 1; transform: none; }
}

.ps-result img {
    display: block;
    width: 100%;
    flex: 1;
    min-height: 0;
    max-height: calc(100% - 52px);
    object-fit: contain;
    background: #000;
}

.ps-result-cap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(8, 10, 14, 0.92);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 13px;
}

.ps-result-actions {
    display: flex;
    gap: 8px;
}

.ps-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 8px;
    border: 0;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    color: #1a0c0c;
    background: linear-gradient(90deg, #f7e5a3, #e8c96a);
    cursor: pointer;
}

.ps-btn-ghost {
    color: var(--ps-text);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.ps-history {
    background: var(--ps-panel);
    border: 1px solid var(--ps-line);
    border-radius: 14px;
    padding: 14px;
}

.ps-history-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.ps-history-item {
    position: relative;
    border: 0;
    padding: 0;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 1;
    background: #000;
}

.ps-history-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ps-history-item.is-active {
    outline: 2px solid var(--ps-gold);
    outline-offset: 1px;
}

.ps-foot {
    margin: 22px 0 0;
    text-align: center;
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--ps-muted);
}

.ps-copy{
  margin:10px 0 0;
  text-align:center;
  font-size:12px;
  letter-spacing:.04em;
  color:rgba(160,170,185,.55);
}
.ps-copy a{
  color:inherit;
  text-decoration:none;
}
.ps-copy a:hover{
  color:rgba(232,201,106,.75);
}
.ps-copy-sep{
  margin:0 .55em;
  opacity:.7;
}

.ps-seo{
  margin:28px 0 0;
  width:100%;
  max-width:none;
  padding:22px 22px 8px;
  border-radius:16px;
  border:1px solid rgba(232,201,106,.16);
  background:rgba(8,10,16,.45);
  text-align:left;
  box-sizing:border-box;
}
.ps-seo h2{
  margin:0 0 10px;
  font-family:"Noto Serif SC","ZCOOL XiaoWei",serif;
  font-size:18px;
  letter-spacing:.08em;
  color:#f3e8c8;
}
.ps-seo h3{
  margin:16px 0 8px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
  color:rgba(232,201,106,.85);
}
.ps-seo p,
.ps-seo dd{
  margin:0 0 10px;
  font-size:13px;
  line-height:1.75;
  color:rgba(200,208,220,.72);
}
.ps-seo dt{
  margin:10px 0 4px;
  font-size:13px;
  font-weight:700;
  color:rgba(243,232,200,.9);
}
.ps-seo dd{margin-left:0}


.ps-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    transform: translateX(-50%) translateY(12px);
    z-index: 9999;
    padding: 10px 16px;
    border-radius: 10px;
    background: rgba(20, 12, 12, 0.95);
    border: 1px solid rgba(226, 59, 74, 0.45);
    color: #fff;
    font-size: 13px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.ps-toast.is-show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

@media (max-width: 1100px) {
    .ps-page {
        padding: 16px 16px 40px;
    }

    .ps-workspace {
        grid-template-columns: 1fr;
    }

    .ps-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .ps-title {
        font-size: 30px;
    }

    .ps-canvas,
    .ps-canvas--portrait,
    .ps-canvas--landscape,
    .ps-canvas--square {
        flex: none;
        height: min(420px, calc(100vh - 180px));
        min-height: 360px;
        max-height: 460px;
    }

    .ps-wizard,
    .ps-step.is-on,
    .ps-stage {
        min-height: 0;
        height: auto;
    }
}


/* standalone overrides */
.ps-page{
  flex:1;
  max-width:1560px;
  width:100%;
  margin:0 auto;
  padding:clamp(12px,2vw,20px) clamp(16px,3.5vw,48px) 48px;
}
.ps-workspace{
  grid-template-columns: minmax(420px, 480px) minmax(0, 1fr);
  gap: 32px;
  min-height: min(74vh, 860px);
}
.ps-canvas{
  max-height: min(74vh, 860px);
  border: 1px solid rgba(232,201,106,.22);
  border-radius: 26px;
  background:
    radial-gradient(ellipse 55% 45% at 72% 18%, rgba(226,59,74,.2), transparent 58%),
    radial-gradient(ellipse 45% 40% at 18% 82%, rgba(232,201,106,.12), transparent 55%),
    radial-gradient(circle at 50% 110%, rgba(180,40,20,.18), transparent 45%),
    linear-gradient(165deg, #080a10, #12151e 48%, #07090e);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 32px 70px rgba(0,0,0,.5),
    0 0 60px rgba(226,59,74,.08);
}
.ps-hero-title .ps-title-shine{
  display:inline-block;
}

/* premium wizard polish */
.ps-wizard-head{
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(232,201,106,.16);
  text-align: left;
}
.ps-wizard-kicker{display:none!important}
.ps-wizard-claim{
  margin: 0;
  font-family: "Noto Serif SC", "ZCOOL XiaoWei", serif;
  font-size: clamp(17px,1.5vw,20px);
  letter-spacing: .06em;
  line-height: 1.3;
  color: rgba(248,242,230,.94);
}
.ps-panel.ps-wizard{
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 26px 24px 22px;
  background:
    radial-gradient(ellipse 90% 55% at 0% 0%, rgba(232,201,106,.14), transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(226,59,74,.12), transparent 55%),
    linear-gradient(165deg, rgba(24,26,34,.97), rgba(9,11,16,.96));
  border: 1px solid rgba(232,201,106,.3);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 28px 64px rgba(0,0,0,.5),
    0 0 48px rgba(232,201,106,.07);
}
.ps-panel.ps-wizard::before{
  content: "";
  position: absolute;
  top: 0; left: 10%; right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(247,229,163,.65), transparent);
  pointer-events: none;
}
.ps-panel.ps-wizard::after{
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 18px;
  border: 1px solid rgba(232,201,106,.06);
  pointer-events: none;
}
.ps-rail{
  margin-bottom: 22px;
  padding: 12px 8px;
  border-radius: 16px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.06);
}
.ps-rail li b{
  width: 32px;
  height: 32px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ps-rail li.is-current b{
  box-shadow: 0 0 0 4px rgba(226,59,74,.16), 0 10px 22px rgba(226,59,74,.32);
  transform: scale(1.08);
}
.ps-rail li.is-done b{
  background: rgba(232,201,106,.14);
}
.ps-panel-title{
  font-family: "Noto Serif SC", "ZCOOL XiaoWei", serif;
  font-size: 20px;
  letter-spacing: .06em;
}
.ps-logo-zone{
  min-height: 188px;
  border-radius: 18px;
  border: 1px dashed rgba(232,201,106,.45);
  background:
    linear-gradient(180deg, rgba(232,201,106,.07), transparent 42%),
    rgba(0,0,0,.38);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.ps-logo-zone:hover,
.ps-logo-zone.is-drag{
  border-color: #e8c96a;
  background:
    linear-gradient(180deg, rgba(232,201,106,.12), transparent 45%),
    rgba(232,201,106,.07);
}
.ps-next{
  min-width: 116px;
  padding: 12px 22px;
  box-shadow: 0 12px 28px rgba(232,201,106,.26);
}
.ps-next:hover{
  filter: brightness(1.06);
}
.ps-generate{
  box-shadow: 0 16px 40px rgba(232,201,106,.3);
}
.ps-empty{
  width: min(420px, 88%);
}
.ps-empty-kicker{
  margin: 0 0 18px;
  font-size: 12px;
  letter-spacing: .4em;
  text-indent: .4em;
  color: rgba(232,201,106,.55);
}
.ps-empty-ring{
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-color: rgba(232,201,106,.32);
  box-shadow: 0 0 0 14px rgba(226,59,74,.08), 0 0 48px rgba(232,201,106,.12), inset 0 0 28px rgba(232,201,106,.12);
}
.ps-empty-title{
  font-family: "Noto Serif SC", "ZCOOL XiaoWei", serif;
  font-size: 22px;
  letter-spacing: .1em;
}
.ps-empty-desc{
  font-size: 14px;
  line-height: 1.65;
  max-width: 18em;
  margin-left: auto;
  margin-right: auto;
}
.ps-brief{
  margin-top: 22px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(232,201,106,.12);
  width: min(380px, 100%);
}
.ps-brief li{
  font-size: 13px;
  padding: 7px 0;
}
.ps-stage .ps-panel-title,
.ps-history .ps-panel-title{
  letter-spacing: .1em;
  font-family: "Noto Serif SC", serif;
}
.ps-foot{
  margin-top: 36px;
  letter-spacing: .08em;
}

.ps-empty-ring{display:none!important}


/* preview stage fill */
.ps-empty{
  width: min(420px, 92%);
  height: auto;
  max-height: calc(100% - 16px);
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 12px !important;
  box-sizing: border-box;
}
.ps-poster-mock{
  position: relative;
  width: 100%;
  height: auto;
  max-height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 16px 16px 14px;
  border-radius: 18px;
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(ellipse 80% 45% at 50% 0%, rgba(232,201,106,.16), transparent 55%),
    radial-gradient(ellipse 70% 50% at 50% 100%, rgba(226,59,74,.18), transparent 60%),
    linear-gradient(180deg, rgba(18,16,22,.92), rgba(8,9,14,.96));
  border: 1px solid rgba(232,201,106,.28);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 24px 50px rgba(0,0,0,.45);
}
.ps-poster-mock::before,
.ps-poster-mock::after{
  content:"";
  position:absolute;
  width:14px;height:14px;
  border-color:rgba(232,201,106,.55);
  border-style:solid;
  pointer-events:none;
}
.ps-poster-mock::before{
  top:8px;left:8px;
  border-width:1px 0 0 1px;
}
.ps-poster-mock::after{
  bottom:8px;right:8px;
  border-width:0 1px 1px 0;
}
.ps-poster-mock-shine{
  position:absolute;
  inset:0;
  background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.05) 48%, transparent 62%);
  pointer-events:none;
  animation:ps-mock-sheen 5.5s ease-in-out infinite;
}
@keyframes ps-mock-sheen{
  0%,100%{transform:translateX(-18%);opacity:.35}
  50%{transform:translateX(18%);opacity:.7}
}
.ps-poster-mock-head{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  padding-bottom:10px;
  border-bottom:1px solid rgba(232,201,106,.14);
}
.ps-empty-kicker{
  margin:0 0 6px !important;
  font-size:11px !important;
  letter-spacing:.3em !important;
  text-indent:.3em;
  color:rgba(232,201,106,.7) !important;
}
.ps-empty-title{
  margin:0 0 6px !important;
  font-family:"Noto Serif SC","ZCOOL XiaoWei",serif !important;
  font-size:clamp(18px,1.8vw,22px) !important;
  letter-spacing:.08em !important;
  font-weight:700 !important;
}
.ps-empty-desc{
  margin:0 auto !important;
  max-width:20em !important;
  font-size:12px !important;
  line-height:1.5 !important;
  color:rgba(180,190,210,.68) !important;
}
.ps-poster-mock-art{
  position:relative;
  z-index:1;
  flex:1 1 auto;
  min-height:88px;
  max-height:160px;
  margin:12px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:12px;
  background:
    radial-gradient(ellipse 55% 60% at 50% 35%, rgba(232,201,106,.1), transparent 70%),
    rgba(0,0,0,.22);
  border:1px solid rgba(232,201,106,.14);
}
.ps-poster-mock-blade,
.ps-poster-mock-caption{display:none!important}
.ps-ai-bot{
  position:relative;
  width:46px;
  height:46px;
  color:#e8c96a;
  display:grid;
  place-items:center;
}
.ps-ai-bot svg{
  width:40px;
  height:40px;
  position:relative;
  z-index:1;
  filter:drop-shadow(0 0 10px rgba(232,201,106,.28));
  animation:ps-ai-bob 2.8s ease-in-out infinite;
}
.ps-ai-pulse{
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1px solid rgba(232,201,106,.35);
  animation:ps-ai-ring 2.2s ease-out infinite;
}
@keyframes ps-ai-bob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes ps-ai-ring{
  0%{transform:scale(.85);opacity:.7}
  100%{transform:scale(1.35);opacity:0}
}
.ps-ai-ready{
  font-family:"Noto Serif SC","ZCOOL XiaoWei",serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:.12em;
  color:rgba(247,229,163,.95);
}
.ps-ai-think{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(180,190,210,.62);
  font-size:12px;
}
.ps-ai-think i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#e8c96a;
  opacity:.35;
  animation:ps-ai-dot 1.2s ease-in-out infinite;
}
.ps-ai-think i:nth-child(2){animation-delay:.15s}
.ps-ai-think i:nth-child(3){animation-delay:.3s}
.ps-ai-think em{
  font-style:normal;
  letter-spacing:.08em;
}
@keyframes ps-ai-dot{
  0%,80%,100%{opacity:.25;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-3px)}
}
.ps-empty .ps-brief{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  width:100% !important;
  margin:0 !important;
  padding:8px 12px !important;
  border-radius:12px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(232,201,106,.14);
  box-sizing:border-box;
}
.ps-empty .ps-brief li{
  padding:6px 0 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
.ps-empty .ps-brief li:last-child{
  border-bottom:0;
  padding-bottom:2px !important;
}
@media (max-width:980px){
  .ps-empty{height:auto;max-height:none}
  .ps-poster-mock{min-height:0}
  .ps-poster-mock-art{max-height:120px}
}

/* —— Pay modal —— */
.ps-pay-modal{
  position:fixed;inset:0;z-index:12000;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.ps-pay-modal[hidden]{display:none!important}
.ps-pay-backdrop{
  position:absolute;inset:0;
  background:rgba(4,6,12,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.ps-pay-panel{
  position:relative;z-index:1;
  width:min(400px,100%);
  padding:28px 24px 22px;
  border-radius:20px;
  background:
    linear-gradient(165deg,rgba(36,28,18,.96),rgba(12,14,20,.98) 55%),
    #12151c;
  border:1px solid rgba(232,201,106,.28);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 28px 80px rgba(0,0,0,.55),
    0 0 60px rgba(232,201,106,.08);
  color:#f3e8c8;
  text-align:center;
  animation:psPayIn .28s ease both;
}
@keyframes psPayIn{
  from{opacity:0;transform:translateY(12px) scale(.97)}
  to{opacity:1;transform:none}
}
.ps-pay-x{
  position:absolute;top:10px;right:12px;
  width:36px;height:36px;border:0;border-radius:10px;
  background:transparent;color:rgba(243,232,200,.55);
  font-size:24px;line-height:1;cursor:pointer;
}
.ps-pay-x:hover{color:#fff;background:rgba(255,255,255,.06)}
.ps-pay-choose h3,
.ps-pay-qr h3{
  margin:4px 0 10px;
  font-family:"Noto Serif SC","ZCOOL XiaoWei",serif;
  font-size:22px;font-weight:700;letter-spacing:.08em;
  color:#f6e7b2;
}
.ps-pay-price{
  margin:0 0 6px;font-size:15px;color:rgba(243,232,200,.72);
}
.ps-pay-price strong{
  font-size:28px;font-weight:800;color:#e8c96a;
  letter-spacing:.02em;margin-left:4px;
}
.ps-pay-desc,
.ps-pay-tip{
  margin:0 0 18px;font-size:13px;line-height:1.55;
  color:rgba(243,232,200,.52);
}
.ps-pay-channels{
  display:flex;flex-direction:column;gap:12px;
}
.ps-pay-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;min-height:48px;padding:12px 18px;
  border:0;border-radius:12px;
  font-size:16px;font-weight:700;letter-spacing:.06em;
  cursor:pointer;text-decoration:none;color:#fff;
  transition:filter .15s ease,transform .15s ease;
}
.ps-pay-btn:hover{filter:brightness(1.06)}
.ps-pay-btn:active{transform:scale(.98)}
.ps-pay-btn--wechat{
  background:linear-gradient(180deg,#2fd16a,#17a84d);
  box-shadow:0 10px 28px rgba(23,168,77,.35);
}
.ps-pay-btn--alipay{
  background:linear-gradient(180deg,#3aa7ff,#1677ff);
  box-shadow:0 10px 28px rgba(22,119,255,.35);
}
.ps-pay-qr-wrap{
  width:220px;height:220px;margin:0 auto 14px;
  border-radius:14px;
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 28px rgba(0,0,0,.35);
  overflow:hidden;
}
.ps-pay-qr-loading{
  font-size:13px;color:#666;padding:16px;
}
.ps-pay-qr-wrap img{
  width:100%;height:100%;object-fit:contain;display:block;
}
.ps-pay-msg{
  min-height:1.4em;margin:8px 0 12px;
  font-size:13px;color:rgba(243,232,200,.6);
}
.ps-pay-msg.is-ok{color:#7dcea0;font-weight:700}
.ps-pay-msg.is-err{color:#e57373}
.ps-pay-back{
  margin-top:4px;border:0;background:transparent;
  color:rgba(232,201,106,.7);font-size:13px;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;
}
.ps-pay-back:hover{color:#e8c96a}
.ps-pay-open{margin:0 0 8px}
@media (max-width:520px){
  .ps-pay-panel{padding:24px 18px 18px;border-radius:16px}
  .ps-pay-qr-wrap{width:200px;height:200px}
}


/* —— Showcase marquee —— */
.ps-showcase{
  width:100%;
  margin:6px 0 clamp(20px,3vw,32px);
  padding:0;
}
.ps-showcase-head{
  text-align:center;
  margin:0 0 16px;
}
.ps-showcase-kicker{
  margin:0 0 4px;
  font-size:11px;
  letter-spacing:.32em;
  text-indent:.32em;
  color:rgba(232,201,106,.62);
}
.ps-showcase-title{
  margin:0;
  font-family:"Noto Serif SC","ZCOOL XiaoWei",serif;
  font-size:clamp(18px,2.2vw,24px);
  font-weight:700;
  letter-spacing:.12em;
  color:#f3e8c8;
}
.ps-showcase-viewport{
  position:relative;
  width:100%;
  overflow:hidden !important;
  scrollbar-width:none;
  -ms-overflow-style:none;
  mask-image:linear-gradient(90deg,transparent 0, #000 3%, #000 97%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0, #000 3%, #000 97%, transparent 100%);
}
.ps-showcase-viewport::-webkit-scrollbar{display:none;width:0;height:0}
.ps-showcase-track{
  display:flex;
  width:max-content;
  gap:0;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.ps-showcase-set{
  display:flex;
  flex:0 0 auto;
  gap:16px;
  padding-right:16px;
}
.ps-showcase-card{
  flex:0 0 auto;
  width:clamp(160px,15.5vw,220px);
  margin:0;
}
.ps-showcase-thumb{
  display:block;width:100%;padding:0;border:0;
  border-radius:14px;overflow:hidden;cursor:zoom-in;
  background:rgba(0,0,0,.35);
  box-shadow:
    0 0 0 1px rgba(232,201,106,.22),
    0 14px 36px rgba(0,0,0,.45);
  transition:transform .2s ease,box-shadow .2s ease;
}
.ps-showcase-thumb:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:
    0 0 0 1px rgba(232,201,106,.5),
    0 20px 48px rgba(0,0,0,.55),
    0 0 28px rgba(232,201,106,.14);
}
.ps-showcase-thumb img{
  display:block;width:100%;height:auto;
  aspect-ratio:3/4;object-fit:cover;
  pointer-events:none;
  user-select:none;
}
.ps-showcase-card figcaption{
  margin-top:8px;text-align:center;
}
.ps-showcase-tag{
  display:block;
  font-size:11px;letter-spacing:.14em;
  color:rgba(232,201,106,.7);margin-bottom:2px;
}
.ps-showcase-card strong{
  font-size:13px;font-weight:600;color:rgba(243,232,200,.88);
  letter-spacing:.06em;
}
@media (max-width:720px){
  .ps-showcase-card{width:136px}
  .ps-showcase-set{gap:12px;padding-right:12px}
}
.ps-lightbox{
  position:fixed;inset:0;z-index:13000;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.ps-lightbox[hidden]{display:none!important}
.ps-lightbox-backdrop{
  position:absolute;inset:0;border:0;padding:0;
  background:rgba(4,6,12,.82);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  cursor:zoom-out;
}
.ps-lightbox-panel{
  position:relative;z-index:1;margin:0;
  max-width:min(520px,92vw);
  max-height:90vh;
  animation:psPayIn .25s ease both;
}
.ps-lightbox-panel img{
  display:block;width:100%;height:auto;max-height:86vh;
  object-fit:contain;border-radius:12px;
  box-shadow:0 24px 80px rgba(0,0,0,.6),0 0 0 1px rgba(232,201,106,.25);
}
.ps-lightbox-x{
  position:absolute;top:-10px;right:-10px;
  width:36px;height:36px;border:0;border-radius:50%;
  background:rgba(20,18,14,.9);color:#f3e8c8;
  font-size:22px;line-height:1;cursor:pointer;
  box-shadow:0 4px 16px rgba(0,0,0,.4);
}
.ps-lightbox-x:hover{background:#e8c96a;color:#1a1408}


/* —— Mobile UX —— */
.ps-upload-tip-mb{display:none}
.ps-upload-tip-pc{display:inline}

@media (max-width:720px){
  .ps-upload-tip-pc{display:none}
  .ps-upload-tip-mb{display:inline}

  body.ps-body{
    padding-bottom:env(safe-area-inset-bottom,0);
  }
  .ps-page{
    padding:10px 12px calc(28px + env(safe-area-inset-bottom,0));
  }
  .ps-topbar{
    gap:8px;
    margin-bottom:10px;
  }
  .ps-logo{
    min-width:0;
    flex:1 1 auto;
    padding:5px 10px 5px 5px;
  }
  .ps-logo-tag{display:none}
  .ps-logo-name{font-size:18px;letter-spacing:.06em}
  .ps-install{
    padding:8px 10px;
    font-size:12px;
  }
  .ps-install-ico{width:14px;height:14px}

  .ps-hero-core{padding-bottom:8px;margin-bottom:0}
  .ps-hero-eyebrow{margin-bottom:4px;font-size:11px;letter-spacing:.18em;text-indent:.18em}
  .ps-hero-title{margin-bottom:6px;font-size:clamp(26px,8vw,34px);letter-spacing:.04em}
  .ps-hero-boast{margin-bottom:4px;font-size:14px;letter-spacing:.04em}
  .ps-hero-sub{font-size:12px;line-height:1.55;max-width:22em}

  .ps-showcase{margin:2px 0 14px}
  .ps-showcase-head{margin-bottom:10px}
  .ps-showcase-title{font-size:16px;letter-spacing:.08em}
  .ps-showcase-card{width:132px}
  .ps-showcase-thumb{border-radius:12px}

  .ps-workspace{
    gap:14px;
    min-height:0;
  }
  .ps-panel.ps-wizard{
    padding:16px 14px 14px;
    border-radius:18px;
  }
  .ps-wizard-head{margin-bottom:10px;padding-bottom:8px}
  .ps-wizard-claim{font-size:14px}
  .ps-rail{
    gap:6px 4px;
    margin-bottom:14px;
    padding:10px 6px;
  }
  .ps-rail li{
    gap:4px;
    min-height:44px;
    justify-content:flex-start;
  }
  .ps-rail li b{
    width:30px;
    height:30px;
  }
  .ps-rail li span{
    font-size:10px;
    letter-spacing:0;
  }
  .ps-panel-title{font-size:18px}
  .ps-panel-sub{font-size:13px;margin-bottom:12px}
  .ps-logo-zone,
  .ps-qr-zone{
    min-height:140px;
  }
  .ps-nav{
    position:sticky;
    bottom:0;
    z-index:5;
    margin:14px -14px -14px;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom,0));
    background:linear-gradient(180deg,transparent,rgba(12,14,20,.96) 28%,rgba(12,14,20,.98));
    border-top:1px solid rgba(232,201,106,.1);
  }
  .ps-next,
  .ps-back,
  .ps-generate{
    min-height:44px;
  }
  .ps-chip-btn{
    min-height:40px;
    padding:10px 14px;
    font-size:14px;
  }
  .ps-style{
    min-height:40px;
    padding:10px 14px;
    font-size:14px;
  }
  .ps-size{
    padding:12px;
  }
  .ps-size strong{font-size:14px}
  .ps-prompt{font-size:16px!important;min-height:80px}
  .ps-logo-empty strong{font-size:15px}
  .ps-logo-empty span{font-size:12px}

  .ps-stage .ps-canvas,
  .ps-canvas,
  .ps-canvas--portrait,
  .ps-canvas--landscape,
  .ps-canvas--square{
    min-height:280px;
    height:auto;
    max-height:none;
    border-radius:18px;
  }
  .ps-pay-modal{
    padding:12px;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0));
    align-items:flex-end;
  }
  .ps-pay-panel{
    width:100%;
    border-radius:18px 18px 12px 12px;
  }
  .ps-toast{
    bottom:calc(18px + env(safe-area-inset-bottom,0));
    max-width:calc(100vw - 24px);
  }
  .ps-seo{padding:16px 14px 6px;margin-top:18px}
}
