.view { height: 100%; width: 100%; overflow: hidden; display: flex; flex-direction: column; position: relative; background-color: var(--mud-palette-surface); border-radius: var(--mud-default-borderradius); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; box-shadow: var(--mud-elevation-10); } .view .toolbar { width: 100%; height: 3rem; flex: 0 0 auto; display: flex; align-items: center; padding: 0.5rem; border-bottom: 1px solid var(--mud-palette-divider); background-color: var(--mud-palette-background); } .view .toolbar .action-button { padding: 0rem 0.4rem; margin-right: 0.5rem; border-radius: var(--mud-default-borderradius); transition: all 0.3s ease; background-color: var(--bs-gray-200); } .view .toolbar .action-button:hover { background-color: var(--mud-palette-action-hover); transform: translateY(-1px); } .view .toolbar .action-button:disabled { opacity: 0.6; cursor: not-allowed; } .view .toolbar .action-button:disabled:hover { transform: none; background-color: transparent; } .view .toolbar .icon-button { font-size: 1.2rem; color: var(--mud-palette-primary); } .view canvas { transition: cursor 0.2s ease; } .view canvas:hover { cursor: crosshair; } /* Enhanced zoom and coordinate info styling */ .zoom-info-container { display: flex; align-items: center; background-color: var(--mud-palette-background); border: 1px solid var(--mud-palette-divider); border-radius: 6px; padding: 0.5rem 0.75rem; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .zoom-info { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 0.8rem; color: var(--mud-palette-text-primary); display: flex; align-items: center; gap: 0.5rem; white-space: nowrap; } .info-item { display: flex; align-items: center; gap: 0.25rem; font-weight: 500; } .info-item i { font-size: 0.9rem; color: var(--mud-palette-primary); } .info-separator { color: var(--mud-palette-divider); font-weight: 300; margin: 0 0.25rem; } /* Responsive design for info container */ @media (max-width: 768px) { .zoom-info-container { padding: 0.25rem 0.5rem; } .zoom-info { font-size: 0.7rem; gap: 0.25rem; } .info-item { gap: 0.15rem; } .info-item i { font-size: 0.8rem; } } /* Very small screens - stack vertically */ @media (max-width: 480px) { .zoom-info { flex-direction: column; gap: 0.15rem; text-align: center; } .info-separator { display: none; } .zoom-info-container { padding: 0.35rem; } } /* Hover effects for info container */ .zoom-info-container:hover { background-color: var(--mud-palette-action-hover); box-shadow: 0 4px 8px rgba(0,0,0,0.15); } /* Animation for coordinate updates */ .info-item { transition: color 0.2s ease; } .info-item:hover { color: var(--mud-palette-primary); } /* High contrast mode support */ @media (prefers-contrast: high) { .zoom-info-container { border-width: 2px; background-color: var(--mud-palette-surface); } .info-item { font-weight: 600; } } /* Dark mode adjustments */ @media (prefers-color-scheme: dark) { .zoom-info-container { box-shadow: 0 2px 4px rgba(0,0,0,0.3); } .zoom-info-container:hover { box-shadow: 0 4px 8px rgba(0,0,0,0.4); } }