- 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>
104 lines
1.9 KiB
CSS
104 lines
1.9 KiB
CSS
/*
|
|
* GX MODAL
|
|
* Dark-only / Flamingo Pink neon glow / Premium cyberdeck style
|
|
*/
|
|
|
|
/* BACKDROP */
|
|
.gx-modal-backdrop {
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(0, 0, 0, 0.82);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition: opacity 0.25s ease;
|
|
z-index: 900;
|
|
}
|
|
|
|
.gx-modal-backdrop.active {
|
|
opacity: 1;
|
|
pointer-events: all;
|
|
}
|
|
|
|
/* MODAL CONTAINER */
|
|
.gx-modal {
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -42%) scale(0.92);
|
|
background: var(--color-bg-card);
|
|
border-radius: var(--radius-soft);
|
|
border: 1px solid var(--color-border-soft);
|
|
box-shadow:
|
|
var(--shadow-elevated),
|
|
0 0 22px rgba(255, 79, 163, 0.15);
|
|
width: min(520px, 92%);
|
|
padding: 2rem;
|
|
opacity: 0;
|
|
transition:
|
|
opacity var(--transition),
|
|
transform var(--transition);
|
|
z-index: 901;
|
|
}
|
|
|
|
.gx-modal.active {
|
|
opacity: 1;
|
|
transform: translate(-50%, -50%) scale(1);
|
|
}
|
|
|
|
/* HEADER */
|
|
.gx-modal-header {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.gx-modal-title {
|
|
font-size: 1.4rem;
|
|
font-weight: 700;
|
|
color: var(--color-brand);
|
|
text-shadow: 0 0 8px var(--color-brand-glow);
|
|
}
|
|
|
|
/* BODY */
|
|
.gx-modal-body {
|
|
color: var(--color-text-secondary);
|
|
font-size: 1.05rem;
|
|
line-height: 1.55;
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
/* FOOTER */
|
|
.gx-modal-footer {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 1rem;
|
|
}
|
|
|
|
/* CLOSE BUTTON (top right, optional) */
|
|
.gx-modal-close {
|
|
position: absolute;
|
|
top: 12px;
|
|
right: 14px;
|
|
font-size: 1.4rem;
|
|
color: var(--color-text-secondary);
|
|
cursor: pointer;
|
|
transition: color var(--transition-fast);
|
|
}
|
|
|
|
.gx-modal-close:hover {
|
|
color: var(--color-brand);
|
|
}
|
|
|
|
/* MOBILE RESPONSIVE */
|
|
@media (max-width: 480px) {
|
|
.gx-modal {
|
|
padding: 1.4rem;
|
|
}
|
|
.gx-modal-title {
|
|
font-size: 1.25rem;
|
|
}
|
|
.gx-modal-body {
|
|
font-size: 1rem;
|
|
}
|
|
}
|