Постописцы недели

Имя участника 1 Имя участника 2 Имя участника 3

Активисты недели

Имя участника 1 Имя участника 2 Имя участника 3

пиши посты,радуй соигроков ©

we need you

Тест дизайнов

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Плашки

Сообщений 1 страница 10 из 10

1

Плашка шаблон

Код:
<div class="plashka"><a href="ТУТ МОЖНО ССЫЛКУ НА ЛИЧНОЕ ДЕЛО"><img src="ССЫЛКА НА ИКОНКУ"></a><div><strong>ТУТ ЗАГОЛОВОК</strong><span>ТУТ ТЕКСТ, МОЖНО СО <a href="#">ССЫЛКОЙ</a></span></div></div>

Для Арса
https://i.postimg.cc/kXffj6Mg/image.png

Код:
<div class="plashka"><a href="https://itisanewworld.rusff.me/viewtopic.php?id=1513"><img src="https://i.postimg.cc/BQwwhmxt/ezgif-2-7163350ce7.png"></a><div><strong>WELL ИК ОЛЕ PIE</strong><span>раз, два, <a href="https://itisanewworld.rusff.me/profile.php?id=268">кончил </a></span></div></div>

Для Кэтрин
https://i.postimg.cc/1tT5X68v/image.png

Код:
<div class="plashka"><a href="https://itisanewworld.rusff.me/viewtopic.php?id=2397"><img src="https://i.postimg.cc/P5zxyP7q/ezgif-6-6eaeb68b7c.png"></a><div><strong>агентство</strong><span>разбитых сердец ♥</span></div></div>

Для Пингви
https://i.postimg.cc/vBdvdDsk/image.png

Код:
<div class="plashka"><a href="https://itisanewworld.rusff.me/viewtopic.php?id=2397"><img src="https://i.postimg.cc/WpZPnHW4/image.png"></a><div><strong>king of gotham</strong><span>любитель <a href="https://itisanewworld.rusff.me/profile.php?id=268">загадок</a></span></span></div></div>

https://i.postimg.cc/CMW7Yvs9/image.png

