:root {
	--nc-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	--nc-font-mono: Consolas, monaco, 'Ubuntu Mono', 'Liberation Mono', 'Courier New', Courier, monospace;

	/* Light theme */
	--nc-tx-1: #000000;
	--nc-tx-2: #1A1A1A;
	--nc-bg-1: #FFFFFF;
	--nc-bg-2: #F6F8FA;
	--nc-bg-3: #E5E7EB;
	--nc-lk-1: #0070F3;
	--nc-lk-2: #0366D6;
	--nc-lk-tx: #FFFFFF;
	--nc-ac-1: #79FFE1;
	--nc-ac-tx: #0C4047;

	/* Dark theme */
	--nc-d-tx-1: #ffffff;
	--nc-d-tx-2: #eeeeee;
	--nc-d-bg-1: #000000;
	--nc-d-bg-2: #111111;
	--nc-d-bg-3: #222222;
	--nc-d-lk-1: #3291FF;
	--nc-d-lk-2: #0070F3;
	--nc-d-lk-tx: #FFFFFF;
	--nc-d-ac-1: #7928CA;
	--nc-d-ac-tx: #FFFFFF;

	/* Responsive font sizes */
	--font-size-h1: clamp(1.75rem, 1.5rem + 2vw, 2.25rem);
	--font-size-h2: clamp(1.5rem, 1.25rem + 1.5vw, 1.85rem);
	--font-size-h3: clamp(1.25rem, 1rem + 1vw, 1.55rem);
	--font-size-h4: clamp(1rem, 0.875rem + 0.5vw, 1.25rem);
	--font-size-h5: clamp(0.875rem, 0.75rem + 0.5vw, 1rem);
	--font-size-h6: clamp(0.75rem, 0.625rem + 0.5vw, 0.875rem);
	--font-size-base: clamp(1rem, 0.9rem + 0.5vw, 1.03rem);
	--font-size-small: clamp(0.875rem, 0.8rem + 0.25vw, 0.9rem);
	--font-size-button: clamp(1rem, 0.9rem + 0.5vw, 1rem);
}

@media (prefers-color-scheme: dark) {
	:root {
		--nc-tx-1: var(--nc-d-tx-1);
		--nc-tx-2: var(--nc-d-tx-2);
		--nc-bg-1: var(--nc-d-bg-1);
		--nc-bg-2: var(--nc-d-bg-2);
		--nc-bg-3: var(--nc-d-bg-3);
		--nc-lk-1: var(--nc-d-lk-1);
		--nc-lk-2: var(--nc-d-lk-2);
		--nc-lk-tx: var(--nc-d-lk-tx);
		--nc-ac-1: var(--nc-d-ac-1);
		--nc-ac-tx: var(--nc-d-ac-tx);
	}
}

* {
	margin: 0;
	padding: 0;
}

address,
area,
article,
aside,
audio,
blockquote,
datalist,
details,
dl,
fieldset,
figure,
form,
input,
iframe,
img,
meter,
nav,
ol,
optgroup,
option,
output,
p,
pre,
progress,
ruby,
section,
table,
textarea,
ul,
video {
	margin-bottom: 1rem;
}

html, input, select, button {
	font-family: var(--nc-font-sans);
	font-size: var(--font-size-base);
}

body {
	margin: 0 auto;
	max-width: 80%;
	padding: 2rem;
	border-radius: 6px;
	overflow-x: hidden;
	word-break: break-word;
	overflow-wrap: break-word;
	background: var(--nc-bg-1);
	color: var(--nc-tx-2);
	font-size: var(--font-size-base);
	line-height: 1.5;
}

::selection {
	background: var(--nc-ac-1);
	color: var(--nc-ac-tx);
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1;
	color: var(--nc-tx-1);
	padding-top: .875rem;
}

h1, h2, h3 {
	padding-bottom: 2px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--nc-bg-2);
}

h4, h5, h6 {
	margin-bottom: .3rem;
}

h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }

a {
	color: var(--nc-lk-1);
}

a:hover {
	color: var(--nc-lk-2);
}

abbr:hover {
	cursor: help;
}

blockquote {
	padding: 1.5rem;
	background: var(--nc-bg-2);
	border-left: 5px solid var(--nc-bg-3);
}

abbr {
	cursor: help;
}

blockquote *:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

header {
	background: var(--nc-bg-2);
	border-bottom: 1px solid var(--nc-bg-3);
	padding: 2rem 1.5rem;
	margin: -2rem calc(50% - 50vw) 2rem;
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
}

header h1, header h2, header h3 {
	padding-bottom: 0;
	border-bottom: 0;
}

header > *:first-child {
	margin-top: 0;
	padding-top: 0;
}

header > *:last-child {
	margin-bottom: 0;
}

