:root{--ink:#172f2b;--muted:#53665f;--paper:#f5f3ea;--green:#21604b;--line:#d8dfd5;--accent:#f1c96a}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Yu Gothic UI',Meiryo,sans-serif;line-height:1.8}a{color:var(--green)}.wrap{max-width:1120px;margin:auto;padding:0 28px}header{border-bottom:1px solid var(--line);padding:20px 0}nav{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.brand{font-weight:800;text-decoration:none;color:var(--ink);letter-spacing:.08em}.tag{font-size:12px;letter-spacing:.12em;font-weight:700}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding:80px 0}h1{font-size:clamp(32px,4.3vw,58px);line-height:1.35;letter-spacing:-.035em;margin:18px 0 24px}h2{font-size:28px;line-height:1.45}h3{font-size:19px}.lead{font-size:18px;color:var(--muted)}.button,button{display:inline-block;border:1px solid var(--green);border-radius:5px;padding:12px 20px;font:inherit;font-weight:700;text-decoration:none;background:var(--green);color:white;cursor:pointer}.secondary{background:transparent;color:var(--green)}button:disabled{opacity:.55;cursor:not-allowed}.hero-art{background:var(--ink);color:white;padding:34px;transform:rotate(1deg);border-radius:10px}.hero-art h3{margin-top:0}.metric{font-size:38px;font-weight:700;line-height:1.4}.muted{color:var(--muted)}.hero-art .muted{color:#c5dbce}.bar{height:12px;background:#426458;border-radius:20px;overflow:hidden;margin:15px 0}.bar i{display:block;width:68%;height:100%;background:var(--accent)}section{padding:48px 0;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:28px;background:white;border:1px solid var(--line);border-radius:8px}.number{color:var(--green);font-size:14px;letter-spacing:.12em}.price{font-size:40px;font-weight:bold}.notice{padding:14px 18px;background:#fff3cf;border-left:4px solid #97701e}.small{font-size:13px}footer{padding:30px 0;color:var(--muted)}label{display:block;font-size:14px;font-weight:600}input{font:inherit;color:var(--ink);border:1px solid #899b91;border-radius:4px;padding:9px;width:100%;background:white}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #ba8413;outline-offset:3px}.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:660px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}th{font-size:13px}td input{min-width:90px}td:first-child input{min-width:130px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.results .card{padding:22px}.result-num{font-size:26px;font-weight:750}.error{color:#9c231c;font-weight:bold;min-height:28px}.topline{padding:10px 0;background:var(--ink);color:white;font-size:12px}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:bold}#result[hidden]{display:none}@media(max-width:760px){.hero{grid-template-columns:1fr;padding:42px 0;gap:28px}.grid,.results{grid-template-columns:1fr}.fields{grid-template-columns:repeat(2,1fr)}.wrap{padding:0 18px}section{padding:32px 0}.hero-art{transform:none}}@media print{header,.actions,.topline,button,#import-file{display:none}body{background:white}.card{break-inside:avoid}.results{grid-template-columns:repeat(3,1fr)}}
button{white-space:nowrap}#ingredients button{padding:10px 14px} @media(max-width:500px){.hero-art .metric{font-size:26px}}
