/* SikerSuli Érettségi Gyakorló - frontend styles
   Written with !important throughout so that Elementor / theme styles
   cannot override the app's own design. */

.segy-app,
.segy-app * {
	box-sizing: border-box !important;
}

.segy-app {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	max-width: 780px !important;
	margin: 24px auto !important;
	padding: 24px !important;
	background: #FDFDFD !important;
	color: #26332B !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 14px !important;
	box-shadow: 0 2px 18px rgba(0, 0, 0, 0.08) !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	text-align: left !important;
	float: none !important;
}

.segy-app h3 {
	font-family: inherit !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #26332B !important;
	margin: 24px 0 10px !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}

.segy-app p {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: inherit !important;
}

.segy-app a {
	color: #0087AD !important;
	text-decoration: underline !important;
	background: none !important;
}

/* Group switcher (multi-teacher membership) */
#segy-group-switcher:empty {
	display: none !important;
}

#segy-group-switcher {
	margin: 0 0 16px !important;
}

.segy-group-switcher-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
}

.segy-app select#segy-group-select {
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1F2D24 !important;
	background: #F4F8F5 !important;
	border: 1px solid #D3DED7 !important;
	border-radius: 8px !important;
	padding: 6px 10px !important;
	cursor: pointer !important;
}

/* Tabs */
.segy-tabs {
	display: flex !important;
	gap: 8px !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	border-bottom: 2px solid #E7E7E7 !important;
}

.segy-tab-btn {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
	padding: 10px 16px !important;
	margin-bottom: -2px !important;
	border-bottom: 3px solid transparent !important;
	border-radius: 0 !important;
}

.segy-tab-btn.active,
.segy-tab-btn:hover {
	color: #26332B !important;
	border-bottom-color: #7CB56D !important;
}

.segy-tab-panel {
	display: none !important;
}

.segy-tab-panel.active {
	display: block !important;
}

/* Toolbar */
.segy-toolbar {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin: 0 0 18px !important;
}

.segy-toolbar-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.segy-toolbar-field label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
	margin: 0 !important;
}

.segy-app select#segy-topic-select {
	all: revert !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
	font-family: inherit !important;
	font-size: 15px !important;
	padding: 8px 12px !important;
	border: 1px solid #D8DED9 !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
	min-width: 200px !important;
}

/* Buttons */
.segy-app .segy-btn {
	all: unset !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-align: center !important;
	border-radius: 8px !important;
	padding: 10px 18px !important;
	line-height: 1.2 !important;
	transition: opacity 0.15s ease, transform 0.05s ease !important;
	white-space: nowrap !important;
}

.segy-app .segy-btn:active {
	transform: translateY(1px) !important;
}

.segy-app .segy-btn:hover {
	opacity: 0.88 !important;
}

.segy-app .segy-btn[disabled] {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
}

.segy-app .segy-btn-primary {
	background: #7CB56D !important;
	color: #FFFFFF !important;
}

.segy-app .segy-btn-secondary {
	background: #FFBF23 !important;
	color: #26332B !important;
}

.segy-app .segy-btn-outline {
	background: transparent !important;
	color: #26332B !important;
	border: 2px solid #D8DED9 !important;
}

/* Task card */
.segy-task-card {
	display: block !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 18px !important;
}

.segy-task-meta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin: 0 0 12px !important;
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-tag {
	display: inline-block !important;
	background: rgba(124, 181, 109, 0.15) !important;
	color: #4C7A3F !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
}

