/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme customized by Kan Nguyễn
 * Author: Kan Nguyễn
 * Template: blocksy
 * Text Domain: blocksy
 */

@font-face {
	font-family: "Baloo 2";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/baloo-2/baloo-2-vietnamese.woff2") format("woff2");
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
	font-family: "Baloo 2";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/baloo-2/baloo-2-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Baloo 2";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/baloo-2/baloo-2-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

li::marker {
	color: #0f766e;
}

.ntc-app,
.ntc-chat-share-page {
	--ntc-bg: #181818;
	--ntc-surface: #202020;
	--ntc-surface-2: #262626;
	--ntc-surface-3: #2b2b2b;
	--ntc-border: #343434;
	--ntc-border-soft: #2d2d2d;
	--ntc-text: #ffffff;
	--ntc-muted: #ababab;
	--ntc-muted-2: #777777;
	--ntc-sea: #5fd3c6;
	--ntc-sky: #6bb7ff;
	--ntc-deep-sea: #1f7f96;
	--ntc-sand: #f3d28b;
	--ntc-coral: #ff8d7a;
	--ntc-accent: var(--ntc-sea);
	--ntc-accent-soft: rgba(95, 211, 198, 0.16);
	--ntc-save-chip-border: rgba(95, 211, 198, 0.34);
	--ntc-save-chip-bg: rgba(95, 211, 198, 0.18);
	--ntc-save-chip-bg-hover: rgba(95, 211, 198, 0.22);
	--ntc-save-chip-text: #ffffff;
	--ntc-gradient-sea: linear-gradient(135deg, #5fd3c6 0%, #6bb7ff 100%);
	--ntc-gradient-sunset: linear-gradient(135deg, #f3d28b 0%, #ff8d7a 100%);
	--ntc-gradient-dark-sea: linear-gradient(135deg, rgba(95, 211, 198, 0.16), rgba(107, 183, 255, 0.1));
	--ntc-motion-fast: 120ms;
	--ntc-motion-base: 180ms;
	--ntc-motion-slow: 260ms;
	--ntc-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
	background: var(--ntc-bg);
	color: var(--ntc-text);
	font-family: "Baloo 2", system-ui, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	min-height: 100vh;
	width: 100%;
}

.ntc-app *,
.ntc-app *::before,
.ntc-app *::after {
	box-sizing: border-box;
	letter-spacing: 0;
}

.ntc-app a {
	color: inherit;
	text-decoration: none;
}

.ntc-workspace {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr) 320px;
	gap: 0;
	width: 100%;
	height: calc(100vh - 60px);
	min-height: 620px;
	margin: 0;
	border-inline: 0;
	background: var(--ntc-bg);
	overflow: hidden;
}

.ntc-left-rail,
.ntc-source-panel {
	background: var(--ntc-surface);
	border-color: var(--ntc-border-soft);
	color: var(--ntc-muted);
}

.ntc-left-rail {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 18px;
	border-right: 1px solid var(--ntc-border-soft);
	min-height: 0;
	overflow: auto;
}

.ntc-app,
.ntc-left-rail,
.ntc-chat-messages,
.ntc-source-panel {
	scrollbar-color: #5f5f5f #1b1b1b;
	scrollbar-width: thin;
}

.ntc-app::-webkit-scrollbar,
.ntc-left-rail::-webkit-scrollbar,
.ntc-chat-messages::-webkit-scrollbar,
.ntc-source-panel::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

.ntc-app::-webkit-scrollbar-track,
.ntc-left-rail::-webkit-scrollbar-track,
.ntc-chat-messages::-webkit-scrollbar-track,
.ntc-source-panel::-webkit-scrollbar-track {
	background: #1b1b1b;
}

.ntc-app::-webkit-scrollbar-thumb,
.ntc-left-rail::-webkit-scrollbar-thumb,
.ntc-chat-messages::-webkit-scrollbar-thumb,
.ntc-source-panel::-webkit-scrollbar-thumb {
	border: 2px solid #1b1b1b;
	border-radius: 999px;
	background: #5f5f5f;
}

.ntc-app::-webkit-scrollbar-thumb:hover,
.ntc-left-rail::-webkit-scrollbar-thumb:hover,
.ntc-chat-messages::-webkit-scrollbar-thumb:hover,
.ntc-source-panel::-webkit-scrollbar-thumb:hover {
	background: #7a7a7a;
}

.ntc-rail-section {
	display: grid;
	gap: 10px;
}

.ntc-rail-section h1,
.ntc-rail-section h2,
.ntc-chat-toolbar h2,
.ntc-panel-head h2,
.ntc-section h2 {
	margin: 0;
	color: var(--ntc-text);
	font-family: inherit;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
}

.ntc-rail-section h1 {
	font-size: 24px;
}

.ntc-rail-section h2,
.ntc-panel-head h2,
.ntc-section h2 {
	font-size: 18px;
}

.ntc-rail-section p,
.ntc-panel-head p,
.ntc-section-head p,
.ntc-card p {
	margin: 0;
	color: var(--ntc-muted);
	font-size: 15px;
	line-height: 1.25;
}

.ntc-rail-kicker,
.ntc-chat-label,
.ntc-card__type {
	margin: 0;
	color: var(--ntc-muted-2);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-prompt-list {
	display: grid;
	gap: 6px;
	margin-top: 8px;
}

.ntc-prompt,
.ntc-send {
	font: inherit;
	cursor: pointer;
}

.ntc-prompt {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 36px;
	padding: 7px 11px 8px;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.025);
	color: var(--ntc-text);
	text-align: left;
	transition: border-color var(--ntc-motion-fast) var(--ntc-ease), background var(--ntc-motion-fast) var(--ntc-ease), color var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-prompt:hover,
.ntc-prompt:focus-visible {
	background: rgba(95, 211, 198, 0.08);
	border-color: rgba(95, 211, 198, 0.32);
	color: #ffffff;
	outline: 0;
}

.ntc-prompt span {
	display: block;
	width: 100%;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-rail-section--muted {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-chat-main {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	background: var(--ntc-bg);
}

.ntc-chat-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 72px;
	padding: 16px 22px;
	border-bottom: 1px solid var(--ntc-border-soft);
	background: rgba(24, 24, 24, 0.96);
}

.ntc-chat-toolbar h2 {
	font-size: 22px;
}

.ntc-chat-toolbar__actions {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ntc-status-dot {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 9px;
	border: 1px solid rgba(95, 211, 198, 0.26);
	border-radius: 8px;
	color: #cdebe8;
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
}

.ntc-status-dot::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--ntc-gradient-sea);
}

.ntc-share-button,
.ntc-clear-chat-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 12px 8px;
	border: 1px solid rgba(95, 211, 198, 0.3);
	border-radius: 8px;
	background: rgba(95, 211, 198, 0.1);
	color: #e8fffb;
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	line-height: 1.2;
}

.ntc-clear-chat-button {
	border-color: rgba(255, 141, 122, 0.24);
	background: rgba(255, 141, 122, 0.08);
	color: #ffc7bd;
}

.ntc-share-button:not(:disabled):hover,
.ntc-share-button:not(:disabled):focus-visible {
	border-color: rgba(95, 211, 198, 0.72);
	background: rgba(95, 211, 198, 0.18);
	color: #e8fffb;
	outline: 0;
}

.ntc-clear-chat-button:hover,
.ntc-clear-chat-button:focus-visible {
	border-color: rgba(255, 141, 122, 0.46);
	background: rgba(255, 141, 122, 0.14);
	color: #ffe1dc;
	outline: 0;
}

.ntc-clear-chat-button.is-confirming {
	border-color: rgba(255, 80, 80, 0.78);
	background: rgba(255, 80, 80, 0.24);
	color: #ffffff;
}

.ntc-clear-chat-button.is-confirming:hover,
.ntc-clear-chat-button.is-confirming:focus-visible {
	border-color: rgba(255, 110, 110, 0.92);
	background: rgba(255, 80, 80, 0.32);
	color: #ffffff;
}

.ntc-share-button:disabled {
	cursor: not-allowed;
	opacity: 0.48;
}

.ntc-chat-messages {
	flex: 1;
	min-height: 0;
	padding: 24px;
	overflow-y: scroll;
	scrollbar-gutter: stable;
	overscroll-behavior: contain;
}

.ntc-chat-message {
	display: grid;
	gap: 7px;
	max-width: min(820px, 100%);
	margin-bottom: 18px;
	color: var(--ntc-text);
	animation: ntcFadeUp var(--ntc-motion-slow) var(--ntc-ease) both;
}

.ntc-chat-message--user {
	width: fit-content;
	max-width: min(680px, 82%);
	margin-left: auto;
	margin-right: max(0px, calc((100% - 860px) / 2));
	padding: 12px 14px;
	border: 1px solid var(--ntc-border);
	border-radius: 8px;
	background: var(--ntc-surface-2);
}

.ntc-chat-message--assistant {
	width: min(860px, 100%);
	margin-right: auto;
	margin-left: auto;
}

.ntc-message-meta {
	color: var(--ntc-muted-2);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-message-body,
.ntc-answer-text {
	font-size: 17px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.ntc-chat-message--assistant .ntc-answer-text > * {
	margin-top: 0 !important;
}

.ntc-chat-message--assistant .ntc-answer-text p {
	margin: 0 0 14px !important;
}

.ntc-chat-message--assistant .ntc-answer-text p:last-child {
	margin-bottom: 0 !important;
}

.ntc-chat-message--assistant .ntc-answer-text ol,
.ntc-chat-message--assistant .ntc-answer-text ul {
	display: grid;
	gap: 9px;
	margin: 10px 0 12px !important;
	padding-left: 0;
	list-style: none;
}

.ntc-chat-message--assistant .ntc-answer-text li {
	margin: 0 !important;
	padding: 2px 0 2px 15px;
	border-left: 3px solid rgba(95, 211, 198, 0.68);
}

.ntc-chat-message--assistant .ntc-answer-text a,
.ntc-chat-message--assistant .ntc-answer-text p a,
.ntc-chat-message--assistant .ntc-answer-text li a,
.ntc-chat-message--assistant .ntc-answer-text ul a,
.ntc-chat-message--assistant .ntc-answer-text ol a {
	color: var(--ntc-sea) !important;
	font-weight: 600;
	text-decoration: none;
}

.ntc-chat-message--assistant .ntc-answer-text a strong,
.ntc-chat-message--assistant .ntc-answer-text strong a {
	color: inherit;
}

.ntc-chat-message--assistant .ntc-answer-text a:hover,
.ntc-chat-message--assistant .ntc-answer-text a:focus-visible {
	color: #bff8f1 !important;
	outline: none;
}

.ntc-answer-text li > br {
	display: block;
	content: "";
	margin-bottom: 2px;
}

.ntc-answer-text strong {
	color: var(--ntc-text);
	font-weight: 600;
	display: inline-block;
	margin-bottom: 2px;
}

.ntc-answer-text em {
	color: var(--ntc-muted);
	font-style: normal;
}

.ntc-chat-message--user .ntc-message-body {
	line-height: 1.2;
}

.ntc-user-preferences {
	display: block;
	margin-top: 7px;
	color: var(--ntc-muted);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-thinking,
.ntc-error {
	color: var(--ntc-muted);
}

.ntc-thinking {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ntc-thinking-dots {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transform: translateY(1px);
}

.ntc-thinking-dots i {
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 999px;
	background: var(--ntc-sea);
	animation: ntcThinkingDot 1200ms ease-in-out infinite;
	opacity: 0.45;
}

.ntc-thinking-dots i:nth-child(2) {
	animation-delay: 160ms;
}

.ntc-thinking-dots i:nth-child(3) {
	animation-delay: 320ms;
}

.ntc-error {
	color: #ffb4b4;
}

.ntc-feedback {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--ntc-border-soft);
	color: #ffffff;
	font-size: 14px;
	line-height: 1.2;
	animation: ntcSoftReveal 420ms var(--ntc-ease) 120ms both;
}

.ntc-feedback > span {
	color: #ffffff;
	font-weight: 500;
}

.ntc-feedback button {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 999px;
	background: var(--ntc-surface-2);
	cursor: pointer;
	animation: ntcPopIn 300ms var(--ntc-ease) both;
	transition: border-color var(--ntc-motion-fast) var(--ntc-ease), background var(--ntc-motion-fast) var(--ntc-ease), transform var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-feedback button:nth-of-type(1) {
	animation-delay: 260ms;
}

.ntc-feedback button:nth-of-type(2) {
	animation-delay: 380ms;
}

.ntc-feedback button[data-ntc-feedback-value="up"] {
	color: #22c55e !important;
}

.ntc-feedback button[data-ntc-feedback-value="down"] {
	color: #ef4444 !important;
}

.ntc-feedback.is-saved button:not(.is-active) {
	color: #6f6f6f !important;
	border-color: rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.04);
	opacity: 0.8;
}

.ntc-feedback button svg {
	display: block;
	width: 15px;
	height: 15px;
	fill: currentColor;
}

.ntc-feedback button[data-ntc-feedback-value="up"] svg {
	width: 14px;
	height: 14px;
	transform: translate(0, -1px);
}

.ntc-feedback button[data-ntc-feedback-value="down"] svg {
	width: 14px;
	height: 14px;
	transform: translate(0, 1px);
}

.ntc-feedback button:hover,
.ntc-feedback button:focus-visible,
.ntc-feedback button.is-active {
	border-color: rgba(95, 211, 198, 0.38);
	background: rgba(95, 211, 198, 0.1);
	transform: translateY(-1px);
	outline: none;
}

.ntc-feedback button:disabled {
	cursor: default;
	opacity: 0.75;
}

.ntc-feedback em {
	color: var(--ntc-muted);
	font-style: normal;
}

.ntc-retry-banner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid rgba(245, 158, 11, 0.28);
	border-radius: 10px;
	background: rgba(245, 158, 11, 0.08);
	color: var(--ntc-muted);
	font-size: 13px;
	line-height: 1.45;
}

.ntc-retry-banner__caption {
	flex: 1 1 220px;
	min-width: 0;
	color: #f1d9a6;
}

.ntc-retry-banner__button {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 14px;
	border: 1px solid var(--ntc-save-chip-border);
	border-radius: 999px;
	background: var(--ntc-save-chip-bg);
	color: var(--ntc-sea);
	font-family: "Baloo 2", system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color var(--ntc-motion-fast) var(--ntc-ease), background var(--ntc-motion-fast) var(--ntc-ease), color var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-retry-banner__button:hover,
.ntc-retry-banner__button:focus-visible {
	border-color: rgba(95, 211, 198, 0.55);
	background: var(--ntc-save-chip-bg-hover);
	color: #ffffff;
	outline: none;
}

.ntc-retry-banner__button:disabled {
	cursor: default;
	opacity: 0.6;
}

.ntc-preference-chips {
	display: flex;
	gap: 7px;
	overflow-x: auto;
	padding-bottom: 2px;
	cursor: grab;
	mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 34px), transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 34px), transparent 100%);
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.ntc-preference-chips.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
}

.ntc-preference-chips::-webkit-scrollbar {
	display: none;
}

.ntc-preference-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 32px;
	padding: 1px 12px 0;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.035);
	color: #d8e5e8;
	cursor: pointer;
	font-family: "Baloo 2", system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	transition: border-color var(--ntc-motion-fast) var(--ntc-ease), background var(--ntc-motion-fast) var(--ntc-ease), color var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-preference-chip:hover,
.ntc-preference-chip:focus-visible,
.ntc-preference-chip.is-active {
	border-color: rgba(95, 211, 198, 0.55);
	background: rgba(95, 211, 198, 0.14);
	color: #ffffff;
	outline: 0;
}

.ntc-chat-form {
	display: grid;
	gap: 8px;
	width: min(860px, calc(100% - 48px));
	margin: 12px auto 14px;
	padding: 14px 12px 10px;
	border: 1px solid #3a3a3a;
	border-radius: 16px;
	background: #2b2b2b;
}

.ntc-app .ntc-chat-input {
	width: 100%;
	height: 30px !important;
	min-height: 30px !important;
	max-height: 90px !important;
	padding: 3px 0 2px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #f7fbff !important;
	caret-color: #f7fbff;
	font-family: "Baloo 2", system-ui, sans-serif !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	outline: 0;
	overflow: hidden;
	resize: none;
}

.ntc-app .ntc-chat-input::placeholder {
	color: #e5edf8 !important;
	opacity: 1;
}

.ntc-app .ntc-chat-input:focus {
	box-shadow: none;
}

.ntc-chat-form:focus-within {
	border-color: rgba(95, 211, 198, 0.5);
	box-shadow: 0 0 0 2px rgba(95, 211, 198, 0.16);
}

.ntc-composer-actions {
	display: flex;
	align-items: center;
	gap: 0;
	min-height: 30px;
	min-width: 0;
}

.ntc-composer-filter-label {
	flex: 0 0 auto;
	padding-right: 6px;
	color: var(--ntc-muted-2);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
	text-align: center;
}

.ntc-composer-chip-nav {
	position: relative;
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid rgba(95, 211, 198, 0.45);
	border-radius: 999px;
	background: var(--ntc-surface-2);
	color: var(--ntc-sea);
	cursor: pointer;
	font-size: 0;
	transition: border-color var(--ntc-motion-fast) var(--ntc-ease), background var(--ntc-motion-fast) var(--ntc-ease), color var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-composer-chip-nav::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.ntc-composer-chip-prev::before {
	transform: translate(-38%, -50%) rotate(-135deg);
}

.ntc-composer-chip-next::before {
	transform: translate(-62%, -50%) rotate(45deg);
}

.ntc-composer-chip-nav:hover,
.ntc-composer-chip-nav:focus-visible {
	border-color: rgba(95, 211, 198, 0.38);
	background: rgba(95, 211, 198, 0.1);
	color: var(--ntc-sea);
	outline: none;
}

.ntc-composer-actions .ntc-preference-chips {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 6px;
}

.ntc-composer-chip-next {
	margin-right: 24px;
}

.ntc-composer-chip-prev {
	margin-left: 12px;
}

.ntc-composer-actions .ntc-send {
	display: grid;
	place-items: center;
	position: relative;
	width: 30px;
	min-width: 30px;
	height: 30px;
	min-height: 30px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #c6c6c6;
	color: #171717;
	font: inherit;
	transition: background var(--ntc-motion-base) var(--ntc-ease), color var(--ntc-motion-base) var(--ntc-ease), transform var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-chat-form--active .ntc-send:not(:disabled),
.ntc-chat-form--sending .ntc-send {
	background: #ffffff;
	color: #101010;
}

.ntc-send svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: currentColor;
	transition: opacity var(--ntc-motion-fast) var(--ntc-ease), transform var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-send-spinner {
	position: absolute;
	inset: 7px;
	border: 2px solid rgba(16, 16, 16, 0.22);
	border-top-color: #101010;
	border-radius: 999px;
	opacity: 0;
	transform: scale(0.82);
	transition: opacity var(--ntc-motion-fast) var(--ntc-ease), transform var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-chat-form--sending .ntc-send svg {
	opacity: 0;
	transform: translateY(-2px) scale(0.82);
}

.ntc-chat-form--sending .ntc-send-spinner {
	opacity: 1;
	transform: scale(1);
	animation: ntcSpin 760ms linear infinite;
}

.ntc-send:hover,
.ntc-send:focus-visible {
	background: #ffffff;
	outline: 0;
	transform: translateY(-1px);
}

.ntc-send:disabled {
	cursor: not-allowed;
	opacity: 1;
	background: #8f8f8f;
	color: #2b2b2b;
}

.ntc-chat-form--sending .ntc-send:disabled {
	background: #ffffff;
	color: #101010;
}

.ntc-chat-retention {
	width: min(860px, calc(100% - 48px));
	margin: 0 auto 12px;
	color: var(--ntc-muted);
	font-size: 13px;
	line-height: 1.25;
}

.ntc-share-modal[hidden] {
	display: none;
}

.ntc-share-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: 20px;
}

.ntc-share-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.68);
	backdrop-filter: blur(8px);
	cursor: pointer;
	animation: ntcShareBackdropIn 140ms var(--ntc-ease) both;
}

.ntc-share-modal__dialog {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 14px;
	width: min(100%, 560px);
	padding: 18px;
	border: 1px solid rgba(95, 211, 198, 0.24);
	border-radius: 8px;
	background: #1f2322;
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.48);
	animation: ntcShareDialogIn 180ms var(--ntc-ease) both;
}

