evalstate commited on
Commit
361428e
·
1 Parent(s): 4056e95

Update punny cat-diorama newspaper front page

Browse files
assets/story1-rocket.webp ADDED
assets/story2-mars-gps.webp ADDED
assets/story3-dark-galaxy.webp ADDED
news.html CHANGED
@@ -3,381 +3,588 @@
3
  <head>
4
  <meta charset="utf-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>The Daily Purr-ograph — Top Headlines</title>
 
 
 
 
 
 
 
7
  <style>
8
  :root{
9
- --paper:#f6f0e4;
10
- --ink:#111;
11
- --muted:#3b3b3b;
12
- --rule:#2a2a2a;
13
- --soft-rule:rgba(0,0,0,.18);
14
- --accent:#8b0000;
 
 
 
 
 
 
 
 
15
  }
16
 
17
- *{box-sizing:border-box;}
 
18
 
19
  body{
20
  margin:0;
21
- background:radial-gradient(1200px 700px at 30% 15%, #fff7e8 0%, var(--paper) 55%, #efe6d6 100%);
22
  color:var(--ink);
23
- font-family: Georgia, "Times New Roman", Times, serif;
24
- line-height:1.45;
25
- }
26
-
27
- a{color:inherit; text-decoration-thickness: .08em; text-underline-offset: .14em;}
28
- a:hover{color:var(--accent)}
29
-
30
- .page{
31
- max-width:1120px;
32
- margin:26px auto;
33
- padding:22px 22px 34px;
34
- border:1px solid var(--soft-rule);
35
  background:
36
- linear-gradient(to bottom, rgba(0,0,0,.035), rgba(0,0,0,0) 110px),
37
- var(--paper);
38
- box-shadow:
39
- 0 20px 55px rgba(0,0,0,.18),
40
- 0 2px 0 rgba(255,255,255,.7) inset;
41
  position:relative;
42
- overflow:hidden;
43
  }
44
 
45
- /* subtle “print” speckle */
46
- .page:before{
47
  content:"";
48
- position:absolute;
49
- inset:0;
50
- background-image:
51
- radial-gradient(rgba(0,0,0,.06) 1px, transparent 1px);
52
- background-size: 17px 17px;
53
- opacity:.18;
54
  pointer-events:none;
 
 
 
55
  mix-blend-mode:multiply;
 
 
 
56
  }
57
 
58
- header{
59
- position:relative;
60
- z-index:1;
61
- border-bottom:4px double var(--rule);
62
- padding-bottom:12px;
63
- margin-bottom:12px;
 
64
  }
65
 
66
- .topline{
67
  display:flex;
 
68
  align-items:flex-end;
69
  justify-content:space-between;
70
- gap:16px;
71
- padding-bottom:10px;
72
- border-bottom:1px solid var(--soft-rule);
73
- margin-bottom:10px;
74
- font-size:12.5px;
75
- letter-spacing:.02em;
76
- color:var(--muted);
77
- text-transform:uppercase;
78
  }
79
 
80
- .mast{
81
- display:grid;
82
- grid-template-columns: 1fr auto 1fr;
83
- gap:14px;
84
- align-items:end;
 
 
 
85
  }
86
 
87
- .mast .tag{
88
- font-style:italic;
89
- color:var(--muted);
90
- font-size:13px;
91
- text-align:left;
92
- padding-bottom:6px;
93
- border-bottom:1px solid var(--soft-rule);
 
 
94
  }
95
 
96
- h1{
97
- margin:0;
98
- font-size:56px;
99
- line-height:1;
100
- letter-spacing:-.02em;
101
  text-align:center;
 
102
  }
103
 
104
- .mast .price{
105
- font-size:13px;
106
- color:var(--muted);
107
- text-align:right;
108
- padding-bottom:6px;
109
- border-bottom:1px solid var(--soft-rule);
 
 
 
 
 
 
 
 
 
110
  }
111
 
112
- .breaking{
113
- margin-top:12px;
114
  display:flex;
115
- gap:10px;
116
  align-items:center;
117
- border:1px solid var(--rule);
118
- padding:8px 10px;
119
- background:rgba(255,255,255,.35);
120
- }
121
-
122
- .breaking .label{
123
- background:var(--accent);
124
- color:white;
125
- font-weight:700;
126
- padding:4px 8px;
127
- letter-spacing:.08em;
128
- text-transform:uppercase;
129
- font-size:12px;
130
  }
131
 
132
- .breaking .text{
133
- font-size:14px;
134
- color:var(--muted);
 
 
 
135
  }
136
 
137
- main{
138
- position:relative;
139
- z-index:1;
140
- }
141
 
142
- .grid{
143
  display:grid;
144
- grid-template-columns: 1.2fr .8fr;
145
- gap:18px;
146
- margin-top:14px;
147
  }
148
 
149
- .panel{
150
- border:1px solid var(--soft-rule);
151
- background:rgba(255,255,255,.22);
152
- padding:14px;
153
  }
154
 
 
 
 
 
 
 
 
 
 
 
155
  .story{
156
- border-top:3px solid var(--rule);
157
- padding-top:12px;
158
- margin-top:10px;
159
  }
 
160
 
161
- .story:first-child{border-top:0; padding-top:0; margin-top:0;}
 
 
 
 
 
 
 
 
 
 
162
 
163
- .kicker{
164
- font-size:12px;
165
- letter-spacing:.12em;
166
- text-transform:uppercase;
167
- color:var(--accent);
168
- font-weight:700;
169
- margin-bottom:6px;
170
  }
171
 
172
  .headline{
173
- font-size:28px;
174
- line-height:1.15;
175
- margin:0 0 6px;
 
176
  }
177
 
178
- .subhead{
179
- font-size:15px;
180
- margin:0 0 12px;
181
- color:var(--muted);
182
- font-style:italic;
 
183
  }
184
 
185
- .meta{
 
186
  display:flex;
187
  flex-wrap:wrap;
188
- gap:10px 14px;
189
- font-size:12.5px;
190
- color:var(--muted);
191
- margin:0 0 10px;
192
  }
193
 
194
- .meta span{white-space:nowrap;}
195
 
196
- .lede{
197
- font-size:15.5px;
198
- margin:0;
199
- }
200
-
201
- .lede:first-letter{
202
- float:left;
203
- font-size:52px;
204
- line-height:.9;
205
- padding:6px 8px 0 0;
206
- font-weight:700;
207
- color:#0f0f0f;
 
 
 
 
 
 
 
208
  }
209
 
210
  figure{
211
- margin:12px 0 0;
212
- border:1px solid var(--soft-rule);
213
- padding:8px;
214
- background:rgba(255,255,255,.35);
215
  }
216
 
217
  figure img{
218
  width:100%;
219
  height:auto;
220
  display:block;
221
- border:1px solid rgba(0,0,0,.15);
222
  }
223
 
224
  figcaption{
225
- margin-top:7px;
226
- font-size:12.5px;
227
- color:var(--muted);
 
 
 
 
 
 
 
 
 
 
228
  }
229
 
230
- .two-up{
231
- display:grid;
232
- grid-template-columns: 1fr 1fr;
233
- gap:18px;
234
- margin-top:18px;
235
  }
236
 
237
- .small .headline{font-size:20px;}
238
- .small .lede{font-size:14.5px;}
 
 
 
 
 
239
 
240
- .sidebar h2{
241
- margin:0 0 8px;
242
- font-size:18px;
243
- letter-spacing:.06em;
244
- text-transform:uppercase;
245
- border-bottom:1px solid var(--soft-rule);
246
- padding-bottom:6px;
247
  }
248
 
249
- .briefs{
250
- list-style:none;
251
- padding:0;
252
- margin:0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  display:grid;
254
  gap:10px;
255
- font-size:14px;
256
- color:var(--muted);
257
  }
258
 
259
- .briefs li{
260
- padding-left:10px;
261
- border-left:3px solid rgba(139,0,0,.35);
 
 
 
 
 
262
  }
263
 
264
- .source{
265
- font-size:12.5px;
266
- color:var(--muted);
267
- margin-top:10px;
 
 
 
 
 
 
 
 
268
  }
269
 
270
- footer{
271
- position:relative;
272
- z-index:1;
273
- margin-top:22px;
274
- padding-top:12px;
275
- border-top:4px double var(--rule);
 
 
 
 
 
 
 
276
  display:flex;
277
  flex-wrap:wrap;
 
278
  justify-content:space-between;
279
- gap:10px;
280
- color:var(--muted);
281
- font-size:12.5px;
282
  }
283
 
284
- .mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;}
 
 
 
 
 
