diff --git a/public/index.html b/public/index.html index 70bef7b..d672e3d 100644 --- a/public/index.html +++ b/public/index.html @@ -201,13 +201,22 @@ .v-card.full { grid-column: 1 / -1; } .v-card h3 { font-family: 'Playfair Display', serif; font-size: 14px; font-weight: 600; color: var(--text-hint); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; } - .hero-banner { grid-column: 1 / -1; border-radius: 12px; height: 280px; background: linear-gradient(135deg, #d4a574 0%, #c4956a 30%, #a07850 60%, #7a5c40 100%); position: relative; overflow: hidden; display: flex; align-items: flex-end; cursor: pointer; background-size: cover; background-position: center; } + .hero-banner { grid-column: 1 / -1; border-radius: 12px; height: 280px; background: linear-gradient(135deg, #d4a574 0%, #c4956a 30%, #a07850 60%, #7a5c40 100%); position: relative; overflow: hidden; display: flex; align-items: flex-end; background-size: cover; background-position: center; } .dark .hero-banner { background: linear-gradient(135deg, #5a4030 0%, #4a3528 30%, #3a2a20 60%, #2a1e18 100%); } - .hero-banner.has-image { background-color: #1a1614; } - .hero-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 30%, rgba(44,24,16,0.55)); } - .hero-overlay { position: relative; z-index: 1; padding: 24px 32px; width: 100%; } - .hero-upload-hint { position: absolute; top: 12px; right: 16px; z-index: 2; font-size: 12px; color: rgba(255,255,255,0.5); background: rgba(44,24,16,0.4); padding: 4px 12px; border-radius: 6px; opacity: 0; transition: opacity 0.2s; pointer-events: none; } - .hero-banner:hover .hero-upload-hint { opacity: 1; } + .hero-banner.has-image { background-color: #1a1614; cursor: grab; } + .hero-banner.has-image.dragging { cursor: grabbing; } + .hero-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 30%, rgba(44,24,16,0.55)); pointer-events: none; } + .hero-overlay { position: relative; z-index: 1; padding: 24px 32px; width: 100%; pointer-events: none; } + .hero-overlay [contenteditable] { pointer-events: auto; } + .hero-controls { position: absolute; top: 10px; right: 12px; z-index: 3; display: flex; gap: 8px; align-items: center; opacity: 0; transition: opacity 0.2s; } + .hero-banner:hover .hero-controls { opacity: 1; } + .hero-btn { font-size: 12px; color: rgba(255,255,255,0.8); background: rgba(44,24,16,0.5); padding: 4px 12px; border-radius: 6px; border: none; cursor: pointer; backdrop-filter: blur(4px); } + .hero-btn:hover { background: rgba(44,24,16,0.7); color: #fff; } + .hero-height-control { position: absolute; bottom: -28px; left: 50%; transform: translateX(-50%); z-index: 3; display: flex; align-items: center; gap: 8px; opacity: 0; transition: opacity 0.2s; background: var(--bg-card); border: 1px solid var(--border); border-radius: 6px; padding: 4px 12px; } + .hero-banner:hover + .hero-height-control, .hero-height-control:hover { opacity: 1; } + .hero-height-control label { font-size: 11px; color: var(--text-muted); white-space: nowrap; } + .hero-height-control input[type="range"] { width: 120px; accent-color: var(--accent); } + .hero-height-control + input[type="file"] { margin-bottom: 8px; } .hero-overlay .three-words { font-family: 'Playfair Display', serif; font-size: 32px; font-weight: 700; color: #fff; letter-spacing: 2px; } .hero-overlay .hero-sub { font-size: 14px; color: rgba(255,255,255,0.75); margin-top: 6px; font-style: italic; } @@ -341,13 +350,19 @@