/* 旧共通CSSから部品の規則だけを取り出して正規化したもの。tools/build.py が生成する。手で直さない */
@keyframes pulse{ 0%,100% { opacity: 1; transform: scale(1);} 50% { opacity: .5; transform: scale(1.4);} }
.sec ul.body{padding-left:1.2rem;margin:0 0 16px}
.sec ul.body li{margin:6px 0;font-size:16px}
.kpi .vsub{font-family:var(--mono);font-size:11px;color:var(--ink-2);margin-top:4px}
.find{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:12px}
.find li{background:var(--lavender-soft);border:1px solid var(--ink);border-radius:0;padding:14px 18px;font-size:15px;font-weight:500;display:flex;gap:12px;align-items:flex-start}
.find li .bullet{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--lavender);font-family:var(--mono);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.accuracy-note{border:1px solid var(--orange-deep);border-radius:0;background:var(--yellow-soft);padding:16px 20px;margin:22px 0;font-size:14.5px;line-height:1.75}
.accuracy-note .note-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);font-weight:700;display:block;margin-bottom:8px}
.tool-card{background:var(--bg);border:1px solid var(--ink);border-radius:0;box-shadow:none;padding:20px 18px;margin:24px 0}
.tool-canvas-wrap{position:relative;border:1px solid var(--ink);border-radius:0;overflow:hidden;background:#070b16}
.tool-canvas-wrap canvas{display:block;width:100%}
.tool-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(7,11,22,.7);color:#cfe8ff;font-family:var(--mono);font-size:13px}
.ctrls{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px 18px;margin:18px 0 4px}
@media (max-width: 560px){.ctrls{grid-template-columns:1fr 1fr}}
.ctrl{font-size:13px}
.ctrl .lab{display:flex;justify-content:space-between;font-weight:700;color:var(--ink-2)}
.ctrl .lab b{color:var(--ink);font-family:var(--mono)}
.ctrl input[type=range]{width:100%;accent-color:var(--orange);margin-top:4px}
.ctrl select{width:100%;margin-top:4px;padding:7px 8px;border:1px solid var(--ink);border-radius:0;font-family:var(--sans);font-weight:600;background:var(--bg)}
.seg{display:inline-flex;gap:6px;flex-wrap:wrap}
.seg button{padding:8px 14px;border:1px solid var(--ink);border-radius:0;background:var(--bg);font-weight:700;font-size:13px;cursor:pointer}
.seg button.on{background:var(--orange);color:var(--bg)}
.tool-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}
.verdict{border-radius:0;padding:14px 18px;text-align:center;font-weight:800;border:1px solid var(--ink);box-shadow:none;margin:16px 0}
.verdict.bad{background:var(--orange);color:var(--bg)}
.verdict.ok{background:var(--mint);color:var(--ink)}
.verdict .sub{display:block;font-weight:600;font-size:12.5px;margin-top:4px;opacity:.9}
.statgrid .s{background:var(--paper);border:1px solid var(--ink);border-radius:0;padding:10px 12px}
.statgrid .s .k{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--ink-2);text-transform:uppercase}
.statgrid .s .v{font-family:var(--serif);font-weight:900;font-size:19px;color:var(--orange-deep);line-height:1.15}
.viol{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:8px}
.viol li{display:flex;gap:10px;align-items:flex-start;font-size:14px;background:var(--paper);border:1px solid var(--ink);border-radius:0;padding:9px 13px}
.viol li .x{font-weight:800;color:var(--orange-deep)}
.viol li .o{font-weight:800;color:#1a8a4a}
.place{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
@media (max-width: 560px){.place{grid-template-columns:1fr}}
.place .card{border:1px solid var(--ink);border-radius:0;padding:12px 14px;background:var(--bg);box-shadow:none}
.place .card .h{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px}
.place .card .dot{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink)}
.place .card .co{font-family:var(--mono);font-size:12px;color:var(--ink-2);margin-top:4px}
.place .card a{display:inline-block;margin-top:6px;font-weight:700;font-size:13px;color:var(--orange-deep)}
.tool-note{font-family:var(--mono);font-size:11px;color:var(--warm-gray);margin:10px 2px 0;line-height:1.6}
