/* ==========================================================================
 * Feed & Stories — story viewer, reactions (Vibes), overlays, composer
 * ========================================================================== */
.-spring-dot {
	top: 1.25vw;
	position: relative;
	min-width: 1.875vw;
	border-radius: 50%;
	animation: 0.8s ease var(--dot-delay) infinite normal none running tap;
}

.-story {
	width: 100%;
	height: 100%;
	display: flex;
	position: relative;
	scroll-snap-stop: always;
	scroll-snap-align: start;
}

.-story-media {
	flex: 1;
	min-height: 0;
	position: relative;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.-story-media::after {
	inset: 0;
	content: "";
	position: absolute;
	background: linear-gradient(180deg,rgb(25 17 14 / 7%) 0%,rgb(25 17 14 / 15%) 35%,rgb(25 17 14 / 88%) 100%);
}

.-story-social-tools {
	right: 0;
	z-index: 3;
	width: 25vw;
	height: 100%;
	display: flex;
	align-items: end;
	position: absolute;
	flex-flow: column;
	pointer-events: none;
	justify-content: center;
}

.-story-social-stack {
	gap: 0.625vw;
	display: flex;
	flex-flow: column;
	align-items: flex-end;
}

.-story-social-circle-box {
	display: flex;
	gap: 0.9375vw;
	position: relative;
	flex-flow: column;
	align-items: center;
	margin: 0 3.125vw 0 0;
}

.---tool-opposite .-story-social-circle-count {
	order: 1;
}

.-story-social-circle-count {
	z-index: 2;
	color: #fff;
	display: flex;
	min-width: 9.375vw;
	font-size: 3.125vw;
	position: relative;
	align-items: center;
	justify-content: flex-end;
	text-shadow: 0.15625vw 0.15625vw 0.9375vw #00000080;
}

.-story-social-circle {
	width: 10vw;
	height: auto;
	color: #fff;
	display: flex;
	position: relative;
	align-items: center;
	aspect-ratio: 1/1;
	border-radius: 50%;
	pointer-events: auto;
	justify-content: center;
	background: rgb(30 22 18 / 42%);
	border: 0.9375vw solid #0000;
	text-shadow: 0.15625vw 0.15625vw 0.9375vw #00000080;
	backdrop-filter: blur(1.5625vw);
}

/* existing custom svg shell */

.-story-social-circle .material-symbols-rounded {
	height: 100%;
	display: flex;
	font-size: 6.25vw;
	aspect-ratio: 1/1;
	align-items: center;
	justify-content: center;
	border-radius: inherit;
	background: rgb(255 255 255 / 20%);
}

.-vibes-parent {
	display: flex;
	gap: 1.5625vw;
	height: 18.75vw;
	width: 20.3125vw;
	position: relative;
	flex-flow: column;
	pointer-events: auto;
	overflow: hidden auto;
	scroll-behavior: smooth;
	align-items: flex-start;
	margin: 0 1.5625vw 0 0;
	scroll-snap-type: y mandatory;
}

.-vibes-snap {
	display: flex;
	min-width: 18.75vw;
	position: relative;
	align-items: center;
	aspect-ratio: 1/1;
	border-radius: 50%;
	margin: 0 3.125vw 0 0;
	justify-content: center;
	background: var(--dimmer);
	border: 1.5625vw solid #0000;
}

.-vibes {
	display: flex;
	width: 18.75vw;
	position: relative;
	min-width: 18.75vw;
	aspect-ratio: 1/1;
	align-items: center;
	border-radius: 50%;
	pointer-events: auto;
	justify-content: center;
	scroll-snap-align: center;
	color: var(--app-accent);
	background: var(--dimmer);
}

.-vibes-snap .material-symbols-rounded {
	width: 100%;
	height: 100%;
	display: flex;
	font-size: 9.375vw;
	align-items: center;
	border-radius: 50%;
	justify-content: center;
	background: rgb(255 255 255 / 10%);
	text-shadow: rgba(0, 0, 0, 0.5) 0.15625vw 0.15625vw 0.9375vw;
}

.-vibes-snap-preview {
	z-index: 5;
	width: 8.75vw;
	display: flex;
	right: -3.125vw;
	bottom: -1.5625vw;
	position: absolute;
	aspect-ratio: 1/1;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	border: 0.9375vw solid var(--dimmer);
	text-shadow: 0.15625vw 0.15625vw 0.9375vw #00000080;
}

.-vibes-score {
	bottom: 0;
	z-index: 5;
	width: 8.75vw;
	right: -0.9375vw;
	display: flex;
	position: absolute;
	aspect-ratio: 1/1;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	border: 0.9375vw solid var(--dimmer);
}

.-vibes-score::before {
	content: "";
	width: 100%;
	position: absolute;
	aspect-ratio: 1/1;
	background: #4a452d;
	border-radius: inherit;
	transition: background 0.3s;
}

.-vibes.---reacted .-vibes-score::before {
	background: #df4a00;
}

.-vibes-lottie {
	inset: 0;
	width: 100%;
	height: 100%;
	display: flex;
	position: absolute;
	align-items: center;
	pointer-events: none;
	justify-content: center;
}

.-vibes-lottie svg {
	width: 100% !important;
	height: 100% !important;
}

.-vibe-annotation {
	top: 50%;
	left: 50%;
	opacity: 1;
	gap: 1.5625vw;
	z-index: 30000;
	position: fixed;
	display: flex;
	max-width: 87.5vw;
	padding: 1.5625vw;
	align-items: center;
	pointer-events: auto;
	border-radius: 6.25vw;
	overflow: auto hidden;
	background: #1b1b1b;
	backdrop-filter: blur(1.5625vw);
	transform: translate(-50%, -50%);
	transition: opacity 0.3s, transform 0.3s;
	box-shadow: 0 0.9375vw 2.5vw #000000aa;
}

.-vibe-token-spend {
	z-index: 9500;
	color: #fff2a8;
	position: fixed;
	pointer-events: none;
	font-family: "Slackey", sans-serif;
	font-weight: 900;
	font-size: 9.375vw;
	line-height: 1;
	text-shadow: 0.3125vw 0.3125vw 1.25vw #000, 0 0 1.875vw rgb(255 218 102 / 45%);
	filter: drop-shadow(0 0 0.9375vw rgb(255 218 102 / 30%));
	transform: translate(-50%, -50%);
	will-change: left, top, opacity, transform;
}

.-vibe-flight {
	z-index: 700;
	display: flex;
	position: fixed;
	pointer-events: none;
	align-items: center;
	justify-content: center;
	font-size: 10vw;
	transform: translate(-50%, -50%);
	will-change: left, top, transform, opacity;
}

.-vibes-score-count {
	z-index: 1;
	color: #e3dabc;
	font-weight: 800;
	font-size: 3.4375vw;
	text-shadow: 0.15625vw 0.15625vw 0.9375vw #00000080;
}

.-progress-ring {
	height: auto;
	inset: 0.625vw;
	position: absolute;
	aspect-ratio: 1/1;
	pointer-events: none;
	transform: rotate(-90deg);
	width: -webkit-fill-available;
}

.-progress-ring-rail {
	fill: none;
	opacity: 0.2;
	stroke: #0575e6;
	stroke-width: 1.875vw;
}

.-progress-ring-live {
	fill: none;
	stroke: #0575e6;
	stroke-width: 1.875vw;
	stroke-linecap: round;
	transition: stroke-dashoffset .25s linear, stroke .35s;
}

.-vibes-icon {
	width: 100%;
	position: relative;
	height: auto;
	display: flex;
	margin: 3.125vw;
	font-size: 8.75vw;
	aspect-ratio: 1/1;
	align-items: center;
	justify-content: center;
	border-radius: inherit;
	text-shadow: 0.15625vw 0.15625vw 0.9375vw #00000080;
}

.-vibes-icon .material-symbols-rounded {
	color: #fff;
	font-size: 8.75vw;
}

.-vibe-dial {
	z-index: 500;
	display: flex;
	position: fixed;
	touch-action: none;
	backdrop-filter: blur(1.5625vw);
	aspect-ratio: 1/1;
	border-radius: 50%;
	pointer-events: none;
	transform-origin: 50% 50%;
	transform: translate(-50%, -50%) scale(0.001);
	transition: transform 0.4s cubic-bezier(.2,.85,.2,1);
}

.-vibe-dial.---open {
	pointer-events: auto;
	transform: translate(-50%, -50%) scale(1);
}

.-vibe-candidate {
	top: 50%;
	left: 50%;
	opacity: 0;
	display: flex;
	width: 18.75vw;
	font-size: 10vw;
	position: absolute;
	aspect-ratio: 1/1;
	align-items: center;
	border-radius: 50%;
	justify-content: center;
	transform-origin: 50% 50%;
	transition: opacity 0.8s;
	background: var(--dimmer);
	will-change: transform, opacity;
	transform: translate(-50%,-50%);
	text-shadow: 0.15625vw 0.15625vw 0.9375vw #00000080;
}

.-vibe-dial.---open .-vibe-candidate.---dial-visible {
	opacity: 1;
}

.-vibes-icon.---wow {
	animation: vibes-wow .48s cubic-bezier(.2,.8,.2,1);
}

.-vibe-spark {
	position: fixed;
	z-index: 600;
	pointer-events: none;
	font-size: 7vw;
	animation: vibe-spark .7s ease-out forwards;
}

.-modal-overlay {
	inset: 0;
	z-index: 9000;
	opacity: 0;
	display: flex;
	position: fixed;
	visibility: hidden;
	align-items: center;
	pointer-events: none;
	justify-content: center;
	background: rgb(43 41 39 / 38%);
	backdrop-filter: blur(3.125vw);
	transition: opacity .25s, visibility .25s;
}

.-modal-overlay.---show-modal {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.-story-media.---youtube {
	overflow: hidden;
}

.-story-youtube-hit {
	inset: 0;
	z-index: 2;
	position: absolute;
	pointer-events: auto;
}

.-story-media.---youtube .-story-topline,
.-story-media.---youtube .-story-copy {
	z-index: 3;
	pointer-events: none;
}

.-story-media.---youtube .-story-social-tools {
	z-index: 4;
}

.-story-media.---video {
	overflow: hidden;
}

.-story-video {
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	position: absolute;
	object-fit: cover;
}

.-story-video-control {
	left: 50%;
	top: 50%;
	z-index: 5;
	width: 18.75vw;
	height: 18.75vw;
	opacity: 0;
	display: flex;
	position: absolute;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	border-radius: 50%;
	color: #fff;
	background: rgb(0 0 0 / 58%);
	backdrop-filter: blur(1.5625vw);
	transform: translate(-50%, -50%) scale(0.82);
	transition: opacity 0.18s, transform 0.22s;
}

.-story-media.---show-video-control .-story-video-control {
	opacity: 1;
	pointer-events: none;
	transform: translate(-50%, -50%) scale(1);
}

.-story-video-control .material-symbols-rounded {
	font-size: 10vw;
}

.-story-topline {
	top: 5vw;
	left: 5vw;
	right: 5vw;
	z-index: 2;
	display: flex;
	position: absolute;
	align-items: center;
	justify-content: space-between;
}

.-story-brand {
	gap: 2.1875vw;
	display: flex;
	position: relative;
	align-items: center;
	font-family: var(--font-rounded);
}

.-story-brand-face {
	width: 9.375vw;
	aspect-ratio: 1/1;
	position: relative;
	border-radius: 50%;
	background-size: cover;
	background-position: center;
}

.-story-brand-copy {
	gap: 0.3125vw;
	display: flex;
	flex-flow: column;
}

.-story-brand-name {
	color: #fff;
	font-size: 3.125vw;
	font-weight: 800;
	letter-spacing: 0.078125vw;
}

.-story-brand-label {
	color: #ffffffa8;
	font-size: 3.125vw;
}

.-story-creator {
	color: #fff;
	display: flex;
	min-height: 8.125vw;
	align-items: center;
	padding: 0 3.125vw;
	font-size: 3.125vw;
	clip-path: var(--squircle);
	background: rgb(35 24 20 / 44%);
	backdrop-filter: blur(1.25vw);
}

.-story-copy {
	left: 0;
	transition: opacity 0.32s;
	right: 0;
	bottom: 0;
	z-index: 2;
	gap: 2.5vw;
	display: flex;
	position: absolute;
	flex-flow: column;
	padding: 0 5vw 5vw;
}

.-story-kicker {
	color: #fff;
	font-weight: 800;
	font-size: 3.125vw;
	letter-spacing: 0.15625vw;
	text-transform: uppercase;
	font-family: var(--font-rounded);
}

.-story-title {
	max-width: 93.75vw;
	color: #fff;
	font-family: var(--font-editorial);
	font-size: 9.375vw;
	font-weight: 650;
	line-height: 0.95;
	letter-spacing: -0.3125vw;
	text-shadow: 0 .3125vw 1.5625vw rgb(0 0 0 / 32%);
}

.-story-deck {
	max-width: 90vw;
	color: rgb(255 255 255 / 88%);
	font-size: 3.75vw;
	line-height: 1.35;
}

.-story-footer {
	gap: 3.125vw;
	display: flex;
	align-items: center;
}

.-story-meta {
	color: rgb(255 255 255 / 88%);
	font-size: 3.125vw;
}

.-plus-smartie {
	z-index: 120;
	width: var(--smartie-size);
	height: var(--smartie-size);
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	background: var(--smartie-color);
	transform: translate(-50%, -50%) scale(0.25);
	animation: smartie-burst 0.62s cubic-bezier(.15,.75,.2,1) var(--smartie-delay) forwards;
}

.-go-keys {
	flex: 1;
}

.-go-keys-tools {
	min-height: 0;
}

.-go-emoji-grid {
	min-height: 0;
}

.-overlay-ads,
.-overlay-apps,
.-overlay-blur {
	display: none;
}

.-overlay-blur.---show-bottom-drawer {
	inset: 0;
	z-index: 250;
	display: flex;
	position: fixed;
	align-items: flex-end;
	background: rgb(0 0 0 / 45%);
}

.-bottom-drawer {
	width: 100%;
	display: flex;
	position: relative;
	padding: 6.25vw 3.125vw 8.125vw;
	flex-flow: column;
	background: var(--app-theme);
	clip-path: var(--squircle);
}

.-bottom-drawer-title {
	font-weight: 800;
	font-size: 5vw;
	padding: 0 1.5625vw 3.125vw;
}

.-bottom-drawer-media {
	gap: 1.5625vw;
	width: 100%;
	display: flex;
	overflow: auto hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
}

.-bottom-drawer-media-item {
	gap: 1.5625vw;
	min-width: 25vw;
	display: flex;
	position: relative;
	align-items: center;
	padding: 3.125vw;
	flex-flow: column;
	justify-content: center;
	aspect-ratio: 1/1;
	clip-path: var(--squircle);
	background: var(--surface);
	scroll-snap-align: center;
}

.-bottom-drawer-media-item .material-symbols-rounded {
	font-size: 7.5vw;
}

.-bottom-drawer-media-item div:last-child {
	font-size: 3.125vw;
}

.-foot-note-vibe {
	right: 0;
	z-index: 2;
	height: auto;
	display: flex;
	min-width: 8.75vw;
	margin: 0.9375vw;
	position: absolute;
	aspect-ratio: 1/1;
	align-items: center;
	border-radius: 50%;
	justify-content: center;
	color: var(--app-accent);
	background: var(--dimmer);
	border: 1.25vw solid #0000;
}

.-foot-note-vibe .material-symbols-rounded {
	font-size: 5.625vw;
	padding: 0.625vw 0 0;
	transition: transform 0.3s;
}

/* Mandatory Google sign-in gate -------------------------------------------- */

.---auth-locked .---auth-locked .-modal-overlay {
	z-index: 12000;
}

.-vibe-dial-core {
	pointer-events: none;
}

.-vibe-dial-core .-vibes-score {
	pointer-events: none;
}

.-vibe-skull {
	z-index: 12;
	right: -1.5625vw;
	bottom: -1.5625vw;
	pointer-events: auto;
	background: #1b1b1b;
}

.-vibe-skull .material-symbols-rounded {
	z-index: 2;
	color: #e3dabc;
	font-size: 5vw;
	position: relative;
	transition: color .2s, transform .2s;
}

.-vibe-skull.---negative-vibe::before {
	background: #7d2833;
}

.-vibe-skull.---negative-vibe .material-symbols-rounded {
	color: #ff8883;
	transform: scale(1.12);
}

.-vibe-reactors-core .-vibes-icon {
	margin: 3.125vw;
	font-family: "Slackey";
}

.-vibe-reactors-core.---snoop-total .-vibes-icon {
	margin: 0;
	font-family: "Slackey";
	font-size: 9.375vw;
	color: #e3dabc;
}

.-vibe-reactors-core.---reactor-preview {
	background: #155797;
	border: 0.9375vw solid var(--dimmer);
}

.-vibe-reactors-core.---reactor-preview.---negative-preview {
	background: #7d2833;
}

.-vibe-reactor-face {
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	position: relative;
	align-items: center;
	box-sizing: border-box;
	background-size: cover;
	justify-content: center;
	border-radius: inherit;
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--dimmer);
	transition: filter 0.3s, opacity 0.3s;
}

.-vibe-reactor-face .material-symbols-rounded {
	color: #ffffff88;
	font-size: 8.75vw;
}

.-vibe-reactor.---snoop-locked .-vibe-reactor-face,
.-vibe-reactor.---unsnoopable .-vibe-reactor-face {
	filter: blur(1.5625vw);
}

.-vibe-reactor-name {
	top: 50%;
	left: 50%;
	z-index: 0;
	width: 25vw;
	opacity: 0;
	color: #fff;
	position: absolute;
	pointer-events: none;
	font-size: 3.4375vw;
	font-family: "Delius";
	white-space: nowrap;
	padding: 0 0 0 3.126vw;
	transform-origin: 0 50%;
	transition: opacity 0.3s;
	text-shadow: 0.15625vw 0.15625vw 0.46875vw #000;
	transform: translateY(-50%) rotate(var(--reactor-name-angle)) translateX(10.9375vw);
}

.-vibe-reactor.---snoop-open .-vibe-reactor-name,
.-vibe-reactor.---current-hiver .-vibe-reactor-name {
	opacity: 1;
}

.-vibe-reactor.---unsnoopable .-vibe-reactor-name {
	opacity: 0;
}

.-vibe-reactor-count {
	right: -3.125vw;
	bottom: -1.5625vw;
}

.-vibe-reactor-count::before {
	background: #f95300;
}

.-vibe-reactor-count.---reactor-count-active::before {
	background: #147718;
}

.-vibe-snoop-copy {
	display: flex;
	gap: 1.5625vw;
	flex-flow: column;
}

.-vibe-snoop-line {
	color: #b0a890;
	font-size: 3.4375vw;
	line-height: 5vw;
}

.-vibe-snoop-price {
	color: #ffda66;
	font-family: "Delius";
	font-size: 4.0625vw;
}

.-vibe-snoop-range {
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	margin: 1.5625vw 0;
}

.-vibe-snoop-slider {
	width: 100%;
}

.-vibe-snoop-readout {
	color: #fff;
	font-family: "Delius";
	font-size: 3.75vw;
	text-align: center;
}

.-vibe-negative-dot {
	right: 0.3125vw;
	bottom: 0.3125vw;
	width: 2.5vw;
	height: 2.5vw;
	position: absolute;
	border-radius: 50%;
	background: #ff4f67;
}

.-hero-section > .-story-social-tools {
	z-index: 20;
}

.-fanbase {
	gap: 0.9375vw;
	display: flex;
	height: 9.375vw;
	text-align: right;
	position: relative;
	width: fit-content;
	overflow: visible;
	line-height: 8.75vw;
	min-width: 21.875vw;
	align-items: center;
	border-radius: 6.125vw;
	touch-action: manipulation;
	justify-content: flex-start;
	background: var(--dimmer);
	border: 0.9375vw solid #0000;
}

.-fanbase-icon {
	z-index: 1;
	margin: 0;
	display: flex;
	width: inherit;
	position: relative;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	align-items: center;
	justify-content: center;
	transition: margin 0.3s;
	background: var(--surface);
	height: -webkit-fill-available;
	border: 0.9375vw solid #0000;
}

.-fanbase-icon .material-symbols-rounded {
	color: #0000;
	font-size: 7.5vw;
	background: linear-gradient(45deg, #ffffff, #7c9cbd, #cba4ff);
	-webkit-background-clip: text;
}

.-fanbase-stat {
	width: 100%;
	display: flex;
	position: absolute;
	align-items: center;
	border-radius: 6.25vw;
	height: -webkit-fill-available;
}

.-fanbase-stat-text {
	display: flex;
	color: #cdcdcd;
	font-size: 3.125vw;
	text-align: center;
	position: relative;
	align-items: center;
	font-family: "Delius";
	justify-content: center;
	border-radius: inherit;
	margin: 0 0 0 8.4375vw;
	width: -webkit-fill-available;
	background: var(--surface);
	height: -webkit-fill-available;
	transition: margin 0.3s, color 0.3s;
}

.---active-fanbase .-fanbase-icon {
	margin: 0 0 0 calc(100% - 7.5vw);
}

.---active-fanbase .-fanbase-stat-text {
	color: #64a8ff;
	margin: 0 8.4375vw 0 0;
}

.-fanbase.---active-fanbase .-fanbase-icon .material-symbols-rounded {
	font-size: 5.625vw;
}

.-scrub-count {
	width: auto;
	display: flex;
	height: 6.25vw;
	color: #b4c5d3;
	font-weight: 600;
	font-size: 3.75vw;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	text-overflow: ellipsis;
}

.-scrub-count span {
	margin: 0 0.9375vw;
	color: var(--card-hex);
}

.---fanbase-settings .-widget-switch-slab {
	margin: 3.125vw 3.125vw 0;
}

/* Fanbase behavior from the tweaks PDF; the Build 029 capsule itself remains untouched above. */

.-follow-pop {
	right: 0;
	top: -7.8125vw;
	z-index: 50;
	color: #64ff64;
	position: absolute;
	font-size: 5vw;
	font-weight: 900;
	pointer-events: none;
	animation: follow-pop 0.72s ease forwards;
}

.-follow-star {
	z-index: 49;
	width: 1.875vw;
	height: 1.875vw;
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	background: #ffda66;
	animation: follow-star 0.7s ease forwards;
}

.-bell-ring .-fanbase-icon .material-symbols-rounded {
	color: #0000;
	font-size: 5.625vw;
	background: linear-gradient(45deg, #ffffff, #7c9cbd, #cba4ff);
	-webkit-background-clip: text;
	animation: bell-ring 0.72s ease-in-out;
}

/* Fellowship media foreground and single-tap reaction, preserving the HiverGo social stack geometry. */

.-story-like-parent {
	height: 18.75vw;
	align-items: flex-end;
	justify-content: center;
}

.-story-like-core {
	width: 18.75vw;
	height: 18.75vw;
	flex: 0 0 18.75vw;
	overflow: hidden;
	background: rgb(255 255 255 / 22%);
	backdrop-filter: blur(1.5625vw);
}

.-story-like-core > .material-symbols-rounded {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 8.75vw;
	background: #0000;
}

.-story-like-score {
	inset: 0;
	z-index: 2;
	display: flex;
	position: absolute;
	align-items: flex-end;
	justify-content: center;
	padding: 0 0 1.5625vw;
	pointer-events: none;
	color: #fff;
	font-size: 3.125vw;
	font-weight: 900;
	text-shadow: 0 .15625vw .9375vw rgb(0 0 0 / 55%);
}

.-story-like-core.---liked {
	color: #FFE3D8;
	background: rgb(200 111 82 / 55%);
}

.-story-heart-burst {
	z-index: 40;
	right: 5.625vw;
	bottom: 27.5vw;
	width: 12.5vw;
	height: 12.5vw;
	position: absolute;
	pointer-events: none;
}

.-story-heart {
	--heart-x: 0vw;
	--heart-y: -20vw;
	left: 50%;
	top: 50%;
	position: absolute;
	color: #F8D1D9;
	font-size: 5vw;
	opacity: 0;
	animation: fellowship-heart 1.15s cubic-bezier(.15,.7,.2,1) forwards;
}

.-fellowship-plain-story .-story-media {
	background-color: color-mix(in srgb,var(--app-theme) 62%,#fff);
	background-image: radial-gradient(circle at 18% 18%,rgb(255 255 255 / 70%) 0 12.5vw,#0000 12.8vw),radial-gradient(circle at 84% 24%,var(--dimmer) 0 18.75vw,#0000 19vw),radial-gradient(circle at 28% 79%,rgb(169 147 214 / 22%) 0 6.25vw,#0000 6.5vw),radial-gradient(circle at 78% 82%,rgb(143 175 145 / 26%) 0 12.5vw,#0000 12.8vw);
}

.-fellowship-plain-story .-story-media::after {
	background: linear-gradient(180deg,rgb(38 29 25 / 2%) 0%,rgb(38 29 25 / 78%) 100%);
}

.-event-overview,
.-care-story {
	width: 93.75vw;
	padding: 5vw;
	clip-path: var(--squircle);
	background: #fff;
}

.-event-overview b,
.-care-story b {
	display: block;
	font-family: var(--font-editorial);
	font-size: 6.25vw;
	line-height: 1.08;
}

.-event-overview span,
.-care-story span {
	display: block;
	margin-top: 1.5625vw;
	color: var(--app-muted);
	font-size: 3.125vw;
	font-weight: 700;
	line-height: 1.45;
}

.-notice-page .-care-story p + p {
	margin-top: 3.125vw;
}
