/* 슬라임드롭 앱인토스 전용 전체 화면 UI */
:root{
	font-family:Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color:#ffffff;
	background:#171128;
	--font-game:Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--font-bubble:Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--hud-height:clamp(62px, 8.5dvh, 78px);
}

*{
	box-sizing:border-box;
	-webkit-tap-highlight-color:transparent;
}

html,
body{
	width:100%;
	height:100%;
	margin:0;
	overflow:hidden;
}

body{
	display:grid;
	place-items:center;
	background:
		radial-gradient(circle at 50% 0%, rgba(112,76,183,0.34), transparent 48%),
		#171128;
}

button{
	font:inherit;
}

.game-shell{
	display:flex;
	flex-direction:column;
	width:min(100%, 560px);
	height:100dvh;
	min-height:0;
	padding-top:env(safe-area-inset-top);
	background:#251d45;
	box-shadow:0 0 90px rgba(0,0,0,0.48);
}

.scorebar{
	display:flex;
	flex:0 0 var(--hud-height);
	align-items:center;
	justify-content:center;
	gap:clamp(8px, 2.8vw, 14px);
	padding:8px clamp(10px, 3vw, 18px);
	background:linear-gradient(180deg, rgba(37,28,68,0.98), rgba(23,16,43,0.96));
	box-shadow:0 6px 20px rgba(14,8,29,0.28);
	z-index:2;
}

.score-card{
	display:flex;
	min-width:clamp(94px, 26vw, 132px);
	height:calc(var(--hud-height) - 16px);
	flex-direction:column;
	justify-content:center;
	padding:6px 13px;
	border:1px solid rgba(255,255,255,0.1);
	border-radius:16px;
	background:rgba(255,255,255,0.07);
	text-align:center;
}

.scorebar span{
	display:block;
	margin-bottom:3px;
	color:#aea5c5;
	font-size:clamp(10px, 2.8vw, 12px);
	font-weight:700;
}

.scorebar strong{
	display:block;
	font-size:clamp(20px, 6vw, 28px);
	line-height:1;
	font-variant-numeric:tabular-nums;
}

.stage{
	position:relative;
	flex:1;
	min-height:0;
	overflow:hidden;
}

canvas{
	display:block;
	width:100%;
	height:100%;
	touch-action:none;
}

.overlay{
	position:absolute;
	inset:0;
	display:grid;
	place-items:center;
	padding:clamp(16px, 4vh, 28px) clamp(18px, 5vw, 30px) calc(clamp(18px, 4vh, 28px) + env(safe-area-inset-bottom));
	background:rgba(25,17,46,0.76);
	backdrop-filter:blur(7px);
	text-align:center;
}

.hidden{
	display:none !important;
}

.panel{
	width:100%;
	max-width:390px;
	max-height:100%;
	overflow:auto;
	padding:clamp(18px, 4vh, 30px);
	border:1px solid rgba(255,255,255,0.13);
	border-radius:28px;
	background:linear-gradient(145deg, rgba(68,50,111,0.74), rgba(31,22,57,0.82));
	box-shadow:0 24px 60px rgba(10,5,24,0.34);
	scrollbar-width:none;
}

.panel::-webkit-scrollbar{
	display:none;
}

.hero-slime{
	width:clamp(78px, 19vh, 112px);
	height:clamp(78px, 19vh, 112px);
	object-fit:contain;
	filter:drop-shadow(0 16px 20px rgba(0,0,0,0.3));
}

.eyebrow{
	margin:10px 0 7px;
	color:#ffe16b !important;
	font-size:14px;
	font-weight:800;
}

h1{
	margin:0;
	font-size:clamp(35px, 11vw, 50px);
	font-weight:900;
	letter-spacing:-0.07em;
}

.panel p{
	margin:clamp(12px, 2.4vh, 18px) 0 clamp(18px, 3.2vh, 26px);
	color:#ddd7eb;
	font-size:15px;
	line-height:1.55;
}

.primary-button,
.secondary-button{
	width:100%;
	height:clamp(48px, 7.2vh, 56px);
	border:0;
	border-radius:18px;
	font-size:17px;
	font-weight:800;
	cursor:pointer;
}

.primary-button{
	color:#241b3f;
	background:#67e8a5;
	box-shadow:0 12px 30px rgba(55,221,145,0.24);
}

.secondary-button{
	margin-top:10px;
	color:#ffffff;
	background:rgba(255,255,255,0.11);
}

.final-score{
	font-size:clamp(64px, 19vw, 88px);
	font-weight:900;
	line-height:1;
	letter-spacing:-0.05em;
}

.result-panel > p:not(.eyebrow):not(.platform-message){
	margin:10px 0 28px;
}

.hint{
	position:absolute;
	right:0;
	bottom:calc(clamp(12px, 2.5vh, 20px) + env(safe-area-inset-bottom));
	left:0;
	color:rgba(255,255,255,0.82);
	font-size:13px;
	font-weight:700;
	text-align:center;
	pointer-events:none;
}

.platform-message{
	min-height:18px;
	margin:12px 0 0 !important;
	color:#b8afcc !important;
	font-size:12px !important;
}

@media (max-height:620px){
	:root{
		--hud-height:56px;
	}

	.panel{
		padding:14px 20px;
	}

	.hero-slime{
		width:62px;
		height:62px;
	}

	.eyebrow{
		margin:5px 0;
	}

	.panel p{
		margin:8px 0 13px;
		font-size:13px;
	}

	.primary-button,
	.secondary-button{
		height:44px;
	}

	.final-score{
		font-size:58px;
	}
}

@media (orientation:landscape) and (max-height:560px){
	.game-shell{
		width:min(100%, 720px);
	}

	.panel{
		max-width:440px;
	}

	.hero-slime{
		display:none;
	}

	.result-panel{
		display:grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:8px;
		overflow:hidden;
	}

	.result-panel > .eyebrow,
	.result-panel > .final-score,
	.result-panel > p,
	.result-panel > .primary-button{
		grid-column:1 / -1;
	}

	.result-panel > p:not(.eyebrow):not(.platform-message){
		margin:0 0 5px;
	}

	.result-panel .secondary-button{
		margin-top:0;
	}
}
