* { box-sizing: border-box; }
body {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	background: #1c1c1c;
	color: #e8e8e8;
	margin: 0;
	padding: 20px;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.container {
	max-width: 640px;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.panel {
	background: #252525;
	padding: 20px;
}
.panel:first-child { border-radius: 4px 4px 0 0; }
.panel:last-child { border-radius: 0 0 4px 4px; }

h1 {
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 4px 0;
	color: #fff;
}
.subtitle {
	font-size: 12px;
	color: #999;
	margin: 0;
}
.panel-title {
	font-size: 9px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #888;
	margin-bottom: 10px;
}
input {
	width: 100%;
	padding: 12px 14px;
	font-size: 16px;
	border: none;
	border-radius: 3px;
	background: #2e2e2e;
	color: #e8e8e8;
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
input:focus {
	outline: none;
	background: #333;
}
input::placeholder { color: #666; }

.buttons {
	display: flex;
	gap: 2px;
	margin-top: 2px;
}
button {
	flex: 1;
	padding: 12px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	font-weight: 600;
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
button.primary {
	background: #4e9fd4;
	color: #111;
}
button.primary:hover { background: #6bb0dd; }
button.secondary {
	background: #2e2e2e;
	color: #ccc;
}
button.secondary:hover { background: #383838; }

.output {
	background: #1c1c1c;
	border-left: 2px solid #4e9fd4;
	border-radius: 3px;
	padding: 16px;
	min-height: 24px;
	font-size: 16px;
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	line-height: 1.6;
	white-space: pre-wrap;
	word-break: break-word;
	color: #e8e8e8;
}
.output.placeholder { color: #666; }
.output.error { border-left-color: #d46b4e; color: #d49a8b; }

.warning {
	margin-top: 10px;
	font-size: 12px;
	color: #d4b34e;
}

.tiles {
	display: flex;
	gap: 2px;
}
.tile {
	flex: 1;
	background: #1c1c1c;
	border-top: 2px solid #4e9fd4;
	padding: 10px 12px;
	border-radius: 0 0 3px 3px;
}
.tile-label {
	font-size: 9px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #888;
	margin-bottom: 4px;
}
.tile-value {
	font-size: 15px;
	color: #e8e8e8;
	font-weight: 600;
}

.example {
	font-size: 12px;
	color: #888;
	line-height: 1.6;
}
.example code {
	background: #1c1c1c;
	padding: 2px 6px;
	border-radius: 3px;
	color: #4e9fd4;
}
