*{box-sizing:border-box}body{margin:0;background:#fff;color:#202126;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{background:#fff;border:1px solid #d3d7de;border-radius:9px;color:#242424;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}button:hover{background:#f5f7fa}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #287bff;outline-offset:2px}button:disabled{opacity:.35;cursor:default}button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.editor{height:calc(100dvh - 20px);margin:10px;border:1px solid #d3d7de;display:flex;flex-direction:column}.topbar{min-height:79px;padding:12px 16px;display:flex;gap:18px;align-items:center;border-bottom:1px solid #d3d7de}.actions,.zoom-controls,.file-controls{display:flex;align-items:center;gap:8px}.topbar button{min-width:48px;height:48px;padding:0 14px;font-size:21px}.separator{height:48px;width:1px;background:#d3d7de}.zoom-controls{gap:10px}#zoom{min-width:61px;text-align:center;font-size:20px}.file-controls{margin-left:auto;position:relative}#download-menu{position:absolute;right:0;top:56px;width:210px;z-index:5;padding:6px;background:white;border:1px solid #d3d7de;box-shadow:0 6px 22px #0002;border-radius:8px}#download-menu[hidden]{display:none}#download-menu button{width:100%;border:0;font-size:16px;justify-content:flex-start;height:42px}.workspace{display:grid;grid-template-columns:235px minmax(0,1fr) 290px;flex:1;min-height:0}.tools{padding:16px 10px;border-right:1px solid #d3d7de;overflow:auto}.tools h2{margin:0 0 9px;color:#8a909c;font-size:15px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.tools h2:not(:first-child){margin-top:20px}.tools button{width:100%;justify-content:flex-start;padding:9px 12px;font-size:20px;min-height:44px;margin-bottom:5px}.tools button[aria-pressed="true"]{background:#e8f1ff;border-color:#bcd4ff}.tools button span{display:flex;color:#505767}.canvas-wrap{min-width:0;overflow:hidden;position:relative;background-image:radial-gradient(circle,#e2e5eb 1.2px,transparent 1.3px);background-size:24px 24px}#canvas{display:block;width:100%;height:100%;touch-action:none;outline:none;cursor:grab;user-select:none}#canvas:active{cursor:grabbing}#canvas[data-tool="connect"],#canvas[data-tool="entity"],#canvas[data-tool="relationship"],#canvas[data-tool="attribute"],#canvas[data-tool="isa"],#canvas[data-tool="aggregate"]{cursor:crosshair}.properties{border-left:1px solid #d3d7de;padding:22px 20px;overflow:auto}.properties h1{font-size:30px;margin:0 0 25px;letter-spacing:-.6px}.empty-properties{text-align:center;padding-top:38px;color:#606979;font-size:20px;line-height:1.4}.empty-properties svg{width:36px;height:36px;color:#8a909c;fill:none;stroke:currentColor;stroke-width:1.8;margin:0 0 15px}.empty-properties p{margin:0 0 28px}.properties h3{margin:0 0 16px;font-size:20px}.field{display:block;margin-bottom:17px;font-size:15px}.field>span{display:block;margin-bottom:6px;color:#59616f}.field input[type="text"],.field input[type="number"],.field select{width:100%;padding:9px;border:1px solid #cbd1da;border-radius:6px;background:white;min-height:40px}.check{display:flex;align-items:center;gap:9px;margin:15px 0;font-size:16px}.check input{width:18px;height:18px;accent-color:#287bff}#tool-hint{font-size:14px;color:#606979;line-height:1.5;margin-top:20px}.node{cursor:move}.edge{cursor:pointer}.selected-outline{fill:none;stroke:#287bff;stroke-width:1.5;stroke-dasharray:5 3;pointer-events:none}.resize-handle{fill:white;stroke:#287bff;cursor:nwse-resize}.properties .small{font-size:14px;color:#606979;line-height:1.5}.properties .delete{padding:9px 15px;color:#b42318;margin-top:22px;font-size:15px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:11px 18px;background:#202126;color:white;border-radius:8px;z-index:10;font-size:15px}@media(min-width:1500px){.workspace{grid-template-columns:280px minmax(0,1fr) 340px}.topbar{min-height:90px}.topbar button{height:54px;min-width:54px}.tools button{font-size:22px;min-height:49px}}@media(max-width:900px){.workspace{grid-template-columns:180px minmax(0,1fr) 230px}.tools button{font-size:16px}.properties{padding:16px 12px}.properties h1{font-size:25px}.empty-properties{font-size:16px}.topbar{gap:8px;padding:8px;flex-wrap:wrap}.topbar button{font-size:16px;min-width:38px;height:40px;padding:0 10px}.actions,.zoom-controls{gap:5px}.separator{display:none}}@media(max-width:650px){.editor{margin:4px;height:calc(100dvh - 8px)}.workspace{grid-template-columns:55px minmax(0,1fr) 160px}.tools{padding:10px 5px}.tools h2{font-size:9px;letter-spacing:0}.tools button{font-size:0;justify-content:center;padding:9px 2px;gap:0}.tools button svg{width:22px}.properties h1{font-size:21px}.properties h3{font-size:17px}.empty-properties{padding-top:16px;font-size:14px}#tool-hint{font-size:11px}.topbar{gap:6px}.topbar button{height:34px;min-width:32px;padding:0 6px;font-size:14px}.topbar button svg{width:19px;height:19px}#zoom{font-size:14px;min-width:40px}.file-controls{margin-left:0}.properties .field{font-size:13px}.properties input,.properties select{font-size:14px}.properties{padding:13px 9px}}

#storage-dialog{border:1px solid #d3d7de;border-radius:12px;padding:24px;width:min(460px,calc(100vw - 32px));color:#202126}#storage-dialog::backdrop{background:#0005}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-heading h2{margin:0;font-size:24px}.dialog-heading button{width:34px;height:34px;font-size:22px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dialog-actions button{padding:9px 18px}.dialog-actions button[type=submit]{background:#e8f1ff;border-color:#bcd4ff}#storage-error{color:#b42318;font-size:14px;min-height:20px}#storage-fields input[type=text],#storage-fields input[type=password],#storage-fields select{width:100%;border:1px solid #cbd1da;padding:10px;border-radius:6px;font-size:16px}#storage-fields .small{font-size:14px;color:#606979;line-height:1.5}.topbar{flex-wrap:wrap}.topbar button{white-space:nowrap}
