/* ===== 整点AI / Blogsy 主题复刻 =====
   亮色取自 www.zhengdianxue.com/wp-content/themes/blogsy/assets/css/style.min.css
   --pt-accent-color:#216be9 / --pt-second-color:#13b16f / --pt-body-bg-color:#faf8ff
   --pt-body-color:#282424 / --pt-headings-color:#29294b / --pt-card-bg:#fff
   --pt-shadow-soft:0 4px 25px #25252e1f / --pt-soft-radius:12px / --pt-btn-radius:50px
   暗色取自 dark-theme.min.css：#1f2328 底 / #272c31 卡片 / #e3e7ed 正文 / #fff 标题
   暗色主色按对比度提亮为 #6ea8fe（官网暗色下 accent 为纯白，工具页需保持可点击态辨识度） */
.pt-app{
  --accent:#216be9; --accent-40:#7aa7f2; --accent-80:#d3e2fb; --second:#13b16f;
  --bg:#faf8ff; --card:#ffffff; --card2:#f5f8ff; --panel2:#f1f5fc;
  --txt:#282424; --heading:#29294b; --sub:#697386; --dim:#98a1b2;
  --line:#e5e9f3; --chip:#ffffff; --chip-on:#e9f1ff;
  --ok:#13b16f; --warn:#e07a2f; --on-accent:#ffffff;
  --shadow:0 4px 25px rgba(37,37,46,.12); --shadow-sm:0 2px 10px rgba(37,37,46,.07);
  --radius:12px; --btn-radius:50px; --ta-bg:#ffffff; --site-width:1400px;
  --banner:linear-gradient(100deg,#216be9 0%,#4a8bf5 58%,#13b16f 140%);
}
/* 深色：跟站点主题同一套口径。主题的深色开关是给 <html> 加 scheme="dark"
   （见 blogsy head.min.js / main.min.js + cookie blogsyDarkMode），
   所以这里必须用 html[scheme=dark]，用 html[data-theme=dark] 永远匹配不上 —— 1.0.2 就是错在这。
   底色/卡片/描边/标题直接取主题深色令牌（dark-theme.min.css：#1f2328 / #272c31 / #3f454b / #fff）。
   主色不跟主题（主题暗色下 accent 是纯白，按钮会糊成一片），用提亮蓝 #6ea8fe 保证可辨识。 */
html[scheme=dark] .pt-app{
  --accent:#6ea8fe; --accent-40:#3c5f8f; --accent-80:#243a55; --second:#4fd39a;
  --bg:#1f2328; --card:#272c31; --card2:#2a3036; --panel2:#2f353c;
  --txt:#e3e7ed; --heading:#ffffff; --sub:#a8b3c1; --dim:#7d8796;
  --line:#3f454b; --chip:#2a3036; --chip-on:#26374d;
  --ok:#4fd39a; --warn:#f0a168; --on-accent:#101418;
  --shadow:none; --shadow-sm:none; --radius:12px; --btn-radius:50px; --ta-bg:#2a3036;
  --banner:linear-gradient(100deg,#24405f 0%,#2f5b7a 58%,#1d4b3c 140%);
}
/* 深色下选中态：实心主色 + 深色字 */
html[scheme=dark] .chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
html[scheme=dark] .chip.on .single-badge{background:rgba(0,0,0,.18);color:var(--on-accent)}
html[scheme=dark] .tag.on{background:rgba(110,168,254,.13);border-color:rgba(110,168,254,.55)}
html[scheme=dark] .tag.on .zh{color:var(--accent)}
html[scheme=dark] .tab.on{box-shadow:none}
html[scheme=dark] .dim-item.on{background:rgba(110,168,254,.12);border-color:rgba(110,168,254,.36)}
.pt-app,.pt-app *{box-sizing:border-box;margin:0;padding:0}
.pt-app{color:var(--txt);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
     padding-bottom:34px}
.pt-app a{color:inherit;text-decoration:none}
.pt-app button,.pt-app input,.pt-app textarea{font-family:inherit}
/* hidden 属性统一生效：作者样式里的 display:flex/inline-flex 优先级高于 UA 的 [hidden]{display:none}，
   .qline / .block / #hright 都吃过这个亏，这里一次性压住 */
.pt-app [hidden]{display:none!important}

/* ---- 官网顶部导航 ---- */
.sitebar{background:var(--card);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);
         position:sticky;top:0;z-index:30;transition:background-color .22s}
.sitebar-in{max-width:var(--site-width);margin:0 auto;padding:0 24px;height:66px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--banner);color:#fff;display:flex;
            align-items:center;justify-content:center;font-weight:800;font-size:15px;letter-spacing:-.5px;box-shadow:var(--shadow-sm)}
