@use "@/assets/css/constants" as constants; @use "@/assets/css/mixins" as mixins; body { background-color: constants.$background-color; } .left-panel { display: flex; flex-direction: column; width: clamp(180px, 20vw, 240px); background-color: constants.$origin-color; user-select: none; .title { font-size: 2em; text-align: center; font-weight: bold; letter-spacing: 0.6em; padding: 10px; color: constants.$main-color; } .content { display: flex; min-height: 0; flex-direction: column; flex: 1; .toolsMenu { min-height: 0; flex: 1; } ul { > li { &.item { position: relative; margin: 4px 14px; font-size: 1.4em; .menu-bt { border-radius: 8px; overflow: hidden; .icon-box { cursor: pointer; width: 26px; height: 26px; .icon { margin-right: 16px; } } a { display: flex; padding: 8px 16px; height: 100%; width: 100%; transition: all 0.2s; .text { flex: 1; } &.active { color: constants.$origin-color; background-color: constants.$main-color !important; } } } .submenu { display: none; position: fixed; padding-left: 20px; z-index: 10000; .content { display: flex; flex-direction: column; gap: 2px; padding: 10px 10px; background-color: constants.$origin-color; border-radius: 8px; .item { border-radius: 8px; white-space: nowrap; overflow: hidden; a { display: block; padding: 8px 16px; transition: all 0.2s; &.active { color: constants.$origin-color; background-color: constants.$main-color !important; } } &:hover a { background-color: constants.$background-color; } } } } &:hover { .menu-bt { a { background-color: constants.$background-color; } } .submenu { display: block; animation: 0.3s ease; @include mixins.unique-keyframes { 0% { display: block; transform: translateX(-10px); opacity: 0; } 100% { display: block; transform: translateX(0); opacity: 1; } } } } } } } } .separate { height: 0; margin: 10px 5px; border: { width: 1px; color: constants.$font-secondary-color; style: solid; }; opacity: 0.4; } } .right-panel { flex: 1; background-color: constants.$background-color; }