@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

:root {
	--background: #ffffff;
	--text: #242424;
}

* {
	outline: none;
}
::placeholder {
	color: var(--text);
	opacity: 0.5;
}
body {
	margin: 0px;
	font-family: "Inter", system-ui, sans-serif;
	font-optical-sizing: auto;
	line-height: 1.6;
	background-color: var(--background);
	color: var(--text);
}
a {
	color: inherit;
}
h1,
h2,
h3,
h4 {
	font-style: italic;
	font-weight: 500;
}
section {
	margin: 2rem 0rem;
}
hr {
	border-top: 1px solid var(--text);
	height: 1px;
	opacity: 0.3;
}
button {
	font: inherit;
	color: inherit;
	cursor: pointer;
}
button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
input[type="text"] {
	background: none;
	font: inherit;
	display: block;
	width: 100%;
	border: none;
	color: inherit;
	padding: 0.25rem 1rem;
	box-sizing: border-box;
}
footer {
	margin: 1rem;
	text-align: center;
	font-size: 0.9rem;
	opacity: 0.8;
}
footer a {
	margin: 0px 0.5rem;
}
[v-cloak] {
	display: none;
}
.wrap {
	width: 100%;
	max-width: 640px;
	margin: auto;
	padding: 1rem;
	box-sizing: border-box;
}
.wrap.max {
	max-width: none;
}
.italic {
	font-style: italic;
}
.title {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.5;
	font-style: italic;
}
.small {
	font-size: 0.75rem;
}
.light {
	opacity: 0.75;
}
.spacer {
	height: 1rem;
}
.flex {
	display: flex;
	justify-content: center;
	align-items: center;
}
.flex .flex-1 {
	flex: 1;
}
.highlight {
	background-color: #fff3cd;
	padding: 15px;
	border-left: 4px solid #ffc107;
	margin: 20px 0;
}

.rooms {
	list-style: none;
	margin: 0px;
	padding: 0px;
}
.rooms li {
	align-items: center;
	gap: 1rem;
	padding: 0.5rem 0px;
}
.rooms li a {
	text-decoration: none;
	padding: 0.5rem;
	border-radius: 1rem;
}
.rooms li a:hover,
.rooms li a:active {
	background-color: rgba(128, 128, 128, 0.2);
}
.rooms li a .name {
	font-size: 1.25rem;
}
.rooms .arrow {
	padding: 0rem 1rem;
	font-size: 2rem;
}

#logo {
	width: 3rem;
	height: 3rem;
	padding: 0.5rem;
	box-sizing: border-box;
	border-radius: 50%;
}
#logo:hover,
#logo:active {
	background-color: rgba(128, 128, 128, 0.2);
}
#logo img {
	display: block;
	width: 100%;
}
#roombox {
	position: relative;
	margin-bottom: 0.5rem;
}
#roombox .domain {
	position: absolute;
	left: 0px;
	top: 0px;
	bottom: 0px;
	padding: calc(0.5rem + 2px) 1rem;
	opacity: 0.5;
}
#roombox input {
	padding: 0.5rem 1rem;
	padding-left: 5.2rem;
	border: 2px solid var(--text);
	border-radius: 0.5rem;
}
#roombox button {
	background-color: var(--text);
	color: var(--background);
	padding: 0.5rem 2rem;
	border: 2px solid var(--text);
	margin-left: 1rem;
	border-radius: 0.5rem;
}
.public-cta {
	text-decoration: none;
	border: 2px solid var(--text);
	border-radius: 0.5rem;
	padding: 0.75rem 1rem;
	box-sizing: border-box;
	transition: background-color 0.15s ease;
}
.public-cta:hover,
.public-cta:active {
	background-color: rgba(128, 128, 128, 0.2);
}
.public-cta .arrow {
	font-size: 1.5rem;
	opacity: 0.6;
	padding-left: 1rem;
}