.segy-remaining {
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-image-wrap {
	width: 100% !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	background: #FFFFFF !important;
	margin: 0 0 8px !important;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.segy-task-image {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 70vh !important;
	margin: 0 auto !important;
	border: 0 !important;
	background: #FFFFFF !important;
}

.segy-image-fallback-link {
	display: inline-block !important;
	font-size: 13px !important;
	margin: 0 0 16px !important;
}

.segy-note-box {
	background: rgba(124, 181, 109, 0.10) !important;
	border: 1px solid #7CB56D !important;
	color: #2F5F24 !important;
	font-size: 14px !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 14px !important;
}

.segy-parts-answers {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin: 0 0 14px !important;
}

.segy-part-answer-row {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.segy-part-label {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #4C7A3F !important;
	margin: 0 !important;
}

.segy-app input.segy-answer-input {
	all: revert !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	font-family: inherit !important;
	font-size: 16px !important;
	padding: 10px 14px !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-app input.segy-answer-input:focus {
	outline: none !important;
	border-color: #7CB56D !important;
}

.segy-part-answer-row.segy-part-correct input.segy-answer-input,
.segy-part-answer-row.segy-part-correct .segy-graph-wrap {
	border-color: #7CB56D !important;
	background: rgba(124, 181, 109, 0.10) !important;
}

.segy-part-answer-row.segy-part-incorrect input.segy-answer-input,
.segy-part-answer-row.segy-part-incorrect .segy-graph-wrap {
	border-color: #D9534F !important;
	background: rgba(217, 83, 79, 0.08) !important;
}

.segy-graph-wrap {
	box-sizing: border-box !important;
	border: 2px solid transparent !important;
	border-radius: 8px !important;
	padding: 4px !important;
}

.segy-graph-svg {
	display: block !important;
	width: 100% !important;
	max-width: 420px !important;
	aspect-ratio: 100 / 60 !important;
	background: #FFFFFF !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	margin: 0 0 8px !important;
}

.segy-graph-point {
	fill: #7CB56D !important;
	stroke: #4C7A3F !important;
	stroke-width: 0.6 !important;
	cursor: pointer !important;
}

.segy-graph-point-selected {
	fill: #FFBF23 !important;
	stroke: #A87A00 !important;
}

.segy-graph-point-label {
	font-size: 5.5px !important;
	fill: #26332B !important;
	text-anchor: middle !important;
	pointer-events: none !important;
}

.segy-graph-edge-line {
	stroke: #4C7A3F !important;
	stroke-width: 0.9 !important;
}

.segy-graph-hint {
	font-size: 12px !important;
	color: #6B7A70 !important;
	margin: 0 0 8px !important;
}

.segy-graph-clear-btn {
	padding: 6px 12px !important;
	font-size: 13px !important;
}

.segy-func-wrap {
	box-sizing: border-box !important;
	border: 2px solid transparent !important;
	border-radius: 8px !important;
	padding: 4px !important;
}

.segy-func-svg {
	display: block !important;
	width: 100% !important;
	max-width: 340px !important;
	aspect-ratio: 1 / 1 !important;
	background: #FFFFFF !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	margin: 0 0 8px !important;
}

.segy-func-plot-area {
	fill: #FFFFFF !important;
	stroke: #D8DED9 !important;
	stroke-width: 1 !important;
}

.segy-func-grid-line {
	stroke: #EFEFEF !important;
	stroke-width: 0.6 !important;
}

.segy-func-axis-line {
	stroke: #6B7A70 !important;
	stroke-width: 1.1 !important;
}

.segy-func-axis-label {
	font-size: 9px !important;
	fill: #6B7A70 !important;
	text-anchor: middle !important;
}

.segy-func-axis-label-y {
	text-anchor: end !important;
}

.segy-func-polyline {
	fill: none !important;
	stroke: #4C7A3F !important;
	stroke-width: 2.2 !important;
}

.segy-func-point {
	fill: #FFBF23 !important;
	stroke: #A87A00 !important;
	stroke-width: 1 !important;
}

.segy-func-clear-btn {
	padding: 6px 12px !important;
	font-size: 13px !important;
}

.segy-boxplot-wrap {
	box-sizing: border-box !important;
	border: 2px solid transparent !important;
	border-radius: 8px !important;
	padding: 4px !important;
}

.segy-boxplot-svg {
	display: block !important;
	width: 100% !important;
	max-width: 520px !important;
	aspect-ratio: 400 / 250 !important;
	background: #FFFFFF !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	margin: 0 0 8px !important;
	touch-action: none !important;
}

.segy-boxplot-grid-line {
	stroke: #EFEFEF !important;
	stroke-width: 0.75 !important;
}

.segy-boxplot-axis-line {
	stroke: #6B7A70 !important;
	stroke-width: 1.2 !important;
}

.segy-boxplot-axis-label {
	font-size: 11px !important;
	fill: #6B7A70 !important;
	text-anchor: middle !important;
}

.segy-boxplot-whisker,
.segy-boxplot-cap {
	stroke: #4C7A3F !important;
	stroke-width: 1.4 !important;
}

.segy-boxplot-box {
	fill: rgba(124, 181, 109, 0.25) !important;
	stroke: #4C7A3F !important;
	stroke-width: 1.4 !important;
}

.segy-boxplot-median {
	stroke: #0087AD !important;
	stroke-width: 2 !important;
}

.segy-boxplot-handle {
	fill: #FFBF23 !important;
	stroke: #A87A00 !important;
	stroke-width: 1 !important;
	cursor: grab !important;
}

.segy-boxplot-handle:active {
	cursor: grabbing !important;
	fill: #7CB56D !important;
	stroke: #4C7A3F !important;
}

.segy-boxplot-value-label {
	font-size: 10px !important;
	font-weight: 600 !important;
	fill: #26332B !important;
	text-anchor: middle !important;
	pointer-events: none !important;
}

.segy-part-answer-row.segy-part-correct .segy-func-wrap {
	border-color: #7CB56D !important;
	background: rgba(124, 181, 109, 0.10) !important;
}

.segy-part-answer-row.segy-part-incorrect .segy-func-wrap {
	border-color: #D9534F !important;
	background: rgba(217, 83, 79, 0.08) !important;
}

.segy-char-toolbar {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	margin: 6px 0 0 !important;
}

.segy-app .segy-char-btn {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	min-width: 34px !important;
	text-align: center !important;
	padding: 6px 8px !important;
	border: 1px solid #D8DED9 !important;
	border-radius: 6px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-app .segy-char-btn:hover {
	border-color: #7CB56D !important;
	background: rgba(124, 181, 109, 0.10) !important;
}

#segy-submit-btn {
	margin: 0 0 14px !important;
}

#segy-feedback {
	margin-top: 6px !important;
}

.segy-result {
	font-weight: 700 !important;
	font-size: 16px !important;
	padding: 12px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 12px !important;
}

.segy-result-correct {
	background: rgba(124, 181, 109, 0.18) !important;
	color: #2F5F24 !important;
}

.segy-result-incorrect {
	background: rgba(217, 83, 79, 0.14) !important;
	color: #A5312B !important;
}

.segy-choice-buttons {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.segy-solution-box {
	background: #FFF8E4 !important;
	border: 1px solid #FFBF23 !important;
	color: #6B4E00 !important;
	padding: 12px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 12px !important;
}

.segy-loading,
.segy-empty,
.segy-error,
.segy-muted {
	color: #6B7A70 !important;
	font-style: italic !important;
}

.segy-error {
	color: #A5312B !important;
}

/* Review list */
.segy-review-list {
	list-style: none !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
}

.segy-review-list li {
	display: block !important;
	padding: 10px 12px !important;
	border-bottom: 1px solid #EFEFEF !important;
	font-size: 14px !important;
	color: #26332B !important;
}

.segy-review-list li:last-child {
	border-bottom: 0 !important;
}

.segy-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 20px !important;
	height: 20px !important;
	border-radius: 50% !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	margin-right: 6px !important;
}

.segy-badge-correct {
	background: #7CB56D !important;
	color: #FFFFFF !important;
}

.segy-badge-viewed {
	background: #FFBF23 !important;
	color: #26332B !important;
}

.segy-solution-inline {
	margin-top: 6px !important;
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-points-tag {
	background: rgba(255, 191, 35, 0.22) !important;
	color: #7A5900 !important;
}

.segy-part-points {
	font-weight: 400 !important;
	color: #6B7A70 !important;
}

.segy-points-feedback {
	font-weight: 700 !important;
	font-size: 14px !important;
	color: #7A5900 !important;
	margin: -6px 0 12px !important;
}

.segy-points-summary {
	background: rgba(255, 191, 35, 0.15) !important;
	border: 1px solid #FFBF23 !important;
	color: #6B4E00 !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 18px !important;
	font-size: 14px !important;
}

.segy-submit-results-wrap {
	margin-top: 22px !important;
	padding-top: 18px !important;
	border-top: 1px solid #E7E7E7 !important;
}

.segy-submit-results-wrap #segy-submit-results-feedback {
	margin-top: 10px !important;
}

/* Login required state */
.segy-login-required {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: linear-gradient(180deg, rgba(124, 181, 109, 0.10) 0%, rgba(253, 253, 253, 1) 60%) !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 40px 24px !important;
}

.segy-login-card {
	width: 100% !important;
	max-width: 360px !important;
	margin: 0 auto !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 28px rgba(38, 51, 43, 0.10) !important;
	padding: 32px 28px !important;
	text-align: center !important;
}

.segy-login-logo {
	display: block !important;
	width: 96px !important;
	height: auto !important;
	margin: 0 auto 14px !important;
}

.segy-login-title {
	font-family: inherit !important;
	font-size: 21px !important;
	font-weight: 800 !important;
	color: #2F5F24 !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	line-height: 1.25 !important;
}

.segy-login-required .segy-login-msg {
	font-weight: 500 !important;
	font-size: 14px !important;
	color: #6B7A70 !important;
	margin-bottom: 20px !important;
	text-align: center !important;
}

.segy-login-required form {
	text-align: left !important;
}

.segy-login-required form p {
	margin: 0 0 14px !important;
}

.segy-login-required form label {
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #4C7A3F !important;
	margin: 0 0 4px !important;
}

.segy-login-required input[type="text"],
.segy-login-required input[type="password"] {
	all: revert !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	font-family: inherit !important;
	font-size: 15px !important;
	padding: 10px 12px !important;
	border: 2px solid #D8DED9 !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-login-required input[type="text"]:focus,
.segy-login-required input[type="password"]:focus {
	outline: none !important;
	border-color: #7CB56D !important;
}

.segy-login-required .forgetmenot {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-login-required .login-remember input[type="checkbox"] {
	all: revert !important;
	margin: 0 !important;
}

.segy-login-required .login-submit {
	margin-top: 4px !important;
}

.segy-login-required input[type="submit"] {
	all: unset !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	text-align: center !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	background: #7CB56D !important;
	color: #FFFFFF !important;
	padding: 11px 18px !important;
	border-radius: 8px !important;
	transition: opacity 0.15s ease !important;
}

.segy-login-required input[type="submit"]:hover {
	opacity: 0.9 !important;
}

@media (max-width: 600px) {
	.segy-login-required {
		padding: 24px 16px !important;
	}

	.segy-login-card {
		padding: 26px 20px !important;
	}
}

/* Unified portal landing (role choice: "Diák vagyok" / "Tanár vagyok") */
.segy-portal-card {
	max-width: 400px !important;
}

.segy-portal-role-buttons {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin-top: 4px !important;
}

.segy-portal-role-buttons .segy-btn {
	width: 100% !important;
}

.segy-portal-login-panel {
	display: none !important;
	text-align: left !important;
}

.segy-portal-login-panel.segy-portal-visible {
	display: block !important;
}

.segy-portal-back {
	margin: 0 0 10px !important;
	text-align: left !important;
}

.segy-portal-back-link {
	font-size: 13px !important;
	font-weight: 600 !important;
}

.segy-portal-login-heading {
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	text-align: left !important;
}

/* Mock exam ("Próbavizsga") */

.segy-exam-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

.segy-exam-list-item {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 16px !important;
}

.segy-exam-list-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin: 0 0 6px !important;
}

.segy-exam-list-meta {
	font-size: 13px !important;
	color: #6B7A70 !important;
	margin: 0 0 10px !important;
}

.segy-exam-attempts-list {
	list-style: none !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-size: 14px !important;
}

.segy-exam-attempts-list li {
	padding: 4px 0 !important;
	border-bottom: 1px solid #EFEFEF !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
}

.segy-exam-review-btn {
	padding: 4px 10px !important;
	font-size: 12px !important;
}

.segy-exam-review-wrap {
	max-width: 720px !important;
	margin: 0 auto !important;
}

.segy-exam-review-back-btn {
	margin: 0 0 14px !important;
}

.segy-review-task-card {
	margin-bottom: 16px !important;
}

.segy-review-parts {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin-top: 10px !important;
}

.segy-review-part {
	border-radius: 10px !important;
	padding: 10px 12px !important;
	border: 2px solid transparent !important;
}

.segy-review-part-correct {
	background: rgba(124, 181, 109, 0.12) !important;
	border-color: rgba(124, 181, 109, 0.4) !important;
}

.segy-review-part-incorrect {
	background: rgba(217, 83, 79, 0.08) !important;
	border-color: rgba(217, 83, 79, 0.35) !important;
}

.segy-review-part-label {
	margin-bottom: 4px !important;
}

.segy-review-your-answer {
	font-size: 14px !important;
	color: #26332B !important;
}

.segy-review-correct-answer {
	font-size: 14px !important;
	color: #4C7A3F !important;
	margin-top: 4px !important;
	font-weight: 600 !important;
}

.segy-exam-wrap {
	display: flex !important;
	gap: 18px !important;
	align-items: flex-start !important;
}

.segy-exam-nav {
	position: sticky !important;
	top: 12px !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 6px !important;
	flex: 0 0 130px !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 10px !important;
	padding: 10px !important;
}

.segy-app .segy-exam-nav-item {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	padding: 8px 0 !important;
	border-radius: 6px !important;
	background: #F1F3F1 !important;
	color: #6B7A70 !important;
}

.segy-app .segy-exam-nav-item.segy-exam-nav-answered {
	background: rgba(124, 181, 109, 0.25) !important;
	color: #2F5F24 !important;
}

.segy-exam-main {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.segy-exam-deadline-note {
	font-size: 13px !important;
	color: #6B7A70 !important;
	margin: 0 0 12px !important;
}

.segy-exam-task-card {
	margin-bottom: 16px !important;
}

#segy-exam-submit-btn {
	margin: 6px 0 14px !important;
	width: 100% !important;
}

.segy-exam-result-box {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 20px !important;
	text-align: center !important;
}

.segy-exam-self-box {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 16px !important;
	margin: 0 0 16px !important;
}

.segy-exam-self-box h3 {
	margin: 0 0 6px !important;
}

.segy-exam-self-box p {
	font-size: 13px !important;
	color: #6B7A70 !important;
	margin: 0 0 12px !important;
}

.segy-exam-self-quota {
	font-size: 13px !important;
	color: #3A4A40 !important;
	background: #F3F7F4 !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	margin: 0 0 12px !important;
	display: inline-block !important;
}

.segy-exam-timer {
	grid-column: 1 / -1 !important;
	text-align: center !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	background: rgba(124, 181, 109, 0.18) !important;
	border-radius: 6px !important;
	padding: 8px 4px !important;
	margin-bottom: 4px !important;
}

.segy-exam-timer.segy-exam-timer-warning {
	color: #A32424 !important;
	background: rgba(211, 47, 47, 0.15) !important;
}

/* "Profilom" tab (XP / szint / jutalmak) */

.segy-profile-summary {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 12px !important;
	padding: 20px !important;
	text-align: center !important;
	margin-bottom: 18px !important;
}

.segy-profile-level-badge {
	display: inline-block !important;
	background: #7CB56D !important;
	color: #FFFFFF !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	padding: 6px 16px !important;
	border-radius: 999px !important;
	margin-bottom: 8px !important;
}

.segy-profile-level-name {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	margin-bottom: 10px !important;
}

.segy-profile-level-note {
	font-size: 13px !important;
	font-style: italic !important;
	color: #6B7A70 !important;
	margin-bottom: 12px !important;
}

.segy-profile-xp {
	font-size: 15px !important;
	margin-bottom: 12px !important;
}

.segy-profile-progress-wrap {
	background: #F1F3F1 !important;
	border-radius: 999px !important;
	height: 14px !important;
	overflow: hidden !important;
	margin-bottom: 8px !important;
}

.segy-profile-progress-bar {
	background: linear-gradient(90deg, #7CB56D, #0087AD) !important;
	height: 100% !important;
	border-radius: 999px !important;
	transition: width 0.3s ease !important;
}

.segy-profile-progress-label {
	font-size: 13px !important;
	color: #6B7A70 !important;
}

.segy-profile-pending-wrap {
	margin-bottom: 20px !important;
}

.segy-reward-pending {
	background: rgba(255, 191, 35, 0.15) !important;
	border: 1px solid #FFBF23 !important;
	border-radius: 10px !important;
	padding: 14px !important;
	margin-bottom: 12px !important;
	text-align: center !important;
}

.segy-reward-pending-note {
	font-size: 13px !important;
	font-style: italic !important;
	color: #6B7A70 !important;
	margin: 0 0 10px !important;
}

.segy-reward-options {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: center !important;
}

.segy-app .segy-reward-pick-btn {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	min-width: 140px !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.segy-app .segy-reward-pick-btn:hover {
	border-color: #7CB56D !important;
}

.segy-app .segy-reward-pick-btn:disabled {
	opacity: 0.6 !important;
	cursor: default !important;
}

.segy-reward-name {
	font-weight: 700 !important;
	color: #2F5F24 !important;
}

.segy-reward-desc {
	font-size: 12px !important;
	color: #6B7A70 !important;
}

.segy-xp-result-box {
	background: rgba(124, 181, 109, 0.12) !important;
	border: 1px solid #7CB56D !important;
	border-radius: 10px !important;
	padding: 14px !important;
	margin: 14px 0 !important;
	text-align: center !important;
}

.segy-xp-earned {
	font-size: 15px !important;
	margin: 0 0 6px !important;
}

.segy-level-up-title {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	margin: 0 0 10px !important;
}

.segy-profile-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin-bottom: 20px !important;
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}

.segy-profile-table th,
.segy-profile-table td {
	padding: 8px 10px !important;
	border-bottom: 1px solid #EFEFEF !important;
	font-size: 13px !important;
	text-align: left !important;
}

.segy-profile-table th {
	background: #F1F3F1 !important;
	font-weight: 700 !important;
}

@media (max-width: 700px) {
	.segy-exam-wrap {
		flex-direction: column !important;
	}

	.segy-exam-nav {
		position: static !important;
		width: 100% !important;
		flex: 1 1 auto !important;
		grid-template-columns: repeat(6, 1fr) !important;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.segy-app {
		margin: 0 !important;
		padding: 14px !important;
		border-radius: 0 !important;
		border-left: 0 !important;
		border-right: 0 !important;
		font-size: 15px !important;
	}

	.segy-tabs {
		gap: 4px !important;
	}

	.segy-tab-btn {
		flex: 1 1 auto !important;
		text-align: center !important;
		padding: 10px 8px !important;
		font-size: 14px !important;
	}

	.segy-toolbar {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.segy-toolbar-field,
	.segy-app select#segy-topic-select {
		width: 100% !important;
	}

	#segy-reset-btn {
		width: 100% !important;
	}

	.segy-task-card {
		padding: 12px !important;
	}

	.segy-task-image {
		max-height: 52vh !important;
	}

	#segy-submit-btn {
		width: 100% !important;
	}

	.segy-choice-buttons {
		flex-direction: column !important;
	}

	.segy-choice-buttons .segy-btn {
		width: 100% !important;
	}
}

/* ---------------------------------------------------------------------
 * Teacher panel ([sikersuli_erettsegi_tanar]) - reuses the same wp-admin
 * PHP renderers (form-table, widefat/striped tables, button classes,
 * notices, the levels/rewards builder markup + its JS) as the wp-admin
 * "Szintek és jutalmak" page, so those WordPress-core class names are
 * given minimal styling here, scoped to .segy-tp so nothing leaks out.
 * ------------------------------------------------------------------- */

.segy-tp {
	max-width: 980px !important;
}

.segy-tp h1 {
	font-size: 22px !important;
	margin: 0 0 6px !important;
}

.segy-tp h2 {
	font-size: 17px !important;
	margin: 22px 0 8px !important;
}

.segy-tp .description {
	color: #6B7A70 !important;
	font-size: 13px !important;
}

.segy-tp .segy-tp-nav {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 0 20px !important;
	padding: 0 0 12px !important;
	border-bottom: 2px solid #E7E7E7 !important;
}

.segy-tp .segy-tp-nav a {
	text-decoration: none !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: #6B7A70 !important;
	padding: 8px 14px !important;
	border-radius: 8px !important;
}

.segy-tp .segy-tp-nav a.active,
.segy-tp .segy-tp-nav a:hover {
	color: #FFFFFF !important;
	background: #7CB56D !important;
}

.segy-tp .notice {
	padding: 10px 14px !important;
	border-radius: 8px !important;
	margin: 0 0 16px !important;
	border-left: 4px solid #7CB56D !important;
	background: #F3F7F4 !important;
}

.segy-tp .notice-error {
	border-left-color: #B32D2E !important;
	background: #FBEDED !important;
}

.segy-tp table.widefat,
.segy-tp table.form-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 0 0 12px !important;
}

.segy-tp table.widefat th,
.segy-tp table.widefat td {
	border: 1px solid #E7E7E7 !important;
	padding: 8px 10px !important;
	text-align: left !important;
	font-size: 14px !important;
}

.segy-tp table.widefat.striped tbody tr:nth-child(odd) {
	background: #F7F9F7 !important;
}

.segy-tp table.form-table th {
	text-align: left !important;
	padding: 8px 10px 8px 0 !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	vertical-align: top !important;
	width: 260px !important;
}

.segy-tp table.form-table td {
	padding: 8px 0 !important;
}

.segy-tp input[type="text"],
.segy-tp input[type="email"],
.segy-tp input[type="number"],
.segy-tp input[type="password"],
.segy-tp select,
.segy-tp textarea {
	font-family: inherit !important;
	font-size: 14px !important;
	padding: 7px 10px !important;
	border: 1px solid #D8DED9 !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-tp .regular-text,
.segy-tp .widefat {
	width: 100% !important;
}

.segy-tp .button,
.segy-tp button {
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	border-radius: 8px !important;
	border: 1px solid #D8DED9 !important;
	background: #FFFFFF !important;
	color: #26332B !important;
	padding: 7px 14px !important;
}

.segy-tp .button-primary {
	background: #7CB56D !important;
	border-color: #7CB56D !important;
	color: #FFFFFF !important;
}

.segy-tp .button-secondary {
	background: #F3F7F4 !important;
}

.segy-tp .button-small {
	padding: 4px 10px !important;
	font-size: 13px !important;
}

.segy-tp .button-link,
.segy-tp .button-link-delete {
	background: none !important;
	border: none !important;
	padding: 2px 4px !important;
	color: #6B7A70 !important;
	text-decoration: underline !important;
}

.segy-tp .button-link-delete {
	color: #B32D2E !important;
}

.segy-tp .segy-level-box {
	border: 1px solid #E7E7E7 !important;
	border-radius: 10px !important;
	padding: 14px !important;
	margin: 0 0 14px !important;
}

.segy-tp .segy-part-fields-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin: 10px 0 !important;
}

.segy-tp .segy-part-fields-row > p {
	flex: 1 1 220px !important;
	margin: 0 !important;
}

.segy-tp .segy-part-fields-row label,
.segy-tp .segy-part-label-field label {
	display: block !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	margin-bottom: 4px !important;
}

.segy-tp .segy-reward-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
	margin: 6px 0 !important;
}

.segy-tp .segy-reward-row input {
	flex: 1 1 160px !important;
}

/* =====================================================================
   Visual refresh - animated background blobs, glassy modern card shell,
   gradient buttons, entrance animations, celebratory XP/level-up state.
   Appended after every rule above so it wins the cascade (same
   specificity + !important, later source order wins) without needing
   to touch the sections above. Works identically on phone/tablet/desktop
   since .segy-app is the same element in every context (student app,
   teacher panel, login/portal screens).
   ===================================================================== */

@media (prefers-reduced-motion: reduce) {
	.segy-blob,
	.segy-app::after,
	.segy-tab-btn,
	.segy-app .segy-btn,
	.segy-task-card,
	.segy-exam-list-item,
	.segy-exam-self-box,
	.segy-exam-result-box,
	.segy-profile-summary,
	.segy-profile-progress-bar,
	.segy-profile-level-badge,
	.segy-xp-result-box,
	.segy-xp-result-box::before,
	.segy-level-up-title,
	.segy-reward-pending,
	.segy-app .segy-reward-pick-btn,
	.segy-portal-login-panel,
	.segy-loading::before {
		animation: none !important;
		transition: none !important;
	}
}

/* --- App shell: rounder, softer, roomier shadow, subtle tinted wash so
   the background blobs read nicely in the empty space between cards --- */
.segy-app {
	border-radius: 22px !important;
	background: linear-gradient(180deg, rgba(124, 181, 109, 0.07) 0%, #FDFDFD 280px) !important;
	box-shadow: 0 1px 2px rgba(38, 51, 43, 0.04), 0 16px 40px -14px rgba(38, 51, 43, 0.22) !important;
	border-color: rgba(231, 231, 231, 0.7) !important;
}

/* The login/portal hero variant stays intentionally flat and borderless
   (it's a full-bleed section wrapping its own smaller, already-shadowed
   .segy-login-card) - restore that after the generic card shadow above. */
.segy-app.segy-login-required {
	box-shadow: none !important;
	border: 0 !important;
}

/* Thin animated gradient accent line along the top edge - radius matches
   the card's own so it doesn't need overflow:hidden on .segy-app itself
   (which would risk fighting the sticky exam-nav sidebar). */
.segy-app::after {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	border-radius: 22px 22px 0 0 !important;
	background: linear-gradient(90deg, #7CB56D, #0087AD, #FFBF23, #7CB56D) !important;
	background-size: 300% 100% !important;
	animation: segy-gradient-slide 8s linear infinite !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

@keyframes segy-gradient-slide {
	0% { background-position: 0% 0%; }
	100% { background-position: 300% 0%; }
}

/* --- Animated background blobs (own overflow:hidden wrapper, so
   .segy-app itself never needs overflow changes) --- */
.segy-bg-blobs {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: -1 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	border-radius: inherit !important;
}

.segy-blob {
	position: absolute !important;
	border-radius: 50% !important;
	filter: blur(60px) !important;
	opacity: 0.4 !important;
	will-change: transform !important;
}

.segy-blob-1 {
	width: 280px !important;
	height: 280px !important;
	top: -70px !important;
	left: -60px !important;
	background: radial-gradient(circle at 35% 35%, #7CB56D, transparent 70%) !important;
	animation: segy-float-1 21s ease-in-out infinite !important;
}

.segy-blob-2 {
	width: 240px !important;
	height: 240px !important;
	top: 8% !important;
	right: -70px !important;
	background: radial-gradient(circle at 55% 45%, #0087AD, transparent 70%) !important;
	animation: segy-float-2 26s ease-in-out infinite !important;
}

.segy-blob-3 {
	width: 260px !important;
	height: 260px !important;
	bottom: -80px !important;
	left: 18% !important;
	background: radial-gradient(circle at 50% 50%, #FFBF23, transparent 70%) !important;
	animation: segy-float-3 29s ease-in-out infinite !important;
}

.segy-blob-4 {
	width: 200px !important;
	height: 200px !important;
	bottom: 4% !important;
	right: 8% !important;
	background: radial-gradient(circle at 45% 55%, #7CB56D, transparent 70%) !important;
	animation: segy-float-4 24s ease-in-out infinite !important;
}

@keyframes segy-float-1 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(35px, 40px) scale(1.12); }
}

@keyframes segy-float-2 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-30px, 35px) scale(0.92); }
}

@keyframes segy-float-3 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(25px, -35px) scale(1.08); }
}

@keyframes segy-float-4 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-20px, -25px) scale(1.06); }
}

