:root {
	--bg-1: #0f1116;
	--bg-2: #1a1d24;
	--bg-3: #20242c;
	--text-1: #ffffff;
	--text-2: #c8cbd3;
	--accent: #d6a65d;
	--radius: 5px;
	--transition: all 0.5s ease;
	--shadow-1: 0 0 25px rgba(0, 0, 0, 0.30);
	--shadow-2: 0 0 45px rgba(0, 0, 0, 0.45);
}
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	background: radial-gradient(circle at top, var(--bg-2), var(--bg-1));
	color: var(--text-1);
	font-family: "Noto Sans", sans-serif;
	margin: 0;
	padding: 0;
	font-size: 14px;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 220px;
	background: radial-gradient(ellipse at top, rgba(255,255,255,0.06) 0, transparent 70%);
	pointer-events: none;
	z-index: 1000;
}
.app{
	width: 1380px;
	max-width: 98%;
	margin: 24px auto;
	padding: 40px 20px 80px;
	flex-grow: 1;
}
.app-outside{
	width: 1380px;
	max-width: 98%;
	margin: 24px auto;
	padding: 0px 20px;
}

.blog-container {
	flex-basis: 600px;
	flex-grow: 1;
}

h1, h2, h3 {
	margin: 0 0 12px 0;
	font-weight: 600;
}
img {
	max-width: 100%;
	height: auto;
}
.block{
	display: block;
}
.flex{
	display: flex;
}

/*******************************************************************************
	*	NAV
*******************************************************************************/
.nav-right a{
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.85);
	font-weight: 500;
	text-decoration: none;
	padding: 3px 0;
	transition: color 0.2s ease;
	display: flex;
	align-items: stretch;
	justify-content: center;
}

/*******************************************************************************
	*	BREADCRUMB
*******************************************************************************/
.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 10px 18px;
	margin: 0;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.10);
	backdrop-filter: blur(10px);
	border-radius: var(--radius);
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	gap: 6px;
}

.breadcrumb-item {
	color: var(--text-2);
	font-size: 14px;
	display: flex;
	align-items: center;
}

.breadcrumb-item a {
	color: var(--text-1);
	text-decoration: none;
	padding: 4px 6px;
	border-radius: var(--radius-sm);
	transition: background 0.2s, color 0.2s;
}

.breadcrumb-item a:hover {
	background: rgba(255,255,255,0.10);
	color: var(--text-1);
}

/* Separator */
.breadcrumb-item:not(:last-child)::after {
	content: "›";
	color: var(--text-3);
	margin-left: 6px;
	margin-right: 2px;
}

/* Last item styling */
.breadcrumb-item:last-child {
	color: var(--accent);
	font-weight: 500;
}


/* -----------------------------------------------------------
	Welcome Page Layout (TTRPG App)
----------------------------------------------------------- */
.app-welcome {
}

/* HERO ----------------------------------------------------- */

.app-hero {
	position: relative;
	width: 100%;
	height: calc(100vh - 500px);
	min-height: 500px;
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-2);
	margin-bottom: 60px;
}

.app-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.app-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.4),
		rgba(0, 0, 0, 0.75)
	);
}

.app-hero-content {
	position: absolute;
	bottom: 40px;
	left: 40px;
	right: 40px;
	max-width: 600px;
	padding: 32px;
	background: rgba(20, 22, 28, 0.5);
	backdrop-filter: blur(8px);
	border-radius: var(--radius);
}

.app-hero-content h1 {
	margin: 0 0 12px;
	font-size: 36px;
	font-weight: 700;
	color: var(--text-1);
	text-shadow: 0 0 14px rgba(0,0,0,0.5);
}

.app-hero-content p {
	margin: 0;
	color: var(--text-2);
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 18px;
}

.app-hero-actions {
	display: flex;
	gap: 16px;
	margin-top: 10px;
}

/* BUTTONS -------------------------------------------------- */

.app-btn-accent {
	background: var(--accent);
	color: #0d0e12;
	padding: 12px 26px;
	border-radius: var(--radius);
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	transition: var(--transition);
	box-shadow: 0 0 10px rgba(0,0,0,0.4);
}

.app-btn-accent:hover {
	background: var(--bg-1);
	border-color: var(--accent);
	color: var(--accent);
}