285
 
286
- @media (max-width: 980px){
287
- h1{font-size:44px;}
288
- .grid{grid-template-columns: 1fr;}
289
- .two-up{grid-template-columns: 1fr;}
290
- .mast{grid-template-columns: 1fr;}
291
- .mast .tag,.mast .price{border-bottom:0; padding-bottom:0; text-align:center;}
 
292
  }
293
  </style>
294
  </head>
 
295
  <body>
296
- <div class="page" role="document">
297
- <header>
298
- <div class="topline">
299
- <div>Independent • Slightly Opinionated • Mostly Well-Groomed</div>
300
- <div class="mono">VOL. 1 • NO. 57</div>
301
- <div>Thursday, Feb 26, 2026</div>
302
- </div>
303
 
304
- <div class="mast">
305
- <div class="tag">All the news that’s fit to <em>print</em>… and occasionally sit on.</div>
306
- <h1>The Daily Purr-ograph</h1>
307
- <div class="price">One shiny penny • Delivered nine lives a week</div>
 
308
  </div>
309
-
310
- <div class="breaking" aria-label="Breaking news">
311
- <div class="label">Breaking Mews</div>
312
- <div class="text">Top 3 headlines, illustrated as tiny cat dioramas — because reality needed a scale model.</div>
313
  </div>
 
 
 
 
 
314
  </header>
315
 
