
.pl-hero {
  position: relative; isolation: isolate; overflow: hidden;
  background: var(--ds-grad-hero); color: #fff;
  padding: calc(var(--ds-hdr) + 14px) 0 30px;
}
.pl-crumbs {
  display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0 0 14px;
  font-size: 13px; line-height: 1.3; font-weight: 600; color: rgba(206, 230, 255, .7);
  white-space: nowrap;
}
.pl-crumbs a { color: rgba(255, 255, 255, .9); text-decoration: none; flex: none; }
.pl-crumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.pl-crumbs span[aria-current] { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.pl-h1 { font-size: 30px; line-height: 1.1; letter-spacing: -.024em; font-weight: 700; margin: 0 0 12px; color: #fff; text-wrap: balance; }
.pl-meta { margin: 0 0 20px; font-size: 14px; line-height: 1.45; font-weight: 600; color: var(--ds-sky); }

.pl-nw { white-space: nowrap; }
.pl-ico { width: 20px; height: 20px; flex: none; }
.pl-pdf {
  display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 18px 0 15px;
  border-radius: var(--ds-r-pill); background: var(--ds-glass); box-shadow: inset 0 0 0 1px var(--ds-glass-edge);
  color: #fff; font: 700 15px/1 var(--ds-font); text-decoration: none;
  transition: background-color .2s var(--ds-ease), box-shadow .2s var(--ds-ease);
}
.pl-pdf i { font-style: normal; font-weight: 600; font-size: 13px; color: var(--ds-sky); }
.pl-pdf:hover { background: rgba(255, 255, 255, .18); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4); }
.pl-pdf:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media (min-width: 720px) {
  .pl-h1 { font-size: 40px; }
  .pl-meta { font-size: 15px; }
}
@media (min-width: 1024px) {
  .pl-hero { padding: calc(var(--ds-hdr) + 30px) 0 48px; }
  .pl-h1 { font-size: clamp(42px, 3.7vw, 54px); line-height: 1.06; margin-bottom: 14px; }
  .pl-meta { margin-bottom: 26px; }
}

.pl-hero__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.pl-read { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 600; color: var(--ds-sky); }
.pl-read .ds-ico { width: 17px; height: 17px; color: var(--ds-sky); }

.pl-quick { margin: 24px 0 0; }
.pl-quick__t { margin: 0 0 10px; font: 700 12px/1.3 var(--ds-font); letter-spacing: .12em; text-transform: uppercase; color: var(--ds-sky); }
.pl-hero .pl-quick__l {
  list-style: none; margin: 0 -16px; padding: 2px 16px 4px; scroll-padding-inline: 16px; display: flex; gap: 8px;
  overflow-x: auto; scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: none;
}
.pl-quick__l::-webkit-scrollbar { display: none; }
.pl-quick__l li { flex: none; scroll-snap-align: start; }
.pl-quick__l a {
  display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 16px 0 8px;
  border-radius: var(--ds-r-pill); background: var(--ds-glass); box-shadow: inset 0 0 0 1px var(--ds-glass-edge);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  color: #fff; font: 600 14px/1.2 var(--ds-font); text-decoration: none; white-space: nowrap;
  transition: background-color .2s var(--ds-ease), box-shadow .2s var(--ds-ease), transform .2s var(--ds-ease);
}
.pl-quick__l b {
  display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 7px; border-radius: 15px;
  background: rgba(255, 255, 255, .16); color: #fff; font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.pl-quick__l a:hover { background: rgba(255, 255, 255, .18); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4); }
.pl-quick__l a:active { transform: var(--ds-press); }
.pl-quick__l a:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (min-width: 720px) {
  .pl-hero .pl-quick__l { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; }
}

.pl-main { background: #fff; }
.pl-layout { padding-top: 22px; padding-bottom: 20px; }
.pl-side { min-width: 0; }
@media (min-width: 1024px) {
  .pl-layout { display: grid; grid-template-columns: 280px minmax(0, 720px); gap: 72px; justify-content: center; align-items: start; padding-top: 56px; padding-bottom: 32px; }
  .pl-side { position: sticky; top: 96px; max-height: calc(100vh - 116px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
  .pl-side::-webkit-scrollbar { display: none; }
}

.pl-toc { background: var(--ds-soft); border-radius: var(--ds-r-panel); padding: 4px; margin: 0 0 26px; }
.pl-toc__t {
  display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 16px;
  list-style: none; cursor: pointer; font: 700 16px/1.2 var(--ds-font); color: var(--ds-ink);
  border-radius: var(--ds-r-card-s);
}
.pl-toc__t::-webkit-details-marker { display: none; }
.pl-toc__t:focus-visible { outline: 3px solid var(--ds-acc); outline-offset: -3px; }
.pl-toc__t i { font-style: normal; font-weight: 600; font-size: 13.5px; color: var(--ds-note); margin-left: auto; }
.pl-toc__t .ds-ico { width: 18px; height: 18px; color: var(--ds-acc); transform: rotate(90deg); transition: transform .3s var(--ds-ease); }
.pl-toc[open] .pl-toc__t .ds-ico { transform: rotate(-90deg); }
.pl-toc__l { list-style: none; margin: 0; padding: 0 6px 8px; }
.pl-toc__l li { margin: 0; }
.pl-toc__l a {
  display: grid; grid-template-columns: 28px 1fr; gap: 2px; padding: 9px 10px; border-radius: var(--ds-r-s);
  font-size: 15px; line-height: 1.38; color: var(--ds-body); text-decoration: none;
  transition: background-color .2s, color .2s;
}
.pl-toc__l a span { font-size: 13px; font-weight: 700; color: var(--ds-acc); padding-top: 1px; font-variant-numeric: tabular-nums; }
.pl-toc__l a:hover { background: rgba(255, 255, 255, .7); color: var(--ds-ink); }
.pl-toc__l a.is-on { background: #fff; color: var(--ds-ink); font-weight: 700; box-shadow: 0 8px 20px -14px rgba(16, 36, 80, .5); }
@media (min-width: 1024px) {
  .pl-toc { background: none; padding: 0; margin-bottom: 0; }
  .pl-toc__t { min-height: 0; padding: 0 10px 10px; cursor: default; pointer-events: none; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ds-acc); }
  .pl-toc__t i, .pl-toc__t .ds-ico { display: none; }
  .pl-toc__l { padding: 0; }
  .pl-toc__l a { font-size: 14.5px; padding: 8px 10px; }
  .pl-toc__l a.is-on { background: var(--ds-soft); box-shadow: none; }
}

.pl-prog { display: none; }
@media (min-width: 1024px) {
  .pl-prog { display: grid; gap: 8px; margin: 18px 10px 0; padding-top: 16px; border-top: 1px solid var(--ds-line); }
  .pl-prog__bar { position: relative; height: 4px; border-radius: 2px; background: var(--ds-soft); overflow: hidden; }
  .pl-prog__bar i { position: absolute; inset: 0; border-radius: 2px; background: var(--ds-acc); transform: scaleX(0); transform-origin: 0 50%; }
  .pl-prog__t { font-size: 13px; font-weight: 600; color: var(--ds-note); font-variant-numeric: tabular-nums; }
  .pl-prog__t b { color: var(--ds-ink); }
}

.pl-now {
  position: fixed; z-index: 30; left: 16px; bottom: max(22px, calc(env(safe-area-inset-bottom) + 12px));
  display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 18px 0 14px; max-width: calc(100% - 112px);
  border: 0; border-radius: var(--ds-r-pill); background: #fff; color: var(--ds-ink); cursor: pointer; overflow: hidden;
  box-shadow: 0 0 0 1px var(--ds-line), 0 16px 34px -18px rgba(16, 36, 80, .55);
  font: 600 14px/1.2 var(--ds-font); font-variant-numeric: tabular-nums; -webkit-tap-highlight-color: transparent;
  opacity: 0; transform: translateY(16px); pointer-events: none;
  transition: opacity .3s var(--ds-ease), transform .35s var(--ds-ease);
}
.pl-now[hidden] { display: none; }
.pl-now.is-on { opacity: 1; transform: none; pointer-events: auto; }
.pl-now .ds-ico { width: 18px; height: 18px; color: var(--ds-acc); flex: none; }
.pl-now b { font-weight: 800; }
.pl-now__bar { position: relative; flex: none; width: 40px; height: 4px; border-radius: 2px; background: var(--ds-soft); box-shadow: inset 0 0 0 1px var(--ds-line); overflow: hidden; }
.pl-now__bar i { position: absolute; inset: 0; border-radius: 2px; background: var(--ds-acc); transform: scaleX(0); transform-origin: 0 50%; }
.pl-now:active { transform: var(--ds-press); }
.pl-now:focus-visible { outline: 3px solid var(--ds-acc); outline-offset: 3px; }
@media (min-width: 1024px) { .pl-now { display: none !important; } }

.pl-doc {
  min-width: 0; max-width: 720px;
  font-size: 16px; line-height: 1.68; color: var(--ds-body);
  overflow-wrap: break-word; hyphens: manual;
}
.pl-sec + .pl-sec { margin-top: 36px; }
.pl-h2 {
  position: relative; margin: 0 0 16px; padding-top: 16px;
  font-size: 21px; line-height: 1.25; font-weight: 700; letter-spacing: -.01em; color: var(--ds-ink);
  text-wrap: balance; scroll-margin-top: 92px;
}
.pl-h2::before { content: ''; position: absolute; left: 0; top: 0; width: 36px; height: 3px; border-radius: 3px; background: var(--ds-acc); }
.pl-h2__n { color: var(--ds-acc); font-variant-numeric: tabular-nums; }
.pl-item { position: relative; scroll-margin-top: 96px; }
.pl-item::before {
  content: ''; position: absolute; z-index: -1; inset: -10px -14px; border-radius: 14px;
  background: var(--ds-soft); box-shadow: inset 3px 0 0 var(--ds-acc); opacity: 0; pointer-events: none;
}
.pl-item:target { isolation: isolate; }
.pl-item:target::before, .pl-item.is-flash::before { animation: pl-flash 2.6s var(--ds-ease) both; }
.pl-item.is-flash { isolation: isolate; }
@keyframes pl-flash { 0%, 55% { opacity: 1; } 100% { opacity: 0; } }
.pl-item + .pl-item { margin-top: 14px; }
.pl-p { margin: 0; }
.pl-n { font-weight: 700; color: var(--ds-ink); font-variant-numeric: tabular-nums; }
.pl-term { margin: 12px 0 0; }
.pl-term b { color: var(--ds-ink); font-weight: 700; }
.pl-list { margin: 10px 0 0; padding-left: 1.25em; }
.pl-list li { margin: 6px 0 0; padding-left: .2em; }
.pl-list li::marker { color: var(--ds-acc); }
.pl-rekv {
  margin: 12px 0 0; padding: 14px 18px; border-radius: var(--ds-r-card-s);
  background: var(--ds-soft); color: var(--ds-ink); font-size: 15px; line-height: 1.55;
}
.pl-rekv p { margin: 0; }
.pl-rekv p + p { margin-top: 4px; }
.pl-doc a { color: var(--ds-acc-press); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(var(--ds-acc-rgb), .4); transition: text-decoration-color .2s; }
.pl-doc a:hover { text-decoration-color: currentColor; }
@media (min-width: 720px) {
  .pl-doc { font-size: 17px; line-height: 1.72; }
  .pl-h2 { font-size: 25px; margin-bottom: 20px; }
  .pl-sec + .pl-sec { margin-top: 48px; }
  .pl-item { padding-left: 58px; }
  .pl-item + .pl-item { margin-top: 16px; }
  .pl-n { position: absolute; left: 0; top: 0; width: 50px; font-size: 15px; line-height: calc(17px * 1.72); color: var(--ds-acc); }
}

.pl-end { padding-top: 12px; padding-bottom: 56px; }
.pl-end__in { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.pl-end__pdf {
  display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 20px 0 16px;
  border-radius: var(--ds-r-tile); background: var(--ds-soft); box-shadow: inset 0 0 0 1px var(--ds-line);
  color: var(--ds-ink); font: 700 15px/1.2 var(--ds-font); text-decoration: none;
  transition: box-shadow .2s var(--ds-ease), background-color .2s var(--ds-ease);
}
.pl-end__pdf .pl-ico { color: var(--ds-acc); }
.pl-end__pdf i { font-style: normal; font-weight: 600; font-size: 13px; color: var(--ds-note); }
.pl-end__pdf:hover { background: #fff; box-shadow: inset 0 0 0 1px var(--ds-line-hi); }
.pl-end__pdf:focus-visible, .pl-end__up:focus-visible { outline: 3px solid var(--ds-acc); outline-offset: 3px; }
.pl-end__up { font-size: 15px; font-weight: 700; color: var(--ds-acc-press); text-decoration: none; }
.pl-end__up:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 1024px) {
  .pl-end { display: grid; grid-template-columns: 280px minmax(0, 720px); column-gap: 72px; justify-content: center; padding-bottom: 80px; }
  .pl-end__in { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .pl-toc__t .ds-ico, .pl-toc__l a, .pl-pdf, .pl-end__pdf, .pl-quick__l a, .pl-now { transition: none; }
  .pl-item:target::before, .pl-item.is-flash::before { animation: none; opacity: 1; }
}