.brand-txt strong{display:block;color:var(--heading);font-size:17px;line-height:1.15;letter-spacing:.5px}
.brand-txt small{display:block;color:var(--dim);font-size:10.5px;letter-spacing:.6px;margin-top:2px}

/* ---- 工具页头 ---- */
.app{max-width:var(--site-width);margin:0 auto;padding:0 24px}
.crumb{font-size:11.5px;color:var(--dim);padding:17px 0 0}
.crumb b{color:var(--accent);font-weight:600}
/* 面包屑是可点的导航：前两级跳首页与 AI 工具导航，当前级不可点。
   链接用比分隔符更深的次级文字色 + 细下划线，保证一眼看出能点。 */
.crumb a{color:var(--sub);text-decoration:underline;text-decoration-thickness:1px;
         text-underline-offset:2px;text-decoration-color:rgba(128,140,160,.45);transition:color .15s}
.crumb a:hover{color:var(--accent);text-decoration-color:currentColor}
.pt-app header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
       padding:10px 0 20px;border-bottom:1px solid var(--line);margin-bottom:18px}
.pt-app h1{font-size:26px;letter-spacing:.2px;font-weight:800;color:var(--heading)}
.pt-app h1 em{font-style:normal;color:var(--accent)}
.sub{color:var(--sub);font-size:12.5px;margin-top:6px;max-width:760px}
.hright{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
/* hidden 属性会被上面的 display:flex 盖掉，这里必须显式压回去 */
.hright[hidden]{display:none!important}
button.badge{cursor:pointer;font-family:inherit}
button.badge:hover{border-color:var(--accent);color:var(--accent)}
.badge{padding:7px 14px;border-radius:var(--btn-radius);background:var(--card);border:1px solid var(--line);
       font-size:12px;color:var(--sub);box-shadow:var(--shadow-sm)}
.badge b{color:var(--accent);font-size:14px}
.badge.ok b{color:var(--ok)}
.btn{padding:8px 16px;border-radius:var(--btn-radius);border:1px solid var(--line);background:var(--chip);
     color:var(--txt);cursor:pointer;font-size:12.5px;transition:.18s}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.main{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}
.btn.main:hover{background:#282424;border-color:#282424;color:#fff}
html[scheme=dark] .btn.main:hover{background:#8dbdff;border-color:#8dbdff;color:#101418}
.btn.ghost{background:transparent;color:var(--sub)}
.btn.sm{padding:7px 14px;font-size:11.5px}

/* ---- 场景与三栏 ---- */
.section{margin-bottom:14px}
.label{font-size:11px;letter-spacing:1.2px;color:var(--dim);text-transform:uppercase;margin-bottom:9px;
       display:flex;align-items:center;gap:8px;font-weight:700}
.label i{font-style:normal;background:var(--accent);color:var(--on-accent);width:20px;height:20px;border-radius:50%;
         display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:0}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tab{padding:9px 19px;border-radius:var(--btn-radius);border:1px solid var(--line);background:var(--card);
     color:var(--sub);cursor:pointer;font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);transition:.18s}
.tab:hover{border-color:var(--accent);color:var(--accent)}
.tab.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 4px 14px rgba(33,107,233,.25)}
.tab.disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.chip{padding:6px 13px;border-radius:999px;border:1px dashed var(--line);background:transparent;
      color:var(--sub);cursor:pointer;font-size:12px;transition:.15s}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.on{background:var(--chip-on);border:1px solid var(--accent);color:var(--accent);font-weight:700}
.single-badge{display:inline-block;padding:1px 6px;border-radius:6px;background:rgba(255,125,0,.14);color:#ff7d00;font-size:10px;font-weight:600;line-height:1.5;margin-left:2px}
.mini.disabled{opacity:.45;cursor:not-allowed}
.chip.solid{border-style:solid;background:var(--card);box-shadow:var(--shadow-sm)}
.grid{display:grid;grid-template-columns:216px minmax(0,1fr) 392px;gap:14px;align-items:start}
@media(max-width:1200px){.grid{grid-template-columns:1fr}.pane{min-height:auto!important}.site-nav{display:none}}
/* 提示词列可能很长：宽屏时前两栏吸顶跟随，滚下去也能继续点标签 */
@media(min-width:1201px){
  .grid>.pane:nth-child(1),.grid>.pane:nth-child(2){position:sticky;top:78px;align-self:start}
}
.pane{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px;
      min-height:600px;box-shadow:var(--shadow)}
.pane h3{font-size:11.5px;color:var(--sub);letter-spacing:.9px;font-weight:700;margin-bottom:10px;text-transform:uppercase}
.dim-list{display:flex;flex-direction:column;gap:4px;max-height:600px;overflow:auto;padding-right:4px}
.dim-item{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;cursor:pointer;
          border:1px solid transparent;color:var(--sub);font-size:12.5px;transition:.14s}
.dim-item:hover{background:var(--card2);color:var(--txt)}
.dim-item.on{background:var(--chip-on);border-color:var(--accent-40);color:var(--accent);font-weight:700}
.dim-item .n{width:21px;height:21px;border-radius:6px;background:var(--panel2);display:flex;align-items:center;
             justify-content:center;font-size:10px;color:var(--dim);flex:none}
.dim-item.on .n{background:var(--accent);color:var(--on-accent)}
.dim-item .cnt{margin-left:auto;font-size:10.5px;color:var(--dim)}
/* 二级类目：全量展示，不出现内部滚动条（多了就让页面自然变长） */
.cat-bar{display:flex;gap:6px;flex-wrap:wrap;max-height:none;overflow:visible;padding-bottom:7px;
         margin-bottom:12px;border-bottom:1px solid var(--line)}
.tools{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.search{flex:1;min-width:170px;background:var(--card2);border:1px solid var(--line);border-radius:9px;
        padding:8px 12px;color:var(--txt);font-size:12.5px;outline:none;transition:.15s}
.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-80)}
.mini{padding:7px 12px;border-radius:var(--btn-radius);border:1px solid var(--line);background:var(--card);
      color:var(--sub);cursor:pointer;font-size:11.5px;transition:.15s}
.mini:hover{color:var(--accent);border-color:var(--accent)}
/* 标签区：高度跟着视口走（大屏基本不用拉），小类目天然不出滚动条 */
.tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:7px;
          max-height:560px;overflow:auto;padding-right:4px}
