.ez_auth_page{
	position:relative;
	min-height:calc(100vh - var(--ez-header-height));
	padding-top:var(--ez-header-height);
	overflow:hidden;
}

.ez_auth_bg{
	position:absolute;
	inset:0;
	pointer-events:none;
	overflow:hidden;
}

.ez_auth_glow{
	position:absolute;
	width:520px;
	height:520px;
	border-radius:999px;
	filter:blur(34px);
	opacity:.34;
}

.ez_auth_glow_01{
	left:-150px;
	top:120px;
	background:radial-gradient(circle, rgba(25,217,255,.58), transparent 68%);
}

.ez_auth_glow_02{
	right:-150px;
	top:40px;
	background:radial-gradient(circle, rgba(143,124,255,.62), transparent 68%);
}

.ez_auth_grid{
	position:absolute;
	inset:0;
	background-image:
		linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
	background-size:54px 54px;
	mask-image:linear-gradient(180deg, rgba(0,0,0,.60), transparent 82%);
	-webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.60), transparent 82%);
}

.ez_auth_section{
	position:relative;
	z-index:2;
	padding:92px 0 110px;
}

.ez_auth_container{
	display:grid;
	grid-template-columns:minmax(0, .98fr) minmax(420px, .72fr);
	align-items:center;
	gap:70px;
}

.ez_auth_badge{
	display:inline-flex;
	align-items:center;
	gap:9px;
	min-height:36px;
	padding:8px 14px;
	border:1px solid rgba(84,184,255,.28);
	border-radius:999px;
	background:rgba(84,184,255,.10);
	color:#bdeaff;
	font-size:13px;
	font-weight:950;
}

.ez_auth_badge span{
	width:8px;
	height:8px;
	border-radius:999px;
	background:var(--ez-cyan);
	box-shadow:0 0 0 6px rgba(25,217,255,.12);
}

.ez_auth_copy h1{
	margin:24px 0 0;
	color:#fff;
	font-size:clamp(42px, 5vw, 72px);
	line-height:1.07;
	letter-spacing:-.085em;
	font-weight:950;
}

.ez_auth_copy p{
	margin:24px 0 0;
	max-width:620px;
	color:var(--ez-muted);
	font-size:18px;
	line-height:1.75;
	font-weight:650;
}

.ez_auth_points{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:12px;
	margin-top:36px;
	max-width:660px;
}

.ez_auth_points div{
	min-height:112px;
	padding:18px;
	border:1px solid rgba(255,255,255,.10);
	border-radius:22px;
	background:rgba(255,255,255,.055);
	box-shadow:0 12px 34px rgba(0,0,0,.16);
}

.ez_auth_points i{
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:15px;
	background:rgba(255,255,255,.08);
	font-style:normal;
	font-size:20px;
}

.ez_auth_points span{
	display:block;
	margin-top:14px;
	color:#fff;
	font-size:15px;
	line-height:1.45;
	font-weight:900;
}

.ez_auth_card{
	position:relative;
	padding:34px;
	border:1px solid rgba(255,255,255,.13);
	border-radius:32px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
		rgba(12,18,32,.78);
	box-shadow:var(--ez-shadow);
	backdrop-filter:blur(20px);
	-webkit-backdrop-filter:blur(20px);
	overflow:hidden;
}

.ez_auth_card:before{
	content:"";
	position:absolute;
	inset:0;
	border-radius:32px;
	padding:1px;
	background:linear-gradient(135deg, rgba(25,217,255,.48), rgba(143,124,255,.32), rgba(255,255,255,.05));
	-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;
	mask-composite:exclude;
	pointer-events:none;
}

.ez_auth_card_head h2{
	margin:0;
	color:#fff;
	font-size:30px;
	line-height:1.15;
	letter-spacing:-.065em;
	font-weight:950;
}

.ez_auth_card_head p{
	margin:10px 0 0;
	color:var(--ez-muted);
	font-size:14px;
	line-height:1.6;
	font-weight:700;
}

.ez_auth_alert{
	margin-top:18px;
	padding:13px 14px;
	border:1px solid rgba(255,209,102,.32);
	border-radius:16px;
	background:rgba(255,209,102,.10);
	color:#ffe3a3;
	font-size:13px;
	line-height:1.5;
	font-weight:800;
}

.ez_auth_form{
	margin-top:26px;
}

.ez_auth_label{
	display:block;
	margin:16px 0 8px;
	color:#dce8ff;
	font-size:13px;
	font-weight:950;
}

