/* ===================== VARIABLES ===================== */
:root { 
    --main-color: #004080; --border-color: #004080; --separator-color: #cce0ff;
    --h1-size: 1.8em; --menu-h1-size: 1.4rem; --heading-margin-bottom: 0.6em; --p-margin-bottom: 0.8em; }

/* ===================== BASE PAGE ===================== */
body { background: #ffffff; color: #000000; max-width: 1000px; margin: 1rem auto; line-height: 1.6; font-family: system-ui, -apple-system, Arial, sans-serif; }
h1 { font-size: var(--h1-size); color: var(--main-color); border-bottom: 2px solid var(--border-color); padding-bottom: 4px; margin: 0 0 var(--heading-margin-bottom) 0; }
.book h1 { font-size: var(--menu-h1-size); color: var(--main-color); border: none; line-height: 1.2; margin: .2rem 0; }
p { margin-bottom: var(--p-margin-bottom); }
ul { margin: 0.5rem 0 0.8rem 1.2rem; }
li { margin: 0.2rem 0; }

/* ===================== BOOK LAYOUT ===================== */
.book { display: flex; gap: 1rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--separator-color); align-items: flex-start; }
.book img { width: clamp(120px, 18vw, 180px); height: auto; flex-shrink: 0; }

/* ===================== TEXT ===================== */
.tight { margin: .2rem 0; padding-left: 1.2rem; line-height: 1.3; }
a { color: var(--main-color); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ===================== TOGGLE LISTS ===================== */
details { margin: .3rem 0; }
details p { margin: 0.3em 0 0 0; }
summary { cursor: pointer; font-weight: 600; }

/* ===================== FOOTER ===================== */
footer { text-align: center; font-size: .9em; }

/* ===================== VIDEO ===================== */
.container { margin: 1rem 0; padding: 0 1rem; }
.container video { display: block; max-width: 100%; height: auto; margin: 0 auto 0.5rem; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 640px) {
  .book { flex-direction: column; align-items: center; }
  .book img { width: clamp(160px, 60%, 260px); }
}
