SolarumAsteridion commited on
Commit
fd86bf0
·
verified ·
1 Parent(s): 4a00981

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +15 -20
index.html CHANGED
@@ -13,7 +13,7 @@
13
  --metal: #050506;
14
  --brass: #c5a059 ;
15
  --etch: #1a1a1c;
16
- --glow: rgba(0, 212, 255, 0.3);
17
  }
18
 
19
  * { margin: 0; padding: 0; box-sizing: border-box; }
@@ -67,7 +67,6 @@
67
  font-size: 0.75rem;
68
  transition: 0.3s;
69
  letter-spacing: 3px;
70
- box-shadow: inset 0 0 0 0 var(--glow);
71
  }
72
  .add-btn:hover {
73
  background: var(--brass);
@@ -81,16 +80,16 @@
81
  grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
82
  gap: 80px;
83
  width: 100%;
84
- perspective: 2000px; /* Essential for 3D */
85
  }
86
 
87
- /* 4x3 Rectangular Plate with 3D Effect */
88
  .brushed-plate {
89
  position: relative;
90
  background: #0d0d0f;
91
  border: 1px solid var(--etch);
92
  padding: 45px;
93
- transition: transform 0.2s ease-out, border-color 0.3s, box-shadow 0.3s;
94
  cursor: pointer;
95
  aspect-ratio: 4 / 3;
96
  display: flex;
@@ -100,20 +99,19 @@
100
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
101
  }
102
 
103
- /* Hover state - handled by JS for tilt, but fallback here */
104
  .brushed-plate:hover {
105
  border-color: var(--brass);
106
  box-shadow: 0 20px 50px rgba(0,0,0,0.8), 0 0 15px var(--glow);
107
  }
108
 
109
- /* 3D Inner Elements */
110
  .card-content {
111
- transform: translateZ(50px); /* Makes content "pop" off the plate */
112
  height: 100%;
113
  display: flex;
114
  flex-direction: column;
115
  justify-content: space-between;
116
  pointer-events: none;
 
117
  }
118
 
119
  .card-header {
@@ -132,7 +130,6 @@
132
  line-height: 0.8;
133
  color: #fff;
134
  margin: 20px 0;
135
- filter: drop-shadow(0 0 15px rgba(255,255,255,0.1));
136
  }
137
 
138
  .label-text {
@@ -144,9 +141,9 @@
144
 
145
  footer {
146
  font-family: monospace;
147
- opacity: 0.6;
148
  letter-spacing: 3px;
149
- font-size: 1.1rem; /* Larger Date */
150
  text-transform: uppercase;
151
  color: var(--brass);
152
  }
@@ -156,9 +153,8 @@
156
  color: #333; background: none; border: none;
157
  cursor: pointer; font-size: 1.5rem; transition: 0.3s;
158
  z-index: 10;
159
- transform: translateZ(20px);
160
  }
161
- .del:hover { color: #ff4b2b; transform: translateZ(30px) scale(1.2); }
162
 
163
  /* Modal Styles */
164
  .modal {
@@ -171,7 +167,6 @@
171
  .modal-box {
172
  background: #0d0d0f; border: 1px solid var(--brass);
173
  padding: 60px; width: 100%; max-width: 600px;
174
- box-shadow: 0 0 50px var(--glow);
175
  }
176
 
177
  input, textarea {
@@ -275,23 +270,23 @@
275
  }).join('');
276
  }
277
 
278
- // --- 3D Tilt Logic ---
279
  window.tilt = (e, card) => {
280
  const rect = card.getBoundingClientRect();
281
  const x = e.clientX - rect.left;
282
  const y = e.clientY - rect.top;
283
-
284
  const centerX = rect.width / 2;
285
  const centerY = rect.height / 2;
286
 
287
- const rotateX = (y - centerY) / 10;
288
- const rotateY = (centerX - x) / 10;
 
289
 
290
- card.style.transform = `rotateX(${rotateX}deg) rotateY(${rotateY}deg) translateY(-10px)`;
291
  };
