Spaces:
Running
Running
File size: 2,751 Bytes
2c04447 487848b 2c04447 487848b 2c04447 487848b 2c04447 487848b 2c04447 487848b 2c04447 487848b 2c04447 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | /* Custom 3D Scene Styles */
:root {
--primary: #4f46e5;
--secondary: #0f172a;
--accent: #818cf8;
}
body {
margin: 0;
font-family: 'Inter', system-ui, -apple-system, sans-serif;
perspective: 1000px; /* Global perspective just in case */
}
.perspective-container {
perspective: 1200px;
}
.scene {
perspective: 1200px;
}
.carousel {
transform-style: preserve-3d;
transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
/* Room Card Styling */
.room-card {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
border-radius: 20px;
background: rgba(30, 41, 59, 0.7);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
display: flex;
flex-direction: column;
overflow: hidden;
transform-style: preserve-3d;
transition: all 0.5s ease;
cursor: pointer;
}
.room-card:hover {
border-color: var(--accent);
box-shadow: 0 0 20px rgba(99, 102, 241, 0.4);
}
.room-card.active {
box-shadow: 0 0 30px rgba(99, 102, 241, 0.6);
border: 2px solid var(--primary);
}
.room-card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
pointer-events: none;
}
.room-image {
width: 100%;
height: 60%;
object-fit: cover;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.room-content {
padding: 1.5rem;
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
transform: translateZ(20px); /* Pop out text */
}
/* Empty Room State */
.room-card.empty-state {
background: rgba(15, 23, 42, 0.6);
border: 2px dashed rgba(99, 102, 241, 0.3);
display: flex;
justify-content: center;
align-items: center;
}
.room-card.empty-state:hover {
background: rgba(99, 102, 241, 0.1);
border-color: var(--accent);
}
.plus-icon-large {
width: 64px;
height: 64px;
color: rgba(99, 102, 241, 0.5);
transition: transform 0.3s;
}
.room-card.empty-state:hover .plus-icon-large {
transform: scale(1.2) rotate(90deg);
color: var(--accent);
}
/* Animations */
@keyframes blob {
0% { transform: translate(0px, 0px) scale(1); }
33% { transform: translate(30px, -50px) scale(1.1); }
66% { transform: translate(-20px, 20px) scale(0.9); }
100% { transform: translate(0px, 0px) scale(1); }
}
.animate-blob {
animation: blob 7s infinite;
}
.animation-delay-2000 {
animation-delay: 2s;
}
.animation-delay-4000 {
animation-delay: 4s;
}
/* Scrollbar hide */
::-webkit-scrollbar {
display: none;
} |