/* Panghu AI UI System v3: shared light product language. */
:root {
  color-scheme: light;
  --ph-page:#f7f9fa;--ph-surface:#fff;--ph-soft:#f1f5f6;--ph-raised:#e9eff1;
  --ph-ink:#162033;--ph-text:#354154;--ph-muted:#667386;--ph-line:#d9e1e6;
  --ph-line-strong:#bcc8d1;--ph-accent:#087f8c;--ph-accent-soft:#e2f2f3;
  --ph-success:#148357;--ph-warning:#a86a10;--ph-danger:#b54450;
  --ph-card:12px;--ph-control:8px;--ph-shadow:0 18px 45px rgba(32,55,68,.09);
  --ph-ease:cubic-bezier(.16,1,.3,1);
  --bg:var(--ph-page);--bg-2:var(--ph-soft);--panel:var(--ph-surface);
  --panel-glass:rgba(255,255,255,.92);--panel-hover:var(--ph-soft);
  --panel-solid:var(--ph-surface);--panel-soft:var(--ph-soft);
  --ink:var(--ph-ink);--text:var(--ph-text);--muted:var(--ph-muted);--muted-2:#8994a2;
  --line:var(--ph-line);--line-strong:var(--ph-line-strong);--teal:var(--ph-accent);
  --teal-soft:var(--ph-accent-soft);--green:var(--ph-success);--orange:var(--ph-warning);
  --orange-dark:#8d570b;--orange-soft:#fbf0dd;--red:var(--ph-danger);
  --blue:#3d6e9d;--purple:#6d6597;--shadow:var(--ph-shadow);
  --shadow-strong:0 26px 64px rgba(32,55,68,.13);--glow-cyan:var(--ph-shadow);--glow-amber:var(--ph-shadow)
}
html{background:var(--ph-page);scroll-behavior:smooth}
body{color:var(--ph-ink);background:radial-gradient(circle at 88% 4%,rgba(8,127,140,.055),transparent 22rem),var(--ph-page);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}
body::before,body::after{opacity:0!important}
::selection{color:var(--ph-ink);background:#bde5e8}
button,a,input,select,textarea{transition:color .22s var(--ph-ease),background-color .22s var(--ph-ease),border-color .22s var(--ph-ease),box-shadow .22s var(--ph-ease),transform .22s var(--ph-ease),opacity .22s var(--ph-ease)}
button:active,[role=button]:active,.ghost-btn:active,.primary-action:active,.secondary-action:active{transform:translateY(1px) scale(.99)}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(8,127,140,.22)!important;outline-offset:2px}
input,select,textarea{color:var(--ph-ink)!important;border-color:var(--ph-line)!important;background:var(--ph-surface)!important;box-shadow:inset 0 1px 1px rgba(26,48,62,.025)}
input::placeholder,textarea::placeholder{color:#82909f!important}

/* User workspace */
.app-shell{min-height:100dvh;grid-template-columns:236px minmax(0,1fr)}
.sidebar{height:100dvh;gap:24px;padding:20px 14px;border-color:var(--ph-line);background:rgba(247,249,250,.94);box-shadow:none;backdrop-filter:blur(18px)}
.brand{color:var(--ph-ink);font-size:18px;letter-spacing:-.02em}.brand-mark{width:46px;height:46px}
.brand-mark img,.admin-brand img{filter:none;animation:none}
.brand-mark,.login-logo-mark,.video-page-nav .brand-mark{
  border:0!important;background:transparent!important;box-shadow:none!important;
}
.brand-mark img,.site-header .brand>img,.product-head>img,.admin-brand img{
  object-fit:contain;background:transparent!important;
}
.ghost-btn,.full-ghost,.back-home,.admin-top a,.primary-action,.secondary-action,.login-link{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;
}
.nav{gap:5px}.nav-item,.admin-nav button{min-height:52px;border:1px solid transparent;border-radius:var(--ph-control);color:var(--ph-muted);background:transparent;box-shadow:none}
.nav-item{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;column-gap:14px;width:100%;height:52px;padding:0 12px;text-align:left;transform:none!important}
.nav-item .nav-icon{
  position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;margin:0;
  color:#356d78;border:1px solid #d3e0e4;border-radius:10px;
  background:linear-gradient(145deg,#fff,#f0f6f7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 12px rgba(37,71,82,.06);
  transform:translateZ(0) scale(1);
  transition:color .18s var(--ph-ease),background .18s var(--ph-ease),border-color .18s var(--ph-ease),box-shadow .18s var(--ph-ease),transform .18s var(--ph-ease)
}
.nav-item .nav-icon i{font-size:22px}
.nav-item:hover .nav-icon{
  color:#087f8c;border-color:#a9cdd2;background:#e7f3f4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(8,127,140,.11);
  transform:translateZ(0) scale(1.025)
}
.nav-item.active .nav-icon{
  color:#fff;border-color:#087683;
  background:linear-gradient(145deg,#1495a1,#08727e);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 18px rgba(8,127,140,.2);
  transform:translateZ(0) scale(1)
}
.nav-item:active .nav-icon{transform:translateZ(0) scale(.965)}
.nav-item:hover,.nav-item.active,.admin-nav button:hover,.admin-nav button.active{color:var(--ph-ink);border-color:#c9d7dc;background:var(--ph-surface);box-shadow:0 8px 22px rgba(32,55,68,.07);transform:none!important}
.invite-card{border-color:var(--ph-line)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.invite-card .gift{color:var(--ph-accent)!important;border-color:#b8d7da!important;background:var(--ph-accent-soft)!important}
.invite-card em{color:var(--ph-accent)!important}
.sidebar>.brand{border:1px solid var(--ph-line)!important;border-radius:var(--ph-card)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.main{min-width:0;background:transparent}.topbar{min-height:72px;padding:0 clamp(20px,2.8vw,42px);border-color:var(--ph-line);background:rgba(247,249,250,.9);backdrop-filter:blur(16px)}
.topbar h1,.admin-top h1{color:var(--ph-ink);letter-spacing:-.025em}.content-grid,.page-panel{padding-left:clamp(20px,2.8vw,42px);padding-right:clamp(20px,2.8vw,42px)}
.credit-pill,.vip-pill,.user-menu,.announcement-strip{color:var(--ph-text)!important;border-color:var(--ph-line)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.tool-card,.plan-card,.generator-card,.history-card,.tips-panel,.result-section,.page-panel,.pricing-card,.order-panel,.account-panel,.record-detail-panel,.modal-card{color:var(--ph-ink);border-color:var(--ph-line)!important;border-radius:var(--ph-card)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.tool-card:hover{border-color:#9db5be!important;box-shadow:var(--ph-shadow)!important;transform:translateY(-3px)}.tool-card::before,.tool-card::after{opacity:0!important}
.tool-card h3,.section-title h2,.rail-head h2,.generator-head h2{color:var(--ph-ink)!important}
.tool-card p,.section-title p,.tool-summary,.result-view,.history-card,.plan-card{color:var(--ph-muted)}
.tips-grid article{color:var(--ph-ink)!important;border:1px solid var(--ph-line)!important;background:var(--ph-soft)!important;box-shadow:none!important}
.tips-grid article>span{color:var(--ph-accent)!important;border-color:#b8d7da!important;background:var(--ph-accent-soft)!important}
.tips-grid article p{color:var(--ph-muted)!important}
.result-view{color:var(--ph-text)!important;border-color:var(--ph-line)!important;background:var(--ph-soft)!important;box-shadow:none!important}
.tag-row{gap:8px!important}
.tag-row span,.tag,.skill-meta span,.generation-contract span{color:#4d5f70!important;border:1px solid #d4dfe4!important;background:#f2f6f7!important;box-shadow:none!important}
.tag-row span:hover,.tag:hover{color:#096d77!important;border-color:#b4d2d6!important;background:#e7f3f4!important}
.tool-groups button,.video-platform-tabs button{border-color:var(--ph-line)!important;color:var(--ph-muted)!important;background:var(--ph-surface)!important}
.tool-groups button.active,.video-platform-tabs button.active{color:#fff!important;border-color:var(--ph-accent)!important;background:var(--ph-accent)!important}
.tool-groups button.active em{color:#fff!important;background:rgba(255,255,255,.16)!important}
.generate-btn,.orange-btn,.wechat-form-actions button[type=submit],.video-manual-card button[type=submit]{color:#fff!important;border-color:var(--ph-ink)!important;background:var(--ph-ink)!important;box-shadow:none!important}
.generate-btn:hover,.orange-btn:hover,.wechat-form-actions button[type=submit]:hover,.video-manual-card button[type=submit]:hover{background:#263247!important;transform:translateY(-2px)}
.ghost-btn,.full-ghost,.rail-head button,.admin-top a{color:var(--ph-ink)!important;border-color:var(--ph-line-strong)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.ghost-btn:hover,.full-ghost:hover,.rail-head button:hover,.admin-top a:hover{color:#066b76!important;border-color:#8fb0b9!important;background:var(--ph-accent-soft)!important}
.tool-card>button{color:#fff!important;border:1px solid var(--ph-ink)!important;background:var(--ph-ink)!important;box-shadow:none!important}
.tool-card>button:hover{border-color:#263247!important;background:#263247!important}
.plan-inner{border:1px solid #cddbe0!important;border-top:4px solid var(--ph-accent)!important;border-radius:var(--ph-card)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.plan-title{padding:18px 18px 8px!important}.plan-title strong{color:var(--ph-ink)!important;font-size:22px!important;letter-spacing:-.02em}
.plan-title span{color:#536273!important;border:1px solid #cad5da!important;border-radius:999px!important;background:#eef2f4!important}
.plan-inner p{color:var(--ph-muted)!important;padding:0 18px 16px!important}
.plan-stats{border-top:1px solid var(--ph-line)!important;border-bottom:1px solid var(--ph-line)!important;background:#f4f7f8!important}
.plan-stats span{color:#667386!important}.plan-stats span+span{border-left:1px solid var(--ph-line)!important}
.plan-stats strong{color:var(--ph-accent)!important;font-variant-numeric:tabular-nums}
.plan-inner .orange-btn{color:#fff!important;border:0!important;background:var(--ph-ink)!important;box-shadow:none!important}
.plan-inner .orange-btn:hover{background:#263247!important}
.generator-head>strong,#generatorCost{color:var(--ph-accent)!important;border-color:#b8d7da!important;background:var(--ph-accent-soft)!important}

/* Complete product-surface normalization: records, billing and account views. */
.record-card,.record-row,.record-detail-panel,.order-item,.order-empty,.ledger-item,.ledger-empty,
.price-card,.account-summary-grid article,.account-grid article,.credit-ledger-panel,
.record-toolbar,.record-stats,.record-output,.record-detail-panel pre,
.asset-item,.record-assets a,.history-item {
  color:var(--ph-ink)!important;
  border-color:var(--ph-line)!important;
  background:var(--ph-surface)!important;
  box-shadow:none!important;
}
.record-card:hover,.record-row:hover,.order-item:hover,.ledger-item:hover,.history-item:hover {
  border-color:#aebfc7!important;background:#fbfcfc!important;box-shadow:0 10px 26px rgba(32,55,68,.07)!important;
}
.record-main strong,.record-row strong,.order-item strong,.order-item b,.ledger-item strong,
.price-card h3,.price-card strong,.account-summary-grid strong,.account-grid strong,
.record-output h1,.record-output h2,.record-output h3,.asset-item strong {
  color:var(--ph-ink)!important;
}
.record-card p,.record-main small,.record-row small,.record-assets small,.order-item small,
.ledger-item small,.price-card p,.account-grid p,.account-summary-grid span,
.account-summary-grid small,.asset-item small,.history-item small {
  color:var(--ph-muted)!important;
}
.record-meta span,.order-status,.runner-tags span {
  color:#536273!important;border:1px solid #d4dfe4!important;background:#f1f5f6!important;box-shadow:none!important;
}
.record-detail-meta span,.record-detail-inputs span {
  color:#536273!important;border:1px solid #d4dfe4!important;background:#f1f5f6!important;box-shadow:none!important;
}
.record-detail-inputs b {color:var(--ph-ink)!important}
.record-detail-meta .record-detail-status.success {
  color:#0d7656!important;border-color:#abd6c6!important;background:#e9f6f1!important;
}
.record-detail-meta .record-detail-status.failed {
  color:#9b3d47!important;border-color:#e6b9be!important;background:#fff0f2!important;
}
.record-output.record-output-failed {
  color:#73333b!important;border-color:#e6b9be!important;background:#fff5f6!important;
}
.record-output.record-output-failed::before {background:#c45f69!important}
.record-output.record-output-failed h1,
.record-output.record-output-failed h2,
.record-output.record-output-failed h3 {color:#8f3540!important}
.record-output.record-output-failed p,
.record-output.record-output-failed li,
.record-output.record-output-failed strong {color:#73333b!important}
.record-output.record-output-failed hr {border-color:#e6b9be!important}
.order-status.paid {color:#0d7656!important;border-color:#abd6c6!important;background:#e9f6f1!important}
.order-status.pending {color:#87621c!important;border-color:#e1d2ae!important;background:#faf5e9!important}
.order-status.refunded,.order-status.cancelled {color:#657282!important;border-color:#d6dee3!important;background:#f1f4f6!important}
.record-assets a,.asset-link {color:var(--ph-accent)!important;text-decoration:none}
.record-assets a:hover,.asset-link:hover {color:#066b76!important;border-color:#a7cbd0!important;background:var(--ph-accent-soft)!important}
.asset-item a {
  display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:40px;
  color:#fff!important;border:1px solid var(--ph-accent)!important;background:var(--ph-accent)!important;text-decoration:none;white-space:nowrap
}
.asset-item a:hover {color:#fff!important;border-color:#066b76!important;background:#066b76!important}
.image-upload-preview{color:var(--ph-ink)!important;border-color:var(--ph-line)!important;background:var(--ph-soft)!important}
.image-upload-preview small{color:var(--ph-muted)!important}
.image-upload-preview .image-upload-pass{color:var(--ph-success)!important}
.image-upload-preview[data-state="error"]{color:var(--ph-danger)!important;border-color:#e6b9be!important;background:#fff4f5!important}
.image-upload-preview[data-state="error"] small{color:#8f3d47!important}
.record-output,.record-detail-panel pre {color:var(--ph-text)!important;background:var(--ph-soft)!important}
.price-card {border-top:3px solid #c5d2d8!important}
.price-card.featured {border-color:#9fc6cb!important;border-top:4px solid var(--ph-accent)!important;background:var(--ph-surface)!important}
.price-card>span:first-child {color:var(--ph-accent)!important}
.price-card strong {font-variant-numeric:tabular-nums}
.price-meta {border-color:var(--ph-line)!important}.price-meta b {color:var(--ph-accent)!important}.price-meta small {color:var(--ph-muted)!important}
.price-card .orange-btn,.price-card .generate-btn {color:#fff!important;background:var(--ph-ink)!important;box-shadow:none!important}
.price-actions .ghost-btn {color:var(--ph-ink)!important;background:var(--ph-surface)!important}
.account-summary-grid article {border-top:3px solid #c5d2d8!important}
.account-summary-grid article:first-child {border-top-color:var(--ph-accent)!important}
.account-grid article {border-radius:var(--ph-card)!important}
.invite-account-card strong {color:#096d77!important;border-color:#acd0d4!important;background:var(--ph-accent-soft)!important;box-shadow:none!important}
.profile-name-form{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--ph-line)}
.profile-name-form label,.profile-name-form small{color:var(--ph-muted);font-size:13px;font-weight:800}
.profile-name-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.profile-name-form input{min-width:0;min-height:42px;padding:0 12px;border-radius:var(--ph-control)}
.profile-name-form .account-refresh{min-height:42px;margin:0;white-space:nowrap}
@media (max-width:720px){.profile-name-form>div{grid-template-columns:minmax(0,1fr)}.profile-name-form .account-refresh{width:100%}}
.ledger-item b {color:var(--ph-success)!important}.ledger-item.negative b {color:var(--ph-danger)!important}
.record-actions .ghost-btn,.order-actions .ghost-btn,.invite-actions .ghost-btn {color:var(--ph-ink)!important;background:var(--ph-surface)!important}

/* Dedicated tool results and lists. */
.video-trending-card,.video-parse-result,.wechat-article-item,.wechat-result-render,
.source-list>*,.asset-list>*,.platform-strip,.model-picker,.generation-contract {
  color:var(--ph-ink)!important;border-color:var(--ph-line)!important;background:var(--ph-surface)!important;box-shadow:none!important;
}
.video-trending-card:hover,.wechat-article-item:hover {border-color:#aebfc7!important;background:#fbfcfc!important;box-shadow:var(--ph-shadow)!important}
.video-trending-body p,.video-parse-result p,.wechat-result-render p,.source-list small {color:var(--ph-muted)!important}
.video-trending-status,.source-empty,.launch-empty,.record-empty {color:var(--ph-muted)!important;border-color:var(--ph-line)!important;background:var(--ph-soft)!important}
.source-list>.generation-status[data-state="running"]{color:#155e75!important;border-color:#9fd8df!important;background:#ecf8fa!important}
.source-list>.generation-status[data-state="success"]{color:#17633f!important;border-color:#acd8c4!important;background:#ecf8f2!important}
.source-list>.generation-status[data-state="error"]{color:#9b3434!important;border-color:#e6b9be!important;background:#fff4f5!important}
.generation-status[data-state] strong{color:inherit!important}.generation-status[data-state] small{color:inherit!important;opacity:.82}

/* Creation pages */
.video-article-page,.wechat-article-page{min-height:100dvh;color:var(--ph-ink);background:var(--ph-page)!important}
.video-article-page::before,.wechat-article-page::before{display:none!important}
.video-article-hero,.wechat-article-hero{color:var(--ph-ink)!important;border-color:var(--ph-line)!important;background:radial-gradient(circle at 84% 8%,rgba(8,127,140,.08),transparent 24rem),var(--ph-surface)!important}
.video-page-nav{border-bottom:1px solid var(--ph-line)}
.video-hero-copy h1,.wechat-article-hero h1{color:var(--ph-ink)!important;letter-spacing:-.035em}
.video-hero-copy>span,.wechat-section-head span,.wechat-official-head span{color:var(--ph-accent)!important}
.video-hero-copy p,.wechat-article-hero p{color:var(--ph-muted)!important}
.video-hero-badges em,.generation-contract span,.skill-meta span{color:var(--ph-text)!important;border-color:var(--ph-line)!important;background:var(--ph-soft)!important}
.video-platform-panel,.video-workflow-panel,.video-manual-card,.selected-video-card,.wechat-rewrite-panel,.wechat-selected-panel,.wechat-result-panel,.wechat-flow-card,.wechat-visual-card,.wechat-status-card,.wechat-next-card{color:var(--ph-ink)!important;border-color:var(--ph-line)!important;border-radius:var(--ph-card)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.wechat-flow-card{border-top:4px solid var(--ph-accent)!important;box-shadow:14px 16px 0 var(--ph-raised)!important}

/* Premium creation workspaces: shared navigation, hero, workflow and result language. */
.video-article-page,.wechat-article-page{
  background:
    radial-gradient(circle at 88% 8%,rgba(8,127,140,.075),transparent 28rem),
    linear-gradient(180deg,#f8fafb 0,#f3f7f8 52%,#eef3f5 100%)!important;
}
.video-article-hero,.wechat-article-hero{
  max-width:1440px!important;
  margin:0 auto!important;
  padding:22px clamp(22px,4vw,58px) 52px!important;
  border:0!important;
  background:transparent!important;
}
.video-page-nav{
  min-height:68px!important;
  padding:0 0 14px!important;
  border:0!important;
  border-bottom:1px solid #d9e2e6!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.video-page-nav::before{display:none!important}
.video-page-nav .brand.compact{padding:0!important;background:transparent!important}
.video-page-nav .brand-mark{width:48px!important;height:48px!important;border:0!important;background:transparent!important;box-shadow:none!important}
.video-page-nav .brand strong{color:var(--ph-ink)!important;font-size:18px!important;letter-spacing:-.02em}
.video-page-nav .back-home{
  min-height:42px!important;padding:0 18px!important;border-color:#cbd8de!important;align-self:center!important;
  color:#314252!important;background:rgba(255,255,255,.72)!important;backdrop-filter:blur(12px);
}
.video-page-nav .back-home:hover{color:#066b76!important;border-color:#92b3bc!important;background:#fff!important;transform:translateY(-2px)}
.video-hero-copy{padding-top:clamp(48px,7vw,82px)!important}
.video-hero-copy.compact-title{max-width:970px!important}
.video-hero-copy.compact-title::before{width:52px!important;height:3px!important;background:var(--ph-accent)!important}
.video-hero-copy>span{
  display:inline-flex!important;margin-bottom:20px!important;padding:7px 10px!important;border:1px solid #bfdadd!important;
  border-radius:7px!important;color:#087580!important;background:#edf8f8!important;font-size:12px!important;letter-spacing:.11em!important;
}
.video-hero-copy h1,.wechat-article-hero h1{
  max-width:900px!important;margin:0!important;color:#142033!important;font-size:clamp(46px,6.2vw,80px)!important;
  line-height:1.02!important;letter-spacing:-.055em!important;text-wrap:balance;
}
.video-hero-copy p,.wechat-article-hero p{
  max-width:760px!important;margin:22px 0 0!important;color:#657486!important;font-size:clamp(16px,1.4vw,19px)!important;line-height:1.8!important;text-wrap:pretty;
}
.video-hero-badges{margin-top:26px!important;gap:8px!important}
.video-hero-badges em{
  padding:8px 12px!important;border:0!important;border-radius:7px!important;color:#4a5c6b!important;background:#e9f0f2!important;
  font-size:13px!important;font-weight:700!important;box-shadow:inset 0 0 0 1px rgba(136,158,168,.18)!important;
}

/* WeChat hero: turn the workflow into a compact progress rail. */
.wechat-hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,430px)!important;gap:54px!important;align-items:center!important;padding:0!important}
.wechat-flow-card{
  position:relative!important;margin-top:66px!important;padding:25px 26px 26px!important;border:1px solid #d4e0e4!important;
  border-top:1px solid #d4e0e4!important;border-radius:18px!important;background:rgba(255,255,255,.84)!important;
  box-shadow:0 20px 55px rgba(25,54,66,.09)!important;backdrop-filter:blur(14px);
}
.wechat-flow-card::before{content:"04 STEPS";position:absolute;right:24px;top:25px;color:#83929e;font-size:11px;font-weight:800;letter-spacing:.12em}
.wechat-flow-card strong{margin:0 0 22px!important;color:#142033!important;font-size:15px!important;letter-spacing:.01em}
.wechat-flow-card ol{gap:0!important;counter-reset:wechat-flow}
.wechat-flow-card li{
  position:relative;min-height:48px;padding-left:42px!important;color:#687887!important;font-size:14px!important;font-weight:650;
  counter-increment:wechat-flow;
}
.wechat-flow-card li::before{
  content:counter(wechat-flow,decimal-leading-zero)!important;position:absolute;left:0;top:-3px;width:26px!important;height:26px!important;
  display:grid;place-items:center;border:1px solid #c8d6dc!important;border-radius:8px!important;color:#71818d!important;
  background:#f4f7f8!important;box-shadow:none!important;font-size:10px;font-weight:850;
}
.wechat-flow-card li:not(:last-child)::after{content:"";position:absolute;left:13px;top:26px;width:1px;height:22px;background:#d5e1e5}
.wechat-flow-card li.done{color:#1f4e55!important}
.wechat-flow-card li.done::before{color:#fff!important;border-color:#147d87!important;background:#147d87!important;box-shadow:0 6px 14px rgba(20,125,135,.2)!important}

/* Workspace surfaces. */
.video-article-shell,.wechat-article-shell{max-width:1324px!important;margin:0 auto!important;padding:0 clamp(22px,4vw,58px) 72px!important;gap:22px!important}
.video-platform-panel,.video-workflow-panel,.wechat-rewrite-panel,.wechat-selected-panel,.wechat-result-panel{
  border:1px solid #d8e2e6!important;border-radius:20px!important;background:rgba(255,255,255,.9)!important;
  box-shadow:0 18px 55px rgba(25,54,66,.065)!important;
}
.wechat-next-card,.wechat-status-card,.wechat-visual-card,.selected-video-card{
  border:1px solid #dce5e8!important;border-radius:14px!important;background:#f6f9fa!important;box-shadow:none!important;
}
.wechat-visual-card > div:first-child span{color:#147d87!important}
.wechat-visual-card > div:first-child strong{color:#142033!important}
.wechat-visual-card > div:first-child p{color:#5f7080!important}

/* Official-account configuration: readable inline diagnostic, never a dark slab. */
#wechatOfficialStatus{
  position:relative;padding:16px 17px 16px 44px!important;border:1px solid #dccb9f!important;border-radius:12px!important;
  color:#685a36!important;background:#fbf7ed!important;font-size:13px!important;line-height:1.75!important;overflow-wrap:anywhere;
}
#wechatOfficialStatus::before{content:"!";position:absolute;left:16px;top:17px;width:18px;height:18px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#aa812f;font-size:11px;font-weight:900}
#wechatOfficialStatus[data-type="success"]{color:#315b49!important;border-color:#bfd8cc!important;background:#f0f8f4!important}
#wechatOfficialStatus[data-type="success"]::before{content:"✓";background:#4a8068}
#wechatOfficialStatus[data-type="error"]{color:#784844!important;border-color:#e3c4c0!important;background:#fbf3f2!important}
#wechatOfficialStatus[data-type="error"]::before{content:"×";background:#a95f57}
#wechatOfficialStatus[data-type="loading"]{color:#3e6670!important;border-color:#c7dce1!important;background:#f1f8f9!important}
#wechatOfficialStatus[data-type="loading"]::before{content:"…";background:#45838d}
.wechat-official-card{padding:20px!important;background:#fff!important}
.wechat-official-head strong{color:#192638!important;font-size:18px!important}
.wechat-official-actions .ghost-btn{min-height:44px!important}
.wechat-cover-media-field>span{color:#5e6f7e!important}

/* Trending video intelligence: editorial grid instead of generic boxes. */
.video-article-hero::after{opacity:.55!important;right:4%!important;top:24%!important;filter:saturate(.55)!important}
.video-platform-panel{padding:26px!important}
.video-manual-card{
  grid-template-columns:minmax(220px,.48fr) minmax(280px,1fr) 142px!important;padding:18px!important;border:0!important;
  border-radius:15px!important;background:#edf3f4!important;box-shadow:inset 0 0 0 1px #d9e4e7!important;
}
.video-manual-card textarea{border-color:#cad8dd!important;color:#263748!important;background:#fff!important;box-shadow:none!important}
.video-platform-tabs{gap:8px!important;margin:18px 0!important}
.video-platform-tab{
  min-height:46px!important;padding:0 13px!important;border:1px solid #d5e0e4!important;border-radius:10px!important;
  color:#5c6b79!important;background:#fff!important;box-shadow:none!important;
}
.video-platform-tab span{color:#4c727a!important;background:#e7f1f2!important;box-shadow:none!important}
.video-platform-tab.active,.video-platform-tab:hover{color:#fff!important;border-color:#176f79!important;background:#176f79!important;transform:translateY(-2px)!important;box-shadow:0 9px 20px rgba(23,111,121,.16)!important}
.video-platform-tab.active span{color:#176f79!important;background:#fff!important}
.video-platform-tab:disabled{color:#9aa6af!important;background:#f4f6f7!important;box-shadow:none!important}
.video-trending-status{min-height:44px!important;padding:0 15px!important;border:0!important;border-radius:10px!important;color:#60717e!important;background:#eef3f5!important}
.video-trending-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:16px!important}
.video-trending-card{
  min-height:278px!important;padding:0!important;border:1px solid #dce5e8!important;border-radius:15px!important;
  background:#fff!important;box-shadow:none!important;overflow:hidden!important;
}
.video-trending-card:hover{transform:translateY(-5px)!important;border-color:#b7ccd2!important;background:#fff!important;box-shadow:0 18px 42px rgba(30,57,68,.11)!important}
.video-trending-body{padding:20px!important;gap:13px!important}
.video-rank{color:#13747e!important;font-size:12px!important;letter-spacing:.03em}
.video-trending-body h3{min-height:76px!important;color:#172436!important;font-size:16px!important;line-height:1.6!important}
.video-metrics span{padding:5px 8px!important;border:0!important;border-radius:6px!important;color:#61727f!important;background:#edf2f4!important;font-weight:700!important}
.video-trending-body button{
  min-height:42px!important;border:1px solid #b9d1d5!important;border-radius:9px!important;color:#116a74!important;
  background:#eef8f8!important;box-shadow:none!important;transition:transform .22s cubic-bezier(.2,.8,.2,1),background .22s ease,color .22s ease!important;
}
.video-trending-body button:hover{color:#fff!important;border-color:#176f79!important;background:#176f79!important;transform:translateY(-2px)!important}

@keyframes workspace-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.video-hero-copy,.wechat-hero-grid>.video-hero-copy{animation:workspace-enter .65s cubic-bezier(.2,.8,.2,1) both}
.wechat-flow-card,.video-manual-card{animation:workspace-enter .65s .08s cubic-bezier(.2,.8,.2,1) both}
.video-trending-card{animation:workspace-enter .5s cubic-bezier(.2,.8,.2,1) both}
.video-trending-card:nth-child(2n){animation-delay:.04s}.video-trending-card:nth-child(3n){animation-delay:.08s}

@media (max-width:1100px){
  .wechat-hero-grid{grid-template-columns:1fr!important}.wechat-flow-card{margin-top:0!important;max-width:640px!important}
  .video-trending-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .video-manual-card{grid-template-columns:1fr!important}.video-manual-card button{min-height:48px!important}
}
@media (max-width:720px){
  .video-article-hero,.wechat-article-hero{padding:16px 18px 38px!important}
  .video-hero-copy{padding-top:40px!important}.video-hero-copy h1,.wechat-article-hero h1{font-size:clamp(38px,12vw,56px)!important}
  .video-article-shell,.wechat-article-shell{padding:0 14px 52px!important}
  .video-trending-grid{grid-template-columns:1fr!important}.video-platform-panel{padding:16px!important}
  .wechat-flow-card{padding:22px 18px!important}
}
@media (prefers-reduced-motion:reduce){.video-hero-copy,.wechat-flow-card,.video-manual-card,.video-trending-card{animation:none!important}}

/* Creation-page rhythm v6: compact hero and one shared alignment grid. */
.wechat-article-hero,.video-article-hero{
  padding-bottom:30px!important;
}
.wechat-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;
  gap:clamp(24px,4vw,52px)!important;
  align-items:end!important;
}
.wechat-hero-grid .video-hero-copy{
  min-width:0!important;
  padding-top:clamp(34px,5vw,58px)!important;
}
.wechat-hero-grid .video-hero-copy h1{
  font-size:clamp(44px,5.4vw,70px)!important;
}
.wechat-hero-grid .video-hero-copy p{
  margin-top:18px!important;
}
.wechat-hero-grid .video-hero-badges{
  margin-top:20px!important;
}
.wechat-flow-card{
  width:100%!important;
  min-height:286px!important;
  margin:0!important;
  padding:24px 24px 18px!important;
  align-self:end!important;
}
.wechat-flow-card strong{margin-bottom:18px!important}
.wechat-flow-card li{min-height:48px!important;display:flex!important;align-items:flex-start!important;padding-top:1px!important}
.wechat-flow-card li::before{top:-2px!important}
.wechat-flow-card li:not(:last-child)::after{top:25px!important;height:23px!important}

.wechat-article-shell{
  padding-top:0!important;
  align-items:start!important;
}
.wechat-rewrite-panel,.wechat-selected-panel{
  margin-top:0!important;
}
.wechat-section-head{
  align-items:flex-start!important;
}
.wechat-section-head>div{
  min-width:0;
}
.wechat-section-head em{
  align-self:center!important;
  margin:0!important;
  text-align:center!important;
}

/* The video page follows the same compact header-to-content rhythm. */
.video-article-hero>.video-hero-copy{
  padding-top:clamp(38px,5vw,62px)!important;
}
.video-article-hero>.video-hero-copy h1{
  font-size:clamp(44px,5.4vw,72px)!important;
}
.video-article-hero>.video-hero-copy p{margin-top:18px!important}
.video-article-hero>.video-hero-copy .video-hero-badges{margin-top:20px!important}
.video-article-shell{padding-top:0!important}

@media (max-width:820px){
  .wechat-hero-grid{grid-template-columns:1fr!important;gap:24px!important;align-items:start!important}
  .wechat-flow-card{max-width:none!important;min-height:0!important}
}
@media (min-width:821px) and (max-width:1100px){
  .wechat-hero-grid{grid-template-columns:minmax(0,1fr) 320px!important;gap:24px!important}
  .wechat-hero-grid .video-hero-copy h1{font-size:clamp(42px,5.6vw,58px)!important}
  .wechat-hero-grid .video-hero-copy p{font-size:16px!important;line-height:1.7!important}
  .wechat-flow-card{max-width:none!important;margin:0!important}
}

/* Alignment and contrast v7: every workspace shares one 1324px content edge. */
.video-article-shell,.wechat-article-shell{
  max-width:1440px!important;
  box-sizing:border-box!important;
}
.video-platform-panel,.video-workflow-panel,.wechat-rewrite-panel,.wechat-selected-panel,.wechat-result-panel{
  min-width:0;
}
.wechat-hero-grid,.video-article-hero>.video-hero-copy{
  width:100%;
}
.wechat-rewrite-panel,.wechat-selected-panel{
  align-self:stretch!important;
}
.wechat-selected-panel.rewrite-side{
  height:100%;
}

/* Readable form hierarchy across public, user and admin pages. */
label>span,.field-label,.form-label,
.wechat-rewrite-form label>span,.wechat-cover-media-field>span,
.plan-editor label>span,.tool-config-editor label>span,.skill-editor label>span,
.announcement-editor label>span,.deployment-config label>span{
  color:#526575!important;
  opacity:1!important;
  font-weight:750!important;
}
input::placeholder,textarea::placeholder{
  color:#82919e!important;
  opacity:1!important;
  font-weight:600!important;
}
.wechat-section-head em,#wechatCreditHint{
  color:#42616b!important;
  border-color:#c6dce1!important;
  background:#edf6f7!important;
  opacity:1!important;
}
.wechat-status-card strong,.selected-video-card>span,
.video-trending-hint,.section-title p,.video-result-title p{
  color:#526575!important;
  opacity:1!important;
}
.wechat-status-card p,.selected-video-card p,.wechat-next-card p,
.video-manual-card span,.video-trending-status{
  color:#647583!important;
  opacity:1!important;
}
button:disabled,input:disabled,select:disabled,textarea:disabled,
.ghost-btn:disabled,.video-platform-tab:disabled{
  color:#7d8b96!important;
  opacity:.72!important;
}
.wechat-rewrite-form input,.wechat-rewrite-form textarea,.wechat-rewrite-form select,
.wechat-cover-media-field input{
  color:#27394a!important;
  border-color:#ccd9de!important;
  background:#fff!important;
}
.wechat-rewrite-form input:focus,.wechat-rewrite-form textarea:focus,.wechat-rewrite-form select:focus,
.wechat-cover-media-field input:focus{
  border-color:#6fa3aa!important;
  box-shadow:0 0 0 4px rgba(23,111,121,.1)!important;
}

@media (max-width:720px){
  .video-article-shell,.wechat-article-shell{padding-left:18px!important;padding-right:18px!important}
}

/* WeChat stream v8: bind first, compose next, result last. */
.wechat-article-page{position:relative;isolation:isolate;overflow:hidden}
.wechat-article-page::after{
  content:"";position:absolute;inset:90px 0 0;z-index:0;pointer-events:none;opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='250' viewBox='0 0 300 250'%3E%3Cg fill='none' stroke='%231a8b78' stroke-width='8'%3E%3Cpath d='M55 92c0-35 34-62 78-62s78 27 78 62-34 62-78 62c-10 0-20-1-29-4l-27 16 7-27c-18-11-29-28-29-47Z'/%3E%3Cpath d='M141 145c0-29 29-52 65-52s65 23 65 52-29 52-65 52c-8 0-16-1-23-3l-23 14 6-23c-15-10-25-24-25-40Z'/%3E%3Ccircle cx='108' cy='88' r='5' fill='%231a8b78' stroke='none'/%3E%3Ccircle cx='157' cy='88' r='5' fill='%231a8b78' stroke='none'/%3E%3Ccircle cx='187' cy='142' r='4' fill='%231a8b78' stroke='none'/%3E%3Ccircle cx='225' cy='142' r='4' fill='%231a8b78' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  background-size:300px 250px;background-repeat:repeat;background-position:40px 20px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.25));
}
.wechat-article-hero,.wechat-article-shell,.wechat-article-page+.site-footer{position:relative;z-index:1}
.wechat-hero-grid{align-items:start!important}
.wechat-hero-rail{display:grid;gap:14px;min-width:0}
.wechat-hero-rail .wechat-flow-card{min-height:0!important}
.hero-official-card{
  margin:0!important;padding:18px!important;border-color:#cddfe1!important;background:rgba(255,255,255,.92)!important;
  box-shadow:0 14px 35px rgba(30,66,72,.07)!important;backdrop-filter:blur(12px);
}
.hero-official-card .wechat-official-head{align-items:center}
.hero-official-card .wechat-official-head strong{font-size:16px!important}
.hero-official-card .wechat-bound-account strong{color:#192638!important;font-size:17px!important;font-weight:800!important;line-height:1.35!important}
.hero-official-card .wechat-bound-account span{color:#475b70!important;font-size:14px!important;font-weight:600!important;line-height:1.45!important}
.hero-official-card .wechat-bound-account small{color:#60748a!important;font-size:13px!important;font-weight:600!important;line-height:1.45!important}
.hero-official-card #wechatOfficialStatus{padding-top:12px!important;padding-bottom:12px!important}
.hero-official-card #wechatOfficialStatus::before{top:13px!important}
.hero-official-card .wechat-cover-media-field{display:grid}

.wechat-article-shell.rewrite-shell{
  grid-template-columns:1fr!important;
  gap:18px!important;
}
.wechat-rewrite-panel,.output-status-panel,.wechat-result-panel{grid-column:1/-1!important;width:100%!important}
.output-status-panel{
  position:static!important;height:auto!important;min-height:0!important;padding:24px!important;order:2;
}
.output-status-panel .wechat-status-card{margin-top:16px!important}
.wechat-result-panel{order:3}
.wechat-rewrite-panel{order:1}

@media (max-width:820px){.wechat-hero-rail{gap:18px}}

/* WeChat equal-width v9: one continuous content column. */
.wechat-hero-grid{
  grid-template-columns:1fr!important;
  gap:22px!important;
}
.wechat-hero-grid .video-hero-copy{
  max-width:none!important;
}
.wechat-hero-grid .video-hero-copy p{
  max-width:820px!important;
}
.wechat-hero-rail{
  width:100%!important;
  max-width:none!important;
  gap:16px!important;
}
.wechat-hero-rail .wechat-flow-card,
.wechat-hero-rail .hero-official-card{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Admin console */
.admin-shell{min-height:100dvh;grid-template-columns:228px minmax(0,1fr);gap:0;padding:0;background:var(--ph-page)}
.admin-sidebar{top:0;height:100dvh;gap:22px;border:0;border-right:1px solid var(--ph-line);border-radius:0;padding:20px 14px;background:rgba(247,249,250,.95);box-shadow:none;backdrop-filter:blur(18px)}
.admin-brand{color:var(--ph-ink)}.admin-sidebar-note,.admin-notice{color:var(--ph-muted);border-color:var(--ph-line);background:var(--ph-surface);box-shadow:none}
.admin-workspace{padding:0 clamp(20px,3vw,46px) 48px}.admin-top{position:sticky;top:0;z-index:10;min-height:76px;margin:0 calc(clamp(20px,3vw,46px)*-1) 26px;padding:12px clamp(20px,3vw,46px);border-bottom:1px solid var(--ph-line);background:rgba(247,249,250,.9);backdrop-filter:blur(16px)}
.admin-metrics article,.admin-card,.integration-lab,.launch-report,.deployment-config,.admin-table,.plan-editor label,.tool-config-editor label{color:var(--ph-ink);border-color:var(--ph-line)!important;border-radius:var(--ph-card)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.admin-metrics article{border-top:3px solid var(--ph-accent)!important}.admin-card:hover{border-color:#b7c7cf!important}
.admin-table>span,.admin-table>div,.admin-card p,.admin-top p,.admin-sidebar-note span{color:var(--ph-muted)}

/* Complete admin normalization. */
.admin-action-group,.admin-action-group-home,.admin-action-group-soft {
  border-color:var(--ph-line)!important;background:transparent!important;box-shadow:none!important;
}
.admin-top button,.admin-top a,.admin-inline-actions button,.admin-inline-actions select,
.admin-actions button,.integration-lab button,.tool-test-panel button {
  color:var(--ph-ink)!important;border-color:var(--ph-line-strong)!important;background:var(--ph-surface)!important;box-shadow:none!important;
}
.admin-top button:hover,.admin-top a:hover,.admin-inline-actions button:hover,.admin-actions button:hover {
  color:#066b76!important;border-color:#8fb0b9!important;background:var(--ph-accent-soft)!important;
}
.admin-actions button.primary {color:#fff!important;border-color:var(--ph-ink)!important;background:var(--ph-ink)!important}
.admin-actions button.warn {color:#8b5d18!important;border-color:#dcc79f!important;background:#faf4e7!important}
.admin-metrics article {color:var(--ph-ink)!important;border:1px solid var(--ph-line)!important;border-top:3px solid var(--ph-accent)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.admin-metrics strong {color:var(--ph-ink)!important;font-variant-numeric:tabular-nums}.admin-metrics span,.admin-metrics p {color:var(--ph-muted)!important}
.admin-table {border-color:var(--ph-line)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.admin-table>* {color:var(--ph-text)!important;border-color:var(--ph-line)!important;background:var(--ph-surface)!important}
.admin-table>span {color:#536273!important;background:var(--ph-soft)!important}
.admin-table>div:hover {background:#f8fafb!important}
.admin-table strong,.admin-table b {color:var(--ph-ink)!important}.admin-table small {color:var(--ph-muted)!important}
.admin-table em {color:var(--ph-accent)!important}
.env-item,.deployment-summary article,.deployment-card,.integration-grid article,
.launch-summary article,.launch-checks article,.launch-columns article,.runner-card,
.tool-test-panel,.skill-editor label,.announcement-editor,.announcement-editor label,
.deployment-config>article,.integration-lab pre {
  color:var(--ph-ink)!important;border-color:var(--ph-line)!important;background:var(--ph-surface)!important;box-shadow:none!important;
}
.env-item:hover,.deployment-card:hover,.runner-card:hover {border-color:#aebfc7!important;background:#fbfcfc!important}
.env-item small,.env-item p,.deployment-card small,.deployment-card p,.deployment-card li,
.integration-grid p,.launch-summary span,.launch-summary small,.runner-card small {color:var(--ph-muted)!important}
.env-item em,.deployment-card em {color:#0d7656!important;background:#e9f6f1!important}
.env-item.dev em,.deployment-card.dev em {color:#87621c!important;background:#faf5e9!important}
.env-item.missing em,.deployment-card.missing em {color:#a33e49!important;background:#faecee!important}
.integration-grid pre,.tool-test-panel pre,.skill-editor textarea,.tool-test-panel textarea,
.deployment-card code,.callback-url,.launch-readiness-report pre {
  color:var(--ph-text)!important;border-color:var(--ph-line)!important;background:var(--ph-soft)!important;box-shadow:none!important;
}
.runner-tags span {color:#536273!important;background:var(--ph-soft)!important}
.admin-notice.success {color:#0d7656!important;border-color:#abd6c6!important;background:#e9f6f1!important}
.admin-notice.error {color:#a33e49!important;border-color:#e4bbc0!important;background:#faecee!important}

/* Login */
.login-shell{min-height:100dvh;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:clamp(36px,7vw,110px);padding:clamp(24px,5vw,72px);background:radial-gradient(circle at 16% 14%,rgba(8,127,140,.08),transparent 25rem),var(--ph-page)}
.login-shell::before,.login-shell::after,.login-atmosphere{display:none!important}.login-copy,.login-panel,.login-card{color:var(--ph-ink)!important}
.login-card{border:1px solid var(--ph-line)!important;border-top:4px solid var(--ph-accent)!important;border-radius:var(--ph-card)!important;background:var(--ph-surface)!important;box-shadow:14px 16px 0 var(--ph-raised)!important}
.login-copy h1,.login-card h2{color:var(--ph-ink)!important;letter-spacing:-.035em}.login-copy p,.login-card p,.login-card small{color:var(--ph-muted)!important}
.login-brand h1{max-width:720px;font-size:clamp(48px,5.5vw,76px)!important;line-height:1.06!important;text-wrap:balance}
.brand-eyebrow{color:var(--ph-accent)!important;letter-spacing:.08em!important}
.login-proof-grid article{color:var(--ph-ink)!important;border:1px solid var(--ph-line)!important;border-radius:var(--ph-card)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.login-proof-grid article strong{color:var(--ph-ink)!important}.login-proof-grid article span{color:var(--ph-muted)!important}
.auth-method-tabs{padding:4px!important;border:1px solid var(--ph-line)!important;background:var(--ph-soft)!important}
.auth-method-tabs button{color:var(--ph-muted)!important;background:transparent!important}
.auth-method-tabs button.active{color:var(--ph-ink)!important;border-color:var(--ph-line)!important;background:var(--ph-surface)!important;box-shadow:0 3px 10px rgba(32,55,68,.07)!important}
.mode-toggle{color:var(--ph-accent)!important;border-color:#9dcbd0!important;background:var(--ph-accent-soft)!important}
.oauth-grid button{color:var(--ph-ink)!important;border-color:var(--ph-line)!important;background:var(--ph-surface)!important;box-shadow:none!important}
.oauth-grid button:hover{border-color:#9db5be!important;background:var(--ph-soft)!important;transform:translateY(-2px)}
.oauth-label{color:var(--ph-text)!important}.login-tip{color:var(--ph-muted)!important}.oauth-divider{color:var(--ph-muted)!important}
.oauth-button.github .oauth-icon{color:#24292f!important;border-color:#cbd5dc!important;background:#f3f5f7!important}
.oauth-grid.oauth-disabled .oauth-button,.oauth-grid button:disabled{opacity:1!important;color:var(--ph-text)!important}

/* Legal footer: consistent and readable on every page. */
.site-footer,footer.site-footer {
  position:relative;
  z-index:2;
  width:100%;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:0!important;
  padding:18px 24px!important;
  border-top:1px solid var(--ph-line)!important;
  color:#526274!important;
  background:#f1f5f6!important;
  font-size:13px;
  font-weight:600;
  line-height:1.6;
}
.site-footer a,footer.site-footer a{color:#285d68!important;text-decoration:none;font-weight:700}
.site-footer a:hover,footer.site-footer a:hover{color:#064f59!important;text-decoration:underline;text-underline-offset:3px}
.login-site-footer{position:fixed!important;right:0;bottom:0;left:0;min-height:48px!important;margin:0!important;padding:8px 20px!important;background:rgba(241,245,246,.96)!important;backdrop-filter:blur(12px)}
.platform-site-footer{color:#526274!important;background:#f1f5f6!important}

/* Approved public page refinements */
.site-header{max-width:1240px}.site-header nav a{position:relative}.site-header nav a::after{content:"";position:absolute;right:0;bottom:-9px;left:0;height:2px;background:var(--ph-accent);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ph-ease)}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after{transform:scaleX(1)}
.product-view,.service-grid article,.security-list article,.scope-table,.authorization-note{transition:transform .26s var(--ph-ease),box-shadow .26s var(--ph-ease),border-color .26s var(--ph-ease)}
.service-grid article:hover,.security-list article:hover{border-color:#aebfc7;box-shadow:var(--ph-shadow);transform:translateY(-4px)}

@media(max-width:1120px){.app-shell,.admin-shell{grid-template-columns:204px minmax(0,1fr)}.content-grid{grid-template-columns:minmax(0,1fr)}.right-rail{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-shell,.admin-shell{display:block}.sidebar,.admin-sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--ph-line)}.nav,.admin-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.nav-item,.admin-nav button{width:auto;flex:0 0 auto;white-space:nowrap}.topbar,.admin-top{position:static;align-items:flex-start;min-height:auto}.top-actions,.admin-top-actions,.admin-inline-actions{width:100%;overflow-x:auto;flex-wrap:nowrap}.right-rail,.admin-metrics,.tool-config-editor,.plan-editor{grid-template-columns:1fr!important}.login-shell{grid-template-columns:1fr;padding:22px}.login-card,.wechat-flow-card{box-shadow:8px 10px 0 var(--ph-raised)!important}}

/* Admin authentication is an explicit blocking state instead of browser prompts. */
.admin-login-dialog{width:min(92vw,440px);padding:0;border:0;border-radius:8px;background:transparent;color:var(--ph-ink)}
.admin-login-dialog::backdrop{background:rgba(16,24,32,.64);backdrop-filter:blur(4px)}
.admin-login-sheet{padding:26px;border:1px solid var(--ph-line);border-radius:8px;background:var(--ph-surface);box-shadow:0 28px 80px rgba(16,32,44,.24)}
.admin-login-sheet header{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.admin-login-sheet header img{width:52px;height:52px;object-fit:contain}
.admin-login-sheet header span{color:var(--ph-accent);font-size:11px;font-weight:850}
.admin-login-sheet h2{margin:3px 0 4px;color:var(--ph-ink);font-size:22px;letter-spacing:0}
.admin-login-sheet header p{margin:0;color:var(--ph-muted);font-size:13px}
.admin-login-sheet form{display:grid;gap:15px}
.admin-login-sheet label{display:grid;gap:7px;color:var(--ph-text);font-size:13px;font-weight:750}
.admin-login-sheet input{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--ph-line);border-radius:6px}
.admin-login-sheet button{min-height:46px;border-radius:6px}
.admin-login-sheet form>a{color:var(--ph-muted);font-size:13px;text-align:center;text-decoration:none}
.admin-login-sheet form>a:hover{color:var(--ph-accent)}
.admin-login-error{margin:0;padding:10px 12px;border:1px solid #e5bfc3;border-radius:6px;color:#963541;background:#fff3f4;font-size:13px}
.admin-login-divider{display:flex;align-items:center;gap:10px;color:var(--ph-muted);font-size:12px}
.admin-login-divider::before,.admin-login-divider::after{content:"";height:1px;flex:1;background:var(--ph-line)}

.price-card.payment-test-plan{border-style:dashed!important;border-color:#d59a20!important;background:#fffaf0!important}
.price-card.payment-test-plan>span{color:#8a5b00!important;border-color:#e2b85c!important;background:#fff1c7!important}
.wechat-payment-dialog{width:min(92vw,440px);padding:0;border:0;border-radius:8px;background:transparent;color:var(--ph-ink)}
.wechat-payment-dialog::backdrop{background:rgba(16,24,32,.62);backdrop-filter:blur(3px)}
.wechat-payment-sheet{position:relative;padding:30px;background:#fff;border:1px solid var(--ph-line);border-radius:8px;text-align:center;box-shadow:0 24px 70px rgba(16,24,32,.28)}
.payment-dialog-close{position:absolute;top:12px;right:12px;width:36px;height:36px;padding:0;border:1px solid var(--ph-line);border-radius:6px;background:#f4f7f8;color:#263442;font-size:25px;line-height:1;cursor:pointer}
.payment-dialog-label{display:block;color:#087f5b;font-size:14px;font-weight:750}.wechat-payment-sheet h2{margin:8px 0 4px;font-size:24px;letter-spacing:0}.wechat-payment-sheet p{margin:0;color:var(--ph-muted);font-size:13px;overflow-wrap:anywhere}
.wechat-payment-sheet>strong{display:block;margin:16px 0 10px;font-size:34px;color:#111827}.wechat-payment-sheet img{display:block;width:min(100%,320px);aspect-ratio:1;margin:0 auto;border:1px solid var(--ph-line);background:#fff}
.payment-dialog-status{min-height:44px;margin:14px 0;padding:11px;border-radius:6px;background:#f3f6f7;color:#52616d}.payment-dialog-status[data-state="success"]{background:#eaf8ef;color:#19713d}.payment-dialog-status[data-state="error"]{background:#fff1f0;color:#a8372d}
.wechat-payment-sheet>.orange-btn{width:100%;min-height:46px}
@media(max-width:520px){.wechat-payment-sheet{padding:24px 18px 20px}.wechat-payment-sheet img{width:min(100%,280px)}}
@media(max-width:760px){.login-site-footer{position:relative!important;margin:0!important}.login-shell{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
