*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f6f8fc;color:#172033;line-height:1.7}

a{text-decoration:none;color:inherit}



.header{

background:#fff;

border-bottom:1px solid #e7ebf2;

position:sticky;

top:0;

z-index:10

}



.nav{

max-width:1100px;

margin:auto;

padding:18px 24px;

display:flex;

justify-content:space-between;

align-items:center

}



.brand{

font-weight:800;

font-size:18px

}



.back{

font-size:14px;

color:#4f46e5;

font-weight:700

}



main{

max-width:900px;

margin:auto;

padding:60px 24px 80px

}



.hero{

background:#fff;

border:1px solid #e7ebf2;

border-radius:20px;

padding:45px;

box-shadow:0 10px 30px rgba(30,41,59,.06)

}



.kicker{

font-size:13px;

font-weight:800;

letter-spacing:.08em;

color:#4f46e5;

margin-bottom:12px

}



h1{

font-size:42px;

line-height:1.2;

margin:0 0 20px

}



h2{

font-size:28px;

margin-top:45px;

line-height:1.3

}



h3{

font-size:21px;

margin-top:28px

}



p{color:#4b5563}



.box{

background:#fff;

border:1px solid #e7ebf2;

border-radius:16px;

padding:28px;

margin-top:25px

}



ul{

padding-left:22px;

color:#4b5563

}



li{margin:10px 0}



.note{

background:#eef2ff;

border-left:4px solid #4f46e5;

padding:20px;

border-radius:10px;

margin-top:30px

}



.related{

margin-top:45px;

padding-top:30px;

border-top:1px solid #e7ebf2

}



.related a{

display:inline-block;

margin:8px 10px 0 0;

padding:10px 14px;

border:1px solid #dbe1ea;

border-radius:10px;

background:#fff;

font-size:14px;

font-weight:700;

color:#334155

}



footer{

text-align:center;

padding:35px 20px;

color:#64748b;

font-size:14px

}



@media(max-width:700px){

main{padding:35px 16px 60px}

.hero{padding:28px 22px}

h1{font-size:32px}

h2{font-size:25px}

.nav{padding:16px}

}

.table-of-contents{

  margin:24px 0;

  border:1px solid #e1e6ee;

  border-radius:12px;

  background:#f8fafc;

  overflow:hidden;

}



.toc-toggle{

  width:100%;

  border:0;

  background:#071b35;

  color:#fff;

  padding:16px 18px;

  font-size:16px;

  font-weight:700;

  display:flex;

  justify-content:space-between;

  align-items:center;

  cursor:pointer;

}



.toc-arrow{

  font-size:18px;

  line-height:1;

}



.toc-content{

  display:none;

  padding:14px 22px;

}



.table-of-contents.open .toc-content{

  display:block;

}



.toc-content ul{

  margin:0;

  padding-left:18px;

}



.toc-content li{

  margin:10px 0;

}



.toc-content a{

  color:#0d3b66;

  text-decoration:none;

  font-weight:600;

}



.toc-content a:hover{

  text-decoration:underline;

}



@media(max-width:600px){

  .toc-toggle{

    padding:15px;

  }



  .toc-content{

    padding:12px 18px;

  }

}

.author-box{

    margin:30px 0;

    padding:20px;

    border:1px solid #ddd;

    border-radius:10px;

    background:#f8f9fa;

}

.author-box strong{

    display:block;

    font-size:18px;

    margin-bottom:5px;

}

.author-box span{

    display:block;

    font-size:14px;

    margin-bottom:12px;

    color:#555;

}

.author-box p{

    margin:0;

    line-height:1.6;

}
