#entry-container, #comments-section, #reviews-section { background-color: var(--bg2); border: 1px solid var(--border); display: flex; flex-direction: column; } .entry-header { display: flex; padding: 30px; border-bottom: 1px solid var(--border); background: linear-gradient(to right, rgba(255,115,0,0.05), transparent); gap: 30px; .entry-cover { width: 220px; height: 220px; background-color: var(--bg); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 4px 15px rgba(0,0,0,0.3); position: relative; overflow: hidden; img { width: 100%; height: 100%; object-fit: contain; padding: 8px; } } .entry-info { flex-grow: 1; display: flex; flex-direction: column; .entry-title { font-size: 2.2rem; font-weight: 600; margin-bottom: 5px; color: var(--text); } .entry-authors { color: var(--rhpz-orange); font-size: 1.1rem; margin-bottom: 20px; } .entry-meta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 25px; background-color: var(--bg); padding: 15px; border: 1px solid var(--border); } .entry-meta-item { display: flex; flex-direction: column; } .entry-meta-label { font-size: 0.75rem; color: var(--text2); text-transform: uppercase; } .entry-actions { margin-top: auto; display: flex; gap: 15px; } } } .entry-content { padding: 30px; .entry-section-title { font-size: 1.2rem; border-bottom: 1px solid var(--border); padding-bottom: 10px; margin-bottom: 20px; color: var(--text); display: flex; align-items: center; gap: 10px; } .entry-description { line-height: 1.6; color: var(--text); margin-bottom: 30px; word-break: break-word; p { margin: 0 0 14px; &:last-child { margin-bottom: 0; } } pre { max-width: 100%; overflow-x: auto; white-space: pre-wrap; word-break: break-word; padding: 12px; border-radius: 6px; margin: 0 0 14px; } code { white-space: pre-wrap; word-break: break-word; } } .entry-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 15px; margin-bottom: 30px; } .entry-gallery-item { aspect-ratio: 4/3; background-color: var(--bg); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; cursor: pointer; overflow: hidden; transition: border-color 0.2s; &:hover { border-color: var(--rhpz-orange); img { transform: scale(1.05); } } img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } } } .gallery-modal { position: fixed; z-index: 3000; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.85); display: flex; align-items: center; justify-content: center; .gallery-modal-content { max-width: 90%; max-height: 90%; position: relative; img { max-width: 100%; max-height: 90vh; object-fit: contain; border: 2px solid var(--border); background-color: var(--bg); box-shadow: 0 10px 25px rgba(0,0,0,0.5); } } .gallery-modal-close { position: absolute; top: 20px; right: 30px; color: #fff; font-size: 40px; font-weight: bold; cursor: pointer; user-select: none; &:hover { color: var(--rhpz-orange); } } .gallery-modal-video { width: 90%; max-width: 960px; aspect-ratio: 16/9; box-shadow: 0 10px 30px rgba(0,0,0,0.6); border: 1px solid var(--border); background-color: #000; iframe { width: 100%; height: 100%; border: none; display: block; } } } .entry-cover-placeholder { text-align: center; color: var( --text2 ); } .comment-block { display: flex; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--border); &:last-child { border-bottom: none; } .comment-avatar { flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; overflow: hidden; background-color: var(--bg4); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; img { width: 100%; height: 100%; object-fit: cover; display: block; } } .comment-content { flex: 1; min-width: 0; .comment-meta { font-size: 0.88rem; color: var(--text2); margin-bottom: 6px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; .comment-author { font-weight: 600; color: var(--text); text-decoration: none; transition: color 0.2s; &:hover { color: var(--rhpz-orange); } } .comment-date { color: var(--text2); } .comment-separator { color: var(--border); user-select: none; } } .comment-body { font-size: 0.95rem; color: var(--text); line-height: 1.5; word-wrap: break-word; } } } .comments-empty { text-align: center; padding: 40px 20px; color: var(--text2); font-style: italic; background-color: var(--bg); border: 1px dashed var(--border); } .entry-video-section { margin-bottom: 30px; } .video-thumbnail-wrapper { position: relative; width: 100%; max-width: 500px; aspect-ratio: 16/9; background-color: #000; border: 1px solid var(--border); cursor: pointer; overflow: hidden; border-radius: 4px; img { width: 100%; height: 100%; object-fit: cover; opacity: 0.8; transition: transform 0.3s ease, opacity 0.3s ease; } .play-trigger { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 65px; height: 65px; background-color: rgba(0, 0, 0, 0.7); border: 2px solid #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.5rem; transition: background-color 0.2s, transform 0.2s ease-out; i { margin-left: 4px; } } &:hover { img { transform: scale(1.03); opacity: 1; } .play-trigger { background-color: var(--rhpz-orange); border-color: var(--rhpz-orange); transform: translate(-50%, -50%) scale(1.1); box-shadow: 0 0 15px rgba(255, 115, 0, 0.5); } } } .entry-submission-byline { font-size: 0.85rem; color: var(--text2); margin-bottom: 20px; display: flex; align-items: center; gap: 15px; i { vertical-align: middle; margin-right: 4px; } } .markdown-body { p { margin-bottom: 10px; &:last-child { margin-bottom: 0; } } a { color: var(--rhpz-orange); &:hover { color: var(--rhpz-orange-hover); text-decoration: underline; } } blockquote, .bbCodeBlock-blockquote { background-color: var(--bg); border-left: 3px solid var(--info); padding: 12px 16px; margin: 12px 0; font-style: italic; color: var(--text2); } code { font-family: monospace; background-color: var(--bg3); border: 1px solid var(--border); padding: 2px 5px; font-size: 0.9rem; } } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: var(--text); font-weight: 600; margin: 16px 0 8px; line-height: 1.3; } .markdown-body h1 { font-size: 1.4rem; } .markdown-body h2 { font-size: 1.2rem; } .markdown-body h3 { font-size: 1.05rem; } .markdown-body strong { color: var(--text); font-weight: 700; } .markdown-body em { color: var(--text2); } .markdown-body ul, .markdown-body ol { margin: 0 0 12px 20px; color: var(--text); } .markdown-body li { margin-bottom: 4px; line-height: 1.5; } .markdown-body hr { border: none; border-top: 1px solid var(--border); margin: 16px 0; } .markdown-body table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 0.9rem; } .markdown-body th, .markdown-body td { border: 1px solid var(--border); padding: 6px 10px; text-align: left; } .markdown-body th { background-color: var(--bg3); font-weight: 600; color: var(--text); } .markdown-body del { color: var(--text2); text-decoration: line-through; } .markdown-body img { max-width: 100%; border: 1px solid var(--border); margin: 8px 0; } .hack-actions { display: flex; gap: 10px; } @media (max-width: 768px) { .entry-header { flex-direction: column; padding: 20px; gap: 20px; .entry-cover { width: 100%; height: 280px; max-width: 300px; margin: 0 auto; } .entry-info { .entry-title { font-size: 1.6rem; } .entry-authors { font-size: 0.95rem; } .entry-meta-grid { grid-template-columns: 1fr; gap: 12px; margin-bottom: 20px; } .entry-actions { flex-direction: column; gap: 10px; .btn { width: 100%; } } } } .entry-content { padding: 20px; .entry-section-title { font-size: 1.1rem; } .entry-gallery { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-bottom: 20px; } } .comment-block { gap: 12px; padding: 15px 0; .comment-avatar { width: 40px; height: 40px; } .comment-content { .comment-body { font-size: 0.9rem; } } } .video-thumbnail-wrapper { max-width: 100%; } .gallery-modal-close { top: 10px; right: 15px; font-size: 30px; } .hack-actions { flex-direction: column; } } @media (max-width: 600px) { .entry-header { padding: 15px; gap: 15px; .entry-cover { height: 240px; } .entry-info { .entry-title { font-size: 1.3rem; margin-bottom: 8px; } .entry-authors { font-size: 0.85rem; margin-bottom: 15px; } .entry-actions { gap: 8px; .btn { padding: 8px 12px; font-size: 0.85rem; } } } } .entry-content { padding: 15px; .entry-gallery { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 8px; margin-bottom: 15px; } } .comment-block { padding: 10px 0; .comment-avatar { width: 36px; height: 36px; } } .markdown-body h1 { font-size: 1.15rem; } .markdown-body h2 { font-size: 1rem; } .markdown-body h3 { font-size: 0.95rem; } .hack-actions { flex-direction: column; } }