*{box-sizing:border-box}body{margin:0;font:14px/1.4 system-ui,sans-serif;color:#191919}#app{display:grid;grid-template-columns:300px 1fr 300px;height:100vh}aside{padding:12px 14px;overflow:auto;background:#fff}h1{font-size:18px;margin:0 0 8px}h2{font-size:13px;margin:14px 0 4px;text-transform:uppercase;color:#666}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}.seg button.on,#toolbar button.on{background:#007aff;color:#fff;border-color:#007aff}label.f{display:flex;justify-content:space-between;align-items:center;margin:4px 0}label.f input{width:110px}button,select,input{font:inherit;padding:4px 8px;border:1px solid #d9d9d9;border-radius:6px;background:#fff}button{cursor:pointer}#exports button{width:100%;margin:3px 0}#stage-wrap{position:relative;overflow:hidden;background:#ebebeb;touch-action:none}#stage{position:absolute;left:0;top:0;transform-origin:0 0;background:#fff;box-shadow:0 2px 12px #0002}#stage svg{display:block}#toolbar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:2;display:flex;gap:4px;align-items:center;padding:6px 10px;background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000000d}#toolbar .sep{width:1px;height:22px;background:#d9d9d9;margin:0 4px}#error{position:absolute;left:12px;top:12px;color:#d22a46;font-weight:600;max-width:60%}#preview3d{width:100%;height:260px;background:linear-gradient(#c4c5c7,#ebebeb);border-radius:8px;overflow:hidden}.slider{display:flex;gap:8px;align-items:center;margin:8px 0}.slider input{flex:1;padding:0}pre{margin:0;font-size:12px;white-space:pre-wrap}.layer{display:flex;align-items:center;gap:6px;margin:2px 0}.layer input[type=color]{padding:0;width:28px;height:22px}@page{margin:10mm}@media print{#panel,#right,#toolbar,#error{display:none!important}#app{display:block;height:auto}#stage-wrap{position:static;overflow:visible;background:none}#stage{position:static;transform:none!important;box-shadow:none}}@media(max-width:980px){#app{grid-template-columns:1fr;height:auto}#stage-wrap{height:70vh}}#exports .row input{min-width:0;width:100%;flex:1 1 0}#exports .row{min-width:0}