.ez_auth_input{
	width:100%;
	height:52px;
	padding:0 16px;
	border:1px solid rgba(255,255,255,.12);
	border-radius:17px;
	outline:0;
	background:rgba(4,8,18,.48);
	color:#fff;
	font-size:15px;
	font-weight:750;
	transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.ez_auth_input::placeholder{
	color:rgba(174,187,211,.50);
}

.ez_auth_input:focus{
	border-color:rgba(25,217,255,.48);
	box-shadow:0 0 0 4px rgba(25,217,255,.12);
	background:rgba(4,8,18,.68);
}

.ez_auth_check{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin-top:16px;
	color:var(--ez-muted);
	font-size:13px;
	line-height:1.55;
	font-weight:750;
}

.ez_auth_check input{
	position:relative;
	width:16px;
	height:16px;
	accent-color:#19d9ff;
	flex:0 0 auto;
}

.ez_auth_check input:hover{
	cursor:pointer;
}

.ez_auth_check span{
	display:block;
	min-width:0;
}

.ez_auth_policy_link{
	display:inline;
	border:0;
	padding:0;
	background:transparent;
	color:#7ddcff;
	font-size:13px;
	line-height:1.55;
	font-weight:950;
	cursor:pointer;
	vertical-align:baseline;
	transition:color .2s ease, text-shadow .2s ease;
}

.ez_auth_policy_link:hover{
	color:#bdeaff;
	text-shadow:0 0 18px rgba(25,217,255,.34);
}

.ez_auth_message,
.ez_auth_modal_message{
	display:none;
	margin-top:14px;
	padding:12px 13px;
	border-radius:15px;
	font-size:13px;
	line-height:1.5;
	font-weight:850;
}

.ez_auth_message.is_success,
.ez_auth_modal_message.is_success{
	display:block;
	border:1px solid rgba(104,241,188,.26);
	background:rgba(104,241,188,.10);
	color:#baffdf;
}

.ez_auth_message.is_error,
.ez_auth_modal_message.is_error{
	display:block;
	border:1px solid rgba(255,107,107,.26);
	background:rgba(255,107,107,.10);
	color:#ffb9b9;
}

.ez_auth_submit{
	width:100%;
	height:56px;
	margin-top:18px;
	border:0;
	border-radius:18px;
	background:linear-gradient(135deg, var(--ez-cyan), var(--ez-purple));
	color:#fff;
	font-size:15px;
	font-weight:950;
	cursor:pointer;
	box-shadow:0 18px 44px rgba(25,217,255,.24);
	transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.ez_auth_submit:hover{
	transform:translateY(-2px);
	box-shadow:0 24px 58px rgba(25,217,255,.32);
}

.ez_auth_submit:disabled,
.ez_auth_modal_send:disabled{
	cursor:not-allowed;
	opacity:.62;
	transform:none;
}

.ez_auth_divider{
	display:grid;
	grid-template-columns:1fr auto 1fr;
	align-items:center;
	gap:12px;
	margin:24px 0;
}

.ez_auth_divider span{
	height:1px;
	background:rgba(255,255,255,.10);
}

.ez_auth_divider p{
	margin:0;
	color:var(--ez-muted-2);
	font-size:12px;
	font-weight:850;
}

.ez_google_btn{
	width:100%;
	height:54px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:18px;
	background:rgba(255,255,255,.07);
	color:#fff;
	font-size:15px;
	font-weight:950;
	transition:background .2s ease, transform .2s ease, border-color .2s ease;
}

.ez_google_btn:hover{
	background:rgba(255,255,255,.11);
	border-color:rgba(255,255,255,.22);
	transform:translateY(-2px);
}

.ez_google_icon{
	width:28px;
	height:28px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	background:#fff;
	color:#111827;
	font-size:15px;
	font-weight:950;
}

.ez_kakao_btn{
	width:100%;
	height:54px;
	margin-top:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	border:1px solid rgba(255, 224, 0, .45);
	border-radius:18px;
	background:#fee500;
	color:#191919;
	font-size:15px;
	font-weight:950;
	transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.ez_kakao_btn:hover{
	transform:translateY(-2px);
	box-shadow:0 9px 21px rgba(254,229,0,.18);
}

.ez_kakao_icon{
	width:28px;
	height:28px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	background:#191919;
	color:#fee500;
	font-size:15px;
	font-weight:950;
}

.ez_auth_note{
	margin-top:18px;
	padding:15px;
	border:1px solid rgba(255,255,255,.09);
	border-radius:18px;
	background:rgba(255,255,255,.045);
	color:var(--ez-muted-2);
	font-size:12.5px;
	line-height:1.6;
	font-weight:750;
	text-align:center;
}

.ez_auth_modal{
	position:fixed;
	inset:0;
	z-index:200;
	display:none;
	align-items:center;
	justify-content:center;
	padding:20px;
}

.ez_auth_modal.is_open{
	display:flex;
}

.ez_auth_modal_dim{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.62);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}

.ez_auth_modal_card{
	position:relative;
	z-index:2;
	width:min(440px, 100%);
	padding:32px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:28px;
	background:#111827;
	box-shadow:0 30px 90px rgba(0,0,0,.55);
	text-align:center;
}

.ez_auth_modal_close{
	position:absolute;
	right:16px;
	top:14px;
	width:34px;
	height:34px;
	padding:0;
	border:0;
	border-radius:999px;
	background:rgba(255,255,255,.08);
	color:#fff;
	cursor:pointer;
	font-size:0;
	line-height:1;
	display:flex;
	align-items:center;
	justify-content:center;
}

.ez_auth_modal_close:before,
.ez_auth_modal_close:after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:13px;
	height:2px;
	border-radius:999px;
	background:#fff;
	transform-origin:center;
}

.ez_auth_modal_close:before{
	transform:translate(-50%, -50%) rotate(45deg);
}

.ez_auth_modal_close:after{
	transform:translate(-50%, -50%) rotate(-45deg);
}

.ez_auth_modal_close:hover{
	background:rgba(255,255,255,.14);
}

.ez_auth_modal_icon{
	width:64px;
	height:64px;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:22px;
	background:rgba(84,184,255,.14);
	font-size:30px;
}

.ez_auth_modal_card h3{
	margin:20px 0 0;
	color:#fff;
	font-size:25px;
	font-weight:950;
	letter-spacing:-.055em;
}

.ez_auth_modal_card p{
	margin:12px 0 0;
	color:var(--ez-muted);
	font-size:14px;
	line-height:1.7;
	font-weight:700;
}

.ez_auth_modal_email{
	margin-top:16px;
	padding:13px 14px;
	border:1px solid rgba(25,217,255,.20);
	border-radius:16px;
	background:rgba(25,217,255,.08);
	color:#d4f5ff;
	font-size:14px;
	font-weight:900;
	word-break:break-all;
}

.ez_auth_modal_actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
	margin-top:22px;
}

