:root{--ink:#1c2a38;--brand:#165e83;--light:#eaf2f7;--line:#c9d8e3;--warn:#8a5200;--good:#1e6b48}*{box-sizing:border-box}body{margin:0;background:#f6f9fb;color:var(--ink);font:16px/1.7 "Yu Gothic UI","Meiryo",sans-serif}main{max-width:940px;margin:auto;padding:32px 20px}header{border-left:7px solid var(--brand);padding:4px 20px;margin-bottom:28px}.brand{color:var(--brand);font-weight:bold;letter-spacing:.1em;margin:0}h1{font-size:2rem;line-height:1.3;margin:2px 0 10px}h2{font-size:1.35rem;line-height:1.4;margin:0 0 12px}h3{font-size:1.1rem;margin:0}.part,section{margin:22px 0}.part-head,.question,.inventory-row,.result-card,.save{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;margin:14px 0}.part-head{background:var(--light)}.meta{color:var(--brand);font-weight:bold;margin:0}.helper{font-size:1rem;background:#f1f5f9;padding:9px 12px;border-radius:6px}.choice{display:block;padding:8px 4px;cursor:pointer}.choice input{margin-right:9px}.clear-one,.quiet{background:#fff;color:var(--brand);border:1px solid var(--brand)}button,.file{font:inherit;border:0;border-radius:6px;background:var(--brand);color:#fff;padding:11px 16px;margin:4px 6px 4px 0;cursor:pointer}.clear-one{font-size:1rem;padding:6px 10px}small{font-size:1rem}.actions{margin:30px 0}.error{background:#fff1db;border-left:5px solid var(--warn);padding:13px}.inventory-row legend{font-weight:bold}.method{display:block;margin:6px 0}.products{margin-top:10px}.products input,.profile-select{width:100%;max-width:520px;padding:8px;font:inherit}.profile-select{display:block;margin:8px 0}.result{margin-top:32px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.result-card{margin:0}.detail{white-space:pre-wrap}.result-list{list-style:none;padding:0}.result-list li{border-left:4px solid var(--brand);padding:10px 14px;background:var(--light);margin:10px 0}.file input{display:none}footer{text-align:center;padding:20px;color:#566}@media print{body{background:#fff}main{max-width:none;padding:0}header,.actions,.save,.clear-one,button{display:none!important}.question,.inventory-row{display:none}.result{border:0;padding:0}.result-card{break-inside:avoid}footer{display:none}}@media screen and (max-width:600px){main{padding:20px 12px}h1{font-size:1.65rem}.question,.inventory-row,.save{padding:15px}}
.intro{font-size:1.15rem;font-weight:bold;color:var(--ink);margin:6px 0}.privacy{color:#566;margin:4px 0}.feedback-top{margin:4px 0}.feedback-top a,.feedback a{color:var(--brand)}
.choice{display:flex;align-items:flex-start;gap:8px}.choice input{margin:6px 0 0}.num{flex:0 0 1.8em;height:1.8em;border-radius:50%;background:var(--light);color:var(--brand);font-weight:bold;display:inline-grid;place-items:center}.num.blank{background:transparent}
.result{--tint:#eaf2f7;--paper:#f6f9fb;--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{color:#fff;opacity:.9;font-size:15px}.result .hero h1{margin:4px 0 6px;font-size:28px;line-height:1.3;color:#fff}.result .hero .meta{margin:0;font-size:15px;color:#fff;font-weight:normal}
.result .summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0 8px}.result .tile{background:#fff;border:1px solid var(--line);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:#e3ebf1}.result .steps span.on{background:var(--brand)}.result .steps span.now{background:var(--gold)}
.result .counts{display:flex;flex-direction:column;gap:5px;margin-top:4px}.result .counts span{border-radius:6px;padding:3px 10px;font-weight:bold;font-size:15px}
.result .desc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:8px 0}.result .desc>b{color:var(--brand)}.result .desc .next,.result .desc .stop{display:block;margin-top:4px}.result .desc .next b{color:var(--brand)}
.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(--line);font-size:15px}.result th{background:var(--tint);color:var(--ink);text-align:left;padding:9px 10px}.result td{border-top:1px solid #e6edf2;padding:9px 10px;vertical-align:top}
.result .qid{color:var(--brand);font-weight:bold;white-space:nowrap}.result .bar{display:flex;align-items:center;gap:8px;white-space:nowrap}.result .bar .track{width:110px;height:12px;background:#e3ebf1;border-radius:6px;overflow:hidden}.result .bar .fill{display:block;height:100%;background:var(--brand)}.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 .badge{display:inline-block;border-radius:999px;padding:1px 10px;font-weight:bold;font-size:14px;white-space:nowrap}.result .b-ok{background:var(--gd-bg);color:var(--gd)}.result .b-no{background:var(--bd-bg);color:var(--bd)}.result .b-q{background:var(--wn-bg);color:var(--wn)}
.result .focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.result .card{background:#fff;border:1px solid var(--line);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 .strong{display:flex;flex-wrap:wrap;gap:8px}.result .strong span{background:var(--gd-bg);color:var(--gd);border-radius:8px;padding:6px 12px;font-weight:bold}.result .paper{background:var(--bd-bg)}.result a{color:var(--brand)}.result .foot{font-size:15px;color:var(--sub)}.result .feedback{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px}
@media screen and (max-width:760px){.result .summary,.result .focus-grid{grid-template-columns:1fr}.result .bar .track{width:70px}}
@media print{@page{size:A4;margin:12mm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}#questions,#inventory,#profile,#missing,.result .feedback,.feedback-top{display:none!important}.result{margin:0;font-size:13px}.result h2{break-after:avoid}.result tr,.result .card,.result .tile{break-inside:avoid}.result table{font-size:12.5px}.result .bar .track{width:80px}}
