Goondex/internal/web/static/css/gx/GX_Dialog.css
Stu Leak 16fb407a3c v0.1.0-dev4: Add web frontend with UI component library
- Implement full web interface with Go html/template server
- Add GX component library (buttons, dialogs, tables, forms, etc.)
- Create scene/performer/studio/movie detail and listing pages
- Add Adult Empire scraper for additional metadata sources
- Implement movie support with database schema
- Add import and sync services for data management
- Include comprehensive API and frontend documentation
- Add custom color scheme and responsive layout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 10:47:30 -05:00

127 lines
2.7 KiB
CSS

/*
* GX DIALOG (MODAL)
* Premium dark dialog system with Flamingo Pink accents.
* Subtle shadows, soft glow, cinematic overlay fade.
*/
.gx-dialog-overlay {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.65);
backdrop-filter: blur(6px);
z-index: 9000;
opacity: 0;
pointer-events: none;
transition: opacity 0.25s ease;
}
.gx-dialog-overlay.show {
opacity: 1;
pointer-events: auto;
}
.gx-dialog {
position: fixed;
top: 50%;
left: 50%;
translate: -50% -46%; /* slightly above center for cinematic drop */
width: min(480px, 92vw);
background: var(--color-bg-card);
border-radius: var(--radius-soft);
border: 1px solid rgba(255, 79, 163, 0.20);
box-shadow:
0 18px 48px rgba(0, 0, 0, 0.65),
0 0 34px rgba(255, 79, 163, 0.14);
opacity: 0;
scale: 0.92;
pointer-events: none;
padding: 1.8rem 2rem 2.2rem;
z-index: 9999;
transition:
opacity 0.25s ease,
scale 0.22s ease,
translate 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.gx-dialog.show {
opacity: 1;
scale: 1;
pointer-events: auto;
translate: -50% -50%;
}
/* ----- Title + Text ----- */
.gx-dialog-title {
font-size: 1.65rem;
font-weight: 700;
margin-bottom: 0.5rem;
background: linear-gradient(135deg, var(--color-brand), var(--color-header));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.gx-dialog-body {
font-size: 1rem;
color: var(--color-text-secondary);
margin-bottom: 1.8rem;
line-height: 1.55;
}
/* ----- Buttons area ----- */
.gx-dialog-actions {
display: flex;
justify-content: flex-end;
gap: 1rem;
}
/* Accent button */
.gx-dialog-btn-primary {
padding: 0.6rem 1.2rem;
background: var(--color-brand);
color: #fff;
border-radius: var(--radius);
border: none;
cursor: pointer;
transition: background var(--transition);
box-shadow: var(--shadow-glow-pink-soft);
}
.gx-dialog-btn-primary:hover {
background: var(--color-brand-hover);
box-shadow: var(--shadow-glow-pink);
}
/* Secondary (ghost) */
.gx-dialog-btn-secondary {
padding: 0.6rem 1.1rem;
background: rgba(255, 79, 163, 0.08);
border: 1px solid rgba(255, 79, 163, 0.20);
color: var(--color-text-primary);
border-radius: var(--radius);
cursor: pointer;
transition: background var(--transition), border var(--transition);
}
.gx-dialog-btn-secondary:hover {
background: rgba(255, 79, 163, 0.15);
border-color: rgba(255, 79, 163, 0.35);
}
/* Mobile enhancements */
@media (max-width: 540px) {
.gx-dialog {
padding: 1.4rem 1.5rem 1.8rem;
}
.gx-dialog-title {
font-size: 1.45rem;
}
}