:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#263a3d;background:#f1f2ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:22px 32px;border-bottom:1px solid #d9dfd9}.eyebrow{font-size:10px;letter-spacing:.15em;color:#657872}h1{font-size:27px;letter-spacing:-.8px;margin:7px 0 0;font-weight:550}h1 span{font-size:16px;font-weight:400;color:#74817c;letter-spacing:0;margin-left:12px}.badge{border:1px solid #c6b080;background:#faf4e5;border-radius:30px;padding:8px 12px;font-size:11px;color:#876333}main{display:grid;grid-template-columns:minmax(0,1fr) 312px;height:calc(100dvh - 100px)}.viewport{position:relative;overflow:hidden;background:#e8ebe4;min-height:400px}canvas{width:100%;height:100%;display:block;touch-action:none}.viewtitle{position:absolute;left:28px;top:25px;pointer-events:none}.viewtitle span{display:block;font-size:18px}.viewtitle small{display:block;color:#75817c;margin-top:5px;font-size:11px}.gesture{position:absolute;bottom:25px;left:28px;font-size:10px;color:#63716a}.status{position:absolute;right:25px;bottom:25px;font:10px ui-monospace,monospace;color:#63716a}aside{border-left:1px solid #d7dfd7;padding:22px 22px 30px;overflow:auto;background:#f8f9f5}nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}button{font:inherit;font-size:11px;cursor:pointer;border:1px solid #ced7cf;background:transparent;padding:10px 6px;border-radius:5px;color:#52665e}button.active{background:#294e46;border-color:#294e46;color:white}.card{padding:21px 0 18px;border-bottom:1px solid #dce2db}.row{display:flex;align-items:center;justify-content:space-between;font-size:11px}output{font-size:10px;color:#567767;font-variant-numeric:tabular-nums}input[type=range]{accent-color:#285b4b;width:100%;margin:16px 0 9px;cursor:pointer}.levelrow{display:flex;justify-content:space-between;font-size:9px;color:#829087}.toggles{display:grid;gap:12px;padding:20px 0;font-size:11px}.toggles label{display:flex;align-items:center;gap:7px;cursor:pointer}input[type=checkbox]{accent-color:#315f51;width:13px;height:13px;margin:0}.legend{display:grid;gap:7px;font-size:9px;color:#748078;padding:0 0 20px}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:8px;height:8px;display:block;border-radius:2px}.gray{background:#bfc3b9}.amber{background:#c89048}.blue{background:#a4c8d0}.fact{padding:19px 0;border-top:1px solid #dce2db;border-bottom:1px solid #dce2db}.fact strong{display:block;font-size:25px;font-weight:500}.fact span{display:block;font-size:10px;margin-top:6px}.fact small{display:block;font-size:9px;color:#859087;margin-top:8px;line-height:1.5}details{border-bottom:1px solid #dce2db;padding:18px 0}summary{font-size:11px;cursor:pointer;line-height:1.5}summary span{color:#849287;margin-left:8px}.note{padding-top:14px}.note strong{font-size:10px;font-weight:600}.note p{font-size:10px;line-height:1.55;color:#78867c;margin:6px 0}.note em{font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#9c783c;padding-left:5px}.scope{font-size:10px;line-height:1.6;color:#7b887e;padding:7px 0}.download,.secondary{display:block;font-size:10px;color:#365e50;margin-top:10px;text-decoration:none}.download{border:1px solid #c8d4c9;border-radius:4px;padding:11px}.secondary{color:#7d8e82;padding:3px 0}#error{position:absolute;left:10%;right:10%;top:35%;background:#fff9ed;border:1px solid #d4bd90;padding:24px;font-size:13px;line-height:1.6}#labels{position:absolute;inset:0;pointer-events:none}.room-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font-size:10px;color:#36594c;text-align:center;background:#f8faf0d9;padding:3px 5px;border-radius:3px;box-shadow:0 0 0 1px #d3ded344}.room-label small{font-size:8px;display:block;color:#75877c;margin-top:2px}@media(max-width:850px){header{height:80px;padding:16px 19px}h1{font-size:22px}h1 span{font-size:12px;margin-left:5px}.badge{font-size:9px}main{height:auto;grid-template-columns:1fr}.viewport{height:62dvh;min-height:400px}aside{border-left:0;border-top:1px solid #d7dfd7;padding:18px}nav{grid-template-columns:repeat(4,1fr)}.toggles{grid-template-columns:1fr 1fr}.gesture{left:15px;font-size:9px}.status{right:15px;font-size:8px}.viewtitle{left:18px;top:18px}.room-label{font-size:8px}details{margin-top:5px}}
