@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap";.canvas.is-panning{cursor:grabbing}.canvas.tool-measure{cursor:crosshair}.file.no-file i{box-shadow:none;background:#56625c}.file.no-file span{color:#78847e}.actions .close-file:not(:disabled):hover{color:#ff9a9e;background:#2b2021;border-color:#704348}.empty-workspace{background:#111715dd;place-items:center;display:grid;position:absolute;inset:0}.empty-workspace>div{text-align:center;background:#151d19;border:1px dashed #3b4a43;border-radius:12px;flex-direction:column;align-items:center;width:310px;padding:36px;display:flex}.empty-workspace svg{color:#5cdb95;width:32px;height:32px;margin-bottom:14px}.empty-workspace b{font-size:13px}.empty-workspace span{color:#748079;margin:7px 0 20px;font-size:10px}.empty-workspace button{color:#6ee7a5;cursor:pointer;background:#193527;border:1px solid #4dda8d;border-radius:6px;padding:9px 16px;font-size:11px}.file em.dirty{color:#e6b65b}.actions .save-file:not(:disabled):hover{color:#77e5a9;background:#193326;border-color:#3d7858}.selection-box{fill:#58dd9320;stroke:#68e6a2;stroke-width:1px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none}.multi-selection{text-align:center;background:#18211d;border:1px solid #314039;border-radius:7px;flex-direction:column;align-items:center;gap:7px;margin:0 12px 16px;padding:18px 12px;display:flex}.multi-selection>svg{color:#61df99;width:22px}.multi-selection b{font-size:11px}.multi-selection span{color:#74827b;font-size:9px}.multi-selection button{color:#f08b90;cursor:pointer;background:#2b1d1e;border:1px solid #63383b;border-radius:6px;justify-content:center;gap:6px;width:100%;margin-top:8px;padding:8px;font-size:10px;display:flex}.multi-selection button svg{width:12px;height:12px}.shape.hollow{fill:none;stroke-width:1.5px;vector-effect:non-scaling-stroke}.shape.hollow.selected{fill:#f0b94b22}.scale-control{background:#18211d;border:1px solid #314039;border-radius:7px;margin:0 12px 16px;padding:12px}.scale-heading{align-items:center;gap:9px;margin-bottom:10px;display:flex}.scale-heading>svg{color:#62df9a;width:17px}.scale-heading b{font-size:10px;display:block}.scale-heading span{color:#718078;margin-top:2px;font-size:8px;display:block}.scale-control>label{background:#101513;border:1px solid #38463f;border-radius:5px;height:32px;display:flex;overflow:hidden}.scale-control input{color:#d9e3de;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0 8px;font:10px DM Mono}.scale-control em{color:#728079;background:#1d2622;padding:9px 7px;font:9px DM Mono}.scale-control label button{color:#75e5a7;cursor:pointer;background:#214a35;border:0;border-left:1px solid #38463f;padding:0 11px;font-size:9px}.scale-presets{grid-template-columns:repeat(5,1fr);gap:4px;margin-top:7px;display:grid}.scale-presets button{color:#7f8d86;cursor:pointer;background:#131a17;border:1px solid #303d37;border-radius:4px;padding:5px 0;font:8px DM Mono}.scale-presets button:hover{color:#69e09d;border-color:#4a8b68}.line-hit{fill:none;stroke:#0000;stroke-width:12px;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}.line-item:hover>.shape{stroke:#8af0b5;stroke-width:2px}.line-item>.shape{pointer-events:none;stroke-width:1.35px;vector-effect:non-scaling-stroke}.line-item>.shape.selected{stroke:#ffe08a;stroke-width:2px;filter:drop-shadow(0 0 3px #f0b94b)}.measurement{pointer-events:none}.measurement line{stroke:#ffca58;stroke-width:1.5px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.measurement circle{fill:#101513;stroke:#ffca58;stroke-width:1.5px;vector-effect:non-scaling-stroke}.measurement text{fill:#ffe39b;text-anchor:middle;stroke:none;filter:drop-shadow(0 1px 1px #101513);font-family:DM Mono,monospace}.measure-card{color:#ffd36f;background:#211f17ef;border:1px solid #6d5a2e;border-radius:7px;align-items:center;gap:10px;height:38px;padding:0 8px 0 12px;font:10px DM Mono;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0006}.measure-card svg{width:14px}.measure-card b{font-size:12px}.measure-card span{color:#a99d7f}.measure-card button{color:#b7a676;cursor:pointer;background:#332e1f;border:0;border-radius:4px;width:23px;height:23px}.measure-card button:hover{color:#ffe39b;background:#4a3d20}.delete-shape{color:#f08b90;cursor:pointer;background:#2b1d1e;border:1px solid #63383b;border-radius:6px;justify-content:center;align-items:center;gap:7px;width:100%;height:34px;margin-top:5px;font-size:10px;display:flex}.delete-shape:hover{background:#3a2224;border-color:#985057}.delete-shape svg{width:13px}.delete-shape kbd{color:#9c6b6d;border:1px solid #5a3537;border-radius:3px;margin-left:auto;margin-right:7px;padding:2px 4px;font:8px DM Mono}.tools button{position:relative}.tools button>kbd{color:#697871;text-align:center;background:#111715;border:1px solid #3a4540;border-radius:3px;min-width:14px;height:14px;font:8px DM Mono;position:absolute;top:5px;right:5px}.tools button.active>kbd{color:#6ee7a5;background:#14271e;border-color:#367456}.tools button.danger>kbd{color:#a66b6e;border-color:#563538}:root{color:#d9e3de;font-synthesis:none;background:#101513;font-family:Inter,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}.app{background:#121816;flex-direction:column;height:100vh;display:flex}header{background:#151b19;border-bottom:1px solid #29312e;align-items:center;height:66px;padding:0 22px;display:flex}.brand{align-items:center;gap:11px;width:290px;display:flex}.logo{color:#61e39c;background:#163326;border:1px solid #54df96;border-radius:8px;place-items:center;width:37px;height:37px;display:grid}.brand b{letter-spacing:1.4px;font-size:14px;display:block}.brand span{color:#72827b;letter-spacing:1.2px;text-transform:uppercase;font:9px DM Mono}.file{align-items:center;gap:9px;font-size:13px;display:flex}.file i{background:#5de297;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #5de297}.file em{color:#718078;border-left:1px solid #313936;padding-left:8px;font-size:11px;font-style:normal}.actions{gap:9px;margin-left:auto;display:flex}.actions button{color:#cbd5d0;cursor:pointer;background:#1c2421;border:1px solid #39443f;border-radius:7px;align-items:center;gap:7px;height:36px;padding:0 15px;display:flex}.actions svg{width:15px}.actions .export{color:#0b1a12;background:#57dc92;border-color:#57dc92;font-weight:700}.actions button:disabled{opacity:.5}main{flex:1;grid-template-columns:70px 1fr 270px;min-height:0;display:grid}.tools{background:#151b19;border-right:1px solid #29312e;flex-direction:column;gap:5px;padding:11px 8px;display:flex}.tools button{color:#7e8c85;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:52px;font-size:9px;display:flex}.tools button svg{width:19px;height:19px}.tools button:hover{color:#dce7e1;background:#202925}.tools button.active{color:#62e49d;background:#193527}.tools button.danger:hover{color:#ff7a7a;background:#312020}.tools hr{border:0;border-top:1px solid #303935;width:30px;margin:6px auto}.spacer{flex:1}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{background:#171e1b;border-bottom:1px solid #29312e;align-items:center;height:48px;padding:0 13px;display:flex}.topbar button{color:#7f8d86;cursor:pointer;background:0 0;border:0;border-radius:5px;width:32px;height:30px}.topbar button:hover{color:#fff;background:#27302c}.topbar button:disabled{opacity:.25}.topbar svg{width:15px}.history{display:flex}.hint{color:#69766f;margin:auto;font:10px DM Mono}.zoom{border:1px solid #313a36;border-radius:6px;align-items:center;display:flex}.zoom span{text-align:center;color:#a4b1aa;width:48px;font:10px DM Mono}.canvas-wrap{background:#111715;flex:1;min-height:0;position:relative;overflow:hidden}.canvas{touch-action:none;width:100%;height:100%;display:block}.canvas.tool-pan{cursor:grab}.canvas.tool-circle,.canvas.tool-rect{cursor:crosshair}.shape{fill:#41cf7f;stroke:#7bf2ac;stroke-width:.08px;vector-effect:non-scaling-stroke;cursor:pointer;opacity:.88}.shape:hover{fill:#68e69e}.shape.selected{fill:#f0b94b;stroke:#fff1ad;filter:drop-shadow(0 0 3px #f0b94b)}line.shape{fill:none;stroke:#43d584}.axis{color:#738179;background:#18201d;border:1px solid #2b3530;padding:4px 9px;font:9px DM Mono;position:absolute}.xaxis{border-radius:4px;bottom:9px;left:50%;transform:translate(-50%)}.yaxis{border-radius:4px;top:50%;left:-29px;transform:rotate(-90deg)}.status{color:#78867f;background:#171e1b;border-top:1px solid #2b3430;align-items:center;gap:22px;height:30px;padding:0 13px;font:9px DM Mono;display:flex}.status b{color:#acbab3;font-weight:400}.status .green{background:#52de93;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status .right{margin-left:auto}.properties{background:#151b19;border-left:1px solid #29312e;overflow:auto}.properties h3{letter-spacing:1.1px;text-transform:uppercase;color:#77847e;margin:0;padding:16px;font-size:10px;font-weight:600}.layer{background:#1d2923;border:1px solid #2c493a;border-radius:6px;align-items:center;gap:9px;margin:0 9px;padding:10px 8px;display:flex}.layer .eye{color:#6ee7a5;font-size:8px}.layer i{background:#4ad98b;border-radius:2px;width:11px;height:11px}.layer div{flex:1}.layer b{font-size:11px;display:block}.layer small{color:#75837c;font:8px DM Mono}.layer button{color:#708079;background:0 0;border:0}.prop-title{border-top:1px solid #29312e;margin-top:8px!important}.empty{color:#58645e;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:170px;display:flex}.empty svg{width:26px}.empty b{color:#89958f;margin:10px 0 6px;font-size:11px}.empty span{font-size:9px;line-height:1.6}.overview{border-top:1px solid #29312e;margin-top:5px}.row{color:#6f7e77;justify-content:space-between;padding:6px 16px;font-size:9px;display:flex}.row b{color:#abb7b1;font:400 9px DM Mono}.props{padding:0 15px 15px}.type{color:#64df9b;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;display:flex}.type code{color:#6f7b75;font-size:9px}.props label{margin-bottom:10px;display:block}.props label>span{color:#718078;margin-bottom:4px;font-size:9px;display:block}.props label div{background:#101513;border:1px solid #313b36;border-radius:5px;display:flex;overflow:hidden}.props input{color:#d6e0db;background:0 0;border:0;outline:none;width:100%;min-width:0;padding:7px;font:10px DM Mono}.props em{color:#68766f;background:#1c2421;padding:8px;font:9px DM Mono}.error{z-index:4;color:#ffd2d4;background:#402326;border:1px solid #8f4046;border-radius:6px;padding:10px 16px;font-size:11px;position:absolute;top:124px;left:50%;transform:translate(-50%)}@media (width<=850px){main{grid-template-columns:58px 1fr}.properties{display:none}.brand{width:auto}.brand span,.file em,.hint{display:none}.file{margin-left:25px}}
