:root{color-scheme:light;--ink:#193d43;--muted:#4c676b;--accent:#007565;--wash:#eef7f4;--line:#bed4cf;--paper:#fff}*{box-sizing:border-box}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--paper);color:var(--ink);line-height:1.85}header,main,footer{max-width:1100px;margin:auto;padding:24px 28px}header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);font-size:14px}a{color:var(--accent);text-underline-offset:4px}header a{font-weight:700}h1{font-size:clamp(32px,5.5vw,58px);line-height:1.4;letter-spacing:-.03em;margin:18px 0 24px}h2{font-size:24px;line-height:1.55;margin:0 0 20px}h3{font-size:17px;margin:24px 0 4px}p{margin:10px 0}.intro{padding:44px 0 32px;max-width:760px}.eyebrow,.small{font-size:14px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:start}form{padding:28px;background:var(--wash);border-radius:12px}label{display:block;font-weight:700;margin:18px 0 6px}select{width:100%;padding:12px;font:inherit;font-size:16px;background:white;border:1px solid #759b91;color:var(--ink);border-radius:5px}button{font:inherit;font-weight:700;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:#fff;padding:12px 18px;cursor:pointer;margin:22px 0 4px}form button{width:100%}.secondary{background:white;color:var(--accent)}button:hover{filter:brightness(.92)}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #b44c00;outline-offset:4px}#empty{padding:38px 0}.step{font-size:48px;color:var(--accent);font-weight:700;margin-bottom:28px}#result{padding:24px 0}#result:focus{outline:none}.actions{display:flex;flex-wrap:wrap;gap:10px}.about{margin-top:48px;padding:30px 0;border-top:1px solid var(--line);max-width:800px}footer{border-top:1px solid var(--line);font-size:13px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:750px){header,main,footer{padding:20px}.workspace{grid-template-columns:1fr;gap:16px}.intro{padding:28px 0}form{padding:22px}header{align-items:start}header span{max-width:10em}#empty{padding:18px 0}.step{font-size:32px}}@media print{header,.intro,form,#empty,.actions,#save-status,.about,footer,#result>p:not(.eyebrow){display:none!important}.workspace{display:block}main,#result{max-width:none;padding:0}h2,h3{break-after:avoid}p{orphans:3;widows:3}body{font-size:10pt;line-height:1.65}h3{margin:16px 0 4px}p{margin:6px 0}#result[hidden]{display:none!important}@page{size:A4;margin:18mm}}
