.jsh-nc{max-width:920px;margin:24px auto;color:#1f2937;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.jsh-nc-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:22px;box-shadow:0 8px 24px rgba(15,23,42,.07)}
.jsh-nc-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.jsh-nc-field label{font-weight:700}
.jsh-nc input,.jsh-nc select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;padding:12px 13px;font-size:16px;background:#fff}
.jsh-nc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.jsh-nc-submit,.jsh-nc-copy{border:0;border-radius:8px;background:#2563eb;color:#fff;font-weight:700;padding:12px 16px;cursor:pointer}
.jsh-nc-copy{background:#0f766e;padding:8px 11px;font-size:14px}
.jsh-nc-submit:disabled{opacity:.55;cursor:wait}
.jsh-nc-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.jsh-nc-loading{margin:16px 0;padding:12px 14px;border-radius:8px;background:#eff6ff;color:#1d4ed8}
.jsh-nc-error{margin:16px 0;padding:12px 14px;border-radius:8px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.jsh-nc-debug-code{display:inline-block;margin-top:6px;color:#7f1d1d;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.jsh-nc-result-card,.jsh-nc-option,.jsh-nc-disclaimer,.jsh-nc-note{margin-top:18px;border:1px solid #e5e7eb;border-radius:8px;padding:16px;background:#f8fafc}
.jsh-nc-result-card{background:#eff6ff;border-color:#bfdbfe}
.jsh-nc-topline{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.jsh-nc-topline span{background:#fff;border:1px solid #dbeafe;border-radius:8px;padding:8px 10px;font-weight:800}
.jsh-nc-katakana{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.jsh-nc-summary,.jsh-nc-meaning{font-size:16px;line-height:1.75;margin:12px 0}
.jsh-nc-option{background:#fff;border-color:#dbeafe;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.jsh-nc-partial{background:#fffbeb;border-color:#fde68a;color:#92400e}
.jsh-nc-option-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.jsh-nc-option-head strong{font-size:34px;line-height:1.2}
.jsh-nc-meta-badges{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:8px}
.jsh-nc-badge{display:inline-flex;gap:5px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;color:#166534;font-size:13px;font-weight:700;padding:5px 9px}
.jsh-nc-badge strong{font-size:inherit;line-height:inherit}
.jsh-nc-copy-inline{padding:6px 9px;font-size:12px}
.jsh-nc-chars{display:grid;gap:0;margin:14px 0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}
.jsh-nc-char-row{display:grid;grid-template-columns:90px 140px 1fr;background:#fff}
.jsh-nc-char-row span{padding:9px 10px;border-bottom:1px solid #e5e7eb}
.jsh-nc-char-row span+span{border-left:1px solid #e5e7eb}
.jsh-nc-char-row:last-child span{border-bottom:0}
.jsh-nc-char-head{background:#f8fafc;color:#475569;font-size:13px;font-weight:800;text-transform:uppercase}
.jsh-nc-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px;margin:14px 0}
.jsh-nc-score{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:10px;min-width:0;overflow:visible}
.jsh-nc-score-line{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:13px;color:#334155;line-height:1.35;overflow:visible}
.jsh-nc-score-label{font-weight:700;overflow-wrap:anywhere}
.jsh-nc-score-value{display:block;font-weight:800;white-space:nowrap;line-height:1.3}
.jsh-nc-score-bar{height:7px;background:#e2e8f0;border-radius:999px;margin-top:8px;overflow:hidden}
.jsh-nc-score-bar span{display:block;height:100%;background:#2563eb;border-radius:999px}
.jsh-nc-safety{border-left:4px solid #f59e0b;background:#fffbeb;padding:10px 12px}
.jsh-nc-tattoo{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px 12px}
.jsh-nc-disclaimer{background:#f0f9ff;border-color:#bae6fd}
.jsh-nc-note{font-size:14px;color:#475569;background:#f8fafc}
@media (max-width:900px){.jsh-nc-scores{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}}
@media (max-width:700px){.jsh-nc-card{padding:16px}.jsh-nc-grid,.jsh-nc-scores{grid-template-columns:1fr}.jsh-nc-option-head{align-items:flex-start;flex-direction:column}.jsh-nc-option-head strong{font-size:30px}.jsh-nc-char-row{grid-template-columns:1fr}.jsh-nc-char-row span+span{border-left:0}.jsh-nc-char-head{display:none}}
