.sidebar-contnet { position: absolute; left: 0; top: 4rem; z-index: 40; width: 98px; height: calc(100vh - 4rem); flex-shrink: 0; } .sidebar-contents { width: 98px; min-height: calc(100% - 20px); background: rgba(3, 38, 80, 0.8); border: 1px solid; border-color: rgba(43, 143, 254, 0.6); border-radius: 4px; backdrop-filter: blur(2px); display: flex; flex-direction: column; align-items: center; padding: 12px 10px; position: relative; height: calc(100% - 20px); box-sizing: border-box; transform: translate(10px, 10px); } .item-nav-group { width: 100%; } .item-nav-wrap { position: relative; width: 100%; } .item-nav-group:first-child .item-nav { margin-top: 0; } .item-nav { width: 100%; height: 75px; margin-top: 13px; font-family: Noto Sans S Chinese; font-weight: 500; color: #fff; font-size: 20px; display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; background: #000c1c26; border: 1px solid; border-color: #55a6fe33; box-shadow: 0 0 20px #00b9ff26 inset; position: relative; } .item-nav:hover, .item-nav-active, .item-nav-hovered { color: #ffffff; background: linear-gradient(134.25deg, rgba(0, 98, 217, 0.59) 2.28%, rgba(0, 98, 217, 0.3) 99.59%) !important; background-size: cover; border: 1px solid; border-color: rgba(255, 255, 255, 0.2); position: relative; } .item-nav:hover::before, .item-nav-active::before, .item-nav-hovered::before { content: ''; position: absolute; right: -10px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 10px solid rgba(0, 98, 217, 0.45); pointer-events: none; } .item-nav:hover::after, .item-nav-active::after, .item-nav-hovered::after { content: ''; position: absolute; left: 0; top: 29px; width: 77px; height: 45px; background: url('../assets/icon/nav-line-logo.svg') no-repeat; background-size: cover; } .item-nav__label { display: block; width: 3em; margin: 0 auto; padding-left: 6px; box-sizing: border-box; letter-spacing: 6px; word-break: break-all; } .item-nav-content { width: 155px; height: calc(100vh - 4rem - 20px); min-height: calc(100vh - 4rem - 20px); background: rgba(3, 38, 80, 0.8); border: 1px solid; border-color: rgba(43, 143, 254, 0.6); border-radius: 4px; backdrop-filter: blur(2px); position: absolute; left: 108px; top: 0; z-index: 1000; padding: 14px 13px 18px 16px; overflow-y: auto; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease, visibility 0.2s ease; } .item-nav-content::before { content: ''; position: absolute; left: -30px; top: 0; width: 30px; height: 100%; } .item-nav-hover-bridge { position: absolute; right: -30px; top: 0; width: 30px; height: 100%; z-index: 999; } .item-nav-content--visible { opacity: 1; visibility: visible; pointer-events: auto; } .sidebar-flyout-list { display: flex; flex-direction: column; gap: 2px; position: relative; } .sidebar-flyout-list--level-1, .sidebar-flyout-list--level-2, .sidebar-flyout-list--level-3 { margin-left: 19px; padding-left: 14px; } .sidebar-flyout-node { position: relative; } .sidebar-flyout-node--has-children.sidebar-flyout-node--expanded>.sidebar-flyout-list::before { content: ''; position: absolute; left: 0; top: 0; width: 1px; height: 100%; background: rgba(43, 143, 254, 0.22); } .sidebar-flyout-item { width: 100%; min-height: 34px; display: flex; align-items: center; gap: 9px; border: 0; background: transparent; padding: 3px 0; font-family: Noto Sans S Chinese; font-size: 18px; line-height: 16px; font-weight: 500; letter-spacing: 0; color: rgba(255, 255, 255, 0.8); text-align: left; cursor: pointer; transition: color 0.2s ease, text-shadow 0.2s ease; } .sidebar-flyout-item:hover, .sidebar-flyout-item--active { color: #48ddff; text-shadow: 0 0 8px rgba(72, 221, 255, 0.25); } .sidebar-flyout-item--leaf { justify-content: center; padding-left: 0; } .sidebar-flyout-list--level-1>.sidebar-flyout-node>.sidebar-flyout-item--leaf, .sidebar-flyout-list--level-2>.sidebar-flyout-node>.sidebar-flyout-item--leaf, .sidebar-flyout-list--level-3>.sidebar-flyout-node>.sidebar-flyout-item--leaf { padding-left: 0; } .sidebar-flyout-arrow { width: 9px; height: 9px; flex: 0 0 9px; background: url('../assets/icon/down-logo.svg') center / contain no-repeat; transform: rotate(-90deg); transition: transform 0.2s ease; } .sidebar-flyout-node--expanded>.sidebar-flyout-item>.sidebar-flyout-arrow { transform: rotate(0deg); } .sidebar-flyout-label { flex: 1; white-space: nowrap; } .sidebar-collapse-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 8px; cursor: pointer; } .sidebar-collapse-btn__icon { width: 16px; height: 16px; flex: 0 0 16px; color: #80e9ff; } .sidebar-collapse-btn__label { font-size: 14px; line-height: 1; white-space: nowrap; } .sidebar-collapse-btn--inline { width: calc(100% - 6px); min-height: 58px; margin-top: auto; margin-bottom: 2px; flex-direction: column; gap: 6px; border: 1px solid #55a6fe33; background: #000c1c26; color: rgba(255, 255, 255, 0.9); box-shadow: inset 0 0 16px #00b9ff1f; transition: background-color 0.2s ease, border-color 0.2s ease; } .sidebar-collapse-btn--inline .sidebar-collapse-btn__label { font-size: 16px; line-height: 1.1; } .sidebar-collapse-btn--inline:hover { background: rgba(0, 98, 217, 0.3); border-color: rgba(255, 255, 255, 0.25); } .sidebar-collapse-btn--floating { position: fixed; left: 10px; bottom: 10px; z-index: 60; width: 36px; height: 36px; min-height: 36px; padding: 0 10px; border: 1px solid rgba(128, 233, 255, 0.35); background: rgba(3, 38, 80, 0.82); color: rgba(205, 245, 255, 0.95); backdrop-filter: blur(2px); transition: width 0.22s ease, opacity 0.2s ease, background-color 0.2s ease, border-color 0.2s ease; overflow: hidden; } .sidebar-collapse-btn--floating:hover { width: 104px; background: rgba(7, 52, 110, 0.9); border-color: rgba(128, 233, 255, 0.65); } .sidebar-collapse-btn--floating .sidebar-collapse-btn__label { max-width: 0; opacity: 0; transform: translateX(-4px); transition: max-width 0.22s ease, opacity 0.16s ease, transform 0.22s ease; } .sidebar-collapse-btn--floating:hover .sidebar-collapse-btn__label { max-width: 64px; opacity: 1; transform: translateX(0); }