[html]<!--HTML-->
<style>
.gf-widget{--gf-header:#211e1c;--gf-dark:#191715;--gf-light:#e9e2d6;--gf-text:#f2ede2;--gf-text-dark:#3c362e;--gf-border:rgba(255,255,255,.14);--gf-red:#6d1f28;--gf-green:#34332a;--gf-admin-bg:#f4f0e6;--gf-radius:10px;
width:967px;height:534px;border-radius:var(--gf-radius);overflow:hidden;display:flex;flex-direction:column;background:color-mix(in srgb, var(--pun-light) 70%, transparent);font-family:Georgia,'Times New Roman',serif;box-shadow:0 6px 24px rgba(0,0,0,.35);box-sizing:border-box}
.gf-widget *{box-sizing:border-box}
.gf-widget.gf-widget.gf-widget p{margin:0;padding:0;line-height:inherit;overflow-wrap:normal}
.gf-head{flex:0 0 auto;background:var(--h2-back);color:var(--pun-light);text-align:center;padding:14px 20px 12px}
.gf-widget.gf-widget.gf-widget .gf-title{font-family:var(--big-font,Georgia,'Times New Roman',serif);font-weight:600;font-size:21px;line-height:1.25;letter-spacing:2px;text-transform:uppercase;margin:0 0 4px}
.gf-widget.gf-widget.gf-widget .gf-sub{font-family:'Playfair Display',Georgia,serif;font-size:12px;opacity:.75;margin:0;line-height:1.3}
.gf-body{flex:1 1 auto;display:flex;min-height:0}
/* левая колонка: панели с независимыми размером/отступом */
.gf-left{flex:0 0 330px;background:url(https://forumstatic.ru/files/001c/c8/87/48104.jpg) var(--gf-dark);padding:14px;display:flex;flex-direction:column;min-height:0}
.gf-panel-wrap{position:relative;flex:0 0 260px;margin-top:20px}
.gf-panel-wrap-roles{flex: 0 0 110px;
margin-top: -30px;}
/* окно "внешности": своя картинка, рамка, стекло */
.gf-panel-outfits{ position: relative;
height: 69%;
border-radius: 8px;
overflow: hidden;
border: 1px solid var(--gf-border);
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05), 0 4px 12px rgba(0, 0, 0, .4);}
.gf-panel-outfits::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:rgba(20,18,16,.08)}
/* окно "роли": своя картинка, рамка, стекло */
.gf-panel-roles{position:relative;height:100%;border-radius:8px;overflow:hidden;border:1px solid var(--gf-border);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 4px 12px rgba(0,0,0,.4);}
.gf-panel-roles::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:rgba(20,18,16,.08)}
/* текстовый список поверх картинки/стекла */
.gf-panel-scroll{position: relative;
z-index: 2;
width: 100%;
height: 100%;
overflow-y: auto;
overflow-x: hidden;
font: 11px / 1 var(--small-font);
padding: 20px 7px 9px 7px;}
.gf-panel-list{display:flex;flex-direction:column;gap:6px}
.gf-panel-list span{color:var(--gf-text);line-height:1.4}
.gf-panel-list b{color: var(--basic-grey);
font-size: 11px;}
.gf-panel-list a{font-size: 11px;
text-shadow: 1px 0px 0px #ffffff3d;}
.gf-panel-list .gf-date{opacity: .85;
background: var(--color-soft);
padding: 0 2px;
border-radius: 3px;
box-shadow: 1px 1px 1px #0000004a;}
/* заголовки панелей: без стекла, свободно двигаются top/left */
.gf-panel-label{position: absolute;
top: -10px;
left: 10px;
z-index: 3;
background: var(--basic-grey);
color: var(--pun-light);
font: 13px Playfair Display;
text-transform: lowercase;
padding: 3px 7px;
border-radius: 5px;
transform: rotate(-1deg);
box-shadow: 0 2px 6px rgba(0, 0, 0, .25);}
.gf-right{flex:1;min-width:0;padding:16px 20px;display:flex;flex-direction:column;gap:10px;color:var(--gf-text-dark)}
/* кнопки админов */
.gf-admins{flex:0 0 auto;display:flex;gap:10px;justify-content:center}
.gf-admins a{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:14px;line-height:1;flex:0 0 auto;padding:8px 22px;background:var(--gf-admin-bg);color:var(--gf-text-dark);text-decoration:none;box-shadow:0px 2px 1px #0000004a}
.gf-widget.gf-widget.gf-widget .gf-text{flex:0 0 auto;font:500 12px 'Playfair Display',Georgia,serif;line-height:1.5;text-align:center}
.gf-badge{flex:0 0 auto;align-self:center;font-family:'Playfair Display',Georgia,serif;font-size:13px;padding:2px 9px;border-radius:5px;color:var(--pun-light,var(--gf-text));text-transform:lowercase}
/* наезжает на .gf-rules: сдвигается вниз через top, двигать можно им же */
.gf-badge-red{background:var(--acc-color,var(--gf-red));position:relative;top:19px;z-index:2;transform:rotate(1deg)}
.gf-badge-green{background:var(--gf-green)}
/* без прокрутки, иконки FontAwesome перед пунктами */
.gf-rules{flex:1 1 auto;min-height:0;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:12px 14px 8px}
.gf-rules ul{margin:0;padding-left:0;list-style:none}
.gf-rules li{position:relative;padding-left:14px;font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:12px;line-height:1.3;margin:4px 0}
.gf-rules li::before{content:"\f6f6";font-family:"Font Awesome 6 Pro","Font Awesome 6 Free","Font Awesome 5 Free",FontAwesome;font-weight:600;font-size:7px;position:absolute;left:-2px;top:5px;color:var(--color-soft,var(--gf-text-dark))}
.gf-form{flex:0 0 auto;display:flex;gap:8px}
.gf-input{flex:1;min-width:0;padding:8px 10px;border-radius:6px;border:1px solid rgba(0,0,0,.15);background:rgba(255,255,255,.65);font-size:11.5px;font-family:inherit;color:var(--gf-text-dark)}
.gf-input::placeholder{color:rgba(60,54,46,.5)}
.gf-copy{flex:0 0 auto;padding:5px 10px;border:none;border-radius:6px;background:var(--gf-header);font: 12px / 1 Playfair Display;color:var(--gf-text);letter-spacing:.5px;cursor:pointer}
.gf-copy:hover{opacity:.85}
.gf-output{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.gf-panel-scroll::-webkit-scrollbar{width:6px}
.gf-panel-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:3px}
</style>
<div class="gf-widget" data-role="root">
<div class="gf-head">
<p class="gf-title">Добро пожаловать на Голиаф!</p>
<p class="gf-sub">Рейтинг форума — 18+, время в игре — лето 1492 года.</p>
</div>
<div class="gf-body">
<div class="gf-left">
<div class="gf-panel-wrap">
<div class="gf-panel-label">внешности</div>
<div class="gf-panel-outfits">
<div class="gf-panel-scroll">
<div class="gf-panel-list">
<span style="font-size:10px"><span class="gf-date">21.39</span> <b>ляля</b> — <a href="ссылка">лоло</a></span>
<span style="font-size:10px"><span class="gf-date">14.05</span> <b>вторая внешность</b> — <a href="ссылка">ник2</a></span>
<span style="font-size:10px"><span class="gf-date">09.12</span> <b>третья внешность</b> — <a href="ссылка">ник3</a></span>
</div>
</div>
</div>
</div>
<div class="gf-panel-wrap gf-panel-wrap-roles">
<div class="gf-panel-label">должности и роли</div>
<div class="gf-panel-roles">
<div class="gf-panel-scroll">
<div class="gf-panel-list">
<span style="font-size:10px"><span class="gf-date">18.20</span> <b>первая роль</b> — <a href="ссылка">ник1</a></span>
<span style="font-size:10px"><span class="gf-date">11.47</span> <b>вторая роль</b> — <a href="ссылка">ник2</a></span>
</div>
</div>
</div>
</div>
</div>
<div class="gf-right">
<div class="gf-admins" data-role="admins">
<a href="#" target="_blank" rel="noopener">Тессалия</a>
<a href="#" target="_blank" rel="noopener">Тарен</a>
<a href="#" target="_blank" rel="noopener">Нейтан</a>
<a href="#" target="_blank" rel="noopener">Тами</a>
</div>
<p class="gf-text">Здесь вы найдёте как борющихся за власть лордов, так и людей-драконов, живущих бок о бок с альфами и дварфами, гигантскими песчаными червями, бронированными полярными медведями, мстительными призраками и аномальными зонами, в сравнении с которыми Изнанка из «Очень странных дел» покажется безобидным Диснейлендом. А заночевав в лесу в полнолуние, вы можете проснуться от того, что голодный оборотень доедает вашу ногу, потому что так ему велит его родовое проклятие… Но, вероятно, даже это лучше, чем угодить в загадочный Туман, из которого ещё никто не возвращается живым.</p>
<div class="gf-badge gf-badge-red">правила придержания</div>
<div class="gf-rules">
<ul>
<li>За зарегистрированными профилями держим внешности и роли на трое суток. За гостями и «на подумать» бронь сохраняется не более суток.</li>
<li>Внешности в акциях не являются придержанными. Вы можете занимать любую из них, если они не указаны в гостевой или в списке занятых внешностей. Выкупленные имена находятся там же.</li>
<li>Придержанные заявки в гостевой не фиксируются, заказчики сами отмечают статус заявки в своём сообщении.</li>
</ul>
</div>
<div class="gf-badge gf-badge-green">придержать роль</div>
<div class="gf-form">
<input type="text" class="gf-input" data-field="role" placeholder="внешность/роль">
<input type="text" class="gf-input" data-field="nick" placeholder="ваш ник">
<input type="text" class="gf-input" data-field="link" placeholder="ссылка на профиль">
<button type="button" class="gf-copy" data-action="copy">копировать</button>
</div>
</div>
</div>
<div class="gf-output" contenteditable="true" data-role="output" aria-hidden="true"></div>
</div>
<script>
(function () {
"use strict";
function byAttr(root, attr, val) {
return root.querySelector("[" + attr + '="' + val + '"]');
}
function closestButton(el, root) {
while (el && el !== root) {
if (el.getAttribute && el.getAttribute("data-action")) return el;
el = el.parentNode;
}
return null;
}
function pad2(n) {
return (n < 10 ? "0" : "") + n;
}
function formatTime(d) {
return pad2(d.getHours()) + "." + pad2(d.getMinutes());
}
function buildOutput(role, nick, link) {
var time = formatTime(new Date());
var roleText = role || "—";
var nickText = nick || "—";
var nickPart = link ? '<a href="' + link + '">' + nickText + '</a>' : nickText;
return '<span style="font-size:10px"><span class="gf-date">' + time + '</span> <b>' + roleText + '</b> — ' + nickPart + '</span>';
}
function fallbackCopy(output) {
var range = document.createRange();
range.selectNodeContents(output);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
try {
document.execCommand("copy");
} catch (e) {}
sel.removeAllRanges();
}
function copyText(text, output) {
output.textContent = text;
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).catch(function () {
fallbackCopy(output);
});
} else {
fallbackCopy(output);
}
}
function initWidget(root) {
if (!root || root.getAttribute("data-ready") === "true") return;
var roleInput = byAttr(root, "data-field", "role");
var nickInput = byAttr(root, "data-field", "nick");
var linkInput = byAttr(root, "data-field", "link");
var output = byAttr(root, "data-role", "output");
var copyBtn = byAttr(root, "data-action", "copy");
if (!roleInput || !nickInput || !linkInput || !output || !copyBtn) return;
root.setAttribute("data-ready", "true");
root.addEventListener("click", function (e) {
var target = closestButton(e.target, root);
if (!target) return;
if (target.getAttribute("data-action") === "copy") {
var out = buildOutput(roleInput.value, nickInput.value, linkInput.value);
copyText(out, output);
var old = target.textContent;
target.textContent = "скопировано!";
setTimeout(function () {
target.textContent = old;
}, 1500);
}
});
}
function tryInit() {
var roots = document.querySelectorAll('.gf-widget[data-role="root"]');
for (var i = 0; i < roots.length; i++) {
initWidget(roots[i]);
}
}
tryInit();
document.addEventListener("DOMContentLoaded", tryInit);
setTimeout(tryInit, 300);
setTimeout(tryInit, 800);
setTimeout(tryInit, 1500);
})();
</script>
[/html]
[hideprofile]





































