/* The apps' help and privacy pages. They load no script: the header and footer
   use the kits' styles with static markup, as Naninani's pages on yomu.neorgon.com
   do, so a policy page sends nothing anywhere. Each page names its app with a
   body class, which sets the app's own hue from its icon. */

.doc { --app-hue: var(--accent); --app-ink: var(--accent-bright); }
.doc--amigos { --app-hue: #8c37a8; --app-ink: #d9a0ec; }
.doc--pittari { --app-hue: #f0ae49; --app-ink: #f6c97f; }
.doc--headpain { --app-hue: #41826d; --app-ink: #8fd3b8; }

/* A soft wash of the app's hue behind the header, so each app's pages read as
   that app's without changing the fleet's dark shell. */
.doc {
  background:
    radial-gradient(ellipse 90% 340px at 50% -120px, color-mix(in srgb, var(--app-hue) 26%, transparent), transparent 70%),
    var(--bg);
}

.doc-brand { display: inline-flex; align-items: center; gap: var(--space-3); min-height: 44px; min-width: 44px; font-size: 1.125rem; font-weight: 700; color: var(--text-primary); }
.doc-brand img { width: 36px; height: 36px; border-radius: 9px; flex: none; }
.doc-nav { display: flex; align-items: center; gap: var(--space-4); margin-left: auto; }
.doc-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--text-secondary); text-decoration: none; font-size: var(--text-sm); font-weight: 600; }
.doc-nav a:hover { color: var(--text-primary); }
.doc-nav a[aria-current="page"] { color: var(--text-primary); box-shadow: inset 0 -2px 0 var(--app-ink); }

/* style.css makes main#main a full-width flex column for app pages; a document
   wants a reading column with ordinary block flow, so the id is matched here. */
#main.doc-main { display: block; flex: 1 0 auto; width: min(100% - 40px, 70ch); margin: 0 auto; padding: clamp(24px, 5vw, 56px) 0 72px; }
.doc-main h1 { font-size: clamp(2rem, 6.5vw, 3.25rem); line-height: 1.12; letter-spacing: -0.03em; margin: var(--space-2) 0 var(--space-4); text-wrap: balance; }
.doc-main h2 { font-size: 1.5rem; line-height: 1.3; margin: 2.75rem 0 0.75rem; scroll-margin-top: 90px; }
.doc-main h3 { font-size: 1.125rem; margin: 1.5rem 0 0.5rem; }
.doc-main section { scroll-margin-top: 90px; }
.doc-main p, .doc-main li { font-size: 1rem; line-height: 1.75; color: var(--text-secondary); }
.doc-main strong { color: var(--text-primary); }
.doc-main p { margin: 0 0 1rem; }
.doc-main ul, .doc-main ol { padding-left: 1.4rem; margin: 0.75rem 0 1.25rem; }
.doc-main li + li { margin-top: 0.5rem; }
.doc-main a { color: var(--text-primary); text-decoration: underline; text-decoration-color: var(--app-ink); text-underline-offset: 0.2em; overflow-wrap: anywhere; }
.doc-main a:hover { text-decoration-thickness: 2px; }

.doc-main .kicker { display: flex; align-items: center; gap: var(--space-2); color: var(--text-muted); font-size: var(--text-sm); letter-spacing: 0.04em; margin: 0; }
.doc-main .kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--app-ink); flex: none; }
.doc-main .lead { color: var(--text-secondary); font-size: 1.2rem; line-height: 1.6; margin-bottom: var(--space-6); }
.doc-main .card { background: color-mix(in srgb, var(--app-hue) 9%, var(--surface-1)); border: 1px solid color-mix(in srgb, var(--app-hue) 45%, var(--border)); border-radius: var(--radius-lg); padding: var(--space-4) var(--space-6); margin: var(--space-4) 0; }
.doc-main .card p:last-child { margin-bottom: 0; }

.doc-main .contents { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-6); padding: var(--space-2) 0; border-block: 1px solid var(--border); margin: var(--space-6) 0 var(--space-2); }
.doc-main .contents a { display: inline-flex; align-items: center; min-height: 44px; color: var(--text-secondary); text-decoration: none; font-size: var(--text-sm); font-weight: 600; }
.doc-main .contents a:hover { color: var(--text-primary); }
.doc-main a.back { display: inline-flex; align-items: center; min-height: 44px; }
.doc-main .crumb { margin: 0 0 var(--space-6); font-size: var(--text-sm); }
.doc-main .crumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--text-secondary); text-decoration: none; }
.doc-main .crumb a:hover { color: var(--text-primary); }

.doc-related { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-6); align-items: center; }
.doc-related a { display: inline-flex; align-items: center; min-height: 44px; }

.doc-nav a:focus-visible, .doc-main :focus-visible, .doc-related a:focus-visible { outline: 2px solid var(--app-ink); outline-offset: 4px; border-radius: 3px; }

/* A phone keeps the icon and both tabs on one line; the app's name stays in
   the link's accessible name and in the page's h1. */
@media (max-width: 440px) {
  .doc-brand-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media print {
  .doc { background: none; }
  .doc-header, .doc-footer, .skip-link, .doc-main .contents { display: none; }
  .doc-main { width: 100%; padding: 0; }
}
