:root {
--docs-surface: color-mix(in srgb, var(--bg-color) 94%, var(--main-color) 6%);
--docs-surface-strong: color-mix(in srgb, var(--bg-color) 88%, var(--main-color) 12%);
--docs-border: color-mix(in srgb, var(--text-color) 12%, transparent);
--docs-border-accent: color-mix(in srgb, var(--main-color) 38%, var(--docs-border));
--docs-shadow: 0 20px 55px color-mix(in srgb, #000 12%, transparent);
}
#preview-area {
min-height: 200px;
padding: 1rem;
border: 1px dashed var(--footer-border);
border-radius: 12px;
background-color: color-mix(in srgb, var(--text-color) 2%, var(--bg-color));
color: var(--text-color);
}
.docs-reader-page > .container.flex-grow-1 {
width: min(100%, 1440px);
max-width: 1440px;
padding-inline: clamp(0.8rem, 2vw, 1.75rem);
}
.docs-reading-progress {
position: fixed;
z-index: 1100;
top: 0;
right: 0;
left: 0;
height: 3px;
pointer-events: none;
}
.docs-reading-progress > span {
display: block;
width: 0;
height: 100%;
border-radius: 0 999px 999px 0;
background: linear-gradient(90deg, var(--main-color), #5fd8ef);
box-shadow: 0 0 12px color-mix(in srgb, var(--main-color) 65%, transparent);
transition: width 0.1s linear;
}
.docs-layout {
display: grid;
width: 100%;
max-width: 1360px;
grid-template-columns: minmax(230px, 270px) minmax(0, 1fr);
align-items: start;
gap: clamp(1.25rem, 2.5vw, 2.25rem);
margin: 1.25rem auto 0;
}
.docs-layout--package {
max-width: 1440px;
grid-template-areas: "package-toc content page-toc";
grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) minmax(190px, 220px);
gap: clamp(0.9rem, 1.7vw, 1.5rem);
}
.docs-layout--package > .docs-package-toc {
grid-area: package-toc;
}
.docs-layout--package > .docs-content {
grid-area: content;
max-width: none;
}
.docs-layout--package > .docs-page-toc {
grid-area: page-toc;
}
.docs-content {
width: 100%;
min-width: 0;
max-width: 1060px;
}
.docs-article {
position: relative;
overflow: hidden;
border: 1px solid var(--docs-border);
border-radius: 20px;
background:
radial-gradient(circle at 100% 0, color-mix(in srgb, var(--main-color) 10%, transparent), transparent 28rem),
var(--bg-color);
box-shadow: var(--docs-shadow);
}
.docs-article-header {
position: relative;
padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3.5rem) clamp(1.4rem, 3vw, 2.25rem);
border-bottom: 1px solid var(--docs-border);
background: linear-gradient(145deg, color-mix(in srgb, var(--main-color) 8%, transparent), transparent 66%);
}
.docs-article-header::after {
content: "";
position: absolute;
top: 1.25rem;
right: 1.5rem;
width: 112px;
height: 112px;
border: 1px solid color-mix(in srgb, var(--main-color) 14%, transparent);
border-radius: 32px;
opacity: 0.7;
transform: rotate(16deg);
pointer-events: none;
}
.docs-article-header h1 {
position: relative;
z-index: 1;
max-width: 780px;
margin: 0.65rem 0 1.15rem;
color: var(--text-color);
font-size: clamp(2rem, 5vw, 3.25rem);
font-weight: 780;
line-height: 1.12;
letter-spacing: -0.035em;
overflow-wrap: anywhere;
}
.docs-article-kicker {
display: inline-flex;
align-items: center;
gap: 0.45rem;
color: var(--main-color);
font-size: 0.78rem;
font-weight: 720;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.docs-breadcrumb {
margin: 0 0 1.2rem;
font-size: 0.83rem;
}
.docs-breadcrumb a {
color: var(--text-secondary-color);
text-decoration: none;
}
.docs-breadcrumb a:hover {
color: var(--main-color);
}
.docs-breadcrumb .active {
overflow: hidden;
max-width: min(55vw, 28rem);
color: var(--text-secondary-color) !important;
text-overflow: ellipsis;
white-space: nowrap;
}
.docs-article-meta {
position: relative;
z-index: 1;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.75rem;
}
.docs-author {
display: inline-flex;
align-items: center;
gap: 0.7rem;
min-width: 0;
padding: 0.4rem 0.7rem 0.4rem 0.4rem;
border: 1px solid var(--docs-border);
border-radius: 999px;
background: color-mix(in srgb, var(--bg-color) 82%, transparent);
color: var(--text-color);
text-decoration: none;
transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}
.docs-author:hover {
border-color: var(--docs-border-accent);
background: var(--docs-surface-strong);
color: var(--text-color);
text-decoration: none;
transform: translateY(-1px);
}
.docs-author > span:last-child {
display: grid;
min-width: 0;
line-height: 1.15;
}
.docs-author small {
color: var(--text-secondary-color);
font-size: 0.66rem;
}
.docs-author strong {
overflow: hidden;
max-width: 14rem;
font-size: 0.82rem;
text-overflow: ellipsis;
white-space: nowrap;
}
.docs-author__avatar {
display: grid;
width: 34px;
height: 34px;
flex: 0 0 34px;
place-items: center;
border: 1px solid color-mix(in srgb, var(--main-color) 42%, transparent);
border-radius: 50%;
background-color: color-mix(in srgb, var(--main-color) 20%, var(--bg-color));
background-position: center;
background-size: cover;
color: var(--main-color);
font-size: 0.8rem;
font-weight: 750;
}
.docs-meta-chip {
display: inline-flex;
min-height: 34px;
align-items: center;
gap: 0.42rem;
padding: 0.35rem 0.75rem;
border: 1px solid var(--docs-border);
border-radius: 999px;
background: color-mix(in srgb, var(--bg-color) 78%, transparent);
color: var(--text-secondary-color);
font-size: 0.76rem;
font-weight: 650;
}
.docs-article-body {
padding: clamp(1.5rem, 4vw, 3.5rem);
}
.docs-article-body > :first-child {
margin-top: 0 !important;
}
.docs-article-body > :last-child {
margin-bottom: 0 !important;
}
.docs-article-body h1,
.docs-article-body h2,
.docs-article-body h3,
.docs-article-body h4,
.docs-article-body h5,
.docs-article-body h6 {
scroll-margin-top: 1.5rem;
}
.docs-review-notice {
display: flex;
align-items: flex-start;
gap: 0.85rem;
margin: 1.5rem clamp(1.25rem, 4vw, 3.5rem) 0;
padding: 1rem 1.1rem;
border: 1px solid color-mix(in srgb, #f5aa35 45%, transparent);
border-radius: 12px;
background: color-mix(in srgb, #f5aa35 10%, var(--bg-color));
color: var(--text-color);
}
.docs-review-notice > i {
color: #e69a22;
}
.docs-review-notice div {
display: grid;
gap: 0.15rem;
}
.docs-review-notice span {
color: var(--text-secondary-color);
font-size: 0.86rem;
}
.docs-toc {
position: sticky;
top: 1rem;
overflow: hidden auto;
width: 100%;
max-height: calc(100vh - 2rem);
padding: 1rem;
border: 1px solid var(--docs-border);
border-radius: 16px;
background:
linear-gradient(155deg, color-mix(in srgb, var(--main-color) 8%, transparent), transparent 48%),
color-mix(in srgb, var(--bg-color) 96%, transparent);
box-shadow: 0 12px 35px color-mix(in srgb, #000 9%, transparent);
backdrop-filter: blur(18px);
scrollbar-color: color-mix(in srgb, var(--main-color) 50%, transparent) transparent;
scrollbar-width: thin;
}
.docs-toc__panel {
min-width: 0;
}
.docs-toc__title {
display: flex;
min-height: 38px;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
margin-bottom: 0.75rem;
color: var(--text-color);
font-size: 0.84rem;
font-weight: 750;
letter-spacing: 0.04em;
}
.docs-toc__title > span,
.docs-toc__title > a {
display: inline-flex;
min-width: 0;
align-items: center;
gap: 0.5rem;
}
.docs-toc__title i {
color: var(--main-color);
}
.docs-toc__actions {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 0.3rem;
}
.docs-toc__actions form {
margin: 0;
}
.docs-icon-button {
display: inline-grid;
width: 30px;
height: 30px;
place-items: center;
padding: 0;
border: 1px solid var(--docs-border);
border-radius: 8px;
background: transparent;
color: var(--text-secondary-color);
text-decoration: none;
cursor: pointer;
transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}
.docs-icon-button:hover,
.docs-icon-button:focus-visible {
border-color: var(--docs-border-accent);
outline: 0;
background: var(--focus-main-color);
color: var(--main-color);
text-decoration: none;
}
.docs-icon-button.is-danger:hover,
.docs-icon-button.is-danger:focus-visible {
border-color: color-mix(in srgb, #e55353 55%, transparent);
background: color-mix(in srgb, #e55353 10%, transparent);
color: #e55353;
}
.docs-toc nav {
padding-top: 0.75rem;
border-top: 1px solid var(--docs-border);
}
.docs-toc ul {
margin: 0;
padding: 0;
list-style: none;
}
.docs-toc__item {
position: relative;
margin: 0.16rem 0;
}
.docs-toc__item-level-2 {
padding-left: 0.55rem;
}
.docs-toc__item-level-3 {
padding-left: 1.1rem;
font-size: 0.92rem;
}
.docs-toc__item-level-4 {
padding-left: 1.65rem;
font-size: 0.86rem;
}
.docs-toc a.toc-link,
.page-toc a.toc-link {
position: relative;
display: block;
width: 100%;
padding: 0.48rem 0.65rem;
border-radius: 9px;
color: var(--text-secondary-color);
font-weight: 520;
line-height: 1.35;
text-decoration: none;
overflow-wrap: anywhere;
transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}
.docs-toc a.toc-link:hover,
.docs-toc a.toc-link:focus-visible,
.page-toc a.toc-link:hover,
.page-toc a.toc-link:focus-visible {
outline: 0;
background: color-mix(in srgb, var(--main-color) 9%, transparent);
color: var(--text-color);
text-decoration: none;
transform: translateX(2px);
}
.docs-toc a.toc-link.is-active,
.page-toc a.toc-link.is-active {
background: color-mix(in srgb, var(--main-color) 14%, transparent);
color: var(--main-color);
font-weight: 700;
}
.docs-toc a.toc-link.is-active::before,
.page-toc a.toc-link.is-active::before {
content: "";
position: absolute;
top: 25%;
bottom: 25%;
left: 0;
width: 3px;
border-radius: 999px;
background: var(--main-color);
}
.docs-toc__empty {
display: flex;
align-items: center;
gap: 0.5rem;
margin: 0;
padding: 0.85rem 0.35rem;
border-top: 1px solid var(--docs-border);
color: var(--text-secondary-color);
font-size: 0.84rem;
}
#mobile-toc-toggle,
#mobile-page-toc-toggle {
display: none;
width: 100%;
min-height: 44px;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding: 0.65rem 0.8rem;
border: 0;
border-radius: 10px;
background: transparent;
color: var(--text-color);
font: inherit;
font-size: 0.9rem;
font-weight: 700;
cursor: pointer;
}
#mobile-toc-toggle > span,
#mobile-page-toc-toggle > span {
display: inline-flex;
align-items: center;
gap: 0.55rem;
}
#mobile-toc-toggle > span i,
#mobile-page-toc-toggle > span i {
color: var(--main-color);
}
#mobile-toc-toggle .docs-mobile-chevron,
#mobile-page-toc-toggle .docs-mobile-chevron {
color: var(--text-secondary-color);
transition: transform 0.2s ease;
}
#mobile-toc-toggle[aria-expanded="true"] .docs-mobile-chevron,
#mobile-page-toc-toggle[aria-expanded="true"] .docs-mobile-chevron {
transform: rotate(180deg);
}
.docs-back-to-top {
position: fixed;
z-index: 1020;
right: clamp(1rem, 2.4vw, 2rem);
bottom: clamp(1rem, 2.4vw, 2rem);
display: grid;
width: 42px;
height: 42px;
place-items: center;
padding: 0;
border: 1px solid var(--docs-border-accent);
border-radius: 12px;
background: color-mix(in srgb, var(--bg-color) 86%, transparent);
box-shadow: 0 10px 28px color-mix(in srgb, #000 18%, transparent);
backdrop-filter: blur(12px);
color: var(--main-color);
cursor: pointer;
opacity: 0;
pointer-events: none;
transform: translateY(10px);
transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
}
.docs-back-to-top.is-visible {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
.docs-back-to-top:hover,
.docs-back-to-top:focus-visible {
outline: 0;
background: var(--main-color);
color: var(--on-main-color);
}
.docs-image-modal__inner {
max-width: 100%;
}
.docs-image-modal__close {
position: absolute;
z-index: 3;
top: 0.7rem;
right: 0.7rem;
display: grid;
width: 38px;
height: 38px;
place-items: center;
padding: 0;
border: 1px solid rgba(255, 255, 255, 0.35);
border-radius: 50%;
background: rgba(18, 18, 23, 0.72);
color: #fff;
cursor: pointer;
backdrop-filter: blur(10px);
}
.docs-image-modal #modalImage {
max-height: 90vh;
border-radius: 12px;
object-fit: contain;
}
/* Package navigation */
.docs-package-title {
overflow: hidden;
color: var(--text-color) !important;
text-overflow: ellipsis;
white-space: nowrap;
}
.docs-package-download {
margin-bottom: 0.9rem;
}
.docs-page-toc {
padding: 0.85rem;
}
.docs-page-toc .docs-toc__title {
margin-bottom: 0.35rem;
}
.docs-toc-count {
display: inline-grid;
min-width: 1.55rem;
height: 1.55rem;
place-items: center;
padding-inline: 0.35rem;
border: 1px solid var(--docs-border-accent);
border-radius: 999px;
background: color-mix(in srgb, var(--main-color) 9%, transparent);
color: var(--main-color);
font-size: 0.72rem;
font-weight: 750;
}
.docs-page-toc__nav li + li {
margin-top: 0.08rem;
}
.docs-page-toc__nav a.toc-link {
padding: 0.44rem 0.55rem;
font-size: 0.82rem;
}
.docs-page-toc__empty {
margin-top: 0.35rem;
}
.chapter-group + .chapter-group {
margin-top: 0.25rem;
}
.chapter-title {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
gap: 0.6rem;
padding: 0.55rem 0.6rem;
border: 0;
border-radius: 9px;
background: transparent;
color: var(--text-color);
font: inherit;
font-size: 0.86rem;
font-weight: 700;
text-align: left;
cursor: pointer;
}
.chapter-title:hover,
.chapter-title:focus-visible {
outline: 0;
background: color-mix(in srgb, var(--main-color) 8%, transparent);
color: var(--main-color);
}
.chapter-title .chevron {
flex: 0 0 auto;
transition: transform 0.2s ease;
}
.chapter-title.collapsed .chevron {
transform: rotate(-90deg);
}
.chapter-items {
margin: 0.15rem 0 0.45rem 0.9rem;
padding-left: 0.65rem;
border-left: 1px solid var(--docs-border);
}
.chapter-item {
display: block;
margin: 0.12rem 0;
padding: 0.38rem 0.55rem;
border-radius: 7px;
color: var(--text-secondary-color);
font-size: 0.82rem;
line-height: 1.35;
text-decoration: none;
overflow-wrap: anywhere;
}
.chapter-item:hover,
.chapter-item:focus-visible,
.chapter-item.active {
background: color-mix(in srgb, var(--main-color) 10%, transparent);
color: var(--main-color);
text-decoration: none;
}
.chapter-item.active {
font-weight: 700;
}
.page-toc {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid var(--docs-border);
}
.page-toc-title {
margin-bottom: 0.4rem;
padding-inline: 0.55rem;
color: var(--text-secondary-color);
font-size: 0.7rem;
font-weight: 750;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.docs-page-navigation {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.9rem;
margin-top: 2.5rem;
padding-top: 1.5rem;
border-top: 1px solid var(--docs-border);
}
.nav-card {
display: block;
min-width: 0;
height: 100%;
padding: 1rem;
border: 1px solid var(--docs-border);
border-radius: 12px;
background: color-mix(in srgb, var(--bg-color) 95%, var(--main-color) 5%);
text-decoration: none;
transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.nav-card:hover,
.nav-card:focus-visible {
border-color: var(--docs-border-accent);
outline: 0;
background: var(--docs-surface-strong);
text-decoration: none;
transform: translateY(-2px);
box-shadow: 0 8px 24px color-mix(in srgb, #000 10%, transparent);
}
.nav-card-label {
display: flex;
align-items: center;
margin-bottom: 0.35rem;
color: var(--text-secondary-color);
font-size: 0.75rem;
}
.nav-card-title {
overflow: hidden;
color: var(--text-color);
font-size: 0.94rem;
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.nav-card:hover .nav-card-label,
.nav-card:hover .nav-card-title {
color: var(--main-color);
}
.docs-page-navigation__next {
text-align: right;
}
@media (max-width: 1199.98px) {
.docs-layout--package {
grid-template-areas:
"package-toc"
"page-toc"
"content";
grid-template-columns: minmax(0, 1fr);
gap: 0.75rem;
margin-top: 0.5rem;
}
.docs-layout--package > .docs-toc {
position: static;
z-index: 10;
max-height: none;
padding: 0.35rem;
border-radius: 14px;
}
.docs-layout--package #mobile-toc-toggle,
.docs-layout--package #mobile-page-toc-toggle {
display: flex;
}
.docs-layout--package .docs-toc__panel {
padding: 0.35rem 0.65rem 0.65rem;
}
.docs-layout--package .docs-toc__title {
display: none;
}
.docs-layout--package .docs-toc nav {
padding-top: 0.35rem;
border-top: 0;
}
.docs-layout--package .docs-package-download {
margin-top: 0.35rem;
}
}
@media (max-width: 991.98px) {
.docs-layout {
grid-template-columns: minmax(0, 1fr);
gap: 1rem;
margin-top: 0.5rem;
}
.docs-content {
max-width: none;
}
.docs-toc {
position: static;
z-index: 10;
max-height: none;
padding: 0.35rem;
border-radius: 14px;
}
#mobile-toc-toggle {
display: flex;
}
.docs-toc__panel {
padding: 0.35rem 0.65rem 0.65rem;
}
.docs-toc__title {
display: none;
}
.docs-toc nav {
padding-top: 0.35rem;
border-top: 0;
}
.docs-package-download {
margin-top: 0.35rem;
}
}
@media (max-width: 575.98px) {
.docs-reader-page > .container.flex-grow-1 {
padding-inline: 0.65rem;
}
.docs-article {
border-radius: 14px;
}
.docs-article-header::after {
width: 82px;
height: 82px;
opacity: 0.45;
}
.docs-article-header h1 {
font-size: clamp(1.8rem, 10vw, 2.35rem);
}
.docs-breadcrumb .active {
max-width: 48vw;
}
.docs-author {
max-width: 100%;
}
.docs-author strong {
max-width: 11rem;
}
.docs-page-navigation {
grid-template-columns: minmax(0, 1fr);
}
.docs-page-navigation__next {
text-align: left;
}
.docs-page-navigation__next .nav-card-label {
justify-content: flex-start !important;
}
.docs-back-to-top {
right: 0.85rem;
bottom: 0.85rem;
}
}
@media (prefers-reduced-motion: reduce) {
.docs-reading-progress > span,
.docs-back-to-top,
.docs-author,
.docs-icon-button,
.docs-toc a.toc-link,
.page-toc a.toc-link,
.chapter-title .chevron,
.nav-card {
transition: none;
}
}
:root {
--docs-surface: color-mix(in srgb, var(--bg-color) 94%, var(--main-color) 6%);
--docs-surface-strong: color-mix(in srgb, var(--bg-color) 88%, var(--main-color) 12%);
--docs-border: color-mix(in srgb, var(--text-color) 12%, transparent);
--docs-border-accent: color-mix(in srgb, var(--main-color) 38%, var(--docs-border));
--docs-shadow: 0 20px 55px color-mix(in srgb, #000 12%, transparent);
}
#preview-area {
min-height: 200px;
padding: 1rem;
border: 1px dashed var(--footer-border);
border-radius: 12px;
background-color: color-mix(in srgb, var(--text-color) 2%, var(--bg-color));
color: var(--text-color);
}
.docs-reader-page > .container.flex-grow-1 {
width: min(100%, 1440px);
max-width: 1440px;
padding-inline: clamp(0.8rem, 2vw, 1.75rem);
}
.docs-reading-progress {
position: fixed;
z-index: 1100;
top: 0;
right: 0;
left: 0;
height: 3px;
pointer-events: none;
}
.docs-reading-progress > span {
display: block;
width: 0;
height: 100%;
border-radius: 0 999px 999px 0;
background: linear-gradient(90deg, var(--main-color), #5fd8ef);
box-shadow: 0 0 12px color-mix(in srgb, var(--main-color) 65%, transparent);
transition: width 0.1s linear;
}
.docs-layout {
display: grid;
width: 100%;
max-width: 1360px;
grid-template-columns: minmax(230px, 270px) minmax(0, 1fr);
align-items: start;
gap: clamp(1.25rem, 2.5vw, 2.25rem);
margin: 1.25rem auto 0;
}
.docs-layout--package {
max-width: 1440px;
grid-template-areas: "package-toc content page-toc";
grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) minmax(190px, 220px);
gap: clamp(0.9rem, 1.7vw, 1.5rem);
}
.docs-layout--package > .docs-package-toc {
grid-area: package-toc;
}
.docs-layout--package > .docs-content {
grid-area: content;
max-width: none;
}
.docs-layout--package > .docs-page-toc {
grid-area: page-toc;
}
.docs-content {
width: 100%;
min-width: 0;
max-width: 1060px;
}
.docs-article {
position: relative;
overflow: hidden;
border: 1px solid var(--docs-border);
border-radius: 20px;
background:
radial-gradient(circle at 100% 0, color-mix(in srgb, var(--main-color) 10%, transparent), transparent 28rem),
var(--bg-color);
box-shadow: var(--docs-shadow);
}
.docs-article-header {
position: relative;
padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3.5rem) clamp(1.4rem, 3vw, 2.25rem);
border-bottom: 1px solid var(--docs-border);
background: linear-gradient(145deg, color-mix(in srgb, var(--main-color) 8%, transparent), transparent 66%);
}
.docs-article-header::after {
content: "";
position: absolute;
top: 1.25rem;
right: 1.5rem;
width: 112px;
height: 112px;
border: 1px solid color-mix(in srgb, var(--main-color) 14%, transparent);
border-radius: 32px;
opacity: 0.7;
transform: rotate(16deg);
pointer-events: none;
}
.docs-article-header h1 {
position: relative;
z-index: 1;
max-width: 780px;
margin: 0.65rem 0 1.15rem;
color: var(--text-color);
font-size: clamp(2rem, 5vw, 3.25rem);
font-weight: 780;
line-height: 1.12;
letter-spacing: -0.035em;
overflow-wrap: anywhere;
}
.docs-article-kicker {
display: inline-flex;
align-items: center;
gap: 0.45rem;
color: var(--main-color);
font-size: 0.78rem;
font-weight: 720;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.docs-breadcrumb {
margin: 0 0 1.2rem;
font-size: 0.83rem;
}
.docs-breadcrumb a {
color: var(--text-secondary-color);
text-decoration: none;
}
.docs-breadcrumb a:hover {
color: var(--main-color);
}
.docs-breadcrumb .active {
overflow: hidden;
max-width: min(55vw, 28rem);
color: var(--text-secondary-color) !important;
text-overflow: ellipsis;
white-space: nowrap;
}
.docs-article-meta {
position: relative;
z-index: 1;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.75rem;
}
.docs-author {
display: inline-flex;
align-items: center;
gap: 0.7rem;
min-width: 0;
padding: 0.4rem 0.7rem 0.4rem 0.4rem;
border: 1px solid var(--docs-border);
border-radius: 999px;
background: color-mix(in srgb, var(--bg-color) 82%, transparent);
color: var(--text-color);
text-decoration: none;
transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}
.docs-author:hover {
border-color: var(--docs-border-accent);
background: var(--docs-surface-strong);
color: var(--text-color);
text-decoration: none;
transform: translateY(-1px);
}
.docs-author > span:last-child {
display: grid;
min-width: 0;
line-height: 1.15;
}
.docs-author small {
color: var(--text-secondary-color);
font-size: 0.66rem;
}
.docs-author strong {
overflow: hidden;
max-width: 14rem;
font-size: 0.82rem;
text-overflow: ellipsis;
white-space: nowrap;
}
.docs-author__avatar {
display: grid;
width: 34px;
height: 34px;
flex: 0 0 34px;
place-items: center;
border: 1px solid color-mix(in srgb, var(--main-color) 42%, transparent);
border-radius: 50%;
background-color: color-mix(in srgb, var(--main-color) 20%, var(--bg-color));
background-position: center;
background-size: cover;
color: var(--main-color);
font-size: 0.8rem;
font-weight: 750;
}
.docs-meta-chip {
display: inline-flex;
min-height: 34px;
align-items: center;
gap: 0.42rem;
padding: 0.35rem 0.75rem;
border: 1px solid var(--docs-border);
border-radius: 999px;
background: color-mix(in srgb, var(--bg-color) 78%, transparent);
color: var(--text-secondary-color);
font-size: 0.76rem;
font-weight: 650;
}
.docs-article-body {
padding: clamp(1.5rem, 4vw, 3.5rem);
}
.docs-article-body > :first-child {
margin-top: 0 !important;
}
.docs-article-body > :last-child {
margin-bottom: 0 !important;
}
.docs-article-body h1,
.docs-article-body h2,
.docs-article-body h3,
.docs-article-body h4,
.docs-article-body h5,
.docs-article-body h6 {
scroll-margin-top: 1.5rem;
}
.docs-review-notice {
display: flex;
align-items: flex-start;
gap: 0.85rem;
margin: 1.5rem clamp(1.25rem, 4vw, 3.5rem) 0;
padding: 1rem 1.1rem;
border: 1px solid color-mix(in srgb, #f5aa35 45%, transparent);
border-radius: 12px;
background: color-mix(in srgb, #f5aa35 10%, var(--bg-color));
color: var(--text-color);
}
.docs-review-notice > i {
color: #e69a22;
}
.docs-review-notice div {
display: grid;
gap: 0.15rem;
}
.docs-review-notice span {
color: var(--text-secondary-color);
font-size: 0.86rem;
}
.docs-toc {
position: sticky;
top: 1rem;
overflow: hidden auto;
width: 100%;
max-height: calc(100vh - 2rem);
padding: 1rem;
border: 1px solid var(--docs-border);
border-radius: 16px;
background:
linear-gradient(155deg, color-mix(in srgb, var(--main-color) 8%, transparent), transparent 48%),
color-mix(in srgb, var(--bg-color) 96%, transparent);
box-shadow: 0 12px 35px color-mix(in srgb, #000 9%, transparent);
backdrop-filter: blur(18px);
scrollbar-color: color-mix(in srgb, var(--main-color) 50%, transparent) transparent;
scrollbar-width: thin;
}
.docs-toc__panel {
min-width: 0;
}
.docs-toc__title {
display: flex;
min-height: 38px;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
margin-bottom: 0.75rem;
color: var(--text-color);
font-size: 0.84rem;
font-weight: 750;
letter-spacing: 0.04em;
}
.docs-toc__title > span,
.docs-toc__title > a {
display: inline-flex;
min-width: 0;
align-items: center;
gap: 0.5rem;
}
.docs-toc__title i {
color: var(--main-color);
}
.docs-toc__actions {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 0.3rem;
}
.docs-toc__actions form {
margin: 0;
}
.docs-icon-button {
display: inline-grid;
width: 30px;
height: 30px;
place-items: center;
padding: 0;
border: 1px solid var(--docs-border);
border-radius: 8px;
background: transparent;
color: var(--text-secondary-color);
text-decoration: none;
cursor: pointer;
transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}
.docs-icon-button:hover,
.docs-icon-button:focus-visible {
border-color: var(--docs-border-accent);
outline: 0;
background: var(--focus-main-color);
color: var(--main-color);
text-decoration: none;
}
.docs-icon-button.is-danger:hover,
.docs-icon-button.is-danger:focus-visible {
border-color: color-mix(in srgb, #e55353 55%, transparent);
background: color-mix(in srgb, #e55353 10%, transparent);
color: #e55353;
}
.docs-toc nav {
padding-top: 0.75rem;
border-top: 1px solid var(--docs-border);
}
.docs-toc ul {
margin: 0;
padding: 0;
list-style: none;
}
.docs-toc__item {
position: relative;
margin: 0.16rem 0;
}
.docs-toc__item-level-2 {
padding-left: 0.55rem;
}
.docs-toc__item-level-3 {
padding-left: 1.1rem;
font-size: 0.92rem;
}
.docs-toc__item-level-4 {
padding-left: 1.65rem;
font-size: 0.86rem;
}
.docs-toc a.toc-link,
.page-toc a.toc-link {
position: relative;
display: block;
width: 100%;
padding: 0.48rem 0.65rem;
border-radius: 9px;
color: var(--text-secondary-color);
font-weight: 520;
line-height: 1.35;
text-decoration: none;
overflow-wrap: anywhere;
transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}
.docs-toc a.toc-link:hover,
.docs-toc a.toc-link:focus-visible,
.page-toc a.toc-link:hover,
.page-toc a.toc-link:focus-visible {
outline: 0;
background: color-mix(in srgb, var(--main-color) 9%, transparent);
color: var(--text-color);
text-decoration: none;
transform: translateX(2px);
}
.docs-toc a.toc-link.is-active,
.page-toc a.toc-link.is-active {
background: color-mix(in srgb, var(--main-color) 14%, transparent);
color: var(--main-color);
font-weight: 700;
}
.docs-toc a.toc-link.is-active::before,
.page-toc a.toc-link.is-active::before {
content: "";
position: absolute;
top: 25%;
bottom: 25%;
left: 0;
width: 3px;
border-radius: 999px;
background: var(--main-color);
}
.docs-toc__empty {
display: flex;
align-items: center;
gap: 0.5rem;
margin: 0;
padding: 0.85rem 0.35rem;
border-top: 1px solid var(--docs-border);
color: var(--text-secondary-color);
font-size: 0.84rem;
}
#mobile-toc-toggle,
#mobile-page-toc-toggle {
display: none;
width: 100%;
min-height: 44px;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding: 0.65rem 0.8rem;
border: 0;
border-radius: 10px;
background: transparent;
color: var(--text-color);
font: inherit;
font-size: 0.9rem;
font-weight: 700;
cursor: pointer;
}
#mobile-toc-toggle > span,
#mobile-page-toc-toggle > span {
display: inline-flex;
align-items: center;
gap: 0.55rem;
}
#mobile-toc-toggle > span i,
#mobile-page-toc-toggle > span i {
color: var(--main-color);
}
#mobile-toc-toggle .docs-mobile-chevron,
#mobile-page-toc-toggle .docs-mobile-chevron {
color: var(--text-secondary-color);
transition: transform 0.2s ease;
}
#mobile-toc-toggle[aria-expanded="true"] .docs-mobile-chevron,
#mobile-page-toc-toggle[aria-expanded="true"] .docs-mobile-chevron {
transform: rotate(180deg);
}
.docs-back-to-top {
position: fixed;
z-index: 1020;
right: clamp(1rem, 2.4vw, 2rem);
bottom: clamp(1rem, 2.4vw, 2rem);
display: grid;
width: 42px;
height: 42px;
place-items: center;
padding: 0;
border: 1px solid var(--docs-border-accent);
border-radius: 12px;
background: color-mix(in srgb, var(--bg-color) 86%, transparent);
box-shadow: 0 10px 28px color-mix(in srgb, #000 18%, transparent);
backdrop-filter: blur(12px);
color: var(--main-color);
cursor: pointer;
opacity: 0;
pointer-events: none;
transform: translateY(10px);
transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
}
.docs-back-to-top.is-visible {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
.docs-back-to-top:hover,
.docs-back-to-top:focus-visible {
outline: 0;
background: var(--main-color);
color: var(--on-main-color);
}
.docs-image-modal__inner {
max-width: 100%;
}
.docs-image-modal__close {
position: absolute;
z-index: 3;
top: 0.7rem;
right: 0.7rem;
display: grid;
width: 38px;
height: 38px;
place-items: center;
padding: 0;
border: 1px solid rgba(255, 255, 255, 0.35);
border-radius: 50%;
background: rgba(18, 18, 23, 0.72);
color: #fff;
cursor: pointer;
backdrop-filter: blur(10px);
}
.docs-image-modal #modalImage {
max-height: 90vh;
border-radius: 12px;
object-fit: contain;
}
/* Package navigation */
.docs-package-title {
overflow: hidden;
color: var(--text-color) !important;
text-overflow: ellipsis;
white-space: nowrap;
}
.docs-package-download {
margin-bottom: 0.9rem;
}
.docs-page-toc {
padding: 0.85rem;
}
.docs-page-toc .docs-toc__title {
margin-bottom: 0.35rem;
}
.docs-toc-count {
display: inline-grid;
min-width: 1.55rem;
height: 1.55rem;
place-items: center;
padding-inline: 0.35rem;
border: 1px solid var(--docs-border-accent);
border-radius: 999px;
background: color-mix(in srgb, var(--main-color) 9%, transparent);
color: var(--main-color);
font-size: 0.72rem;
font-weight: 750;
}
.docs-page-toc__nav li + li {
margin-top: 0.08rem;
}
.docs-page-toc__nav a.toc-link {
padding: 0.44rem 0.55rem;
font-size: 0.82rem;
}
.docs-page-toc__empty {
margin-top: 0.35rem;
}
.chapter-group + .chapter-group {
margin-top: 0.25rem;
}
.chapter-title {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
gap: 0.6rem;
padding: 0.55rem 0.6rem;
border: 0;
border-radius: 9px;
background: transparent;
color: var(--text-color);
font: inherit;
font-size: 0.86rem;
font-weight: 700;
text-align: left;
cursor: pointer;
}
.chapter-title:hover,
.chapter-title:focus-visible {
outline: 0;
background: color-mix(in srgb, var(--main-color) 8%, transparent);
color: var(--main-color);
}
.chapter-title .chevron {
flex: 0 0 auto;
transition: transform 0.2s ease;
}
.chapter-title.collapsed .chevron {
transform: rotate(-90deg);
}
.chapter-items {
margin: 0.15rem 0 0.45rem 0.9rem;
padding-left: 0.65rem;
border-left: 1px solid var(--docs-border);
}
.chapter-item {
display: block;
margin: 0.12rem 0;
padding: 0.38rem 0.55rem;
border-radius: 7px;
color: var(--text-secondary-color);
font-size: 0.82rem;
line-height: 1.35;
text-decoration: none;
overflow-wrap: anywhere;
}
.chapter-item:hover,
.chapter-item:focus-visible,
.chapter-item.active {
background: color-mix(in srgb, var(--main-color) 10%, transparent);
color: var(--main-color);
text-decoration: none;
}
.chapter-item.active {
font-weight: 700;
}
.page-toc {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid var(--docs-border);
}
.page-toc-title {
margin-bottom: 0.4rem;
padding-inline: 0.55rem;
color: var(--text-secondary-color);
font-size: 0.7rem;
font-weight: 750;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.docs-page-navigation {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.9rem;
margin-top: 2.5rem;
padding-top: 1.5rem;
border-top: 1px solid var(--docs-border);
}
.nav-card {
display: block;
min-width: 0;
height: 100%;
padding: 1rem;
border: 1px solid var(--docs-border);
border-radius: 12px;
background: color-mix(in srgb, var(--bg-color) 95%, var(--main-color) 5%);
text-decoration: none;
transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.nav-card:hover,
.nav-card:focus-visible {
border-color: var(--docs-border-accent);
outline: 0;
background: var(--docs-surface-strong);
text-decoration: none;
transform: translateY(-2px);
box-shadow: 0 8px 24px color-mix(in srgb, #000 10%, transparent);
}
.nav-card-label {
display: flex;
align-items: center;
margin-bottom: 0.35rem;
color: var(--text-secondary-color);
font-size: 0.75rem;
}
.nav-card-title {
overflow: hidden;
color: var(--text-color);
font-size: 0.94rem;
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.nav-card:hover .nav-card-label,
.nav-card:hover .nav-card-title {
color: var(--main-color);
}
.docs-page-navigation__next {
text-align: right;
}
@media (max-width: 1199.98px) {
.docs-layout--package {
grid-template-areas:
"package-toc"
"page-toc"
"content";
grid-template-columns: minmax(0, 1fr);
gap: 0.75rem;
margin-top: 0.5rem;
}
.docs-layout--package > .docs-toc {
position: static;
z-index: 10;
max-height: none;
padding: 0.35rem;
border-radius: 14px;
}
.docs-layout--package #mobile-toc-toggle,
.docs-layout--package #mobile-page-toc-toggle {
display: flex;
}
.docs-layout--package .docs-toc__panel {
padding: 0.35rem 0.65rem 0.65rem;
}
.docs-layout--package .docs-toc__title {
display: none;
}
.docs-layout--package .docs-toc nav {
padding-top: 0.35rem;
border-top: 0;
}
.docs-layout--package .docs-package-download {
margin-top: 0.35rem;
}
}
@media (max-width: 991.98px) {
.docs-layout {
grid-template-columns: minmax(0, 1fr);
gap: 1rem;
margin-top: 0.5rem;
}
.docs-content {
max-width: none;
}
.docs-toc {
position: static;
z-index: 10;
max-height: none;
padding: 0.35rem;
border-radius: 14px;
}
#mobile-toc-toggle {
display: flex;
}
.docs-toc__panel {
padding: 0.35rem 0.65rem 0.65rem;
}
.docs-toc__title {
display: none;
}
.docs-toc nav {
padding-top: 0.35rem;
border-top: 0;
}
.docs-package-download {
margin-top: 0.35rem;
}
}
@media (max-width: 575.98px) {
.docs-reader-page > .container.flex-grow-1 {
padding-inline: 0.65rem;
}
.docs-article {
border-radius: 14px;
}
.docs-article-header::after {
width: 82px;
height: 82px;
opacity: 0.45;
}
.docs-article-header h1 {
font-size: clamp(1.8rem, 10vw, 2.35rem);
}
.docs-breadcrumb .active {
max-width: 48vw;
}
.docs-author {
max-width: 100%;
}
.docs-author strong {
max-width: 11rem;
}
.docs-page-navigation {
grid-template-columns: minmax(0, 1fr);
}
.docs-page-navigation__next {
text-align: left;
}
.docs-page-navigation__next .nav-card-label {
justify-content: flex-start !important;
}
.docs-back-to-top {
right: 0.85rem;
bottom: 0.85rem;
}
}
@media (prefers-reduced-motion: reduce) {
.docs-reading-progress > span,
.docs-back-to-top,
.docs-author,
.docs-icon-button,
.docs-toc a.toc-link,
.page-toc a.toc-link,
.chapter-title .chevron,
.nav-card {
transition: none;
}
}