.app-btn-outline {
	padding: 12px 26px;
	border-radius: var(--radius);
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	color: var(--text-1);
	border: 2px solid rgba(255,255,255,0.25);
	transition: var(--transition);
	box-shadow: 0 0 10px rgba(0,0,0,0.4);
	background: var(--bg-3);
}

.app-btn-outline:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.app-welcome-grid {
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
}

.app-card {
	background: var(--bg-3);
	border-radius: var(--radius);
	padding: 28px;
	color: var(--text-2);
	box-shadow: var(--shadow-1);
	transition: var(--transition);
}

.app-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-2);
}

.app-card h3 {
	color: var(--text-1);
	font-size: 20px;
	margin-bottom: 12px;
}

.app-card p {
	font-size: 14
	line-height: 1.5;
	margin: 0;
}

/* -----------------------------------------------------------
	Footer for TTRPG App
----------------------------------------------------------- */

.app-footer {
	margin-top: 10px;
	padding: 30px 20px 20px;
	background: rgba(255,255,255,0.03);
	border-top: 1px solid rgba(255,255,255,0.06);
	backdrop-filter: blur(6px);
	box-shadow: 0 -10px 25px rgba(0,0,0,0.35);
}

.app-footer-inner {
	max-width: 1380px;
	margin: 0 auto 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 30px;
}

.app-footer-section h4 {
	margin: 0 0 10px;
	font-size: 18px;
	color: var(--text-1);
}

.app-footer-section p {
	margin: 0;
	color: var(--text-2);
	font-size: 14px;
	line-height: 1.5;
	max-width: 320px;
}

.app-footer-links {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.app-footer-links a {
	color: var(--text-2);
	text-decoration: none;
	font-size: 14px;
	transition: var(--transition);
}

.app-footer-links a:hover {
	color: var(--accent);
}

.app-footer-bottom {
	text-align: center;
	padding-top: 10px;
	border-top: 1px solid rgba(255,255,255,0.05);
}

.app-footer-bottom p {
	margin: 0;
	font-size: 13px;
	color: var(--text-2);
	opacity: 0.8;
}


/*******************************************************************************
	*	MODAL
*******************************************************************************/
/* -----------------------------------------------------------
	MODAL BASE
----------------------------------------------------------- */
.app-modal {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.75);
	backdrop-filter: blur(6px);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
	z-index: 9999;
}

.app-modal.active {
	opacity: 1;
	pointer-events: auto;
}

/* -----------------------------------------------------------
	MODAL CONTENT
----------------------------------------------------------- */
.app-modal-content {
	width: 420px;
	max-width: 92%;
	background: rgba(25, 27, 35, 0.85);
	backdrop-filter: blur(10px);
	padding: 32px;
	border-radius: var(--radius);
	box-shadow: 0 0 35px rgba(0,0,0,0.45);
	position: relative;
	transform: translateY(20px);
	transition: transform 0.3s ease;
}

.app-modal.active .app-modal-content {
	transform: translateY(0);
}

/* -----------------------------------------------------------
	MODAL CLOSE BUTTON
----------------------------------------------------------- */
.app-modal-close {
	position: absolute;
	top: 12px;
	right: 12px;
	font-size: 26px;
	color: var(--text-2);
	background: none;
	border: none;
	cursor: pointer;
	transition: var(--transition);
}

.app-modal-close:hover {
	color: var(--accent);
}

/* -----------------------------------------------------------
	TITLES AND FORMS
----------------------------------------------------------- */
.app-modal-title {
	text-align: center;
	margin: 0 0 20px;
	font-size: 24px;
	color: var(--text-1);
}

.app-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.app-form label {
	font-size: 14px;
	color: var(--text-2);
}

.app-form input {
	width: 100%;
	padding: 12px;
	background: var(--bg-2);
	color: var(--text-1);
	border-radius: var(--radius);
	border: 1px solid rgba(255,255,255,0.15);
	font-size: 15px;
}

.app-form input:focus {
	outline: none;
	border-color: var(--accent);
}

