:root{
	--im-border:#e5e7eb;
	--im-text:#0b1220;
	--im-sub:#1f2937;
	--im-bg:#fff;
	--im-accent:#2563eb;
	--im-ok:#dcfce7;
	--im-ok-border:#86efac;
	--im-warn:#fef3c7;
	--im-warn-border:#f59e0b;
	--im-err:#fee2e2;
	--im-err-border:#fca5a5;
}

/* replaces inline style on wrap */
.intm-wrap{
	max-width:1024px;
}

.im-card{
	background:var(--im-bg);
	border:1px solid var(--im-border);
	border-radius:16px;
	padding:28px 32px;
	box-shadow:0 2px 10px rgba(0,0,0,.04);
	font:14px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.im-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.im-head img{width:48px;height:48px;border-radius:8px}
.im-h1{margin:0;font-size:2.4rem !important;font-weight:950 !important;letter-spacing:-.015em;color:var(--im-text);line-height:1.1}
.im-sub{color:var(--im-sub);margin:.25rem 0 1.25rem;font-size:1.00rem}
.im-actions{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}

.im-btn,
.im-btn:link,
.im-btn:visited,
.im-btn:focus {
	padding:12px 24px;
	border-radius:12px;
	border:1px solid var(--im-accent);
	background:var(--im-accent);
	color:#fff;
	text-decoration:none;
	font-weight:700;
	cursor:pointer;
	font-size:16px;
	transition: transform 0.07s ease, background 0.1s ease;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	position:relative;
}

.im-btn:hover {
	background:#1e50d8;
	border-color:#1e50d8;
	transform:translateY(-1px);
	color:#fff;
}

/* ----------- SPINNER-ONLY STATE (same width) ----------- */
.im-btn.just-spinner {
	color:transparent !important; /* hide the text but preserve spacing */
}

/* Centered spinner */
.im-btn.just-spinner::after {
	content:'';
	position:absolute;
	width:20px;
	height:20px;
	border-radius:50%;
	border:3px solid rgba(255,255,255,0.7);
	border-top-color:transparent;
	animation:intm-spin 0.6s linear infinite;
}

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

.im-banner{border-radius:12px;padding:12px 14px;margin:14px 0}
.im-banner.ok{background:var(--im-ok);border:1px solid var(--im-ok-border)}
.im-banner.warn{background:var(--im-warn);border:1px solid var(--im-warn-border)}
.im-banner.err{background:var(--im-err);border:1px solid var(--im-err-border);color:#7f1d1d}
.im-check{display:flex;gap:10px;align-items:center;margin:10px 0 0}
.im-check input{width:18px;height:18px;margin:0}
.im-check span{color:var(--im-sub);font-size:14px;font-weight:500}
.im-kbd{font-family:ui-monospace,Menlo,monospace;padding:2px 6px;border:1px solid var(--im-border);border-radius:6px;background:#f8fafc}
.im-shot{margin:10px 0 4px;padding:12px;border:1px solid var(--im-border);border-radius:10px;background:#fafafa}
.im-shot img{display:block;max-width:100%;height:auto;border:0;box-shadow:none;pointer-events:none}
.im-list{margin:.25rem 0 1rem 18px;padding:0;font-size:1rem;color:var(--im-text)}
.im-list li{margin:8px 0}
ul.im-bullets{margin:1rem 0 1.5rem 1.5rem;padding-left:1rem;color:var(--im-sub);font-size:1.00rem;line-height:1.7;list-style:disc;}

.im-h2{
	font-weight:800;
	margin-top:18px;
	margin-bottom:8px;
}

.im-h2--spaced{
	margin-top:20px;
}
