body.somnia-style-northstar {
	--ns-card: #FFFFFF;
	--ns-thread: var(--dt-accent-light);
	--ns-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0L13.8 10.2L24 12L13.8 13.8L12 24L10.2 13.8L0 12L10.2 10.2Z'/%3E%3C/svg%3E");
	--ns-line: linear-gradient(#000, #000);
}

body.somnia-style-northstar .site-header {
	background: var(--dt-bg);
	border-bottom: 0;
}
body.somnia-style-northstar .site-header::after,
body.somnia-style-northstar .site-footer::before,
body.somnia-style-northstar #content .somnia-form-title::after {
	content: "";
	display: block;
	box-sizing: border-box;
	max-width: 760px;
	height: 14px;
	margin: 0 auto;
	background: var(--dt-accent);
	-webkit-mask: var(--ns-star) center / 14px no-repeat, var(--ns-line) left center / calc(50% - 14px) 1px no-repeat, var(--ns-line) right center / calc(50% - 14px) 1px no-repeat;
	mask: var(--ns-star) center / 14px no-repeat, var(--ns-line) left center / calc(50% - 14px) 1px no-repeat, var(--ns-line) right center / calc(50% - 14px) 1px no-repeat;
}
body.somnia-style-northstar .site-header::after {
	width: calc(100% - 40px);
}
body.somnia-style-northstar .site-branding-text {
	position: relative;
	box-sizing: border-box;
	min-height: 96px;
	padding: 22px 20px 18px 90px;
	text-align: left;
}
body.somnia-style-northstar .site-title {
	font-size: 27px;
	white-space: normal;
}
body.somnia-style-northstar .site-title a {
	font-weight: 800;
	color: var(--dt-text);
}
body.somnia-style-northstar .site-title a::before {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 56px;
	height: 56px;
	margin-top: -28px;
}
body.somnia-style-northstar .site-description {
	margin: 2px 0 0;
	font-family: var(--dt-heading-font);
	font-style: italic;
	font-size: 16px;
	color: var(--dt-muted);
}

body.somnia-style-northstar .site-footer {
	background: var(--dt-bg);
	border-top: 0;
}
body.somnia-style-northstar .site-footer::before {
	width: calc(100% - 40px);
	margin-bottom: 18px;
}

body.somnia-style-northstar #content h1 {
	font-weight: 800;
	line-height: 1.12;
}
body.somnia-style-northstar #content :is(.somnia-readers h2, .somnia-messages-title, .somnia-form-title) {
	font-weight: 800;
}
body.somnia-style-northstar.single-post #content .entry-content > p:first-of-type {
	font-style: italic;
	font-size: 1.1em;
	line-height: 1.6;
	color: var(--dt-accent);
}

body.somnia-style-northstar .drs-box {
	background: var(--ns-card) !important;
	border: 1.5px solid var(--dt-accent) !important;
	border-radius: 8px !important;
}
body.somnia-style-northstar .drs-box .drs-box-button {
	border-radius: 5px !important;
	font-weight: 700 !important;
}

body.somnia-style-northstar .somnia-messages .testimonial-card {
	align-items: center;
	text-align: center;
	border: 0;
	background: transparent;
	padding: 6px 18px 4px;
}
body.somnia-style-northstar .somnia-messages .testimonial-card::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	margin-bottom: 12px;
	background: var(--dt-accent);
	-webkit-mask: var(--ns-star) center / contain no-repeat;
	mask: var(--ns-star) center / contain no-repeat;
}
body.somnia-style-northstar .somnia-messages .testimonial-content {
	font-style: italic;
	font-size: 1.1em;
	line-height: 1.45;
	height: 4.35em;
	color: var(--dt-text);
}
body.somnia-style-northstar .somnia-messages .testimonial-author {
	font-weight: 700;
	color: var(--dt-text);
}

body.somnia-style-northstar .somnia-reader-list {
	row-gap: 0;
}
body.somnia-style-northstar .somnia-reader {
	margin: 0 0 0 6px;
	padding: 9px 10px 9px 22px;
	border-left: 2px solid var(--ns-thread);
	border-radius: 0;
}
body.somnia-style-northstar .somnia-reader::after {
	top: 15px;
	left: -7px;
	right: auto;
	width: 8px;
	height: 8px;
	margin: 0;
	border: 2px solid var(--dt-bg);
	border-radius: 50%;
	-webkit-mask: none;
	mask: none;
}
body.somnia-style-northstar .somnia-reader:hover {
	background: transparent;
}
body.somnia-style-northstar .somnia-reader:hover::after {
	transform: none;
}
body.somnia-style-northstar #content .entry-content .somnia-reader a {
	font-weight: 700;
	text-decoration: none;
}
body.somnia-style-northstar #content .entry-content .somnia-reader:hover a {
	text-decoration: underline;
}

body.somnia-style-northstar #dcf-container .dcf-author {
	border: 0;
	border-radius: 10px;
	background: var(--ns-card);
}
body.somnia-style-northstar #dcf-container .dcf-author-bio {
	font-style: italic;
	font-size: 17px;
}

