/* Shared typography and content treatment used by every Java lesson page. */
html { scroll-behavior: smooth; overflow-x:hidden; }
body {
  margin: 0;
  overflow-x:hidden;
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  color: #222;
}
.container-xl {
  width: min(1140px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
}
.container-xl > .row { margin-left: 0; margin-right: 0; }
.content-wrapper { width: 100%; max-width: 1000px; }
.lesson-page-title { margin: 0 0 1.5rem; color: #0f3460; font-size: 2.2rem; line-height: 1.2; font-weight: 800; }
h1, h2, h3, h4, h5, h6 { font-family: inherit; }
h2 {
  font-size: 1.45rem;
  font-weight: 700;
  color: #0f3460;
  border-left: 5px solid #f8a100;
  padding-left: 12px;
  margin-top: 2.2rem;
  margin-bottom: .8rem;
}
h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #16213e;
  margin-top: 1.6rem;
  margin-bottom: .5rem;
}
p { line-height: 1.8; }
.container-xl.py-5 { padding-top: 1.25rem !important; }
.content-wrapper > h2:first-child { margin-top: 0; }
pre {
  background: #1e1e2e;
  color: #cdd6f4;
  border-radius: 8px;
  padding: 1.2rem 1.4rem;
  font-size: .88rem;
  overflow-x: auto;
  margin: 1rem 0;
}
code.inline {
  background: #eef2ff;
  color: #0f3460;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: .88rem;
}
.page-hero {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 60%, #0f3460 100%);
  color: #fff;
  padding: 48px 0 36px;
}
.page-hero h1 { font-size: 2.2rem; font-weight: 800; }
.breadcrumb-item a { color: #f8a100; text-decoration: none; }
.breadcrumb-item.active { color: #cdd6f4; }
.breadcrumb-item + .breadcrumb-item::before { color: #8a9bb3; }
.note-box {
  background: #eaf4ff;
  border-left: 5px solid #3b82f6;
  border-radius: 6px;
  padding: .9rem 1.2rem;
  margin: 1rem 0;
}
.note-box p { margin: 0; font-size: .93rem; }
.table thead th { background: #0f3460; color: #fff; }
.table-hover tbody tr:hover { background: #f0f6ff; }
footer { background: #1a1a2e; color: #8a9bb3; }
@media (max-width: 600px) {
  .container-xl { width: calc(100% - 28px); }
  .container-xl.py-5 { padding-top: 1rem !important; }
}
