:root{--te:#0d9488;--ink:#0f172a}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:var(--ink);background:#f6fafb;line-height:1.7}
.phd{background:#fff;border-bottom:1px solid #e6eeee}.phd-in{max-width:1040px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:12px}
.plogo{font-weight:800;font-size:20px;color:var(--ink);text-decoration:none}.plogo b{color:var(--te)}
.pnav{margin-left:auto;display:flex;gap:14px;font-size:13px}.pnav a{color:#0d7d70;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:16px 16px 70px}
.crumb{font-size:12px;color:#64748b;margin-bottom:6px}.crumb a{color:#0d7d70;text-decoration:none}
h1{font-size:25px;margin:6px 0}.lead{color:#475569;font-size:14px;margin:0 0 12px}
h2{font-size:18px;margin:22px 0 8px}
.methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:10px 0}
.method{display:block;background:#fff;border:1px solid #e3edef;border-radius:16px;padding:18px;text-decoration:none;color:var(--ink);position:relative}
.method:hover{border-color:var(--te);box-shadow:0 4px 16px rgba(13,148,136,.08)}
.method .ic{font-size:30px}.method .mt{font-weight:800;font-size:17px;margin:6px 0 3px}.method .md{color:#667;font-size:13px}
.method.primary{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff}.method.primary .md{color:#d7f5ef}
.box{background:#fff;border:1px solid #e3edef;border-radius:16px;padding:16px}
textarea,input.q{width:100%;border:1px solid #cfe0dc;border-radius:12px;padding:13px 14px;font-size:15px;font-family:inherit;color:var(--ink)}
textarea{min-height:88px;resize:vertical}
.exs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.exs button{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:5px 11px;font-size:12.5px;cursor:pointer;color:#334155}
.go{margin-top:10px;background:var(--te);color:#fff;border:0;border-radius:12px;padding:12px 20px;font-size:15px;font-weight:800;cursor:pointer}
.refine{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.refine label{font-size:12.5px;background:#f7fafa;border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px;cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:7px}.chips a{background:#f1f5f9;border-radius:999px;padding:6px 13px;font-size:13px;text-decoration:none;color:#0f172a}
.redflag{background:#fef2f2;border:2px solid #fca5a5;border-radius:14px;padding:14px 16px;margin:12px 0}
.redflag b{color:#b91c1c;font-size:15px}.redflag p{margin:6px 0 0;font-size:13.5px;color:#7f1d1d}.redflag .tel{display:inline-block;margin-top:8px;background:#dc2626;color:#fff;border-radius:10px;padding:8px 16px;text-decoration:none;font-weight:800}
.triage{display:flex;flex-direction:column;gap:8px;margin:10px 0}.tri{display:flex;gap:10px;align-items:flex-start;border-radius:10px;padding:10px 12px;font-size:13.5px}
.tri.hi{background:#fef2f2;border:1px solid #fecaca}.tri.mid{background:#fffbeb;border:1px solid #fde68a}.tri.lo{background:#f0fdf4;border:1px solid #bbf7d0}
.cand{border:1px solid #e3edef;border-radius:12px;padding:12px 14px;margin:9px 0;background:#fff}
.cand h3{margin:0 0 4px;font-size:15px}.cand h3 a{color:#0f766e;text-decoration:none}.cand .kb{font-size:11px;background:#eef6f5;color:#0f766e;border-radius:6px;padding:1px 7px;margin-left:6px}
.cand .why{font-size:13px;color:#475569;margin:3px 0}.cand .mt{font-size:12.5px;color:#0f766e;margin-top:4px}
.disc{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:12px 14px;font-size:13px;color:#475569;margin:12px 0}
.note{color:#64748b;font-size:12.5px}
@media(max-width:560px){h1{font-size:22px}.method .mt{font-size:16px}}

/* ---- v2 discovery UI ---- */
.phero{margin:6px 0 10px}.pbadge{display:inline-block;font-size:11.5px;font-weight:800;color:#0f766e;background:#e6f6f3;border:1px solid #b8e6de;border-radius:999px;padding:3px 11px;margin-bottom:6px}
.methods4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}
.m4{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid #e3edef;border-radius:16px;padding:18px;text-decoration:none;color:var(--ink);border-top:4px solid #0d9488}
.m4:hover{box-shadow:0 6px 18px rgba(13,148,136,.10);transform:translateY(-1px)}
.m4ic{font-size:30px}.m4t{font-weight:800;font-size:17px}.m4d{color:#667;font-size:13px}
.m-sym{border-top-color:#0d9488}.m-body{border-top-color:#2563eb}.m-spec{border-top-color:#7c3aed}.m-dis{border-top-color:#d97706}
.specgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:11px;margin:8px 0 16px}
.speccard{background:#fff;border:1px solid #e3edef;border-radius:14px;padding:12px 14px}
.specn{font-weight:800;font-size:15px;margin-bottom:6px}.specchips{display:flex;flex-wrap:wrap;gap:6px}
.schip{background:#f1f5f9;border-radius:999px;padding:4px 11px;font-size:12.5px;text-decoration:none;color:#0f172a}
.snone{color:#94a3b8;font-size:12px}
.bodywrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:6px 0}
.bodysvg{width:280px;max-width:44vw;height:auto;background:#fff;border:1px solid #e3edef;border-radius:16px}
.fg{fill:#eef3f7}.bttl{font-size:12px;fill:#0f766e;font-weight:800}
.zn{fill:#cfeae4;stroke:#0d9488;stroke-width:1.1;opacity:.5;cursor:pointer}.bz:hover .zn,.bz.on .zn{opacity:.95;fill:#5eead4}.zl{font-size:10px;fill:#0f766e;font-weight:700;pointer-events:none}
.rbtn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer;color:#334155}.rbtn.on{background:#0d3b32;color:#8ff0dc;border-color:#0d3b32}
.rhead{font-weight:700;font-size:14px;margin-bottom:8px}
.ktabs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.ktab{background:#fff;border:1px solid #cfe0dc;border-radius:10px;padding:8px 14px;font-size:15px;font-weight:800;cursor:pointer;color:#0f172a}.ktab.on{background:#0d3b32;color:#8ff0dc;border-color:#0d3b32}

/* ---- v3 hero + specialty polish ---- */
.phbanner{background:linear-gradient(135deg,#e6f6f3,#eef7ff);border:1px solid #d6ece7;border-radius:20px;padding:22px 22px 18px;margin:8px 0 6px}
.phbanner h1{font-size:27px;margin:4px 0 4px}.phbanner .lead{margin:0 0 12px;font-size:14px}
.phsearch{display:flex;gap:8px;max-width:680px}
.phsearch input{flex:1;border:2px solid #0d9488;border-radius:14px;padding:14px 16px;font-size:16px;background:#fff}
.phsearch button{background:#0d9488;color:#fff;border:0;border-radius:14px;padding:0 22px;font-size:16px;font-weight:800;cursor:pointer;white-space:nowrap}
.phchips{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px;align-items:center}.phlab{font-size:12.5px;color:#0f766e;font-weight:700}
.phchips a{background:#fff;border:1px solid #b8e6de;border-radius:999px;padding:5px 12px;font-size:13px;text-decoration:none;color:#0f766e}
.mh{font-size:16px;color:#334155;margin:16px 0 6px}
.spechd{display:flex;gap:9px;align-items:flex-start;margin-bottom:8px}.specic{font-size:22px;line-height:1}.specd{color:#667;font-size:11.5px;margin-top:1px}
@media(max-width:560px){.phbanner{padding:16px 14px}.phbanner h1{font-size:22px}.phsearch{flex-direction:column}.phsearch button{padding:12px}}

/* ---- master-backed specialty ---- */
.schip.pend{background:#f8fafc;border:1px dashed #cbd5e1;color:#94a3b8;cursor:default}
.schip.pend small{font-size:9px;margin-left:4px;color:#b0bac6}
.speccnt{font-size:10.5px;font-weight:700;color:#0f766e;background:#eef6f5;border-radius:6px;padding:1px 6px;margin-left:4px}
.specmore{font-size:11px;color:#94a3b8;margin-top:5px}
