@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');

:root {
	--bg-color: #b9e6f0;
	--dark-color: #222222;
	--accent-color: #fac04c;
	--blue-base: #0b84ff;
	scroll-behavior: smooth;
	color: var(--dark-color);
}

#bg-image {
	position: fixed;
	top: -15vw;
	right: -150%;
	width: 300%;
	height: 300%;
	object-fit: cover;
	z-index: -1;
	opacity: 0.1;
	background-attachment: fixed;
	transition: all 0.2s;
}

#hebisaba-bg-cover {
	position: fixed;
	top: 65%;
	right: 0;
	width: 100%;
	height: 100vh;
	object-fit: cover;
	z-index: 0;
	opacity: 1;
	background-attachment: fixed;
	background-color: var(--bg-color);
}

#hebisaba-bg-image {
	position: fixed;
	top: -10%;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
	opacity: 1;
	background-attachment: fixed;
	transition: all 0.2s;
}

body {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
	font-style: normal;
	/* font-family: "momochidori", sans-serif;
	font-weight: 400;
	font-style: normal; */
	background-color: var(--bg-color);
}

a {
	color: initial;
}

i {
	display: block;
	height: 100%;
	margin: 0 auto;
}

header {
	width: 100%;
	height: 55px;
	background-color: #ffffff;
	display: flex;
	justify-content: center;
	flex-direction: row;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}

header div {
	margin: 0 auto;
	width: auto;
	display: flex;
	justify-content: center;
}

.hamburger {
	width: 30px;
	height: 30px;
	position: absolute;
	top: 11px;
	left: 15px;
	cursor: pointer;
	display: none;
	flex-direction: column;
	justify-content: space-between;
}

.hamburger i {
	display: flex;
	justify-content: center;
	text-align: center;
	line-height: 30px;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.4s;
}

.hamburger i:nth-child(2) {
	opacity: 0;
}

/* クリック時の変形 */
.hamburger.active i:nth-child(1) {
	transform: rotate(360deg);
	opacity: 0;
}

.hamburger.active i:nth-child(2) {
	transform: rotate(360deg);
	opacity: 1;
}

.header-btn-container a.btn,
button.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 0;
	width: auto;
	height: 2rem;
	padding: 2% 5%;
	border-radius: 50px;
	cursor: pointer;
	text-decoration: none;
	line-height: 1;
	gap: .5rem;
	user-select: none;
}

.header-menu {
	width: 30%;
	height: 45px;
	position: absolute;
	top: 5px;
	left: 5px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.header-menu div {
	width: 33%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	cursor: pointer;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	transition: all 0.4s;
}

.header-menu div:hover {
	background: color-mix(in oklab, #ffffff 80%, black 20%);
}

.header-menu div a {
	width: 100%;
	height: 100%;
	text-align: center;
	line-height: 45px;
	text-decoration: none;
}


.header-btn-container {
	position: absolute;
	top: 7.5px;
	right: 0;
	width: 15%;
	height: 2rem;
}

:is(.btn-login-s, .btn-login, .btn-register) {
	height: 1.7rem !important;
	width: 5rem;
	border-radius: 12px !important;
	color: #ffffff;
	margin: auto 1% !important;
	font-weight: bold;
	transition: 0.2s all;
}

.btn-login-s {
	display: none !important;
}

.btn-login-s i {
	margin: auto 0;
	position: relative;
	top: 7.5px;
	font-size: 1.2rem;
}

.btn-login,
.btn-login-s {
	background-color: var(--blue-base);
}

.btn-login:hover,
.btn-login-s:hover {
	background: color-mix(in oklab, var(--blue-base) 80%, black 20%);
}

.btn-register {
	background-color: var(--accent-color);
}

.btn-register:hover {
	background: color-mix(in oklab, var(--accent-color) 80%, black 20%);
}

#sidebar {
	width: 55%;
	height: 100%;
	position: fixed;
	top: 0;
	left: -100%;
	background-color: #ffffff;
	z-index: 99;
	transition: 0.5s;
}

#sidebar.active {
	left: 0;
}

#sidebar a {
	text-decoration: none;
}

#sidebar section {
	width: 70%;
	height: 100%;
	display: flex;
	justify-content: left;
	flex-direction: column;
	margin: 0 auto;
	margin-top: 55px;
	padding: 10% 5%;
}

#sidebar section div {
	height: 4rem;
	justify-content: center;
	display: flex;
	border-bottom: solid 1px var(--dark-color);
	cursor: pointer;
	transition: all 0.7s;
}

