/* ============================================================
   Sakurumii · form.css
   Nexus/Systems 语汇（form.html）：编号区块、发丝线、角标
   拟物开关（toggle.html）、规格表、线框画布
   ============================================================ */

/* ---------- 编号区块（Nexus 风格） ---------- */
.sys{grid-column:1/-1;position:relative;overflow:hidden}
.sys .sys-head,.sys .sys-body,.sys .sys-foot{grid-column:1/-1}
.sys .sys-head{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px}
.sys .sys-head h2{color:var(--w1)}
.sys .sys-head .idx{font-family:var(--jm);font-size:12px;letter-spacing:.12em;color:var(--g1);text-transform:uppercase}
.sys .sys-head .idx b{color:var(--o);font-weight:600}
.sys .sys-hairline{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(to right,rgba(255,255,255,.16),rgba(255,255,255,.05) 40%,transparent)}
.sys .sys-corners{position:absolute;inset:0;pointer-events:none}
.sys .sys-corners i{position:absolute;width:5px;height:5px;background:#fff}
.sys .sys-corners i:nth-child(1){top:-1px;left:-1px}
.sys .sys-corners i:nth-child(2){top:-1px;right:-1px}
.sys .sys-corners i:nth-child(3){bottom:-1px;left:-1px}
.sys .sys-corners i:nth-child(4){bottom:-1px;right:-1px}
.sys .sys-side{position:absolute;inset-y:0;left:0;width:1px;background:linear-gradient(to bottom,rgba(255,255,255,.12),rgba(255,255,255,.04) 40%,transparent)}
.sys .sys-foot{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  font-family:var(--jm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--g1);padding-top:12px;border-top:1px solid rgba(230,230,230,.08)}
.sys .sys-foot b{font-weight:600;color:var(--w2)}

/* 编号区块内的内容栅格 */
.sys .sys-body{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin-top:26px}

/* ---------- 拟物开关（严格沿用 toggle.html） ---------- */
.switch{--w:176px;--h:56px;--tw:calc(var(--w) - 32px);
  position:relative;display:inline-block;width:var(--w);height:var(--h);border-radius:9999px;padding:6px;cursor:pointer;user-select:none;
  background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 4px),linear-gradient(180deg,#dbeafe 0%,#93c5fd 100%);
  box-shadow:inset 0 4px 8px rgba(0,0,0,.1),inset 0 -2px 4px rgba(255,255,255,.7),0 0 0 6px rgba(239,246,255,.8),0 0 25px 5px rgba(96,165,250,.4);
  border:1px solid #60a5fa;transition:background .35s ease,box-shadow .35s ease,border-color .35s ease}
.switch .thumb{position:absolute;top:6px;left:6px;width:var(--tw);height:calc(var(--h) - 12px);border-radius:9999px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%);
  box-shadow:0 10px 20px -4px rgba(37,99,235,.3),0 4px 6px -2px rgba(0,0,0,.04),inset 0 3px 4px rgba(255,255,255,1),inset 0 -2px 4px rgba(96,165,250,.2);
  border:1px solid #e0edfa;transform:translateX(calc(var(--w) - var(--tw) - 12px));transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
.switch .thumb span{font-size:13px;font-weight:500;letter-spacing:.02em;color:#1e293b;text-shadow:0 1px 1px rgba(255,255,255,.9);white-space:nowrap;transition:color .35s ease,opacity .35s ease}
.switch.off{background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px),linear-gradient(180deg,#e2e8f0 0%,#cbd5e1 100%);
  box-shadow:inset 0 4px 8px rgba(0,0,0,.12),inset 0 -2px 4px rgba(255,255,255,.55),0 0 0 6px rgba(241,245,249,.9),0 0 18px 2px rgba(148,163,184,.25);
  border-color:#94a3b8}
.switch.off .thumb{transform:translateX(0);box-shadow:0 8px 16px -4px rgba(15,23,42,.18),0 3px 5px -2px rgba(0,0,0,.05),inset 0 3px 4px rgba(255,255,255,1),inset 0 -2px 4px rgba(148,163,184,.25)}
.switch.off .thumb span{color:#475569;opacity:.72}
.switch:focus-visible{outline:2px solid rgba(96,165,250,.85);outline-offset:3px}

/* ---------- 规格表（显式列宽） ---------- */
.spec-table{grid-column:span 12;width:100%;border-collapse:collapse;table-layout:fixed}
.spec-table caption{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--g1);text-align:left;padding-bottom:10px}
.spec-table col:nth-child(1){width:30%}
.spec-table col:nth-child(2){width:42%}
.spec-table col:nth-child(3){width:28%}
.spec-table th,.spec-table td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(230,230,230,.1);font-size:14px;line-height:20px}
.spec-table th{font-family:var(--jm);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--g1);border-bottom-color:rgba(230,230,230,.22)}
.spec-table td{color:var(--w2);font-weight:500;word-break:break-word}
.spec-table td b{color:var(--w1);font-weight:600}
.spec-table tr:last-child td{border-bottom:0}

/* ---------- 步骤列表（编号 01/02/03 …） ---------- */
.steps{grid-column:span 7;display:flex;flex-direction:column;gap:0}
.step{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px 0;border-top:1px solid rgba(230,230,230,.1)}
.step:first-child{border-top:0}
.step .n{font-family:var(--jm);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--o)}
.step h4{color:var(--w1);margin-bottom:4px}
.step p{color:var(--w2);font-weight:500;text-wrap:pretty}
.step code{font-family:var(--mono);font-size:13px;color:var(--w1);background:rgba(255,255,255,.06);border:1px solid rgba(230,230,230,.14);padding:1px 6px;border-radius:2px}

/* ---------- 线框画布（form.html） ---------- */
.wireframe{grid-column:span 5;display:grid;place-items:center;position:relative;min-height:280px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.014),rgba(255,255,255,0));overflow:hidden}
.wireframe canvas{width:min(240px,72%);aspect-ratio:1/1;mix-blend-mode:screen}
.wireframe .wf-label{position:absolute;left:12px;top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--g1)}
.wireframe .wf-cap{position:absolute;left:12px;right:12px;bottom:10px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--g1);display:flex;justify-content:space-between}