316
- <main>
317
- <div class="grid">
318
- <section class="panel">
319
- <article class="story">
320
- <div class="kicker">Courts &amp; Border Policy</div>
321
- <h2 class="headline">Trump administration’s ‘third country’ deportation policy is unlawful, judge rules</h2>
322
- <p class="subhead">A due-<strong>purr</strong>-cess moment: the court says “you can’t just move the goalposts — or the cats.”</p>
323
- <p class="meta"><span><strong>Filed:</strong> Feb 25, 2026</span><span><strong>Beat:</strong> Immigration</span><span><strong>Vibe:</strong> Legal hairball, coughed up</span></p>
324
- <p class="lede">A federal judge ruled that a policy allowing deportations to “third countries” must be set aside, saying migrants deserve meaningful notice and a chance to object before they’re removed to a nation they have no ties to. The decision is paused for 15 days to allow time for an appeal.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  <figure>
326
- <img src="news-assets/story1-court.webp" alt="A miniature courtroom diorama with cats in suits and a sign referencing third-country deportations." />
327
- <figcaption><strong>Miniature scene:</strong> The Court of Paws.” Map wall, paw-print gavel, and very serious tiny suits.</figcaption>
328
  </figure>
329
- <p class="source">Source: <a href="https://apnews.com/article/148cee2906dc7286b074116d3eec6fd4" target="_blank" rel="noreferrer">AP News</a></p>
330
- </article>
331
-
332
- <div class="two-up">
333
- <article class="story small">
334
- <div class="kicker">Health &amp; Money</div>
335
- <h2 class="headline">Vance says administration is pausing some Medicaid funding to Minnesota because of fraud concerns</h2>
336
- <p class="subhead">Minnesota’s funding gets put in the <strong>litter</strong> box — temporarily on hold.</p>
337
- <p class="meta"><span><strong>Filed:</strong> Feb 25, 2026</span><span><strong>Figure:</strong> $259.5M</span></p>
338
- <p class="lede">The administration says it will temporarily withhold $259.5 million in Medicaid funding to Minnesota while the state submits a corrective plan addressing fraud concerns. State officials pushed back, calling the move politically motivated and warning it could affect services for people who rely on the program.</p>
339
- <figure>
340
- <img src="news-assets/story2-medicaid.webp" alt="A miniature office diorama with cats in glasses reviewing paperwork labeled Medicaid, with a Minnesota outline on the wall." />
341
- <figcaption><strong>Miniature scene:</strong> “Audit Cats at Work.” Tiny glasses, tiny forms, very large seriousness.</figcaption>
342
- </figure>
343
- <p class="source">Source: <a href="https://apnews.com/article/47b160fd664cdfeef355ae00ca5fecc0" target="_blank" rel="noreferrer">AP News</a></p>
344
- </article>
345
-
346
- <article class="story small">
347
- <div class="kicker">Diplomacy &amp; Security</div>
348
- <h2 class="headline">US and Iran are holding a third round of nuclear talks as more American forces deploy to the Mideast</h2>
349
- <p class="subhead">Everyone’s at the table — claws sheathed, <strong>paws</strong> crossed.</p>
350
- <p class="meta"><span><strong>Filed:</strong> Feb 26, 2026</span><span><strong>Where:</strong> Geneva</span></p>
351
- <p class="lede">Indirect negotiations in Geneva — mediated by Oman — resume as the U.S. increases its military presence in the region. The talks focus on Iran’s nuclear program amid wider tensions, with both sides signaling diplomacy remains preferable even as pressure builds.</p>
352
- <figure>
353
- <img src="news-assets/story3-geneva.webp" alt="A miniature diplomatic roundtable diorama with cats as delegates, with Geneva scenery and U.S. and Iran flags behind." />
354
- <figcaption><strong>Miniature scene:</strong> “Geneva, but Make It Meow.” Delegates, nameplates, and one tiny olive branch.</figcaption>
355
- </figure>
356
- <p class="source">Source: <a href="https://apnews.com/article/c1eb17f570b059f34071937c3f310fb6" target="_blank" rel="noreferrer">AP News</a></p>
357
- </article>
358
  </div>
359
- </section>
360
-
361
- <aside class="panel sidebar" aria-label="Sidebar">
362
- <h2>Mews, in Brief</h2>
363
- <ul class="briefs">
364
- <li><strong>Trend:</strong> Big policies, bigger paperwork. Small cats, huge binders.</li>
365
- <li><strong>Editor’s note:</strong> If you can’t fix the news, at least you can build it at 1:12 scale.</li>
366
- <li><strong>How we illustrated:</strong> Each headline got a “cat diorama” prompt miniature craft textures, macro depth-of-field, and maximum whisker gravitas.</li>
367
- </ul>
368
-
369
- <div class="story" style="margin-top:14px;">
370
- <div class="kicker">Puns Desk</div>
371
- <p class="lede" style="font-size:14.5px;">Today’s pun quota has been met, exceeded, and then knocked off the table. You’re welcome.</p>
 
 
372
  </div>
373
- </aside>
374
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
375
  </main>
376
 
377
- <footer>
378
- <div>Built for you on <span class="mono">news.html</span> • Local images in <span class="mono">news-assets/</span></div>
379
- <div>Tip line: If you see a typo, please <em>paw</em>se and let us know.</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
380
  </footer>
 
