body{

    background:#090D18;

    overflow-x:hidden;

}

.chapter-hero{

    padding:64px 72px;

    margin-bottom:60px;

    background:rgba(255,255,255,.02);

    border:1px solid rgba(255,255,255,.06);

    border-radius:28px;

}

.article-page{

    max-width:1200px;

    margin:0 auto;

    padding:60px 30px 120px;

    position:relative;

    z-index:1;

}

.article{

    width:min(1100px,100%);

    margin:40px auto;

    background:#0F1320;

    border:1px solid rgba(255,255,255,.05);

    border-radius:26px;

    padding:80px 70px 140px;

    overflow:hidden;

}

.back-link{

    display:inline-block;

    margin-bottom:40px;

    color:var(--muted);

    text-decoration:none;

    transition:.25s;

}

.back-link:hover{

    color:white;

}

.article-meta{

    display:flex;

    align-items:center;

    gap:16px;

    margin-bottom:28px;

}

.article-tag{

    color:#9E7CFF;

    font-size:24px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

.article-title{

    font-size:52px;

    line-height:1.1;

    margin:18px 0 28px;

    font-weight:700;

}

.hero-preview{

    font-size:26px;

    color:#ECEEF5;

    line-height:1.95;

    margin-bottom:20px;

}

.reading-time{

    display:inline-flex;

    align-items:center;

    gap:6px;

    color:var(--muted);

    font-size:18px;

    opacity:.6;

}

.chapter-hero{

    margin-bottom:48px;

}

.article-content{

    padding-top:10px;

}

.article-content h2{

    font-size:34px;

    margin:70px 0 24px;

    line-height:1.2;

}

.article-content h3{

    font-size:26px;

    margin:48px 0 18px;

}

.article-content p{

    font-size:20px;

    line-height:1.95;

    color:#E7EDF8;

    margin:26px 0;

}

.article-content ul,
.article-content ol{

    margin:28px 0;

    padding-left:34px;

}

.article-content li{

    font-size:20px;

    line-height:1.95;

    color:#E7EDF8;

}

.article-content li + li{

    margin-top:2px;

}

.article-content li::marker{

    color:rgba(255,255,255,.85);

}

.article-content code{

    padding:3px 8px;

    border-radius:8px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.07);

    color:#CDB5FF;

    font-size:.95em;

    font-family:Consolas, monospace;

}

.article-content pre{

    margin:42px 0;

    padding:24px;

    border-radius:18px;

    background:#0A0E18;

    border:1px solid rgba(255,255,255,.05);

    overflow-x:auto;

}

.article-content pre code{

    padding:0;

    border:none;

    background:none;

    color:inherit;

}

.article-content table{

    width:100%;

    border-collapse:collapse;

    margin:42px 0;

    overflow:hidden;

    border-radius:18px;

}

.article-content th{

    background:rgba(255,255,255,.05);

    padding:16px;

    text-align:left;

    font-size:18px;

}

.article-content td{

    padding:16px;

    border-top:1px solid rgba(255,255,255,.06);

    color:#E7EDF8;

    font-size:18px;

}

.katex-display{

    margin:40px 0;

    text-align:center;

    font-size:1.35em;

}

.article-content a{

    color:#8B5CF6;

    text-decoration:underline;

    transition:.25s;

}

.article-content a:hover{

    color:#38BDF8;

}

.article-content strong{

    color:white;

}

.article-content em{

    color:#B7C4DB;

}

.article-content img{

    width:100%;

    border-radius:22px;

    margin:50px 0;

}

.article-content blockquote{

    margin:45px 0;

    padding:22px 28px;

    border-left:4px solid var(--accent);

    background:rgba(255,255,255,.03);

    border-radius:16px;

    color:#EEF3FF;

    font-size:21px;

    line-height:1.8;

}

.article hr{

    margin:70px 0;

    border:none;

    border-top:1px solid rgba(255,255,255,.08);

}

#stars{

    position:fixed;

    inset:0;

    z-index:0;

    pointer-events:none;

}

.article-header{

    width:100%;

    position:relative;

    z-index:10;

    padding:0;

}

.article-header .navbar{

    max-width:1200px;

    margin:0 auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px;

}

.article-header .logo{

    display:flex;

    align-items:center;

    gap:12px;

    text-decoration:none;

    color:white;

}

.article-header .logo-star{

    font-size:22px;

    margin-top:-1px;

}