a button, button, input[type="submit"], input[type="reset"], input[type="button"] {
	font-size: var(--font-size-button);
	display: inline-block;
	padding: 6px 12px;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	background: var(--nc-lk-1);
	color: var(--nc-lk-tx);
	border: 0;
	border-radius: 4px;
	box-sizing: border-box;
	cursor: pointer;
	color: var(--nc-lk-tx);
}

a button[disabled], button[disabled], input[type="submit"][disabled], input[type="reset"][disabled], input[type="button"][disabled] {
	cursor: default;
	opacity: .5;
	cursor: not-allowed;
}

.button:focus, .button:enabled:hover, button:focus, button:enabled:hover, input[type="submit"]:focus, input[type="submit"]:enabled:hover, input[type="reset"]:focus, input[type="reset"]:enabled:hover, input[type="button"]:focus, input[type="button"]:enabled:hover {
	background: var(--nc-lk-2);
}

a img {
	margin-bottom: 0px;
}

code, pre, kbd, samp {
	font-family: var(--nc-font-mono);
}

code, samp, kbd, pre {
	background: var(--nc-bg-2);
	border: 1px solid var(--nc-bg-3);
	border-radius: 4px;
	padding: 3px 6px;
	font-size: 0.9em;
}

kbd {
	border-bottom: 3px solid var(--nc-bg-3);
}

pre {
	padding: 1rem 1.4rem;
	max-width: 100%;
	overflow: auto;
}

pre code {
	background: inherit;
	font-size: inherit;
	color: inherit;
	border: 0;
	padding: 0;
	margin: 0;
}

code pre {
	display: inline;
	background: inherit;
	font-size: inherit;
	color: inherit;
	border: 0;
	padding: 0;
	margin: 0;
}

details {
	padding: .6rem 1rem;
	background: var(--nc-bg-2);
	border: 1px solid var(--nc-bg-3);
	border-radius: 4px;
}

summary {
	cursor: pointer;
	font-weight: bold;
}

details[open] {
	padding-bottom: .75rem;
}

details[open] summary {
	margin-bottom: 6px;
}

details[open]>*:last-child {
	margin-bottom: 0;
}

dt {
	font-weight: bold;
}

dd::before {
	content: '→ ';
}

hr {
	border: 0;
	border-bottom: 1px solid var(--nc-bg-3);
	margin: 1rem auto;
}

fieldset {
	margin-top: 1rem;
	padding: 2rem;
	border: 1px solid var(--nc-bg-3);
	border-radius: 4px;
}

legend {
	padding: auto .5rem;
}

table {
	border-collapse: collapse;
	width: 100%;
}

td, th {
	border: 1px solid var(--nc-bg-3);
	text-align: left;
	padding: .5rem;
}

th {
	background: var(--nc-bg-2);
}

tr:nth-child(even) {
	background: var(--nc-bg-2);
}

table caption {
	font-weight: bold;
	margin-bottom: .5rem;
}

textarea {
	max-width: 100%;
}

ol, ul {
	padding-left: 2rem;
}

li {
	margin-top: .4rem;
}

ul ul, ol ul, ul ol, ol ol {
	margin-bottom: 0;
}

mark {
	padding: 3px 6px;
	background: var(--nc-ac-1);
	color: var(--nc-ac-tx);
}

textarea, select, input {
	padding: 6px 12px;
	margin-bottom: .5rem;
	background: var(--nc-bg-2);
	color: var(--nc-tx-2);
	border: 1px solid var(--nc-bg-3);
	border-radius: 4px;
	box-shadow: none;
	box-sizing: border-box;
}

img {
	max-width: 100%;
}

#url-container {
	width:80%;
}

#password {
	width:20%;
	font-size: var(--font-size-small);
}

#reasoning {
	width:25%;
}

select {
	margin-right: 5%;
	font-size: var(--font-size-small);
}

#info-span {
	margin-top: 60px;
	margin-bottom: 35px;
}

#input-span, #url-container {
	margin-bottom: 30px;
}

.info {
	margin-right: 1%;
}

h3 {
	margin-top: 10px;
}

#input-box {
	width:80%;
	font-size: var(--font-size-base);
	margin-right: 3%;
}

#output-box {
	width:100%;
	font-size: var(--font-size-base);
	margin-bottom: 3%;
}

#submit-button {
	padding: 10px 20px;
	width: auto;
	min-width: 80px;
	margin-bottom: 0;
	font-size: var(--font-size-button);
	align: middle;
	box-sizing: border-box;
}

#info-span {
	margin-top: 3%;
}

#url-link {
	font-size: 1.3em;
}

@keyframes textFlash {
	0% { color: green; opacity: 1; }
	50% { color: green; opacity: 0; }
	100% { color: green; opacity: 1; }
}

.text-flashing {
	animation: textFlash 1s step-end infinite;
}

#input-span {
	width: 100%;
    display: flex;
    align-items: center; /* Aligns items vertically in the center */
}

#input-box {
    flex-grow: 1; /* Allows the textarea to take up available space */
    margin-right: 10px; /* Adds some space between the textarea and button */
}

