/*
Theme Name: StudentLife Reddit
Theme URI:
Author: StudentLife
Description: Reddit-inspired StudentLife community WordPress theme.
Version: 2.0.0
License: GPL-2.0-or-later
Text Domain: studentlife-reddit
*/

/* =========================================================
   01. DESIGN TOKENS
   ========================================================= */

:root {
	--sl-bg: #0b0f12;
	--sl-bg-soft: #0f1418;

	--sl-surface: #151b20;
	--sl-surface-hover: #1a2127;
	--sl-surface-raised: #1d252c;

	--sl-border: #2a343d;
	--sl-border-soft: #20282f;

	--sl-text: #f4f5f6;
	--sl-text-soft: #c7cdd3;
	--sl-muted: #8d98a3;
	--sl-muted-dark: #68737e;

	--sl-orange: #ff4500;
	--sl-orange-hover: #e63e00;

	--sl-blue: #3367e8;
	--sl-blue-hover: #2556d0;
	--sl-blue-soft: rgba(51, 103, 232, 0.14);

	--sl-green: #35a85b;
	--sl-red: #e64646;

	--sl-header-height: 64px;

	--sl-sidebar-width: 250px;
	--sl-right-width: 320px;

	--sl-content-max: 1600px;

	--sl-radius-sm: 7px;
	--sl-radius: 10px;
	--sl-radius-lg: 14px;

	--sl-space-1: 4px;
	--sl-space-2: 8px;
	--sl-space-3: 12px;
	--sl-space-4: 16px;
	--sl-space-5: 20px;
	--sl-space-6: 24px;
	--sl-space-7: 32px;

	--sl-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   02. RESET
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	margin: 0;
	padding: 0;
	background: var(--sl-bg);
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	min-width: 320px;

	background: var(--sl-bg);
	color: var(--sl-text);

	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;

	font-size: 14px;
	line-height: 1.5;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	text-rendering: optimizeLegibility;
}

body,
button,
input,
textarea,
select {
	font-family: inherit;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
textarea,
select {
	font: inherit;
}

button {
	border: 0;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

figure,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol {
	margin-top: 0;
}

figure {
	margin-left: 0;
	margin-right: 0;
}

ul,
ol {
	margin-bottom: 0;
}

table {
	max-width: 100%;
	border-collapse: collapse;
}

iframe {
	max-width: 100%;
}

textarea {
	resize: vertical;
}

::selection {
	background: var(--sl-blue);
	color: #fff;
}


/* =========================================================
   03. WORDPRESS BASICS
   ========================================================= */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.alignleft {
	float: left;
	margin: 0 20px 20px 0;
}

.alignright {
	float: right;
	margin: 0 0 20px 20px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text {
	color: var(--sl-muted);
	font-size: 12px;
}

.gallery {
	display: grid;
	gap: 12px;
}

.sticky {
	display: block;
}


/* =========================================================
   04. SITE WRAPPER
   ========================================================= */

.sl-site {
	min-height: 100vh;
	background: var(--sl-bg);
}

.sl-page-shell {
	width: 100%;
	min-width: 0;
}


/* =========================================================
   05. HEADER
   ========================================================= */

.sl-header {
	position: sticky;
	top: 0;
	z-index: 1000;

	width: 100%;
	height: var(--sl-header-height);

	background: rgba(11, 15, 18, 0.97);
	border-bottom: 1px solid var(--sl-border);

	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.sl-header-inner {
	width: 100%;
	max-width: var(--sl-content-max);
	height: 100%;

	margin: 0 auto;
	padding: 0 18px;

	display: flex;
	align-items: center;

	gap: 16px;
}

.sl-mobile-menu {
	display: none;

	width: 38px;
	height: 38px;
	flex: 0 0 38px;

	align-items: center;
	justify-content: center;

	border-radius: 8px;

	background: transparent;
	color: var(--sl-text);

	cursor: pointer;

	font-size: 19px;
}

.sl-mobile-menu:hover {
	background: var(--sl-surface);
}

.sl-brand {
	display: inline-flex;
	align-items: center;

	gap: 9px;

	flex: 0 0 auto;

	color: #fff;

	font-size: 18px;
	font-weight: 800;

	white-space: nowrap;
}

.sl-brand-icon {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--sl-orange);
	color: #fff;

	font-size: 12px;
	font-weight: 900;
}

.sl-brand:hover .sl-brand-icon {
	background: var(--sl-orange-hover);
}

.sl-search {
	width: 100%;
	max-width: 620px;

	height: 40px;

	margin: 0 auto;

	flex: 1 1 620px;

	display: flex;
	align-items: center;

	gap: 9px;

	padding: 0 14px;

	background: #171d22;

	border: 1px solid #29323a;
	border-radius: 22px;

	min-width: 0;
}

.sl-search:focus-within {
	border-color: #4a78df;
	box-shadow: 0 0 0 3px var(--sl-blue-soft);
}

.sl-search-icon {
	flex: 0 0 auto;

	color: var(--sl-muted);

	font-size: 18px;
	line-height: 1;
}

.sl-search input,
.sl-search-input {
	width: 100%;
	height: 100%;

	min-width: 0;

	padding: 0;

	border: 0;
	outline: 0;

	background: transparent;
	color: #fff;

	font-size: 13px;
}

.sl-search input::placeholder,
.sl-search-input::placeholder {
	color: #747f89;
}

.sl-header-actions {
	margin-left: auto;

	display: flex;
	align-items: center;

	gap: 5px;

	flex: 0 0 auto;
}

.sl-header-create,
.sl-login-button,
.sl-user-button,
.sl-header-icon {
	min-height: 38px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	border-radius: 20px;
}

.sl-header-create {
	padding: 0 13px;

	color: var(--sl-text-soft);

	font-size: 13px;
	font-weight: 700;
}

.sl-header-create:hover {
	background: var(--sl-surface);
	color: #fff;
}

.sl-header-icon {
	width: 38px;

	padding: 0;

	background: transparent;
	color: var(--sl-text-soft);

	cursor: pointer;

	font-size: 17px;
}

.sl-header-icon:hover {
	background: var(--sl-surface);
	color: #fff;
}

.sl-user-button {
	gap: 8px;

	padding: 3px 9px 3px 5px;

	background: transparent;
	color: #fff;

	font-size: 13px;
	font-weight: 700;
}

.sl-user-button:hover {
	background: var(--sl-surface);
}

.sl-avatar {
	width: 32px;
	height: 32px;
	flex: 0 0 32px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: #34404b;
	color: #fff;

	font-size: 12px;
	font-weight: 800;
}

.sl-login-button {
	padding: 0 16px;

	background: var(--sl-blue);
	color: #fff;

	font-size: 13px;
	font-weight: 800;
}

.sl-login-button:hover {
	background: var(--sl-blue-hover);
	color: #fff;
}


/* =========================================================
   06. MAIN THREE-COLUMN LAYOUT
   ========================================================= */

.sl-layout {
	width: 100%;
	max-width: var(--sl-content-max);

	margin: 0 auto;

	min-height: calc(100vh - var(--sl-header-height));

	display: grid;

	grid-template-columns:
		var(--sl-sidebar-width)
		minmax(0, 1fr)
		var(--sl-right-width);

	align-items: start;
}

.sl-layout > * {
	min-width: 0;
}


/* =========================================================
   07. LEFT SIDEBAR
   ========================================================= */

.sl-sidebar {
	position: sticky;

	top: var(--sl-header-height);

	height: calc(100vh - var(--sl-header-height));

	min-width: 0;

	padding: 18px 12px 28px;

	overflow-y: auto;

	border-right: 1px solid var(--sl-border);

	scrollbar-width: thin;
}

.sl-sidebar-nav {
	width: 100%;
}

.sl-sidebar-item {
	width: 100%;

	min-height: 42px;

	padding: 0 13px;

	display: flex;
	align-items: center;

	gap: 13px;

	border-radius: 8px;

	color: var(--sl-text-soft);

	font-size: 13px;
	font-weight: 650;
}

.sl-sidebar-item:hover {
	background: var(--sl-surface);
	color: #fff;
}

.sl-sidebar-item.is-active,
.sl-sidebar-item.sl-sidebar-active {
	background: #2559df;
	color: #fff;
}

.sl-sidebar-icon {
	width: 22px;
	height: 22px;

	flex: 0 0 22px;

	display: flex;
	align-items: center;
	justify-content: center;

	color: var(--sl-muted);

	font-size: 16px;
	line-height: 1;
}

.sl-sidebar-item:hover .sl-sidebar-icon,
.sl-sidebar-item.is-active .sl-sidebar-icon {
	color: #fff;
}

.sl-sidebar-divider {
	height: 1px;

	margin: 15px 8px;

	background: var(--sl-border-soft);
}

.sl-sidebar-heading {
	min-height: 28px;

	padding: 0 13px;

	display: flex;
	align-items: center;

	color: var(--sl-muted);

	font-size: 10px;
	font-weight: 800;

	letter-spacing: 0.08em;
}

.sl-sidebar .sl-button {
	margin-top: 12px;
}


/* =========================================================
   08. MAIN CONTENT
   ========================================================= */

.sl-main-content,
.sl-main {
	width: 100%;
	min-width: 0;

	padding: 20px 18px 70px;
}

.sl-main-content > *,
.sl-main > * {
	max-width: 100%;
	min-width: 0;
}

.sl-main-content--wide {
	max-width: none;
}

.sl-main-content--single {
	padding-bottom: 80px;
}


/* =========================================================
   09. RIGHT SIDEBAR
   ========================================================= */

.sl-right-sidebar {
	position: sticky;

	top: var(--sl-header-height);

	height: calc(100vh - var(--sl-header-height));

	min-width: 0;

	padding: 20px 14px 30px;

	overflow-y: auto;

	scrollbar-width: thin;
}

.sl-side-card {
	width: 100%;

	margin-bottom: 12px;

	padding: 16px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);

	color: var(--sl-text);
}

.sl-side-card:last-child {
	margin-bottom: 0;
}

.sl-side-card h2,
.sl-side-card h3 {
	margin: 0 0 13px;

	color: #fff;

	font-size: 14px;
	font-weight: 800;
}

.sl-side-card p {
	margin: 0 0 13px;

	color: var(--sl-muted);

	font-size: 11px;
	line-height: 1.55;
}

.sl-side-button {
	width: 100%;

	min-height: 36px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 18px;

	background: var(--sl-blue);
	color: #fff;

	font-size: 11px;
	font-weight: 800;
}

.sl-side-button:hover {
	background: var(--sl-blue-hover);
}

.sl-community-card {
	width: 100%;

	min-height: 52px;

	padding: 5px 0;

	display: flex;
	align-items: center;

	gap: 9px;
}

.sl-community-card__icon {
	width: 34px;
	height: 34px;

	flex: 0 0 34px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--sl-orange);
	color: #fff;

	font-size: 11px;
	font-weight: 900;
}

.sl-community-card__content {
	min-width: 0;
	flex: 1;
}

.sl-community-card__name {
	display: block;

	overflow: hidden;

	color: #edf0f2;

	font-size: 11px;
	font-weight: 750;

	white-space: nowrap;
	text-overflow: ellipsis;
}

.sl-community-card__meta {
	display: block;

	margin-top: 2px;

	color: var(--sl-muted);

	font-size: 9px;
}

.sl-community-card__button {
	min-height: 28px;

	padding: 0 11px;

	border-radius: 15px;

	background: #27313a;
	color: #e3e7ea;

	font-size: 9px;
	font-weight: 800;
}

.sl-community-card__button:hover {
	background: var(--sl-blue);
	color: #fff;
}

.trending-item {
	padding: 9px 0;

	border-bottom: 1px solid var(--sl-border-soft);
}

.trending-item:last-child {
	border-bottom: 0;
}

.trending-item strong {
	display: block;

	color: #e7eaed;

	font-size: 11px;
}

.trending-item span {
	display: block;

	margin-top: 2px;

	color: var(--sl-muted);

	font-size: 9px;
}


/* =========================================================
   10. FEED HEADER
   ========================================================= */

.sl-feed-header {
	min-height: 58px;

	margin-bottom: 12px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 16px;
}

.sl-feed-header > div {
	min-width: 0;
}

.sl-eyebrow {
	display: block;

	margin-bottom: 3px;

	color: var(--sl-orange);

	font-size: 10px;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.sl-feed-header h1 {
	margin: 0 0 4px;

	color: #fff;

	font-size: 23px;
	line-height: 1.2;

	font-weight: 800;

	letter-spacing: -0.02em;
}

.sl-feed-header p,
.sl-page-description {
	margin: 0;

	color: var(--sl-muted);

	font-size: 12px;

	line-height: 1.5;
}


/* =========================================================
   11. BUTTONS
   ========================================================= */

.sl-button {
	min-height: 38px;

	padding: 0 16px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	border-radius: 20px;

	font-size: 12px;
	font-weight: 800;

	cursor: pointer;

	white-space: nowrap;
}

.sl-button--primary {
	background: var(--sl-blue);
	border: 1px solid var(--sl-blue);

	color: #fff;
}

.sl-button--primary:hover {
	background: var(--sl-blue-hover);
	border-color: var(--sl-blue-hover);

	color: #fff;
}

.sl-button--ghost {
	background: transparent;

	border: 1px solid var(--sl-border);

	color: #fff;
}

.sl-button--ghost:hover {
	background: var(--sl-surface);

	border-color: #46515b;
}


/* =========================================================
   12. FEED TABS
   ========================================================= */

.sl-feed-tabs {
	min-height: 44px;

	margin-bottom: 12px;

	display: flex;
	align-items: center;

	gap: 4px;

	border-bottom: 1px solid var(--sl-border);

	overflow-x: auto;

	scrollbar-width: none;
}

.sl-feed-tabs::-webkit-scrollbar {
	display: none;
}

.sl-feed-tabs a {
	position: relative;

	min-height: 36px;

	padding: 0 14px;

	flex: 0 0 auto;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	border-radius: 7px 7px 0 0;

	color: var(--sl-muted);

	font-size: 12px;
	font-weight: 750;
}

.sl-feed-tabs a:hover {
	background: var(--sl-surface);

	color: #fff;
}

.sl-feed-tabs a.is-active {
	color: #fff;
}

.sl-feed-tabs a.is-active::after {
	content: "";

	position: absolute;

	left: 10px;
	right: 10px;
	bottom: -1px;

	height: 2px;

	border-radius: 2px;

	background: var(--sl-orange);
}


/* =========================================================
   13. FEED
   ========================================================= */

.sl-feed-list,
.sl-feed,
.sl-community-feed {
	width: 100%;
	min-width: 0;
}


/* =========================================================
   14. POST CARD
   ========================================================= */

.sl-post-card {
	position: relative;

	width: 100%;
	min-width: 0;

	margin: 0 0 10px;
	padding: 0;

	display: grid;

	grid-template-columns:
		64px
		minmax(0, 1fr)
		190px;

	grid-template-areas:
		"vote body media";

	overflow: hidden;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);

	color: var(--sl-text);

	transition:
		background 0.12s ease,
		border-color 0.12s ease;
}

.sl-post-card:last-child {
	margin-bottom: 0;
}

.sl-post-card:hover {
	background: var(--sl-surface-hover);

	border-color: #3a4650;
}

.sl-post-card--no-media {
	grid-template-columns:
		64px
		minmax(0, 1fr);

	grid-template-areas:
		"vote body";
}


/* =========================================================
   15. POST VOTE RAIL
   ========================================================= */

.sl-post-vote-rail {
	grid-area: vote;

	min-width: 0;

	padding: 16px 8px;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;

	gap: 4px;

	background: #11171c;

	border-right: 1px solid var(--sl-border-soft);
}

.sl-vote-button {
	width: 34px;
	height: 31px;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 0;

	border-radius: 7px;

	background: transparent;

	color: #8f9aa5;

	cursor: pointer;

	font-size: 20px;
	font-weight: 900;

	line-height: 1;
}

.sl-vote-button:hover {
	background: #242c33;

	color: var(--sl-orange);
}

.sl-vote-button.is-active,
.sl-vote-button.sl-vote-selected {
	color: var(--sl-orange);
}

.sl-vote-button--down.is-active,
.sl-vote-button--down.sl-vote-selected {
	color: #7198ff;
}

.sl-vote-count {
	min-width: 34px;

	text-align: center;

	color: #e9ecef;

	font-size: 12px;
	font-weight: 850;
}


/* =========================================================
   16. POST BODY
   ========================================================= */

.sl-post-card__body {
	grid-area: body;

	min-width: 0;

	display: flex;
	flex-direction: column;
}

.sl-post-card__topline {
	min-width: 0;

	padding: 12px 15px 4px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 10px;
}

.sl-post-community {
	min-width: 0;

	display: flex;
	align-items: center;

	gap: 7px;

	color: var(--sl-muted);

	font-size: 10px;

	white-space: nowrap;
}

.sl-community-avatar {
	width: 28px;
	height: 28px;

	flex: 0 0 28px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--sl-orange);
	color: #fff;

	font-size: 10px;
	font-weight: 900;
}

.sl-post-community__name {
	min-width: 0;

	overflow: hidden;

	color: #e6eaed;

	font-weight: 800;

	text-overflow: ellipsis;
}

.sl-post-community__name:hover {
	color: #fff;

	text-decoration: underline;
}

.sl-post-dot {
	color: #5e6872;
}

.sl-post-time {
	color: var(--sl-muted);
}

.sl-post-more {
	width: 30px;
	height: 30px;

	flex: 0 0 30px;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 0;

	border-radius: 50%;

	background: transparent;
	color: var(--sl-muted);

	cursor: pointer;

	font-size: 13px;

	letter-spacing: 2px;
}

.sl-post-more:hover {
	background: #283038;

	color: #fff;
}

.sl-post-card__title-row {
	padding: 0 15px;
}

.sl-post-title,
.sl-post-card__title {
	margin: 0 0 6px;

	color: #fff;

	font-size: 17px;
	line-height: 1.3;

	font-weight: 800;

	letter-spacing: -0.015em;

	word-break: break-word;
}

.sl-post-title a:hover,
.sl-post-card__title a:hover {
	text-decoration: underline;
}

.sl-post-excerpt {
	padding: 0 15px 9px;

	color: #b8c0c7;

	font-size: 12px;

	line-height: 1.5;

	word-break: break-word;
}

.sl-post-excerpt p {
	margin: 0;
}


/* =========================================================
   17. POST MEDIA
   ========================================================= */

.sl-post-media {
	grid-area: media;

	width: 100%;
	height: 100%;

	min-width: 0;
	min-height: 0;

	padding: 12px 12px 12px 0;

	display: block;

	overflow: hidden;
}

.sl-post-media img {
	width: 100%;
	height: 100%;

	min-height: 145px;

	object-fit: cover;

	border-radius: 8px;

	background: #0d1216;
}


/* =========================================================
   18. POST ACTIONS
   ========================================================= */

.sl-post-actions,
.sl-post-card__actions {
	min-height: 42px;

	margin-top: auto;

	padding: 3px 10px 8px 15px;

	display: flex;
	align-items: center;

	gap: 3px;

	overflow-x: auto;

	scrollbar-width: none;
}

.sl-post-actions::-webkit-scrollbar,
.sl-post-card__actions::-webkit-scrollbar {
	display: none;
}

.sl-post-action {
	min-height: 30px;

	padding: 0 9px;

	flex: 0 0 auto;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 5px;

	border-radius: 6px;

	background: transparent;
	color: var(--sl-muted);

	font-size: 10px;
	font-weight: 750;

	cursor: pointer;
}

.sl-post-action:hover {
	background: #283038;

	color: #fff;
}

.sl-post-action__icon {
	font-size: 12px;
	line-height: 1;
}


/* =========================================================
   19. LEGACY VOTE PILL
   ========================================================= */

.sl-vote-pill {
	display: inline-flex;
	align-items: center;
	gap: 3px;
}

