/*
Theme Name: Nexus Workbench
Theme URI: https://www.aisj.site/
Author: Liangzi
Description: 暗色科技风个人 AI 工作台一页式主题，基于 Nexus 静态页面改造；首页为落地页，博客区动态读取文章。
Version: 1.0.0
Requires at least: 6.0
License: GPLv2 or later
Text Domain: nexus
*/

:root{--bg:#0B0E14;--card:#131722;--border:#1F2735;--accent:#4FE3C1;--accent2:#A78BFA;--text:#E6EAF2;--muted:#8B93A7;--radius:14px;
--sans:"Space Grotesk","Noto Sans SC","PingFang SC","Microsoft YaHei","Source Han Sans SC",sans-serif;
--mono:"JetBrains Mono","Cascadia Mono",Consolas,"Courier New",monospace}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:48px 48px}
body::before{content:"";position:fixed;inset:0;pointer-events:none;
  background:radial-gradient(600px 300px at 70% -10%,rgba(79,227,193,.12),transparent 70%),radial-gradient(500px 300px at 15% 10%,rgba(167,139,250,.10),transparent 70%)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
/* ===== 导航 ===== */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,14,20,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
body.admin-bar .nav{top:32px}
/* ===== 移动端管理工具栏固定悬浮（WP 默认 absolute 会跟随滚动导致导航错位） ===== */
@media screen and (max-width:782px){
  body.admin-bar .nav{top:46px}
}
@media screen and (max-width:600px){
  #wpadminbar{position:fixed !important;top:0;width:100%}
  html{margin-top:46px !important}
  body.admin-bar .nav{top:46px}
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:var(--sans);font-weight:700;font-size:1.15rem;letter-spacing:.5px}
.logo-sub{color:var(--muted);font-weight:400;font-size:.85rem}
.nav-links{display:flex;gap:28px;font-size:.92rem;color:var(--muted)}
.nav-links a:hover{color:var(--accent)}
/* ===== 导航账户区 ===== */
.nav-right{display:flex;align-items:center;gap:12px}
.pts-badge{font-family:var(--mono);font-size:.8rem;color:var(--accent);border:1px solid rgba(79,227,193,.3);background:rgba(79,227,193,.06);padding:5px 12px;border-radius:999px;white-space:nowrap}
.pts-badge b{font-weight:600}
.nav-user{color:var(--text);font-size:.9rem;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-user:hover{color:var(--accent)}
/* ===== 移动端/iPad 导航单行化：链接跟在 logo 同一排（与桌面端同样的内边距和位置） ===== */
@media(max-width:960px){
  .nav-inner{flex-wrap:nowrap;height:64px;padding:0 24px}
  .logo,.nav-links,.nav-right{flex-shrink:0}
  .nav-links{margin-left:auto;gap:16px;overflow:visible;padding:0}
  .nav-links a{padding:0;font-size:.85rem}
  .nav-right{gap:10px}
}
/* ===== 手机竖屏：压缩字号保证单行放得下（不留滚动） ===== */
@media(max-width:640px){
  .nav-inner{padding:0 16px}
  .logo{font-size:.95rem}
  .logo-sub{display:none}
  .nav-links{gap:10px;margin-left:auto}
  .nav-links a{font-size:.75rem}
  .nav-right{gap:8px}
  .nav-right .btn{padding:7px 12px;font-size:.8rem}
}
@media(max-width:640px){.pts-badge{display:none}}
/* ===== 按钮 ===== */
.btn{display:inline-block;padding:12px 26px;border-radius:10px;font-weight:600;font-size:.95rem;transition:.25s;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--accent);color:#06251f}
.btn-primary:hover{box-shadow:0 0 28px rgba(79,227,193,.45);transform:translateY(-2px)}
.btn-ghost{border-color:var(--border)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn.small{padding:8px 16px;font-size:.85rem}
/* ===== Hero ===== */
.hero{padding:96px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--border);border-radius:999px;font-size:.8rem;color:var(--muted);background:rgba(19,23,34,.6)}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
h1{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.3;margin:20px 0 14px;font-weight:700}
.accent{color:var(--accent)}
.typing-line{font-family:var(--mono);color:var(--accent2);font-size:1.05rem;min-height:1.7em;margin-bottom:30px}
.typing-line::before{content:"> ";color:var(--muted)}
.typing::after{content:"▌";animation:blink 1s infinite}
@keyframes blink{50%{opacity:0}}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
/* ===== 终端窗口 ===== */
.terminal{background:#0D1119;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(79,227,193,.06)}
.term-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#11151F;border-bottom:1px solid var(--border)}
.tdot{width:11px;height:11px;border-radius:50%}
.red{background:#FF5F57}.yellow{background:#FEBC2E}.green{background:#28C840}
.term-title{margin-left:8px;font-size:.75rem;color:var(--muted);font-family:var(--mono)}
.term-body{padding:18px;font-family:var(--mono);font-size:.82rem;line-height:2;color:#B7C0D4}
.prompt{color:var(--accent)}.ok{color:var(--accent)}.dim{color:var(--muted)}
.cursor{color:var(--accent);animation:blink 1s infinite}
/* ===== 数据条 ===== */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center}
.stat b{display:block;font-family:var(--mono);font-size:1.7rem;color:var(--accent)}
.stat span{font-size:.85rem;color:var(--muted)}
/* ===== 区块 ===== */
section{padding:72px 0}
.sec-head{margin-bottom:36px}
.sec-head h2{font-size:1.7rem;font-weight:700}
.sec-head h2::before{content:"";display:inline-block;width:26px;height:3px;background:var(--accent);border-radius:2px;margin-right:14px;vertical-align:middle}
.sec-head small{display:block;color:var(--muted);margin-top:8px;font-weight:400;font-size:.92rem}
/* ===== Agent 卡片 ===== */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.agent-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:12px;transition:transform .3s,border-color .3s,box-shadow .3s}
.agent-card:hover{transform:translateY(-6px);border-color:rgba(79,227,193,.5);box-shadow:0 14px 40px rgba(0,0,0,.4)}
.agent-top{display:flex;justify-content:space-between;align-items:center}
.agent-icon{width:44px;height:44px;border-radius:10px;background:rgba(79,227,193,.08);border:1px solid rgba(79,227,193,.18);display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.st{font-size:.72rem}
.st.online{color:var(--accent)}.st.beta{color:#FBBF24}.st.dev{color:#64748B}
.agent-card h3{font-size:1.05rem}
.agent-card p{font-size:.87rem;color:var(--muted);line-height:1.7;flex:1}
.tags{display:flex;gap:8px;flex-wrap:wrap}
.tags span{font-size:.72rem;padding:3px 10px;border:1px solid var(--border);border-radius:999px;color:var(--accent2)}
.agent-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:14px}
.price{font-family:var(--mono);color:var(--accent);font-size:1.15rem;font-weight:600}
.btn-buy{padding:8px 16px;font-size:.85rem;border:1px solid var(--border);border-radius:8px;color:var(--muted);transition:.25s}
.agent-card:hover .btn-buy{border-color:var(--accent);color:var(--accent)}
/* ===== 能力矩阵 ===== */
.caps{display:flex;flex-wrap:wrap;gap:12px}
.caps span{padding:10px 18px;border:1px solid var(--border);border-radius:10px;background:var(--card);font-size:.9rem;color:var(--muted);transition:.25s;cursor:default}
.caps span:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.caps b{color:var(--text);font-weight:500}
/* ===== 工作流时间线 ===== */
.timeline{position:relative;max-width:640px;border-left:1px solid var(--border);padding-left:32px}
.step{position:relative;padding:0 0 32px 24px}
.step:last-child{padding-bottom:0}
.step::before{content:"";position:absolute;left:-39px;top:4px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}
.step h4{font-size:1rem;margin-bottom:6px}
.step h4 em{font-style:normal;font-family:var(--mono);color:var(--accent2);margin-right:10px;font-size:.85rem}
.step p{color:var(--muted);font-size:.88rem;line-height:1.7}
/* ===== 评价 / 博客 ===== */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quote{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.quote p{font-size:.95rem;line-height:1.8}
.quote footer{margin-top:14px;color:var(--muted);font-size:.82rem}
.quote footer b{color:var(--accent)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* ===== 博客：板块小标题 ===== */
.blog-sub{display:flex;align-items:baseline;gap:10px;margin:8px 0 20px;font-size:1.08rem;font-weight:700}
.blog-sub::before{content:"";width:22px;height:3px;background:var(--accent);border-radius:2px;align-self:center}
.blog-sub small{font-size:.8rem;font-weight:400;color:var(--muted)}
.posts + .blog-sub{margin-top:48px}
/* ===== 博客：全部文章归档列表 ===== */
.arch-list{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:44px}
.arch-row{display:flex;align-items:center;gap:18px;padding:15px 22px;border-bottom:1px solid var(--border);position:relative;transition:background .25s}
.arch-row:last-child{border-bottom:none}
.arch-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transition:transform .25s}
.arch-row:hover{background:rgba(79,227,193,.06)}
.arch-row:hover::before{transform:scaleY(1)}
.arch-row time{font-family:var(--mono);font-size:.78rem;color:var(--muted);white-space:nowrap;letter-spacing:.02em;min-width:86px}
.arch-title{flex:1;font-size:.95rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s}
.arch-row:hover .arch-title{color:var(--accent)}
.arch-arrow{color:var(--accent);opacity:0;transform:translateX(-8px);transition:.25s;font-size:.9rem}
.arch-row:hover .arch-arrow{opacity:1;transform:translateX(0)}
@media(max-width:640px){.arch-row{padding:13px 16px;gap:12px}.arch-title{white-space:normal;font-size:.88rem;line-height:1.45}.arch-arrow{display:none}}
.post{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:.3s;display:block;overflow:hidden}
.post:hover{border-color:rgba(167,139,250,.5);transform:translateY(-4px)}
.post time{font-size:.75rem;color:var(--muted);font-family:var(--mono)}
.post h3{font-size:.98rem;margin:8px 0 6px}
.post p{font-size:.85rem;color:var(--muted);line-height:1.6}
.post-thumb{display:block;width:calc(100% + 40px);max-width:none;margin:-20px -20px 14px;aspect-ratio:21/9;object-fit:cover;transition:transform .45s ease}
.post:hover .post-thumb{transform:scale(1.03)}
/* ===== 文章页 / 普通页面 ===== */
.article{max-width:760px;margin:0 auto;padding:64px 24px 80px}
.article.wide{max-width:1120px}
.article.wide .grid{gap:24px}
.article h1{font-size:2rem;margin-bottom:10px}
.article .meta{color:var(--muted);font-size:.85rem;font-family:var(--mono);margin-bottom:36px}
.article .content{line-height:1.9;font-size:1rem}
.article .content h2{margin:36px 0 14px;font-size:1.4rem}
.article .content h3{margin:28px 0 12px;font-size:1.15rem}
.article .content p{margin:0 0 18px}
.article .content a{color:var(--accent)}
.article .content ul,.article .content ol{margin:0 0 18px 24px;color:var(--muted)}
.article .content blockquote{border-left:3px solid var(--accent);background:var(--card);padding:14px 18px;margin:0 0 18px;border-radius:0 10px 10px 0;color:var(--muted)}
.article .content img{max-width:100%;height:auto;border-radius:10px}
.article .content pre{background:#0D1119;border:1px solid var(--border);border-radius:10px;padding:16px;overflow:auto;font-family:var(--mono);font-size:.85rem;margin:0 0 18px}
.article .content code{font-family:var(--mono);color:var(--accent2)}
.back-link{display:inline-block;margin-top:28px;color:var(--muted)}
.back-link:hover{color:var(--accent)}
/* ===== 博客列表分页 ===== */
.pagination{margin-top:36px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:.88rem;transition:.25s}
.pagination .page-numbers.current{border-color:var(--accent);color:var(--accent);background:rgba(79,227,193,.06)}
.pagination a.page-numbers:hover{color:var(--accent);border-color:var(--accent)}
/* ===== CTA & Footer ===== */
.cta{background:linear-gradient(135deg,rgba(79,227,193,.08),rgba(167,139,250,.08));border:1px solid rgba(79,227,193,.25);border-radius:20px;padding:48px;text-align:center}
.cta h2{font-size:1.6rem;margin-bottom:10px}
.cta p{color:var(--muted);margin-bottom:24px}
footer.site{border-top:1px solid var(--border);padding:36px 0;color:var(--muted);font-size:.85rem}
.foot-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
.foot-links{display:flex;gap:22px}
.foot-links a:hover{color:var(--accent)}
/* ===== 滚动渐入 ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
.reveal.in{opacity:1;transform:none}
/* ===== 交互动画增强 v1.1（纯 transform/opacity，GPU 合成，零额外请求） ===== */
@keyframes riseIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero .badge,.hero h1,.hero .typing-line,.hero .hero-cta{opacity:0;animation:riseIn .8s cubic-bezier(.22,.9,.3,1) forwards}
.hero .badge{animation-delay:.05s}
.hero h1{animation-delay:.15s}
.hero .typing-line{animation-delay:.3s}
.hero .hero-cta{animation-delay:.45s}
.terminal{opacity:0;animation:riseIn .9s .35s cubic-bezier(.22,.9,.3,1) forwards}
.term-body p{opacity:0;animation:riseIn .4s forwards}
.term-body p:nth-child(1){animation-delay:.65s}
.term-body p:nth-child(2){animation-delay:.9s}
.term-body p:nth-child(3){animation-delay:1.1s}
.term-body p:nth-child(4){animation-delay:1.35s}
.term-body p:nth-child(5){animation-delay:1.6s}
.term-body p:nth-child(6){animation-delay:1.85s}
.stats .stat{opacity:0;animation:riseIn .7s cubic-bezier(.22,.9,.3,1) forwards}
.stats .stat:nth-child(1){animation-delay:.55s}
.stats .stat:nth-child(2){animation-delay:.68s}
.stats .stat:nth-child(3){animation-delay:.81s}
/* 首屏光晕 */
.hero{position:relative;overflow:hidden}
#glow{position:absolute;width:440px;height:440px;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .5s;z-index:0;will-change:transform;
  background:radial-gradient(circle,rgba(79,227,193,.14),rgba(167,139,250,.08) 45%,transparent 70%)}
.hero:hover #glow{opacity:1}
.hero .hero-grid,.hero>.wrap:last-child{position:relative;z-index:1}
/* 滚动进度条 */
#progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:100;pointer-events:none;
  background:linear-gradient(90deg,var(--accent),var(--accent2))}
/* 导航滚动加深 */
.nav.scrolled{background:rgba(11,14,20,.95);box-shadow:0 10px 34px rgba(0,0,0,.4)}
/* 3D 倾斜准备 */
.agent-card,.post,.quote{will-change:transform}
/* 弱化动效偏好：尊重系统"减少动态效果"设置 */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}
  .hero .badge,.hero h1,.hero .typing-line,.hero .hero-cta,.terminal,.term-body p,.stats .stat{opacity:1;animation:none!important}
  .reveal{opacity:1;transform:none}
}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.quotes{grid-template-columns:1fr}.posts{grid-template-columns:1fr}}
@media(max-width:640px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}}

