:root{--nav:#07111e;--nav2:#0c1b2d;--blue:#0878d1;--cyan:#00a8d8;--line:#cfd9e5;--bg:#e8eef5;--ink:#132033}*{box-sizing:border-box}body{margin:0;font:13px Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);overflow:hidden}button,.button,input,select,textarea{font:inherit}.app{height:100vh;display:grid;grid-template-rows:58px 72px 1fr}.topbar{background:linear-gradient(90deg,var(--nav),var(--nav2));color:#fff;display:flex;align-items:center;padding:0 14px;gap:18px}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;min-width:330px}.brand img{width:40px;height:40px;object-fit:contain}.brand b{display:block;letter-spacing:.06em}.brand span{display:block;color:#8fb7d8;font-size:10px;margin-top:3px}.project{flex:1;text-align:center}.project input{background:transparent;border:0;border-bottom:1px solid #ffffff33;color:#fff;text-align:center;font-weight:800;width:310px;padding:5px}.project span{display:block;color:#83d9af;font-size:10px;margin-top:3px}.top-actions{display:flex;gap:6px}.topbar button,.button{border:1px solid #ffffff24;background:#ffffff12;color:#fff;border-radius:7px;padding:8px 10px;cursor:pointer;text-decoration:none}.primary{background:linear-gradient(135deg,#0878d1,#00a8d8)!important;color:#fff!important;border:0!important}.ribbon{background:#fff;border-bottom:1px solid var(--line);display:flex;padding:8px 12px;gap:18px;box-shadow:0 3px 12px #1b334b14}.ribbon>div{border-right:1px solid var(--line);padding-right:16px}.ribbon b{display:block;font-size:9px;color:#718096;margin-bottom:6px}.ribbon button{border:0;background:transparent;padding:7px 8px;border-radius:6px;cursor:pointer}.ribbon button:hover,.ribbon button.active{background:#e6f3ff;color:#0567ad}.workspace{display:grid;grid-template-columns:270px minmax(500px,1fr) 280px;min-height:0}.library,.properties{background:#f8fafc;border-right:1px solid var(--line);overflow:auto}.properties{border-left:1px solid var(--line);border-right:0}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:13px;border-bottom:1px solid var(--line)}.panel-title span{font-size:10px;color:#718096}.library>input{margin:10px;width:calc(100% - 20px);padding:10px;border:1px solid var(--line);border-radius:7px}.tabs{display:flex;gap:4px;padding:0 10px 10px;overflow:auto}.tabs button{border:0;padding:7px 9px;border-radius:6px;background:#e7edf4;white-space:nowrap;cursor:pointer}.tabs button.active{background:var(--blue);color:#fff}.palette{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.asset{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px;cursor:grab;min-height:104px;transition:.15s}.asset:hover{border-color:var(--cyan);box-shadow:0 6px 16px #0878d122;transform:translateY(-1px)}.asset .thumb{height:54px;display:grid;place-items:center;background:#eef5fb;border-radius:6px;font-size:31px}.asset b{display:block;font-size:11px;margin-top:7px}.asset span{font-size:9px;color:#718096}.stage-wrap{display:grid;grid-template-rows:28px 1fr 24px;min-width:0}.stage-info,.statusbar{display:flex;gap:22px;align-items:center;padding:0 10px;background:#f5f8fb;border-bottom:1px solid var(--line);font-size:10px;color:#5d6b7c}.statusbar{border-top:1px solid var(--line);border-bottom:0}.stage{overflow:hidden;background:#aab6c4;padding:22px;position:relative}.stage svg{width:100%;height:100%;background:#fff;box-shadow:0 8px 25px #10253e33;touch-action:none;user-select:none}.properties form{padding:12px}.properties label{display:block;font-size:10px;font-weight:700;color:#5e6d7f;margin-bottom:9px}.properties input,.properties select,.properties textarea{width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}.properties textarea{height:65px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.full{width:100%;padding:10px;border-radius:7px}.empty{padding:25px 15px;color:#718096;text-align:center;line-height:1.5}.layers{border-top:1px solid var(--line);margin-top:10px}.layer-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #e6ebf1}.layer-row span{flex:1}.layer-row button{border:0;background:none;cursor:pointer}.selected-shape{filter:drop-shadow(0 0 4px #0878d1)}dialog{border:0;border-radius:14px;width:min(760px,90vw);box-shadow:0 30px 80px #0005;padding:0}dialog::backdrop{background:#07111eb8}.dialog-head{display:flex;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line)}.dialog-head span{display:block;color:#718096;font-size:11px}.dialog-head button{border:0;background:none;font-size:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px;border-top:1px solid var(--line)}.dialog-actions button{padding:9px 12px}.bom-table{width:100%;border-collapse:collapse}.bom-table th,.bom-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.bom-table th{background:#f2f6fa}.bom-total{padding:14px;text-align:right;font-size:16px;font-weight:800}@media(max-width:1000px){.workspace{grid-template-columns:220px 1fr}.properties{position:fixed;right:0;top:130px;bottom:0;width:280px;z-index:5;box-shadow:-8px 0 25px #0002}.brand{min-width:auto}.brand span,.project{display:none}}
.asset .thumb{height:112px;padding:7px;background:linear-gradient(180deg,#f8fafc,#e8eef4);overflow:hidden}.asset .thumb svg{width:100%;height:100%;filter:drop-shadow(0 5px 4px #20364b22)}.asset{min-height:168px}.palette{grid-template-columns:1fr 1fr}.spec-card{margin:12px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.spec-preview{height:150px;padding:12px;background:linear-gradient(180deg,#f7fafc,#e7edf3)}.spec-preview svg{width:100%;height:100%;filter:drop-shadow(0 7px 6px #172c4024)}.spec-card h3{margin:10px 12px 2px;font-size:13px}.spec-card p{margin:0 12px 10px;color:#637386;font-size:10px}.spec-card dl{display:grid;grid-template-columns:42% 58%;margin:0;border-top:1px solid var(--line);font-size:10px}.spec-card dt,.spec-card dd{margin:0;padding:7px 9px;border-bottom:1px solid #edf1f5}.spec-card dt{font-weight:700;color:#526273;background:#f7f9fb}.stage svg g[data-id]{cursor:move}.library{min-width:300px}.workspace{grid-template-columns:320px minmax(500px,1fr) 310px}.asset b{font-size:10px;line-height:1.25}.asset span{display:block;margin-top:4px}.properties{background:#f7f9fb}@media(max-width:1150px){.workspace{grid-template-columns:260px 1fr}.palette{grid-template-columns:1fr}.library{min-width:0}}

.stage svg{cursor:default}.stage svg:active{outline:none}.stage{overscroll-behavior:contain}.stage-info span:nth-child(3){color:#0878d1;font-weight:700}
