:root { color-scheme: light; --paper: #f8f6ee; --ink: #263e4c; --blue: #145982; --deep-blue: #174b73; --pale: #e5edf0; --wash: #edf2f2; --line: #bdcdd1; --white: #fffdf6; }
body { background: var(--paper); color: var(--ink); }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
::selection { background: #c9dde8; color: #183f5b; }
.skip-link { background: var(--white); color: var(--deep-blue); border: 2px solid var(--blue); }
.guide-masthead { border-bottom: 2px solid var(--line); }
.guide-name { color: var(--deep-blue); }
.archive-mark { background: var(--blue); border-radius: 2px 10px 2px 2px; box-shadow: inset 5px 0 0 #7ba7bc; transform: rotate(-7deg); }
.masthead-links a { text-decoration: none; }
.side-index { border-right: 2px solid var(--line); }
.index-title { color: var(--deep-blue); }
.index-group-label { color: #4c626e; }
.index-group a { text-decoration: none; border-radius: 0 14px 14px 0; }
.index-group a:hover { background: #edf0e9; }
.index-group a[aria-current="page"] { background: #dbe9ed; color: #174b73; box-shadow: inset 4px 0 0 var(--blue); font-weight: 600; }
.index-back { text-decoration: underline; }
.page-kind { color: var(--blue); }
h1, h2, h3 { color: var(--deep-blue); }
.archive-photo { background: #d9e4e9; border: 1px solid #c2d2d9; box-shadow: 5px 7px 0 #e6e4d9; }
.archive-photo img { background: #c7dbe5; color: var(--deep-blue); }
.archive-photo figcaption { color: #355263; }
.idea { border-top: 2px solid var(--line); }
.term-entry { background: var(--pale); text-decoration: none; border-radius: 0 18px 0 0; border-left: 4px solid #86adbf; }
.term-entry:hover { background: #dae7ec; }
.term-entry span { color: var(--ink); }
.route-list li { border-bottom: 1px solid var(--line); }
.route-list li:first-child { border-top: 1px solid var(--line); }
.route-list a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.source-note { background: var(--wash); border-left: 4px solid #99bac7; border-radius: 0 14px 14px 0; }
.question-to-keep { background: #e1edf0; border-radius: 0 20px 0 0; }
button, .button-link { background: var(--deep-blue); color: var(--white); border: 2px solid var(--deep-blue); border-radius: 8px; text-decoration: none; }
button:hover, .button-link:hover { background: #0d3e61; border-color: #0d3e61; }
button.secondary { color: var(--deep-blue); background: transparent; }
button.secondary:hover { background: #d7e6ed; }
.next-note { border-top: 2px solid var(--line); }
.next-note a { text-decoration: none; }
.next-note a:hover { text-decoration: underline; }
.next-note span { color: #4c626e; }
.notebook { background: #e9eee5; border: 2px solid #a8bcb8; border-radius: 0 22px 0 0; }
.notebook textarea { background: var(--white); color: var(--ink); border: 2px solid #879d9e; border-radius: 6px; }
.notebook textarea::placeholder { color: #526872; opacity: 1; }
.guide-footer { border-top: 2px solid var(--line); }
@media (max-width: 780px) {
  .side-index { background: #e6edf0; border: 0; border-top: 5px solid #86adbf; border-radius: 0 20px 0 0; }
  .index-group a[aria-current="page"] { background: #d2e2e9; }
}
@media print {
  body { background: white; color: black; }
  .notebook { background: white; border-color: #777; }
}
