:root {
	color-scheme: dark;
	font-family:
		Inter,
		ui-sans-serif,
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	background: #050507;
	color: #f7f7f7;
	--page-background: #050507;
	--panel-background: rgba(18, 18, 18, 0.96);
	--panel-border: rgba(255, 255, 255, 0.1);
	--card-background: #111111;
	--muted: #a3a3a3;
	--subtle: #737373;
	--accent: #ffffff;
	--header-height: 72px;
	--feed-gap: 20px;
}

* {
	box-sizing: border-box;
}

[hidden] {
	display: none !important;
}

html {
	min-width: 320px;
	min-height: 100%;
	background: var(--page-background);
	scroll-behavior: smooth;
	scroll-padding-top:
		calc(
			var(--header-height) +
			max(14px, env(safe-area-inset-top))
		);
}

body {
	min-height: 100vh;
	min-height: 100dvh;
	margin: 0;
	overflow-x: hidden;
	background:
		radial-gradient(
			circle at 14% 10%,
			rgba(255, 255, 255, 0.07),
			transparent 25rem
		),
		radial-gradient(
			circle at 88% 92%,
			rgba(255, 255, 255, 0.035),
			transparent 30rem
		),
		var(--page-background);
	color: #f7f7f7;
}

a {
	color: inherit;
}

button,
input,
textarea,
select {
	font: inherit;
}

.feed-shell {
	width: min(1180px, 100%);
	min-height: 100vh;
	min-height: 100dvh;
	margin: 0 auto;
	padding:
		max(14px, env(safe-area-inset-top))
		max(18px, env(safe-area-inset-right))
		max(34px, env(safe-area-inset-bottom))
		max(18px, env(safe-area-inset-left));
}

.feed-header {
	position: sticky;
	top: max(10px, env(safe-area-inset-top));
	z-index: 20;
	display: flex;
	min-height: var(--header-height);
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 10px 12px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 22px;
	background: rgba(9, 9, 9, 0.84);
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.34);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.brand-lockup {
	display: inline-flex;
	min-width: 0;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.brand-mark {
	display: inline-flex;
	width: 40px;
	height: 40px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 13px;
	background: #ffffff;
	color: #090909;
	font-size: 1rem;
	font-weight: 950;
	letter-spacing: -0.08em;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
}

.wordmark {
	overflow: hidden;
	font-size: 0.88rem;
	font-weight: 900;
	letter-spacing: 0.28em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.header-actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
}

.header-link {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	color: #ffffff;
	font-size: 0.86rem;
	font-weight: 760;
	text-decoration: none;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		transform 150ms ease;
}

.header-link:hover,
.header-link--active {
	border-color: rgba(255, 255, 255, 0.24);
	background: rgba(255, 255, 255, 0.1);
}

.header-link--active {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.feed-main {
	display: grid;
	gap: var(--feed-gap);
	padding-top: 22px;
}

.feed-introduction,
.video-card,
.empty-feed,
.report-video-summary,
.report-panel {
	border: 1px solid var(--panel-border);
	background: var(--panel-background);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

.feed-introduction {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 34rem);
	align-items: end;
	gap: 28px;
	overflow: hidden;
	border-radius: 28px;
	padding: clamp(26px, 5vw, 46px);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.08),
			rgba(255, 255, 255, 0.015) 52%,
			rgba(255, 255, 255, 0.04)
		),
		#101010;
}

.feed-introduction::after {
	position: absolute;
	right: -120px;
	bottom: -180px;
	width: 340px;
	height: 340px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	background:
		radial-gradient(
			circle at 36% 34%,
			rgba(255, 255, 255, 0.24),
			rgba(255, 255, 255, 0.02) 58%,
			transparent 70%
		);
	content: "";
	pointer-events: none;
}