/*******************************************************************************
	*	ALERT
*******************************************************************************/
/* -----------------------------------------------------------
	ALERTS (Glass Toast Notifications)
----------------------------------------------------------- */
.app-alert {
	position: fixed;
	top: 28px;
	left: 50%;
	transform: translateX(-50%) translateY(-12px);
	max-width: 480px;
	width: calc(100% - 40px);
	padding: 16px 22px;
	background: rgba(255,255,255,0.1);
	backdrop-filter: blur(12px);
	border-radius: var(--radius);
	border: 1px solid rgba(255,255,255,0.12);
	box-shadow: 0 6px 22px rgba(0,0,0,0.45);
	color: var(--text-1);
	display: flex;
	align-items: center;
	gap: 16px;
	opacity: 0;
	transition: opacity 0.25s ease, transform 0.25s ease;
	z-index: 999999;
}

/* When active */
.app-alert.show {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}


/* Content area */
.app-alert-content {
	flex-grow: 1;
	font-size: 14px;
	line-height: 1.45;
	color: var(--text-1);
}

/* Close button */
.app-alert-close {
	background: none;
	border: none;
	color: var(--text-2);
	font-size: 20px;
	line-height: 18px;
	cursor: pointer;
	padding: 0 4px;
	transition: color 0.2s;
}

.app-alert-close:hover {
	color: var(--accent);
}

/* STACKING */
.app-alert + .app-alert {
	margin-top: 12px;
}

/* TYPES --------------------------------------------------- */

/* Error */
.app-alert-error {
	border-left: 4px solid rgba(255,60,60,0.9);
}

/* Success */
.app-alert-success {
	border-left: 4px solid rgba(80,200,120,0.9);
}

/* Warning */
.app-alert-warning {
	border-left: 4px solid rgba(255,190,60,0.9);
}

/* Info */
.app-alert-info {
	border-left: 4px solid rgba(70,140,255,0.9);
}

/* -----------------------------------------------------------
	BLOCKING ALERT (Dialog Modal)
----------------------------------------------------------- */

.app-block-alert {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.65);
	backdrop-filter: blur(6px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100000;
	opacity: 0;
	transform: scale(0.92);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.app-block-alert.show {
	opacity: 1;
	transform: scale(1);
}

.app-block-alert-content {
	background: rgba(30,32,38,0.92);
	backdrop-filter: blur(10px);
	padding: 28px 32px;
	max-width: 360px;
	width: 90%;
	border-radius: var(--radius);
	box-shadow: 0 8px 24px rgba(0,0,0,0.55);
	text-align: center;
	border: 1px solid rgba(255,255,255,0.1);
}

.app-block-alert-content h3 {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 600;
	color: var(--text-1);
}

.app-block-alert-content p {
	margin: 0 0 20px;
	color: var(--text-2);
	font-size: 15px;
	line-height: 1.5;
}

.app-block-alert-content button {
	display: inline-block;
	margin-top: 10px;
	width: 120px;
}
/* -----------------------------------------------------------
	INLINE ALERTS (Inside Forms or Modals)
----------------------------------------------------------- */

.app-inline-alert {
	width: 100%;
	padding: 12px 14px;
	border-radius: var(--radius);
	margin-bottom: 14px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--text-1);
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.12);
	backdrop-filter: blur(6px);
	box-shadow: 0 3px 10px rgba(0,0,0,0.35);
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Visible state */
.app-inline-alert.show {
	opacity: 1;
	transform: translateY(0);
}

/* Alert types */
.app-inline-alert-error {
	border-left: 4px solid rgba(255,60,60,0.9);
}

.app-inline-alert-warning {
	border-left: 4px solid rgba(255,190,60,0.9);
}

.app-inline-alert-info {
	border-left: 4px solid rgba(70,140,255,0.9);
}

.app-inline-alert-success {
	border-left: 4px solid rgba(80,200,120,0.9);
}


/*******************************************************************************
	*	DASHBOARD
*******************************************************************************/

/* Hero section */
.app-dashboard-hero {
	text-align: center;
	margin-bottom: 60px;
}

.app-dashboard-title {
	font-size: 46px;
	color: var(--text-1);
	margin-bottom: 6px;
}

.app-dashboard-subtitle {
	color: var(--text-2);
	font-size: 18px;
}

/* Cards grid */
.app-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 30px;
}

/* Card links */
.app-card-link {
	display: block;
	text-decoration: none;
}

.app-card-link:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(0,0,0,0.45);
	border-color: rgba(255,255,255,0.18);
}

/* Card contents */
.app-card-icon {
	font-size: 32px;
	margin-bottom: 14px;
	opacity: 0.85;
}

