           /* 歌单分组标签栏 */
           .playlist-tabs-container {
               display: flex;
               overflow-x: auto;
               padding: 10px 15px;
               gap: 8px;
               flex-shrink: 0;
               background-color: transparent;
               -ms-overflow-style: none;
               scrollbar-width: none;
           }

           .playlist-tabs-container::-webkit-scrollbar {
               display: none;
           }

           .playlist-tab {
               padding: 7px 18px;
               cursor: pointer;
               border: none;
               background-color: var(--primary-bg);
               font-size: 14px;
               font-weight: 500;
               color: var(--text-secondary);
               border-radius: 20px;
               transition: all 0.2s ease-in-out;
               white-space: nowrap;
               box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
           }

           .playlist-tab.active {
               color: #ffffff;
               background-color: var(--accent-color);
               font-weight: 600;
               box-shadow: 0 2px 8px rgba(0, 122, 255, 0.3);
           }

           #phone-screen.dark-mode .playlist-tab {
               background-color: rgba(255, 255, 255, 0.08);
           }

           #phone-screen.dark-mode .playlist-tab.active {
               color: #ffffff;
               background-color: var(--accent-color);
           }

           .playlist-body {
               flex-grow: 1;
               overflow-y: auto;
               padding: 10px 0 80px 0;
               box-sizing: border-box;
           }

           .playlist-item {
               padding: 10px 20px;
               display: flex;
               justify-content: space-between;
               align-items: center;
               cursor: pointer;
               border-bottom: 1px solid #eee;
           }

           .playlist-item.playing {
               background-color: rgba(0, 123, 255, 0.1);
           }

           .playlist-item-info .title {
               font-weight: 500;
               font-size: 15px;
           }

           .playlist-item-info .artist {
               font-size: 12px;
               color: #666;
           }

           .playlist-item .delete-track-btn {
               color: #ff3b30;
               font-size: 20px;
               padding: 5px;
           }

           .music-account-content {
               width: min(92vw, 520px);
               height: min(82vh, 720px);
               overflow: hidden;
           }

           #music-account-modal [hidden] {
               display: none !important;
           }

           .music-account-close {
               border: 0;
               background: transparent;
               color: inherit;
               font-size: 28px;
               line-height: 1;
               cursor: pointer;
               padding: 4px 8px;
           }

           .music-account-body {
               display: flex;
               flex-direction: column;
               gap: 12px;
               overflow-y: auto;
               padding: 14px;
           }

           .music-account-card {
               border: 1px solid var(--border-color, rgba(127, 127, 127, 0.22));
               border-radius: 14px;
               padding: 14px;
               background: var(--primary-bg, #fff);
           }

           .music-account-platform-row,
           .music-account-profile,
           .music-account-playlist-item {
               display: flex;
               align-items: center;
               gap: 10px;
           }

           .music-account-platform-row > div:first-child,
           .music-account-playlist-info {
               flex: 1;
               min-width: 0;
           }

           .music-account-platform-name,
           .music-account-section-title {
               font-weight: 650;
               color: var(--text-color, #222);
           }

           .music-account-status,
           .music-account-safety,
           .music-account-availability p,
           .music-account-playlist-count {
               color: var(--text-secondary, #777);
               font-size: 12px;
               line-height: 1.55;
           }

           .music-account-primary-btn,
           .music-account-secondary-btn,
           .music-account-import-btn {
               border: 0;
               border-radius: 9px;
               padding: 8px 12px;
               cursor: pointer;
               white-space: nowrap;
           }

           .music-account-primary-btn,
           .music-account-import-btn {
               background: var(--accent-color, #007aff);
               color: #fff;
           }

           .music-account-secondary-btn {
               background: rgba(127, 127, 127, 0.14);
               color: var(--text-color, #333);
           }

           .music-account-profile {
               margin-top: 12px;
           }

           .music-account-profile img {
               width: 38px;
               height: 38px;
               border-radius: 50%;
               object-fit: cover;
           }

           .music-account-qr-area {
               margin-top: 14px;
               text-align: center;
           }

           .music-account-qr-area img {
               display: block;
               width: 180px;
               height: 180px;
               margin: 0 auto 8px;
               border-radius: 10px;
               background: #fff;
           }

           .music-account-qr-area a {
               display: inline-block;
               margin-top: 8px;
               color: var(--accent-color, #007aff);
           }

           .music-account-safety {
               margin: 12px 0 0;
           }

           .music-account-playlists {
               display: flex;
               flex-direction: column;
               gap: 8px;
               margin-top: 10px;
           }

           .music-account-playlist-item {
               padding: 9px 0;
               border-top: 1px solid var(--border-color, rgba(127, 127, 127, 0.18));
           }

           .music-account-playlist-name {
               overflow: hidden;
               text-overflow: ellipsis;
               white-space: nowrap;
           }

           .music-account-import-btn:disabled,
           .music-account-primary-btn:disabled {
               opacity: 0.55;
               cursor: wait;
           }

           @media (max-width: 520px) {
               .music-account-content {
                   width: 94vw;
                   height: 86vh;
               }

               .music-account-platform-row {
                   flex-wrap: wrap;
               }

               .music-account-playlist-item {
                   align-items: flex-start;
               }
           }

           #persona-library-grid {
               display: grid;
               grid-template-columns: repeat(4, 1fr);
               gap: 15px;
               padding: 10px;
           }

           .persona-preset-item {
               aspect-ratio: 1 / 1;
               border-radius: 12px;
               background-size: cover;
               background-position: center;
               cursor: pointer;
               transition: transform 0.2s, box-shadow 0.2s;
               border: 1px solid rgba(0, 0, 0, 0.1);
               position: relative;
           }

           .persona-preset-item:hover {
               transform: scale(1.08);
               box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
           }

           .persona-preset-item.manage-mode::before {
               content: '';
               position: absolute;
               top: 5px;
               left: 5px;
               width: 20px;
               height: 20px;
               border: 2px solid white;
               border-radius: 50%;
               background-color: rgba(0, 0, 0, 0.3);
               box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
           }

           .persona-preset-item.selected::before {
               background-color: var(--accent-color);
               border-color: var(--accent-color);
           }

           .persona-preset-item.selected::after {
               content: '✓';
               position: absolute;
               top: 5px;
               left: 5px;
               width: 20px;
               height: 20px;
               color: white;
               font-size: 14px;
               font-weight: bold;
               display: flex;
               align-items: center;
               justify-content: center;
           }

           .modal-header .header-actions {
               display: flex;
               gap: 10px;
           }

           #persona-manage-actions {
               display: flex;
               gap: 10px;
           }

           .modal-header .action-button {
               font-size: 16px;
               color: var(--accent-color);
               font-weight: 600;
               cursor: pointer;
               background: none;
               border: none;
               padding: 5px;
           }

           #battery-alert-modal {
               position: fixed;
               top: 0;
               left: 0;
               width: 100%;
               height: 100%;
               background-color: rgba(0, 0, 0, 0.4);
               display: none;
               justify-content: center;
               align-items: center;
               z-index: 2000;
               opacity: 0;
               transition: opacity 0.3s ease;
           }

           #battery-alert-modal.visible {
               display: flex;
               opacity: 1;
           }

           .battery-alert-content {
               background-color: rgba(255, 255, 255, 0.9);
               backdrop-filter: blur(10px);
               -webkit-backdrop-filter: blur(10px);
               width: 280px;
               border-radius: 15px;
               box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
               text-align: center;
               padding: 20px;
               cursor: pointer;
               transform: scale(0.9);
               transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
           }

           #battery-alert-modal.visible .battery-alert-content {
               transform: scale(1);
           }

           #battery-alert-image {
               max-width: 100px;
               max-height: 100px;
               margin-bottom: 15px;
           }

           #battery-alert-text {
               font-size: 16px;
               font-weight: 500;
               color: #333;
               margin: 0;
               line-height: 1.4;
           }

           #font-preview {
               transition: font-family 0.3s ease;
           }

           #chat-list-screen {}

           .chat-list-view {
               position: absolute;
               top: 0;
               left: 0;
               width: 100%;
               height: 100%;
               display: flex;
               flex-direction: column;
               opacity: 0;
               visibility: hidden;
               transition: opacity 0.2s, visibility 0.2s;
               z-index: 1;
           }

           .chat-list-view.active {
               opacity: 1;
               visibility: visible;
               z-index: 2;
           }

           #messages-view {
               overflow-y: auto;
           }

           .nav-item {
               flex: 1;
               text-align: center;
               padding: 12px 0;
               font-size: 14px;
               color: var(--text-secondary);
               cursor: pointer;
               transition: color 0.2s;
           }

           .nav-item.active {
               color: var(--accent-color);
               font-weight: 600;
           }

           #qzone-screen {
               background-color: #f0f2f5;
           }

           .qzone-header {
               position: relative;
               z-index: 10;
               flex-shrink: 0;
               padding: 15px 20px;
               padding-top: 45px;
               background-color: rgba(247, 247, 247, 0.7);
               backdrop-filter: blur(10px);
               -webkit-backdrop-filter: blur(10px);
               border-bottom: 1px solid var(--border-color);
               display: flex;
               justify-content: space-between;
               align-items: center;
               font-size: 18px;
               font-weight: 600;
               text-align: center;
           }

           .qzone-header .back-btn {
               font-size: 24px;
               cursor: pointer;
               color: var(--accent-color);
           }

           .qzone-header span:nth-child(2) {
               position: absolute;
               left: 50%;
               transform: translateX(-50%);
           }

           .qzone-content {
               flex-grow: 1;
               overflow-y: auto;
           }

           .qzone-profile-header {
               position: relative;
               margin-bottom: 20px;
           }

           .qzone-banner-container {
               width: 100%;
               height: 180px;
               position: relative;
           }

           #qzone-banner-img {
               width: 100%;
               height: 100%;
               object-fit: cover;
           }

           .qzone-user-info {
               position: absolute;
               bottom: -30px;
               left: 20px;
               display: flex;
               align-items: flex-end;
               gap: 10px;
           }

           .qzone-avatar-container {
               position: relative;
           }

           #qzone-avatar-img {
               width: 70px;
               height: 70px;
               border-radius: 50%;
               border: 3px solid white;
               box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
               object-fit: cover;
           }

           #qzone-nickname {
               font-size: 18px;
               font-weight: 600;
               color: #fff;
               text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
               padding-bottom: 5px;
           }

           .qzone-edit-btn {
               position: absolute;
               background-color: rgba(0, 0, 0, 0.4);
               color: white;
               border: none;
               border-radius: 10px;
               padding: 4px 8px;
               font-size: 12px;
               cursor: pointer;
               backdrop-filter: blur(5px);
               -webkit-backdrop-filter: blur(5px);
           }

           #change-qzone-banner-btn {
               bottom: 10px;
               right: 10px;
           }

           #change-qzone-avatar-btn {
               bottom: 5px;
               right: 5px;
           }

           #change-qzone-nickname-btn {
               font-size: 14px;
               padding: 2px 6px;
               margin-left: 5px;
               color: var(--text-primary);
               background-color: rgba(255, 255, 255, 0.7);
               border-radius: 5px;
               position: relative;
               bottom: 5px;
           }

           #qzone-banner-container,
           #qzone-avatar-container,
           #qzone-nickname {
               cursor: pointer;
               transition: opacity 0.2s;
           }

           #qzone-banner-container:hover,
           #qzone-avatar-container:hover,
           #qzone-nickname:hover {
               opacity: 0.85;
           }

           .qzone-edit-btn {
               display: none;
           }

           #qzone-screen .qzone-header {
               display: none;
           }

           #qzone-screen.active .qzone-header {
               display: flex;
           }

           #chat-list-screen.in-qzone-view>.header,
           #chat-list-screen.in-qzone-view>#chat-list-bottom-nav {
               display: none;
           }

           .chat-list-item:first-child,
           .chat-group-container:first-child {
               margin-top: 10px;
           }

           .qzone-actions-bar {
               display: flex;
               justify-content: space-around;
               padding: 10px 0;
               margin: 40px 15px 15px 15px;
               background-color: var(--secondary-bg);
               border-radius: 12px;
               box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
           }

           .action-item {
               flex: 1;
               text-align: center;
               font-size: 15px;
               font-weight: 500;
               color: var(--text-primary);
               cursor: pointer;
               padding: 8px 0;
               position: relative;
           }

           .action-item:not(:last-child)::after {
               content: '';
               position: absolute;
               right: 0;
               top: 50%;
               transform: translateY(-50%);
               width: 1px;
               height: 20px;
               background-color: var(--border-color);
           }

           #qzone-posts-list {
               padding: 0 15px 20px 15px;
               display: flex;
               flex-direction: column;
               gap: 20px;
           }

           .qzone-post-item {
               background-color: var(--secondary-bg);
               border-radius: 12px;
               padding: 15px;
               box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
           }

           .post-header {
               display: flex;
               align-items: center;
               gap: 10px;
               margin-bottom: 12px;
           }

           .post-header .post-avatar {
               width: 40px;
               height: 40px;
               border-radius: 50%;
               object-fit: cover;
           }

           .post-info {
               display: flex;
               flex-direction: column;
           }

           .post-info .post-nickname {
               font-weight: 600;
               font-size: 15px;
               color: var(--text-primary);
           }

           .post-info .post-timestamp {
               font-size: 12px;
               color: var(--text-secondary);
           }

           .post-content {
               font-size: 14px;
               line-height: 1.6;
               color: #333;
               white-space: pre-wrap;
               word-break: break-word;
           }

           #post-public-text {
               min-height: 80px;
               resize: vertical;
           }

           .post-image-preview-container {
               position: relative;
               width: 100%;
               aspect-ratio: 16 / 9;
               background-color: #f0f2f5;
               border: 2px dashed var(--border-color);
               border-radius: 8px;
               margin-bottom: 15px;
               display: none;
               justify-content: center;
               align-items: center;
           }

           .post-image-preview-container.visible {
               display: flex;
           }

           #post-image-preview {
               max-width: 100%;
               max-height: 100%;
               object-fit: contain;
               border-radius: 6px;
           }

           #post-remove-image-btn {
               position: absolute;
               top: -10px;
               right: -10px;
               width: 24px;
               height: 24px;
               border-radius: 50%;
               background-color: #ff3b30;
               color: white;
               border: 2px solid white;
               font-size: 16px;
               line-height: 20px;
               text-align: center;
               cursor: pointer;
               box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
           }

           .post-image-upload-options {
               display: flex;
               gap: 10px;
           }

           .post-image-upload-options button {
               flex: 1;
               margin-top: 0;
           }

           .post-mode-switcher {
               display: flex;
               margin-bottom: 20px;
               background-color: #e9ecef;
               border-radius: 8px;
               padding: 4px;
           }

           .mode-btn {
               flex: 1;
               padding: 8px;
               border: none;
               background-color: transparent;
               border-radius: 6px;
               font-size: 14px;
               font-weight: 500;
               color: var(--text-secondary);
               cursor: pointer;
               transition: all 0.2s ease-in-out;
           }

           .mode-btn.active {
               background-color: var(--secondary-bg);
               color: var(--text-primary);
               box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
           }

           .post-mode-content {
               display: none;
           }

           .post-mode-content.active {
               display: block;
           }

           #album-screen {
               background-color: #f0f2f5;
           }

           #album-grid-page {
               padding: 15px;
               display: grid;
               grid-template-columns: repeat(2, 1fr);
               gap: 15px;
           }

           .album-item {
               display: flex;
               flex-direction: column;
               cursor: pointer;
               transition: transform 0.2s ease, box-shadow 0.2s ease;
               border-radius: 8px;
           }

           .album-item:hover {
               transform: translateY(-5px);
               box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
           }

           .album-cover {
               aspect-ratio: 1 / 1;
               background-size: cover;
               background-position: center;
               border-radius: 8px;
               margin-bottom: 8px;
               background-color: #f0f2f5;
           }

           .album-info {
               text-align: center;
           }

           .album-name {
               font-weight: 500;
               margin: 0 0 4px 0;
               color: var(--text-primary);
               white-space: nowrap;
               overflow: hidden;
               text-overflow: ellipsis;
           }

           .album-count {
               font-size: 12px;
               color: var(--text-secondary);
               margin: 0;
           }

           #album-photos-screen {
               background-color: #f0f2f5;
           }

           #photos-grid-page {
               padding: 15px;
               display: grid;
               grid-template-columns: repeat(3, 1fr);
               gap: 10px;
           }

           .photo-item {
               position: relative;
               aspect-ratio: 1 / 1;
               border-radius: 6px;
               overflow: hidden;
               background-color: #e9ecef;
           }

           .photo-item .photo-thumb {
               width: 100%;
               height: 100%;
               object-fit: cover;
               cursor: pointer;
           }

           .photo-item .photo-delete-btn {
               position: absolute;
               top: 5px;
               right: 5px;
               width: 22px;
               height: 22px;
               background-color: rgba(0, 0, 0, 0.6);
               color: white;
               border: none;
               border-radius: 50%;
               font-size: 16px;
               line-height: 22px;
               text-align: center;
               cursor: pointer;
               opacity: 0;
               transition: opacity 0.2s ease;
           }

           .photo-item:hover .photo-delete-btn {
               opacity: 1;
           }

           #photo-viewer-modal {
               background-color: rgba(0, 0, 0, 0.85);
               z-index: 1002;
               -webkit-backdrop-filter: blur(5px);
               backdrop-filter: blur(5px);
           }

           .photo-viewer-content {
               display: flex;
               justify-content: center;
               align-items: center;
               width: 100%;
               height: 100%;
           }

           #photo-viewer-image {
               max-width: 90vw;
               max-height: 85vh;
               object-fit: contain;
               border-radius: 8px;
               box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
               transition: opacity 0.2s ease-in-out;
           }

           #photo-viewer-close-btn {
               position: absolute;
               top: 20px;
               right: 20px;
               background: none;
               border: none;
               color: white;
               font-size: 40px;
               font-weight: 200;
               cursor: pointer;
               line-height: 1;
               text-shadow: 0 0 5px black;
           }

           #photo-viewer-modal .nav-arrow {
               position: absolute;
               top: 50%;
               transform: translateY(-50%);
               background: none;
               border: none;
               color: rgba(255, 255, 255, 0.7);
               font-size: 50px;
               font-weight: 100;
               cursor: pointer;
               padding: 10px;
               -webkit-user-select: none;
               user-select: none;
               transition: color 0.2s;
               z-index: 1003;
           }

           #photo-viewer-prev-btn {
               left: 5px;
           }

           #photo-viewer-next-btn {
               right: 5px;
           }

           #photo-viewer-modal .nav-arrow:hover {
               color: white;
           }

           #photo-viewer-modal .nav-arrow:disabled {
               color: rgba(255, 255, 255, 0.2);
               cursor: default;
           }

           .post-main-content {}

           .post-feedback-icons {
               display: flex;
               justify-content: flex-end;
               align-items: center;
               gap: 12px;
               padding: 8px 0;
           }

           .action-icon {
               cursor: pointer;
               color: var(--text-secondary);
               transition: all 0.2s ease-in-out;
           }

           .action-icon svg {
               width: 22px;
               height: 22px;
               fill: none;
               stroke: currentColor;
               stroke-width: 2;
               stroke-linecap: round;
               stroke-linejoin: round;
           }

           .action-icon.active {
               color: #ff5252;
               transform: scale(1.1);
           }

           .action-icon.active.favorite {
               color: #ffc107;
           }

           .action-icon.active svg {
               fill: currentColor;
           }

           .animate-like {
               animation: like-bounce 0.4s ease-in-out;
           }

           @keyframes like-bounce {
               0% {
                   transform: scale(1);
               }

               25% {
                   transform: scale(0.8);
               }

               50% {
                   transform: scale(1.2);
               }

               75% {
                   transform: scale(1.05);
               }

               100% {
                   transform: scale(1.1);
               }
           }

           .post-footer {
               margin-top: 15px;
               padding-top: 10px;
               border-top: 1px solid #f0f0f0;
               display: flex;
               align-items: center;
               gap: 8px;
           }

           .comment-section {
               flex-grow: 1;
               display: flex;
               align-items: center;
               gap: 8px;
           }

           .comment-section .comment-avatar {
               width: 28px;
               height: 28px;
               border-radius: 50%;
               object-fit: cover;
               flex-shrink: 0;
           }

           .comment-section {
               position: relative;
           }

           .comment-section .comment-input {
               width: 100%;
               padding: 8px 12px;
               border: none;
               background-color: #f0f2f5;
               border-radius: 14px;
               font-size: 16px;
               outline: none;
           }

           .comment-send-btn {
               flex-shrink: 0;
               padding: 8px 15px;
               border: none;
               background-color: var(--accent-color);
               color: white;
               border-radius: 14px;
               font-size: 16px;
               font-weight: 500;
               cursor: pointer;
           }

           .unread-indicator {
               position: absolute;
               top: -8px;
               right: -15px;
               min-width: 18px;
               height: 18px;
               padding: 0 5px;
               background-color: #ff3b30;
               color: white;
               font-size: 11px;
               font-weight: bold;
               line-height: 18px;
               text-align: center;
               border-radius: 9px;
               box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
               display: none;
               z-index: 1;
           }

           .back-btn-indicator {
               top: 0;
               right: -8px;
               width: 10px;
               height: 10px;
               min-width: 10px;
               padding: 0;
               border-radius: 50%;
           }

           .post-comments-container {
               padding: 10px 0;
               display: flex;
               flex-direction: column;
               gap: 8px;
               font-size: 13px;
           }

           .comment-item {
               line-height: 1.5;
           }

           .comment-item .commenter-name {
               font-weight: 600;
               color: var(--accent-color);
               cursor: pointer;
               margin-right: 5px;
           }

           .comment-item .comment-text {
               color: var(--text-primary);
               word-break: break-word;
           }

           .post-likes-section {
               display: flex;
               align-items: center;
               gap: 6px;
               padding: 8px 10px;
               font-size: 13px;
               color: var(--accent-color);
               background-color: #f0f5fa;
               border-top: 1px solid #e9eef3;
               border-bottom: 1px solid #e9eef3;
               margin-top: 5px;
           }

           .post-likes-section .like-icon {
               width: 16px;
               height: 16px;
               fill: currentColor;
               flex-shrink: 0;
           }

           .at-mention-popup {
               position: absolute;
               bottom: 100%;
               left: 40px;
               width: calc(100% - 40px);
               max-height: 120px;
               overflow-y: auto;
               background-color: var(--secondary-bg);
               border: 1px solid var(--border-color);
               border-radius: 8px;
               box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
               z-index: 10;
               display: none;
           }

           .at-mention-item {
               padding: 8px 12px;
               font-size: 14px;
               cursor: pointer;
               color: var(--text-primary);
               border-bottom: 1px solid #f0f0f0;
           }

           .at-mention-item:last-child {
               border-bottom: none;
           }

           .at-mention-item:hover {
               background-color: #f5f5f5;
           }

           #favorites-view {
               display: flex;
               flex-direction: column;
           }

           #favorites-view>.header {
               flex-shrink: 0;
           }

           #favorites-list {
               flex-grow: 1;
               overflow-y: auto;
               overflow-x: hidden;
               padding: 15px;
               display: flex;
               flex-direction: column;
               gap: 15px;
           }

           .favorite-item-card {
               background-color: var(--secondary-bg);
               border-radius: 12px;
               padding: 15px;
               box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
               position: relative;
           }

           .fav-card-header {
               display: flex;
               align-items: center;
               gap: 10px;
               margin-bottom: 12px;
           }

           .fav-card-header .avatar {
               width: 36px;
               height: 36px;
               border-radius: 50%;
               object-fit: cover;
           }

           .fav-card-header .info {
               flex-grow: 1;
           }

           .fav-card-header .name {
               font-weight: 600;
               font-size: 15px;
           }

           .fav-card-header .source {
               font-size: 12px;
               color: var(--text-secondary);
           }

           .fav-card-content {
               font-size: 14px;
               line-height: 1.6;
               color: #333;
               white-space: pre-wrap;
               word-break: break-word;
           }

           .fav-card-content .chat-image {
               margin-top: 8px;
           }

           .fav-delete-btn {
               position: absolute;
               top: 10px;
               right: 10px;
               width: 28px;
               height: 28px;
               background: #f0f2f5;
               border: none;
               border-radius: 50%;
               cursor: pointer;
               font-size: 18px;
               color: var(--text-secondary);
               line-height: 28px;
               text-align: center;
           }

           .fav-delete-btn:hover {
               background-color: #e9ecef;
               color: #ff3b30;
           }

           .search-bar-container {
               padding: 10px 15px;
               background-color: #f9f9f9;
               position: relative;
               flex-shrink: 0;
           }

           #favorites-search-input {
               width: 100%;
               padding: 10px 30px 10px 15px;
               font-size: 16px;
               border: 1px solid var(--border-color);
               border-radius: 18px;
               background-color: var(--secondary-bg);
               box-sizing: border-box;
               outline: none;
           }

           #favorites-search-input:focus {
               border-color: var(--accent-color);
           }

           .search-clear-btn {
               position: absolute;
               right: 25px;
               top: 50%;
               transform: translateY(-50%);
               background: #ccc;
               color: white;
               border: none;
               border-radius: 50%;
               width: 20px;
               height: 20px;
               line-height: 20px;
               text-align: center;
               font-size: 16px;
               cursor: pointer;
           }

           #chat-interface-screen .header .selection-controls {
               display: flex;
               justify-content: space-between;
               align-items: center;
               width: 100%;
           }

           #chat-interface-screen .selection-controls .action-btn {
               font-size: 16px;
               font-weight: 600;
               cursor: pointer;
               padding: 5px;
           }

           #favorites-view.selection-mode .favorite-item-card {
               transition: transform 0.2s ease, box-shadow 0.2s ease;
           }

           .favorite-item-card::before {
               content: '';
               position: absolute;
               left: -25px;
               top: 50%;
               transform: translateY(-50%);
               width: 20px;
               height: 20px;
               border: 2px solid #ccc;
               border-radius: 50%;
               background-color: white;
               transition: all 0.2s ease;
               opacity: 0;
           }

           #favorites-view.selection-mode .favorite-item-card {
               transform: translateX(35px);
           }

           #favorites-view.selection-mode .favorite-item-card::before {
               opacity: 1;
           }

           #favorites-view.selection-mode .favorite-item-card.selected::before {
               background-color: var(--accent-color);
               border-color: var(--accent-color);
               content: '✔';
               color: white;
               font-size: 14px;
               text-align: center;
               line-height: 20px;
           }

           #favorites-action-bar {
               position: absolute;
               bottom: 0;
               left: 0;
               right: 0;
               width: auto;
               padding: 10px 15px;
               padding-bottom: calc(10px + env(safe-area-inset-bottom));
               background-color: rgba(247, 247, 247, 0.9);
               backdrop-filter: blur(10px);
               -webkit-backdrop-filter: blur(10px);
               border-top: 1px solid var(--border-color);
               box-sizing: border-box;
               z-index: 5;
               display: none;
               justify-content: space-between;
               align-items: center;
           }

           #favorites-action-bar .action-bar-btn {
               padding: 12px 20px;
               border-radius: 8px;
               border: none;
               font-size: 16px;
               font-weight: 600;
               cursor: pointer;
               background-color: #ff3b30;
               color: white;
               min-width: 120px;
           }

           #chat-interface-screen .header .selection-controls {
               display: none;
           }

           #chat-interface-screen .header .default-controls {
               display: flex;
               justify-content: space-between;
               align-items: center;
               width: 100%;
           }

           #chat-interface-screen.selection-mode .header .default-controls {
               display: none;
           }

           #chat-interface-screen.selection-mode .header .selection-controls {
               display: flex;
               justify-content: space-between;
               align-items: center;
               width: 100%;
           }

           #add-chat-btn,
           #add-world-book-btn,
           #create-album-btn-page {
               font-size: 28px;
               font-weight: 300;
               position: relative;
               top: -1px;
           }

           #settings-preview-area {
               width: 100%;
               height: 180px;
               background-color: #f0f2f5;
               border-radius: 8px;
               padding: 15px;
               box-sizing: border-box;
               overflow: hidden;
               display: flex;
               flex-direction: column;
               gap: 10px;
               border: 1px solid var(--border-color);
               position: relative;
           }

           #settings-preview-area::before {
               content: '';
               position: absolute;
               top: 0;
               left: 0;
               width: 100%;
               height: 100%;
               background-size: cover;
               background-position: center;
               z-index: 1;
               opacity: 0.8;
           }

           #settings-preview-area .message-wrapper {
               position: relative;
               z-index: 2;
           }