/* --- Buttons: gradient fill, lift-on-hover, press feedback --- */
.segy-app .segy-btn {
	border-radius: 12px !important;
	padding: 12px 20px !important;
	letter-spacing: 0.2px !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
	box-shadow: 0 2px 6px rgba(38, 51, 43, 0.08) !important;
}

.segy-app .segy-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 22px rgba(38, 51, 43, 0.16) !important;
	opacity: 1 !important;
}

.segy-app .segy-btn:active {
	transform: translateY(0) scale(0.97) !important;
	box-shadow: 0 2px 6px rgba(38, 51, 43, 0.10) !important;
}

.segy-app .segy-btn-primary {
	background: linear-gradient(135deg, #8BC97C 0%, #7CB56D 55%, #5C9A4D 100%) !important;
	box-shadow: 0 4px 14px rgba(124, 181, 109, 0.4) !important;
}

.segy-app .segy-btn-primary:hover {
	box-shadow: 0 12px 26px rgba(124, 181, 109, 0.45) !important;
}

.segy-app .segy-btn-secondary {
	background: linear-gradient(135deg, #FFD262 0%, #FFBF23 60%, #F0A800 100%) !important;
	box-shadow: 0 4px 14px rgba(255, 191, 35, 0.35) !important;
}

.segy-app .segy-btn-secondary:hover {
	box-shadow: 0 12px 26px rgba(255, 191, 35, 0.4) !important;
}

.segy-app .segy-btn-outline {
	background: #FFFFFF !important;
	border-width: 2px !important;
}

.segy-app .segy-btn-outline:hover {
	border-color: #7CB56D !important;
	background: rgba(124, 181, 109, 0.06) !important;
}

/* --- Tabs: soft pill highlight behind the active tab --- */
.segy-tab-btn {
	border-radius: 10px 10px 0 0 !important;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease !important;
}

.segy-tab-btn.active {
	background: rgba(124, 181, 109, 0.10) !important;
}

.segy-tp-nav a {
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* --- Loading state: small spinning ring instead of plain italic text --- */
.segy-loading {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-style: normal !important;
}

.segy-loading::before {
	content: "" !important;
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	border: 2px solid rgba(124, 181, 109, 0.25) !important;
	border-top-color: #7CB56D !important;
	border-radius: 50% !important;
	animation: segy-spin 0.7s linear infinite !important;
	flex: 0 0 auto !important;
}

@keyframes segy-spin {
	to { transform: rotate(360deg); }
}

/* --- Entrance animation + hover lift for card-like surfaces --- */
@keyframes segy-fade-up {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}

.segy-task-card,
.segy-exam-list-item,
.segy-exam-self-box,
.segy-exam-result-box,
.segy-profile-summary {
	border-radius: 16px !important;
	animation: segy-fade-up 0.45s ease both !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.segy-task-card:hover,
.segy-exam-list-item:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 12px 26px rgba(38, 51, 43, 0.10) !important;
}

.segy-exam-list-item:nth-child(1) { animation-delay: 0s !important; }
.segy-exam-list-item:nth-child(2) { animation-delay: 0.05s !important; }
.segy-exam-list-item:nth-child(3) { animation-delay: 0.1s !important; }
.segy-exam-list-item:nth-child(4) { animation-delay: 0.15s !important; }
.segy-exam-list-item:nth-child(5) { animation-delay: 0.2s !important; }
.segy-exam-list-item:nth-child(n+6) { animation-delay: 0.25s !important; }

/* --- Progress bar: gradient shimmer fill --- */
.segy-profile-progress-wrap {
	height: 16px !important;
	background: #EEF2EE !important;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.segy-profile-progress-bar {
	background: linear-gradient(90deg, #7CB56D, #0087AD, #7CB56D) !important;
	background-size: 200% 100% !important;
	box-shadow: 0 0 8px rgba(0, 135, 173, 0.35) !important;
	animation: segy-shimmer 2.4s linear infinite !important;
}

@keyframes segy-shimmer {
	0% { background-position: 0% 0%; }
	100% { background-position: 200% 0%; }
}

/* --- Level badge: gradient + soft pulsing glow --- */
.segy-profile-summary {
	background: linear-gradient(160deg, #FFFFFF 0%, #F6FBF4 100%) !important;
}

.segy-profile-level-badge {
	background: linear-gradient(135deg, #8BC97C, #5C9A4D) !important;
	box-shadow: 0 4px 14px rgba(124, 181, 109, 0.45) !important;
	font-size: 15px !important;
	padding: 8px 20px !important;
	animation: segy-badge-pulse 3s ease-in-out infinite !important;
}

@keyframes segy-badge-pulse {
	0%, 100% { box-shadow: 0 4px 14px rgba(124, 181, 109, 0.45); }
	50% { box-shadow: 0 4px 22px rgba(124, 181, 109, 0.7); }
}

/* --- XP earned / level-up: celebratory gradient card with a drifting
   sparkle-dot pattern behind the text --- */
.segy-xp-result-box {
	background: linear-gradient(135deg, rgba(124, 181, 109, 0.16), rgba(255, 191, 35, 0.16)) !important;
	border: 1px solid rgba(124, 181, 109, 0.4) !important;
	border-radius: 16px !important;
	position: relative !important;
	overflow: hidden !important;
}

.segy-xp-result-box::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background-image:
		radial-gradient(circle, #7CB56D 2px, transparent 2.5px),
		radial-gradient(circle, #0087AD 2px, transparent 2.5px),
		radial-gradient(circle, #FFBF23 2px, transparent 2.5px) !important;
	background-size: 40px 40px, 55px 55px, 32px 32px !important;
	background-position: 0 0, 20px 30px, 35px 10px !important;
	opacity: 0.25 !important;
	animation: segy-sparkle-drift 6s linear infinite !important;
	pointer-events: none !important;
}

.segy-xp-result-box > * {
	position: relative !important;
	z-index: 1 !important;
}

@keyframes segy-sparkle-drift {
	from { background-position: 0 0, 20px 30px, 35px 10px; }
	to { background-position: 40px 40px, -35px -25px, 67px 42px; }
}

.segy-level-up-title {
	font-size: 19px !important;
	animation: segy-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both !important;
}

@keyframes segy-pop {
	0% { transform: scale(0.6); opacity: 0; }
	70% { transform: scale(1.08); opacity: 1; }
	100% { transform: scale(1); }
}

/* --- Reward cards: rounder, gradient tint, lift on hover --- */
.segy-reward-pending {
	border-radius: 14px !important;
	background: linear-gradient(135deg, rgba(255, 191, 35, 0.14), rgba(255, 210, 98, 0.06)) !important;
}

.segy-app .segy-reward-pick-btn {
	border-radius: 12px !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
}

.segy-app .segy-reward-pick-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 18px rgba(124, 181, 109, 0.2) !important;
	border-color: #7CB56D !important;
}

/* --- Unified portal landing: smooth crossfade between the intro choice
   and whichever login form was picked, instead of an instant swap --- */
#segy-portal-intro {
	transition: opacity 0.2s ease !important;
}

#segy-portal-intro.segy-portal-intro-hidden {
	display: none !important;
}

.segy-portal-login-panel.segy-portal-visible {
	animation: segy-fade-up 0.35s ease both !important;
}

.segy-portal-role-buttons .segy-btn {
	animation: segy-fade-up 0.4s ease both !important;
}

.segy-portal-role-buttons .segy-btn:nth-child(2) {
	animation-delay: 0.06s !important;
}

/* --- Mobile: keep the edge-to-edge full-bleed feel but tune the new
   decorative bits down so they stay tasteful on small screens --- */
@media (max-width: 600px) {
	.segy-app {
		border-radius: 0 !important;
		margin: 0 !important;
	}

	.segy-app::after {
		border-radius: 0 !important;
	}

	.segy-bg-blobs {
		border-radius: 0 !important;
	}

	.segy-blob {
		filter: blur(40px) !important;
	}

	.segy-blob-1,
	.segy-blob-3 {
		width: 190px !important;
		height: 190px !important;
	}

	.segy-blob-2,
	.segy-blob-4 {
		width: 150px !important;
		height: 150px !important;
	}

	.segy-app .segy-btn {
		padding: 13px 18px !important;
		font-size: 16px !important;
	}

	.segy-task-card:hover,
	.segy-exam-list-item:hover {
		transform: none !important;
	}
}

/* =====================================================================
   Teacher panel polish - the reused wp-admin markup (form-table,
   widefat tables, .button) previously had almost no visual grouping,
   which read as disjointed, and the wide tables/label+input rows had
   no mobile handling and could overflow the card on narrow screens.
   This section groups each block into a proper card, makes wide
   tables scroll within themselves instead of pushing the page wide,
   and stacks label/input rows on narrow screens. Appended after the
   base .segy-tp rules above so it wins the cascade.
   ===================================================================== */

.segy-tp-section {
	background: #FFFFFF !important;
	border: 1px solid #E7E7E7 !important;
	border-radius: 16px !important;
	padding: 18px 20px !important;
	margin: 0 0 18px !important;
	box-shadow: 0 2px 10px rgba(38, 51, 43, 0.05) !important;
	animation: segy-fade-up 0.4s ease both !important;
	max-width: 100% !important;
	overflow: hidden !important;
}

.segy-tp-section > h2:first-child,
.segy-tp-section > p.description:first-child + h2 {
	margin-top: 0 !important;
}

.segy-tp-section table.form-table,
.segy-tp-section table.widefat {
	margin-bottom: 0 !important;
}

.segy-tp-section + .segy-tp-section {
	margin-top: 0 !important;
}

/* Wide tables scroll within their own box instead of overflowing the
   card (and therefore the phone screen) - the classic responsive-table
   fix, applied without changing the table markup itself. */
.segy-tp-table-scroll {
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
	border-radius: 10px !important;
	border: 1px solid #E7E7E7 !important;
}

.segy-tp-table-scroll table.widefat {
	margin: 0 !important;
	border: 0 !important;
	min-width: 480px !important;
}

.segy-tp-table-scroll table.widefat th,
.segy-tp-table-scroll table.widefat td {
	border: 0 !important;
	border-bottom: 1px solid #EFEFEF !important;
	white-space: nowrap !important;
}

.segy-tp-table-scroll table.widefat thead th {
	background: #F3F7F4 !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
}

.segy-tp-table-scroll table.widefat tbody tr:last-child td {
	border-bottom: 0 !important;
}

/* Buttons: bring the wp-admin-style .button family visually in line
   with the rest of the app's gradient/lift buttons. */
.segy-tp .button,
.segy-tp button {
	border-radius: 10px !important;
	box-shadow: 0 2px 6px rgba(38, 51, 43, 0.08) !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease !important;
}

.segy-tp .button:hover,
.segy-tp button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 18px rgba(38, 51, 43, 0.14) !important;
}

.segy-tp .button:active,
.segy-tp button:active {
	transform: translateY(0) scale(0.97) !important;
}

.segy-tp .button-primary {
	background: linear-gradient(135deg, #8BC97C 0%, #7CB56D 55%, #5C9A4D 100%) !important;
	border-color: transparent !important;
	box-shadow: 0 4px 14px rgba(124, 181, 109, 0.35) !important;
}

.segy-tp .button-secondary {
	background: linear-gradient(135deg, #FFFFFF, #EFF6F0) !important;
	border-color: #CFE3D2 !important;
}

.segy-tp .button-link-delete:hover {
	opacity: 0.75 !important;
}

/* Section nav + headings: a little more breathing room and weight so
   the panel reads as designed rather than a raw list of admin forms. */
.segy-tp h1 {
	letter-spacing: 0.1px !important;
}

.segy-tp h2 {
	color: #2F5F24 !important;
}

.segy-tp .notice {
	animation: segy-fade-up 0.35s ease both !important;
}

/* Mobile: stack the wp-admin-style label/input rows instead of letting
   the fixed 260px label column push the row wider than the screen -
   this is the concrete fix for fields "sliding out of frame" on phones. */
@media (max-width: 640px) {
	.segy-tp-section {
		padding: 14px 16px !important;
		border-radius: 12px !important;
	}

	.segy-tp table.form-table,
	.segy-tp table.form-table tbody,
	.segy-tp table.form-table tr,
	.segy-tp table.form-table th,
	.segy-tp table.form-table td {
		display: block !important;
		width: 100% !important;
	}

	.segy-tp table.form-table tr {
		margin-bottom: 12px !important;
	}

	.segy-tp table.form-table th {
		padding: 0 0 6px !important;
	}

	.segy-tp table.form-table td {
		padding: 0 !important;
	}

	.segy-tp table.form-table input,
	.segy-tp table.form-table select,
	.segy-tp table.form-table textarea {
		width: 100% !important;
		max-width: 100% !important;
	}

	.segy-tp .segy-tp-nav {
		gap: 6px !important;
	}

	.segy-tp .segy-tp-nav a {
		flex: 1 1 auto !important;
		text-align: center !important;
		padding: 8px 6px !important;
		font-size: 13px !important;
	}
}

/* =====================================================================
   Logout link inside the app itself - once the WP admin toolbar is
   hidden for students/teachers, this is their only way to log out.
   ===================================================================== */
.segy-app-topbar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 0 12px !important;
}

.segy-theme-switcher-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
}

.segy-app select#segy-theme-select {
	font-size: 13px !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	border: 1px solid #D8DED9 !important;
	background: #FFFFFF !important;
	color: #26332B !important;
}

.segy-app .segy-logout-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6B7A70 !important;
	text-decoration: none !important;
	background: rgba(107, 122, 112, 0.08) !important;
	padding: 6px 14px !important;
	border-radius: 999px !important;
	transition: background 0.15s ease, color 0.15s ease !important;
}

.segy-app .segy-logout-link::before {
	content: "\2192" !important;
	display: inline-block !important;
	transform: scaleX(-1) !important;
}

.segy-app .segy-logout-link:hover {
	background: rgba(179, 45, 46, 0.12) !important;
	color: #A5312B !important;
}

@media (max-width: 600px) {
	.segy-app-topbar {
		margin: 0 0 10px !important;
	}

	.segy-app .segy-logout-link {
		font-size: 12px !important;
		padding: 5px 12px !important;
	}
}

/* ==========================================================================
   Star Wars téma
   Csak színpaletta + animált csillagos háttér - nem a valódi Star Wars
   logó/betűtípus/karakterek másolata, saját, generikus sci-fi kinézet.
   Minden szabály ".segy-app.segy-theme-starwars ..." előtaggal indul, így
   a specifikusságuk mindig felülírja az alap (általában egy osztályos)
   szabályokat, forrássorrendtől függetlenül.
   ========================================================================== */

.segy-app.segy-theme-starwars {
	background-color: #05070d !important;
	background-image:
		radial-gradient(1.6px 1.6px at 8% 18%, rgba(255, 255, 255, 0.9) 1px, transparent 1.6px),
		radial-gradient(1.2px 1.2px at 22% 62%, rgba(255, 255, 255, 0.7) 1px, transparent 1.6px),
		radial-gradient(1.8px 1.8px at 38% 30%, rgba(255, 255, 255, 0.85) 1px, transparent 1.8px),
		radial-gradient(1.2px 1.2px at 54% 82%, rgba(255, 255, 255, 0.6) 1px, transparent 1.6px),
		radial-gradient(1.5px 1.5px at 68% 12%, rgba(255, 255, 255, 0.8) 1px, transparent 1.6px),
		radial-gradient(1.2px 1.2px at 82% 55%, rgba(255, 255, 255, 0.65) 1px, transparent 1.6px),
		radial-gradient(1.6px 1.6px at 92% 78%, rgba(255, 255, 255, 0.75) 1px, transparent 1.8px),
		radial-gradient(1.2px 1.2px at 12% 92%, rgba(255, 255, 255, 0.55) 1px, transparent 1.6px),
		linear-gradient(160deg, #060912 0%, #0b1730 55%, #05070d 100%) !important;
	background-repeat: repeat, repeat, repeat, repeat, repeat, repeat, repeat, repeat, no-repeat !important;
	background-size: 220px 220px, 220px 220px, 220px 220px, 220px 220px, 220px 220px, 220px 220px, 220px 220px, 220px 220px, 100% 100% !important;
	animation: segy-sw-drift 140s linear infinite !important;
	color: #E9EDF7 !important;
	border-color: rgba(255, 209, 63, 0.3) !important;
	box-shadow: 0 0 0 1px rgba(79, 195, 247, 0.12), 0 8px 34px rgba(0, 0, 0, 0.6) !important;
}

@keyframes segy-sw-drift {
	from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0; }
	to   { background-position: -220px -140px, 180px -220px, -160px 200px, 220px 160px, -200px -180px, 160px 220px, -180px -160px, 200px -200px, 0 0; }
}

.segy-app.segy-theme-starwars h3,
.segy-app.segy-theme-starwars h1,
.segy-app.segy-theme-starwars h2,
.segy-app.segy-theme-starwars p,
.segy-app.segy-theme-starwars label {
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars a {
	color: #4FC3F7 !important;
}.segy-app.segy-theme-starwars .segy-loading,
.segy-app.segy-theme-starwars .segy-empty,
.segy-app.segy-theme-starwars .segy-muted,
.segy-app.segy-theme-starwars .segy-remaining,
.segy-app.segy-theme-starwars .segy-toolbar-field label,
.segy-app.segy-theme-starwars .segy-group-switcher-label,
.segy-app.segy-theme-starwars .segy-theme-switcher-label,
.segy-app.segy-theme-starwars .segy-task-meta,
.segy-app.segy-theme-starwars .segy-exam-list-meta,
.segy-app.segy-theme-starwars .segy-tp .description,
.segy-app.segy-theme-starwars.segy-tp .description {
	color: #9AA9CC !important;
}

.segy-app.segy-theme-starwars .segy-error {
	color: #FF6B6B !important;
}

/* Fülek */
.segy-app.segy-theme-starwars .segy-tabs {
	border-bottom-color: rgba(255, 209, 63, 0.25) !important;
}

.segy-app.segy-theme-starwars .segy-tab-btn {
	color: #9AA9CC !important;
}

.segy-app.segy-theme-starwars .segy-tab-btn.active,
.segy-app.segy-theme-starwars .segy-tab-btn:hover {
	color: #FFE81F !important;
	border-bottom-color: #FFE81F !important;
}

/* Kártyák / dobozok */
.segy-app.segy-theme-starwars .segy-task-card,
.segy-app.segy-theme-starwars .segy-exam-list-item,
.segy-app.segy-theme-starwars .segy-exam-self-box,
.segy-app.segy-theme-starwars .segy-exam-result-box,
.segy-app.segy-theme-starwars .segy-exam-task-card,
.segy-app.segy-theme-starwars .segy-profile-summary,
.segy-app.segy-theme-starwars .segy-review-task-card,
.segy-app.segy-theme-starwars .segy-solution-box,
.segy-app.segy-theme-starwars .segy-xp-result-box,
.segy-app.segy-theme-starwars .segy-reward-pending,
.segy-app.segy-theme-starwars .segy-portal-card,
.segy-app.segy-theme-starwars .segy-image-wrap,
.segy-app.segy-theme-starwars .segy-tp-section {
	background: rgba(14, 20, 38, 0.92) !important;
	border-color: rgba(255, 209, 63, 0.28) !important;
	box-shadow: 0 0 0 1px rgba(79, 195, 247, 0.08), 0 6px 18px rgba(0, 0, 0, 0.45) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-note-box {
	background: rgba(79, 195, 247, 0.1) !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
	color: #CFE9FB !important;
}

.segy-app.segy-theme-starwars .segy-tag,
.segy-app.segy-theme-starwars .segy-points-tag,
.segy-app.segy-theme-starwars .segy-badge {
	background: rgba(255, 232, 31, 0.15) !important;
	color: #FFE81F !important;
}

.segy-app.segy-theme-starwars .segy-badge-correct {
	background: rgba(93, 222, 141, 0.18) !important;
	color: #5DDE8D !important;
}

.segy-app.segy-theme-starwars .segy-badge-viewed {
	background: rgba(79, 195, 247, 0.18) !important;
	color: #4FC3F7 !important;
}

/* Gombok */
.segy-app.segy-theme-starwars .segy-btn-primary,
.segy-app.segy-theme-starwars .segy-reward-pick-btn {
	background: linear-gradient(135deg, #FFE81F, #E8A200) !important;
	color: #1A1300 !important;
	box-shadow: 0 0 16px rgba(255, 232, 31, 0.45) !important;
}

.segy-app.segy-theme-starwars .segy-btn-secondary {
	background: linear-gradient(135deg, #4FC3F7, #2C7DBE) !important;
	color: #071322 !important;
}

.segy-app.segy-theme-starwars .segy-btn-outline {
	background: rgba(79, 195, 247, 0.08) !important;
	color: #CFE9FB !important;
	border-color: rgba(79, 195, 247, 0.55) !important;
}

.segy-app.segy-theme-starwars .segy-btn[disabled] {
	box-shadow: none !important;
}

.segy-app.segy-theme-starwars .segy-char-btn {
	background: rgba(79, 195, 247, 0.1) !important;
	color: #CFE9FB !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
}

/* Bemeneti mezők, legördülők */
.segy-app.segy-theme-starwars select,
.segy-app.segy-theme-starwars input[type="text"],
.segy-app.segy-theme-starwars input[type="number"],
.segy-app.segy-theme-starwars input.segy-answer-input,
.segy-app.segy-theme-starwars textarea {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars input.segy-answer-input:focus {
	border-color: #FFE81F !important;
	box-shadow: 0 0 0 3px rgba(255, 232, 31, 0.2) !important;
}

.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-correct input.segy-answer-input,
.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-correct .segy-graph-wrap,
.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-correct .segy-func-wrap,
.segy-app.segy-theme-starwars .segy-review-part-correct {
	border-color: rgba(93, 222, 141, 0.6) !important;
	background: rgba(93, 222, 141, 0.08) !important;
}

.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-incorrect input.segy-answer-input,
.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-incorrect .segy-graph-wrap,
.segy-app.segy-theme-starwars .segy-part-answer-row.segy-part-incorrect .segy-func-wrap,
.segy-app.segy-theme-starwars .segy-review-part-incorrect {
	border-color: rgba(255, 107, 107, 0.6) !important;
	background: rgba(255, 107, 107, 0.08) !important;
}

.segy-app.segy-theme-starwars .segy-result-correct {
	color: #5DDE8D !important;
}

.segy-app.segy-theme-starwars .segy-result-incorrect {
	color: #FF6B6B !important;
}

/* Grafikon / függvény / sodrófa rajzterületek */
.segy-app.segy-theme-starwars .segy-graph-wrap,
.segy-app.segy-theme-starwars .segy-func-wrap,
.segy-app.segy-theme-starwars .segy-boxplot-wrap {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.3) !important;
}

.segy-app.segy-theme-starwars .segy-graph-svg,
.segy-app.segy-theme-starwars .segy-func-svg,
.segy-app.segy-theme-starwars .segy-boxplot-svg {
	background: transparent !important;
}

.segy-app.segy-theme-starwars .segy-func-grid-line,
.segy-app.segy-theme-starwars .segy-boxplot-grid-line {
	stroke: rgba(79, 195, 247, 0.15) !important;
}

.segy-app.segy-theme-starwars .segy-func-axis-line,
.segy-app.segy-theme-starwars .segy-boxplot-axis-line {
	stroke: rgba(154, 169, 204, 0.6) !important;
}

.segy-app.segy-theme-starwars .segy-func-axis-label,
.segy-app.segy-theme-starwars .segy-func-axis-label-y,
.segy-app.segy-theme-starwars .segy-boxplot-axis-label,
.segy-app.segy-theme-starwars .segy-boxplot-value-label {
	fill: #9AA9CC !important;
}

.segy-app.segy-theme-starwars .segy-graph-point,
.segy-app.segy-theme-starwars .segy-func-point {
	fill: #FFE81F !important;
	stroke: #1A1300 !important;
}

.segy-app.segy-theme-starwars .segy-graph-point-selected {
	fill: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars .segy-graph-point-label {
	fill: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-graph-edge-line,
.segy-app.segy-theme-starwars .segy-func-polyline {
	stroke: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars .segy-boxplot-box {
	fill: rgba(79, 195, 247, 0.25) !important;
	stroke: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars .segy-boxplot-whisker,
.segy-app.segy-theme-starwars .segy-boxplot-cap {
	stroke: #9AA9CC !important;
}

.segy-app.segy-theme-starwars .segy-boxplot-median {
	stroke: #FFE81F !important;
}

.segy-app.segy-theme-starwars .segy-boxplot-handle {
	fill: #FFE81F !important;
	stroke: #1A1300 !important;
}

.segy-app.segy-theme-starwars .segy-graph-clear-btn,
.segy-app.segy-theme-starwars .segy-func-clear-btn {
	color: #FF6B6B !important;
}

/* Szint jelvény / XP sáv */
.segy-app.segy-theme-starwars .segy-profile-level-badge {
	background: linear-gradient(135deg, #FFE81F, #E8A200) !important;
	color: #1A1300 !important;
	box-shadow: 0 0 18px rgba(255, 232, 31, 0.5) !important;
}

.segy-app.segy-theme-starwars .segy-profile-progress-wrap {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.3) !important;
}

.segy-app.segy-theme-starwars .segy-profile-progress-bar {
	background: linear-gradient(90deg, #4FC3F7, #FFE81F) !important;
	box-shadow: 0 0 10px rgba(255, 232, 31, 0.4) !important;
}

.segy-app.segy-theme-starwars .segy-profile-table th,
.segy-app.segy-theme-starwars .segy-profile-table td {
	border-color: rgba(79, 195, 247, 0.2) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-profile-table th {
	background: rgba(79, 195, 247, 0.12) !important;
}

/* Vizsga nézet */
.segy-app.segy-theme-starwars .segy-exam-nav-item {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.3) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-exam-nav-item.segy-exam-nav-answered {
	background: rgba(93, 222, 141, 0.18) !important;
	border-color: rgba(93, 222, 141, 0.5) !important;
}

.segy-app.segy-theme-starwars .segy-exam-timer {
	background: rgba(79, 195, 247, 0.12) !important;
	color: #CFE9FB !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
}

.segy-app.segy-theme-starwars .segy-exam-timer.segy-exam-timer-warning {
	background: rgba(255, 107, 107, 0.18) !important;
	color: #FF6B6B !important;
	border-color: rgba(255, 107, 107, 0.5) !important;
}/* Tanári panel */
.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a,
.segy-app.segy-theme-starwars .segy-tp .segy-tp-nav a,
.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a {
	color: #9AA9CC !important;
}.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a.active,
.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a:hover,
.segy-app.segy-theme-starwars .segy-tp .segy-tp-nav a.active,
.segy-app.segy-theme-starwars .segy-tp .segy-tp-nav a:hover,
.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a.active,
.segy-app.segy-theme-starwars.segy-tp .segy-tp-nav a:hover {
	color: #FFE81F !important;
	border-bottom-color: #FFE81F !important;
}.segy-app.segy-theme-starwars .segy-tp table.widefat,
.segy-app.segy-theme-starwars .segy-tp table.form-table,
.segy-app.segy-theme-starwars .segy-tp-table-scroll table.widefat,
.segy-app.segy-theme-starwars.segy-tp table.widefat,
.segy-app.segy-theme-starwars.segy-tp table.form-table {
	background: rgba(14, 20, 38, 0.92) !important;
	color: #E9EDF7 !important;
}.segy-app.segy-theme-starwars .segy-tp table.widefat th,
.segy-app.segy-theme-starwars .segy-tp table.widefat td,
.segy-app.segy-theme-starwars .segy-tp-table-scroll table.widefat th,
.segy-app.segy-theme-starwars .segy-tp-table-scroll table.widefat td,
.segy-app.segy-theme-starwars.segy-tp table.widefat th,
.segy-app.segy-theme-starwars.segy-tp table.widefat td {
	border-color: rgba(79, 195, 247, 0.2) !important;
	color: #E9EDF7 !important;
}.segy-app.segy-theme-starwars .segy-tp table.widefat.striped tbody tr:nth-child(odd),
.segy-app.segy-theme-starwars.segy-tp table.widefat.striped tbody tr:nth-child(odd) {
	background: rgba(79, 195, 247, 0.06) !important;
}

.segy-app.segy-theme-starwars .segy-tp-table-scroll table.widefat thead th {
	background: rgba(79, 195, 247, 0.15) !important;
}.segy-app.segy-theme-starwars .segy-tp input[type="text"],
.segy-app.segy-theme-starwars .segy-tp input[type="email"],
.segy-app.segy-theme-starwars .segy-tp input[type="number"],
.segy-app.segy-theme-starwars .segy-tp input[type="password"],
.segy-app.segy-theme-starwars .segy-tp select,
.segy-app.segy-theme-starwars .segy-tp textarea,
.segy-app.segy-theme-starwars.segy-tp input[type="text"],
.segy-app.segy-theme-starwars.segy-tp input[type="email"],
.segy-app.segy-theme-starwars.segy-tp input[type="number"],
.segy-app.segy-theme-starwars.segy-tp input[type="password"],
.segy-app.segy-theme-starwars.segy-tp select,
.segy-app.segy-theme-starwars.segy-tp textarea {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.35) !important;
	color: #E9EDF7 !important;
}.segy-app.segy-theme-starwars .segy-tp .button,
.segy-app.segy-theme-starwars .segy-tp button,
.segy-app.segy-theme-starwars .segy-tp .button-primary,
.segy-app.segy-theme-starwars.segy-tp .button,
.segy-app.segy-theme-starwars.segy-tp button,
.segy-app.segy-theme-starwars.segy-tp .button-primary {
	background: linear-gradient(135deg, #FFE81F, #E8A200) !important;
	color: #1A1300 !important;
	border-color: transparent !important;
	box-shadow: 0 0 14px rgba(255, 232, 31, 0.35) !important;
}.segy-app.segy-theme-starwars .segy-tp .button-secondary,
.segy-app.segy-theme-starwars.segy-tp .button-secondary {
	background: linear-gradient(135deg, #4FC3F7, #2C7DBE) !important;
	color: #071322 !important;
}.segy-app.segy-theme-starwars .segy-tp .notice,
.segy-app.segy-theme-starwars.segy-tp .notice {
	background: rgba(79, 195, 247, 0.1) !important;
	border-left-color: #4FC3F7 !important;
	color: #E9EDF7 !important;
}.segy-app.segy-theme-starwars .segy-tp .notice-error,
.segy-app.segy-theme-starwars.segy-tp .notice-error {
	background: rgba(255, 107, 107, 0.12) !important;
	border-left-color: #FF6B6B !important;
}.segy-app.segy-theme-starwars .segy-tp .segy-level-box,
.segy-app.segy-theme-starwars.segy-tp .segy-level-box {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.3) !important;
}

/* Háttér "blob" fények - a globális témára is halványan illeszkedve */
.segy-app.segy-theme-starwars .segy-blob {
	opacity: 0.35 !important;
	filter: blur(60px) !important;
}

.segy-app.segy-theme-starwars .segy-blob-1,
.segy-app.segy-theme-starwars .segy-blob-3 {
	background: #FFE81F !important;
}

.segy-app.segy-theme-starwars .segy-blob-2,
.segy-app.segy-theme-starwars .segy-blob-4 {
	background: #4FC3F7 !important;
}

.segy-app.segy-theme-starwars select#segy-theme-select,
.segy-app.segy-theme-starwars select#segy-group-select,
.segy-app.segy-theme-starwars select#segy-topic-select {
	background: rgba(6, 10, 20, 0.85) !important;
	border-color: rgba(79, 195, 247, 0.4) !important;
	color: #E9EDF7 !important;
}

.segy-app.segy-theme-starwars .segy-logout-link {
	background: rgba(255, 107, 107, 0.1) !important;
	color: #FF9E9E !important;
}

.segy-app.segy-theme-starwars .segy-logout-link:hover {
	background: rgba(255, 107, 107, 0.2) !important;
	color: #FF6B6B !important;
}

@media (prefers-reduced-motion: reduce) {
	.segy-app.segy-theme-starwars {
		animation: none !important;
	}
}

/* =====================================================================
   Új rendszer (WordPress nélkül) – önálló alapstílusok.
   A régi felület a WP téma alapstílusaira és a wp_login_form() jelölésére
   támaszkodott; itt pótoljuk őket a közös bejelentkező kártyához
   (views/auth/login-form.php) és az app elrendezéshez.
   ===================================================================== */

body.segy-body .ss-main {
	padding-top: 8px;
}

body.segy-body-portal .ss-main {
	padding-top: 24px;
}

.segy-portal-error {
	margin: 0 0 14px !important;
	padding: 10px 12px !important;
	border-radius: 8px !important;
	border-left: 4px solid #B32D2E !important;
	background: #FBEDED !important;
	color: #8E1C1C !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-align: left !important;
}

/* A közös bejelentkező kártya a portál panelen belül: ne legyen kártya a kártyában. */
.segy-login-required .ss-login-card {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
}

.segy-login-required .ss-login-card h2 {
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #2F5F24 !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	text-align: left !important;
}

.segy-login-required .ss-form {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	text-align: left !important;
}

.segy-login-required .ss-form > label:not(.ss-check) {
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #4C7A3F !important;
	margin: 8px 0 2px !important;
}

.segy-login-required .ss-form .ss-check {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	color: #6B7A70 !important;
	margin: 10px 0 4px !important;
}

.segy-login-required .ss-form .ss-check input {
	margin: 0 !important;
}

.segy-login-required .ss-form .button {
	all: unset !important;
	box-sizing: border-box !important;
	width: 100% !important;
	text-align: center !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	background: linear-gradient(135deg, #8BCB7B 0%, #7CB56D 45%, #5E9A4F 100%) !important;
	color: #FFFFFF !important;
	padding: 11px 18px !important;
	border-radius: 10px !important;
	margin-top: 8px !important;
	box-shadow: 0 4px 14px rgba(124, 181, 109, 0.35) !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.segy-login-required .ss-form .button:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(124, 181, 109, 0.45) !important;
}

.segy-login-required .ss-form .ss-small {
	margin: 12px 0 0 !important;
	font-size: 13px !important;
	text-align: center !important;
}

/* Táblázatok: a mag (app.css) hover-színe ne rontsa el a témákat. */
.segy-app .widefat tr:hover td {
	background: transparent !important;
}

.segy-app .ss-table-scroll {
	margin: 0 0 12px !important;
}

/* A profil táblázatai (JS-ből épülnek) keskeny kijelzőn görgethetők legyenek. */
@media (max-width: 600px) {
	.segy-app .segy-profile-table {
		display: block !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		max-width: 100% !important;
	}

	.segy-app .segy-profile-table td,
	.segy-app .segy-profile-table th {
		white-space: nowrap !important;
	}

	.segy-tp table.form-table th {
		width: auto !important;
	}
}

/* Diák-egyesítés jelvény (összekapcsolt Oktatás Kezelő diák). */
.segy-linked-badge {
	margin-left: 6px !important;
	background: #E6F5FA !important;
	color: #006D8C !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

.segy-app.segy-theme-starwars .segy-linked-badge {
	background: rgba(79, 195, 247, 0.15) !important;
	color: #9BDCF7 !important;
}

.segy-template-card {
	border: 1px solid #E7E7E7 !important;
	border-radius: 10px !important;
	padding: 14px 16px !important;
	margin: 0 0 14px !important;
}

/* A mag fejléce (ss-topbar) ragadós, így a vizsga oldalsávja alatta maradjon látható. */
@media (min-width: 701px) {
	body.segy-body .segy-exam-nav {
		top: 64px !important;
	}
}

/* ==========================================================================
   Modulok (2026-09): diák nyitólap modul-kártyákkal + modul-fejléc
   ========================================================================== */

.segy-app.segy-dashboard {
	max-width: 920px !important;
}

.segy-dash-head {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	margin: 4px 0 22px !important;
}

.segy-dash-logo {
	width: 64px !important;
	height: auto !important;
	flex: 0 0 auto !important;
}

.segy-app .segy-dash-title {
	font-family: inherit !important;
	font-size: 26px !important;
	font-weight: 800 !important;
	color: #2F5F24 !important;
	margin: 0 0 2px !important;
	padding: 0 !important;
	line-height: 1.2 !important;
}

.segy-app .segy-dash-sub {
	margin: 0 !important;
	color: #6B7A70 !important;
	font-size: 15px !important;
}

.segy-modules-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 16px !important;
}

.segy-app .segy-module-card {
	--segy-mod-tint: rgba(124, 181, 109, 0.14);
	--segy-mod-tint: color-mix(in srgb, var(--segy-mod-color, #7CB56D) 14%, #FFFFFF);
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 210px !important;
	padding: 18px 18px 16px !important;
	background: #FFFFFF !important;
	border: 1px solid #E4E8E5 !important;
	border-radius: 18px !important;
	box-shadow: 0 1px 2px rgba(38, 51, 43, 0.04), 0 8px 22px -12px rgba(38, 51, 43, 0.18) !important;
	color: #26332B !important;
	text-decoration: none !important;
	overflow: hidden !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
	animation: segy-fade-up 0.4s ease both !important;
	animation-delay: calc(var(--segy-i, 0) * 0.05s) !important;
}

.segy-app .segy-module-card::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	background: var(--segy-mod-color, #7CB56D) !important;
}

.segy-app a.segy-module-card:hover,
.segy-app a.segy-module-card:focus-visible {
	transform: translateY(-3px) !important;
	border-color: var(--segy-mod-color, #7CB56D) !important;
	box-shadow: 0 2px 4px rgba(38, 51, 43, 0.05), 0 16px 30px -14px rgba(38, 51, 43, 0.30) !important;
	text-decoration: none !important;
}

.segy-app a.segy-module-card:focus-visible {
	outline: 3px solid var(--segy-mod-color, #7CB56D) !important;
	outline-offset: 2px !important;
}

.segy-module-card-top {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	margin-bottom: 12px !important;
}

.segy-app .segy-module-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	border-radius: 14px !important;
	background: var(--segy-mod-tint) !important;
	color: var(--segy-mod-color, #7CB56D) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.segy-app .segy-module-todo {
	display: inline-block !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	background: #FFBF23 !important;
	color: #3D2E00 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
}

.segy-app .segy-module-name {
	font-family: inherit !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #26332B !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	line-height: 1.25 !important;
}

.segy-app .segy-module-desc {
	font-size: 14px !important;
	color: #55635A !important;
	margin: 0 0 8px !important;
}

.segy-app .segy-module-meta {
	font-size: 13px !important;
	color: #6B7A70 !important;
	margin: 0 0 12px !important;
	font-variant-numeric: tabular-nums !important;
}

.segy-module-foot {
	margin-top: auto !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
	padding-top: 12px !important;
	border-top: 1px solid #EEF1EF !important;
}

.segy-app .segy-module-level {
	font-size: 13px !important;
	color: #55635A !important;
}

.segy-app .segy-module-go {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--segy-mod-color, #0087AD) !important;
	white-space: nowrap !important;
}

/* Lezárt modul */
.segy-app .segy-module-card.segy-module-locked {
	background: #F6F7F6 !important;
	border-style: dashed !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	color: #6B7A70 !important;
}

.segy-app .segy-module-locked::before {
	background: #C9D0CB !important;
}

.segy-app .segy-module-locked .segy-module-icon {
	filter: grayscale(1) !important;
	opacity: 0.55 !important;
	background: #E9ECEA !important;
	color: #8A968E !important;
}

.segy-app .segy-module-locked .segy-module-name {
	color: #55635A !important;
}

.segy-app .segy-module-lock {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: #E4E8E5 !important;
	color: #6B7A70 !important;
}

.segy-app .segy-module-locked-text {
	font-size: 13px !important;
	color: #6B7A70 !important;
}

/* Modul-fejléc a modul-oldalon */
.segy-module-bar {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin: 0 0 14px !important;
}

.segy-app .segy-module-back {
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.segy-app .segy-module-bar-name {
	display: inline-block !important;
	padding: 4px 12px !important;
	border-radius: 999px !important;
	background: rgba(124, 181, 109, 0.14) !important;
	background: color-mix(in srgb, var(--segy-mod-color, #7CB56D) 14%, #FFFFFF) !important;
	color: #26332B !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

@media (max-width: 600px) {
	.segy-modules-grid {
		grid-template-columns: 1fr !important;
	}

	.segy-app .segy-module-card {
		min-height: 0 !important;
	}

	.segy-app .segy-dash-title {
		font-size: 22px !important;
	}

	.segy-dash-logo {
		width: 52px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.segy-app .segy-module-card {
		animation: none !important;
		transition: none !important;
	}
}

/* Dolgozattípus-választó az önszorgalmas dobozban */
.segy-app .segy-variant-label {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 0 10px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
}

.segy-app .segy-variant-label select {
	flex: 1 1 220px !important;
	max-width: 100% !important;
	padding: 8px 10px !important;
	border: 1px solid #D5DBD7 !important;
	border-radius: 10px !important;
	background: #FFFFFF !important;
	font-size: 15px !important;
	color: #26332B !important;
}

.segy-app .segy-variant-tag {
	background: rgba(0, 135, 173, 0.10) !important;
	color: #005F7A !important;
}

/* ==========================================================================
   Segédlet a vizsga alatt (2026-09): oldalsó panel – ≥1440 px a tartalom mellé
   dokkolva, keskenyebben ráúszik, telefonon alulról felhúzható lap.
   ========================================================================== */
:root { --segy-aid-w: 400px; }

.segy-app .segy-aid-toggle {
	all: unset !important;
	box-sizing: border-box !important;
	grid-column: 1 / -1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	min-height: 40px !important;
	padding: 6px 10px !important;
	margin: 0 0 4px !important;
	border-radius: 8px !important;
	background: #FFF6C9 !important;
	border: 1px solid #E3C75A !important;
	color: #5B4A00 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	cursor: pointer !important;
}
.segy-app .segy-aid-toggle:hover { background: #FFEFA6 !important; }
.segy-app .segy-aid-toggle:focus-visible { outline: 3px solid #0087AD !important; outline-offset: 2px !important; }
.segy-app .segy-aid-toggle[aria-expanded="true"] { background: #26332B !important; border-color: #26332B !important; color: #FFF6C9 !important; }

.segy-aid-tag { background: #FFF6C9 !important; color: #5B4A00 !important; }

.segy-aid-panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	width: min(440px, 92vw);
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	background: #FFFEF7;
	color: #26332B;
	border-left: 1px solid #E3DDC4;
	box-shadow: -10px 0 30px rgba(0, 0, 0, .14);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	transform: translateX(105%);
	visibility: hidden;
	transition: transform .22s ease, visibility 0s linear .22s;
}
body.segy-aid-open .segy-aid-panel {
	transform: none;
	visibility: visible;
	transition: transform .22s ease, visibility 0s;
}
@media (prefers-reduced-motion: reduce) {
	.segy-aid-panel, body.segy-aid-open .segy-aid-panel { transition: none; }
}
.segy-aid-head {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 16px 16px 12px 20px;
	border-bottom: 1px solid #E3DDC4;
}
.segy-aid-grip { display: none; }
.segy-aid-titles { flex: 1; min-width: 0; }
.segy-aid-kicker {
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #8A6D00;
}
.segy-aid-title { margin: 2px 0 0 !important; font-size: 19px !important; line-height: 1.25 !important; overflow-wrap: anywhere; }
.segy-aid-close {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border: 1px solid #D9D2B5;
	border-radius: 10px;
	background: #fff;
	color: #26332B;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
.segy-aid-close:hover { background: #F5F1E2; }
.segy-aid-close:focus-visible { outline: 3px solid #0087AD; outline-offset: 2px; }
.segy-aid-scroll {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding: 16px 20px 28px;
}
.segy-aid-text {
	font-size: 16px;
	line-height: 1.6;
	overflow-wrap: anywhere;
	padding: 12px 14px;
	margin: 0 0 16px;
	background: #fff;
	border: 1px solid #E3DDC4;
	border-radius: 10px;
}
.segy-aid-file { margin: 0 0 18px; }
.segy-aid-imgbtn {
	all: unset;
	display: block;
	box-sizing: border-box;
	width: 100%;
	cursor: zoom-in;
	border: 1px solid #E3DDC4;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}
.segy-aid-imgbtn:focus-visible { outline: 3px solid #0087AD; outline-offset: 2px; }
.segy-aid-imgbtn img { display: block; width: 100%; height: auto; }
.segy-aid-file.is-zoomed .segy-aid-imgbtn { overflow: auto; cursor: zoom-out; max-height: 75vh; }
.segy-aid-file.is-zoomed .segy-aid-imgbtn img { width: auto; max-width: none; }
.segy-aid-pdf { display: block; width: 100%; height: 70vh; border: 1px solid #E3DDC4; border-radius: 10px; background: #fff; }
.segy-aid-link { display: inline-block; margin-top: 6px; font-size: 14px; font-weight: 700; color: #00607C; }

/* Széles képernyő: a panel a tartalom mellé kerül, semmit nem takar ki. */
@media (min-width: 1440px) {
	body.segy-aid-docked { padding-right: var(--segy-aid-w); }
	body.segy-aid-docked .segy-aid-panel { width: var(--segy-aid-w); box-shadow: none; }
}

/* Telefon: alulról felhúzható lap. */
@media (max-width: 699px) {
	.segy-aid-panel {
		top: auto;
		left: 0;
		width: 100%;
		height: 78vh;
		height: 78dvh;
		border-left: 0;
		border-top: 1px solid #E3DDC4;
		border-radius: 18px 18px 0 0;
		box-shadow: 0 -10px 30px rgba(0, 0, 0, .18);
		transform: translateY(105%);
		padding-bottom: env(safe-area-inset-bottom);
	}
	.segy-aid-head { position: relative; padding-top: 22px; }
	.segy-aid-grip { display: block; position: absolute; top: 8px; left: 50%; width: 44px; height: 5px; margin-left: -22px; border-radius: 3px; background: #D0C8A8; }
	.segy-aid-pdf { height: 60vh; }
}

/* ==========================================================================
   Matek billentyűzet és a beírt válasz „szép” képe (2026-09)
   ========================================================================== */
.segy-app .segy-char-btn sup, .segy-app .segy-char-btn sub { font-size: .7em !important; line-height: 0 !important; }
.segy-kfrac { display: inline-flex; flex-direction: column; align-items: center; font-size: .72em; line-height: 1.05; }
.segy-kfrac span:first-child { border-bottom: 1.5px solid currentColor; padding: 0 3px; }
.segy-app .segy-char-more {
	all: unset !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	padding: 6px 10px !important;
	border-radius: 6px !important;
	border: 1px dashed #9AA8A0 !important;
	color: #3C4A42 !important;
}
.segy-app .segy-char-more:hover { background: #F1F3F1 !important; }
.segy-app .segy-char-more:focus-visible, .segy-app .segy-char-btn:focus-visible { outline: 3px solid #0087AD !important; outline-offset: 2px !important; }
.segy-app .segy-char-more[aria-expanded="true"] span { display: inline-block; transform: rotate(180deg); }
.segy-char-more-panel { margin: 8px 0 0; padding: 10px 12px; border: 1px solid #E3E7E4; border-radius: 10px; background: #FAFBFA; }
.segy-char-more-panel[hidden] { display: none !important; }
.segy-char-group + .segy-char-group { margin-top: 8px; }
.segy-char-group-label { display: block; font-size: 12px; font-weight: 700; color: #5B6A61; text-transform: uppercase; letter-spacing: .04em; }
.segy-char-help { margin: 10px 0 0 !important; font-size: 13px !important; color: #5B6A61 !important; line-height: 1.5 !important; }

.segy-math-preview { margin: 8px 0 2px; padding: 6px 12px; border-radius: 8px; background: #F3F8F1; border: 1px solid #D6E6CF; font-size: 18px; line-height: 1.9; overflow-x: auto; }
.segy-math-preview[hidden] { display: none !important; }
.segy-math-preview-label { font-size: 12px; font-weight: 700; color: #4C7A3F; margin-right: 6px; vertical-align: middle; }

.segy-m { font-family: "Cambria Math", "STIX Two Math", "Latin Modern Math", Georgia, "Times New Roman", serif; white-space: nowrap; }
.segy-m sup, .segy-m sub { font-size: .72em; line-height: 0; }
.segy-m-frac { display: inline-flex; flex-direction: column; align-items: center; vertical-align: middle; margin: 0 2px; font-size: .92em; line-height: 1.15; }
.segy-m-num { border-bottom: 1.5px solid currentColor; padding: 0 3px 1px; }
.segy-m-den { padding: 1px 3px 0; }
.segy-m-root { display: inline-flex; align-items: stretch; white-space: nowrap; vertical-align: middle; }
.segy-m-rsvg { width: .62em; height: auto; flex: 0 0 auto; overflow: visible; }
.segy-m-rsvg path { fill: none; stroke: currentColor; stroke-width: 1.5px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.segy-m-rad { border-top: 1.5px solid currentColor; padding: 2px 3px 0 2px; line-height: 1.15; margin-top: .6px; }
.segy-m-rix { font-size: .6em; align-self: flex-start; margin-right: -.35em; position: relative; top: .15em; }
.segy-m-op { margin: 0 .18em; }
.segy-app.segy-theme-starwars .segy-char-more { color: #CFE9FB !important; border-color: rgba(79, 195, 247, 0.5) !important; }
.segy-app.segy-theme-starwars .segy-char-more:hover { background: rgba(79, 195, 247, 0.1) !important; }
.segy-app.segy-theme-starwars .segy-char-more-panel { background: rgba(10, 20, 40, 0.6); border-color: rgba(79, 195, 247, 0.35); }
.segy-app.segy-theme-starwars .segy-char-group-label, .segy-app.segy-theme-starwars .segy-char-help { color: #9FC3DA !important; }
.segy-app.segy-theme-starwars .segy-math-preview { background: rgba(79, 195, 247, 0.08); border-color: rgba(79, 195, 247, 0.35); color: #E6F4FF; }
.segy-app.segy-theme-starwars .segy-math-preview-label { color: #7FD3FA; }

/* Az „emeletes” matek-szerkesztő stílusai: math-editor.css */

/* Felsorolásos (levonásos) részkérdés */
.segy-set-note { margin: 2px 0 6px !important; font-size: 14px !important; color: #5B6A61 !important; }
.segy-review-part-partial { background: rgba(242, 194, 48, .14) !important; border-color: #E0B53A !important; }
.segy-review-set-detail { font-size: 14px !important; font-weight: 700 !important; margin: 2px 0 4px !important; }