.sl-post-card .sl-vote-pill {
	display: none;
}


/* =========================================================
   20. COMPACT FEED
   ========================================================= */

.sl-feed.is-compact .sl-post-card {
	grid-template-columns:
		54px
		minmax(0, 1fr)
		150px;
}

.sl-feed.is-compact .sl-post-media {
	padding-top: 9px;
	padding-bottom: 9px;
}

.sl-feed.is-compact .sl-post-media img {
	min-height: 110px;
}

.sl-feed.is-compact .sl-post-title,
.sl-feed.is-compact .sl-post-card__title {
	font-size: 14px;
}


/* =========================================================
   21. SINGLE POST
   ========================================================= */

.sl-single-post {
	width: 100%;
	min-width: 0;

	margin: 0;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);

	overflow: hidden;
}

.sl-single-post__header {
	min-width: 0;

	padding: 14px 16px 8px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 12px;
}

.sl-single-post__community {
	min-width: 0;

	display: flex;
	align-items: center;

	gap: 8px;

	color: var(--sl-muted);

	font-size: 11px;
}

.sl-single-post__community-name {
	color: #e6eaed;

	font-weight: 800;
}

.sl-single-post__community-name:hover {
	text-decoration: underline;
}

.sl-single-post__time {
	color: var(--sl-muted);
}

.sl-single-post__content {
	min-width: 0;

	padding: 0 16px 16px;
}

.sl-single-post__title {
	margin: 0 0 8px;

	color: #fff;

	font-size: 25px;
	line-height: 1.25;

	font-weight: 800;

	letter-spacing: -0.02em;

	word-break: break-word;
}

.sl-single-post__meta {
	margin-bottom: 18px;

	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 6px;

	color: var(--sl-muted);

	font-size: 10px;
}

.sl-single-post__meta strong {
	color: var(--sl-text-soft);
}

.sl-single-post__media {
	width: 100%;

	margin: 0 0 18px;

	overflow: hidden;

	border-radius: var(--sl-radius);
	background: #0d1216;
}

.sl-single-post__media img {
	width: 100%;
	height: auto;

	max-height: 720px;

	object-fit: contain;

	background: #0d1216;
}

.sl-single-post__body {
	width: 100%;
	min-width: 0;

	color: var(--sl-text-soft);

	font-size: 14px;
	line-height: 1.7;

	overflow-wrap: anywhere;
}

.sl-single-post__body > *:last-child {
	margin-bottom: 0;
}

.sl-single-post__body h2,
.sl-single-post__body h3,
.sl-single-post__body h4 {
	margin-top: 24px;

	color: #fff;
}

.sl-single-post__body a {
	color: #78a9ff;

	text-decoration: underline;
}

.sl-single-post__body ul,
.sl-single-post__body ol {
	margin-bottom: 16px;

	padding-left: 22px;
}

.sl-single-post__body blockquote {
	margin: 18px 0;

	padding: 12px 16px;

	border-left: 3px solid var(--sl-blue);

	background: #10161b;

	color: var(--sl-text-soft);
}

.sl-single-post__body pre {
	max-width: 100%;

	padding: 14px;

	overflow-x: auto;

	border-radius: 8px;

	background: #090d10;

	color: #dce3e8;

	font-size: 12px;
}

.sl-single-post__body code {
	font-size: 0.9em;
}

.sl-single-post__actions {
	margin-top: 0;

	padding: 4px 16px 12px;

	border-top: 1px solid var(--sl-border-soft);
}


/* =========================================================
   22. COMMENTS
   ========================================================= */

.sl-comments-panel {
	width: 100%;

	margin-top: 14px;
}

.sl-comments-panel__header {
	min-height: 44px;

	margin-bottom: 10px;

	display: flex;
	align-items: center;

	gap: 8px;
}

.sl-comments-panel__title {
	margin: 0;

	color: #fff;

	font-size: 20px;
	font-weight: 800;
}

.sl-comments-panel__count {
	color: var(--sl-muted);

	font-size: 11px;
}

.sl-comments {
	width: 100%;
	min-width: 0;

	padding: 18px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-comments__header {
	min-height: 36px;

	margin-bottom: 12px;

	display: flex;
	align-items: center;

	border-bottom: 1px solid var(--sl-border-soft);
}

.sl-comments__title {
	margin: 0;

	color: #fff;

	font-size: 14px;
	font-weight: 800;
}

.sl-comment-list {
	margin: 0;
	padding: 0;

	list-style: none;
}

.sl-comment-list .comment {
	margin: 0;
	padding: 0;

	list-style: none;
}

.sl-comment-list .children {
	position: relative;

	margin: 3px 0 0;

	padding-left: 38px;

	list-style: none;
}

.sl-comment-list .children::before {
	content: "";

	position: absolute;

	top: 4px;
	bottom: 8px;
	left: 16px;

	width: 2px;

	border-radius: 2px;

	background: var(--sl-border);
}

.sl-comment {
	position: relative;
}

.sl-comment__body {
	display: flex;
	align-items: flex-start;

	gap: 10px;

	padding: 10px 0;
}

.sl-comment__avatar {
	width: 32px;
	height: 32px;

	flex: 0 0 32px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--sl-orange);
	color: #fff;

	font-size: 11px;
	font-weight: 800;
}

.sl-comment__content {
	min-width: 0;
	flex: 1;
}

.sl-comment__header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 5px;

	margin-bottom: 5px;

	font-size: 10px;
}

.sl-comment__author {
	color: #fff;

	font-weight: 800;
}

.sl-comment__separator {
	color: var(--sl-muted-dark);
}

.sl-comment__date {
	color: var(--sl-muted);
}

.sl-comment__text {
	color: var(--sl-text-soft);

	font-size: 12px;
	line-height: 1.55;

	word-break: break-word;
}

.sl-comment__text p {
	margin: 0 0 7px;
}

.sl-comment__text p:last-child {
	margin-bottom: 0;
}

.sl-comment__text a {
	color: #78a9ff;
}

.sl-comment__actions {
	margin-top: 6px;

	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 2px;
}

.sl-comment-action,
.sl-comment-action-wrap .comment-reply-link {
	min-height: 26px;

	padding: 0 7px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	border-radius: 5px;

	background: transparent;
	color: var(--sl-muted);

	font-size: 9px;
	font-weight: 750;

	cursor: pointer;
}

.sl-comment-action:hover,
.sl-comment-action-wrap .comment-reply-link:hover {
	background: #283038;

	color: #fff;
}

.sl-comment-score {
	min-width: 18px;

	text-align: center;

	color: var(--sl-muted);

	font-size: 9px;
	font-weight: 800;
}

.sl-comments-empty {
	min-height: 150px;

	padding: 30px 15px;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	text-align: center;
}

.sl-comments-empty__icon {
	margin-bottom: 8px;

	font-size: 25px;
}

.sl-comments-empty__title {
	margin: 0 0 4px;

	color: #fff;

	font-size: 14px;
}

.sl-comments-empty__text {
	margin: 0;

	color: var(--sl-muted);

	font-size: 11px;
}

.sl-comment-form-wrap {
	margin-top: 15px;

	padding-top: 15px;

	border-top: 1px solid var(--sl-border-soft);
}

.sl-comment-form__title {
	margin: 0 0 9px;

	color: #fff;

	font-size: 13px;
}

.sl-comment-form__field {
	margin: 0;
}

.sl-comment-form-wrap label {
	display: block;

	margin-bottom: 6px;

	color: var(--sl-muted);

	font-size: 10px;
	font-weight: 750;
}

.sl-comment-form-wrap textarea {
	width: 100%;

	min-height: 110px;

	padding: 11px 12px;

	resize: vertical;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	outline: 0;

	background: #0f1418;
	color: #fff;

	font-size: 12px;
}

.sl-comment-form-wrap textarea:focus {
	border-color: var(--sl-blue);

	box-shadow: 0 0 0 3px var(--sl-blue-soft);
}

.sl-comment-form-wrap .form-submit {
	margin: 9px 0 0;
}

.sl-comment-form-wrap input[type="text"],
.sl-comment-form-wrap input[type="email"],
.sl-comment-form-wrap input[type="url"] {
	width: 100%;

	min-height: 40px;

	padding: 0 11px;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	outline: 0;

	background: #0f1418;
	color: #fff;

	font-size: 12px;
}

.sl-comment-form-wrap input:focus {
	border-color: var(--sl-blue);

	box-shadow: 0 0 0 3px var(--sl-blue-soft);
}

.sl-comments-closed {
	padding: 12px 14px;

	border-radius: 7px;

	background: #1a2026;
	color: var(--sl-muted);

	font-size: 11px;
}

.sl-comments .must-log-in {
	margin: 0;

	color: var(--sl-muted);

	font-size: 11px;
}

.sl-comments .must-log-in a {
	color: #78a9ff;

	font-weight: 700;
}

.sl-comments .comment-navigation {
	margin-top: 12px;

	padding-top: 12px;

	border-top: 1px solid var(--sl-border-soft);

	display: flex;
	justify-content: space-between;
}

.sl-comments .comment-navigation a {
	color: #78a9ff;

	font-size: 10px;
	font-weight: 700;
}


/* =========================================================
   23. EMPTY STATES
   ========================================================= */

