[html]<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ReapNote - Эпизод #742</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;700&family=Playfair+Display:wght@400;700&display=swap">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
:root {
--primary-color: #7e57c2;
--primary-dark: #5e35b1;
--primary-light: #b085f5;
--text-color: #424242;
--text-secondary: #757575;
--background: #ffffff;
--background-alt: #fafafa;
--border-color: #e0e0e0;
--shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
--transition: all 0.3s ease;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 15px;
font-family: 'Roboto Mono', monospace;
color: var(--text-color);
line-height: 1.5;
font-size: 14px;
}
.reapnote-container {
width: 700px;
max-width: 100%;
background: var(--background);
border-radius: 10px;
overflow: hidden;
box-shadow: var(--shadow);
border: 1px solid var(--border-color);
}
.app-header {
background: linear-gradient(135deg, #f5f5f5 0%, #eeeeee 100%);
padding: 12px 16px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid var(--border-color);
}
.app-title {
display: flex;
align-items: center;
gap: 8px;
}
.app-title h1 {
font-size: 18px;
font-weight: 700;
color: var(--primary-color);
}
.app-title i {
color: var(--primary-color);
font-size: 16px;
}
.app-controls {
display: flex;
gap: 10px;
}
.app-btn {
background: #e0e0e0;
color: var(--text-color);
border: none;
padding: 6px 12px;
border-radius: 4px;
cursor: pointer;
font-family: 'Roboto Mono', monospace;
font-size: 12px;
transition: var(--transition);
display: flex;
align-items: center;
gap: 6px;
}
.app-btn:hover {
background: #d5d5d5;
}
.episode-header {
background: linear-gradient(135deg, #f5f5f5 0%, #eeeeee 100%);
color: var(--text-color);
padding: 18px 20px;
text-align: center;
position: relative;
overflow: hidden;
}
.episode-header h2 {
font-family: 'Playfair Display', serif;
font-size: 20px;
font-weight: 700;
color: var(--primary-color);
margin: 0 0 8px 0;
}
.episode-meta {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 12px;
font-size: 12px;
}
.meta-item {
display: flex;
align-items: center;
gap: 6px;
color: var(--text-secondary);
}
.meta-item i {
color: var(--primary-color);
font-size: 12px;
}
.episode-image {
padding: 15px;
text-align: center;
background: var(--background-alt);
border-bottom: 1px solid var(--border-color);
border-top: 1px solid var(--border-color);
}
.episode-image img {
width: 500px;
height: 200px;
object-fit: cover;
border-radius: 6px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
border: 1px solid var(--border-color);
}
.episode-info {
padding: 18px;
display: flex;
gap: 18px;
background: var(--background-alt);
}
.info-section {
flex: 1;
background: var(--background);
border-radius: 6px;
padding: 15px;
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.03);
border: 1px solid var(--border-color);
}
.info-title {
color: var(--primary-color);
font-size: 14px;
font-weight: 600;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid var(--border-color);
display: flex;
align-items: center;
gap: 8px;
}
.info-title i {
color: var(--primary-color);
font-size: 14px;
}
.info-content {
color: var(--text-color);
line-height: 1.5;
font-size: 13px;
}
.souls-container {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 12px;
}
.soul-link {
background: linear-gradient(to right, #f5f5f5 0%, #eeeeee 100%);
color: var(--text-color);
text-decoration: none;
padding: 10px 12px;
border-radius: 6px;
font-size: 13px;
font-weight: 500;
transition: var(--transition);
display: flex;
align-items: center;
gap: 10px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
border: 1px solid var(--border-color);
}
.soul-link:hover {
transform: translateX(3px);
box-shadow: 0 4px 10px rgba(126, 87, 194, 0.08);
background: linear-gradient(to right, #eeeeee 0%, #e0e0e0 100%);
}
.soul-avatar {
width: 32px;
height: 32px;
border-radius: 50%;
background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 14px;
position: relative;
flex-shrink: 0;
}
.soul-details {
display: flex;
flex-direction: column;
}
.soul-name {
font-weight: 600;
font-size: 13px;
color: var(--primary-color);
}
.soul-status {
font-size: 11px;
color: var(--text-secondary);
margin-top: 2px;
}
.decoration {
position: absolute;
opacity: 0.1;
color: var(--primary-color);
z-index: 0;
}
.decoration-1 {
top: 8px;
left: 15px;
font-size: 18px;
}
.decoration-2 {
bottom: 8px;
right: 15px;
font-size: 18px;
}
.episode-actions {
padding: 15px;
display: flex;
justify-content: flex-end;
gap: 12px;
background: var(--background);
border-top: 1px solid var(--border-color);
}
.action-btn {
padding: 8px 16px;
border-radius: 4px;
border: none;
cursor: pointer;
font-family: 'Roboto Mono', monospace;
font-weight: 500;
transition: var(--transition);
display: flex;
align-items: center;
gap: 6px;
font-size: 12px;
}
.btn-primary {
background: var(--primary-color);
color: white;
}
.btn-primary:hover {
background: var(--primary-dark);
}
.btn-secondary {
background: #e0e0e0;
color: var(--text-color);
}
.btn-secondary:hover {
background: #d5d5d5;
}
@media (max-width: 750px) {
.reapnote-container {
width: 95%;
}
.episode-info {
flex-direction: column;
}
.episode-image img {
width: 100%;
max-width: 500px;
height: auto;
aspect-ratio: 5/2;
}
}
@media (max-width: 600px) {
.app-header {
flex-direction: column;
gap: 12px;
}
.episode-meta {
flex-direction: column;
gap: 8px;
}
.episode-image {
padding: 12px;
}
.episode-info {
padding: 12px;
gap: 12px;
}
.episode-actions {
flex-direction: column;
}
.action-btn {
width: 100%;
justify-content: center;
}
body {
padding: 10px;
font-size: 13px;
}
}
</style>
</head>
<body>
<div class="reapnote-container">
<div class="app-header">
<div class="app-title">
<i class="fas fa-skull-crossbones"></i>
<h1>ReapNote</h1>
</div>
<div class="app-controls">
<button class="app-btn"><i class="fas fa-sync"></i> Обновить</button>
<button class="app-btn"><i class="fas fa-times"></i> Закрыть</button>
</div>
</div>
<div class="episode-header">
<i class="fas fa-cross decoration decoration-1"></i>
<h2>НАЗВАНИЕ ЭПИЗОДА</h2>
<div class="episode-meta">
<div class="meta-item">
<i class="far fa-calendar"></i>
<span>ДАТА В ФОРМАТЕ 00 МЕСЯЦ 0000</span>
</div>
<div class="meta-item">
<i class="far fa-clock"></i>
<span>ВРЕМЯ 00:00</span>
</div>
<div class="meta-item">
<i class="fas fa-map-marker-alt"></i>
<span>МЕСТО</span>
</div>
</div>
<i class="fas fa-tombstone decoration decoration-2"></i>
</div>
<div class="episode-image">
<img src="https://forumstatic.ru/files/001c/89/e7/91061.jpg" alt="изображение 500х200">
</div>
<div class="episode-info">
<div class="info-section">
<div class="info-title">
<i class="fas fa-scroll"></i>
<span>Описание событий</span>
</div>
<div class="info-content">
ОПИСАНИЕ СОБЫТИЙ
</div>
</div>
<div class="info-section">
<div class="info-title">
<i class="fas fa-ghost"></i>
<span>Души</span>
</div>
<div class="souls-container">
<a href="ССЫЛКА НА АНКЕТУ/ПРОФИЛЬ" class="soul-link">
<div class="soul-avatar">
<i class="fas fa-skull"></i>
</div>
<div class="soul-details">
<span class="soul-name">ИГРОК 1</span>
</div>
</a>
<a href="ССЫЛКА НА АНКЕТУ/ПРОФИЛЬ" class="soul-link">
<div class="soul-avatar">
<i class="fas fa-bone"></i>
</div>
<div class="soul-details">
<span class="soul-name">ИГРОК 2</span>
</div>
</a>
</div>
</div>
</div>
<div class="episode-actions">
<button class="action-btn btn-secondary">
<i class="fas fa-times"></i> Отклонить
</button>
<button class="action-btn btn-primary">
<i class="fas fa-check"></i> Принять
</button>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const appButtons = document.querySelectorAll('.app-btn');
appButtons.forEach(button => {
button.addEventListener('click', function() {
this.style.transform = 'scale(0.95)';
setTimeout(() => {
this.style.transform = '';
}, 200);
});
});
const soulLinks = document.querySelectorAll('.soul-link');
soulLinks.forEach(link => {
link.addEventListener('click', function(e) {
e.preventDefault();
const name = this.querySelector('.soul-name').textContent;
alert(`Переход к профилю души: ${name}`);
});
});
// Добавляем функциональность для кнопок действий
const actionButtons = document.querySelectorAll('.action-btn');
actionButtons.forEach(button => {
button.addEventListener('click', function() {
if (this.classList.contains('btn-primary')) {
alert('Эпизод подтвержден и отправлен в архив');
} else {
alert('Эпизод отклонен и отправлен на доработку');
}
});
});
});
</script>
</body>
</html>[/html]
[html]<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ReapNote - Эпизод #742</title> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;700&family=Playfair+Display:wght@400;700&display=swap"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <style> :root { --primary-color: #7e57c2; --primary-dark: #5e35b1; --primary-light: #b085f5; --text-color: #424242; --text-secondary: #757575; --background: #ffffff; --background-alt: #fafafa; --border-color: #e0e0e0; --shadow: 0 8px 20px rgba(0, 0, 0, 0.08); --transition: all 0.3s ease; } * { margin: 0; padding: 0; box-sizing: border-box; } body { background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%); display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 15px; font-family: 'Roboto Mono', monospace; color: var(--text-color); line-height: 1.5; font-size: 14px; } .reapnote-container { width: 700px; max-width: 100%; background: var(--background); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--border-color); } .app-header { background: linear-gradient(135deg, #f5f5f5 0%, #eeeeee 100%); padding: 12px 16px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border-color); } .app-title { display: flex; align-items: center; gap: 8px; } .app-title h1 { font-size: 18px; font-weight: 700; color: var(--primary-color); } .app-title i { color: var(--primary-color); font-size: 16px; } .app-controls { display: flex; gap: 10px; } .app-btn { background: #e0e0e0; color: var(--text-color); border: none; padding: 6px 12px; border-radius: 4px; cursor: pointer; font-family: 'Roboto Mono', monospace; font-size: 12px; transition: var(--transition); display: flex; align-items: center; gap: 6px; } .app-btn:hover { background: #d5d5d5; } .episode-header { background: linear-gradient(135deg, #f5f5f5 0%, #eeeeee 100%); color: var(--text-color); padding: 18px 20px; text-align: center; position: relative; overflow: hidden; } .episode-header h2 { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 700; color: var(--primary-color); margin: 0 0 8px 0; } .episode-meta { display: flex; justify-content: center; gap: 20px; margin-top: 12px; font-size: 12px; } .meta-item { display: flex; align-items: center; gap: 6px; color: var(--text-secondary); } .meta-item i { color: var(--primary-color); font-size: 12px; } .episode-image { padding: 15px; text-align: center; background: var(--background-alt); border-bottom: 1px solid var(--border-color); border-top: 1px solid var(--border-color); } .episode-image img { width: 500px; height: 200px; object-fit: cover; border-radius: 6px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04); border: 1px solid var(--border-color); } .episode-info { padding: 18px; display: flex; gap: 18px; background: var(--background-alt); } .info-section { flex: 1; background: var(--background); border-radius: 6px; padding: 15px; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.03); border: 1px solid var(--border-color); } .info-title { color: var(--primary-color); font-size: 14px; font-weight: 600; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border-color); display: flex; align-items: center; gap: 8px; } .info-title i { color: var(--primary-color); font-size: 14px; } .info-content { color: var(--text-color); line-height: 1.5; font-size: 13px; } .souls-container { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; } .soul-link { background: linear-gradient(to right, #f5f5f5 0%, #eeeeee 100%); color: var(--text-color); text-decoration: none; padding: 10px 12px; border-radius: 6px; font-size: 13px; font-weight: 500; transition: var(--transition); display: flex; align-items: center; gap: 10px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02); border: 1px solid var(--border-color); } .soul-link:hover { transform: translateX(3px); box-shadow: 0 4px 10px rgba(126, 87, 194, 0.08); background: linear-gradient(to right, #eeeeee 0%, #e0e0e0 100%); } .soul-avatar { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; position: relative; flex-shrink: 0; } .soul-details { display: flex; flex-direction: column; } .soul-name { font-weight: 600; font-size: 13px; color: var(--primary-color); } .soul-status { font-size: 11px; color: var(--text-secondary); margin-top: 2px; } .decoration { position: absolute; opacity: 0.1; color: var(--primary-color); z-index: 0; } .decoration-1 { top: 8px; left: 15px; font-size: 18px; } .decoration-2 { bottom: 8px; right: 15px; font-size: 18px; } .episode-actions { padding: 15px; display: flex; justify-content: flex-end; gap: 12px; background: var(--background); border-top: 1px solid var(--border-color); } .action-btn { padding: 8px 16px; border-radius: 4px; border: none; cursor: pointer; font-family: 'Roboto Mono', monospace; font-weight: 500; transition: var(--transition); display: flex; align-items: center; gap: 6px; font-size: 12px; } .btn-primary { background: var(--primary-color); color: white; } .btn-primary:hover { background: var(--primary-dark); } .btn-secondary { background: #e0e0e0; color: var(--text-color); } .btn-secondary:hover { background: #d5d5d5; } @media (max-width: 750px) { .reapnote-container { width: 95%; } .episode-info { flex-direction: column; } .episode-image img { width: 100%; max-width: 500px; height: auto; aspect-ratio: 5/2; } } @media (max-width: 600px) { .app-header { flex-direction: column; gap: 12px; } .episode-meta { flex-direction: column; gap: 8px; } .episode-image { padding: 12px; } .episode-info { padding: 12px; gap: 12px; } .episode-actions { flex-direction: column; } .action-btn { width: 100%; justify-content: center; } body { padding: 10px; font-size: 13px; } } </style> </head> <body> <div class="reapnote-container"> <div class="app-header"> <div class="app-title"> <i class="fas fa-skull-crossbones"></i> <h1>ReapNote</h1> </div> <div class="app-controls"> <button class="app-btn"><i class="fas fa-sync"></i> Обновить</button> <button class="app-btn"><i class="fas fa-times"></i> Закрыть</button> </div> </div> <div class="episode-header"> <i class="fas fa-cross decoration decoration-1"></i> <h2>НАЗВАНИЕ ЭПИЗОДА</h2> <div class="episode-meta"> <div class="meta-item"> <i class="far fa-calendar"></i> <span>ДАТА В ФОРМАТЕ 00 МЕСЯЦ 0000</span> </div> <div class="meta-item"> <i class="far fa-clock"></i> <span>ВРЕМЯ 00:00</span> </div> <div class="meta-item"> <i class="fas fa-map-marker-alt"></i> <span>МЕСТО</span> </div> </div> <i class="fas fa-tombstone decoration decoration-2"></i> </div> <div class="episode-image"> <img src="https://forumstatic.ru/files/001c/89/e7/91061.jpg" alt="изображение 500х200"> </div> <div class="episode-info"> <div class="info-section"> <div class="info-title"> <i class="fas fa-scroll"></i> <span>Описание событий</span> </div> <div class="info-content"> ОПИСАНИЕ СОБЫТИЙ </div> </div> <div class="info-section"> <div class="info-title"> <i class="fas fa-ghost"></i> <span>Души</span> </div> <div class="souls-container"> <a href="ССЫЛКА НА АНКЕТУ/ПРОФИЛЬ" class="soul-link"> <div class="soul-avatar"> <i class="fas fa-skull"></i> </div> <div class="soul-details"> <span class="soul-name">ИГРОК 1</span> </div> </a> <a href="ССЫЛКА НА АНКЕТУ/ПРОФИЛЬ" class="soul-link"> <div class="soul-avatar"> <i class="fas fa-bone"></i> </div> <div class="soul-details"> <span class="soul-name">ИГРОК 2</span> </div> </a> </div> </div> </div> <div class="episode-actions"> <button class="action-btn btn-secondary"> <i class="fas fa-times"></i> Отклонить </button> <button class="action-btn btn-primary"> <i class="fas fa-check"></i> Принять </button> </div> </div> <script> document.addEventListener('DOMContentLoaded', function() { const appButtons = document.querySelectorAll('.app-btn'); appButtons.forEach(button => { button.addEventListener('click', function() { this.style.transform = 'scale(0.95)'; setTimeout(() => { this.style.transform = ''; }, 200); }); }); const soulLinks = document.querySelectorAll('.soul-link'); soulLinks.forEach(link => { link.addEventListener('click', function(e) { e.preventDefault(); const name = this.querySelector('.soul-name').textContent; alert(`Переход к профилю души: ${name}`); }); }); // Добавляем функциональность для кнопок действий const actionButtons = document.querySelectorAll('.action-btn'); actionButtons.forEach(button => { button.addEventListener('click', function() { if (this.classList.contains('btn-primary')) { alert('Эпизод подтвержден и отправлен в архив'); } else { alert('Эпизод отклонен и отправлен на доработку'); } }); }); }); </script> </body> </html>[/html]