/* 1. é€‰äººé®ç½© (å®Œå…¨æ¢å¤åŽŸæ ·) */
#cp-selector-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    /* æ¢å¤åŽŸæ¥çš„åŠé€æ˜ŽèƒŒæ™¯å’Œæ¨¡ç³Šï¼Œç¡®ä¿å®ƒæ˜¯å…¨å±é®ç½© */
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 9999;
    display: none; /* é»˜è®¤éšè—ï¼Œéžå¸¸é‡è¦ */
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}
#cp-selector-overlay.active { opacity: 1; }

.cp-blue-glass {
    width: 320px;
    /* æ¢å¤åŽŸæ¥çš„èƒŒæ™¯è®¾ç½®ï¼Œå¦‚æžœæ˜¯è“è‰²çŽ»ç’ƒé£Žæ ¼è¯·åœ¨è¿™é‡Œè°ƒæ•´ï¼Œç›®å‰æ¢å¤ä¸ºè¾“å…¥æ—¶çš„ç™½è‰² */
    background: #fff; 
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    padding: 24px;
    transform: scale(0.95);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#cp-selector-overlay.active .cp-blue-glass { transform: scale(1); }
.cp-blue-header { text-align: center; font-size: 18px; font-weight: 700; color: #333; margin-bottom: 20px; }

/* 2. æŸ¥æ‰‹æœºå…¨å±å®¹å™¨ */
#phone-system-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
    z-index: 10000;
    display: none;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    cursor: pointer;
}
#phone-system-overlay.active { opacity: 1; }

/* æ‰‹æœºè¾¹æ¡† */
.phone-bezel {
    width: 360px;
    height: 740px;
    max-height: 92vh;
    background: #f2f3f5; /* æµ·ç›ç°åº•è‰² */
    border-radius: 40px;
    box-shadow: 
        0 0 0 8px #1a1a1a,
        0 20px 50px rgba(0,0,0,0.4);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    user-select: none;
    cursor: default;
}

/* --- 3. é”å±ç•Œé¢ (ä¿®å¤ç‰ˆï¼šæ·¡è“èƒŒæ™¯ + é®æŒ¡å†…éƒ¨ + ä¿®å¤å£çº¸) --- */
.lock-screen-panel {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    
    /* 1. æ ¸å¿ƒä¿®å¤ï¼šè®¾ç½®æ·¡è“è‰²èƒŒæ™¯ï¼Œå½»åº•é®æŒ¡å†…éƒ¨å†…å®¹ */
    background-color: #dae8f5; 
    
    /* 2. å£çº¸å±žæ€§ï¼šè®© JS è®¾ç½®çš„å£çº¸èƒ½è¦†ç›–æŽ‰ä¸Šé¢çš„èƒŒæ™¯è‰² */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    /* 3. å±‚çº§ï¼šç¡®ä¿å®ƒåœ¨æ‰€æœ‰å†…å®¹ï¼ˆåŒ…æ‹¬æ ‡é¢˜æ å’Œåº•éƒ¨Tabï¼‰ä¹‹ä¸Š */
    z-index: 9999; 
    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start; /* é¡¶éƒ¨å¯¹é½ */
    padding-top: 100px; /* æ—¶é—´ä½ç½®ä¸‹ç§»ä¸€ç‚¹ï¼Œæ›´åè°ƒ */
    
    /* å­—ä½“é¢œè‰²ï¼šç™½è‰²ã€‚å¦‚æžœæ·¡è“èƒŒæ™¯çœ‹ä¸æ¸…ï¼Œå¯ä»¥åŠ ä¸€ç‚¹æ–‡å­—é˜´å½± */
    color: #fff;
    text-shadow: 0 1px 4px rgba(0,0,0,0.1); 
    
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    cursor: pointer; /* æç¤ºå¯ç‚¹å‡»æ¢å›¾ */
    
    font-family:inherit; 
}

/* å³ä½¿æ²¡æœ‰å£çº¸ï¼Œè¿™ä¸ªæ·¡è“èƒŒæ™¯ä¹Ÿèƒ½ä¿è¯çœ‹ä¸åˆ°é‡Œé¢ */

/* æ—¶é—´æ—¥æœŸå®¹å™¨ */
.ls-clock-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* å¢žåŠ ä¸å¯é€‰ä¸­ï¼Œé˜²æ­¢è¯¯è§¦ */
    user-select: none;
    pointer-events: none; 
}

