:root{--bg:#faf8f5;--card:#fff;--ink:#2b2622;--sub:#8c837a;--line:#ece6df;--accent:#b08d57;--accent-d:#8a6c3e;--good:#2e9e6b;--ok:#3a8fce;--warn:#d9962a;--ng:#c45b54;--line-green:#06c755}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}.wrap{max-width:560px;margin:0 auto;padding:24px 18px 56px}header{text-align:center;margin-bottom:8px}header h1{font-size:1.4rem;margin:0 0 4px;letter-spacing:.02em}header p{margin:0 0 12px;color:var(--sub);font-size:.88rem}.badge{display:inline-block;font-size:.7rem;color:var(--accent-d);border:1px solid var(--accent);border-radius:999px;padding:2px 10px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 18px;margin-top:16px;box-shadow:0 1px 2px rgba(0,0,0,.02)}.label{font-size:.82rem;font-weight:700;display:block;margin:0 0 8px}.hint{font-size:.74rem;color:var(--sub);margin:6px 0 0}.num,.search{width:100%;padding:11px 12px;font-size:1rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.num:focus,.search:focus{outline:none;border-color:var(--accent)}.ac{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.ac li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;cursor:pointer;border-top:1px solid var(--line)}.ac li:first-child{border-top:none}.ac li:hover{background:#f6f2ec}.tag{font-size:.68rem;padding:2px 8px;border-radius:999px;white-space:nowrap}.tag.hi{background:#e7f3ec;color:var(--good)}.tag.other{background:#f3ece2}.link,.tag.other{color:var(--accent-d)}.link{background:none;border:none;font-size:.82rem;cursor:pointer;padding:10px 0 0;text-decoration:underline}.picked{display:flex;justify-content:space-between;align-items:center}.picked b{font-size:1.05rem;margin-right:10px}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{flex:1 1;min-width:84px;padding:9px 6px;font-size:.84rem;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;color:var(--sub);transition:.15s}.seg button.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.slider-row{display:flex;align-items:center;gap:12px}.slider-row input[type=range]{flex:1 1;accent-color:var(--accent)}.pctnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:1.1rem;min-width:48px;text-align:right}.chk{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:.88rem;cursor:pointer}.chk input{width:18px;height:18px;accent-color:var(--accent)}.result{text-align:center}.barwrap{height:10px;background:#eee;border-radius:999px;overflow:hidden;margin:4px 0 14px}.bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-d));transition:width .25s}.verdict{font-size:1.5rem;font-weight:800;margin:4px 0}.v-good{color:var(--good)}.v-ok{color:var(--ok)}.v-warn{color:var(--warn)}.v-ng{color:var(--ng)}.nums{display:flex;justify-content:center;gap:22px;margin:10px 0 4px}.nums div{font-size:.8rem;color:var(--sub)}.nums b{display:block;font-size:1.35rem;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.est{font-size:.95rem;margin:10px 0 0}.est b{font-size:1.05rem}.note{font-size:.8rem;color:var(--sub);background:#f6f2ec;border-radius:10px;padding:12px 14px;margin:14px 0 0;text-align:left}.cta{display:block;text-align:center;background:var(--line-green);color:#fff;font-weight:700;text-decoration:none;padding:15px;border-radius:12px;margin-top:16px;font-size:1rem}.cta small{display:block;font-weight:400;font-size:.74rem;opacity:.9;margin-top:2px}.cta-2{background:#fff;color:var(--accent-d);border:1.5px solid var(--accent);margin-top:10px}.cta-2 small{color:var(--sub);opacity:1}.prose{margin-top:34px}.prose h2{font-size:1.05rem;margin:26px 0 8px;border-left:4px solid var(--accent);padding-left:10px}.prose p{font-size:.9rem;margin:0 0 12px}.faq dt{font-weight:700;font-size:.9rem;margin-top:14px}.faq dd{margin:4px 0 0;font-size:.86rem;color:#4a443e}.disc{font-size:.7rem;color:var(--sub);text-align:center;margin-top:30px;line-height:1.6;border-top:1px solid var(--line);padding-top:18px}