292
 
293
  window.resetTilt = (card) => {
294
- card.style.transform = `rotateX(0deg) rotateY(0deg) translateY(0px)`;
295
  };
296
 
297
  window.delEx = (id) => { if(confirm("DESTRUCT NODE?")) remove(ref(database, `exams/${id}`)); };
 
13
  --metal: #050506;
14
  --brass: #c5a059 ;
15
  --etch: #1a1a1c;
16
+ --glow: rgba(197, 160, 89, 0.2);
17
  }
18
 
19
  * { margin: 0; padding: 0; box-sizing: border-box; }
 
67
  font-size: 0.75rem;
68
  transition: 0.3s;
69
  letter-spacing: 3px;
 
70
  }
71
  .add-btn:hover {
72
  background: var(--brass);
 
80
  grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
81
  gap: 80px;
82
  width: 100%;
83
+ perspective: 1500px;
84
  }
85
 
86
+ /* 4x3 Rectangular Plate */
87
  .brushed-plate {
88
  position: relative;
89
  background: #0d0d0f;
90
  border: 1px solid var(--etch);
91
  padding: 45px;
92
+ transition: transform 0.1s ease-out, border-color 0.3s, box-shadow 0.3s;
93
  cursor: pointer;
94
  aspect-ratio: 4 / 3;
95
  display: flex;
 
99
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
100
  }
101
 
 
102
  .brushed-plate:hover {
103
  border-color: var(--brass);
104
  box-shadow: 0 20px 50px rgba(0,0,0,0.8), 0 0 15px var(--glow);
105
  }
106
 
107
+ /* Card Content - Removed translateZ so it stays FLAT on the card */
108
  .card-content {
 
109
  height: 100%;
110
  display: flex;
111
  flex-direction: column;
112
  justify-content: space-between;
113
  pointer-events: none;
114
+ transform: translateZ(0); /* Ensure it is flat */
115
  }
116
 
117
  .card-header {
 
130
  line-height: 0.8;
131
  color: #fff;
132
  margin: 20px 0;
 
133
  }
134
 
135
  .label-text {
 
141
 
142
  footer {
143
  font-family: monospace;
144
+ opacity: 0.8;
145
  letter-spacing: 3px;
146
+ font-size: 1.2rem; /* Large Date */
147
  text-transform: uppercase;
148
  color: var(--brass);
149
  }
 
153
  color: #333; background: none; border: none;
154
  cursor: pointer; font-size: 1.5rem; transition: 0.3s;
155
  z-index: 10;
 
156
  }
157
+ .del:hover { color: #ff4b2b; transform: scale(1.2); }
158
 
159
  /* Modal Styles */
160
  .modal {
 
167
  .modal-box {
168
  background: #0d0d0f; border: 1px solid var(--brass);
169
  padding: 60px; width: 100%; max-width: 600px;
 
170
  }
171
 
172
  input, textarea {
 
270
  }).join('');
271
  }
272
 
273
+ // Tilt effect logic
274
  window.tilt = (e, card) => {
275
  const rect = card.getBoundingClientRect();
276
  const x = e.clientX - rect.left;
277
  const y = e.clientY - rect.top;
 
278
  const centerX = rect.width / 2;
279
  const centerY = rect.height / 2;
280
 
281
+ // Reduced tilt intensity for a cleaner feel
282
+ const rotateX = (y - centerY) / 15;
283
+ const rotateY = (centerX - x) / 15;
284
 
285
+ card.style.transform = `rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;
286
  };
287
 
288
  window.resetTilt = (card) => {
289
+ card.style.transform = `rotateX(0deg) rotateY(0deg)`;
290
  };
291
 
292
  window.delEx = (id) => { if(confirm("DESTRUCT NODE?")) remove(ref(database, `exams/${id}`)); };