/* ============================================================
   点点精灵 使用手册 · 共享样式（依赖 styles.css 的 :root 变量与官网组件）
   ============================================================ */
:root{
  --amber:#c07d10;
  --amber-soft:#fcf3e2;
}

/* ===== 三栏布局 ===== */
.manual-shell{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr) 196px}
nav.toc{position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);overflow-y:auto;padding:28px 14px 60px 24px;border-right:1px solid var(--hair)}
.toc h5{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:20px 0 7px;font-weight:700}
.toc h5:first-child{margin-top:0}
.toc a{display:block;padding:6px 11px;border-radius:7px;color:var(--ink-2);font-size:.9rem;font-weight:500;line-height:1.4}
.toc a:hover{background:var(--vio-soft);color:var(--vio-deep)}
.toc a.on{background:var(--vio-soft);color:var(--vio-deep);font-weight:700}
.toc a.sub{padding-left:22px;font-size:.86rem;color:var(--ink-3)}
.toc a.sub:hover{color:var(--vio-deep)}
.toc a.sub.on{color:var(--vio-deep)}
.toc a.soon{color:var(--ink-3);cursor:default}
.toc a.soon:hover{background:transparent}
.toc a.soon::after{content:"待补";float:right;font-size:.66rem;background:var(--hair);color:var(--ink-3);padding:0 6px;border-radius:6px;line-height:1.7;font-weight:600}

.manual-main{padding:42px 48px 120px;min-width:0}
aside.mini{position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);overflow-y:auto;padding:42px 18px;font-size:.84rem}
aside.mini .lbl{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:10px}
aside.mini a{display:block;padding:4px 0 4px 12px;color:var(--ink-3);border-left:2px solid var(--hair);margin-left:-1px;line-height:1.4}
aside.mini a:hover{color:var(--vio)}

/* ===== 文档排版 ===== */
.doc{max-width:780px}
.doc+.doc{margin-top:84px;padding-top:54px;border-top:1px dashed var(--hair-2)}
.doc .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--vio-deep);margin-bottom:14px}
.doc .eyebrow::before{content:"";width:14px;height:3px;background:var(--vio);border-radius:2px}
.doc h1{font-size:1.95rem;color:var(--ink);font-weight:800;line-height:1.28;letter-spacing:-.01em;margin-bottom:12px}
.doc .lead{font-size:1.04rem;color:var(--ink-2);margin:0 0 8px}
.doc h2{font-size:1.34rem;color:var(--ink);font-weight:800;margin:44px 0 14px;scroll-margin-top:70px}
.doc h3{font-size:1.06rem;color:var(--ink);font-weight:700;margin:28px 0 8px}
.doc p{margin:13px 0}
.doc ul,.doc ol{margin:12px 0 12px 2px;padding-left:22px}
.doc li{margin:7px 0}
.doc li::marker{color:var(--ink-3)}
.doc article{scroll-margin-top:70px}
.manual-main code{background:var(--paper-2);color:var(--ink);border:1px solid var(--hair-2)}

/* 表格 */
.tw{overflow-x:auto;margin:20px 0;border:1px solid var(--hair);border-radius:var(--r)}
.tw table{border-collapse:collapse;width:100%;font-size:.92rem;background:var(--card)}
.tw th{background:var(--paper-2);color:var(--ink);font-weight:700;text-align:left;padding:11px 15px;border-bottom:1px solid var(--hair)}
.tw td{padding:11px 15px;border-bottom:1px solid var(--hair);vertical-align:top}
.tw tr:last-child td{border-bottom:none}
.tw tbody tr:nth-child(even){background:#fafbff}
.tw td strong{color:var(--ink)}
.tw td code{white-space:nowrap}

/* ASCII / 步骤图 */
pre.art{font-family:var(--mono);font-size:.8rem;line-height:1.55;color:var(--ink-2);background:var(--card);border:1px solid var(--hair);border-radius:var(--r);padding:18px 20px;overflow-x:auto;margin:20px 0}

/* 提示框 */
.note{margin:18px 0;padding:13px 16px;border-radius:10px;border-left:4px solid;font-size:.93rem}
.note .t{font-weight:700;margin-right:6px}
.note p{margin:6px 0}
.note.warn{background:var(--amber-soft);border-color:var(--amber)}
.note.warn .t{color:var(--amber)}
.note.tip{background:var(--teal-soft);border-color:var(--teal)}
.note.tip .t{color:var(--teal)}
.note.point{background:var(--vio-soft);border-color:var(--vio)}
.note.point .t{color:var(--vio-deep)}

.legend{font-size:.82rem;color:var(--ink-3);margin-top:6px}
.doc .faq-list{margin-top:14px}

/* ===== 门户卡片（手册首页） ===== */
.portal{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:26px 0 8px;max-width:820px}
.pcard{display:block;background:var(--card);border:1px solid var(--hair);border-radius:var(--r);padding:20px 20px 18px;transition:border-color .15s,transform .15s,box-shadow .15s}
.pcard:hover{border-color:var(--vio);transform:translateY(-2px);box-shadow:0 10px 28px rgba(106,77,244,.12)}
.pcard .pc-no{font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--vio);background:var(--vio-soft);width:26px;height:26px;border-radius:7px;display:grid;place-items:center;margin-bottom:12px}
.pcard h3{color:var(--ink);font-size:1.08rem;font-weight:700;margin:0 0 5px}
.pcard p{color:var(--ink-3);font-size:.88rem;margin:0;line-height:1.6}

