
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --bg:#0a0a0a;
    --surface:#111111;
    --surface2:#171717;
    --surface3:#1e1e1e;
    --accent:#d4a843;
    --accent-light:#e4be5a;
    --accent-dim:rgba(212,168,67,.1);
    --text:#f0ece4;
    --text-secondary:#a8a29e;
    --text-muted:#6b6560;
    --border:#2a2520;
    --radius:10px;
    --radius-lg:16px;
}
html{scroll-behavior:smooth;font-size:16px}
body{
    font-family:'Noto Sans SC',sans-serif;
    background:var(--bg);color:var(--text);
    line-height:1.7;overflow-x:hidden;
}
body::before{
    content:'';position:fixed;inset:0;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
    opacity:.03;pointer-events:none;z-index:9999;
}
.container{max-width:1200px;margin:0 auto;padding:0 32px}
a{text-decoration:none;color:inherit}

/* NAV */
nav{
/*    position:fixed;*/
/*    top:0;left:0;*/
/*    right:0;*/
    z-index:100;
    background:rgba(10,10,10,.92);
    backdrop-filter:blur(20px);
/*    border-bottom:1px solid var(--border);*/
}
.nav-inner{
    max-width:1200px;margin:0 auto;padding:0 32px;
    display:flex;align-items:center;justify-content:space-between;
    height:72px;
}
.nav-brand{
    font-family:'DM Mono',monospace;font-size:1rem;
    color:var(--accent);letter-spacing:.06em;text-decoration:none;
    display:flex;align-items:center;gap:10px;
}
.nav-brand .dot{
    width:8px;height:8px;background:var(--accent);
    border-radius:50%;animation:blink 2s ease infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{
    font-size:.82rem;color:var(--text-secondary);
    text-decoration:none;letter-spacing:.03em;
    transition:color .2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.nav-cta{
    font-size:.78rem;padding:8px 22px;
    background:var(--accent);color:#000;
    border:none;border-radius:6px;cursor:pointer;
    font-weight:600;letter-spacing:.04em;
    transition:all .3s;
}
.nav-cta:hover{background:var(--accent-light);transform:translateY(-1px)}

/* LAYOUT */
.article-wrap{
    padding-top:72px;
}
.article-layout{
    display:grid;
    grid-template-columns:1fr 320px;
    gap:48px;
    padding:60px 0 100px;
}

/* BREADCRUMB */
.breadcrumb-bar{
    padding:20px 0;
    border-bottom:1px solid var(--border);
    margin-top:40px;
}
.breadcrumb{
    display:flex;align-items:center;gap:8px;
    font-size:.78rem;color:var(--text-muted);
}
.breadcrumb a{color:var(--text-muted);transition:color .2s}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .sep{opacity:.3}
.breadcrumb .current{color:var(--text)}

/* ARTICLE */
.article-main{min-width:0}
.article-header{margin-bottom:40px}
.article-meta{
    display:flex;align-items:center;gap:14px;
    margin-bottom:16px;flex-wrap:wrap;
}
.article-meta .tag{
    padding:4px 14px;
    background:var(--accent-dim);
    border-radius:50px;
    font-size:.68rem;color:var(--accent);
    font-weight:600;letter-spacing:.04em;
}
.article-meta .date{
    font-family:'DM Mono',monospace;
    font-size:.75rem;color:var(--text-muted);
}
.article-meta .author{
    font-size:.78rem;color:var(--text-muted);
}
.article-meta .read-time{
    font-size:.78rem;color:var(--text-muted);
    display:flex;align-items:center;gap:4px;
}
.article-header h1{
    font-size:2.4rem;font-weight:900;
    line-height:1.3;letter-spacing:-.02em;
    margin-bottom:16px;
}
.article-header .lead{
    font-size:1.1rem;color:var(--text-secondary);
    line-height:1.8;
}

/* COVER IMAGE */
.article-cover{
    margin-bottom:40px;
    border-radius:var(--radius-lg);
    overflow:hidden;
    position:relative;
}
.cover-visual{
    width:100%;height:360px;
    background:linear-gradient(135deg,#1a1510 0%,#252015 50%,#1a1810 100%);
    position:relative;
}
.cover-visual::before{
    content:'';position:absolute;inset:0;
    background:
    radial-gradient(ellipse at 30% 40%,rgba(212,168,67,.12) 0%,transparent 50%),
    radial-gradient(ellipse at 70% 60%,rgba(212,168,67,.06) 0%,transparent 50%);
}
.cover-visual .cover-overlay{
    position:absolute;inset:0;
    display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    gap:16px;
}
.cover-visual .cover-icon{
    width:80px;height:80px;
    background:rgba(212,168,67,.1);
    border:1px solid rgba(212,168,67,.2);
    border-radius:20px;
    display:flex;align-items:center;justify-content:center;
    font-size:2rem;
}
.cover-visual .cover-text{
    font-size:.88rem;color:var(--accent);
    font-weight:600;letter-spacing:.04em;
}
.cover-caption{
    padding:12px 16px;
    background:var(--surface);
    font-size:.72rem;color:var(--text-muted);
    text-align:center;
}

/* ARTICLE BODY */
.article-body{
    font-size:.95rem;line-height:2;
    color:var(--text-secondary);
}
.article-body h2{
    font-size:1.5rem;font-weight:800;
    color:var(--text);
    margin:48px 0 16px;
    letter-spacing:-.01em;
    padding-left:16px;
    border-left:3px solid var(--accent);
}
.article-body h3{
    font-size:1.2rem;font-weight:700;
    color:var(--text);
    margin:36px 0 12px;
}
.article-body p{margin-bottom:20px}
.article-body strong{color:var(--text);font-weight:600}
.article-body em{color:var(--accent);font-style:normal;font-weight:500}

.article-body blockquote{
    margin:32px 0;
    padding:24px 28px;
    background:var(--accent-dim);
    border-left:3px solid var(--accent);
    border-radius:0 var(--radius) var(--radius) 0;
    font-size:.92rem;
    color:var(--text);
}
.article-body blockquote p{margin-bottom:0}

.article-body ul,.article-body ol{
    margin:20px 0;
    padding-left:24px;
}
.article-body li{
    margin-bottom:10px;
    padding-left:4px;
}
.article-body li::marker{
    color:var(--accent);
}

.article-body .highlight-box{
    margin:32px 0;
    padding:28px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
}
.article-body .highlight-box h4{
    font-size:.95rem;font-weight:700;
    color:var(--accent);
    margin-bottom:12px;
    display:flex;align-items:center;gap:8px;
}
.article-body .highlight-box p{margin-bottom:0}

.article-body figure{
    margin:32px 0;
}
.article-body figure .img-placeholder{
    width:100%;height:240px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    display:flex;align-items:center;justify-content:center;
    color:var(--text-muted);font-size:.85rem;
}
.article-body figcaption{
    text-align:center;
    font-size:.75rem;color:var(--text-muted);
    margin-top:10px;
}

/* KEY FIGURES */
.key-figures{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:16px;margin:32px 0;
}
.kf-card{
    padding:24px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    text-align:center;
}
.kf-card .num{
    font-family:'DM Mono',monospace;
    font-size:2rem;color:var(--accent);
    font-weight:500;line-height:1;
    margin-bottom:6px;
}
.kf-card .label{
    font-size:.78rem;color:var(--text-muted);
}

/* TAGS */
.article-tags{
    display:flex;flex-wrap:wrap;gap:8px;
    margin-top:48px;
    padding-top:32px;
    border-top:1px solid var(--border);
}
.article-tags .at-label{
    font-size:.78rem;color:var(--text-muted);
    margin-right:8px;line-height:2;
}
.article-tags .at{
    padding:4px 14px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:50px;
    font-size:.72rem;color:var(--text-secondary);
    transition:all .2s;
}
.article-tags .at:hover{
    border-color:var(--accent);color:var(--accent);
}

/* SHARE */
.article-share{
    display:flex;align-items:center;gap:12px;
    margin-top:24px;
    padding-top:24px;
    border-top:1px solid var(--border);
}
.article-share .share-label{
    font-size:.78rem;color:var(--text-muted);
}
.share-btn{
    width:36px;height:36px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:8px;
    display:flex;align-items:center;justify-content:center;
    font-size:.9rem;cursor:pointer;
    transition:all .2s;
}
.share-btn:hover{border-color:var(--accent);background:var(--accent-dim)}

/* NAV PREV/NEXT */
.article-nav{
    display:grid;grid-template-columns:1fr 1fr;
    gap:20px;margin-top:48px;
    padding-top:32px;
    border-top:1px solid var(--border);
}
.nav-item{
    padding:20px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    cursor:pointer;transition:all .3s;
}
.nav-item:hover{border-color:rgba(212,168,67,.3)}
.nav-item .ni-label{
    font-size:.68rem;color:var(--text-muted);
    text-transform:uppercase;letter-spacing:.06em;
    margin-bottom:8px;
}
.nav-item .ni-title{
    font-size:.88rem;font-weight:600;
    line-height:1.5;
    transition:color .2s;
}
.nav-item:hover .ni-title{color:var(--accent)}
.nav-item.next{text-align:right}

/* SIDEBAR */
.sidebar{position:sticky;top:100px}
.sidebar-section{
    margin-bottom:32px;
}
.sidebar-title{
    font-size:.78rem;font-weight:700;
    color:var(--text-muted);
    text-transform:uppercase;letter-spacing:.08em;
    margin-bottom:16px;
    padding-bottom:10px;
    border-bottom:1px solid var(--border);
    font-family:'DM Mono',monospace;
}

/* SIDEBAR TOC */
.toc{list-style:none}
.toc li{
    padding:8px 0;
    border-bottom:1px solid rgba(42,37,32,.3);
}
.toc li:last-child{border-bottom:none}
.toc a{
    font-size:.82rem;color:var(--text-muted);
    display:flex;align-items:center;gap:8px;
    transition:all .2s;
}
.toc a:hover{color:var(--accent);padding-left:4px}
.toc .dot{
    width:4px;height:4px;
    background:var(--text-muted);
    border-radius:50%;flex-shrink:0;
    transition:all .2s;
}
.toc a:hover .dot{background:var(--accent)}

/* SIDEBAR RELATED */
.related-item{
    display:flex;gap:14px;
    padding:14px 0;
    border-bottom:1px solid rgba(42,37,32,.3);
    cursor:pointer;
    transition:all .2s;
}
.related-item:last-child{border-bottom:none}
.related-item:hover{padding-left:4px}
.related-item .ri-thumb{
    width:64px;height:64px;
    background:var(--surface2);
    border-radius:8px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;flex-shrink:0;
}
.related-item .ri-info h4{
    font-size:.82rem;font-weight:600;
    line-height:1.4;margin-bottom:4px;
    transition:color .2s;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.related-item:hover .ri-info h4{color:var(--accent)}
.related-item .ri-info .ri-date{
    font-family:'DM Mono',monospace;
    font-size:.65rem;color:var(--text-muted);
}

/* SIDEBAR CTA */
.sidebar-cta{
    padding:28px 24px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    text-align:center;
}
.sidebar-cta .scta-icon{
    width:48px;height:48px;
    margin:0 auto 16px;
    background:var(--accent-dim);
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;
}
.sidebar-cta h3{font-size:1rem;font-weight:700;margin-bottom:8px}
.sidebar-cta p{font-size:.78rem;color:var(--text-muted);margin-bottom:20px;line-height:1.6}
.sidebar-cta .btn-sidebar{
    width:100%;padding:12px;
    background:var(--accent);color:#000;
    font-weight:700;font-size:.82rem;
    border:none;border-radius:8px;
    cursor:pointer;transition:all .3s;
    font-family:'Noto Sans SC',sans-serif;
}
.sidebar-cta .btn-sidebar:hover{background:var(--accent-light)}

/* FOOTER */
footer{
    padding:48px 0;
    border-top:1px solid var(--border);
}
.footer-inner{
    display:flex;justify-content:space-between;
    align-items:center;
}
footer .brand{
    font-family:'DM Mono',monospace;
    font-size:.82rem;color:var(--accent);
    letter-spacing:.05em;
}
footer .copy{font-size:.72rem;color:var(--text-muted)}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(20px);transition:all .6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

@media(max-width:1024px){
    .article-layout{grid-template-columns:1fr}
    .sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:24px}
    .sidebar-section{margin-bottom:0}
    .sidebar-cta{grid-column:span 2}
}
@media(max-width:768px){
    .article-header h1{font-size:1.8rem}
    .article-header .lead{font-size:.95rem}
    .cover-visual{height:220px}
    .key-figures{grid-template-columns:1fr}
    .article-nav{grid-template-columns:1fr}
    .sidebar{grid-template-columns:1fr}
    .sidebar-cta{grid-column:span 1}
    .nav-links{display:none}
    .footer-inner{flex-direction:column;gap:12px;text-align:center}
}