.ntc-share-modal__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.ntc-share-modal__head p,
.ntc-share-modal__status {
	margin: 0;
	color: var(--ntc-muted);
	font-size: 14px;
	line-height: 1.25;
}

.ntc-share-modal__head h3 {
	margin: 2px 0 0;
	color: var(--ntc-text);
	font-size: 22px;
	line-height: 1.2;
}

.ntc-share-modal__close {
	display: grid;
	place-items: center;
	width: 34px;
	min-width: 34px;
	height: 34px;
	border: 1px solid var(--ntc-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--ntc-text);
	cursor: pointer;
	font: inherit;
	font-size: 22px;
	line-height: 1.2;
	transition: background var(--ntc-motion-fast) var(--ntc-ease), border-color var(--ntc-motion-fast) var(--ntc-ease), color var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-share-modal__close:hover,
.ntc-share-modal__close:focus-visible {
	border-color: rgba(95, 211, 198, 0.6);
	background: rgba(255, 255, 255, 0.12);
	outline: 0;
}

.ntc-share-modal__close:active {
	background: rgba(95, 211, 198, 0.16);
}

.ntc-share-copy {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

.ntc-share-copy input {
	width: 100%;
	min-width: 0;
	height: 46px;
	padding: 0 14px !important;
	border: 1px solid rgba(95, 211, 198, 0.3) !important;
	border-radius: 8px;
	background: #121716 !important;
	color: #f4fffc !important;
	caret-color: #f4fffc !important;
	font: inherit !important;
	font-size: 14px !important;
	line-height: 46px !important;
	box-shadow: none !important;
	-webkit-text-fill-color: #f4fffc !important;
	opacity: 1 !important;
}

.ntc-share-copy input:focus {
	border-color: rgba(95, 211, 198, 0.82) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 3px rgba(95, 211, 198, 0.16) !important;
}

.ntc-share-copy button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 126px;
	height: 46px;
	padding: 1px 16px 0 !important;
	border: 1px solid rgba(95, 211, 198, 0.45) !important;
	border-radius: 8px;
	background: #dffdf7 !important;
	color: #102321 !important;
	cursor: pointer !important;
	font: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow: 0 10px 22px rgba(95, 211, 198, 0.14) !important;
	transition: border-color var(--ntc-motion-fast) var(--ntc-ease), box-shadow var(--ntc-motion-fast) var(--ntc-ease), background var(--ntc-motion-fast) var(--ntc-ease), color var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-share-copy button svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.ntc-share-copy button:hover,
.ntc-share-copy button:focus-visible {
	background: #ffffff !important;
	color: #0f2421 !important;
	outline: 0 !important;
	box-shadow: 0 14px 28px rgba(95, 211, 198, 0.2) !important;
}

.ntc-share-copy button:active {
	background: #c9f8ef !important;
	box-shadow: 0 7px 16px rgba(95, 211, 198, 0.14) !important;
}

.ntc-share-copy__button--copied,
.ntc-share-copy__button--copied:hover,
.ntc-share-copy__button--copied:focus-visible {
	border-color: rgba(112, 224, 151, 0.72) !important;
	background: #c9f8dc !important;
	color: #10331f !important;
}

.ntc-chat-share-page {
	min-height: 70vh;
	background: #101513;
	color: #edf8f4;
}

.ntc-chat-share-hero {
	display: grid;
	gap: 12px;
	width: min(100% - 32px, 920px);
	margin: 0 auto;
	padding: 48px 0 28px;
}

.ntc-chat-share-kicker {
	margin: 0;
	color: #7bd8ce;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ntc-chat-share-hero h1 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(30px, 5vw, 54px);
	line-height: 1.2;
	letter-spacing: 0;
}

.ntc-chat-share-hero p {
	max-width: 680px;
	margin: 0;
	color: #b8c9c4;
	font-size: 17px;
	line-height: 1.25;
}

.ntc-chat-share-button {
	width: fit-content;
	padding: 10px 14px;
	border: 1px solid rgba(95, 211, 198, 0.38);
	border-radius: 8px;
	background: rgba(95, 211, 198, 0.15);
	color: #eafffb;
	text-decoration: none;
}

.ntc-chat-share-thread {
	display: grid;
	gap: 18px;
	width: min(100% - 32px, 920px);
	margin: 0 auto;
	padding: 0 0 56px;
}

.ntc-chat-share-turn {
	display: grid;
	gap: 10px;
}

.ntc-chat-share-message {
	display: grid;
	gap: 6px;
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.045);
}

.ntc-chat-share-message--user {
	justify-self: end;
	width: min(680px, 86%);
	background: rgba(255, 255, 255, 0.08);
}

.ntc-chat-share-message > span {
	color: #8fded6;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

.ntc-chat-share-message p {
	margin: 0;
	font-size: 17px;
	line-height: 1.25;
}

.ntc-chat-share-sources {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 4px;
	color: #b8c9c4;
	font-size: 14px;
}

.ntc-chat-share-sources a {
	color: #eafffb;
}

.ntc-source-panel {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px;
	border-left: 1px solid var(--ntc-border-soft);
	min-height: 0;
	min-width: 0;
	width: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
	scrollbar-gutter: stable;
}

.ntc-panel-head {
	display: grid;
	gap: 5px;
}

.ntc-panel-head > span {
	color: var(--ntc-muted);
	font-size: 14px;
	line-height: 1.25;
}

.ntc-source-list {
	display: grid;
	gap: 9px;
	min-width: 0;
}

.ntc-discovery-list {
	display: grid;
	gap: 11px;
	min-width: 0;
	width: 100%;
}

.ntc-discovery-card {
	position: relative;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	padding: 9px;
	border: 1px solid var(--ntc-border);
	border-radius: 8px;
	background: var(--ntc-surface-2);
	transition: background var(--ntc-motion-base) var(--ntc-ease), border-color var(--ntc-motion-base) var(--ntc-ease);
	animation: ntcFadeUp var(--ntc-motion-slow) var(--ntc-ease) both;
}

.ntc-discovery-card__link {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 10px;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.ntc-discovery-card:hover {
	background: linear-gradient(135deg, rgba(95, 211, 198, 0.08), rgba(107, 183, 255, 0.05)), var(--ntc-surface-3);
	border-color: rgba(95, 211, 198, 0.28);
}

.ntc-discovery-card__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	background: var(--ntc-gradient-dark-sea);
}

.ntc-discovery-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntc-discovery-card__body {
	display: grid;
	gap: 5px;
	min-width: 0;
	padding-right: 0;
	align-content: center;
}

.ntc-discovery-card__body strong {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ntc-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ntc-discovery-card__body span {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ntc-muted);
	font-size: 14px;
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ntc-empty-state,
.ntc-source-card,
.ntc-panel-foot a {
	border: 1px solid var(--ntc-border);
	border-radius: 8px;
	background: var(--ntc-surface-2);
}

.ntc-empty-state {
	display: grid;
	gap: 7px;
	padding: 13px;
}

.ntc-empty-state strong,
.ntc-source-card strong {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ntc-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 3px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ntc-empty-state span,
.ntc-source-card span:last-child {
	color: var(--ntc-muted);
	font-size: 14px;
	line-height: 1.25;
}

.ntc-source-card span:last-child {
	margin-top: 3px;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ntc-source-card {
	position: relative;
	display: block;
	width: min(220px, 100%);
	flex: 0 0 min(220px, 78%);
	max-width: 220px;
	padding: 9px;
	scroll-snap-align: start;
	animation: ntcSourceCardIn 1250ms var(--ntc-ease) both;
	transition: border-color var(--ntc-motion-base) var(--ntc-ease), background var(--ntc-motion-base) var(--ntc-ease), transform var(--ntc-motion-base) var(--ntc-ease);
}

.ntc-source-card:nth-child(2) {
	animation-delay: 320ms;
}

.ntc-source-card:nth-child(3) {
	animation-delay: 590ms;
}

.ntc-source-card:nth-child(4) {
	animation-delay: 860ms;
}

.ntc-source-card:nth-child(5) {
	animation-delay: 1130ms;
}

.ntc-source-card__link {
	display: grid;
	gap: 8px;
}

.ntc-source-card:hover {
	background: linear-gradient(135deg, rgba(95, 211, 198, 0.08), rgba(107, 183, 255, 0.05)), var(--ntc-surface-3);
	border-color: rgba(95, 211, 198, 0.28);
	transform: translateY(-2px);
}

.ntc-save-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 24px;
	padding: 0 8px 1px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(18, 18, 18, 0.88);
	color: #ffffff !important;
	font-family: "Baloo 2", system-ui, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(8px);
	transition: border-color var(--ntc-motion-fast) var(--ntc-ease), background var(--ntc-motion-fast) var(--ntc-ease), color var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-save-button span {
	color: #ffffff !important;
}

.ntc-source-card .ntc-save-button {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
}

.ntc-source-card-save-button {
	height: 24px;
	padding: 0 8px 2px;
	line-height: 1;
}

.ntc-discovery-card .ntc-discovery-save-button {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	height: 24px;
	padding: 1px 8px 0;
	line-height: 1;
}

.ntc-save-button::before {
	content: none;
}

.ntc-save-button:hover,
.ntc-save-button:focus-visible {
	border-color: rgba(95, 211, 198, 0.55);
	background: rgba(18, 18, 18, 0.94);
	color: #ffffff !important;
	outline: none;
}

.ntc-save-button.is-saved {
	border-color: var(--ntc-save-chip-border);
	background: var(--ntc-save-chip-bg);
	color: #ffffff !important;
	outline: none;
}

.ntc-save-button.is-saved:hover,
.ntc-save-button.is-saved:focus-visible {
	border-color: var(--ntc-save-chip-border);
	background: var(--ntc-save-chip-bg-hover);
	color: #ffffff !important;
}

.ntc-inline-sources {
	display: grid;
	gap: 8px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--ntc-border-soft);
	animation: ntcSourceReveal 760ms var(--ntc-ease) both;
}

.ntc-inline-sources__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.ntc-inline-sources__head > span {
	color: var(--ntc-muted-2);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-inline-sources__title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	min-width: 0;
}

.ntc-inline-sources__reasons {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 5px;
}

.ntc-inline-sources__distance-context {
	color: var(--ntc-muted-2);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-inline-source-reason-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 22px;
	padding: 1px 7px 0;
	border: 1px solid rgba(95, 211, 198, 0.24);
	border-radius: 999px;
	background: rgba(95, 211, 198, 0.08);
	color: var(--ntc-sea);
	font-family: "Baloo 2", system-ui, sans-serif;
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	animation: ntcChipGlow 2200ms var(--ntc-ease) both;
}

.ntc-inline-source-reason-chip:nth-child(2) {
	animation-delay: 420ms;
}

.ntc-inline-source-reason-chip:nth-child(3) {
	animation-delay: 720ms;
}

a.ntc-inline-source-reason-chip {
	color: var(--ntc-sea);
	cursor: pointer;
}

.ntc-inline-sources__controls {
	display: inline-flex;
	gap: 6px;
}

.ntc-source-slider-button {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 999px;
	background: var(--ntc-surface-2);
	color: var(--ntc-text);
	font-size: 0;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color var(--ntc-motion-fast) var(--ntc-ease), background var(--ntc-motion-fast) var(--ntc-ease), color var(--ntc-motion-fast) var(--ntc-ease);
}

.ntc-source-slider-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.ntc-source-slider-button[data-ntc-source-prev]::before {
	transform: translate(-42%, -50%) rotate(-135deg);
}

.ntc-source-slider-button[data-ntc-source-next]::before {
	transform: translate(-58%, -50%) rotate(45deg);
}

.ntc-source-slider-button:hover,
.ntc-source-slider-button:focus-visible {
	border-color: rgba(95, 211, 198, 0.38);
	background: rgba(95, 211, 198, 0.1);
	color: var(--ntc-sea);
	outline: none;
}

.ntc-source-slider {
	display: flex;
	gap: 10px;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0 2px 4px;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
	user-select: none;
}

.ntc-source-slider::-webkit-scrollbar {
	display: none;
}

.ntc-source-slider.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
}

.ntc-source-slider.is-dragging .ntc-source-card {
	pointer-events: none;
}

.ntc-source-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 21 / 9;
	border-radius: 6px;
	background: var(--ntc-gradient-dark-sea);
	overflow: hidden;
}

.ntc-source-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntc-source-card__content {
	display: grid;
	gap: 6px;
	min-width: 0;
	align-content: start;
}

.ntc-source-card__distance {
	display: inline-flex;
	width: fit-content;
	padding: 3px 7px;
	border: 1px solid rgba(95, 211, 198, 0.24);
	border-radius: 999px;
	background: rgba(95, 211, 198, 0.08);
	color: var(--ntc-sea) !important;
	font-size: 12px !important;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-panel-foot {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-saved-panel {
	display: grid;
	gap: 10px;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-saved-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
}

.ntc-saved-panel__head h2 {
	min-width: 0;
	margin: 0;
	color: var(--ntc-text);
	font-size: 16px;
	line-height: 1.2;
}

.ntc-saved-tabs {
	display: inline-flex;
	gap: 4px;
	padding: 3px;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.03);
}

.ntc-saved-tabs button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	padding: 1px 10px 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--ntc-muted);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.ntc-saved-tabs button.is-active,
.ntc-saved-tabs button:hover,
.ntc-saved-tabs button:focus-visible {
	background: var(--ntc-save-chip-bg);
	color: var(--ntc-save-chip-text);
	outline: none;
}

.ntc-saved-panel__head > button {
	flex: 0 0 auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ntc-muted);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.ntc-saved-panel__head > button:hover,
.ntc-saved-panel__head > button:focus-visible {
	color: var(--ntc-sea);
	outline: none;
}


.ntc-saved-summary {
	display: grid;
	gap: 16px;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.ntc-trip-panel {
	display: grid;
	gap: 16px;
}

.ntc-saved-summary p,
.ntc-trip-panel p {
	margin: 0;
	color: var(--ntc-muted);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
}

.ntc-saved-panel-list,
.ntc-trip-panel-list {
	display: grid;
	gap: 8px;
}

.ntc-saved-panel-item,
.ntc-trip-panel-item {
	display: grid;
	gap: 5px;
	padding: 9px;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.025);
}

.ntc-saved-panel-item strong,
.ntc-trip-panel-item strong {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ntc-text);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ntc-trip-panel-item span {
	color: var(--ntc-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-add-trip-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	min-height: 30px;
	padding: 7px 10px 8px;
	border: 1px solid rgba(95, 211, 198, 0.28);
	border-radius: 8px;
	background: rgba(95, 211, 198, 0.1);
	color: var(--ntc-text);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.ntc-add-trip-button.is-added {
	border-color: var(--ntc-save-chip-border);
	background: var(--ntc-save-chip-bg);
	color: var(--ntc-save-chip-text);
}

.ntc-add-trip-button:hover,
.ntc-add-trip-button:focus-visible {
	border-color: rgba(95, 211, 198, 0.42);
	color: #ffffff;
	outline: none;
}

.ntc-add-trip-button.is-added:hover,
.ntc-add-trip-button.is-added:focus-visible {
	border-color: var(--ntc-save-chip-border);
	background: var(--ntc-save-chip-bg-hover);
	color: var(--ntc-save-chip-text);
}

.ntc-saved-summary__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 38px;
	padding: 1px 12px 0;
	border: 1px solid var(--ntc-save-chip-border);
	border-radius: 8px;
	background: var(--ntc-save-chip-bg);
	color: var(--ntc-save-chip-text) !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
}

.ntc-saved-summary__action:hover,
.ntc-saved-summary__action:focus-visible {
	border-color: var(--ntc-save-chip-border);
	background: var(--ntc-save-chip-bg-hover);
	color: var(--ntc-save-chip-text) !important;
	outline: none;
}

.ntc-saved-summary.is-empty .ntc-saved-summary__action {
	opacity: 0.58;
	pointer-events: none;
}


.ntc-panel-foot a {
	display: block;
	padding: 11px 12px;
	color: var(--ntc-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

.ntc-saved-archive {
	min-height: calc(100vh - 60px);
	padding: 42px clamp(18px, 5vw, 72px) 64px;
	background: var(--ntc-bg);
	color: var(--ntc-text);
}

.ntc-saved-archive__hero {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
	max-width: 1120px;
	margin: 0 auto 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--ntc-border-soft);
}

.ntc-saved-archive__copy,
.ntc-trip-archive__copy {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.ntc-saved-archive__copy p,
.ntc-saved-archive__copy span,
.ntc-trip-archive__copy p,
.ntc-trip-archive__copy span {
	margin: 0;
	color: var(--ntc-muted);
	font-size: 15px;
	line-height: 1.25;
}

.ntc-saved-archive__copy h1,
.ntc-trip-archive__copy h2 {
	margin: 0;
	color: var(--ntc-text);
	font-size: clamp(24px, 3.4vw, 32px);
	line-height: 1.2;
}

.ntc-saved-archive__actions,
.ntc-trip-archive__actions {
	display: grid;
	justify-items: end;
	gap: 8px;
	flex: 0 0 auto;
}

.ntc-trip-archive__actions strong,
.ntc-saved-archive__actions strong {
	color: var(--ntc-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-saved-archive__actions button,
.ntc-trip-archive__actions button,
.ntc-saved-archive-card__actions button,
.ntc-saved-pagination button {
	font: inherit;
	cursor: pointer;
}

.ntc-saved-archive__actions button,
.ntc-trip-archive__actions button {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ntc-muted);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-saved-archive__action-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}

.ntc-saved-archive__actions [data-ntc-share-saved-list],
.ntc-trip-archive__actions [data-ntc-share-trip-plan],
.ntc-public-list__home {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 12px 9px;
	border: 1px solid rgba(95, 211, 198, 0.28);
	border-radius: 8px;
	background: rgba(95, 211, 198, 0.12);
	color: var(--ntc-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-saved-archive__actions [data-ntc-share-saved-list]:hover,
.ntc-saved-archive__actions [data-ntc-share-saved-list]:focus-visible,
.ntc-trip-archive__actions [data-ntc-share-trip-plan]:hover,
.ntc-trip-archive__actions [data-ntc-share-trip-plan]:focus-visible,
.ntc-public-list__home:hover,
.ntc-public-list__home:focus-visible {
	border-color: rgba(95, 211, 198, 0.42);
	background: rgba(95, 211, 198, 0.18);
	color: #ffffff;
	outline: none;
}

.ntc-saved-archive__actions [data-ntc-share-saved-list]:disabled,
.ntc-trip-archive__actions [data-ntc-share-trip-plan]:disabled {
	opacity: 0.55;
	cursor: default;
}

.ntc-saved-archive__actions button:hover,
.ntc-saved-archive__actions button:focus-visible,
.ntc-trip-archive__actions button:hover,
.ntc-trip-archive__actions button:focus-visible {
	color: var(--ntc-coral);
	outline: none;
}

.ntc-saved-archive__body {
	max-width: 1120px;
	margin: 0 auto;
}


.ntc-saved-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.ntc-saved-archive__empty {
	grid-column: 1 / -1;
}

.ntc-saved-archive-card {
	display: grid;
	gap: 12px;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: var(--ntc-surface-2);
}

.ntc-saved-archive-card > a {
	display: grid;
	gap: 10px;
	min-width: 0;
}

.ntc-saved-archive-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 6px;
	background: var(--ntc-gradient-dark-sea);
	overflow: hidden;
}

.ntc-saved-archive-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntc-saved-archive-card__body {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.ntc-saved-archive-card__body strong,
.ntc-saved-archive-card__body span {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	overflow-wrap: anywhere;
}

.ntc-saved-archive-card__body strong {
	color: var(--ntc-text);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	-webkit-line-clamp: 2;
}

.ntc-saved-archive-card__body span {
	color: var(--ntc-muted);
	font-size: 15px;
	line-height: 1.25;
	-webkit-line-clamp: 2;
}

.ntc-saved-archive-card__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 4px;
}

.ntc-saved-archive-card__actions a,
.ntc-saved-archive-card__actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 10px 8px;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: var(--ntc-surface);
	color: var(--ntc-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-saved-archive-card__actions button {
	color: var(--ntc-muted);
}

.ntc-saved-archive-card__actions a:hover,
.ntc-saved-archive-card__actions a:focus-visible {
	border-color: rgba(95, 211, 198, 0.36);
	color: var(--ntc-sea);
	outline: none;
}

.ntc-saved-archive-card__actions button:hover,
.ntc-saved-archive-card__actions button:focus-visible {
	border-color: rgba(255, 141, 122, 0.34);
	color: var(--ntc-coral);
	outline: none;
}

.ntc-saved-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 22px;
	flex-wrap: wrap;
}

.ntc-saved-pagination button,
.ntc-saved-pagination a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 1px 12px 0;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: var(--ntc-surface-2);
	color: var(--ntc-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-saved-pagination button:hover,
.ntc-saved-pagination button:focus-visible,
.ntc-saved-pagination button[aria-current="page"],
.ntc-saved-pagination a:hover,
.ntc-saved-pagination a:focus-visible,
.ntc-saved-pagination a[aria-current="page"] {
	border-color: rgba(95, 211, 198, 0.36);
	background: rgba(95, 211, 198, 0.14);
	color: #ffffff;
	outline: none;
}

.ntc-saved-pagination button:disabled {
	opacity: 0.44;
	cursor: default;
}

.ntc-trip-archive,
.ntc-trip-timeline {
	max-width: 1120px;
	margin: 28px auto 0;
}

.ntc-trip-archive__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
	padding-top: 22px;
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-trip-archive__head > div {
	display: grid;
	gap: 6px;
}

.ntc-trip-archive__head p,
.ntc-trip-archive__head h2,
.ntc-trip-archive__head span {
	margin: 0;
}

.ntc-trip-timeline {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.ntc-trip-day {
	display: grid;
	gap: 12px;
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: var(--ntc-surface-2);
}

.ntc-trip-day h2 {
	margin: 0;
	color: var(--ntc-text);
	font-size: 20px;
	line-height: 1.2;
}

.ntc-trip-slot {
	display: grid;
	gap: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-trip-slot h3 {
	margin: 0;
	color: var(--ntc-sea);
	font-size: 15px;
	line-height: 1.2;
}

.ntc-trip-empty {
	margin: 0;
	color: var(--ntc-muted);
	font-size: 14px;
	line-height: 1.25;
}

.ntc-trip-item {
	display: grid;
	gap: 9px;
	padding: 9px;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.025);
}

.ntc-trip-item__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 36px;
	align-items: start;
	gap: 8px;
}

.ntc-trip-item__link {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 9px;
	min-width: 0;
}

.ntc-trip-expand-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: 2px;
	padding: 0;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	color: var(--ntc-muted);
	cursor: pointer;
}

.ntc-trip-expand-button svg {
	display: block;
	width: 19px;
	height: 19px;
	fill: currentColor;
	transform: translateX(-1px);
}

.ntc-trip-expand-button:hover,
.ntc-trip-expand-button:focus-visible,
.ntc-trip-item.is-expanded .ntc-trip-expand-button {
	border-color: rgba(95, 211, 198, 0.38);
	color: var(--ntc-sea);
	outline: none;
}

.ntc-trip-item__edit-panel {
	display: grid;
	gap: 9px;
	padding-top: 9px;
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-trip-item__edit-panel[hidden] {
	display: none;
}

.ntc-trip-item__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	background: var(--ntc-gradient-dark-sea);
}

.ntc-trip-item__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntc-trip-item__body {
	display: grid;
	align-content: center;
	gap: 4px;
	min-width: 0;
}

.ntc-trip-item__body strong,
.ntc-trip-item__body span,
.ntc-trip-item__body em {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
}

.ntc-trip-item__body strong {
	color: var(--ntc-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	-webkit-line-clamp: 2;
}

.ntc-trip-item__body span,
.ntc-trip-item__body em {
	color: var(--ntc-muted);
	font-size: 13px;
	font-style: normal;
	line-height: 1.25;
	-webkit-line-clamp: 2;
}

.ntc-trip-item__body em {
	color: var(--ntc-sand);
}

.ntc-trip-item__controls {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 7px;
	line-height: 1;
}

.ntc-trip-item__selects,
.ntc-trip-item__icon-actions {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.ntc-trip-item__selects {
	flex: 1 1 178px;
	min-width: 0;
	align-items: stretch;
	height: 34px;
}

.ntc-trip-select {
	position: relative;
	display: block;
	flex: 1 1 0;
	min-width: 0;
	height: 34px;
}

.ntc-trip-select__visual {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	gap: 7px;
	width: 100%;
	height: 34px;
	padding: 1px 10px 0;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: var(--ntc-surface);
	color: var(--ntc-text);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	pointer-events: none;
}

.ntc-trip-select__visual svg {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	fill: currentColor;
	color: var(--ntc-sea);
	transform: translateY(-0.5px);
}

.ntc-trip-select__visual span {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	line-height: 1;
	white-space: nowrap;
}

.ntc-trip-item__icon-actions {
	flex: 0 0 auto;
	align-items: stretch;
	height: 34px;
}

.ntc-trip-item__controls select,
.ntc-trip-item__controls button,
.ntc-trip-note textarea {
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: var(--ntc-surface);
	color: var(--ntc-text);
	font: inherit;
	font-size: 13px;
	line-height: 1.2;
}

.ntc-trip-item__controls select,
.ntc-trip-item__controls button {
	min-height: 32px;
	padding: 6px 9px 7px;
}

.ntc-trip-item__controls select {
	position: absolute;
	inset: 0;
	min-width: 0;
	width: 100%;
	height: 34px;
	opacity: 0;
	cursor: pointer;
	color-scheme: dark;
}

.ntc-trip-item__controls select option {
	background: var(--ntc-surface) !important;
	color: var(--ntc-text) !important;
}

.ntc-trip-item__controls button {
	cursor: pointer;
}

.ntc-trip-item__controls .ntc-trip-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	min-height: 34px;
	padding: 0;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	color: #ffffff;
	opacity: 1;
}

.ntc-trip-icon-button svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.ntc-trip-item__controls .ntc-trip-icon-button:hover,
.ntc-trip-item__controls .ntc-trip-icon-button:focus-visible {
	color: var(--ntc-sea);
	opacity: 1;
}

.ntc-trip-item__controls .ntc-trip-icon-button--danger:hover,
.ntc-trip-item__controls .ntc-trip-icon-button--danger:focus-visible {
	border-color: rgba(255, 141, 122, 0.42);
	color: var(--ntc-coral);
	opacity: 1;
}

.ntc-trip-item__controls button:hover,
.ntc-trip-item__controls button:focus-visible,
.ntc-trip-item__controls select:focus-visible,
.ntc-trip-note textarea:focus-visible {
	border-color: rgba(95, 211, 198, 0.38);
	outline: none;
}

.ntc-trip-note {
	display: grid;
	gap: 5px;
}

.ntc-trip-note span {
	color: var(--ntc-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-trip-note textarea {
	width: 100%;
	min-height: 58px;
	padding: 8px 9px;
	resize: vertical;
}

.ntc-trip-timeline--public {
	padding-bottom: 48px;
}

.ntc-saved-followup {
	max-width: 1120px;
	margin: 30px auto 0;
	padding-top: 22px;
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-saved-followup__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.ntc-saved-followup__copy {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.ntc-saved-followup__copy h2,
.ntc-saved-followup__copy p {
	margin: 0;
}

.ntc-saved-followup__copy h2 {
	color: var(--ntc-text);
	font-size: clamp(22px, 2.6vw, 28px);
	line-height: 1.18;
}

.ntc-saved-followup__copy p {
	max-width: 620px;
	color: var(--ntc-muted);
	font-size: 15px;
	line-height: 1.35;
}

.ntc-saved-followup__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 38px;
	padding: 8px 12px 9px;
	border: 1px solid rgba(95, 211, 198, 0.28);
	border-radius: 8px;
	background: rgba(95, 211, 198, 0.12);
	color: var(--ntc-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-saved-followup__cta:hover,
.ntc-saved-followup__cta:focus-visible {
	border-color: rgba(95, 211, 198, 0.42);
	background: rgba(95, 211, 198, 0.18);
	color: #ffffff;
	outline: none;
}

.ntc-saved-followup__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.ntc-saved-followup-card {
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--ntc-border-soft);
	border-radius: 8px;
	background: var(--ntc-surface-2);
}

.ntc-saved-followup-card > a {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	min-width: 0;
}

.ntc-saved-followup-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	background: var(--ntc-gradient-dark-sea);
	overflow: hidden;
}

.ntc-saved-followup-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntc-saved-followup-card__body {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.ntc-saved-followup-card__body strong,
.ntc-saved-followup-card__body span {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	overflow-wrap: anywhere;
}

.ntc-saved-followup-card__body strong {
	color: var(--ntc-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	-webkit-line-clamp: 2;
}

.ntc-saved-followup-card__body span {
	color: var(--ntc-muted);
	font-size: 14px;
	line-height: 1.28;
	-webkit-line-clamp: 2;
}

.ntc-saved-followup-card:hover,
.ntc-saved-followup-card:focus-within {
	border-color: rgba(95, 211, 198, 0.28);
}

.ntc-review-rating {
	display: grid;
	grid-template-columns: minmax(220px, 0.95fr) minmax(280px, 1.05fr);
	align-items: center;
	gap: 44px;
	margin: 28px 0;
	padding: 22px 26px;
	border: 1px solid rgba(15, 118, 110, 0.34);
	border-radius: 8px;
	background: linear-gradient(180deg, #ffffff 0%, #f5fbf9 100%);
	box-shadow:
		0 18px 38px rgba(15, 23, 42, 0.12),
		0 2px 0 rgba(255, 255, 255, 0.92) inset,
		0 -1px 0 rgba(15, 118, 110, 0.08) inset;
}

.ntc-review-rating__vote {
	display: grid;
	justify-items: center;
	gap: 14px;
	align-content: center;
	min-width: 0;
	text-align: center;
}

.ntc-review-rating__vote h2 {
	margin: 0;
	color: #0f766e;
	font-size: 16px;
	line-height: 1.25;
}

.ntc-review-rating__overview {
	display: grid;
	grid-template-columns: minmax(170px, 1fr) minmax(104px, 136px);
	align-items: center;
	gap: 18px;
	min-width: 0;
}

.ntc-review-rating__bars {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.ntc-review-rating__bar-row {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	align-items: center;
	gap: 9px;
}

.ntc-review-rating__bar-label {
	color: #475569;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1;
	text-align: right;
}

.ntc-review-rating__bar-track {
	display: block;
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: #f1f3f4;
}

.ntc-review-rating__bar-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #fbbc04;
	transition: width 160ms ease;
}

.ntc-review-rating__summary {
	display: grid;
	justify-items: center;
	gap: 6px;
	text-align: center;
}

.ntc-review-rating__summary strong {
	color: #0f172a;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 50px;
	font-weight: 400;
	line-height: 0.96;
}

.ntc-review-rating__summary-stars {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1px;
	color: #fbbc04;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
}

.ntc-review-rating__summary-stars span {
	color: #cbd5e1;
}

.ntc-review-rating__summary-stars span.is-active {
	color: #fbbc04;
}

.ntc-review-rating__summary p {
	margin: 0;
	color: #64748b;
	font-size: 13px;
	line-height: 1.2;
}

.ntc-review-rating__stars {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 38px;
}

.ntc-review-rating__stars button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid rgba(15, 118, 110, 0.22);
	border-radius: 8px;
	background: #ffffff;
	color: #64748b;
	cursor: pointer;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.ntc-review-rating__stars button:hover,
.ntc-review-rating__stars button:focus-visible,
.ntc-review-rating__stars button.is-active {
	border-color: #fbbc04;
	background: #fff8dc;
	color: #b77905;
	outline: none;
}

.ntc-review-rating__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.ntc-review-rating__actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px 11px;
	border: 0;
	border-radius: 999px;
	background: #c8f5ff;
	color: #075563;
	cursor: pointer;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
}

.ntc-review-rating__actions button:hover,
.ntc-review-rating__actions button:focus-visible {
	background: #a8ebfa;
	color: #053f49;
	outline: none;
}

.ntc-review-rating__actions button:disabled {
	opacity: 0.48;
	background: #dff8fd;
	color: #53777e;
	cursor: default;
}

.ntc-review-rating__actions em {
	color: #475569;
	font-size: 14px;
	font-style: normal;
	line-height: 1.25;
}

.ntc-practical-warnings {
	display: grid;
	gap: 14px;
	margin: 28px 0;
	padding: 20px 22px;
	border: 1px solid rgba(217, 154, 18, 0.34);
	border-radius: 8px;
	background: linear-gradient(180deg, #fffdf5 0%, #f8fffc 100%);
	box-shadow:
		0 16px 34px rgba(120, 88, 12, 0.1),
		0 2px 0 rgba(255, 255, 255, 0.9) inset;
}

.ntc-practical-warnings__head {
	display: grid;
}

.ntc-practical-warnings__head h2 {
	margin: 0;
	color: var(--ntc-single-heading);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-practical-warnings > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ntc-practical-warnings__notes {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 5px !important;
	margin: 0 !important;
	padding-left: 18px !important;
	list-style: disc !important;
}

.ntc-practical-warnings__notes li {
	display: list-item !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--ntc-single-ink);
	font-size: 16px;
	line-height: 1.28;
}

.ntc-practical-warnings > ul > li {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 12px 13px;
	border: 1px solid rgba(15, 118, 110, 0.16);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.74);
}

.ntc-practical-warnings strong {
	color: #0f766e;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-practical-warnings p {
	margin: 0;
	color: var(--ntc-single-ink);
	font-size: 16px;
	line-height: 1.28;
}

.ntc-seo-content {
	background: #151515;
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-section {
	padding: 26px 18px;
}

.ntc-section + .ntc-section {
	border-top: 1px solid var(--ntc-border-soft);
}

.ntc-wrap {
	width: min(1120px, 100%);
	margin: 0 auto;
}

.ntc-section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.ntc-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.ntc-card {
	overflow: hidden;
	border: 1px solid var(--ntc-border);
	border-radius: 8px;
	background: var(--ntc-surface);
	transition: border-color var(--ntc-motion-base) var(--ntc-ease), background var(--ntc-motion-base) var(--ntc-ease);
	animation: ntcFadeUp var(--ntc-motion-slow) var(--ntc-ease) both;
}

.ntc-card:hover {
	background: linear-gradient(135deg, rgba(95, 211, 198, 0.08), rgba(107, 183, 255, 0.05)), var(--ntc-surface);
	border-color: rgba(95, 211, 198, 0.28);
}

.ntc-card__image {
	aspect-ratio: 16 / 9;
	background: var(--ntc-gradient-dark-sea);
}

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

.ntc-card__body {
	display: grid;
	gap: 7px;
	padding: 12px;
}

.ntc-card h3 {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--ntc-text);
	font-family: inherit;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ntc-single,
.ntc-taxonomy {
	--ntc-single-ink: #17201f;
	--ntc-single-heading: #0f766e;
	--ntc-single-muted: #61706d;
	--ntc-single-line: #dfe8e6;
	--ntc-single-sea: #1f9f95;
	background: #fbfdfc;
	color: var(--ntc-single-ink);
	font-family: "Baloo 2", system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.25;
}

.ntc-single {
	--ntc-single-sky: #2f87d8;
	--ntc-single-soft: #f2faf8;
}

.ntc-single-wrap {
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto;
}

.ntc-single-hero {
	padding: 34px 0 26px;
	background: linear-gradient(135deg, rgba(95, 211, 198, 0.18), rgba(107, 183, 255, 0.12)), #f8fcfb;
	border-bottom: 1px solid var(--ntc-single-line);
}

.ntc-single-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
	gap: 28px;
	align-items: center;
}

.ntc-single-kicker {
	margin: 0 0 8px;
	color: var(--ntc-single-sea);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
}

.ntc-single h1 {
	margin: 0;
	color: var(--ntc-single-ink);
	font-family: inherit;
	font-size: clamp(26px, 3.4vw, 40px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.ntc-single-lead {
	max-width: 720px;
	margin: 14px 0 0;
	color: var(--ntc-single-muted);
	font-size: 17px;
	line-height: 1.25;
}

.ntc-single-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.ntc-single-tags a,
.ntc-single-tags span {
	padding: 7px 10px;
	border: 1px solid rgba(31, 159, 149, 0.24);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.72);
	color: #166b66;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.ntc-single-tags a:hover,
.ntc-single-tags a:focus-visible {
	border-color: rgba(31, 159, 149, 0.44);
	background: rgba(31, 159, 149, 0.12);
	color: #0f5c57;
}

.ntc-single-hero__media {
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: linear-gradient(135deg, rgba(31, 159, 149, 0.15), rgba(47, 135, 216, 0.12));
}

.ntc-single-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntc-single-hero__media-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 24px;
	color: #0f5f68;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	background: linear-gradient(135deg, rgba(31, 159, 149, 0.16), rgba(47, 135, 216, 0.14));
}

.ntc-single-body {
	padding: 30px 0 42px;
}

.ntc-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 28px;
	align-items: start;
}

.ntc-single-content {
	min-width: 0;
}

.ntc-single-content > *:first-child {
	margin-top: 0;
}

.ntc-place-hub-note {
	margin: 0 0 22px;
	padding: 18px;
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: #f8fcfb;
}

.ntc-place-hub-note h2,
.ntc-place-hub-note p {
	margin: 0;
}

.ntc-place-hub-note h2 {
	color: var(--ntc-single-heading);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-place-hub-note p {
	margin-top: 8px;
	color: var(--ntc-single-muted);
	font-size: 17px;
	line-height: 1.25;
}

.ntc-single-toc {
	position: sticky;
	top: 0;
	z-index: 20;
	margin: 0;
	border-bottom: 1px solid var(--ntc-single-line);
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(14px);
	box-shadow: 0 10px 28px rgba(15, 95, 104, 0.08);
}

.ntc-single-toc ul {
	display: flex;
	gap: 20px;
	align-items: center;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
	white-space: nowrap;
}

.ntc-single-toc ul::-webkit-scrollbar {
	display: none;
}

.ntc-single-toc__item {
	margin: 0;
	flex: 0 0 auto;
	--ntc-toc-active: #0f8f87;
	color: var(--ntc-single-ink);
	font-size: 16px;
	line-height: 1.2;
}

.ntc-single-toc__item--h3 {
	font-size: 15px;
}

.ntc-single-toc a {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	border-bottom: 3px solid transparent;
	color: #111827;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: none;
}

.ntc-single-toc__icon {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	color: currentColor;
}

.ntc-single-toc__text {
	margin-top: 4px;
}

.ntc-single-toc__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.ntc-single-toc a:hover,
.ntc-single-toc a:focus-visible {
	color: var(--ntc-toc-active);
	outline: 0;
}

.ntc-single-toc__item.is-active a {
	border-bottom-color: var(--ntc-toc-active);
	color: var(--ntc-toc-active);
	outline: 0;
}

.ntc-single-content p,
.ntc-single-content li {
	color: var(--ntc-single-ink);
	font-size: 17px;
	line-height: 1.25;
}

.ntc-single-content h2,
.ntc-single-content h3 {
	scroll-margin-top: 46px;
	color: var(--ntc-single-heading);
	font-family: inherit;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-single-content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.ntc-single-sidebar {
	display: grid;
	gap: 14px;
	position: sticky;
	top: 66px;
}

.ntc-single-panel,
.ntc-related-card {
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 16px 36px rgba(15, 95, 104, 0.12), 0 3px 10px rgba(23, 32, 31, 0.05);
}

.ntc-single-panel {
	overflow: hidden;
}

.ntc-related-section h2 {
	margin: 0 0 12px;
	color: var(--ntc-single-heading);
	font-family: inherit;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-panel-header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px;
	background: linear-gradient(135deg, #0f5f68 0%, #176f7b 52%, #1c7891 100%);
	border-bottom: 1px solid var(--ntc-single-line);
}


.ntc-panel-header h2 {
	margin: 0;
	color: #ffffff;
	font-family: inherit;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
}

.ntc-single-sidebar--accordion .ntc-panel-header {
	justify-content: space-between;
	cursor: pointer;
	user-select: none;
}

.ntc-single-sidebar--accordion .ntc-panel-header:focus-visible {
	outline: 3px solid rgba(47, 156, 200, 0.34);
	outline-offset: 3px;
}

.ntc-single-sidebar--accordion .ntc-panel-header h2 {
	text-align: left;
}

.ntc-panel-toggle {
	position: relative;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
}

.ntc-panel-toggle::before,
.ntc-panel-toggle::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 2px;
	border-radius: 999px;
	background: #ffffff;
	content: "";
	transform: translate(-50%, -50%);
	transition: transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ntc-panel-toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.ntc-single-panel.is-open .ntc-panel-toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.ntc-panel-body {
	padding: 16px;
}

.ntc-single-panel p,
.ntc-panel-note {
	margin: 0;
	color: var(--ntc-single-muted);
	font-size: 15px;
	line-height: 1.25;
}

.ntc-fact-list {
	display: grid;
	gap: 10px;
	margin: 0;
}

.ntc-fact-list div {
	display: grid;
	gap: 3px;
	padding-bottom: 10px;
	border-bottom: 1px solid #edf2f1;
}

.ntc-fact-list div:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.ntc-fact-list dt {
	color: var(--ntc-single-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

.ntc-fact-list dd {
	margin: 0;
	color: var(--ntc-single-ink);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
}

.ntc-fact-list dd a {
	color: #0f8f87;
	text-decoration: none;
	transition: color 160ms ease;
}

.ntc-fact-list dd a:hover,
.ntc-fact-list dd a:focus-visible {
	color: #0a6f69;
}

.ntc-related-link {
	display: inline-flex;
	margin-top: 8px;
	color: var(--ntc-single-sea);
	font-weight: 800;
	text-decoration: none;
}

.ntc-map-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin-top: 14px;
	padding: 10px 12px;
	border-radius: 8px;
	background: linear-gradient(135deg, #168f9a, #2f9cc8);
	color: #ffffff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.ntc-map-button:hover,
.ntc-map-button:focus-visible {
	color: #ffffff;
	filter: brightness(0.96);
}

.ntc-source-panel-card {
	border-color: var(--ntc-single-line);
}

.ntc-source-author-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 12px;
	border: 1px solid rgba(22, 143, 154, 0.22);
	border-radius: 8px;
	background: linear-gradient(135deg, rgba(22, 143, 154, 0.1), rgba(47, 156, 200, 0.1));
	color: #0f5f68;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.ntc-source-author-link:hover,
.ntc-source-author-link:focus-visible {
	border-color: rgba(22, 143, 154, 0.42);
	color: #0d525a;
	background: linear-gradient(135deg, rgba(22, 143, 154, 0.16), rgba(47, 156, 200, 0.14));
}

.ntc-related-section {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--ntc-single-line);
}

.ntc-related-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.ntc-related-section__head h2 {
	margin: 0;
	color: var(--ntc-single-heading);
}

.ntc-related-slider-actions {
	display: flex;
	gap: 6px;
}

.ntc-related-slider-button {
	position: relative;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid rgba(31, 159, 149, 0.24);
	border-radius: 999px;
	background: #ffffff;
	color: #0f5f68;
	font-family: inherit;
	font-size: 0;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(15, 95, 104, 0.1);
}

.ntc-related-slider-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.ntc-related-slider-button[data-ntc-related-prev]::before {
	transform: translate(-42%, -50%) rotate(-135deg);
}

.ntc-related-slider-button[data-ntc-related-next]::before {
	transform: translate(-58%, -50%) rotate(45deg);
}

.ntc-related-slider-button:hover,
.ntc-related-slider-button:focus-visible {
	background: linear-gradient(135deg, rgba(22, 143, 154, 0.1), rgba(47, 156, 200, 0.1));
	outline: 0;
}

.ntc-related-slider-shell {
	position: relative;
	overflow: visible;
	margin-inline: -16px;
	padding-inline: 0;
}

.ntc-related-slider {
	display: grid;
	grid-auto-columns: minmax(230px, 42%);
	grid-auto-flow: column;
	gap: 12px;
	overflow-x: auto;
	overflow-y: visible;
	padding: 10px 16px 42px;
	scroll-padding-inline: 16px;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.ntc-related-slider::-webkit-scrollbar {
	display: none;
}

.ntc-related-slider .ntc-tax-card {
	scroll-snap-align: start;
}

.ntc-related-slider .ntc-tax-card__media {
	aspect-ratio: 21 / 9;
}

.ntc-related-slider .ntc-tax-card__body {
	padding: 11px;
}

.ntc-related-slider .ntc-tax-card__body strong {
	font-size: 17px;
}

.ntc-related-slider .ntc-tax-card__excerpt {
	font-size: 14px;
	-webkit-line-clamp: 3;
}

.ntc-related-dots {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin-top: -26px;
}

.ntc-related-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(15, 95, 104, 0.22);
	cursor: pointer;
	transition: width 180ms cubic-bezier(0.2, 0.8, 0.2, 1), background 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ntc-related-dot.is-active {
	width: 22px;
	background: linear-gradient(135deg, #168f9a, #2f9cc8);
}

.ntc-related-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.ntc-related-card {
	display: grid;
	grid-template-columns: 108px minmax(0, 1fr);
	gap: 12px;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}

.ntc-related-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, rgba(31, 159, 149, 0.13), rgba(47, 135, 216, 0.1));
}

.ntc-related-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntc-related-card__body {
	display: grid;
	gap: 5px;
	align-content: center;
	padding: 10px 10px 10px 0;
}

.ntc-related-card__body strong {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ntc-single-ink);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ntc-related-card__body span {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ntc-single-muted);
	font-size: 14px;
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ntc-tax-wrap {
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto;
}

.ntc-tax-hero {
	padding: 34px 0 28px;
	background: linear-gradient(135deg, rgba(95, 211, 198, 0.18), rgba(107, 183, 255, 0.12)), #f8fcfb;
	border-bottom: 1px solid var(--ntc-single-line);
}

.ntc-tax-hero h1 {
	margin: 0;
	color: var(--ntc-single-ink);
	font-family: inherit;
	font-size: clamp(28px, 4vw, 46px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.ntc-tax-description {
	max-width: 760px;
	margin-top: 14px;
	color: var(--ntc-single-muted);
	font-size: 17px;
	line-height: 1.25;
}

.ntc-tax-description p {
	margin: 0;
}

.ntc-tax-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.ntc-tax-hero__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 10px;
	border: 1px solid rgba(31, 159, 149, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.72);
	color: #0f5f68;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-tax-body {
	padding: 28px 0 44px;
}

.ntc-archive-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: end;
	margin-bottom: 18px;
	padding: 14px;
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 12px 28px rgba(15, 95, 104, 0.08), 0 3px 10px rgba(23, 32, 31, 0.04);
}

.ntc-archive-filters label {
	display: grid;
	gap: 5px;
	min-width: 160px;
	color: var(--ntc-single-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

.ntc-archive-filters select {
	min-height: 38px;
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--ntc-single-ink);
	font: inherit;
}

.ntc-archive-filters button,
.ntc-archive-filters a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 13px;
	border-radius: 8px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.ntc-archive-filters button {
	border: 0;
	background: linear-gradient(135deg, #168f9a, #2f9cc8);
	color: #ffffff;
	cursor: pointer;
}

.ntc-archive-filters a {
	border: 1px solid rgba(22, 143, 154, 0.22);
	color: #0f5f68;
}

.ntc-seo-panel {
	display: grid;
	gap: 16px;
	margin-bottom: 18px;
	padding: 20px;
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 16px 36px rgba(15, 95, 104, 0.08), 0 3px 10px rgba(23, 32, 31, 0.04);
}

.ntc-seo-panel__intro {
	max-width: 880px;
}

.ntc-seo-panel h2,
.ntc-seo-panel h3,
.ntc-seo-panel p {
	margin: 0;
}

.ntc-seo-eyebrow {
	margin-bottom: 5px !important;
	color: #168f9a;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.ntc-seo-panel h2 {
	color: var(--ntc-single-heading);
	font-family: inherit;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-seo-panel__intro > p:last-child {
	margin-top: 8px;
	color: var(--ntc-single-muted);
	font-size: 17px;
	line-height: 1.25;
}

.ntc-seo-panel__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.ntc-seo-panel__grid > div {
	padding: 13px 14px;
	border: 1px solid rgba(31, 159, 149, 0.16);
	border-radius: 8px;
	background: #f8fcfb;
}

.ntc-seo-panel h3 {
	color: var(--ntc-single-heading);
	font-family: inherit;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-seo-panel__grid p {
	margin-top: 6px;
	color: var(--ntc-single-muted);
	font-size: 16px;
	line-height: 1.25;
}

.ntc-seo-links {
	display: grid;
	gap: 9px;
	padding-top: 2px;
}

.ntc-seo-links > strong {
	color: var(--ntc-single-ink);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-seo-link-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ntc-seo-link-list a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 7px 10px;
	border: 1px solid rgba(31, 159, 149, 0.22);
	border-radius: 999px;
	background: #ffffff;
	color: #0f5f68;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.ntc-seo-link-list a:hover,
.ntc-seo-link-list a:focus-visible {
	border-color: rgba(31, 159, 149, 0.42);
	background: linear-gradient(135deg, rgba(22, 143, 154, 0.09), rgba(47, 156, 200, 0.08));
	color: #0b5058;
}

.ntc-seo-link-list small {
	color: var(--ntc-single-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.ntc-term-guide {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 18px;
	margin-bottom: 18px;
	padding: 18px;
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 16px 36px rgba(15, 95, 104, 0.08), 0 3px 10px rgba(23, 32, 31, 0.04);
}

.ntc-term-guide h2,
.ntc-term-guide p,
.ntc-term-guide ul {
	margin: 0;
}

.ntc-term-guide h2 {
	color: var(--ntc-single-heading);
	font-family: inherit;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-term-guide p,
.ntc-term-guide li {
	color: var(--ntc-single-muted);
	font-size: 16px;
	line-height: 1.25;
}

.ntc-term-guide ul {
	display: grid;
	gap: 8px;
	padding-left: 18px;
}

.ntc-tax-results-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 16px;
	margin: 0 0 14px;
	padding-top: 4px;
}

.ntc-tax-results-head h2,
.ntc-tax-results-head p {
	margin: 0;
}

.ntc-tax-results-head h2 {
	color: var(--ntc-single-heading);
	font-family: inherit;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
}

.ntc-tax-results-head p {
	color: var(--ntc-single-muted);
	font-size: 16px;
	line-height: 1.25;
}

.ntc-tax-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.ntc-tax-grid--compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ntc-tax-card {
	overflow: hidden;
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: #ffffff;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 16px 36px rgba(15, 95, 104, 0.1), 0 3px 10px rgba(23, 32, 31, 0.04);
	transition: border-color 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ntc-tax-card:hover,
.ntc-tax-card:focus-visible {
	border-color: rgba(31, 159, 149, 0.34);
	color: inherit;
}

.ntc-tax-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, rgba(31, 159, 149, 0.13), rgba(47, 135, 216, 0.1));
}

.ntc-tax-card__type {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 5px 9px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	color: #0f5f68;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	box-shadow: 0 1px 3px rgba(15, 95, 104, 0.12);
}

.ntc-tax-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntc-tax-card__body {
	display: grid;
	gap: 7px;
	padding: 13px;
}

.ntc-tax-card__body strong {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ntc-single-ink);
	font-size: 19px;
	font-weight: 800;
	line-height: 1.2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ntc-tax-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ntc-single-muted);
	font-size: 15px;
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ntc-tax-pagination {
	margin-top: 24px;
}

.ntc-tax-empty {
	padding: 22px;
	border: 1px solid var(--ntc-single-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 16px 36px rgba(15, 95, 104, 0.1), 0 3px 10px rgba(23, 32, 31, 0.04);
}

.ntc-tax-empty h2,
.ntc-tax-empty p {
	margin: 0;
}

.ntc-tax-empty h2 {
	color: var(--ntc-single-heading);
}

.ntc-tax-empty p {
	margin-top: 8px;
	color: var(--ntc-single-muted);
}

@media (max-width: 1180px) {
	.ntc-workspace {
		grid-template-columns: 230px minmax(0, 1fr);
	}

	.ntc-source-panel {
		grid-column: 1 / -1;
		border-top: 1px solid var(--ntc-border-soft);
		border-left: 0;
	}

	.ntc-source-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 920px) {
	.ntc-single-hero__grid,
	.ntc-single-layout {
		grid-template-columns: 1fr;
	}

	.ntc-single-sidebar {
		position: static;
	}

	.ntc-tax-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ntc-term-guide {
		grid-template-columns: 1fr;
	}

	.ntc-seo-panel__grid {
		grid-template-columns: 1fr;
	}

	.ntc-tax-results-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.ntc-related-slider {
		grid-auto-columns: minmax(220px, 58%);
	}

	.ntc-saved-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ntc-saved-followup__grid {
		grid-template-columns: 1fr;
	}

	.ntc-trip-timeline {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 820px) {
	.ntc-workspace {
		display: block;
		height: auto;
		min-height: 0;
		overflow: visible;
		border-inline: 0;
	}

	.ntc-left-rail,
	.ntc-source-panel {
		border: 0;
		border-bottom: 1px solid var(--ntc-border-soft);
	}

	.ntc-left-rail {
		gap: 14px;
	}

	.ntc-saved-archive {
		padding: 26px 16px 44px;
	}

	.ntc-saved-archive__hero {
		align-items: start;
		flex-direction: column;
	}

	.ntc-saved-archive__actions,
	.ntc-trip-archive__actions {
		justify-items: start;
		width: 100%;
	}

	.ntc-saved-archive__action-row,
	.ntc-trip-archive__head,
	.ntc-saved-followup__head {
		align-items: flex-start;
		flex-direction: column;
	}

	.ntc-saved-archive__grid {
		grid-template-columns: 1fr;
	}

	.ntc-saved-followup-card > a {
		grid-template-columns: 92px minmax(0, 1fr);
	}

	.ntc-review-rating {
		grid-template-columns: 1fr;
		align-items: stretch;
		gap: 22px;
		padding: 20px;
	}

	.ntc-review-rating__overview {
		grid-template-columns: minmax(170px, 1fr) minmax(104px, 132px);
		gap: 18px;
	}

	.ntc-review-rating__summary {
		justify-items: center;
		padding-top: 2px;
		text-align: center;
	}

	.ntc-practical-warnings > ul {
		grid-template-columns: 1fr;
	}

	.ntc-prompt-list {
		display: flex;
		gap: 8px;
		overflow-x: auto;
		padding-bottom: 2px;
	}

	.ntc-prompt {
		flex: 0 0 auto;
		width: auto;
		white-space: nowrap;
	}

	.ntc-chat-toolbar {
		min-height: 64px;
		padding: 14px 16px;
	}

	.ntc-chat-messages {
		min-height: 430px;
		padding: 18px 16px;
	}

	.ntc-source-list,
	.ntc-card-grid,
	.ntc-tax-grid,
	.ntc-tax-grid--compact {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 560px) {
	.ntc-review-rating__overview {
		grid-template-columns: 1fr;
	}

	.ntc-single-wrap {
		width: min(100% - 24px, 1120px);
	}

	.ntc-tax-wrap {
		width: min(100% - 24px, 1120px);
	}

	.ntc-single-hero {
		padding-top: 24px;
	}

	.ntc-related-grid {
		grid-template-columns: 1fr;
	}

	.ntc-related-slider {
		grid-auto-columns: minmax(220px, 86%);
	}

	.ntc-chat-toolbar {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.ntc-chat-toolbar__actions {
		width: 100%;
	}

	.ntc-chat-toolbar__actions button {
		flex: 1 1 0;
	}

	.ntc-chat-form {
		width: calc(100% - 24px);
		margin: 12px auto;
	}

	.ntc-preference-bar {
		width: calc(100% - 24px);
	}

	.ntc-chat-retention {
		width: calc(100% - 24px);
	}

	.ntc-share-modal {
		padding: 12px;
	}

	.ntc-share-modal__dialog {
		padding: 14px;
	}

	.ntc-share-copy {
		grid-template-columns: 1fr;
	}

	.ntc-share-copy button {
		min-height: 36px;
	}

	.ntc-chat-share-message--user {
		width: 100%;
	}

	.ntc-section {
		padding-inline: 12px;
	}
}

@keyframes ntcFadeUp {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ntcSoftReveal {
	from {
		opacity: 0.62;
		transform: translateY(5px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ntcSourceReveal {
	from {
		opacity: 0.72;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ntcSourceCardIn {
	from {
		opacity: 0;
		transform: translateX(-10px) translateY(4px) scale(0.99);
	}

	to {
		opacity: 1;
		transform: translateX(0) translateY(0) scale(1);
	}
}

@keyframes ntcPopIn {
	from {
		opacity: 0.55;
		transform: scale(0.92);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes ntcChipGlow {
	0% {
		border-color: rgba(95, 211, 198, 0.08);
		background: rgba(95, 211, 198, 0.02);
		opacity: 0.45;
		transform: translateY(2px);
	}

	55% {
		border-color: rgba(95, 211, 198, 0.46);
		background: rgba(95, 211, 198, 0.14);
		opacity: 1;
	}

	100% {
		border-color: rgba(95, 211, 198, 0.24);
		background: rgba(95, 211, 198, 0.08);
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ntcShareBackdropIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes ntcShareDialogIn {
	from {
		opacity: 0;
		transform: scale(0.985);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes ntcSpin {
	to {
		transform: scale(1) rotate(360deg);
	}
}

@keyframes ntcThinkingDot {
	0%,
	80%,
	100% {
		opacity: 0.35;
		transform: translateY(0);
	}

	40% {
		opacity: 1;
		transform: translateY(-4px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ntc-app *,
	.ntc-app *::before,
	.ntc-app *::after {
		animation-duration: 1ms !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}
}
