:root{
  --bt-500:#444444;   /* 主深色（accent，可調 #444444/#222222/#666666/#000000） */
  --bt-600:#222222;   /* 標題、Q 圓、hover 深色 */
  --bt-400:#666666;   /* 次要文字、icon */
  --bt-300:#CACACA;   /* 分隔線、A 圓、麵包屑分隔 */
  --bt-100:#EAEAEA;   /* hairline */
  --bt-050:#F5F5F5;   /* 淺底 */
  --bt-border:#E4E4E4;
  --ink:#222222; --ink-strong:#111111;
  --text:#333333; --text2:#555555; --text3:#767676;
  --font-cjk:'Noto Sans TC','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;
  --font-latin:'Lato','Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-cjk);background:#fff;color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--bt-500);text-decoration:none}
a:hover{color:var(--bt-600)}
table{border-collapse:collapse}
svg{display:block}
:focus-visible{outline:2px solid var(--bt-500);outline-offset:2px;border-radius:4px}
#bt-article p{text-wrap:pretty}

/* ── top bar ────────────────────────────── */
.top{position:sticky;top:0;z-index:20;height:60px;display:flex;align-items:center;gap:24px;padding:0 32px;border-bottom:1px solid var(--bt-border);background:#fff}
.top img{height:28px;width:auto;display:block}
.top .sp{flex:1}
#bt-search{cursor:pointer;display:flex;align-items:center;gap:10px;width:320px;height:36px;padding:0 14px;background:#F5F5F5;border:1px solid var(--bt-border);border-radius:18px}
#bt-search .ph{font:500 13px/1 var(--font-cjk);color:var(--text2)}
#bt-search .sp{flex:1}
.kbd{flex:none;font:400 11px/1 var(--font-latin);color:var(--text3);background:#fff;border:1px solid var(--bt-border);border-radius:6px;padding:4px 7px}
#btn-official{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 18px;background:var(--bt-600);color:#fff;border:1px solid transparent;border-radius:18px;font:500 14px/1 var(--font-cjk);transition:background 120ms,color 120ms,border-color 120ms}
#btn-official:hover{background:#fff;color:#111;border-color:#111}

/* ── search modal ───────────────────────── */
#bt-mask{position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:100;display:none;justify-content:center;align-items:flex-start;padding-top:96px}
#bt-mask.open{display:flex}
#bt-modal{width:720px;max-width:calc(100vw - 48px);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:10px 12px 10px 20px;display:flex;align-items:center;gap:12px}
#bt-modal input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:400 16px/1.5 var(--font-cjk);color:var(--ink);height:44px}

/* ── 3-col grid ─────────────────────────── */
#bt-grid{display:grid;grid-template-columns:256px minmax(0,1fr) 216px;gap:0}

/* sidebar（獨立滾動；收合式手風琴目錄，依 v2 CHANGELOG） */
#bt-side{border-right:1px solid var(--bt-100);padding:28px 16px 48px 24px;background:#FAFAFA;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#CACACA transparent}
.side-in{display:flex;flex-direction:column}
/* 頂部固定列＋收合按鈕（28×28、panel icon） */
.side-top{display:flex;align-items:center;justify-content:space-between;gap:8px;height:38px;padding:0 6px 0 12px; margin-bottom: 12px; border-radius:8px;font:500 14px/1.4 var(--font-cjk);color:var(--bt-600)}
.side-fold{flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;color:var(--text3);transition:background 120ms,color 120ms}
.side-fold:hover{background:#E4E4E4;color:var(--bt-600)}
/* 群組標題列：hover 底色在列容器、動態字重/顏色在內層 span（避免衝突） */
.grp{display:flex;flex-direction:column}
.grp-div{height:1px;background:var(--bt-border);margin:14px 4px}
.grp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:38px;padding:0 10px 0 12px;border-radius:8px;cursor:pointer;transition:background 120ms}
.grp-head:hover{background:#EFEFEF}
.grp-head span{font:500 14px/1.4 var(--font-cjk);color:#333333;transition:color 120ms}
.grp.open .grp-head span{font-weight:600;color:var(--ink-strong)}
.grp-head svg{flex:none;transition:transform 200ms}
.grp.open .grp-head svg{transform:rotate(180deg)}
/* 子項目：無垂直引導線 */
.grp-items{display:none;flex-direction:column;gap:2px;margin:2px 0 8px 16px}
.grp.open .grp-items{display:flex}
.s-item{display:flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:8px;font:500 13px/1.55 var(--font-cjk);color:var(--text2);cursor:pointer;transition:background 120ms}
.s-item:hover{background:#EAEAEA}
.s-item.on{font-weight:600;color:var(--ink-strong);background:#EFEFEF}
/* 側欄收合：52px 窄軌，只留一顆 36×36 展開按鈕 */
#bt-grid.side-collapsed{grid-template-columns:52px minmax(0,1fr) 216px}
#bt-grid.side-collapsed #bt-side{padding:20px 8px}
#bt-grid.side-collapsed .side-in{display:none}
.side-expand{width:36px;height:36px;display:none;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;color:var(--text2);transition:background 120ms,color 120ms}
.side-expand:hover{background:#EFEFEF;color:var(--bt-600)}
#bt-grid.side-collapsed .side-expand{display:flex}

/* article */
#bt-article{padding:36px 56px 64px;display:flex;flex-direction:column;gap:44px;max-width:920px;width:100%;margin:0 auto}
.crumb{display:flex;align-items:center;gap:3px;font:400 14px/1 var(--font-cjk);color:var(--bt-500)}
.crumb .sep{color:var(--bt-300)}
.h1row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
h1{font:500 32px/1.35 var(--font-cjk);color:var(--ink)}
.date-pill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;background:#FAFAFA;border:1px solid var(--bt-border);border-radius:14px;font:500 12.5px/1 var(--font-cjk);color:var(--text2)}
.sec{display:flex;flex-direction:column;gap:14px}
h2{padding-bottom:12px;border-bottom:1px solid var(--bt-100);font:500 22px/1.4 var(--font-cjk);color:var(--ink)}
.p{font:400 15px/2 var(--font-cjk);letter-spacing:.01em;color:var(--text)}
.p strong{font-weight:700;color:var(--ink-strong)}
.bullets{display:flex;flex-direction:column;gap:8px;padding-left:6px}
.bullets>div{display:flex;gap:10px;font:400 15px/1.9 var(--font-cjk);color:var(--text)}
.bullets .dot{width:5px;height:5px;border-radius:50%;background:var(--bt-400);margin-top:11px;flex:none}
.bullets strong{font-weight:700;color:var(--ink-strong)}

/* 截圖卡（可拖放替換，正式上線改成 <img src>） */
.shotcard{background:#FAFAFA;border:1px solid var(--bt-border);border-radius:14px;padding:16px;display:flex;flex-direction:column}
.slot{
  position:relative;width:100%;aspect-ratio:1.65;border-radius:10px;overflow:hidden;
  background:rgba(0,0,0,.04);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  text-align:center;padding:12px;
  font:13px/1.45 var(--font-cjk);color:rgba(0,0,0,.55);
}
.slot::after{content:"";position:absolute;inset:0;border:1.5px dashed rgba(0,0,0,.25);border-radius:10px;pointer-events:none;transition:border-color 120ms}
.slot:hover::after,.slot.over::after{border-color:var(--bt-600)}
.slot svg{opacity:.45}
.slot .cap{max-width:90%;font-weight:500;letter-spacing:.01em}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot.filled::after{border:none}
.slot.filled svg,.slot.filled .cap{display:none}

/* table（無外框無底色，僅細橫線） */
.tbl{width:100%;margin-top:4px}
.tbl th{text-align:left;padding:10px 16px;font:500 13px/1 var(--font-cjk);color:var(--text2);border-bottom:1px solid var(--bt-300)}
.tbl th:first-child{width:36%}
.tbl td{padding:13px 16px;font:400 14px/1.6 var(--font-cjk);color:var(--text);border-bottom:1px solid var(--bt-100);vertical-align:top}
.tbl td:first-child{font-weight:500;color:var(--ink)}

/* callouts */
.note{background:var(--bt-050);border-radius:10px;padding:14px 16px;display:flex;gap:10px}
.note .tx{font:400 14px/1.85 var(--font-cjk);color:var(--text)}
.note .tx strong{font-weight:500;color:var(--bt-500)}
.note svg{flex:none;margin-top:3px}
.tip{background:#FBF7EA;border:1px solid #F0E6C8;border-radius:12px;padding:14px 18px;display:flex;align-items:flex-start;gap:12px}
.tip .bulb{flex:none;width:28px;height:28px;border-radius:50%;background:#F0DEAE;display:flex;align-items:center;justify-content:center;margin-top:1px}
.tip .tx{font:400 14px/1.85 var(--font-cjk);color:#5A4E2E}
.tip .tx strong{font-weight:600;color:#8A6D2A}

/* wizard steps（灰圓號＋連續垂直線） */
.steps{display:flex;flex-direction:column;margin-top:2px;position:relative}
.steps::before{content:"";position:absolute;left:12.5px;top:25px;bottom:25px;width:1px;background:#D6D6D6}
.step{display:flex;align-items:flex-start;gap:16px;padding:10px 0}
.step .n{
  flex:none;box-sizing:border-box;width:26px;height:26px;margin-top:2px;border-radius:50%;
  background:#F0F0F0;border:1px solid var(--bt-border);
  display:flex;align-items:center;justify-content:center;
  font:600 13px/1 var(--font-latin);color:#444444;position:relative;z-index:1;
}
.step .tx{font:400 15px/1.85 var(--font-cjk);color:#333333}
.step .tx strong{font-weight:700;color:var(--ink-strong)}

/* Q/A 區塊 */
.qa{margin-top:8px;border-top:1px solid var(--bt-100);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.qa .qrow{display:flex;align-items:center;gap:10px}
.qa .arow{display:flex;align-items:flex-start;gap:10px}
.qa .qc,.qa .ac{flex:none;width:24px;height:24px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font:600 13px/1 var(--font-latin)}
.qa .qc{background:var(--bt-600)}
.qa .ac{background:var(--bt-300);margin-top:3px}
.qa h3{font:500 17px/1.5 var(--font-cjk);color:var(--ink)}
.qa .abody{display:flex;flex-direction:column;gap:10px}

/* FAQ 手風琴（單開） */
.faq{display:flex;flex-direction:column;gap:18px}
.faq-item{border:1px solid var(--bt-border);border-radius:10px;overflow:hidden;background:#fff}
.faq-item .q{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;font:500 15px/1.7 var(--font-cjk);color:var(--ink);transition:background 120ms}
.faq-item .q:hover{background:#F5F5F5}
.faq-item .q svg{flex:none;transition:transform 200ms}
.faq-item.open .q svg{transform:rotate(180deg)}
.faq-item .a{display:none;padding:12px 18px 16px;border-top:1px solid var(--bt-100);font:400 15px/1.9 var(--font-cjk);color:var(--text)}
.faq-item.open .a{display:block}

/* next-read 卡片 */
#bt-next{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:2px}
#bt-next a{
  display:flex;flex-direction:column;gap:10px;padding:20px 22px;
  background:#fff;border:1px solid var(--bt-border);border-radius:12px;color:inherit;
  transition:border-color 120ms,box-shadow 120ms,transform 120ms;
}
#bt-next a:hover{border-color:var(--bt-600);box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-2px);color:inherit}
#bt-next .l{font:500 13px/1.6 var(--font-cjk);color:var(--text2)}
#bt-next .r{display:flex;align-items:center;gap:8px;justify-content:space-between;font:500 15px/1.5 var(--font-cjk);color:var(--ink)}
#bt-next .r .arr{flex:none;width:26px;height:26px;border-radius:50%;background:#F5F5F5;display:inline-flex;align-items:center;justify-content:center}

/* feedback */
.fb{border:1px solid var(--bt-border);border-radius:12px;padding:24px;display:flex;align-items:center;justify-content:center;gap:20px;background:#FAFAFA;flex-wrap:wrap}
.fb .t{font:500 15px/1 var(--font-cjk);color:var(--ink)}
.fb .btns{display:flex;gap:10px}
.fb button{
  display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 18px;
  background:#fff;color:#444444;border:1px solid var(--bt-border);border-radius:18px;
  font:400 14px/1 var(--font-cjk);font-family:var(--font-cjk);cursor:pointer;
  transition:border-color 120ms,background 120ms,color 120ms,box-shadow 120ms;
}
.fb button:hover{border-color:var(--bt-600);background:var(--bt-050);color:var(--bt-600)}
.fb button.sel{background:var(--bt-500);color:#fff;border-color:var(--bt-500)}

/* prev / next pager */
#bt-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#bt-pager a{
  display:flex;flex-direction:column;gap:8px;padding:18px 20px;
  border:1px solid var(--bt-border);border-radius:12px;color:inherit;
  transition:border-color 120ms,box-shadow 120ms;
}
#bt-pager a:hover{border-color:var(--bt-500);color:inherit}
#bt-pager .cap{display:flex;align-items:center;gap:6px;font:500 12px/1 var(--font-cjk);color:var(--text2)}
#bt-pager .lbl{font:500 15px/1.5 var(--font-cjk);color:var(--ink)}
#bt-pager a:last-child{align-items:flex-end;text-align:right}
#bt-pager a:last-child .lbl{color:var(--bt-500)}

/* toc（獨立滾動：sticky + overflow-y:auto） */
#bt-toc{padding:36px 28px 48px 0;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#CACACA transparent}
.toc-in{border-left:1px solid var(--bt-100);padding-left:20px;display:flex;flex-direction:column;gap:2px}
.toc-in .cap{font:500 12px/1 var(--font-cjk);color:var(--text2);letter-spacing:.06em;padding-bottom:12px}
.toc-in a{font:500 13px/1.5 var(--font-cjk);color:var(--text2);padding:6px 0 6px 19px;margin-left:-21px;border-left:2px solid transparent;display:block}
.toc-in a:hover{color:var(--ink)}
.toc-in a.sub{padding-left:33px}
.toc-in a.on{font-weight:600;color:var(--ink);border-left-color:var(--bt-500)}

/* mobile 導覽：漢堡抽屜（≤820）＋「本頁內容」浮層（≤1280） */
#btn-burger{display:none;flex:none;width:36px;height:36px;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;color:var(--bt-600);transition:background 120ms}
#btn-burger:hover{background:#EFEFEF}
#bt-drawer-mask{position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:90;display:none}
#bt-drawer-mask.open{display:block}
#bt-drawer{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:84vw;background:#fff;border-right:1px solid var(--bt-border);z-index:95;transform:translateX(-100%);transition:transform 200ms;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#CACACA transparent;padding:14px 14px 32px;display:flex;flex-direction:column}
#bt-drawer.open{transform:translateX(0)}
#drawer-back{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;color:var(--text2);transition:background 120ms,color 120ms;margin-bottom:10px}
#drawer-back:hover{background:#EFEFEF;color:var(--bt-600)}
.crumb-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative}
#btn-tocpop{display:none;flex:none;width:32px;height:32px;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--bt-border);cursor:pointer;color:var(--text2);transition:background 120ms,color 120ms}
#btn-tocpop:hover{background:var(--bt-050);color:var(--bt-600)}
#bt-tocpop{position:absolute;right:0;top:40px;z-index:30;width:240px;background:#fff;border:1px solid var(--bt-border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:16px 20px;display:none}
#bt-tocpop.open{display:block}
#bt-tocpop .cap{font:500 12px/1 var(--font-cjk);color:var(--text2);letter-spacing:.06em;padding-bottom:10px}
#bt-tocpop a{font:500 13px/1.5 var(--font-cjk);color:var(--text2);padding:6px 0;display:block}
#bt-tocpop a.sub{padding-left:14px}
#bt-tocpop a:hover{color:var(--ink)}

/* responsive */
@media (min-width:2200px){
  #bt-article{max-width:1080px}
  #bt-grid{grid-template-columns:300px minmax(0,1fr) 260px}
}
@media (max-width:1280px){
  #bt-toc{display:none}
  #btn-tocpop{display:flex}
  #bt-grid{grid-template-columns:256px minmax(0,1fr)}
  #bt-grid.side-collapsed{grid-template-columns:52px minmax(0,1fr)}
}
@media (max-width:820px){
  #btn-burger{display:flex}
  #bt-side{display:none}
  #bt-grid{grid-template-columns:minmax(0,1fr)}
  #bt-article{padding:28px 24px 56px}
  #bt-search{width:160px}
  #bt-next,#bt-pager{grid-template-columns:1fr}
}
@media (max-width:480px){
  #bt-search{display:none}
  #bt-article{padding:24px 16px 48px}
}


/* ==== 內文色（2026-08-11）====
   --text 只用在內文相關元素（.p／.bullets／.tbl td／.faq 答案／.msg／.formula／三框），
   側欄與次要文字走 --text2／--text3，不受影響。
   本日曾一度改成 #222222（金澧回饋「字太細」時先試的加深解），
   後來改用加粗解（見本檔最後的內文字重段），顏色就退回 1e 原值 #333333。 */
:root{--text:#333333}

/* ==== 側欄頂端版本切換（2026-08-11 新增）====
   原本是純文字「BIMTeki Studio (beta)」，改成可切換「現行版 / Studio 版」的下拉。
   右側收合鈕（.side-fold）位置與行為不動。側欄收合時整個 .side-in 隱藏，下拉一併收起。 */
.side-top{position:relative;padding-left:0}
.ver-switch{position:relative;flex:1;min-width:0}
.ver-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 11px;background:#fff;border:1px solid var(--bt-border);border-radius:8px;cursor:pointer;font:500 13.5px/1 var(--font-cjk);color:var(--ink);font-family:var(--font-cjk);transition:border-color 120ms,background 120ms}
.ver-btn:hover{border-color:var(--bt-300);background:#FAFAFA}
.ver-btn svg{flex:none;transition:transform 200ms}
.ver-switch.open .ver-btn svg{transform:rotate(180deg)}
.ver-menu{position:absolute;top:42px;left:0;width:100%;background:#fff;border:1px solid var(--bt-border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;display:none;z-index:40;white-space:nowrap}
.ver-switch.open .ver-menu{display:block}
.ver-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;height:34px;padding:0 11px;border-radius:6px;font:400 13.5px/1 var(--font-cjk);color:var(--text2);text-decoration:none;cursor:pointer;transition:background 120ms,color 120ms}
.ver-opt:hover{background:#F5F5F5;color:var(--ink)}
.ver-opt.on{font-weight:600;color:var(--ink-strong);cursor:default}
.ver-opt.on:hover{background:transparent}
.ver-tag{font:400 12px/1 var(--font-cjk);color:var(--text3)}

/* ==== 側欄項目行距放寬（2026-08-11 定案）====
   教學標題長，1.55 行高在換行時兩行幾乎黏在一起，掃視會誤讀成兩個獨立項目
   （例：「儲存、另存、關閉 BIMTeki 專案」「BIMTeki 專案與 Archicad 檔案的連結」）。
   1e 的 .s-item 用 font 簡寫帶 line-height，這裡單獨覆蓋 line-height 才蓋得掉。 */
.s-item{min-height:32px;padding:7px 10px;line-height:1.75}

/* ==== 1g 新元件（定案）==== */
.h3{font:500 17px/1.5 var(--font-cjk);color:var(--ink);margin-top:10px}
.h4{font:500 15px/1.7 var(--font-cjk);color:var(--ink-strong);margin-top:4px}
pre.code{font:400 13.5px/1.9 ui-monospace,Consolas,'Courier New',monospace;background:var(--bt-050);border-radius:10px;padding:14px 18px;overflow-x:auto;color:var(--ink-strong);white-space:pre;margin:0}
.p code,.codei{font-family:ui-monospace,Consolas,monospace;font-size:.92em;background:var(--bt-050);border:1px solid var(--bt-100);border-radius:5px;padding:1px 6px;color:var(--ink-strong)}
/* 系統訊息框（2026-07-24 定案：灰底卡片＋細框＋左側 3px 淡灰線 bt-300＋圓角，15px 內文色） */
.msg{background:var(--bt-050);border:1px solid var(--bt-border);border-left:3px solid var(--bt-300);border-radius:10px;padding:14px 18px;display:flex;flex-direction:column;gap:8px}
.msg .cap{font:500 12px/1 var(--font-cjk);color:var(--text3);letter-spacing:.05em}
.msg .tx{font:400 15px/1.9 var(--font-cjk);color:var(--text)}
/* 三框統一（圓形底色 icon＋外框線＋圓角 12＋文字下移 2px 置中） */
.note,.tip,.warn{border-radius:12px;padding:14px 18px;display:flex;align-items:flex-start;gap:12px;border:1px solid}
.note .ic,.tip .bulb,.warn .ic{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px}
.note .tx,.tip .tx,.warn .tx{font:400 14px/1.85 var(--font-cjk);margin-top:2px}
/* icon 在圓底內置中（2026-08-11 修）：1e 空殼有一條 .note svg{margin-top:3px}，
   那是舊版 icon 沒有圓形底色、直接對齊首行時用的；1g 改成 28px 圓底＋flex 置中後
   會把 icon 往下推 3px、對不到圓心。三框一起重置，避免日後再被舊規則影響。 */
.note .ic svg,.tip .bulb svg,.warn .ic svg{margin-top:0}
.note{background:#EEF2F6;border-color:#D9E2EC}
.note .ic{background:#D6E1EC}
.note svg{stroke:#3D5C7A}
.note .tx{color:#4A6B8A}
.note .tx strong{color:#3D5C7A}
.tip{background:#FBF7EA;border-color:#F0E6C8}
.warn{background:#FBF1EE;border-color:#EED8D0}
.warn .ic{background:#F2D9D2}
.warn svg{stroke:#B14A38}
.warn .tx{color:#6B3A2E}
.warn .tx strong{color:#B14A38}
.nlist{display:flex;flex-direction:column}
.nlist .step{position:relative;display:flex;gap:14px;padding:9px 0}
.nlist .sub{margin-left:40px}
.nlist .sub .n{width:22px;height:22px;font-size:11.5px}
.formula{background:var(--bt-050);border-radius:10px;padding:16px 22px;overflow-x:auto}
.formula .ln{font:400 15px/2.2 var(--font-cjk);color:var(--text);white-space:nowrap}
.formula .ln.cont{padding-left:2em}
.formula b,.formula .op{font-weight:700;color:var(--ink-strong)}
.formula .op{padding:0 2px}
/* 接下來卡片（定案 C）：小標間距 6px；前 2 張＋收合其餘；膠囊鈕＋灰底藥丸 +N */
#bt-next a{gap:6px}
#bt-next.dtwo:not(.open) a:nth-child(n+3){display:none}
#bt-next.open a{animation:deckin 160ms ease}
@keyframes deckin{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
.deck-hint{display:flex;align-items:center;gap:7px;width:fit-content;margin:10px auto 0;border:1px solid var(--bt-border);border-radius:999px;padding:9px 18px;font:500 12.5px/1 var(--font-cjk);color:var(--text2);cursor:pointer;letter-spacing:.04em;transition:background 120ms,border-color 120ms}
.deck-hint:hover{background:var(--bt-050);border-color:var(--bt-300)}
.deck-hint .cnt{display:inline-flex;align-items:center;justify-content:center;background:#EFEFEF;border-radius:999px;padding:3px 8px;font:500 11px/1 var(--font-latin);color:var(--text2)}
/* 截圖卡（2026-07-24 定案）：外層灰卡全面取消——真實截圖=圖片本身 1px 輪廓線＋10px 圓角＋靠左；拖放槽維持自身虛線框 */
.shotcard{background:none;border:none;border-radius:0;padding:0}
.shotcard img.shot{align-self:flex-start;max-width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--bt-border)}
/* 接下來卡片：圓形箭頭鈕對齊卡片垂直置中（2026-07-23 Sara 回饋） */
#bt-next a{position:relative;padding-right:64px}
#bt-next .r .arr{position:absolute;right:20px;top:50%;transform:translateY(-50%)}
/* header RWD 修正（2026-07-27 Sara 回報手機版文字跑版）：官網鈕與搜尋 placeholder 禁止換行；
   ≤820 收緊間距；481–640 搜尋框縮成圖示鈕（原本 160px 硬擠會把文字壓成直排）；≤480 隱藏維持鐵則 */
#btn-official{white-space:nowrap;flex:none}
#bt-search{flex:none}
#bt-search .ph{white-space:nowrap}
@media (max-width:820px){.top{gap:14px;padding:0 20px}}
@media (max-width:640px){
  #bt-search{width:36px;padding:0;justify-content:center;gap:0}
  #bt-search .ph,#bt-search .kbd,#bt-search .sp{display:none}
}
@media (max-width:400px){
  .top{gap:10px;padding:0 16px}
  .top img{height:24px}
  #btn-official{padding:0 12px;font:500 13px/1 var(--font-cjk)}
}
@media (max-width:360px){.top{gap:8px;padding:0 12px}}
/* 表格捲動外框（2026-07-27）：窄螢幕下過寬的表格比照公式塊在框內橫向捲動，不撐破版面 */
.tblwrap{overflow-x:auto}

/* ==== 內文字重 400→430（2026-08-12 與金澧當面討論定案）====
   金澧指出低解析度螢幕看不清楚。低 DPI 下中文筆畫會被反鋸齒淡化成半透明灰邊，
   壓深顏色幫助有限（淡掉的是筆畫邊緣不是顏色）；加粗讓筆畫實體變寬，
   在低 DPI 下才撐得住，所以改用加粗解。
   配套把 --text 退回 #333333：500 配 #222222 整篇會太重（長文全 500 看久偏黑），
   加粗＋退色一階後總視覺重量才平衡。

   8/12 金澧二次回饋「500 又太粗了」。當面一起拉數值比較後**定案 430**
   （過程用 Console 注入 font-weight:var(--tw) 即時調，不必反覆出包。
    ⚠️ 這段註解位在 NEWCSS 模板字串內，不可出現反引號，否則字串會被提前終止。）
     筆畫覆蓋率實測 400=9.762%／430=10.384%（+6.4%）／450=10.852%（+11.2%）／500=12.010%（+23.0%）。
     430 只比原始 400 粗 6.4%——低 DPI 的筆畫淡化有補到，但整篇的視覺重量幾乎回到原樣，
     長文不會偏黑（符合既有的「長文 400、小字才 500」原則），與 strong 700 的對比也最寬。
   ⚠️ 430 這種中間值只在「範圍式」字體載入下才生效，見本檔 main 區的 FONT_LINK_NEW
      （1e 空殼凍結，字體連結比照版本切換在 tplHead 上做字串替換，那裡有斷言擋靜默失效）。
      若哪天字體連結被改回列舉式，430 會被四捨五入到 500 ＝ 直接跳到金澧否決的那一版。
   ⚠️ 這段必須放在 NEWCSS 最後：.p／.msg .tx／三框 .tx 等都是 font 簡寫（自帶 400），
      只有排在它們之後才蓋得掉字重。 */
.p,.bullets>div,.step .tx,.tbl td,.faq-item .a,.msg .tx,.formula .ln,
.note .tx,.tip .tx,.warn .tx{font-weight:430}

/* ==== 行距收緊＋層級分明（2026-08-11 金澧二次回饋）====
   回饋：「行距有點太開，每一行都很開，無法判斷是標題還是內文」。
   量過原因不只是行距大，而是「段落間距 ≈ 段落內行距」，段落邊界因此消失：
     行高 2.0 → 行盒 30px，段落內相鄰兩行距離約 30px
     .sec gap 14px → 段落之間文字距離約 7.5+14+7.5 = 29px  ← 兩者幾乎相等
   所以三件事一起處理，段落才會各自成塊、標題才看得出歸屬：
     1. 行距 2.0/1.9/1.85 統一收到 1.8（行盒 27px）
     2. 連續段落之間再加 8px，讓段落間距明顯大於行距
     3. 標題與上方拉開、與下方拉近（margin-bottom 負值抵銷 .sec gap），
        標題才會黏在它所屬的內容上，而不是浮在兩段中間
   公式塊 .formula .ln 維持 2.2：它是 nowrap 單行，需要較大的呼吸空間。 */
.p,.bullets>div,.step .tx,.faq-item .a,.msg .tx{line-height:1.8}
.note .tx,.tip .tx,.warn .tx{line-height:1.8}
.sec .p + .p{margin-top:8px}
.h3{margin-top:16px;margin-bottom:-4px}
.h4{margin-top:10px;margin-bottom:-4px}