.eyebrow,
.section-label {
	position: relative;
	z-index: 1;
	margin: 0 0 12px;
	color: #d4d4d4;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.feed-introduction h1,
.empty-feed h2,
.report-panel h2 {
	position: relative;
	z-index: 1;
	margin: 0;
	letter-spacing: -0.05em;
	line-height: 1;
}

.feed-introduction h1 {
	max-width: 11ch;
	font-size: clamp(2.7rem, 8vw, 5.7rem);
}

.feed-description {
	position: relative;
	z-index: 1;
	max-width: 34rem;
	margin: 0;
	color: #b8b8b8;
	font-size: clamp(0.98rem, 2.1vw, 1.12rem);
	line-height: 1.65;
}

.video-feed {
	display: grid;
	gap: var(--feed-gap);
	scroll-snap-type: y proximity;
}

.video-card {
	position: relative;
	display: grid;
	min-height:
		calc(
			100dvh -
			var(--header-height) -
			max(58px, env(safe-area-inset-top)) -
			max(34px, env(safe-area-inset-bottom))
		);
	overflow: hidden;
	border-radius: 30px;
	scroll-margin-top:
		calc(
			var(--header-height) +
			max(22px, env(safe-area-inset-top))
		);
	scroll-snap-align: start;
	scroll-snap-stop: always;
	background: #0d0d0d;
}

.video-frame {
	position: relative;
	display: grid;
	min-width: 0;
	min-height: 0;
	place-items: center;
	overflow: hidden;
	background:
		radial-gradient(
			circle at 50% 45%,
			rgba(255, 255, 255, 0.07),
			transparent 42%
		),
		#000000;
}

.feed-video {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 58dvh;
	max-height: 82dvh;
	aspect-ratio: 9 / 16;
	background: #000000;
	object-fit: contain;
}

.video-utility-bar {
	position: absolute;
	right: 14px;
	bottom: 14px;
	left: 14px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	pointer-events: none;
}

.video-playback-status,
.video-sound-button {
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.7);
	color: #ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.video-playback-status {
	margin: 0;
	padding: 9px 12px;
	font-size: 0.74rem;
	font-weight: 760;
	letter-spacing: 0.02em;
}

.video-sound-button {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0 14px;
	cursor: pointer;
	font-size: 0.78rem;
	font-weight: 820;
	pointer-events: auto;
}

.video-error-message {
	position: absolute;
	inset: 50% auto auto 50%;
	z-index: 4;
	width: min(28rem, calc(100% - 36px));
	margin: 0;
	padding: 16px 18px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 18px;
	background: rgba(12, 12, 12, 0.9);
	color: #e5e5e5;
	font-size: 0.92rem;
	font-weight: 720;
	line-height: 1.5;
	text-align: center;
	transform: translate(-50%, -50%);
}

.video-details {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: space-between;
	gap: 28px;
	padding: clamp(22px, 4vw, 34px);
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.025),
			rgba(255, 255, 255, 0)
		),
		#111111;
}

.creator-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
}

.creator-identity {
	display: grid;
	min-width: 0;
	gap: 6px;
}

.creator-name,
.creator-handle {
	width: fit-content;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.creator-name {
	color: #ffffff;
	font-size: clamp(1.08rem, 3vw, 1.34rem);
	font-weight: 880;
	letter-spacing: -0.025em;
	text-decoration: none;
}

.creator-name:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.creator-handle {
	color: var(--muted);
	font-size: 0.92rem;
	font-weight: 720;
	text-decoration: none;
}

.creator-handle:hover {
	color: #d6d6d6;
}

.published-date {
	flex: 0 0 auto;
	margin: 2px 0 0;
	color: var(--subtle);
	font-size: 0.78rem;
	font-weight: 700;
	white-space: nowrap;
}

.video-caption {
	margin: 0;
	color: #d5d5d5;
	font-size: clamp(1rem, 2.2vw, 1.12rem);
	line-height: 1.68;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.video-actions {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 10px 14px;
}

.video-like-form,
.video-like-guest {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
}

.video-like-button,
.video-share-button,
.video-report-link {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 0 17px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.055);
	color: #ffffff;
	cursor: pointer;
	font-size: 0.88rem;
	font-weight: 840;
	text-decoration: none;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease,
		transform 150ms ease;
}

.video-like-button:hover,
.video-share-button:hover,
.video-report-link:hover {
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.11);
}

.video-like-form--liked .video-like-button {
	border-color: rgba(255, 255, 255, 0.42);
	background: #ffffff;
	color: #090909;
}

.video-like-button:disabled,
.video-share-button[aria-busy="true"] {
	cursor: wait;
	opacity: 0.68;
}

.video-like-icon,
.video-share-icon,
.video-report-icon {
	font-size: 1.1rem;
	line-height: 1;
}

.video-like-count {
	color: var(--muted);
	font-size: 0.84rem;
	font-weight: 760;
	white-space: nowrap;
}

.video-like-error {
	flex-basis: 100%;
	margin: 0;
	color: #f3b8b8;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.45;
}

.video-share-control {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px 11px;
	margin-left: auto;
}

.video-share-status {
	margin: 0;
	color: var(--muted);
	font-size: 0.8rem;
	font-weight: 720;
	line-height: 1.45;
}

.feed-pagination {
	display: flex;
	justify-content: center;
	padding: 4px 0;
}

.load-more-link,
.empty-feed-action {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 0 22px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	background: #ffffff;
	color: #090909;
	font-size: 0.9rem;
	font-weight: 850;
	text-decoration: none;
	transition:
		background-color 150ms ease,
		transform 150ms ease;
}

.load-more-link:hover,
.empty-feed-action:hover {
	background: #e5e5e5;
}

.empty-feed {
	display: grid;
	justify-items: start;
	border-radius: 28px;
	padding: clamp(28px, 6vw, 52px);
}