/* æ—¥æœŸ (åœ¨ä¸Š) */
.ls-date-header {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 5px;
    opacity: 0.95;
    letter-spacing: 1px;
}

/* æ—¶é—´ (å·¨å¤§) */
.ls-time-huge {
    font-size: 96px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -2px;
}

/* åŠ è½½åŠ¨ç”» */
.lock-screen-loading {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    font-size: 14px;
    opacity: 0;
    transition: opacity 0.3s;
    display: flex; align-items: center; gap: 8px;
    background: rgba(0,0,0,0.4);
    padding: 10px 20px;
    border-radius: 20px;
    color: #fff;
    pointer-events: none;
}
.lock-screen-loading.show { opacity: 1; }
.cp-spinner {
    width: 16px; height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top: 2px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* --- æ»‘åŠ¨æ¡ (ä¿æŒä½ åŽŸæœ¬çš„æ ·å¼) --- */
.slider-container {
    position: absolute;
    bottom: 60px; /* è·ç¦»åº•éƒ¨ç¨å¾®é«˜ä¸€ç‚¹ */
    width: 80%;
    height: 55px;
    background: rgba(255, 255, 255, 0.3); /* ç¨å¾®å¢žåŠ ä¸€ç‚¹ä¸é€æ˜Žåº¦ */
    border-radius: 30px;
    display: flex;
    align-items: center;
    padding: 4px;
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.2);
    backdrop-filter: blur(5px);
    cursor: default;
}

.slider-text {
    position: absolute;
    width: 100%; text-align: center;
    font-size: 14px; color: rgba(255,255,255,0.95);
    pointer-events: none;
    letter-spacing: 1px;
}

.slider-knob {
    width: 47px; height: 47px;
    background: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #333;
    font-size: 18px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    cursor: grab;
    position: relative;
    z-index: 2;
}

/* 4. APP ä¸»ç•Œé¢å®¹å™¨ */
.app-main-container {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 10;
    display: flex;
    flex-direction: column;
    background: #F2F3F5; /* æ•´ä½“æµ·ç›ç°èƒŒæ™¯ */
}

/* é¡¶éƒ¨æ ‡é¢˜æ  */
.cp-app-header {
    height: 70px;
    padding-top: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 15px; padding-right: 15px;
    background: #F2F3F5; /* ä¸ŽèƒŒæ™¯åŒè‰² */
    flex-shrink: 0;
    position: relative;
    z-index: 20;
    color: #000;
}

