:root{--navy:#121b37;--blue:#004aac;--sky:#e8f1ff;--stroke:#d6e3f4;--good:#056a59}
body{background:linear-gradient(160deg,#f0f6ff,#f8fafc 60%);color:var(--navy)}
h1{max-width:820px;letter-spacing:-.035em}
h2{letter-spacing:-.018em;line-height:1.2}
h3{font-size:1.05rem}
.lead{max-width:790px;font-size:1.09rem;color:#40506c}
.eyebrow{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}
.panel{box-shadow:0 8px 30px rgba(26,57,109,.05)}
.field-label{display:block;font-weight:650;font-size:.86rem;color:#243c61;margin-bottom:6px}
label{display:block}
input{width:100%;background:#fff;border:1.5px solid #b8c9df;border-radius:10px;min-height:45px;color:var(--navy);font:inherit}
input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #55a5f7;outline-offset:3px}
button{font:inherit;font-weight:700;transition:filter .15s,transform .15s;min-height:45px}
button:hover:not(:disabled){filter:brightness(1.08)}
button:active:not(:disabled){transform:translateY(1px)}
button:disabled{opacity:.48;cursor:not-allowed}
.secondary{background:#fff;color:var(--blue);border:1.5px solid #a9c2e9}
.tertiary{background:#ecf3ff;color:#264f8b}
.button-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 25px}
.hint{font-size:.86rem;color:#4e607a;margin:6px 0 0}
.division{border:0;border-top:1px solid var(--stroke);margin:25px 0}
.piece-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(105px,1fr) minmax(85px,.65fr) auto;gap:12px;align-items:end;padding:13px;background:#f7faff;border:1px solid var(--stroke);border-radius:13px;margin:10px 0}
.piece-row button{align-self:end;white-space:nowrap}
.error{padding:14px 18px;border:1px solid #f0b0b0;color:#971e26;background:#fff0f0;border-radius:10px;margin-top:18px;font-weight:700}
.notice{background:#f2f7ff;border-left:4px solid #3e75ba;border-radius:8px;padding:12px 17px;color:#40506b;font-size:.91rem}
.results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 24px}
.stat{margin:0;background:#f4f8fe;border:1px solid var(--stroke);border-radius:14px;padding:16px}
.stat-name{font-size:.83rem;font-weight:750;color:#536783}
.stat-value{font-size:clamp(1.23rem,2.5vw,1.85rem);letter-spacing:-.03em;line-height:1.25;font-weight:850;color:#003a89;margin:7px 0}
.stat small{font-size:.77rem;color:#52637c}
.bar-card{border:1px solid var(--stroke);border-radius:12px;padding:12px 15px;margin-bottom:10px;background:white;break-inside:avoid}
.bar-heading{font-weight:750;color:#153768;cursor:pointer;padding:5px 1px}
.bar-track{display:flex;min-height:28px;background:#e9eef5;overflow:hidden;border:1px solid #cedae8;border-radius:7px;margin:10px 0}
.segment{height:27px;background:#3478c8;border-right:1px solid white;min-width:0}
.segment:nth-child(5n){background:#0e5d98}
.segment-kerf{height:27px;background:repeating-linear-gradient(45deg,#ca8d36,#ca8d36 3px,#edcf9d 3px,#edcf9d 6px)}
.segment-rest{height:27px;background:#b5c9b4}
.cut-list{padding-left:22px;margin:10px 0;color:#465773}
.cut-list li{padding:3px 0;overflow-wrap:anywhere}
.retal-note{font-size:.86rem;color:var(--good);font-weight:700}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.faq-item{border-top:1px solid var(--stroke);padding:10px 0}
.faq-item p{margin:6px 0}
#referral-after-result{border-color:#a0c6f1;background:linear-gradient(135deg,#fff,#edf5ff)}
#referral-after-result a.cta-link{display:inline-block;background:var(--blue);padding:13px 18px;border-radius:9px;color:white;text-decoration:none;font-weight:750;margin-top:9px}
[hidden]{display:none!important}
@media(max-width:800px){.config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.piece-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.piece-row .piece-field:first-child{grid-column:1/-1}.piece-row button{grid-column:1/-1}.config-grid{grid-template-columns:1fr 1fr;gap:9px}.stats{grid-template-columns:1fr}.button-bar button{flex:1 1 100%}.panel{margin:15px 0}.wrapper{width:calc(100% - 20px)}}
@media(max-width:350px){.config-grid{grid-template-columns:1fr}.piece-row{grid-template-columns:1fr}.piece-row .piece-field:first-child{grid-column:auto}}
@media print{body{background:white;color:#111;font-size:11pt}header,nav,.lead,#cut-form,#referral-after-result,.help-section,footer,.no-print,.button-bar{display:none!important}.wrapper{width:100%;max-width:none}main{padding:0}.panel{border:0;box-shadow:none;padding:0;margin:0}.stat{break-inside:avoid}.stats{grid-template-columns:repeat(3,1fr)}.bar-card{break-inside:avoid}details.bar-card> *{display:block!important}.bar-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}h1{font-size:20pt}#results{display:block!important}}