/* ---------- 标签 chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--jm);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--w2);
  border:1px solid rgba(230,230,230,.18);padding:6px 12px;border-radius:2px;background:rgba(255,255,255,.02);cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.chip:hover{color:var(--w1);border-color:rgba(230,230,230,.4)}
.chip.on{color:#fff;border-color:rgba(255,77,0,.6);background:rgba(255,77,0,.14)}

/* ---------- 面板内小卡片 ---------- */
.panel{position:relative;border:1px solid var(--line);padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.014),rgba(255,255,255,0))}
.panel h3{color:var(--w1);margin-bottom:10px}
.panel p{color:var(--w2);font-weight:500;text-wrap:pretty}
.panel .row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

/* ---------- 编号清单 ---------- */
.num-list{display:flex;flex-direction:column;gap:10px}
.num-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;font-size:14px;line-height:22px;color:var(--w2);font-weight:500}
.num-list li b{font-family:var(--jm);font-size:12px;font-weight:600;color:var(--o);text-align:right}

/* ---------- 详情 / FAQ ---------- */
.faq{grid-column:span 12;display:flex;flex-direction:column}
.faq details{border-top:1px solid rgba(230,230,230,.1)}
.faq details:last-child{border-bottom:1px solid rgba(230,230,230,.1)}
.faq summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 4px;color:var(--w1);font-weight:600;font-size:15px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font-family:var(--jm);font-size:11px;letter-spacing:.1em;color:var(--g1)}
.faq summary .sig{font-family:var(--mono);font-size:12px;color:var(--o);transition:transform .25s ease}
.faq details[open] summary .sig{transform:rotate(45deg)}
.faq .ans{padding:2px 4px 20px;color:var(--w2);font-weight:500;max-width:52rem;text-wrap:pretty}

/* ---------- 复制按钮 ---------- */
.copy-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--jm);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--w2);border:1px solid rgba(230,230,230,.18);padding:7px 12px;border-radius:2px;background:rgba(255,255,255,.02);transition:color .2s,border-color .2s,background .2s}
.copy-btn:hover{color:var(--w1);border-color:rgba(230,230,230,.4)}
.copy-btn.done{color:#7dd6a2;border-color:rgba(125,214,162,.5)}

/* ---------- 状态点 ---------- */
.dot-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2fe07d;box-shadow:0 0 8px rgba(47,224,125,.8);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;vertical-align:1px}
.dot-off{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--g1);vertical-align:1px}

@media (max-width:1023px){
  .sys-body{row-gap:24px}
  .sys .sys-head{flex-direction:column;align-items:flex-start;gap:4px}
  .switch{--w:156px;--h:50px;--tw:calc(var(--w) - 30px)}
}
