/* Compact documentation inside the existing homepage layout. */
#api-docs summary {
    cursor: pointer;
    font-size: 1.25em;
    line-height: 1.5;
    color: #636363;
}
#api-docs summary h2 { display: inline; font: inherit; }
#api-docs summary:focus-visible,
#api-docs .copy-snippet:focus-visible,
#api-docs a:focus-visible { outline: 2px solid #8cc9f0; outline-offset: 3px; }
#api-docs .docs-content { font-size: 0.875em; line-height: 1.65; }
#api-docs .docs-content p, #api-docs .docs-content ul { margin-bottom: 1.2em; }
#api-docs .docs-section { padding-top: 1.5em; margin-top: 1.5em; border-top: 1px solid #ddd; }
#api-docs .docs-section:first-child { margin-top: 0; border-top: 0; }
#api-docs .docs-section h3 { font-size: 1.125em; margin: 0 0 0.8em; }
#api-docs .docs-section h4 { font-size: 1em; font-weight: 400; margin: 1.3em 0 0.5em; }
#api-docs .docs-errors summary { font-size: 1em; }
#api-docs .docs-errors summary h3 { display: inline; font: inherit; }
#api-docs .dataset-credit { font-size: 0.78em; line-height: 1.4; }
#api-docs p code, #api-docs li code, #api-docs td code { overflow-wrap: anywhere; }
#api-docs pre { max-width: 100%; margin: 0; }
#api-docs pre code { margin: 0; }
#api-docs table { font-size: 0.9em; }
#api-docs th, #api-docs td { vertical-align: top; }
#api-docs #datasets td:first-child code { white-space: nowrap; padding: 0; margin: 0; border: 0; background: none; }
#api-docs .table-wrapper { margin-bottom: 2em; }
#api-docs .table-wrapper table { margin-bottom: 0; }
#api-docs .code-example { margin-bottom: 1.6em; }
#api-docs .code-toolbar { display: flex; justify-content: flex-end; align-items: center; gap: 0.6em; margin-bottom: 0.3em; min-height: 2em; }
#api-docs .copy-snippet { min-width: 0; height: auto; padding: 0.15em 0.65em; line-height: 1.6; font-size: 0.82em; border: 1px solid #bbb; border-radius: 4px; box-shadow: none; color: #636363 !important; background: #fff; }
#api-docs .copy-feedback { min-width: 4em; font-size: 0.78em; color: #636363; }
#api-docs .api-key-placeholder { position: relative; outline: none; }
#api-docs .api-key-value { padding: 0 0.2em; border-radius: 3px; background: #fff3b0; color: #7a4e00; font-weight: bold; cursor: help; }
#api-docs .api-key-pop { display: none; position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 20; align-items: center; gap: 0.6em; padding: 0.45em 0.5em 0.45em 0.85em; border: 1px solid #ddd; border-radius: 6px; background: #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14); color: #555; font: 15px/1.4 'Source Sans Pro', Helvetica, sans-serif; white-space: nowrap; }
#api-docs .api-key-placeholder:hover .api-key-pop,
#api-docs .api-key-placeholder:focus-within .api-key-pop { display: flex; }
/* Bridges the gap so the pointer can move from the key onto the card. */
#api-docs .api-key-pop::before { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 12px; }
#api-docs .api-key-pop::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 7px solid transparent; border-top-color: #fff; filter: drop-shadow(0 1px 0 #ddd); }
#api-docs .api-key-pop a { display: inline-block; padding: 0.25em 0.8em; border: 0; border-radius: 6px; background: #8cc9f0; color: #314c5d !important; font-weight: 600; text-decoration: none; }
#api-docs .api-key-pop a:hover { background: #9acff2; }
#api-docs pre { overflow: visible; }
#api-docs pre code { overflow: visible; white-space: pre-wrap; overflow-wrap: anywhere; }
#api-docs .api-key-pop.plain { padding: 0.45em 0.85em; }
