:root{font-family:Inter,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e8f2f2;background:#101923;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:760px}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#16232e;border-bottom:1px solid #2a3d4a;gap:18px}.brand{display:flex;align-items:center;gap:12px;min-width:220px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#1bb980;color:#093528;font-size:24px;font-weight:900;box-shadow:0 0 0 4px #1bb98018}.brand strong{display:block;font-size:17px;letter-spacing:.04em}.brand small{display:block;color:#8aa2aa;font-size:11px;margin-top:3px;letter-spacing:.1em}.top-actions{display:flex;align-items:center;gap:8px}.document-name{color:#9fb4ba;font-size:12px;margin-right:10px;white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis}.button{height:34px;border:1px solid #37505b;border-radius:7px;padding:0 13px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .15s,border-color .15s}.button.ghost{background:#21323d;color:#d8e7e7}.button.ghost:hover{background:#2b4650;border-color:#5a7880}.button.primary{background:#21b986;color:#083628;border-color:#21b986}.button.primary:hover{background:#3ad09e}.button.primary span{margin-left:7px}.button.danger{background:#53313a;border-color:#74404a;color:#ffbdc1}.workspace{display:grid;grid-template-columns:236px minmax(0,1fr) 280px;height:calc(100vh - 70px);min-height:520px}.sidebar{background:#172530;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#35505b transparent}.sidebar.left{border-right:1px solid #2a3d4a;position:relative;padding:20px 14px 56px}.sidebar.right{border-left:1px solid #2a3d4a;padding:20px 16px}.side-heading{display:flex;align-items:center;justify-content:space-between;color:#eef7f5;font-size:13px;font-weight:800;margin-bottom:14px}.subtle{color:#6c8b91;font-size:10px;font-weight:700;letter-spacing:.07em}.tools{display:grid;gap:5px}.tool{height:43px;display:grid;grid-template-columns:27px 1fr auto;align-items:center;text-align:left;gap:8px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#afc4c8;font-size:12px}.tool:hover{background:#263c48;color:#fff}.tool.active{background:#174a46;border-color:#258c72;color:#caffeb}.tool-icon{font-size:19px;text-align:center;line-height:1;color:#6dbba6}.tool.active .tool-icon{color:#5af1b6}.tool kbd{font-size:10px;color:#728b93;border:1px solid #3a5360;border-radius:3px;min-width:19px;text-align:center;padding:2px 0}.side-section{border-top:1px solid #2a3d4a;margin-top:22px;padding-top:20px}.check-row{display:flex;align-items:center;gap:8px;min-height:34px;color:#aec3c8;font-size:11px;cursor:pointer}.check-row input{width:14px;height:14px;accent-color:#22bf8a;margin:0}.check-row em{font-style:normal;color:#8ba8af;margin-left:auto}.swatch{width:9px;height:9px;border-radius:2px;background:#fff}.swatch.blue{background:#73a9ff}.swatch.gray{background:#718595}.swatch.green{background:#27bf8b}.swatch.grid{background:#3d5864}.source-card{background:#1d313b;border:1px solid #34505a;border-radius:10px;padding:14px;margin-top:22px}.source-card .side-heading{margin-bottom:11px}.source-line{display:flex;justify-content:space-between;padding:6px 0;color:#90abb0;font-size:11px}.source-line strong{color:#e7f5f1}.source-card p{color:#78989d;font-size:10px;line-height:1.6;margin:11px 0 0}.side-footer{position:absolute;bottom:17px;left:16px;font-size:10px;color:#5e7b83}.stage{display:flex;flex-direction:column;min-width:0;background:#101923}.stage-toolbar{height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #2a3d4a;background:#1a2934}.crumb{font-size:12px;color:#78969d}.crumb span{color:#456068;margin:0 8px}.crumb strong{color:#d9e8e7;font-weight:700}.canvas-actions{display:flex;align-items:center;gap:5px}.canvas-actions button{width:26px;height:26px;background:transparent;border:0;color:#b8cdcd;border-radius:5px;font-size:17px}.canvas-actions button:hover{background:#2a414d}.canvas-actions .fit-btn{width:auto;padding:0 8px;font-size:11px;border:1px solid #3b5661}.canvas-actions .divider{height:18px;width:1px;background:#39515d;margin:0 7px}.canvas-actions #zoomLabel{width:48px;text-align:center;color:#9db7bc;font-size:11px}.canvas-wrap{position:relative;flex:1;min-height:0;overflow:hidden;cursor:crosshair}.canvas-wrap[data-tool=select]{cursor:default}.canvas-wrap[data-tool=pan],.canvas-wrap.space-pan{cursor:grab}.canvas-wrap canvas{display:block;touch-action:none}.canvas-hint,.coord-pill{position:absolute;pointer-events:none;border:1px solid #35505c;background:#1c2e39df;color:#95b1b7;font-size:10px;border-radius:6px;padding:7px 10px}.canvas-hint{left:18px;bottom:18px}.coord-pill{right:18px;bottom:18px;font-variant-numeric:tabular-nums}.statusbar{height:32px;flex:0 0 32px;border-top:1px solid #2a3d4a;background:#1a2934;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#759299;font-size:10px}.statusbar strong{color:#a4c8ba}.properties{color:#bed1d2}.properties.empty{text-align:center;padding:52px 18px 35px}.empty-icon{font-size:39px;color:#47756e;margin-bottom:10px}.properties.empty strong{display:block;color:#bed5d2;font-size:13px}.properties.empty p{font-size:11px;color:#708e95;line-height:1.6}.property-kind{display:flex;align-items:center;gap:10px;background:#1e343c;border:1px solid #34505a;border-radius:9px;padding:10px;margin-bottom:18px}.kind-icon{width:33px;height:33px;border-radius:7px;display:grid;place-items:center;background:#195849;color:#7ef0be;font-size:21px}.property-kind strong,.property-kind small{display:block}.property-kind strong{font-size:12px}.property-kind small{font-size:9px;color:#749196;margin-top:3px;max-width:190px;overflow:hidden;text-overflow:ellipsis}.field-group,.field-row{margin-bottom:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.properties label{display:block;color:#94afb4;font-size:10px}.properties input{display:block;width:100%;height:33px;border:1px solid #36515a;background:#1c303b;color:#e7f2f0;border-radius:6px;margin-top:6px;padding:0 9px;font-size:12px;outline:none}.properties input:focus{border-color:#26ba88}.properties input[type=color]{padding:3px;height:34px}.point-note{font-size:10px;color:#779da1;margin:13px 0}.property-actions{display:flex;gap:7px;margin-top:17px}.property-actions button{flex:1;padding:0 6px}.object-section{margin-top:25px}.object-list{display:grid;gap:5px}.object-row{width:100%;display:flex;align-items:center;text-align:left;gap:9px;padding:8px;border:1px solid transparent;border-radius:7px;background:#1d303b;color:#c9dada}.object-row:hover,.object-row.active{border-color:#278c71;background:#20463e}.object-symbol{width:27px;height:27px;display:grid;place-items:center;color:#66d5a7;background:#1c5147;border-radius:5px;font-size:16px}.object-row strong,.object-row small{display:block}.object-row strong{font-size:11px;font-weight:700;max-width:145px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.object-row small{font-size:9px;color:#78989c;margin-top:2px}.object-dot{width:7px;height:7px;border-radius:50%;margin-left:auto}.list-empty{color:#6f8e95;font-size:11px;text-align:center;padding:22px 0}.toast{position:fixed;left:50%;bottom:50px;transform:translate(-50%,15px);padding:10px 16px;background:#205447;border:1px solid #40ad82;border-radius:7px;color:#e9fff2;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10}.toast.visible{opacity:1;transform:translate(-50%)}@media (max-width:1100px){.workspace{grid-template-columns:190px minmax(0,1fr) 230px}.topbar{padding:0 12px}.document-name{display:none}.button{padding:0 8px}.sidebar.left{padding-left:9px;padding-right:9px}.sidebar.right{padding-left:10px;padding-right:10px}}@media (max-width:850px){.workspace{grid-template-columns:58px minmax(0,1fr) 200px}.sidebar.left .side-heading,.sidebar.left .side-section,.sidebar.left .side-footer,.tool span:not(.tool-icon),.tool kbd{display:none}.tool{display:flex;justify-content:center;padding:0}.top-actions{gap:4px}.brand{min-width:160px}.brand small{display:none}.top-actions .button{font-size:10px}}:root .properties select{display:block;width:100%;height:33px;border:1px solid #36515a;background:#1c303b;color:#e7f2f0;border-radius:6px;margin-top:6px;padding:0 9px;font-size:12px;outline:none}:root .properties select:focus{border-color:#26ba88}
