.ps-user-header-mount{justify-self:end;min-width:max-content}
.ps-user-header{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;flex-shrink:0;min-width:max-content}
.ps-gallery-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ded9d1;border-radius:999px;background:transparent;padding:7px 12px;font-size:13px;font-weight:500;color:#24211e;text-decoration:none;line-height:1;cursor:pointer;font-family:inherit;transition:border-color .15s ease,background .15s ease;flex:0 0 auto;white-space:nowrap}
.ps-gallery-btn:hover{border-color:rgba(201,99,63,.4)}
.ps-gallery-btn svg{flex:0 0 auto;width:14px;height:14px;max-width:none;color:#766f66}
.ps-credits-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #ded9d1;border-radius:999px;background:transparent;padding:7px 12px;font-size:13px;font-weight:600;color:#24211e;cursor:pointer;line-height:1;font-family:inherit;transition:border-color .15s ease,background .15s ease;flex:0 0 auto;flex-wrap:nowrap;white-space:nowrap}
.ps-credits-btn:hover{background:rgba(0,0,0,.03)}
.ps-credits-btn b{color:#c9633f}
/* Cost pill：半透明深底 + 透明底萝卜（无白圆衬底） */
.ps-btn-cost{display:inline-flex!important;align-items:center;gap:0;margin-left:.45em}
.ps-cost-pill{display:inline-flex;align-items:center;gap:2px;padding:2px 7px 2px 9px;border-radius:999px;background:rgba(0,0,0,.28);line-height:1;vertical-align:middle;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.ps-cost-pill .ps-cost-num{font-weight:800;font-size:1.05em;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.35)}
.ps-btn-cost .ps-token-icon,.ps-btn-cost .ps-radish-icon,.ps-cost-pill .ps-radish-icon{flex:0 0 auto;width:36px;height:36px;max-width:none;vertical-align:middle;display:block;margin:0 -2px 0 -3px;filter:none}
.ps-credits-btn .ps-token-icon,.ps-credits-btn .ps-radish-icon{flex:0 0 auto;width:26px;height:26px;max-width:none;display:block}
.ps-credits-btn .ps-radish-icon,.ps-plan-credits .ps-radish-icon{filter:none}
.ps-token,.pf-hero-token{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;flex-wrap:nowrap;white-space:nowrap;line-height:1}
.ps-token .ps-token-icon,.pf-hero-token .ps-token-icon{flex:0 0 auto;width:24px;height:24px;max-width:none;display:block}
html.dark .ps-cost-pill{background:rgba(0,0,0,.45)}
html.dark .ps-cost-pill .ps-cost-num{color:#fff}
.ps-auth-actions{display:flex;align-items:center;gap:12px}
.ps-login-link{font-size:15px;font-weight:500;color:#766f66!important;text-decoration:none;transition:color .15s ease}
.ps-login-link:hover{color:#24211e!important}
.ps-register-btn,.ps-btn-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#c9633f;color:#fff!important;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;line-height:1.2;transition:background .15s ease,transform .15s ease}
.ps-register-btn:hover,.ps-btn-primary:hover{background:#b55636;transform:translateY(-1px)}
html.dark .ps-login-link{color:rgba(247,247,245,.72)!important}
html.dark .ps-login-link:hover{color:#f7f7f5!important}
@media(max-width:720px){.ps-gallery-btn span{display:none}}

/* === Unified topbar layout — shared across all pages === */
/* 两列：左返回 / 右用户区（品牌 logo+文案隐藏，减拥挤） */
.ps-topbar{height:58px;background:#fffdf9;border-bottom:1px solid #ded9d1;display:grid;grid-template-columns:1fr auto!important;align-items:center;padding:0 20px;column-gap:12px}
.ps-brand{display:none!important}
.ps-brand img{display:none!important}
@media(max-width:720px){.ps-topbar{padding:0 14px}}

/* Theme + inbox sit together on the right */
.ps-icon-cluster{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}
.ps-icon-cluster .ps-theme-toggle,
.ps-icon-cluster .ps-inbox-btn{margin:0}

/* 「其他产品」下拉：Sprint +（可选）控制台 */
.ps-products{position:relative;display:inline-flex;flex:0 0 auto}
.ps-products-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  border:1px solid #ded9d1;border-radius:999px;background:transparent;
  padding:7px 12px;font-size:12px;font-weight:600;color:#766f66;cursor:pointer;
  font-family:inherit;line-height:1;white-space:nowrap;
  transition:color .15s ease,border-color .15s ease,background .15s ease
}
.ps-products-btn:hover,
.ps-products-btn[aria-expanded="true"]{color:#c9633f;border-color:#c9633f}
.ps-products-btn svg{flex:0 0 auto;opacity:.75}
.ps-products-menu{
  position:absolute;right:0;top:calc(100% + 8px);z-index:220;min-width:148px;
  background:#fff;border:1px solid #ded9d1;border-radius:12px;padding:6px;
  box-shadow:0 10px 30px rgba(52,39,26,.12)
}
.ps-products-item{
  display:block;width:100%;box-sizing:border-box;text-align:left;text-decoration:none;
  border:0;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:600;
  color:#24211e;font-family:inherit;background:transparent;cursor:pointer
}
.ps-products-item:hover{background:#faf6f0;color:#c9633f}
.ps-products-item[hidden]{display:none!important}

/* === Unified topbar back button — shared across all pages === */
.ps-topbar .ps-back{
  display:inline-flex;align-items:center;gap:6px;justify-self:start;
  padding:8px 16px;border:1.5px solid #ded9d1;border-radius:999px;
  background:#fffdf9;color:#514a43;font-size:14px;font-weight:600;
  text-decoration:none;cursor:pointer;font-family:inherit;line-height:1;
  transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease
}
.ps-topbar .ps-back svg{flex-shrink:0;transition:transform .15s ease}
.ps-topbar .ps-back:hover{border-color:#c9633f;color:#c9633f;background:#fdf3ef}
.ps-topbar .ps-back:hover svg{transform:translateX(-3px)}

/* Theme toggle (secondary pages; homepage uses #themeToggle in hero nav) */
.ps-theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border:1px solid #ded9d1;border-radius:999px;background:transparent;color:#766f66;
  cursor:pointer;padding:0;flex:0 0 auto;overflow:hidden;flex-wrap:nowrap;
  transition:color .15s ease,background .15s ease,border-color .15s ease;
}
.ps-theme-toggle:hover{color:#24211e;background:rgba(0,0,0,.04);border-color:#c9c2b8}
.ps-theme-toggle svg{display:block;flex:0 0 auto}
/* 默认只显示月亮；不要依赖 html.light（缺 class 时日月会叠在一起） */
.ps-theme-toggle .ps-theme-icon-sun{display:none}
.ps-theme-toggle .ps-theme-icon-moon{display:block}
html.dark .ps-theme-toggle .ps-theme-icon-sun{display:block}
html.dark .ps-theme-toggle .ps-theme-icon-moon{display:none}

/* Auth / avatar / account (shared with Pixel Sprint UX) */
.ps-cross-link{font-size:12px;color:#766f66;text-decoration:none;padding:4px 8px;border:1px solid #ded9d1;border-radius:999px}
.ps-cross-link:hover{color:#c9633f;border-color:#c9633f}
.ps-console-link{font-weight:600}
.ps-inbox-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #ded9d1;border-radius:999px;background:transparent;cursor:pointer;color:#24211e}
.ps-inbox-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#c9633f;color:#fff;font-size:10px;line-height:16px;font-weight:700}
.ps-credits-cluster{display:inline-flex;align-items:stretch;border:1px solid #ded9d1;border-radius:999px;overflow:hidden}
.ps-credits-cluster .ps-credits-btn{border:0;border-right:1px solid #ded9d1;border-radius:0}
.ps-avatar-btn{border:0;background:#f3eee6;width:36px;padding:0;cursor:pointer;display:grid;place-items:center}
.ps-avatar-img,.ps-avatar-md img,.ps-avatar-lg img{width:100%;height:100%;object-fit:cover;border-radius:999px;display:block}
.ps-avatar-fallback,.ps-avatar-md span,.ps-avatar-lg span{display:grid;place-items:center;width:100%;height:100%;font-weight:700;color:#c9633f;background:#f3eee6;border-radius:999px}
.ps-avatar-btn .ps-avatar-img,.ps-avatar-btn .ps-avatar-fallback{width:28px;height:28px;font-size:12px}
.ps-user-header--authed{position:relative}
.ps-user-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:200;width:min(300px,calc(100vw - 1.5rem));background:#fff;border:1px solid #ded9d1;border-radius:12px;padding:14px;box-shadow:0 10px 30px rgba(52,39,26,.12)}
.ps-user-menu-head{display:flex;gap:10px;align-items:flex-start}
.ps-avatar-md{width:42px;height:42px;border-radius:999px;overflow:hidden;flex:0 0 auto}
.ps-user-menu-name{font-weight:700;font-size:15px}
.ps-user-menu-email,.ps-muted{color:#766f66;font-size:13px}
.ps-user-menu-plan{display:flex;justify-content:space-between;align-items:center;padding:10px 0;margin:8px 0;border-top:1px solid #e8e2d9;border-bottom:1px solid #e8e2d9}
.ps-plan-credits{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.ps-menu-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 8px;border-radius:8px;font-size:14px;font-weight:600;color:#24211e;cursor:pointer;text-decoration:none;font-family:inherit}
.ps-menu-item:hover{background:#faf6f0}
.ps-menu-danger{color:#b42318}

/* Account / top-up dialog styles moved to ps-account-sprint.css */
.ps-feedback-tab{display:none!important}

/* 小纸条 — Pixel Sprint CoconaFeedbackWidget 对齐 */
.ps-fb-tab{
  position:fixed;z-index:9990;padding:0;margin:0;border:0;background:transparent;
  touch-action:none;cursor:grab;line-height:0;transition:filter .15s ease,transform .15s ease;
  top:50%;right:0;transform:translateY(-50%);
}
.ps-fb-tab:hover{filter:brightness(1.1) drop-shadow(0 0 14px rgba(217,119,75,.45))}
.ps-fb-tab:active{transform:translateY(-50%) scale(.98)}
.ps-fb-tab.is-dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.04)!important;filter:none}
.ps-fb-tab-img{
  display:block;width:auto;max-width:none;height:5rem;user-select:none;pointer-events:none;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));
}
.ps-fb-tab.is-dragging .ps-fb-tab-img{height:5.75rem;object-fit:contain;image-rendering:auto}
.ps-fb-host{
  position:fixed;z-index:9991;width:17.5rem;max-width:calc(100vw - 1.5rem);
  transform:translateY(-50%);pointer-events:none;
}
.ps-fb-host.is-right{right:0;left:auto}
.ps-fb-host.is-left{left:0;right:auto}
.ps-fb-host[hidden]{display:none!important}
.ps-fb-panel{
  pointer-events:auto;position:relative;overflow:visible;border-radius:18px;
  border:1px solid #e8d5c4;background:#fdf8f3;padding:24px 20px 20px;
  box-shadow:0 12px 36px rgba(92,48,22,.12);
}
.ps-fb-peek{
  position:absolute;left:50%;top:0;z-index:10;transform:translate(-50%,-90%);
  height:4.25rem;width:auto;max-width:none;object-fit:contain;pointer-events:none;
}
.ps-fb-close{
  position:absolute;right:10px;top:10px;z-index:20;width:28px;height:28px;border:0;border-radius:999px;
  background:transparent;color:#a39e96;font-size:18px;line-height:1;cursor:pointer;
}
.ps-fb-close:hover{background:#f5ebe0;color:#5c3016}
.ps-fb-title{margin:0;text-align:center;font-size:16px;font-weight:700;line-height:1.35;color:#5c3016}
.ps-fb-title span{color:#d9774b;text-transform:lowercase}
.ps-fb-intro{margin:6px 0 0;white-space:pre-line;text-align:left;font-size:14px;line-height:1.7;color:#5c3016}
.ps-fb-textarea-wrap{position:relative;margin-top:16px}
.ps-fb-textarea{
  width:100%;box-sizing:border-box;resize:none;border-radius:12px;border:1px solid #ebe3d9;
  background:#fff;padding:12px 14px 28px;font-size:14px;line-height:1.55;color:#24211e;
  font-family:inherit;outline:none;color-scheme:light;
}
.ps-fb-textarea:focus{border-color:rgba(217,119,75,.45);box-shadow:0 0 0 3px rgba(217,119,75,.1)}
.ps-fb-textarea::placeholder{color:#b5a89a}
/* 小纸条面板始终浅色；覆盖 html.dark textarea 全局黑底 */
html.dark .ps-fb-textarea,
html.dark .ps-fb-textarea:focus{
  background:#fff!important;
  color:#24211e!important;
  border-color:#ebe3d9!important;
  box-shadow:none;
  color-scheme:light;
}
html.dark .ps-fb-textarea:focus{
  border-color:rgba(217,119,75,.45)!important;
  box-shadow:0 0 0 3px rgba(217,119,75,.1)!important;
}
html.dark .ps-fb-textarea::placeholder{color:#b5a89a!important}
html.dark .ps-fb-count{color:#b5a89a!important}
.ps-fb-count{position:absolute;right:12px;bottom:10px;font-size:11px;color:#b5a89a;pointer-events:none;font-variant-numeric:tabular-nums}
.ps-fb-error{margin:8px 0 0;text-align:center;font-size:12px;color:#b42318}
.ps-fb-submit{
  margin-top:12px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:0;border-radius:10px;background:#d9774b;color:#fff;padding:10px 12px;font-size:14px;
  font-weight:700;cursor:pointer;font-family:inherit;
  box-shadow:0 4px 16px rgba(217,119,75,.45);transition:background .15s ease,box-shadow .15s ease,opacity .15s ease;
}
.ps-fb-submit:hover{background:#c9633f;box-shadow:0 6px 22px rgba(217,119,75,.55)}
.ps-fb-submit:disabled{opacity:.7;cursor:not-allowed}
.ps-fb-success{padding:24px 0;text-align:center}
.ps-fb-success-title{margin:0;font-size:16px;font-weight:700;color:#5c3016}
.ps-fb-success-hint{margin:8px 0 0;font-size:12px;color:#766f66}

/* ===== Dark theme variants for header account widgets ===== */
html.dark .ps-topbar{
  background:#151821;border-bottom-color:#2a2e3a;color:#f7f7f5;
}
html.dark .ps-brand{color:#f7f7f5}
html.dark .ps-topbar .ps-back{
  background:#1e212b;border-color:#3a3e4a;color:#a7adb8;
}
html.dark .ps-topbar .ps-back:hover{
  border-color:#ff9f43;color:#ff9f43;background:rgba(255,159,67,.08);
}
html.dark .ps-theme-toggle{
  border-color:rgba(255,255,255,.18);color:rgba(247,247,245,.86);background:transparent;
}
html.dark .ps-theme-toggle:hover{
  color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);
}
html.dark .ps-products-btn{
  color:rgba(247,247,245,.78);border-color:rgba(255,255,255,.18);background:transparent;
}
html.dark .ps-products-btn:hover,
html.dark .ps-products-btn[aria-expanded="true"]{color:#ff9f43;border-color:#ff9f43}
html.dark .ps-products-menu{
  background:#1e212b;border-color:#2a2e3a;box-shadow:0 12px 32px rgba(0,0,0,.45);
}
html.dark .ps-products-item{color:#f7f7f5}
html.dark .ps-products-item:hover{background:rgba(255,255,255,.06);color:#ff9f43}
html.dark .ps-inbox-btn{
  border-color:rgba(255,255,255,.18);color:rgba(247,247,245,.9);background:transparent;
}
html.dark .ps-inbox-btn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28)}
html.dark .ps-gallery-btn{
  border-color:rgba(255,255,255,.18);color:rgba(247,247,245,.9);background:transparent;
}
html.dark .ps-gallery-btn:hover{border-color:rgba(255,159,67,.55);background:rgba(255,255,255,.04)}
html.dark .ps-gallery-btn svg{color:rgba(247,247,245,.65)}
html.dark .ps-credits-cluster{
  border-color:rgba(255,255,255,.18);background:transparent;
}
html.dark .ps-credits-cluster .ps-credits-btn{
  border-right-color:rgba(255,255,255,.18);color:rgba(247,247,245,.86);background:transparent;
}
html.dark .ps-credits-cluster .ps-avatar-btn{background:transparent}
html.dark .ps-credits-cluster .ps-avatar-btn:hover{background:rgba(255,255,255,.05)}
html.dark .ps-credits-btn:hover{background:rgba(255,255,255,.05)}
html.dark .ps-credits-btn b{color:#ff9f43}
html.dark .ps-credits-btn .ps-token-icon{color:#ff9f43}
html.dark .ps-avatar-btn{background:transparent}
html.dark .ps-avatar-btn .ps-avatar-fallback{background:rgba(255,255,255,.08);color:#ff9f43}
html.dark .ps-user-menu{
  background:#1e212b;border-color:#2a2e3a;box-shadow:0 12px 32px rgba(0,0,0,.45);color:#f7f7f5;
}
html.dark .ps-user-menu-name{color:#f7f7f5}
html.dark .ps-user-menu-email,
html.dark .ps-muted{color:#a7adb8}
html.dark .ps-user-menu-plan{border-color:#2a2e3a}
html.dark .ps-plan-credits{color:#f7f7f5}
html.dark .ps-menu-item{color:#f7f7f5}
html.dark .ps-menu-item:hover{background:rgba(255,255,255,.06)}
html.dark .ps-menu-danger{color:#f87171}
html.dark .ps-register-btn,
html.dark .ps-btn-primary{background:#ff9f43;color:#1a0f05!important}
html.dark .ps-register-btn:hover,
html.dark .ps-btn-primary:hover{background:#fb923c}

/* Homepage hero nav — light */
html.light .pf-hero-nav .ps-cross-link,
html.light .pf-hero-nav .ps-inbox-btn,
html.light .pf-hero-nav .ps-gallery-btn,
html.light .pf-hero-nav .ps-credits-cluster{
  border-color:#ded9d1;
}
html.light .pf-hero-nav .ps-gallery-btn,
html.light .pf-hero-nav .ps-inbox-btn,
html.light .pf-hero-nav .ps-credits-btn{
  color:#554e47;
}
html.light .pf-hero-nav .ps-gallery-btn svg{color:#766f66}
html.light .pf-hero-nav .ps-credits-btn b,
html.light .pf-hero-nav .ps-credits-btn .ps-token-icon{color:#c9633f}
html.light .pf-hero-nav .ps-avatar-btn{background:#f3eee6}

/* Homepage hero nav — dark */
html.dark .pf-hero-nav .ps-cross-link,
html.dark .pf-hero-nav .ps-inbox-btn,
html.dark .pf-hero-nav .ps-gallery-btn,
html.dark .pf-hero-nav .ps-credits-cluster{
  border-color:rgba(255,255,255,.18);
}
html.dark .pf-hero-nav .ps-gallery-btn,
html.dark .pf-hero-nav .ps-inbox-btn,
html.dark .pf-hero-nav .ps-credits-btn{
  color:rgba(247,247,245,.9);
}
html.dark .pf-hero-nav .ps-gallery-btn svg{color:rgba(247,247,245,.65)}
html.dark .pf-hero-nav .ps-credits-btn b,
html.dark .pf-hero-nav .ps-credits-btn .ps-token-icon{color:#ff9f43}
html.dark .pf-hero-nav .ps-cross-link{color:rgba(247,247,245,.78)}
html.dark .pf-hero-nav .ps-avatar-btn{background:transparent}
html.dark .pf-hero-nav .ps-avatar-btn .ps-avatar-fallback{background:rgba(255,255,255,.08);color:#ff9f43}

