@font-face{font-family:Poppins;font-style:normal;font-weight:400;src:url(./pxiEyp8kv8JHgFVrJJnecmNE-by3JarPu.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;src:url(./pxiEyp8kv8JHgFVrJJfecg-cpxAROuN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;src:url(./pxiByp8kv8JHgFVrLEj6Z1JlFc-K-CAhIAdZj.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;src:url(./pxiByp8kv8JHgFVrLEj6Z1xlFQ-zEkxB9Mr.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;src:url(./pxiByp8kv8JHgFVrLCz7Z1JlFc-K-cby-RkWa.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;src:url(./pxiByp8kv8JHgFVrLCz7Z1xlFQ-Qrb0O0WB.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{font-family:Poppins,sans-serif;margin:0;padding:0;background:linear-gradient(135deg,#1f2937,#374151,#1e3a8a);color:#fff;overflow:hidden}.navbar{position:fixed;top:0;left:0;right:0;height:52px;background:#0f172a;border-bottom:1px solid rgba(255,255,255,.08);z-index:200;display:flex;align-items:center;padding:0 8px;gap:6px;box-shadow:0 2px 12px #0006}.navbar-brand{font-weight:700;font-size:1.05rem;letter-spacing:-.3px;color:#f8fafc;white-space:nowrap;flex-shrink:0;margin-right:4px}.desktop-menu{display:flex;align-items:center;gap:2px;flex:1;min-width:0}.menu-category{position:relative;flex-shrink:0}.menu-category:after{content:"";position:absolute;top:100%;left:0;width:100%;height:8px}.menu-category-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:500;color:#cbd5e1;background:transparent;border:none;transition:background .15s,color .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.menu-category-btn:hover,.menu-category.open .menu-category-btn{background:#ffffff1a;color:#f8fafc}.menu-category-btn svg{width:16px;height:16px;flex-shrink:0;stroke:currentColor}.menu-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:210px;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 8px 32px #00000080;padding:6px;display:none;flex-direction:column;gap:2px;z-index:300}.menu-category:hover .menu-dropdown,.menu-category.open .menu-dropdown{display:flex}.menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:7px;cursor:pointer;font-size:.83rem;color:#e2e8f0;transition:background .12s;white-space:nowrap}.menu-item:hover{background:#ffffff17;color:#f8fafc}.menu-item svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;color:#94a3b8;transition:color .12s}.menu-item:hover svg{color:#e2e8f0}.menu-group-label{font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding:8px 12px 4px;pointer-events:none;-webkit-user-select:none;user-select:none}.notation-option{align-items:flex-start!important;gap:8px!important;padding:7px 12px!important;white-space:normal!important}.notation-check{font-size:.9rem;color:#22c55e;width:16px;flex-shrink:0;margin-top:1px;opacity:0;transition:opacity .15s}.notation-option[aria-checked=true] .notation-check{opacity:1}.notation-option[aria-checked=true]{background:#ffffff0f}.notation-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notation-name{font-size:.82rem;font-weight:600;color:#e2e8f0;line-height:1.3}.notation-year{font-weight:400;color:#94a3b8}.notation-desc{font-size:.7rem;color:#64748b;line-height:1.3}.notation-option[aria-checked=true] .notation-name{color:#f8fafc}.notation-option[aria-checked=true] .notation-desc{color:#94a3b8}.notation-tag{font-size:.6rem;font-weight:700;letter-spacing:.05em;color:#fff;border-radius:4px;padding:2px 5px;flex-shrink:0;align-self:center;margin-top:0}.navbar-separator{width:1px;height:28px;background:#ffffff26;flex-shrink:0;margin:0 4px}.tools-strip{display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-width:0;padding:0 2px}.tools-strip::-webkit-scrollbar{display:none}.main-menu-item{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:7px;cursor:pointer;font-size:.78rem;font-weight:600;color:#fff;white-space:nowrap;flex-shrink:0;border:none;transition:transform .1s,box-shadow .1s,filter .1s;-webkit-user-select:none;user-select:none;line-height:1}.main-menu-item:hover{transform:translateY(-1px);filter:brightness(1.15);box-shadow:0 4px 12px #0006}.main-menu-item:active{transform:translateY(0);filter:brightness(.95)}.main-menu-item svg{width:16px;height:16px;flex-shrink:0;stroke:currentColor}.entity-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.attribute-btn{background:linear-gradient(135deg,#10b981,#065f46)}.derived-btn{background:linear-gradient(135deg,#f59e0b,#b45309)}.multivalued-btn{background:linear-gradient(135deg,#06b6d4,#0e7490)}.relationship-btn{background:linear-gradient(135deg,#ec4899,#7c3aed)}.specialization-btn{background:linear-gradient(135deg,#eab308,#a16207)}.aggregation-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.postit-btn{background:linear-gradient(135deg,#fbbf24,#d97706)}canvas{display:block;margin-top:52px;background:#fff}.menu-item:focus-visible,.menu-category-btn:focus-visible,.main-menu-item:focus-visible,.toolbar-button:focus-visible,button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.tooltip{position:relative}.tooltip .tooltip-text{visibility:hidden;width:max-content;max-width:240px;background:#0f172af2;color:#f1f5f9;text-align:center;border-radius:7px;padding:6px 12px;position:absolute;z-index:9000;top:calc(100% + 8px);left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;white-space:normal;font-size:.8rem;box-shadow:0 4px 16px #0006;pointer-events:none}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#cbd5e1;flex-shrink:0;transition:background .15s}.mobile-toggle:hover{background:#ffffff1a}#mobile-sidebar{position:fixed;left:-290px;top:52px;width:290px;height:calc(100vh - 52px);background:#0f172a;border-right:1px solid rgba(255,255,255,.08);z-index:190;overflow-y:auto;transition:left .25s cubic-bezier(.4,0,.2,1);padding:12px;box-shadow:4px 0 24px #0006}#mobile-sidebar.open{left:0}.mobile-menu-section{margin-bottom:16px}.mobile-menu-title{font-weight:600;font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.8px;padding:0 8px;margin-bottom:6px}.mobile-menu-button{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s;margin-bottom:2px;font-size:.87rem;color:#e2e8f0}.mobile-menu-button:hover{background:#ffffff14}.toolbar-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;flex-shrink:0;transition:transform .15s,box-shadow .15s}.toolbar-button:hover{transform:scale(1.08);box-shadow:0 4px 16px #00000080}.tool-entity{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.tool-attribute{background:linear-gradient(135deg,#10b981,#065f46)}.tool-derived{background:linear-gradient(135deg,#f59e0b,#b45309)}.tool-multivalued{background:linear-gradient(135deg,#06b6d4,#0e7490)}.tool-relationship{background:linear-gradient(135deg,#ec4899,#7c3aed)}.tool-specialization{background:linear-gradient(135deg,#eab308,#a16207)}.tool-aggregation{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.tool-postit{background:linear-gradient(135deg,#fbbf24,#d97706)}.tool-increase,.tool-decrease{background:linear-gradient(135deg,#6b7280,#374151)}.tool-undo,.tool-redo{background:linear-gradient(135deg,#6366f1,#4338ca)}.tool-clear{background:linear-gradient(135deg,#ef4444,#b91c1c)}.tool-save{background:linear-gradient(135deg,#10b981,#065f46)}.tool-open{background:linear-gradient(135deg,#f59e0b,#b45309)}.tool-export{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}#autosave-indicator{transition:opacity .3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.submenu{position:fixed;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 8px 32px #00000080;padding:6px;z-index:1050;display:flex;flex-direction:column;gap:2px;min-width:180px}.submenu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-radius:7px;font-size:.83rem;color:#e2e8f0;transition:background .12s}.submenu-item:hover{background:#ffffff17}.submenu-item svg{width:16px;height:16px;flex-shrink:0}#sidePanel{scrollbar-width:thin;scrollbar-color:#374151 transparent}#extraButtons{opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}@media (max-width: 768px){.navbar .desktop-menu{display:none}.mobile-toggle{display:flex}canvas{margin-top:52px}#minimap,#credits{display:none!important}}@media (min-width: 769px){.mobile-toggle{display:none}#mobile-sidebar{display:none!important}}@media (max-width: 1199px) and (min-width: 769px){.main-menu-item span:not(.tooltip-text){display:none}.main-menu-item{padding:5px 8px}.main-menu-item svg{width:18px;height:18px}}#loadModal{transition:opacity .3s ease}#loadModal.hidden{opacity:0;pointer-events:none}.postit{background-color:#ff8;border:1px solid #e6e600;box-shadow:2px 2px 5px #0003;cursor:pointer;padding:10px;transition:transform .2s}.postit:hover{transform:scale(1.05)}#credits{font-size:.72rem;color:#64748b;background:#0f172ad9;border:1px solid rgba(255,255,255,.06)}#notation-badge{position:fixed;top:64px;right:14px;z-index:40;display:flex;align-items:center;gap:7px;background:#0f172ad1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px 12px 6px 8px;box-shadow:0 2px 12px #00000059;pointer-events:none;-webkit-user-select:none;user-select:none;transition:background .25s}#notation-badge-tag{font-size:.65rem;font-weight:700;letter-spacing:.06em;background:#3b82f6;color:#fff;border-radius:5px;padding:2px 6px;line-height:1.4;flex-shrink:0;transition:background .25s}#notation-badge-label{font-size:.76rem;font-weight:600;color:#e2e8f0;white-space:nowrap;line-height:1.3}#notation-badge-sub{font-size:.65rem;color:#94a3b8;white-space:nowrap;line-height:1.3}#notation-badge.notation-chen #notation-badge-tag{background:#3b82f6}#notation-badge.notation-crow #notation-badge-tag{background:#10b981}@media (max-width: 480px){#notation-badge-sub{display:none}#notation-badge-label{font-size:.7rem}}@media print{.navbar,#mobile-sidebar,#sidePanel,#minimap,#credits,.fixed,#notation-badge{display:none!important}canvas{margin-top:0!important}body{background:#fff;overflow:visible}}