381
  </div>
382
  </body>
383
  </html>
 
3
  <head>
4
  <meta charset="utf-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>The Daily Purrograph — Cat Diorama Headlines</title>
7
+ <meta name="description" content="A pun-packed newspaper-style homepage featuring recent, non-offensive headlines—each reimagined as a tiny cat diorama." />
8
+
9
+ <!-- Distinctive editorial type pairing (avoid generic system-only look) -->
10
+ <link rel="preconnect" href="https://fonts.googleapis.com">
11
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12
+ <link href="https://fonts.googleapis.com/css2?family=IM+Fell+English+SC&family=Crimson+Text:ital,wght@0,400;0,600;1,400;1,600&family=DM+Mono:wght@300;400&display=swap" rel="stylesheet">
13
+
14
  <style>
15
  :root{
16
+ --paper:#f4efdf;
17
+ --paper2:#efe6cf;
18
+ --ink:#14110f;
19
+ --muted:#4a403a;
20
+ --rule:#2a2420;
21
+ --accent:#a13a2a; /* vintage red */
22
+ --accent2:#2a5a7a; /* inky blue */
23
+ --shadow: rgba(10,8,7,.18);
24
+
25
+ --serif: "Crimson Text", Georgia, serif;
26
+ --display: "IM Fell English SC", "Crimson Text", serif;
27
+ --mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
28
+
29
+ --radius: 18px;
30
  }
31
 
32
+ *{ box-sizing:border-box; }
33
+ html,body{ height:100%; }
34
 
35
  body{
36
  margin:0;
 
37
  color:var(--ink);
38
+ font-family:var(--serif);
 
 
 
 
 
 
 
 
 
 
 
39
  background:
40
+ radial-gradient(1200px 700px at 20% 0%, rgba(255,255,255,.55), rgba(255,255,255,0) 60%),
41
+ radial-gradient(900px 650px at 90% 20%, rgba(255,255,255,.35), rgba(255,255,255,0) 55%),
42
+ linear-gradient(180deg, var(--paper), var(--paper2));
 
 
43
  position:relative;
44
+ overflow-x:hidden;
45
  }
46
 
47
+ /* paper grain */
48
+ body::before{
49
  content:"";
50
+ position:fixed;
51
+ inset:-80px;
 
 
 
 
52
  pointer-events:none;
53
+ background:
54
+ repeating-linear-gradient(0deg, rgba(0,0,0,.03), rgba(0,0,0,.03) 1px, rgba(0,0,0,0) 2px, rgba(0,0,0,0) 6px),
55
+ repeating-linear-gradient(90deg, rgba(0,0,0,.02), rgba(0,0,0,.02) 1px, rgba(0,0,0,0) 2px, rgba(0,0,0,0) 7px);
56
  mix-blend-mode:multiply;
57
+ opacity:.18;
58
+ filter: blur(.15px);
59
+ transform: rotate(-.25deg);
60
  }
61
 
62
+ a{ color:inherit; text-decoration:none; }
63
+ a:hover{ text-decoration:underline; text-underline-offset:3px; }
64
+
65
+ .page{
66
+ max-width: 1160px;
67
+ margin: 0 auto;
68
+ padding: 18px 18px 56px;
69
  }
70
 
71
+ .topbar{
72
  display:flex;
73
+ gap:12px;
74
  align-items:flex-end;
75
  justify-content:space-between;
76
+ padding: 8px 2px 14px;
77
+ border-bottom: 2px solid var(--rule);
 
 
 
 
 
 
78
  }
79
 
80
+ .meta{
81
+ display:flex;
82
+ flex-wrap:wrap;
83
+ gap:10px;
84
+ align-items:center;
85
+ color:var(--muted);
86
+ font-size: 14px;
87
+ letter-spacing:.2px;
88
  }
89
 
90
+ .pill{
91
+ font-family:var(--mono);
92
+ font-size:12px;
93
+ padding: 6px 10px;
94
+ border: 1px solid rgba(20,17,15,.35);
95
+ border-radius: 999px;
96
+ background: rgba(255,255,255,.35);
97
+ box-shadow: 0 8px 22px rgba(0,0,0,.06);
98
+ white-space:nowrap;
99
  }
100
 
101
+ .masthead{
 
 
 
 
102
  text-align:center;
103
+ padding: 18px 10px 10px;
104
  }
105
 
106
+ .masthead h1{
107
+ font-family:var(--display);
108
+ font-weight: 400;
109
+ margin: 0;
110
+ font-size: clamp(44px, 6.6vw, 86px);
111
+ letter-spacing: .6px;
112
+ line-height: 1;
113
+ text-shadow: 0 10px 24px rgba(0,0,0,.08);
114
+ }
115
+
116
+ .tagline{
117
+ margin: 8px 0 0;
118
+ font-style: italic;
119
+ color: var(--muted);
120
+ font-size: 16px;
121
  }
122
 
123
+ .rule-row{
 
124
  display:flex;
125
+ gap:12px;
126
  align-items:center;
127
+ justify-content:space-between;
128
+ margin: 12px 0 18px;
129
+ padding: 10px 6px;
130
+ border-top: 1px solid rgba(20,17,15,.5);
131
+ border-bottom: 1px solid rgba(20,17,15,.5);
 
 
 
 
 
 
 
 
132
  }