#sidebar section div:hover {
	background-color: #eeeeee;
}

#sidebar section div a {
	width: 96%;
	height: 4rem;
	display: flex;
	padding: 0;
	text-align: left;
	align-items: center;
}

a:has(.logo) {
	margin: 0 auto;
	position: absolute;
	width: 168px;
	height: 100%;
}

main {
	margin-top: 55px;
	width: 90%;
	height: 100%;
	padding: 0 5%;
}

div.box-shadow:not(.archives-container) {
	max-width: 50%;
}

#live-status {
	position: relative;
	z-index: 98;
}

#welcome-message {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	transition: all 1s;
	opacity: 0;
}

.announce-modal {
	position: relative;
	top: 37.5%;
	left: 12.5%;
	z-index: 9999;
	background-color: #ffffff;
	width: 65%;
	height: 25%;
	border-radius: 10px;
	padding: 7% 5%;
	text-align: center;
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-direction: column;
}

.announce-modal p {
	margin: 4% 0;
}

/* 表示状態（フェードイン） */
#welcome-message.show {
	opacity: 1;
}

/* 非表示状態（フェードアウト） */
#welcome-message.hide {
	opacity: 0;
}

.contact {
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

button {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-style: none;
	width: auto;
	height: 2rem;
	padding: 2% 5%;
	border-radius: 16px;
	cursor: pointer;
}

input#download-key {
	margin: 5% auto;
	width: auto;
	height: 2rem;
	border-radius: 16px;
	padding: 0 3%;
	border: 1px solid var(--dark-color);
	transition: all 1s;
}

.form-container {
	width: 80%;
	margin: 0 auto;
	padding: 5% 8%;
	border-radius: 10px;
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.btn-primary {
	background-color: #3377ff;
	color: #ffffff;
	transition: all 0.2s;
}

.btn-primary:hover {
	background-color: #1155dd;
}

.btn-primary:active {
	transform: scale(120%);
}

.bg {
	width: 100vw;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background-color: black;
	opacity: 0.5;
	cursor: pointer;
}

.label-container {
	width: 90%;
	margin: 5% auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	border-top: 1px solid var(--dark-color);
}

.label-container h2 {
	margin-bottom: 1%;
}

.label-container p {
	margin-top: 1%;
}

#live-status {
	margin: 0 auto;
}

section:has(.character-container) {
	width: 95%;
	height: 95%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.preview-icon {
	display: none;
	overflow: hidden;
}

.character-container {
	width: 100%;
	height: 100%;
}

.character-container img {
	display: block;
	margin: 0 auto;
}

.character-container div {
	position: absolute;
	background-color: none;
	opacity: 1;
	width: 350px;
	height: 450px;
	top: 280px;
	left: 50%;
	transform: translate(-50%, -50%);
}

#play-sound-btn {
	background-color: none;
	opacity: 0.8;
	width: 20%;
	height: 8%;
	position: relative;
	top: 35%;
	left: 50%;
	transform: translateX(-55%);
}

