/* Use Inter font */
html { font-family: 'Inter', sans-serif; }
@supports (font-variation-settings: normal) {
html { font-family: 'Inter var', sans-serif; }
}
/* --- Base Futuristic Theme --- */
body {
/* background-color: #0f172a; */ /* slate-900 - Old background */
background-color: #02040a; /* Deepest space blue/black */
background-image: radial-gradient(ellipse at center,
#1a2035 0%, /* Inner glow - dark indigo */
#0f172a 40%, /* Mid-tone slate/blue */
#02040a 75% /* Fading to deep space */
);
background-attachment: fixed; /* Keeps the gradient fixed during scroll */
color: #cbd5e1; /* slate-300 */
overflow: hidden; /* Prevent body scroll, manage scrolling in sections */
min-height: 100vh; /* Ensure gradient covers full viewport height */
}
/* Apply justify-center to main-content when CTA is active */
#main-content.justify-center-cta-active {
justify-content: center;
}
/* --- Layout Heights --- */
:root {
--history-panel-expanded-height: 12rem; /* 192px */
--history-panel-collapsed-height: 0rem; /* Can be 0 or a small value for a visible collapsed bar */
--history-panel-toggle-button-height: 2.5rem; /* Height of the toggle button area */
--history-panel-current-height: var(--history-panel-collapsed-height); /* Initial state: collapsed */
}
#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;
}
/* Hide scrollbar for specific elements */
#history-panel::-webkit-scrollbar { display: none; }
#history-panel { -ms-overflow-style: none; scrollbar-width: none; }
/* Custom scrollbar for main content */
#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 Scrollbar */
#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 styling in config modal */
#code-output-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.5rem; /* mb-2 */
}
#copy-code-button {
background-color: #334155; /* slate-700 */
color: #94a3b8; /* slate-400 */
padding: 0.25rem 0.75rem; /* py-1 px-3 */
font-size: 0.75rem; /* text-xs */
border-radius: 0.375rem; /* rounded-md */
transition: background-color 0.2s, color 0.2s;
line-height: 1; /* Ensure icon is vertically centered */
}
#copy-code-button:hover {
background-color: #475569; /* slate-600 */
color: #cbd5e1; /* slate-300 */
}
#copy-code-button.copied {
background-color: #059669; /* emerald-600 */
color: white;
}
#export-code-button {
background-color: #334155; /* slate-700 */
color: #94a3b8; /* slate-400 */
padding: 0.25rem 0.75rem; /* py-1 px-3 */
font-size: 0.75rem; /* text-xs */
border-radius: 0.375rem; /* rounded-md */
transition: background-color 0.2s, color 0.2s, opacity 0.2s;
line-height: 1; /* Ensure icon is vertically centered */
}
#export-code-button:hover:not(:disabled) {
background-color: #475569; /* slate-600 */
color: #cbd5e1; /* slate-300 */
}
#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 styling */
.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 */
.spinner {
width: 2rem; height: 2rem;
border: 4px solid rgba(71, 85, 105, 0.3);
border-left-color: #22d3ee; /* cyan-400 */
border-radius: 50%; animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
/* Refinement loading */
#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; }
/* Slider value */
#interval-value, #num-variations-value { font-weight: 600; color: #22d3ee; }
/* Config Button (replaces sidebar toggle) */
#top-left-controls {
position: fixed; top: 1rem; left: 1rem; z-index: 60;
display: flex;
gap: 0.5rem; /* Space between buttons */
}
#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; /* Center icon */
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;
}
/* Full Screen Overlay */
#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;
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 {
flex-grow: 1; width: 100%; height: 100%; border: 1px solid #334155;
border-radius: 0.5rem; background-color: white;
margin-top: 3rem; /* Add space for top buttons */
}
#exit-fullscreen-btn {
position: absolute; top: 1.5rem; right: 1.5rem; z-index: 955; /* Above nav buttons */
background-color: #ef4444; color: white;
}
#exit-fullscreen-btn:hover { background-color: #dc2626; }
/* Fullscreen History Navigation Buttons */
#fullscreen-history-nav {
position: absolute;
top: 1.5rem;
left: 50%;
transform: translateX(-50%);
z-index: 950; /* Below exit button, above iframe */
display: none; /* Hidden by default */
gap: 1rem;
}
#fullscreen-history-nav.visible {
display: flex; /* Show when needed */
}
#fullscreen-history-nav button {
background-color: rgba(51, 65, 85, 0.8); /* slate-700/80 */
color: #cbd5e1; /* slate-300 */
border: 1px solid #64748b; /* slate-500 */
padding: 0.5rem 1rem; /* py-2 px-4 */
border-radius: 0.375rem; /* rounded-md */
font-size: 0.875rem; /* text-sm */
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); /* slate-600/90 */
border-color: #94a3b8; /* slate-400 */
color: #fff;
}
#fullscreen-history-nav button:disabled {
background-color: rgba(51, 65, 85, 0.5);
border-color: #475569; /* slate-600 */
color: #64748b; /* slate-500 */
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 Grid Styles (for 4 variations) */
#perspective-viewport {
flex-grow: 1; min-height: 0; display: flex;
justify-content: center;
padding: 0.5rem;
perspective: 1500px;
overflow: hidden;
}
#preview-grid-wrapper {
display: grid;
width: 98%; max-width: 1200px;
height: 95%;
transition: transform 0.5s ease-out;
}
#preview-grid-wrapper.grid-mode {
grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(2, 1fr); gap: 1.5rem;
transform-style: preserve-3d;
transform: rotateX(10deg) rotateY(0deg) scale(0.95);
}
#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;
}
.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;
transform-style: preserve-3d;
transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
border: 1px solid #475569;
height: 100%; /* Added to fill grid cell height */
}
.preview-item-perspective:hover:not(.selected) {
transform: translateY(-8px) scale(1.03) translateZ(5px);
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) translateZ(20px);
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;
}
.single-preview-item {
width: 100%; height: 100%;
background-color: rgba(30, 41, 59, 0.5);
border: 1px solid #334155;
border-radius: 0.5rem;
display: flex; flex-direction: column; overflow: hidden;
}
/* Futuristic input/select styles */
.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 styles */
.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);
}
/* Range slider styling */
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 (Bottom) --- */
#history-panel-controls {
height: var(--history-panel-toggle-button-height);
display: flex;
align-items: center;
justify-content: center; /* Center the group */
gap: 1rem; /* Space between nav arrows and toggle */
background-color: rgba(15, 23, 42, 0.9); /* Match history panel bg */
border-top: 1px solid #334155; /* Match history panel border */
position: relative; /* For potential absolute positioning of button if needed or pseudo-elements */
z-index: 51; /* Above history panel content, below modals */
}
#history-toggle-button {
background-color: rgba(51, 65, 85, 0.7); /* slate-700 with alpha */
border: 1px solid #475569; /* slate-600 */
border-radius: 9999px; /* pill shape */
padding: 0.375rem; /* py-1.5 px-1.5 (adjust based on icon size) */
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: #94a3b8; /* slate-400 for icon */
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; /* slate-300 */
box-shadow: 0 0 10px rgba(34, 211, 238, 0.2);
}
#history-toggle-button svg {
width: 1.25rem; /* w-5 */
height: 1.25rem; /* h-5 */
}
#history-panel {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: var(--history-panel-current-height); /* Use CSS variable */
background-color: rgba(15, 23, 42, 0.9);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
/* border-top: 1px solid #334155; Removed as controls has it now */
padding: 1rem 2rem; /* Add more horizontal padding for fan effect */
z-index: 50;
overflow-x: auto;
overflow-y: hidden;
display: flex;
align-items: center;
/* gap: 1rem; Remove fixed gap, overlaps will be handled by transforms */
transition: height 0.3s ease-in-out, padding 0.3s ease-in-out, opacity 0.3s ease-in-out;
opacity: 1;
perspective: 1000px; /* Add perspective for 3D transforms */
}
#history-panel.history-collapsed {
/* height is controlled by --history-panel-current-height via JS */
padding-top: 0;
padding-bottom: 0;
opacity: 0;
overflow: hidden; /* Ensure content is clipped during collapse */
}
/* Hide thumbnails when panel is collapsed to prevent interaction/layout issues */
#history-panel.history-collapsed .history-thumbnail-item,
#history-panel.history-collapsed #history-panel-placeholder {
display: none;
}
.history-thumbnail-item {
position: relative; /* Keep for z-index */
flex-shrink: 0;
width: 10rem;
height: 7.5rem;
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;
/* transform-style: preserve-3d; Remove this */
/* transform: perspective(600px) rotateY(-8deg) rotateX(3deg) translateZ(-15px); Remove static transform */
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; /* Add z-index transition */
/* Add margin to handle potential overlap calculations if needed, maybe negative */
margin-left: -30px; /* Example: Pull items closer together */
}
/* Pull first item back to the left */
.history-thumbnail-item:first-child {
margin-left: 0;
}
.history-thumbnail-item:hover {
/* transform: perspective(600px) rotateY(-3deg) rotateX(1deg) translateZ(0px) scale(1.08); */ /* Remove old hover transform */
transform: translateY(-15px) scale(1.15) rotate(0deg); /* Bring up, scale, and un-rotate on hover */
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; /* Ensure hovered item is on top */
}
.history-thumbnail-item.active-history-item {
border-color: #22d3ee;
/* transform: perspective(600px) rotateY(-4deg) rotateX(2deg) translateZ(0px) scale(1.06); */ /* Remove old active transform */
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);
/* Active item might need slightly different base transform/z-index set by JS */
z-index: 50; /* Ensure active is above others but below hover */
}
.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: 400%;
height: 400%;
transform: scale(0.25);
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;
}
/* --- Modal Animation Effects --- */
@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;
}
/* --- Modals (Prompt & Config) --- */
.modal-overlay { /* Common class for overlays */
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; /* Start transparent for animation */
}
.modal-overlay.visible {
display: flex;
opacity: 1;
}
.modal-content { /* Common class for content box */
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 { /* Specific to prompt modal */
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; /* Make nav buttons less prominent */
border: none;
border-radius: 9999px;
padding: 0.375rem;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: #64748b; /* slate-500 for icon, less prominent */
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; /* slate-400 */
}
.history-nav-button:disabled {
color: #334155; /* slate-700 - very faded */
cursor: not-allowed;
opacity: 0.5;
}
/* Style for truncated prompt subtitle to indicate clickability */
#main-content-subtitle.prompt-truncated {
cursor: pointer;
text-decoration: underline dotted rgba(203, 213, 225, 0.5); /* slate-300 dotted underline */
transition: text-decoration-color 0.2s ease;
}
#main-content-subtitle.prompt-truncated:hover {
text-decoration-color: rgba(34, 211, 238, 0.8); /* cyan-400 */
}
/* Ensure prompt display modal text area is styled correctly */
#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 Styles --- */
#initial-setup-cta {
/* Default to flex for when it becomes visible */
/* flex-grow is added by JS when active */
background-color: rgba(23, 37, 60, 0.75); /* Slightly bluer, less opaque than modals */
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid #334155; /* slate-700 */
border-radius: 0.75rem; /* rounded-xl */
box-shadow: 0 15px 35px rgba(0,0,0,0.3), inset 0 0 0 1px rgba(71, 85, 105, 0.4); /* slate-600 for inset border */
padding: 2rem; /* Increased padding */
width: 100%;
max-width: 48rem; /* Consistent max width, e.g., max-w-3xl */
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; /* Adjust as needed */
margin-bottom: 1.5rem; /* Space below the logo */
opacity: 0.85; /* Slightly see-through to blend a bit */
}
#initial-api-key-input {
/* Uses .futuristic-input, can add specifics if needed */
box-shadow: 0 0 15px rgba(34, 211, 238, 0.1); /* Subtle glow on input */
}
.example-prompt-button {
background-color: rgba(51, 65, 85, 0.7); /* slate-700 with alpha */
backdrop-filter: blur(5px);
border: 1px solid #475569; /* slate-600 */
color: #cbd5e1; /* slate-300 */
padding: 0.6rem 1.2rem; /* Adjusted padding */
border-radius: 9999px; /* pill shape */
font-size: 0.875rem; /* text-sm */
font-weight: 500;
cursor: pointer;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
opacity: 0;
transform: translateY(15px);
/* Add opacity and transform to existing transition */
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); /* slate-600 with alpha */
color: #e2e8f0; /* slate-200 */
box-shadow: 0 0 12px rgba(34, 211, 238, 0.25), 0 4px 8px rgba(0,0,0,0.3);
transform: translateY(-2px); /* Keep existing translateY but ensure it combines with the initial one */
}
.example-prompt-button.visible:hover {
transform: translateY(-2px); /* Explicitly for visible state */
}
.example-prompt-button:active {
transform: translateY(0px); /* Reset or slightly depress */
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);
}