.sl-empty-state,
.sl-community-empty {
	width: 100%;

	margin-top: 12px;

	padding: 50px 24px;

	text-align: center;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-empty-state__icon {
	margin-bottom: 12px;

	font-size: 30px;
}

.sl-empty-state h1,
.sl-empty-state h2,
.sl-community-empty h2 {
	margin: 0 0 7px;

	color: #fff;

	font-size: 19px;
}

.sl-empty-state p,
.sl-community-empty p {
	max-width: 520px;

	margin: 0 auto 18px;

	color: var(--sl-muted);

	font-size: 12px;
}


/* =========================================================
   24. PAGINATION
   ========================================================= */

.sl-pagination {
	margin-top: 14px;
}

.sl-pagination .nav-links {
	display: flex;

	justify-content: center;

	flex-wrap: wrap;

	gap: 5px;
}

.sl-pagination a,
.sl-pagination span {
	min-width: 34px;
	min-height: 34px;

	padding: 0 10px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	background: var(--sl-surface);
	color: var(--sl-text-soft);

	font-size: 11px;
}

.sl-pagination a:hover,
.sl-pagination .current {
	background: var(--sl-blue);

	border-color: var(--sl-blue);

	color: #fff;
}


/* =========================================================
   25. COMMUNITY HEADER / ARCHIVE
   ========================================================= */

.sl-layout--community .sl-main-content--community {
	padding-top: 0;
}

.sl-community-hero {
	width: calc(100% + 36px);

	margin: 0 -18px 14px;

	background: var(--sl-bg-soft);

	border-bottom: 1px solid var(--sl-border);
}

.sl-community-cover {
	position: relative;

	height: 150px;

	overflow: hidden;

	display: flex;
	align-items: flex-end;

	padding: 20px 24px;

	background:
		linear-gradient(
			135deg,
			#111827,
			#172554 50%,
			#0f172a
		);
}

.sl-community-cover::after {
	content: "";

	position: absolute;

	inset: 0;

	background:
		radial-gradient(
			circle at 18% 30%,
			rgba(51, 103, 232, 0.24),
			transparent 28%
		),
		radial-gradient(
			circle at 80% 75%,
			rgba(255, 69, 0, 0.14),
			transparent 30%
		);
}

.sl-community-cover span {
	position: relative;

	z-index: 1;

	color: rgba(255, 255, 255, 0.9);

	font-size: 17px;
	font-weight: 900;

	letter-spacing: 0.12em;
}

.sl-community-identity {
	min-height: 92px;

	padding: 0 24px;

	display: flex;
	align-items: center;

	gap: 14px;
}

.sl-community-identity__avatar {
	width: 72px;
	height: 72px;

	flex: 0 0 72px;

	margin-top: -30px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 4px solid var(--sl-bg-soft);
	border-radius: 50%;

	background: var(--sl-orange);
	color: #fff;

	font-size: 24px;
	font-weight: 900;
}

.sl-community-identity__copy {
	min-width: 0;
}

.sl-community-identity__copy h1 {
	margin: 0;

	color: #fff;

	font-size: 21px;
	line-height: 1.2;
}

.sl-community-identity__copy p {
	margin: 4px 0 0;

	color: var(--sl-muted);

	font-size: 10px;
}

.sl-community-identity__actions {
	margin-left: auto;

	display: flex;

	gap: 7px;
}

.sl-community-header__description {
	padding: 0 24px 18px;

	color: var(--sl-text-soft);

	font-size: 12px;

	line-height: 1.55;
}

.sl-community-toolbar {
	min-height: 40px;

	margin-bottom: 10px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 10px;
}

.sl-community-sort {
	display: flex;

	gap: 3px;

	overflow-x: auto;

	scrollbar-width: none;
}

.sl-community-sort::-webkit-scrollbar {
	display: none;
}

.sl-community-sort__link {
	min-height: 32px;

	padding: 0 11px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	border-radius: 16px;

	color: var(--sl-muted);

	font-size: 10px;
	font-weight: 800;

	white-space: nowrap;
}

.sl-community-sort__link:hover,
.sl-community-sort__link.is-active {
	background: #252d35;

	color: #fff;
}

.sl-community-view {
	display: flex;

	gap: 3px;
}

.sl-community-view button {
	width: 32px;
	height: 32px;

	border-radius: 7px;

	background: transparent;
	color: var(--sl-muted);

	cursor: pointer;
}

.sl-community-view button.is-active,
.sl-community-view button:hover {
	background: #252d35;

	color: #fff;
}


/* =========================================================
   26. COMMUNITY PANELS
   ========================================================= */

.sl-community-panel {
	width: 100%;

	margin-bottom: 12px;

	padding: 15px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-community-panel__title {
	margin: 0 0 10px;

	color: #fff;

	font-size: 13px;
	font-weight: 800;
}

.sl-community-panel__description {
	color: var(--sl-muted);

	font-size: 11px;
	line-height: 1.5;
}

.sl-community-about-stats {
	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 10px;

	margin-top: 13px;

	padding-top: 12px;

	border-top: 1px solid var(--sl-border-soft);
}

.sl-community-about-stat strong {
	display: block;

	color: #fff;

	font-size: 12px;
}

.sl-community-about-stat span {
	display: block;

	margin-top: 2px;

	color: var(--sl-muted);

	font-size: 9px;
}

.sl-community-about-meta {
	margin-top: 12px;

	padding-top: 11px;

	border-top: 1px solid var(--sl-border-soft);

	color: var(--sl-muted);

	font-size: 9px;

	line-height: 1.8;
}

.sl-community-rules {
	margin: 0;

	padding-left: 17px;
}

.sl-community-rules li {
	margin-bottom: 7px;

	color: #b8c0c7;

	font-size: 10px;
}

.sl-community-links a {
	display: block;

	padding: 7px 0;

	color: #78a9ff;

	font-size: 10px;
	font-weight: 700;
}

.sl-community-links a:hover {
	color: #fff;
}

.sl-community-highlights__grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 10px;
}

.sl-community-directory {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 10px;
}

.sl-community-directory-card {
	min-width: 0;

	padding: 13px;

	display: flex;
	align-items: center;

	gap: 10px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-community-directory-card:hover {
	background: var(--sl-surface-hover);

	border-color: #3a4650;
}

.sl-community-directory-avatar {
	width: 44px;
	height: 44px;

	flex: 0 0 44px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--sl-orange);
	color: #fff;

	font-size: 13px;
	font-weight: 900;
}

.sl-community-directory-main {
	min-width: 0;
	flex: 1;
}

.sl-community-directory-main strong {
	display: block;

	color: #fff;

	font-size: 13px;
}

.sl-community-directory-main small {
	display: block;

	margin-top: 2px;

	color: var(--sl-muted);

	font-size: 9px;
}

.sl-community-directory-main > span {
	display: block;

	margin-top: 4px;

	color: var(--sl-text-soft);

	font-size: 10px;
}

.sl-community-directory-arrow {
	color: var(--sl-muted);

	font-size: 22px;
}


/* =========================================================
   27. STATIC PAGES
   ========================================================= */

.sl-main-content--static {
	width: 100%;
	max-width: 980px;
}

.sl-static-header {
	margin-bottom: 16px;

	padding: 20px;

	display: flex;
	align-items: center;

	gap: 14px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-static-header__icon {
	width: 44px;
	height: 44px;

	flex: 0 0 44px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 12px;

	background: var(--sl-orange);
	color: #fff;

	font-size: 20px;
	font-weight: 900;
}

.sl-static-header h1 {
	margin: 0 0 3px;

	color: #fff;

	font-size: 21px;
}

.sl-static-header p {
	margin: 0;

	color: var(--sl-muted);

	font-size: 11px;
}

.sl-static-content > * {
	margin-bottom: 12px;
}

.sl-page-card,
.sl-form-card {
	padding: 22px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-page-card h1,
.sl-form-card h1 {
	margin: 0 0 8px;

	color: #fff;

	font-size: 22px;
}

.sl-page-content {
	color: var(--sl-text-soft);

	font-size: 13px;

	line-height: 1.7;
}

.sl-feature-grid,
.sl-help-grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 10px;
}

.sl-feature-card,
.sl-help-card,
.sl-rule-card,
.sl-help-section {
	padding: 16px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-feature-card h2,
.sl-help-card h2,
.sl-rule-card h2,
.sl-help-section h2 {
	margin: 0 0 6px;

	color: #fff;

	font-size: 14px;
}

.sl-feature-card p,
.sl-help-card p,
.sl-rule-card p,
.sl-help-section p {
	margin: 0;

	color: var(--sl-muted);

	font-size: 11px;

	line-height: 1.55;
}

.sl-rule-card {
	display: flex;

	gap: 14px;
}

.sl-rule-number {
	width: 32px;
	height: 32px;

	flex: 0 0 32px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--sl-blue);
	color: #fff;

	font-size: 11px;
	font-weight: 900;
}


/* =========================================================
   28. FORMS
   ========================================================= */

.sl-form-intro {
	margin: 0 0 18px;

	color: var(--sl-muted);

	font-size: 12px;
}

.sl-form-group {
	margin-bottom: 14px;
}

.sl-form-group label {
	display: block;

	margin-bottom: 6px;

	color: #dfe4e8;

	font-size: 11px;
	font-weight: 750;
}

.sl-form-group input,
.sl-form-group textarea,
.sl-form-group select {
	width: 100%;

	min-height: 40px;

	padding: 9px 11px;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	outline: 0;

	background: #0f1418;
	color: #fff;

	font-size: 12px;
}

.sl-form-group textarea {
	min-height: 130px;

	resize: vertical;
}

.sl-form-group input:focus,
.sl-form-group textarea:focus,
.sl-form-group select:focus {
	border-color: var(--sl-blue);

	box-shadow: 0 0 0 3px var(--sl-blue-soft);
}

.sl-form-actions {
	display: flex;
	align-items: center;

	gap: 8px;

	margin-top: 18px;
}


/* =========================================================
   29. PROFILE
   ========================================================= */

.sl-profile-hero {
	width: 100%;

	overflow: hidden;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-profile-cover {
	height: 140px;

	background:
		linear-gradient(
			135deg,
			#111827,
			#172554 55%,
			#0f172a
		);
}

.sl-profile-row {
	min-height: 96px;

	padding: 0 18px;

	display: flex;
	align-items: center;

	gap: 14px;
}

.sl-profile-avatar {
	width: 72px;
	height: 72px;

	flex: 0 0 72px;

	margin-top: -32px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 4px solid var(--sl-surface);

	border-radius: 50%;

	background: var(--sl-orange);
	color: #fff;

	font-size: 25px;
	font-weight: 900;
}

.sl-profile-row h1 {
	margin: 0;

	color: #fff;

	font-size: 20px;
}

.sl-profile-row p {
	margin: 3px 0 0;

	color: var(--sl-muted);

	font-size: 10px;
}

.sl-profile-row .sl-button {
	margin-left: auto;
}

.sl-profile-bio {
	padding: 0 18px 18px;

	color: var(--sl-text-soft);

	font-size: 12px;
}

.sl-profile-stats {
	display: flex;

	gap: 20px;

	color: var(--sl-muted);

	font-size: 10px;
}


/* =========================================================
   30. SETTINGS
   ========================================================= */

.sl-settings-content,
.sl-settings-list {
	width: 100%;
}

.sl-settings-section {
	margin-bottom: 12px;

	overflow: hidden;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
}

.sl-settings-section__header {
	padding: 14px 16px;

	border-bottom: 1px solid var(--sl-border-soft);
}

.sl-settings-section__header h2 {
	margin: 0;

	color: #fff;

	font-size: 14px;
}

.sl-settings-row {
	min-height: 58px;

	padding: 11px 16px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 12px;

	border-bottom: 1px solid var(--sl-border-soft);
}

.sl-settings-row:last-child {
	border-bottom: 0;
}

.sl-settings-row__content {
	min-width: 0;
}

.sl-settings-row__content strong {
	display: block;

	color: #fff;

	font-size: 12px;
}

.sl-settings-row__content span {
	display: block;

	margin-top: 2px;

	color: var(--sl-muted);

	font-size: 10px;
}

.sl-settings-value {
	color: var(--sl-muted);

	font-size: 11px;
}

.sl-settings-section--danger {
	border-color: rgba(230, 70, 70, 0.45);
}


/* =========================================================
   31. AUTHENTICATION
   ========================================================= */

.sl-auth-page {
	min-height: calc(100vh - var(--sl-header-height));

	padding: 50px 20px;

	display: flex;
	align-items: center;
	justify-content: center;
}

.sl-auth-card {
	width: 100%;
	max-width: 430px;

	padding: 28px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius-lg);

	box-shadow: var(--sl-shadow);
}

.sl-auth-card h1 {
	margin: 0 0 8px;

	color: #fff;

	font-size: 22px;
}

.sl-auth-card p {
	color: var(--sl-muted);

	font-size: 11px;
}

.sl-auth-card input[type="text"],
.sl-auth-card input[type="email"],
.sl-auth-card input[type="password"] {
	width: 100%;

	min-height: 42px;

	margin-bottom: 10px;

	padding: 0 12px;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	outline: 0;

	background: #0e1216;
	color: #fff;
}

.sl-auth-card input:focus {
	border-color: var(--sl-blue);
}

.sl-auth-card input[type="submit"] {
	width: 100%;

	min-height: 42px;

	border: 0;
	border-radius: 21px;

	background: var(--sl-orange);
	color: #fff;

	font-weight: 800;

	cursor: pointer;
}

.sl-auth-card input[type="submit"]:hover {
	background: var(--sl-orange-hover);
}


/* =========================================================
   32. MODALS
   ========================================================= */

.sl-modal-overlay {
	position: fixed;

	inset: 0;

	z-index: 2000;

	padding: 20px;

	display: none;

	align-items: center;
	justify-content: center;

	background: rgba(0, 0, 0, 0.72);

	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.sl-modal-overlay.is-open {
	display: flex;
}

.sl-modal {
	position: relative;

	width: 100%;
	max-width: 460px;

	max-height: calc(100vh - 40px);

	overflow-y: auto;

	padding: 22px;

	background: #171d22;

	border: 1px solid #37414a;
	border-radius: var(--sl-radius-lg);

	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
}

.sl-modal__close {
	position: absolute;

	top: 9px;
	right: 9px;

	width: 34px;
	height: 34px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: transparent;
	color: var(--sl-muted);

	cursor: pointer;
}

.sl-modal__close:hover {
	background: #283038;

	color: #fff;
}


/* =========================================================
   33. 404
   ========================================================= */

.sl-404 {
	min-height: 55vh;

	display: flex;
	flex-direction: column;

	align-items: center;
	justify-content: center;

	text-align: center;
}

.sl-404__number {
	color: var(--sl-orange);

	font-size: 76px;

	line-height: 1;

	font-weight: 900;
}

.sl-404 h1 {
	margin: 8px 0;

	color: #fff;

	font-size: 24px;
}

.sl-404 p {
	margin: 0 0 18px;

	color: var(--sl-muted);

	font-size: 12px;
}

.sl-404__actions {
	display: flex;

	gap: 8px;
}


/* =========================================================
   34. FOOTER
   ========================================================= */

.sl-footer {
	width: 100%;
	max-width: var(--sl-content-max);

	margin: 0 auto;

	padding: 18px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 12px;

	border-top: 1px solid var(--sl-border);

	background: #080b0e;

	color: var(--sl-muted);

	font-size: 10px;
}

.sl-footer span:last-child {
	display: flex;

	gap: 12px;
}

.sl-footer a:hover {
	color: #fff;
}


/* =========================================================
   35. MOBILE NAVIGATION
   ========================================================= */

.sl-mobile-nav {
	display: none;
}


/* =========================================================
   36. TABLET
   ========================================================= */

@media (max-width: 1180px) {

	:root {
		--sl-sidebar-width: 220px;
	}

	.sl-layout {
		grid-template-columns:
			var(--sl-sidebar-width)
			minmax(0, 1fr);
	}

	.sl-right-sidebar {
		display: none;
	}

	.sl-main-content,
	.sl-main {
		padding-left: 18px;
		padding-right: 18px;
	}

	.sl-post-card {
		grid-template-columns:
			60px
			minmax(0, 1fr)
			180px;
	}

	.sl-post-card--no-media {
		grid-template-columns:
			60px
			minmax(0, 1fr);
	}

	.sl-single-post__title {
		font-size: 23px;
	}
}


/* =========================================================
   37. SMALL TABLET
   ========================================================= */

@media (max-width: 900px) {

	:root {
		--sl-sidebar-width: 190px;
	}

	.sl-header-inner {
		gap: 10px;
	}

	.sl-brand span:last-child {
		display: none;
	}

	.sl-header-create {
		padding: 0 9px;
	}

	.sl-user-button > span:last-child {
		display: none;
	}

	.sl-post-card {
		grid-template-columns:
			56px
			minmax(0, 1fr)
			155px;
	}

	.sl-post-card--no-media {
		grid-template-columns:
			56px
			minmax(0, 1fr);
	}

	.sl-post-media {
		padding-right: 9px;
	}

	.sl-post-media img {
		min-height: 125px;
	}

	.sl-profile-row {
		flex-wrap: wrap;

		padding-bottom: 14px;
	}

	.sl-profile-row .sl-button {
		margin-left: auto;
	}

	.sl-community-directory {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   38. MOBILE
   ========================================================= */

@media (max-width: 700px) {

	:root {
		--sl-header-height: 56px;
	}

	.sl-header {
		position: sticky;
	}

	.sl-header-inner {
		padding: 0 8px;

		gap: 7px;
	}

	.sl-mobile-menu {
		display: flex;
	}

	.sl-brand {
		font-size: 15px;
	}

	.sl-brand-icon {
		width: 30px;
		height: 30px;

		flex-basis: 30px;
	}

	.sl-search {
		height: 36px;

		margin: 0;

		flex: 1 1 auto;

		min-width: 0;
	}

	.sl-search input {
		font-size: 11px;
	}

	.sl-header-icon {
		display: none;
	}

	.sl-header-create {
		display: none;
	}

	.sl-login-button {
		min-height: 34px;

		padding: 0 11px;

		font-size: 11px;
	}

	.sl-layout {
		width: 100%;

		display: block;
	}

	.sl-sidebar {
		display: none;
	}

	.sl-right-sidebar {
		display: none;
	}

	.sl-main-content,
	.sl-main {
		width: 100%;

		padding:
			10px
			8px
			82px;
	}

	.sl-feed-header {
		min-height: 50px;

		margin-bottom: 7px;

		gap: 8px;
	}

	.sl-feed-header h1 {
		font-size: 19px;
	}

	.sl-feed-header p {
		font-size: 10px;
	}

	.sl-feed-header .sl-button {
		min-height: 32px;

		padding: 0 11px;

		font-size: 10px;
	}

	.sl-feed-tabs {
		min-height: 40px;

		margin-bottom: 8px;
	}

	.sl-feed-tabs a {
		min-height: 35px;

		padding: 0 11px;

		font-size: 11px;
	}


	/* Mobile post card becomes full-width vertical card. */

	.sl-post-card,
	.sl-post-card--no-media {
		width: 100%;

		display: block;

		margin-bottom: 8px;

		border-radius: 8px;
	}

	.sl-post-vote-rail {
		display: none;
	}

	.sl-post-card__body {
		width: 100%;
	}

	.sl-post-card__topline {
		padding: 9px 10px 4px;
	}

	.sl-post-community {
		font-size: 9px;
	}

	.sl-community-avatar {
		width: 24px;
		height: 24px;

		flex-basis: 24px;
	}

	.sl-post-card__title-row {
		padding: 0 10px;
	}

	.sl-post-title,
	.sl-post-card__title {
		font-size: 15px;

		line-height: 1.32;
	}

	.sl-post-excerpt {
		padding:
			0
			10px
			8px;

		font-size: 10.5px;
	}

	.sl-post-media {
		width: 100%;
		height: auto;

		max-height: none;

		padding:
			0
			10px
			8px;
	}

	.sl-post-media img {
		width: 100%;
		height: auto;

		min-height: 0;

		max-height: 460px;

		aspect-ratio: 16 / 10;

		object-fit: cover;

		border-radius: 7px;
	}

	.sl-post-actions,
	.sl-post-card__actions {
		min-height: 38px;

		padding:
			2px
			7px
			5px;

		overflow-x: auto;

		scrollbar-width: none;
	}

	.sl-post-action {
		min-height: 29px;

		padding: 0 7px;

		font-size: 9px;
	}


	/* Mobile single post */

	.sl-single-post {
		border-radius: 8px;
	}

	.sl-single-post__header {
		padding:
			10px
			11px
			6px;
	}

	.sl-single-post__content {
		padding:
			0
			11px
			12px;
	}

	.sl-single-post__title {
		margin-bottom: 7px;

		font-size: 20px;
		line-height: 1.28;
	}

	.sl-single-post__meta {
		margin-bottom: 13px;

		font-size: 9px;
	}

	.sl-single-post__media {
		margin-bottom: 13px;

		border-radius: 7px;
	}

	.sl-single-post__body {
		font-size: 13px;

		line-height: 1.65;
	}

	.sl-single-post__actions {
		padding:
			3px
			7px
			6px;
	}

	.sl-comments-panel {
		margin-top: 9px;
	}

	.sl-comments-panel__header {
		min-height: 40px;

		margin-bottom: 7px;
	}

	.sl-comments-panel__title {
		font-size: 18px;
	}

	.sl-comments {
		padding: 13px;

		border-radius: 8px;
	}


	/* Mobile comments */

	.sl-comment-list .children {
		padding-left: 22px;
	}

	.sl-comment-list .children::before {
		left: 8px;

		width: 1px;
	}

	.sl-comment__body {
		gap: 8px;
	}

	.sl-comment__avatar {
		width: 28px;
		height: 28px;

		flex-basis: 28px;
	}

	.sl-comment__text {
		font-size: 11px;
	}


	/* Mobile community */

	.sl-community-hero {
		width: calc(100% + 16px);

		margin:
			0
			-8px
			10px;
	}

	.sl-community-cover {
		height: 110px;

		padding: 16px;
	}

	.sl-community-cover span {
		font-size: 14px;
	}

	.sl-community-identity {
		min-height: 105px;

		padding:
			0
			14px;

		flex-wrap: wrap;

		gap: 9px;
	}

	.sl-community-identity__avatar {
		width: 60px;
		height: 60px;

		flex-basis: 60px;

		margin-top: -25px;
	}

	.sl-community-identity__copy h1 {
		font-size: 18px;
	}

	.sl-community-identity__actions {
		width: 100%;

		margin:
			-10px
			0
			0
			69px;

		overflow-x: auto;
	}

	.sl-community-header__description {
		padding:
			0
			14px
			14px;

		font-size: 11px;
	}

	.sl-community-toolbar {
		overflow: hidden;
	}

	.sl-community-view {
		display: none;
	}

	.sl-community-highlights__grid,
	.sl-feature-grid,
	.sl-help-grid {
		grid-template-columns: 1fr;
	}


	/* Mobile profile */

	.sl-profile-cover {
		height: 105px;
	}

	.sl-profile-row {
		min-height: 95px;

		padding:
			0
			12px
			12px;
	}

	.sl-profile-avatar {
		width: 62px;
		height: 62px;

		flex-basis: 62px;

		margin-top: -27px;
	}

	.sl-profile-row h1 {
		font-size: 18px;
	}

	.sl-profile-row .sl-button {
		width: 100%;

		margin-left: 0;
	}


	/* Mobile static pages */

	.sl-page-card,
	.sl-form-card {
		padding: 15px;
	}

	.sl-static-header {
		padding: 15px;
	}

	.sl-static-header h1 {
		font-size: 18px;
	}

	.sl-static-header__icon {
		width: 38px;
		height: 38px;

		flex-basis: 38px;
	}

	.sl-rule-card {
		gap: 10px;
	}


	/* Mobile settings */

	.sl-settings-row {
		align-items: flex-start;
	}


	/* Mobile authentication */

	.sl-auth-page {
		padding:
			28px
			12px
			82px;
	}

	.sl-auth-card {
		padding: 20px;
	}


	/* Mobile footer */

	.sl-footer {
		padding:
			18px
			12px
			82px;

		flex-direction: column;

		text-align: center;
	}


	/* Fixed bottom navigation */

	.sl-mobile-nav {
		position: fixed;

		left: 0;
		right: 0;
		bottom: 0;

		z-index: 1200;

		min-height: 60px;

		padding:
			5px
			7px
			calc(5px + env(safe-area-inset-bottom));

		display: grid;

		grid-template-columns:
			repeat(5, 1fr);

		background: rgba(12, 16, 19, 0.98);

		border-top: 1px solid var(--sl-border);

		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
	}

	.sl-mobile-nav a {
		min-width: 0;

		display: flex;
		flex-direction: column;

		align-items: center;
		justify-content: center;

		gap: 2px;

		border-radius: 7px;

		color: var(--sl-muted);
	}

	.sl-mobile-nav a:hover,
	.sl-mobile-nav a.is-active {
		background: var(--sl-surface);

		color: #fff;
	}

	.sl-mobile-nav span {
		font-size: 17px;

		line-height: 1;
	}

	.sl-mobile-nav small {
		font-size: 8px;

		font-weight: 700;
	}
}


/* =========================================================
   39. VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

	.sl-header-inner {
		padding:
			0
			6px;
	}

	.sl-brand {
		display: none;
	}

	.sl-search {
		flex: 1;
	}

	.sl-main-content,
	.sl-main {
		padding-left: 6px;
		padding-right: 6px;
	}

	.sl-post-card {
		border-radius: 7px;
	}

	.sl-post-title,
	.sl-post-card__title {
		font-size: 14px;
	}

	.sl-post-excerpt {
		font-size: 10px;
	}

	.sl-community-sort__link {
		padding: 0 9px;
	}

	.sl-community-identity__actions {
		margin-left: 69px;
	}

	.sl-single-post__title {
		font-size: 19px;
	}
}


/* =========================================================
   40. EXTREMELY SMALL SCREENS
   ========================================================= */

@media (max-width: 360px) {

	.sl-mobile-menu {
		width: 34px;

		flex-basis: 34px;
	}

	.sl-login-button {
		padding:
			0
			9px;
	}

	.sl-post-action {
		padding-left: 5px;
		padding-right: 5px;
	}

	.sl-mobile-nav small {
		font-size: 7px;
	}
}


/* =========================================================
   41. WORDPRESS ADMIN BAR
   ========================================================= */

.admin-bar .sl-header {
	top: 32px;
}

@media screen and (max-width: 782px) {

	.admin-bar .sl-header {
		top: 46px;
	}

	.admin-bar .sl-sidebar {
		top: calc(var(--sl-header-height) + 46px);

		height: calc(100vh - var(--sl-header-height) - 46px);
	}
}


/* =========================================================
   42. ACCESSIBILITY
   ========================================================= */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--sl-blue);

	outline-offset: 2px;
}


/* =========================================================
   43. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;

		transition-duration: 0.01ms !important;

		animation-duration: 0.01ms !important;

		animation-iteration-count: 1 !important;
	}
}


/* =========================================================
   44. SCROLLBARS
   ========================================================= */

* {
	scrollbar-width: thin;

	scrollbar-color:
		#303840
		transparent;
}

::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

::-webkit-scrollbar-track {
	background: transparent;
}

::-webkit-scrollbar-thumb {
	background: #303840;

	border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
	background: #46515b;
}

/* =========================================================
   STUDENTLIFE LAYOUT LOCK — HOME / FEED
   Keep this block last so it safely overrides legacy rules.
   ========================================================= */

.sl-layout {
	width: min(100%, 1440px);
	margin-inline: auto;
	grid-template-columns: 250px minmax(0, 1fr) 320px;
}

.sl-main-content--home {
	width: 100%;
	max-width: 820px;
	margin-inline: auto;
	padding-inline: 18px;
}

.sl-feed-list {
	width: 100%;
	max-width: 100%;
}

.sl-post-card {
	width: 100%;
	max-width: 100%;
}

.sl-post-card__body,
.sl-post-card__title-row,
.sl-post-excerpt,
.sl-post-actions {
	min-width: 0;
}

.sl-post-title,
.sl-post-title a,
.sl-post-excerpt {
	overflow-wrap: anywhere;
}

.sl-post-media {
	align-self: stretch;
	min-width: 0;
}

.sl-post-media img {
	width: 100%;
	max-width: 100%;
}

.sl-pagination {
	margin-top: 16px;
	padding: 12px 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-top: 1px solid var(--sl-border);
}

.sl-pagination a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 12px;
	border: 1px solid var(--sl-border);
	border-radius: 18px;
	color: var(--sl-text-soft);
	font-size: 11px;
	font-weight: 750;
}

.sl-pagination a:hover {
	background: var(--sl-surface);
	color: #fff;
}

/* Keep the right rail at normal desktop widths. */
@media (max-width: 1100px) {
	.sl-layout {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.sl-right-sidebar {
		display: none;
	}

	.sl-main-content--home {
		max-width: 820px;
	}
}

/* Tablet: compact navigation, full-width feed. */
@media (max-width: 900px) {
	.sl-layout {
		grid-template-columns: 190px minmax(0, 1fr);
	}

	.sl-main-content--home {
		max-width: none;
		padding-inline: 14px;
	}

	.sl-post-card {
		grid-template-columns: 54px minmax(0, 1fr) 150px;
	}

	.sl-post-card--no-media {
		grid-template-columns: 54px minmax(0, 1fr);
	}
}

/* Mobile: one column, bottom navigation, media below text. */
@media (max-width: 700px) {
	.sl-layout,
	.sl-layout--home {
		display: block;
		width: 100%;
	}

	.sl-main-content--home {
		width: 100%;
		max-width: none;
		padding: 10px 8px 82px;
	}

	.sl-feed-header {
		width: 100%;
	}

	.sl-feed-header__copy {
		min-width: 0;
	}

	.sl-post-card,
	.sl-post-card--no-media {
		display: block;
		width: 100%;
	}

	.sl-post-vote-rail {
		display: none;
	}

	.sl-post-card__body {
		width: 100%;
	}

	.sl-post-media {
		width: 100%;
		height: auto;
		padding: 0 10px 8px;
	}

	.sl-post-media img {
		width: 100%;
		height: auto;
		min-height: 0;
		max-height: 460px;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.sl-pagination {
		margin-bottom: 8px;
	}
}

/* Very narrow phones: never allow header/feed content to create overflow. */
@media (max-width: 480px) {
	.sl-main-content--home {
		padding-inline: 6px;
	}

	.sl-feed-header .sl-button {
		flex: 0 0 auto;
	}

	.sl-pagination a {
		padding-inline: 9px;
		font-size: 10px;
	}
}


/* =========================================================
   GLOBAL SHELL — HARD STICKY/VIEWPORT LOCK
   =========================================================
   The header and desktop rails are intentionally taken out
   of normal document flow. This prevents ancestor overflow,
   grid stretching, and page-template wrappers from breaking
   sticky positioning.
   ========================================================= */

:root {
	--sl-admin-bar-height: 0px;
	--sl-shell-header-top: 0px;
}

body.admin-bar {
	--sl-admin-bar-height: 32px;
	--sl-shell-header-top: 32px;
}

.sl-header {
	position: fixed !important;
	top: var(--sl-shell-header-top) !important;
	left: 0;
	right: 0;
	z-index: 10000 !important;
	width: 100%;
	height: var(--sl-header-height);
}

.sl-page-shell {
	position: relative;
	z-index: 1;
	width: 100%;
	min-width: 0;
	padding-top: var(--sl-header-height);
}

.sl-layout {
	position: relative;
	width: 100%;
	max-width: var(--sl-content-max);
	margin: 0 auto;
	min-height: calc(100vh - var(--sl-header-height));
	display: grid;
	grid-template-columns:
		var(--sl-sidebar-width)
		minmax(0, 1fr)
		var(--sl-right-width);
	align-items: start;
}

.sl-layout > .sl-sidebar {
	position: fixed !important;
	top: calc(var(--sl-shell-header-top) + var(--sl-header-height)) !important;
	left: max(0px, calc((100vw - var(--sl-content-max)) / 2)) !important;
	z-index: 9000 !important;
	width: var(--sl-sidebar-width) !important;
	height: calc(100vh - var(--sl-shell-header-top) - var(--sl-header-height)) !important;
	margin: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
}

.sl-layout > .sl-right-sidebar {
	position: fixed !important;
	top: calc(var(--sl-shell-header-top) + var(--sl-header-height)) !important;
	right: max(0px, calc((100vw - var(--sl-content-max)) / 2)) !important;
	z-index: 9000 !important;
	width: var(--sl-right-width) !important;
	height: calc(100vh - var(--sl-shell-header-top) - var(--sl-header-height)) !important;
	margin: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
}

.sl-layout > .sl-main-content,
.sl-layout > .sl-main {
	grid-column: 2;
	width: 100%;
	min-width: 0;
}

.sl-main-content,
.sl-main {
	position: relative;
	z-index: 1;
	min-width: 0;
}

@media (max-width: 1200px) {
	.sl-layout {
		grid-template-columns:
			var(--sl-sidebar-width)
			minmax(0, 1fr);
	}

	.sl-layout > .sl-right-sidebar {
		display: none !important;
	}

	.sl-layout > .sl-main-content,
	.sl-layout > .sl-main {
		grid-column: 2;
	}
}

@media (max-width: 760px) {
	:root {
		--sl-header-height: 58px;
	}

	body.admin-bar {
		--sl-admin-bar-height: 46px;
		--sl-shell-header-top: 46px;
	}

	.sl-page-shell {
		padding-top: var(--sl-header-height);
	}

	.sl-layout {
		display: block;
		min-height: calc(100vh - var(--sl-header-height));
	}

	.sl-layout > .sl-sidebar,
	.sl-layout > .sl-right-sidebar {
		display: none !important;
	}

	.sl-layout > .sl-main-content,
	.sl-layout > .sl-main {
		display: block;
		width: 100%;
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media (max-width: 480px) {
	.sl-layout > .sl-main-content,
	.sl-layout > .sl-main {
		padding-left: 8px;
		padding-right: 8px;
	}
}

/* =========================================================
   INDIVIDUAL POST / DETAILS PAGE — FINAL LAYOUT LOCK
   Scoped to .sl-layout--single so home/community/create pages
   are not affected.
   ========================================================= */

.sl-layout--single {
	align-items: start;
}

.sl-layout--single .sl-main-content--single {
	width: 100%;
	min-width: 0;
	padding: 20px 18px 80px;
}

.sl-layout--single .sl-single-post {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	background: var(--sl-surface);
	border: 1px solid var(--sl-border);
	border-radius: 10px;
	overflow: hidden;
}

.sl-layout--single .sl-single-post__card {
	width: 100%;
	min-width: 0;
}

.sl-layout--single .sl-single-post__header {
	min-height: 62px;
	padding: 14px 18px 10px;
	border-bottom: 0;
}

.sl-layout--single .sl-single-post__community {
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.sl-single-post__community-avatar {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--sl-orange);
	color: #fff;
	font-size: 12px;
	font-weight: 900;
}

.sl-single-post__community-copy {
	min-width: 0;
}

.sl-single-post__community-line,
.sl-single-post__author-line {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	min-width: 0;
}

.sl-single-post__community-line {
	font-size: 12px;
}

.sl-single-post__author-line {
	margin-top: 2px;
	color: var(--sl-muted);
	font-size: 10px;
}

.sl-single-post__author-line a {
	color: var(--sl-text-soft);
	font-weight: 700;
}

.sl-single-post__author-line a:hover,
.sl-single-post__community-name:hover {
	color: #fff;
	text-decoration: underline;
}

.sl-layout--single .sl-single-post__content {
	width: 100%;
	min-width: 0;
	padding: 0 18px 18px;
}

.sl-layout--single .sl-single-post__title {
	margin: 2px 0 10px;
	font-size: clamp(22px, 2vw, 30px);
	line-height: 1.22;
	font-weight: 800;
	letter-spacing: -0.025em;
	color: #fff;
	word-break: break-word;
}

.sl-layout--single .sl-single-post__meta {
	margin-bottom: 16px;
}

.sl-single-post__author {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--sl-text-soft);
	font-weight: 700;
}

.sl-single-post__author:hover {
	color: #fff;
}

.sl-single-post__author-avatar {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #34404b;
	color: #fff;
	font-size: 9px;
	font-weight: 900;
}

.sl-layout--single .sl-single-post__media {
	width: 100%;
	margin: 0 0 18px;
	border-radius: 8px;
	background: #090d10;
	border: 1px solid var(--sl-border-soft);
}

.sl-layout--single .sl-single-post__image {
	width: 100%;
	max-width: 100%;
	max-height: 760px;
	height: auto;
	object-fit: contain;
	background: #090d10;
}

.sl-layout--single .sl-single-post__body {
	width: 100%;
	min-width: 0;
	color: var(--sl-text-soft);
	font-size: 15px;
	line-height: 1.72;
	overflow-wrap: anywhere;
}

.sl-layout--single .sl-single-post__body > *:first-child {
	margin-top: 0;
}

.sl-layout--single .sl-single-post__body > *:last-child {
	margin-bottom: 0;
}

.sl-layout--single .sl-single-post__body p {
	margin: 0 0 16px;
}

.sl-layout--single .sl-single-post__body h2,
.sl-layout--single .sl-single-post__body h3,
.sl-layout--single .sl-single-post__body h4 {
	margin: 24px 0 10px;
	color: #fff;
	line-height: 1.3;
}

.sl-layout--single .sl-single-post__body a {
	color: #78a9ff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sl-layout--single .sl-single-post__body img,
.sl-layout--single .sl-single-post__body video,
.sl-layout--single .sl-single-post__body iframe,
.sl-layout--single .sl-single-post__body embed,
.sl-layout--single .sl-single-post__body object {
	max-width: 100%;
}

.sl-layout--single .sl-single-post__body img {
	height: auto;
	border-radius: 8px;
}

.sl-layout--single .sl-single-post__body figure {
	max-width: 100%;
	margin: 18px 0;
}

.sl-layout--single .sl-single-post__body blockquote {
	margin: 18px 0;
	padding: 12px 16px;
	border-left: 3px solid var(--sl-blue);
	background: #10161b;
	color: var(--sl-text-soft);
}

.sl-layout--single .sl-single-post__body pre {
	max-width: 100%;
	padding: 14px;
	overflow-x: auto;
	border: 1px solid var(--sl-border-soft);
	border-radius: 8px;
	background: #090d10;
	color: #dce3e8;
}

.sl-layout--single .sl-single-post__pages {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 18px;
}

.sl-layout--single .sl-single-post__pages span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 10px;
	border: 1px solid var(--sl-border);
	border-radius: 7px;
	color: var(--sl-text-soft);
	font-size: 11px;
}

.sl-layout--single .sl-single-post__actions {
	margin: 0;
	padding: 8px 14px 12px;
	border-top: 1px solid var(--sl-border-soft);
	background: rgba(10, 14, 17, 0.28);
}

.sl-layout--single .sl-comments-panel {
	width: 100%;
	max-width: 900px;
	margin: 16px auto 0;
}

.sl-layout--single .sl-comments-panel__header {
	justify-content: space-between;
	padding: 0 2px;
}

.sl-layout--single .sl-comments-panel__header > div {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.sl-comments-panel__jump {
	color: var(--sl-muted);
	font-size: 10px;
	font-weight: 700;
}

.sl-comments-panel__jump:hover {
	color: #fff;
}

/* Contextual right rail — deliberately different from the general feed rail. */
.sl-right-sidebar--single {
	padding-top: 20px;
}

.sl-single-sidebar-card {
	width: 100%;
	margin-bottom: 12px;
	padding: 16px;
	background: var(--sl-surface);
	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);
	color: var(--sl-text);
}

.sl-single-sidebar-card h2 {
	margin: 0 0 14px;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
}

.sl-single-sidebar__identity {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sl-single-sidebar__avatar {
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--sl-orange);
	color: #fff;
	font-size: 16px;
	font-weight: 900;
}

.sl-single-sidebar__eyebrow {
	margin-bottom: 2px;
	color: var(--sl-muted);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
}

.sl-single-sidebar__name {
	color: #fff;
	font-size: 14px;
	font-weight: 850;
}

.sl-single-sidebar__name:hover {
	text-decoration: underline;
}

.sl-single-sidebar__description {
	margin: 14px 0;
	color: var(--sl-text-soft);
	font-size: 11px;
	line-height: 1.55;
}

.sl-single-sidebar__description p {
	margin: 0;
}

.sl-single-sidebar__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 14px 0;
}

.sl-single-sidebar__stats > div {
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--sl-border);
	border-radius: 8px;
	background: #10161b;
}

.sl-single-sidebar__stats strong,
.sl-single-sidebar__stats span {
	display: block;
}

.sl-single-sidebar__stats strong {
	color: #fff;
	font-size: 13px;
}

.sl-single-sidebar__stats span {
	margin-top: 2px;
	color: var(--sl-muted);
	font-size: 9px;
}

.sl-single-sidebar__cta {
	width: 100%;
	min-height: 38px;
}

.sl-single-sidebar__links {
	display: flex;
	flex-direction: column;
}

.sl-single-sidebar__links a {
	min-height: 42px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	border-top: 1px solid var(--sl-border-soft);
	color: var(--sl-text-soft);
	font-size: 10px;
	font-weight: 700;
}

.sl-single-sidebar__links a:first-child {
	border-top: 0;
}

.sl-single-sidebar__links a span:last-child {
	color: var(--sl-muted);
	font-size: 18px;
	line-height: 1;
}

.sl-single-sidebar__links a:hover {
	color: #fff;
}

@media (max-width: 1200px) {
	.sl-layout--single .sl-main-content--single {
		padding-left: 18px;
		padding-right: 18px;
	}
}

@media (max-width: 760px) {
	.sl-layout--single .sl-main-content--single {
		padding: 10px 10px 82px;
	}

	.sl-layout--single .sl-single-post,
	.sl-layout--single .sl-comments-panel {
		max-width: none;
	}

	.sl-layout--single .sl-single-post {
		border-radius: 8px;
	}

	.sl-layout--single .sl-single-post__header {
		padding: 11px 12px 8px;
	}

	.sl-layout--single .sl-single-post__content {
		padding: 0 12px 14px;
	}

	.sl-layout--single .sl-single-post__title {
		font-size: 21px;
		line-height: 1.28;
	}

	.sl-layout--single .sl-single-post__body {
		font-size: 14px;
		line-height: 1.65;
	}

	.sl-layout--single .sl-single-post__actions {
		padding: 6px 8px 9px;
	}

	.sl-layout--single .sl-comments-panel {
		margin-top: 10px;
	}

	.sl-layout--single .sl-comments-panel__header {
		padding-inline: 2px;
	}
}

@media (max-width: 480px) {
	.sl-layout--single .sl-main-content--single {
		padding-left: 6px;
		padding-right: 6px;
	}

	.sl-layout--single .sl-single-post__header {
		padding-inline: 10px;
	}

	.sl-layout--single .sl-single-post__content {
		padding-inline: 10px;
	}

	.sl-layout--single .sl-single-post__title {
		font-size: 19px;
	}

	.sl-single-post__community-avatar {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
	}

	.sl-layout--single .sl-comments-panel__jump {
		display: none;
	}
}

/* ==========================================================================
   FINAL SINGLE-POST COMMENT LAYOUT
   Layout only. Interactive voting/sorting can be wired later.
   ========================================================================== */
.sl-layout--single .sl-comments {
	margin: 0;
	padding: 0;
}

.sl-layout--single .sl-comments__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 54px;
	padding: 0 2px 12px;
}

.sl-comments__toolbar-left {
	display: flex;
	align-items: baseline;
	gap: 7px;
}

.sl-comments__toolbar-title {
	color: #fff;
	font-size: 16px;
	font-weight: 850;
}

.sl-comments__toolbar-count {
	color: var(--sl-muted);
	font-size: 11px;
}

.sl-comment-sort {
	display: flex;
	align-items: center;
	gap: 4px;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;
}

.sl-comment-sort::-webkit-scrollbar { display: none; }

.sl-comment-sort a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 9px;
	border-radius: 999px;
	color: var(--sl-muted);
	font-size: 10px;
	font-weight: 800;
}

.sl-comment-sort a:hover,
.sl-comment-sort a.is-active {
	background: #202932;
	color: #fff;
}

.sl-layout--single .sl-comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sl-layout--single .sl-comment-list > .comment {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sl-layout--single .sl-comment__body {
	position: relative;
	display: flex;
	gap: 9px;
	padding: 10px 0 8px;
}

.sl-comment__rail {
	position: relative;
	width: 22px;
	flex: 0 0 22px;
}

.sl-comment__rail::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 0;
	bottom: -9px;
	width: 1px;
	background: var(--sl-border-soft);
}

.sl-comment__rail span {
	position: absolute;
	left: 5px;
	top: 4px;
	width: 11px;
	height: 11px;
	border: 1px solid var(--sl-border);
	border-radius: 50%;
	background: #10161b;
}

.sl-comment__main {
	min-width: 0;
	flex: 1;
	padding-bottom: 7px;
}

.sl-comment__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 30px;
}