.tag{display:flex;flex-direction:column;gap:2px;padding:8px 11px;border-radius:9px;border:1px solid var(--line);
     background:var(--card2);cursor:pointer;transition:.14s}
.tag:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.tag.on{background:var(--chip-on);border-color:var(--accent)}
.tag .zh{font-size:12.5px;color:var(--txt)}
.tag .en{font-size:10.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag.on .zh{color:var(--accent);font-weight:700}
.empty{color:var(--dim);font-size:12px;padding:14px}
.block{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}
.block h4{font-size:12px;color:var(--heading);margin-bottom:8px;font-weight:700}
.langtag{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--dim);margin:9px 0 5px}
.langtag b{color:var(--accent);font-size:11px;letter-spacing:.5px}
.ta{width:100%;background:var(--ta-bg);border:1px solid var(--line);border-radius:9px;color:var(--txt);
    font:12.5px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    padding:10px 11px;resize:vertical;outline:none;transition:.15s;overflow-y:auto}
.ta:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-80)}
/* 高度不再写死：由 JS 按内容撑到刚好显示全部（min-height 保底视觉平衡） */
.ta.zh{min-height:104px}
.ta.en{min-height:118px;color:var(--sub)}
.warnbar{background:rgba(224,122,47,.10);border:1px solid rgba(224,122,47,.38);color:var(--warn);
         border-radius:9px;padding:9px 11px;font-size:11.5px;margin-bottom:9px;line-height:1.55}
