/* P2Xstudio V2 — responsive behaviour (V1 mobile rules preserved + small-screen polish). */

@media (max-width: 768px) {
	.container {
		margin: 30px 30px;
		padding: 18px;
		border-radius: 20px;
	}

	.terminal {
		padding: 12px;
	}

	/* Follow the *visual* viewport: on iPhone Safari the software keyboard
	   shrinks visualViewport without resizing the layout viewport, so anchoring
	   to it keeps the input reachable (values published by terminal.js). */
	.terminal {
		top: var(--p2x-vvtop, 0);
		height: var(--p2x-vvh, 100vh);
		bottom: auto;
	}

	.terminal-window {
		width: 100%;
		max-width: 100%;
		height: calc(var(--p2x-vvh, 80vh) - 24px);
		max-height: calc(var(--p2x-vvh, 80vh) - 24px);
		border-radius: 16px;
	}

	.project-window {
		padding: 14px;
	}
}

@media (max-width: 480px) {
	.container {
		margin: 16px auto;
		padding: 14px;
	}

	.title {
		font-size: 12px;
		letter-spacing: 2px;
	}

	.system-bar {
		font-size: 10px;
		letter-spacing: 1px;
	}

	.playlist {
		max-height: 220px;
	}

	.playlist-item {
		padding: 12px 14px;
	}

	.project-panel {
		width: 100%;
	}

	.blog-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.audio-controls button {
		min-width: 44px;
		min-height: 44px;
	}

	.footer-bar {
		flex-direction: column;
		gap: 10px;
	}
}

/* Coarse pointers: slightly larger hit areas for the tiny controls. */
@media (hover: none) and (pointer: coarse) {
	#projectClose,
	#merchClose,
	#terminalClose {
		min-width: 36px;
		min-height: 36px;
	}
}