.app-card-title {
	font-size: 20px;
	margin-bottom: 6px;
	color: var(--text-1);
}

.app-card-text {
	font-size: 14px;
	color: var(--text-2);
	line-height: 1.45;
	margin: 0;
}

/*******************************************************************************
	*	SYSTEMS
*******************************************************************************/
.app-systems {
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 20px;
}

/* ------------------------------------------------------
	Header
------------------------------------------------------ */

.app-systems-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}

.app-systems-title {
	font-size: 40px;
	font-weight: 600;
	color: var(--text-1);
	margin: 0;
}

/* ------------------------------------------------------
	Create Button (reuses app design language)
------------------------------------------------------ */

.app-btn-accent {
	padding: 10px 18px;
	background: var(--accent);
	color: #fff;
	border: none;
	border-radius: var(--radius);
	font-size: 15px;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.2s ease;
}

.app-btn-mini {
	padding: 6px 10px;
	font-size: 13px;
	border-radius: var(--radius-sm);
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.20);
	color: var(--text-1);
	cursor: pointer;
	transition: background 0.2s;
}

.app-btn-mini:hover {
	background: rgba(255,255,255,0.18);
}

.app-btn-danger {
	background: rgba(255, 70, 70, 0.25);
	border: 1px solid rgba(255, 80, 80, 0.45);
	color: #ffb4b4;
}

.app-btn-danger:hover {
	background: rgba(255, 70, 70, 0.35);
}

/* ------------------------------------------------------
	System Card Grid
------------------------------------------------------ */

.app-systems-list {
	display: flex;
	gap: 24px;
}
.app-systems-list > a{
	text-decoration: none;
}
/* ------------------------------------------------------
	Card Structure
------------------------------------------------------ */

.app-system-card {
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.10);
	backdrop-filter: blur(10px);
	border-radius: var(--radius-lg);
	padding: 24px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.35);
	transition: all 0.25s ease;
	color: var(--text-1);
	flex-basis: 300px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.app-system-card:hover {
	transform: translateY(-4px);
	border-color: rgba(255,255,255,0.18);
	box-shadow: 0 8px 22px rgba(0,0,0,0.45);
}

/* ------------------------------------------------------
	Card Header
------------------------------------------------------ */

.app-system-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.app-system-name {
	font-size: 20px;
	margin: 0;
	color: var(--text-1);
	font-weight: 600;
	text-decoration: none;
}

/* ------------------------------------------------------
	Card Body
------------------------------------------------------ */

.app-system-card-body {
	margin-top: 14px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.app-system-desc {
	font-size: 14px;
	line-height: 1.4;
	color: var(--text-2);
	margin-bottom: 16px;
	flex-grow: 1;
}

/* ------------------------------------------------------
	Tags Row
------------------------------------------------------ */

.app-system-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
	border-top: 1px solid var(--accent);
	padding-top: 20px;
}

.app-tag {
	font-size: 12px;
	padding: 4px 10px;
	border-radius: var(--radius);
	background: rgba(255,255,255,0.10);
	color: var(--text-2);
	border: 1px solid rgba(255,255,255,0.15);
}

/* ------------------------------------------------------
	Responsive Tweaks
------------------------------------------------------ */

@media (max-width: 600px) {
	.app-systems-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.app-systems-title {
		font-size: 32px;
	}

	.app-system-card {
		padding: 20px;
	}
}


/* ------------------------------------------------------
	System Editor Layout
------------------------------------------------------ */

.app-system-editor {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0px 20px;
	margin-bottom: 20px;
}

/* ------------------------------------------------------
	Sidebar
------------------------------------------------------ */

.app-editor-sidebar {
	width: 280px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--radius-lg);
	backdrop-filter: blur(10px);
	padding: 24px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.35);
}

.app-sidebar-title {
	font-size: 22px;
	margin: 0 0 4px;
	color: var(--accent);
	font-weight: 600;
	display: flex;
	justify-content: space-between;
}

.app-sidebar-desc {
	font-size: 14px;
	color: var(--text-2);
	margin-bottom: 18px;
	line-height: 1.4;
}

.app-sidebar-divider {
	border: none;
	border-bottom: 5px solid var(--bg-2);
	box-shadow: 0 1px 0 rgba(255,255,255,0.10);
	margin: 20px 0;
}