/* ===== Agent 商店：列表空态 + 详情页 ===== */
.agent-empty{color:var(--muted);text-align:center;padding:60px 0;border:1px dashed var(--border);border-radius:var(--radius)}
.agent-detail{display:flex;flex-direction:column;gap:22px}
.agent-detail-head{display:flex;gap:20px;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.agent-detail-icon{font-size:2.6rem;line-height:1;background:rgba(79,227,193,.08);border:1px solid var(--border);border-radius:14px;width:72px;height:72px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.agent-detail-info{flex:1;min-width:220px}
.agent-detail-info h1{margin:6px 0 10px;font-size:1.6rem}
.agent-detail-status{font-size:.85rem}
.agent-detail-buy{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.agent-detail-price{font-size:1.6rem;font-weight:800;color:var(--accent);font-family:var(--mono)}
.btn-detail-cta{display:inline-block;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0B0E14;font-weight:700;padding:10px 22px;border-radius:10px;transition:transform .2s,box-shadow .25s}
.btn-detail-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(79,227,193,.3)}
.agent-detail-desc{color:var(--muted);font-size:1.02rem;line-height:1.8;border-left:3px solid var(--accent);padding-left:14px}
.agent-detail-body{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:26px}
@media(max-width:640px){.agent-detail-buy{align-items:flex-start}}

/* ===== Agent 详情页：资源包下载卡片 ===== */
.agent-dl{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;text-decoration:none;transition:transform .2s,border-color .25s,box-shadow .3s}
.agent-dl:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 24px rgba(79,227,193,.15)}
.agent-dl-icon{font-size:1.8rem;line-height:1;flex-shrink:0}
.agent-dl-text{flex:1;min-width:0}
.agent-dl-text strong{display:block;font-size:1.02rem;color:var(--text)}
.agent-dl-text em{display:block;font-style:normal;font-size:.85rem;color:var(--muted);margin-top:4px;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-dl-btn{flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0B0E14;font-weight:700;padding:9px 18px;border-radius:10px;font-size:.92rem;transition:box-shadow .25s}
.agent-dl:hover .agent-dl-btn{box-shadow:0 4px 16px rgba(79,227,193,.35)}
@media(max-width:560px){.agent-dl{flex-wrap:wrap}.agent-dl-btn{width:100%;text-align:center}}

/* ===== 精选 Agent 卡片 ===== */
.agent-card.featured{position:relative;border-color:rgba(79,227,193,.45)}
.agent-card.featured::before{content:"★ 精选";position:absolute;top:-10px;right:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0B0E14;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.05em}
.agent-card.featured:hover{box-shadow:0 10px 32px rgba(79,227,193,.18)}

/* ===== 手机端优化（微信等竖屏浏览器）：禁止横向滚动 + 整体简化 ===== */
html,body{overflow-x:hidden}
@media(max-width:640px){
  /* 导航：隐藏次要链接（博客/关于），压缩字号保证单行放得下 */
  .nl-blog,.nl-about{display:none}
  .nav-links{gap:12px}
  .nav-links a{font-size:.72rem}
  .logo{font-size:.9rem}
  .nav-right{gap:6px}
  .nav-right .btn{padding:7px 10px;font-size:.78rem}
  /* 区块间距与标题整体收紧 */
  .hero{padding:52px 0 36px}
  .hero-grid{gap:26px}
  h1{font-size:1.65rem;margin:14px 0 10px}
  .typing-line{font-size:.9rem;margin-bottom:20px}
  .badge{font-size:.72rem;padding:5px 11px}
  .hero-cta{gap:10px}
  .btn{padding:10px 20px;font-size:.88rem}
  section{padding:46px 0}
  .sec-head{margin-bottom:22px}
  .sec-head h2{font-size:1.3rem}
  .sec-head small{font-size:.82rem}
  .wrap{padding:0 16px}
  /* 首页终端窗口简化 */
  .term-bar{padding:9px 12px}
  .term-body{padding:12px;font-size:.7rem;line-height:1.85}
  /* 卡片与网格简化 */
  .grid{gap:12px}
  .agent-card{padding:16px}
  .stats{gap:10px;margin-top:36px}
  .stat{padding:14px}
  .caps{gap:8px}
  .caps span{padding:8px 12px;font-size:.78rem}
  .quotes{gap:12px}
  .quote{padding:16px}
  .posts{gap:12px}
  .post{padding:16px}
  /* 内页 */
  .article{padding:40px 16px 56px}
  .timeline{padding-left:20px}
}

/* ===== 定制提示词页：左说明 + 右车库生成器（iframe），下方灵感画廊通长 4×2 ===== */
.prompt-layout{display:grid;grid-template-columns:5fr 7fr;gap:36px}
.prompt-intro{padding:0}
.prompt-intro h1{margin-top:0;font-size:2rem}
.prompt-gal-head h2{font-size:2rem;line-height:1.3;margin:0 0 8px;font-weight:700}
.prompt-gallery{display:flex;flex-direction:column}
@media(max-width:900px){.prompt-layout{grid-template-columns:1fr;gap:28px}}
.prompt-gal-head small{color:var(--muted);font-size:.85rem}
.prompt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.prompt-card{display:block;margin:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s,border-color .25s,box-shadow .3s}
.prompt-card:hover{transform:translateY(-3px);border-color:rgba(79,227,193,.5);box-shadow:0 10px 28px rgba(0,0,0,.35)}
.prompt-card img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block;transition:transform .45s ease}
.prompt-card:hover img{transform:scale(1.04)}
.prompt-card figcaption{padding:10px 12px;font-size:.78rem;color:var(--muted);line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prompt-more{display:inline-block;margin-top:22px;align-self:flex-start;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06251f !important;font-weight:700;padding:12px 28px;border-radius:10px;font-size:1rem;text-decoration:none;transition:transform .2s,box-shadow .25s}
.prompt-more:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(79,227,193,.4);text-decoration:none}

/* ===== 右侧：生成器入口卡片 × 2（图 + 标题）===== */
.prompt-forge{display:flex;flex-direction:column;gap:20px;min-width:0}
.forge-card{display:block;position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--card);text-decoration:none;box-shadow:0 12px 34px rgba(0,0,0,.3);transition:transform .25s,border-color .25s,box-shadow .3s}
.forge-card:hover{transform:translateY(-4px);border-color:rgba(230,178,104,.6);box-shadow:0 16px 42px rgba(0,0,0,.42);text-decoration:none}
.forge-card img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block;transition:transform .5s ease}
.forge-card:hover img{transform:scale(1.04)}
.forge-title{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.78) 55%);color:#f7f1e4;font-size:1.15rem;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.forge-arrow{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06251f;font-size:1rem;transition:transform .25s}
.forge-card:hover .forge-arrow{transform:translateX(4px)}