133
 
134
+ .rule-row .kicker{
135
+ font-family: var(--mono);
136
+ text-transform: uppercase;
137
+ letter-spacing:.14em;
138
+ font-size: 12px;
139
+ color: var(--muted);
140
  }
141
 
142
+ .rule-row .kicker b{ color: var(--ink); }
 
 
 
143
 
144
+ .layout{
145
  display:grid;
146
+ grid-template-columns: 1.25fr .75fr;
147
+ gap: 18px;
148
+ align-items:start;
149
  }
150
 
151
+ @media (max-width: 980px){
152
+ .layout{ grid-template-columns: 1fr; }
 
 
153
  }
154
 
155
+ .card{
156
+ background: rgba(255,255,255,.38);
157
+ border: 1px solid rgba(20,17,15,.22);
158
+ border-radius: var(--radius);
159
+ box-shadow: 0 18px 40px var(--shadow);
160
+ overflow:hidden;
161
+ }
162
+
163
+ .card .inner{ padding: 16px 16px 18px; }
164
+
165
  .story{
166
+ border-bottom: 1px dashed rgba(20,17,15,.35);
 
 
167
  }
168
+ .story:last-child{ border-bottom:0; }
169
 
170
+ .story-head{
171
+ display:flex;
172
+ gap: 12px;
173
+ align-items:flex-start;
174
+ justify-content:space-between;
175
+ padding: 16px;
176
+ border-bottom: 1px solid rgba(20,17,15,.18);
177
+ background:
178
+ radial-gradient(900px 220px at 10% 20%, rgba(161,58,42,.11), rgba(161,58,42,0) 60%),
179
+ radial-gradient(700px 220px at 90% 60%, rgba(42,90,122,.10), rgba(42,90,122,0) 55%);
180
+ }
181
 
182
+ .section-label{
183
+ font-family: var(--mono);
184
+ font-size: 12px;
185
+ letter-spacing:.16em;
186
+ text-transform: uppercase;
187
+ color: var(--accent2);
 
188
  }
189
 
190
  .headline{
191
+ font-size: clamp(26px, 2.25vw, 36px);
192
+ line-height: 1.06;
193
+ margin: 6px 0 8px;
194
+ font-weight: 600;
195
  }
196
 
197
+ .deck{
198
+ margin:0;
199
+ color: var(--muted);
200
+ font-size: 17px;
201
+ line-height: 1.35;
202
+ max-width: 70ch;
203
  }
204
 
205
+ .byline{
206
+ margin-top: 10px;
207
  display:flex;
208
  flex-wrap:wrap;
209
+ gap:8px;
210
+ align-items:center;
211
+ color: var(--muted);
212
+ font-size: 13px;
213
  }
214
 
215
+ .byline .dot{ opacity:.6; }
216
 
217
+ .btn{
218
+ display:inline-flex;
219
+ align-items:center;
220
+ gap:8px;
221
+ font-family: var(--mono);
222
+ font-size: 12px;
223
+ padding: 8px 10px;
224
+ border-radius: 999px;
225
+ border: 1px solid rgba(20,17,15,.35);
226
+ background: rgba(255,255,255,.35);
227
+ transition: transform .12s ease, background .12s ease;
228
+ white-space:nowrap;
229
+ }
230
+ .btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.55); text-decoration:none; }
231
+
232
+ .art{
233
+ display:grid;
234
+ grid-template-columns: 1fr;
235
+ gap: 0;
236
  }
237
 
238
  figure{
239
+ margin:0;
240
+ position:relative;
241
+ background: #111;
 
242
  }
243
 
244
  figure img{
245
  width:100%;
246
  height:auto;
247
  display:block;
248
+ filter: contrast(1.02) saturate(1.03);
249
  }
250
 
251
  figcaption{
252
+ position:absolute;
253
+ left: 12px;
254
+ bottom: 12px;
255
+ right: 12px;
256
+ padding: 10px 12px;
257
+ border-radius: 14px;
258
+ background: rgba(20,17,15,.62);
259
+ color: rgba(255,255,255,.92);
260
+ backdrop-filter: blur(6px);
261
+ border: 1px solid rgba(255,255,255,.14);
262
+ box-shadow: 0 10px 30px rgba(0,0,0,.35);
263
+ font-size: 13px;
264
+ line-height: 1.25;
265
  }
266
 
267
+ .copy{
268
+ padding: 14px 16px 18px;
 
 
 
269
  }
270
 
271
+ .columns{
272
+ column-count: 2;
273
+ column-gap: 22px;
274
+ font-size: 17px;
275
+ line-height: 1.55;
276
+ color: var(--ink);
277
+ }
278
 
279
+ @media (max-width: 760px){
280
+ .columns{ column-count: 1; }
 
 
 
 
 
281
  }
282
 