.app-sidebar-section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
	border-bottom: 3px solid var(--bg-2);
	box-shadow: 0 1px 0 rgba(255,255,255,0.10);
	text-transform: uppercase;
	padding-bottom: 5px;
}

.app-sidebar-section-header h3 {
	font-size: 16px;
	color: var(--text-1);
	margin: 0;
}

/* ------------------------------------------------------
	NodeType List
------------------------------------------------------ */

.app-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.app-list > .app-list-item {
	padding: 8px 10px;
	border-radius: var(--radius);
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.10);
	color: var(--text-1);
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s;
	font-size: 14px;
}

.app-list-item:hover {
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.20);
}

/* ------------------------------------------------------
	Editor Panel
------------------------------------------------------ */

.app-editor-panel {
	flex: 1;
	min-height: 600px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	backdrop-filter: blur(10px);
	border-radius: var(--radius-lg);
	padding: 30px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.35);
	position: relative;
	border-left: 15px solid #0e0e0e;
}
.nodetype-list.app-list > li{
	transition: all .2s;
}
.nodetype-list.app-list > li.active{
	width: 120%;
	text-align: center;
	background-color: #0e0e0e;
	transform: translateX(10px);
	padding: 1em 0;
	border-color: #0e0e0e;
}

.app-editor-placeholder {
	text-align: center;
	margin-top: 140px;
	opacity: 0.6;
}

.app-editor-placeholder h2 {
	font-size: 28px;
	margin-bottom: 6px;
	color: var(--text-1);
}

.app-editor-placeholder p {
	color: var(--text-2);
	font-size: 15px;
}

/*******************************************************************************
	*	NT Editor
*******************************************************************************/
.nt-editor {
	display: flex;
	height: 100%;
	min-height: 500px;
}

/* SIDEBAR */
.nt-sidebar {
	width: 260px;
	background: var(--panel-bg);
	border-right: 5px solid rgba(255,255,255,0.05);
	padding: 16px;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
	overflow-y: auto;
}

.nt-sidebar-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.nt-name {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--text-bright);
	margin: 0;
}

.nt-edit-btn {
	background: var(--button-dark);
	color: var(--text-bright);
	border: 1px solid rgba(255,255,255,0.1);
	padding: 4px 8px;
	font-size: 0.9rem;
	cursor: pointer;
	border-radius: 4px;
}

.nt-meta {
	margin-bottom: 16px;
}

.nt-meta-row {
	margin-bottom: 6px;
	font-size: 0.9rem;
}

.nt-label {
	color: var(--text-muted);
	margin-right: 6px;
}

.nt-separator {
	border: none;
	border-top: 1px solid rgba(255,255,255,0.06);
	margin: 12px 0;
}

.nt-fields-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--text-muted);
}

.nt-add-field {
	background: var(--accent-bg);
	color: var(--text-bright);
	border: none;
	padding: 2px 8px;
	cursor: pointer;
	border-radius: 4px;
}

.nt-fields-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.nt-fields-list .app-list-item.active{
	background-color: transparent;
	text-align: center;
	transform: translateX(25px);
	padding-top: 10px;
	padding-bottom: 10px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right-width: 0;
}


/* MAIN EDITOR PANEL */
.nt-main {
	flex: 1;
	padding: 24px;
	position: relative;
}

.nt-empty {
	text-align: center;
	margin-top: 80px;
	color: var(--text-muted);
}

.nt-panel-content {
}

/*******************************************************************************
	*	Field Editor
*******************************************************************************/
.field-editor {
	padding: 20px;
}

.field-header {
	margin-bottom: 20px;
}

.field-name {
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--text-bright);
	margin: 0 0 6px 0;
}

.field-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.field-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.field-row {
	display: flex;
	gap: 20px;
}

.field-group input,
.field-group textarea {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.1);
	color: var(--text-bright);
	padding: 8px;
	resize: vertical;
	border-radius: 4px;
	transition: none !important;
}

.field-group label {
	color: var(--text-muted);
	font-size: 0.9rem;
}
.nt-panel-content,
.field-editor {
	contain: layout style;
}


/*******************************************************************************
	*	HELPERS
*******************************************************************************/
.flex-grow{
	flex-grow: 1;
}
.p-2{	padding: 20px; }
.px-2{	padding-left: 20px; padding-right: 20px; }
.py-2{	padding-top: 20px; padding-bottom: 20px; }