.cp-header-title { font-size: 17px; font-weight: 600; color: #000; }

/* æŒ‰é’®æ ·å¼ï¼šåŽ»æŽ‰ç™½è‰²èƒŒæ™¯åœ†åœˆï¼Œæ”¹ä¸ºé€æ˜Ž */
.cp-icon-btn {
    font-size: 18px;
    color: #333;
    cursor: pointer;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: transparent;  /* é€æ˜Ž */
    transition: opacity 0.2s;
}
.cp-icon-btn:hover { opacity: 0.6; }

/* å†…å®¹æ»šåŠ¨åŒº (åˆ—è¡¨) */
.cp-content-area {
    flex: 1;
    overflow-y: auto;
    padding: 10px 0; /* å·¦å³paddingäº¤ç»™å†…éƒ¨å®¹å™¨ */
    scrollbar-width: none; 
    -ms-overflow-style: none;
    position: relative;
}
.cp-content-area::-webkit-scrollbar { display: none; }

/* è¯¦æƒ…é¡µå®¹å™¨ */
.cp-detail-view {
    position: absolute;
    top: 0; 
    left: 0; width: 100%; 
    height: 100%;
    background: #F2F3F5;
    z-index: 25; /* ç›–ä½ Header å’Œ TabBar */
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    overflow: hidden;
}
.cp-detail-view.active { transform: translateX(0); }
.cp-detail-content {
    flex: 1;
    overflow-y: auto;
    padding: 15px;
    padding-bottom: 30px;
    scrollbar-width: none;
}

/* 5. æ¶ˆæ¯åˆ—è¡¨å¸ƒå±€ (ä»¿å¾®ä¿¡) */

/* åˆ—è¡¨åˆ†ç»„å®¹å™¨ */
.cp-list-group {
    background: #fff;
    border-radius: 12px;
    margin: 0 12px 12px 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* åˆ—è¡¨å•è¡Œ */
.cp-chat-card {
    display: flex; 
    align-items: center;
    padding: 16px;
    background: #fff;
    cursor: pointer;
    transition: background 0.2s;
    position: relative;
}
.cp-chat-card:active { background: #f5f5f5; }

/* åˆ†å‰²çº¿ï¼šé™¤äº†æœ€åŽä¸€ä¸ªï¼Œéƒ½æœ‰åº•è¾¹æ¡† */
.cp-chat-card:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(100% - 76px); /* ç•™å‡ºå¤´åƒå®½åº¦ */
    height: 1px;
    background: #f0f0f0;
}

.cp-card-avatar { width: 48px; height: 48px; border-radius: 6px; object-fit: cover; margin-right: 12px; flex-shrink: 0; background: #eee; }
.cp-card-info { flex: 1; overflow: hidden; }
.cp-card-row1 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.cp-card-name { font-size: 16px; font-weight: 500; color: #000; }
.cp-card-time { font-size: 11px; color: #b2b2b2; }
.cp-card-preview { font-size: 13px; color: #999; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* å¤‡å¿˜å½•/è´­ç‰©/æŠ–éŸ³/æœç´¢å¡ç‰‡ (ä¿æŒåœ†è§’é£Žæ ¼) */
.cp-memo-card, .cp-shop-card, .cp-tiktok-card, .cp-search-card {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    margin: 0 12px 12px 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    cursor: pointer;
}

.cp-memo-card { border-left: 4px solid #b3e5fc; } /* æµ·ç›è“ */
.cp-memo-date { font-size: 11px; color: #aaa; font-weight: 600; text-transform: uppercase; }
.cp-memo-text { font-size: 14px; color: #444; line-height: 1.4; margin-top: 4px; }

/* è´­ç‰©å¡ç‰‡ - å¢žåŠ å‘¼å¸æ„Ÿä¼˜åŒ–ç‰ˆ */
.cp-shop-card { 
    display: flex; 
    align-items: center; 
    gap: 15px;         /* å›¾æ ‡ä¸Žå³ä¾§æ–‡å­—çš„é—´è·åŠ å¤§ */
    cursor: default; 
    
    /* å¢žåŠ å¡ç‰‡å†…è¾¹è·ï¼Œæ•´ä½“æ›´å®½æ¾ */
    padding: 18px;       
    
    background: #fff;
    border-radius: 12px;
    margin: 0 12px 12px 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}

.cp-shop-icon { 
    width: 50px; 
    height: 50px; 
    background: #FFF0F0; 
    color: #FF4D4F; 
    border-radius: 12px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 22px; 
    flex-shrink: 0;
}

.cp-shop-details { 
    flex: 1; 
    display: flex;
    flex-direction: column; /* åž‚ç›´æŽ’åˆ— */
    
    /* â˜…â˜…â˜… æ ¸å¿ƒä¿®æ”¹ï¼šå¢žåŠ æ ‡é¢˜å’Œä»·æ ¼ä¹‹é—´çš„é—´è· â˜…â˜…â˜… */
    gap: 8px;               
}

.cp-shop-title { 
    font-size: 15px; 
    font-weight: 600; 
    color: #333; 
    margin-bottom: 0; 
    
    /* â˜…â˜…â˜… æ ¸å¿ƒä¿®æ”¹ï¼šå¢žåŠ è¡Œé«˜ï¼Œé˜²æ­¢å¤šè¡Œæ–‡å­—æŒ¤åœ¨ä¸€èµ· â˜…â˜…â˜… */
    line-height: 1.5;       
}

.cp-shop-price { 
    font-size: 16px; 
    font-weight: 700; 
    color: #FF4D4F; 
    font-family:inherit;
    letter-spacing: 0.5px;
}
/* ä¹‹å‰æœ‰çš„ .cp-shop-date åœ¨JSé‡Œæ²¡ç”¨åˆ°ï¼Œå¯ä»¥å¿½ç•¥æˆ–ä¿ç•™ */
.cp-shop-date { font-size: 11px; color: #999; display: none; }

.cp-tiktok-card { 
    background: #161823; /* æŠ–éŸ³æ·±è‰²èƒŒæ™¯ */
    color: #fff; 
    display: flex; 
    align-items: flex-start; /* é¡¶éƒ¨å¯¹é½ï¼Œé˜²æ­¢é«˜åº¦æ‹‰ä¼¸å¯¼è‡´å°é¢å±…ä¸­å¥‡æ€ª */
    gap: 12px; 
    border-radius: 8px; /* åœ†è§’ç¨å¾®å°ä¸€ç‚¹ï¼Œæ›´åƒè§†é¢‘å¡ç‰‡ */
    padding: 12px;      /* å¢žåŠ å†…è¾¹è·ï¼Œä¸å†æŒ¤åŽ‹ */
    margin: 0 12px 12px 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    cursor: pointer;
    position: relative;
}

.cp-tiktok-cover { 
    width: 60px;   /* ç¨å¾®åŠ å®½ä¸€ç‚¹ */
    height: 80px;  /* 3:4 æ¯”ä¾‹ï¼Œæ›´åƒè§†é¢‘å°é¢ */
    background: #333; 
    border-radius: 4px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 24px; 
    color: #555; 
    flex-shrink: 0; /* â˜…â˜…â˜… æ ¸å¿ƒä¿®å¤ï¼šç¦æ­¢ç¼©æ”¾ï¼Œé˜²æ­¢è¢«æŒ¤æ‰ â˜…â˜…â˜… */
}

.cp-tiktok-info { 
    flex: 1; 
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 80px; /* è·Ÿå°é¢å›¾ä¸€æ ·é«˜ */
    overflow: hidden; 
    padding: 2px 0;
}

.cp-tiktok-desc { 
    font-size: 14px; 
    color: #eee; 
    line-height: 1.4; 
    display: -webkit-box;
    line-clamp: 2; /* æœ€å¤šæ˜¾ç¤º2è¡Œ */
    box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis; 
}

.cp-tiktok-tag {
    font-size: 12px;
    color: #FACE15; /* æŠ–éŸ³é»„ */
    margin-top: auto; /* æŽ¨åˆ°åº•éƒ¨ */
}

.cp-tiktok-like {
    position: absolute;
    right: 12px;
    bottom: 12px;
    font-size: 16px;
}

.cp-search-card { display: flex; align-items: center; justify-content: space-between; }
.cp-search-left { display: flex; align-items: center; gap: 10px; flex: 1; overflow: hidden; }
.cp-search-text { font-size: 14px; color: #333; }

/* 6. åº•éƒ¨å¯¼èˆªæ  (ä¿®å¤é€‰ä¸­é¢œè‰²) */
.cp-tab-bar {
    height: 60px;
    background: #fff;
    border-top: 1px solid #f0f0f0;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding-bottom: 5px;
    flex-shrink: 0;
    position: relative;
    z-index: 10;
}

.cp-tab-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 50px;
    cursor: pointer;
    color: #ccc; /* æœªé€‰ä¸­é¢œè‰² */
    transition: color 0.2s;
}

/* â˜…â˜…â˜… æ ¸å¿ƒä¿®å¤ï¼šé€‰ä¸­çŠ¶æ€æ”¹ä¸ºé»‘è‰²ï¼Œä¸è¦è“è‰² â˜…â˜…â˜… */
.cp-tab-item.active { 
    color: #333; 
}

.cp-tab-icon { font-size: 22px; }
.cp-tab-label { font-size: 10px; font-weight: 500; transform: scale(0.9); }

/* é¡µé¢åˆ‡æ¢ */
.cp-page-view { display: none; width: 100%; height: 100%; flex-direction: column; }
.cp-page-view.active { display: flex; }

/* --- èŠå¤©è¯¦æƒ… (å¾®ä¿¡æ°”æ³¡ + æµ·ç›é…è‰²) --- */

.chat-detail-container { 
    display: flex; 
    flex-direction: column; 
    gap: 15px; 
    padding-bottom: 30px; 
    padding-top: 10px; 
}

.chat-msg-row {
    display: flex;
    width: 100%;
    margin-bottom: 5px;
    align-items: flex-start;
}
/* å·¦ä¾§ï¼šåˆ«äºº (ä½ /User) - ç™½è‰²æ°”æ³¡ */
.chat-msg-row.left { justify-content: flex-start; }
/* å³ä¾§ï¼šè‡ªå·± (Char/Owner) - æµ·ç›ç»¿æ°”æ³¡ */
.chat-msg-row.right { justify-content: flex-end; }

.chat-avatar-img {
    width: 40px; height: 40px;
    border-radius: 6px;
    flex-shrink: 0;
    object-fit: cover;
}
.chat-msg-row.left .chat-avatar-img { margin-right: 10px; }
.chat-msg-row.right .chat-avatar-img { margin-left: 10px; order: 2; }

.chat-bubble-box {
    max-width: 70%;
    position: relative;
}
.chat-msg-row.right .chat-bubble-box { order: 1; text-align: right; }

.chat-msg-bubble {
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.5;
    word-wrap: break-word;
    position: relative;
    display: inline-block;
    text-align: left;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

/* å·¦ä¾§æ°”æ³¡ï¼šçº¯ç™½ */
.chat-msg-left-bubble {
    background: #fff;
    color: #000;
}
/* å·¦ä¾§å°å°¾å·´ */
.chat-msg-left-bubble::before {
    content: '';
    position: absolute;
    top: 14px; left: -6px;
    width: 0; height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid #fff;
}

/* å³ä¾§æ°”æ³¡ï¼šæµ·ç›ç»¿ (å¾®è°ƒè¿‡çš„å¾®ä¿¡ç»¿ï¼Œæ›´æŸ”å’Œ) */
.chat-msg-right-bubble {
    background: #CDE2F6; /* æµ·ç›æ·¡è“ */
    color: #000;
}
/* å³ä¾§å°å°¾å·´ */
.chat-msg-right-bubble::after {
    content: '';
    position: absolute;
    top: 14px; right: -6px;
    width: 0; height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #CDE2F6;
}

.chat-time-center { text-align: center; font-size: 12px; color: #ccc; margin: 15px 0; }

tiktok-detail-container {
    background: #000;
    height: 100%;
    display: flex; 
    flex-direction: column;
    position: relative;
    overflow: hidden; /* ç¦æ­¢æ•´ä½“æ»šåŠ¨ï¼Œè®©å†…éƒ¨æ»šåŠ¨ */
}

/* 1. è§†é¢‘åŒºåŸŸ (å›ºå®šé«˜åº¦ï¼Œæ ·å¼æ¢å¤ç®€æ´) */
.tt-video-placeholder {
    width: 100%; 
    height: 320px; /* å›ºå®šé«˜åº¦ */
    background: #1a1a1a; /* ä¿æŒåŽŸæ¥çš„æ·±ç°è‰² */
    display: flex; 
    align-items: center; 
    justify-content: center;
    color: #fff; 
    font-size: 40px;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
}

/* æ’­æ”¾å›¾æ ‡ */
#ttPlayIcon {
    opacity: 0.8;
    transition: opacity 0.3s;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
}

/* æ–‡å­—æµ®å±‚ (æ‰“å­—æœºæ•ˆæžœ) */
.tt-video-text-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    padding: 30px;
    box-sizing: border-box;
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    background: rgba(0,0,0,0.7); /* è½»å¾®é®ç½© */
    display: flex;
    align-items: center;
    text-align: left;
    white-space: pre-wrap;
    z-index: 5;
    font-family: inherit; 
    overflow-y: auto;
}

/* 2. ä¸‹æ–¹æ»šåŠ¨å†…å®¹åŒº (ä¿¡æ¯ + è¯„è®º) */
.tt-scroll-content {
    flex: 1;
    overflow-y: auto; /* åªæœ‰ä¸‹é¢è¿™éƒ¨åˆ†æ»šåŠ¨ */
    background: #000;
}

/* è§†é¢‘ä¿¡æ¯ */
.tt-text-content {
    padding: 15px 15px 10px 15px;
}

.tt-title { 
    font-size: 16px; 
    font-weight: 700; 
    margin-bottom: 6px; 
    color: #fff;
}
.tt-desc { 
    font-size: 14px; 
    color: #ddd; 
    line-height: 1.4; 
    margin-bottom: 8px; 
}
.tt-tags { 
    color: #FACE15; 
    font-size: 13px; 
    font-weight: 600;
    margin-bottom: 12px; 
}
.tt-stats { 
    display: flex; 
    gap: 20px;
    color: #888; 
    font-size: 12px; 
}
.tt-stats span i { margin-right: 4px; }

/* è¯„è®ºåŒº */
.tt-comment-section {
    padding-bottom: 30px;
}

.tt-cmt-header {
    font-size: 12px;
    color: #666;
    padding: 10px 15px;
}

.tt-cmt-list {
    padding: 0 15px;
}

.tt-comment-item {
    display: flex;
    align-items: flex-start;
    padding: 10px 0;
    gap: 10px;
}

.tt-cmt-avatar {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: #333;
    flex-shrink: 0;
}

.tt-cmt-content {
    flex: 1;
}

.tt-cmt-name {
    font-size: 12px;
    color: #888;
    margin-bottom: 2px;
}

.tt-cmt-text {
    font-size: 13px;
    color: #eee;
    line-height: 1.4;
}

.tt-cmt-like {
    font-size: 12px;
    color: #555;
    margin-top: 4px;
}
.browser-detail-container { background: #fff; min-height: 100%; display: flex; flex-direction: column; }
.browser-bar { background: #f0f0f0; padding: 10px; margin-bottom: 20px; display: flex; align-items: center; gap: 8px; color: #333; font-size: 13px; border-bottom: 1px solid #ddd; }
.browser-content { padding: 0 15px; }
.browser-result-item { margin-bottom: 25px; }
.bri-title { font-size: 16px; color: #1a0dab; text-decoration: underline; margin-bottom: 4px; font-weight: 500; }
.bri-desc { font-size: 13px; color: #4d5156; line-height: 1.4; }

/* --- è®ºå›/è´´å§è¯¦æƒ…é¡µé£Žæ ¼ (ä¿®å¤ç‰ˆ) --- */
.cp-forum-container {
    background: #fff;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    padding: 0;
    color: #333;
    font-family: inherit; 
    position: relative;
    padding-bottom: 50px;
}

/* 1. é¡¶éƒ¨æ¥¼ä¸»ä¿¡æ¯åŒº */
.forum-main-area {
    padding: 20px 20px 0 20px; /* åº•éƒ¨paddingå‡å°ï¼Œç´§å‡‘ä¸€ç‚¹ */
    background: #fff;
}

/* å¤´åƒå’Œåå­—è¡Œ */
.forum-header-row {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.forum-avatar {
    width: 40px; height: 40px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 12px;
    border: 1px solid #f0f0f0;
    flex-shrink: 0;
}

.forum-user-name {
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

/* å¸–å­æ ‡é¢˜ä¸Žå†…å®¹ */
.forum-post-title {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.4;
    color: #000;
    margin-bottom: 12px;
}

.forum-post-body {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    text-align: justify;
    white-space: pre-wrap;
    margin-bottom: 15px;
}

/* 2. å›žå¤åŒºåˆ†å‰²çº¿ (ä¿®æ­£ï¼šæ”¹ä¸ºç»†çº¿ï¼Œä¸æ˜¯ç²—æ¡) */
.forum-reply-divider {
    height: 1px;           /* åªæœ‰1åƒç´ é«˜åº¦ */
    background: #f0f0f0;   /* å¾ˆæµ…çš„ç°è‰² */
    width: 100%;
    border: none;
    margin-top: 5px;       /* ç¨å¾®ç•™ä¸€ç‚¹ç‚¹é—´è· */
}

.forum-reply-title {
    padding: 15px 20px 5px 20px;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    background: #fff;
    border-bottom: none;
}
/* 3. è¯„è®ºåˆ—è¡¨ */
.forum-comment-list {
    padding: 0 20px;
}

.forum-comment-item {
    padding: 15px 0;
    border-bottom: 1px solid #f5f5f5;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* è¯„è®ºå¤´éƒ¨è¡Œ */
.fc-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 2px;
}

.fc-floor-label {
    font-size: 13px;
    color: #999;
}

/* æ¥¼ä¸»æ ‡è¯† (ç²‰è‰²èƒŒæ™¯é£Žæ ¼ - å¢žå¼ºç‰ˆ) */
.fc-lz-badge {
    font-size: 11px;
    background: #E8F3FF; /* è´´å§è“èƒŒæ™¯ */
    color: #1677FF;
    border: 1px solid rgba(22, 119, 255, 0.2);
    padding: 0 6px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-weight: 500;
}

/* è¯„è®ºå†…å®¹ */
.fc-content {
    font-size: 16px; 
    color: #333;
    line-height: 1.6;
    text-align: justify;
}
