@font-face {
    font-family: 'Iosevka Fixed SS07';
    src: url('./fonts/IosevkaFixedSS07-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
  }

  @font-face {
    font-family: 'Iosevka Fixed SS07';
    src: url('./fonts/IosevkaFixedSS07-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
  }

  @font-face {
    font-family: 'Iosevka Fixed SS07';
    src: url('./fonts/IosevkaFixedSS07-Oblique.woff2') format('woff2');
    font-weight: 400;
    font-style: oblique;
  }

  @font-face {
    font-family: 'Iosevka Fixed SS07';
    src: url('./fonts/IosevkaFixedSS07-BoldOblique.woff2') format('woff2');
    font-weight: 700;
    font-style: oblique;
  }

  /* Применяем шрифт ко всему сайту */
  body, .aside, .main, input, button, h1, h2, p, blockquote, .aside-item, .title {
    font-family: 'Iosevka Fixed SS07', 'Courier New', monospace;
    font-weight: 500;           /* Medium — чуть жирнее Regular, но не Bold */
    font-style: normal;         /* без наклона по умолчанию */
    font-size: 16px;            /* базовый размер — подбери под себя */
    line-height: 1.55;
    letter-spacing: 0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }
    * { margin:0; padding:0; box-sizing:border-box; }
    body {
      background:#000;
      color:#e0e0e0;
      font-family: 'Iosevka Custom', 'Courier New', monospace;
      font-size:15px;
	  font-style: normal;
	  font-weight: 500;
      line-height:1.00;
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
	  text-rendering: optimizeLegibility;
      height:100vh;
      overflow:hidden;
    }
    .layout { display:flex; height:100vh; }

    .aside {
      width:340px;
      background:#000;
      border-right:1px solid #1a1a1a;
      overflow-y:auto;
      height:100vh;
      position:fixed;
      left:0; top:0;
      padding:1.5rem 1rem 1.5rem 1.2rem;
      scrollbar-width:thin;
      scrollbar-color:#222 #0a0a0a;
    }
    .aside::-webkit-scrollbar { width:6px; }
    .aside::-webkit-scrollbar-track { background:#0a0a0a; }
    .aside::-webkit-scrollbar-thumb { background:#222; border-radius:3px; }
    .aside::-webkit-scrollbar-thumb:hover { background:#333; }

    .search-container {
      margin-bottom:1.2rem;
      position:sticky;
      top:0;
      background:#000;
      z-index:10;
      padding:0 0 0.8rem 0;
    }
    #searchInput {
      width:100%;
      padding:0.6rem 0.8rem;
      background:#0a0a0a;
      border:1px solid #222;
      color:#0f0;
      font-family:inherit;
      font-size:1em;
      outline:none;
    }
    #searchInput::placeholder { color:#444; }
    #searchInput:focus { border-color:#0f0; box-shadow:0 0 6px rgba(0,255,0,0.3); }

    .aside-item {
      display:flex;
      align-items:baseline;
      gap:12px;
      color:#888;
      text-decoration:none;
      padding:0.5rem 0.8rem;
      margin:2px 0;
      border-radius:2px;
      transition:color 0.12s, background 0.12s;
      cursor:pointer;
      white-space:nowrap;
    }
    .aside-item:hover { color:#ccc; background:#0f0f0f; }
    .aside-item.active { color:#0f0; background:#001400; font-weight:bold; }
    .aside-item time { color:#444; font-size:0.92em; min-width:92px; flex-shrink:0; }
    .aside-item .title { color:inherit; }

    .main {
      margin-left:340px;
	  font-size:17px;
	  line-height:1.55;
      padding:2.5rem 3rem;
      overflow-y:auto;
      height:100vh;
      scroll-behavior:smooth;
    }

    header { text-align:center; margin-bottom:3rem; }
    h1 { color:#0f0; font-size:2.4em; margin-bottom:0.8rem; }
    .subtitle { color:#555; font-size:1.1em; }

    section { margin-bottom:5rem; padding-top:1rem; }
    h2 { color:#0c0; font-size:1.7em; margin:2rem 0 1rem; border-bottom:1px solid #222; padding-bottom:0.5rem; }
    blockquote { margin:1.5rem 0; padding:1rem 1.5rem; border-left:3px solid #333; color:#aaa; background:#050505; font-style:italic; }
    p, li { margin-bottom:1rem; }

    .highlight {
      background: #ff0;
      color: #000;
      padding: 1px 3px;
      border-radius: 2px;
    }
	@media (max-width: 900px) {  /* или 768px, 850px — подбери по вкусу */
  .aside {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    width: 300px;          /* можно чуть уже для мобилы */
    z-index: 1000;
  }
  
  .aside.open {
    transform: translateX(0);
  }
  
  .main {
    margin-left: 0 !important;
    width: 100%;
    padding: 1.5rem 1rem;   /* уменьшить паддинги на мобиле */
  }
  
  body.overflow-hidden {
    overflow: hidden;       /* чтобы не скроллился фон при открытом меню */
  }
}

/* Кнопка-гамбургер (добавь в header или над main) */
.hamburger {
  display: none;
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 1100;
  font-size: 2rem;
  background: #000;
  color: #0f0;
  border: 1px solid #0f0;
  padding: 0.5rem 1rem;
  cursor: pointer;
}

@media (max-width: 900px) {
  .hamburger { display: block; }
}
.aside-item {
  transition: all 0.18s ease;
}
.aside-item.active {
  color: #0f0;
  background: #001400;
  transform: translateX(4px);
}