*{box-sizing:border-box}body{margin:0;background:#f6f8f5;color:#20352d;font:16px/1.75 system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}header,main,footer{max-width:1120px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #264d3c;gap:24px}header>a{font-size:22px;font-weight:750;text-decoration:none}nav{display:flex;gap:22px;flex-wrap:wrap}h1{font-size:clamp(27px,3.5vw,39px);line-height:1.4;margin:22px 0 12px}h2{font-size:23px;margin-top:30px}h3{font-size:18px}.intro{color:#4c6258;max-width:65ch}.controls{display:flex;gap:18px;flex-wrap:wrap;align-items:end;background:#e6ede7;padding:22px;margin:28px 0}label{display:block;font-weight:600}input,select,textarea,button{font:inherit}input,select{display:block;margin-top:6px;padding:10px;border:1px solid #708a7b;background:white;color:inherit;width:130px}button{padding:11px 20px;background:#254d3c;color:white;border:0;cursor:pointer;min-height:44px}button.secondary{background:none;color:inherit;border:1px solid #708a7b}button:hover{filter:brightness(.9)}:focus-visible{outline:3px solid #b65c28;outline-offset:3px}.result{display:flex;gap:32px;align-items:baseline;border-block:1px solid #93a99b;padding:20px 0;margin:20px 0;flex-wrap:wrap}.result strong{font-size:40px;line-height:1.3;font-variant-numeric:tabular-nums}.layout{display:grid;grid-template-columns:1.4fr 1fr;gap:42px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;margin:16px 0;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid #c4d0c8}th{background:#e6ede7}tr.selected{font-weight:700;color:#143b29}.bar{height:12px;background:#254d3c;min-width:1px}td.chart{width:35%}small,.hint{color:#4c6258}.error{color:#a52a22;font-weight:700}article{max-width:780px}article p,article li{margin-bottom:18px}.product{border-top:1px solid #93a99b;padding:12px 0 22px}footer{border-top:1px solid #93a99b;margin-top:48px;display:flex;gap:18px;flex-wrap:wrap;font-size:14px}.speech{background:#fcfaf5;color:#302e2a;font-family:'Hiragino Mincho ProN','Yu Mincho',serif}.speech header{border-color:#913f30}.speech main{max-width:1200px}.speech .editor{display:grid;grid-template-columns:1fr 300px;gap:40px}.speech textarea{width:100%;min-height:400px;padding:20px;resize:vertical;line-height:2;background:white;border:1px solid #aaa49b;margin-top:10px}.speech input{width:100%;border-color:#aaa49b}.speech aside label{margin:16px 0}.speech button{background:#913f30}.speech button.secondary{background:transparent;color:#302e2a;border-color:#aaa49b}.speech .result{border-color:#913f30}.speech th{background:#ede8df}.speech td,.speech th{border-color:#ccc6bd}.speech .hint,.speech .intro{color:#645d54}.speech .result strong{color:#913f30}.speech .product,.speech footer{border-color:#aaa49b}@media(max-width:720px){header{display:block}nav{margin-top:14px;gap:18px;font-size:14px}main,header,footer{padding:20px}.layout,.speech .editor{display:block}.controls{gap:14px;padding:16px}input,select{width:125px}.speech aside{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.speech aside p{grid-column:1/-1}.speech textarea{min-height:310px}.result{gap:10px 24px}.result strong{font-size:32px}td,th{padding:8px}.speech table{font-size:14px}}@media print{header,footer,form,button,.intro,.no-print{display:none}main{padding:0}body{background:white}.layout,.speech .editor{display:block}table{break-inside:auto}tr{break-inside:avoid}}