о персонаже![]()
Шеймус Финниган
радикальный сопротивленец
банши
seamus finnigan
Сообщений 1 страница 21 из 21
Поделиться12026-03-03 18:15:07
Поделиться22026-03-03 18:17:36
твинки
seamus finnigan 1980 - muggle-born, resistance.
[indent] твинки: norman oldridge 1965 - pure-blood, death eaters.
tony goldstein 1979 - half-blood, resistance.
Поделиться32026-03-03 18:18:12
плашки










[html]
<link rel="stylesheet" href="https://forumstatic.ru/files/001c/3b/dd/84786.css">
<div class="fon-light"><img src="https://upforme.ru/uploads/001c/3b/dd/27/150032.gif"> <div class="fon-text">полный jingle bells</div></div>
<div class="fon-dark"><img src="https://upforme.ru/uploads/001c/3b/dd/27/150032.gif"><div class="fon-text">полный jingle bells</div></div>[/html]
Поделиться42026-04-19 14:16:32
[html]<div class="lz-generator">
<h3>Генератор ЛЗ</h3>
<input placeholder="Ссылка на анкету" id="lz-link"><br> <input placeholder="Имя Фамилия, возраст" id="lz-name"><br>
<textarea placeholder="Описание" id="lz-about"></textarea>
<input placeholder="Ссылка на пару (если есть)" id="lz-pairlink">
<input placeholder="Имя пары" id="lz-pairname">
<select id="lz-caste">
<option value="pure-blood">pure-blood</option>
<option value="half-blood">half-blood</option>
<option value="muggle-born">muggle-born</option>
<option value="outlaw">outlaw</option>
<option value="part-human">part-human</option>
</select>
<input placeholder="Ссылка на картинку плашки" id="lz-img">
<input placeholder="Ссылка на тему твинков" id="lz-twink">
<input placeholder="Текст плашки" id="lz-plashka">
<button id="lz-generate">Сгенерировать</button>
<textarea id="lz-result"></textarea>
<button id="lz-copy">Скопировать</button>
</div>
[/html]
Поделиться52026-05-22 07:46:05
стиль личной страницы
/* личная страница */
#character {
width: fit-content !important;
background: var(--sec-bg);
z-index: 9999;
}
/* заголовки галерей */
.gallery-title {
text-transform: uppercase;
background: var(--footer);
color: var(--pun-bg);
padding: 5px;
margin-bottom: 8px;
border-radius: 5px;
font-weight: bold;
}
/* общий блок */
.general {
display: flex;
flex-direction: column;
color: var(--footer);
position: relative;
min-height: 250px;
}
.general img {
width: 150px;
height: 150px;
object-fit: cover;
border-radius: 5px;
border: 1px solid var(--footer);
}
.general h2 {
font-weight: normal;
text-align: center;
color: var(--dark-accent);
font-family: var(--extra-font);
font-size: 25px;
position: absolute;
top: 57%;
right: 3%;
}
.fraction {
position: absolute;
top: 70%;
width: 200px;
background: var(--link);
color: var(--profilebg);
border-radius: 5px;
padding: 2px 5px;
}
.occupation {
position: absolute;
top: 82%;
}
.arcs {
position: absolute;
top: 88%;
}
/* модалка */
.reveal-modal-bg {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, .8);
z-index: 100;
display: none;
}
.reveal-modal {
visibility: hidden;
position: absolute;
top: 100px;
left: 50%;
z-index: 101;
padding: 30px 40px 34px;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0, 0, 0, .4);
}
/* размеры */
.reveal-modal.small { width: 200px; margin-left: -140px; }
.reveal-modal.medium { width: 400px; margin-left: -240px; }
.reveal-modal.large { width: 600px; margin-left: -340px; }
.reveal-modal.xlarge { width: 800px; margin-left: -440px; }
.reveal-modal .close-reveal-modal {
font-size: 22px;
line-height: .5;
position: absolute;
top: 8px;
right: 11px;
color: #aaa;
text-shadow: 0 -1px 1px rgba(0,0,0,.6);
font-weight: bold;
cursor: pointer;
text-decoration: none;
}
/* меню */
.menu-links {
display: flex;
gap: 10px;
}
.menu span {
display: inline-block;
padding: 3px 11px;
border-radius: 5px 5px 0 0;
}
#submenu {
display: inline-block;
padding: 7px;
font-size: 12px;
width: 600px;
}
#submenu,
.menu span {
background: var(--topic-overlay);
color: var(--footer);
font-weight: bold;
}
.menu .tabactive {
color: var(--profilebg);
background: var(--link);
}
.menu span:hover {
color: var(--profilebg);
background: var(--dark-accent);
}
.submenutext {
display: none;
overflow-y: auto;
font-weight: normal;
max-height: 300px;
}
/* layout */
.modal-content {
display: flex;
gap: 20px;
align-items: flex-start; /* важно */
}
/* левая фиксированная */
.left-column {
width: 250px;
flex-shrink: 0;
}
/* правая растягивается */
.right-column {
flex: 1;
}
.right-column {
min-width: 0;
}
/* галереи */
.plashki-gallery img {
max-width: 200px;
}
.phoni-gallery {
display: flex;
flex-wrap: wrap;
gap: 5px;
width: 300px;
height: 150px;
overflow-y: auto;
}
.gallery-title {
flex-basis: 100%;
}
.phoni-gallery img {
width: 100px;
height: 100px;
border-radius: 5px;
}
.icons-gallery {
display: flex;
flex-wrap: wrap;
gap: 5px;
width: 300px;
max-height: 350px;
overflow-y: auto;
}
.icons-gallery-img {
width: 34px;
height: 34px;
}
/* фоны */
.fon-light,
.fon-dark {
position: relative;
display: inline-block;
width: 200px;
}
.fon-light img,
.fon-dark img {
width: 100%;
}
/* градиенты */
.fon-light::after,
.fon-dark::after {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
}
.fon-light::after {
background: linear-gradient(
rgba(152, 171, 177, 0.5) 10%,
#AEBCBF 100%
);
}
.fon-dark::after {
background: linear-gradient(
rgba(146, 141, 138, 0.5) 10%,
#A09895 100%
);
}
.fon-text {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 10px;
z-index: 2;
color: var(--profileplashka);
font-size: 8px;
letter-spacing: 0.1em;
pointer-events: none;
}
/* профиль */
.profile-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
.profile-left {
display: flex;
flex-wrap: wrap;
gap: 4px;
max-height: 350px;
overflow-y: auto;
}
.profile-right {
display: flex;
flex-direction: column;
gap: 30px;
}
/* твинки */
.twink {
display: flex;
gap: 15px;
margin-bottom: 15px;
}
.twink img {
width: 100px;
height: 100px;
object-fit: cover;
border-radius: 50%;
flex-shrink: 0;
}
.twink-text {
flex: 1;
}
.coupon {
display: flex;
gap: 10px;
align-items: center;
padding: 5px;
margin-bottom: 5px;
background: var(--topic-overlay);
border-radius: 8px;
position: relative;
overflow: hidden;
width: 250px;
}
.coupon-list {
display: flex;
flex-wrap: wrap; /* чтобы переносились на новую строку */
gap: 10px; /* расстояние между купонами */
}
/* "перфорация" */
.coupon::before,
.coupon::after {
content: "";
position: absolute;
left: 110px; /* граница между картинкой и текстом */
width: 10px;
height: 10px;
background: var(--sec-bg);
border-radius: 50%;
transform: translateX(-50%);
}
.coupon::before {
top: -5px;
}
.coupon::after {
bottom: -5px;
}
/* линия перфорации */
.coupon-content {
position: relative;
padding-left: 10px;
}
.coupon-content::before {
content: "";
position: absolute;
left: -5px;
top: 0;
bottom: 0;
width: 2px;
background: repeating-linear-gradient(
to bottom,
var(--footer),
var(--footer) 4px,
transparent 4px,
transparent 8px
);
opacity: 0.4;
}
/* картинка */
.coupon-img img {
width: 40px;
height: 40px;
object-fit: cover;
border-radius: 6px;
}
/* текст */
.coupon-title {
font-size: 13px;
font-weight: bold;
color: var(--link);
}
.coupon-desc {
font-size: 11px;
color: var(--footer);
}
.coupon-meta {
font-size: 10px;
opacity: 0.6;
}
#lp-generator {
position: fixed;
inset: 0;
z-index: 99999;
}
.lp-overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,.7);
}
.lp-box {
position: relative;
width: 500px;
margin: 60px auto;
background: #222;
color: #fff;
padding: 15px;
border-radius: 10px;
display: flex;
flex-direction: column;
gap: 8px;
}
.lp-box input,
.lp-box textarea {
width: 100%;
padding: 6px;
border-radius: 5px;
border: none;
}
#lp-output {
height: 120px;
}
.lp-box button {
cursor: pointer;
padding: 6px;
}
Поделиться62026-05-22 07:47:41
выпадающие меню хтмл-верх (стили)
/* Additional menus © max, the murderer! */
/* ===== ВЫПАДАЮЩИЕ МЕНЮ — ИСПРАВЛЕННАЯ ВЕРСИЯ ===== */
#pun-navlinks .container li {
position: relative;
}
/* Невидимый мостик, чтобы мышь не падала в зазор */
#pun-navlinks .container li::after {
content: '';
position: absolute;
left: 0;
bottom: -10px;
width: 100%;
height: 10px;
background: transparent;
z-index: 999;
}
/* Меню первого уровня */
#pun-navlinks .container li ul {
position: absolute;
left: 0;
top: 100%; /* было 14px — теперь привязано к низу пункта */
min-width: 100%;
width: max-content;
z-index: 1000;
background: silver;
border: 1px solid darkgray;
box-sizing: border-box;
/* Плавное появление (без scale, чтобы не было артефактов) */
visibility: hidden;
opacity: 0;
transition: visibility 0.1s, opacity 0.1s;
}
#pun-navlinks .container li:hover ul {
visibility: visible;
opacity: 1;
}
/* Пункты меню — строго в столбик */
#pun-navlinks .container li ul li {
margin: 0;
display: block; /* это ключевое правило — возвращаем вертикаль */
white-space: nowrap;
}
/* Ссылки внутри */
#pun-navlinks .container li ul li a {
display: block;
text-align: left;
font-size: 1em;
font-weight: bold;
padding: 4px 8px;
margin: 0;
color: steelblue;
white-space: nowrap;
}
/* Меню второго уровня */
#pun-navlinks .container li ul ul {
position: absolute;
left: 100%;
top: 0;
width: max-content;
visibility: hidden;
opacity: 0;
transition: visibility 0.1s, opacity 0.1s;
}
/* Появление второго уровня при наведении */
#pun-navlinks .container li ul li.forms:hover > ul,
#pun-navlinks .container li ul li:hover > ul {
visibility: visible !important;
opacity: 1 !important;
}
/* Исправление — без замены всего меню */
#pun-navlinks .container li ul {
top: 100% !important;
transform-origin: top !important;
}
#pun-navlinks .container li::after {
content: '';
position: absolute;
bottom: -12px;
left: 0;
width: 100%;
height: 12px;
background: transparent;
}
</style>Поделиться72026-05-22 07:48:12
личная страница хтмл-верх
<!-- Всплывающее окно с информацией ч.1 © sadhaka --> <script src="https://forumstatic.ru/files/0011/e9/e1/56920.js" type="text/javascript"></script>
Поделиться82026-05-22 07:49:09
личная страница хтмл-низ
<!-- Всплывающее окно с информацией ч.2 © sadhaka -->
<div id="character" class="reveal-modal xlarge main container">
<div class='modal_wrap'></div>
<a class="close-reveal-modal">×</a>
</div>
<script type="text/javascript">
function showTab(elem){
$(".menu span").removeClass("tabactive");
$(elem).addClass("tabactive");
$("div.submenutext").hide();
var activeDiv = $(elem).attr("alt");
$("div."+activeDiv).fadeIn();
return false;
}
$(".modal-link").click(function() {
var modId = $(this).attr('id');
$('.modal_wrap').html('');
$.get('pages/'+modId, function (data){
$('.modal_wrap').html($(data).find('.character').html());
});
$(".submenutext").hide();
$(".submenutext:first").show();
});
</script>
Поделиться92026-05-22 07:49:34
доп поля админки хтмл-низ
<!-- Админ-меню © max, the murderer! -->
<script>
if (GroupID == 1) {
$('#pun-navlinks .container li#navadmin').append('<ul class="adminmenu"><li><a href="/admin_forums.php">Форумы</a></li><li><a href="/admin_options.php">Настройки</a></li><li class="forms"><a href="/admin_forms.php">Формы</a><ul><li><a href="/admin_forms.php#f-general">HTML-верх / низ</a></li><li><a href="/admin_forms.php#f-announcement">Объявление</a></li><li><a href="/admin_forms.php#f-form-reply">Форма ответа</a></li></ul></li><li><a href="/admin_style.php">Стиль</a></li><li><a href="/admin_files.php">Файлы</a></li><li><a href="/admin_fields.php">Поля профиля</a></li></ul>')
}
</script>
<!-- Профиль-меню © max, the murderer! -->
<script>
if (GroupID != 4) {
$('#pun-navlinks .container li#navprofile').append('<ul class="profilemenu"><li><a href="/profile.php?section=essentials&id='+UserID+'">Основной</a></li><li><a href="/profile.php?section=personal&id='+UserID+'">Персональный</a></li><li><a href="/profile.php?action=upload_avatar&id='+UserID+'">Аватар</a></li><li><a href="/profile.php?section=signature&id='+UserID+'">Подпись</a></li><li><a href="/profile.php?section=fields&id='+UserID+'">Дополнительно</a></li></ul>')
}
</script>Поделиться102026-05-30 11:32:30
<p> <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=3&p=2#p128685" title="глава умеренных">
<img class="need-img" src="https://64.media.tumblr.com/414838f30fff00ae74c4e83653478158/badaca4427aac162-ae/s400x600/c2497e7fea1ec30579a9ef38a879ec05aa25d4ca.gif">
</a></p>
<p> <a href="https://mmaleficarum.rusff.me/viewtopic.php?id=844#p110479" title="председатель триады">
<img class="need-img" src="https://64.media.tumblr.com/a3929ceb8d9884fe8420a5281b7fa1cb/b95d36cc27195060-9a/s540x810/038bcf2bebbb8cdc92973aed10ee93534a5bdf4e.gif">
</a></p>
Поделиться112026-07-29 07:18:50
[dice]count = 1 | sides = 100 | bonus = 0 | reason = аваднуть володьку. чёт - удача, нечет - неудача[/dice]
Поделиться122026-07-29 07:20:14
[dice]count = 1 | sides = 100 | bonus = 40 | reason = бонус забыл! убить володьку, чёт удача, нечет - неудача[/dice]
Поделиться132026-07-29 07:23:38
[dice]count = 1 | sides = 100 | bonus = 40 | reason = бонус на удачу не сильно роляет, а вот когда результат хода зависит от выпавшего числа - да. 1-40 промазал, 41-60 легко ранил, 61-80 - серьёзно ранил, 81-100 убил[/dice]
Поделиться142026-08-14 11:35:46
/* Основная форумная таблица
------------------------------------------*/
.main table {
table-layout: fixed;
width: 100%;
}
.main th {
padding: 5px 10px;
}
.main td {
padding: 10px;
}
.tcl {
width: 50%;
}
.tc2,
.tc3,
.tcmod {
text-align: center;
width: 10%;
}
.tcr {
width: 30%;
}
#pun-searchtopics .tcl,
#pun-modviewforum .tcl {
width: 40%
}
#pun-searchtopics .tc2 {
text-align: left;
width: 20%;
}
#pun-debug table .tcl {
width: 15%;
}
#pun-debug .tcr {
width: 90%;
}
tbody.hasicon td.tcl {
padding-left: 40px;
}
/* аватар */
.punbb td .user-avatar {
}
.punbb td .user-avatar .avatar-image {
}Поделиться152026-08-15 12:26:41
/* Основная форумная таблица
------------------------------------------*/
.main table {
table-layout: fixed;
width: 100%;
}
.main th {
padding: 5px 10px;
}
.main td {
padding: 10px;
}
.tcl {
width: 50%;
}
.tc2,
.tc3,
.tcmod {
text-align: center;
width: 10%;
}
.tcr {
width: 30%;
}
#pun-searchtopics .tcl,
#pun-modviewforum .tcl {
width: 40%
}
#pun-searchtopics .tc2 {
text-align: left;
width: 20%;
}
#pun-debug table .tcl {
width: 15%;
}
#pun-debug .tcr {
width: 90%;
}
tbody.hasicon td.tcl {
padding-left: 40px;
}
/* аватар */
.punbb td .user-avatar {
}
.punbb td .user-avatar .avatar-image {
}
Поделиться162026-08-15 12:37:49
/* Кружочек (добавляем через ::before) */
.punbb .post-content .spoiler-box > div::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 10px;
height: 10px;
background: var(--body-bg);
border-radius: 50%;
cursor: pointer;
}
/* Для раскрытого состояния (класс visible) */
.punbb .post-content .spoiler-box > div.visible::before {
background: var(--guest-overlay) url();
}
.post-content .spoiler-box > div.visible {
content: none !important;
background: none !important;
}
Поделиться172026-08-16 21:18:19
/****************************************
Примерочная by DeepSeek and Storyteller
****************************************/
.dressing-room {
background: var(--news-bg);
border-radius: 10px;
padding: 20px;
margin: 20px 0;
color: var(--textcolor);
}
/* ДВЕ КОЛОНКИ */
.two-columns {
display: flex;
gap: 30px;
flex-wrap: wrap;
}
.right-column {
flex: 1;
min-width: 400px;
}
.dressing-room h3 {
color: var(--textcolor);
margin: 20px 0 10px 0;
font-size: 14px;
text-transform: lowercase;
padding: 5px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
background: var(--post-bg);
border-radius: 5px;
}
.collection-title {
font-size: 12px;
color: var(--textcolor);
padding-left: 10px;
margin-bottom: 10px;
border-left: 3px solid var(--textcolor);
text-transform: lowercase;
}
.collection-badge {
font-size: 10px;
background: var(--post-bg);
color: var(--profilebg);
padding: 2px 6px;
border-radius: 10px;
margin-left: 8px;
vertical-align: middle;
}
.category-controls {
display: flex;
gap: 15px;
align-items: center;
flex-wrap: wrap;
}
.clear-category-btn {
background: var(--profilebg);
color: var(--profiletext);
border: 1px solid var(--profilelink);
padding: 3px 8px;
border-radius: 5px;
font-size: 10px;
cursor: pointer;
text-transform: lowercase;
}
.clear-category-btn:hover {
background: var(--profilelink);
color: var(--profiletext);
}
.gift-checkbox {
display: flex;
align-items: center;
gap: 5px;
font-size: 11px;
cursor: pointer;
}
.gift-checkbox input {
cursor: pointer;
width: 14px;
height: 14px;
}
/* Блоки с картинками */
.shop-container {
border: 1px solid var(--post-bg);
border-radius: 8px;
overflow: hidden;
margin-bottom: 10px;
}
.shop-content {
max-height: 100px;
overflow-y: auto;
padding: 10px;
}
.shop-content::-webkit-scrollbar {
width: 5px;
}
.shop-content::-webkit-scrollbar-track {
background: var(--profilebg);
border-radius: 5px;
}
.shop-content::-webkit-scrollbar-thumb {
background: var(--profilelink);
border-radius: 5px;
}
.shop-content-plashka {
max-height: 70px;
}
.shop-grid {
display: flex;
flex-wrap: wrap;
gap: 14px;
margin-bottom: 20px;
}
.shop-grid:last-child {
margin-bottom: 0;
}
.shop-item {
position: relative;
cursor: pointer;
border-radius: 5px;
border: 2px solid transparent;
transition: all 0.2s ease;
text-align: center;
}
.shop-item:hover {
transform: scale(1.05);
border-color: var(--profilelink);
}
.shop-item-img {
width: 60px;
height: 60px;
object-fit: cover;
border-radius: 5px;
display: block;
}
.shop-item-plashka {
width: 100px;
height: 26px;
object-fit: cover;
border-radius: 3px;
display: block;
}
.shop-item-emoji {
width: 30px;
height: 30px;
object-fit: contain;
border-radius: 5px;
display: block;
}
.shop-price {
font-size: 9px;
color: var(--profilelink);
background: var(--post-bg);
padding: 2px 4px;
border-radius: 3px;
margin-top: 4px;
display: inline-block;
}
.preview-label {
text-align: center;
margin-bottom: 20px;
font-size: 12px;
}
.url-row {
margin-bottom: 20px;
padding: 10px;
background: var(--post-bg);
border-radius: 5px;
}
.url-row label {
display: block;
margin-bottom: 5px;
color: var(--textcolor);
font-size: 11px;
text-transform: lowercase;
}
.url-input-group input {
width: 100%;
background: var(--main-bg);
color: var(--profiletext);
border: 1px solid var(--profilelink)!important;
padding: 8px 12px;
border-radius: 5px;
font-size: 12px;
box-sizing: border-box;
}
.url-price {
font-size: 10px;
color: var(--profiletext);
margin-top: 5px;
}
.text-controls {
margin-bottom: 20px;
padding: 10px;
border-radius: 5px;
border: 1px solid var(--post-bg);
}
.text-controls label {
display: block;
margin-bottom: 5px;
color: var(--textcolor);
font-size: 11px;
text-transform: lowercase;
}
.text-input-group input {
width: 100%;
background: var(--main-bg);
color: var(--textcolor);
border: 1px solid var(--profilelink)!important;
padding: 8px 12px;
border-radius: 5px;
font-size: 12px;
box-sizing: border-box;
}
/* Спойлер для фраз */
.phrases-spoiler {
margin-top: 15px;
}
.phrases-spoiler summary {
cursor: pointer;
color: var(--profilelink);
font-size: 11px;
padding: 5px;
display: inline-block;
border: 1px solid var(--profilelink);
border-radius: 10px;
margin-bottom: 5px;
}
.phrases-grid {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 10px;
max-height: 120px;
overflow-y: auto;
padding: 5px;
}
.phrases-grid::-webkit-scrollbar {
width: 3px;
}
.phrase-item {
background: var(--main-bg);
color: var(--textcolor);
border: 1px solid var(--profilelink);
padding: 4px 8px;
border-radius: 5px;
font-size: 10px;
cursor: pointer;
transition: all 0.2s ease;
}
.phrase-item:hover {
background: var(--profilelink);
color: var(--profilebg);
}
.color-controls {
display: flex;
gap: 10px;
align-items: center;
flex-wrap: wrap;
margin-top: 10px;
}
.color-controls label {
font-size: 11px;
color: var(--textcolor);
}
.color-picker {
width: 15px;
height: 15px;
padding: 0;
border: none;
border-radius: 50%;
cursor: pointer;
background: var(--dark-accent);
overflow: hidden;
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.color-picker::-webkit-color-swatch-wrapper {
padding: 0;
}
.color-picker::-webkit-color-swatch {
border: none;
border-radius: 50%;
}
.color-picker::-moz-color-swatch {
border: none;
border-radius: 50%;
}
.color-picker:focus {
outline: none;
}
.grayscale-controls {
display: flex;
gap: 10px;
margin-top: 10px;
flex-wrap: wrap;
text-transform: lowercase;
}
.grayscale-btn {
background: var(--post-bg);
border: 1px solid var(--profilelink);
padding: 5px 10px;
border-radius: 10px;
font-size: 11px;
cursor: pointer;
color: var(--footer);
}
.grayscale-btn:hover {
background: var(--profilelink);
color: var(--post-bg);
}
.reset-btn {
background: var(--post-bg);
border: 1px solid var(--profilebg);
margin-top: 10px;
width: 100%;
padding: 10px;
cursor: pointer;
text-transform: lowercase;
border-radius: 10px;
}
.hint {
font-size: 10px;
opacity: 0.7;
margin-top: 5px;
}
/* Блок с итоговой стоимостью и генерацией */
.result-block {
margin-top: 20px;
padding: 15px;
border-radius: 5px;
border: 1px solid var(--profilelink);
}
.total-cost-block {
padding: 12px;
background: var(--post-bg);
border-radius: 5px;
text-align: center;
margin-bottom: 15px;
}
.total-cost-block span {
font-size: 18px;
font-weight: bold;
color: var(--profilebg);
}
.total-cost-label {
font-size: 12px;
color: var(--profilebg);
opacity: 0.9;
}
/* Исправление для левой колонки */
.left-column-shop {
flex: 0 0 320px; /* фиксированная ширина */
min-width: 250px;
max-width: 400px;
}
/* Исправление для блока результата */
.result-block {
margin-top: 20px;
padding: 15px;
border-radius: 5px;
border: 1px solid var(--profilelink);
width: 100%;
box-sizing: border-box;
}
/* Исправление для контейнера с кодом */
.code-container {
background: var(--main-bg);
padding: 12px;
border-radius: 5px;
font-family: monospace;
font-size: 11px;
word-break: break-all;
margin-bottom: 10px;
max-height: 200px;
overflow: auto;
max-width: 100%;
box-sizing: border-box;
}
/* Исправление для генератора и других блоков в левой колонке */
.total-cost-block,
.balance-block,
.code-container,
.generate-btn {
max-width: 100%;
box-sizing: border-box;
}
.generate-btn {
background: var(--footer);
border: none;
padding: 12px;
border-radius: 5px;
font-weight: bold;
cursor: pointer;
width: 100%;
font-size: 14px;
transition: 0.3s;
text-transform: lowercase;
color: var(--post-bg);
}
.generate-btn.copied {
background: var(--post-bg);
color: var(--textcolor);
}
/* Стили для профиля-образца */
.demo-profile {
margin-bottom: 20px;
display: flex;
justify-content: center;
}
.demo-profile .post-author {
pointer-events: none;
margin-bottom: 0;
width: 220px;
}
.post-author .plashka {
position: relative;
width: 200px;
height: 28px;
margin-left: 0px;
}
.post-author .plashka img {
width: 100%;
height: 100%;
object-fit: cover;
}
.post-author .plashka a {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 0 10px;
word-break: break-word;
color: var(--dark-accent);
font-family: var(--main-font);
font-size: 9px;
font-weight: bold;
text-transform: none;
letter-spacing: 0.1em;
}
.pa-fld5 {
content: '';
position: absolute;
width: 34px;
height: 34px;
left: 50%;
transform: translateX(-50%);
bottom: -16px;
z-index: 3;
}
.pa-fld5 img {
width: 34px;
height: 34px;
object-fit: contain;
}
.pa-posts, .pa-respect, .pa-fld3, .pa-fld6 {
display: inline-flex;
flex-direction: column;
align-items: center;
color: var(--profilelink);
font-size: 8px;
margin: 8px 13px;
width: 10px;
height: 10px;
}
.pa-posts span:last-child,
.pa-respect span:last-child,
.pa-fld3 span:last-child,
.pa-fld6 span:last-child {
color: var(--profilelink);
width: 10px;
height: 10px;
display: flex;
justify-content: center;
}
.post-author .pa-respect a:before {
content: "";
width: 15px;
height: 15px;
background-image: var(--likes);
background-repeat: no-repeat;
background-size: contain;
vertical-align: middle;
display: block;
margin-top: -10px;
}
.pa-respect .fld-name {font-size: 0px}
.pa-posts .fld-name {
content: var(--messages);
width: 100%;
height: auto;
}
.pa-fld3 .fld-name {
content: var(--money);
width: 10px;
height: 10px;
}
.pa-fld6 .fld-name {
content: var(--posts);
width: 10px;
height: 10px;
}
.demo-profile .lz-about {
color: var(--profiletext);
font-size: 10px;
text-align: center;
}
/* общий блок - исправленный */
.general {
display: flex;
flex-direction: column;
color: var(--footer);
max-width: 300px;
}
.general img {
width: 150px;
height: 150px;
object-fit: cover;
border-radius: 5px;
border: 1px solid var(--footer);
margin: 0 auto;
}
.general h2 {
font-weight: normal;
text-align: center;
color: var(--dark-accent);
font-family: var(--extra-font);
font-size: 25px;
margin: 0;
}
.fraction {
background: var(--body-bg);
color: var(--profilebg);
border-radius: 5px;
padding: 5px 8px;
text-align: center;
font-size: 12px;
width: 100%;
box-sizing: border-box;
}
.occupation {
font-size: 12px;
text-align: center;
padding: 0 5px;
line-height: 1.4;
}
.plashka-item {
position: relative;
display: inline-block;
max-width: 200px;
width: 100%;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
overflow: hidden;
}
.plashka-item img {
width: 100%;
height: 22px;
display: block;
object-fit: cover;}
.plashka-item img {
display: block;
max-width: 200px!important;
height: 22px!important;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.fon-text {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 10px;
z-index: 2;
color: var(--profileplashka, #ffffff);
font-size: 8px;
letter-spacing: 0.1em;
pointer-events: none;
background: rgba(0, 0, 0, 0.3);
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.icons-gallery img {
width: 34px !important;
height: 34px !important;
object-fit: cover;
border-radius: 5px;
}
.modal-content {
height: auto !important;
min-height: auto !important;
display: flex;
align-items: flex-start;
gap: 20px;
}
.spell {background: var(--spell-img) no-repeat;
background-size: contain;
width: 118px;
height: 86px;
position: absolute;
left: 629px;
top: 281px;}
.bg-filters {
margin-top: 20px;
padding: 10px;
background: var(--profilebg);
border-radius: 5px;
}
.bg-filters h3 {
margin-top: 0 !important;
}
.overlay-controls {
margin-top: 15px;
padding-top: 10px;
border-top: 1px solid var(--profilelink);
}
.balance-block {
background: var(--profilebg);
border-radius: 8px;
padding: 12px;
margin-top: 15px;
}
.balance-block label {
display: block;
font-size: 11px;
color: var(--profiletext);
margin-bottom: 5px;
}
.balance-input {
width: 100%;
padding: 8px;
background: var(--main-bg);
border: 1px solid var(--profilelink);
border-radius: 5px;
color: var(--profiletext);
font-size: 14px;
font-weight: bold;
box-sizing: border-box;
}
.remaining-block {
margin-top: 10px;
padding-top: 8px;
border-top: 1px solid var(--profilelink);
text-align: center;
}
.remaining-label {
font-size: 11px;
color: var(--profiletext);
}
.remaining-value {
font-size: 18px;
font-weight: bold;
color: var(--profilebg);
background: var(--profilelink);
padding: 2px 8px;
border-radius: 5px;
margin: 0 5px;
}
.remaining-currency {
font-size: 10px;
color: var(--profiletext);
}
Поделиться182026-08-17 08:30:40
[hideprofile][html] <style>
.guestbook-main {
max-width: 850px;
width: 100%;
background: #f6f2ed;
border-radius: 42px 42px 32px 32px;
padding: 28px 30px 35px;
overflow: visible;
}
/* ----- 1 строка: guest-links ----- */
.guest-links {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 0px 18px;
backdrop-filter: blur(2px);
margin-bottom: 20px;
}
.guest-links a {
color: #352f2a;
font-weight: 500;
font-size: 0.9rem;
letter-spacing: 0.02em;
text-decoration: none;
padding: 4px 0;
transition: 0.2s;
white-space: nowrap;
}
.guest-links a:hover {
color: #1f130b;
transform: translateY(-1px);
}
/* ----- 2 строка: две колонки (flex) ----- */
.guestbook-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.guestbook-col-left {
flex: 2;
min-width: 200px;
}
.guestbook-col-right {
flex: 2;
min-width: 200px;
}
/* ------ вкладки-закладки (слева от контента) с JS ------ */
.tabs-container {
border-radius: 28px;
padding: 6px;
display: flex;
gap: 0;
position: relative;
}
.tabs-header {
display: flex;
flex-direction: column;
gap: 4px;
padding: 4px 0;
border-radius: 22px;
flex-shrink: 0;
min-width: 80px;
width: 90px;
position: relative;
z-index: 2;
}
.tab-btn {
background: transparent;
border: none;
padding: 8px 10px 8px 16px;
font-weight: 600;
font-size: 0.75rem;
color: #3f3530;
border-radius: 18px 0 0 18px;
cursor: pointer;
transition: 0.2s;
letter-spacing: 0.02em;
text-transform: uppercase;
font-family: inherit;
text-align: left;
user-select: none;
width: 100%;
white-space: nowrap;
margin-left: -48px;
margin-top: 10px;
padding-right: 18px;
z-index: 10;
position: relative;
}
.tab-btn.active {
background: #fcf8f4;
color: #2d1f17;
font-weight: 700;
box-shadow: -4px 0 12px rgba(0, 0, 0, 0.06);
}
.tab-btn:hover:not(.active) {
background: #d6c9bd;
color: #1e130d;
}
.tab-content {
padding: 12px 16px 8px 20px;
background: #fcf8f4;
border-radius: 20px;
flex: 1;
min-height: 180px;
position: relative;
z-index: 1;
margin-left: -50px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
.tab-pane {
display: none;
white-space: pre-line;
font-size: 0.92rem;
color: #251e19;
padding: 4px 2px;
font-weight: 400;
}
.tab-pane.active {
display: block;
}
.tab-pane strong {
color: #4f3425;
font-weight: 600;
}
.tab-pane .section-title {
display: block;
font-weight: 700;
color: #4c2a5e;
margin-top: 10px;
font-size: 0.95rem;
}
.tab-pane .section-title:first-of-type {
margin-top: 0;
}
.tab-pane a {
color: #4c2a5e;
text-decoration: none;
}
.tab-pane a:hover {
text-decoration: underline;
}
/* ----- правая колонка: администраторы (АМС) ----- */
.ams-grid {
padding: 18px 12px 14px;
}
.ams-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px 28px;
}
.ams-item {
display: flex;
flex-direction: column;
align-items: center;
width: 100px;
}
.ams-avatar-wrap {
position: relative;
display: inline-block;
width: 120px;
height: 120px;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: 0.2s;
cursor: default;
border: 2px solid #dacfc4;
}
.ams-avatar-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: 0.2s;
}
.ams-avatar-wrap .tooltip-text {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
background: rgba(26, 20, 18, 0.82);
backdrop-filter: blur(3px);
color: #f5ede6;
padding: 8px 4px;
text-align: center;
line-height: 1.3;
opacity: 0;
transition: 0.25s;
pointer-events: none;
font-weight: 400;
letter-spacing: 0.02em;
transform: translateY(6px);
height: 100%;
overflow: hidden;
}
.ams-avatar-wrap:hover img {
filter: brightness(0.5) saturate(0.7);
transform: scale(1.02);
}
.ams-avatar-wrap:hover .tooltip-text {
opacity: 1;
transform: translateY(0);
}
.ams-name {
margin-top: 8px;
font-size: 0.75rem;
font-weight: 500;
color: #3b2e27;
background: #ece3db;
padding: 3px 10px;
border-radius: 40px;
letter-spacing: 0.02em;
border: 1px solid #d1c1b4;
white-space: nowrap;
}
/* ----- guestbook-down ----- */
.guestbook-down {
padding: 18px 26px;
font-size: 0.9rem;
color: #241d18;
margin-top: 8px;
}
/* адаптив */
@media (max-width: 700px) {
.guestbook-main {
padding: 18px 14px;
}
.guest-links {
gap: 8px 12px;
padding: 10px 14px;
}
.guest-links a {
font-size: 0.78rem;
}
.guestbook-col-right {
flex: 1 1 100%;
}
.ams-row {
gap: 12px 16px;
}
.ams-item {
width: 70px;
}
.ams-avatar-wrap {
width: 64px;
height: 64px;
}
.tabs-container {
flex-direction: column;
}
.tabs-header {
flex-direction: row;
min-width: unset;
flex-wrap: wrap;
justify-content: center;
width: 100%;
}
.tab-btn {
text-align: center;
white-space: nowrap;
padding: 8px 12px;
font-size: 0.7rem;
width: auto;
border-radius: 18px;
margin-right: 0;
}
.tab-content {
margin-left: 0;
padding: 12px 14px;
}
}
</style>
<div class="guestbook-main">
<!-- 1 строка: guest-links -->
<div class="guest-links">
<a href="#">правила</a>
<a href="#">зарегистрированные персонажи</a>
<a href="#">сюжет</a>
<a href="#">трудоустройство</a>
<a href="#">о чистокровных семьях</a>
<a href="#">хочу к вам</a>
<a href="#">бонусы новичкам</a>
</div>
<!-- 2 строка: две колонки -->
<div class="guestbook-row">
<!-- левая колонка: вкладки -->
<div class="guestbook-col-left">
<div class="tabs-container">
<div class="tabs-header">
<button class="tab-btn active" onclick="showRoleTab(0)">Придержанные</button>
<button class="tab-btn" onclick="showRoleTab(1)">Выкупленные</button>
</div>
<div class="tab-content">
<!-- Панель 0: Придержанные -->
<div class="tab-pane active">
<span class="section-title">Придержанные роли:</span>
<span class="row-item">longbottom alice ✶ <a href="https://safespace.rusff.me/profile.php?id=277">Alice Longbottom</a> до 11.08</span>
<span class="section-title">Придержанные внешности:</span>
<span class="row-item">debicki elizabeth ✶ <a href="https://safespace.rusff.me/profile.php?id=277">Alice Longbottom</a> до 11.08</span>
</div>
<!-- Панель 1: Выкупленные роли -->
<div class="tab-pane">
<span class="section-title"> Выкупленные роли:</span>
<span class="row-item">семья <b>Флинт</b> ✶ за АМС, персонажи в семью, включая заявки в нужных, требуют обсуждения с <a href="https://safespace.rusff.me/profile.php?id=75">Alexandrite Avery</a></span>
<span class="row-item">Bathsheda Babbling ✶ за AMC</span>
<span class="row-item">Glenda Chittock ✶ за AMC</span>
<span class="row-item">Lyall Lupin ✶ <a href="https://safespace.rusff.me/profile.php?id=103">Fenrir Greyback</a></span>
<span class="row-item">Rosalie Wilde ✶ <a href="https://safespace.rusff.me/profile.php?id=122">Benjy Fenwick</a></span>
<span class="row-item">Rolanda Hooch ✶ за АМС</span>
<span class="section-title">Выкупленные имена:</span>
<span class="row-item">Michelle ✶ <a href="https://safespace.rusff.me/profile.php?id=4">Evan Rosier</a></span>
<span class="row-item">Rosalie ✶ <a href="https://safespace.rusff.me/profile.php?id=122">Benjy Fenwick</a></span>
<span class="section-title">Выкупленные внешности:</span>
<span class="row-item">Cara Delevingne ✶ АМС</span>
<span class="row-item">Meryl Streep</span>
<span class="row-item">Keanu Reeves ✶ АМС</span>
<span class="row-item">Rachel McAdams ✶ AMC</span>
<span class="row-item">Thomas Hayes ✶ АМС</span>
<span class="row-item">Lily James ✶ АМС</span>
<span class="row-item">Ville Valo ✶ АМС</span>
<span class="row-item">Ярослав Баярунас ✶ АМС</span>
<span class="row-item">Michelle Pfeiffer ✶ АМС</span>
<span class="row-item">Tom Hughes ✶ АМС</span>
<span class="row-item">Jack Lowden ✶ <a href="https://safespace.rusff.me/profile.php?id=103">Fenrir Greyback</a></span>
<span class="row-item">Freddy Carter ✶ <a href="https://safespace.rusff.me/profile.php?id=146">Dahlia Shafiq</a> (маска)</span>
<span class="row-item">Daisy Ridley ✶ <a href="https://safespace.rusff.me/profile.php?id=122">Benjy Fenwick</a></span>
<span class="row-item">Karen Gillan ✶ Lucilla Rookwood</span>
</div>
</div>
</div>
</div>
<!-- правая колонка: АМС -->
<div class="guestbook-col-right">
<div class="ams-grid">
<div class="ams-row">
<div class="ams-item">
<div class="ams-avatar-wrap">
<img src="https://upforme.ru/uploads/001c/7d/92/7/t273195.gif" alt="avatar">
<span class="tooltip-text">куратор сопротивления и наших сердечек, сюжетник</span>
</div>
<span class="ams-name">Alexandrite</span>
</div>
<div class="ams-item">
<div class="ams-avatar-wrap">
<img src="https://upforme.ru/uploads/001c/7d/92/2/t213667.gif" alt="avatar">
<span class="tooltip-text">куратор сопротивления и наших сердечек, сюжетник</span>
</div>
<span class="ams-name">Avery</span>
</div>
<div class="ams-item">
<div class="ams-avatar-wrap">
<img src="https://upforme.ru/uploads/001c/7d/92/7/t470695.gif" alt="avatar">
<span class="tooltip-text">куратор сопротивления и наших сердечек, сюжетник</span>
</div>
<span class="ams-name">Bathsheda</span>
</div>
<div class="ams-item">
<div class="ams-avatar-wrap">
<img src="https://forumstatic.ru/files/001c/7d/92/32302.gif" alt="avatar">
<span class="tooltip-text">куратор сопротивления и наших сердечек, сюжетник</span>
</div>
<span class="ams-name">Glenda</span>
</div>
<div class="ams-item">
<div class="ams-avatar-wrap">
<img src="https://upforme.ru/uploads/001c/7d/92/5/t781983.jpg" alt="avatar">
<span class="tooltip-text">куратор сопротивления и наших сердечек, сюжетник</span>
</div>
<span class="ams-name">Lyall</span>
</div>
<div class="ams-item">
<div class="ams-avatar-wrap">
<img src="https://forumavatars.ru/img/avatars/001c/7d/92/9-1753080597.jpg" alt="avatar">
<span class="tooltip-text">куратор сопротивления и наших сердечек, сюжетник</span>
</div>
<span class="ams-name">Fenrir</span>
</div>
</div>
</div>
</div>
</div>
<!-- 3. guestbook-down -->
<div class="guestbook-down">
• Внешности и роли придерживаются за зарегистрированными на 3 суток, вы можете дважды продлить бронь. За гостями все придерживается на сутки.<br>
• Не больше 2х внешностей/ролей в одни руки.<br>
• Хэдканоны и чистокровные до подачи анкеты обсуждаются с АМС (мы просто экстраверты все и любим поговорить)
</div>
</div>
<script>
function showRoleTab(index) {
const tabs = document.querySelectorAll('.tab-pane');
const buttons = document.querySelectorAll('.tab-btn');
tabs.forEach((tab, i) => {
tab.classList.toggle('active', i === index);
buttons[i].classList.toggle('active', i === index);
});
}
</script>[/html]
Поделиться192026-08-24 19:56:02
/****************************************
Примерочная by DeepSeek and Storyteller
****************************************/
.dressing-room {
background: var(--news-bg);
border-radius: 10px;
padding: 20px;
margin: 20px 0;
color: var(--textcolor);
}
/* ДВЕ КОЛОНКИ */
.two-columns {
display: flex;
gap: 30px;
flex-wrap: wrap;
}
.right-column {
flex: 1;
min-width: 400px;
}
.dressing-room h3 {
color: var(--textcolor);
margin: 20px 0 10px 0;
font-size: 14px;
text-transform: lowercase;
padding: 5px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
background: var(--post-bg);
border-radius: 5px;
}
.collection-title {
font-size: 12px;
color: var(--textcolor);
padding-left: 10px;
margin-bottom: 10px;
border-left: 3px solid var(--textcolor);
text-transform: lowercase;
}
.collection-badge {
font-size: 10px;
background: var(--post-bg);
color: var(--profilebg);
padding: 2px 6px;
border-radius: 10px;
margin-left: 8px;
vertical-align: middle;
}
.category-controls {
display: flex;
gap: 15px;
align-items: center;
flex-wrap: wrap;
}
.clear-category-btn {
background: var(--profilebg);
color: var(--profiletext);
border: 1px solid var(--profilelink);
padding: 3px 8px;
border-radius: 5px;
font-size: 10px;
cursor: pointer;
text-transform: lowercase;
}
.clear-category-btn:hover {
background: var(--profilelink);
color: var(--profiletext);
}
.gift-checkbox {
display: flex;
align-items: center;
gap: 5px;
font-size: 11px;
cursor: pointer;
}
.gift-checkbox input {
cursor: pointer;
width: 14px;
height: 14px;
}
/* Блоки с картинками */
.shop-container {
border: 1px solid var(--post-bg);
border-radius: 8px;
overflow: hidden;
margin-bottom: 10px;
}
.shop-content {
max-height: 100px;
overflow-y: auto;
padding: 10px;
}
.shop-content::-webkit-scrollbar {
width: 5px;
}
.shop-content::-webkit-scrollbar-track {
background: var(--profilebg);
border-radius: 5px;
}
.shop-content::-webkit-scrollbar-thumb {
background: var(--profilelink);
border-radius: 5px;
}
.shop-content-plashka {
max-height: 70px;
}
.shop-grid {
display: flex;
flex-wrap: wrap;
gap: 14px;
margin-bottom: 20px;
}
.shop-grid:last-child {
margin-bottom: 0;
}
.shop-item {
position: relative;
cursor: pointer;
border-radius: 5px;
border: 2px solid transparent;
transition: all 0.2s ease;
text-align: center;
}
.shop-item:hover {
transform: scale(1.05);
border-color: var(--profilelink);
}
.shop-item-img {
width: 60px;
height: 60px;
object-fit: cover;
border-radius: 5px;
display: block;
}
.shop-item-plashka {
width: 100px;
height: 26px;
object-fit: cover;
border-radius: 3px;
display: block;
}
.shop-item-emoji {
width: 30px;
height: 30px;
object-fit: contain;
border-radius: 5px;
display: block;
}
.shop-price {
font-size: 9px;
color: var(--profilelink);
background: var(--post-bg);
padding: 2px 4px;
border-radius: 3px;
margin-top: 4px;
display: inline-block;
}
.preview-label {
text-align: center;
margin-bottom: 20px;
font-size: 12px;
}
.url-row {
margin-bottom: 20px;
padding: 10px;
background: var(--post-bg);
border-radius: 5px;
}
.url-row label {
display: block;
margin-bottom: 5px;
color: var(--textcolor);
font-size: 11px;
text-transform: lowercase;
}
.url-input-group input {
width: 100%;
background: var(--main-bg);
color: var(--profiletext);
border: 1px solid var(--profilelink)!important;
padding: 8px 12px;
border-radius: 5px;
font-size: 12px;
box-sizing: border-box;
}
.url-price {
font-size: 10px;
color: var(--profiletext);
margin-top: 5px;
}
.text-controls {
margin-bottom: 20px;
padding: 10px;
border-radius: 5px;
border: 1px solid var(--post-bg);
}
.text-controls label {
display: block;
margin-bottom: 5px;
color: var(--textcolor);
font-size: 11px;
text-transform: lowercase;
}
.text-input-group input {
width: 100%;
background: var(--main-bg);
color: var(--textcolor);
border: 1px solid var(--profilelink)!important;
padding: 8px 12px;
border-radius: 5px;
font-size: 12px;
box-sizing: border-box;
}
/* Спойлер для фраз */
.phrases-spoiler {
margin-top: 15px;
}
.phrases-spoiler summary {
cursor: pointer;
color: var(--profilelink);
font-size: 11px;
padding: 5px;
display: inline-block;
border: 1px solid var(--profilelink);
border-radius: 10px;
margin-bottom: 5px;
}
.phrases-grid {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 10px;
max-height: 120px;
overflow-y: auto;
padding: 5px;
}
.phrases-grid::-webkit-scrollbar {
width: 3px;
}
.phrase-item {
background: var(--main-bg);
color: var(--textcolor);
border: 1px solid var(--profilelink);
padding: 4px 8px;
border-radius: 5px;
font-size: 10px;
cursor: pointer;
transition: all 0.2s ease;
}
.phrase-item:hover {
background: var(--profilelink);
color: var(--profilebg);
}
.color-controls {
display: flex;
gap: 10px;
align-items: center;
flex-wrap: wrap;
margin-top: 10px;
}
.color-controls label {
font-size: 11px;
color: var(--textcolor);
}
.color-picker {
width: 15px;
height: 15px;
padding: 0;
border: none;
border-radius: 50%;
cursor: pointer;
background: var(--dark-accent);
overflow: hidden;
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.color-picker::-webkit-color-swatch-wrapper {
padding: 0;
}
.color-picker::-webkit-color-swatch {
border: none;
border-radius: 50%;
}
.color-picker::-moz-color-swatch {
border: none;
border-radius: 50%;
}
.color-picker:focus {
outline: none;
}
.grayscale-controls {
display: flex;
gap: 10px;
margin-top: 10px;
flex-wrap: wrap;
text-transform: lowercase;
}
.grayscale-btn {
background: var(--post-bg);
border: 1px solid var(--profilelink);
padding: 5px 10px;
border-radius: 10px;
font-size: 11px;
cursor: pointer;
color: var(--footer);
}
.grayscale-btn:hover {
background: var(--profilelink);
color: var(--post-bg);
}
.reset-btn {
background: var(--post-bg);
border: 1px solid var(--profilebg);
margin-top: 10px;
width: 100%;
padding: 10px;
cursor: pointer;
text-transform: lowercase;
border-radius: 10px;
}
.hint {
font-size: 10px;
opacity: 0.7;
margin-top: 5px;
}
/* Блок с итоговой стоимостью и генерацией */
.result-block {
margin-top: 20px;
padding: 15px;
border-radius: 5px;
border: 1px solid var(--profilelink);
}
.total-cost-block {
padding: 12px;
background: var(--post-bg);
border-radius: 5px;
text-align: center;
margin-bottom: 15px;
}
.total-cost-block span {
font-size: 18px;
font-weight: bold;
color: var(--profilebg);
}
.total-cost-label {
font-size: 12px;
color: var(--profilebg);
opacity: 0.9;
}
/* Исправление для левой колонки */
.left-column-shop {
flex: 0 0 320px; /* фиксированная ширина */
min-width: 250px;
max-width: 400px;
}
/* Исправление для блока результата */
.result-block {
margin-top: 20px;
padding: 15px;
border-radius: 5px;
border: 1px solid var(--profilelink);
width: 100%;
box-sizing: border-box;
}
/* Исправление для контейнера с кодом */
.code-container {
background: var(--main-bg);
padding: 12px;
border-radius: 5px;
font-family: monospace;
font-size: 11px;
word-break: break-all;
margin-bottom: 10px;
max-height: 200px;
overflow: auto;
max-width: 100%;
box-sizing: border-box;
}
/* Исправление для генератора и других блоков в левой колонке */
.total-cost-block,
.balance-block,
.code-container,
.generate-btn {
max-width: 100%;
box-sizing: border-box;
}
.generate-btn {
background: var(--footer);
border: none;
padding: 12px;
border-radius: 5px;
font-weight: bold;
cursor: pointer;
width: 100%;
font-size: 14px;
transition: 0.3s;
text-transform: lowercase;
color: var(--post-bg);
}
.generate-btn.copied {
background: var(--post-bg);
color: var(--textcolor);
}
/* общий блок - исправленный */
.general {
display: flex;
flex-direction: column;
color: var(--footer);
max-width: 300px;
}
.general img {
width: 150px;
height: 150px;
object-fit: cover;
border-radius: 5px;
border: 1px solid var(--footer);
margin: 0 auto;
}
.general h2 {
font-weight: normal;
text-align: center;
color: var(--dark-accent);
font-family: var(--extra-font);
font-size: 25px;
margin: 0;
}
.fraction {
background: var(--body-bg);
color: var(--profilebg);
border-radius: 5px;
padding: 5px 8px;
text-align: center;
font-size: 12px;
width: 100%;
box-sizing: border-box;
}
.occupation {
font-size: 12px;
text-align: center;
padding: 0 5px;
line-height: 1.4;
}
.plashka-item {
position: relative;
display: inline-block;
max-width: 200px;
width: 100%;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
overflow: hidden;
}
.plashka-item img {
width: 100%;
height: 22px;
display: block;
object-fit: cover;}
.plashka-item img {
display: block;
max-width: 200px!important;
height: 22px!important;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.fon-text {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 10px;
z-index: 2;
color: var(--profileplashka, #ffffff);
font-size: 8px;
letter-spacing: 0.1em;
pointer-events: none;
background: rgba(0, 0, 0, 0.3);
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.icons-gallery img {
width: 34px !important;
height: 34px !important;
object-fit: cover;
border-radius: 5px;
}
.modal-content {
height: auto !important;
min-height: auto !important;
display: flex;
align-items: flex-start;
gap: 20px;
}
.spell {background: var(--spell-img) no-repeat;
background-size: contain;
width: 118px;
height: 86px;
position: absolute;
left: 629px;
top: 281px;}
.bg-filters {
margin-top: 20px;
padding: 10px;
background: var(--profilebg);
border-radius: 5px;
}
.bg-filters h3 {
margin-top: 0 !important;
}
.overlay-controls {
margin-top: 15px;
padding-top: 10px;
border-top: 1px solid var(--profilelink);
}
.balance-block {
background: var(--profilebg);
border-radius: 8px;
padding: 12px;
margin-top: 15px;
}
.balance-block label {
display: block;
font-size: 11px;
color: var(--profiletext);
margin-bottom: 5px;
}
.balance-input {
width: 100%;
padding: 8px;
background: var(--main-bg);
border: 1px solid var(--profilelink);
border-radius: 5px;
color: var(--profiletext);
font-size: 14px;
font-weight: bold;
box-sizing: border-box;
}
.remaining-block {
margin-top: 10px;
padding-top: 8px;
border-top: 1px solid var(--profilelink);
text-align: center;
}
.remaining-label {
font-size: 11px;
color: var(--profiletext);
}
.remaining-value {
font-size: 18px;
font-weight: bold;
color: var(--profilebg);
background: var(--profilelink);
padding: 2px 8px;
border-radius: 5px;
margin: 0 5px;
}
.remaining-currency {
font-size: 10px;
color: var(--profiletext);
}
/* Демо-профиль */
.demo-profile {
width: 220px;
margin: 0 auto;
}
.demo-profile .post-author {
width: 220px;
height: fit-content;
padding-bottom: 20px;
text-align: center;
box-sizing: border-box;
background-size: contain;
margin-bottom: 20px;
position: relative;
border-radius: 5px;
filter: drop-shadow(0px 4px 4px rgba(63, 61, 62, 0.2));
}
.demo-profile .pa-fld1 {
width: 100%;
height: 103%;
text-align: center;
box-sizing: border-box;
position: relative;
filter: drop-shadow(0px 4px 4px rgba(63, 61, 62, 0.2));
z-index: -1;
inset: 0;
border-radius: 25px;
}
.demo-profile .pa-fld1 img {
width: 100%;
height: 100%;
object-fit: cover;
}
.demo-profile ul {
background-color: var(--body-bg);
border-radius: 20px;
width: 220px;
height: fit-content;
margin-top: -400px!important;
min-height: 150px;
}
.demo-profile .pa-avatar {
text-align: center;
}
.demo-profile .pa-avatar img {
width: 180px;
height: 180px;
object-fit: contain;
}
.demo-profile .pa-author {
font-family: var(--extra-font);
font-size: 18px;
text-align: center;
color: var(--podforum);
margin: 5px 0 0;
}
.demo-profile .pa-author a {
color: var(--podforum);
font-weight: normal;
text-transform: lowercase;
}
.demo-profile .pa-title {
font-size: 8px;
text-transform: lowercase;
text-align: center;
color: var(--link-hover);
letter-spacing: 0.1em;
}
.demo-profile .pa-fld2 {
font-size: 9px;
text-align: center;
color: var(--profiletext);
padding: 0 10px;
}
.demo-profile .lz-name {
text-align: center;
font-size: 12px;
font-weight: 700;
color: var(--dark-accent);
margin-top: 4px;
}
.demo-profile .lz-name a {
color: var(--dark-accent);
}
.demo-profile .lz-caste {
background: var(--dark-accent);
height: 20px;
width: 14px;
text-align: center;
margin: 0 auto;
font-size: 8px;
letter-spacing: 0.1em;
color: var(--textcolor);
font-weight: bold;
margin-top: 4px;
margin-bottom: 0px;
position: absolute;
top: 100px;
left: 1px;
padding-left: 3px;
display: flex;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
align-items: center;
}
.demo-profile .pa-fld5 {
text-align: center;
margin: 5px 0;
}
.demo-profile .pa-fld5 img {
width: 34px;
height: 34px;
object-fit: cover;
border-radius: 5px;
}
.demo-profile .pa-posts,
.demo-profile .pa-respect,
.demo-profile .pa-fld6,
.demo-profile .pa-fld3 {
display: inline-block;
width: 30px;
margin: 6px 0px !important;
padding: 2px 13px 0px 7px !important;
font-size: 7px;
color: var(--profiletext);
letter-spacing: 0.05em;
}
.demo-profile .pa-posts .fld-name::before {
content: '\f0e0';
font-family: 'Font Awesome 6 Pro';
font-size: 12px;
display: block;
}
.demo-profile .pa-respect .fld-name::before {
content: '\f004';
font-family: 'Font Awesome 6 Pro';
font-size: 12px;
display: block;
}
.demo-profile .pa-fld6 .fld-name::before {
content: '\f56b';
font-family: 'Font Awesome 6 Pro';
font-size: 12px;
display: block;
}
.demo-profile .pa-fld3 .fld-name::before {
content: '\f51e';
font-family: 'Font Awesome 6 Pro';
font-size: 12px;
display: block;
}
.demo-profile .pa-posts .fld-name a,
.demo-profile .pa-respect .fld-name a,
.demo-profile .pa-fld6 .fld-name a,
.demo-profile .pa-fld3 .fld-name a {
color: var(--profiletext);
text-decoration: none;
font-size: 0;
}
.demo-profile .plashka {
position: relative;
width: 100%;
height: 28px;
border-radius: 0 0 25px 25px;
overflow: hidden;
background: var(--sec-bg);
}
.demo-profile .plashka img {
width: 100%;
height: 100%;
object-fit: cover;
}
.demo-profile .plashka a {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 0 10px;
word-break: break-word;
color: var(--textcolor)!important;
}
Поделиться202026-08-25 14:51:39
амс в гостевой
.guest-ams {
display: grid;
grid-template-columns: repeat(3, 65px);
gap: 5px;
justify-content: center;
margin: 0 auto;
}
.guest-ams .tooltip:nth-child(4) {
grid-column: 2 / 3;
}
.guest-ams img {
width: 65px;
height: 30px;
background: var(--light-accent);
object-fit: cover;
object-position: top center;
border-radius: 5px;
position: relative;
}
.ams-2 {display: flex;
align-items: center;
justify-content: center;
margin-left: 100px;
gap: 5px;}
.image-container {
position: relative;
width: 65px;
height: 30px;
border-radius: 5px;
overflow: hidden;
}
.image-container img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top center;
background: var(--light-accent);
border-radius: inherit;
}
.overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--topic-overlay);
border-radius: inherit;
pointer-events: none;
}Поделиться212026-09-07 20:58:21
напиши код имитирующий переписку в смс-ках. используй для стилизации телефон, который был популярен в британии в 2007м. например, nokia 6300
[html]<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nokia 6300 — SMS 2007</title>
<style>
/* Глобальный сброс и фон */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: #2b2b2b;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
font-family: 'Courier New', Courier, monospace;
}
/* Корпус телефона — серебристый, как у Nokia 6300 */
.phone {
background: linear-gradient(145deg, #d0d0d0, #b0b0b0);
padding: 20px 12px 30px;
border-radius: 40px 40px 50px 50px;
box-shadow:
0 20px 40px rgba(0,0,0,0.6),
inset 0 2px 4px rgba(255,255,255,0.6),
inset 0 -4px 8px rgba(0,0,0,0.3);
border: 2px solid #a0a0a0;
width: 320px;
position: relative;
}
/* Динамик (сетка) */
.speaker {
width: 60px;
height: 8px;
background: #3a3a3a;
margin: 0 auto 12px;
border-radius: 20px;
display: flex;
justify-content: center;
align-items: center;
gap: 6px;
box-shadow: inset 0 1px 3px #000;
}
.speaker span {
display: block;
width: 4px;
height: 4px;
background: #555;
border-radius: 50%;
}
/* Экран — тот самый зелёный монохром */
.screen {
background: #1e3b1e;
background-image: radial-gradient(circle at 20% 30%, #2a5a2a 1px, transparent 1px);
background-size: 8px 8px;
border: 6px solid #2a2a2a;
border-radius: 16px;
padding: 16px 12px 12px;
min-height: 420px;
display: flex;
flex-direction: column;
box-shadow: inset 0 0 30px rgba(0,0,0,0.8), 0 0 0 2px #6a6a6a;
position: relative;
}
/* Заголовок экрана — как "Сообщения" */
.screen-header {
display: flex;
justify-content: space-between;
color: #9bc99b;
font-size: 11px;
font-weight: bold;
letter-spacing: 1px;
text-transform: uppercase;
border-bottom: 1px dashed #3a6a3a;
padding-bottom: 6px;
margin-bottom: 10px;
text-shadow: 0 0 6px #6f9e6f;
}
.screen-header span:last-child {
font-weight: normal;
font-size: 10px;
}
/* Область сообщений — скролл */
.messages {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
max-height: 300px;
overflow-y: auto;
padding-right: 4px;
margin-bottom: 10px;
scroll-behavior: smooth;
}
/* Стилизация скролла под ретро */
.messages::-webkit-scrollbar {
width: 6px;
}
.messages::-webkit-scrollbar-track {
background: #0f2a0f;
border-radius: 8px;
}
.messages::-webkit-scrollbar-thumb {
background: #4f7a4f;
border-radius: 8px;
border: 1px solid #2a4a2a;
}
/* Базовый стиль сообщения */
.msg {
padding: 6px 10px;
border-radius: 12px;
font-size: 13px;
line-height: 1.5;
max-width: 85%;
word-wrap: break-word;
font-family: 'Courier New', Courier, monospace;
background: #112b11;
color: #b3e0b3;
border: 1px solid #2a5a2a;
box-shadow: inset 0 0 6px rgba(0,20,0,0.6);
text-shadow: 0 0 4px #6f9e6f;
position: relative;
animation: fadeIn 0.2s ease;
}
/* Исходящие (справа) */
.msg.out {
align-self: flex-end;
background: #1a3d1a;
border-color: #4a8a4a;
border-bottom-right-radius: 2px;
}
/* Входящие (слева) */
.msg.in {
align-self: flex-start;
background: #0f2a0f;
border-color: #2a5a2a;
border-bottom-left-radius: 2px;
}
/* Псевдо-подпись "от кого" для входящих */
.msg.in::before {
content: "▼ ";
font-size: 9px;
color: #6a9a6a;
}
/* Время (как в старых SMS) */
.msg .time {
display: block;
font-size: 9px;
color: #6a8a6a;
text-align: right;
margin-top: 4px;
border-top: 1px dotted #2a4a2a;
padding-top: 2px;
letter-spacing: 0.5px;
}
/* Анимация появления */
@keyframes fadeIn {
0% { opacity: 0.4; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
/* Блок ввода (как старая клавиатура) */
.input-area {
display: flex;
gap: 6px;
margin-top: 6px;
border-top: 1px solid #2a4a2a;
padding-top: 10px;
align-items: center;
}
#messageInput {
flex: 1;
background: #0f2a0f;
border: 2px solid #2a5a2a;
border-radius: 20px;
padding: 8px 14px;
color: #b3e0b3;
font-family: 'Courier New', Courier, monospace;
font-size: 13px;
outline: none;
box-shadow: inset 0 0 12px rgba(0,0,0,0.8);
text-shadow: 0 0 4px #6f9e6f;
}
#messageInput::placeholder {
color: #4a6a4a;
font-size: 11px;
text-shadow: none;
}
#messageInput:focus {
border-color: #6aaa6a;
background: #122e12;
}
/* Кнопки как у Nokia — софт-клавиши */
.btn-group {
display: flex;
gap: 6px;
}
.btn {
background: #3a3a3a;
border: 2px solid #555;
border-radius: 30px;
padding: 6px 12px;
color: #ddd;
font-family: 'Courier New', Courier, monospace;
font-weight: bold;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.5px;
cursor: pointer;
box-shadow: inset 0 -2px 0 #1a1a1a, 0 2px 4px rgba(0,0,0,0.4);
transition: 0.06s linear;
text-shadow: 0 1px 0 #000;
}
.btn:active {
transform: scale(0.94);
background: #2a2a2a;
box-shadow: inset 0 0 8px #000;
}
.btn-primary {
background: #4a6a4a;
border-color: #6a9a6a;
color: #d0f0d0;
}
.btn-primary:active {
background: #2a4a2a;
}
/* Физические кнопки телефона (симуляция) */
.hard-keys {
display: flex;
justify-content: space-between;
margin-top: 18px;
padding: 0 10px;
}
.hard-keys div {
background: #9a9a9a;
border-radius: 30px;
padding: 6px 20px;
font-size: 10px;
font-weight: bold;
color: #222;
letter-spacing: 2px;
box-shadow: inset 0 -3px 0 #6a6a6a, 0 3px 6px rgba(0,0,0,0.3);
cursor: default;
text-transform: uppercase;
}
.hard-keys .center {
background: #7a7a7a;
padding: 6px 28px;
border-radius: 30px;
box-shadow: inset 0 -3px 0 #4a4a4a, 0 3px 6px rgba(0,0,0,0.3);
}
/* Джойстик (имитация) */
.joystick {
width: 40px;
height: 40px;
background: radial-gradient(circle, #aaa, #777);
border-radius: 50%;
margin: 8px auto 0;
box-shadow: inset 0 -4px 0 #555, 0 4px 8px rgba(0,0,0,0.5);
border: 2px solid #888;
}
/* Адаптив */
@media (max-width: 380px) {
.phone { width: 100%; border-radius: 30px; padding: 16px 8px 20px; }
.screen { min-height: 360px; padding: 12px 8px; }
.msg { font-size: 12px; }
}
</style>
</head>
<body>
<div class="phone">
<!-- Динамик -->
<div class="speaker">
<span></span><span></span><span></span><span></span>
</div>
<!-- Экран -->
<div class="screen">
<div class="screen-header">
<span>📟 Сообщения</span>
<span>Nokia 6300</span>
</div>
<!-- Контейнер сообщений -->
<div class="messages" id="chatContainer">
<!-- Сообщения будут добавляться сюда -->
</div>
<!-- Блок ввода + кнопки -->
<div class="input-area">
<input type="text" id="messageInput" placeholder="Напиши SMS..." autofocus>
<div class="btn-group">
<button class="btn btn-primary" id="sendBtn">📤</button>
<button class="btn" id="clearBtn">✕</button>
</div>
</div>
<!-- Подпись-статус (как в старых телефонах) -->
<div style="color: #4a7a4a; font-size: 9px; text-align: center; margin-top: 8px; letter-spacing: 1px; border-top: 1px dotted #1a3a1a; padding-top: 6px;">
██ 2 сообщения ██ сигнал: ████
</div>
</div>
<!-- Физические кнопки (декорация) -->
<div class="hard-keys">
<div>◀︎</div>
<div class="center">OK</div>
<div>▶︎</div>
</div>
<div class="joystick"></div>
</div>
<script>
(function() {
// Элементы
const chat = document.getElementById('chatContainer');
const input = document.getElementById('messageInput');
const sendBtn = document.getElementById('sendBtn');
const clearBtn = document.getElementById('clearBtn');
// Функция генерации времени (HH:MM)
function getCurrentTime() {
const now = new Date();
const h = String(now.getHours()).padStart(2, '0');
const m = String(now.getMinutes()).padStart(2, '0');
return h + ':' + m;
}
// Функция добавления сообщения
function addMessage(text, type = 'out') {
if (!text || text.trim() === '') return;
const time = getCurrentTime();
const msgDiv = document.createElement('div');
msgDiv.className = `msg ${type}`;
// Для входящих добавим "отправитель" (имитация)
if (type === 'in') {
msgDiv.innerHTML = `${text} <span class="time">${time}</span>`;
} else {
msgDiv.innerHTML = `${text} <span class="time">${time}</span>`;
}
chat.appendChild(msgDiv);
// Автоскролл вниз
chat.scrollTop = chat.scrollHeight;
}
// Отправка сообщения (исходящее)
function sendMessage() {
const text = input.value.trim();
if (text === '') return;
// Добавляем исходящее
addMessage(text, 'out');
input.value = '';
input.focus();
// Имитация ответа (входящее) через случайную задержку (как будто сеть 2G)
const delay = 700 + Math.floor(Math.random() * 1800);
setTimeout(() => {
// Несколько вариантов ответов в стиле 2007
const replies = [
'Ок, встретимся в 7',
'Я на маршрутке, буду через 10',
'Скинь мелодию, плиз',
'А какой тариф? У меня pay as you go',
'Класс! А у тебя есть Bluetooth?',
'Слушай, а у тебя заряда сколько?',
'Давай завтра, ок?',
'Я на O2, а ты?',
'Скинь картинку, я поставлю на заставку',
'Хаха, помнишь Nokia 3310?'
];
const randomReply = replies[Math.floor(Math.random() * replies.length)];
addMessage(randomReply, 'in');
}, delay);
}
// Обработчики
sendBtn.addEventListener('click', sendMessage);
input.addEventListener('keydown', (e) => {
if (e.key === 'Enter') {
e.preventDefault();
sendMessage();
}
});
// Кнопка очистки (с диалогом, как в старых телефонах)
clearBtn.addEventListener('click', () => {
if (chat.children.length === 0) return;
const sure = confirm('Очистить все сообщения?');
if (sure) {
chat.innerHTML = '';
// Добавим служебное сообщение
const emptyMsg = document.createElement('div');
emptyMsg.style.cssText = 'color: #4a6a4a; font-size: 11px; text-align: center; padding: 20px 0; border-bottom: 1px dashed #1a3a1a;';
emptyMsg.textContent = '~ сообщения удалены ~';
chat.appendChild(emptyMsg);
setTimeout(() => {
if (chat.firstChild === emptyMsg) {
emptyMsg.remove();
}
}, 2500);
}
});
// Стартовые приветственные сообщения (атмосфера)
window.addEventListener('load', () => {
setTimeout(() => {
addMessage('Привет! Это Nokia 6300 📟', 'in');
}, 300);
setTimeout(() => {
addMessage('Круто! Как дела?', 'in');
}, 1200);
setTimeout(() => {
addMessage('Отлично, а ты как?', 'out');
}, 2400);
setTimeout(() => {
addMessage('Тоже норм. Что нового?', 'in');
}, 3600);
});
// Фокус на ввод при клике на экран (удобство)
document.querySelector('.screen').addEventListener('click', () => {
input.focus();
});
// Дополнительно: если инпут теряет фокус, подсветка
input.addEventListener('blur', () => {
// ничего не делаем, просто для атмосферы
});
console.log('Nokia 6300 SMS simulator — 2007 style');
})();
</script>
</body>
</html>[/html]































