@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&display=swap";:root{color:#203c36;font-synthesis:none;background:#f6f7f3;font-family:Noto Sans TC,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.upload{cursor:pointer}button{color:#203c36;background:#fff;border:1px solid #d9e0d8;border-radius:9px;padding:9px 13px}button:hover{background:#e9f1e9}button:disabled{opacity:.4;cursor:wait}header{background:#fff;border-bottom:1px solid #dce2db;justify-content:space-between;align-items:center;padding:22px 5vw;display:flex}.brand{color:inherit;align-items:center;gap:12px;font-size:32px;font-weight:700;text-decoration:none;display:flex}.brand span{font-size:17px}.eyebrow{letter-spacing:2px;color:#6d8277;font-size:11px}main{max-width:1500px;margin:auto;padding:35px 4vw}.intro{justify-content:space-between;align-items:center;gap:30px;margin-bottom:26px;display:flex}h1{margin:12px 0;font-size:35px;font-weight:600}h1 span{color:#698174;margin-top:9px;font-size:20px;font-weight:400;display:block}.intro p{color:#78867e;font-size:13px;line-height:1.9}.upload{text-align:center;background:#eaf0e7;border:1px dashed #91a697;border-radius:16px;min-width:255px;padding:30px 25px;font-size:17px;font-weight:600}.upload small{color:#718075;margin-top:10px;font-size:11px;font-weight:400;display:block}#status{background:#eef1e8;border-radius:9px;margin-bottom:18px;padding:12px 16px;font-size:13px;line-height:1.6}#status button{margin-left:10px;padding:3px 10px}.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:24px;display:grid}.drawing{min-width:0}.toolbar{background:#fff;border:1px solid #dde3dc;border-bottom:0;border-radius:14px 14px 0 0;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.toolbar b{overflow-wrap:anywhere;font-size:12px}.toolbar>div{flex-shrink:0;gap:4px;display:flex}#viewport{background-color:#e9eee8;background-image:radial-gradient(#cfd8ce 1px,#0000 1px);background-size:18px 18px;border:1px solid #dde3dc;height:590px;position:relative;overflow:auto}#stage{transform-origin:0 0;display:none;position:relative}canvas{width:100%;height:100%;display:block}svg{touch-action:manipulation;width:100%;height:100%;position:absolute;inset:0}svg polygon{cursor:pointer}svg text{pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:3px;font-weight:700}#placeholder{color:#738878;text-align:center;align-content:center;justify-items:center;display:grid;position:absolute;inset:0}.plan-icon{color:#a9bcaa;font-size:80px}#placeholder h2{font-size:19px;font-weight:500}#placeholder p{font-size:12px}.tools{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.primary{color:#fff;background:#194e40;border-color:#194e40}.primary:hover{background:#27634f}.hint{color:#829085;font-size:11px;line-height:1.8}.total{color:#fff;background:#163d36;border-radius:16px;padding:25px}.total .eyebrow{color:#b3cbb9}.total strong{letter-spacing:-2px;font-size:55px;font-weight:500}.total>div:nth-child(2){padding-top:12px}.total p{color:#bcd2c1;margin:2px 0 18px;font-size:13px}.total span{border:1px solid #4e6e5e;border-radius:20px;padding:5px 9px;font-size:11px;display:inline-block}.settings{background:#fff;border:1px solid #dce3d9;border-radius:14px;margin-top:15px;padding:19px}h3{margin:0 0 16px;font-size:14px}label{margin-bottom:12px;font-size:12px;display:block}input:not([type=checkbox]),select{width:100%;color:inherit;background:#f9faf7;border:1px solid #d4ddd3;border-radius:7px;margin-top:5px;padding:9px;display:block}#filters{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}#filters button{padding:5px 8px;font-size:11px}#filters .excluded{opacity:.45;text-decoration:line-through}.room{border-top:1px solid #ecf0e9;align-items:center;gap:10px;padding:12px 0;display:flex}.room input{accent-color:#19533f}.room button{text-align:left;background:0 0;border:0;flex:1;padding:0;font-size:12px}.room small{color:#899789;font-size:10px;display:block}.room b{font-size:12px;font-weight:500}.calibration button{font-size:11px}footer{text-align:center;color:#8b998c;margin-top:32px;font-size:11px;line-height:2}dialog{border:1px solid #cad5c8;border-radius:16px;width:90%;max-width:440px;padding:25px}dialog::backdrop{background:#12382c77}[hidden]{display:none!important}@media (max-width:850px){.workspace{grid-template-columns:1fr}.intro{flex-direction:column;align-items:stretch;gap:10px}header>.eyebrow{display:none}h1{font-size:29px}h1 span{font-size:17px}main{padding:23px 4vw}.upload{padding:20px}#viewport{height:430px}.toolbar{padding:9px}.toolbar button{padding:6px 9px}aside{flex-direction:column;display:flex}.total strong{font-size:46px}.intro p br{display:none}}
