:root {
    --bblx-ink: #183f3b;
    --bblx-teal: #247f7a;
    --bblx-sky: #a6d9d4;
    --bblx-petal: #f6f7f2;
    --bblx-line: #c5d6cc;
    --bblx-muted: #52706a;
    --bblx-surface: #ffffff;
    --bblx-danger: #9b3b34;
    --bblx-radius-control: 10px;
    --bblx-radius-card: 20px;
    --bblx-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

/* Keep emails, codes, tokens, and numeric secrets readable in RTL locales. */
.bblx-ltr,
[dir='rtl'] .bblx-ltr {
    direction: ltr;
    unicode-bidi: isolate;
}

.bblx-cabinet .p-button {
    height: auto;
    min-height: 2.5rem;
}

.bblx-cabinet .p-button .p-button-label {
    white-space: normal;
    line-height: 1.35;
    text-wrap: balance;
}

.bblx-cabinet .p-inputtext,
.bblx-cabinet .p-password-input,
.bblx-cabinet .p-inputnumber-input {
    min-width: 0;
}

.bblx-cabinet .p-message .p-message-text {
    line-height: 1.5;
}

.bblx-cabinet .p-message .p-button-link {
    margin-inline-start: 0.5rem;
}

.auth-shell__toolbar {
    flex-wrap: wrap;
}

.auth-shell__panel .p-button {
    width: 100%;
}

.auth-shell .bblx-title,
.auth-shell .bblx-lead {
    text-wrap: balance;
}
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('/almond/manrope-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('/almond/manrope-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

* { box-sizing: border-box; }
html { scroll-padding-top: 6rem; }
body { margin: 0; color: var(--bblx-ink); background: var(--bblx-petal); font-family: Manrope, system-ui, sans-serif; font-size: 16px; line-height: 1.7; }
a { color: var(--bblx-teal); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, summary:focus-visible, input:focus-visible, .table-scroll:focus-visible { outline: 3px solid var(--bblx-teal); outline-offset: 4px; border-radius: 3px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; inset-block-start: -100px; inset-inline-start: 1rem; z-index: 20; background: white; padding: .7rem 1rem; }
.skip-link:focus { inset-block-start: .5rem; }
.site-header { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 1.5rem; min-height: 76px; padding: .75rem max(1.25rem, calc((100vw - 1400px) / 2)); background: var(--bblx-petal); border-bottom: 1px solid var(--bblx-line); }
.brand { display: inline-flex; gap: .65rem; align-items: center; color: var(--bblx-ink); text-decoration: none; font-size: 1.65rem; font-weight: 800; letter-spacing: -.04em; line-height: 1; min-height: 44px; }
.brand-domain { font-size: .92em; font-weight: 500; letter-spacing: -.02em; }
.site-label { padding-inline-start: 1.5rem; border-inline-start: 1px solid var(--bblx-line); color: var(--bblx-muted); font-size: .88rem; }
.header-tools { margin-inline-start: auto; display: flex; align-items: center; gap: 1rem; }
.website { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; white-space: nowrap; font-size: .88rem; text-decoration: none; }
summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: .65rem; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::after { content: '+'; margin-inline-start: auto; font-size: 1.05rem; }
details[open] > summary::after { content: '−'; }
.popover { position: relative; font-size: .88rem; }
.popover > summary { padding: .3rem .8rem; border: 1px solid var(--bblx-line); border-radius: var(--bblx-radius-control); background: var(--bblx-surface); }
.popover-body { position: absolute; inset-block-start: calc(100% + .6rem); inset-inline-end: 0; width: 29rem; max-width: calc(100vw - 2rem); padding: 1.25rem; border: 1px solid var(--bblx-line); border-radius: var(--bblx-radius-control); background: var(--bblx-surface); }
.popover-body label { display: block; font-weight: 700; margin-bottom: .65rem; }
input { width: 100%; min-height: 44px; padding: .7rem .8rem; font: inherit; color: var(--bblx-ink); border: 1px solid var(--bblx-muted); border-radius: var(--bblx-radius-control); background: var(--bblx-surface); }
input::placeholder { color: var(--bblx-muted); opacity: 1; }
.language-list, #search-results { max-height: min(60vh, 27rem); overflow: auto; overscroll-behavior: contain; margin-top: .8rem; }
.language-list a, #search-results a { display: grid; gap: .1rem; padding: .7rem .5rem; text-decoration: none; border-bottom: 1px solid var(--bblx-line); }
.language-list a small, #search-results a span { color: var(--bblx-muted); font-size: .8rem; line-height: 1.5; }
.language-list a[aria-current] { background: var(--bblx-petal); }
.layout { display: grid; grid-template-columns: 232px minmax(0, 760px) minmax(170px, 1fr); gap: 3.3rem; max-width: 1400px; padding-inline: 1.25rem; margin-inline: auto; }
.chapter-rail { padding-block: 2.6rem; }
.chapters { position: sticky; top: 7rem; max-height: calc(100dvh - 8rem); overflow: auto; }
.chapters > summary { font-weight: 700; font-size: .86rem; margin-bottom: .6rem; }
.chapters nav { display: grid; }
.chapters nav a { display: flex; align-items: center; min-height: 46px; padding: .65rem .85rem; color: var(--bblx-muted); text-decoration: none; line-height: 1.5; font-size: .89rem; border-radius: var(--bblx-radius-control); }
.chapters nav a[aria-current] { background: var(--bblx-sky); color: var(--bblx-ink); font-weight: 700; }
.download { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-block: .9rem; margin-top: 2rem; border-top: 1px solid var(--bblx-line); font-size: .88rem; text-decoration: none; }
main { min-width: 0; background: var(--bblx-surface); padding: 3rem 2.8rem 1rem; }
main:focus { outline: none; }
article { max-width: 72ch; margin-inline: auto; }
h1 { margin: 0 0 1rem; font-size: clamp(2rem, 3.1vw, 2.9rem); font-weight: 750; line-height: 1.18; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: anywhere; }
.lead { color: var(--bblx-muted); font-size: 1.12rem; line-height: 1.65; margin-bottom: 2.8rem; }
h2 { font-size: 1.35rem; line-height: 1.4; margin: 2.8rem 0 .8rem; font-weight: 750; letter-spacing: -.02em; scroll-margin-top: 6rem; }
p { margin: .85rem 0; }
li { padding-inline-start: .2rem; margin-block: .7rem; }
ol, ul { padding-inline-start: 1.5rem; }
article img { display: block; width: 100%; height: auto; margin-block: 1.6rem; border: 1px solid var(--bblx-line); border-radius: var(--bblx-radius-control); }
blockquote { background: var(--bblx-petal); border-block: 1px solid var(--bblx-line); margin: 2rem 0; padding: .5rem 1.2rem; }
code { direction: ltr; unicode-bidi: isolate; background: var(--bblx-petal); border-radius: 4px; padding: .15em .3em; font-size: .9em; overflow-wrap: anywhere; }
.table-scroll { overflow-x: auto; max-width: 100%; }
table { width: 100%; border-collapse: collapse; font-size: .92rem; margin-block: 1rem; }
th, td { text-align: start; padding: .85rem .8rem; border-bottom: 1px solid var(--bblx-line); }
th { background: var(--bblx-petal); font-weight: 700; }
.toc { padding-top: 3.3rem; min-width: 0; }
.toc nav { position: sticky; top: 7rem; display: grid; gap: .75rem; max-height: calc(100dvh - 8rem); overflow: auto; }
.toc strong { font-size: .78rem; font-weight: 700; }
.toc a { display: flex; align-items: center; min-height: 32px; font-size: .78rem; line-height: 1.6; text-decoration: none; color: var(--bblx-muted); }
.adjacent { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 3rem; border-top: 1px solid var(--bblx-line); padding-top: 1.5rem; }
.adjacent a { display: grid; align-content: start; gap: .2rem; text-decoration: none; }
.adjacent a:last-child { text-align: end; }
.adjacent small { color: var(--bblx-muted); font-size: .8rem; }
.adjacent span { font-size: .93rem; font-weight: 700; }
.image-note { color: var(--bblx-muted); font-size: .8rem; margin-top: 2rem; }
footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; color: var(--bblx-muted); font-size: .75rem; border-top: 1px solid var(--bblx-line); padding-block: 1.3rem; margin-top: 2.5rem; }
footer a { min-height: 44px; display: inline-flex; align-items: center; }
footer span { display: inline-flex; align-items: center; }
@media (hover: hover) and (pointer: fine) { .chapters nav a:hover, .language-list a:hover, #search-results a:hover { background: var(--bblx-petal); color: var(--bblx-ink); } }
@media (max-width: 1180px) { .layout { grid-template-columns: 210px minmax(0, 1fr); gap: 2rem; max-width: 1060px; } .toc { display: none; } main { padding-inline: 2.2rem; } .site-label { display: none; } }
@media (max-width: 760px) {
  .site-header { min-height: 66px; padding: .65rem 1rem; gap: .6rem; }
  .brand { font-size: 1.35rem; gap: .4rem; }
  .brand img { width: 24px; height: 24px; }
  .header-tools { gap: .45rem; }
  .website { display: none; }
  .search > summary { font-size: .76rem; max-width: 36vw; line-height: 1.25; }
  .languages > summary { padding-inline: .6rem; }
  .popover { position: static; }
  .popover-body { inset-inline: 1rem; width: auto; top: calc(100% + .35rem); }
  .layout { display: block; padding: 0; }
  .chapter-rail { padding: .3rem 1.25rem; border-bottom: 1px solid var(--bblx-line); }
  .chapters { position: static; max-height: none; overflow: visible; }
  .chapters > summary { margin: 0; }
  .chapters nav { padding-block: .5rem; }
  .chapters nav a { margin-inline: 0; }
  .download { margin-top: .5rem; }
  main { padding: 2.2rem 1.25rem 1rem; }
  h1 { font-size: 2.15rem; }
  .lead { font-size: 1.03rem; margin-bottom: 2.3rem; }
  h2 { font-size: 1.27rem; margin-top: 2.3rem; }
  article { max-width: 65ch; }
  .adjacent { gap: 1rem; }
}
@media print { .site-header, .chapter-rail, .toc, .adjacent, .skip-link { display: none; } .layout { display: block; } main { padding: 0; } body { background: white; font-size: 11pt; } h2, img { break-after: avoid; } a { color: inherit; } }