.empty-feed h2 {
	font-size: clamp(2rem, 7vw, 3.6rem);
}

.empty-feed > p:not(.section-label) {
	max-width: 38rem;
	margin: 20px 0 0;
	color: var(--muted);
	line-height: 1.68;
}

.empty-feed-action {
	margin-top: 24px;
}

.feed-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.feed-footer p {
	margin: 0;
	color: var(--subtle);
	font-size: 0.82rem;
	line-height: 1.5;
}

.feed-footer a {
	color: #ffffff;
	font-weight: 760;
	text-underline-offset: 3px;
}

a:focus-visible,
button:focus-visible,
video:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.95);
	outline-offset: 3px;
}

.header-link:active,
.load-more-link:active,
.empty-feed-action:active,
.video-sound-button:active,
.video-like-button:active,
.video-share-button:active,
.video-report-link:active,
.report-submit-button:active,
.report-secondary-link:active {
	transform: translateY(1px);
}

@media (min-width: 760px) {
	.video-card {
		grid-template-columns:
			minmax(310px, min(46vw, 520px))
			minmax(0, 1fr);
		align-items: stretch;
	}

	.feed-video {
		min-height: 0;
		max-height: none;
	}

	.video-details {
		min-height: 100%;
	}

	.video-caption {
		margin-top: auto;
		margin-bottom: auto;
	}
}

@media (min-width: 1080px) {
	.video-card {
		grid-template-columns:
			minmax(390px, 535px)
			minmax(0, 1fr);
	}

	.video-details {
		padding: 42px;
	}
}

@media (max-width: 759px) {
	.feed-introduction {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.video-card {
		min-height:
			calc(
				100dvh -
				var(--header-height) -
				max(52px, env(safe-area-inset-top))
			);
	}

	.video-frame {
		min-height: 62dvh;
	}

	.feed-video {
		min-height: 62dvh;
		max-height: 72dvh;
	}

	.video-details {
		min-height: 190px;
	}

	.published-date {
		white-space: normal;
		text-align: right;
	}
}

@media (max-width: 620px) {
	:root {
		--header-height: 64px;
		--feed-gap: 14px;
	}

	html {
		scroll-padding-top:
			calc(
				var(--header-height) +
				max(10px, env(safe-area-inset-top))
			);
	}

	.feed-shell {
		padding-top: max(10px, env(safe-area-inset-top));
		padding-right: max(10px, env(safe-area-inset-right));
		padding-left: max(10px, env(safe-area-inset-left));
	}

	.feed-header {
		top: max(6px, env(safe-area-inset-top));
		padding: 7px 8px;
		border-radius: 18px;
	}

	.brand-mark {
		width: 38px;
		height: 38px;
	}

	.header-actions {
		gap: 6px;
	}

	.header-link {
		min-height: 40px;
		padding: 0 12px;
		font-size: 0.8rem;
	}

	.wordmark {
		display: none;
	}

	.feed-main {
		padding-top: 14px;
	}

	.feed-introduction,
	.video-card,
	.empty-feed {
		border-radius: 22px;
	}

	.feed-introduction {
		padding: 25px 21px;
	}

	.feed-introduction h1 {
		font-size: clamp(2.5rem, 15vw, 4rem);
	}

	.feed-description {
		font-size: 0.96rem;
	}

	.video-card {
		scroll-margin-top:
			calc(
				var(--header-height) +
				max(14px, env(safe-area-inset-top))
			);
	}

	.video-frame {
		min-height: 60dvh;
	}

	.feed-video {
		min-height: 60dvh;
		max-height: 70dvh;
	}

	.video-details {
		min-height: 178px;
		gap: 22px;
		padding: 20px 18px 22px;
	}

	.creator-row {
		display: grid;
		gap: 10px;
	}

	.published-date {
		text-align: left;
	}

	.video-utility-bar {
		right: 10px;
		bottom: 10px;
		left: 10px;
	}

	.video-playback-status {
		padding: 8px 10px;
		font-size: 0.7rem;
	}

	.video-sound-button {
		min-height: 40px;
		padding: 0 12px;
		font-size: 0.74rem;
	}

	.video-like-button,
	.video-share-button,
	.video-report-link {
		min-height: 44px;
		padding: 0 15px;
	}

	.video-like-form,
	.video-like-guest {
		gap: 9px 11px;
	}

	.video-share-control,
	.video-report-control {
		margin-left: 0;
	}

	.empty-feed {
		padding: 28px 22px;
	}
}

@media (max-width: 390px) {
	.header-link {
		padding: 0 10px;
	}

	.feed-introduction {
		padding: 23px 18px;
	}

	.video-details {
		padding-right: 16px;
		padding-left: 16px;
	}
}


.video-report-control {
	display: flex;
	min-width: 0;
	align-items: center;
	margin-left: 0;
}

.video-report-link {
	border-color: rgba(255, 255, 255, 0.11);
	background: transparent;
	color: #b8b8b8;
}

.video-report-link:hover {
	color: #ffffff;
}

.report-layout {
	display: grid;
	gap: var(--feed-gap);
}

.report-video-summary,
.report-panel {
	overflow: hidden;
	border-radius: 28px;
}

.report-video-summary {
	display: grid;
	background: #0d0d0d;
}

.report-video-frame {
	display: grid;
	min-width: 0;
	min-height: 0;
	place-items: center;
	overflow: hidden;
	background:
		radial-gradient(
			circle at 50% 45%,
			rgba(255, 255, 255, 0.07),
			transparent 42%
		),
		#000000;
}

.report-video {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 68dvh;
	aspect-ratio: 9 / 16;
	background: #000000;
	object-fit: contain;
}

.report-video-details {
	display: grid;
	align-content: start;
	gap: 18px;
	padding: clamp(22px, 4vw, 34px);
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.025),
			rgba(255, 255, 255, 0)
		),
		#111111;
}