.sl-comment__author {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.sl-comment__avatar-image {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50%;
}

.sl-comment__author-name {
	color: #dfe7ed;
	font-size: 10px;
	font-weight: 850;
}

.sl-comment__dot,
.sl-comment__date {
	color: var(--sl-muted);
	font-size: 9px;
}

.sl-comment__more {
	border: 0;
	background: transparent;
	color: var(--sl-muted);
	font-size: 13px;
	line-height: 1;
	cursor: pointer;
}

.sl-comment__text {
	margin: 4px 0 5px;
	color: #d5dde4;
	font-size: 12px;
	line-height: 1.55;
}

.sl-comment__text p {
	margin: 0 0 7px;
}

.sl-comment__text p:last-child {
	margin-bottom: 0;
}

.sl-comment__text a {
	color: #5ca7ff;
}

.sl-comment__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px;
}

.sl-comment-action {
	min-height: 27px;
	padding: 0 8px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--sl-muted);
	font-size: 9px;
	font-weight: 800;
	cursor: pointer;
}

.sl-comment-action:hover {
	background: #1a2229;
	color: #fff;
}

.sl-comment-action--up:hover { color: #ff5b35; }
.sl-comment-action--down:hover { color: #6ea8ff; }

.sl-comment-score {
	min-width: 18px;
	text-align: center;
	color: #aab6c0;
	font-size: 9px;
	font-weight: 800;
}

.sl-layout--single .sl-comment-children {
	margin: 0 0 0 19px;
	padding: 0 0 0 13px;
	list-style: none;
}

.sl-layout--single .sl-comment-children > .comment {
	margin: 0;
	padding: 0;
}

.sl-layout--single .sl-comment-form-wrap {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin-top: 12px;
	padding: 18px 0 4px;
	border-top: 1px solid var(--sl-border-soft);
}

.sl-comment-composer__avatar {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border-radius: 50%;
	background: #ff4500;
	color: #fff;
	font-size: 12px;
	font-weight: 900;
}

.sl-comment-composer__body {
	min-width: 0;
	flex: 1;
}

.sl-layout--single .sl-comment-form__title {
	margin: 0 0 8px;
	color: #fff;
	font-size: 12px;
	font-weight: 850;
}

.sl-layout--single .sl-comment-form-wrap form {
	margin: 0;
}

.sl-layout--single .sl-comment-form-wrap .comment-form-comment {
	margin: 0;
}

.sl-layout--single .sl-comment-form-wrap label {
	display: block;
	margin-bottom: 6px;
	color: var(--sl-muted);
	font-size: 9px;
	font-weight: 800;
}

.sl-layout--single .sl-comment-form-wrap textarea {
	width: 100%;
	min-height: 118px;
	padding: 12px;
	border: 1px solid var(--sl-border);
	border-radius: 8px;
	background: #0d1216;
	color: #fff;
	font: inherit;
	font-size: 12px;
	line-height: 1.5;
	resize: vertical;
}

.sl-layout--single .sl-comment-form-wrap textarea:focus {
	outline: none;
	border-color: #3f7cff;
	box-shadow: 0 0 0 2px rgba(63,124,255,.14);
}

.sl-layout--single .sl-comment-form-wrap .form-submit {
	margin: 10px 0 0;
}

@media (max-width: 760px) {
	.sl-layout--single .sl-comments__toolbar {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
		padding-bottom: 8px;
	}

	.sl-comment-sort {
		width: 100%;
	}

	.sl-comment__body {
		gap: 5px;
	}

	.sl-comment__rail {
		width: 15px;
		flex-basis: 15px;
	}

	.sl-comment__rail::before {
		left: 7px;
	}

	.sl-comment__rail span {
		left: 2px;
	}

	.sl-layout--single .sl-comment-children {
		margin-left: 11px;
		padding-left: 7px;
	}

	.sl-comment__text {
		font-size: 11px;
	}
}

@media (max-width: 480px) {
	.sl-comment__date,
	.sl-comment__dot {
		display: none;
	}

	.sl-comment__author-name {
		font-size: 9px;
	}

	.sl-comment__text {
		font-size: 11px;
	}

	.sl-comment__actions {
		gap: 0;
	}

	.sl-comment-action {
		padding-inline: 6px;
	}

	.sl-layout--single .sl-comment-form-wrap {
		gap: 8px;
	}
}

/* =========================================================
   99. REDDIT-STYLE TYPOGRAPHY NORMALIZATION
   Typography is intentionally centralized here so older
   component rules cannot create mixed-size UI.
   ========================================================= */

:root {
	--sl-font-ui: "Reddit Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--sl-font-size-base: 14px;
	--sl-font-size-meta: 12px;
	--sl-font-size-small: 12px;
	--sl-font-size-body: 15px;
	--sl-font-size-post-title: 18px;
	--sl-font-size-page-title: 24px;
	--sl-font-weight-regular: 400;
	--sl-font-weight-medium: 500;
	--sl-font-weight-semibold: 600;
	--sl-font-weight-bold: 700;
}

html,
body,
body button,
body input,
body textarea,
body select,
body option {
	font-family: var(--sl-font-ui);
}

body {
	font-size: var(--sl-font-size-base);
	font-weight: var(--sl-font-weight-regular);
	line-height: 1.45;
	letter-spacing: 0;
}

/* Global headings */
.sl-main-content h1,
.sl-main-content h2,
.sl-main-content h3,
.sl-main-content h4,
.sl-main-content h5,
.sl-main-content h6 {
	font-family: var(--sl-font-ui);
	letter-spacing: -0.01em;
}

/* Navigation and shell UI */
.sl-nav-item,
.sl-nav-item__label,
.sl-nav-section-title,
.sl-header-create,
.sl-login-button,
.sl-user-button,
.sl-button,
.sl-side-button,
.sl-community-card__button,
.sl-community-sort__link,
.sl-feed-tab,
.sl-feed-tabs a,
.sl-post-action,
.sl-post-action button,
.sl-comment-action,
.sl-comment-sort,
.sl-pagination a,
.sl-pagination span {
	font-family: var(--sl-font-ui);
	font-weight: var(--sl-font-weight-semibold);
}

.sl-nav-item,
.sl-nav-item__label {
	font-size: 14px;
}

.sl-nav-section-title {
	font-size: 12px;
	font-weight: var(--sl-font-weight-bold);
	letter-spacing: 0.01em;
}

.sl-header-create,
.sl-login-button,
.sl-user-button,
.sl-button {
	font-size: 14px;
}

.sl-search input,
.sl-search-input {
	font-size: 14px;
}

/* General cards / rails */
.sl-side-card h2,
.sl-side-card h3 {
	font-size: 14px;
	font-weight: var(--sl-font-weight-bold);
}

.sl-side-card p {
	font-size: 13px;
	line-height: 1.5;
}

.sl-side-button {
	font-size: 14px;
}

.sl-community-card__name,
.sl-community-card__meta,
.sl-community-card__button,
.trending-item strong,
.trending-item span {
	font-family: var(--sl-font-ui);
}

.sl-community-card__name {
	font-size: 13px;
	font-weight: var(--sl-font-weight-semibold);
}

.sl-community-card__meta,
.trending-item span {
	font-size: 12px;
}

.sl-community-card__button {
	font-size: 12px;
}

.trending-item strong {
	font-size: 13px;
	font-weight: var(--sl-font-weight-semibold);
}

/* Feed headings */
.sl-eyebrow {
	font-size: 11px;
	font-weight: var(--sl-font-weight-bold);
}

.sl-feed-header h1 {
	font-size: var(--sl-font-size-page-title);
	font-weight: var(--sl-font-weight-bold);
	line-height: 1.2;
}

/* Post cards */
.sl-post-community {
	font-size: 12px;
}

.sl-community-avatar {
	font-size: 12px;
}

.sl-post-community__name {
	font-weight: var(--sl-font-weight-semibold);
}

.sl-post-more {
	font-size: 14px;
}

.sl-post-title,
.sl-post-card__title {
	font-size: var(--sl-font-size-post-title);
	font-weight: var(--sl-font-weight-semibold);
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.sl-post-excerpt {
	font-size: var(--sl-font-size-body);
	line-height: 1.5;
}

.sl-post-card__body,
.sl-post-card__content,
.sl-post-card__text,
.sl-post-content,
.sl-single-post__content,
.sl-post-detail__content {
	font-family: var(--sl-font-ui);
	font-size: var(--sl-font-size-body);
	line-height: 1.55;
}

.sl-post-card__body p,
.sl-post-card__content p,
.sl-post-card__text p,
.sl-post-content p,
.sl-single-post__content p,
.sl-post-detail__content p {
	font-size: inherit;
	line-height: inherit;
}

.sl-vote-count {
	font-size: 12px;
	font-weight: var(--sl-font-weight-bold);
}

.sl-post-action {
	font-size: 12px;
}

/* Community/category */
.sl-community-cover span {
	font-size: 18px;
	font-weight: var(--sl-font-weight-bold);
}

.sl-community-identity__copy h1 {
	font-size: 24px;
	font-weight: var(--sl-font-weight-bold);
	line-height: 1.2;
}

.sl-community-identity__copy p {
	font-size: 12px;
}

.sl-community-header__description {
	font-size: 14px;
	line-height: 1.5;
}

.sl-community-sort__link {
	font-size: 13px;
}

/* Archive/community cards */
.sl-community-card h2,
.sl-community-card h3,
.sl-community-name,
.sl-community-title {
	font-weight: var(--sl-font-weight-semibold);
}

/* Single post */
.sl-layout--single .sl-post-title,
.sl-layout--single .sl-post-card__title,
.sl-layout--single .sl-single-post__title {
	font-size: 22px;
	font-weight: var(--sl-font-weight-semibold);
	line-height: 1.25;
}

.sl-layout--single .sl-post-content,
.sl-layout--single .sl-single-post__content,
.sl-layout--single .entry-content {
	font-size: 15px;
	line-height: 1.6;
}

.sl-layout--single .sl-post-content h2,
.sl-layout--single .sl-post-content h3,
.sl-layout--single .entry-content h2,
.sl-layout--single .entry-content h3 {
	font-weight: var(--sl-font-weight-semibold);
	line-height: 1.3;
}

.sl-layout--single .sl-post-content h2,
.sl-layout--single .entry-content h2 {
	font-size: 20px;
}

.sl-layout--single .sl-post-content h3,
.sl-layout--single .entry-content h3 {
	font-size: 18px;
}

/* Comments: remove the previous 8–11px typography.
   Reddit-style comments should remain compact but readable. */
.sl-layout--single .sl-comments,
.sl-layout--single .sl-comments * {
	font-family: var(--sl-font-ui);
}

.sl-layout--single .sl-comments__title {
	font-size: 16px;
	font-weight: var(--sl-font-weight-semibold);
}

.sl-layout--single .sl-comment__author-name {
	font-size: 12px;
	font-weight: var(--sl-font-weight-semibold);
}

.sl-layout--single .sl-comment__dot,
.sl-layout--single .sl-comment__date {
	font-size: 11px;
}

.sl-layout--single .sl-comment__text {
	font-size: 14px;
	line-height: 1.5;
}

.sl-layout--single .sl-comment-action {
	font-size: 12px;
	font-weight: var(--sl-font-weight-semibold);
}

.sl-layout--single .sl-comment-score {
	font-size: 12px;
}

.sl-layout--single .sl-comment-form__title {
	font-size: 14px;
	font-weight: var(--sl-font-weight-semibold);
}

.sl-layout--single .sl-comment-form-wrap label {
	font-size: 12px;
}

.sl-layout--single .sl-comment-form-wrap textarea {
	font-size: 14px;
	line-height: 1.5;
}

/* Empty states and pagination */
.sl-empty-state h1,
.sl-empty-state h2,
.sl-community-empty h2 {
	font-size: 20px;
	font-weight: var(--sl-font-weight-semibold);
}

.sl-empty-state p,
.sl-community-empty p {
	font-size: 14px;
}

.sl-pagination a,
.sl-pagination span {
	font-size: 13px;
}

/* Forms */
.sl-form label,
.sl-form-field label,
.sl-field label,
.sl-settings-field label {
	font-size: 13px;
	font-weight: var(--sl-font-weight-semibold);
}

.sl-form input,
.sl-form textarea,
.sl-form select,
.sl-form-field input,
.sl-form-field textarea,
.sl-form-field select,
.sl-settings-field input,
.sl-settings-field textarea,
.sl-settings-field select {
	font-size: 14px;
	line-height: 1.45;
}

/* Do not allow utility/icon glyphs to inherit content typography. */
.sl-mobile-menu,
.sl-header-icon,
.sl-search-icon,
.sl-post-more,
.sl-vote-button {
	line-height: 1;
}

/* Mobile typography follows Reddit's compact density without becoming tiny. */
@media (max-width: 767px) {
	body {
		font-size: 14px;
	}

	.sl-feed-header h1 {
		font-size: 22px;
	}

	.sl-post-title,
	.sl-post-card__title {
		font-size: 17px;
	}

	.sl-post-excerpt,
	.sl-post-card__body,
	.sl-post-card__content,
	.sl-post-card__text,
	.sl-post-content,
	.sl-single-post__content,
	.sl-post-detail__content {
		font-size: 14px;
	}

	.sl-layout--single .sl-single-post__title,
	.sl-layout--single .sl-post-title,
	.sl-layout--single .sl-post-card__title {
		font-size: 20px;
	}

	.sl-layout--single .sl-post-content,
	.sl-layout--single .sl-single-post__content,
	.sl-layout--single .entry-content {
		font-size: 14px;
	}

	.sl-layout--single .sl-comment__text {
		font-size: 14px;
	}

	.sl-community-identity__copy h1 {
		font-size: 20px;
	}

	.sl-community-header__description {
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.sl-post-title,
	.sl-post-card__title {
		font-size: 16px;
	}

	.sl-layout--single .sl-single-post__title,
	.sl-layout--single .sl-post-title,
	.sl-layout--single .sl-post-card__title {
		font-size: 19px;
	}

	.sl-comment__author-name {
		font-size: 12px;
	}

	.sl-comment__date,
	.sl-comment__dot {
		font-size: 11px;
	}
}

/* =========================================================
   HOME VISUAL CONSISTENCY PASS
   Scoped to the home feed so other page layouts remain intact.
   ========================================================= */

.sl-layout--home .sl-main-content--home {
    min-width: 0;
}

.sl-home-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 14px;
}

.sl-home-heading__copy {
    min-width: 0;
}

.sl-home-heading__copy h1 {
    margin: 2px 0 4px;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.sl-home-heading__copy p {
    margin: 0;
    color: var(--sl-text-muted, #6b7280);
    font-size: 13px;
    line-height: 1.4;
}

.sl-home-heading__create {
    flex: 0 0 auto;
    min-height: 38px;
}

.sl-home-composer {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    margin: 0 0 12px;
    padding: 7px 9px;
    border: 1px solid var(--sl-border, #d9dce1);
    border-radius: 10px;
    background: var(--sl-surface, #fff);
    box-sizing: border-box;
}

.sl-home-composer__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e6e8eb;
    color: #34383d;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.sl-home-composer__prompt {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 36px;
    padding: 0 13px;
    border: 1px solid var(--sl-border, #d9dce1);
    border-radius: 8px;
    background: #f6f7f8;
    color: var(--sl-text-muted, #6b7280);
    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;
    box-sizing: border-box;
}

.sl-home-composer__prompt:hover {
    border-color: #b8bdc4;
    color: var(--sl-text, #1a1a1b);
}

.sl-home-composer__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    color: var(--sl-text, #1a1a1b);
    font-size: 20px;
    line-height: 1;
    text-decoration: none;
}

.sl-home-composer__button:hover {
    background: #f0f1f2;
}

.sl-home-tabs {
    margin-bottom: 12px;
}

.sl-home-feed {
    gap: 8px;
}

.sl-layout--home .sl-post-card {
    border-radius: 8px;
}

.sl-layout--home .sl-post-card__body {
    min-width: 0;
}

.sl-layout--home .sl-post-title {
    max-width: 100%;
}

.sl-home-empty {
    margin-top: 8px;
}

@media (max-width: 900px) {
    .sl-home-heading {
        align-items: center;
    }

    .sl-home-heading__copy h1 {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .sl-home-heading {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 10px;
    }

    .sl-home-heading__copy h1 {
        font-size: 21px;
    }

    .sl-home-heading__copy p {
        font-size: 12px;
    }

    .sl-home-heading__create {
        min-height: 36px;
        padding-inline: 12px;
        font-size: 13px;
    }

    .sl-home-composer {
        min-height: 50px;
        margin-bottom: 8px;
        padding: 6px;
        border-radius: 9px;
    }

    .sl-home-composer__avatar {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }

    .sl-home-composer__prompt {
        min-height: 34px;
        padding-inline: 11px;
        font-size: 12px;
    }

    .sl-home-composer__button {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }
}

@media (max-width: 480px) {
    .sl-home-heading__copy p {
        display: none;
    }

    .sl-home-heading__create span:last-child {
        display: none;
    }

    .sl-home-heading__create {
        width: 36px;
        min-width: 36px;
        padding: 0;
        border-radius: 50%;
    }
}


/* =========================================================
   STUDENTLIFE — REDDIT-STYLE FOOTER / NAVIGATION SHELL LOCK
   =========================================================
   The visible bottom footer is intentionally removed.
   Desktop legal/resource links live in the navigation rails.
   Tablet/mobile legal links live inside the mobile drawer.
   ========================================================= */

/* Never render the old document footer. Keep wp_footer() in
   footer.php for WordPress/plugin compatibility. */
.sl-footer {
	display: none !important;
}

/* The document itself owns the scrolling. The navigation rails
   remain inside the viewport and stop naturally at its bottom. */
html,
body {
	min-height: 100%;
}

body.sl-site {
	overflow-x: hidden;
}

/* Desktop rail footer links. */
.sl-sidebar__legal,
.sl-right-sidebar__legal,
.sl-mobile-drawer__legal {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--sl-border-soft);
}

.sl-sidebar__legal-title,
.sl-right-sidebar__legal-title,
.sl-mobile-drawer__legal-title {
	margin: 0 0 8px;
	color: var(--sl-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.sl-sidebar__legal-links,
.sl-right-sidebar__legal-links,
.sl-mobile-drawer__legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
}

.sl-sidebar__legal-links a,
.sl-right-sidebar__legal-links a,
.sl-mobile-drawer__legal-links a {
	color: var(--sl-muted);
	font-size: 10px;
	line-height: 1.35;
}

.sl-sidebar__legal-links a:hover,
.sl-right-sidebar__legal-links a:hover,
.sl-mobile-drawer__legal-links a:hover {
	color: #fff;
}

.sl-right-sidebar__legal-copy {
	margin: 9px 0 0;
	color: var(--sl-muted-dark);
	font-size: 9px;
	line-height: 1.45;
}

/* Keep the legal rail reachable without allowing it to cover content. */
.sl-sidebar,
.sl-right-sidebar {
	overscroll-behavior: contain;
}

/* ---------------------------------------------------------
   Mobile / tablet navigation drawer
   --------------------------------------------------------- */

.sl-mobile-drawer {
	position: fixed;
	inset: 0;
	z-index: 5000;
	visibility: hidden;
	pointer-events: none;
}

.sl-mobile-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.sl-mobile-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .62);
	opacity: 0;
	transition: opacity .18s ease;
}

.sl-mobile-drawer.is-open .sl-mobile-drawer__backdrop {
	opacity: 1;
}

.sl-mobile-drawer__panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(360px, 88vw);
	padding:
		calc(14px + env(safe-area-inset-top))
		16px
		calc(18px + env(safe-area-inset-bottom));
	overflow-y: auto;
	background: var(--sl-bg-soft);
	border-right: 1px solid var(--sl-border);
	box-shadow: 18px 0 50px rgba(0,0,0,.42);
	transform: translateX(-102%);
	transition: transform .18s ease;
}

.sl-mobile-drawer.is-open .sl-mobile-drawer__panel {
	transform: translateX(0);
}

.sl-mobile-drawer__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.sl-mobile-drawer__brand {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
}

.sl-mobile-drawer__close {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--sl-border);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
	font-size: 18px;
}

.sl-mobile-drawer__close:hover {
	background: var(--sl-surface);
}

.sl-mobile-drawer .sl-sidebar-item {
	margin-bottom: 2px;
}

.sl-mobile-drawer__section {
	margin-top: 16px;
}

.sl-mobile-drawer__section-title {
	margin: 0 0 7px;
	padding: 0 13px;
	color: var(--sl-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.sl-mobile-drawer__legal {
	margin-top: 20px;
}

.sl-mobile-drawer__legal-copy {
	margin: 10px 0 0;
	color: var(--sl-muted-dark);
	font-size: 9px;
	line-height: 1.5;
}

/* Tablet and mobile use the drawer navigation. */
@media (max-width: 1180px) {
	.sl-mobile-menu {
		display: inline-flex;
	}

	.sl-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.sl-sidebar {
		display: none;
	}

	.sl-right-sidebar {
		display: none;
	}

	.sl-main-content,
	.sl-main {
		padding-left: 18px;
		padding-right: 18px;
	}

	.sl-mobile-drawer {
		display: block;
	}
}

/* Desktop: hamburger/drawer remains unavailable. */
@media (min-width: 1181px) {
	.sl-mobile-menu {
		display: none !important;
	}

	.sl-mobile-drawer {
		display: none !important;
	}

	.sl-sidebar__legal {
		display: block;
	}

	.sl-right-sidebar__legal {
		display: block;
	}
}

/* Tablet/mobile: no fixed bottom footer/nav bar. */
@media (max-width: 1180px) {
	.sl-mobile-nav {
		display: none !important;
	}

	.sl-main-content,
	.sl-main {
		padding-bottom: 28px;
	}
}

@media (max-width: 700px) {
	.sl-main-content,
	.sl-main {
		padding-left: 8px;
		padding-right: 8px;
		padding-bottom: 20px;
	}

	.sl-mobile-drawer__panel {
		width: min(340px, 90vw);
	}
}

/* Prevent the drawer from scrolling the page behind it. */
body.sl-mobile-drawer-open {
	overflow: hidden;
}
/* ==========================================================================
   Explore
   ========================================================================== */

.sl-explore-page {
	width: 100%;
}

.sl-explore {
	width: 100%;
}

.sl-explore__header {
	margin-bottom: 18px;
}

.sl-explore__heading {
	min-width: 0;
}

.sl-explore__eyebrow {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .62;
}

.sl-explore__title {
	margin: 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}

.sl-explore__description {
	max-width: 680px;
	margin: 7px 0 0;
	font-size: 14px;
	line-height: 1.5;
	opacity: .72;
}


/* Tabs */

.sl-explore-tabs {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 22px;
	padding: 0;
	border-bottom: 1px solid var(--sl-border, #e5e5e5);
	overflow-x: auto;
	scrollbar-width: none;
}

.sl-explore-tabs::-webkit-scrollbar {
	display: none;
}

.sl-explore-tabs__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 14px;
	border-bottom: 2px solid transparent;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	opacity: .68;
}

.sl-explore-tabs__item:hover {
	opacity: 1;
}

.sl-explore-tabs__item.is-active {
	border-bottom-color: currentColor;
	opacity: 1;
}


/* Sections */

.sl-explore-section {
	margin-bottom: 30px;
}

.sl-explore-section--posts {
	margin-top: 8px;
}

.sl-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 14px;
}

.sl-section-heading__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.sl-section-heading__description {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.45;
	opacity: .65;
}

.sl-section-heading__link {
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}


/* Community cards */

.sl-explore-community-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.sl-explore-community-card {
	min-width: 0;
}

.sl-explore-community-card__link {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 12px 14px;
	border: 1px solid var(--sl-border, #e5e5e5);
	border-radius: 8px;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease;
}

.sl-explore-community-card__link:hover {
	background: rgba(127, 127, 127, .06);
}

.sl-explore-community-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(127, 127, 127, .12);
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
}

.sl-explore-community-card__content {
	flex: 1 1 auto;
	min-width: 0;
}

.sl-explore-community-card__title {
	margin: 0;
	overflow: hidden;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sl-explore-community-card__meta {
	margin: 3px 0 0;
	font-size: 12px;
	line-height: 1.3;
	opacity: .6;
}

.sl-explore-community-card__arrow {
	flex: 0 0 auto;
	font-size: 17px;
	opacity: .45;
}


/* Posts */

.sl-explore-post-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}


/* Empty state */

.sl-explore-empty {
	padding: 40px 20px;
	border: 1px solid var(--sl-border, #e5e5e5);
	border-radius: 8px;
	text-align: center;
}

.sl-explore-empty__icon {
	margin-bottom: 8px;
	font-size: 28px;
	line-height: 1;
}

.sl-explore-empty__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
}

.sl-explore-empty__text {
	max-width: 420px;
	margin: 6px auto 0;
	font-size: 13px;
	line-height: 1.5;
	opacity: .65;
}


/* Tablet */

@media (max-width: 900px) {

	.sl-explore__title {
		font-size: 26px;
	}

	.sl-explore-community-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* Mobile */

@media (max-width: 640px) {

	.sl-explore__title {
		font-size: 24px;
	}

	.sl-explore__description {
		font-size: 13px;
	}

	.sl-explore-tabs {
		margin-right: -12px;
		margin-left: -12px;
		padding-right: 12px;
		padding-left: 12px;
	}

	.sl-explore-tabs__item {
		min-height: 40px;
		padding-right: 12px;
		padding-left: 12px;
		font-size: 13px;
	}

	.sl-section-heading {
		align-items: flex-start;
	}

	.sl-section-heading__title {
		font-size: 16px;
	}

	.sl-section-heading__description {
		font-size: 12px;
	}

	.sl-explore-community-grid {
		grid-template-columns: 1fr;
	}

	.sl-explore-community-card__link {
		min-height: 66px;
	}

	.sl-explore-community-card__icon {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
		font-size: 14px;
	}

	.sl-explore-empty {
		padding: 32px 16px;
	}
}
/* =========================================================
   EXPLORE PAGE
   Scoped to Explore only.
   Do not move these rules into the global layout rules.
   ========================================================= */

.sl-layout--explore .sl-main-content--explore {
	padding-top: 20px;
}

.sl-explore-header {
	min-height: 70px;
	margin-bottom: 8px;
}

.sl-explore-header h1 {
	margin-bottom: 4px;
}

.sl-explore-tabs {
	margin-bottom: 18px;
}

.sl-explore-section {
	width: 100%;
	min-width: 0;
	margin-bottom: 26px;
}

.sl-explore-section__heading {
	min-width: 0;
	margin-bottom: 10px;

	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 16px;
}

.sl-explore-section__heading h2 {
	margin: 0 0 3px;

	color: #fff;

	font-size: 17px;
	line-height: 1.25;
	font-weight: 800;
}

.sl-explore-section__heading p {
	margin: 0;

	color: var(--sl-muted);

	font-size: 11px;
	line-height: 1.45;
}

.sl-explore-see-all {
	flex: 0 0 auto;

	color: var(--sl-text-soft);

	font-size: 10px;
	font-weight: 800;

	text-decoration: none;
}

.sl-explore-see-all:hover {
	color: #fff;
}

.sl-explore-community-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.sl-layout--explore .sl-community-directory-card {
	min-height: 54px;
	padding: 10px;
}

.sl-layout--explore .sl-community-directory-avatar {
	width: 34px;
	height: 34px;
	flex-basis: 34px;

	font-size: 11px;
}

.sl-layout--explore .sl-community-directory-main strong {
	font-size: 11px;
}

.sl-layout--explore .sl-community-directory-main small {
	font-size: 9px;
}

.sl-layout--explore .sl-community-directory-main > span {
	display: none;
}

.sl-layout--explore .sl-community-directory-arrow {
	font-size: 18px;
}

.sl-explore-recent-list {
	width: 100%;
}

.sl-explore-section--recent {
	margin-bottom: 0;
}


/* =========================================================
   EXPLORE — TABLET
   ========================================================= */

@media (max-width: 1200px) {

	.sl-layout--explore .sl-main-content--explore {
		padding-left: 18px;
		padding-right: 18px;
	}

}


/* =========================================================
   EXPLORE — MOBILE
   ========================================================= */

@media (max-width: 760px) {

	.sl-layout--explore .sl-main-content--explore {
		padding-top: 12px;
		padding-bottom: 82px;
	}

	.sl-explore-header {
		min-height: 62px;
	}

	.sl-explore-community-grid {
		grid-template-columns: 1fr;
	}

	.sl-explore-section__heading {
		align-items: center;
	}

}
/* =========================================================
   POPULAR PAGE
   Scoped only to the Popular page.
   ========================================================= */

.sl-layout--popular .sl-main-content--popular {
	padding-top: 20px;
}

.sl-popular-header {
	margin-bottom: 8px;
}

.sl-popular-header h1 {
	margin-bottom: 4px;
}

.sl-popular-header p {
	margin: 0;
}

.sl-popular-tabs {
	margin-bottom: 18px;
}

.sl-popular-feed {
	width: 100%;
	min-width: 0;
}

.sl-layout--popular .sl-feed-list {
	width: 100%;
	min-width: 0;
}

.sl-layout--popular .sl-feed-list > * {
	min-width: 0;
}

.sl-layout--popular .sl-pagination {
	margin-top: 18px;
	padding: 8px 0 20px;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

	gap: 6px;
}

.sl-layout--popular .sl-pagination a,
.sl-layout--popular .sl-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 34px;
	min-height: 34px;
	padding: 0 10px;

	border: 1px solid var(--sl-border);
	border-radius: 999px;

	background: var(--sl-surface);
	color: var(--sl-text-soft);

	font-size: 11px;
	font-weight: 700;

	text-decoration: none;
}

.sl-layout--popular .sl-pagination a:hover {
	background: var(--sl-surface-hover);
	color: var(--sl-text);
}

.sl-layout--popular .sl-pagination .current {
	background: var(--sl-primary);
	border-color: var(--sl-primary);
	color: #fff;
}

.sl-layout--popular .sl-pagination .dots {
	border-color: transparent;
	background: transparent;
}


/* =========================================================
   POPULAR — TABLET
   ========================================================= */

@media (max-width: 1200px) {

	.sl-layout--popular .sl-main-content--popular {
		padding-left: 18px;
		padding-right: 18px;
	}

}


/* =========================================================
   POPULAR — MOBILE
   ========================================================= */

@media (max-width: 760px) {

	.sl-layout--popular .sl-main-content--popular {
		padding-top: 12px;
		padding-bottom: 82px;
	}

	.sl-popular-header {
		margin-bottom: 4px;
	}

	.sl-popular-tabs {
		margin-bottom: 12px;
	}

}
/* =========================================================
   SEARCH PAGE
   Scoped only to Search.
   ========================================================= */

.sl-layout--search .sl-main-content--search {
	padding-top: 20px;
}

.sl-search-header {
	margin-bottom: 12px;
}

.sl-search-header h1 {
	margin-bottom: 4px;
}

.sl-search-header p {
	margin: 0;
}


/* Search form */

.sl-search-page-form {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	margin-bottom: 12px;
}

.sl-search-page-form__field {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
}

.sl-search-page-form__icon {
	position: absolute;
	left: 13px;
	z-index: 1;

	font-size: 20px;
	line-height: 1;
	opacity: .55;

	pointer-events: none;
}

.sl-search-page-form__field input {
	width: 100%;
	min-height: 42px;
	padding: 0 38px 0 38px;

	border: 1px solid var(--sl-border);
	border-radius: 8px;

	background: var(--sl-surface);
	color: var(--sl-text);

	font-size: 13px;
	outline: none;
}

.sl-search-page-form__field input::placeholder {
	color: var(--sl-muted);
}

.sl-search-page-form__field input:focus {
	border-color: var(--sl-primary);
	box-shadow: 0 0 0 2px rgba(255, 69, 0, .10);
}

.sl-search-page-form__clear {
	position: absolute;
	right: 12px;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 24px;
	height: 24px;

	border-radius: 50%;

	color: var(--sl-muted);

	font-size: 18px;
	line-height: 1;
	text-decoration: none;
}

.sl-search-page-form__clear:hover {
	background: rgba(127, 127, 127, .12);
	color: var(--sl-text);
}

.sl-search-page-form > .sl-button {
	flex: 0 0 auto;
	min-height: 42px;
}


/* Result summary */

.sl-search-summary {
	display: flex;
	align-items: center;
	min-height: 28px;
	margin-bottom: 4px;

	color: var(--sl-muted);

	font-size: 11px;
	font-weight: 600;
}

.sl-search-results {
	width: 100%;
	min-width: 0;
}

.sl-search-results__list {
	width: 100%;
}


/* Pagination */

.sl-search-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

	gap: 6px;

	margin: 18px 0 8px;
}

.sl-search-pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
}

.sl-search-pagination a,
.sl-search-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 34px;
	min-height: 34px;
	padding: 0 10px;

	border: 1px solid var(--sl-border);
	border-radius: 999px;

	background: var(--sl-surface);
	color: var(--sl-text-soft);

	font-size: 11px;
	font-weight: 700;

	text-decoration: none;
}

.sl-search-pagination a:hover {
	background: var(--sl-surface-hover);
	color: var(--sl-text);
}

.sl-search-pagination .current {
	background: var(--sl-primary);
	border-color: var(--sl-primary);
	color: #fff;
}


/* Empty search */

.sl-search-empty {
	margin-top: 12px;
}


/* =========================================================
   SEARCH — TABLET
   ========================================================= */

@media (max-width: 1200px) {

	.sl-layout--search .sl-main-content--search {
		padding-left: 18px;
		padding-right: 18px;
	}

}


/* =========================================================
   SEARCH — MOBILE
   ========================================================= */

@media (max-width: 640px) {

	.sl-layout--search .sl-main-content--search {
		padding-top: 12px;
		padding-bottom: 82px;
	}

	.sl-search-page-form {
		gap: 6px;
	}

	.sl-search-page-form > .sl-button {
		padding-left: 13px;
		padding-right: 13px;
	}

	.sl-search-page-form__field input {
		min-height: 40px;
		font-size: 13px;
	}

	.sl-search-summary {
		min-height: 24px;
	}

}
/* =========================================================
   AUTHOR / PROFILE PAGE
   Scoped only to Author archives.
   ========================================================= */

.sl-layout--author .sl-main-content--author {
	padding-top: 20px;
}

.sl-author-profile {
	position: relative;

	margin-bottom: 14px;

	overflow: hidden;

	border: 1px solid var(--sl-border);
	border-radius: 8px;

	background: var(--sl-surface);
}

.sl-author-profile__cover {
	height: 92px;

	background:
		linear-gradient(
			135deg,
			rgba(127, 127, 127, .14),
			rgba(127, 127, 127, .04)
		);
}

.sl-author-profile__identity {
	display: flex;
	align-items: center;

	gap: 12px;

	padding: 0 18px;

	margin-top: -25px;
}

.sl-author-profile__avatar {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 58px;
	height: 58px;

	flex: 0 0 58px;

	border: 4px solid var(--sl-surface);
	border-radius: 50%;

	background: var(--sl-surface-hover);

	color: var(--sl-text);

	font-size: 20px;
	font-weight: 800;
	text-transform: uppercase;
}

.sl-author-profile__identity-content {
	min-width: 0;

	padding-top: 25px;
}

.sl-author-profile__name {
	margin: 0;

	font-size: 20px;
	line-height: 1.2;
	font-weight: 800;

	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sl-author-profile__username {
	margin: 3px 0 0;

	color: var(--sl-muted);

	font-size: 11px;
	line-height: 1.3;
}

.sl-author-profile__stats {
	display: flex;
	align-items: center;

	gap: 24px;

	padding: 16px 18px 14px;

	border-bottom: 1px solid var(--sl-border);
}

.sl-author-profile__stat {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.sl-author-profile__stat strong {
	font-size: 14px;
	line-height: 1.2;
	font-weight: 800;
}

.sl-author-profile__stat span {
	color: var(--sl-muted);

	font-size: 10px;
	line-height: 1.3;
}

.sl-author-profile__bio {
	padding: 15px 18px;

	border-bottom: 1px solid var(--sl-border);
}

.sl-author-profile__bio h2 {
	margin: 0 0 6px;

	font-size: 13px;
	line-height: 1.3;
	font-weight: 800;
}

.sl-author-profile__bio p {
	margin: 0;

	color: var(--sl-text-soft);

	font-size: 12px;
	line-height: 1.55;
}

.sl-author-profile__details {
	padding: 11px 18px;

	color: var(--sl-muted);

	font-size: 10px;
	line-height: 1.4;
}

.sl-author-tabs {
	margin-bottom: 14px;
}

.sl-author-posts {
	width: 100%;
	min-width: 0;
}

.sl-author-pagination {
	margin-top: 18px;
	padding-bottom: 20px;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

	gap: 6px;
}

.sl-author-pagination a,
.sl-author-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 34px;
	min-height: 34px;

	padding: 0 10px;

	border: 1px solid var(--sl-border);
	border-radius: 999px;

	background: var(--sl-surface);
	color: var(--sl-text-soft);

	font-size: 11px;
	font-weight: 700;

	text-decoration: none;
}

.sl-author-pagination a:hover {
	background: var(--sl-surface-hover);
	color: var(--sl-text);
}

.sl-author-pagination .current {
	background: var(--sl-primary);
	border-color: var(--sl-primary);
	color: #fff;
}

.sl-author-empty {
	margin-top: 10px;
}


/* =========================================================
   AUTHOR — TABLET
   ========================================================= */

@media (max-width: 1200px) {

	.sl-layout--author .sl-main-content--author {
		padding-left: 18px;
		padding-right: 18px;
	}

}


/* =========================================================
   AUTHOR — MOBILE
   ========================================================= */

@media (max-width: 640px) {

	.sl-layout--author .sl-main-content--author {
		padding-top: 12px;
		padding-bottom: 82px;
	}

	.sl-author-profile__cover {
		height: 72px;
	}

	.sl-author-profile__identity {
		padding-right: 14px;
		padding-left: 14px;
	}

	.sl-author-profile__avatar {
		width: 52px;
		height: 52px;
		flex-basis: 52px;

		font-size: 18px;
	}

	.sl-author-profile__identity-content {
		padding-top: 22px;
	}

	.sl-author-profile__name {
		font-size: 17px;
	}

	.sl-author-profile__stats {
		gap: 18px;
		padding-right: 14px;
		padding-left: 14px;
	}

	.sl-author-profile__bio,
	.sl-author-profile__details {
		padding-right: 14px;
		padding-left: 14px;
	}

	.sl-author-tabs {
		overflow-x: auto;
	}

}
/* =========================================================
   SAVED PAGE
   Structural layout only.
   Save functionality comes later.
   ========================================================= */

.sl-layout--saved .sl-main-content--saved {
	padding-top: 20px;
}

.sl-saved-header {
	margin-bottom: 8px;
}

.sl-saved-header h1 {
	margin-bottom: 4px;
}

.sl-saved-header p {
	margin: 0;
}

.sl-saved-tabs {
	margin-bottom: 18px;
}

.sl-saved-content {
	width: 100%;
	min-width: 0;
}

.sl-saved-empty {
	margin-top: 8px;
}


/* =========================================================
   SAVED — MOBILE
   ========================================================= */

@media (max-width: 1200px) {

	.sl-layout--saved .sl-main-content--saved {
		padding-left: 18px;
		padding-right: 18px;
	}

}

@media (max-width: 640px) {

	.sl-layout--saved .sl-main-content--saved {
		padding-top: 12px;
		padding-bottom: 82px;
	}

	.sl-saved-tabs {
		margin-bottom: 12px;
	}

}
/* =========================================================
   CREATE COMMUNITY
   Structural UI only.
   ========================================================= */

.sl-layout--create-community .sl-main-content--create-community {
	padding-top: 20px;
	padding-bottom: 40px;
}

.sl-create-community-header {
	display: flex;
	align-items: center;
	gap: 12px;

	margin-bottom: 16px;
}

.sl-create-community-header__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 44px;
	height: 44px;

	flex: 0 0 44px;

	border: 1px solid var(--sl-border);
	border-radius: 50%;

	background: var(--sl-surface);
	color: var(--sl-text);

	font-size: 24px;
	font-weight: 400;
	line-height: 1;
}

.sl-create-community-header__content {
	min-width: 0;
}

.sl-create-community-header__content h1 {
	margin: 1px 0 4px;

	font-size: 21px;
	line-height: 1.2;
	font-weight: 800;
}

.sl-create-community-header__content p {
	margin: 0;

	color: var(--sl-muted);

	font-size: 11px;
	line-height: 1.5;
}

.sl-create-community-form {
	width: 100%;
	min-width: 0;
}

.sl-create-community-section {
	margin-bottom: 10px;
	padding: 16px;

	border: 1px solid var(--sl-border);
	border-radius: 8px;

	background: var(--sl-surface);
}

.sl-create-community-section__heading {
	margin-bottom: 14px;
}

.sl-create-community-section__heading h2 {
	margin: 0 0 3px;

	font-size: 14px;
	line-height: 1.3;
	font-weight: 800;
}

.sl-create-community-section__heading p {
	margin: 0;

	color: var(--sl-muted);

	font-size: 10px;
	line-height: 1.45;
}

.sl-create-community-field {
	margin-bottom: 14px;
}

.sl-create-community-field:last-child {
	margin-bottom: 0;
}

.sl-create-community-field > label {
	display: block;
	margin-bottom: 6px;

	font-size: 11px;
	line-height: 1.3;
	font-weight: 700;
}

.sl-create-community-input-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.sl-create-community-input-wrap > span {
	position: absolute;
	left: 12px;

	color: var(--sl-muted);

	font-size: 12px;
	font-weight: 700;

	pointer-events: none;
}

.sl-create-community-input-wrap input {
	width: 100%;
	min-height: 42px;

	padding: 0 12px 0 31px;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	background: var(--sl-bg);
	color: var(--sl-text);

	font: inherit;
	font-size: 12px;

	outline: none;
}

.sl-create-community-field textarea {
	display: block;

	width: 100%;
	min-height: 120px;

	padding: 11px 12px;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	background: var(--sl-bg);
	color: var(--sl-text);

	font: inherit;
	font-size: 12px;
	line-height: 1.5;

	resize: vertical;
	outline: none;
}

.sl-create-community-field input::placeholder,
.sl-create-community-field textarea::placeholder {
	color: var(--sl-muted);
}

.sl-create-community-field input:focus,
.sl-create-community-field textarea:focus {
	border-color: var(--sl-primary);
	box-shadow: 0 0 0 2px rgba(255, 69, 0, .10);
}

.sl-create-community-field small {
	display: block;
	margin-top: 5px;

	color: var(--sl-muted);

	font-size: 9px;
	line-height: 1.4;
}


/* Community type */

.sl-community-type-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.sl-community-type-option {
	position: relative;
	display: block;

	cursor: pointer;
}

.sl-community-type-option > input {
	position: absolute;

	width: 1px;
	height: 1px;

	opacity: 0;
	pointer-events: none;
}

.sl-community-type-option__body {
	display: flex;
	align-items: flex-start;

	gap: 10px;

	min-height: 72px;

	padding: 12px;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	background: var(--sl-bg);
}

.sl-community-type-option__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;

	flex: 0 0 32px;

	border-radius: 50%;

	background: var(--sl-surface-hover);

	font-size: 14px;
}

.sl-community-type-option__copy {
	display: flex;
	flex-direction: column;

	gap: 3px;
	min-width: 0;
}

.sl-community-type-option__copy strong {
	font-size: 11px;
	line-height: 1.3;
}

.sl-community-type-option__copy small {
	color: var(--sl-muted);

	font-size: 9px;
	line-height: 1.4;
}

.sl-community-type-option > input:checked + .sl-community-type-option__body {
	border-color: var(--sl-primary);
	box-shadow: inset 0 0 0 1px var(--sl-primary);
}

.sl-community-type-option:hover .sl-community-type-option__body {
	border-color: var(--sl-text-soft);
}


/* Appearance */

.sl-community-appearance-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.sl-community-appearance-item {
	display: flex;
	align-items: center;

	gap: 10px;

	padding: 10px;

	border: 1px solid var(--sl-border);
	border-radius: 7px;

	background: var(--sl-bg);
}

.sl-community-appearance-item > div:last-child {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.sl-community-appearance-item strong {
	font-size: 10px;
	line-height: 1.3;
}

.sl-community-appearance-item small {
	color: var(--sl-muted);

	font-size: 9px;
	line-height: 1.35;
}

.sl-community-appearance-preview {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 auto;

	overflow: hidden;

	background: var(--sl-surface-hover);
}

.sl-community-appearance-preview--avatar {
	width: 38px;
	height: 38px;

	border-radius: 50%;

	color: var(--sl-text);

	font-size: 13px;
	font-weight: 800;
}

.sl-community-appearance-preview--banner {
	width: 58px;
	height: 38px;

	border-radius: 5px;
}

.sl-community-appearance-preview--banner span {
	width: 100%;
	height: 100%;

	background:
		linear-gradient(
			135deg,
			rgba(127, 127, 127, .18),
			rgba(127, 127, 127, .05)
		);
}


/* Rules */

.sl-create-community-section--rules {
	margin-bottom: 14px;
}

.sl-create-community-rules {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;

	align-items: center;

	gap: 9px;

	padding: 10px 12px;

	border-radius: 7px;

	background: var(--sl-bg);
}

.sl-create-community-rules > span {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 24px;
	height: 24px;

	border-radius: 50%;

	background: var(--sl-surface-hover);

	font-size: 12px;
}

.sl-create-community-rules p {
	margin: 0;

	color: var(--sl-muted);

	font-size: 9px;
	line-height: 1.45;
}

.sl-create-community-rules a {
	color: var(--sl-text-soft);

	font-size: 9px;
	font-weight: 700;

	white-space: nowrap;
	text-decoration: none;
}

.sl-create-community-rules a:hover {
	color: var(--sl-text);
}


/* Actions */

.sl-create-community-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;

	gap: 7px;
}

.sl-create-community-actions .sl-button {
	min-height: 38px;
}


/* =========================================================
   CREATE COMMUNITY — TABLET
   ========================================================= */

@media (max-width: 1200px) {

	.sl-layout--create-community .sl-main-content--create-community {
		padding-left: 18px;
		padding-right: 18px;
	}

}


/* =========================================================
   CREATE COMMUNITY — MOBILE
   ========================================================= */

@media (max-width: 640px) {

	.sl-layout--create-community .sl-main-content--create-community {
		padding-top: 12px;
		padding-bottom: 82px;
	}

	.sl-create-community-header {
		align-items: flex-start;
	}

	.sl-create-community-header__icon {
		width: 38px;
		height: 38px;
		flex-basis: 38px;

		font-size: 20px;
	}

	.sl-create-community-header__content h1 {
		font-size: 18px;
	}

	.sl-create-community-section {
		padding: 13px;
	}

	.sl-community-type-options,
	.sl-community-appearance-grid {
		grid-template-columns: 1fr;
	}

	.sl-create-community-rules {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.sl-create-community-rules a {
		grid-column: 2;
	}

	.sl-create-community-actions {
		justify-content: stretch;
	}

	.sl-create-community-actions .sl-button {
		flex: 1 1 0;
	}

}
/* =========================================================
   PROFILE PAGE — PERSONAL PROFILE
   ========================================================= */

.sl-layout--profile {
	align-items: flex-start;
}

.sl-main-content--profile {
	min-width: 0;
}

.sl-profile-identity {
	min-width: 0;
}

.sl-profile-identity .sl-eyebrow {
	display: block;
	margin-bottom: 4px;
}

.sl-profile-identity h1 {
	margin: 0;
	color: #fff;
	font-size: 20px;
	line-height: 1.2;
}

.sl-profile-identity p {
	margin: 4px 0 0;
	color: var(--sl-muted);
	font-size: 11px;
}

.sl-profile-row {
	position: relative;
}

.sl-profile-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;

	padding: 14px 18px;

	border-top: 1px solid var(--sl-border);
}

.sl-profile-stat {
	display: flex;
	flex-direction: column;
	gap: 3px;

	padding-right: 14px;
}

.sl-profile-stat strong {
	color: var(--sl-text);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
}

.sl-profile-stat span {
	color: var(--sl-muted);
	font-size: 10px;
}

.sl-profile-bio {
	padding: 18px;

	border-top: 1px solid var(--sl-border);
}

.sl-profile-bio h2 {
	margin: 0 0 8px;

	color: var(--sl-text);
	font-size: 14px;
}

.sl-profile-bio__content {
	color: var(--sl-text-soft);
	font-size: 12px;
	line-height: 1.7;
}

.sl-profile-bio__content p {
	margin: 0 0 10px;
}

.sl-profile-bio__content p:last-child {
	margin-bottom: 0;
}

.sl-profile-bio--empty p {
	margin: 0;

	color: var(--sl-muted);
	font-size: 11px;
}

.sl-profile-details {
	padding: 12px 18px;

	border-top: 1px solid var(--sl-border);

	color: var(--sl-muted);
	font-size: 10px;
}

.sl-profile-details strong {
	margin-left: 4px;
	color: var(--sl-text-soft);
	font-weight: 700;
}

.sl-profile-tabs {
	margin-top: 12px;
}

.sl-profile-content {
	margin-top: 14px;
}

.sl-profile-empty {
	margin-top: 0;
}

.sl-profile-links {
	margin-top: 14px;
}

.sl-profile-links__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.sl-profile-link-card {
	min-width: 0;

	display: flex;
	align-items: center;

	gap: 10px;

	padding: 14px;

	background: var(--sl-surface);

	border: 1px solid var(--sl-border);
	border-radius: var(--sl-radius);

	color: var(--sl-text);

	text-decoration: none;

	transition:
		border-color 0.15s ease,
		background 0.15s ease;
}

.sl-profile-link-card:hover {
	border-color: var(--sl-blue);
	background: var(--sl-surface-2);
}

.sl-profile-link-card__icon {
	width: 32px;
	height: 32px;

	flex: 0 0 32px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--sl-surface-2);

	color: var(--sl-text-soft);

	font-size: 14px;
}

.sl-profile-link-card__content {
	min-width: 0;

	display: flex;
	flex-direction: column;

	gap: 3px;
}

.sl-profile-link-card__content strong {
	color: var(--sl-text);
	font-size: 11px;
}

.sl-profile-link-card__content span {
	color: var(--sl-muted);
	font-size: 9px;
	line-height: 1.4;
}

.sl-profile-link-card__arrow {
	margin-left: auto;

	flex: 0 0 auto;

	color: var(--sl-muted);

	font-size: 18px;
	line-height: 1;
}


/* =========================================================
   PROFILE PAGE — RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

	.sl-profile-links__grid {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 700px) {

	.sl-profile-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 14px;
	}

	.sl-profile-stat {
		padding-right: 10px;
	}

	.sl-profile-row {
		align-items: flex-start;
	}

	.sl-profile-identity {
		padding-top: 6px;
	}

	.sl-profile-row .sl-button {
		margin-left: auto;
	}

}
/* =========================================================
   REDDIT-STYLE PROFILE — FINAL LAYOUT PASS
   Layout only. Functionality comes later.
   ========================================================= */

.sl-layout--profile-reddit {
	align-items: start;
}


/* =========================================================
   PROFILE MAIN COLUMN
   ========================================================= */

.sl-main-content--profile-reddit {
	padding-top: 0;
	padding-left: 24px;
	padding-right: 24px;
	padding-bottom: 80px;
}


/* =========================================================
   PROFILE HEADER
   ========================================================= */

.sl-reddit-profile-header {
	position: relative;

	width: 100%;

	margin: 0 0 0;

	background: transparent;

	color: var(--sl-text);
}


.sl-reddit-profile-cover {
	position: relative;

	width: 100%;
	height: 116px;

	overflow: hidden;

	border-radius: 0 0 10px 10px;

	background:
		linear-gradient(
			135deg,
			#0b3035 0%,
			#102c32 35%,
			#15252d 68%,
			#0c1419 100%
		);
}


.sl-reddit-profile-cover::before {
	content: "";

	position: absolute;
	inset: 0;

	background:
		radial-gradient(
			circle at 72% 20%,
			rgba(0, 255, 204, .15),
			transparent 34%
		),
		linear-gradient(
			180deg,
			rgba(0, 0, 0, .05),
			rgba(0, 0, 0, .42)
		);
}


.sl-reddit-profile-cover::after {
	content: "";

	position: absolute;

	left: 0;
	right: 0;
	bottom: -1px;

	height: 55px;

	background:
		linear-gradient(
			180deg,
			transparent,
			var(--sl-bg)
		);
}


.sl-reddit-profile-cover__button {
	position: absolute;

	right: 16px;
	top: 16px;

	z-index: 2;

	width: 38px;
	height: 38px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: rgba(10, 18, 22, .82);
	color: #fff;

	cursor: default;

	font-size: 17px;
}


.sl-reddit-profile-identity {
	position: relative;

	z-index: 3;

	display: flex;
	align-items: center;

	gap: 16px;

	min-height: 104px;

	padding: 0 18px;

	margin-top: -30px;
}


.sl-reddit-profile-avatar-wrap {
	position: relative;

	flex: 0 0 auto;
}


.sl-reddit-profile-avatar {
	width: 88px;
	height: 88px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 5px solid var(--sl-bg);

	border-radius: 50%;

	background:
		radial-gradient(
			circle at 35% 30%,
			#38f4d4,
			#0bcbb7 58%,
			#087f76 100%
		);

	color: #073d3a;

	font-size: 31px;
	font-weight: 900;
	text-transform: uppercase;

	box-shadow:
		0 0 0 1px rgba(0, 255, 204, .2);
}


.sl-reddit-profile-avatar-badge {
	position: absolute;

	right: -1px;
	bottom: 5px;

	width: 25px;
	height: 25px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 3px solid var(--sl-bg);
	border-radius: 50%;

	background: #26333b;
	color: #fff;

	font-size: 10px;
}


.sl-reddit-profile-identity-content {
	min-width: 0;

	padding-top: 24px;
}


.sl-reddit-profile-name {
	margin: 0;

	color: #f5f7f8;

	font-size: 23px;
	line-height: 1.2;
	font-weight: 800;

	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


.sl-reddit-profile-username {
	margin: 4px 0 0;

	color: #9ba8b3;

	font-size: 12px;
	line-height: 1.3;
}


.sl-reddit-profile-header-actions {
	margin-left: auto;

	padding-top: 18px;

	flex: 0 0 auto;
}


.sl-reddit-profile-edit {
	min-height: 40px;

	padding: 0 17px;

	border-radius: 999px;

	font-size: 12px;
	font-weight: 750;
}


.sl-reddit-profile-edit span {
	margin-right: 6px;
}


/* =========================================================
   PROFILE STATS
   ========================================================= */

.sl-reddit-profile-stats {
	display: flex;
	align-items: center;

	gap: 34px;

	margin-left: 106px;

	padding: 4px 18px 20px;
}


.sl-reddit-profile-stat {
	display: flex;
	flex-direction: column;

	gap: 2px;
}


.sl-reddit-profile-stat strong {
	color: #f2f5f7;

	font-size: 15px;
	line-height: 1.2;
	font-weight: 800;
}


.sl-reddit-profile-stat span {
	color: #8d9ba6;

	font-size: 11px;
	line-height: 1.3;
}


/* =========================================================
   PROFILE TABS
   ========================================================= */

.sl-reddit-profile-tabs {
	width: 100%;

	display: flex;
	align-items: center;

	gap: 4px;

	margin-top: 4px;

	border-bottom: 1px solid var(--sl-border);

	overflow-x: auto;

	scrollbar-width: none;
}


.sl-reddit-profile-tabs::-webkit-scrollbar {
	display: none;
}


.sl-reddit-profile-tabs a {
	position: relative;

	min-height: 48px;

	padding: 0 14px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 auto;

	color: #b4bec7;

	font-size: 12px;
	font-weight: 700;

	white-space: nowrap;
}


.sl-reddit-profile-tabs a:hover {
	color: #fff;
}


.sl-reddit-profile-tabs a.is-active {
	color: #fff;
}


.sl-reddit-profile-tabs a.is-active::after {
	content: "";

	position: absolute;

	left: 9px;
	right: 9px;
	bottom: 0;

	height: 3px;

	border-radius: 999px 999px 0 0;

	background: #22d3c1;
}


/* =========================================================
   SHOWING CONTENT BAR
   ========================================================= */

.sl-reddit-profile-filter {
	width: 100%;

	min-height: 46px;

	margin-top: 14px;

	padding: 0 14px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	border: 1px solid #1e272d;
	border-radius: 10px;

	background: #070a0c;

	color: #e3e7ea;

	font-size: 12px;
	font-weight: 650;
}


.sl-reddit-profile-filter__left {
	display: flex;
	align-items: center;

	gap: 10px;
}


.sl-reddit-profile-filter__icon {
	color: #9eacb6;

	font-size: 16px;
	line-height: 1;
}


.sl-reddit-profile-filter__arrow {
	color: #a8b5be;

	font-size: 24px;
	line-height: 1;
}


/* =========================================================
   CREATE POST TOOLBAR
   ========================================================= */

.sl-reddit-profile-feed-toolbar {
	display: flex;
	align-items: center;

	gap: 10px;

	min-height: 58px;

	border-bottom: 1px solid var(--sl-border);
}


.sl-reddit-create-post {
	min-height: 38px;

	padding: 0 15px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 7px;

	border: 1px solid #5d6971;
	border-radius: 999px;

	background: transparent;
	color: #e6ebee;

	font-size: 12px;
	font-weight: 750;
}


.sl-reddit-create-post:hover {
	border-color: #87939b;
	background: var(--sl-surface);
	color: #fff;
}


.sl-reddit-create-post span {
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
}


.sl-reddit-feed-filter-button {
	width: 38px;
	height: 38px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: transparent;
	color: #aeb9c1;

	cursor: default;

	font-size: 18px;
}


.sl-reddit-feed-filter-button:hover {
	background: var(--sl-surface);
	color: #fff;
}


/* =========================================================
   PROFILE POSTS
   ========================================================= */

.sl-reddit-profile-posts {
	width: 100%;

	padding-top: 8px;
}


.sl-reddit-profile-posts .sl-feed-list {
	display: flex;
	flex-direction: column;

	gap: 8px;
}


.sl-reddit-profile-posts .sl-post-card {
	margin: 0;

	border-radius: 8px;
}


.sl-profile-pagination {
	padding: 20px 0;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.sl-reddit-profile-empty {
	padding: 56px 24px;

	text-align: center;

	border: 1px solid var(--sl-border);
	border-radius: 10px;

	background: var(--sl-surface);
}


.sl-reddit-profile-empty__icon {
	margin-bottom: 12px;

	color: #83909a;

	font-size: 30px;
}


.sl-reddit-profile-empty h2 {
	margin: 0 0 7px;

	color: #fff;

	font-size: 18px;
}


.sl-reddit-profile-empty p {
	max-width: 420px;

	margin: 0 auto 18px;

	color: var(--sl-muted);

	font-size: 12px;
}


/* =========================================================
   RIGHT PROFILE CARD
   ========================================================= */

.sl-profile-sidebar {
	padding: 16px 14px 30px !important;

	background: transparent;
}


.sl-profile-card {
	width: 100%;

	overflow: hidden;

	border: 1px solid #29343c;
	border-radius: 13px;

	background: #050708;

	box-shadow: 0 10px 35px rgba(0, 0, 0, .22);
}


.sl-profile-card__banner {
	position: relative;

	height: 92px;

	background:
		linear-gradient(
			135deg,
			#18363d 0%,
			#132d34 35%,
			#182a31 62%,
			#080e12 100%
		);
}


.sl-profile-card__banner::before {
	content: "";

	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			135deg,
			rgba(22, 205, 183, .20),
			transparent 50%
		);
}


.sl-profile-card__banner::after {
	content: "";

	position: absolute;

	left: 0;
	right: 0;
	bottom: 0;

	height: 35px;

	background:
		linear-gradient(
			180deg,
			transparent,
			rgba(0, 0, 0, .48)
		);
}


.sl-profile-card__banner-button {
	position: absolute;

	top: 14px;
	right: 14px;

	z-index: 2;

	width: 34px;
	height: 34px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: rgba(10, 18, 22, .86);
	color: #fff;

	font-size: 14px;
}


.sl-profile-card__body {
	position: relative;

	padding: 0 15px 14px;
}


.sl-profile-card__avatar-wrap {
	position: relative;

	margin-top: -30px;

	width: 72px;
	height: 72px;
}


.sl-profile-card__avatar {
	width: 72px;
	height: 72px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 4px solid #050708;
	border-radius: 50%;

	background:
		radial-gradient(
			circle at 35% 30%,
			#38f4d4,
			#0bcbb7 58%,
			#087f76 100%
		);

	color: #073d3a;

	font-size: 25px;
	font-weight: 900;
}


.sl-profile-card__avatar-badge {
	position: absolute;

	right: -1px;
	bottom: 1px;

	width: 22px;
	height: 22px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 3px solid #050708;
	border-radius: 50%;

	background: #27343c;
	color: #fff;

	font-size: 8px;
}


.sl-profile-card__name {
	margin: 10px 0 0;

	color: #fff;

	font-size: 18px;
	line-height: 1.2;
	font-weight: 800;
}


.sl-profile-card__username {
	margin: 4px 0 0;

	color: #94a1aa;

	font-size: 11px;
}


.sl-profile-card__share {
	min-height: 36px;

	margin-top: 12px;

	padding: 0 14px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 7px;

	border-radius: 999px;

	background: #26333a;
	color: #f1f4f6;

	font-size: 11px;
	font-weight: 750;

	cursor: default;
}


.sl-profile-card__share span {
	font-size: 16px;
}


.sl-profile-card__stats {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 18px 18px;

	margin-top: 18px;

	padding-bottom: 18px;
}


.sl-profile-card__stats > div {
	display: flex;
	flex-direction: column;

	gap: 3px;
}


.sl-profile-card__stats strong {
	color: #f4f6f7;

	font-size: 13px;
	line-height: 1.2;
}


.sl-profile-card__stats span {
	color: #8c9aa4;

	font-size: 10px;
}


.sl-profile-card__about {
	padding: 16px 0;

	border-top: 1px solid #222b31;
}


.sl-profile-card__about h3,
.sl-profile-card__achievements h3 {
	margin: 0 0 9px;

	color: #9cabb5;

	font-size: 11px;
	line-height: 1.3;
	font-weight: 750;

	letter-spacing: .04em;
}


.sl-profile-card__about > div {
	color: #c7cfd4;

	font-size: 11px;
	line-height: 1.55;
}


.sl-profile-card__about p {
	margin: 0 0 8px;
}


.sl-profile-card__about p:last-child {
	margin-bottom: 0;
}


.sl-profile-card__achievements {
	padding-top: 16px;

	border-top: 1px solid #222b31;
}


.sl-profile-card__achievement-row {
	display: flex;
	align-items: center;

	gap: 7px;
}


.sl-profile-achievement {
	width: 42px;
	height: 42px;

	flex: 0 0 42px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 2px solid #d6a500;
	border-radius: 50%;

	background:
		radial-gradient(
			circle at 35% 30%,
			#ffe875,
			#dd9f00 65%,
			#8b6100
		);

	color: #fff;

	font-size: 17px;
	font-weight: 900;

	box-shadow:
		0 0 0 2px #101518;
}


.sl-profile-achievement--two {
	border-color: #5fd3bd;

	background:
		radial-gradient(
			circle at 35% 30%,
			#7af1d8,
			#25a992 65%,
			#116a60
		);
}


.sl-profile-achievement--three {
	border-color: #6caeea;

	background:
		radial-gradient(
			circle at 35% 30%,
			#9bd5ff,
			#397dc1 65%,
			#214b73
		);
}


.sl-profile-achievement-copy {
	min-width: 0;

	display: flex;
	flex-direction: column;

	gap: 3px;

	padding-left: 4px;
}


.sl-profile-achievement-copy strong {
	color: #dfe5e8;

	font-size: 10px;
	line-height: 1.35;
}


.sl-profile-achievement-copy span {
	color: #8f9da7;

	font-size: 10px;
	line-height: 1.35;
}


.sl-profile-card__achievement-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;

	margin-top: 16px;
	padding-top: 12px;

	border-top: 1px solid #222b31;
}


.sl-profile-card__achievement-footer > span {
	color: #83919b;

	font-size: 10px;
}


.sl-profile-card__achievement-footer button {
	min-height: 34px;

	padding: 0 13px;

	border-radius: 999px;

	background: #26333a;
	color: #edf1f3;

	font-size: 10px;
	font-weight: 750;
}


/* =========================================================
   PROFILE LOGIN CARD
   ========================================================= */

.sl-profile-login-card {
	max-width: 620px;

	margin: 40px auto;

	padding: 36px 28px;

	text-align: center;

	border: 1px solid var(--sl-border);
	border-radius: 12px;

	background: var(--sl-surface);
}


.sl-profile-login-card__icon {
	margin-bottom: 12px;

	color: #20d5bf;

	font-size: 28px;
}


.sl-profile-login-card h1 {
	margin: 0 0 8px;

	color: #fff;

	font-size: 21px;
}


.sl-profile-login-card p {
	margin: 0 auto 18px;

	max-width: 420px;

	color: var(--sl-muted);

	font-size: 12px;
}


/* =========================================================
   PROFILE RESPONSIVE
   ========================================================= */

@media (max-width: 1200px) {

	.sl-main-content--profile-reddit {
		padding-left: 18px;
		padding-right: 18px;
	}

}


@media (max-width: 900px) {

	.sl-reddit-profile-stats {
		margin-left: 0;
	}

	.sl-reddit-profile-identity {
		padding-left: 12px;
		padding-right: 12px;
	}

	.sl-reddit-profile-header-actions {
		padding-right: 4px;
	}

	.sl-reddit-profile-edit {
		font-size: 0;
		width: 40px;
		padding: 0;
	}

	.sl-reddit-profile-edit span {
		margin-right: 0;
		font-size: 15px;
	}

}


@media (max-width: 700px) {

	.sl-main-content--profile-reddit {
		padding-left: 10px;
		padding-right: 10px;
		padding-bottom: 90px;
	}

	.sl-reddit-profile-cover {
		height: 88px;
	}

	.sl-reddit-profile-identity {
		align-items: flex-start;

		min-height: 100px;

		margin-top: -28px;

		gap: 11px;
	}

	.sl-reddit-profile-avatar {
		width: 68px;
		height: 68px;

		flex-basis: 68px;

		font-size: 24px;
	}

	.sl-reddit-profile-avatar-wrap {
		width: 68px;
	}

	.sl-reddit-profile-identity-content {
		padding-top: 25px;
	}

	.sl-reddit-profile-name {
		font-size: 18px;
	}

	.sl-reddit-profile-username {
		font-size: 11px;
	}

	.sl-reddit-profile-header-actions {
		margin-left: auto;
		padding-top: 21px;
	}

	.sl-reddit-profile-stats {
		display: grid;

		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 12px 22px;

		padding: 2px 12px 17px;
	}

	.sl-reddit-profile-tabs a {
		min-height: 45px;

		padding-left: 11px;
		padding-right: 11px;

		font-size: 11px;
	}

	.sl-reddit-profile-filter {
		margin-top: 10px;
	}

	.sl-profile-card {
		border-radius: 10px;
	}

}


@media (max-width: 560px) {

	.sl-reddit-profile-identity {
		gap: 9px;
	}

	.sl-reddit-profile-avatar {
		width: 60px;
		height: 60px;

		flex-basis: 60px;

		border-width: 4px;

		font-size: 21px;
	}

	.sl-reddit-profile-avatar-wrap {
		width: 60px;
	}

	.sl-reddit-profile-avatar-badge {
		width: 21px;
		height: 21px;
	}

	.sl-reddit-profile-name {
		font-size: 17px;
	}

	.sl-reddit-profile-edit {
		width: 36px;
		height: 36px;
		min-height: 36px;
	}

	.sl-reddit-profile-edit span {
		font-size: 14px;
	}

	.sl-reddit-profile-stats {
		padding-left: 10px;
		padding-right: 10px;
	}

	.sl-reddit-profile-filter {
		font-size: 11px;
	}

	.sl-reddit-create-post {
		min-height: 36px;

		padding-left: 13px;
		padding-right: 13px;
	}

}
/* =========================================================
   STUDENTLIFE PROFILE — REDDIT DESKTOP PROPORTIONS
   Layout only.
   ========================================================= */

@media (min-width: 1181px) {

	/*
	 * Reddit-style profile proportions:
	 *
	 * Left navigation  : 272px
	 * Main profile     : flexible
	 * Right profile    : 340px
	 *
	 * This is intentionally scoped to the profile page so
	 * other layouts are not disturbed.
	 */

	.sl-layout--profile-reddit {
		grid-template-columns:
			272px
			minmax(0, 1fr)
			340px;

		max-width: 1600px;
	}

	.sl-layout--profile-reddit > .sl-sidebar {
		width: 272px;
	}

	.sl-layout--profile-reddit > .sl-main-content--profile-reddit {
		width: 100%;
		min-width: 0;

		padding-top: 0;
		padding-left: 24px;
		padding-right: 24px;
		padding-bottom: 80px;
	}

	.sl-layout--profile-reddit > .sl-profile-sidebar {
		width: 340px;
		min-width: 0;

		padding-top: 16px !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
		padding-bottom: 30px !important;
	}

	/*
	 * Keep the actual Reddit-style profile content at the
	 * same visual width as the reference.
	 */
	.sl-layout--profile-reddit .sl-reddit-profile-header,
	.sl-layout--profile-reddit .sl-reddit-profile-tabs,
	.sl-layout--profile-reddit .sl-reddit-profile-filter,
	.sl-layout--profile-reddit .sl-reddit-profile-feed-toolbar,
	.sl-layout--profile-reddit .sl-reddit-profile-posts {
		width: 100%;
		max-width: none;
	}

	/*
	 * The profile card should occupy the full right rail
	 * rather than appearing squeezed.
	 */
	.sl-layout--profile-reddit .sl-profile-card {
		width: 100%;
		max-width: none;
	}

}
/* =========================================================
   STUDENTLIFE — REDDIT COMMUNITY / CATEGORY LAYOUT
   Layout pass only.
   ========================================================= */


/* =========================================================
   COMMUNITY SHELL
   ========================================================= */

.sl-layout--community-reddit {
	align-items: start;
}


.sl-main-content--community-reddit {
	min-width: 0;

	padding-top: 0;
	padding-left: 18px;
	padding-right: 18px;
	padding-bottom: 70px;
}


.sl-community-feed-shell--reddit {
	width: 100%;
}


/* =========================================================
   COMMUNITY HERO
   ========================================================= */

.sl-community-hero--reddit {
	position: relative;

	width: calc(100% + 36px);

	margin: 0 -18px;

	overflow: hidden;

	background: var(--sl-bg);
}


.sl-community-cover {
	position: relative;

	width: 100%;
	height: 178px;

	overflow: hidden;

	display: flex;
	align-items: flex-end;

	padding: 0 24px 22px;

	background:
		linear-gradient(
			135deg,
			#10242b,
			#172c34 48%,
			#0b1318
		);

	background-image:
		var(--sl-community-banner-image),
		linear-gradient(
			135deg,
			#10242b,
			#172c34 48%,
			#0b1318
		);

	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}


.sl-community-cover__overlay {
	position: absolute;
	inset: 0;

	z-index: 1;

	background:
		linear-gradient(
			180deg,
			rgba(0, 0, 0, .03) 0%,
			rgba(0, 0, 0, .08) 38%,
			rgba(5, 8, 10, .70) 100%
		);
}


.sl-community-cover__overlay::after {
	content: "";

	position: absolute;
	inset: 0;

	background:
		radial-gradient(
			circle at 75% 25%,
			rgba(0, 255, 204, .12),
			transparent 30%
		);
}


.sl-community-cover__fallback {
	position: relative;

	z-index: 2;

	color: rgba(255, 255, 255, .92);

	font-size: 20px;
	font-weight: 900;

	letter-spacing: .12em;

	text-shadow:
		0 2px 12px rgba(0, 0, 0, .55);
}


.sl-community-hero--reddit[style*="--sl-community-banner-image"] .sl-community-cover__fallback {
	opacity: .08;
}


/* =========================================================
   COMMUNITY IDENTITY
   ========================================================= */

.sl-community-identity {
	position: relative;

	z-index: 4;

	min-height: 102px;

	padding: 0 24px;

	display: flex;
	align-items: center;

	gap: 15px;

	background: var(--sl-bg);
}


.sl-community-identity__avatar {
	width: 76px;
	height: 76px;

	flex: 0 0 76px;

	margin-top: -42px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 5px solid var(--sl-bg);

	border-radius: 50%;

	background:
		radial-gradient(
			circle at 35% 30%,
			#35f2d2,
			#09c9b5 58%,
			#08786f 100%
		);

	color: #063f3b;

	font-size: 25px;
	font-weight: 900;

	box-shadow:
		0 0 0 1px rgba(0, 255, 204, .18);
}


.sl-community-identity__copy {
	min-width: 0;
}


.sl-community-identity__copy h1 {
	margin: 0;

	color: #f5f7f8;

	font-size: 22px;
	line-height: 1.2;
	font-weight: 800;
}


.sl-community-identity__copy p {
	margin: 5px 0 0;

	color: #929fa8;

	font-size: 11px;
	line-height: 1.3;
}


.sl-community-identity__actions {
	margin-left: auto;

	display: flex;
	align-items: center;

	gap: 8px;
}


.sl-community-identity__actions .sl-button {
	min-height: 38px;

	padding: 0 16px;

	border-radius: 999px;

	font-size: 11px;
	font-weight: 800;
}


/* =========================================================
   COMMUNITY DESCRIPTION
   ========================================================= */

.sl-community-header__description {
	margin: 0;

	padding:
		0
		24px
		18px;

	background: var(--sl-bg);

	color: #b4bec6;

	font-size: 12px;

	line-height: 1.55;
}


/* =========================================================
   FEED / ABOUT TABS
   ========================================================= */

.sl-community-tabs {
	height: 48px;

	display: flex;
	align-items: stretch;

	gap: 2px;

	border-bottom: 1px solid var(--sl-border);

	background: var(--sl-bg);

	overflow-x: auto;

	scrollbar-width: none;
}


.sl-community-tabs::-webkit-scrollbar {
	display: none;
}


.sl-community-tabs a {
	position: relative;

	padding: 0 15px;

	display: inline-flex;
	align-items: center;

	flex: 0 0 auto;

	color: #9daab3;

	font-size: 12px;
	font-weight: 750;
}


.sl-community-tabs a:hover {
	color: #fff;
}


.sl-community-tabs a.is-active {
	color: #fff;
}


.sl-community-tabs a.is-active::after {
	content: "";

	position: absolute;

	left: 10px;
	right: 10px;
	bottom: 0;

	height: 3px;

	border-radius: 999px 999px 0 0;

	background: #20d5bf;
}


/* =========================================================
   COMMUNITY TOOLBAR
   ========================================================= */

.sl-community-toolbar--reddit {
	min-height: 52px;

	margin: 0;

	padding: 0 2px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	border-bottom: 1px solid var(--sl-border);
}


.sl-community-sort {
	display: flex;
	align-items: center;

	gap: 3px;

	overflow-x: auto;

	scrollbar-width: none;
}


.sl-community-sort::-webkit-scrollbar {
	display: none;
}


.sl-community-sort__link {
	min-height: 34px;

	padding: 0 12px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	border-radius: 999px;

	color: #9aa7b0;

	font-size: 11px;
	font-weight: 800;
}


.sl-community-sort__link:hover,
.sl-community-sort__link.is-active {
	background: #263139;

	color: #fff;
}


.sl-community-view {
	display: flex;

	gap: 3px;
}


.sl-community-view button {
	width: 34px;
	height: 34px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 8px;

	background: transparent;
	color: #87949e;

	font-size: 16px;
}


.sl-community-view button.is-active,
.sl-community-view button:hover {
	background: #242e35;

	color: #fff;
}


/* =========================================================
   COMMUNITY HIGHLIGHTS
   ========================================================= */

.sl-community-highlights--reddit {
	margin: 12px 0;

	padding: 13px;

	border: 1px solid #202a31;
	border-radius: 9px;

	background: #080b0e;
}


.sl-community-section-heading {
	min-height: 30px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	margin-bottom: 9px;
}


.sl-community-section-heading h2 {
	margin: 0;

	color: #e6ebee;

	font-size: 12px;
	font-weight: 800;
}


.sl-community-section-heading button {
	width: 28px;
	height: 28px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: transparent;
	color: #9ba7ae;

	font-size: 15px;
}


.sl-community-highlights__grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 8px;
}


.sl-community-highlight {
	min-width: 0;

	min-height: 66px;

	display: flex;
	align-items: stretch;

	overflow: hidden;

	border: 1px solid #202a31;
	border-radius: 7px;

	background: #101519;
}


.sl-community-highlight__content {
	min-width: 0;

	flex: 1;

	padding: 10px 11px;

	display: flex;
	flex-direction: column;
	justify-content: center;

	gap: 5px;
}


.sl-community-highlight__content strong {
	display: -webkit-box;

	overflow: hidden;

	color: #e8edf0;

	font-size: 11px;
	line-height: 1.35;

	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}


.sl-community-highlight__content span {
	color: #7f8d96;

	font-size: 9px;
}


.sl-community-highlight__media {
	width: 78px;

	flex: 0 0 78px;

	overflow: hidden;
}


.sl-community-highlight__media img {
	width: 100%;
	height: 100%;

	display: block;

	object-fit: cover;
}


/* =========================================================
   COMMUNITY POST FEED
   ========================================================= */

.sl-community-feed--reddit {
	padding-top: 0;
}


.sl-community-post-list {
	display: flex;
	flex-direction: column;

	gap: 8px;
}


.sl-community-post-list .sl-post-card {
	margin: 0;

	border-radius: 8px;
}


/*
 * Reddit community pages use tighter post cards than
 * profile pages.
 */
.sl-layout--community-reddit .sl-post-card {
	border-color: #202a31;

	background: #101519;
}


.sl-layout--community-reddit .sl-post-card:hover {
	border-color: #303c45;
	background: #12181c;
}


/* =========================================================
   RIGHT COMMUNITY RAIL
   ========================================================= */

.sl-community-right-sidebar--reddit {
	padding:
		16px
		14px
		35px !important;

	background: transparent;
}


.sl-community-right-sidebar--reddit .sl-community-panel {
	margin-bottom: 10px;

	padding: 14px;

	border: 1px solid #252f36;
	border-radius: 10px;

	background: #080b0d;
}


.sl-community-panel__identity {
	display: flex;
	align-items: center;

	gap: 10px;
}


.sl-community-panel__avatar {
	width: 42px;
	height: 42px;

	flex: 0 0 42px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		radial-gradient(
			circle at 35% 30%,
			#35f2d2,
			#09c9b5 60%,
			#08786f
		);

	color: #063f3b;

	font-size: 14px;
	font-weight: 900;
}


.sl-community-panel__eyebrow {
	display: block;

	margin-bottom: 3px;

	color: #71808a;

	font-size: 8px;
	font-weight: 800;

	letter-spacing: .08em;
}


.sl-community-panel__identity h2 {
	margin: 0;

	color: #f0f4f6;

	font-size: 14px;
	line-height: 1.2;
}


.sl-community-panel__description {
	margin: 13px 0 0;

	color: #a1adb5;

	font-size: 10px;
	line-height: 1.55;
}


.sl-community-about-stats {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 10px;

	margin-top: 14px;

	padding-top: 13px;

	border-top: 1px solid #202930;
}


.sl-community-about-stat {
	display: flex;
	flex-direction: column;

	gap: 3px;
}


.sl-community-about-stat strong {
	color: #f0f4f6;

	font-size: 12px;
	line-height: 1.2;
}


.sl-community-about-stat span {
	color: #788690;

	font-size: 9px;
}


.sl-community-panel__primary-action {
	width: 100%;

	min-height: 36px;

	margin-top: 14px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 999px;

	background: #253139;
	color: #edf2f4;

	font-size: 10px;
	font-weight: 800;
}


.sl-community-panel__primary-action:hover {
	background: #31414a;
	color: #fff;
}


/* =========================================================
   COMMUNITY BOOKMARKS
   ========================================================= */

.sl-community-panel__title {
	margin: 0 0 8px;

	color: #e9eef0;

	font-size: 11px;
	font-weight: 800;
}


.sl-community-links {
	display: flex;
	flex-direction: column;
}


.sl-community-links a {
	min-height: 34px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	border-bottom: 1px solid #1b2328;

	color: #aeb9c0;

	font-size: 10px;
	font-weight: 650;
}


.sl-community-links a:last-child {
	border-bottom: 0;
}


.sl-community-links a:hover {
	color: #fff;
}


.sl-community-links a span:last-child {
	color: #6f7d86;

	font-size: 17px;
}


/* =========================================================
   COMMUNITY ABOUT / RULES
   ========================================================= */

.sl-community-about-meta {
	margin-top: 12px;

	padding-top: 11px;

	display: flex;
	flex-direction: column;

	gap: 4px;

	border-top: 1px solid #202930;

	color: #77858e;

	font-size: 9px;
}


.sl-community-rules {
	margin: 0;

	padding-left: 18px;
}


.sl-community-rules li {
	margin-bottom: 8px;

	padding-left: 3px;

	color: #9da9b1;

	font-size: 9px;
	line-height: 1.45;
}


.sl-community-rules li:last-child {
	margin-bottom: 0;
}


/* =========================================================
   COMMUNITY PAGINATION
   ========================================================= */

.sl-community-pagination {
	padding: 18px 0 0;
}


.sl-community-pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 5px;
}


