|
|
|
html { font-family: 'Inter', sans-serif; } |
|
@supports (font-variation-settings: normal) { |
|
html { font-family: 'Inter var', sans-serif; } |
|
} |
|
|
|
|
|
body { |
|
|
|
background-color: #02040a; |
|
background-image: radial-gradient(ellipse at center, |
|
#1a2035 0%, |
|
#0f172a 40%, |
|
#02040a 75% |
|
); |
|
background-attachment: fixed; |
|
color: #cbd5e1; |
|
overflow: hidden; |
|
min-height: 100vh; |
|
} |
|
|
|
|
|
#main-content.justify-center-cta-active { |
|
justify-content: center; |
|
} |
|
|
|
|
|
:root { |
|
--history-panel-expanded-height: 12rem; |
|
--history-panel-collapsed-height: 0rem; |
|
--history-panel-toggle-button-height: 2.5rem; |
|
--history-panel-current-height: var(--history-panel-collapsed-height); |
|
} |
|
|
|
#main-content { |
|
height: calc(100vh - var(--history-panel-current-height) - var(--history-panel-toggle-button-height)); |
|
overflow-y: auto; |
|
width: 100%; |
|
margin-left: 0; |
|
transition: height 0.3s ease-in-out; |
|
} |
|
|
|
|
|
#history-panel::-webkit-scrollbar { display: none; } |
|
#history-panel { -ms-overflow-style: none; scrollbar-width: none; } |
|
|
|
|
|
|
|
#main-content::-webkit-scrollbar { width: 8px; } |
|
#main-content::-webkit-scrollbar-track { background: rgba(51, 65, 85, 0.5); border-radius: 10px; } |
|
#main-content::-webkit-scrollbar-thumb { background: #475569; border-radius: 10px; } |
|
#main-content::-webkit-scrollbar-thumb:hover { background: #64748b; } |
|
|
|
|
|
#history-panel::-webkit-scrollbar { height: 6px; background-color: rgba(30, 41, 59, 0.5); } |
|
#history-panel::-webkit-scrollbar-thumb { background-color: #475569; border-radius: 3px; } |
|
#history-panel::-webkit-scrollbar-thumb:hover { background-color: #64748b; } |
|
#history-panel { scrollbar-width: thin; scrollbar-color: #475569 rgba(30, 41, 59, 0.5); } |
|
|
|
|
|
#code-output-header { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
margin-bottom: 0.5rem; |
|
} |
|
#copy-code-button { |
|
background-color: #334155; |
|
color: #94a3b8; |
|
padding: 0.25rem 0.75rem; |
|
font-size: 0.75rem; |
|
border-radius: 0.375rem; |
|
transition: background-color 0.2s, color 0.2s; |
|
line-height: 1; |
|
} |
|
#copy-code-button:hover { |
|
background-color: #475569; |
|
color: #cbd5e1; |
|
} |
|
#copy-code-button.copied { |
|
background-color: #059669; |
|
color: white; |
|
} |
|
|
|
#export-code-button { |
|
background-color: #334155; |
|
color: #94a3b8; |
|
padding: 0.25rem 0.75rem; |
|
font-size: 0.75rem; |
|
border-radius: 0.375rem; |
|
transition: background-color 0.2s, color 0.2s, opacity 0.2s; |
|
line-height: 1; |
|
} |
|
#export-code-button:hover:not(:disabled) { |
|
background-color: #475569; |
|
color: #cbd5e1; |
|
} |
|
#export-code-button:disabled { |
|
opacity: 0.5; |
|
cursor: not-allowed; |
|
} |
|
|
|
#code-output-container { |
|
margin-top: 0.25rem; |
|
height: 300px; |
|
overflow-y: auto; |
|
background-color: #020617; |
|
border: 1px solid #334155; |
|
border-radius: 0.375rem; |
|
padding: 1rem; |
|
scrollbar-width: thin; |
|
scrollbar-color: #475569 rgba(30, 41, 59, 0.5); |
|
} |
|
#code-output-container::-webkit-scrollbar { |
|
width: 6px; display: block; |
|
} |
|
#code-output-container::-webkit-scrollbar-track { |
|
background: rgba(51, 65, 85, 0.3); border-radius: 3px; |
|
} |
|
#code-output-container::-webkit-scrollbar-thumb { |
|
background: #475569; border-radius: 3px; |
|
} |
|
#code-output-container::-webkit-scrollbar-thumb:hover { |
|
background: #64748b; |
|
} |
|
|
|
#code-output { |
|
font-family: monospace; |
|
color: #94a3b8; |
|
white-space: pre-wrap; |
|
word-wrap: break-word; |
|
} |
|
#code-output code.language-html { |
|
font-size: 9pt; |
|
color: #e2e8f0; |
|
} |
|
|
|
|
|
.preview-frame { |
|
width: 100%; height: 100%; flex-grow: 1; border: none; |
|
background-color: #ffffff; |
|
} |
|
.preview-loader { |
|
position: absolute; top: 0; left: 0; right: 0; bottom: 0; |
|
background-color: rgba(15, 23, 42, 0.7); |
|
display: flex; align-items: center; justify-content: center; z-index: 10; |
|
} |
|
|
|
|
|
.spinner { |
|
width: 2rem; height: 2rem; |
|
border: 4px solid rgba(71, 85, 105, 0.3); |
|
border-left-color: #22d3ee; |
|
border-radius: 50%; animation: spin 1s linear infinite; |
|
} |
|
@keyframes spin { to { transform: rotate(360deg); } } |
|
|
|
|
|
#refinement-loading-indicator { |
|
position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); |
|
background-color: rgba(15, 23, 42, 0.85); |
|
backdrop-filter: blur(5px); color: #e2e8f0; |
|
padding: 1rem 1.5rem; border-radius: 0.5rem; |
|
z-index: 1000; display: none; align-items: center; gap: 0.75rem; |
|
border: 1px solid #334155; box-shadow: 0 0 20px rgba(34, 211, 238, 0.2); |
|
} |
|
#refinement-loading-indicator svg { color: #22d3ee; } |
|
|
|
|
|
#interval-value, #num-variations-value { font-weight: 600; color: #22d3ee; } |
|
|
|
|
|
#top-left-controls { |
|
position: fixed; top: 1rem; left: 1rem; z-index: 60; |
|
display: flex; |
|
gap: 0.5rem; |
|
} |
|
|
|
#config-button, #new-button, #show-prompt-modal-button { |
|
background-color: rgba(51, 65, 85, 0.7); |
|
backdrop-filter: blur(5px); border-radius: 9999px; padding: 0.5rem; |
|
box-shadow: 0 2px 10px rgba(0,0,0,0.3); cursor: pointer; |
|
border: 1px solid #475569; |
|
transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
} |
|
#config-button:hover, #new-button:hover, #show-prompt-modal-button:hover { |
|
background-color: rgba(71, 85, 105, 0.8); |
|
box-shadow: 0 0 10px rgba(34, 211, 238, 0.2); |
|
} |
|
#config-button svg, #new-button svg, #show-prompt-modal-button svg { |
|
width: 1.25rem; height: 1.25rem; color: #94a3b8; transition: color 0.2s; |
|
} |
|
#config-button:hover svg, #new-button:hover svg, #show-prompt-modal-button:hover svg { |
|
color: #22d3ee; |
|
} |
|
|
|
|
|
|
|
#fullscreen-overlay { |
|
position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; |
|
background-color: rgba(15, 23, 42, 0.95); |
|
backdrop-filter: blur(8px); z-index: 900; |
|
display: flex; flex-direction: column; |
|
align-items: center; |
|
justify-content: center; |
|
padding: 1rem; box-sizing: border-box; opacity: 0; visibility: hidden; |
|
transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; |
|
} |
|
#fullscreen-overlay.visible { opacity: 1; visibility: visible; } |
|
#fullscreen-iframe { |
|
|
|
width: 375px; |
|
height: 750px; |
|
max-width: 90vw; |
|
max-height: 85vh; |
|
border: 1px solid #334155; |
|
border-radius: 0.75rem; |
|
background-color: white; |
|
box-shadow: 0 10px 30px rgba(0,0,0,0.5); |
|
|
|
} |
|
#exit-fullscreen-btn { |
|
position: absolute; top: 1.5rem; right: 1.5rem; z-index: 955; |
|
background-color: #ef4444; color: white; |
|
} |
|
#exit-fullscreen-btn:hover { background-color: #dc2626; } |
|
|
|
|
|
#fullscreen-history-nav { |
|
position: absolute; |
|
top: 1.5rem; |
|
left: 50%; |
|
transform: translateX(-50%); |
|
z-index: 950; |
|
display: none; |
|
gap: 1rem; |
|
} |
|
#fullscreen-history-nav.visible { |
|
display: flex; |
|
} |
|
#fullscreen-history-nav button { |
|
background-color: rgba(51, 65, 85, 0.8); |
|
color: #cbd5e1; |
|
border: 1px solid #64748b; |
|
padding: 0.5rem 1rem; |
|
border-radius: 0.375rem; |
|
font-size: 0.875rem; |
|
font-weight: 500; |
|
transition: background-color 0.2s, border-color 0.2s, color 0.2s; |
|
box-shadow: 0 2px 5px rgba(0,0,0,0.2); |
|
} |
|
#fullscreen-history-nav button:hover:not(:disabled) { |
|
background-color: rgba(71, 85, 105, 0.9); |
|
border-color: #94a3b8; |
|
color: #fff; |
|
} |
|
#fullscreen-history-nav button:disabled { |
|
background-color: rgba(51, 65, 85, 0.5); |
|
border-color: #475569; |
|
color: #64748b; |
|
cursor: not-allowed; |
|
opacity: 0.6; |
|
} |
|
|
|
|
|
body.fullscreen-active #top-left-controls { opacity: 0; pointer-events: none; } |
|
body.fullscreen-active #main-content { overflow: hidden; } |
|
body.fullscreen-active #history-panel { display: none; } |
|
|
|
|
|
|
|
#perspective-viewport { |
|
flex-grow: 1; min-height: 0; display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
padding: 1rem; |
|
|
|
overflow-x: auto; |
|
overflow-y: hidden; |
|
} |
|
#preview-grid-wrapper { |
|
display: flex; |
|
|
|
|
|
|
|
gap: 1.5rem; |
|
padding-bottom: 1rem; |
|
} |
|
|
|
|
|
.mobile-preview-layout { |
|
display: flex; |
|
flex-direction: row; |
|
align-items: flex-start; |
|
gap: 1.5rem; |
|
height: auto; |
|
width: max-content; |
|
} |
|
|
|
#preview-grid-wrapper.grid-mode { |
|
|
|
|
|
|
|
|
|
} |
|
#preview-grid-wrapper.single-mode { |
|
grid-template-columns: 1fr; |
|
grid-template-rows: 1fr; gap: 0; |
|
transform: none; |
|
width: 100%; height: 100%; max-width: none; aspect-ratio: unset; |
|
display: grid; |
|
place-items: center; |
|
padding-bottom: 0; |
|
} |
|
|
|
|
|
.preview-item-perspective { |
|
background-color: rgba(51, 65, 85, 0.6); |
|
backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); |
|
border-radius: 0.75rem; |
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3), 0 0 5px rgba(34, 211, 238, 0.1); |
|
display: flex; flex-direction: column; overflow: hidden; |
|
|
|
transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; |
|
border: 1px solid #475569; |
|
|
|
width: 360px; |
|
height: 720px; |
|
flex-shrink: 0; |
|
} |
|
.preview-item-perspective:hover:not(.selected) { |
|
transform: translateY(-8px) scale(1.03); |
|
box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4), 0 0 15px rgba(34, 211, 238, 0.2); |
|
border-color: #64748b; |
|
} |
|
.preview-item-perspective.selected { |
|
border-color: #22d3ee; |
|
transform: scale(1.06); |
|
box-shadow: 0 15px 40px rgba(34, 211, 238, 0.3), 0 0 25px rgba(34, 211, 238, 0.4), inset 0 0 10px rgba(34, 211, 238, 0.2); |
|
z-index: 5; |
|
} |
|
.preview-header { |
|
padding: 0.6rem 1rem; border-bottom: 1px solid #475569; |
|
display: flex; justify-content: space-between; align-items: center; |
|
flex-shrink: 0; background-color: rgba(71, 85, 105, 0.5); |
|
} |
|
.preview-header-title { |
|
font-size: 0.9rem; font-weight: 600; color: #e2e8f0; |
|
white-space: nowrap; overflow: hidden; text-overflow: ellipsis; |
|
} |
|
.preview-header-buttons { display: flex; align-items: center; gap: 0.5rem; } |
|
.preview-header-buttons button, .preview-header-buttons .fullscreen-btn { |
|
padding: 0.25rem 0.5rem; border-radius: 0.375rem; |
|
transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; |
|
} |
|
.preview-header-buttons .fullscreen-btn { color: #94a3b8; } |
|
.preview-header-buttons .fullscreen-btn:hover:not(:disabled) { |
|
color: #22d3ee; background-color: rgba(51, 65, 85, 0.7); |
|
} |
|
.preview-header-buttons .fullscreen-btn:disabled { color: #475569; cursor: not-allowed; } |
|
.preview-body { |
|
position: relative; flex-grow: 1; min-height: 0; |
|
display: flex; overflow: hidden; |
|
align-items: center; |
|
justify-content: center; |
|
} |
|
|
|
|
|
#preview-grid-wrapper.single-mode iframe#single-large-preview-frame { |
|
height: 80%; |
|
aspect-ratio: 1 / 2; |
|
max-width: 425px; |
|
max-height: 850px; |
|
|
|
border: 1px solid #475569; |
|
border-radius: 0.75rem; |
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3), 0 0 5px rgba(34, 211, 238, 0.1); |
|
background-color: #ffffff; |
|
} |
|
|
|
.single-preview-item { |
|
width: 100%; height: 100%; |
|
|
|
} |
|
|
|
|
|
|
|
.futuristic-input, .futuristic-select { |
|
background-color: rgba(30, 41, 59, 0.8); border: 1px solid #475569; |
|
color: #e2e8f0; border-radius: 0.375rem; |
|
box-shadow: inset 0 1px 2px rgba(0,0,0,0.2); |
|
transition: border-color 0.2s, box-shadow 0.2s; |
|
padding: 0.5rem 0.75rem; |
|
} |
|
.futuristic-input::placeholder { color: #64748b; } |
|
.futuristic-input:focus, .futuristic-select:focus { |
|
outline: none; border-color: #22d3ee; |
|
box-shadow: 0 0 0 2px rgba(34, 211, 238, 0.3), inset 0 1px 2px rgba(0,0,0,0.2); |
|
} |
|
.futuristic-select { |
|
-webkit-appearance: none; |
|
-moz-appearance: none; |
|
appearance: none; |
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); |
|
background-repeat: no-repeat; |
|
background-position: right 0.5rem center; |
|
background-size: 1.2em 1.2em; |
|
padding-right: 2.5rem; |
|
} |
|
|
|
|
|
|
|
.futuristic-button { |
|
background-color: #0e7490; color: #f0f9ff; |
|
font-weight: 500; border-radius: 0.375rem; |
|
transition: background-color 0.2s, box-shadow 0.2s, transform 0.1s; |
|
box-shadow: 0 2px 5px rgba(0,0,0,0.2), 0 0 0 0 rgba(34, 211, 238, 0.0); |
|
} |
|
.futuristic-button:hover:not(:disabled) { |
|
background-color: #0891b2; |
|
box-shadow: 0 4px 8px rgba(0,0,0,0.3), 0 0 10px 2px rgba(34, 211, 238, 0.3); |
|
transform: translateY(-1px); |
|
} |
|
.futuristic-button:active:not(:disabled) { |
|
transform: translateY(0px); |
|
box-shadow: 0 2px 5px rgba(0,0,0,0.2), 0 0 5px 1px rgba(34, 211, 238, 0.2); |
|
} |
|
.futuristic-button:disabled { |
|
background-color: #334155; color: #64748b; |
|
cursor: not-allowed; opacity: 0.7; |
|
} |
|
.futuristic-button.selected-state { |
|
background-color: #059669; |
|
} |
|
.futuristic-button.selected-state:hover:not(:disabled) { |
|
background-color: #047857; |
|
box-shadow: 0 4px 8px rgba(0,0,0,0.3), 0 0 10px 2px rgba(16, 185, 129, 0.3); |
|
} |
|
|
|
|
|
|
|
input[type="range"].futuristic-slider { |
|
-webkit-appearance: none; appearance: none; width: 100%; height: 8px; |
|
background: #334155; border-radius: 5px; outline: none; |
|
opacity: 0.9; transition: opacity .2s; |
|
} |
|
input[type="range"].futuristic-slider:hover { opacity: 1; } |
|
input[type="range"].futuristic-slider::-webkit-slider-thumb { |
|
-webkit-appearance: none; appearance: none; width: 18px; height: 18px; |
|
background: #22d3ee; border-radius: 50%; cursor: pointer; |
|
border: 2px solid #0f172a; box-shadow: 0 0 5px rgba(34, 211, 238, 0.5); |
|
} |
|
input[type="range"].futuristic-slider::-moz-range-thumb { |
|
width: 18px; height: 18px; background: #22d3ee; |
|
border-radius: 50%; cursor: pointer; border: 2px solid #0f172a; |
|
box-shadow: 0 0 5px rgba(34, 211, 238, 0.5); |
|
} |
|
|
|
|
|
#history-panel-controls { |
|
height: var(--history-panel-toggle-button-height); |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
gap: 1rem; |
|
background-color: rgba(15, 23, 42, 0.9); |
|
border-top: 1px solid #334155; |
|
position: relative; |
|
z-index: 51; |
|
} |
|
|
|
#history-toggle-button { |
|
background-color: rgba(51, 65, 85, 0.7); |
|
border: 1px solid #475569; |
|
border-radius: 9999px; |
|
padding: 0.375rem; |
|
cursor: pointer; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
color: #94a3b8; |
|
transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; |
|
box-shadow: 0 2px 5px rgba(0,0,0,0.2); |
|
} |
|
|
|
#history-toggle-button:hover { |
|
background-color: rgba(71, 85, 105, 0.8); |
|
color: #cbd5e1; |
|
box-shadow: 0 0 10px rgba(34, 211, 238, 0.2); |
|
} |
|
|
|
#history-toggle-button svg { |
|
width: 1.25rem; |
|
height: 1.25rem; |
|
} |
|
|
|
#history-panel { |
|
position: fixed; |
|
bottom: 0; |
|
left: 0; |
|
right: 0; |
|
height: var(--history-panel-current-height); |
|
background-color: rgba(15, 23, 42, 0.9); |
|
backdrop-filter: blur(10px); |
|
-webkit-backdrop-filter: blur(10px); |
|
|
|
padding: 1rem 2rem; |
|
z-index: 50; |
|
overflow-x: auto; |
|
overflow-y: hidden; |
|
display: flex; |
|
align-items: center; |
|
|
|
transition: height 0.3s ease-in-out, padding 0.3s ease-in-out, opacity 0.3s ease-in-out; |
|
opacity: 1; |
|
perspective: 1000px; |
|
} |
|
|
|
#history-panel.history-collapsed { |
|
|
|
padding-top: 0; |
|
padding-bottom: 0; |
|
opacity: 0; |
|
overflow: hidden; |
|
} |
|
|
|
|
|
#history-panel.history-collapsed .history-thumbnail-item, |
|
#history-panel.history-collapsed #history-panel-placeholder { |
|
display: none; |
|
} |
|
|
|
.history-thumbnail-item { |
|
position: relative; |
|
flex-shrink: 0; |
|
width: 6rem; |
|
height: 9rem; |
|
background-color: rgba(51, 65, 85, 0.5); |
|
backdrop-filter: blur(8px); |
|
-webkit-backdrop-filter: blur(8px); |
|
border: 1px solid #475569; |
|
border-radius: 0.5rem; |
|
box-shadow: 0 6px 18px rgba(0,0,0,0.35), |
|
inset 0 0 8px rgba(34, 211, 238, 0.15), |
|
0 0 2px rgba(34,211,238,0.1); |
|
display: flex; |
|
flex-direction: column; |
|
overflow: hidden; |
|
|
|
|
|
transition: transform 0.7s cubic-bezier(0.25, 0.8, 0.25, 1), |
|
box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), |
|
border-color 0.3s ease, |
|
z-index 0.7s ease; |
|
|
|
margin-left: -30px; |
|
} |
|
|
|
|
|
.history-thumbnail-item:first-child { |
|
margin-left: 0; |
|
} |
|
|
|
.history-thumbnail-item:hover { |
|
|
|
transform: translateY(-15px) scale(1.15) rotate(0deg); |
|
box-shadow: 0 15px 40px rgba(0,0,0,0.5), |
|
inset 0 0 12px rgba(34, 211, 238, 0.25), |
|
0 0 15px rgba(34,211,238,0.4); |
|
border-color: #22d3ee; |
|
z-index: 100; |
|
} |
|
.history-thumbnail-item.active-history-item { |
|
border-color: #22d3ee; |
|
|
|
box-shadow: 0 10px 30px rgba(34, 211, 238, 0.3), |
|
inset 0 0 15px rgba(34, 211, 238, 0.3), |
|
0 0 10px rgba(34,211,238,0.4); |
|
|
|
z-index: 50; |
|
} |
|
.history-thumbnail-preview-container { |
|
width: 100%; |
|
height: calc(100% - 2rem); |
|
overflow: hidden; |
|
position: relative; |
|
border-bottom: 1px solid #334155; |
|
cursor: pointer; |
|
} |
|
.history-thumbnail-preview { |
|
width: 200%; |
|
height: 200%; |
|
transform: scale(0.5); |
|
transform-origin: 0 0; |
|
border: none; |
|
pointer-events: none; |
|
background-color: #fff; |
|
} |
|
.history-thumbnail-title { |
|
font-size: 0.65rem; |
|
color: #cbd5e1; |
|
padding: 0.25rem 0.5rem; |
|
text-align: center; |
|
white-space: nowrap; |
|
overflow: hidden; |
|
text-overflow: ellipsis; |
|
line-height: 1.25rem; |
|
cursor: pointer; |
|
} |
|
.history-thumbnail-fullscreen-btn { |
|
position: absolute; |
|
top: 0.25rem; |
|
right: 0.25rem; |
|
padding: 0.15rem; |
|
border-radius: 0.25rem; |
|
background-color: rgba(30, 41, 59, 0.6); |
|
color: #94a3b8; |
|
opacity: 0; |
|
transition: opacity 0.2s ease-in-out, background-color 0.2s, color 0.2s; |
|
z-index: 15; |
|
cursor: pointer; |
|
} |
|
.history-thumbnail-item:hover .history-thumbnail-fullscreen-btn { |
|
opacity: 1; |
|
} |
|
.history-thumbnail-fullscreen-btn:hover { |
|
background-color: rgba(51, 65, 85, 0.8); |
|
color: #e2e8f0; |
|
} |
|
.history-thumbnail-fullscreen-btn svg { |
|
width: 0.75rem; |
|
height: 0.75rem; |
|
} |
|
|
|
#history-panel-placeholder { |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
height: 100%; |
|
width: 100%; |
|
color: #64748b; |
|
font-size: 0.875rem; |
|
} |
|
|
|
|
|
@keyframes fadeInDistort { |
|
from { |
|
opacity: 0; |
|
transform: scale(0.9) skewY(3deg); |
|
} |
|
to { |
|
opacity: 1; |
|
transform: scale(1) skewY(0deg); |
|
} |
|
} |
|
|
|
@keyframes fadeOutDistort { |
|
from { |
|
opacity: 1; |
|
transform: scale(1) skewY(0deg); |
|
} |
|
to { |
|
opacity: 0; |
|
transform: scale(0.95) skewY(-2deg); |
|
} |
|
} |
|
|
|
.modal-anim-fade-in { |
|
animation: fadeInDistort 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards; |
|
} |
|
|
|
.modal-anim-fade-out { |
|
animation: fadeOutDistort 0.3s cubic-bezier(0.75, 0.2, 0.75, 0.2) forwards; |
|
} |
|
|
|
|
|
|
|
.modal-overlay { |
|
position: fixed; |
|
inset: 0; |
|
background-color: rgba(15, 23, 42, 0.8); |
|
backdrop-filter: blur(8px); |
|
-webkit-backdrop-filter: blur(8px); |
|
z-index: 1000; |
|
display: none; |
|
align-items: center; |
|
justify-content: center; |
|
padding: 2rem; |
|
opacity: 0; |
|
} |
|
.modal-overlay.visible { |
|
display: flex; |
|
opacity: 1; |
|
} |
|
.modal-content { |
|
background-color: #1e293b; |
|
padding: 1.5rem 2rem; |
|
border-radius: 0.75rem; |
|
border: 1px solid #334155; |
|
box-shadow: 0 10px 30px rgba(0,0,0,0.4); |
|
width: 100%; |
|
max-width: 42rem; |
|
display: flex; |
|
flex-direction: column; |
|
gap: 1rem; |
|
} |
|
#modal-user-prompt { |
|
min-height: 100px; |
|
resize: vertical; |
|
} |
|
.modal-button-secondary { |
|
background-color: #334155; |
|
color: #cbd5e1; |
|
border: 1px solid #475569; |
|
} |
|
.modal-button-secondary:hover:not(:disabled) { |
|
background-color: #475569; |
|
border-color: #64748b; |
|
color: #fff; |
|
} |
|
|
|
.history-nav-button { |
|
background-color: transparent; |
|
border: none; |
|
border-radius: 9999px; |
|
padding: 0.375rem; |
|
cursor: pointer; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
color: #64748b; |
|
transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; |
|
} |
|
|
|
.history-nav-button:hover:not(:disabled) { |
|
background-color: rgba(51, 65, 85, 0.7); |
|
color: #94a3b8; |
|
} |
|
|
|
.history-nav-button:disabled { |
|
color: #334155; |
|
cursor: not-allowed; |
|
opacity: 0.5; |
|
} |
|
|
|
|
|
#main-content-subtitle.prompt-truncated { |
|
cursor: pointer; |
|
text-decoration: underline dotted rgba(203, 213, 225, 0.5); |
|
transition: text-decoration-color 0.2s ease; |
|
} |
|
#main-content-subtitle.prompt-truncated:hover { |
|
text-decoration-color: rgba(34, 211, 238, 0.8); |
|
} |
|
|
|
|
|
#full-prompt-text { |
|
scrollbar-width: thin; |
|
scrollbar-color: #475569 rgba(30, 41, 59, 0.5); |
|
} |
|
#full-prompt-text::-webkit-scrollbar { |
|
width: 6px; |
|
} |
|
#full-prompt-text::-webkit-scrollbar-track { |
|
background: rgba(51, 65, 85, 0.3); |
|
border-radius: 3px; |
|
} |
|
#full-prompt-text::-webkit-scrollbar-thumb { |
|
background: #475569; |
|
border-radius: 3px; |
|
} |
|
#full-prompt-text::-webkit-scrollbar-thumb:hover { |
|
background: #64748b; |
|
} |
|
|
|
|
|
#initial-setup-cta { |
|
|
|
|
|
background-color: rgba(23, 37, 60, 0.75); |
|
backdrop-filter: blur(10px); |
|
-webkit-backdrop-filter: blur(10px); |
|
border: 1px solid #334155; |
|
border-radius: 0.75rem; |
|
box-shadow: 0 15px 35px rgba(0,0,0,0.3), inset 0 0 0 1px rgba(71, 85, 105, 0.4); |
|
padding: 2rem; |
|
width: 100%; |
|
max-width: 48rem; |
|
margin-left: auto; |
|
margin-right: auto; |
|
|
|
opacity: 0; |
|
transform: translateY(30px) scale(0.97); |
|
transition: opacity 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); |
|
pointer-events: none; |
|
} |
|
|
|
#initial-setup-cta.active-cta { |
|
opacity: 1; |
|
transform: translateY(0) scale(1); |
|
pointer-events: auto; |
|
} |
|
|
|
#gemini-logo-initial-cta { |
|
height: 40px; |
|
margin-bottom: 1.5rem; |
|
opacity: 0.85; |
|
} |
|
|
|
#initial-api-key-input { |
|
|
|
box-shadow: 0 0 15px rgba(34, 211, 238, 0.1); |
|
} |
|
|
|
.example-prompt-button { |
|
background-color: rgba(51, 65, 85, 0.7); |
|
backdrop-filter: blur(5px); |
|
border: 1px solid #475569; |
|
color: #cbd5e1; |
|
padding: 0.6rem 1.2rem; |
|
border-radius: 9999px; |
|
font-size: 0.875rem; |
|
font-weight: 500; |
|
cursor: pointer; |
|
box-shadow: 0 2px 5px rgba(0,0,0,0.2); |
|
|
|
opacity: 0; |
|
transform: translateY(15px); |
|
|
|
transition: background-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.35s cubic-bezier(0.25, 0.8, 0.25, 1); |
|
} |
|
|
|
.example-prompt-button.visible { |
|
opacity: 1; |
|
transform: translateY(0); |
|
} |
|
|
|
.example-prompt-button:hover { |
|
background-color: rgba(71, 85, 105, 0.85); |
|
color: #e2e8f0; |
|
box-shadow: 0 0 12px rgba(34, 211, 238, 0.25), 0 4px 8px rgba(0,0,0,0.3); |
|
transform: translateY(-2px); |
|
} |
|
|
|
.example-prompt-button.visible:hover { |
|
transform: translateY(-2px); |
|
} |
|
|
|
|
|
.example-prompt-button:active { |
|
transform: translateY(0px); |
|
box-shadow: 0 2px 5px rgba(0,0,0,0.2), 0 0 5px 1px rgba(34, 211, 238, 0.1); |
|
} |
|
|
|
.example-prompt-button.visible:active { |
|
transform: translateY(0px); |
|
} |
|
|
|
|
|
.variation-nav-button { |
|
background-color: rgba(30, 41, 59, 0.7); |
|
backdrop-filter: blur(5px); |
|
border: 1px solid #475569; |
|
color: #cbd5e1; |
|
border-radius: 9999px; |
|
padding: 0.75rem; |
|
cursor: pointer; |
|
transition: background-color 0.2s, color 0.2s, opacity 0.2s, transform 0.2s; |
|
box-shadow: 0 4px 10px rgba(0,0,0,0.3); |
|
} |
|
|
|
.variation-nav-button:hover:not(:disabled) { |
|
background-color: rgba(51, 65, 85, 0.85); |
|
color: #e2e8f0; |
|
transform: scale(1.1); |
|
} |
|
|
|
.variation-nav-button:disabled { |
|
opacity: 0.3; |
|
cursor: not-allowed; |
|
|
|
} |