Код:
<div class="plashka"><a href="https://itisanewworld.rusff.me/viewtopic.php?id=2397"><img src="https://i.postimg.cc/WpZPnHW4/image.png"></a><div><strong>king of gotham</strong><span><a href="https://itisanewworld.rusff.me/profile.php?id=268">riddler</a>`s lover</span></div></div>

АМС
https://i.postimg.cc/CLq7T6L2/image.png

Код:
<div class="plashka"><a href="https://itisanewworld.rusff.me"><img src="https://i.postimg.cc/v8zM73dp/ezgif-2-e5a743b64a.png"></a><div><strong>АДМИНИСТРАЦИЯ</strong><span>задай любой <a href="https://itisanewworld.rusff.me/viewtopic.php?id=29">вопрос</a></span></div></div>

ПИАР
https://i.postimg.cc/7h9r9YGF/image.png

Код:
<div class="plashka"><a href="https://itisanewworld.rusff.me"><img src="https://i.postimg.cc/L5bmt8Zx/ezgif-2-0dbc0e87ec.png"></a><div><strong>Почтовый голубь</strong><span>главное — <a href="https://itisanewworld.rusff.me/viewtopic.php?id=475#p20929">взаимность</a></span></div></div>

0

2

[html]<!-- =========================================================
     ИВЕНТ-КАЛЕНДАРЬ 2026
     ========================================================= -->

<div id="cozy-calendar-2026">

    <div class="cc-shell">

        <!-- =========================
             ШАПКА
             ========================= -->

<header class="cc-header">

<div class="cc-header__title">
<span class="cc-header__ornament">✦</span>
<div>
<div class="cc-title">ТеплоОсень</div>
<div class="cc-subtitle">Ивент-календарь · 2026</div>
</div>

<span class="cc-header__ornament">✦</span>
</div>

<div class="cc-header__description">
Сорок осенних дней и заданий, подарков и уютных поводов заглянуть сюда снова ♥
</div>

            <!-- ПРАВИЛА -->

<div class="cc-rules">
<div class="cc-rules__title">
<span>☙</span>Правила и пояснения<span>❧</span>
</div>

<div class="cc-rules__grid">

<div class="cc-rule">
<span class="cc-rule__icon">01</span>
<span><b>Каждый день открывается новое задание и награда.</b> <br>
☆ Подарки можно получить либо для себя, либо для другого игрока.<br>
☆ Получить их можно выполнив задание.<br>
☆ Помимо полученных подарков, в итоге ивента все получают классическое финансовое вознаграждение: 1 день = 10 баксам.</span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">02</span>
<span><b>Порядок: <br>➜ чтобы открыть задание и подарок <u>щелкаем по ячейке</u> нового дня (откроется окошко с содержимым) <br>➜ заполняем ответ по шаблону в конце поста.</b></span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">03</span>
<span> Вы не будете знать заранее какой подарок под каждым блоком.</span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">04</span>
<span>Новый день наступает в <b>00:00 по Москве.</b></span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">05</span>
<span>Подарок каждого дня вам доступен лишь один раз (кроме некоторых исключений, о которых будет написано в карточке задания) — то есть либо взять себе, либо отправить его одному другому игроку.</span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">06</span>
<span>Ответы и выполненные задания публикуем по правилам ивента. Принимаются расширенные ответы на задания (ответы "да"/"нет" - не подходят): нужно рассказать почему/приложить фото/название и т.п. в зависимости от задания.</span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">07</span>
<span>Ответы на задания можно заполнять и твинами, но подарок доступен только <u>один раз каждому игроку</u> (за твинов нельзя забрать подарок, если вы уже взяли его за своего другого персонажа).</span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">08</span>
<span>Все ответы на задания выкладываются в эту тему. <br>
В ответах на задания приветствуются картинки и музыка (убираем под спойлер, бережём трафик друг друга).</span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">09</span>
<span>Задания можно выполнять даже если вы пропустили день.</span>
</div>

<div class="cc-rule">
<span class="cc-rule__icon">10</span>
<span>P.S. Скорее всего, подарки будут раздаваться по выходным. Просим о понимании и терпении.</span>
</div>

</div>
</div>
</header>

        <!-- =========================КАЛЕНДАРЬ========================= -->
        <main class="cc-calendar">

            <!-- =========================
                 01–08
                 КНИЖНЫЙ УГОЛОК
                 ========================= -->

<section class="cc-theme cc-theme--books">
<div class="cc-theme__head">
<div class="cc-theme__icon"><img src="https://i.imgur.com/GOz36am.png" alt=""></div>
<div class="cc-theme__info">
<div class="cc-theme__number">ТЕМА I · ДНИ 01—08</div>
<h2>Книжный уголок</h2>
<p>Дорогие сердцу истории, цитаты и немного литературного уюта. И конечно Котики.</p>
</div>
</div>

<div class="cc-grid" data-start="1" data-end="8"></div>
</section>

            <!-- =========================
                 09–16
                 ДОМАШНИЙ САД
                 ========================= -->

<section class="cc-theme cc-theme--garden">
<div class="cc-theme__head">
<div class="cc-theme__icon"><img src="https://i.imgur.com/3YoCc68.png" alt=""></div>
<div class="cc-theme__info">
<div class="cc-theme__number">ТЕМА II · ДНИ 09—16</div>
<h2>Домашний сад</h2>
<p>Оранжерея и любимые растения, небольшие садовые радости и немного зелени.</p>
</div>
</div>

<div class="cc-grid" data-start="9" data-end="16"></div>
</section>

            <!-- =========================
                 17–24
                 КОФЕЙНЫЕ РИТУАЛЫ
                 ========================= -->

<section class="cc-theme cc-theme--coffee">
<div class="cc-theme__head">
<div class="cc-theme__icon"><img src="https://i.imgur.com/oU9iHGy.png" alt=""></div>
<div class="cc-theme__info">
<div class="cc-theme__number">ТЕМА III · ДНИ 17—24</div>
<h2>Кофейные ритуалы</h2>
<p>Согревающие горячие чашки, аромат кофе и важные ежедневные ритуалы.</p>
</div>
</div>

<div class="cc-grid" data-start="17" data-end="24"></div>
</section>

            <!-- =========================
                 25–32
                 ДЕКОР ДОМА
                 ========================= -->

<section class="cc-theme cc-theme--decor">
<div class="cc-theme__head">
<div class="cc-theme__icon"><img src="https://i.imgur.com/Vcl18N7.png" alt=""></div>
<div class="cc-theme__info">
<div class="cc-theme__number">ТЕМА IV · ДНИ 25—32</div>
<h2>Декор дома</h2>
<p>Уют состоит из деталей: свечи, мягкие пледы, любимая посуда и осеннее настроение.</p>
</div>
</div>

<div class="cc-grid" data-start="25" data-end="32"></div>
</section>

            <!-- =========================
                 33–40
                 КУЛИНАРИЯ
                 ========================= -->

<section class="cc-theme cc-theme--cooking">
<div class="cc-theme__head">
<div class="cc-theme__icon"><img src="https://i.imgur.com/S6E21OC.png" alt=""></div>
<div class="cc-theme__info">
<div class="cc-theme__number">ТЕМА V · ДНИ 33—40</div>
<h2>Кулинария</h2>
<p>Вкусные рецепты, выпечка и специи, необычные эксперименты на кухне.</p>
</div>
</div>

<div class="cc-grid" data-start="33" data-end="40"></div>
</section>

<!-- =====================================================
     ШАБЛОН ДЛЯ ПОДАРКА
     ===================================================== -->

<div class="cc-gift-template">
<div class="cc-gift-template__title"><span>✦</span>Возьми меня и заполни<span>✦</span></div>
    <div class="cc-task-code" role="button" tabindex="0">День №
1. Кому подарок:
2. Подпись:
3. Выполненное задание:</div>
    <div class="cc-task-hint">✦ нажмите, чтобы скопировать шаблон ✦</div>
</div>

</main>
</div>

    <!-- =====================================================
         МОДАЛЬНОЕ ОКНО
         ===================================================== -->
<div class="cc-modal-bg" id="cc-modal-bg">
<div class="cc-modal" id="cc-modal">
<button class="cc-modal__close"
type="button"
aria-label="Закрыть"
>×</button>

<div class="cc-modal__day" id="cc-modal-day"></div>
<div class="cc-modal__title" id="cc-modal-title"></div>
<div class="cc-modal__image" id="cc-modal-image"></div>
<div class="cc-modal__gift" id="cc-modal-gift"></div>
<div class="cc-modal__task-title">ЗАДАНИЕ</div>
<div class="cc-modal__task" id="cc-modal-task"></div>
</div>
</div>
</div>

<style>
@font-face {
    font-family: "Gesmont";

    src:
        local("Gesmont"),
        url("https://forumstatic.ru/files/001a/e7/a4/77391.woff")
        format("woff"),
        url("https://forumstatic.ru/files/001a/e7/a4/38431.ttf")
        format("truetype");

    font-weight: normal;
    font-style: normal;
}

/* =========================================================
   ВНУТРИ #cozy-calendar-2026
   ========================================================= */

#cozy-calendar-2026 {
    --cc-bg: #241c19;
    --cc-bg-dark: #1a1412;
    --cc-panel: #302521;
    --cc-panel-light: #392d28;
    --cc-text: #eee4d8;
    --cc-muted: #bba99b;
    --cc-gold: #c7a77a;
    --cc-gold-light: #e3cda8;
    --cc-line: rgba(227, 205, 168, .28);

    width: 100%;
    max-width: 1180px;
    margin: 30px auto;
    font-family: "Georgia", serif;
    color: var(--cc-text);
    box-sizing: border-box;
}

#cozy-calendar-2026 *,
#cozy-calendar-2026 *::before,
#cozy-calendar-2026 *::after {
    box-sizing: border-box;
}

/* =========================================================
   ОБЩИЙ КОНТЕЙНЕР
   ========================================================= */

#cozy-calendar-2026 .cc-shell {
    position: relative;
    width: 100%;
    padding: 22px;
    background:
        radial-gradient(
            circle at 20% 10%,
            rgba(199,167,122,.08),
            transparent 30%
        ),
        radial-gradient(
            circle at 80% 90%,
            rgba(199,167,122,.06),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #2d231f,
            #211916 55%,
            #2a201c
        );

    border: 1px solid rgba(227,205,168,.25);
    box-shadow:
        0 20px 60px rgba(0,0,0,.35),
        inset 0 0 0 1px rgba(255,255,255,.025);

    overflow: hidden;
}

/* внутренняя рамка */

#cozy-calendar-2026 .cc-shell::before {
    content: "";
    position: absolute;
    inset: 8px;
    pointer-events: none;
    border: 1px solid rgba(227,205,168,.09);
}

/* =========================================================
   ШАПКА
   ========================================================= */

#cozy-calendar-2026 .cc-header {
    position: relative;
    padding: 8px 12px 20px;
    text-align: center;
}

/* заголовок */

#cozy-calendar-2026 .cc-header__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-bottom: 8px;
}

#cozy-calendar-2026 .cc-header__ornament {
    color: var(--cc-gold);
    font-size: 20px;
    opacity: .8;
}

#cozy-calendar-2026 .cc-title {
    color: var(--cc-gold-light);
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-shadow:
        0 2px 15px rgba(199,167,122,.18);
}

#cozy-calendar-2026 .cc-subtitle {
    margin-top: 8px;
    color: var(--cc-muted);
    font-size: 12px;
    letter-spacing: .28em;
    text-transform: uppercase;
}

#cozy-calendar-2026 .cc-header__description {
    max-width: 650px;
    margin: 0 auto 18px;
    color: #cbbcb0;
    font-size: 14px;
    line-height: 1.65;
}

/* =========================================================
   ПРАВИЛА
   ========================================================= */

#cozy-calendar-2026 .cc-rules {
    padding: 14px 16px 16px;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.035),
            rgba(0,0,0,.08)
);

    border: 1px solid var(--cc-line);
}

#cozy-calendar-2026 .cc-rules__title {
    margin-bottom: 13px;
    color: var(--cc-gold-light);
    font-size: 12px;
    letter-spacing: .2em;
    text-transform: uppercase;
}

#cozy-calendar-2026 .cc-rules__title span {
    margin: 0 6px;
    color: var(--cc-gold);
}

#cozy-calendar-2026 .cc-rules__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 22px;
    text-align: left;
}

#cozy-calendar-2026 .cc-rule {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #bdaea3;
    font-size: 13px;
    line-height: 1.45;
}

#cozy-calendar-2026 .cc-rule__icon {
    flex: 0 0 24px;
    color: var(--cc-gold);
    font-size: 9px;
    letter-spacing: .08em;
    padding-top: 2px;
}

/* ==========================КАЛЕНДАРЬ========================= */

#cozy-calendar-2026 .cc-calendar {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* =========================================================
   ТЕМАТИЧЕСКИЙ БЛОК
   ========================================================= */

#cozy-calendar-2026 .cc-theme {
    position: relative;
    padding: 15px 15px 16px;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.035),
            rgba(0,0,0,.12)
        );

    border: 1px solid rgba(227,205,168,.17);
}

/* небольшая верхняя линия */

#cozy-calendar-2026 .cc-theme::before {
    content: "";
    position: absolute;
    left: 15px;
    right: 15px;
    top: 0;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(227,205,168,.5),
            transparent
        );
}

/* ============================ЗАГОЛОВОК ТЕМЫ============================ */

#cozy-calendar-2026 .cc-theme__head {
display: grid !important;
grid-template-columns: 60px minmax(0, 1fr);
column-gap: 16px;
align-items: center;
width: 100%;
margin: 0 0 13px;
padding: 0 0 11px;
text-align: left !important;
border-bottom: 1px solid rgba(227,205,168,.13);
}

#cozy-calendar-2026 .cc-theme__icon {
grid-column: 1;
width: 60px;
height: 60px;
margin: 0 !important;
display: flex;
align-items: center;
justify-content: center;
font-size: 26px;
background: rgba(0,0,0,.16);
border: 1px solid rgba(227,205,168,.2);
}

#cozy-calendar-2026 .cc-theme__info {
grid-column: 2;
width: 100%;
min-width: 0;
margin: 0 !important;
padding: 0 !important;
text-align: left !important;
}

#cozy-calendar-2026 .cc-theme__number {
text-align: left !important;
}

#cozy-calendar-2026 .cc-theme__info h2 {
margin: 0 !important;
padding: 0 !important;
text-align: left !important;
}

#cozy-calendar-2026 .cc-theme__icon img {
width: 100%;
height: 100%;
object-fit: contain;
display: block;
}

#cozy-calendar-2026 .cc-theme__number {
margin-bottom: 2px;
color: var(--cc-gold);
font-size: 9px;
letter-spacing: .18em;
text-transform: uppercase;
}

#cozy-calendar-2026 .cc-theme h2 {
margin: 0;
color: #eadfd4;
font-size: 21px;
font-weight: normal;
letter-spacing: .04em;
}

#cozy-calendar-2026 .cc-theme p {
margin: 3px 0 0;
color: #9f9086;
font-size: 11px;
line-height: 1.35;
}

/* =================СЕТКА================== */

#cozy-calendar-2026 .cc-grid {
display: grid;
grid-template-columns:
repeat(8, minmax(0, 1fr));
gap: 8px;
width: 100%;
}

/* ==============ЯЧЕЙКА================ */

#cozy-calendar-2026 .cc-day {
position: relative;
aspect-ratio: 1 / 1;
min-width: 0;
padding: 5px;
border: 1px solid rgba(227,205,168,.18);
background:
linear-gradient(
145deg,
#382b26,
#29201d
);

color: var(--cc-text);
cursor: pointer;
overflow: hidden;
transition:
transform .22s ease,
border-color .22s ease,
box-shadow .22s ease,
background .22s ease;
}

/* декоративная полоска */
#cozy-calendar-2026 .cc-day::before {
content: "";
position: absolute;
left: 7px;
right: 7px;
bottom: 6px;
height: 1px;
background:
linear-gradient(
90deg,
transparent,
rgba(227,205,168,.22),
transparent
);
}

/* уголок */
#cozy-calendar-2026 .cc-day::after {
    content: "";
    position: absolute;
    width: 17px;
    height: 17px;
    right: -8px;
    top: -8px;
    border-radius: 50%;
    background: rgba(227,205,168,.12);
}

/* номер */
#cozy-calendar-2026 .cc-day__number {
    position: absolute;
    left: 7px;
    top: 3px;
    color: var(--cc-gold-light);
    font-family: "Gesmont", Georgia, serif;
    font-size: clamp(28px, 3.5vw, 43px);
    font-weight: normal;
    line-height: 1;
    z-index: 2;
}

/* маленькая подпись */
#cozy-calendar-2026 .cc-day__label {
    position: absolute;
    left: 8px;
    bottom: 12px;
    color: #a89587;
    font-size: 8px;
    letter-spacing: .12em;
    text-transform: uppercase;
    z-index: 2;
}

/* иконка */
#cozy-calendar-2026 .cc-day__icon {
    position: absolute;
    right: 7px;
    bottom: 9px;
    font-size: 18px;
    opacity: .8;
    z-index: 2;
}

/* ============================HOVER============================= */

#cozy-calendar-2026 .cc-day:not(.is-locked):hover {
transform: translateY(-3px);
border-color: rgba(227,205,168,.55);
background:
linear-gradient(
145deg,
#43332b,
#2d211d
);
box-shadow:
0 8px 20px rgba(0,0,0,.28),
inset 0 0 18px rgba(227,205,168,.035);
}

/* ======================ЗАКРЫТЫЙ ДЕНЬ=========================== */

#cozy-calendar-2026 .cc-day.is-locked {
cursor: default;
background:
linear-gradient(
145deg,
#28211e,
#211a18
);
border-color: rgba(255,255,255,.07);
}

#cozy-calendar-2026 .cc-day.is-locked
.cc-day__number {
color: #655b55;
}

#cozy-calendar-2026 .cc-day.is-locked
.cc-day__icon {
opacity: .25;
filter: grayscale(1);
}

#cozy-calendar-2026 .cc-day.is-locked
.cc-day__label {
    color: #5e554f;
}

/* замочек */

#cozy-calendar-2026 .cc-day__lock {
    position: absolute;
    right: 7px;
    top: 7px;
    color: #70645c;
    font-size: 11px;
    z-index: 3;
}

/* ===========================ОТКРЫТЫЙ ДЕНЬ========================== */
#cozy-calendar-2026 .cc-day.is-open {
    border-color: rgba(199,167,122,.27);
}

/* сегодняшний */
#cozy-calendar-2026 .cc-day.is-today {
border-color: var(--cc-gold);
box-shadow:
0 0 0 1px rgba(199,167,122,.16),
0 0 18px rgba(199,167,122,.08);
}

#cozy-calendar-2026 .cc-day.is-today::before {
background:
linear-gradient(
90deg,
transparent,
var(--cc-gold),
transparent
);
}

/* =======================МОДАЛЬНЫЙ ФОН======================== */
#cozy-calendar-2026 .cc-modal-bg {
position: fixed;
inset: 0;
z-index: 99999;
display: none;
background: rgba(15,10,8,.48);
}

#cozy-calendar-2026 .cc-modal-bg.is-visible {
display: block;
}

/* ===========================МОДАЛЬНОЕ ОКНО=========================== */

#cozy-calendar-2026 .cc-modal {
position: absolute;
width: 350px;
max-width: calc(100vw - 20px);
max-height: calc(100vh - 20px);
padding: 20px;
overflow-y: auto;
background:
radial-gradient(
circle at 80% 10%,
rgba(199,167,122,.09),
transparent 35%
),
linear-gradient(
145deg,
#332721,
#211916
);

border: 1px solid rgba(227,205,168,.4);
box-shadow:
0 18px 50px rgba(0,0,0,.55),
inset 0 0 0 1px rgba(255,255,255,.025);
opacity: 0;
transform: translateY(5px);
transition:
opacity .18s ease,
transform .18s ease;
}

#cozy-calendar-2026 .cc-modal.is-active {
opacity: 1;
transform: translateY(0);
}

/* ======================ЗАКРЫТИЕ======================== */

#cozy-calendar-2026 .cc-modal__close {
position: absolute;
right: 9px;
top: 7px;
width: 28px;
height: 28px;
padding: 0;
border: 0;
background: transparent;
color: #a9978a;
font-size: 24px;
line-height: 28px;
cursor: pointer;
}

#cozy-calendar-2026 .cc-modal__close:hover {
color: var(--cc-gold-light);
}

/* =========================================================
   СОДЕРЖИМОЕ МОДАЛКИ
   ========================================================= */
#cozy-calendar-2026 .cc-modal__day {
color: var(--cc-gold);
font-size: 9px;
letter-spacing: .2em;
text-transform: uppercase;
margin-bottom: 7px;
}

#cozy-calendar-2026 .cc-modal__title {
padding-right: 25px;
color: #eee1d5;
font-size: 25px;
line-height: 1.15;
}

#cozy-calendar-2026 .cc-modal__image {
display: flex;
align-items: center;
justify-content: center;
width: 85px;
height: 85px;
margin: 16px auto;
font-size: 40px;
background: rgba(0,0,0,.15);
border: 1px solid rgba(227,205,168,.18);
}

#cozy-calendar-2026 .cc-modal__gift {
margin-bottom: 17px;
padding: 10px;
text-align: center;
color: var(--cc-gold-light);
font-size: 12px;
letter-spacing: .08em;
text-transform: uppercase;
background: rgba(199,167,122,.07);
border-top: 1px solid rgba(227,205,168,.16);
border-bottom: 1px solid rgba(227,205,168,.16);
}

#cozy-calendar-2026 .cc-modal__task-title {
margin-bottom: 5px;
color: var(--cc-gold);
font-size: 9px;
letter-spacing: .2em;
text-transform: uppercase;
}

#cozy-calendar-2026 .cc-modal__task {
color: #c6b7aa;
font-size: 13px;
line-height: 1.65;
}

#cozy-calendar-2026 .cc-modal__image img {
display: block;
width: 85px;
height: 85px;
object-fit: contain;
}

/* =========================================================
   АДАПТАЦИЯ
   ========================================================= */

/* планшет */
@media (max-width: 900px) {
#cozy-calendar-2026 .cc-grid {
grid-template-columns:
repeat(4, minmax(0, 1fr));
}
}

/* мобильные */
@media (max-width: 600px) {
#cozy-calendar-2026 {
margin: 15px auto;
}
#cozy-calendar-2026 .cc-shell {
padding: 12px;
}
#cozy-calendar-2026 .cc-header {
padding: 8px 4px 16px;
}
#cozy-calendar-2026 .cc-header__title {
gap: 8px;
}
#cozy-calendar-2026 .cc-header__ornament {
font-size: 14px;
}
#cozy-calendar-2026 .cc-title {
font-size: 25px;
}
#cozy-calendar-2026 .cc-subtitle {
font-size: 9px;
letter-spacing: .18em;
}
#cozy-calendar-2026 .cc-header__description {
font-size: 12px;
}
#cozy-calendar-2026 .cc-rules {
padding: 12px;
}
#cozy-calendar-2026 .cc-rules__grid {
grid-template-columns: 1fr;
gap: 7px;
}
#cozy-calendar-2026 .cc-theme {
padding: 11px;
}

#cozy-calendar-2026 .cc-theme__head {
gap: 10px;
}
#cozy-calendar-2026 .cc-theme__icon {
flex-basis: 40px;
width: 40px;
height: 40px;
font-size: 21px;
}
#cozy-calendar-2026 .cc-theme h2 {
font-size: 18px;
}
#cozy-calendar-2026 .cc-theme p {
font-size: 10px;
}

#cozy-calendar-2026 .cc-grid {
grid-template-columns:
repeat(4, minmax(0, 1fr));
gap: 6px;
}

#cozy-calendar-2026 .cc-day {
padding: 3px;
}

#cozy-calendar-2026 .cc-day__number {
left: 5px;
top: 4px;
font-family: "Gesmont", Georgia, serif;
font-size: clamp(25px, 9vw, 37px);
}

#cozy-calendar-2026 .cc-day__icon {
right: 5px;
bottom: 6px;
font-size: 15px;
}

#cozy-calendar-2026 .cc-day__label {
display: none;
}

#cozy-calendar-2026 .cc-modal {
width: 320px;
padding: 17px;
}}

/* совсем узкий экран */
@media (max-width: 370px) {
#cozy-calendar-2026 .cc-grid {
grid-template-columns:
repeat(3, minmax(0, 1fr));
}}

/* =========================================================
   ШАБЛОН ПОДАРКА
   ========================================================= */

#cozy-calendar-2026 .cc-gift-template {
position: relative;
margin-top: 22px;
padding: 18px 16px 16px;
text-align: center;
border-top: 1px solid rgba(227,205,168,.16);
background:
linear-gradient(
135deg,
rgba(255,255,255,.025),
rgba(0,0,0,.10)
);
}

/* заголовок */
#cozy-calendar-2026 .cc-gift-template__title {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin-bottom: 5px;
color: var(--cc-gold-light);
font-family: Georgia, serif;
font-size: 12px;
letter-spacing: .2em;
text-transform: uppercase;
}

#cozy-calendar-2026 .cc-gift-template__title span {
color: var(--cc-gold);
font-size: 10px;
opacity: .8;
}

/* пояснение */
#cozy-calendar-2026 .cc-gift-template__text {
margin-bottom: 12px;
color: #9f9086;
font-size: 10px;
line-height: 1.5;
}

/* =========================================================
   ШАБЛОН
   ========================================================= */
#cozy-calendar-2026 .cc-gift-template{
    margin:14px 0 0;
    padding:12px 8px 2px;
    border-top:1px solid rgba(227,205,168,.14);
}

#cozy-calendar-2026 .cc-task-code{
    max-width:520px;
    margin:0 auto;
    padding:9px 14px;
    text-align:left;
    white-space:pre-line;
    cursor:pointer;
    user-select:all;
    color:#bcaea3;
    font-family:Georgia,serif;
    font-size:11px;
    line-height:1.55;
    background:rgba(199,167,122,.035);
    border:1px solid rgba(199,167,122,.18);
    transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}

#cozy-calendar-2026 .cc-task-code:hover{
    background:rgba(199,167,122,.07);
    border-color:rgba(227,205,168,.35);
}

#cozy-calendar-2026 .cc-task-code.copied{
    background:rgba(199,167,122,.13);
    border-color:rgba(227,205,168,.55);
    box-shadow:0 0 14px rgba(199,167,122,.12);
}

#cozy-calendar-2026 .cc-task-hint{
    margin-top:4px;
    text-align:center;
    color:#766960;
    font-size:8px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

@media(max-width:600px){
    #cozy-calendar-2026 .cc-gift-template{
        margin-top:11px;
        padding:10px 3px 1px;
    }

    #cozy-calendar-2026 .cc-task-code{
        padding:8px 11px;
        font-size:10px;
    }
}

/* ======ссылки======*/
#cozy-calendar-2026 .cc-modal__task a {
    color: #c9aa7d;
    text-decoration: none;
    border-bottom: 1px dotted rgba(201,170,125,.6);
    transition: .2s;
}

#cozy-calendar-2026 .cc-modal__task a:hover {
    color: #ead3ae;
    border-bottom-color: #ead3ae;
}
</style>

<script>
(function () {
"use strict";

/* ==================================НАСТРОЙКИ================================ */

const CALENDAR_YEAR = 2026;
/*15 сентября 2026 = первый день календаря.
Всего 40 дней.*/

const START_MONTH = 8; // сентябрь
const START_DAY = 15;  // начинаем с 15 сентября
const DAYS = 40;

/* =================================ДАННЫЕ ДНЕЙ================================ */

    const CONTENTS = [

        /* 15 */
        {
            title: "День первой страницы",
            icon: "🔖",
            image: "https://i.imgur.com/nj2atN8.png",
            gift: "Подарок · Книжная Закладка",
            task: "Выберите книгу, которую давно хотели прочитать, и покажите её обложку.  ✦ этот подарок вы можете подарить 2 раза за выполненное задание ✦"
        },

        /* 16 */
        {
            title: "Любимая цитата",
            icon: "🔖",
            image: "https://i.imgur.com/aP9d7Ei.png",
            gift: "Подарок · Хранитель Тайн",
            task: "Поделитесь одной цитатой из книги, которая вам особенно нравится."
        },

        /* 17 */
        {
            title: "Библиотека",
            icon: "🔖",
            image: "https://i.imgur.com/DBpZfcG.png",
            gift: "Подарок · Осенние страницы",
            task: "Какое классическое произведение является любимым у персонажа и почему?"
        },

        /* 18 */
        {
            title: "Свет Вдохновения",
            icon: "🔖",
            image: "https://i.imgur.com/ImFK5bL.png",
            gift: "Подарок · Язык Цветов",
            task: "Принесите эстетику на Бостон (это может быть коллаж или обработанная картинка) для Праздничных Пазлов. ✦ этот подарок вы можете подарить 2 раза за выполненное задание ✦"
        },

        /* 19 */
        {
            title: "Обнимашки с котами",
            icon: "✨",
            image: "https://i.imgur.com/MVkYTUF.png",
            gift: "Подарок · Котячий Вечер",
            task: "Напишите поздравление для Бостона в тему <a href='https://bostoncrazzy.rusff.me/viewtopic.php?id=31' target='_blank'>Посвящений</a> <3 ✦ этот подарок вы можете подарить 3 раза за выполненное задание ✦"
        },

        /* 20 */
        {
            title: "Полка мечты",
            icon: "🔖",
            image: "https://i.imgur.com/u66l4Ll.png",
            gift: "Подарок · Полезное и Приятное",
            task: "Составьте мини-список из трёх книг, которые хотели бы добавить на свою полку (в книжном переплёте)."
        },

        /* 21 */
        {
            title: "Из Италии с любовью",
            icon: "🔖",
            image: "https://i.imgur.com/aq1uhU6.png",
            gift: "Подарок · Набор Марок",
            task: "Покажите место, которое ваш персонаж воспринимает как уютное и спокойное? Расскажите почему."
        },

        /* 22 */
        {
            title: "Сказки Тёмного Леса",
            icon: "🔖",
            image: "https://i.imgur.com/9jJs6LF.png",
            gift: "Подарок · Закладка с Папоротником",
            task: "Расскажите, какой напиток вы выбираете под чтение, или может все зависит от жанра и настроения? Что это чаще всего за напиток?"
        },

        /* 23 */
        {
            title: "Первый росток",
            icon: "🪴",
            image: "https://i.imgur.com/a5LBcbG.png",
            gift: "Подарок · Росток в Колбочке",
            task: "Покажите растение или цветок, с которым у вас ассоциируется ваш персонаж, не забудьте поделиться названием. ✦ этот подарок вы можете подарить 2 раза за выполненное задание ✦"
        },

        /* 24 */
        {
            title: "Зелёный уголок",
            icon: "🪴",
            image: "https://i.imgur.com/nHMJn7P.png",
            gift: "Подарок · Набор Садовода",
            task: "Поставьте себе цель по постам в Ставках на неделю/месяц/до конца осени/до конца года."
        },

        /* 25 */
        {
            title: "Домашнее деревце",
            icon: "🪴",
            image: "https://i.imgur.com/e5O47DC.png",
            gift: "Подарок · Бонсай",
            task: "Придумайте идеальное место для домашнего растения у вашего персонажа дома, что это было бы за растение? Дайте ему имя и расскажите, выжило бы оно вообще у персонажа?) ✦ этот подарок вы можете подарить 2 раза за выполненное задание ✦"
        },

        /* 26 */
        {
            title: "Вечерний сад",
            icon: "🪴",
            image: "https://i.imgur.com/7htgMQb.png",
            gift: "Подарок · Ночные Орхидеи",
            task: "Выберите любое растение, которое находится дома/на работе/по пути персонажа, и расскажите одну сцену из его жизни от лица этого растения. Можно буквально 3–5 предложений."
        },

        /* 27 */
        {
            title: "Тот самый Аромат",
            icon: "🪴",
            image: "https://i.imgur.com/D5RFOse.png",
            gift: "Подарок · Аромат из Сада",
            task: "Подберите ароматы, которые ассоциируются с разными переживаниями жизни персонажа: серьёзность, влюбленность, отчаянье, интерес. ✦ этот подарок вы можете подарить 2 раза за выполненное задание ✦"
        },

        /* 28 */
        {
            title: "Ошибка выжившего",
            icon: "🪴",
            image: "https://i.imgur.com/NqphRfl.png",
            gift: "Подарок · Живучие Суккуленты",
            task: "Отправьте в Подарках один из представленных там букетов персонажу, с которым вы ещё не играли (бесплатно) ✦ этот подарок вы можете подарить 2 раза за выполненное задание ✦"
        },

        /* 29 */
        {
            title: "Дикий уголок",
            icon: "🪴",
            image: "https://i.imgur.com/AgHZhyq.png",
            gift: "Подарок · Домашний Плющ",
            task: "Субботник. Ваш персонаж против своей воли оказался на коллективном субботнике. Составьте команду мечты из персонажей которые есть на форуме, чтобы мероприятие превратилось в катастрофу? Что каждый из них будет делать?"
        },

        /* 30 */
        {
            title: "Садоводство",
            icon: "🪴",
            image: "https://i.imgur.com/jWdQA1p.png",
            gift: "Подарок · ",
            task: "Опишите идеальный маленький сад всего тремя словами."
        },

        /* 31 */
        {
            title: "Призыв Демонов Кофе",
            icon: "☕",
            image: "https://i.imgur.com/ClIOh9h.png",
            gift: "Подарок · Ритуал на Кофеине",
            task: "Подберите для 5-ти ваших соигроков кофейный напиток? ✦ этот подарок вы можете подарить 3 раза за выполненное задание ✦"
        },

        /* 32 */
        {
            title: "Кофейный аромат",
            icon: "☕",
            image: "https://i.imgur.com/q7t4iMW.png",
            gift: "Подарок · Уличный кофе",
            task: "Выпейте с кем-то в Бухалочке или получите предложение выпить или отпишитесь в теме 3 раза."
        },

        /* 33 */
        {
            title: "Утренний ритуал",
            icon: "☕",
            image: "https://i.imgur.com/NqTP1zL.png",
            gift: "Подарок · Доброе утро",
            task: "Опишите идеальный утренний ритуал (помимо кофе) для персонажа."
        },

        /* 34 */
        {
            title: "Сладкая чашка",
            icon: "☕",
            image: "https://i.imgur.com/nf9cSvY.png",
            gift: "Подарок · Капучино в Вафле",
            task: "Выберите десерт, который идеально подошёл бы к кофе."
        },

        /* 35 */
        {
            title: "",
            icon: "☕",
            image: "картинка",
            gift: "Подарок · Ароматный американо",
            task: "Выберите музыку для прогулки."
        },

        /* 36 */
        {
            title: "Согреем руки",
            icon: "☕",
            image: "картинка",
            gift: "Подарок · Горячая чашка",
            task: "Подберите идеальную чашку для своего персонажа и чашки для ещё 3 персонажей Бостона."
        },

        /* 37 */
        {
            title: "Ночная кофейня",
            icon: "☕",
            image: "картинка",
            gift: "Подарок · Ночной кофе",
            task: ""
        },

        /* 38 */
        {
            title: "Последний глоток",
            icon: "☕",
            image: "картинка",
            gift: "Подарок · ",
            task: "Придумайте название для Кофейни, которую мог бы открыть персонаж?"
        },

        /* 39 */
        {
            title: "Первый огонёк",
            icon: "🕯️",
            image: "картинка",
            gift: "Подарок · Свеча",
            task: "Выберите аромат свечи, которую обязательно приобретет персонаж, чтобы зажигать вечерами."
        },

        /* 40 */
        {
            title: "Плед",
            icon: "🕯️",
            image: "картинка",
            gift: "Подарок · Тёплый плед",
            task: ""
        },

        /* 27 */
        {
            title: "Окно",
            icon: "🕯️",
            image: "картинка",
            gift: "Подарок · Вид из окна",
            task: ""
        },

        /* 28 */
        {
            title: "Лампа",
            icon: "🕯️",
            image: "картинка",
            gift: "Подарок · Тёплый свет",
            task: ""
        },

        /* 29 */
        {
            title: "Шкатулка",
            icon: "🕯️",
            image: "картинка",
            gift: "Подарок · Шкатулка",
            task: ""
        },

        /* 30 */
        {
            title: "",
            icon: "🕯️",
            image: "картинка",
            gift: "Подарок · ",
            task: ""
        },

        /* 31 */
        {
            title: "Музыка",
            icon: "🕯️",
            image: "картинка",
            gift: "Подарок · Музыкальный вечер",
            task: ""
        },

        /* 32 */
        {
            title: "Уютный",
            icon: "🕯️",
            image: "картинка",
            gift: "Подарок · Уютный дом",
            task: "Назовите три вещи, без которых для вас невозможен уютный вечер, а для вашего персонажа?"
        },

        /* 33 */
        {
            title: "",
            icon: "🍰",
            image: "картинка",
            gift: "Подарок · Рецепт",
            task: "Взгляните на наш Адвент-Календарь, найдите к представленным дням пасхалки на активности, которые проходили в этом году в Бостоне. Напишите их в формате: День - Пасхалка на... "
        },

        /* 34 */
        {
            title: "Выпечка",
            icon: "🍰",
            image: "картинка",
            gift: "Подарок · Домашняя выпечка",
            task: ""
        },

        /* 35 */
        {
            title: "Специи",
            icon: "🍰",
            image: "картинка",
            gift: "Подарок · Специи",
            task: ""
        },

        /* 36 */
        {
            title: "",
            icon: "🍰",
            image: "картинка",
            gift: "Подарок · ",
            task: ""
        },

        /* 37 */
        {
            title: "Сладкое",
            icon: "🍰",
            image: "картинка",
            gift: "Подарок · Десерт",
            task: ""
        },

        /* 38 */
        {
            title: "Секретный ингредиент",
            icon: "🍰",
            image: "картинка",
            gift: "Подарок · Секрет шефа",
            task: ""
        },

        /* 39 */
        {
            title: "Семейный рецепт",
            icon: "🍰",
            image: "картинка",
            gift: "Подарок · Старый рецепт",
            task: "Выберите блюдо, которое персонаж считает своим фирменным."
        },

        /* 40 */
        {
            title: "",
            icon: "🍰",
            image: "картинка",
            gift: "Подарок · Большой пир",
            task: "Соберите идеальное меню из 3х блюд и 3х напитков, если бы персонажу пришлось питаться только этим до конца своей жизни."
        }

    ];

/* ============================ЭЛЕМЕНТЫ============================== */

    const root =
        document.getElementById("cozy-calendar-2026");

    if (!root) return;

    const modalBg =
        root.querySelector("#cc-modal-bg");

    const modal =
        root.querySelector("#cc-modal");

    const modalDay =
        root.querySelector("#cc-modal-day");

    const modalTitle =
        root.querySelector("#cc-modal-title");

    const modalImage =
        root.querySelector("#cc-modal-image");

    const modalGift =
        root.querySelector("#cc-modal-gift");

    const modalTask =
        root.querySelector("#cc-modal-task");

    const closeButton =
        root.querySelector(".cc-modal__close");

    /* =====================================================
       МОСКОВСКОЕ ВРЕМЯ
       ===================================================== */

    function getMoscowDate() {
const now = new Date();
const parts =
new Intl.DateTimeFormat(
"en-US",
{
timeZone: "Europe/Moscow",
year: "numeric",
month: "2-digit",
day: "2-digit"
}
).formatToParts(now);
const result = {};
parts.forEach(part => {
if (part.type !== "literal") {
result[part.type] =
Number(part.value);
}
});

return new Date(
result.year,
result.month - 1,
result.day
);
}

/* ==========================ДАТА КОНКРЕТНОГО ДНЯ====================== */

    function getDayDate(dayNumber) {

    return new Date(
        CALENDAR_YEAR,
        START_MONTH,
        START_DAY + dayNumber - 1
        );

    }

/* ===========================СРАВНЕНИЕ ДАТ============================ */

    function sameDate(a, b) {

        return (
            a.getFullYear() === b.getFullYear() &&
            a.getMonth() === b.getMonth() &&
            a.getDate() === b.getDate()
        );

    }

/* ============================СОЗДАНИЕ ЯЧЕЕК========================= */

const grids =
root.querySelectorAll(".cc-grid");

grids.forEach(grid => {

const start =
Number(grid.dataset.start);

const end =
Number(grid.dataset.end);

for (
let day = start;
day <= end;
day++
) {

const button =
document.createElement("button");

button.type = "button";

button.className = "cc-day";

button.dataset.day = day;

const number =
document.createElement("span");

number.className =
"cc-day__number";

number.textContent =
String(day).padStart(2, "0");

const label =
document.createElement("span");

label.className =
"cc-day__label";

label.textContent =
"открыть";

const icon =
document.createElement("span");

icon.className =
"cc-day__icon";

icon.textContent =
CONTENTS[day - 1]?.icon || "✦";

const lock =
document.createElement("span");

lock.className =
"cc-day__lock";

lock.textContent = "🔒";

button.appendChild(number);
button.appendChild(label);
button.appendChild(icon);
button.appendChild(lock);

grid.appendChild(button);
}
});

/* ===========================СОСТОЯНИЕ ДНЕЙ========================== */

    function updateDays() {

        const today =
            getMoscowDate();

        root.querySelectorAll(".cc-day")
            .forEach(button => {

                const day =
                    Number(button.dataset.day);

                const date =
                    getDayDate(day);

                button.classList.remove(
                    "is-locked",
                    "is-open",
                    "is-today"
                );

                const lock =
                    button.querySelector(".cc-day__lock");

                if (today < date) {

                    button.classList.add(
                        "is-locked"
                    );

                    lock.style.display =
                        "block";

                } else {

                    button.classList.add(
                        "is-open"
                    );

                    lock.style.display =
                        "none";

                }

                if (sameDate(today, date)) {

                    button.classList.add(
                        "is-today"
                    );

                }

            });

    }

    updateDays();

/* =====================================================
ПОЗИЦИОНИРОВАНИЕ МОДАЛКИ
окно привязывается именно к нажатой ячейке.
===================================================== */

function positionModal(button) {

/*модалка видимая, но невидимая визуально*/

modal.style.left = "0px";
modal.style.top = "0px";

modal.classList.remove("is-active");

const rect =
button.getBoundingClientRect();

const viewportWidth =
window.innerWidth;

const viewportHeight =
window.innerHeight;

const gap = 10;
const margin = 10;

const modalWidth =
modal.offsetWidth;

const modalHeight =
modal.offsetHeight;

let left;
let top;

        /* ---------------------------------------------
           1. Пытаемся поставить справа
           --------------------------------------------- */

        if (
            rect.right +
            gap +
            modalWidth +
            margin
            <= viewportWidth
        ) {

            left =
                rect.right + gap;

        }

        /* ---------------------------------------------
           2. Справа не помещается — слева
           --------------------------------------------- */

        else if (
            rect.left -
            gap -
            modalWidth
            >= margin
        ) {

            left =
                rect.left -
                modalWidth -
                gap;

        }

        /* ---------------------------------------------
           3. На узком экране:
              под ячейкой
           --------------------------------------------- */

        else {

            left =
                Math.max(
                    margin,
                    Math.min(
                        rect.left,
                        viewportWidth -
                        modalWidth -
                        margin
                    )
                );

            top =
                rect.bottom + gap;

            /*
               Если снизу не помещается —
               ставим над ячейкой.
            */

            if (
                top +
                modalHeight +
                margin
                > viewportHeight
            ) {

                top =
                    rect.top -
                    modalHeight -
                    gap;

            }

        }

        /* ---------------------------------------------
           Вертикальное выравнивание
           --------------------------------------------- */

        if (typeof top === "undefined") {

            top = rect.top;

        }

        if (
            top +
            modalHeight +
            margin
            > viewportHeight
        ) {

            top =
                viewportHeight -
                modalHeight -
                margin;

        }

        if (top < margin) {

            top = margin;

        }

        /* ---------------------------------------------
           Горизонтальная страховка
           --------------------------------------------- */

        if (
            left +
            modalWidth +
            margin
            > viewportWidth
        ) {

            left =
                viewportWidth -
                modalWidth -
                margin;

        }

        if (left < margin) {

            left = margin;

        }

        modal.style.left =
            Math.round(left) + "px";

        modal.style.top =
            Math.round(top) + "px";

    }

    /* =====================================================
       ОТКРЫТИЕ
       ===================================================== */

    function openModal(button) {

        const day =
            Number(button.dataset.day);

        const content =
            CONTENTS[day - 1];

        if (!content) return;

        /*
           Если день ещё закрыт —
           ничего не делаем.
        */

        if (
            button.classList.contains(
                "is-locked"
            )
        ) {

            return;

        }

        modalDay.textContent =
            "ДЕНЬ " +
            String(day).padStart(2, "0");

        modalTitle.textContent =
            content.title;

if (content.image) {
    modalImage.innerHTML =
        '<img src="' +
        content.image +
        '" alt="">';
} else {
    modalImage.textContent =
        content.icon || "✦";
}

        modalGift.textContent =
            content.gift || "";

modalTask.innerHTML = content.task;

        modalBg.classList.add(
            "is-visible"
        );

        /*
           Небольшая задержка нужна,
           чтобы браузер успел посчитать размеры
           модального окна.
        */

        requestAnimationFrame(() => {

            positionModal(button);

            requestAnimationFrame(() => {

                modal.classList.add(
                    "is-active"
                );

            });

        });

    }

    /* =====================================================
       ЗАКРЫТИЕ
       ===================================================== */

    function closeModal() {

        modal.classList.remove(
            "is-active"
        );

        setTimeout(() => {

            modalBg.classList.remove(
                "is-visible"
            );

        }, 160);

    }

    /* =====================================================
       КЛИКИ ПО ДНЯМ
       ===================================================== */

    root.querySelectorAll(".cc-day")
        .forEach(button => {

            button.addEventListener(
                "click",
                function () {

                    openModal(this);

                }
            );

        });

    /* =====================================================
       ЗАКРЫТИЕ
       ===================================================== */

    closeButton.addEventListener(
        "click",
        closeModal
    );

    /*
       Клик по затемнению,
       но не по самому окну.
    */

    modalBg.addEventListener(
        "click",
        function (event) {

            if (
                event.target === modalBg
            ) {

                closeModal();

            }

        }
    );

    /*
       ESC
    */

    document.addEventListener(
        "keydown",
        function (event) {

            if (
                event.key === "Escape" &&
                modalBg.classList.contains(
                    "is-visible"
                )
            ) {

                closeModal();

            }

        }
    );

    /* =====================================================
       ЕСЛИ ОКНО ОТКРЫТО И ПРОИЗОШЁЛ RESIZE
       ===================================================== */

    let activeButton = null;

    root.querySelectorAll(".cc-day")
        .forEach(button => {

            button.addEventListener(
                "click",
                function () {

                    activeButton = this;

                }
            );

        });

    window.addEventListener(
        "resize",
        function () {

            if (
                activeButton &&
                modalBg.classList.contains(
                    "is-visible"
                )
            ) {

                positionModal(
                    activeButton
                );

            }

        }
    );

    /* =====================================================
       ПОЛУНОЧНЫЙ RESET
       
       Дополнительно обновляем состояние,
       чтобы после 00:00 MSK новая дверь
       автоматически стала доступной.
       ===================================================== */

    setInterval(
        updateDays,
        60 * 1000
    );

const giftTemplate=root.querySelector(".cc-task-code");

if(giftTemplate){
    function copyGiftTemplate(){
        const text=giftTemplate.innerText.trim();

        navigator.clipboard.writeText(text).then(()=>{
            giftTemplate.classList.add("copied");
            setTimeout(()=>giftTemplate.classList.remove("copied"),700);
        }).catch(()=>{
            const textarea=document.createElement("textarea");
            textarea.value=text;
            textarea.style.position="fixed";
            textarea.style.opacity="0";
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand("copy");
            document.body.removeChild(textarea);

            giftTemplate.classList.add("copied");
            setTimeout(()=>giftTemplate.classList.remove("copied"),700);
        });
    }

    giftTemplate.addEventListener("click",copyGiftTemplate);

    giftTemplate.addEventListener("keydown",function(event){
        if(event.key==="Enter"||event.key===" "){
            event.preventDefault();
            copyGiftTemplate();
        }
    });
}

})();
</script>[/html]
[hideprofile]

0

3

[html]

<link rel="stylesheet" href="https://forumstatic.ru/files/001a/e7/a4/14178.css">

<div class="boston-inktober">

    <div class="boston-inktober__header">

        <div class="boston-inktober__eyebrow">
            Boston Creative Event
        </div>

        <h2 class="boston-inktober__title">
            INK<span>TOBER</span>
        </h2>

        <div class="boston-inktober__subtitle">
            18 ТЕМ/СЛОВ ✦ Игра пройдёт до 30.11 включительно
        </div>
<div class="boston-inktober__host">
Ведущая  ✦  <a href="https://bostoncrazzy.rusff.me/profile.php?id=1275">Nancy Drew</a>
</div>
        <div class="boston-inktober__ornament">
            ✦
        </div>

    </div>

    <div class="boston-inktober__rules">

        <div class="boston-inktober__rules-title">
            Правила участия:
        </div>

        <div class="boston-inktober__intro">
            Восемнадцать слов - восемнадцать поводов для Творчества. Выбирайте понравившуюся тему и воплощайте её любым из предложенных
            способов:
        </div>

        <div class="boston-inktober__rules-list">

            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">01</span>
                <span>Использовать слова можно в любом порядке и последовательности, но каждое слово можно применить только один раз: одно слово - одно задание.</span>
            </div>

            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">02</span>
                <span>Соответственно, в одном задании можно использовать только 1 из слов, представленных в таблице (пример: нельзя в одном посте использовать сразу все слова за раз)</span>
            </div>

            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">03</span>
                <span>При этом, вы не ограничены в том, как именно использовать слова: вы можете выбрать для себя только постовые задания, только графические или любой другой вид. А можете чередовать и смешивать задания в любой удобной последовательности.</span>
            </div>

            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">04</span>
                <span>Выполненное задание выкладывается участником в этой теме (1 задание/слово = 1 новое сообщение от участника)<br>
— в случае с постовым заданием: нужно принести ссылку на пост, а также цитату с выполнением условия/использованием слова<br>
— в случае с графическим/творческим/фото заданием: нужно принести либо саму работу, либо ссылку на пост, куда вы её выложили (если, например, участник сделал это в своём дневнике)<br>
— в остальных случаях приносить задание можно в свободной форме
</span>
            </div>

<div class="boston-inktober__rule boston-inktober__rule-wide">
<span class="boston-inktober__rule-number">05</span>
<div class="boston-inktober__options">
<div class="boston-inktober__options-title">Варианты заданий, как именно можно задействовать слова:</div>

<div class="boston-inktober__options-grid">

<div class="boston-inktober__options-column">

<div class="boston-inktober__category">Пост</div>
<div class="boston-inktober__option"><b>01.</b> обыграть тему в посте</div>
<div class="boston-inktober__option"><b>02.</b> использовать в посте соответствующее слово</div>

<div class="boston-inktober__category">Реал</div>
<div class="boston-inktober__option"><b>03.</b> нарисовать что-то в соответствующей тематике</div>
<div class="boston-inktober__option"><b>04.</b> сфотографировать что-то, соответствующее тематике</div>

</div>

<div class="boston-inktober__options-column">

<div class="boston-inktober__category">Графика</div>
<div class="boston-inktober__option"><b>05.</b> создать графику (аватар, комплект, эстетику, эпиграф, пазл) в тематике слова</div>
<div class="boston-inktober__option"><b>06.</b> использовать слово непосредственно на графической работе</div>

<div class="boston-inktober__category">Творчество</div>
<div class="boston-inktober__option"><b>07.</b> написать стихи с использованием слова</div>
<div class="boston-inktober__option"><b>08.</b> написать зарисовку на тему из списка</div>

<div class="boston-inktober__category">Иное</div>
<div class="boston-inktober__option"><b>09.</b> создать эпизод, в названии которого будет присутствовать данное слово</div>
<div class="boston-inktober__option"><b>10.</b> любой полёт вашей креативности и фантазии с использованием слова</div>

</div>
</div>
</div>
</div>

</div>
</div>

    <div class="boston-inktober__section">

        <div class="boston-inktober__section-title">
            The Word List
        </div>

        <div class="boston-inktober__section-subtitle">
            18 words to inspire you
        </div>

    </div>

    <div class="boston-inktober__grid">

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">01</span>
            <span class="boston-inktober__word">Apple</span>
            <span class="boston-inktober__translation">Яблоко</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">02</span>
            <span class="boston-inktober__word">Relic</span>
            <span class="boston-inktober__translation">Реликвия</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">03</span>
            <span class="boston-inktober__word">Smack</span>
            <span class="boston-inktober__translation">Шлепок / Удар</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">04</span>
            <span class="boston-inktober__word">Panic</span>
            <span class="boston-inktober__translation">Паника</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">05</span>
            <span class="boston-inktober__word">Mystical</span>
            <span class="boston-inktober__translation">Мистический</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">06</span>
            <span class="boston-inktober__word">Rescue</span>
            <span class="boston-inktober__translation">Спасение</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">07</span>
            <span class="boston-inktober__word">Flimsy</span>
            <span class="boston-inktober__translation">Хрупкий / Хлипкий</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">08</span>
            <span class="boston-inktober__word">Lady</span>
            <span class="boston-inktober__translation">Леди / Дама</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">09</span>
            <span class="boston-inktober__word">Confused</span>
            <span class="boston-inktober__translation">Запутавшийся / Растерянный</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">10</span>
            <span class="boston-inktober__word">Hero</span>
            <span class="boston-inktober__translation">Герой</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">11</span>
            <span class="boston-inktober__word">Beacon</span>
            <span class="boston-inktober__translation">Маяк</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">12</span>
            <span class="boston-inktober__word">Dapper</span>
            <span class="boston-inktober__translation">Щеголеватый / Опрятный</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">13</span>
            <span class="boston-inktober__word">Bake</span>
            <span class="boston-inktober__translation">Выпекать</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">14</span>
            <span class="boston-inktober__word">Fracture</span>
            <span class="boston-inktober__translation">Перелом / Трещина</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">15</span>
            <span class="boston-inktober__word">Zip</span>
            <span class="boston-inktober__translation">Молния / Свист</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">16</span>
            <span class="boston-inktober__word">Dumb</span>
            <span class="boston-inktober__translation">Глупый / Немой</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">17</span>
            <span class="boston-inktober__word">Trophy</span>
            <span class="boston-inktober__translation">Трофей</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">18</span>
            <span class="boston-inktober__word">Cookie</span>
            <span class="boston-inktober__translation">Печенье</span>
        </div>

    </div>

    <div class="boston-inktober__footer">
        ✦ Every word is a beginning of a new story ✦
    </div>

</div>
[/html]

0

4

[html]
<div class="boston-inktober-wrapper">

<style>
/* Сброс возможных конфликтов от родительского форума */
.boston-inktober-wrapper {
    width: 100%;
    display: block;
    box-sizing: border-box;
}
.boston-inktober-wrapper * {
    box-sizing: border-box;
}

.boston-inktober {
    --ink-paper: #f1e5d0;
    --ink-paper-light: #fbf3e5;
    --ink-dark: #302d25;
    --ink-brown: #66513c;
    --ink-orange: #bc6b35;
    --ink-olive: #777b56;
    --ink-sage: #c4c6a4;
    --ink-border: rgba(80, 65, 43, .20);

    /* Главное изменение: вместо max-width: 1050px ставим 100% */
    width: 100%;
    max-width: 100%;
    margin: 25px auto;
    padding: 45px 35px;
    box-sizing: border-box;

    /* Фон с картинкой */
    background:
        linear-gradient(rgba(241, 229, 208, .78), rgba(241, 229, 208, .88)),
        url("https://upforme.ru/uploads/001a/e7/a4/1275/220804.png") center / cover no-repeat;
    color: var(--ink-dark);
    border: 1px solid #cbb99b;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(30, 25, 15, .15);
    font-family: Georgia, "Times New Roman", serif;
    position: relative;
    overflow: hidden;
}

/* Декоративная внутренняя рамка */
.boston-inktober::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(102, 81, 60, .25);
    border-radius: 5px;
    pointer-events: none;
}

/* Заголовок */
.boston-inktober__header { position: relative; text-align: center; margin-bottom: 35px; }
.boston-inktober__eyebrow { font-family: Arial, sans-serif; font-size: 10px; font-weight: bold; letter-spacing: 5px; text-transform: uppercase; color: var(--ink-orange); }
.boston-inktober__title { margin: 12px 0 8px; font-size: clamp(42px, 7vw, 78px); line-height: 1; letter-spacing: -3px; font-weight: normal; color: var(--ink-dark); }
.boston-inktober__title span { color: var(--ink-orange); font-style: italic; }
.boston-inktober__subtitle { margin-top: 15px; font-family: Arial, sans-serif; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--ink-brown); }
.boston-inktober__ornament { margin: 25px auto 0; max-width: 250px; display: flex; align-items: center; gap: 15px; color: var(--ink-orange); }
.boston-inktober__ornament::before, .boston-inktober__ornament::after { content: ""; flex: 1; height: 1px; background: #c7aa85; }

/* Правила */
.boston-inktober__rules {
    position: relative; margin-bottom: 38px; padding: 27px 30px;
    background: rgba(241, 229, 208, 0.65); /* сделал чуть плотнее для читаемости */
    backdrop-filter: blur(6px); /* размытие фона под правилами */
    border-left: 4px solid var(--ink-orange);
    border-radius: 3px 12px 12px 3px;
    box-shadow: 0 5px 15px rgba(70, 50, 25, .06);
}
.boston-inktober__rules-title { margin-bottom: 15px; font-size: 23px; font-style: italic; color: var(--ink-orange); }
.boston-inktober__intro { margin-bottom: 18px; font-size: 13px; line-height: 1.8; color: var(--ink-brown); }
.boston-inktober__rules-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.boston-inktober__rule { display: flex; align-items: flex-start; gap: 10px; font-size: 12px; line-height: 1.6; }
.boston-inktober__rule-number { flex-shrink: 0; width: 23px; height: 23px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #e8d5ba; font-family: Arial, sans-serif; font-size: 10px; font-weight: bold; color: var(--ink-orange); }

/* Сетка слов */
.boston-inktober__section { text-align: center; margin-bottom: 23px; }
.boston-inktober__section-title { font-size: 28px; font-style: italic; color: var(--ink-dark); }
.boston-inktober__section-subtitle { margin-top: 7px; font-family: Arial, sans-serif; font-size: 10px; letter-spacing: 3px; color: var(--ink-orange); text-transform: uppercase; }

.boston-inktober__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.boston-inktober__card {
    position: relative; min-height: 125px; padding: 22px 9px 15px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; background: #e5d6bb; border: 1px solid rgba(80, 65, 43, .12); border-radius: 8px;
    box-shadow: 0 5px 10px rgba(60, 45, 25, .08); transition: transform .25s ease, box-shadow .25s ease;
    cursor: pointer; user-select: none;
}
.boston-inktober__card:nth-child(4n+2) { background: #c9c9aa; }
.boston-inktober__card:nth-child(4n+3) { background: #d8b995; }
.boston-inktober__card:nth-child(4n+4) { background: #b1b496; }
.boston-inktober__card:hover { transform: translateY(-5px); box-shadow: 0 10px 18px rgba(60, 45, 25, .18); }
.boston-inktober__day { position: absolute; top: 9px; left: 10px; font-family: Arial, sans-serif; font-size: 10px; font-weight: bold; letter-spacing: 1px; color: rgba(48, 45, 37, .55); }
.boston-inktober__word { font-size: 17px; line-height: 1.2; font-weight: bold; color: #433326; overflow-wrap: anywhere; }
.boston-inktober__translation { margin-top: 9px; font-family: Arial, sans-serif; font-size: 13px; line-height: 1.4; color: #69523e; }

/* Дополнительные варианты (Пост, Реал, Графика и т.д.) */
.boston-inktober__options { flex: 1; min-width: 0; }
.boston-inktober__options-title { margin-bottom: 15px; font-size: 13px; font-weight: bold; line-height: 1.6; color: var(--ink-dark); }
.boston-inktober__category { margin: 15px 0 7px; padding-bottom: 4px; font-family: Georgia, serif; font-size: 15px; font-style: italic; font-weight: bold; color: var(--ink-orange); border-bottom: 1px solid rgba(188, 107, 53, .25); }
.boston-inktober__option { margin: 5px 0; padding-left: 8px; font-size: 12px; line-height: 1.6; color: var(--ink-brown); }
.boston-inktober__option b { display: inline-block; min-width: 27px; font-family: Arial, sans-serif; font-size: 10px; color: var(--ink-orange); }

/* Подвал */
.boston-inktober__footer { margin-top: 30px; text-align: center; font-size: 12px; font-style: italic; color: var(--ink-brown); }

/* Награды */
.boston-inktober__rewards { margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(102,81,60,.25); text-align: center; }
.boston-inktober__rewards-title { margin-bottom: 17px; font-family: Georgia, serif; font-size: 20px; font-style: italic; color: var(--ink-orange); }
.boston-inktober__rewards-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.boston-inktober__reward { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; min-height: 95px; padding: 15px 10px; background: #e5d6bb; border: 1px solid rgba(80,65,43,.15); border-radius: 8px; }
.boston-inktober__reward:nth-child(2) { background: #c9c9aa; }
.boston-inktober__reward:nth-child(3) { background: #d8b995; }
.boston-inktober__reward span { font-family: Arial, sans-serif; font-size: 11px; font-weight: bold; letter-spacing: 2px; color: #8d5938; }
.boston-inktober__reward b { font-family: Georgia, serif; font-size: 15px; color: #433326; }
.boston-inktober__reward small { font-family: Georgia, serif; font-size: 11px; font-style: italic; color: #69523e; }

/* Отметки выполненных заданий */
.boston-inktober__card.is-completed { background: #858b6b !important; border-color: #65704e; box-shadow: inset 0 2px 8px rgba(0,0,0,.12); }
.boston-inktober__card.is-completed .boston-inktober__word, .boston-inktober__card.is-completed .boston-inktober__translation { text-decoration: line-through; text-decoration-thickness: 1px; opacity: .65; }
.boston-inktober__card.is-completed::after { content: "✓"; position: absolute; top: 7px; right: 10px; font-family: Arial, sans-serif; font-size: 17px; font-weight: bold; color: #405033; }

/* Адаптивность */
@media (max-width: 900px) {
    .boston-inktober { padding: 30px 20px; }
    .boston-inktober__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .boston-inktober__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .boston-inktober__rules-list { grid-template-columns: 1fr; }
}
@media (max-width: 500px) {
    .boston-inktober { padding: 20px 15px; }
    .boston-inktober__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .boston-inktober__title { font-size: 38px; }
    .boston-inktober__rewards-grid { grid-template-columns: 1fr; }
}
</style>

<div class="boston-inktober">

    <div class="boston-inktober__header">
        <div class="boston-inktober__eyebrow">Boston Creative Event</div>
        <h2 class="boston-inktober__title">INK<span>TOBER</span></h2>
        <div class="boston-inktober__subtitle">18 ТЕМ/СЛОВ ✦ Игра пройдёт до <b>30.11</b> включительно</div>
        <div class="boston-inktober__host">Ведущая <a href="https://bostoncrazzy.rusff.me/profile.php?id=1275">Nancy Drew</a></div>
        <div class="boston-inktober__ornament">✦</div>
    </div>

    <div class="boston-inktober__rules">
        <div class="boston-inktober__rules-title">Правила участия:</div>
        <div class="boston-inktober__intro">
            Восемнадцать слов — восемнадцать поводов для Творчества. Выбирайте понравившуюся тему и воплощайте её любым из предложенных способов:
        </div>

        <div class="boston-inktober__rules-list">
            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">01</span>
                <span>Использовать слова можно в любом порядке, но каждое слово можно применить только один раз: одно слово — одно задание.</span>
            </div>
            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">02</span>
                <span>В одном задании можно использовать только 1 из слов (нельзя в одном посте использовать сразу все слова за раз).</span>
            </div>
            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">03</span>
                <span>Вы не ограничены в том, как именно использовать слова: можно выбрать только постовые задания, только графические или любой другой вид. <br><br><i>В активности можно участвовать Твинами — но каждый профиль выполняет задания отдельно.</i></span>
            </div>
            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">04</span>
                <span>Выполненное задание выкладывается участником в этой теме (1 задание = 1 новое сообщение).<br>— для постового: ссылка на пост + цитата;<br>— для графики: сама работа или ссылка на неё;<br>— в остальных случаях — в свободной форме.</span>
            </div>

            <div class="boston-inktober__rule boston-inktober__rule-wide" style="grid-column: 1 / -1;">
                <span class="boston-inktober__rule-number">05</span>
                <div class="boston-inktober__options">
                    <div class="boston-inktober__options-title">Варианты заданий:</div>
                    <div class="boston-inktober__options-grid" style="display: grid; grid-template-columns: 1fr 1fr; gap: 35px; align-items: start;">
                       
                        <div class="boston-inktober__options-column">
                            <div class="boston-inktober__category">Пост</div>
                            <div class="boston-inktober__option"><b>01.</b> обыграть тему в посте</div>
                            <div class="boston-inktober__option"><b>02.</b> использовать в посте соответствующее слово</div>

                            <div class="boston-inktober__category">Реал</div>
                            <div class="boston-inktober__option"><b>03.</b> нарисовать что-то в соответствующей тематике</div>
                            <div class="boston-inktober__option"><b>04.</b> сфотографировать что-то, соответствующее тематике</div>

                            <div class="boston-inktober__category">Графика</div>
                            <div class="boston-inktober__option"><b>05.</b> создать графику (аватар, комплект, эстетику, эпиграф, пазл)</div>
                            <div class="boston-inktober__option"><b>06.</b> использовать слово на графической работе</div>
                        </div>

                        <div class="boston-inktober__options-column">
                            <div class="boston-inktober__category">Творчество</div>
                            <div class="boston-inktober__option"><b>07.</b> написать стихи с использованием слова</div>
                            <div class="boston-inktober__option"><b>08.</b> написать зарисовку на тему из списка</div>

                            <div class="boston-inktober__category">Иное</div>
                            <div class="boston-inktober__option"><b>09.</b> создать эпизод с этим словом в названии</div>
                            <div class="boston-inktober__option"><b>10.</b> любой полёт вашей креативности</div>

                            <img src="https://upforme.ru/uploads/001a/e7/a4/1275/393277.png" alt="Картинка" style="display:block; max-width:100%; max-height:160px; width:auto; height:auto; margin:12px auto 0; object-fit:contain;">
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="boston-inktober__section">
        <div class="boston-inktober__section-title">The Word List</div>
        <div class="boston-inktober__section-subtitle">18 words to inspire you</div>
    </div>

    <div class="boston-inktober__grid">
        <div class="boston-inktober__card"><span class="boston-inktober__day">01</span><span class="boston-inktober__word">Apple</span><span class="boston-inktober__translation">Яблоко</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">02</span><span class="boston-inktober__word">Relic</span><span class="boston-inktober__translation">Реликвия</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">03</span><span class="boston-inktober__word">Smack</span><span class="boston-inktober__translation">Шлепок / Удар</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">04</span><span class="boston-inktober__word">Panic</span><span class="boston-inktober__translation">Паника</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">05</span><span class="boston-inktober__word">Mystical</span><span class="boston-inktober__translation">Мистический</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">06</span><span class="boston-inktober__word">Rescue</span><span class="boston-inktober__translation">Спасение</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">07</span><span class="boston-inktober__word">Flimsy</span><span class="boston-inktober__translation">Хрупкий / Хлипкий</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">08</span><span class="boston-inktober__word">Lady</span><span class="boston-inktober__translation">Леди / Дама</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">09</span><span class="boston-inktober__word">Confused</span><span class="boston-inktober__translation">Запутавшийся</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">10</span><span class="boston-inktober__word">Hero</span><span class="boston-inktober__translation">Герой</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">11</span><span class="boston-inktober__word">Beacon</span><span class="boston-inktober__translation">Маяк</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">12</span><span class="boston-inktober__word">Dapper</span><span class="boston-inktober__translation">Щеголеватый</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">13</span><span class="boston-inktober__word">Bake</span><span class="boston-inktober__translation">Выпекать</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">14</span><span class="boston-inktober__word">Fracture</span><span class="boston-inktober__translation">Перелом / Трещина</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">15</span><span class="boston-inktober__word">Zip</span><span class="boston-inktober__translation">Молния / Свист</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">16</span><span class="boston-inktober__word">Dumb</span><span class="boston-inktober__translation">Глупый / Немой</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">17</span><span class="boston-inktober__word">Trophy</span><span class="boston-inktober__translation">Трофей</span></div>
        <div class="boston-inktober__card"><span class="boston-inktober__day">18</span><span class="boston-inktober__word">Cookie</span><span class="boston-inktober__translation">Печенье</span></div>
    </div>

    <div class="boston-inktober__footer">✦ Every word is a beginning of a new story ✦</div>

    <div class="boston-inktober__rewards">
        <div class="boston-inktober__rewards-title">✦ Награды ✦</div>
        <div class="boston-inktober__rewards-grid">
            <div class="boston-inktober__reward"><span>06 ДНЕЙ</span><b>Бесплатная плашка</b></div>
            <div class="boston-inktober__reward"><span>12 ДНЕЙ</span><b>10 подарков</b><small>+ предыдущий приз</small></div>
            <div class="boston-inktober__reward"><span>18 ДНЕЙ</span><b>1.000$</b><small>+ все предыдущие призы</small></div>
        </div>
    </div>

</div>

<script>
(function () {
    const cards = document.querySelectorAll('.boston-inktober__card');
    const storageKey = 'boston_inktober_completed_v1';

    let completed = [];
    try {
        completed = JSON.parse(localStorage.getItem(storageKey) || '[]');
        if (!Array.isArray(completed)) completed = [];
    } catch (e) { completed = []; }

    cards.forEach(function(card, index) {
        const id = String(index + 1);
        if (completed.includes(id)) card.classList.add('is-completed');

        card.addEventListener('click', function() {
            card.classList.toggle('is-completed');
            if (card.classList.contains('is-completed')) {
                if (!completed.includes(id)) completed.push(id);
            } else {
                completed = completed.filter(item => item !== id);
            }
            try { localStorage.setItem(storageKey, JSON.stringify(completed)); } catch (e) {}
        });
    });
})();
</script>

</div>
[/html]

0

5

https://upforme.ru/uploads/001b/0f/ee/351/745517.png

https://upforme.ru/uploads/001b/0f/ee/351/709504.png
https://upforme.ru/uploads/001b/0f/ee/351/482356.png
https://upforme.ru/uploads/001b/0f/ee/351/683717.png

0

6

[html]<center>
  <div class="nonameinst"><div class="nonameinst2">
   
<!-- Ссылка на аватар -->
      <img src="https://upforme.ru/uploads/001a/e7/a4/1275/63038.jpg
" class="man">
     
<div class="user-info">
<!-- В следующей строке, после собачки добавь никнейм -->
        <div class="seeds">@drew_by_nancy</div>

<!-- Добавить номер публикации и подписчиков -->
        <div class="buds2">269 публикаций 100.5к подписчиков</div>

<!-- В следующей строке добавь текст статуса -->
        <div class="buds">On the case</div>
      </div>
      <a href="https://bostoncrazzy.rusff.me/" class="knop">Подписаться</a>
    </div>

<!-- В следующей строке замени ссылку, на ссылку фото твоей публикации -->
    <div class="foto" style="background-image:URL(http://placehold.it/400x400);">

      <div class="text">
<!-- Сюда напиши текст публикации -->
        Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста Текст вашего поста
      </div>
    </div>
  </div>
</center>

<style type="text/css">
  .nonameinst {
    width: 470px;
    padding: 10px 0;
    height: auto;
    position: relative;
    background-color: #fff;
    margin: auto;
  }
  .nonameinst2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 20px;
    background-color: #fff;
    text-align: center;
  }
  .user-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-left: 20px;
  }
  .seeds, .buds, .buds2, .knop, .man {
    display: block;
  }
  .seeds {
    font-family: Lato, sans-serif;
    font-size: 20px;
    font-weight: 600;
    text-transform: lowercase;
    color: #000;
    margin-bottom: 5px;
  }
  .buds {
    font-size: 12px;
    text-transform: uppercase;
    color: #000;
    text-align: left;
    margin-bottom: 5px;
  }
  .buds2 {
    font-size: 10px;
    text-transform: uppercase;
    color: #000;
    text-align: left;
    margin-bottom: 5px;
  }
  .knop {
    width: 90px;
    height: 20px;
    background: #3897f0;
    border-radius: 5px;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    margin-left: auto;
    text-decoration: none;
  }
  .man {
    height: 100px;
    width: 100px;
    border-radius: 50%;
  }
  .foto {
    height: 400px;
    width: 400px;
    margin: 15px auto;
    background-size: cover;
    position: relative;
  }
  .foto:hover .text {
    opacity: 0.7;
  }
  .text {
    opacity: 0;
    width: 360px;
    height: 250px;
    background-color: #fff;
    position: absolute;
    font-size: 14px;
    color: #555;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s ease;
    text-align: justify;
    overflow: hidden;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
</style>[/html]

0

7

[html]
    <div class="episod">
        <h4>очень красивое и длинное название игрового эпизода</h4>
        <div class="episod_inner">
            <div class="datavrema">
                <div class="episod_faces">
                    <a href="ссылка на профиль"><img src="https://forumstatic.ru/files/001c/33/e8/36564.webp" title="имя персонажа"></a>
                    <a href="ссылка на профиль"><img src="https://forumstatic.ru/files/001c/33/e8/36564.webp" title="имя персонажа"></a>
                    <a href="ссылка на профиль"><img src="https://forumstatic.ru/files/001c/33/e8/36564.webp" title="имя персонажа"></a>
                </div>
                <span>дата и время ▪ место событий</span>
            </div>
            <div class="episod_opis">
                <p> описание эпизода </p>
            </div>
        </div>
    </div>

<style>
:root {
    --border: 1px solid #d2d2d2;
    --background1: #f6f6f6;
    --background2: #ffffff;
    --text: #969696;
}

.episod {
    position: relative;
    margin: 40px auto 0 !important;
    box-sizing: border-box;
    border: var(--border);
    background: var(--background1);
    width: 624px;
    height: 324px;
    padding: 10px;
}

.episod_inner {
    border: var(--border);
    box-sizing: border-box;
    background: var(--background2);
    width: 100%;
    height: 100%;
}

.episod h4 {
    border: var(--border);
    background: var(--background1);
    position: absolute;
    width: 544px;
    transform: translate(-50%, -100%);
    margin-top: 0px;
    left: 50%;
    text-align: center;
    border-bottom: none;
    font-size: 16px!important;
    padding: 4px;
    font-weight: normal;
    font-family: "AppetitePro"!important;
    color: var(--text);
    line-height: 1.2;
    text-shadow: 1px 2px 1px #ffffff;
}

.datavrema {
    border-block: var(--border);
    background: var(--background1);
    position: relative;
    width: 100%;
    height: 64px;
    margin-top: 68px!important;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 5px;
    gap: 20px;
}

.datavrema span {
    font-size: 11px;
    font-family: "Verdana";
    color: var(--text);
    line-height: 1.2;
}

.episod_faces {
    display: flex;
    gap: 40px;
    align-items: flex-end;
}

.episod_faces a {
    display: block;
    height: 60px;
    width: 60px;
}

.episod_faces a img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: top center;
    filter: grayscale(100%);
    border: var(--border);
}

.episod_opis {
    margin: 30px 30px!important;
    font-size: 11px;
    font-family: "Verdana";
    color: var(--text);
    line-height: 1.2;
    height: 120px;
    overflow: auto;
    text-align: justify;
    scrollbar-width: thin;
    padding: 0 10px 0 10px;
}
html:has(.episod):not(:has(#pun)) {
    min-width: 0 !important;
    background: transparent !important;
}

body:has(.episod):not(:has(#pun)) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    background: transparent !important;
}

body:has(.episod):not(:has(#pun))::before,
body:has(.episod):not(:has(#pun))::after {
    content: none !important;
    display: none !important;
}

.episod {
    width: 624px;
    max-width: 100%;
}

.episod h4 {
    box-sizing: border-box;
    max-width: calc(100% - 40px);
}

.episod_faces a {
    flex: 0 0 60px;
}

.episod_faces a img {
    display: block;
    box-sizing: border-box;
}

.episod_opis p {
    margin: 0;
    font: inherit;
    color: inherit;
}
</style>[/html]

0

8

[html]<style>
/* =========================================================
   🍂 AUTUMN BINGO
   ========================================================= */

.autumn-bingo {
    --cream: #fce4cc;
    --cream-light: #fff1df;
    --peach: #feaa6c;
    --peach-light: #ffc18d;
    --terracotta: #a8390b;
    --brown: #5e1912;
    --brown-soft: #7b2b1c;
    --shadow: rgba(94, 25, 18, .22);

    width: min(1100px, 100%);
    margin: 30px auto;
    padding: 55px 45px 45px;
    box-sizing: border-box;

    background:
        linear-gradient(
            rgba(252, 228, 204, .68),
            rgba(252, 228, 204, .88)
        ),
        url("https://i.pinimg.com/1200x/13/04/60/130460cd38b529a91335cb18c406b30f.jpg");

    background-size: cover;
    background-position: center;
    background-attachment: scroll;

    border-radius: 34px;

    color: var(--brown);

    font-family:
        "Trebuchet MS",
        Arial,
        sans-serif;

    box-shadow:
        0 18px 45px rgba(94, 25, 18, .18);

    position: relative;
    overflow: hidden;
}

/* =========================================================
   ДЕКОРАТИВНЫЕ ЛИСТЬЯ
   ========================================================= */

.autumn-bingo::before,
.autumn-bingo::after {
    content: "🍂";
    position: absolute;
    font-size: 70px;
    opacity: .18;
    pointer-events: none;
}

.autumn-bingo::before {
    left: -10px;
    top: 35%;
    transform: rotate(-25deg);
}

.autumn-bingo::after {
    right: -5px;
    bottom: 15%;
    transform: rotate(25deg);
}

/* =========================================================
   ЗАГОЛОВОК
   ========================================================= */

.autumn-bingo__header {
    text-align: center;
    position: relative;
    z-index: 2;

    margin-bottom: 35px;
}

.autumn-bingo__magic {
    display: block;

    font-family: "Segoe Script",
                 "Brush Script MT",
                 cursive;

    font-size: clamp(32px, 5vw, 58px);
    line-height: .9;

    color: var(--terracotta);

    transform: rotate(-2deg);

    margin-bottom: 4px;
}

.autumn-bingo__title {
    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(54px, 8vw, 92px);
    line-height: .85;

    font-weight: 900;

    letter-spacing: -4px;

    color: var(--brown);

    text-shadow:
        4px 5px 0 rgba(168, 57, 11, .18);
}

.autumn-bingo__subtitle {
    margin: 22px auto 0;

    max-width: 600px;

    font-size: 13px;
    line-height: 1.6;

    color: var(--brown-soft);

    text-transform: uppercase;
    letter-spacing: 2px;
}

/* =========================================================
   СТАТИСТИКА
   ========================================================= */

.autumn-bingo__progress {
    width: min(420px, 100%);
    margin: 25px auto 0;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    font-size: 13px;
    font-weight: bold;

    color: var(--brown);
}

.autumn-bingo__progress-number {
    min-width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: var(--terracotta);
    color: var(--cream-light);

    border-radius: 50%;

    font-size: 14px;

    box-shadow:
        0 5px 12px rgba(94, 25, 18, .2);
}

/* =========================================================
   BINGO GRID
   ========================================================= */

.autumn-bingo__grid {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 12px;

    width: 100%;
}

/* =========================================================
   КАРТОЧКА
   ========================================================= */

.autumn-bingo__card {
    position: relative;

    min-height: 145px;

    padding: 17px 13px;

    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            var(--peach-light),
            var(--peach)
        );

    border-radius: 25px;

    border: 3px solid rgba(255,255,255,.22);

    box-shadow:
        0 7px 14px var(--shadow);

    cursor: pointer;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease,
        filter .25s ease;
}

/* номер */

.autumn-bingo__number {
    position: absolute;

    top: 9px;
    left: 11px;

    font-size: 10px;
    font-weight: 900;

    color: rgba(94, 25, 18, .55);

    letter-spacing: 1px;
}

/* текст */

.autumn-bingo__text {
    margin-top: 7px;

    font-size: 13px;
    line-height: 1.35;

    font-weight: 700;

    color: var(--brown);
}

/* =========================================================
   HOVER
   ========================================================= */

.autumn-bingo__card:hover {
    transform:
        translateY(-6px)
        rotate(-1deg);

    box-shadow:
        0 14px 24px rgba(94, 25, 18, .28);

    background:
        linear-gradient(
            145deg,
            #ffc796,
            #ffad6f
        );
}

/* =========================================================
   ВЫПОЛНЕНО
   ========================================================= */

.autumn-bingo__card.completed {
    background:
        linear-gradient(
            145deg,
            var(--terracotta),
            var(--brown-soft)
        );

    box-shadow:
        inset 0 0 0 2px rgba(255,255,255,.1),
        0 8px 16px rgba(94, 25, 18, .25);

    transform: rotate(-1deg);
}

.autumn-bingo__card.completed
.autumn-bingo__text {
    color: var(--cream-light);
    opacity: .72;

    text-decoration:
        line-through;

    text-decoration-thickness: 1px;
}

.autumn-bingo__card.completed
.autumn-bingo__number {
    color: rgba(255,241,223,.55);
}

/* листочек на выполненной карточке */

.autumn-bingo__card.completed::after {
    content: "🍂";

    position: absolute;

    right: 9px;
    bottom: 7px;

    font-size: 21px;

    animation:
        autumnLeaf .4s ease;
}

@keyframes autumnLeaf {

    0% {
        opacity: 0;
        transform:
            scale(.3)
            rotate(-30deg);
    }

    70% {
        transform:
            scale(1.15)
            rotate(8deg);
    }

    100% {
        opacity: 1;
        transform:
            scale(1)
            rotate(0);
    }
}

/* =========================================================
   КНОПКА СБРОСА
   ========================================================= */

.autumn-bingo__reset {
    display: block;

    margin: 30px auto 0;

    padding: 11px 22px;

    border: 2px solid var(--brown);

    border-radius: 30px;

    background: transparent;

    color: var(--brown);

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;
    letter-spacing: 1px;

    cursor: pointer;

    transition:
        .2s ease;
}

.autumn-bingo__reset:hover {
    background: var(--brown);
    color: var(--cream-light);

    transform:
        translateY(-2px);
}

/* =========================================================
   🍂 ПРАВИЛА BINGO
   ========================================================= */

.autumn-bingo__rules {
    position: relative;
    z-index: 2;

    margin: 30px auto 0;
    padding: 22px 25px;

    max-width: 950px;

    background: rgba(255, 241, 223, .72);

    border: 2px solid rgba(94, 25, 18, .12);
    border-radius: 22px;

    box-shadow:
        0 7px 18px rgba(94, 25, 18, .10);

    color: var(--brown);

    font-size: 12px;
    line-height: 1.6;

    text-align: left;
}

.autumn-bingo__rules-title {
    margin-bottom: 14px;

    text-align: center;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 20px;
    font-weight: 900;

    color: var(--terracotta);

    letter-spacing: 1px;
}

.autumn-bingo__rules ul {
    margin: 0;
    padding: 0;

    list-style: none;
    font-size: 14px;
}

.autumn-bingo__rules li {
    position: relative;

    margin: 0;
    padding: 7px 5px 7px 24px;
}

.autumn-bingo__rules li::before {
    content: "🍂";

    position: absolute;

    left: 0;
    top: 7px;

    font-size: 13px;
}

.autumn-bingo__rules a {
    color: var(--terracotta);

    font-weight: 700;

    text-decoration: underline;
}

.autumn-bingo__rules a:hover {
    color: var(--brown);
}

/* =========================================================
   МОБИЛЬНАЯ ВЕРСИЯ
   ========================================================= */

@media (max-width: 900px) {

    .autumn-bingo {
        padding: 40px 25px 35px;
        border-radius: 25px;
    }

    .autumn-bingo__grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 10px;
    }

    .autumn-bingo__card {
        min-height: 135px;
        border-radius: 21px;
    }
}

@media (max-width: 560px) {

    .autumn-bingo {
        padding: 32px 12px 28px;
        border-radius: 18px;
    }

    .autumn-bingo__magic {
        font-size: 39px;
    }

    .autumn-bingo__title {
        font-size: 58px;
        letter-spacing: -3px;
    }

    .autumn-bingo__subtitle {
        font-size: 10px;
        letter-spacing: 1px;
    }

    .autumn-bingo__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 8px;
    }

    .autumn-bingo__card {
        min-height: 130px;
        padding: 17px 9px;

        border-radius: 19px;
    }

    .autumn-bingo__text {
        font-size: 13px;
        line-height: 1.3;
    }
}
</style>

<div class="autumn-bingo">

    <div class="autumn-bingo__header">

        <span class="autumn-bingo__magic">
            Autumn Magic
        </span>

        <h2 class="autumn-bingo__title">
            BINGO
        </h2>

        <div class="autumn-bingo__subtitle">
            Осень — время маленьких чудес
        </div>

        <div class="autumn-bingo__progress">

            <span>
                Выполнено
            </span>

            <span
                class="autumn-bingo__progress-number"
                id="autumnBingoCount"
            >0</span>

            <span>
                / 36
            </span>

        </div>

    </div>

    <div
        class="autumn-bingo__grid"
        id="autumnBingoGrid"
    >

        <!-- 01 -->
        <div class="autumn-bingo__card" data-id="1">
            <span class="autumn-bingo__number">01</span>
            <span class="autumn-bingo__text">
                Поучаствовать в 3 осенних конкурсах/активностях
            </span>
        </div>

        <!-- 02 -->
        <div class="autumn-bingo__card" data-id="2">
            <span class="autumn-bingo__number">02</span>
            <span class="autumn-bingo__text">
                Описать в посте осеннюю природу
            </span>
        </div>

        <!-- 03 -->
        <div class="autumn-bingo__card" data-id="3">
            <span class="autumn-bingo__number">03</span>
            <span class="autumn-bingo__text">
                Выпить горячее какао или горячий шоколад
            </span>
        </div>

        <!-- 04 -->
        <div class="autumn-bingo__card" data-id="4">
            <span class="autumn-bingo__number">04</span>
            <span class="autumn-bingo__text">
                Поздравить Бостон с днем рождения
            </span>
        </div>

        <!-- 05 -->
        <div class="autumn-bingo__card" data-id="5">
            <span class="autumn-bingo__number">05</span>
            <span class="autumn-bingo__text">
                Сделать осеннее фото с лужей или жёлтыми листьями и выложить в Инсту
            </span>
        </div>

        <!-- 06 -->
        <div class="autumn-bingo__card" data-id="6">
            <span class="autumn-bingo__number">06</span>
            <span class="autumn-bingo__text">
                Поучаствовать в осеннем календаре
            </span>
        </div>

        <!-- 07 -->
        <div class="autumn-bingo__card" data-id="7">
            <span class="autumn-bingo__number">07</span>
            <span class="autumn-bingo__text">
                Подарить 10 подарков из осенней коллекции
            </span>
        </div>

        <!-- 08 -->
        <div class="autumn-bingo__card" data-id="8">
            <span class="autumn-bingo__number">08</span>
            <span class="autumn-bingo__text">
                Собрать тот самый осенний плейлист в Музыке
            </span>
        </div>

        <!-- 09 -->
        <div class="autumn-bingo__card" data-id="9">
            <span class="autumn-bingo__number">09</span>
            <span class="autumn-bingo__text">
                Поучаствовать в флешмобе на Хэллоуин
            </span>
        </div>

        <!-- 10 -->
        <div class="autumn-bingo__card" data-id="10">
            <span class="autumn-bingo__number">10</span>
            <span class="autumn-bingo__text">
                Выложить в Инстаграм персонажа любимые шарф или шапку
            </span>
        </div>

        <!-- 11 -->
        <div class="autumn-bingo__card" data-id="11">
            <span class="autumn-bingo__number">11</span>
            <span class="autumn-bingo__text">
                Попасть в посте под дождь
            </span>
        </div>

        <!-- 12 -->
        <div class="autumn-bingo__card" data-id="12">
            <span class="autumn-bingo__number">12</span>
            <span class="autumn-bingo__text">
                Приготовить дома/попробовать в кафе блюдо из сезонного меню (фото в Инсту приветствуется)
            </span>
        </div>

        <!-- 13 -->
        <div class="autumn-bingo__card" data-id="13">
            <span class="autumn-bingo__number">13</span>
            <span class="autumn-bingo__text">
                Сделать для соигрока осеннюю эстетику и выложить в ассоциации
            </span>
        </div>

        <!-- 14 -->
        <div class="autumn-bingo__card" data-id="14">
            <span class="autumn-bingo__number">14</span>
            <span class="autumn-bingo__text">
                Посмотреть мистический фильм
            </span>
        </div>

        <!-- 15 -->
        <div class="autumn-bingo__card" data-id="15">
            <span class="autumn-bingo__number">15</span>
            <span class="autumn-bingo__text">
                Выложить в Чужими словами цитату про учеников/школьников
            </span>
        </div>

        <!-- 16 -->
        <div class="autumn-bingo__card" data-id="16">
            <span class="autumn-bingo__number">16</span>
            <span class="autumn-bingo__text">
                Написать 5 игрокам комплименты в Ты — мой повод улыбаться
            </span>
        </div>

        <!-- 17 -->
        <div class="autumn-bingo__card" data-id="17">
            <span class="autumn-bingo__number">17</span>
            <span class="autumn-bingo__text">
                Купить осеннее украшение (для себя или интерьера)
            </span>
        </div>

        <!-- 18 -->
        <div class="autumn-bingo__card" data-id="18">
            <span class="autumn-bingo__number">18</span>
            <span class="autumn-bingo__text">
                Поставить осеннюю заставку на телефон
            </span>
        </div>

        <!-- 19 -->
        <div class="autumn-bingo__card" data-id="19">
            <span class="autumn-bingo__number">19</span>
            <span class="autumn-bingo__text">
                Выложить в Инстаграм персонажа букет из листьев
            </span>
        </div>

        <!-- 20 -->
        <div class="autumn-bingo__card" data-id="20">
            <span class="autumn-bingo__number">20</span>
            <span class="autumn-bingo__text">
                Описать в посте встречу с друзьями
            </span>
        </div>

        <!-- 21 -->
        <div class="autumn-bingo__card" data-id="21">
            <span class="autumn-bingo__number">21</span>
            <span class="autumn-bingo__text">
                Принести осеннюю цитату соигрока
            </span>
        </div>

        <!-- 22 -->
        <div class="autumn-bingo__card" data-id="22">
            <span class="autumn-bingo__number">22</span>
            <span class="autumn-bingo__text">
                Упомянуть Хэллоуин в 2 постах
            </span>
        </div>

        <!-- 23 -->
        <div class="autumn-bingo__card" data-id="23">
            <span class="autumn-bingo__number">23</span>
            <span class="autumn-bingo__text">
                Подобрать персонажу и выложить в Инстаграм осенний гардероб
            </span>
        </div>

        <!-- 24 -->
        <div class="autumn-bingo__card" data-id="24">
            <span class="autumn-bingo__number">24</span>
            <span class="autumn-bingo__text">
                Приготовь блюдо с яблоками или тыквой (фото в Инсту приветствуется)
            </span>
        </div>

        <!-- 25 -->
        <div class="autumn-bingo__card" data-id="25">
            <span class="autumn-bingo__number">25</span>
            <span class="autumn-bingo__text">
                В Чужими словами выложи любимое осеннее стихотворение
            </span>
        </div>

        <!-- 26 -->
        <div class="autumn-bingo__card" data-id="26">
            <span class="autumn-bingo__number">26</span>
            <span class="autumn-bingo__text">
                Написать пост со словами поддержки/объятьями
            </span>
        </div>

        <!-- 27 -->
        <div class="autumn-bingo__card" data-id="27">
            <span class="autumn-bingo__number">27</span>
            <span class="autumn-bingo__text">
                Зажечь любимую осеннюю аромасвечу (фото в Инсту приветствуется)
            </span>
        </div>

        <!-- 28 -->
        <div class="autumn-bingo__card" data-id="28">
            <span class="autumn-bingo__number">28</span>
            <span class="autumn-bingo__text">
                Приготовить в посте индейку
            </span>
        </div>

        <!-- 29 -->
        <div class="autumn-bingo__card" data-id="29">
            <span class="autumn-bingo__number">29</span>
            <span class="autumn-bingo__text">
                Засушить красивый осенний листок (фото в Инсту приветствуется)
            </span>
        </div>

        <!-- 30 -->
        <div class="autumn-bingo__card" data-id="30">
            <span class="autumn-bingo__number">30</span>
            <span class="autumn-bingo__text">
                Оказаться в посте в роли учителя или ученика (не обязательно в школьнух условиях)
            </span>
        </div>

        <!-- 31 -->
        <div class="autumn-bingo__card" data-id="31">
            <span class="autumn-bingo__number">31</span>
            <span class="autumn-bingo__text">
                Принести 3 мема про осень
            </span>
        </div>

        <!-- 32 -->
        <div class="autumn-bingo__card" data-id="32">
            <span class="autumn-bingo__number">32</span>
            <span class="autumn-bingo__text">
                Создать новый эпизод за осень
            </span>
        </div>

        <!-- 33 -->
        <div class="autumn-bingo__card" data-id="33">
            <span class="autumn-bingo__number">33</span>
            <span class="autumn-bingo__text">
                Упомянуть в посте день Благодарения
            </span>
        </div>

        <!-- 34 -->
        <div class="autumn-bingo__card" data-id="34">
            <span class="autumn-bingo__number">34</span>
            <span class="autumn-bingo__text">
                Поучаствовать в осенней инста-неделе
            </span>
        </div>

        <!-- 35 -->
        <div class="autumn-bingo__card" data-id="35">
            <span class="autumn-bingo__number">35</span>
            <span class="autumn-bingo__text">
                Сходить в музей/кино или прогулку
            </span>
        </div>

        <!-- 36 -->
        <div class="autumn-bingo__card" data-id="36">
            <span class="autumn-bingo__number">36</span>
            <span class="autumn-bingo__text">
                Надеть любимый тёплый шарф/шаль/платок
            </span>
        </div>

    </div>

<div class="autumn-bingo__rules">
    <ul>
        <li>
            Заполнять бинго можно <b>до 07.12 включительно</b> в любом удобном для вас формате (текстом или таблицей ниже). Заполненные бинго выкладываются в данной теме (1 сообщение от участника);
        </li>

        <li>
            За каждую собранную горизонтальную или вертикальную полосу можно получить 20$. Итого полностью собранное бинго принесет вам 200$;
        </li>

        <li>
            Те, кто заполнят 22 и более клетки могут выбрать какой бонус из своих имеющихся хотят продублировать;
        </li>

        <li>
            Те, кто заполнят Всё бинго будут награждены зимним аватаром для персонажа;
        </li>

        <li>
            Для заданий, где требуется написать пост в эпизод или что-то выложить в одной из тем форума, нужно добавить ссылку подтверждение;
        </li>

        <li>
            Задания, где требуется выполнить некоторое действие и не указано, что это нужно сделать в эпизоде, выполняются участниками в реале. Мы не требуем подтверждения их исполнения и верим участникам на слово (но будем рады увидеть фотографии выполненного в  <a href="https://bostoncrazzy.rusff.me/viewtopic.php?id=73">Инсте</a>!).
        </li>

    </ul>

</div>

</div>

<script>
(function () {

    const cards =
        document.querySelectorAll(
            '.autumn-bingo__card'
        );

    const counter =
        document.getElementById(
            'autumnBingoCount'
        );

    const storageKey =
        'autumnMagicBingo2026';

    /* -----------------------------------------
       Получаем сохранённые задания
       ----------------------------------------- */

    let completed =
        JSON.parse(
            localStorage.getItem(storageKey)
        ) || [];

    /* -----------------------------------------
       Обновляем внешний вид
       ----------------------------------------- */

    function update() {

        cards.forEach(card => {

            const id =
                Number(card.dataset.id);

            card.classList.toggle(
                'completed',
                completed.includes(id)
            );

        });

        counter.textContent =
            completed.length;
    }

    /* -----------------------------------------
       Клик по заданию
       ----------------------------------------- */

    cards.forEach(card => {

        card.addEventListener(
            'click',
            function () {

                const id =
                    Number(this.dataset.id);

                if (
                    completed.includes(id)
                ) {

                    completed =
                        completed.filter(
                            item => item !== id
                        );

                } else {

                    completed.push(id);

                }

                localStorage.setItem(
                    storageKey,
                    JSON.stringify(completed)
                );

                update();

            }
        );

    });

    /* -----------------------------------------
       Запуск
       ----------------------------------------- */

    update();

})();
</script>[/html]

0

9

[html]

<link rel="stylesheet" href="https://forumstatic.ru/files/001c/3b/50/96994.css">
<style>
.boston-inktober {
    background:
        linear-gradient(rgba(241, 229, 208, .78), rgba(241, 229, 208, .88)),
        url("https://upforme.ru/uploads/001a/e7/a4/1275/220804.png") center / cover no-repeat;
}
.boston-inktober__rules {
  background: rgba(241, 229, 208, 0.45) !important;
    backdrop-filter: blur(4px);
      }

</style>
<style>
/* Отметки выполненных заданий Инктобера */

.boston-inktober__card {
    cursor: pointer;
    user-select: none;
}

.boston-inktober__card.is-completed {
    background: #858b6b !important;
    border-color: #65704e;
    box-shadow: inset 0 2px 8px rgba(0,0,0,.12);
}

.boston-inktober__card.is-completed .boston-inktober__word,
.boston-inktober__card.is-completed .boston-inktober__translation {
    text-decoration: line-through;
    text-decoration-thickness: 1px;
    opacity: .65;
}

.boston-inktober__card.is-completed::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 10px;
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: bold;
    color: #405033;
}

/* Награды Инктобера */

.boston-inktober__rewards {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid rgba(102,81,60,.25);
    text-align: center;
}

.boston-inktober__rewards-title {
    margin-bottom: 17px;
    font-family: Georgia, serif;
    font-size: 20px;
    font-style: italic;
    color: var(--ink-orange);
}

.boston-inktober__rewards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
}

.boston-inktober__reward {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 95px;
    padding: 15px 10px;
    box-sizing: border-box;
    background: #e5d6bb;
    border: 1px solid rgba(80,65,43,.15);
    border-radius: 8px;
}

.boston-inktober__reward:nth-child(2) {
    background: #c9c9aa;
}

.boston-inktober__reward:nth-child(3) {
    background: #d8b995;
}

.boston-inktober__reward span {
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #8d5938;
}

.boston-inktober__reward b {
    font-family: Georgia, serif;
    font-size: 15px;
    color: #433326;
}

.boston-inktober__reward small {
    font-family: Georgia, serif;
    font-size: 11px;
    font-style: italic;
    color: #69523e;
}

@media (max-width: 500px) {
    .boston-inktober__rewards-grid {
        grid-template-columns: 1fr;
    }
}
</style>

<div class="boston-inktober">

    <div class="boston-inktober__header">

        <div class="boston-inktober__eyebrow">
            Boston Creative Event
        </div>

        <h2 class="boston-inktober__title">
            INK<span>TOBER</span>
        </h2>

        <div class="boston-inktober__subtitle">
            18 ТЕМ/СЛОВ  Игра пройдёт до 30.11 включительно
        </div>
<div class="boston-inktober__host">
Ведущая    <a href="https://bostoncrazzy.rusff.me/profile.php?id=1275">Nancy Drew</a>
</div>
        <div class="boston-inktober__ornament">
           
        </div>

    </div>

    <div class="boston-inktober__rules">

        <div class="boston-inktober__rules-title">
            Правила участия:
        </div>

        <div class="boston-inktober__intro">
            Восемнадцать слов - восемнадцать поводов для Творчества. Выбирайте понравившуюся тему и воплощайте её любым из предложенных
            способов:
        </div>

        <div class="boston-inktober__rules-list">

            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">01</span>
                <span>Использовать слова можно в любом порядке и последовательности, но каждое слово можно применить только один раз: одно слово - одно задание.</span>
            </div>

            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">02</span>
                <span>Соответственно, в одном задании можно использовать только 1 из слов, представленных в таблице (пример: нельзя в одном посте использовать сразу все слова за раз)</span>
            </div>

            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">03</span>
                <span>При этом, вы не ограничены в том, как именно использовать слова: вы можете выбрать для себя только постовые задания, только графические или любой другой вид. А можете чередовать и смешивать задания в любой удобной последовательности.<br><br>
                <i>В активности можно участвовать Твинами - но каждый профиль выполняет задания отдельно.</i></span>
            </div>

            <div class="boston-inktober__rule">
                <span class="boston-inktober__rule-number">04</span>
                <span>Выполненное задание выкладывается участником в этой теме (1 задание/слово = 1 новое сообщение от участника)<br>
— в случае с постовым заданием: нужно принести ссылку на пост, а также цитату с выполнением условия/использованием слова<br>
— в случае с графическим/творческим/фото заданием: нужно принести либо саму работу, либо ссылку на пост, куда вы её выложили (если, например, участник сделал это в своём дневнике)<br>
— в остальных случаях приносить задание можно в свободной форме
</span>
            </div>

<div class="boston-inktober__rule boston-inktober__rule-wide">
<span class="boston-inktober__rule-number">05</span>
<div class="boston-inktober__options">
<div class="boston-inktober__options-title">Варианты заданий, как именно можно задействовать слова:</div>

<div class="boston-inktober__options-grid">

<div class="boston-inktober__options-column">

<div class="boston-inktober__category">Пост</div>
<div class="boston-inktober__option"><b>01.</b> обыграть тему в посте</div>
<div class="boston-inktober__option"><b>02.</b> использовать в посте соответствующее слово</div>

<div class="boston-inktober__category">Реал</div>
<div class="boston-inktober__option"><b>03.</b> нарисовать что-то в соответствующей тематике</div>
<div class="boston-inktober__option"><b>04.</b> сфотографировать что-то, соответствующее тематике</div>

<div class="boston-inktober__category">Графика</div>
<div class="boston-inktober__option"><b>05.</b> создать графику (аватар, комплект, эстетику, эпиграф, пазл) в тематике слова</div>
<div class="boston-inktober__option"><b>06.</b> использовать слово непосредственно на графической работе</div>
</div>

<div class="boston-inktober__options-column">

<div class="boston-inktober__category">Творчество</div>
<div class="boston-inktober__option"><b>07.</b> написать стихи с использованием слова</div>
<div class="boston-inktober__option"><b>08.</b> написать зарисовку на тему из списка</div>

<div class="boston-inktober__category">Иное</div>
<div class="boston-inktober__option"><b>09.</b> создать эпизод, в названии которого будет присутствовать данное слово</div>
<div class="boston-inktober__option"><b>10.</b> любой полёт вашей креативности и фантазии с использованием слова</div>

<img src="https://upforme.ru/uploads/001a/e7/a4/1275/393277.png"
     alt="Картинка"
     class="boston-inktober__option-image"
     style="display:block; max-width:100%; max-height:200px; width:auto; height:auto; margin:12px auto 0; object-fit:contain;">

</div>
</div>
</div>
</div>

</div>
</div>

    <div class="boston-inktober__section">

        <div class="boston-inktober__section-title">
            The Word List
        </div>

        <div class="boston-inktober__section-subtitle">
            18 words to inspire you
        </div>

    </div>

    <div class="boston-inktober__grid">

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">01</span>
            <span class="boston-inktober__word">Apple</span>
            <span class="boston-inktober__translation">Яблоко</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">02</span>
            <span class="boston-inktober__word">Relic</span>
            <span class="boston-inktober__translation">Реликвия</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">03</span>
            <span class="boston-inktober__word">Smack</span>
            <span class="boston-inktober__translation">Шлепок / Удар</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">04</span>
            <span class="boston-inktober__word">Panic</span>
            <span class="boston-inktober__translation">Паника</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">05</span>
            <span class="boston-inktober__word">Mystical</span>
            <span class="boston-inktober__translation">Мистический</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">06</span>
            <span class="boston-inktober__word">Rescue</span>
            <span class="boston-inktober__translation">Спасение</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">07</span>
            <span class="boston-inktober__word">Flimsy</span>
            <span class="boston-inktober__translation">Хрупкий / Хлипкий</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">08</span>
            <span class="boston-inktober__word">Lady</span>
            <span class="boston-inktober__translation">Леди / Дама</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">09</span>
            <span class="boston-inktober__word">Confused</span>
            <span class="boston-inktober__translation">Запутавшийся / Растерянный</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">10</span>
            <span class="boston-inktober__word">Hero</span>
            <span class="boston-inktober__translation">Герой</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">11</span>
            <span class="boston-inktober__word">Beacon</span>
            <span class="boston-inktober__translation">Маяк</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">12</span>
            <span class="boston-inktober__word">Dapper</span>
            <span class="boston-inktober__translation">Щеголеватый / Опрятный</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">13</span>
            <span class="boston-inktober__word">Bake</span>
            <span class="boston-inktober__translation">Выпекать</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">14</span>
            <span class="boston-inktober__word">Fracture</span>
            <span class="boston-inktober__translation">Перелом / Трещина</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">15</span>
            <span class="boston-inktober__word">Zip</span>
            <span class="boston-inktober__translation">Молния / Свист</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">16</span>
            <span class="boston-inktober__word">Dumb</span>
            <span class="boston-inktober__translation">Глупый / Немой</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">17</span>
            <span class="boston-inktober__word">Trophy</span>
            <span class="boston-inktober__translation">Трофей</span>
        </div>

        <div class="boston-inktober__card">
            <span class="boston-inktober__day">18</span>
            <span class="boston-inktober__word">Cookie</span>
            <span class="boston-inktober__translation">Печенье</span>
        </div>

    </div>

    <div class="boston-inktober__footer">
         Every word is a beginning of a new story
    </div>

<div class="boston-inktober__rewards">
<div class="boston-inktober__rewards-title"> Награды </div>
<div class="boston-inktober__rewards-grid">
<div class="boston-inktober__reward"><span>06 ДНЕЙ</span><b>Бесплатная плашка</b></div>
<div class="boston-inktober__reward"><span>12 ДНЕЙ</span><b>10 бесплатных подарков</b><small>+ предыдущий приз</small></div>
<div class="boston-inktober__reward"><span>18 ДНЕЙ</span><b>1.000$</b><small>+ все предыдущие призы</small></div>
</div>
</div>

</div>

<script>
(function () {
    const cards = document.querySelectorAll('.boston-inktober__card');
    const storageKey = 'boston_inktober_completed_v1';

    let completed = [];

    try {
        completed = JSON.parse(localStorage.getItem(storageKey) || '[]');
        if (!Array.isArray(completed)) completed = [];
    } catch (e) {
        completed = [];
    }

    cards.forEach(function(card, index) {
        const id = String(index + 1);

        if (completed.includes(id)) {
            card.classList.add('is-completed');
        }

        card.addEventListener('click', function() {
            card.classList.toggle('is-completed');

            if (card.classList.contains('is-completed')) {
                if (!completed.includes(id)) completed.push(id);
            } else {
                completed = completed.filter(function(item) {
                    return item !== id;
                });
            }

            try {
                localStorage.setItem(storageKey, JSON.stringify(completed));
            } catch (e) {}
        });
    });
})();
</script>
[/html]

0

10

"Поднялся свежий ветер, — как ни странно, попутный"
(Джером К. Джером "Трое в лодке, не считая собаки")


https://upforme.ru/uploads/001b/0f/ee/351/947003.png

АКЦИЯ МЕСЯЦА
Акция от администрации, объединённая общей темой/жанром/фандомом и сменяющаяся раз в месяц.
Приходящие по этой акции получают ряд бонусов.

А ИМЕННО:
- упрощённый шаблон (5 пунктов в биографии),
- дополнительные 10 баллов,
- специальную наградку в профиль,
- аватар от наших графистов

0



Рейтинг форумов | Создать форум бесплатно