.warnbar b{color:var(--warn)}
.okbar{background:rgba(19,177,111,.09);border:1px solid rgba(19,177,111,.30);color:var(--ok);
       border-radius:9px;padding:8px 11px;font-size:11.5px;margin-bottom:9px;line-height:1.5}
.counter{font-size:11px;color:var(--dim);margin:9px 0 11px}
.btns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.qline{display:flex;justify-content:space-between;font-size:12px;margin:5px 0;color:var(--sub)}
.qline b{color:var(--txt)}
.qbar{height:6px;border-radius:4px;background:var(--panel2);overflow:hidden;margin:8px 0}
.qbar i{display:block;height:100%;background:var(--accent);border-radius:4px;transition:.25s}
.qbar.ok i{background:var(--ok)}
.qr{width:112px;height:112px;margin:8px auto;border-radius:10px;background:#fff;display:flex;align-items:center;
    justify-content:center;color:#111;font-size:10px;font-weight:700;text-align:center;line-height:1.35;padding:8px;
    border:1px solid var(--line)}
.note{font-size:11px;color:var(--sub);line-height:1.65}
.note b{color:var(--accent)}
.code{display:inline-block;font:700 18px/1 monospace;letter-spacing:5px;color:var(--accent);background:var(--ta-bg);
      border:1px dashed var(--accent);border-radius:9px;padding:9px 13px;margin:4px 0}
.mask{position:fixed;inset:0;background:rgba(12,16,24,.62);display:none;align-items:center;justify-content:center;z-index:40}
.mask.on{display:flex}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:24px;
       width:min(430px,92vw);text-align:center;box-shadow:var(--shadow)}
