*{box-sizing:border-box}body{margin:0;background:#e9ebf0;color:#2a2f3c;font:14px/1.45 Segoe UI,system-ui,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer}input{font:inherit}.btn{background:#fff;color:#2a2f3c;border:1px solid #c4cad9;border-radius:9px;padding:7px 14px}.btn:hover{border-color:#e33d8c}.btn.primary{background:#e33d8c;border-color:#e33d8c;color:#fff;font-weight:600}.btn.ghost{background:transparent}.topbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#f4f5f8;border-bottom:1px solid #d5d9e4}.brand{font-weight:800;letter-spacing:.4px;color:#1c2130}.brand em{color:#e33d8c;font-style:normal}.tool{width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid #ccd2e0;color:#4a5164;font-size:17px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000f}.tool.on{background:#e33d8c;color:#fff;border-color:#e33d8c}.toolbar{position:fixed;left:0;top:75px;bottom:48px;width:52px;background:#f4f5f8;border-right:1px solid #d5d9e4;display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 0;z-index:6;overflow-y:auto;overflow-x:hidden}.toolbar::-webkit-scrollbar{width:0}.tool{width:38px;height:38px;flex-shrink:0}.canvas-wrap{position:fixed;left:52px;top:75px;bottom:48px;right:0}.statusbar{position:fixed;left:0;top:49px;height:26px;background:#eef0f5;border-bottom:1px solid #d5d9e4;display:flex;align-items:center;gap:10px;padding:0 10px;font-size:12px;color:#4a5164;z-index:6}.statusbar .sep{width:1px;height:16px;background:#c9cfdd}.statusline{position:fixed;left:0;bottom:0;height:22px;background:#eef0f5;border-top:1px solid #d5d9e4;display:flex;align-items:center;gap:10px;padding:0 10px;font-size:11.5px;color:#6a7186;z-index:6;white-space:nowrap;overflow:hidden}.menubtn{background:transparent;border:none;color:#2a2f3c;padding:5px 10px;border-radius:7px;font-size:13.5px}.menubtn:hover,.menubtn.on{background:#e33d8c;color:#fff}.mwrap{position:relative}.menu{position:absolute;top:34px;left:0;background:#fff;border:1px solid #ccd2e0;border-radius:10px;box-shadow:0 6px 20px #0002;padding:5px;z-index:40;min-width:230px}.mi{padding:6px 12px;border-radius:7px;font-size:13px;color:#2a2f3c;cursor:pointer;display:flex;gap:10px;align-items:center}.mi:hover{background:#e33d8c;color:#fff}.mi.dis{opacity:.4;pointer-events:none}.mi .mk{margin-left:auto;font-size:11px;opacity:.65}.mdiv{height:1px;background:#e2e5ee;margin:4px 8px}.docgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;padding:20px;overflow:auto;height:calc(100vh - 49px)}.doccard{background:#fff;border:1px solid #d5d9e4;border-radius:14px;padding:14px;cursor:pointer;min-height:120px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 4px #00000012}.doccard:hover{border-color:#e33d8c}.login{max-width:360px;margin:12vh auto;background:#fff;border:1px solid #d5d9e4;border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 18px #00000014}.login input{background:#f2f3f7;border:1px solid #c4cad9;color:#222739;border-radius:9px;padding:9px 12px}.muted{color:#6a7186;font-size:12.5px}.hud{position:absolute;bottom:32px;left:30px;color:#4a5164;font-size:12px;z-index:5;-webkit-user-select:none;user-select:none;background:#ffffffd9;border-radius:8px;padding:3px 10px;border:1px solid #d5d9e4}.props{position:absolute;right:12px;top:64px;width:200px;background:#ffffffe8;border:1px solid #ccd2e0;border-radius:12px;padding:10px;z-index:5;display:flex;flex-direction:column;gap:8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 3px 12px #00000014}.props label{font-size:11.5px;color:#6a7186;display:flex;align-items:center;justify-content:space-between;gap:8px}.props input[type=color]{width:42px;height:26px;border:none;background:none;padding:0}.props input[type=range]{width:110px}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:#fff;border:1px solid #e33d8c;color:#222739;border-radius:10px;padding:8px 16px;z-index:50;box-shadow:0 4px 14px #0002}.dock{position:fixed;right:0;top:49px;bottom:0;width:244px;background:#f4f5f8;border-left:1px solid #d5d9e4;z-index:7;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.dock::-webkit-scrollbar,.swroll::-webkit-scrollbar{width:8px}.dock::-webkit-scrollbar-thumb,.swroll::-webkit-scrollbar-thumb{background:#c5cad8;border-radius:4px}.sec{border-bottom:1px solid #e2e5ee}.sec-h{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;color:#3a4152;padding:9px 12px;font-size:12.5px;font-weight:600}.sec-h:hover{background:#e8ebf3;color:#10131f}.sec-chev{display:inline-flex;transition:transform .12s;color:#9aa1b5}.sec-badge{font-size:10.5px;color:#6a7186;background:#e8eaf1;border-radius:8px;padding:1px 7px}.sec-b{padding:4px 12px 12px;display:flex;flex-direction:column;gap:8px}.sec-b label{font-size:11.5px;color:#6a7186;display:flex;align-items:center;justify-content:space-between;gap:8px}.sec-b input[type=range]{width:104px}.sec-b input[type=number],.sec-b input[type=text],.sec-b select,.sec-b textarea{background:#fff;border:1px solid #c4cad9;color:#222739;border-radius:6px;padding:4px 7px;font-size:12px}.sec-b textarea{width:100%;min-height:74px;resize:vertical;font-family:inherit}.btn.mini{padding:3px 9px;font-size:11.5px;border-radius:7px}.seg{display:flex;gap:0;border:1px solid #c4cad9;border-radius:8px;overflow:hidden;background:#fff}.seg button{flex:1;background:transparent;border:none;color:#6a7186;padding:5px 4px;font-size:11.5px}.seg button.on{background:#e33d8c;color:#fff;font-weight:600}.sw-g{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#6a7186;padding:4px 2px;cursor:pointer;-webkit-user-select:none;user-select:none}.sw-g:hover{color:#1c2130}.sw-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 6px;border-radius:6px;cursor:pointer}.sw-row:hover{background:#e3e7f2}.sw-chip{width:16px;height:16px;border-radius:4px;border:1px solid #00000030;flex-shrink:0}.lay-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:7px;cursor:pointer;font-size:12.5px}.lay-row:hover{background:#e3e7f2}.lay-row.on{background:#dce4f7}.lay-ic{display:inline-flex;color:#6a7186;cursor:pointer}.lay-ic:hover{color:#10131f}