.article-header .logo-text{

    font-size:30px;

    font-weight:700;

    letter-spacing:2px;

}

.article-header .nav-links{

    display:flex;

    gap:30px;

}

.article-header .nav-links a{

    color:var(--muted);

    text-decoration:none;

    transition:.3s;

}

.article-header .nav-links a:hover{

    color:white;

}

.concepts{

    margin-top:80px;

}

.terms{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:24px;

}

.term-badge{

    padding:10px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    color:#C8D2E8;

    font-size:14px;

}

.related-section{

    margin-top:90px;

}

.related{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:24px;

    margin-top:30px;

}

.related .card{

    text-decoration:none;

    color:inherit;

}

.related h3{

    margin:10px 0;

}

.related p{

    margin:0 0 24px;

    font-size:16px;

    line-height:1.7;

}

@media (max-width: 768px) {

    body {
        overflow-x: hidden;
    }

    .article-header .navbar {
        padding: 14px 18px;
    }

    .article-header .logo-text {
        font-size: 22px;
        letter-spacing: 1px;
    }

    .article-header .logo-star {
        font-size: 18px;
    }

    .article-page {
        padding: 25px 18px 70px;
    }

    .article {
        width: 100%;
        margin: 16px auto;
        padding: 30px 20px 60px;
        border-radius: 20px;
    }

    .chapter-hero {
        padding: 26px 20px;
        margin-bottom: 32px;
        border-radius: 18px;
    }

    .article-meta {
        gap: 10px;
        margin-bottom: 16px;
    }

    .article-tag {
        font-size: 15px;
    }

    .article-title {
        font-size: clamp(30px, 8.5vw, 40px);
        line-height: 1.12;
        margin: 14px 0 20px;
    }

    .hero-preview {
        font-size: 17px;
        line-height: 1.7;
        margin-bottom: 16px;
    }

    .reading-time {
        font-size: 14px;
    }

    .article-content {
        padding-top: 0;
    }

    .article-content h2 {
        font-size: 26px;
        line-height: 1.25;
        margin: 46px 0 18px;
    }

    .article-content h3 {
        font-size: 22px;
        line-height: 1.3;
        margin: 34px 0 14px;
    }

    .article-content p {
        font-size: 17px;
        line-height: 1.85;
        margin: 20px 0;
    }

    .article-content ul,
    .article-content ol {
        margin: 22px 0;
        padding-left: 24px;
    }

    .article-content li {
        font-size: 17px;
        line-height: 1.8;
    }

    .article-content pre {
        margin: 28px 0;
        padding: 16px;
        border-radius: 14px;
        overflow-x: auto;
        font-size: 14px;
    }

    .article-content code {
        font-size: .9em;
        padding: 2px 6px;
    }

    .article-content table {
        display: block;
        overflow-x: auto;
        margin: 28px 0;
    }

    .article-content th,
    .article-content td {
        padding: 11px;
        font-size: 15px;
        white-space: nowrap;
    }

    .article-content blockquote {
        margin: 28px 0;
        padding: 16px 18px;
        font-size: 17px;
        line-height: 1.8;
    }

    .article-content img {
        width: 100%;
        border-radius: 16px;
        margin: 28px 0;
    }

    .katex-display {
        margin: 28px 0;
        font-size: 1.05em;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .concepts {
        margin-top: 50px;
    }

    .terms {
        gap: 8px;
        margin-top: 18px;
    }

    .term-badge {
        padding: 8px 14px;
        font-size: 13px;
    }

    .interactive {
        width: 100%;
        max-width: 100%;
        margin: 30px 0;
        padding: 18px;
        border-radius: 18px;
        overflow: hidden;
    }

    .interactive-content {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .interactive-visual {
        width: 100%;
        min-height: 180px;
        max-width: 100%;
    }

    .interactive-controls {
        width: 100%;
        max-width: 100%;
    }

    .interactive-title {
        font-size: 22px;
        line-height: 1.25;
        text-align: center;
        margin-bottom: 18px;
    }

    .interactive-labels {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        width: 100%;
        font-size: 14px;
    }

    .interactive-slider {
        width: 100%;
        max-width: 100%;
    }

    .interactive-description {
        font-size: 15px;
        line-height: 1.6;
    }

    .related-section {
        margin-top: 55px;
    }

    .related {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 20px;
    }

    .related p {
        font-size: 15px;
        line-height: 1.65;
    }
}