@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 800; font-display: swap; src: url("/fonts/bricolage-800.woff2") format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/atkinson-400.woff2") format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/atkinson-700.woff2") format("woff2"); }
.gb-sheet { box-sizing: border-box; width: min(100%, 40rem); margin: 0 auto; padding: 1.35rem 1.25rem 1.5rem; background: #fff; color: #182327; font-family: "Atkinson Hyperlegible", system-ui, sans-serif; font-size: 1rem; line-height: 1.5; box-shadow: 0 12px 28px rgb(15 76 92 / 14%); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.gb-sheet * { box-sizing: border-box; }
.gb-name, .gb-section h2, .gb-pick h3 { font-family: "Bricolage Grotesque", "Avenir Next", system-ui, sans-serif; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.gb-name { margin: 0; color: #182327; font-size: 1.85rem; }
.gb-mast { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.85rem; align-items: start; }
.gb-theme-ledger .gb-mast, .gb-theme-harbor .gb-mast { grid-template-columns: minmax(0, 1fr); }
.gb-mark { width: 2.6rem; height: 2.6rem; color: #0F4C5C; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.gb-mast p { margin: 0.45rem 0 0; }
.gb-bar { display: block; width: 4.5rem; height: 0.28rem; margin-top: 0.55rem; background: #E0A526; }
.gb-cover { display: block; width: 100%; max-height: 14rem; margin-top: 1rem; object-fit: cover; }
.gb-section { margin-top: 1.25rem; }
.gb-section h2 { margin: 0 0 0.4rem; color: #0F4C5C; font-size: 1.15rem; }
.gb-section p { margin: 0.35rem 0 0; overflow-wrap: anywhere; }
.gb-facts { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 0.3rem 0.75rem; margin: 0.2rem 0 0; }
.gb-fact { display: contents; }
.gb-fact dt { margin: 0; color: #3F6B60; font-weight: 700; }
.gb-fact dd { margin: 0; overflow-wrap: anywhere; }
.gb-list, .gb-checks, .gb-maps { margin: 0.35rem 0 0; padding: 0; list-style: none; }
.gb-list li { display: grid; grid-template-columns: 0.7rem minmax(0, 1fr); gap: 0.45rem; margin-top: 0.35rem; }
.gb-list li::before { content: ""; width: 0.45rem; height: 0.45rem; margin-top: 0.45rem; border: 1.5px solid #0F4C5C; border-radius: 2px; }
.gb-checks li { margin-top: 0.35rem; }
.gb-checks label { display: flex; gap: 0.55rem; align-items: flex-start; }
.gb-checks input { width: 1.05rem; height: 1.05rem; margin-top: 0.2rem; accent-color: #0F4C5C; }
.gb-maps { display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem; }
.gb-maps a { color: #0F4C5C; font-weight: 700; }
.gb-pick { margin-top: 0.85rem; }
.gb-pick h3 { margin: 0; font-size: 1.05rem; color: #182327; }
.gb-cat { margin: 0.15rem 0 0; color: #3F6B60; font-weight: 700; }
.gb-qr { display: block; width: 7.5rem; height: 7.5rem; margin-top: 0.6rem; }
.gb-url { overflow-wrap: anywhere; }
.gb-disclaimer { margin: 1.4rem 0 0; color: #3F6B60; font-size: 0.85rem; line-height: 1.45; }
.gb-theme-ledger { background: #EEF3F1; box-shadow: none; }
.gb-theme-ledger .gb-bar { display: none; }
.gb-theme-ledger .gb-section { margin-top: 0.9rem; padding-top: 0.9rem; border-top: 1px solid #CFDDD8; }
.gb-theme-harbor { padding: 0 0 1.4rem; }
.gb-theme-harbor .gb-mast { margin: 0; padding: 1.4rem 1.25rem 1rem; background: #0F4C5C; color: #EEF3F1; }
.gb-theme-harbor .gb-name, .gb-theme-harbor .gb-mast p { color: #EEF3F1; }
.gb-theme-harbor .gb-bar { width: auto; height: 4px; margin: 1rem 0 0; }
.gb-theme-harbor .gb-body, .gb-theme-harbor .gb-disclaimer { padding-left: 1.25rem; padding-right: 1.25rem; }
.gb-theme-harbor .gb-cover { margin-top: 0; border-radius: 0; }
.gb-share { margin: 0; background: #EEF3F1; color: #182327; }
.gb-share-bar { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; max-width: 40rem; margin: 0 auto; padding: 1rem 1rem 0; font-family: "Atkinson Hyperlegible", system-ui, sans-serif; }
.gb-share-bar button { min-height: 2.75rem; padding: 0.55rem 1.1rem; border: 0; border-radius: 999px; background: #0F4C5C; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.gb-share-bar button:focus-visible { outline: 2px solid #0F4C5C; outline-offset: 3px; }
.gb-share .gb-sheet { margin-top: 1rem; margin-bottom: 1.5rem; }
@media (max-width: 380px) {
  .gb-facts { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .gb-print-hide { display: none !important; }
  .gb-share { background: #fff; }
  .gb-sheet { width: auto; max-width: none; margin: 0; box-shadow: none; }
  .gb-section, .gb-qr, .gb-pick { break-inside: avoid; }
}
