|
6 | 6 | <title>Scrapbook Wall | Daniel Han</title> |
7 | 7 | <link rel="icon" type="image/png" href="images/f1zzyicon.png"> |
8 | 8 | <link rel="stylesheet" href="styles.css"> |
9 | | - <link href="https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&family=Inter:wght@400;600&display=swap" rel="stylesheet"> |
| 9 | + <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" rel="stylesheet"> |
10 | 10 | <style> |
| 11 | + /* CUSTOM HANDWRITING FONT */ |
| 12 | + @font-face { |
| 13 | + font-family: 'F1zzyFont'; |
| 14 | + src: url('fonts/f1zzyfont.ttf') format('truetype'); |
| 15 | + font-weight: normal; |
| 16 | + font-style: normal; |
| 17 | + } |
| 18 | + |
11 | 19 | body { overflow: hidden; background: #0a0a0a; margin: 0; } |
12 | 20 |
|
13 | 21 | .section-title { |
|
33 | 41 | border-image: linear-gradient(to bottom right, #8b5a2b, #6f4e37, #4e3621) 1; |
34 | 42 | box-shadow: 0 15px 35px rgba(0,0,0,0.6), inset 0 0 100px rgba(0,0,0,0.3); |
35 | 43 | border-radius: 4px; |
36 | | - overflow: hidden; |
37 | 44 | } |
38 | 45 |
|
39 | 46 | .polaroid { |
40 | 47 | position: absolute; |
41 | | - background: #fdfdfd; |
| 48 | + background-color: #f1e7d0; |
| 49 | + background-image: |
| 50 | + linear-gradient(rgba(0,0,0,0.01) 1px, transparent 1px), |
| 51 | + linear-gradient(90deg, rgba(0,0,0,0.01) 1px, transparent 1px), |
| 52 | + linear-gradient(25deg, transparent 65%, rgba(181, 153, 110, 0.1) 75%, transparent 85%), |
| 53 | + radial-gradient(circle at 20% 30%, rgba(204, 178, 140, 0.15) 0%, transparent 40%), |
| 54 | + radial-gradient(circle at 70% 80%, rgba(190, 160, 120, 0.1) 0%, transparent 50%); |
| 55 | + background-size: 100% 100%; |
42 | 56 | padding: 12px 12px 55px 12px; |
43 | 57 | box-shadow: 2px 5px 15px rgba(0,0,0,0.4); |
44 | 58 | width: 200px; |
|
57 | 71 | background: #fff; |
58 | 72 | padding: 15px; |
59 | 73 | height: 180px; |
60 | | - display: block; /* Changed from flex to block */ |
| 74 | + display: block; |
61 | 75 | overflow: hidden; |
62 | 76 | border: 1px solid #ddd; |
63 | 77 | position: relative; |
64 | | - transition: background 1.2s ease, border-color 1.2s ease, height 0.6s cubic-bezier(0.4, 0, 0.2, 1); |
| 78 | + transition: background 1.2s ease, border-color 1.2s ease, height 0.6s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 1.2s ease; |
65 | 79 | } |
66 | 80 |
|
67 | 81 | .develop-prompt { |
68 | | - font-family: 'Nanum Pen Script', cursive; |
| 82 | + font-family: 'F1zzyFont', cursive; |
69 | 83 | color: #bbb; |
70 | | - font-size: 1.4rem; |
| 84 | + font-size: 3.6rem; |
71 | 85 | transition: opacity 0.5s ease; |
72 | 86 | pointer-events: none; |
73 | 87 | text-align: center; |
74 | | - line-height: 1.2; |
75 | | - /* Absolute centering so padding doesn't push it */ |
| 88 | + line-height: 0.6; |
76 | 89 | position: absolute; |
77 | 90 | top: 50%; |
78 | 91 | left: 50%; |
|
81 | 94 | } |
82 | 95 |
|
83 | 96 | .develop-prompt span { display: block; } |
84 | | - |
85 | 97 | .polaroid.expanded .develop-prompt { display: none; } |
86 | 98 |
|
| 99 | + /* ========================================================= |
| 100 | + PHOTOREALISTIC 3D ANCIENT SCROLL (EXPANDED STATE) |
| 101 | + ========================================================= */ |
| 102 | + |
| 103 | + /* Hide the modern tape and caption when it turns into a scroll */ |
| 104 | + .polaroid.expanded .polaroid-caption, |
| 105 | + .polaroid.expanded .tape { |
| 106 | + display: none !important; |
| 107 | + } |
| 108 | + |
| 109 | + /* Master Container - Acts as the invisible anchor for the 3D rolls */ |
| 110 | + .polaroid.expanded { |
| 111 | + top: 50% !important; |
| 112 | + left: 50% !important; |
| 113 | + transform: translate(-50%, -50%) rotate(0deg) !important; |
| 114 | + width: 80vw !important; |
| 115 | + max-width: 900px !important; |
| 116 | + height: 80vh !important; |
| 117 | + z-index: 10000 !important; |
| 118 | + cursor: default; |
| 119 | + |
| 120 | + /* Strip all Polaroid formatting */ |
| 121 | + background: transparent !important; |
| 122 | + background-image: none !important; |
| 123 | + box-shadow: none !important; |
| 124 | + padding: 0 !important; |
| 125 | + |
| 126 | + /* Global drop shadow for the entire scroll structure */ |
| 127 | + filter: drop-shadow(0 40px 50px rgba(0,0,0,0.8)); |
| 128 | + } |
| 129 | + |
| 130 | + /* TOP 3D ROLL - Simulates the cylindrical top of the scroll */ |
| 131 | + .polaroid.expanded::before { |
| 132 | + content: ""; |
| 133 | + position: absolute; |
| 134 | + top: -15px; |
| 135 | + left: -1.5%; |
| 136 | + width: 103%; |
| 137 | + height: 55px; |
| 138 | + /* Complex 3D cylinder lighting */ |
| 139 | + background: linear-gradient(to bottom, #d4a76a 0%, #f4d39f 20%, #c49250 55%, #6a421b 90%, #301a05 100%); |
| 140 | + border-radius: 8px / 25px; |
| 141 | + box-shadow: inset 0 0 15px rgba(60, 30, 5, 0.5), 0 15px 25px rgba(0,0,0,0.7); |
| 142 | + z-index: 10; |
| 143 | + pointer-events: none; |
| 144 | + } |
| 145 | + |
| 146 | + /* BOTTOM 3D ROLL - Simulates the cylindrical bottom of the scroll */ |
| 147 | + .polaroid.expanded::after { |
| 148 | + content: ""; |
| 149 | + position: absolute; |
| 150 | + bottom: -15px; |
| 151 | + left: -1.5%; |
| 152 | + width: 103%; |
| 153 | + height: 55px; |
| 154 | + /* Reverse 3D cylinder lighting */ |
| 155 | + background: linear-gradient(to top, #d4a76a 0%, #f4d39f 20%, #c49250 55%, #6a421b 90%, #301a05 100%); |
| 156 | + border-radius: 8px / 25px; |
| 157 | + box-shadow: inset 0 0 15px rgba(60, 30, 5, 0.5), 0 -15px 25px rgba(0,0,0,0.7); |
| 158 | + z-index: 10; |
| 159 | + pointer-events: none; |
| 160 | + } |
| 161 | + |
| 162 | + /* THE PARCHMENT SHEET */ |
87 | 163 | .polaroid.expanded .polaroid-photo { |
88 | | - background: #111; |
89 | | - border-color: #222; |
90 | | - height: 400px; |
| 164 | + height: 100% !important; |
| 165 | + max-height: none !important; |
91 | 166 | overflow-y: auto; |
| 167 | + overflow-x: hidden; |
| 168 | + padding: 70px 80px !important; /* Forces text inside the scroll boundaries */ |
| 169 | + |
| 170 | + background-color: #e4c28f !important; /* Deep aged yellow/brown base */ |
| 171 | + background-image: |
| 172 | + /* Heavy dark edge burns */ |
| 173 | + linear-gradient(to right, rgba(50,20,0,0.8) 0%, rgba(50,20,0,0.1) 6%, transparent 15%, transparent 85%, rgba(50,20,0,0.1) 94%, rgba(50,20,0,0.8) 100%), |
| 174 | + /* Deep grunge blotches and coffee rings */ |
| 175 | + radial-gradient(ellipse at 10% 20%, rgba(90, 45, 10, 0.3) 0%, transparent 45%), |
| 176 | + radial-gradient(ellipse at 85% 85%, rgba(70, 35, 5, 0.4) 0%, transparent 55%), |
| 177 | + radial-gradient(circle at 45% 50%, rgba(120, 70, 20, 0.2) 0%, transparent 75%), |
| 178 | + radial-gradient(circle at 75% 30%, rgba(50, 20, 0, 0.2) 0%, transparent 35%), |
| 179 | + /* Inline SVG Fractal Noise for hyper-realistic paper grain/fibers */ |
| 180 | + url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="4" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.3"/></svg>') !important; |
| 181 | + |
| 182 | + border: none !important; |
| 183 | + |
| 184 | + /* Ragged physically torn paper edges (Left and Right) */ |
| 185 | + clip-path: polygon( |
| 186 | + 0.5% 0%, 99.5% 0%, |
| 187 | + 100% 5%, 99.2% 12%, 100% 22%, 99.5% 35%, 100% 45%, 99.1% 58%, 100% 68%, 99.4% 78%, 100% 88%, 99.6% 96%, 100% 100%, |
| 188 | + 0% 100%, |
| 189 | + 0.4% 96%, 0% 88%, 0.6% 78%, 0% 68%, 0.9% 58%, 0% 45%, 0.5% 35%, 0% 22%, 0.8% 12%, 0% 5% |
| 190 | + ); |
92 | 191 | } |
93 | 192 |
|
| 193 | + /* Custom Scrollbar for the Parchment */ |
| 194 | + .polaroid.expanded .polaroid-photo::-webkit-scrollbar { width: 8px; } |
| 195 | + .polaroid.expanded .polaroid-photo::-webkit-scrollbar-track { background: transparent; } |
| 196 | + .polaroid.expanded .polaroid-photo::-webkit-scrollbar-thumb { background: rgba(80, 40, 10, 0.5); border-radius: 4px; } |
| 197 | + .polaroid.expanded .polaroid-photo::-webkit-scrollbar-thumb:hover { background: rgba(80, 40, 10, 0.8); } |
| 198 | + |
| 199 | + /* REALISTIC INK TEXT */ |
94 | 200 | .poem-body { |
95 | 201 | color: #fff; |
96 | | - line-height: 1.7; |
97 | | - font-size: 0.8rem; |
98 | | - font-family: 'Inter', sans-serif; |
| 202 | + line-height: 0.7; |
| 203 | + font-size: 2rem; |
| 204 | + font-family: 'F1zzyFont', sans-serif; |
99 | 205 | white-space: pre-line; |
100 | 206 | margin: 0; |
101 | 207 | opacity: 0; |
102 | 208 | filter: blur(5px); |
103 | | - transition: opacity 1.5s ease 0.3s, filter 1.5s ease 0.3s; |
| 209 | + transition: opacity 1.5s ease 0.3s, filter 1.5s ease 0.3s, color 1.5s ease, text-shadow 1.5s ease; |
104 | 210 | } |
105 | 211 |
|
106 | 212 | .polaroid.expanded .poem-body { |
107 | 213 | opacity: 1; |
108 | 214 | filter: blur(0); |
109 | | - font-size: 1rem; |
| 215 | + font-size: 5.5rem; |
| 216 | + |
| 217 | + /* Deep charcoal black ink with a slight bleed/blur into the paper */ |
| 218 | + color: #111; |
| 219 | + text-shadow: 0px 0px 3px rgba(0,0,0,0.4); |
110 | 220 | } |
111 | 221 |
|
112 | 222 | .polaroid.closing .poem-body { |
113 | 223 | transition: none !important; |
114 | 224 | opacity: 0 !important; |
115 | 225 | } |
116 | 226 |
|
| 227 | + /* POLAROID BASE CAPTION */ |
117 | 228 | .polaroid-caption { |
118 | 229 | position: absolute; |
119 | 230 | bottom: 8px; |
120 | 231 | left: 0; |
121 | 232 | width: 100%; |
122 | 233 | padding: 0 10px; |
123 | 234 | box-sizing: border-box; |
124 | | - color: #333; |
125 | | - font-size: 1.2rem; |
| 235 | + color: #4a3721; |
| 236 | + font-size: 2.5rem; |
126 | 237 | line-height: 1.1; |
127 | | - font-family: 'Nanum Pen Script', cursive; |
| 238 | + font-family: 'F1zzyFont', cursive; |
128 | 239 | text-align: center; |
129 | | - opacity: 0.8; |
130 | | - } |
131 | | - |
132 | | - .polaroid.expanded { |
133 | | - top: 50% !important; |
134 | | - left: 50% !important; |
135 | | - transform: translate(-50%, -50%) rotate(0deg) !important; |
136 | | - width: 450px; |
137 | | - z-index: 10000 !important; |
138 | | - cursor: default; |
139 | | - box-shadow: 0 30px 60px rgba(0,0,0,0.8); |
| 240 | + opacity: 0.85; |
| 241 | + white-space: nowrap; |
| 242 | + overflow: hidden; |
| 243 | + text-overflow: ellipsis; |
140 | 244 | } |
141 | 245 |
|
142 | 246 | .close-btn { |
|
0 commit comments