283
+ .columns p{ margin: 0 0 12px; }
284
+
285
+ .columns p:first-child::first-letter{
286
+ float:left;
287
+ font-family: var(--display);
288
+ font-size: 56px;
289
+ line-height: 1;
290
+ padding: 2px 10px 0 0;
291
+ color: var(--accent);
292
+ text-shadow: 0 8px 18px rgba(0,0,0,.14);
293
+ }
294
+
295
+ .side{
296
+ position:sticky;
297
+ top: 12px;
298
+ }
299
+
300
+ @media (max-width: 980px){
301
+ .side{ position:relative; top:auto; }
302
+ }
303
+
304
+ .side h3{
305
+ font-family: var(--display);
306
+ letter-spacing: .3px;
307
+ font-size: 24px;
308
+ margin: 0 0 10px;
309
+ }
310
+
311
+ .side .box{
312
+ padding: 14px 14px 16px;
313
+ border-top: 1px dashed rgba(20,17,15,.35);
314
+ }
315
+ .side .box:first-child{ border-top:0; }
316
+
317
+ .mini{
318
  display:grid;
319
  gap:10px;
 
 
320
  }
321
 
322
+ .mini .item{
323
+ display:flex;
324
+ gap:10px;
325
+ align-items:flex-start;
326
+ padding: 10px 10px;
327
+ border-radius: 14px;
328
+ border: 1px solid rgba(20,17,15,.18);
329
+ background: rgba(255,255,255,.32);
330
  }
331
 
332
+ .mini .badge{
333
+ width: 32px;
334
+ height: 32px;
335
+ border-radius: 10px;
336
+ display:grid;
337
+ place-items:center;
338
+ border: 1px solid rgba(20,17,15,.25);
339
+ background: rgba(161,58,42,.12);
340
+ font-family: var(--mono);
341
+ font-size: 12px;
342
+ color: var(--accent);
343
+ flex: 0 0 auto;
344
  }
345
 
346
+ .mini .item b{ display:block; }
347
+ .mini .item span{ color:var(--muted); font-size: 13px; line-height: 1.25; }
348
+
349
+ .fineprint{
350
+ color: var(--muted);
351
+ font-size: 12px;
352
+ line-height: 1.35;
353
+ }
354
+
355
+ .footer{
356
+ margin-top: 18px;
357
+ padding-top: 14px;
358
+ border-top: 2px solid rgba(20,17,15,.7);
359
  display:flex;
360
  flex-wrap:wrap;
361
+ gap: 12px;
362
  justify-content:space-between;
363
+ align-items:flex-start;
 
 
364
  }
365
 
366
+ .sources{
367
+ display:flex;
368
+ flex-direction:column;
369
+ gap:6px;
370
+ max-width: 72ch;
371
+ }
372
 
373
+ .sources a{
374
+ text-decoration: underline;
375
+ text-underline-offset: 3px;
376
+ }
377
+
378
+ @media (prefers-reduced-motion: reduce){
379
+ *{ transition:none !important; scroll-behavior:auto !important; }
380
  }
381
  </style>
382
  </head>
383
+
384
  <body>
385
+ <div class="page">
 
 
 
 
 
 
386
 
387
+ <div class="topbar">
388
+ <div class="meta">
389
+ <span class="pill">VOL. CXLII · NO. 57</span>
390
+ <span class="pill">PRICE: 3 TUNA‑TOKENS</span>
391
+ <span class="pill">EDITION: EXTRA WHISKERS</span>
392
  </div>
393
+ <div class="meta" style="justify-content:flex-end; text-align:right;">
394
+ <span class="pill">Thursday, February 26, 2026</span>
 
 
395
  </div>
396
+ </div>
397
+
398
+ <header class="masthead">
399
+ <h1>THE DAILY PURR‑OGRAPH</h1>
400
+ <p class="tagline">All the news that’s fit to purr‑int — now with dioramas, drama, and a suspicious amount of cardboard.</p>
401
  </header>
402
 
403
+ <div class="rule-row">
404
+ <div class="kicker"><b>BREAKING:</b> scientists confirm gravity still works, despite several cats’ best efforts.</div>
405
+ <div class="kicker">today’s sections: <b>Space &amp; Whiskers</b> · <b>Tech Meow‑tters</b> · <b>Arts &amp; Crafts‑trophysics</b></div>
406
+ </div>
407
+
408
+ <main class="layout">
409
+ <!-- MAIN STORIES -->
410
+ <section class="card" aria-label="Top stories">
411
+
412
+ <!-- Story 1 -->
413
+ <article class="story">
414
+ <div class="story-head">
415
+ <div>
416
+ <div class="section-label">Space &amp; Whiskers</div>
417
+ <h2 class="headline">Artemis II Gets a Pit‑Stop: Moon Rocket Rolls Back for Repairs (a.k.a. a Meow‑chanics Visit)</h2>
418
+ <p class="deck">NASA says the Artemis II rocket returned for repairs—because even moon‑bound hardware sometimes needs a little… paw‑lish.</p>
419
+ <div class="byline">
420
+ <span>By the Purr‑sociated Press (Desk Cat)</span><span class="dot">•</span>
421
+ <span>Filed: Feb 25, 2026</span><span class="dot">•</span>
422
+ <a class="btn" href="https://www.nasa.gov/blogs/artemis/2026/02/25/nasa-artemis-ii-rocket-returns-for-repairs/" target="_blank" rel="noopener">Read NASA story <span aria-hidden="true">↗</span></a>
423
+ </div>
424
+ </div>
425
+ </div>
426
+
427
+ <div class="art">
428
  <figure>