.name-container {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.name-container * {
	height: 1rem;
	display: block;
	margin: 2% auto;
}

.link-container {
	width: 70%;
	margin: 3% auto;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.link-container a {
	width: 40px;
	height: 100%;
	margin: auto 1%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: initial;
	transition: all 0.2s;
}

.link-container a:hover {
	transform: scale(120%);
}

.profile-msg-container {
	width: 90%;
	margin: 0 auto;
	text-align: center;
}

.data-container {
	width: 80%;
	margin: 2% auto;
	padding: 5% 8%;
	border-radius: 10px;
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.archives-container {
	display: flex;
	width: 80%;
	height: auto;
	margin: 0 auto;
	overflow-y: hidden;
	padding: 1.5% 3%;
	border-radius: 10px;
	background-color: #ffffff;
}

.archives-container div * {
	text-decoration: none;
	text-overflow: ellipsis;
}

.playlist-grid {
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
	flex-wrap: nowrap;
	overflow-y: scroll;
}

.video-card {
	width: 50%;
	margin-bottom: 3%;
	border-bottom: 1px solid var(--dark-color);
}

.video-card a {
	height: 1rem;
}

.video-card a p {
	height: 100%;
	margin: 0;
}

.data-row {
	width: 100%;
	margin: 4% 0;
	padding-bottom: 4%;
	margin-top: 0;
	display: flex;
	flex-direction: row;
	justify-content: left;
	border-bottom: 1px solid var(--dark-color);
}

.data-title {
	width: 7rem;
	margin-right: 2%;
	text-align: left;
	border-right: 1px solid var(--dark-color);
}

.data {
	margin-right: 0;
	text-align: left;
}

.story-container {
	width: 85%;
	height: 45vh;
	margin: 2% auto;
	padding: 5% 5%;
	border-radius: 10px;
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	text-align: center;
}

.story-container div {
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	margin: 0 auto;
}

footer {
	margin-top: 15%;
	width: 100%;
	height: 16vh;
	background-color: #ffffff;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

footer .link-container {
	margin: 0 auto;
	justify-content: center;
	align-items: center;
}

footer .link-container a i {
	line-height: 50px;
}

.credit-container {
	height: 2rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.join-content:first-child {
	border-top: solid 1px var(--dark-color);
}

.join-content {
	padding: 2% 0;
	width: 95%;
	text-align: center;
	border-bottom: solid 1px var(--dark-color);
}

.join-content :is(h2, p) {
	margin: 1% 0;
}

.join-content .btn-primary {
	margin: 2% auto;
}

@media screen and (min-width:760px) {
	#sidebar {
		width: 30vw;
	}

	#sidebar section div {
		height: 3rem;
	}

	#sidebar section div a {
		height: 3rem;
	}

	#bg-image {
		top: -15vw;
		right: -100%;
		width: 200%;
		height: 200%;
	}
}

@media screen and (min-width:1024px) {
	main {
		width: 75%;
		margin: 0 auto;
		margin-top: 55px;
	}

	#sidebar {
		width: 25vw;
	}

	#sidebar section div {
		height: 3rem;
	}

	#sidebar section div a {
		height: 3rem;
	}

	#bg-image {
		top: -15vw;
		right: -75%;
		width: 150%;
		height: 150%;
	}
}

.map-container {
	width: 100%;
	height: 800px;
	margin: 0;
}

.map-container iframe {
	display: block;
	width: 90%;
	height: 100%;
	margin: 0 auto;
	border-radius: 16px;
	border-style: none;
}