/* ===== 动作参考卡片 ===== */
.group-head{margin:46px 0 4px;padding-bottom:8px;border-bottom:2px solid var(--hair)}
.group-head:first-of-type{margin-top:10px}
.group-head h2{margin:0;font-size:1.3rem;color:var(--ink);font-weight:800;display:flex;align-items:baseline;gap:10px}
.group-head h2 span{font-size:.82rem;font-weight:600;color:var(--ink-3)}
.acards{display:grid;gap:14px;margin:18px 0}
.acard{background:var(--card);border:1px solid var(--hair);border-left:3px solid var(--tone,#6a4df4);border-radius:10px;padding:15px 18px}
.acard h4{margin:0 0 3px;color:var(--ink);font-size:1.02rem;font-weight:700}
.acard .one{color:var(--ink-2);font-size:.92rem;margin:0 0 9px}
.acard dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:.88rem}
.acard dt{color:var(--ink-3);font-weight:600;white-space:nowrap}
.acard dd{margin:0;color:var(--ink-2)}
.acard .ac-pit{margin:9px 0 0;font-size:.86rem;color:var(--amber);background:var(--amber-soft);padding:7px 11px;border-radius:7px;line-height:1.55}
.acard .ac-pit b{color:var(--amber)}
.tone-mouse{--tone:#6a4df4}.tone-key{--tone:#2563eb}.tone-flow{--tone:#d2487e}
.tone-find{--tone:#0ca796}.tone-win{--tone:#c07d10}.tone-data{--tone:#5536e0}
.tone-thread{--tone:#0e7490}.tone-web{--tone:#2563eb}.tone-ai{--tone:#7c3aed}

/* 动作完整属性表 */
.acard{scroll-margin-top:70px}
.acard h4 .cls{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--ink-3);margin-left:8px}
.acard .shared{margin:9px 0 0;font-size:.82rem;color:var(--ink-3)}
.acard .shared b{color:var(--ink-2);font-weight:600}
.acard .tw{margin:11px 0 0}
.acard .tw table{font-size:.86rem}
.acard .tw td{padding:7px 12px}
.acard .tw th{padding:7px 12px;font-size:.82rem}
.tw tr.grp td{background:var(--paper-2);color:var(--ink);font-weight:700;font-size:.79rem;padding:6px 12px;letter-spacing:.02em}
.acard .pn{font-family:var(--mono);font-size:.72rem;color:var(--ink-3);font-weight:400}
.acard .tw td:first-child{white-space:nowrap}
.acard .tw td:last-child{color:var(--ink-3);white-space:nowrap;font-size:.82rem}
.col-def{color:var(--ink-2)!important;font-weight:500}

/* ===== 教程步骤 ===== */
.tut-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.tut-meta span{font-size:.8rem;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--hair);padding:3px 11px;border-radius:20px}
.tut-meta span b{color:var(--ink);font-weight:700}
ol.steps{counter-reset:s;list-style:none;padding-left:0;margin:18px 0}
ol.steps>li{position:relative;padding:9px 0 9px 38px;border-bottom:1px solid var(--hair);margin:0}
ol.steps>li:last-child{border-bottom:none}
ol.steps>li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:9px;width:25px;height:25px;border-radius:7px;background:var(--vio-soft);color:var(--vio-deep);font-family:var(--mono);font-size:.82rem;font-weight:700;display:grid;place-items:center}
ol.steps li .act{font-weight:700;color:var(--ink)}
ol.steps li .sub{display:block;color:var(--ink-3);font-size:.85rem;margin-top:2px;padding-left:2px}
ol.steps li ol.steps{margin:8px 0 0}
ol.steps li ol.steps>li{padding-left:34px}
ol.steps li ol.steps>li::before{background:var(--teal-soft);color:var(--teal)}

/* 成品脚本卡（呼应官网首屏的脚本演示） */
.scriptcard{max-width:440px;margin:20px 0;background:var(--card);border:1px solid var(--hair-2);border-radius:12px;box-shadow:0 8px 24px rgba(25,26,34,.07);overflow:hidden}
.sc-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--paper-2);border-bottom:1px solid var(--hair);font-size:.84rem;font-weight:600;color:var(--ink-2)}
.sc-bar img{border-radius:4px}
.sc-list{list-style:none;counter-reset:sc;padding:8px 0;margin:0}
.sc-list li{counter-increment:sc;display:flex;align-items:center;gap:9px;padding:6px 14px 6px 10px;border-left:3px solid transparent}
.sc-list li::before{content:counter(sc);font-family:var(--mono);font-size:11px;color:var(--ink-3);min-width:15px;text-align:right}
.sc-list li.sub{padding-left:30px}
.sc-list li.loop{background:var(--vio-soft);border-left-color:var(--vio)}
.scdot{width:8px;height:8px;border-radius:3px;flex:none}
.scdot.m{background:var(--tone-mouse)}.scdot.k{background:var(--tone-key)}.scdot.d{background:var(--tone-delay)}
.scdot.f{background:var(--tone-find)}.scdot.l{background:var(--tone-loop)}.scdot.v{background:var(--vio-deep)}.scdot.c{background:var(--ink-3)}
.sc-list li b{font-size:.84rem;font-weight:700;color:var(--ink);white-space:nowrap}
.sc-list li em{font-family:var(--mono);font-size:.78rem;color:var(--ink-3);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-foot{display:flex;align-items:center;gap:7px;padding:9px 14px;border-top:1px solid var(--hair);background:#fafbfe;font-size:.8rem;color:var(--ink-2)}
.sc-foot .run-led{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px rgba(12,167,150,.18);flex:none}
.sc-cap{font-size:.84rem;color:var(--ink-3);margin:14px 0 2px}

/* ===== 移动端目录抽屉（按钮与遮罩由 script.js 注入，宽屏隐藏） ===== */
.toc-fab{display:none;position:fixed;right:16px;bottom:18px;z-index:210;
  align-items:center;gap:7px;font-family:inherit;font-size:.9rem;font-weight:700;
  color:#fff;background:var(--vio);border:none;border-radius:999px;padding:11px 20px;
  box-shadow:0 10px 28px rgba(106,77,244,.4);cursor:pointer;
  transition:opacity .2s,transform .2s}
.toc-fab span{width:14px;height:2px;background:#fff;border-radius:2px;position:relative;display:block}
.toc-fab span::before,.toc-fab span::after{content:"";position:absolute;left:0;width:14px;height:2px;background:#fff;border-radius:2px}
.toc-fab span::before{top:-5px}
.toc-fab span::after{top:5px}
.toc-fab.hide{opacity:0;transform:translateY(10px);pointer-events:none}
body.has-mob-smartbar .toc-fab{bottom:86px} /* 给安卓底部提示条让位 */
.toc-mask{display:none;position:fixed;inset:0;z-index:205;background:rgba(25,26,34,.4);
  opacity:0;pointer-events:none;transition:opacity .25s}
.toc-mask.show{opacity:1;pointer-events:auto}

@media(max-width:1080px){
  .manual-shell{grid-template-columns:220px minmax(0,1fr)}
  aside.mini{display:none}
  .manual-main{padding:34px 32px 100px}
}
@media(max-width:720px){
  .manual-shell{grid-template-columns:1fr}
  .manual-main{padding:24px 18px 80px}
  .doc h1{font-size:1.55rem}
  .toc-fab{display:inline-flex}
  .toc-mask{display:block}
  nav.toc{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:206;
    height:auto;max-height:72vh;overflow-y:auto;
    background:#fff;border-right:none;border-top:1px solid var(--hair-2);
    border-radius:18px 18px 0 0;box-shadow:0 -20px 60px rgba(25,26,34,.22);
    padding:20px 24px 30px;
    transform:translateY(105%);transition:transform .28s ease}
  nav.toc.open{transform:none}
  .toc a{padding:9px 11px;font-size:.95rem}
}
@media(prefers-reduced-motion:reduce){
  .toc-fab,.toc-mask,nav.toc{transition:none}
}