.mcard h3{font-size:17px;margin-bottom:9px;color:var(--heading)}
.mcard p{font-size:12.5px;color:var(--sub);line-height:1.75;margin-bottom:13px}
.mcard .btn{width:100%;margin-top:9px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(14px);background:var(--card);
       border:1px solid var(--line);color:var(--txt);padding:11px 19px;border-radius:var(--btn-radius);
       font-size:12.5px;opacity:0;pointer-events:none;transition:.22s;z-index:60;max-width:80vw;text-align:center;
       box-shadow:var(--shadow)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---- 扫码解锁弹层（左码右文案） ---- */
.mcard{width:min(720px,94vw);text-align:left;padding:22px}
.mpair{display:flex;gap:22px;align-items:flex-start}
.mqr{flex:0 0 196px;text-align:center}
.mqr img{width:196px;height:196px;border-radius:10px;border:1px solid var(--line);background:#fff;display:block}
.mcode{font:700 20px/1 monospace;letter-spacing:6px;color:var(--accent);margin-top:10px}
.mqr-tip{font-size:10.5px;color:var(--sub);margin-top:5px}
.mtxt{flex:1;min-width:0}
.mtxt h3{font-size:18px;margin-bottom:8px;color:var(--heading)}
.mtxt p{font-size:12.5px;color:var(--sub);line-height:1.8;margin-bottom:10px}
.mstatus{font-size:12px;color:var(--accent);background:var(--panel2);border:1px solid var(--line);
         border-radius:8px;padding:8px 11px;margin:10px 0 2px;line-height:1.6}
.mtxt .btn{width:100%;margin-top:9px;text-align:center;display:block}
.mnote{font-size:10.5px;color:var(--sub);margin-top:10px;line-height:1.6}
@media (max-width:640px){.mpair{flex-direction:column;align-items:center}.mqr{flex:none}}

/* ---- 未解锁时复制按钮锁定 ---- */
.btn.locked{opacity:.52;cursor:not-allowed;filter:grayscale(.4)}
.btn.locked::before{content:'🔒 ';font-size:11px}
.btn.locked:hover{border-color:var(--line);color:var(--txt)}

/* ---- 侧栏二维码入口 ---- */
.qr-entry{display:flex;gap:11px;align-items:center;background:var(--panel2);border:1px dashed var(--line);
          border-radius:10px;padding:11px}
.qr-entry .qr-ico{font-size:26px;color:var(--accent);line-height:1}
.qr-entry b{display:block;font-size:12px;color:var(--txt);margin-bottom:3px}
.qr-entry span{font-size:10.5px;color:var(--sub);line-height:1.55}
.badge.warn{border-color:#e0a03a}
.badge.warn b{color:#e0a03a}

/* ---- 官网页脚 ---- */
.site-foot{margin-top:26px;background:var(--card);border-top:1px solid var(--line);padding:26px 0 18px}
.foot-in{max-width:var(--site-width);margin:0 auto;padding:0 24px;display:flex;gap:34px;flex-wrap:wrap;justify-content:space-between}
.foot-brand{max-width:330px}
.foot-brand strong{color:var(--heading);font-size:15px}
.foot-brand p{font-size:11.5px;color:var(--sub);line-height:1.75;margin-top:8px}
.foot-col h5{font-size:11.5px;color:var(--heading);margin-bottom:9px;letter-spacing:.5px}
.foot-col a{display:block;font-size:11.5px;color:var(--sub);padding:3px 0}
.foot-col a:hover{color:var(--accent)}
.foot-bot{max-width:var(--site-width);margin:18px auto 0;padding:14px 24px 0;border-top:1px solid var(--line);
          font-size:11px;color:var(--dim);line-height:1.8}
.pt-app footer{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);
       background:var(--card2);font-size:11.5px;color:var(--sub);line-height:1.8}
.pt-app footer b{color:var(--heading)}

/* ---- 视频三模式（VLOG / 提示工程 / 分镜） ---- */
.pt-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 16px;border-radius:12px;
             border:1px solid var(--line);background:var(--card);color:var(--txt);cursor:pointer;transition:.15s;min-width:120px;
             box-shadow:var(--shadow-sm)}
.pt-mode-btn b{font-size:13px}
.pt-mode-btn span{font-size:10.5px;color:var(--dim);letter-spacing:.5px;text-transform:uppercase}
.pt-mode-btn:hover{border-color:var(--accent)}
.pt-mode-btn.pt-mode-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pt-mode-btn.pt-mode-active span{color:rgba(255,255,255,.82)}
.recRow{margin-top:10px;display:none;flex-direction:column;gap:8px}
.recRow.show{display:flex}
.recGroup{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.recGroup .rt{font-size:11px;color:var(--sub);margin-right:4px;font-weight:600}
.recChip{padding:5px 11px;border-radius:8px;border:1px solid var(--line);background:var(--card2);color:var(--sub);
         cursor:pointer;font-size:12px;transition:.15s}
.recChip:hover{border-color:var(--accent);color:var(--txt)}
.recChip.on{background:var(--chip-on);border-color:var(--accent);color:var(--accent);font-weight:700}
/* ---- 工具页：兜底压掉首页版块 ----
   上下文已在 PHP 侧压平（inc/class-context.php），主题不会再印 hero / 故事区 / 精选分类 / 精选链接，
   首页 AI 视频栏也不会注入。这里再挡一层：万一主题换了判断口径、或插件顺序变化把版块带出来，
   也不让它们出现在工具页上。只对 .pt-page 生效，不影响站点其它页面。 */
.pt-page #blogsy-hero,
.pt-page #blogsy-stories,
.pt-page #blogsy-featured-category,
.pt-page #blogsy-featured-links,
.pt-page #wbvp-home{display:none!important}