div:has(.title-hebisaba) {
	width: 50%;
	height: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

.title-hebisaba {
	display: block;
	width: 100%;
	height: 100%;
}

.intro-container {
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.float-announce {
	position: fixed;
	right: max(24px, env(safe-area-inset-right));
	bottom: max(24px, env(safe-area-inset-bottom));
	z-index: 1000;
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	padding: 1.5rem 2rem;
	/* ← 以前の約2倍 */
	border-radius: 20px;
	text-decoration: none;
	line-height: 1.4;
	background: color-mix(in oklab, var(--bg-color, #b9e6f0) 15%, transparent);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .25);
	border: 2px solid rgba(255, 255, 255, .6);
	color: #111;
	max-width: min(480px, 94vw);
	transition: transform .2s ease, box-shadow .2s ease;
}

.float-announce__title {
	font: 700 18px/1 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP", sans-serif;
	opacity: .9;
}

.float-announce__headline {
	font: 800 20px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP", sans-serif;
	color: #fff;
	padding: 6px 10px;
	border-radius: 10px;
	background: var(--accent-color, #fac04c);
	display: inline-block;
	white-space: nowrap;
}

/* ホバー */
.float-announce:hover,
.float-announce:focus-visible {
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 14px 32px rgba(0, 0, 0, .28);
	outline: none;
}

:is(.card, .join-wrapper) {
	text-align: center;
	margin: 5% auto;
	width: 75%;
	height: 600px;
	position: relative;
	top: 0;
	left: 0;
	padding: 2% 5%;
	border-radius: 16px;
	box-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
	/* 256→255 に修正 */
	isolation: isolate;
	/* 疑似要素のブラー漏れ防止 */

	/* グラデ（20%不透明） */
	--start: color-mix(in oklab, var(--bg-color) 20%, transparent);
	--tint: color-mix(in oklab, var(--bg-color) 75%, var(--blue-base) 25%);
	--end: color-mix(in oklab, var(--tint) 20%, transparent);
	background: linear-gradient(to right, var(--start), var(--end));
	/* 背景は半透明のままにする。opaqueな background-color は外す */
}

.btn-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.btn-container a {
	margin: 0.5rem 0;
}

.blur-backdrop {
	/* 半透明でないと効果が見えない */
	background: color-mix(in oklab, var(--bg-color) 20%, transparent);
	backdrop-filter: blur(12px);
	/* Chrome/Edge */
	-webkit-backdrop-filter: blur(12px);
	/* Safari */
}

.blur-self::before {
	content: "";
	position: absolute;
	inset: 0;
	background: inherit;
	/* さきほどのグラデをコピー */
	filter: blur(10px);
	transform: scale(1.06);
	/* ブラー端の切れ防止 */
	z-index: -1;
	border-radius: inherit;
	pointer-events: none;
}

.tabs__panel {
	position: relative;
	background: rgba(255, 255, 255, .85);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border-radius: 16px;
	padding: 2rem;
	margin-top: 2.5rem;
	text-align: left;
	box-shadow: 0 0 20px rgba(255, 255, 255, .35);
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.tabs__panel h3 {
	text-align: center;
}

/* ダーク文字色継承 */
.tabs__panel h3 {
	margin: .25rem 0 1rem;
}

.tabs__panel ol {
	padding-left: 1.2rem;
}

form {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 18.5rem;
	margin: 1.5rem auto;
}

form input {
	height: 32px;
}

form button {
	height: calc(32px + 1rem);
	border-radius: 50px;
	margin-top: 0.75rem;
}

.tabs__panel a.btn,
input {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.5rem;
	width: 17.5rem;
	border-radius: 50px;
	border: solid var(--accent-color) 1px;
	margin-top: .75rem;
	display: inline-flex;
	text-decoration: none;
	margin: 1.5% auto;
}

main:has(.card) {
	margin-top: 2vw;
	height: 100%;
}

.card.blur-backdrop {
	width: 50% !important;
}

.login-footer {
	width: 100%;
	height: 16vh;
	background-color: #ffffff;
	display: flex;
	justify-content: center;
	flex-direction: column;
	position: fixed;
	bottom: 0;
}

.auth-panel {
	position: absolute;
	height: 45vh;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s;
	width: 75%;
	margin: 10% auto;
	margin-top: 7.5vw;
}

.auth-panel.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}

.auth-panel.is-leaving {
	opacity: 0;
	pointer-events: none;
	z-index: 1;
}

.auth-panel .tabs__panel {
	margin: 0
}

.btn-google {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .5rem 1rem;
	width: 17.5rem;
	border-radius: 50px;
	border: 1px solid var(--accent-color);
	text-decoration: none;
	justify-content: center;
	margin: .5rem auto;
	background: #fff;
}

.btn-google img {
	width: 20px;
	height: 20px
}

.switch-links {
	margin-top: .75rem;
	text-align: center
}

.msg {
	position: relative;
	z-index: 4;
	margin: .75rem auto;
	width: min(520px, 90%);
	padding: .6rem .9rem;
	border-radius: 12px;
	text-align: center
}

.msg.error {
	background: #ffe9e9;
	color: #a40000;
	border: 1px solid #f3b6b6
}

.msg.info {
	background: #eef7ff;
	color: #003c88;
	border: 1px solid #b7d7ff
}

.muted {
	opacity: .75
}

/* 入力エラーの簡易表示 */
.is-invalid {
	outline: 2px solid #e23;
}

.form-login {
	border-top: solid var(--dark-color) 1px;
}

/* モバイル調整 */
@media screen and (max-width:540px) {
	main {
		width: 100%;
		padding: 5% 0;
		margin: 0 auto;
		margin-top: 55px;
	}

	.btn-login-s {
		display: block !important;
		width: 2rem !important;
		height: 2rem !important;
	}

	.btn-login {
		display: none !important;
	}

	.btn-register {
		display: none !important;
	}

	.header-btn-container.login {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
	}

	.header-btn-container.login :is(strong, p) {
		display: none;
	}

	.btn.btn-logout {
		width: 1.5rem !important;
		height: 1.5rem !important;
		border-radius: 10px !important;
	}

	.btn.btn-logout i {
		line-height: 1.5rem;
		font-size: 1.2rem;
		font-weight: 500;
	}

	#title {
		width: 40%;
		font-size: 150%;
	}

	#sidebar {
		width: 60vw;
	}

	:is(.top-wrapper, .join-wrapper) {
		width: 80%;
		padding: 2% auto;
	}

	.float-announce {
		padding: 0.6rem 1.2rem;
		right: 12px;
		bottom: 12px;
	}

	.float-announce__title {
		font-size: 16px;
	}

	.float-announce__headline {
		font-size: 18px;
		white-space: normal;
	}

	.join-wrapper a.btn {
		font-size: 100%;
	}

	h2 {
		font-size: 1.7rem;
		margin-bottom: 0.5rem;
	}

	#hebisaba-bg-image {
		height: 200vh;
		top: -80%;
		left: -20%;
	}

	div.box-shadow:not(.archives-container) {
		max-width: 100%;
	}

	.reward-list {
		width: 100%;
		height: auto;
		margin: 0;
		margin-left: auto;
		font-size: 150%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.reward-list div {
		display: flex;
		align-items: center;
		justify-content: left;
		margin: 0;
		padding: 0.5rem 0;
		font-size: 1.1vw;
	}

	.reward-list div img {
		width: calc(3vw + 0.2rem);
	}

	.reward-list div i {
		font-size: calc(3vw + 0.3rem);
	}

	.reward-list div :is(h4, p) {
		font-size: calc(1vw + 0.6rem);
	}

	h1 {
		font-size: calc(1vw + 1rem);
	}

	h2 {
		font-size: calc(1vw + 0.8rem);
	}

	h3 {
		font-size: calc(1vw + 0.7rem);
	}

	h4 {
		font-size: calc(1vw + 0.6rem);
	}

	p,
	a,
	li {
		font-size: calc(1vw + 0.6rem);
	}

	:is(.notice__title, .notice__body, .notice__date) {
		font-size: calc(1vw + 0.5rem);
	}

	.notice__header {
		padding: 0.9rem 0.5rem;
		gap: 0.2rem;
	}

	.map-container {
		width: 100%;
	}

	.map-tabs {
		width: 100%;
	}

	.map-tabs__list button {
		font-size: calc(1vw + 0.4rem);
	}

	.map-frame iframe {
		width: 60vw;
	}

	.server-status-container {
		width: auto;
		height: 100%;
		flex-direction: column;
	}

	.chat-container {
		width: 100%;
		padding: 0;
	}

	.chat-header {
		height: 2.5rem;
	}

	.chat-body {
		height: 70vw;
		padding: 0;
		margin: 0 auto;
	}

	.chat-line {
		padding: 0.25rem 0;
	}

	.card.blur-backdrop {
		margin: 0 auto;
		margin-top: 10%;
		width: 85% !important;
		height: 70vh;
	}

	.btn-google {
		width: 60vw;
		margin: 2% auto;
	}

	.auth-panel form {
		width: 100%;
		margin: 2% 0;
	}

	.auth-panel form :is(input, button) {
		display: block;
		height: 2rem !important;
		width: 60vw;
		padding: .5% 1.5%;
		margin: 2% auto;
	}

	.auth-panel {
		height: 50vh;
		margin-top: 15%;
	}

	h1 {
		margin: 1% 0;
	}
}

@media screen and (min-width:541px) and (max-width:760px) {
	main {
		width: 90%;
		padding: 5% 0;
		margin: 0 auto;
		margin-top: 55px;
	}

	.header-btn-container.login {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
	}

	.header-btn-container.login :is(strong, p) {
		display: none;
	}

	.btn.btn-logout {
		width: 1.5rem !important;
		height: 1.5rem !important;
		border-radius: 10px !important;
	}

	.btn.btn-logout i {
		line-height: 1.5rem;
		font-size: 1.2rem;
		font-weight: 500;
	}

	#title {
		width: 40%;
		font-size: 250%;
	}

	#sidebar {
		width: 40vw;
	}

	#sidebar section div {
		height: 3rem;
	}

	#sidebar section div a {
		height: 3rem;
	}

	:is(.top-wrapper, .join-wrapper) {
		width: 90%;
		padding: 2% 4%;
	}

	#hebisaba-bg-image {
		height: 180vh;
		top: -80%;
		left: -20%;
	}

	.reward-list {
		width: 80%;
		margin: 0;
	}

	.card.blur-backdrop {
		margin: 0 auto;
		margin-top: 10%;
		width: 85% !important;
		height: 70vh;
	}

	.btn-google {
		width: 60vw;
		margin: 2% auto;
	}

	.auth-panel form {
		width: 100%;
		margin: 2% 0;
	}

	.auth-panel form :is(input, button) {
		display: block;
		height: 2rem !important;
		width: 60vw;
		padding: .5% 1.5%;
		margin: 2% auto;
	}

	.auth-panel {
		height: 50vh;
		margin-top: 15%;
	}

	h1 {
		margin: 1% 0;
	}
}

@media screen and (max-width:1280px) {
	.hamburger {
		display: flex;
	}

	.header-menu {
		display: none;
	}
}