Files
ComfyUI-Lora-Manager/static/css/onboarding.css

228 lines
4.8 KiB
CSS

/* Onboarding Tutorial Styles */
.onboarding-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
z-index: var(--z-overlay);
display: none;
}
.onboarding-overlay.active {
display: block;
}
.onboarding-spotlight {
position: absolute;
background: transparent;
border: 3px solid var(--lora-accent);
border-radius: var(--border-radius-base);
box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.8);
z-index: calc(var(--z-overlay) + 1);
pointer-events: none;
transition: all 0.3s ease;
}
.onboarding-popup {
position: absolute;
background: var(--lora-surface);
border: 1px solid var(--lora-border);
border-radius: var(--border-radius-base);
padding: var(--space-3);
min-width: 320px;
max-width: 400px;
z-index: calc(var(--z-overlay) + 2);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(10px);
}
.onboarding-popup h3 {
margin: 0 0 var(--space-2) 0;
color: var(--lora-accent);
font-size: 1.2em;
font-weight: 600;
}
.onboarding-popup p {
margin: 0 0 var(--space-3) 0;
color: var(--text-color);
line-height: 1.5;
}
.onboarding-controls {
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--space-2);
}
.onboarding-progress {
display: flex;
align-items: center;
gap: var(--space-1);
font-size: 0.85em;
color: var(--text-muted);
}
.onboarding-actions {
display: flex;
gap: var(--space-2);
}
.onboarding-btn {
padding: var(--space-1) var(--space-2);
border: 1px solid var(--lora-border);
border-radius: var(--border-radius-sm);
background: var(--card-bg);
color: var(--text-color);
cursor: pointer;
font-size: 0.9em;
transition: all 0.2s ease;
}
.onboarding-btn:hover {
background: var(--lora-accent);
color: var(--lora-text);
border-color: var(--lora-accent);
}
.onboarding-btn.primary {
background: var(--lora-accent);
color: var(--lora-text);
border-color: var(--lora-accent);
}
.onboarding-btn.primary:hover {
opacity: 0.9;
}
/* Language Selection Modal */
.language-selection-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
display: flex;
align-items: center;
justify-content: center;
z-index: calc(var(--z-overlay) + 10);
}
.language-selection-content {
background: var(--lora-surface);
border: 1px solid var(--lora-border);
border-radius: var(--border-radius-base);
padding: var(--space-3);
min-width: 510px;
text-align: center;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
backdrop-filter: blur(10px);
}
.language-selection-content h2 {
margin: 0 0 var(--space-2) 0;
color: var(--lora-accent);
font-size: 1.5em;
}
.language-selection-content p {
margin: 0 0 var(--space-3) 0;
color: var(--text-color);
line-height: 1.5;
}
.language-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-2);
margin-bottom: var(--space-3);
}
.language-option {
padding: var(--space-2);
border: 2px solid var(--lora-border);
border-radius: var(--border-radius-sm);
background: var(--card-bg);
cursor: pointer;
transition: all 0.2s ease;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-1);
}
.language-option:hover {
border-color: var(--lora-accent);
background: var(--lora-surface);
}
.language-option.selected {
border-color: var(--lora-accent);
background: var(--lora-accent);
color: var(--lora-text);
}
.language-flag {
font-size: 1.5em;
}
.language-name {
font-size: 0.9em;
font-weight: 500;
}
.language-actions {
display: flex;
gap: var(--space-2);
justify-content: center;
}
/* Shortcut Key Highlighting */
.onboarding-shortcut {
display: inline-block;
background: var(--shortcut-bg);
border: 1px solid var(--shortcut-border);
border-radius: var(--border-radius-xs);
padding: 2px 6px;
font-size: 0.8em;
font-weight: 600;
color: var(--shortcut-text);
margin: 0 2px;
}
/* Animation for highlighting elements */
.onboarding-highlight {
animation: onboarding-pulse 2s infinite;
}
@keyframes onboarding-pulse {
0%, 100% {
box-shadow: 0 0 0 0 var(--lora-accent);
}
50% {
box-shadow: 0 0 0 8px transparent;
}
}
/* Responsive adjustments */
@media (max-width: 768px) {
.onboarding-popup {
min-width: 280px;
max-width: calc(100vw - 40px);
padding: var(--space-2);
}
.language-grid {
grid-template-columns: repeat(2, 1fr);
}
.language-selection-content {
min-width: calc(100vw - 40px);
max-width: 400px;
}
}