html, body, #root { margin: 0; min-height: 100%; background: #F3EEE4; color: #1C1A16; }
html.dark, html.dark body, html.dark #root { background: #161412; color: #F3EEE4; }
.wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  background: #F3EEE4;
  color: #1A3A3A;
  font-family: Georgia, Times New Roman, serif;
}
.mark { letter-spacing: 0.18em; font-size: 1.15rem; font-weight: 700; color: #0F6E6E; }
.wrap p { margin: 0.85rem 0 0; max-width: 22rem; font-size: 0.95rem; line-height: 1.45; color: #5C6B6B; }
.acts { margin-top: 1.25rem; display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: center; }
.acts a {
  pointer-events: auto; display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 1.1rem; border-radius: 999px; text-decoration: none;
  font: 600 0.9rem/1 Manrope, ui-sans-serif, system-ui, sans-serif;
}
.acts a.home { background: #161410; color: #F3EEE4; }
.acts a.refresh { border: 1px solid #1A3A3A; color: #1A3A3A; }
#cv-boot {
  position: fixed; inset: 0; z-index: 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.7rem;
  background: #F3EEE4; color: #0B5C56; letter-spacing: 0.18em; font: 700 1.05rem/1.4 Georgia, Times New Roman, serif;
  pointer-events: none; text-align: center; padding: 1.5rem;
}
#cv-boot .cv-boot-line { letter-spacing: 0.03em; font: 600 0.92rem/1.45 Manrope, ui-sans-serif, system-ui, sans-serif; max-width: 22rem; color: #0B5C56; }
#cv-boot-actions { pointer-events: auto; display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; margin-top: 0.85rem; letter-spacing: 0; }
#cv-boot-actions a {
  pointer-events: auto; display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 1.15rem; border-radius: 999px; text-decoration: none;
  font: 600 0.9rem/1 Manrope, ui-sans-serif, system-ui, sans-serif; letter-spacing: 0;
}
#cv-boot-home { background: #161410; color: #F3EEE4; }
#cv-boot-refresh { border: 1px solid #0B5C56; color: #0B5C56; background: transparent; }
html.dark #cv-boot { background: #161412; color: #7ED9CF; }
html.dark #cv-boot .cv-boot-line { color: #5eead4; }
html.dark #cv-boot-home { background: #F3EEE4; color: #161412; }
html.dark #cv-boot-refresh { border-color: #5eead4; color: #5eead4; }
#root:not(:empty) ~ #cv-boot,
#root:not(:empty) ~ #cv-static { display: none !important; }
#cv-static {
  position: fixed; inset: 0; z-index: 1; overflow: auto;
  background: #F3EEE4; color: #161410;
  padding: 2rem 1.25rem 4rem;
  font: 400 1rem/1.55 Manrope, ui-sans-serif, system-ui, sans-serif;
}
html.dark #cv-static { background: #161412; color: #F3EEE4; }
#cv-static h1 { font-family: Georgia, Times New Roman, serif; font-size: clamp(1.8rem, 5vw, 2.6rem); line-height: 1.1; margin: 0.35rem 0 1rem; }
#cv-static h2 { font-family: Georgia, Times New Roman, serif; font-size: 1.45rem; margin: 1.5rem 0 0.65rem; }
#cv-static h3 { font-size: 1.02rem; margin: 1rem 0 0.3rem; }
#cv-static p { max-width: 42rem; margin: 0 0 0.8rem; }
#cv-static a { color: #0B5C56; }
html.dark #cv-static a { color: #5eead4; }
#cv-static ul { max-width: 42rem; padding-left: 1.15rem; columns: 2; }
