:root{font-family:system-ui,sans-serif;color:#183d33;background:#f3f4ee;font-size:15px}*{box-sizing:border-box}body{margin:0}header{padding:20px 28px;border-bottom:1px solid #d3dbd2;display:flex;justify-content:space-between;gap:12px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700}.private{font-size:12px;color:#3e674c}main{padding:24px;max-width:1500px;margin:auto}.intro{max-width:720px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,4vw,48px);letter-spacing:-1.4px;margin:12px 0 20px}h1 em{color:#688451}h2{font-size:19px;margin:0 0 20px}p{line-height:1.6}.notice{background:#e7ebdf;padding:14px 18px;border-left:3px solid #78915b;font-size:13px;line-height:1.6;margin:18px 0}.layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(400px,1.4fr);gap:18px;align-items:start}.panel{background:#fff;padding:24px;border:1px solid #d9dfd3;border-radius:12px;margin-bottom:18px}.upload{display:block;background:#eef2e8;border:1px dashed #8fa282;padding:18px;border-radius:8px;font-weight:600}.upload input{display:block;margin-top:12px;max-width:100%}button{border:1px solid #becbb7;border-radius:6px;background:#f3f6ef;padding:10px 14px;color:#183d33;font:inherit;cursor:pointer;min-height:42px}button:hover{background:#e4ebdd}button:disabled{opacity:.5;cursor:default}.primary{background:#244d3e;color:white;margin:12px 8px 0 0}.primary:hover{background:#16352b}.hint,footer{font-size:12px;color:#626e60;line-height:1.65}.pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0;font-size:12px}#paper{max-height:600px;overflow:auto;background:#eef0ec;border-radius:6px}canvas{width:100%;display:block}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;font-size:12px}details{margin-top:16px}summary{cursor:pointer}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}label{display:block;font-size:12px;line-height:1.6}input:not([type=checkbox]):not([type=file]),select{display:block;width:100%;min-width:0;padding:10px;border:1px solid #bbc7b5;border-radius:5px;background:white;color:#203c30;font:inherit;margin-top:5px}fieldset{border:1px solid #d8dfd2;border-radius:8px;margin:20px 0;padding:15px}legend{padding:0 6px;font-weight:600;font-size:13px}.scope-row{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:12px;margin:9px 0}.confirm{display:flex;align-items:start;gap:9px;margin:20px 0}.confirm input{margin-top:4px}table{border-collapse:collapse;width:100%;min-width:570px;font-size:12px}th{text-align:left;font-weight:500;color:#65735f;padding:8px 4px}td{padding:4px}td:first-child{width:33%}td input{min-width:68px!important}td button{padding:8px}.table-scroll{overflow:auto}#error{color:#9d321e}#findings>p{padding:12px;background:#f4f6f0;border-radius:6px;font-size:14px}#findings strong{display:inline-block;margin-right:8px}#roof-result{display:flex;gap:12px;flex-wrap:wrap}#roof-result p{background:#ecf0e5;padding:14px;border-radius:8px;flex:1;min-width:130px;font-size:13px}#compare-list article{border-top:1px solid #dbe2d5;padding:14px 0}footer{padding:10px 0 20px}input:focus,select:focus,button:focus-visible,summary:focus-visible{outline:3px solid #a2b78c;outline-offset:2px}[hidden]{display:none!important}@media(max-width:850px){.layout{grid-template-columns:1fr}main{padding:14px}.panel{padding:16px}header{padding:16px;flex-wrap:wrap}.fields{grid-template-columns:1fr}#paper{max-height:340px}}

main{max-width:920px}.start h1{margin-top:0}.brief-label{font-size:15px;font-weight:600;margin:22px 0 8px}textarea{width:100%;padding:16px;border:1px solid #bbc7b5;border-radius:8px;font:inherit;color:#203c30;line-height:1.6;resize:vertical;min-height:150px}textarea:focus{outline:3px solid #a2b78c;outline-offset:2px}.brief-help{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:8px 0}.text-button{border:0;background:transparent;text-decoration:underline;white-space:nowrap;font-size:12px}.brief-summary{white-space:pre-wrap;overflow-wrap:anywhere}#brief-error{color:#9d321e}#advanced>summary,#pdf-preview>summary{font-weight:600;font-size:15px}#advanced[open]>summary,#pdf-preview[open]>summary{margin-bottom:20px}#brief-next h2{margin-top:12px}#brief-next button{margin-right:8px;margin-bottom:8px}@media(max-width:500px){.brief-help{align-items:flex-start;flex-direction:column;gap:0}.text-button{padding-left:0}header .eyebrow{font-size:10px}}

.embedded header,.embedded .start h1,.embedded .start>p:first-of-type{display:none}.embedded main{padding:18px;max-width:920px}
