:root{--red:#c62828;--dark:#262626;--paper:#f2efea;--line:#d6d0ca;--safe:#0f766e;--warn:#b45309;--na:#667085}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--dark);font:16px/1.7 "BIZ UDPGothic","BIZ UDPゴシック","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif}main{max-width:980px;margin:auto;background:#fff;min-height:100vh;padding:24px}header{border-top:6px solid var(--red);padding:14px 0 18px}.brand{color:var(--red);font-weight:700;margin:0}h1{font-size:clamp(28px,5vw,42px);line-height:1.3;margin:.2em 0}h2{font-size:24px;color:var(--red)}.notice,.save{background:#fff7f7;border:1px solid #f0c8c8;padding:16px;margin:20px 0;border-radius:8px}.question{border:1px solid var(--line);border-radius:8px;padding:18px;margin:16px 0}.question.na{background:#f4f4f5;color:var(--na)}.meta{color:var(--red);font-weight:700;margin:0}.question h2{font-size:20px;color:var(--dark);margin:.2em 0}.helper{margin:.3em 0;color:#555}.choice{display:block;padding:9px 10px;margin:7px 0;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.choice:has(input:checked){border-color:var(--red);background:#fff4f4}.choice input{margin-right:9px}.clear-one{font-size:16px;background:#f2f2f2;color:#333;border:1px solid #888;border-radius:5px;padding:5px 10px}.clear-one:hover{background:#e0e0e0}.clear-one:disabled{color:#999;border-color:#ccc;cursor:default}button,.file{font:inherit;border:0;border-radius:6px;padding:10px 14px;margin:5px 8px 5px 0;background:var(--red);color:#fff;cursor:pointer}.file{display:inline-block}.file input{display:none}#clear{background:#555}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.usage-grid select{font:inherit;font-size:16px;width:100%;padding:8px;border:1px solid #aaa;border-radius:5px}.result{margin-top:30px;border-top:5px solid var(--red);padding-top:12px}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.card{border:1px solid var(--line);border-radius:8px;padding:12px}.card strong{font-size:22px}.bar{height:14px;background:#e5e7eb;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--safe)}.safety{border-left:5px solid var(--warn);padding:12px;background:#fff7ed;white-space:pre-line}.detail{white-space:pre-line}.focus{border-left:4px solid var(--safe);padding:10px;margin:10px 0;background:#f0fdfa}footer{border-top:1px solid var(--line);margin-top:30px;padding-top:12px;color:#555}@media screen and (max-width:600px){main{padding:14px}.question{padding:14px}}@media print{body{background:#fff}main{max-width:none;padding:0}.notice,.save,.controls,#questions,#usage{display:none!important}#result[hidden]{display:block!important}.result{border:0}button{display:none}}
.intro{font-size:1.15rem;font-weight:bold;margin:6px 0}.privacy{margin:4px 0}.feedback-top{margin:4px 0}.feedback-top a{color:var(--red)}
.feedback-req{margin-top:24px;border:1px solid var(--line);border-radius:10px;padding:12px 16px}.feedback-req a{color:var(--red)}@media print{.feedback-top,.feedback-req{display:none!important}}
.other-names{display:block;width:100%;padding:6px 8px;font:inherit;margin:4px 0}
.result{--brand:#c62828;--ink:#262626;--tint:#ffebee;--rline:#e7d9d6;--sub:#555;--gd:#1e6b48;--gd-bg:#e6f4ec;--wn:#8a5200;--wn-bg:#fff4db;--bd:#b71c1c;--bd-bg:#ffebee;--gold:#e0a100;color:#333}
.result .hero{background:var(--brand);color:#fff;border-radius:12px;padding:22px 26px}.result .hero .brand{margin:0;font-weight:bold;letter-spacing:.12em;font-size:15px;opacity:.9;color:#fff}.result .hero h1{margin:4px 0 6px;font-size:28px;line-height:1.3;color:#fff;border:0;padding:0}.result .hero .meta{margin:0;font-size:15px;color:#fff}
.result .summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0 8px}.result .tile{background:#fff;border:1px solid var(--rline);border-top:6px solid var(--brand);border-radius:10px;padding:16px 18px}.result .tile .label{font-size:16px;font-weight:bold;color:var(--ink);margin:0}.result .tile .value{font-size:22px;font-weight:bold;color:var(--ink);margin:2px 0 8px;line-height:1.35}.result .tile .avg{font-size:15px;color:var(--sub);margin:6px 0 0}
.result .steps{display:flex;gap:3px}.result .steps span{flex:1;height:12px;border-radius:3px;background:#eee4e2}.result .steps span.on{background:var(--brand)}.result .steps span.now{background:var(--gold)}
.result .desc{background:#fff;border:1px solid var(--rline);border-radius:10px;padding:14px 18px;margin:8px 0}.result .desc>b{color:var(--brand)}.result .desc .next{display:block;margin-top:4px;white-space:pre-wrap}
.result .pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.result .desc.good{border-left:6px solid var(--gd)}.result .desc.good>b{color:var(--gd)}.result .desc.improve{border-left:6px solid var(--gold)}.result .desc.improve>b{color:var(--wn)}
.result .desc.safety.warn{background:var(--wn-bg);border-color:var(--wn);color:var(--wn)}.result .desc.safety.bad{background:var(--bd-bg);border-color:var(--bd);color:var(--bd);font-weight:bold}.result .desc.safety.ok{background:var(--gd-bg);border-color:var(--gd);color:var(--gd)}
.result h2{font-size:21px;color:var(--ink);border-left:6px solid var(--brand);padding:2px 0 2px 12px;margin:30px 0 12px}.result h2 small{font-size:15px;color:var(--sub);font-weight:normal;margin-left:8px}
.result table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--rline);font-size:15px}.result th{background:var(--tint);color:var(--ink);text-align:left;padding:9px 10px}.result td{border-top:1px solid #f0e6e4;padding:9px 10px;vertical-align:top}.result tr.warn{background:var(--wn-bg)}.result tr.ok{background:#fff}
.result .qid{display:inline-block;min-width:1.8em;color:var(--brand);font-weight:bold}.result .bar{display:flex;align-items:center;gap:8px;white-space:nowrap;height:auto;background:none;border-radius:0;overflow:visible}.result .bar .track{width:110px;height:12px;background:#eee4e2;border-radius:6px;overflow:hidden}.result .bar .fill{display:block;height:100%;background:var(--gd)}.result .bar .fill.lo{background:#c0392b}.result .bar .fill.mid{background:var(--gold)}.result .score{font-weight:bold;color:var(--ink);min-width:3.2em}.result .na{color:var(--sub)}
.result .domains{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result .dom{background:#fff;border:1px solid var(--rline);border-radius:10px;padding:12px 16px}.result .dom b{display:block;margin-bottom:4px}
.result .focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.result .card{background:#fff;border:1px solid var(--rline);border-radius:10px;padding:14px 16px;position:relative;margin-top:10px}.result .card .no{position:absolute;top:-12px;left:14px;background:var(--gold);color:#fff;font-weight:bold;border-radius:999px;width:28px;height:28px;display:grid;place-items:center}.result .card h3{font-size:16px;margin:8px 0;color:var(--ink)}.result .card .k{font-size:14px;color:var(--brand);font-weight:bold;margin:6px 0 0}.result .card p{margin:0}
.result a{color:var(--brand)}.result .ver{font-size:14px;color:var(--sub);margin-top:16px}
@media screen and (max-width:760px){.result .summary,.result .focus-grid,.result .pair,.result .domains{grid-template-columns:1fr}.result .bar .track{width:70px!important}}
@media print{@page{size:A4;margin:12mm}main>header,#profile{display:none!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.result{font-size:13px}.result h2{break-after:avoid}.result tr,.result .card,.result .tile,.result .dom{break-inside:avoid}.result table{font-size:12.5px}}
