* { box-sizing: border-box; }
:root { color: #17291d; background: #b9bab7; font-family: "Courier New", Courier, monospace; }
body { margin: 0; min-width: 320px; }
a { color: #172e8a; font-weight: 700; text-underline-offset: .16em; }
a:hover { color: #8d252b; }
:focus-visible { outline: 3px solid #8d252b; outline-offset: 3px; }
.catalog-sheet { width: min(980px, calc(100% - 24px)); margin: 12px auto 32px; padding: 24px 40px; background: #f2ecd9; border: 3px solid #24452d; box-shadow: 0 3px 9px rgba(0,0,0,.26); }
header { border-bottom: 3px double #24452d; text-align: center; padding-bottom: 14px; }
header > a { font-family: "American Typewriter", Rockwell, "Courier New", monospace; font-size: clamp(1.2rem, 3vw, 2rem); text-transform: uppercase; }
header p { font-size: .78rem; margin-bottom: 0; }
h1, h2 { font-family: Rockwell, "Courier New", monospace; text-transform: uppercase; line-height: 1.2; }
h1 { font-size: clamp(1.6rem, 4vw, 2.5rem); margin-bottom: 12px; }
h2 { font-size: 1.15rem; }
article { max-width: 720px; margin: 32px auto; }
article p { font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; line-height: 1.65; }
article .date { font-family: "Courier New", Courier, monospace; color: #405144; font-size: .83rem; margin-bottom: 28px; }
.story-list { list-style: none; padding: 0; }
.story-list li { padding: 14px 0; border-bottom: 1px dotted #405144; }
.story-list p { font-size: .8rem; }
footer { border-top: 2px solid #24452d; padding-top: 20px; font-size: .82rem; text-align: center; line-height: 2.5; }
footer a { display: inline-block; min-height: 44px; }
@media (max-width: 600px) { .catalog-sheet { width: calc(100% - 12px); padding: 18px; margin-top: 6px; border-width: 2px; } article p { font-size: 1rem; } }
@media print { :root { background: white; } .catalog-sheet { width: 100%; margin: 0; box-shadow: none; } }