429
+ <img src="assets/story1-rocket.webp" alt="A miniature diorama of cats guiding a large orange-and-white rocket into a hangar." loading="lazy" />
430
+ <figcaption><b>Cat Diorama:</b> The Artemis II ‘roll‑back’ tiny safety cones, big rocket energy, and enough pawprints to qualify as a new kind of telemetry.</figcaption>
431
  </figure>
432
+
433
+ <div class="copy">
434
+ <div class="columns">
435
+ <p>In today’s installment of <i>Space, But Make It Craft</i>, NASA’s Artemis II rocket headed back for repairs. Think of it as a scheduled nap for a very large, very expensive orange‑and‑white “tube of zoom.”</p>
436
+ <p>Our newsroom’s expert meow‑chanics report that rollbacks are a normal part of the rocket’s road trip: if a component looks even slightly “hiss‑y,” it’s better to bring it in for a tune‑up now than to discover the issue mid‑moon.</p>
437
+ <p>Meanwhile, the feline ground crew has already issued a statement: “We did not chew the cables. We merely inspected them with our teeth.”</p>
438
+ </div>
439
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  </div>
441
+ </article>
442
+
443
+ <!-- Story 2 -->
444
+ <article class="story">
445
+ <div class="story-head">
446
+ <div>
447
+ <div class="section-label">Tech Meow‑tters</div>
448
+ <h2 class="headline">Purr‑severance Gets a Mars ‘GPS’: No More “Are We There Meow?”</h2>
449
+ <p class="deck">A GPS‑like boost from orbit could help the Perseverance rover know where it is on Mars—so it can stop asking for directions like a lost kitten in a big red parking lot.</p>
450
+ <div class="byline">
451
+ <span>By Rover &amp; Order (Field Unit)</span><span class="dot">•</span>
452
+ <span>Filed: Feb 23, 2026</span><span class="dot"></span>
453
+ <a class="btn" href="https://www.space.com/space-exploration/mars-rovers/perseverance-rover-gets-mars-gps-from-space" target="_blank" rel="noopener">Read Space.com <span aria-hidden="true">↗</span></a>
454
+ </div>
455
+ </div>
456
  </div>
