    :root {
      --bg-color: #ffffff;
      --text-color: #0f0f0f;
      --card-bg: #f2f2f2;
      --border-color: #e5e5e5;
      --input-bg: #ffffff;
      --btn-bg: #f8f8f8;
      --btn-hover: #e5e5e5;
      --svg-fill: #0f0f0f;
      --svg-sub: #606060;
      --shadow-color: rgba(0, 0, 0, 0.1);
      --menu-bg: #ffffff;
    }

    [data-theme="dark"] {
      --bg-color: #0f0f0f;
      --text-color: #f1f1f1;
      --card-bg: #272727;
      --border-color: #303030;
      --input-bg: #121212;
      --btn-bg: #222222;
      --btn-hover: #383838;
      --svg-fill: #ffffff;
      --svg-sub: #aaa;
      --shadow-color: rgba(0, 0, 0, 0.5);
      --menu-bg: #282828;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      transition: background-color 0.15s, color 0.15s, border-color 0.15s;
    }

    body {
      background-color: var(--bg-color);
      color: var(--text-color);
      font-family: Roboto, Arial, sans-serif;
    }

    svg {
      fill: var(--svg-fill);
      width: 24px;
      height: 24px;
    }

    header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: 56px;
      background-color: var(--bg-color);
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 16px;
      z-index: 100;
      border-bottom: 1px solid var(--border-color);
    }

    .logo-container {
      display: flex;
      align-items: center;
      gap: 16px;
    }

    .menu-btn {
      background: none;
      border: none;
      cursor: pointer;
      padding: 8px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .menu-btn:hover {
      background-color: var(--card-bg);
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 4px;
      cursor: pointer;
    }

    .logo svg {
      fill: #ff0000;
      width: 30px;
      height: 30px;
    }

    .logo-text {
      font-size: 18px;
      font-weight: bold;
      letter-spacing: -1px;
      color: var(--text-color);
    }

    .search-container {
      display: flex;
      align-items: center;
      gap: 12px;
      width: 100%;
      max-width: 680px;
      margin: 0 auto;
    }

    .search-bar {
      display: flex;
      width: 100%;
    }

    .search-bar input {
      width: 100%;
      padding: 8px 16px;
      background-color: var(--input-bg);
      border: 1px solid var(--border-color);
      border-radius: 20px 0 0 20px;
      color: var(--text-color);
      outline: none;
      font-size: 14px;
    }

    .search-bar input:focus {
      border-color: #1c62b9;
    }

    .search-bar button {
      padding: 0 20px;
      background-color: var(--btn-bg);
      border: 1px solid var(--border-color);
      border-left: none;
      border-radius: 0 20px 20px 0;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }

    .search-bar button:hover {
      background-color: var(--btn-hover);
    }

    .search-bar button svg {
      width: 18px;
      height: 18px;
      fill: var(--svg-sub);
    }

    .mic-btn {
      background-color: var(--btn-bg);
      border: none;
      border-radius: 50%;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      flex-shrink: 0;
    }

    .mic-btn:hover {
      background-color: var(--btn-hover);
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      position: relative;
    }

    .icon-btn {
      background: none;
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border-radius: 50%;
    }

    .icon-btn:hover {
      background-color: var(--card-bg);
    }

    .header-right {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-left: relative;
    }

    .icon-btn, .user-icon {
      margin: 0;
    }

    .user-icon {
      width: 32px;
      height: 32px;
      background-color: #1c62b9;
      color: #ffffff;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 14px;
      margin-left: 8px;
    }

    .dropdown-menu {
      position: absolute;
      top: 50px;
      right: 0;
      width: 240px;
      background-color: var(--menu-bg);
      border: 1px solid var(--border-color);
      border-radius: 12px;
      box-shadow: 0 4px 16px var(--shadow-color);
      display: none;
      flex-direction: column;
      padding: 8px 0;
      z-index: 200;
    }

    .dropdown-menu.show {
      display: flex;
    }

    .menu-item {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 10px 16px;
      font-size: 14px;
      cursor: pointer;
    }

    .menu-item:hover {
      background-color: var(--card-bg);
    }

    .menu-divider {
      height: 1px;
      background-color: var(--border-color);
      margin: 6px 0;
    }

    .container {
      display: flex;
      margin-top: 56px;
    }

    sidebar {
      width: 240px;
      height: calc(100vh - 56px);
      position: fixed;
      top: 56px;
      left: 0;
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 4px;
      overflow-y: auto;
    }

    .sidebar-title {
      font-size: 14px;
      font-weight: 600;
      padding: 8px 12px 4px;
      color: var(--text-color);
    }

    .nav-item {
      display: flex;
      align-items: center;
      gap: 24px;
      padding: 10px 12px;
      border-radius: 10px;
      cursor: pointer;
      font-size: 14px;
    }

    .nav-item:hover, .nav-item.active {
      background-color: var(--card-bg);
    }

    .nav-item.active {
      font-weight: bold;
    }

    main {
      margin-left: 240px;
      padding: 24px;
      width: calc(100% - 240px);
    }

    .video-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 16px;
    }

    .video-card {
      cursor: pointer;
    }

    .thumbnail {
      width: 100%;
      aspect-ratio: 16 / 9;
      background-color: var(--card-bg);
      border-radius: 12px;
      margin-bottom: 12px;
      object-fit: cover;
      display: block;
    }

    .details {
      display: flex;
      gap: 12px;
    }

    .channel-avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background-color: var(--card-bg);
      flex-shrink: 0;
      object-fit: cover;
    }

    .info {
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .video-title {
      font-size: 14px;
      font-weight: 600;
      line-height: 1.3;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .meta-text {
      font-size: 12px;
      color: var(--svg-sub);
    }

    .empty-state-container {
      grid-column: 1 / -1;
      display: flex;
      justify-content: center;
      width: 100%;
      margin-top: 0;
    }

    .empty-state-card {
      background-color: var(--bg-color);
      border: 1px solid var(--border-color);
      box-shadow: 0 4px 16px var(--shadow-color);
      border-radius: 16px;
      padding: 40px 32px;
      text-align: center;
      max-width: 520px;
      width: 90%;
    }

    .empty-state-title {
      font-size: 22px;
      font-weight: bold;
      margin-bottom: 12px;
      color: var(--text-color);
    }

    .empty-state-desc {
      font-size: 14px;
      color: var(--svg-sub);
      line-height: 1.5;
    }

    @media (max-width: 768px) {
      sidebar { display: none; }
      main { margin-left: 0; width: 100%; padding: 16px; }
      .search-container { width: 60%; }
    }