/* 金属理论重量计算器：仅作用于 .wt-tool，不影响其他页面。 */
.wt-tool{padding:26px 0 56px}
.wt-tool [hidden]{display:none!important}
.wt-tool .back-link{font-size:13px;color:var(--muted)}
.wt-tool .back-link:hover{color:var(--ink)}
.wt-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 0 20px}
.wt-title{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.wt-title h1{font-size:30px;letter-spacing:-1px;margin:5px 0 0;line-height:1.3}
.wt-title p{font-size:14px;color:var(--muted);margin:0}
.wt-tool .button.secondary{background:#fff;border:1px solid var(--border);color:var(--ink);padding:7px 13px;font-size:13px;border-radius:6px;cursor:pointer;font-family:inherit;font-weight:600}
.wt-tool .button.secondary:hover{border-color:#b9c6d1;background:#f8fafb}
.wt-tool .button:disabled{opacity:.5;cursor:not-allowed}
.wt-tool .button.wt-primary{background:#d97706;color:#fff;border:0;padding:10px 18px;font-size:15px;border-radius:7px;cursor:pointer;font-family:inherit;font-weight:700;box-shadow:none}
.wt-tool .button.wt-primary:hover:not(:disabled){background:#c26805}
.wt-tool .button:focus-visible,.wt-tool button:focus-visible{outline:3px solid rgba(246,154,18,.55);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wt-panel{border:1px solid var(--border);border-radius:10px;background:#fff;padding:18px 20px;margin-bottom:16px;min-width:0}
.wt-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.wt-panel h2{font-size:17px;margin:0;letter-spacing:-.2px}
.wt-panel h2 small{font-size:13px;color:var(--muted);font-weight:500;margin-left:4px}
.wt-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* 形状选项卡 */
.wt-shapes{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:-4px 0 18px}
.wt-shapes button{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--border);background:#fff;border-radius:8px;padding:9px 4px 7px;font:inherit;font-size:13px;color:#52687a;cursor:pointer;min-width:0}
.wt-shapes button svg{color:#9fb0bf}
.wt-shapes button span{white-space:nowrap}
.wt-shapes button:hover{border-color:#b9c6d1;color:var(--ink)}
.wt-shapes button[aria-selected="true"]{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:600}
.wt-shapes button[aria-selected="true"] svg{color:#f6b04a}

.wt-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:22px;align-items:start}
.wt-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wt-row.wt-mat{grid-template-columns:minmax(0,1fr) 120px}
.wt-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);min-width:0}
.wt-field span{white-space:nowrap}
.wt-field small{color:#8a98a5}
.wt-field i{font-style:italic;font-family:Georgia,serif;color:var(--ink);font-weight:600}
.wt-field input,.wt-field select{border:1px solid var(--border);border-radius:6px;padding:9px 10px;font:inherit;font-size:15px;color:var(--ink);background:#fff;min-width:0;width:100%;box-sizing:border-box}
.wt-field input:focus,.wt-field select:focus{outline:2px solid rgba(246,154,18,.35);border-color:var(--accent)}
.wt-field input[aria-invalid="true"]{border-color:#e3b27a;background:#fffaf3}
.wt-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 8px}
.wt-subhead h3{font-size:14px;margin:0;color:var(--ink)}
.wt-seg{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden;font-size:13px;flex-shrink:0}
.wt-seg button{border:0;border-left:1px solid var(--border);background:#fff;color:#52687a;padding:6px 11px;font:inherit;cursor:pointer}
.wt-seg button:first-child{border-left:0}
.wt-seg button[aria-pressed="true"]{background:var(--ink);color:#fff;font-weight:600}
.wt-dims-wrap{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:14px;align-items:center}
.wt-dims{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.wt-dims.n1{grid-template-columns:minmax(0,1fr)}
.wt-dims.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wt-figure{background:var(--blue);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:4px}
.wt-figure svg{display:block;max-width:100%;height:auto}
.wt-figure .sh{fill:#c9d6e2;stroke:#122d4b;stroke-width:1.5}
.wt-figure .sh2{fill:#a9bccd;stroke:#122d4b;stroke-width:1.5}
.wt-figure .dl{fill:none;stroke:#be561f;stroke-width:1.2}
.wt-figure text{font:italic 600 12px Georgia,serif;fill:#be561f;text-anchor:middle}
.wt-figure text.lt{fill:#617283;font-style:normal;font-family:inherit;font-weight:500;font-size:11px}
.wt-error{font-size:13px;color:#875217;background:#fff4e3;border-radius:6px;padding:7px 10px;margin:12px 0 0}

/* 结果 */
.wt-result{background:#f7f9fb;border:1px solid var(--border);border-radius:10px;padding:14px 16px 16px;min-width:0}
.wt-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.wt-big{background:var(--ink);color:#fff;border-radius:9px;padding:14px 16px;display:flex;flex-direction:column;min-width:0}
.wt-big span{font-size:13px;color:#b8c7d6}
.wt-big strong{font-size:32px;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.25;overflow-wrap:anywhere}
.wt-big em{font-style:normal;font-size:13px;color:#b8c7d6}
.wt-list-out{margin:10px 0 0;display:flex;flex-direction:column}
.wt-list-out>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 2px;border-bottom:1px solid #e8edf1;font-size:14px}
.wt-list-out dt{color:var(--muted)}
.wt-list-out dd{margin:0;text-align:right;color:#52687a;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
.wt-list-out dd b{font-size:17px;color:var(--ink)}
.wt-rev-in{margin-bottom:12px}
.wt-hint{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.7}
.wt-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.wt-status{font-size:13px}
.wt-status.ok{color:#1f6b4a}
.wt-status.no{color:#be561f}

/* 清单 */
.wt-empty{font-size:13px;color:var(--muted);margin:0;background:var(--blue);border-radius:8px;padding:12px 14px;line-height:1.7}
.wt-table-wrap{position:relative;overflow-x:auto;margin:0 -4px}
.wt-table{width:100%;border-collapse:collapse;font-size:14px;min-width:760px}
.wt-table th{font-size:12px;color:var(--muted);font-weight:600;text-align:left;padding:6px;border-bottom:1px solid var(--border);white-space:nowrap}
.wt-table td{padding:6px;border-bottom:1px solid #f0f3f5;vertical-align:middle}
.wt-table .c-idx{width:26px;color:#9aa7b2;font-size:12px;text-align:center}
.wt-table .c-spec{font-weight:600}
.wt-table .c-mat{color:#52687a;font-size:13px}
.wt-table .c-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.wt-table th.c-num{text-align:right}
.wt-table .c-qty{width:84px}
.wt-table .c-qty input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:5px;padding:6px 8px;font:inherit;font-size:14px;color:var(--ink);text-align:right}
.wt-table .c-qty input:focus{outline:2px solid rgba(246,154,18,.35);border-color:var(--accent)}
.wt-table .c-sub{font-weight:700;color:var(--ink)}
.wt-table tr.has-error .c-sub{color:#875217;font-weight:500;font-size:12px;white-space:normal}
.wt-table tr.has-error .c-qty input{border-color:#e3b27a}
.wt-table .c-del{width:30px;text-align:center}
.wt-table tfoot td{border-bottom:0;padding-top:10px}
.wt-table .c-total-label{text-align:right;font-weight:600;color:#52687a}
.wt-table .c-total-label span{font-weight:500;font-size:13px;color:var(--muted)}
.wt-table .c-total{font-size:17px;font-weight:700;color:var(--ink)}
.wt-del{border:0;background:none;color:#9aa7b2;font-size:18px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:4px}
.wt-del:hover{color:#be561f;background:#fbf0e8}
.wt-links{font-size:13px;color:var(--muted);margin:14px 0 0}
.wt-links a{color:#be561f}
.wt-disclaimer{font-size:13px;color:#875217;background:#fff8ec;border:1px solid #f3dcb5;border-radius:8px;padding:10px 14px;line-height:1.7;margin:0 0 16px}

/* 公式说明 */
.wt-formula>p{font-size:14px;color:#52687a;line-height:1.8;margin:10px 0 14px}
.wt-formula-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wt-formula-grid article{border:1px solid var(--border);border-radius:8px;padding:12px 14px;min-width:0}
.wt-formula-grid h3{font-size:15px;margin:0 0 6px}
.wt-formula-grid p{font-size:13px;color:#52687a;margin:0;line-height:1.75;overflow-wrap:anywhere}
.wt-formula-grid p.ex{margin-top:6px;background:var(--blue);border-radius:6px;padding:6px 9px;color:var(--ink)}
.wt-density-table{margin-top:14px;font-size:14px}
.wt-density-table summary{cursor:pointer;font-weight:600;color:var(--ink)}
.wt-dtable{border-collapse:collapse;margin-top:10px;font-size:13px;width:100%;max-width:560px}
.wt-dtable th,.wt-dtable td{border-bottom:1px solid #eef2f5;padding:6px 8px;text-align:left}
.wt-dtable th{color:var(--muted);font-weight:600}
.wt-dtable td:last-child,.wt-dtable th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.wt-tool .privacy-note{font-size:13px;color:var(--muted);margin-top:18px}

/* 页面内确认框 */
.wt-modal-open{overflow:hidden}
.wt-dialog{border:0;padding:0;border-radius:12px;width:min(420px,calc(100% - 32px));max-width:none;box-shadow:0 18px 50px rgba(18,45,75,.22);color:var(--ink);background:#fff}
.wt-dialog::backdrop{background:rgba(18,45,75,.42)}
.wt-dialog-card{padding:22px 22px 18px}
.wt-dialog h2{font-size:18px;margin:0 0 8px}
.wt-dialog p{font-size:14px;color:#52687a;margin:0 0 20px;line-height:1.7}
.wt-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.wt-dialog .button{padding:9px 16px;font-size:14px;border-radius:6px;cursor:pointer;font-family:inherit;font-weight:600;border:1px solid transparent}
.wt-dialog .button.danger{background:#be561f;color:#fff}
.wt-dialog .button.danger:hover{background:#a24617}

@media(max-width:1100px){.wt-shapes{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:950px){
 .wt-body{grid-template-columns:minmax(0,1fr)}
 .wt-formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .wt-heading>.badge{display:none}
 .wt-title{gap:4px}
 .wt-title h1{font-size:26px}
 .wt-panel{padding:14px}
 .wt-shapes{display:flex;overflow-x:auto;margin:-2px -14px 16px;padding:2px 14px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .wt-shapes::-webkit-scrollbar{display:none}
 .wt-shapes button{flex:0 0 76px}
 .wt-dims-wrap{grid-template-columns:minmax(0,1fr) 110px;gap:10px}
 .wt-dims.n3{grid-template-columns:minmax(0,1fr)}
 .wt-dims.n2{grid-template-columns:minmax(0,1fr)}
 .wt-row.wt-mat{grid-template-columns:minmax(0,1fr) 96px}
 .wt-formula-grid{grid-template-columns:minmax(0,1fr)}
 .wt-panel-head .wt-toolbar{width:100%}
 .wt-table-wrap{overflow:visible;margin:0}
 .wt-table{min-width:0}
 .wt-table thead{display:none}
 .wt-table,.wt-table tbody,.wt-table tfoot{display:block}
 .wt-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;border:1px solid var(--border);border-radius:8px;padding:10px 10px 8px;margin-bottom:10px;position:relative}
 .wt-table td{display:flex;flex-direction:column;border:0;padding:0;min-width:0;text-align:left!important;white-space:normal}
 .wt-table td[data-label]::before{content:attr(data-label);font-size:11px;color:var(--muted);font-weight:400;margin-bottom:2px}
 .wt-table .c-idx{position:absolute;top:10px;left:10px}
 .wt-table .c-spec{grid-column:1/-1;padding-left:22px;padding-right:28px}
 .wt-table .c-spec::before{display:none}
 .wt-table .c-mat{grid-column:1/-1;padding-left:22px;margin-top:-4px}
 .wt-table .c-mat::before{display:none}
 .wt-table .c-qty{width:auto}
 .wt-table .c-qty input{text-align:left}
 .wt-table .c-del{position:absolute;top:4px;right:4px;width:auto}
 .wt-table tfoot tr{display:flex;justify-content:space-between;align-items:baseline;background:var(--blue);border:0}
 .wt-table tfoot td:empty{display:none}
 .wt-table .c-total-label{text-align:left}
}
@media(max-width:420px){
 .wt-dims-wrap{grid-template-columns:minmax(0,1fr) 92px}
 .wt-result-head{flex-direction:column;align-items:stretch}
 .wt-result-head .wt-seg{justify-content:stretch}
 .wt-result-head .wt-seg button{flex:1}
 .wt-dialog-actions{flex-direction:column-reverse}
 .wt-dialog-actions .button{width:100%}
}

/* 验收修复：单位切换提示、反算提示 */
.wt-unit-note{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.6;border-radius:6px;transition:background .2s}
.wt-unit-note.flash{color:#875217;background:#fff4e3;padding:7px 10px;font-size:13px}
.wt-rev-in .wt-unit-note{margin-top:6px}
.wt-hint.warn{color:#875217}
