:root{color-scheme:dark;--bg:#090c0e;--panel:#11171b;--line:#293238;--muted:#98a6ae;--cyan:#43d7df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#e9eff1;font:14px/1.45 Arial,sans-serif;height:100dvh;display:flex;flex-direction:column}button,input,textarea{font:inherit}button{background:#192329;color:#eaf1f2;border:1px solid #37444c;border-radius:5px;padding:8px 12px;cursor:pointer}button:hover,button.active{border-color:var(--cyan);color:var(--cyan);background:#103137}button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}header{display:flex;align-items:center;gap:32px;padding:16px 22px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:16px;align-items:center}.brand>b{font-size:28px;letter-spacing:-1px}.brand>b span{color:var(--cyan)}.brand small,.project small{display:block;color:var(--muted);font-size:12px;letter-spacing:1px}.brand>div{letter-spacing:2px}nav{display:flex;gap:6px}.project{margin-left:auto;font-size:13px}.badge{border:1px solid #836a36;color:#f4cb7b;padding:6px 9px;font-size:12px;border-radius:4px}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 22px;border-bottom:1px solid var(--line);gap:12px}.controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}input[type=checkbox]{accent-color:var(--cyan)}.muted,.hint{color:var(--muted)}main{display:grid;grid-template-columns:265px minmax(0,1fr) 280px;flex:1;min-height:0}aside{background:var(--panel);padding:18px;overflow:auto}#navigation{border-right:1px solid var(--line)}#evidence{border-left:1px solid var(--line)}.panel-title{font-size:12px;letter-spacing:1.3px;font-weight:700;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.panel-title span{color:var(--cyan)}.hint{font-size:12px}.space{margin-top:28px}details details{margin-left:12px;border-left:1px solid #303c43;padding-left:8px}summary{cursor:pointer;padding:10px 0}summary em{display:block;color:#d7ae66;font-size:12px;font-style:normal}.tree-row{display:flex;align-items:center;gap:4px}.tree-row button{border:none;background:none;text-align:left;font-size:13px;padding:9px 4px;flex:1}.tree-row.selected{background:#153138;border-radius:4px}.source{padding:12px 0;border-bottom:1px solid var(--line);font-weight:bold}.source span{font-weight:normal;color:var(--muted);display:block;font-size:12px}.notice{background:#201e17;border:1px solid #55492f;color:#dac9a6;padding:12px;margin-top:20px;font-size:12px;border-radius:5px}.stage{padding:18px;overflow:auto;min-width:0;background:#0b1013}.surface-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.eyebrow{color:var(--cyan);font-size:12px;letter-spacing:1.5px}h1{font-size:23px;font-weight:500;margin:3px 0}h1 span{font-size:16px;color:var(--muted);margin-left:10px}h2{font-size:21px;font-weight:500}.surface-head button{padding:5px 9px}#zoomLabel{margin:0 8px;font-size:12px}.sheet-frame{display:grid;grid-template-columns:1fr 6fr 1fr;grid-template-rows:1fr 8fr 1fr;aspect-ratio:48/30;border:1px solid #39545d;min-height:420px;background:#11191d}.frame-top{grid-column:1/4;display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid #39545d;gap:8px;font-size:12px}.frame-top span:last-child{color:#ddb66e}.frame-left,.frame-right{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px;padding:8px;overflow:auto}.register h3{font-size:12px;margin:6px 0;color:var(--cyan)}.register label{display:block;font-size:12px;border-bottom:1px solid var(--line);padding:7px 0}.register input{width:12px}.drawing{background:white;overflow:auto;display:flex;align-items:center;justify-content:center}.drawing>div{position:relative;flex:none;width:100%}.drawing img{width:100%;display:block}.marker{position:absolute;background:#42d7df;color:#071113;border:2px solid white;border-radius:50%;padding:0;width:29px;height:29px;font-size:12px;box-shadow:0 2px 6px #0005}.marker.selected{background:#ffc75e}.frame-bottom{grid-column:1/4;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;border-top:1px solid #39545d}.frame-bottom b,.frame-bottom span{display:block;font-size:12px}.frame-bottom span{color:var(--muted)}.caption{font-size:12px;color:var(--muted);margin-top:10px}.mono{color:var(--cyan);font-family:monospace;margin:12px 0}.field{display:block;margin-top:20px;color:var(--muted)}.field input,.field textarea{width:100%;margin-top:8px;padding:10px;background:#0a1013;color:white;border:1px solid #45535c;border-radius:4px}.two{display:flex;justify-content:space-between;margin-top:15px;color:var(--muted)}.two strong{display:block;color:#e7eff1;font-weight:normal}dt{font-size:12px;color:var(--muted);margin-top:15px}dd{margin:3px 0}footer{display:flex;gap:36px;align-items:center;border-top:1px solid var(--line);padding:14px 22px;background:#10171b}footer strong,footer span{display:block}footer b{font-size:13px}footer span:not(.eyebrow){color:var(--muted);font-size:12px}.screen{margin-left:auto}.paper{background:#fff;color:#1b2830;padding:36px;min-height:610px;box-shadow:0 8px 30px #0004}.paper-brand{font-weight:bold;font-size:28px;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #17313c;padding-bottom:20px}.paper-brand span{font-size:13px;letter-spacing:2px}.paper h2{font-size:27px;margin-bottom:4px}.paper p{color:#61717c}.paper-meta{display:flex;justify-content:space-between;border-block:1px solid #cdd5da;padding:14px 0;margin:24px 0}.estimate-table{width:100%;border-collapse:collapse}.estimate-table th{text-align:left;background:#edf2f4;color:#425760;font-size:12px;padding:14px}.estimate-table td{padding:20px 12px;border-bottom:1px solid #dce4e8}.estimate-table tr{cursor:pointer}.estimate-table tr.selected{background:#e6f8fa}.estimate-table small{display:block;color:#687985;margin-top:5px}.pill{background:#fff0d7;color:#775515;border-radius:4px;padding:4px 8px;font-size:12px}.paper-note{padding:20px 0;color:#65727a;font-size:13px}.signoff{border-top:1px solid #ccd7dd;padding-top:24px;display:flex;justify-content:space-between;font-size:12px}.split .stage{display:grid;grid-template-columns:1fr 1fr;gap:18px}.split .sheet-frame{min-height:520px}.split .frame-left,.split .frame-right{grid-template-columns:1fr}.split .paper{padding:20px}.hide-left main{grid-template-columns:minmax(0,1fr) 280px}.hide-right main{grid-template-columns:265px minmax(0,1fr)}.hide-left.hide-right main{grid-template-columns:1fr}.hide-left #navigation,.hide-right #evidence,.hide-bottom footer{display:none}.submission header,.submission .toolbar,.submission aside,.submission footer,.submission .surface-head{display:none}.submission main{display:block;overflow:auto}.submission .stage{max-width:1100px;margin:auto}.submission:before{content:'Submission preview · Esc to return · Demo only';display:block;padding:10px;text-align:center;color:#d8b875}.submission .paper{min-height:90vh}[hidden]{display:none!important}@media(min-width:2200px){main{grid-template-columns:300px minmax(0,1fr) 320px}.sheet-frame{grid-template-columns:1fr 6fr 1fr}.register label{font-size:13px}.paper{padding:50px}.stage{padding:24px}.hide-left main{grid-template-columns:1fr 320px}.hide-right main{grid-template-columns:300px 1fr}}@media(max-width:1500px){.project{display:none}.split .stage{grid-template-columns:1fr}.frame-left,.frame-right{grid-template-columns:1fr}.controls{gap:8px}.sheet-frame{grid-template-columns:1fr 5fr 1fr}.frame-top span:nth-child(2){display:none}}@media(max-width:1100px){body{height:auto;min-height:100vh}header,.toolbar{flex-wrap:wrap}main{grid-template-columns:1fr!important}aside{max-height:350px}.stage{overflow:visible}footer{flex-wrap:wrap}.sheet-frame{min-height:500px}.badge{margin-left:auto}.paper{padding:18px}.estimate-table td{padding:12px 6px}.frame-bottom{grid-template-columns:1fr 1fr}.frame-top{flex-wrap:wrap}}@media print{body{height:auto;background:white}header,.toolbar,aside,footer,#takeoffView,.surface-head,.caption{display:none!important}main,.stage{display:block!important;padding:0}.paper{box-shadow:none;padding:0}#estimateView{display:block!important}.submission:before{display:none}}