.report-video-details .section-label,
.report-panel .section-label {
	margin-bottom: 0;
}

.report-panel {
	padding: clamp(26px, 5vw, 46px);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.055),
			rgba(255, 255, 255, 0.012) 54%,
			rgba(255, 255, 255, 0.025)
		),
		#101010;
}

.report-panel h2 {
	max-width: 17ch;
	font-size: clamp(2rem, 6vw, 3.8rem);
}

.report-panel-description {
	max-width: 42rem;
	margin: 20px 0 0;
	color: var(--muted);
	line-height: 1.68;
}

.report-form {
	display: grid;
	gap: 22px;
	margin-top: 30px;
}

.report-field {
	display: grid;
	gap: 9px;
}

.report-field-label {
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 820;
}

.report-field-hint {
	color: var(--subtle);
	font-size: 0.78rem;
	font-weight: 680;
	line-height: 1.45;
}

.report-field select,
.report-field textarea {
	width: 100%;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 16px;
	background: rgba(0, 0, 0, 0.34);
	color: #ffffff;
	outline: none;
	transition:
		border-color 150ms ease,
		box-shadow 150ms ease,
		background-color 150ms ease;
}

.report-field select {
	min-height: 52px;
	padding: 0 15px;
	cursor: pointer;
}

.report-field textarea {
	min-height: 168px;
	resize: vertical;
	padding: 15px;
	line-height: 1.6;
}

.report-field select:focus,
.report-field textarea:focus {
	border-color: rgba(255, 255, 255, 0.52);
	background: rgba(0, 0, 0, 0.48);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.08);
}

.report-field textarea::placeholder {
	color: #777777;
	opacity: 1;
}

.report-form-error {
	margin: 22px 0 0;
	padding: 14px 16px;
	border: 1px solid rgba(255, 160, 160, 0.34);
	border-radius: 16px;
	background: rgba(120, 20, 20, 0.18);
	color: #ffd0d0;
	font-size: 0.88rem;
	font-weight: 730;
	line-height: 1.55;
}

.report-privacy-note {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.035);
	color: #b8b8b8;
	font-size: 0.84rem;
	line-height: 1.55;
}

.report-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 4px;
}

.report-submit-button,
.report-secondary-link {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 0 22px;
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 850;
	text-decoration: none;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease,
		transform 150ms ease;
}

.report-submit-button {
	border: 1px solid #ffffff;
	background: #ffffff;
	color: #090909;
	cursor: pointer;
}

.report-submit-button:hover {
	background: #e5e5e5;
}

.report-secondary-link {
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.045);
	color: #ffffff;
}

.report-secondary-link:hover {
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.1);
}

.report-submit-button:focus-visible,
.report-secondary-link:focus-visible,
.report-field select:focus-visible,
.report-field textarea:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.95);
	outline-offset: 3px;
}

@media (min-width: 760px) {
	.report-layout {
		grid-template-columns:
			minmax(310px, min(42vw, 480px))
			minmax(0, 1fr);
		align-items: start;
	}

	.report-video-summary {
		position: sticky;
		top:
			calc(
				var(--header-height) +
				max(32px, env(safe-area-inset-top))
			);
	}
}

@media (max-width: 620px) {
	.report-video-summary,
	.report-panel {
		border-radius: 22px;
	}

	.report-video {
		max-height: 62dvh;
	}

	.report-video-details {
		padding: 20px 18px 22px;
	}

	.report-panel {
		padding: 28px 22px;
	}

	.report-panel h2 {
		font-size: clamp(2rem, 12vw, 3.2rem);
	}

	.report-form {
		margin-top: 24px;
	}

	.report-form-actions {
		align-items: stretch;
	}

	.report-submit-button,
	.report-secondary-link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		scroll-snap-stop: normal !important;
		transition: none !important;
	}
}