* { box-sizing: border-box; }
:root { --bg: #c0c0c0; --text: #000; --accent: #000080; --frame: none; }

/* THEMES */
body.theme-dark { --bg: #121212; --text: #e0e0e0; --accent: #bb86fc; }
body.theme-golden-arches { --bg: #ffbc0d; --text: #27251f; --accent: #da291c; }
body.theme-cotton-candy { --bg: #ffc0cb; --text: #5f4b8b; --accent: #ff69b4; }
body.theme-fuhrer { --bg: #1a1a1a; --text: #ffffff; --accent: #DD0000; --frame: 15px solid #DD0000; }
body.theme-usa { --bg: #fff; --text: #002868; --accent: #bf0a30; --frame: 5px double #bf0a30; }
body.theme-newspaper { --bg: #f4f1ea; --text: #1a1a1a; --accent: #000; font-family: 'Georgia', serif; }

body { background-color: var(--bg); color: var(--text); font-family: sans-serif; margin: 0; padding: 15px; border: var(--frame); min-height: 100vh; line-height: 1.4; }
.main-container { max-width: 800px; margin: 0 auto; background: var(--bg); padding: 12px; border: outset 2px #fff; box-shadow: 4px 4px 0 #000; }

/* CENTERED HEADER BOX */
.header-area { width: 100%; text-align: center; margin-bottom: 5px; }
.header-logo-wrap { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 auto; }

/* LOGO FIX: Hard-lock height and prevent expansion */
img.logo-small { 
    height: 35px !important; 
    width: auto !important; 
    max-width: 35px !important;
    display: block !important; 
    margin: 0 !important; 
    border: none !important; 
    box-shadow: none !important;
}

.header-link { font-weight: bold; font-size: 1.3rem; color: var(--text); text-decoration: none; white-space: nowrap; line-height: 35px; }
.header-link:hover { text-decoration: underline; }

.divider { height: 2px; background: var(--text); margin: 5px 0 15px 0; border-bottom: 1px solid #fff; }

/* CONTENT IMAGES (These stay large) */
.content img { max-width: 100% !important; height: auto !important; display: block; margin: 15px auto; border: 1px solid #999; }

@media print {
    .no-print, button { display: none !important; }
    body { border: none !important; background: #fff !important; color: #000 !important; padding: 0 !important; }
    .main-container { border: none !important; box-shadow: none !important; width: 100% !important; max-width: 100% !important; }
}

h1 { font-size: 1.6rem; margin: 10px 0; line-height: 1.2; text-align: left; }
.content p { margin-bottom: 1.2em; word-wrap: break-word; text-align: left; }
