:root{font:16px Segoe UI,Arial,sans-serif;color:#173047;background:#f0f4f7}*{box-sizing:border-box}body{margin:0}header{height:76px;background:#0e2c43;color:white;display:flex;align-items:center;padding:0 4%;gap:14px}header strong{font-size:23px}header em{font-style:normal;font-weight:400;color:#65d5cc}.mark{font-size:30px;color:#65d5cc;border:1px solid #477383;border-radius:7px;width:40px;text-align:center}header>span:last-child{margin-left:auto;color:#a8bccb;font-size:12px;letter-spacing:2px}main{max-width:1500px;margin:auto;padding:32px 4% 0}.title{margin-bottom:26px}h1{font-size:28px;letter-spacing:-.7px;margin:0 0 8px}.title p{color:#526c80;margin:0 0 12px}.title small{font-size:13px;color:#557b8b}.workspace{display:grid;grid-template-columns:370px minmax(0,1fr);gap:24px}.panel{background:white;border:1px solid #d8e2e9;border-radius:10px;padding:24px}h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0 0 20px;font-weight:650}h2 b{font-size:12px;color:#007b79;background:#e5f5f3;padding:6px;border-radius:4px}h2 small{margin-left:auto;font-size:12px;font-weight:400;color:#587287;background:#eff4f7;padding:6px}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,select,textarea{font:inherit;color:inherit;border:1px solid #b9cad5;border-radius:5px;background:#fff;padding:10px;max-width:100%}input{width:100%;margin-top:7px}textarea{width:100%;height:155px;font:14px/1.6 Consolas,monospace;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #078c92;outline-offset:2px}.filebox{border:1px dashed #a5bbc8;background:#f7fafb;padding:16px;margin:20px 0}.filebox input{font-size:13px;border:0;padding:0;margin:3px 0 10px}.filebox small{font-size:12px;color:#587287}.row{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:12px}.row label{margin:0;font-size:13px}.row select{padding:7px;font-size:14px}.hint{font-size:13px;line-height:1.65;color:#577083;margin:14px 0 22px}.constants{display:grid;grid-template-columns:1fr 1fr;gap:12px}.constants label,.constants input{font-size:14px}.primary{background:#087f85;border-color:#087f85;color:white;width:100%;padding:13px}button{font:600 14px Segoe UI,sans-serif;border:1px solid #183e59;border-radius:5px;background:#183e59;color:white;padding:10px 15px;cursor:pointer}button:hover{filter:brightness(1.1)}button:disabled{opacity:.4;cursor:default}.secondary{background:white;color:#21495f;border-color:#b9cad5}button:focus-visible{outline:3px solid #20aea2;outline-offset:3px}#status{font-size:14px;line-height:1.5;color:#577083;margin-bottom:0}.right{display:flex;flex-direction:column;gap:24px}.chart{height:340px;width:100%}.chart svg{height:100%;width:100%}.empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(180deg,#f8fbfd,#fff);border:1px dashed #d3e0e8;border-radius:7px;text-align:center;padding:20px}.empty>span{font-size:55px;color:#abc6d4}.empty h3{font-size:17px;margin:15px 0 8px}.empty p{font-size:14px;color:#6a8292;max-width:350px}.legend{display:flex;flex-wrap:wrap;gap:15px;font-size:13px;margin:12px 0}.legend i{display:inline-block;width:16px;height:3px;vertical-align:middle;margin-right:6px}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #e2eaf0;margin-top:18px;padding-top:20px;gap:12px}.metrics span{display:block;font-size:12px;color:#6a8292}.metrics strong{font:600 25px Consolas,monospace;display:block;margin-top:8px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:#617b8d;font-weight:500;font-size:12px;padding:9px;background:#f4f7fa}td{padding:10px;border-bottom:1px solid #e8eef2}td:nth-child(2){font-family:Consolas,monospace}.exports{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.warning{background:#fff4da;color:#765417;padding:14px;border-radius:5px;font-size:14px;line-height:1.6}.method{margin-top:24px;padding:20px 24px}summary{cursor:pointer;font-size:14px;font-weight:600}.methodgrid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:20px;font-size:14px;line-height:1.7}.methodgrid h3{font-size:16px}.equation{font-family:Cambria,serif;font-size:19px;color:#174e66}a{color:#007a84}footer{color:#698394;padding:25px 0;font-size:12px}@media(max-width:1050px){.workspace{grid-template-columns:320px minmax(0,1fr)}.panel{padding:18px}.metrics{grid-template-columns:1fr}.metrics>div{display:flex;align-items:center;justify-content:space-between}.metrics strong{font-size:20px;margin:0}}@media(max-width:760px){.workspace{grid-template-columns:1fr}header>span:last-child{display:none}main{padding:24px 16px 0}h1{font-size:24px}.methodgrid{grid-template-columns:1fr;gap:10px}.chart{height:290px}}
.d2-control{grid-column:1/-1}.d2-row{display:flex;gap:8px;align-items:center}.d2-row input{flex:1;min-width:0;margin:0}.d2-row button{flex:none}.d2-control .hint{margin:10px 0;font-weight:400}.d2-control .hint p{margin:8px 0}#d2-estimate{padding:12px;background:#f0f4f7;border-left:3px solid #087f85}#material-group{display:block;width:100%;margin-top:7px}.simulation-button{display:inline-block;border-radius:5px;background:#183e59;color:white;padding:11px 16px;text-decoration:none;font-weight:600;font-size:14px}.simulation-button:focus-visible{outline:3px solid #20aea2;outline-offset:3px}.risk-note{margin:14px 0 24px;color:#455f72}@media(max-width:400px){.d2-row{flex-wrap:wrap}.d2-row input{flex-basis:100%}}
.estimate-settings{font-size:13px;margin:10px 0}.estimate-settings summary{font-size:13px}.estimate-settings label{font-size:13px;margin-top:12px}.estimate-settings .check{display:flex;align-items:flex-start;gap:8px}.estimate-settings input[type=checkbox]{width:auto;flex:none;margin-top:3px}.estimate-settings .hint{margin-bottom:10px}#d2-estimate svg{width:100%;max-height:190px}#d2-estimate:focus{outline:2px solid #26469c;outline-offset:2px}

.residual-band-toggle{display:flex;align-items:center;gap:6px;margin:10px 0;font-size:13px}.residual-band-toggle input{width:auto;margin:0;flex:none}.residual-band{pointer-events:none}
