    * {
      box-sizing: border-box;
    }

    body {
      font-family: 'Segoe UI', 'Noto Sans KR', sans-serif;
      margin: 0;
      padding: 0;
      background-color: #fafafa;
      color: #2e2e2e;
    }

    .page {
      max-width: 900px;
      margin: 60px auto;
      padding: 0 ;
    }
@media (max-width: 768px) {
    .page {
      margin: 0;
    }
        .section {
      margin-bottom: 0;
    }
}
    .page-header {
      font-size: 2.8rem;
      font-weight: 700;
      margin-bottom: 8px;
    }

    .page-subtitle {
      font-size: 1.2rem;
      color: #666;
      margin-bottom: 40px;
    }

    .section {
      margin-bottom: 12px;
    }

    .divider {
      border-top: 1px solid #e0e0e0;
      margin: 40px 0;
    }

    .card-list {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
    }

    .card {
      flex: 1 1 250px;
      background: white;
      border: 1px solid #e0e0e0;
      border-radius: 12px;
      padding: 24px;
      text-align: left;
      transition: all 0.2s ease;
      cursor: pointer;
      box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    }

    .card:hover {
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      transform: translateY(-2px);
    }

    .card h3 {
      margin-top: 0;
      margin-bottom: 12px;
      font-size: 1.1rem;
      color: #1f1f1f;
    }

    .card p {
      font-size: 0.95rem;
      color: #555;
      margin: 0;
    }

    .card a {
      text-decoration: none;
      color: inherit;
      display: block;
      height: 100%;
    }

    @media (max-width: 600px) {
      .page-header {
        font-size: 2rem;
      }

      .card {
        flex: 1 1 100%;
      }
    }
    @media (max-width: 768px) {
  .page {
    margin: 0 !important;
    padding: 0 12px !important;
  }

  .section {
    margin-bottom: 16px !important;
    padding: 0 8px !important;
  }

  .page-header {
    margin-top: 1rem !important;
    font-size: 2rem !important;
  }

  .page-subtitle {
    margin-bottom: 16px !important;
    font-size: 1rem !important;
  }

  .divider {
    margin: 20px 0 !important;
  }

  .card {
    padding: 16px !important;
  }

  .note-form {
    margin: 0 !important;
    padding: 2rem 1rem !important;
    box-shadow: none !important;
  }
}


    .note-form {
      max-width: 860px;
      margin: 2rem auto;
      background: rgba(255, 255, 255, 0.85);
      border-radius: 20px;
      padding: 3rem 2rem;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
      backdrop-filter: blur(6px);
    }

    .note-form input,
    .note-form textarea {
      width: 100%;
      background: transparent;
      border: none;
      border-bottom: 2px solid #aaa;
      padding: 1rem 0.5rem;
      margin-top: 1.2rem;
      font-size: 1.1rem;
      resize: vertical;
      transition: border-color 0.3s;
    }

    .note-form input:focus,
    .note-form textarea:focus {
      outline: none;
      border-bottom-color: #0079d3;
    }

    .note-form label {
      font-weight: bold;
      display: block;
      margin-top: 1.5rem;
    }

    .note-form button {
      padding: 0.8rem 1.8rem;
      margin-top: 2rem;
      font-size: 1rem;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: background 0.2s ease;
    }

    .save-btn {
      background-color: #0079d3;
      color: white;
    }

    .save-btn:hover {
      background-color: #00518f;
    }

    .delete-btn {
      background-color: #f44336;
      color: white;
      float: right;
    }

    .delete-btn:hover {
      background-color: #d7372d;
    }

    .page-header {
      text-align: center;
      font-size: 2.2rem;
      font-weight: 600;
      margin-top: 2rem;
      color: #222;
    }

    .section {
      padding: 1rem 2rem;
    }

    textarea::placeholder {
      color: #999;
    }
        .note-form {
      max-width: 860px;
      margin: 2rem auto;
      background: rgba(255, 255, 255, 0.85);
      border-radius: 20px;
      padding: 3rem 2rem;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
      backdrop-filter: blur(6px);
    }

    #editor-container {
      height: 300px;
      background: white;
    }

    .ql-toolbar.ql-snow {
      position: sticky;
      top: 0;
      background: #fff;
      z-index: 10;
    }

    .save-btn {
      background-color: #0079d3;
      color: white;
      padding: 0.8rem 1.8rem;
      margin-top: 2rem;
      font-size: 1rem;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: background 0.2s ease;
    }

    .delete-btn {
      background-color: #f44336;
      color: white;
      padding: 0.8rem 1.8rem;
      margin-top: 2rem;
      font-size: 1rem;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      float: right;
    }
        .note-view {
      max-width: 860px;
      margin: 2rem auto;
      background: rgba(255, 255, 255, 0.95);
      border-radius: 20px;
      padding: 3rem 2rem;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    }

    .note-title {
      font-size: 2rem;
      font-weight: bold;
      margin-bottom: 1.5rem;
    }

    .note-content {
      font-size: 1.05rem;
      line-height: 1.7;
    }

    .note-content img {
      max-width: 100%;
      height: auto;
      display: block;
      margin: 1rem 0;
    }
    
    .a-intro {
      background-color: #f9f9f9;
      border-radius: 8px;
      padding: 30px 20px;
      margin: 40px auto;
      max-width: 720px;
      text-align: center;
      color: #222;
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    }

    .a-intro h2 {
      font-weight: 700;
      font-size: 1.8rem;
      margin-bottom: 15px;
      line-height: 1.3;
    }

    .a-intro p {
      font-weight: 500;
      font-size: 1.2rem;
      color: #555;
    }
        .container2 {
      display: flex;
      height: 100vh;
      overflow: hidden;
    }

    /* 사이드바 */
    .sidebar {
      width: 260px;
      height: 100%;
      background-color: #fafafa;
      border-right: 1px solid #e2e2e2;
      display: flex;
      flex-direction: column;
      padding: 20px;
      box-sizing: border-box;
    }
    @media (max-width: 720px) {
  .sidebar {
    display: none;
  }
}

    .sidebar h2 {
      font-weight: 700;
      font-size: 1.2rem;
      margin-bottom: 12px;
      border-bottom: 2px solid #555;
      padding-bottom: 8px;
    }
    .sidebar .doc-list {
      flex-grow: 1;
      overflow-y: auto;
      margin-bottom: 20px;
    }
    .sidebar .doc-list a {
      display: block;
      padding: 10px 12px;
      border-radius: 6px;
      color: #333;
      text-decoration: none;
      font-size: 0.95rem;
      margin-bottom: 6px;
      transition: background 0.2s, color 0.2s;
    }
    .sidebar .doc-list a:hover {
      background-color: #ececec;
      color: #000;
    }

    /* 로그인, 회원가입, 로그아웃 버튼 영역 */
    .sidebar .auth-buttons {
      border-top: 1px solid #ddd;
      padding-top: 16px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .sidebar .auth-buttons a,
    .sidebar .auth-buttons form button {
      display: block;
      padding: 10px 14px;
      text-align: center;
      border-radius: 6px;
      font-weight: 600;
      font-size: 1rem;
      cursor: pointer;
      text-decoration: none;
      user-select: none;
      border: 1px solid #bbb;
      background: #fff;
      color: #555;
      transition: all 0.2s ease;
    }
    .sidebar .auth-buttons a:hover,
    .sidebar .auth-buttons form button:hover {
      background: #0070f3;
      border-color: #0070f3;
      color: #fff;
    }

    /* 메인 콘텐츠 */
    .main-content {
      flex-grow: 1;
      padding: 40px 50px;
      overflow-y: auto;
    }
    .page-header {
      font-size: 2rem;
      font-weight: 700;
      margin-bottom: 8px;
    }
    .page-subtitle {
      font-size: 1.2rem;
      color: #666;
      margin-bottom: 32px;
    }
    .divider {
      height: 1px;
      background: #ddd;
      margin: 24px 0;
    }
    .a-intro h2 {
      font-weight: 700;
      font-size: 1.5rem;
      line-height: 1.4;
      margin-bottom: 12px;
    }
    .a-intro p {
      font-size: 1rem;
      color: #444;
    }
    .card-list {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
    }
    .card-list .card {
      background: #f7f7f7;
      border-radius: 10px;
      padding: 20px;
      width: 240px;
      color: #333;
      text-decoration: none;
      box-shadow: 0 0 5px rgba(0,0,0,0.1);
      transition: box-shadow 0.3s ease;
    }
    .card-list .card:hover {
      box-shadow: 0 8px 20px rgba(0,0,0,0.15);
      background: #fff;
    }
    .card-list .card h3 {
      margin-top: 0;
      font-size: 1.2rem;
      margin-bottom: 8px;
    }
    .card-list .card p {
      font-size: 0.95rem;
      color: #666;
      margin: 0;
    }

    /* 스크롤 스타일 (사이드바 문서 목록) */
    .sidebar .doc-list::-webkit-scrollbar {
      width: 8px;
    }
    .sidebar .doc-list::-webkit-scrollbar-thumb {
      background-color: #ccc;
      border-radius: 4px;
    }
    .sidebar .doc-list::-webkit-scrollbar-track {
      background: transparent;
    }

    /* 반응형 (간단) */
    @media (max-width: 720px) {
      .container {
        flex-direction: column;
      }
      .main-content {
        padding: 20px;
      }
    }
        .note-form input[type="text"] {
      width: 100%;
      padding: 12px;
      font-size: 18px;
      border: 1px solid #ccc;
      border-radius: 8px;
      box-sizing: border-box;
    }
    .save-btn, .delete-btn {
      margin-top: 15px;
      padding: 10px 20px;
      border: none;
      border-radius: 6px;
      font-size: 16px;
      cursor: pointer;
    }
    .save-btn {
      background-color: #0079d3;
      color: #fff;
    }
    .delete-btn {
      background-color: #e74c3c;
      color: #fff;
      margin-left: 10px;
    }
    .ql-record-audio::before {
  content: '\25CF'; /* ● */
  color: red;
  font-size: 18px;
  position: relative;
  top: 2px;
}

.ql-upload-audio::before {
  content: '\1F4E4'; /* 📤 */
  font-size: 18px;
  position: relative;
  top: 2px;
}
