/* Notification Toast */
.notification {
	min-width: 220px;
	font-size: 1.1em;
	font-family: 'Orbitron', 'Roboto Mono', Arial, sans-serif;
	font-weight: bold;
	text-align: center;
	opacity: 0.97;
	transition: opacity 0.3s, top 0.3s;
}
body {
	font-family: 'Orbitron', 'Roboto Mono', Arial, sans-serif;
	background: linear-gradient(135deg, #0f2027 0%, #2c5364 100%);
	margin: 0;
	padding: 0;
	min-height: 100vh;
	overflow-x: hidden;
	animation: bgMove 20s linear infinite alternate;
}
@keyframes bgMove {
	0% { background-position: 0 0; }
	100% { background-position: 100vw 100vh; }
}
nav {
	background: rgba(20, 30, 40, 0.95);
	color: #00ffe7;
	padding: 18px 0;
	text-align: center;
	box-shadow: 0 2px 16px #00ffe733;
	letter-spacing: 2px;
}
nav a {
	color: #00ffe7;
	margin: 0 20px;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.1em;
	transition: color 0.2s;
}
nav a:hover {
	color: #fff;
	text-shadow: 0 0 8px #00ffe7, 0 0 2px #fff;
}
main {
	max-width: 800px;
	margin: 48px auto;
	background: rgba(10, 20, 30, 0.92);
	border-radius: 18px;
	box-shadow: 0 8px 40px #00ffe744, 0 1.5px 0 #00ffe7;
	padding: 40px 32px 32px 32px;
	color: #e0f7fa;
	position: relative;
	overflow: hidden;
}
h1 {
	color: #00ffe7;
	font-size: 2.5em;
	letter-spacing: 3px;
	text-shadow: 0 0 16px #00ffe7, 0 0 2px #fff;
	margin-bottom: 24px;
}
h2 {
	color: #00bcd4;
	margin-top: 32px;
	text-shadow: 0 0 8px #00ffe7;
}
form, #programmable-status, #wallet-address, #gas-policy {
	margin-bottom: 18px;
}
input, button {
	font-family: inherit;
	font-size: 1.1em;
	border-radius: 8px;
	border: none;
	outline: none;
	margin-bottom: 10px;
	padding: 10px 16px;
	background: #1a2636;
	color: #00ffe7;
	box-shadow: 0 2px 8px #00ffe733;
	transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
input:focus {
	background: #222e3c;
	color: #fff;
	box-shadow: 0 0 8px #00ffe7;
}
button {
	background: linear-gradient(90deg, #00ffe7 0%, #007cf0 100%);
	color: #0f2027;
	font-weight: bold;
	cursor: pointer;
	border: none;
	box-shadow: 0 2px 16px #00ffe744;
	margin-right: 8px;
	margin-bottom: 8px;
	letter-spacing: 1px;
	transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.1s;
	position: relative;
	overflow: hidden;
}
button:hover {
	background: linear-gradient(90deg, #007cf0 0%, #00ffe7 100%);
	color: #fff;
	box-shadow: 0 0 24px #00ffe7, 0 0 2px #fff;
	transform: translateY(-2px) scale(1.04);
}
#programmable-info, #programmable-status, #wallet-address, #gas-policy {
	background: rgba(0, 255, 231, 0.07);
	border-radius: 8px;
	padding: 10px 16px;
	margin-bottom: 12px;
	font-family: 'Roboto Mono', monospace;
	color: #00ffe7;
	font-size: 1.05em;
}
ul {
	list-style: none;
	padding: 0;
}
ul li {
	background: rgba(0, 255, 231, 0.09);
	margin-bottom: 8px;
	padding: 8px 14px;
	border-radius: 7px;
	color: #e0f7fa;
	font-family: 'Roboto Mono', monospace;
	box-shadow: 0 1px 6px #00ffe722;
	transition: background 0.2s, color 0.2s;
}
ul li:hover {
	background: #00ffe7;
	color: #0f2027;
}
::-webkit-scrollbar {
	width: 8px;
	background: #1a2636;
}
::-webkit-scrollbar-thumb {
	background: #00ffe7;
	border-radius: 8px;
}

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@700&family=Roboto+Mono:wght@400;700&display=swap');

body {
	font-family: 'Orbitron', 'Roboto Mono', Arial, sans-serif;
	background: linear-gradient(120deg, #0f2027 0%, #2c5364 100%, #00ffe7 200%);
	background-size: 200% 200%;
	animation: bgMove 16s ease-in-out infinite alternate;
	margin: 0;
	padding: 0;
	min-height: 100vh;
	overflow-x: hidden;
}

@keyframes bgMove {
	0% { background-position: 0 0; }
	100% { background-position: 100vw 100vh; }
}

nav {
	background: rgba(20, 30, 40, 0.95);
	color: #00ffe7;
	padding: 20px 0;
	text-align: center;
	box-shadow: 0 2px 24px #00ffe799;
	letter-spacing: 2px;
	border-bottom: 2px solid #00ffe7;
	backdrop-filter: blur(6px);
}
nav a {
	color: #00ffe7;
	margin: 0 28px;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.2em;
	transition: color 0.2s, text-shadow 0.2s;
	text-shadow: 0 0 8px #00ffe7, 0 0 2px #fff;
	letter-spacing: 1.5px;
}
nav a:hover {
	color: #fff;
	text-shadow: 0 0 16px #00ffe7, 0 0 4px #fff;
}

main {
	max-width: 900px;
	margin: 56px auto;
	background: rgba(20, 40, 60, 0.55);
	border-radius: 24px;
	box-shadow: 0 12px 48px #00ffe799, 0 2px 0 #00ffe7;
	padding: 48px 40px 40px 40px;
	color: #e0f7fa;
	position: relative;
	overflow: hidden;
	backdrop-filter: blur(12px) saturate(1.2);
	border: 1.5px solid #00ffe7;
}

h1 {
	color: #00ffe7;
	font-size: 2.8em;
	letter-spacing: 4px;
	text-shadow: 0 0 24px #00ffe7, 0 0 4px #fff;
	margin-bottom: 32px;
	font-weight: 700;
}

h2 {
	color: #00bcd4;
	margin-top: 40px;
	text-shadow: 0 0 12px #00ffe7;
	font-size: 1.5em;
	font-weight: 700;
}

.glass-card {
	background: rgba(0, 255, 231, 0.10);
	border-radius: 18px;
	box-shadow: 0 4px 32px #00ffe744, 0 1.5px 0 #00ffe7;
	padding: 24px 20px 20px 20px;
	margin-bottom: 24px;
	border: 1px solid #00ffe7;
	backdrop-filter: blur(8px) saturate(1.1);
	transition: box-shadow 0.2s, border 0.2s;
}
.glass-card:hover {
	box-shadow: 0 8px 48px #00ffe7cc, 0 2px 0 #00ffe7;
	border: 1.5px solid #fff;
}

form, #programmable-status, #wallet-address, #gas-policy {
	margin-bottom: 22px;
}

input, button, select {
	font-family: inherit;
	font-size: 1.13em;
	border-radius: 10px;
	border: none;
	outline: none;
	margin-bottom: 12px;
	padding: 12px 18px;
	background: rgba(26, 38, 54, 0.95);
	color: #00ffe7;
	box-shadow: 0 2px 12px #00ffe733;
	transition: background 0.2s, color 0.2s, box-shadow 0.2s;
	border: 1.5px solid #00ffe7;
}
input:focus, select:focus {
	background: #222e3c;
	color: #fff;
	box-shadow: 0 0 12px #00ffe7;
	border: 1.5px solid #fff;
}
button {
	background: linear-gradient(90deg, #00ffe7 0%, #007cf0 100%);
	color: #0f2027;
	font-weight: bold;
	cursor: pointer;
	border: none;
	box-shadow: 0 2px 24px #00ffe744;
	margin-right: 10px;
	margin-bottom: 10px;
	letter-spacing: 1.2px;
	transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.1s;
	position: relative;
	overflow: hidden;
	border: 1.5px solid #00ffe7;
}
button:active {
	transform: scale(0.97);
}
button:hover {
	background: linear-gradient(90deg, #007cf0 0%, #00ffe7 100%);
	color: #fff;
	box-shadow: 0 0 32px #00ffe7, 0 0 4px #fff;
	border: 1.5px solid #fff;
}

.ripple {
	position: absolute;
	border-radius: 50%;
	transform: scale(0);
	animation: ripple 0.6s linear;
	background: rgba(0,255,231,0.5);
	pointer-events: none;
}
@keyframes ripple {
	to {
		transform: scale(4);
		opacity: 0;
	}
}

#programmable-info, #programmable-status, #wallet-address, #gas-policy {
	background: rgba(0, 255, 231, 0.10);
	border-radius: 10px;
	padding: 12px 18px;
	margin-bottom: 14px;
	font-family: 'Roboto Mono', monospace;
	color: #00ffe7;
	font-size: 1.08em;
	border: 1px solid #00ffe7;
}

ul {
	list-style: none;
	padding: 0;
}
ul li {
	background: rgba(0, 255, 231, 0.13);
	margin-bottom: 10px;
	padding: 10px 18px;
	border-radius: 10px;
	color: #e0f7fa;
	font-family: 'Roboto Mono', monospace;
	box-shadow: 0 2px 12px #00ffe722;
	transition: background 0.2s, color 0.2s, box-shadow 0.2s;
	border: 1px solid #00ffe7;
	position: relative;
}
ul li:hover {
	background: #00ffe7;
	color: #0f2027;
	box-shadow: 0 0 32px #00ffe7, 0 0 4px #fff;
	border: 1.5px solid #fff;
}

::-webkit-scrollbar {
	width: 10px;
	background: #1a2636;
}
::-webkit-scrollbar-thumb {
	background: #00ffe7;
	border-radius: 10px;
}

.notification {
	min-width: 240px;
	font-size: 1.13em;
	font-family: 'Orbitron', 'Roboto Mono', Arial, sans-serif;
	font-weight: bold;
	text-align: center;
	opacity: 0.98;
	transition: opacity 0.3s, top 0.3s;
	border: 2px solid #00ffe7;
	box-shadow: 0 2px 24px #00ffe799;
	border-radius: 12px;
	background: rgba(0,255,231,0.18);
	backdrop-filter: blur(6px);
}

/* Glassmorphism for info/detail cards */
#sessionkey-info, #sessionkey-detail {
	background: rgba(0,255,231,0.13);
	border-radius: 12px;
	padding: 14px 20px;
	margin-bottom: 14px;
	border: 1px solid #00ffe7;
	box-shadow: 0 2px 16px #00ffe744;
	font-size: 1.05em;
	backdrop-filter: blur(6px);
}

/* Animate section transitions */
.fade-in {
	animation: fadeIn 0.7s;
}
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: translateY(0); }
}