457
+
458
+ <div class="art">
459
+ <figure>
460
+ <img src="assets/story2-mars-gps.webp" alt="A handmade diorama of a cat astronaut guiding a small Mars rover with a map and an overhead satellite." loading="lazy" />
461
+ <figcaption><b>Cat Diorama:</b> Mission Control’s newest navigation system: one satellite, one map, and one cat who insists the shortest route is “straight through the couch.”</figcaption>
462
+ </figure>
463
+
464
+ <div class="copy">
465
+ <div class="columns">
466
+ <p>Mars navigation can be tricky: no street signs, no coffee shops, and absolutely no helpful strangers to point dramatically at the horizon. That’s why a GPS‑like approach—using signals from orbit—can be a big deal for rover positioning.</p>
467
+ <p>Our feline analysts call it “Global Paws‑itioning,” a system designed to reduce wrong turns, wasted wheel tracks, and awkward moments when the rover has to pretend it <i>meant</i> to loop around that rock five times.</p>
468
+ <p>In unrelated news, our office cat has demanded the same upgrade for the living room, citing “insufficient satellite coverage” whenever it can’t find its favorite sunbeam.</p>
469
+ </div>
470
+ </div>
471
+ </div>
472
+ </article>
473
+
474
+ <!-- Story 3 -->
475
+ <article class="story">
476
+ <div class="story-head">
477
+ <div>
478
+ <div class="section-label">Arts &amp; Crafts‑trophysics</div>
479
+ <h2 class="headline">Hubble Finds One of the Darkest Known Galaxies: A Real Cat‑astrophe of Light (or Lack Thereof)</h2>
480
+ <p class="deck">A new Hubble result highlights an exceptionally dark galaxy—proof that even the universe occasionally forgets to turn on the lamp.</p>
481
+ <div class="byline">
482
+ <span>By The Stellar Desk (Night Shift)</span><span class="dot">•</span>
483
+ <span>Filed: Feb 18, 2026</span><span class="dot">•</span>
484
+ <a class="btn" href="https://science.nasa.gov/missions/hubble/hubble-identifies-one-of-darkest-known-galaxies/" target="_blank" rel="noopener">Read NASA Science <span aria-hidden="true">↗</span></a>
485
+ </div>
486
+ </div>
487
+ </div>
488
+
489
+ <div class="art">
490
+ <figure>
491
+ <img src="assets/story3-dark-galaxy.webp" alt="A moody diorama of two cats with tiny telescopes and notebooks looking at a nearly invisible dark galaxy display." loading="lazy" />
492
+ <figcaption><b>Cat Diorama:</b> Two astronomers, one tiny telescope, and a galaxy that’s basically a stealth mode loaf. Visibility: meow‑nimal.</figcaption>
493
+ </figure>
494
+
495
+ <div class="copy">
496
+ <div class="columns">
497
+ <p>When Hubble points at something described as “one of the darkest known galaxies,” it’s not being dramatic. It’s more like: “Hello, I brought a telescope, and the universe brought a blackout curtain.”</p>
498
+ <p>Dark galaxies—faint, elusive, and hard to spot—are a reminder that not everything cosmic is a sparkling postcard. Some parts of space are more like a cat at night: present, powerful, and determined not to be photographed.</p>
499
+ <p>Luckily, our diorama reconstruction team has reproduced the scene with museum‑grade seriousness and craft‑store glitter, because science demands accuracy… and also tiny props.</p>
500
+ </div>
501
+ </div>
502
+ </div>
503
+ </article>
504
+
505
+ </section>
506
+
507
+ <!-- SIDEBAR -->
508
+ <aside class="card side" aria-label="Sidebar">
509
+ <div class="inner">
510
+ <h3>Extra! Extra! Read All About Mews</h3>
511
+ <p class="fineprint">A pun‑forward, non‑offensive front page. Dioramas are AI‑generated recreations inspired by the linked reporting — no actual cats were launched, lost, or asked to file expense reports.</p>
512
+ </div>
513
+
514
+ <div class="box">
515
+ <div class="mini">
516
+ <div class="item">
517
+ <div class="badge">CAT</div>
518
+ <div>
519
+ <b>Cat‑Cast Weather</b>
520
+ <span>Mostly sunny with scattered laser‑pointer activity. Chance of hairballs: 12% (but feels like 100%).</span>
521
+ </div>
522
+ </div>
523
+ <div class="item">
524
+ <div class="badge">PUN</div>
525
+ <div>
526
+ <b>Market Meows</b>
527
+ <span>Tuna futures up, cardboard derivatives stable, and the Yarn Index continues to unravel.</span>
528
+ </div>
529
+ </div>
530
+ <div class="item">
531
+ <div class="badge">PSA</div>
532
+ <div>
533
+ <b>Public Service Announce‑mint</b>
534
+ <span>If you can’t find your keys, check the “quantum box”: the cat both <i>has</i> them and <i>doesn’t</i> — until observed.</span>
535
+ </div>
536
+ </div>
537
+ </div>
538
+ </div>
539
+
540
+ <div class="box">
541
+ <h3 style="margin:0 0 10px;">Micro‑Classifieds</h3>
542
+ <div class="mini">
543
+ <div class="item">
544
+ <div class="badge">1</div>
545
+ <div>
546
+ <b>Wanted:</b>
547
+ <span>One brave intern to proofread <i>purr‑nunciation</i> errors. Pay in snacks. Benefits include naps.</span>
548
+ </div>
549
+ </div>
550
+ <div class="item">
551
+ <div class="badge">2</div>
552
+ <div>
553
+ <b>For Sale:</b>
554
+ <span>Gently used “Mars Map.” Slightly chewed corner. Still points generally toward “over there.”</span>
555
+ </div>
556
+ </div>
557
+ <div class="item">
558
+ <div class="badge">3</div>
559
+ <div>
560
+ <b>Lost &amp; Found:</b>
561
+ <span>One black galaxy. If seen, please do <i>not</i> turn on the lights — it’s shy.</span>
562
+ </div>
563
+ </div>
564
+ </div>
565
+ </div>
566
+
567
+ </aside>
568
  </main>
569
 
570
+ <footer class="footer">
571
+ <div class="sources">
572
+ <div class="kicker"><b>Sources</b> (linked above, repeated here for convenience)</div>
573
+ <div class="fineprint">
574
+ <div>• NASA Artemis blog: <a href="https://www.nasa.gov/blogs/artemis/2026/02/25/nasa-artemis-ii-rocket-returns-for-repairs/" target="_blank" rel="noopener">NASA Artemis II Rocket Returns for Repairs</a></div>
575
+ <div>• Space.com: <a href="https://www.space.com/space-exploration/mars-rovers/perseverance-rover-gets-mars-gps-from-space" target="_blank" rel="noopener">Perseverance rover gets a Mars GPS from space</a></div>
576
+ <div>• NASA Science / Hubble: <a href="https://science.nasa.gov/missions/hubble/hubble-identifies-one-of-darkest-known-galaxies/" target="_blank" rel="noopener">Hubble identifies one of darkest known galaxies</a></div>
577
+ </div>
578
+ </div>
579
+
580
+ <div class="fineprint" style="max-width:38ch;">
581
+ <div class="kicker"><b>Colophon</b></div>
582
+ <div>Typeset in IM Fell English SC, Crimson Text &amp; DM Mono.</div>
583
+ <div>Printed on 100% recycled imaginary paper.</div>
584
+ <div style="margin-top:8px;">© 2026 The Daily Purr‑ograph (definitely not a real newspaper).</div>
585
+ </div>
586
  </footer>
587
+
588
  </div>
589
  </body>
590
  </html>