body.somnia-style-northstar #comments .comment,
body.somnia-style-northstar #comments .comment.is-interpreter {
	align-items: stretch;
}
body.somnia-style-northstar #comments .comment-list > .comment {
	margin-left: 8px;
	padding-left: 22px;
	border-left: 2px solid var(--ns-thread);
}
body.somnia-style-northstar #comments .comment-list > .comment:last-child {
	padding-bottom: 0;
	margin-bottom: 36px;
}
body.somnia-style-northstar #comments .comment-day {
	margin: 0 0 0 -32px;
	padding: 0 0 20px;
	background: var(--dt-bg);
}
body.somnia-style-northstar #comments .comment > .comment {
	margin-top: 16px;
}
body.somnia-style-northstar #comments .comment-body {
	position: relative;
	max-width: none;
}
body.somnia-style-northstar #comments .comment-body::before {
	content: "";
	position: absolute;
	top: 18px;
	left: -30px;
	width: 10px;
	height: 10px;
	border: 2px solid var(--dt-bg);
	border-radius: 50%;
	background: var(--dt-accent);
}
body.somnia-style-northstar #comments .is-interpreter > .comment-body::before {
	top: 16px;
	left: -32px;
	width: 18px;
	height: 18px;
	border: 0;
	border-radius: 0;
	-webkit-mask: var(--ns-star) center / contain no-repeat;
	mask: var(--ns-star) center / contain no-repeat;
}
body.somnia-style-northstar #comments .comment-bubble {
	padding: 14px 16px 10px;
	background: var(--ns-card);
	border-radius: 10px;
}
body.somnia-style-northstar #comments .is-interpreter > .comment-body > .comment-bubble {
	background: var(--dt-accent-light);
	border-radius: 10px;
}
body.somnia-style-northstar #comments .comment-name {
	font-weight: 700;
}
body.somnia-style-northstar #comments .is-interpreter .comment-name {
	font-family: var(--dt-heading-font);
	font-weight: 800;
	font-size: 1.05em;
	color: var(--dt-accent);
}
body.somnia-style-northstar #comments .comment-head .somnia-label {
	padding: 0;
	background: none;
	color: var(--dt-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.somnia-style-northstar #comments .comment-form-author input,
body.somnia-style-northstar #comments .comment-form textarea,
body.somnia-style-northstar #comments #somnia-own {
	border-radius: 8px;
}
body.somnia-style-northstar #comments .form-submit .somnia-button {
	border-radius: 6px;
	font-weight: 700;
}

body.somnia-style-northstar .drs-results,
body.somnia-style-northstar .drs-net {
	font-family: var(--dt-body-font);
}
body.somnia-style-northstar .drs-gem {
	width: 12px;
	height: 12px;
	font-size: 0;
	background: var(--dt-accent);
	-webkit-mask: var(--ns-star) center / contain no-repeat;
	mask: var(--ns-star) center / contain no-repeat;
}
body.somnia-style-northstar .drs-results .drs-result {
	margin: 0;
	padding: 16px 2px;
	border-bottom: 1px solid var(--dt-border);
}
body.somnia-style-northstar .drs-results .drs-result:last-child {
	border-bottom: 0;
}
body.somnia-style-northstar .drs-results .drs-title,
body.somnia-style-northstar .drs-net .drs-net-title {
	font-family: var(--dt-heading-font);
	font-weight: 800;
	font-size: 21px;
	text-decoration: none;
}
body.somnia-style-northstar .drs-snippet {
	color: var(--dt-body-text);
	font-size: 16px;
	line-height: 1.6;
}
body.somnia-style-northstar .drs-net {
	padding: 20px 18px 8px;
	border-radius: 10px;
	background: var(--dt-accent-light);
	box-sizing: border-box;
}
body.somnia-style-northstar .drs-net .drs-net-item {
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid rgba(36, 84, 132, .2);
}
body.somnia-style-northstar .drs-net .drs-net-item:last-child {
	border-bottom: 0;
}
body.somnia-style-northstar .drs-site {
	color: var(--dt-body-text);
	font-weight: 700;
}

body.somnia-style-northstar.home #content .entry-content > p:first-of-type {
	position: relative;
	margin-left: 9px;
	padding: 4px 0 6px 24px;
	border-left: 2px solid var(--dt-accent-light);
	font-size: 1.1em;
	line-height: 1.7;
}
body.somnia-style-northstar.home #content .entry-content > p:first-of-type::before {
	content: "";
	position: absolute;
	top: -6px;
	left: -11px;
	width: 20px;
	height: 20px;
	background: var(--dt-accent);
	-webkit-mask: var(--ns-star) center / contain no-repeat;
	mask: var(--ns-star) center / contain no-repeat;
}
body.somnia-style-northstar.home #content .entry-content > p:first-of-type::after {
	content: "";
	position: absolute;
	bottom: -6px;
	left: -6px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--dt-accent);
}
