/* LyricOS documentation (/docs/): its own look, apart from the company pages. IBM Plex, blue for actions, content
   grouped by rules and space rather than boxes. Light and dark follow the reader's system setting. */
@font-face{font-family:"IBM Plex Sans";src:url(/fonts/ibm-plex-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/fonts/ibm-plex-sans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/fonts/ibm-plex-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{--top:115px;--ground:#fff;--ink:#15181c;--muted:#59616b;--rule:#e4e7eb;--action:#1d6fdb;--field:#f6f7f5;--key:#fff;
  --button:#15181c;--button-ink:#fff;--shadow:0 8px 24px rgba(21,24,28,.08);--note:#eef4fd;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--ground:#000;--ink:#ededed;--muted:#a3a3a3;--rule:#262626;--action:#3794ff;
  --field:#0f0f0f;--key:#000;--button:#ededed;--button-ink:#000;--shadow:0 8px 24px rgba(0,0,0,.6);--note:#141414;color-scheme:dark}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:15px;line-height:1.6}
a{color:var(--action);text-decoration:none}
a:hover{text-decoration:underline}
.d-skip{position:absolute;left:-9999px;top:12px}
.d-skip:focus{left:16px;z-index:40;background:var(--ground);padding:8px 12px;border:1px solid var(--rule);border-radius:8px}

/* Header: name, search, support and the way into LyricOS; the section tabs under it */
.d-top{position:sticky;top:0;z-index:30;background:var(--ground);border-bottom:1px solid var(--rule)}
.d-bar{max-width:1440px;margin:0 auto;padding:14px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.d-brand{display:flex;align-items:baseline;gap:10px;color:var(--ink)}
.d-brand:hover{text-decoration:none}
.d-brand b{font-size:19px;font-weight:600;letter-spacing:-.01em}
.d-brand span{font-size:15px;color:var(--muted)}
.d-search{position:relative;flex:1 1 320px;max-width:480px}
.d-search label{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border:1px solid var(--rule);border-radius:8px;background:var(--field)}
.d-search svg{width:16px;height:16px;flex:none;color:var(--muted);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.d-search input{flex:1 1 auto;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:14px}
.d-search input::-webkit-search-cancel-button{display:none}
.d-search kbd{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--muted);border:1px solid var(--rule);border-radius:4px;padding:1px 6px;background:var(--key)}
.d-results{position:absolute;left:0;right:0;top:46px;margin:0;padding:6px 0;list-style:none;background:var(--ground);border:1px solid var(--rule);border-radius:8px;box-shadow:var(--shadow)}
.d-results[hidden]{display:none}
.d-results a{display:block;padding:8px 14px;color:var(--ink)}
.d-results a:hover,.d-results a:focus{background:var(--field);text-decoration:none;outline:none}
.d-results small{display:block;font-size:13px;color:var(--muted)}
.d-results .none{padding:8px 14px;font-size:14px;color:var(--muted)}
.d-actions{margin-left:auto;display:flex;align-items:center;gap:20px}
.d-actions .quiet{font-size:14px;color:var(--muted)}
.d-button{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:8px;background:var(--button);color:var(--button-ink);font-size:14px;font-weight:500}
.d-button:hover{text-decoration:none;opacity:.88}
.d-tabs{max-width:1440px;margin:0 auto;padding:0 32px;display:flex;flex-wrap:wrap;gap:0 28px}
.d-tabs a,.d-tabs span{padding:10px 0 12px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}
.d-tabs a:hover{color:var(--ink);text-decoration:none}
.d-tabs [aria-current]{color:var(--ink);font-weight:500;border-bottom-color:var(--action)}

/* Sidebar of the section's pages, and the page itself */
.d-body{max-width:1440px;margin:0 auto;padding:0 32px;display:flex;flex-wrap:wrap;align-items:flex-start}
.d-side{flex:0 0 248px;align-self:flex-start;position:sticky;top:var(--top);height:calc(100vh - var(--top));overflow-y:auto;
  padding:32px 24px 48px 0;border-right:1px solid var(--rule);scrollbar-width:thin}
.d-side summary{display:none}
.d-label{margin:0 0 6px;font-size:13.5px;font-weight:600;color:var(--action)}
.d-side ul{margin:0 0 24px;padding:0;list-style:none;font-size:14px;line-height:2}
.d-side ul:last-child{margin-bottom:0}
.d-side li a,.d-side li span{color:var(--muted)}
.d-side li a:hover{color:var(--ink);text-decoration:none}
.d-side li [aria-current]{color:var(--action);font-weight:500}
.d-main{flex:999 1 560px;min-width:0;padding:48px 0 80px 56px}
.d-wrap{max-width:920px}

/* Home: introduction, then sections divided by rules */
.d-sec{padding:56px 0;border-bottom:1px solid var(--rule);scroll-margin-top:120px}
.d-sec:first-child{padding-top:0}
.d-sec:last-child{padding-bottom:0;border-bottom:0}
.d-sec h1{margin:0 0 16px;font-size:44px;line-height:1.15;font-weight:600;letter-spacing:-.02em}
.d-sec h2{margin:0 0 8px;font-size:26px;line-height:1.25;font-weight:600;letter-spacing:-.01em}
.d-lead{margin:0 0 28px;max-width:640px;font-size:18px;color:var(--muted)}
.d-intro{margin:0 0 28px;font-size:16px;color:var(--muted)}
.d-quick{display:flex;flex-wrap:wrap;gap:12px 32px}
.d-quick a,.d-quick span{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--ink)}
.d-quick svg{width:16px;height:16px;color:var(--action);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.d-cols{display:flex;flex-wrap:wrap;gap:28px 0}
.d-col{flex:1 1 200px;padding:0 20px;border-left:1px solid var(--rule)}
.d-col h3{margin:0 0 10px;font-size:15px;font-weight:600}
.d-col ul{margin:0;padding:0;list-style:none;font-size:14.5px;line-height:2}
.d-col li a,.d-col li span{color:var(--muted)}
.d-col li a:hover{color:var(--ink)}
.d-rows{border-top:1px solid var(--rule)}
.d-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;padding:18px 0;border-bottom:1px solid var(--rule)}
.d-row .t{flex:0 0 220px;font-size:16px;font-weight:600}
.d-row .d{flex:1 1 360px;font-size:15px;color:var(--muted)}
.d-row .l{flex:0 0 auto;font-size:14px;font-weight:500}
.d-qa{padding:20px 0;border-bottom:1px solid var(--rule)}
.d-qa h3{margin:0 0 6px;font-size:16px;font-weight:600}
.d-qa p{margin:0;max-width:760px;font-size:15px;color:var(--muted)}
.d-links{display:flex;flex-wrap:wrap;gap:10px 32px;font-size:15px}
.d-links a,.d-links span{font-weight:500}

/* Article pages: the page, with its contents list beside it on wide screens */
.d-article{display:flex;align-items:flex-start;gap:40px}
.d-doc{flex:1 1 auto;min-width:0;max-width:860px}
.d-doc h1{margin:0 0 12px;font-size:36px;line-height:1.2;font-weight:600;letter-spacing:-.02em}
.d-doc h2{margin:48px 0 12px;font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.01em;scroll-margin-top:120px}
.d-doc h3{margin:32px 0 8px;font-size:18px;line-height:1.4;font-weight:600;scroll-margin-top:120px}
.d-doc p{margin:0 0 16px}
.d-doc ul,.d-doc ol{margin:0 0 16px;padding-left:22px}
.d-doc li{margin:0 0 6px}
.d-doc li::marker{color:var(--muted)}
.d-doc strong{font-weight:600}
.d-doc code{font-family:"IBM Plex Mono",monospace;font-size:13.5px;background:var(--field);border-radius:4px;padding:1px 5px}
.d-doc pre{margin:0 0 20px;padding:14px 16px;border:1px solid var(--rule);border-radius:8px;background:var(--field);overflow-x:auto;
  font-family:"IBM Plex Mono",monospace;font-size:13px;line-height:1.6;color:var(--ink)}
.d-doc pre code{background:none;padding:0;font-size:inherit;border-radius:0}
.d-method{font-family:"IBM Plex Mono",monospace;font-size:13.5px;font-weight:500;color:var(--action)}
.d-table{margin:0 0 24px;overflow-x:auto}
.d-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}
.d-table th{text-align:left;font-weight:600;color:var(--ink);padding:10px 16px 10px 0;border-bottom:1px solid var(--muted);vertical-align:bottom;white-space:nowrap}
.d-table td{padding:10px 16px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--muted);min-width:7.5em}
.d-table td:first-child{color:var(--ink);font-weight:500;min-width:9.5em}
.d-table td.s{white-space:nowrap}
.d-table.wide table{font-size:13.5px}
.d-table.wide td{min-width:6.5em}
.d-table .num{text-align:right;white-space:nowrap}
.d-note{margin:0 0 24px;padding:14px 16px;border-radius:8px;background:var(--note);font-size:14.5px}
.d-note p:last-child{margin-bottom:0}
.d-pager{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--rule)}
.d-pager a{flex:0 1 48%;color:var(--ink)}
.d-pager a:hover{text-decoration:none}
.d-pager a:hover span{color:var(--action)}
.d-pager small{display:block;font-size:12.5px;color:var(--muted)}
.d-pager span{font-size:15px;font-weight:500}
.d-pager .next{margin-left:auto;text-align:right}
.d-updated{margin:24px 0 0;font-size:13px;color:var(--muted)}
.d-toc{flex:0 0 176px;position:sticky;top:calc(var(--top) + 40px);font-size:13px;line-height:1.9}
.d-toc p{margin:0 0 6px;font-weight:600;color:var(--ink)}
.d-toc ul{margin:0;padding:0;list-style:none}
.d-toc a{color:var(--muted)}
.d-toc a:hover{color:var(--ink);text-decoration:none}
.d-toc .sub{padding-left:12px}
@media (max-width:1180px){.d-toc{display:none}}