/* ===== 灵感画廊通长区（4 列 × 2 行）===== */
.prompt-gallery-wide{margin-top:56px;display:flex;flex-direction:column}
.prompt-grid-wide{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
@media(max-width:1100px){.prompt-grid-wide{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.prompt-grid-wide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.prompt-grid-wide{grid-template-columns:1fr}}
.prompt-gallery-wide .prompt-more{align-self:center;margin-left:auto;margin-right:auto}

/* ===== 提交需求按钮（高对比）===== */
.btn-demand{display:inline-block;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06251f !important;font-weight:700;padding:12px 28px;border-radius:10px;font-size:1rem;transition:transform .2s,box-shadow .25s}
.btn-demand:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(79,227,193,.4)}

/* ===== 客户留言板 ===== */
.fb-board{margin-top:8px}
.fb-form{display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.fb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.fb-row{grid-template-columns:1fr}}
.fb-form input[type=text],.fb-form textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:11px 14px;color:var(--text);font-size:.95rem;font-family:var(--sans);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}
.fb-form input:focus,.fb-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,227,193,.12)}
.fb-form textarea{resize:vertical;min-height:120px}
.fb-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.fb-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fb-tip{color:var(--muted);font-size:.82rem}
.fb-msg{margin:0;padding:10px 14px;border-radius:10px;font-size:.9rem}
.fb-msg.ok{background:rgba(79,227,193,.1);border:1px solid rgba(79,227,193,.35);color:var(--accent)}
.fb-msg.err{background:rgba(255,99,99,.08);border:1px solid rgba(255,99,99,.3);color:#ff7b7b}

/* ===== v1.5.7 手机竖屏导航修复 =====
   390px 实测溢出 16px（登录+注册被顶出屏）。
   方案：≤480px 隐藏登录钮（注册保留）、找回博客链接、
   链接区可横向滚动兜底。 */
@media(max-width:640px){
  .nl-blog{display:inline}
}
@media(max-width:480px){
  .nav-right .btn-ghost{display:none}
  .nav-links{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{flex:0 0 auto}
}

/* ===== v1.5.8 手机竖屏 timeline 圆圈贴边修复 =====
   640px 断点 .timeline padding-left 缩到 20px 后，圆圈
   left:-39px 未同步导致骑在屏幕边。改为骑线居中。 */
@media(max-width:640px){
  .step::before{left:-27px}
  .step{padding-left:20px}
}

/* ===== 首页 #workflow 双列：左时间轴 / 右生成器卡片（v1.5.9）===== */
.workflow-lr{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:start}
.home-forge .forge-card img{aspect-ratio:21/5}
.home-forge .forge-title{font-size:1.02rem;padding:12px 16px}
@media(max-width:1024px){.workflow-lr{grid-template-columns:1fr;gap:40px}.home-forge{margin-top:8px}}
