body {
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
   line-height: 1.6;
   color: #333;
   background-color: #fafafa;
}

.container {
   max-width: min(80%, 900px);
   margin: 30px auto;
   background: white;
   padding: 40px;
   border-radius: 8px;
   box-shadow: 0 2px 15px rgba(0,0,0,0.3);
}

.header {
   text-align: center;
   margin-bottom: 30px;
}

.header img {
   margin-bottom: 10px;
   width: 66%;
   height: auto;
}

h3 {
   color: #2c3e50;
   border-bottom: 2px solid #e74c3c;
   padding-bottom: 8px;
   margin-top: 25px;
   margin-bottom: 15px;
}

.profile-section {
   display: flex;
   align-items: flex-start;
   gap: 25px;
   margin-bottom: 30px;
}

.profile-image {
   flex: 0 0 25%;
   max-width: 25%;
   flex-shrink: 0;
   align-self: center;
}

.profile-image img {
   border: 2px solid #ddd;
   border-radius: 8px;
   width: 100%;
   height: auto;
}

.profile-info {
   flex: 1 1 75%;
   max-width: 75%;
}

.info-table {
   width: 100%;
   border-collapse: collapse;
}

.info-table th {
   text-align: right;
   padding: 8px 15px 8px 0;
   font-weight: 600;
   color: #2c3e50;
   vertical-align: top;
   width: 80px;
}

.info-table td {
   padding: 8px 0;
   vertical-align: top;
}

.info-table a {
   color: #3498db;
   text-decoration: none;
}

.info-table a:hover {
   text-decoration: underline;
}

dt { 
   font-weight: 600;
   color: #2c3e50;
   margin-top: 25px;
   margin-bottom: 10px;
}

dd { 
   margin-left: 20px;
   margin-bottom: 20px;
}

ul {
   padding-left: 20px;
}

li {
   margin-bottom: 4px;
}

p {
   margin-bottom: 15px;
}

hr {
   border: none;
   height: 1px;
   background: linear-gradient(to right, transparent, #ddd, transparent);
   margin: 25px 0;
}

.math-formula {
   background: #f8f9fa;
   padding: 1px;
   border-radius: 4px;
   margin: 10px 0;
   border-left: 3px solid #e74c3c;
}

.acknowledgments {
   background: #f8f9fa;
   padding: 15px;
   border-radius: 6px;
   margin-top: 20px;
   border-left: 4px solid #3498db;
}

.acknowledgments p {
   margin: 0;
   font-style: italic;
}

a {
   color: #3498db;
   text-decoration: none;
}

a:hover {
   text-decoration: underline;
}

.collapsible-content {
    display: none;
}

.collapsible-content.expanded {
    display: block;
}

.week-header {
    cursor: pointer;
    user-select: none;
}

.week-header:before {
    content: "▶ ";
}

.week-header.expanded:before {
    content: "▼ ";
}