.ez_auth_modal_cancel,
.ez_auth_modal_send{
	height:50px;
	border:0;
	border-radius:16px;
	color:#fff;
	font-size:14px;
	font-weight:950;
	cursor:pointer;
}

.ez_auth_modal_cancel{
	background:rgba(255,255,255,.08);
}

.ez_auth_modal_send{
	background:linear-gradient(135deg, var(--ez-cyan), var(--ez-purple));
}

@media (max-width:960px){
	.ez_auth_section{
		padding:64px 0 82px;
	}

	.ez_auth_container{
		grid-template-columns:1fr;
		gap:34px;
	}

	.ez_auth_copy{
		text-align:center;
	}

	.ez_auth_copy p{
		margin-left:auto;
		margin-right:auto;
	}

	.ez_auth_points{
		margin-left:auto;
		margin-right:auto;
	}
}

@media (max-width:560px){
	.ez_auth_section{
		padding:42px 0 66px;
	}

	.ez_auth_copy h1{
		font-size:38px;
		line-height:1.08;
	}

	.ez_auth_copy p{
		font-size:15px;
	}

	.ez_auth_points{
		width:100%;
		grid-template-columns:1fr;
		gap:12px;
		margin-top:28px;
	}

	.ez_auth_points div{
		min-height:78px;
		display:flex;
		align-items:center;
		justify-content:flex-start;
		gap:14px;
		padding:16px 18px;
		text-align:left;
	}

	.ez_auth_points i{
		width:42px;
		height:42px;
		border-radius:16px;
		flex:0 0 auto;
	}

	.ez_auth_points span{
		margin-top:0;
		font-size:15px;
		line-height:1.45;
		text-align:left;
	}

	.ez_auth_card{
		padding:24px;
		border-radius:26px;
	}

	.ez_auth_card_head h2{
		font-size:26px;
	}

	.ez_auth_modal_card{
		padding:28px 22px;
	}

	.ez_auth_modal_actions{
		grid-template-columns:1fr;
	}
}