/* Footer */
.d-foot{border-top:1px solid var(--rule)}
.d-foot-in{max-width:1440px;margin:0 auto;padding:24px 32px;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:13px;color:var(--muted)}
.d-foot a,.d-foot button{color:var(--muted);font:inherit;font-size:13px;background:none;border:0;padding:0;cursor:pointer}
.d-foot a:hover,.d-foot button:hover{color:var(--ink);text-decoration:none}

/* Phone: the sidebar folds under a heading above the page */
@media (max-width:820px){
  .d-bar,.d-tabs,.d-body,.d-foot-in{padding-left:16px;padding-right:16px}
  .d-actions .quiet{display:none}
  .d-side{flex:1 1 100%;position:static;height:auto;overflow:visible;padding:14px 0;border-right:0;border-bottom:1px solid var(--rule)}
  .d-side summary{display:block;cursor:pointer;font-size:14px;font-weight:500;color:var(--ink)}
  .d-side details[open] summary{margin-bottom:14px}
  .d-main{padding:32px 0 64px}
  .d-sec h1{font-size:34px}
  .d-doc h1{font-size:30px}
  .d-row .t{flex-basis:100%}
}
/* Hidden until LyricOS is open (HIDDEN.md): Open LyricOS is shown but goes nowhere; give it its href back in gen.py. */
.d-button[aria-disabled="true"]{cursor:default}
.d-button[aria-disabled="true"]:hover{opacity:1}