.sl-community-pagination .page-numbers {
	min-width: 30px;
	height: 30px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: #11171b;
	border: 1px solid #232e35;

	color: #8d9aa3;

	font-size: 10px;
}


.sl-community-pagination .page-numbers.current,
.sl-community-pagination .page-numbers:hover {
	background: #26343c;
	border-color: #3a4852;

	color: #fff;
}


/* =========================================================
   COMMUNITY RESPONSIVE
   ========================================================= */

@media (min-width: 1181px) {

	.sl-layout--community-reddit {
		grid-template-columns:
			var(--sl-sidebar-width)
			minmax(0, 1fr)
			var(--sl-right-width);
	}

}


@media (max-width: 1200px) {

	.sl-main-content--community-reddit {
		padding-left: 16px;
		padding-right: 16px;
	}

	.sl-community-right-sidebar--reddit {
		display: none !important;
	}

}


@media (max-width: 760px) {

	.sl-main-content--community-reddit {
		padding-left: 8px;
		padding-right: 8px;
	}

	.sl-community-hero--reddit {
		width: calc(100% + 16px);

		margin-left: -8px;
		margin-right: -8px;
	}

	.sl-community-cover {
		height: 125px;

		padding-left: 14px;
		padding-right: 14px;
	}

	.sl-community-identity {
		min-height: 105px;

		padding:
			0
			14px;

		flex-wrap: wrap;

		gap: 9px;
	}

	.sl-community-identity__avatar {
		width: 62px;
		height: 62px;

		flex-basis: 62px;

		margin-top: -31px;

		border-width: 4px;
	}

	.sl-community-identity__copy h1 {
		font-size: 18px;
	}

	.sl-community-identity__actions {
		width: 100%;

		margin:
			-7px
			0
			0
			71px;

		overflow-x: auto;
	}

	.sl-community-header__description {
		padding:
			0
			14px
			14px;
	}

	.sl-community-highlights__grid {
		grid-template-columns: 1fr;
	}

	.sl-community-toolbar--reddit {
		overflow: hidden;
	}

	.sl-community-view {
		display: none;
	}

}


@media (max-width: 520px) {

	.sl-community-sort__link {
		padding-left: 10px;
		padding-right: 10px;

		font-size: 10px;
	}

	.sl-community-highlight__media {
		width: 68px;

		flex-basis: 68px;
	}

}
