:root {
	--onlyre-bg: #0a0a0c;
	--onlyre-bg-alt: #131316;
	--onlyre-card: #1a1a1e;
	--onlyre-card-border: #2a2a30;
	--onlyre-paper: #e9e2cf;
	--onlyre-paper-text: #221d13;
	--onlyre-red: #b3121b;
	--onlyre-red-bright: #e2242f;
	--onlyre-silver: #c9cdd1;
	--onlyre-text: #e7e7ea;
	--onlyre-text-dim: #8b8c92;
	--font-display: 'Oswald', sans-serif;
	--font-type: 'Special Elite', cursive;
	--font-body: 'Courier Prime', monospace;
}

* { box-sizing: border-box; }

body {
	background: var(--onlyre-bg);
	color: var(--onlyre-text);
	font-family: var(--font-body);
	line-height: 1.6;
	margin: 0;
}
body.onlyre-no-scroll { overflow: hidden; }

.onlyre-container { max-width: 1160px; margin: 0 auto; padding: 2.5rem 1.5rem; }

/* --- bramka wieku 18+ --- */
.onlyre-age-gate {
	position: fixed; inset: 0; z-index: 10000; display: none;
	background: rgba(6,6,7,.97); align-items: center; justify-content: center; padding: 1.5rem;
}
.onlyre-age-gate.is-visible { display: flex; }
.onlyre-age-gate__box { max-width: 460px; text-align: center; }
.onlyre-age-gate__logo { max-width: 220px; height: auto; margin-bottom: 1.5rem; }
.onlyre-age-gate__text { color: var(--onlyre-text-dim); font-size: .9rem; margin-bottom: 1.75rem; }
.onlyre-age-gate__actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* --- header / nav --- */
.onlyre-header { background: #060607; border-bottom: 1px solid var(--onlyre-card-border); position: sticky; top: 0; z-index: 100; }
.onlyre-header__inner { max-width: 1160px; margin: 0 auto; padding: .75rem 1.5rem; display: flex; align-items: center; gap: 2rem; }
.onlyre-header__logo-img { height: 34px; width: auto; display: block; }
.onlyre-header__nav { margin-left: auto; display: flex; align-items: center; gap: 2rem; }
.onlyre-nav { list-style: none; display: flex; gap: 1.75rem; margin: 0; padding: 0; }
.onlyre-nav a { color: var(--onlyre-text); text-decoration: none; text-transform: uppercase; font-family: var(--font-display); font-size: .82rem; letter-spacing: .05em; padding-bottom: 3px; border-bottom: 2px solid transparent; }
.onlyre-nav a:hover { color: var(--onlyre-red-bright); border-color: var(--onlyre-red-bright); }
.onlyre-lang-switcher a { color: var(--onlyre-text-dim); margin-left: .5rem; text-decoration: none; text-transform: uppercase; font-size: .78rem; }
.onlyre-lang-switcher a:hover { color: var(--onlyre-silver); }

/* --- baner logo na stronie głównej --- */
.onlyre-hero-banner { text-align: center; padding: 3rem 1rem 2.5rem; background: radial-gradient(ellipse at center, #101012 0%, #060607 75%); border-bottom: 1px solid var(--onlyre-card-border); margin-bottom: 2.5rem; }
.onlyre-hero-banner__logo { max-width: 640px; width: 100%; height: auto; display: block; margin: 0 auto 1.75rem; }

.onlyre-btn { display: inline-block; padding: .7em 1.7em; font-family: var(--font-display); text-transform: uppercase; letter-spacing: .05em; text-decoration: none; border: 2px solid var(--onlyre-red-bright); color: var(--onlyre-red-bright); background: transparent; cursor: pointer; font-size: .85rem; }
.onlyre-btn:hover { background: var(--onlyre-red-bright); color: #0a0a0c; }
.onlyre-btn--danger { border-color: var(--onlyre-red-bright); color: var(--onlyre-red-bright); }
.onlyre-btn--ghost { border-color: var(--onlyre-card-border); color: var(--onlyre-text-dim); }
.onlyre-btn--ghost:hover { background: var(--onlyre-card-border); color: var(--onlyre-text); }
.onlyre-btn--submit { border-color: var(--onlyre-silver); color: var(--onlyre-silver); }
.onlyre-btn--submit:hover { background: var(--onlyre-silver); color: #16171a; }

/* --- sekcje --- */
.onlyre-section { margin-bottom: 3rem; }
.onlyre-section__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1.25rem; }
.onlyre-section__title { display: flex; align-items: center; gap: .6rem; font-family: var(--font-display); text-transform: uppercase; letter-spacing: .04em; font-size: 1.6rem; color: var(--onlyre-text); margin: 0; }
.onlyre-section__tick { display: inline-block; width: 22px; height: 3px; background: var(--onlyre-red-bright); }
.onlyre-section__more { color: var(--onlyre-text-dim); text-decoration: none; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.onlyre-section__more:hover { color: var(--onlyre-red-bright); }
.onlyre-page-title { font-family: var(--font-display); text-transform: uppercase; color: var(--onlyre-text); border-bottom: 1px solid var(--onlyre-card-border); padding-bottom: .6rem; }

/* --- karty --- */
.onlyre-file-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.5rem; }

.onlyre-file-card {
	display: block; background: var(--onlyre-card); border: 1px solid var(--onlyre-card-border);
	text-decoration: none; color: var(--onlyre-text); overflow: hidden; border-radius: 6px;
	transition: transform .18s ease, border-color .18s ease;
}
.onlyre-file-card:hover, .onlyre-file-card.is-hovered { transform: translateY(-4px); border-color: var(--onlyre-red-bright); }
.onlyre-file-card__media { position: relative; aspect-ratio: 16/10; background: #0e0e10; overflow: hidden; }
.onlyre-file-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.onlyre-file-card__media-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #1e1e22, #0e0e10); }
.onlyre-file-card__pill {
	position: absolute; left: .6rem; bottom: .6rem; background: rgba(10,10,12,.82); color: var(--onlyre-text-dim);
	font-family: var(--font-display); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase;
	padding: .25em .6em; border: 1px solid var(--onlyre-card-border);
}
.onlyre-file-card__title { font-family: var(--font-display); font-size: 1.05rem; margin: .85rem .9rem .3rem; text-transform: none; }
.onlyre-file-card__excerpt { font-size: .82rem; color: var(--onlyre-text-dim); margin: 0 .9rem .8rem; }
.onlyre-file-card__meta { display: flex; gap: .5rem; align-items: center; font-size: .74rem; margin: 0 .9rem 1rem; }
.onlyre-file-card__date { color: var(--onlyre-red-bright); }
.onlyre-file-card__sep { color: var(--onlyre-card-border); }
.onlyre-file-card__source { color: var(--onlyre-text-dim); text-transform: uppercase; letter-spacing: .03em; }

/* --- "akta" / dokument styl: tylko dla single OnlyFiles i OnlyLore --- */
.onlyre-case-file__paper {
	background: var(--onlyre-paper); color: var(--onlyre-paper-text); padding: 2.5rem;
	border: 1px solid #0000002a; box-shadow: 6px 6px 0 rgba(0,0,0,.45);
	font-family: var(--font-body);
}
.onlyre-case-file__title { font-family: var(--font-display); text-transform: uppercase; }
.onlyre-case-file__game a { color: var(--onlyre-red); }
.onlyre-case-file--umbrella .onlyre-case-file__paper { border-left: 6px solid var(--onlyre-red-bright); }
.onlyre-case-file__image img { width: 100%; height: auto; margin: 1rem 0; }
.onlyre-file-card__stamp {
	display: inline-block; font-family: var(--font-type); font-size: .65rem; letter-spacing: .1em;
	color: var(--onlyre-red); border: 1px solid var(--onlyre-red); padding: .15em .5em; transform: rotate(-3deg);
	margin-bottom: .5rem; text-transform: uppercase;
}
.onlyre-file-card__stamp--red { color: var(--onlyre-red-bright); border-color: var(--onlyre-red-bright); }

/* --- klipy --- */
.onlyre-clip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; }
.onlyre-clip-card { background: var(--onlyre-card); border: 1px solid var(--onlyre-card-border); border-radius: 6px; padding: 1rem; }
.onlyre-clip-card h3, .onlyre-clip-card a { color: var(--onlyre-text); text-decoration: none; }
.onlyre-featured-creators { margin-bottom: 2rem; }
.onlyre-creator-row { display: flex; gap: 1rem; flex-wrap: wrap; }
.onlyre-creator-chip { display: flex; flex-direction: column; align-items: center; gap: .4rem; color: var(--onlyre-silver); text-decoration: none; width: 90px; text-align: center; font-size: .8rem; }
.onlyre-creator-chip img { border-radius: 50%; border: 2px solid var(--onlyre-red-bright); }
.onlyre-badge { font-size: .65rem; background: var(--onlyre-red-bright); color: #fff; padding: .15em .5em; vertical-align: middle; border-radius: 3px; }

/* --- memy --- */
.onlyre-meme-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.onlyre-meme-card { display: block; color: var(--onlyre-text); text-decoration: none; background: var(--onlyre-card); border: 1px solid var(--onlyre-card-border); border-radius: 6px; padding: .5rem; text-align: center; }
.onlyre-meme-card img { width: 100%; height: auto; display: block; margin-bottom: .5rem; border-radius: 4px; }

/* --- formularz zgłoszeń --- */
.onlyre-submit-section { border-top: 1px solid var(--onlyre-card-border); padding-top: 2rem; margin-top: 2rem; }
.onlyre-clip-form input, .onlyre-clip-form select, .onlyre-clip-form textarea {
	background: var(--onlyre-bg-alt); border: 1px solid var(--onlyre-card-border); color: var(--onlyre-text); font-family: var(--font-body); border-radius: 4px;
}
.onlyre-clip-form input:focus, .onlyre-clip-form select:focus, .onlyre-clip-form textarea:focus { outline: none; border-color: var(--onlyre-red-bright); }

/* --- footer --- */
.onlyre-footer { background: #060607; border-top: 1px solid var(--onlyre-card-border); margin-top: 3rem; padding: 2rem 0; }
.onlyre-footer__inner { max-width: 1160px; margin: 0 auto; padding: 0 1.5rem; text-align: center; }
.onlyre-footer__copy { color: var(--onlyre-text-dim); font-size: .75rem; margin-top: 1rem; }

@media (max-width: 640px) {
	.onlyre-header__inner { flex-wrap: wrap; }
	.onlyre-header__nav { margin-left: 0; width: 100%; justify-content: space-between; }
}
