
   * { margin: 0; padding: 0; box-sizing: border-box; }
   html, body { height: 100%; }
   
   body {
     font-family: "PT Serif", Georgia, serif;
     background: #ffffff;
     color: #1a1a1a;
     min-height: 100vh;
     display: flex;
     flex-direction: column;
     line-height: 1.65;          
     font-weight: 400;
     font-style: normal;
   }
   

   .icon-bar {
     position: absolute;
     top: 1rem;
     right: 1rem;
     z-index: 10;
   }
   .icon-bar svg {
     width: 28px;
     height: 28px;
     fill: currentColor;
     transition: opacity 0.25s ease, transform 0.2s ease;
     color: #1a1a1a;
     cursor: pointer;
   }
   .icon-bar svg:hover {
     opacity: 1;
     transform: scale(1.08);
   }
   

   .wrap {
     width: 100%;
     max-width: 600px;                
     margin: 0 auto;
     padding: 3.25rem 1rem 2rem;     
     flex: 1 1 auto;
   }
   
   .article-wrap {
     width: 100%;
     max-width: 600px;               
     margin: 0 auto;
     padding: 3.5rem 1rem 2rem;
     flex: 1 1 auto;
   }
   

   .articles { list-style: none; }
   .article {
     display: grid;
     grid-template-columns: 10ch 1fr;  
     column-gap: 0.5rem;
     align-items: baseline;
   }

  ul {
    margin-left: 20px;
   }
   .article time {
     white-space: nowrap;
     font-variant-numeric: tabular-nums;
   }
   .article a {
     color: inherit;
     text-decoration: none;     
     font-weight: 700;  
     display: block;
     overflow: hidden;
     white-space: nowrap;
     text-overflow: ellipsis;        
   }
   
   .article a:hover {
    font-weight: 700;
    text-decoration: underline;
   }

   article h1 {
     font-size: 2rem;
     letter-spacing: 0.3px;
     line-height: 1.4;
   }
   article h2, h3 {
    font-size: 1.5rem;
    letter-spacing: 0.3px;
    line-height: 1.2;
    margin-bottom: 10px;
    margin-top: 10px;
  }

   article .meta {
     font-size: 0.9rem;
     opacity: 0.6;
     margin-bottom: 1.5rem;
   }
   article img {
     width: 100%;
     height: auto;
     display: block;
     margin-bottom: 1.5rem;
   }
   article p {
     margin-bottom: 1.25rem;
   }
   

   .footer {
     text-align: center;
     font-size: 0.875rem;
     opacity: 0.35;
     padding: 1.5rem 1rem 2rem;
     letter-spacing: 0.5px;
   }
   
   @media (max-width: 640px) {
     .article-wrap { padding: 3rem 1.25rem 2rem; }
     .icon-bar svg { width: 24px; height: 24px; }
   }
   