
/* Word cloud base style */
.cloud-keyword {
	font-size: 1.2em;
	margin: 0.3em;
	display: inline-block;
	transition: background 0.2s, color 0.2s;
	cursor: pointer;
	border-radius: 0.3em;
	padding: 0.1em 0.5em;
}

/* Required (req) */
.cloud-keyword.req {
	color: #3273dc;
	font-weight: bold;
}
.cloud-keyword.selected.req {
	background: #3273dc;
	color: #fff !important;
	box-shadow: 0 0 0 2px #b5b5b5;
}

/* Elective (elec) */
.cloud-keyword.elec {
	color: #23d160;
}
.cloud-keyword.selected.elec {
	background: #23d160;
	color: #fff !important;
	box-shadow: 0 0 0 2px #b5b5b5;
}

/* Keyword (keyword) */
.cloud-keyword.keyword {
	color: #ff3860;
	font-style: italic;
	white-space: normal;
	word-break: break-word;
	font-size: 0.95em;
	padding: 0.05em 0.28em;
}
.cloud-keyword.selected.keyword {
	background: #ff3860;
	color: #fff !important;
	box-shadow: 0 0 0 2px #b5b5b5;
}

/* STEM Nova (nova) */
.cloud-keyword.nova {
	background: #FFF0FA;
	color: #FF6EC7;
	font-size: 1em;
	padding: 0.05em 0.35em;
}
.cloud-keyword.selected.nova {
	background: #FF6EC7;
	color: #fff !important;
	box-shadow: 0 0 0 2px #b5b5b5;
}

.tag.is-light {
	display: inline;
	white-space: normal;
	word-break: break-word;
	max-width: 100%;
	background: #f9f9f9;
	color: #363636;
	border-radius: 0.3em;
	padding: 0.1em 0.5em;
	box-sizing: border-box;
	background-clip: padding-box;
}

.adventure-group {
	margin-bottom: 1.2em;
}
.adventure-box {
	border-radius: 0.5em;
	box-shadow: 0 2px 8px rgba(50,115,220,0.06);
	padding: 0.7em 1em 0.5em 1em;
	border: 1px solid #e3e3e3;
	background: var(--rank-bg, #f5f7fa);
}
.adventure-title {
	font-size: 1.1em;
	font-weight: 600;
	color: var(--rank-color, #363636);
	margin-bottom: 0.1em;
}
.adventure-altname {
	font-size: 0.85em;
	font-style: italic;
	color: #888;
	background: #f9f9f9;
	border-radius: 0.3em;
	padding: 0.1em 0.5em;
	display: inline-block;
	margin-bottom: 0.3em;
	margin-left: 0.2em;
}
.requirement-desc {
	font-family: 'Fira Mono', 'Menlo', 'Consolas', 'Monaco', monospace;
	font-size: 0.85em;
	display: inline;
}
.rank-header {
	padding: 0.5em 0;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	border-radius: 0.5em 0.5em 0 0;
	margin-bottom: 0.5em;
	color: #fff;
	background: var(--rank-color, #363636);
}

/* QR code visibility: hide on mobile except when printing */
@media (max-width: 600px) {
	#qr-code-container {
		display: none !important;
	}
}

@media print {
	#qr-code-container {
		display: flex !important;
	}

  .cloud-keyword:not(.selected) {
    display: none !important;
  }
  #clear-btn,
  #copy-url-btn,
  #toggle-cloud-btn {
    display: none !important;
  }
  .requirements-empty-message {
    display: none !important;
  }
}
